Expand description
The model: the arenas a shape’s handles refer into, and the builder that is the only way to mutate them.
A Model owns the topology nodes, the placement datums and the geometry.
A Shape is meaningless without one: its handles index into these arenas
and nothing else (docs/DATA_MODEL.md §11).
§One mutation path
Every structural change goes through Model’s builder methods. That is
not ceremony: the invariants of docs/DATA_MODEL.md (a wire holds edges, a
face’s tolerance does not exceed its edges’, a node’s kind matches its data)
are checkable in one place only if there is one place. Handing out
&mut TShape would scatter them across every caller, and the failures they
guard against are silent ones.
Re-exports§
pub use crate::entity::GeometryStore;
Structs§
- Absorbed
- What an absorb produced: the transplanted roots, bound to the model that absorbed them, and where every absorbed identity ended up.
- Model
- A document: topology, placements, geometry, and where every entity came from.
- Model
Parts - A model’s contents, laid out the way a file holds them.
Enums§
- Filter
- Which sub-shapes a traversal should yield.
Functions§
- ancestors_
of - Every shape in
rootthat hastargetamong its sub-shapes. - explore
- Walk a shape’s tree, composing placement and orientation on descent.
- explore_
unique - Walk a shape’s tree, yielding every sub-shape of
wantexactly once.