A from-scratch parametric B-rep CAD kernel in Rust — exact, deterministic, and built from proven primitives, not wrapped around a foreign kernel. Model in the browser on WebAssembly, or run it native.
The two linchpins
The compute cache, git-for-CAD version control, cross-machine reuse, real-time collaboration — all of it depends on getting these two right. So we built them first.
Rebuild a part on x86-64, ARM, or in the browser on WebAssembly and get byte-identical topology and names — within a declared determinism profile. A shared, content-addressed cache is only trustworthy if every stage recomputes to the same result, so we engineered it to.
A fillet on “the top edge of the boss” survives an upstream edit that rebuilds an entirely new B-rep with new internal IDs — and re-attaches to the right edge. Stable identity through split and merge, never by geometric coincidence. It’s the substrate parametric history stands on.
Capabilities
Every orientation and classification decision routes through exact, adaptive-precision predicates — no floating-point drift, no silent failures near degeneracy. The exactness is in the geometry, not the arithmetic.
Not a shell around OpenCASCADE, Parasolid, or ACIS. Zero third-party geometry dependencies in the core — every line built from proven, published primitives and enforced by crate boundaries.
A single Rust kernel compiled to WebAssembly for the browser and run native on the server. Model client-side with optimistic apply; resolve heavy, million-part assemblies server-side.
Your part is a feature DAG written through one typed command API — the same write-path for humans, Playwright, and AI agents — serialized to a canonical, round-trippable file. No bespoke DSL.
A content-addressed Merkle-DAG memoizes every computation and is the version-control object store. One substrate powers the cache and branch / diff / merge on real parts.
Always-on validation plus deterministic regeneration give an agent ground truth to converge toward valid geometry instead of hallucinated CAD — over the very same typed API humans use.
Standing on giants
This is not wrapping OpenCASCADE. It’s refusing to reinvent public-domain math while owning every line of the architecture that matters.
Adaptive-precision exact orientation & in-circle tests — the robustness substrate.
Curve & surface evaluation, knot operations, trimming — geometry by the book.
Robust inside/outside classification for booleans on real geometry.
A proven-complete, minimal set — B-rep topology only ever changes through them.
Roadmap
Each phase ends at a demoable, tested milestone — never “six months of plumbing, then maybe.” Naming before the feature tree hardens; curved booleans are the long pole.
Rust workspace, WASM↔native determinism, own-code exact predicates, and the validity + golden-test harness.
B-rep topology + Euler operators, NURBS curves & surfaces, the own-code 2D constraint solver, and adaptive tessellation to the viewport.
Extrude / revolve, own-code polyhedral booleans producing named B-rep, and STL + glTF export.
The parametric promise: edit an upstream feature and every downstream fillet, chamfer and cut re-resolves to the intended entity.
Own-code surface–surface intersection and curved B-rep booleans — the multi-year frontier.
Assembly instance graph, out-of-core streaming, and STEP interop toward real-world fidelity.
The source of geometric truth
Exact, deterministic, own-code parametric CAD — running on WebAssembly today.