class Schematrix::Visitor

Visits a single schema subtree rooted at the given locator. When it finds a $ref it resolves the reference through the document store to decide how to represent it, and records edges to object schemas so their classes get generated. It never visits ref targets itself: the caller (see Compiler) decides when and whether to do that.

Nodes are consumed as instances of the metaschema model (Schematrix::Meta::Schema): compile converts raw store documents at its boundary, so reads are typed throughout. The $ref rewrite algebra (except/merge in resolve_reference) stays on raw String-keyed hashes: to_h dumps a node, the algebra merges, and from_h loads the result back (see present_slots).

Positions inside the document are threaded down as explicit path segments (leading empty segment for the document root, e.g. [“”, “properties”, “tags”]); every locator the visitor derives is a pure function of that path.