# CAD Kernel in Rust faster than SMLib

> Source: <https://next.brep.io/>
> Published: 2026-11-05 07:35:28+00:00

### Sponsor the project

Support development, testing, documentation and infrastructure with a monthly sponsorship from $10 or a one-time contribution of your choice.

Design parametric solids, sheet metal and assemblies alongside [schematics, PCB layouts and wire harnesses](#electronics) in one document with one undo stack. Built in Rust, next.BREP.io combines history-based modelling with an exact boundary-representation (B-rep) kernel supporting analytic and NURBS surfaces, face healing and STEP export. Run natively on Windows or Linux, or launch instantly in your browser.

[Automate CAD with MCP](#automation): let AI assistants create and edit features, inspect geometry and export models through a native server that also runs headlessly.

No sign-up, no install. The first load fetches a WebAssembly module of about 20 MB. Rendering uses WebGPU where the browser offers it and falls back to WebGL2. Models are saved in your browser's own storage; nothing is uploaded.

`.BREP.json` — not linked files that drift apart.
next.BREP.io is a unified mechanical CAD (MCAD) and electronics CAD (ECAD) platform built from the ground up in Rust. Constrained sketches, parametric features, assemblies and electronics workbenches share one document. The user interface, 3D viewer and geometry kernel form one codebase for native desktop and browser use. [Explore kernel capabilities and supporting evidence.](https://next.brep.io/capabilities)

Draw constrained 2D sketches on planes or model faces, then turn them into solids with Extrude, Revolve, Sweep, Path Sweep, Loft, Rib, Tube and Thicken. Primitives are there too when a cube or cylinder is all you need.

Fillet and chamfer edges, drill countersunk, counterbored or threaded holes, shell a body, push or delete faces and let the neighbours heal, split with a plane, and combine bodies with Boolean union, subtract and intersect.

Every feature is a row in the History panel: edit its parameters, reorder it, or roll the model back to any step. Drive dimensions with named expressions such as `width - wall * 2` and expose them through a configurator.

Start from a flat tab, add flanges, contour flanges, hems, corner fillets and chamfers and cutouts, then unfold the part and export the flat pattern as DXF or SVG for the laser or the brake.

Place parts from the document's parts library and pin them with coincident, distance, angle, concentric, tangent and other constraints. Run an interference check, import structured STEP files as assemblies, and export the bill of materials as CSV or JSON.

Models are true B-rep solids with analytic and NURBS surfaces, not meshes. Import STEP and IGES exactly, and bring in STL or OBJ meshes through automatic reconstruction into analytic faces. Export STEP AP214, IGES and STL.

Interface, viewer and kernel are all Rust, rendering through wgpu. The same source builds the browser app you can launch above and the native Linux and Windows desktop binaries you can download below.

The native Model Context Protocol (MCP) server gives AI assistants programmatic access to CAD: open models, create and edit features, inspect geometry, export files and capture screenshots. Drive the desktop application or run headlessly to automate modelling workflows.

In the browser, documents live in the browser's own IndexedDB storage and are never uploaded. Export a `.BREP.json` to keep a copy or move a model between machines. Desktop builds read and write ordinary files.

Design a housing, unfold sheet metal, lay out a PCB and build a wire harness in the same application. Schematic, board, symbol and pad workbenches share the solid model’s document and undo stack. Board placement drives assembly placement, and wiring connections become modelled harnesses with cut lengths and bills of materials.

Place a part, draw pin-to-pin wires, then edit them the way a router does: slide a segment, add a jog, take one back out, or make a wire follow another. Set references and net flags, and read the netlist straight out of the sheet.

Footprints, pads, tracks and vias laid out against the board's design rules, with quarter-turn rotation and a top and a bottom side. The populated board is shown in 3D as you route it.

Draw a symbol's graphics and place its pins; lay out a footprint's pads and their shapes. Every command the editors have is named and grouped, which is what the app builds its toolbar and its automation surface from.

Read real KiCad 9 symbol and footprint libraries, and the 3D models that go with them. Every import reports what it could and could not read, rather than silently dropping what it did not understand.

Hand a route job to the autorouter and watch it report progress as it works, inside the same design rules the manual tools are held to. Route what you care about by hand and let it finish the rest.

A connection drawn on the wiring diagram becomes a real routed harness in the model. Each wire carries its cut length, its stock number and its own line in the bill of materials, which exports with the rest of the document's BOM.

Emit the manufacturing set for the board as a single archive, so what goes to the fabricator is one file produced from the document rather than a folder assembled by hand.

An electronics part is one of the document's own assembly parts carrying a symbol and a set of pads. There is no separate library to keep in step — change the part and Update Components pulls the new symbol and pads through, undoably.

Launch the main build in your browser or download it for your desktop. Preview builds let you explore individual changes on development branches.

Loading builds…

Each entry provides a build of a development branch so you can try its changes and share feedback.

Loading…

The user guide is generated from the same source tree as the application, so it describes the build you are running. The Docs button in the app's toolbar opens it too.

Release notes, progress on the kernel, and what is coming next, written by the people building it. The mailing list carries the same news, only occasionally.

Loading posts…

Back the development of next.BREP.io and help bring browser-native CAD to more engineers and teams.

We’re seeking angel investors to help accelerate next.BREP.io development. If you’re interested in backing browser-native CAD for mechanical and electronics design, we’d like to talk.
