Modular boundary representation for mechanical CAD. Solid modelling, booleans, blends, STEP interchange — 1.8 million lines of Rust, and nothing else underneath.
cargo deny check bans · all featurescargo deny check bans resolves the graph with every optional feature turned on, refuses any prebuilt native executable outright, and gates every single build script in the closure against an enumerated allow-list — so a new dependency that compiles C fails the build until a human reviews and admits it. That last part is the one that matters: a name-based ban list structurally cannot catch a pure-looking crate quietly invoking a C compiler. blake3 is in the closure and is on the list only because the root manifest pins its pure feature; drop that pin and the check is what tells you. Current result: bans ok.
Nothing to declare
Every CAD, CAM, CAE and BIM product needs a geometry kernel. Until now the choice was a closed C++ kernel you licence from a competitor, or an open C++ kernel you inherit the maintenance of.
| Kernel | Language | Source | Memory safety | WASM / embedded | Price |
|---|---|---|---|---|---|
| Parasolid | C++ | Closed | Manual | No | On application |
| ACIS | C++ | Closed | Manual | No | On application |
| OpenCASCADE | C++ | LGPL | Manual | Emscripten only | Free |
| OxiCAD | Rust | Licensed source | Compiler-enforced | Native target | Published below |
The memory-safety column is the one that is usually waved through, so be precise about what it buys: Rust does not make a kernel correct, and the Status section below lists exactly where ours is approximate. What it removes is a category — use-after-free in a topology arena that has been mutated by a boolean operation is not a bug class you triage here, because it is not representable.
Two of those vendors also sell CAD applications. If you build a product on their kernel, your roadmap is visible to a competitor and your unit economics are theirs to set. We sell one thing and we do not compete with you downstream.
A modular workspace, not a monolith. Take the topology layer alone, or the whole modelling stack.
This is the part most kernel vendors do not have. They stop at the geometry and hand you to a separate FEA product with its own file format and its own licence. oxicad-sim is a real finite-element and CFD implementation sitting directly on the same topology — which is only possible because the numerics underneath were already Rust. Skip this block if you are buying the kernel alone; the CLI currently exposes a narrower slice of it than the library holds, and Status says which.
Every capability listed above exists and runs. Several are partial or approximate rather than production-complete, and a kernel evaluation that discovers this in week three is a worse outcome for both of us than one that starts here.
csg_boolean_robust splits every face along the combined plane arrangement of both solids, which removes T-junctions, then classifies fragments by an exact winding-number test — correct for non-convex solids and for coplanar face overlaps, where a plain BSP drops or doubles faces. It is reachable as boolean_mesh_robust, but you must call it; it is not yet wired in as the default entry point.NotImplemented: variable-radius across more than one edge in one call, concave and saddle corner blends, chamfer_two_distances, chamfer_distance_angle, and face-to-face blending of non-adjacent faces.-D warnings for both rustc and clippy. A meaningful share of that comes from explicit #[allow(dead_code)] on scaffolding for the partial features above — roughly 13,800 occurrences across about 43% of source files — not from an absence of incomplete code. We would rather you heard that number from us.Two things that are not on that list, because they held up. GD&T verification geometrically checks all 14 ASME Y14.5 characteristics, each against a real measurement — a best-fit plane, line, circle or cylinder, a FIM about a derived datum axis, a nearest-point deviation from an independent nominal — with no catch-all that fabricates a pass; an annotation missing an input it genuinely needs returns Unsupported, never passed: true. And every source file in the workspace is under 2,000 lines.
You should be able to find out whether this fits your budget without talking to anyone. Annual terms, per company, invoiced once.
Payable in advance. Source access within one business day of receipt.
Credited in full against an Integration or Source licence. Complete kernel, unrestricted technically. Non-commercial evaluation use only. No sales contact unless you ask for it.
Binary redistribution inside your product, unlimited end users, source access for debugging, security patches, 5 business day response.
Full source licence with the right to modify and fork, all product lines, escrow on request, named engineering contact.
No royalty on your revenue, no per-seat runtime fee, no audit clause. Perpetual licences and acquisition of exclusive rights within a vertical are available — those two do require a conversation.
Nine years removing C. The kernel is what got built on top.
A geometry kernel is not a weekend project, and it is not the first thing you write. It sits on linear algebra, on transforms, on tessellation, on spatial indexing, on numerical robustness — and in every existing kernel, all of that is C or C++ or Fortran underneath.
So we started at the bottom and worked up. BLAS and LAPACK first. Then FFT. Then the scientific core. Then the geometry and point cloud layers. OxiCAD is the floor we reached after the foundations were already Rust all the way down.
That order matters, and it cannot be shortcut. A kernel written in Rust on top of a C numerics library still has C in the audit. Ours does not, because the layer beneath it was rewritten first, and the layer beneath that one before it.
The full stack is public on GitHub — 60+ projects, most of it Apache-2.0. The kernel is the part we licence.
Send one line saying what you are building. You will get the evaluation source and the technical dossier — architecture, test coverage, benchmark methodology, licence text — within one business day. No qualification call, no discovery deck.