Crate map
openIE CAD is a Rust workspace. Every domain has a dedicated crate, and only cad-wasm touches the JS/WASM boundary.
| Crate | Responsibility |
|---|---|
cad-types | Foundation types, IDs, units |
cad-math | Point, Transform, BBox, Mesh3D |
cad-kernel | B-Rep geometry (Truck), parametric history |
cad-sketch | 2D constraint solver |
cad-eda | Schematic, PCB, DRC, netlist |
cad-sim | Multi-physics (38 domains) + visualization |
cad-router | PCB autorouter (A*, rip-up, multi-layer) |
cad-spice | Circuit simulator (MNA, DC/AC/Transient) |
cad-format | File format I/O (STL, OBJ, glTF, STEP, KiCad, Gerber, …) |
cad-ocl | OCL language (lexer, parser, evaluator) |
cad-ocl-lsp | OCL LSP server |
cad-assembly | Mate types, DOF solver |
cad-mfg | Gerber, BOM, stackup, DFM |
cad-agent | AI agent tools |
cad-project | Unified container, event sourcing |
cad-collab | CRDT events, vector clocks |
cad-api | Axum REST API |
cad-mcp | MCP server |
cad-wasm | WASM boundary (WasmKernel, WasmSpice) |
The kernel API is shown in the USB logger example, and the agent surface in the MCP tools reference.