InvariantCAD 0.1.1
InvariantCAD 0.1.1 hardens the public 0.1 foundation and adds bounded integration workflows. The current public authoring, schema, migration-target, and document aliases remain Document v6; Document v7 is staged implementation work, not a public modeling workflow.Highlights
- Named
mesh-previewandmechanical-exactevaluator profiles load and check the appropriate backend baseline before returning an evaluator. A rejected caller-owned kernel remains caller-owned. - New Node and browser entry points verify caller-supplied, matched InvariantCAD-owned OCCT JavaScript/WASM pairs before the supplied JavaScript executes.
- A versioned, strong kernel-level document-body import contract supports STEP file units and declared-unit text or binary BREP through stock OCCT.
- Declaration-level API reports now cover every JavaScript entry point, while the generated export inventory continues to reject undocumented exports.
- Three executable reference models—an electronics enclosure, bolted flange, and hollow stepped shaft—run as six Manifold/OCCT benchmark cases under the measurement-only benchmark protocol v2.
- Six canonical documentation modules execute 22 declared workflow labels, covering portable evaluation, exact STEP export, assemblies and configurations, document migration and hashing, persistent topology, and structured diagnostics and limits.
- The Node.js minimum is now 22.13. Package, dependency, API, documentation, browser, process-isolation, benchmark, coverage, and OIDC trusted-publishing gates are stricter.
Evaluator profiles
mesh-preview creates or checks the common Manifold modeling and mesh-exchange
baseline. mechanical-exact creates or checks stock OCCT exact modeling,
STEP/BREP exchange, and face/edge/vertex topology capabilities. Profile
creation fails before unsupported work is accepted.
See evaluation profiles for the exact capability
contracts and caller-owned-kernel lifecycle.
Attested owned-OCCT runtimes
The newinvariantcad/kernels/occt/node and
invariantcad/kernels/occt/browser entry points verify the canonical release
manifest and the exact JavaScript and WASM byte sizes and SHA-256 digests before
the supplied JavaScript executes. Node 22.15 and newer use short-lived
node:module.registerHooks() hooks; Node 22.13 and 22.14 retain the compatible
asynchronous node:module.register() path.
The caller must independently acquire and supply the matching files. The owned
facade is not included in the npm tarball, and InvariantCAD never downloads it
implicitly. See OCCT runtime attestation
for the trust and deployment boundary.
Strong native import boundary
Stock OCCT can import STEP using the file’s unit declaration and text or binary BREP using explicit caller-declared units. The importer snapshots admitted bytes, requires exactly one valid positive-volume solid without loose topology, normalizes orientation, rejects malformed or non-finite geometry, and releases provisional native handles after failure or cancellation. This is a low-level kernel contract, not yet a public imported-body document node. See import and export for supported formats, units, and failure behavior.Executable evidence and API discipline
The enclosure, flange, and shaft corpus exercises real parameter, configuration, topology, analysis, and exchange workflows on both kernels. Its benchmark protocol reports runtime, memory, tessellation, output-size, and native-telemetry evidence with explicit support and interpretation caveats; it does not claim universal timing thresholds. Canonical documentation modules, checked API reports, the generated export inventory, packed-consumer tests, real Chromium execution, and the full reference corpus are release gates. Coverage floors are now 84% statements, 78% branches, 90% functions, and 85% lines.Public entry points
invariantcadinvariantcad/conformanceinvariantcad/kernels/occtinvariantcad/kernels/occt/browserinvariantcad/kernels/occt/node
Important boundaries
- Public document authoring, schemas, migration targets, and aliases remain v6; v1-v6 remain frozen and directly supported.
- Document v7 resources, datums, richer shape algebra, body sets, multibody results, imported-body nodes, external occurrences, resource resolution, and feature-hash protocol v2 remain staged and internal.
- No public evaluator option enables the repository-private direct-box artifact
cache, no shipped backend advertises
shapeArtifacts, and there is no production cross-run evaluator cache. - The InvariantCAD-owned OCCT facade is not distributed in the npm package.
- Mesh and exact behavior remain distinct; unsupported exact work is never silently converted to an approximate operation.
- Industrial sketch breadth, advanced surface/NURBS modeling, solved assembly mates and motion, a production viewer, drawings and PMI/GD&T, sheet metal, CAM, and CAE remain roadmap work.