> ## 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.

# 0.1 support matrix

> Feature-by-feature boundary for authoring, Manifold, stock OpenCascade, and the owned OCCT facade.

Legend: **Yes** is release-gated public behavior, **Partial** is usable with an
explicitly documented weaker contract, and **No** is not advertised.

## Modeling

| Feature                    | Authoring | Manifold | Stock OCCT           | Owned facade                    |
| -------------------------- | --------- | -------- | -------------------- | ------------------------------- |
| Box, cylinder/cone, sphere | Yes       | Yes      | Yes                  | Yes                             |
| Planar sketches and holes  | Yes       | Yes      | Yes                  | Yes                             |
| Extrude, symmetric extrude | Yes       | Yes      | Yes                  | Yes                             |
| Twist/top-scale extrude    | Yes       | Yes      | No                   | No                              |
| Revolve                    | Yes       | Yes      | Yes                  | Yes                             |
| Ruled solid loft           | Yes       | No       | Yes                  | Yes                             |
| Polyline path sweep        | Yes       | No       | Yes                  | Yes                             |
| Circular-arc path sweep    | Yes       | No       | Yes                  | Yes                             |
| Composite line/arc sweep   | Yes       | No       | Bounded              | Stronger bounded refinements    |
| Boolean operations         | Yes       | Yes      | Yes, partial history | Yes, complete bounded evolution |
| Transform                  | Yes       | Yes      | Yes                  | Yes                             |
| Fillet/chamfer             | Yes       | No       | Yes, partial history | Yes, complete bounded evolution |
| Shell/whole-solid offset   | Yes       | No       | Yes, partial history | Yes, complete bounded evolution |
| Draft                      | Yes       | No       | No                   | Yes                             |

## Topology

| Capability                       | Manifold           | Stock OCCT             | Owned facade            |
| -------------------------------- | ------------------ | ---------------------- | ----------------------- |
| Face/edge/vertex snapshot        | No                 | Yes                    | Yes                     |
| Semantic roles and sketch source | No                 | Yes, feature-dependent | Yes, feature-dependent  |
| Geometry and adjacency queries   | No                 | Yes                    | Yes                     |
| Selection explanations           | Snapshot-dependent | Yes                    | Yes                     |
| Persistent signature protocol v2 | No                 | Yes                    | Yes                     |
| Stored v1 compatibility profile  | No                 | Yes                    | Yes                     |
| Complete feature evolution       | No                 | Partial                | Selected feature slices |

Construction and complete history are separate columns conceptually. A stock
OCCT fillet may construct successfully while downstream semantic lineage is
partial.

## Product structure and analysis

These evaluator-level features work with either kernel when all underlying
geometry features are supported:

* parameters and dimension-safe expressions
* materials and density expressions
* parts and fixed-placement nested assemblies
* named configurations
* instance suppression and part-material overrides
* deterministic BOMs
* geometric and physical mass properties
* canonical documents, migration, validation, and hashing
* design-impact and effective-feature hash reports

| Measurement                           | Manifold                           | Stock OCCT           | Owned facade         | Assembly aggregate   |
| ------------------------------------- | ---------------------------------- | -------------------- | -------------------- | -------------------- |
| Volume, area, bounds, center, inertia | Yes                                | Yes                  | Yes                  | Yes                  |
| Genus                                 | Exact per connected mesh component | Unsupported (`null`) | Unsupported (`null`) | Unsupported (`null`) |

A numeric genus is exact for the backend representation. Unsupported results
are explicit `null`; no backend or assembly path guesses, clamps, or silently
converts the value.

## Exchange

| Format      | Manifold | OCCT |
| ----------- | -------- | ---- |
| Binary STL  | Yes      | Yes  |
| ASCII STL   | Yes      | Yes  |
| OBJ         | Yes      | Yes  |
| STEP        | No       | Yes  |
| Text BREP   | No       | Yes  |
| Binary BREP | No       | Yes  |

<Note>
  The strong deterministic STEP paragraph and verified-import table below
  describe the unreleased 0.2 line. The exchange table above remains the
  published 0.1.1 boundary.
</Note>

The bundled zero-override stock OCCT runtime additionally advertises
single-solid deterministic STEP export protocol v1: identical bytes require
the same backend shape representation, resolved metadata/options,
implementation, and exact runtime artifact. Explicit `wasm`, `moduleFactory`,
and attested runtimes retain weak raw STEP and omit this envelope until
separately qualified. This is narrower than geometric canonicalization and
does not make STEP a portable artifact or cache format. Exact aggregate
body-set and assembly STEP remains unsupported.

The unreleased public imported-body workflow admits exactly one committed
solid through stock OCCT's strong document-body import capability:

| Imported format | Required media type        | Unit policy                       | Manifold | Stock OCCT |
| --------------- | -------------------------- | --------------------------------- | -------- | ---------- |
| STEP            | `model/step`               | File units                        | No       | Yes        |
| Text BREP       | `text/plain`               | Declared `mm`, `cm`, `m`, or `in` | No       | Yes        |
| Binary BREP     | `application/octet-stream` | Declared `mm`, `cm`, `m`, or `in` | No       | Yes        |

This is a separate opaque one-body document and
`Evaluator.evaluateImportedBody(...)` method. It verifies a caller-supplied
SHA-256 and byte-length commitment before parsing, fixes healing to `none`, and
does not publish the broader Document v7 product model. Multibody import,
assembly import, repair/healing, automatic file/URL I/O, and approximate
fallback remain unsupported.

## Runtime coverage

| Environment                | Release gate                                 |
| -------------------------- | -------------------------------------------- |
| Node.js 22.13              | Full package checks                          |
| Node.js 24                 | Full package and documentation checks        |
| Node.js 26                 | Tests, coverage, package, and security gates |
| Chromium production bundle | Manifold and stock OCCT smoke                |
| Firefox/Safari             | Not yet release-gated                        |
| Deno                       | Not claimed                                  |

## Explicitly not in 0.1

* drawings, dimensions, PMI, and GD\&T
* sheet metal and flat patterns
* assembly mates, joints, motion, interference, and contact
* CAM, toolpaths, posts, and stock simulation
* CAE/meshing/solver workflows
* general surfacing, NURBS editing, healing, and feature recognition
* variable fillets/chamfers and advanced shell modes
* complete transparent cross-run native shape caching

For the exact path-conditioning and topology-protocol boundaries behind this
matrix, read the [complete guide](/reference/complete-guide).
