v0.3.0 — the dogfood release
Everything since v0.2.0 — culminating in gitcad building its first real product and fixing every friction point found doing it, same day.
The dogfood (attached: out-altair.zip)
A 4-gas-detector POC (enclosure + battery cradle + ESP32-S3/ADS1220 board + schematic) built entirely through gitcad's MCP tools: rounded-shell housing with window/buttons/LEDs, 2×18650 cradle, fully-routed 2-layer board — ERC/parity/DRC/connectivity/fab all green, exact boolean interference clean, all-checks release with 19 pinned artifacts. The check chain caught 5 real routing errors during the build. The 9-item friction log became the ergonomics release below.
Ergonomics (the friction, fixed)
route()+pad_position— wrong-net pads refused, SMD sides enforced, auto-vias on layer changes. The Altair routing went from 25 hand-computed tracks (5 caught errors) to six calls passing every check first tryboard_to_modelbridge ·bossfeature · entity select DSL ("plane,zmax") ·cylinder(axis=)· degenerate-track gate · missing-inputs guard
Modeling
Sketch profiles (lines+arcs) → extrude/revolve · chamfer · shell · patterns · counterbore holes · DXF R12 export — all volume-oracle tested
Checks & release
DRC engine (net-scoped rule packs) · copper connectivity (unrouted islands + label-blind shorts) · exact interference (measured overlap) · schematic capture + ERC + board parity · release(): every check or no artifacts, sha256 manifest · semantic diff
Import & interop
STEP (round-trip proven) · FreeCAD .FCStd parametric-tree import with proof · KiCad boards · feature recognition: STEP → parameterized model, residual < 1e-6 or refused · SolidWorks bulk-export path
Platform
Workspace split: gitcad-core / gitcad-mech / gitcad-ecad / gitcad namespace packages (ecad installs skip the 400MB kernel; core self-containment is now an invariant) · registry live (github.com/gitcad-xyz/registry, interface-semver enforced in CI) · web viewer with assemblies · associative dimensions · 24 MCP tools
157 tests · CI green · https://gitcad.xyz
🤖 Generated with Claude Code