XyzPilot distinguishes between two fundamentally different classes of geometry entity. This distinction — the two-tier entity model — is one of the most important architectural decisions in the system.
The Two Tiers
| Tier | Entities | Persistence | Purpose |
|---|---|---|---|
| Construction | Points (P0, P1…) | Disposable — delete freely after use | Locate and reference product geometry |
| Product | Lines, Arcs, Circles, Toolpaths | Persistent — baked at creation time | Define the machining program geometry |
The Baking Rule
When you use points to construct a line or arc, the line or arc geometry is baked — its coordinates are computed and stored as fixed numbers at the moment of creation. The points are no longer needed.
You can delete the construction points immediately. The baked geometry is unchanged. This is architecturally impossible in a constraint-based system, where deleting a construction point can invalidate dependent geometry.
Why This Matters for CNC
In a CNC machining program, the product geometry — the lines, arcs, and circles that define the profile — is what matters. The construction points are scaffolding. They help you build the profile, but they are not part of the profile.
The two-tier model makes this distinction explicit and enforces it architecturally. Construction points cannot accidentally appear in the machining program. They are filtered out automatically.
The Formal Rule
"Points are non-persistent construction entities. Toolpaths are the only contract."
This rule has two implications:
- Points are construction aids — use them to define lines, arcs, and toolpaths, then discard them
- The machining program is defined by the product-tier entities — lines, arcs, circles, and toolpaths
Dependency Tracking
Product-tier entities can be used as inputs to create other product-tier entities. When a line is used to create a fillet arc, the arc depends on the line. If the line is modified, the arc may become inconsistent.
XyzPilot tracks these dependencies and warns when a modification affects downstream geometry. The Undo system handles dependency order automatically — dependent geometry is removed before the geometry it depends on.
Construction-tier points are not tracked in the dependency graph. Deleting a point after the product geometry is baked has no downstream effect.
Practical Implications
The two-tier model has practical implications for how you work in XyzPilot:
- Create construction points freely — they are cheap and disposable
- Delete construction points as soon as the product geometry is complete
- Use Edit → Clear All Points to remove all construction points at once
- The machining program is defined by the product-tier entities — verify these carefully