{"slug": "cad-kernel-in-rust-faster-than-smlib", "title": "CAD Kernel in Rust faster than SMLib", "summary": "Next.BREP.io has launched a browser- and desktop-based mechanical and electronics CAD platform built entirely in Rust, with its developers claiming its exact boundary-representation (B-rep) kernel is faster than SMLib. The platform combines history-based parametric modelling, sheet metal, assemblies and ECAD in one document and undo stack, supports analytic and NURBS surfaces, STEP AP214/IGES/STL export and face healing, and runs natively on Windows and Linux or in the browser via a roughly 20 MB WebAssembly module rendered with WebGPU or WebGL2. A native Model Context Protocol (MCP) server lets AI assistants open models, create and edit features, inspect geometry, export files and capture screenshots, either driving the desktop app or running headlessly.", "body_md": "### Sponsor the project\n\nSupport development, testing, documentation and infrastructure with a monthly sponsorship from $10 or a one-time contribution of your choice.\n\nDesign 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.\n\n[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.\n\nNo 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.\n\n`.BREP.json` — not linked files that drift apart.\nnext.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)\n\nDraw 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.\n\nFillet 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.\n\nEvery 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.\n\nStart 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.\n\nPlace 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.\n\nModels 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.\n\nInterface, 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.\n\nThe 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.\n\nIn 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.\n\nDesign 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.\n\nPlace 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.\n\nFootprints, 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.\n\nDraw 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.\n\nRead 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.\n\nHand 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.\n\nA 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.\n\nEmit 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.\n\nAn 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.\n\nLaunch the main build in your browser or download it for your desktop. Preview builds let you explore individual changes on development branches.\n\nLoading builds…\n\nEach entry provides a build of a development branch so you can try its changes and share feedback.\n\nLoading…\n\nThe 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.\n\nRelease 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.\n\nLoading posts…\n\nBack the development of next.BREP.io and help bring browser-native CAD to more engineers and teams.\n\nWe’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.", "url": "https://wpnews.pro/news/cad-kernel-in-rust-faster-than-smlib", "canonical_source": "https://next.brep.io/", "published_at": "2026-11-05 07:35:28+00:00", "updated_at": "2026-11-05 07:50:13.498407+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "developer-tools", "ai-tools"], "entities": ["next.BREP.io", "Rust", "SMLib", "Model Context Protocol", "WebAssembly", "WebGPU", "WebGL2", "STEP AP214"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/cad-kernel-in-rust-faster-than-smlib", "markdown": "https://wpnews.pro/news/cad-kernel-in-rust-faster-than-smlib.md", "text": "https://wpnews.pro/news/cad-kernel-in-rust-faster-than-smlib.txt", "jsonld": "https://wpnews.pro/news/cad-kernel-in-rust-faster-than-smlib.jsonld"}}