# InvariantCAD > Comprehensive, type-safe CAD-as-code for TypeScript. ## Docs - [InvariantCAD documentation](https://invariant-cad.mintlify.app/index.md): Build deterministic parametric CAD models, assemblies, and exchange files with TypeScript. - [Installation](https://invariant-cad.mintlify.app/get-started/installation.md): Install InvariantCAD and prepare Node.js, browser, and package-manager environments. - [Quickstart](https://invariant-cad.mintlify.app/get-started/quickstart.md): Author, evaluate, inspect, and export a parameterized mounting plate. - [Core concepts](https://invariant-cad.mintlify.app/get-started/core-concepts.md): The mental model for builders, documents, references, evaluators, kernels, and owned results. - [Product scope](https://invariant-cad.mintlify.app/project/product-scope.md): What InvariantCAD means by comprehensive mechanical CAD-as-code, how the platform is divided, and what is deliberately outside the core. - [Parameters and expressions](https://invariant-cad.mintlify.app/modeling/parameters-and-expressions.md): Create dimension-safe parameters, formulas, vectors, units, limits, and evaluation overrides. - [Sketches and constraints](https://invariant-cad.mintlify.app/modeling/sketches-and-constraints.md): Author planar profiles with explicit entities, loops, holes, and the built-in constraint solver. - [Primitives and transforms](https://invariant-cad.mintlify.app/modeling/primitives-and-transforms.md): Create boxes, cylinders, cones, spheres, and parameterized transform chains. - [Solid features](https://invariant-cad.mintlify.app/modeling/features.md): Use extrude, revolve, Booleans, fillet, chamfer, shell, offset, and draft with explicit topology intent. - [Paths, sweeps, and lofts](https://invariant-cad.mintlify.app/modeling/paths-sweeps-and-lofts.md): Create exact bounded ruled lofts and line, circular-arc, or composite path sweeps. - [Topology selection](https://invariant-cad.mintlify.app/modeling/topology-selection.md): Select faces, edges, and vertices by semantic origin, geometry, adjacency, logic, and cardinality. - [Persistent topology references](https://invariant-cad.mintlify.app/modeling/persistent-topology.md): Capture detached topology evidence, store it in a document, and resolve it uniquely after design changes. - [Parts, materials, and assemblies](https://invariant-cad.mintlify.app/modeling/assemblies.md): Define reusable parts, density-aware materials, fixed occurrences, nested assemblies, and outputs. - [Configurations and bills of materials](https://invariant-cad.mintlify.app/modeling/configurations-and-bom.md): Create named parameter, suppression, and material variants with deterministic nested BOM rollups. - [Evaluator](https://invariant-cad.mintlify.app/evaluation/evaluator.md): Configure evaluation, choose outputs and variants, handle cancellation, and manage native ownership. - [Choosing a geometry kernel](https://invariant-cad.mintlify.app/evaluation/kernels.md): Compare the default Manifold mesh backend, stock OpenCascade, and the optional owned OCCT facade. - [Manifold backend](https://invariant-cad.mintlify.app/evaluation/manifold.md): Use the bundled watertight mesh runtime in Node.js and browsers. - [OpenCascade backend](https://invariant-cad.mintlify.app/evaluation/open-cascade.md): Configure exact B-Rep evaluation, stock occt-wasm, custom binaries, and the owned facade. - [OCCT runtime attestation](https://invariant-cad.mintlify.app/evaluation/occt-runtime-attestation.md): Verify an exact owned OCCT JavaScript/WASM pair and its declared build manifest before loading it in Node.js or a browser. - [Browser and worker deployment](https://invariant-cad.mintlify.app/evaluation/browser-and-workers.md): Bundle both WebAssembly kernels with Vite, control asset URLs, and isolate long-running evaluation. - [Diagnostics and resource limits](https://invariant-cad.mintlify.app/evaluation/diagnostics-and-limits.md): Handle structured failures and configure bounded document, topology, history, and artifact work. - [Measurements and mass properties](https://invariant-cad.mintlify.app/analysis/measurements.md): Read geometric measurements, density-aware physical properties, inertia, and radii of gyration. - [Design impact and feature hashes](https://invariant-cad.mintlify.app/analysis/design-impact-and-hashes.md): Analyze authored change reachability and compute kernel-independent effective feature hashes. - [Import and export](https://invariant-cad.mintlify.app/interchange/import-export.md): Export meshes and exact exchange formats, and understand the current native-import boundary. - [Documents and migrations](https://invariant-cad.mintlify.app/interchange/documents-and-migrations.md): Serialize, parse, validate, clone, hash, and migrate versioned InvariantCAD documents. - [Public library surface](https://invariant-cad.mintlify.app/reference/public-surface.md): A map of InvariantCAD's supported package entry points and public capability areas. - [Export index](https://invariant-cad.mintlify.app/reference/export-index.md): Generated alphabetical inventory of every named export from InvariantCAD's supported package entry points. - [DesignBuilder reference](https://invariant-cad.mintlify.app/reference/design-builder.md): Method-by-method reference for the primary InvariantCAD authoring surface. - [Evaluator and result reference](https://invariant-cad.mintlify.app/reference/evaluator-results.md): Reference for evaluator creation, evaluation options, output classes, ownership, and exports. - [Topology language reference](https://invariant-cad.mintlify.app/reference/topology-language.md): Complete query algebra, predicates, cardinality, persistent atoms, and explanation behavior. - [Package exports and compatibility](https://invariant-cad.mintlify.app/reference/package-exports.md): Supported import paths, ESM requirements, types, browser assets, and semver expectations. - [Command-line interface](https://invariant-cad.mintlify.app/reference/cli.md): Validate, inspect, generate BOMs, and export InvariantCAD JSON documents. - [0.1 support matrix](https://invariant-cad.mintlify.app/reference/support-matrix.md): Feature-by-feature boundary for authoring, Manifold, stock OpenCascade, and the owned OCCT facade. - [Document schema and versioning](https://invariant-cad.mintlify.app/reference/document-schema.md): Frozen JSON versions, schema identifiers, migrations, and the independent protocol version axes. - [Reference model corpus](https://invariant-cad.mintlify.app/reference/reference-model-corpus.md): Build, test, and measure InvariantCAD against a small set of real mechanical models. - [Complete guide](https://invariant-cad.mintlify.app/reference/complete-guide.md): The exhaustive published 0.1 foundation guide with clearly marked unreleased 0.2 contracts. - [Architecture and invariants](https://invariant-cad.mintlify.app/architecture.md): Normative layers, ownership rules, protocol boundaries, coordinate conventions, and conformance requirements. - [Sketch solver evaluation](https://invariant-cad.mintlify.app/engineering/sketch-solver-evaluation.md): PlaneGCS adapter evidence, the conditional owned-runtime decision, rejected direct-package path, and production promotion gates. - [Shape artifact and cache research](https://invariant-cad.mintlify.app/engineering/shape-artifact-cache-research.md): Repository-private OCCT artifact formats, evaluator-cache evidence, security boundaries, non-claims, and promotion gates. - [Persistent-topology torture contract](https://invariant-cad.mintlify.app/persistent-topology-torture.md): Normative stable, missing, ambiguous, ownership, conditioning, and compatibility cases for durable topology evidence. - [Kernel shape-artifact conformance](https://invariant-cad.mintlify.app/shape-artifact-conformance.md): Normative candidate and advertised codec audit, semantic witnesses, limits, cancellation, ownership, and report interpretation. - [Roadmap](https://invariant-cad.mintlify.app/roadmap.md): Dependency-ordered milestones from the 0.1 foundation to a production mechanical CAD-as-code platform. - [Public API compatibility](https://invariant-cad.mintlify.app/project/api-compatibility.md): How InvariantCAD records and reviews declaration-level changes across every supported package entry point. - [Security](https://invariant-cad.mintlify.app/project/security.md): Supported releases, vulnerability reporting, trust boundaries, and dependency policy. - [Contributing](https://invariant-cad.mintlify.app/project/contributing.md): Set up the repository, choose a change boundary, test it, and contribute safely. - [Maintainer release procedure](https://invariant-cad.mintlify.app/releasing.md): Internal checklist for release validation, bootstrap publication, provenance, and post-release verification. - [InvariantCAD 0.1.1](https://invariant-cad.mintlify.app/releases/0.1.1.md): Foundation hardening: evaluator profiles, attested OCCT runtime loaders, strong import contracts, executable evidence, and stricter release gates. - [InvariantCAD 0.1.0](https://invariant-cad.mintlify.app/releases/0.1.0.md): First public foundation release: parametric CAD, two kernels, exact topology-aware features, analysis, assemblies, and hardened packaging.