Skip to content
ectoPublic

About

BRep CAD kernel in Rust/WASM

Resources

Stars

438 stars

Watchers

2 watching

Forks

Latest commit

 

History

2,775 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vcad mascot

vcad

Open-source parametric CAD for the AI era.

Try it now →

vcad screenshot

Features

  • Modeling — Primitives, booleans, fillets, chamfers, shell
  • Sketching — 2D constraints, extrude, revolve, sweep, loft
  • Assembly — Parts, instances, joints, forward kinematics
  • Simulation — Physics with phyz, gym-style RL interface
  • Import/Export — STEP import, STL/GLB/STEP/DXF export
  • Rendering — Direct BRep ray tracing + tessellated mode
  • Cloud — Supabase sync with Google/GitHub auth

Use vcad

Web App

Visit vcad.io — no install required.

Native Mac App

A native SwiftUI app lives in apple/VcadApp (macOS only; other platforms use the web app). Build it from source:

apple/VcadApp/build-ffi.sh   # build the vcad-ffi kernel static library
apple/VcadApp/bundle.sh      # assemble dist/vcad.app
open apple/VcadApp/dist/vcad.app

CLI

cargo install vcad-cli
vcad export input.vcad output.stl
vcad import-step input.step output.vcad

MCP Server (AI Agents)

The MCP server lets AI agents create and manipulate CAD models:

npm install -g @vcad/mcp

Tools: create_cad_document, export_cad, inspect_cad, gym_step, gym_reset

Rust Library

use vcad_kernel::Solid;

// Create a box with a hole
let solid = Solid::cube(100.0, 60.0, 20.0);
let hole = Solid::cylinder(10.0, 25.0, 32);
let result = solid - hole;

// Export to mesh
let mesh = result.to_mesh(32);

See crates/vcad-kernel for the full API.

Architecture

vcad/
├── crates/           # Rust BRep kernel (~35K LOC)
│   ├── vcad-kernel/  # Unified API
│   ├── vcad-kernel-topo/    # Half-edge topology
│   ├── vcad-kernel-booleans/# Boolean operations
│   └── ...           # 20+ modular crates
├── packages/         # TypeScript
│   ├── app/          # React + Three.js web app
│   ├── mcp/          # MCP server for AI agents
│   └── ...
└── supabase/         # Database migrations

Development

Heads up: vcad depends on the tang math workspace and the phyz physics workspace at sibling paths (../tang, ../phyz). Clone both next to vcad before any cargo command, or the workspace will fail to resolve:

git clone [email protected]:ecto/tang.git ../tang
git clone [email protected]:ecto/phyz.git ../phyz
# Rust
cargo test --workspace
cargo clippy --workspace -- -D warnings

# TypeScript
npm ci
npm run dev -w @vcad/app   # Run web app locally

# Native Mac app (macOS + Xcode command-line tools)
apple/VcadApp/build-ffi.sh && apple/VcadApp/bundle.sh

Export controls

The hosted services (vcad.io and mcp.vcad.io) are not available in jurisdictions subject to U.S. sanctions and export controls — currently Russia, Belarus, Iran, Cuba, North Korea, Syria, and the Crimea, Sevastopol, Donetsk, and Luhansk regions of Ukraine. Users must comply with all applicable export laws. The open-source code in this repository is not affected and remains available to everyone. Details in docs/export-controls.md.

License

Copyright © 2026 Municipal Robotics Corporation

Licensed under the Apache License 2.0. See NOTICE for attributions. Contributions are accepted under the same license per the Apache 2.0 Section 5 inbound-equals-outbound rule.

About

BRep CAD kernel in Rust/WASM

Resources

Stars

438 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages