InvariantCAD roadmap
InvariantCAD is building a complete, deterministic, general-purpose mechanical CAD-as-code platform for TypeScript. The product scope defines what “complete” means and what the project deliberately does not try to be. This roadmap is ordered by dependency, not by the number of attractive features in each category. A downstream capability starts only when its document, geometry, identity, and runtime prerequisites are real. That keeps the project from accumulating disconnected kernel wrappers that cannot compose into useful models.Status vocabulary
- Published means available in the public
invariantcad0.1.1 npm package. - Unreleased means implemented on the main branch after 0.1.1 but not yet present in a public npm release.
- Repository-only means source or evidence exists for development, but the capability is deliberately inaccessible to package consumers.
- Next identifies the current product milestone.
- Planned identifies dependency-ordered work that has not shipped.
- Deferred identifies work blocked on a named prerequisite or external review.
Current baseline
Published in 0.1.0
The first release established the executable foundation:- Canonical immutable Document v1–v6 grammars with explicit migration, validation, deterministic serialization, stable node IDs, and an acyclic feature graph.
- Typed parameters and expressions for scalars, lengths, angles, and mass density; bounded values; named configurations; call-time overrides; and dimension checking.
- Sketch points, lines, arcs, circles, profiles, and holes with a replaceable reference constraint solver and curve-preserving resolved profiles.
- Boxes, cylinders/cones, spheres, extrudes, revolves, Booleans, transforms, bounded ruled solid lofts, and bounded solid sweeps over supported line/arc paths.
- Parts, fixed-placement nested assemblies, materials, occurrence suppression, material overrides, configurations, and deterministic variant-aware BOMs.
- Geometry and physical-property analysis including volume, area, bounds, center of mass, centroidal inertia, principal/axis analysis, radii of gyration, and structured partial-mass diagnostics.
- A bundled Manifold mesh backend for common modeling and STL/OBJ workflows.
- A stock OpenCascade backend for exact B-Rep primitives and features, STEP/BREP exchange, tessellation, fillet, chamfer, shell, and solid offset.
- Evaluation-scoped face, edge, and vertex topology; semantic selectors; topology queries; detached persistent references; and explicit missing/ambiguous resolution reports.
- Authored impact analysis, effective feature hashes, artifact/cache protocol foundations, semantic-observation conformance foundations, CLI commands, browser loading, structured diagnostics, cancellation, and explicit native ownership.
Published in 0.1.1
The foundation-hardening release added:- Public Node and browser loaders for a caller-supplied, independently attested owned OCCT JavaScript/WASM runtime pair.
- Named
mesh-previewandmechanical-exactevaluator profiles with immutable capability reports and fail-before-ownership behavior. - A versioned strong kernel-level document-body import contract for STEP and declared-unit text/binary BREP.
- Three executable reference models and a six-case Manifold/OCCT benchmark protocol with explicit measurement and interpretation boundaries.
- Six canonical documentation modules covering 22 declared workflows, plus checked public API reports for every JavaScript entry point.
- Stronger package, dependency, source-format, governance, browser, process isolation, runtime-attestation, and release checks.
- Updated supported toolchain and OCCT dependency versions.
- Additional bounded artifact-key, record, process-transfer, and native-runtime hardening.
Unreleased for 0.2
- The bundled zero-override stock OCCT runtime now advertises a versioned deterministic single-product AP214IS STEP contract. It supplies closed document/output/part identity defaults, explicit Unicode metadata, caller cancellation and output ceilings, authored-metadata and structural scan limits, repeatable bytes for the same exact runtime inputs, and structured high-level option diagnostics. Explicit runtime overrides retain weak native STEP until separately qualified. This does not claim geometric canonicalization, imported-file canonicalization, exact aggregate STEP, bounded native peak allocation, or a portable artifact/cache format.
- A public opaque single-imported-body workflow now captures a caller-supplied
SHA-256 and byte-length commitment, canonically persists only the strict
one-resource/one-imported-body/one-output subset, resolves bytes through a
caller callback, verifies the commitment, and requires the strong exact
single-solid B-Rep importer. Protocol v1 fixes STEP to
model/stepwith file units and text/binary BREP to standard generic media types with explicit declared units; healing remainsnone. The result owns one imported native shape while borrowing its evaluator and exposes measurement, topology, tessellation, and capability-gated single-solid export. This narrow public facade does not promote the general Document v7 alias, ordinary builder, product evaluator, body sets, external components, or assemblies.
Repository-only research and staged work
The repository contains a private owned-OCCT shape-artifact candidate and a direct-box evaluator-cache experiment. No public backend advertisesshapeArtifacts, no public evaluator option enables the experiment, and
ordinary package consumers cannot bind it.
This research is now maintenance-only while product modeling catches up. Its
formats, threat boundary, evidence, non-claims, and promotion gates live in the
shape artifact and cache engineering note,
not in the product roadmap.
Document v7 resource resolution, datums, richer shape algebra, body-set and
multibody results, imported-body nodes, external component occurrences, and
feature-hash protocol v2 are also staged internally. A source-only
stagedBodySetDesignV7(...) facade now authors the bounded product graph
admitted by the staged evaluators and datum resolver: typed length, angle,
mass-density, and scalar parameters; named parameter, part-material, and
assembly-instance-suppression configurations; document-owned materials; boxes,
cylinders, spheres; primitive/import/Boolean/transform solid DAGs with ordered
union, subtraction, intersection, translate, rotate, scale, and mirror
operations; content-addressed resource commitments; imported-body leaves; body
sets; parts over one solid DAG root or body set; acyclic nested fixed-placement
assemblies that mix local parts, already-completed local assemblies, and
external handles naming one part or assembly output from a committed child
document;
per-occurrence inherited, base, or named configuration selectors; datum points,
axes, planes, and coordinate systems; and direct
imported-body/body-set/part/product-assembly outputs. Generic primitive,
Boolean, or transformed-solid outputs, active second-level external document
references, and recursive external-document graphs remain unsupported. Datums
remain addressable nodes rather than design outputs. The
facade produces detached, deeply frozen, strictly valid v7 documents while
enforcing namespaces, typed builder ownership, exact plain own-data options,
dense collections, unique memberships and occurrence IDs, commitments,
material/configuration references, and authoring limits. Resource locations
remain inert resolver hints, and the imported node’s explicit format—not
mediaType—selects STEP or BREP interpretation. The caller computes each
digest and byte-length commitment; the facade performs no resource-byte I/O or
hashing.
One source-only executable slice evaluates outputs that directly reference an
imported-body node by verifying caller-resolved bytes and invoking the kernel’s
strong exact single-solid import contract. A second evaluates outputs that
directly reference a body set whose members are roots of bounded
primitive/import/Boolean/transform solid DAGs. It preserves authored member
identity, order, names, and metadata, treats every listed member as active with
no inferred primary, and reports whether the result is exact or approximate.
Stock OCCT retains exact B-Rep geometry and partial Boolean history; Manifold
provides approximate mesh geometry with no topology snapshots, and there is no
automatic fallback between them. Imported descendants retain the
verified-resource and strong exact single-solid B-Rep requirement. A third
evaluates outputs that directly reference a part whose geometry is one
supported solid DAG root or one admitted body set. It preserves detached part
metadata and effective material/density provenance through an explicit
single-solid/body-set result union. The staged facade now constructs that exact
part boundary, including typed material definitions, part metadata, explicit
density, and named material substitution.
A fourth geometry operation,
evaluateProductAssemblyOutputsV7(...), evaluates selected products whose
acyclic local graph may contain local parts, local subassemblies, and external
part or fixed-subassembly outputs. A selected external assembly is admitted,
then its bounded acyclic child-local graph is flattened into supported part
leaves. Each active occurrence path may cross one external-document boundary;
suppressed nested external components are inert, while an active second
boundary fails before nested resolution or child geometry work. Iterative
expansion emits active part leaves with full root-to-leaf occurrence paths and
parent-first root-relative placements. Every containing assembly’s effective
configuration controls its definition-scoped suppression and placement
expressions. A local edge then selects an inherited, base, or named
root-document context. For an external edge, inherit maps root base to child
base or a named parent ID to the same child ID; base and named select the
child directly. Root caller parameter overrides never enter an external
document.
The repository-staged evaluateProductDocument(...) boundary now coordinates
that fixed-assembly traversal with direct solid, body-set, and part outputs in
one ordered mixed result. Requested aliases and output order remain visible,
while equal definitions share native geometry. The operation captures the root
document once, prepares one native batch per document and effective
configuration, performs one aggregate kernel preflight, resolves geometry
through one document-scoped resource session, and transfers every completed
batch into one cross-batch ownership transaction and top-level result owner.
It does not create synthetic nodes or call four independent evaluators.
Suppressed structure and unrelated material/resource commitments remain inert;
failure, cancellation, and late result-construction errors release all acquired
geometry best-effort.
The mixed container adds only validated aggregate mesh and mesh-format export.
Exact leaves continue to provide backend-reported measurements plus
capability-gated topology and native STEP/BREP export, but the combined product
mesh, binary/ASCII STL, and OBJ remain approximate/lossy. There is no
mixed-product B-Rep compound, exact aggregate exchange, aggregate
measurement/topology, mass/BOM operation, mate solver, motion, contact,
interference, or collision. Assembly outputs inside the mix retain their
existing assembly-scoped BOM and physical-mass behavior.
One local part result is reused per effective (part, configuration) state,
and one direct external part result is reused per
(resource, output, child configuration) state. External assembly leaves reuse
geometry by (resource, child part node, child configuration). Neither path
collapses occurrences, multibody memberships, selected-output alias identity,
diagnostic identity, or contextual BOM rows. External component and diagnostic
provenance retains the committed document identity, selected part-or-assembly
output, and full occurrence path without overwriting a child-owned
resource/output cause; admitted-child diagnostics also retain digest, byte
length, source version, and child node/path.
Aggregate mesh/STL/OBJ remains approximate/lossy. An exact child solid keeps
capability-gated per-solid export, while exact aggregate product STEP/BREP
remains unsupported.
The resolver sees frozen root-versus-external documentScope descriptors, so
two child documents can safely reuse one document-local resource ID. External
document JSON resolves before child geometry resources; resource counts and
bytes are cumulative across both phases. Suppressed assembly edges prune their
full subtree. Nesting, external-document count, retained identity, solid nodes,
Boolean/transform dependency links, and transform operations remain
independently bounded. Failure releases prior child geometry transactionally,
and the operation continues to borrow rather than own the kernel.
A separate source-only operation, evaluateDatumNodesV7(...), resolves
selected datum node IDs without a geometry kernel. Parameter values follow
base, selected-configuration, then caller-override precedence. Points retain
their resolved position; axes normalize their direction; planes and coordinate
systems return deterministic orthonormal right-handed frames. Direction inputs
must be finite and nonzero, and normalized authored direction pairs must be
orthogonal within a fixed absolute dot-product threshold of 1e-12 before
deterministic re-orthonormalization. Selected-node and parameter-override work
is bounded, document limits and cancellation are honored, and failures remain
structured diagnostics. This resolver does not make datums design outputs or
connect them to sketches or kernel geometry.
The staged body-set result supports per-body mesh and measurement, plus
capability-gated topology and native single-body export. Aggregate mesh, STL,
and OBJ are explicitly approximate/lossy. A containing part can now supply one
uniform density and additive independent-body physical-mass semantics, with
aliases and overlaps counted per authored membership, plus a one-row BOM.
Those numeric properties inherit backend measurement quality. Bare body sets
still have no aggregate mass; exact aggregate STEP/BREP, aggregate geometric
measurement or topology, healing, and location I/O remain unsupported. Product
exact aggregate export, aggregate geometric measurement or topology, active
second-level external references, recursive external-document graphs, cyclic
local graphs, mates, motion, and interference/collision are also unsupported.
mediaType remains committed provenance. The public one-body workflow has a
closed protocol-v1 format/media/unit policy, while the broader facade remains
repository-only and still excludes multi-level external
component libraries, datum-backed sketches, transforms or Booleans over body
sets/parts/assemblies, other body-consuming operations, per-body materials,
and general solid graphs beyond
primitive/import/Boolean/transform DAGs, including generic solid and direct
primitive outputs through the staged authoring facade. The internal mixed
evaluator can select an already-admitted direct solid output, but that does not
add a public or facade-authored output kind. These are correctness-tested source
inputs staged for 0.2, not public 0.1.1 authoring or evaluation capabilities.
evaluateProductDocument(...) has no package-root, package-subpath, or CLI
export in invariantcad@0.1.1; the public document alias and migration target
remain v6.
The staged v7 text parser rejects duplicate decoded JSON object members,
including escape-equivalent names, and applies structural and nesting ceilings
to raw values even when native last-key-wins parsing would discard them.
Detached-value and direct-schema boundaries cannot reconstruct member
occurrences already collapsed by another parser. Its raw UTF-8 ceiling now
stops without constructing a complete encoded buffer or reaching JSON parsing,
while preserving TextEncoder byte semantics for admitted text. Staged v7
serialization separately counts the topology-normalized compact or pretty
canonical representation before constructing its complete canonical object
tree, JSON text, or UTF-8 buffer; staged cloning enforces the same compact byte
ceiling without serializing. The three repository-staged direct schemas expose
only frozen parse, codec, async, and Standard Schema facades over private Zod
schemas; arbitrary Zod composition is not presented as an untrusted-runtime
boundary. Commutative v7 topology queries use locale-independent UTF-16
code-unit ordering without changing the frozen v1-v6 comparator path. These
boundaries remain internal and do not promote v7 or change the public v6 alias
and migration target.
Development rules
Every product feature must be a complete vertical slice. It is not done until it has:- Canonical document IR and migration behavior.
- Type-safe authoring APIs and a usable modeling workflow.
- Validation and structured, actionable diagnostics.
- Explicit backend capability and conversion-loss behavior.
- Ownership, cleanup, cancellation, and resource-limit behavior.
- Topology/history semantics, including honest partial or ambiguous cases.
- Hash, impact, configuration, and suppression semantics.
- Node and browser tests, including failure and cleanup paths.
- Measured time, memory, artifact-size, and native-handle budgets.
- A realistic documented reference model.
Milestone 0 — product and API reset
Status: Completed in 0.1.1 The goal is to turn the current infrastructure-heavy foundation into a measurable product program.Outcomes
- Keep private artifact/cache research frozen except for security, correctness, dependency, and release-maintenance fixes.
- Define a small application-facing API and assign compatibility schemas, conformance protocols, kernel adapters, and future domain APIs to deliberate subpaths or packages.
- Add public API-diff reporting before expanding the already large export surface.
- Establish a small executable reference corpus for workflows the public API supports today: a parameterized electronics enclosure, bolted flange, and hollow stepped shaft.
- Define the larger acceptance models at the milestones that make them executable: the production enclosure, shaft/flange, and pipe manifold in Milestone 2; imported STEP repair in Milestone 3; a mated gearbox in Milestone 4; and associative drawing and sheet-metal models in Milestone 5.
- Benchmark schema v2 runs every executable reference model in a dedicated process, distinguishes a fresh-runtime first run from same-runtime repeats, reports process-wide high-water memory with exact caveats, records native handle telemetry as unsupported until a real kernel protocol exists, and captures tessellation and output sizes without universal timing thresholds.
- Gate the explicit canonical documentation matrix in
examples/docs/manifest.json: portable parametric evaluation and STL; sketch/extrude with default and exact evaluation plus STEP; fixed assemblies, named configurations, suppression, material overrides, and BOMs; document migration, canonicalization, parsing, and hashing; exact persistent-topology capture, resolution, and explanation; and structured document-limit diagnostics. Other feature-level snippets remain illustrative rather than being mislabeled as standalone executable programs. - Raise checked coverage floors toward demonstrated coverage without treating 100% line coverage as a substitute for realistic models.
Exit gate
The public API tiers, reference corpus, benchmark format, and Document v7 design are reviewed and executable in CI. New feature work is evaluated against those artifacts.Milestone 1 — composable product documents
Status: In progress This milestone introduces the algebra and resource graph needed by nearly every later CAD domain.Document and geometry outcomes
- Datum points, axes, planes, and coordinate systems.
- First-class curves, wires, faces, shells, solids, compounds, and body sets.
- Multibody parts with explicit active bodies and result-body semantics.
- Content-addressed external resources with digest, media type, units, import policy, healing policy, and optional location hint.
- A caller-supplied resource resolver whose admitted bytes participate in effective evaluation identity.
- Serializable imported-body nodes rather than kernel-only import calls.
- External component-document references.
- Stable occurrence identity and per-occurrence configuration selection.
- Deterministic v1–v6 to v7 migration with no silent topology-protocol upgrade.
Runtime outcomes
- A supported distribution decision for the owned OCCT runtime after legal, security, provenance, and release review.
- The conditionally selected industrial sketch-solver path: an
InvariantCAD-owned, maintained PlaneGCS fork and replaceable runtime. Direct
shipping of
@salusoft89/planegcsremains rejected until the solver promotion gates pass. - A minimal diagnostic viewer for geometry, topology, diagnostics, and selector inspection.
Exit gate
An imported exact body and a native multibody design can be authored, serialized, migrated, evaluated, inspected, and exported without escaping the document model. Their identities and resource inputs are reproducible. The repository-only facade and staged evaluators now exercise that workflow for direct imported bodies, bounded primitive/import/Boolean/transform body sets, and directly authored typed parts and material intent over those geometries, including acyclic nested fixed-placement products with external part outputs and one fixed external subassembly boundary. Real Manifold acceptance evidence covers child configuration selection, parent override isolation, contextual reuse and BOM identity, suppression, cumulative limits, provenance, and cleanup. Real stock-OCCT evidence resolves a committed child document and its scoped STEP body, evaluates an imported/Boolean fixed subassembly, retains exact leaf topology and STEP export, produces a placed aggregate mesh/STL view, and restores the native ownership baseline. The milestone remains in progress because all of this Document v7 evidence is source-only staging for 0.2. It does not yet cover public v7 promotion, multi-level external-document graphs or scalable recursive component libraries, datum-backed modeling, other body-consuming operations, or the wider shape algebra; none of it is part of public 0.1.1.Milestone 2 — everyday part modeling
Status: Planned after Milestone 1 The goal is to make ordinary mechanical parts productive rather than merely possible.Sketching
- Arbitrary datum-plane sketching.
- Construction, projected, and external geometry.
- Slots, ellipses, conics, Bézier curves, and B-splines.
- Trim, extend, split, offset, mirror, and linear/circular sketch patterns.
- An industrial solver with conflict sets, redundancy explanations, stable degrees of freedom, drag solving, deterministic diagnostics, and bounded large-sketch behavior.
Part features
- Pad/pocket and symmetric, two-sided, through-all, and up-to-reference end conditions.
- Hole, counterbore, countersink, and thread metadata with versioned standards data rather than untyped labels.
- Ribs, webs, bosses, grooves, slots, and draft variants.
- Linear, circular, and geometry-driven feature patterns and mirrors.
- Feature suppression and configuration-controlled feature parameters.
- Split bodies, body consume/retain rules, and multibody Booleans.
- Improved fillet, chamfer, shell, offset, sweep, and loft variants where exact backend support is sound.
- Selection tools that create semantic, explainable references instead of exposing raw enumeration indices.
Developer workflow
- Project configuration plus
build,watch, validate, inspect, export, and configuration-matrix workflows for TypeScript models. - Reusable typed modeling modules without mutating canonical documents.
- Reference models for the enclosure, shaft/flange, and pipe manifold.
Exit gate
The reference parts build entirely through public APIs on supported runtimes, retain named downstream references across tested parameter changes, and have documented capability losses on non-exact backends.Milestone 3 — surfacing, repair, and direct modeling
Status: Planned after Milestone 2- Full curve and NURBS surface authoring.
- Surface loft, sweep, fill, boundary, trim, extend, intersect, sew, heal, and thicken operations.
- Shell-to-solid conversion with explicit validity and tolerance diagnostics.
- Move, rotate, offset, replace, delete, split, and imprint face operations.
- Push/pull, defeaturing, and bounded feature recognition.
- Imported STEP/BREP edit and repair workflows with source fingerprints, declared units, healing logs, and explicit exact/mesh losses.
- IGES, 3MF, glTF/GLB, and supported mesh import/export.
- Document auto-diff plus separate geometric, mesh, and B-Rep comparison APIs.
Exit gate
The imported-body reference model can be diagnosed, repaired, directly edited, compared, and re-exported while preserving every identity claim that can actually be proved and reporting the rest as changed or ambiguous.Milestone 4 — assemblies and production viewer
Status: Planned after Milestones 1–3Product structure and solving
- External component libraries and scalable occurrence graphs.
- An industrial assembly mate/joint solver behind a versioned protocol.
- Fixed, coincident, concentric, planar, cylindrical, distance, angle, revolute, slider, gear, rack, and screw relations.
- Grounded components, subassembly solving, limits, drivers, degrees of freedom, motion studies, and deterministic conflict diagnostics.
- Effectivity, rule-driven variants, alternates/substitutes, and scalable BOM and occurrence queries.
- Minimum-distance, clearance, interference, contact, and swept-envelope analysis using semantic occurrence references.
- Exact assembly STEP import/export that preserves supported product structure, placements, names, colors, and metadata.
Viewer
- Framework-neutral rendering core with maintained web adapters.
- Face/edge/vertex picking mapped to topology keys and authorable selectors, never durable triangle or array indices.
- Feature and assembly trees, hover/highlight, visibility, transparency, measurements, section views, exploded views, and diagnostics.
- Live parameter/configuration editing with explicit rebuild state.
- LOD, instancing, culling, worker evaluation, bounded GPU/WASM ownership, and large-assembly tests.
Exit gate
The gearbox assembly reference model solves, reports remaining DOF, produces a BOM and interference report, round-trips through supported exact assembly exchange, and remains usable in the production viewer within published budgets.Milestone 5 — drawings, PMI, and sheet metal
Status: Planned after Milestone 4Drawings and product definition
- Associative drawing documents and projected, auxiliary, section, and detail views.
- Dimensions, tolerances, datum features, GD&T, notes, tables, BOM balloons, title blocks, and revision metadata tied to persistent design intent.
- Deterministic SVG, DXF, and PDF output with an explicit layout and font policy.
- STEP AP242 PMI support where the selected translator can preserve the authored semantics; unsupported constructs must report loss.
Sheet metal
- Sheet-metal bodies, walls, flanges, bends, hems, seams, jogs, and reliefs.
- Bend allowances/deductions, K-factor and bend-table policies.
- Rip, unfold/refold, corner treatment, and validated flat patterns.
- DXF flat-pattern output with bend, cut, and annotation layers.
Exit gate
The drawing and sheet-metal reference models rebuild associatively after parameter changes, produce deterministic manufacturing outputs, and preserve or explicitly report every unsupported PMI/exchange semantic.Milestone 6 — manufacturing and engineering adapters
Status: Planned after the relevant modeling domains InvariantCAD owns typed documents, provenance, units, and adapter contracts. It does not pretend that one TypeScript implementation replaces established CAM and simulation engines.Manufacturing
- DFM checks, wall-thickness and draft analysis, and additive orientation, support, overhang, and mesh-repair workflows.
- 3MF manufacturing exchange.
- CAM stock, work coordinate systems, setups, tools, holders, operations, feeds/speeds, and toolpaths.
- Versioned postprocessor and simulation adapters with collision evidence and machine/tool provenance.
Engineering analysis
- Solver-neutral materials beyond density, loads, fixtures, contacts, mesh controls, cases, and result provenance.
- Surface and volume meshing adapters with geometry association, quality metrics, convergence data, and adaptive refinement.
- Initial static structural, modal, thermal, and thermal-stress integrations.
- Bounded result datasets, unit-safe comparisons, derived quantities, and viewer overlays.
Exit gate
At least one maintained first-party adapter per advertised workflow passes a public conformance kit. Results identify all geometry, solver, material, mesh, and configuration inputs needed to reproduce them.Milestone 7 — scale, extensions, and 1.0
Status: Planned after the product workflows are complete- Incremental DAG evaluation with explicit invalidation explanations.
- Production artifact caching only after the separate promotion gates pass.
- Bounded parallel evaluation, worker/process isolation where hard cancellation is promised, and deterministic cleanup after failure.
- Streaming exchange, configurable memory ceilings, and leak-tested long-running evaluators and viewer sessions.
- Release-gated Node, Chromium, Firefox, WebKit, Web Worker, and supported server deployments. Deno, Bun, shared-memory WASM, and WebGPU are advertised only after dedicated gates exist.
- Plugin contracts derived from working first-party kernels, solvers, translators, renderers, analysis engines, CAM strategies, and postprocessors—never speculative extension points.
- Conformance suites, security boundaries, manifests, and lifecycle rules for third-party extensions.
1.0 release criteria
InvariantCAD 1.0 is the stable general-purpose mechanical CAD platform, not the end of every domain roadmap. It requires:- Stable document/API/versioning policies and an intentionally curated public surface.
- Productive exact part, multibody, surfacing, import/repair, and assembly workflows.
- Industrial sketch and assembly solver integrations.
- Robust persistent topology over the published reference and torture suites, preserving ambiguity whenever identity cannot be proved.
- Exact and mesh backends with documented capability and conversion-loss behavior.
- A production viewer and supported Node, browser, worker, and server deployment boundaries.
- Associative drawings, PMI/GD&T foundations, and productive sheet-metal workflows.
- Exact part and assembly exchange for advertised formats.
- Reproducible packages, SBOMs, license notices, security policy, reviewed native/WASM distribution, published performance budgets, and long-running leak gates.
- Complete task-oriented documentation, API references, examples, upgrade guides, support matrices, and conformance kits.
Deferred or explicitly separate work
- Public distribution of the owned OCCT facade remains deferred pending external legal, security, provenance, and release review.
- Transparent Manifold artifacts remain deferred until a backend-owned codec preserves evaluator-visible geometry and semantics; Float32 mesh reconstruction is insufficient.
- Perfectly symmetric or coincident subshape identity remains ambiguous unless durable evidence can prove a unique match.
- Hosted collaboration, accounts, cloud execution, marketplaces, and PDM/PLM services may use InvariantCAD but are not prerequisites for the open-source CAD library.
- Proprietary translators or solvers require their owners’ SDK and redistribution terms; the project will not simulate support with lossy placeholders.
- Generative tools may author ordinary documents, but probabilistic output does not weaken validation, capability, ownership, topology, or determinism guarantees.