Repository navigation
SolveCraft v0.2.0
SolveCraft is open-source parametric 3D CAD in Rust: sketch, constrain, extrude, and change a
parameter to watch the timeline rebuild. Documentation
| try it in the browser |
contributing |
issues. AI agents can model with it over MCP:
solvecraft-cli mcp (how).
Which file?
- Windows:
SolveCraft-0.2.0-windows-x64.exeruns as is. Or install the.msi, or unzip the
-portable.zip(x64, x86 and arm64). - macOS 11+ (Apple silicon and Intel): open the
.dmgand drag SolveCraft onto Applications.
The CLI is insolvecraft-cli-0.2.0-macos-universal.zip. - Linux (x86_64 and aarch64, glibc 2.35+): the
.AppImage(chmod +x, then run it), the
.debor.rpm, the.flatpak(flatpak install --user <file>), or the.tar.gz. - FreeBSD:
tar -xzf solvecraft-0.2.0-freebsd-x86_64.tar.gz --strip-components 1 -C /usr/local. - Web:
solvecraft-web-0.2.0.zipis a static site to host yourself. SHA256SUMS.txt:sha256sum -c SHA256SUMS.txt --ignore-missing.
The builds aren't signed yet. On macOS, right-click SolveCraft in Applications and choose
Open the first time (or run xattr -dr com.apple.quarantine /Applications/SolveCraft.app).
On Windows, SmartScreen may say "Windows protected your PC": More info, then Run anyway.
Licences are built in (Help > About > Licences, solvecraft-cli licences); the packages also
install THIRD-PARTY-LICENSES.txt. Known limitations:
ROADMAP.md.
Changes in 0.2.0
SolveCraft 0.2.0 adds more of the parametric modeling workflow: editable configurations, reliable face attachments, richer sketch intent, improved modeling previews, and direct axis navigation. The minor version marks this substantial capability batch and changes to newer saved design structures while the application remains in 0.x development.
- Configuration rows can vary parameters, suppression, materials and appearances. Ordered rules support typed conditions, driven values, restrictions and preview traces; failed application leaves the design unchanged. Certified component and face styles preserve their targets through supported changes.
- New supported face-attached sketches retain their source identity and placement. Source edits move the attached sketch with its face; missing or replaced sources produce an explicit attachment error instead of moving the sketch to an unrelated face. Repair offers explicit reattachment or a fixed plane.
- Convex analytic offsets retain their boundary identity when short arcs disappear and later return. Newly captured qualified adaptive profiles, including holes, survive changes in curve tessellation span counts. Parameter edits, undo and saved-file replay retain the intended extrusion and material volume.
- Modeling dialogs and handles preserve authored Extrude and Revolve settings, with clearer previews and validation. Sketch workflows add persistent typed dimensions and explicit 3D wire support; sheet and cylindrical operations gain supported geometry paths and safer failures.
- AxisView replaces the view cube with signed world-axis tips: choose principal views, reverse a view with a second click, drag to orbit, and hold Shift to snap. Shaded smooth walls retain their silhouette and cap boundaries without drawing artificial joins; genuine creases and authored splits remain selectable.
- Sketch fillet and chamfer selection no longer treats a corner at zero coordinates as absent.
- Dimension creation presents an editable value draft before acceptance. Enter applies the focused value; invalid input stays available for correction, and cancellation leaves no new dimension behind. Existing dimension editing remains available.
- Fit accounts for the canvas remaining beside browser and dialog overlays, including sketches in placed components, so geometry and dimension labels remain usable within the available viewport.
- Help and contextual errors can open a reviewed Create Issue draft with bounded context and an optional locally reviewed app screenshot. Review and edit the text before opening GitHub; long reports copy the complete text for pasting. Nothing is automatically posted or uploaded, and report editing blocks CAD input behind the draft.
- Native Help and report links now open the system browser; opening the GitHub issue draft leaves submission under the user's control.
- Paste New uses bounded current-geometry comparisons for supported convex line/circle prisms with separated circular holes; unsupported shapes retain the existing strict comparison. Supported untwisted spline-extrusion wall joins gain cleaner shaded edge presentation; neither improvement changes the modeled topology or claims arbitrary imported/modified surfaces are certified.
The accepted 74-second desktop demo shows the actual English 0.2.0 UI: dimension a line from its endpoints, extrude a plate with an elliptical hole, then change width 25 to 35 mm while preserving the hole. It includes AxisView navigation; the README GIF preview plays at 2x and the full video runs at real-time speed.
Compatibility and limits:
- Designs save as FORMAT12. Formats 1-11 retain migration support and legacy reference semantics; opening an old design does not silently upgrade weak face attachments. Readers supporting older formats may refuse newly saved files.
- Durable attachment and face styling require certified supported sources. Unsupported modified or ambiguous surfaces report a limitation; a fixed plane is an explicit alternative. This release does not claim every arbitrary surface is a durable target.
- Configuration rules evaluate on configured edits, Preview and Apply. Ordinary parameter edits may leave the active configuration unmatched; reapply to recompute rules, including cross-unit derived drives.
- Existing legacy curve-based profile references retain their exact semantics. An already-lost adaptive profile may require reselection; partial, intersected or ambiguous boundaries do not qualify for durable whole-boundary capture.
- Paste New's independent prism comparison covers only supported convex line/circle uniform geometry with separated circular holes; unsupported cases retain the existing strict comparison. Smooth-join hiding covers only supported common-linear-translation spline walls; uncertain geometry keeps its existing edge presentation. Wireframe, explicit edge selection, authored splits and real creases remain available.
- Common-bore Union retries validate additional boundary curves before recutting, preventing the reproduced thin-web loss. Unknown additional trims safely refuse; inherited common-cylinder trims keep their existing policy. This is a targeted safety repair, not a general Boolean proof.
- Packages are not trusted distribution-signed/notarized.
Actual behavior screenshots
Create Issue draft with a locally reviewed screenshot.
The thin-web regression: original material, the previous Union loss, and safe refusal preserving the original material. This case now reports an unsupported operation instead of returning a damaged joined body.
+## New Contributors
- @0xlillith made their first contribution in #127
- @astrojhgu made their first contribution in #115
- @Mithril-3d made their first contribution in #112
Full Changelog: v0.1.6...v0.2.0