The Problem

Traditional CAD kernels are monolithic, proprietary, and difficult to embed in modern web or AI-driven workflows. vcad addresses this by providing an open-source, parametric BRep (Boundary Representation) kernel written in Rust, designed for the AI era—meaning it is built to be controlled programmatically, integrated with AI agents, and run in browsers or on desktops.

What This Does

vcad is a full-featured CAD kernel and application suite. At its core, the crates/ directory contains a modular Rust workspace: vcad-app handles the document model and feature operations (extrude, revolve, boolean ops), vcad-crdt provides conflict-free replicated data types for collaborative editing, and stepperoni is a parser/lexer for a scripting language. The vcad-cli crate offers a terminal UI and a vcad command-line tool for export/import operations. A vcad-desktop crate is a Tauri v2 shell for a native desktop app.

The project also includes a web application (React/Three.js), a Supabase backend for cloud sync and authentication, and an MCP server (@vcad/mcp) that exposes CAD operations to AI agents. The changelog/ directory shows rapid feature development, including STEP import/export, physics simulation with Rapier3D, and AI-assisted text-to-CAD.

How To Use It

Setup: The project is a Rust workspace managed with Cargo. It has a critical external dependency: the tang math workspace must be cloned as a sibling directory (../tang). The web app uses npm.

Configuration: The supabase/ directory contains database migrations, and the crates/vcad-chat/src/auth.rs file handles authentication. Environment variables for Supabase keys are likely required for cloud features, but the exact names are not documented in the provided files.

Running it: Clone the required sibling dependency first git clone git@github.com:ecto/tang.git ../tang

Run Rust tests and lints

cargo test --workspace cargo clippy --workspace -- -D warnings

Run the web app locally

npm ci npm run dev -w @vcad/app

Launch the desktop app (requires Tauri system deps)

npm run tauri:dev

The CLI entry point is crates/vcad-cli/src/main.rs, and the MCP server is installed via npm install -g @vcad/mcp.

Real-World Use

A practical scenario is an AI-driven design automation pipeline. An agent uses the MCP server to create a parametric part, the kernel evaluates the feature tree, and the result is exported for manufacturing.

use vcadkernel::Solid;

let solid = Solid::cube(100.0, 60.0, 20.0); let hole = Solid::cylinder(10.0, 25.0, 32); let result = solid - hole; let mesh = result.tomesh(32);

Code Health & Issues

High - Single point of failure in build: The hard dependency on a sibling ../tang workspace is fragile. A fresh clone without that specific setup will fail to compile. This is documented but is a significant onboarding hurdle. High - Missing core crate: The README references crates/vcad-kernel as the unified API, but this directory is not present in the provided file tree. The actual structure uses vcad-app and others. This is a documentation and structural inconsistency. Med - Notarization gap: The desktop app is unsigned for macOS, requiring manual workarounds for users. This is a release-quality issue. Med - Rapid, unverified changelog: The changelog/ has entries dated into 2026, suggesting an aggressive release cadence. Without seeing the CI logs, it's unclear if all these features are tested. The repo does have a ci.yml and some test files, which is a positive sign. Low - Mixed language stack: The presence of cad-lib/ with .loon files (a different language) alongside Rust and TypeScript adds complexity.

The Bottom Line

vcad is an ambitious and technically interesting project that successfully brings a modern CAD kernel to the Rust/WASM ecosystem. It is well-structured with a modular crate layout and has active CI. However, the fragile sibling dependency, missing vcad-kernel crate, and rapid release cadence suggest it is not yet production-stable. It is best suited for developers and teams who want to experiment with programmatic, AI-driven CAD and are comfortable managing a complex build environment.