Files
OneCAD/ROADMAP.md
T

3.4 KiB
Raw Blame History

SolveCraft roadmap

Status as of 2026-10-07. SolveCraft targets Fusion-style parametric modelling (sketch → features → parametric timeline) as an open, pure-Rust, agent-drivable application.

At a glance

Question Answer
Where are we? M0 done; M1/M2 in progress. Sketch with solver, extrude (taper, two-sided, through all), revolve, fillet/chamfer, holes, patterns, mirror, shell, draft, loft, sweep, split, construction planes, parameters that rebuild the timeline, STEP/STL export, desktop app with Fusion-style selection (hover/selected highlights, origin planes, click-to-pick sketch planes, multi-select, window/crossing box selection, animated view cube), CLI, MCP server, oracle harness.
Command parity (SOLID + SKETCH toolbar) 57 / 291 (20%) — docs/parity.md
Fusion oracle 23 / 29 parts match Fusion's measurements — docs/oracle.md
Tests 84 (solver, profiles, kernel booleans/blends/measures, expressions, timeline, file formats, camera, engine end-to-end, hostile-input fuzz over every command)
Gates cargo xtask ci: fmt, clippy -D warnings, tests, asset attribution, layering — green
Weighted parity estimate ≈ 5% of Fusion's Design workspace by importance (sketch + basic solids are the core, but surfaces, assemblies, sheet metal, CAM, drawings are untouched)
Time to a useful alpha (M0–M6) ≈ 150 agent hours remain

Milestones

# Milestone Status Hours left
M0 Vertical slice done —
M1 Sketch depth, oracle sketch cases (arcs, taper, two-sided, sketch modify tools) in progress 16
M2 Robust modelling: coplanar booleans in the kernel, holes (placed on faces and on sketch points), threads (cosmetic, then modelled), patterns, mirror, shell, draft, split, construction geometry in progress 16
M3 General fillets and chamfers (curved edges, chains, vertex blends) planned 30
M4 Files: STEP import, mesh import, DXF sketches, 3MF planned 16
M5 Persistent naming of faces and edges planned 20
M6 UI depth: selection feedback and origin (done), timeline editing (edit feature, rollback marker, reorder, suppress, re-resolved references), live previews, measure tool, section view, drag-solve in progress 24
M7 Sweep, loft, rib, web, emboss, thread, coil, pipe planned 24
M8 Surface workspace planned 30
M9 Assemblies and joints planned 40
M10 Sheet metal planned 30
M11 2D drawings planned 30
M12 Release: installers, signing, docs, performance planned 16

Known limitations

  • Fillets and chamfers: straight convex edges between planar faces with perpendicular planar end faces; two blended edges may not share a corner yet.
  • Booleans of bodies with coincident faces fail unless they come from extrudes (where the tool is extended automatically); fully internal voids are not supported.
  • Mass properties come from fine tessellation (curved faces within ~1e-4 relative).
  • No STEP import yet; no persistent naming (fillet edges are re-found by position).
  • Shell and draft work on convex bodies with planar faces; loft is ruled (no tangency end conditions).
  • Dialogs have no live preview of the result yet.

Kernel

truck (Apache-2.0) behind our own kernel crate, with our own blend operation and boolean retry/validation; see plan/adr/0001-geometry-kernel.md (local) — summary in README.