Expand description
Stable entity identity and provenance.
See docs/DATA_MODEL.md §8. A deliberate divergence from the conventional
design, and the reason this has to live in the foundation crate rather than
being added later.
Conventionally, topology is identified by pointer. Every modeling operation allocates new nodes, so every reference into a previous result dies. That is the topological naming problem, and every downstream fix is an attempt to reconstruct identity after the fact by walking history maps.
Here an entity’s identity is what produced it, and from what. A rebuild with different parameters runs the same operations over the same inputs and therefore produces entities with the same provenance, so a reference like “the fillet on this edge” survives a change to an unrelated dimension.
Provenance does not replace operation history: history is what a binding layer consumes, and it is the honest answer where provenance cannot resolve a reference. It is the primary mechanism, not the only one.
Structs§
- Entity
Id - A stable identity for a topological entity, valid for the lifetime of a document.
- OpId
- Identifies one invocation of a modeling operation.
- Provenance
Table - Assigns
EntityIds and remembers what each one came from. - Role
- What an entity is, relative to the operation that made it.
- Source
Id - Identifies an imported document.
Enums§
- Provenance
- Where an entity came from.