Deterministic round-trip, verified
A dataset of parametric CAD is only as good as its guarantee that the representation actually rebuilds the part. We hold ourselves to an exact contract, and we test it continuously.
It's easy to extract a feature graph that looks complete. It's much harder to prove it's lossless. Our standard is simple and unforgiving: a model must make the round trip without drift.
Source file → FeatureGraph → DSL text → FeatureGraph → rebuilt solid — and the rebuilt solid must match the original.
What "match" means
Not "looks similar." We rebuild the part through the compiler and compare it to the original by volume, feature order, and validity. A pass means the reconstructed solid reproduces the original's volume to within rounding — in practice, an exact match — with the feature history preserved.
On our buildable corpus, reconstruction holds at 100% volume match across 92 of 92 parts, feature order preserved, zero unsupported features — spanning pads, pockets, holes, revolutions, shells, and patterns.
The DSL has to round-trip too
The text form isn't a lossy summary. We require from_dsl(to_dsl(graph)) == graph exactly — the model serialized to text and parsed back is byte-for-byte the same object. A part can therefore travel the entire loop, including the human-readable language, and still rebuild to the identical solid.
Why determinism is non-negotiable
Two reasons. First, training quality: if the representation can't reconstruct the part, the label is wrong, and the model learns from noise. Second, trust: an engineer editing a generated model needs the rebuild to be predictable, not a re-roll of a stochastic process. Determinism is the difference between a CAD tool and a slot machine.
The test is the contract
Every new field we extract has to earn its place against the round trip — it either helps reconstruction or measurably feeds a downstream signal, or it doesn't ship. The reconstruction suite runs as the gate, so the guarantee can't quietly rot as the extractor grows.
Next: Beating the Topological Naming Problem →
← All research