> ## Documentation Index
> Fetch the complete documentation index at: https://invariant-cad.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# InvariantCAD 0.1.1

> Foundation hardening: evaluator profiles, attested OCCT runtime loaders, strong import contracts, executable evidence, and stricter release gates.

# 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-preview` and `mechanical-exact` evaluator 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](/evaluation/evaluator) for the exact capability
contracts and caller-owned-kernel lifecycle.

## Attested owned-OCCT runtimes

The new `invariantcad/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](/evaluation/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](/interchange/import-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

* `invariantcad`
* `invariantcad/conformance`
* `invariantcad/kernels/occt`
* `invariantcad/kernels/occt/browser`
* `invariantcad/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.

## Upgrade notes

Node.js 22.13 or newer is required. Upgrading the package alone does not require
a document migration: existing v1-v6 documents remain supported.

For the exhaustive change record, see the
[0.1.1 changelog](https://github.com/shlokjain42/invariantCAD/blob/v0.1.1/CHANGELOG.md).
For exact current capabilities and planned work, see the
[support matrix](/reference/support-matrix) and [roadmap](/roadmap).
