Describe SolidCraft as independent parametric CAD
This commit is contained in:
1 parent
8cce89d78a
commit
7f98dd1c47
6 files changed
+23
-18
No files matched your search
@@ -1,7 +1,7 @@
|
|||||||
# SolidCraft — instructions for agents
|
# SolidCraft — instructions for agents
|
||||||
|
|
||||||
SolidCraft is a clean-room, open-source, pure-Rust parametric 3D CAD application in the style of
|
SolidCraft is an independent, clean-room, open-source, pure-Rust parametric 3D CAD application:
|
||||||
Autodesk Fusion: sketches with a constraint solver, a parametric timeline of features, a B-rep
|
sketches with a constraint solver, a parametric timeline of features, a B-rep
|
||||||
kernel, and a desktop UI that agents can drive. Siblings with the same conventions live next to
|
kernel, and a desktop UI that agents can drive. Siblings with the same conventions live next to
|
||||||
it in `storytold/`: `cadcraft` (AutoCAD-style, the closest relative), `photocraft`, `vectorcraft`,
|
it in `storytold/`: `cadcraft` (AutoCAD-style, the closest relative), `photocraft`, `vectorcraft`,
|
||||||
`gridcraft`, `designcraft`, `wordcraft`, `deckcraft`, `soundcraft`. Repos don't share code; when
|
`gridcraft`, `designcraft`, `wordcraft`, `deckcraft`, `soundcraft`. Repos don't share code; when
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# SolidCraft — instructions for agents
|
# SolidCraft — instructions for agents
|
||||||
|
|
||||||
SolidCraft is a clean-room, open-source, pure-Rust parametric 3D CAD application in the style of
|
SolidCraft is an independent, clean-room, open-source, pure-Rust parametric 3D CAD application:
|
||||||
Autodesk Fusion: sketches with a constraint solver, a parametric timeline of features, a B-rep
|
sketches with a constraint solver, a parametric timeline of features, a B-rep
|
||||||
kernel, and a desktop UI that agents can drive. Siblings with the same conventions live next to
|
kernel, and a desktop UI that agents can drive. Siblings with the same conventions live next to
|
||||||
it in `storytold/`: `cadcraft` (AutoCAD-style, the closest relative), `photocraft`, `vectorcraft`,
|
it in `storytold/`: `cadcraft` (AutoCAD-style, the closest relative), `photocraft`, `vectorcraft`,
|
||||||
`gridcraft`, `designcraft`, `wordcraft`, `deckcraft`, `soundcraft`. Repos don't share code; when
|
`gridcraft`, `designcraft`, `wordcraft`, `deckcraft`, `soundcraft`. Repos don't share code; when
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
# Contributing to SolidCraft
|
# Contributing to SolidCraft
|
||||||
|
|
||||||
SolidCraft is an open-source parametric 3D CAD app written in pure Rust, in the style of
|
SolidCraft is an independent, open-source parametric 3D CAD app written in pure Rust.
|
||||||
Autodesk Fusion. You sketch on a plane, constrain the sketch, turn profiles into solids, and
|
You sketch on a plane, constrain the sketch, turn profiles into solids, and
|
||||||
change a parameter to watch the timeline rebuild. It runs as a desktop app (Windows, Linux), in
|
change a parameter to watch the timeline rebuild. It runs as a desktop app (Windows, Linux), in
|
||||||
the browser (wasm + WebGPU/WebGL2), headless from a CLI, and as an MCP server that AI agents can
|
the browser (wasm + WebGPU/WebGL2), headless from a CLI, and as an MCP server that AI agents can
|
||||||
model with.
|
model with.
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
# SolidCraft
|
# SolidCraft
|
||||||
|
|
||||||
**Parametric 3D CAD; an open-source, [clean-room](CLAUDE.md) reimplementation of Autodesk
|
**An independent, open-source parametric 3D CAD application built in pure Rust.**
|
||||||
Fusion 360, built in pure Rust.**
|
|
||||||
|
|
||||||
Sketch, constrain, and build solids with a parametric feature timeline. Change a dimension
|
Sketch, constrain, and build solids with a parametric feature timeline. Change a dimension
|
||||||
and watch your model rebuild. Run it on your desktop, in your browser, or let AI agents
|
and watch your model rebuild. Run it on your desktop, in your browser, or let AI agents
|
||||||
@@ -15,9 +14,10 @@ model through the built-in MCP server. Part of the storytold "craft" family.
|
|||||||
developer guide and command reference; sources in [docs/book](docs/book)), and the
|
developer guide and command reference; sources in [docs/book](docs/book)), and the
|
||||||
[web app](https://bherbruck.github.io/solidcraft/app/) to try it in the browser.
|
[web app](https://bherbruck.github.io/solidcraft/app/) to try it in the browser.
|
||||||
|
|
||||||
**Status: early but usable for simple parts.** 76 of 76 reference parts built in Fusion
|
**Status: early but usable for simple parts.** The historical benchmark report records
|
||||||
rebuild in SolidCraft with the same volume, area and topology ([docs/oracle.md](docs/oracle.md));
|
76 of 76 reference parts matching volume, area and topology ([docs/oracle.md](docs/oracle.md)).
|
||||||
command parity with Fusion's Design workspace is tracked in [docs/parity.md](docs/parity.md).
|
These checks do not establish complete geometric or workflow equivalence. Feature coverage
|
||||||
|
is tracked in [docs/parity.md](docs/parity.md) and [ROADMAP.md](ROADMAP.md).
|
||||||
Open work and known bugs are in [GitHub issues](https://github.com/bherbruck/solidcraft/issues),
|
Open work and known bugs are in [GitHub issues](https://github.com/bherbruck/solidcraft/issues),
|
||||||
and help is welcome: see [CONTRIBUTING.md](CONTRIBUTING.md).
|
and help is welcome: see [CONTRIBUTING.md](CONTRIBUTING.md).
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ renamed repository; old-name Pages and Flatpak URLs are not maintained as perman
|
|||||||
Feature errors and Help can open an editable **Create Issue** draft with relevant context
|
Feature errors and Help can open an editable **Create Issue** draft with relevant context
|
||||||
and an optional reviewed screenshot; opening GitHub does not submit the report.
|
and an optional reviewed screenshot; opening GitHub does not submit the report.
|
||||||
- **Headless CLI** `solvecraft-cli`: run command scripts, measure (volume, area, centre of mass,
|
- **Headless CLI** `solvecraft-cli`: run command scripts, measure (volume, area, centre of mass,
|
||||||
face/edge/vertex counts), export, render PNG snapshots, replay Fusion oracle recipes.
|
face/edge/vertex counts), export, render PNG snapshots and replay reference recipes.
|
||||||
- **MCP server** `solvecraft-cli mcp`: AI agents model, measure and look at parts headless or
|
- **MCP server** `solvecraft-cli mcp`: AI agents model, measure and look at parts headless or
|
||||||
in the running app (see below).
|
in the running app (see below).
|
||||||
|
|
||||||
@@ -155,5 +155,10 @@ and licence rules, and where help is wanted most.
|
|||||||
|
|
||||||
## Licence
|
## Licence
|
||||||
|
|
||||||
MIT OR Apache-2.0, at your option. SolidCraft is not affiliated with Autodesk; Fusion is a
|
MIT OR Apache-2.0, at your option. Developed independently under the
|
||||||
trademark of Autodesk, Inc.
|
[clean-room contribution rules](CLAUDE.md); third-party code and assets retain their
|
||||||
|
documented licences and attribution.
|
||||||
|
|
||||||
|
References to other products describe workflow comparisons and benchmark provenance.
|
||||||
|
SolidCraft is not affiliated with, sponsored by or endorsed by Autodesk. Autodesk and
|
||||||
|
Fusion are trademarks of Autodesk, Inc.
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
# SolidCraft roadmap
|
# SolidCraft roadmap
|
||||||
|
|
||||||
Status as of **2026-10-11**. SolidCraft targets Fusion-style parametric modelling (sketch →
|
Status as of **2026-10-11**. SolidCraft supports parametric modelling (sketch →
|
||||||
features → parametric timeline) as an open, pure-Rust, agent-drivable application.
|
features → parametric timeline) as an open, pure-Rust, agent-drivable application.
|
||||||
|
|
||||||
## At a glance
|
## At a glance
|
||||||
@@ -54,7 +54,7 @@ headline counts in-scope tabs only and lists the deferred ones separately.
|
|||||||
| M6 | UI depth: selection feedback and origin (done), timeline editing (done: hover and selection highlight modifier faces, including fillets and chamfers; edit feature, history marker drag, reorder with dependency checks, suppress, rename, delete with dependents, re-resolved references; redefining selections refreshes persistent edge/face references while retaining feature identity and dimension names), right-docked dialogs (done), live previews for every feature dialog (done), keyboard-first commands with on-canvas value boxes and sketch inline dimensions (done), drag manipulators with automatic join/cut (done: extrude incl. two sides, fillet, shell, hole depth, move, pattern spacing, revolve rotator; taper handle open), dark theme (done), right-click menu with Repeat (done), measure tool (done), section analysis (done), selection filter (done), drag-solve of sketch points (done); appearance controls now preserve body/face/component targeting, named transparent looks, reuse/search and override removal; preferences | in progress | 6 |
|
| M6 | UI depth: selection feedback and origin (done), timeline editing (done: hover and selection highlight modifier faces, including fillets and chamfers; edit feature, history marker drag, reorder with dependency checks, suppress, rename, delete with dependents, re-resolved references; redefining selections refreshes persistent edge/face references while retaining feature identity and dimension names), right-docked dialogs (done), live previews for every feature dialog (done), keyboard-first commands with on-canvas value boxes and sketch inline dimensions (done), drag manipulators with automatic join/cut (done: extrude incl. two sides, fillet, shell, hole depth, move, pattern spacing, revolve rotator; taper handle open), dark theme (done), right-click menu with Repeat (done), measure tool (done), section analysis (done), selection filter (done), drag-solve of sketch points (done); appearance controls now preserve body/face/component targeting, named transparent looks, reuse/search and override removal; preferences | in progress | 6 |
|
||||||
| M7 | Sweep, loft (incl. to a point), rib and web (to next / depth), emboss (planar faces and exact radial emboss/deboss of bounded orthogonal profiles on complete exterior cylinders/sleeves), thread (cosmetic, and modelled M3–M20 outside and inside: the ISO profile screwed in as a faceted cut), coil (smooth B-spline helical walls), pipe, pattern on path, patterns of bodies and components, replace face (parallel), align, remove, feature copy/paste: done. Unique eligible cylindrical targets are inferred for new Emboss features. Left: general curved-face emboss and exact (unfaceted) modelled threads | in progress | 12 |
|
| M7 | Sweep, loft (incl. to a point), rib and web (to next / depth), emboss (planar faces and exact radial emboss/deboss of bounded orthogonal profiles on complete exterior cylinders/sleeves), thread (cosmetic, and modelled M3–M20 outside and inside: the ISO profile screwed in as a faceted cut), coil (smooth B-spline helical walls), pipe, pattern on path, patterns of bodies and components, replace face (parallel), align, remove, feature copy/paste: done. Unique eligible cylindrical targets are inferred for new Emboss features. Left: general curved-face emboss and exact (unfaceted) modelled threads | in progress | 12 |
|
||||||
| M8 | Surface workspace | deferred | — |
|
| M8 | Surface workspace | deferred | — |
|
||||||
| M9 | Components and assemblies (Fusion-style): New Component / Create Components from Bodies, active component, per-component origin/bodies/sketches/timeline entries, occurrences with transforms, Copy/Paste vs Paste New, nested Browser tree with visibility and isolate; Ground, Move/Copy of occurrences, joints (rigid, revolute, slider, cylindrical, pin-slot, planar, ball) by joint origins with limits and Drive Joints, As-built Joint, Rigid Group, Contact Sets (driving and motion studies stop where bodies in a set would pass through each other), Motion Study (joint values keyed along a timeline, playback, export of occurrence positions as JSON/CSV), Exploded views (automatic or by hand, shown without changing placements); interference, per-component physical properties; STEP with assembly structure. Physical properties now measure material-aware component/occurrence placements, descendants and repeated instances, including pending moves and body reassignment offsets; contact geometry and automatic exploded centres respect those offsets. Groundwork done: component tree, occurrences with transforms (instances, Paste New), world placement, active component as authoring frame, ground, Capture/Revert Position, moving bodies and sketches. UI: ASSEMBLE panel dialogs for New Component, Joint (snaps on faces, edges, circles and vertices; animated motion preview; offsets, flip, limits), As-built Joint, Joint Origin, Rigid Group, Drive Joints (live slider), Motion Link and Interference (overlaps shown red); joints in the timeline and the Browser | in progress | 32 |
|
| M9 | Components and assemblies: New Component / Create Components from Bodies, active component, per-component origin/bodies/sketches/timeline entries, occurrences with transforms, Copy/Paste vs Paste New, nested Browser tree with visibility and isolate; Ground, Move/Copy of occurrences, joints (rigid, revolute, slider, cylindrical, pin-slot, planar, ball) by joint origins with limits and Drive Joints, As-built Joint, Rigid Group, Contact Sets (driving and motion studies stop where bodies in a set would pass through each other), Motion Study (joint values keyed along a timeline, playback, export of occurrence positions as JSON/CSV), Exploded views (automatic or by hand, shown without changing placements); interference, per-component physical properties; STEP with assembly structure. Physical properties now measure material-aware component/occurrence placements, descendants and repeated instances, including pending moves and body reassignment offsets; contact geometry and automatic exploded centres respect those offsets. Groundwork done: component tree, occurrences with transforms (instances, Paste New), world placement, active component as authoring frame, ground, Capture/Revert Position, moving bodies and sketches. UI: ASSEMBLE panel dialogs for New Component, Joint (snaps on faces, edges, circles and vertices; animated motion preview; offsets, flip, limits), As-built Joint, Joint Origin, Rigid Group, Drive Joints (live slider), Motion Link and Interference (overlaps shown red); joints in the timeline and the Browser | in progress | 32 |
|
||||||
| M10 | Sheet metal: flange (base, edge, contour), hem, unfold/refold, convert, flat pattern + DXF, rules: done (oracle 67-76). PLASTIC enclosure subset: Boss, Rib, Web, Lip/Groove, Snap Fit, Rest, Plastic Rules (library, edit, assign; rule draft and clearance as feature defaults): done, no Fusion oracle (licence), tested against hand-computed geometry. UI: SHEET METAL and PLASTIC tabs in Fusion's layout with dialogs (live preview, Edit Feature, pre-selection) for Flange, Hem, Unfold/Refold, Convert, Sheet Metal Rules, Create Flat Pattern (flat view with bend lines, bend table CSV/JSON and DXF export with exact circle/arc/line cutouts), Boss, Lip/Groove, Snap Fit, Rest, Manage and Assign Plastic Rules; Fold (bend along a sketch line) | in progress | 36 |
|
| M10 | Sheet metal: flange (base, edge, contour), hem, unfold/refold, convert, flat pattern + DXF, rules: done (oracle 67-76). PLASTIC enclosure subset: Boss, Rib, Web, Lip/Groove, Snap Fit, Rest, Plastic Rules (library, edit, assign; rule draft and clearance as feature defaults): done, no Fusion oracle (licence), tested against hand-computed geometry. UI: SHEET METAL and PLASTIC tabs in Fusion's layout with dialogs (live preview, Edit Feature, pre-selection) for Flange, Hem, Unfold/Refold, Convert, Sheet Metal Rules, Create Flat Pattern (flat view with bend lines, bend table CSV/JSON and DXF export with exact circle/arc/line cutouts), Boss, Lip/Groove, Snap Fit, Rest, Manage and Assign Plastic Rules; Fold (bend along a sketch line) | in progress | 36 |
|
||||||
| M11 | 2D drawings | deferred | — |
|
| M11 | 2D drawings | deferred | — |
|
||||||
| M12 | Release: cross-platform packages, verification and deliberate publication implemented; original current-UI demo refreshed. Trusted distribution signing and broader performance work remain | in progress | 16 |
|
| M12 | Release: cross-platform packages, verification and deliberate publication implemented; original current-UI demo refreshed. Trusted distribution signing and broader performance work remain | in progress | 16 |
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# SolidCraft
|
# SolidCraft
|
||||||
|
|
||||||
SolidCraft is an open-source parametric 3D CAD application written in pure Rust. It works the way
|
SolidCraft is an independent, open-source parametric 3D CAD application written in pure Rust.
|
||||||
Fusion-style modellers do: sketch on a plane, constrain and dimension the sketch, turn profiles
|
Sketch on a plane, constrain and dimension the sketch, turn profiles
|
||||||
into solids with features on a timeline, and change a parameter to watch the whole timeline
|
into solids with features on a timeline, and change a parameter to watch the whole timeline
|
||||||
rebuild.
|
rebuild.
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user