Module name

Source
Expand description

Persistent structural names for faces and edges. Persistent names for exact B-rep faces and edges.

crate::SurfaceId and axiolid_topology::FaceId are arena positions. They answer “which slot” and are only meaningful inside one assembled value: rebuild the catalog and slot 7 is a different face. That is fine for validation, which never outlives assembly, and useless for anything that must refer to a face across an operation – selecting an edge to fillet, carrying a material through a boolean, or re-applying a feature after an upstream edit.

A FaceName instead records WHERE THE FACE CAME FROM. It is derived from the generating inputs, so the same construction names the same face no matter how the arenas are packed, and an operation that splits a face can say which face each fragment came from.

§What a name is not

A name is not a guarantee that the face still exists, and not a claim that two equal names are geometrically identical. It is a statement about provenance: “this face was produced by that part of that input”. Callers that need existence must look the name up and handle absence.

Enums§

EdgeName
A persistent, structural name for one exact B-rep edge.
FaceName
A persistent, structural name for one exact B-rep face.
Operand
Which operand of a binary operation a fragment came from.
SweptFace
Which side of a swept profile a face came from.