Repository navigation
Releases: bherbruck/solidcraft
Release list
SolidCraft v0.7.0
SolidCraft 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:
solidcraft-cli mcp (how).
Why 0.7: this is a minor bump because the design file format moved to version 15 (sketches
on cylinder caps and sheet metal panels need new references), and because it adds new features.
What's new
- Sketching on stacked extrudes works again. Creating a sketch on the top face of an extrude
stacked on another failed with "operation failed" since 0.3
(#489). It's fixed, and every flat face
of the test models is now checked for this on every change. - Select Other: hold or right-click to pick something hidden under something else; click
again to cycle through what's underneath. - Tabs are named after their file instead of "Untitled".
- Modelling: a flange angle and height per edge, Patch fills non-planar loops, sketches on
cylinder caps and on sheet metal faces, and a feature rename updates everything that refers to
it. - Fixes: revolve with edges on the axis, shell and fillet with small rounds, Join keeps face
attachments, and STEP export writes each lump of a body as its own solid. - Navigation and UI: orbiting from empty space turns around the visible geometry, Ctrl+drag
orbits in every preset, toolbar drops land across labels and gaps, Combine previews before OK,
and sketch constraints accept the sketch's own x / y axes. - Opening a design reads its metadata and preview through a bounded, seekable reader; the docs
and web app have link preview cards.
File format. Designs are now format 15 (solidcraft/15). SolidCraft 0.6 and older can't
open designs saved by 0.7, as a container or as JSON; keep a copy of a file you may still open
in 0.6. Files from every earlier version still open in 0.7.
Known limitations
- Some faces still need the fixed-plane fallback for sketches: side faces Join merged from two
extrudes (#491), faces split by a later
feature (#492), Cut walls and chamfer
faces (#493), faces after Revolve,
Offset Face or Boss (#494) and sheet
metal thickness faces (#495). - Cutting a coaxial cylinder from a thin disc can lose a little volume
(#500); an edge flange with different
per-edge angles leaves gaps at the corners
(#501). - More in ROADMAP.md.
Upgrading from 0.5 or earlier. 0.6 renamed SolveCraft to SolidCraft and made the zip
container the default save format. .solvecraft designs, old settings folders and
SOLVECRAFT_* variables are still picked up, and solvecraft-cli still forwards to
solidcraft-cli. Want plain JSON? Use File ▸ Save As JSON… or --save design.json. On
macOS, replace SolveCraft.app with SolidCraft.app. Details:
compatibility notes.
Documentation, the browser app and the Flatpak feed use the SolidCraft project Pages URLs.
Which file?
- Windows:
SolidCraft-0.7.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 dragSolidCraft.apponto Applications.
The CLI is insolidcraft-cli-0.7.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>), the.snap
(sudo snap install --dangerous <file>, orsudo snap install solidcraftfrom the Snap Store), or the.tar.gz. - FreeBSD:
tar -xzf solidcraft-0.7.0-freebsd-x86_64.tar.gz --strip-components 1 -C /usr/local. - Web:
solidcraft-web-0.7.0.zipis a static site to host yourself. SHA256SUMS.txt:sha256sum -c SHA256SUMS.txt --ignore-missing.- Files without a version in the name (
solidcraft-windows-x64.msi,solidcraft-linux-x86_64.AppImage, …)
are the same packages under fixed names, for download links that always fetch the latest release.
For Flatpak feed installation and updates, add Flathub for the required runtime before
installing SolidCraft; keep both remotes in the same user installation:
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --user --if-not-exists solidcraft https://bherbruck.github.io/solidcraft/flatpak/solidcraft.flatpakrepo
flatpak install --user solidcraft ai.storyteller.solvecraft
flatpak run ai.storyteller.solvecraftSingle-file .flatpak bundles include the runtime repository address; missing runtimes
still need an internet connection. Linux installation details.
The builds aren't signed yet. On macOS, right-click SolidCraft.app in Applications and choose
Open the first time (or run xattr -dr com.apple.quarantine /Applications/SolidCraft.app).
On Windows, SmartScreen may say "Windows protected your PC": More info, then Run anyway.
Licences are built in (Help ▸ About ▸ Licences, solidcraft-cli licences); the packages also
install THIRD-PARTY-LICENSES.txt.
What's Changed
- fix(ui): put Point on the default sketch toolbar by @0xlillith in #445
- fix(ui): accept toolbar drops across panel labels and gaps by @0xlillith in #454
- fix(kernel): revolve with edges on the axis is built around the origin, then moved (#450) by @Mqrius in #452
- fix: write each lump of a body as its own STEP solid by @NOWN-DEV in #455
- fix: fit the plane of a thin sewn face about its own centre by @NOWN-DEV in #441
- Join keeps exact face attachments on faces it leaves unchanged (#420) by @jyviko in #453
- Sketch constraints accept x / y for the sketch's own axes by @jyviko in #448
- feat: edge flanges with their own angle and height per edge by @NOWN-DEV in #447
- docs: link preview cards for the docs site and web app by @bherbruck in #457
- Orbit from empty space turns around the visible geometry by @bherbruck in #464
- docs: describe the sketch solver as it is by @jyviko in #475
- Ctrl+left drag on empty space orbits in every navigation preset by @jyviko in #471
- fix: sketches on planes built from the model can project, intersect, include and hold text by @NOWN-DEV in #459
- Read design containers through a bounded seekable reader (#303) by @0xlillith in #462
- Sketch on a cylinder primitive's caps; format 15 by @jyviko in #460
- feat: sketches on a sheet metal face attach to its panel by @NOWN-DEV in #474
- Patch fills non-planar edge loops with one smooth face (#250) by @jyviko in #472
- fix(ui): draw sketch constraint glyphs in red by @wdunn001 in #414
- Note sheet metal panel anchors under format 15 by @bherbruck in #482
- fix: shell a body whose curved edge is rounded smaller than the wall by @jyviko in #476
- fix: report every fillet refusal of a radius too big as too large by @jyviko in #477
- fix(ui): the Combine dialog previews without an error, so OK is enabled (#480) by @Mqrius in #481
- Name untitled designs after their file by @bherbruck in #483
- fix(kernel): revolving adjacent profiles on the axis makes no zero-area faces by @Mqrius in #490
- Fix feature rename references by @onenewcode in #486
- README demo for 0.6: a Raspberry Pi 4 case by @bherbruck in #504
- Select Other: pick what lies under something else by @bherbruck in #503
- Fix sketching on the top face of a stacked extrude (#489) by @bherbruck in #505
- Release 0.7.0 by @bherbruck in #508
New Contributors
- @wdunn001 made their first contribution in #414
- @onenewcode made their first contribution in #486
Full Changelog: v0.6.0...v0.7.0
SolidCraft v0.6.0
SolidCraft 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:
solidcraft-cli mcp (how).
Why 0.6: this is a minor bump because two things change the files you work with: the
rename to SolidCraft and the new design file format. Files from earlier builds open fine, but
builds 0.5 and older can't open designs saved by 0.6.
What's new
- New design file format. Saves are a zip container by default; plain JSON is still one
click away (details below). - Sheet metal: flange corners close at any angle, and cut-outs fold across bends at any
angle, including curved bends. - Crash reports: after a crash, Help ▸ Crash Reports… shows what happened with a ready-to-file
issue draft. Reports stay on your computer; nothing is sent.solidcraft-cli crasheslists and
replays them. - Snap package for x86_64 and aarch64 on every release, alongside the AppImage,
.deb,.rpm
and Flatpak. - Trackpad navigation (two-finger pan, pinch zoom), a fillet option that shrinks a radius too
big for its edges, cleaner dialogs and toolbar panels, and the unfinished Generative Design
workspace is gone. - Many modelling fixes: extrude/revolve in moved components, To Object picks, very flat arcs,
touching lines and arcs in booleans, andsolidcraft-cli runnow fails when a feature fails. - Behaviour change: sheet metal flange features where several flanges meet at corners at
angles other than 90° now close those corners when you reopen an existing design (#406); they
used to stay open.
New file format. Save and Save As now write .solidcraft designs as a zip container
that stores imported STEP, mesh and image data as binary, once each, at full precision, so
designs with imports save and open faster. What that means for you:
- Your existing
.solidcraftand.solvecraftfiles (plain JSON) still open as before; the
format is detected from the contents. - Want plain JSON (for diffs or scripts)? Use File ▸ Save As JSON…, or pick a
.jsonname in Save As; later saves keep JSON. File ▸ Export Design as JSON… writes a
separate JSON copy. From the CLI,solidcraft-cli run … --save design.json; from MCP or
scripts, pass"format": "json"tosave/file.save. - SolidCraft 0.5 and older can't open designs saved by 0.6, as a container or as JSON (the
JSON format tag is nowsolidcraft/14). Keep a copy of a file you may still open in 0.5.
Renamed to SolidCraft. Everything now uses the new name: the solidcraft and
solidcraft-cli programs, .solidcraft designs, SOLIDCRAFT_* environment variables,
settings folders, package names and the solidcraft MCP server. Upgrading from SolveCraft:
.solvecraftdesigns still open (double-click, Open, drag-drop, the CLI and MCP); new saves
are.solidcraft.- Settings, preferences and recovery files are copied to the new folders on first launch; the
old folders are left in place.SOLVECRAFT_*environment variables are still read. solvecraft-cliremains as a deprecated alias for one release; it forwards to
solidcraft-cliand prints a note. Agents:claude mcp add solidcraft -- solidcraft-cli mcp;
an existingclaude mcp add solvecraft -- solvecraft-cli mcpsetup keeps working.- Windows: the
.msiupgrades the existing installation in place (now in
Program Files\SolidCraft). Linux: thesolidcraft.deb/.rpmreplaces thesolvecraft
package. The Flatpak app ID staysai.storyteller.solvecraft, soflatpak updatejust works,
and existing AppImages find the update. - macOS: quit the app, move the old
SolveCraft.appto the Trash (your designs and settings
stay), then dragSolidCraft.appfrom the DMG onto Applications and pin it in the Dock. - Details: compatibility notes.
Documentation, the browser app and the Flatpak feed use the SolidCraft project Pages URLs;
old-name Pages addresses are not permanent aliases.
Which file?
- Windows:
SolidCraft-0.6.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 dragSolidCraft.apponto Applications.
The CLI is insolidcraft-cli-0.6.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>), the.snap
(sudo snap install --dangerous <file>, orsudo snap install solidcraftfrom the Snap Store), or the.tar.gz. - FreeBSD:
tar -xzf solidcraft-0.6.0-freebsd-x86_64.tar.gz --strip-components 1 -C /usr/local. - Web:
solidcraft-web-0.6.0.zipis a static site to host yourself. SHA256SUMS.txt:sha256sum -c SHA256SUMS.txt --ignore-missing.- Files without a version in the name (
solidcraft-windows-x64.msi,solidcraft-linux-x86_64.AppImage, …)
are the same packages under fixed names, for download links that always fetch the latest release.
For Flatpak feed installation and updates, add Flathub for the required runtime before
installing SolidCraft; keep both remotes in the same user installation:
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --user --if-not-exists solidcraft https://bherbruck.github.io/solidcraft/flatpak/solidcraft.flatpakrepo
flatpak install --user solidcraft ai.storyteller.solvecraft
flatpak run ai.storyteller.solvecraftSingle-file .flatpak bundles include the runtime repository address; missing runtimes
still need an internet connection. Linux installation details.
The builds aren't signed yet. On macOS, right-click SolidCraft.app in Applications and choose
Open the first time (or run xattr -dr com.apple.quarantine /Applications/SolidCraft.app).
On Windows, SmartScreen may say "Windows protected your PC": More info, then Run anyway.
Licences are built in (Help ▸ About ▸ Licences, solidcraft-cli licences); the packages also
install THIRD-PARTY-LICENSES.txt. Known limitations:
ROADMAP.md.
What's Changed
- perf: cut many clear tools of any cut in one boolean (#368) by @jonaswre in #387
- feat(ui): trackpad pan with two fingers, zoom with pinch by @Konrad-Waldhe in #386
- feat: fillet fit option reduces a radius too large for its edges by @jyviko in #388
- fix: build very flat arcs in sewn faces from their ends and midpoint by @NOWN-DEV in #398
- Use the approved layered app icon on macOS by @Nathan-Dane in #399
- Crash reports: replayable, bounded, local, reachable by agents by @froglemonade2 in #384
- Rename SolveCraft to SolidCraft everywhere, with compatibility shims by @bherbruck in #389
- README: Download section with installers for every platform by @bherbruck in #411
- Remove the Generative Design workspace placeholder by @bherbruck in #412
- Snap package: strict core24 snap on every release, optional Snap Store upload by @bherbruck in #413
- fix: fail solidcraft-cli run when a timeline feature fails by @NOWN-DEV in #402
- Finalize macOS icon appearances and Composer sizing by @Nathan-Dane in #426
- fix(ui): Sketch Palette line type buttons follow the selected curves by @tbreckle in #422
- feat: close sheet flange corners at any angle by @NOWN-DEV in #406
- fix(doc): extrude and revolve in a moved component from another component's sketch (#403) by @Mqrius in #407
- fix(doc): To Object takes the face at the pick, not the first body near it (#428) by @Mqrius in #429
- feat(ui): heading bands for dialogs, Sketch Status label, tighter Sketch Palette footer by @tbreckle in #418
- fix: fillet fit review follow-ups by @jyviko in #404
- fix(ui): wrap long toolbar panel labels and centre one-button panels by @tbreckle in #410
- fix: the sheet metal flat budget counts exact lines and arcs once by @NOWN-DEV in #430
- feat: fold sheet metal cut-outs across bends at any angle or curved by @NOWN-DEV in #425
- Add design containers with deduplicated blobs and JSON compatibility by @0xlillith in #327
- fix: lines and arcs that touch meet at one point in planar booleans by @NOWN-DEV in #432
- perf: pattern joins skip pushing apart faces that don't meet by @jyviko in #437
- Version 0.6.0 by @bherbruck in https://github.com/bherbruck/solidcraft/p...
SolidCraft v0.5.0
SolidCraft 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:
solidcraft-cli mcp (how).
Highlights since v0.4.0
This is a minor release: it adds new compatible capabilities. Binaries and downloads are now named SolidCraft (solidcraft, solidcraft-cli).
- Constructive sketch solving and live drag: edits keep their solution; value edits that would fold a sketch are refused.
- 3D mice on Linux and six-axis devices.
- OpenSCAD navigation preset.
- Driven dimensions: a dimension that would over-constrain a sketch is placed as a driven dimension.
- Dimension type is picked from where its text is placed.
- Toolbar drop-downs scroll when taller than the window.
- macOS app packaged as SolidCraft.
- Groundwork for T-spline bodies.
Fixes
- Sheet-metal holes next to two flanges.
- Unfolding after a parameter change.
- Sliver-face classification.
- Face counts with tangent holes.
- Projection of faces split by hidden seams.
- Loop blends on non-line seams.
- Unsupported anti-aliasing no longer stops startup.
Behaviour changes
- Saved designs now store the solved state of sketches.
- A value edit that would fold a sketch is refused with a message.
Known issues
- None from the reference suite (76/76 pass).
Thank you
Thanks to @jyviko, @pablopeza, @vitalibr, @palaniraja, @tbreckle, @jochenhammes, @NOWN-DEV, @Nathan-Dane and @jonaswre for fixes, features and regression tests in this release, and welcome to our new contributors.
Renamed to SolidCraft. Downloads, installers and programs now carry the SolidCraft name:
the desktop app is solidcraft, the command line solidcraft-cli. solvecraft-cli is still
installed as a deprecated alias that forwards to solidcraft-cli (it prints a one-line note on
stderr), so scripts and MCP setups such as claude mcp add solvecraft -- solvecraft-cli mcp
keep working; new setups use claude mcp add solidcraft -- solidcraft-cli mcp. Existing designs
open as before. Upgrades: the .msi upgrades an earlier install in place (it now installs to
Program Files\SolidCraft); the solidcraft .deb/.rpm replaces the old solvecraft
package; the Flatpak app ID ai.storyteller.solvecraft is unchanged, so Flatpak updates
continue; earlier AppImages still find updates.
Which file?
- Windows:
SolidCraft-0.5.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 dragSolidCraft.apponto Applications.
The CLI is insolidcraft-cli-0.5.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 solidcraft-0.5.0-freebsd-x86_64.tar.gz --strip-components 1 -C /usr/local. - Web:
solidcraft-web-0.5.0.zipis a static site to host yourself. SHA256SUMS.txt:sha256sum -c SHA256SUMS.txt --ignore-missing.
Updating macOS from SolveCraft.app: quit the app, rename the existing app in
Applications to SolidCraft.app, then drag the new app from the DMG onto Applications
and choose Replace. If both names are already installed, move the old SolveCraft.app
to the Trash. Remove any Dock shortcut with the old name and pin the new app. Designs
and settings are unchanged. The DMG includes these instructions.
For Flatpak feed installation and updates, add Flathub for the required runtime before
installing SolidCraft; keep both remotes in the same user installation:
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --user --if-not-exists solidcraft https://bherbruck.github.io/solidcraft/flatpak/solidcraft.flatpakrepo
flatpak install --user solidcraft ai.storyteller.solvecraft
flatpak run ai.storyteller.solvecraftSingle-file .flatpak bundles include the runtime repository address; missing runtimes
still need an internet connection. Linux installation details.
The builds aren't signed yet. On macOS, right-click SolidCraft.app in Applications and choose
Open the first time (or run xattr -dr com.apple.quarantine /Applications/SolidCraft.app).
On Windows, SmartScreen may say "Windows protected your PC": More info, then Run anyway.
Licences are built in (Help ▸ About ▸ Licences, solidcraft-cli licences); the packages also
install THIRD-PARTY-LICENSES.txt. Known limitations:
ROADMAP.md.
What's Changed
- Loop blends: accept straight wall seams that are not lines by @pablopeza in #335
- Release docs: refresh Cargo.lock with cargo update --workspace --offline by @bherbruck in #348
- feat(sketch): live drag that keeps its solution, ended by sketch.drag_end by @jyviko in #341
- feat(sketch): constructive solving ahead of the numeric solver by @jyviko in #339
- T-spline core library and sheet bodies (#250, step 1) by @jyviko in #337
- openscad navigation by @palaniraja in #211
- Graphics: an anti-aliasing the device can't do no longer stops SolidCraft from starting by @tbreckle in #329
- Keep a zoomed-in profile's hover fill: count the slabs each edge crosses by @vitalibr in #336
- 3D mouse on Linux (hidraw) and devices that report all six axes in report 1 by @jochenhammes in #343
- XZ plane: regression tests for the +Y orientation and the format 6 migration (#78) by @bherbruck in #353
- fix: unfold sheets shrunk by a parameter change by @NOWN-DEV in #349
- Pick a horizontal or vertical dimension from where its text is placed by @vitalibr in #345
- Sheet metal: cut a hole beside two adjacent edge flanges (#296) by @bherbruck in #355
- Project: faces split by hidden seams project whole by @pablopeza in #352
- CI: shard tests across 4 runners; heavy tests on main and nightly by @bherbruck in #350
- Face counts: no phantom sphere/freeform faces after a blind cut inside a cylinder (#308) by @bherbruck in #357
- fix(macos): ship SolidCraft.app with matching bundle metadata by @Nathan-Dane in #354
- Toolbar drop-downs scroll when taller than the window by @pablopeza in #360
- Place a dimension that would over-constrain the sketch as a driven one by @vitalibr in #366
- fix(kernel): fillets that end in faces at an angle or across two faces by @jyviko in #362
- fix(doc): a pattern repeats a fillet on the edges it found, not its picks by @jyviko in #363
- Tangent hole contacts split no faces, consistently (#307) by @bherbruck in #364
- Version 0.5.0 by @bherbruck in #376
- test: failing regression test for #368 (ignored until fixed): One extrude cutting many circles from one sketch still scales super-linearly by @jonaswre in #377
- test: failing regression test for #370 (ignored until fixed): A stored fold fails on recompute when a parameter change moves its fixed point off the sheet by @jonaswre in #378
- test: failing regression test for #372 (ignored until fixed): Raising a pattern's count after renaming a copy gives the new copy the freed name by @jonaswre in #380
- test: failing regression test for #371 (ignored until fixed): sheet.fold still accepts a fixed point far above the sheet by @jonaswre in #379
- test: failing regression test for #373 (ignored until fixed): A profile added after a named multi-profile extrude gets a generic BodyN name by @jonaswre in #381
- test: failing regression test for #374 (ignored until fixed): A feature reply doesn't say which bodies the feature created by @jonaswre in #382
- fix: number a profile added after a named multi-profile extrude after body_name (#373) by @jonaswre in #385
- Release under the SolidCraft name: binaries, assets and installers by @bherbruck in #383
New Contributors
- @palaniraja made their first contribution in #211
- @jochenhammes made their first contribution in #343
- @NOWN-DEV made their first contribution in #349
- @...
SolidCraft v0.4.0
SolidCraft 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).
Highlights since v0.3.2
This is a minor release: it adds new capabilities and includes one breaking change for older scripts (see below).
- More reliable edits: exact face history for persistent naming, so features that reference faces keep following the right ones after upstream changes.
- Faster STEP import on desktop: independent bodies are prepared in parallel.
- Mesh → solid conversion.
- Toolbar: drag commands to pin them, drop-down menus open on hover, and a new Customize Toolbar dialog.
- Preferences opens at a fixed size.
- Alias navigation preset (Shift+Alt with left, middle or right mouse button).
- Korean and Japanese translations.
- Units typed in fields: enter values such as
10 mm. - Edit Text dialog.
- Construction planes: Offset Plane from a face; planes along 3D paths.
- Many bug fixes, many of them from contributors.
Breaking changes
- Legacy command ids from older scripts are no longer accepted. Use the current dotted ids;
solvecraft-cli commandslists them.
Known issues
- #296: cutting a hole in a sheet-metal base next to two adjacent edge flanges fails.
Thank you
Thanks to everyone who reported issues, wrote regression tests and sent fixes for this release, including @0xlillith, @jonaswre, @jyviko, @lucas-aguilar89, @vitalibr, @tbreckle, @noosxe, @ich777, @essorblood, @pablopeza, @crono2250, @NAXLAB and @Mithril-3d, and welcome to our new contributors.
Compatibility names are unchanged: existing .solvecraft designs, solvecraft-cli, package
IDs and archive filenames still work. Published 0.2.0 and 0.2.1 releases keep their original
SolveCraft branding. Documentation, the browser app and the Flatpak feed use the new
SolidCraft project Pages URLs; old-name Pages addresses are not permanent aliases.
Which file?
- Windows:
SolveCraft-0.4.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 dragSolveCraft.apponto Applications.
The CLI is insolvecraft-cli-0.4.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.4.0-freebsd-x86_64.tar.gz --strip-components 1 -C /usr/local. - Web:
solvecraft-web-0.4.0.zipis a static site to host yourself. SHA256SUMS.txt:sha256sum -c SHA256SUMS.txt --ignore-missing.
For Flatpak feed installation and updates, add Flathub for the required runtime before
installing SolidCraft; keep both remotes in the same user installation:
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --user --if-not-exists solvecraft https://bherbruck.github.io/solidcraft/flatpak/solvecraft.flatpakrepo
flatpak install --user solvecraft ai.storyteller.solvecraft
flatpak run ai.storyteller.solvecraftSingle-file .flatpak bundles include the runtime repository address; missing runtimes
still need an internet connection. Linux installation details.
The builds aren't signed yet. On macOS, right-click SolveCraft.app 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.
What's Changed
- feat: add German (de) UI localization by @ich777 in #222
- Fix SpaceMouse axis mapping and apply 3DxWare settings by @crono2250 in #207
- Reject degenerate intersection polylines before endpoint access by @0xlillith in #244
- Apply Curvature, Polygon and Fix to complete sketch preselection by @0xlillith in #243
- Make dialog header chevrons collapse and restore forms by @0xlillith in #227
- Keep drawing after a repeated initial sketch point by @0xlillith in #252
- Reject invalid explicit axis origins instead of silently using zero by @0xlillith in #248
- Apply Project to preselected geometry with source sketch identity by @0xlillith in #224
- build: macOS support for the Nix flake by @noosxe in #210
- Offset Plane from a planar body face (#167) by @lucas-aguilar89 in #208
- Pattern and Mirror dialogs copy picked bodies, fillets included (#193) by @lucas-aguilar89 in #214
- Cover imported STEP colours through edits and round trips by @0xlillith in #245
- Reconstruct supported mechanical meshes as parametric solids by @0xlillith in #256
- feat: add web CJK font loading and robust cross-platform font detection by @Mithril-3d in #169
- test: failing regression test for #269: MCP list_commands filter also matches parameter docs by @jonaswre in #284
- test: failing regression test for #270: solvecraft-cli mcp --connect without a listening app gives no hint by @jonaswre in #285
- test: failing regression test for #271: Command docs omit parameters that work: sheet.flange body_name, solid.loft targets by @jonaswre in #286
- Preferences: fixed size, buttons flush right, recognisable gear icon (#290) by @bherbruck in #297
- Honor design units in sketch dimensions and measurements by @0xlillith in #241
- Edit sketch text content and placement from its outlines by @0xlillith in #253
- test: failing regression test for #262: sheet.fold: bend zone reaching the blank outline is reported as a slanted or curved edge by @jonaswre in #277
- Publishing through pull requests by @bherbruck in #309
- Fillets along a straight edge between two cylinders: trim curved cap edges to the contacts by @pablopeza in #238
- Appease X11 users with niri/wayland specific postfixup wrapper by @NAXLAB in #212
- Toolbar: drag commands from drop-downs onto the toolbar; pin icon; Customize Toolbar… by @bherbruck in #295
- Alias navigation preset uses Shift+Alt with LMB/MMB/RMB (Fixes #304) by @bherbruck in #306
- Report successful Boolean retries in the timeline and robustness runs by @0xlillith in #249
- Public reference tests: analytic and FreeCAD expected values by @bherbruck in #310
- Reduce repeated analytic source preparation during extrusions by @0xlillith in #273
- test: failing regression test for #263: sheet.fold accepts a fixed point that is not on the sheet by @jonaswre in #278
- test: failing regression test for #265: Renaming a pattern copy renumbers the remaining copies by @jonaswre in #280
- Reject ambiguous origin and construction plane names by @0xlillith in #247
- Add Korean translation by @essorblood in #234
- test: failing regression test for #268: Panic from truck-topology lib.rs:186 when joining struts that end on a bore wall by @jonaswre in #283
- test: failing regression test for #261: Rectangular pattern of a hole cut scales super-linearly by @jonaswre in #276
- Retire legacy reference data and the external command catalog by @bherbruck in #302
- test: failing regression test for #264: Sheet metal: collinear tabs cannot be folded or flanged together by @jonaswre in #279
- test: failing regression test for #266: Multi-profile solid.extrude with body_name names only the first body by @jonaswre in #281
- Snap 3D bridge lines to points on other sketch planes by @0xlillith in #229
- Preferences open over the Home page by @tbreckle in #313
- Clip lines at the near plane so the ground grid stays visible at low ang...
SolidCraft v0.3.2
SolidCraft 0.3.2
This patch repairs Shell geometry on stepped bodies and removes repeated work during document loading and assembly selection.
- Shell on joined, stepped planar bodies no longer creates artificial horizontal face divisions across continuous walls. Real steps, authored face splits and painted boundaries remain protected. Saved projections from removed pieces retain their previous geometry and report the lost reference.
- Cold geometry rebuilding reuses exact surface-refinement evaluations and uses algebraic projection for straight segments. Three alternating Windows benchmark runs reduced geometry rebuild time by about 26% for a public enclosure and 22% for a local Pi assembly; these are rebuild timings, not complete desktop opening times.
- Selecting faces or edges in large assemblies keeps prepared world geometry and display meshes. Geometry edits, occurrence moves and authoring-context changes still invalidate that cache.
- Preferences → Navigation → Smooth wheel zoom can be disabled for immediate wheel and trackpad zoom, independently of view-change animations (#202).
English remains the default language. Existing design files, commands, settings and package IDs remain compatible. All targeted regressions and the combined quality gates passed before packaging. Platform installation instructions follow below.
SolidCraft 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).
Compatibility names are unchanged: existing .solvecraft designs, solvecraft-cli, package
IDs and archive filenames still work. Published 0.2.0 and 0.2.1 releases keep their original
SolveCraft branding. Documentation, the browser app and the Flatpak feed use the new
SolidCraft project Pages URLs; old-name Pages addresses are not permanent aliases.
Which file?
- Windows:
SolveCraft-0.3.2-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 dragSolveCraft.apponto Applications.
The CLI is insolvecraft-cli-0.3.2-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.3.2-freebsd-x86_64.tar.gz --strip-components 1 -C /usr/local. - Web:
solvecraft-web-0.3.2.zipis a static site to host yourself. SHA256SUMS.txt:sha256sum -c SHA256SUMS.txt --ignore-missing.
For Flatpak feed installation and updates, add Flathub for the required runtime before
installing SolidCraft; keep both remotes in the same user installation:
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --user --if-not-exists solvecraft https://bherbruck.github.io/solidcraft/flatpak/solvecraft.flatpakrepo
flatpak install --user solvecraft ai.storyteller.solvecraft
flatpak run ai.storyteller.solvecraftSingle-file .flatpak bundles include the runtime repository address; missing runtimes
still need an internet connection. Linux installation details.
The builds aren't signed yet. On macOS, right-click SolveCraft.app 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.
What's Changed
- feat(ui): allow disabling wheel zoom smoothing by @0xlillith in #202
Full Changelog: v0.3.1...v0.3.2
SolidCraft v0.3.2-nightly.20261012.19.1 (nightly)
SolidCraft 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).
Compatibility names are unchanged: existing .solvecraft designs, solvecraft-cli, package
IDs and archive filenames still work. Published 0.2.0 and 0.2.1 releases keep their original
SolveCraft branding. Documentation, the browser app and the Flatpak feed use the new
SolidCraft project Pages URLs; old-name Pages addresses are not permanent aliases.
Which file?
- Windows:
SolveCraft-0.3.2-nightly.20261012.19.1-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 dragSolveCraft.apponto Applications.
The CLI is insolvecraft-cli-0.3.2-nightly.20261012.19.1-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.3.2-nightly.20261012.19.1-freebsd-x86_64.tar.gz --strip-components 1 -C /usr/local. - Web:
solvecraft-web-0.3.2-nightly.20261012.19.1.zipis a static site to host yourself. SHA256SUMS.txt:sha256sum -c SHA256SUMS.txt --ignore-missing.
For Flatpak feed installation and updates, add Flathub for the required runtime before
installing SolidCraft; keep both remotes in the same user installation:
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --user --if-not-exists solvecraft https://bherbruck.github.io/solidcraft/flatpak/solvecraft.flatpakrepo
flatpak install --user solvecraft ai.storyteller.solvecraft
flatpak run ai.storyteller.solvecraftSingle-file .flatpak bundles include the runtime repository address; missing runtimes
still need an internet connection. Linux installation details.
The builds aren't signed yet. On macOS, right-click SolveCraft.app 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.
Full Changelog: v0.3.2...v0.3.2-nightly.20261012.19.1
SolidCraft v0.3.1
SolidCraft 0.3.1
This patch fixes Linux launch and installation problems, Windows app icons, and keyboard interaction in parameter editors.
- OpenGL now renders at 1x anti-aliasing instead of presenting a black window when 4x is saved. Vulkan, DirectX and other backends retain the requested sample count; saved preferences are preserved.
- The Nix package includes a desktop launcher, MIME data, generated icons, explicit flake apps and a
solidcraftcommand alias. Its wrapper includes the Vulkan loader and NixOS graphics-driver search paths. See Nix installation and launch instructions. - Flatpak feed instructions register Flathub for the required runtime. Release checks now launch the actual desktop and model a solid on both Wayland and X11 with the default sandbox permissions.
- Running Windows windows and standalone executables use the app icon. Packaging rejects executables with missing or broken icon resources.
- Enter adds a valid parameter and focuses the next name. Invalid entries remain editable.
- Expression autocomplete supports Up/Down selection, Enter/Tab acceptance and Escape dismissal. Accepting a suggestion does not also submit a parameter; Shift+Tab keeps normal field navigation.
- Shift + middle-button orbit is free in the default and Inventor presets; Shift + right-drag retains view snapping (#197).
- Movable window title bars use the app's theme colours.
- Radial right-click menus are now opt-in under Preferences → Navigation → Radial context menu. Standard context menus remain available.
English remains the default language. Existing design files, command names, settings and package IDs remain compatible. Platform installation instructions follow below.
Downloads
Which file?
- Windows:
SolveCraft-0.3.1-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 dragSolveCraft.apponto Applications.
The CLI is insolvecraft-cli-0.3.1-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.3.1-freebsd-x86_64.tar.gz --strip-components 1 -C /usr/local. - Web:
solvecraft-web-0.3.1.zipis a static site to host yourself. SHA256SUMS.txt:sha256sum -c SHA256SUMS.txt --ignore-missing.
For Flatpak feed installation and updates, add Flathub for the required runtime before
installing SolidCraft; keep both remotes in the same user installation:
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --user --if-not-exists solvecraft https://bherbruck.github.io/solidcraft/flatpak/solvecraft.flatpakrepo
flatpak install --user solvecraft ai.storyteller.solvecraft
flatpak run ai.storyteller.solvecraftSingle-file .flatpak bundles include the runtime repository address; missing runtimes
still need an internet connection. Linux installation details.
The builds aren't signed yet. On macOS, right-click SolveCraft.app 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.
What's Changed
- docs: clarify SolidCraft clone and compatible build names by @0xlillith in #196
- fix(ui): restore free Shift-middle orbit by @0xlillith in #197
Full Changelog: v0.3.0...v0.3.1
SolidCraft v0.3.0
SolidCraft 0.3.0
SolidCraft 0.3.0 introduces the SolidCraft name and updated app/package icon, Windows SpaceMouse navigation, and improvements to sketch editing and access to design parameters. The minor version covers this capability and usability batch, including the move to new public website URLs.
Changes
- SolidCraft branding and website: the app, repository and documentation use the SolidCraft name. Documentation is at https://bherbruck.github.io/solidcraft/ and the browser app at https://bherbruck.github.io/solidcraft/app/. The Flatpak feed is under the same project path. Old-name Pages addresses are not maintained as permanent aliases.
- Windows SpaceMouse navigation: pan, zoom and orbit using a supported 3Dconnexion SpaceNavigator/SpaceMouse, with sensitivity settings. This support is Windows-specific.
- Sketch dimensions and constraints: dimensions preview before their placement click; constraint glyphs avoid dimension values; supported point constraints use preselected points; Horizontal/Vertical applies immediately to one selected line or two distinct selected points. Ambiguous selections continue through the pick tool.
- Construction geometry: a centerline can be switched directly to construction geometry.
- Command feedback: the toolbar highlights the active tool or dialog.
- Parameters access: Parameters and Configurations have distinct header actions, so editing expressions does not open the configuration table.
- Bug reporting: the header Report action opens a locally reviewed report and screenshot. Opening a GitHub draft does not submit the issue; the user reviews and submits it on GitHub.
- CLI reliability:
solvecraft-cli commandsexits normally when a downstream pipe reader closes, while intact output remains the same pretty JSON registry with a trailing newline. - Build requirements: workspace metadata and build guides now state Rust 1.95, matching the already-locked egui/eframe dependency requirement. This is a corrected declared dependency floor, not a claim that an exact Rust 1.95 end-to-end build was tested.
Compatibility and installation
Existing .solvecraft designs, solvecraft/13 format markers, command/protocol identifiers, binary/crate names, installed package IDs, preferences, graphics settings and recovery paths remain unchanged. The product rename does not introduce a new design format. Existing published 0.2.0 and 0.2.1 artifacts, checksums and tags remain immutable.
Release asset filenames retain compatibility names such as SolveCraft-0.3.0-windows-x64.exe, SolveCraft.app, solvecraft-cli archives and solvecraft-0.3.0-… packages. The visible product name is SolidCraft. Existing Flatpak installations using the former Pages feed address need their remote URL changed to the new /solidcraft/flatpak/repo/ address; the application ID remains ai.storyteller.solvecraft.
Known limitations
Packages are unsigned and macOS builds are not notarized; Windows SmartScreen and macOS quarantine warnings may appear. SpaceMouse support in this batch is Windows-only. Geometry and attachment limitations remain documented in ROADMAP.md; this release does not promise universal Boolean or face-attachment support.
Downloads
Which file?
- Windows:
SolveCraft-0.3.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 dragSolveCraft.apponto Applications.
The CLI is insolvecraft-cli-0.3.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.3.0-freebsd-x86_64.tar.gz --strip-components 1 -C /usr/local. - Web:
solvecraft-web-0.3.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.app 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.
What's Changed
- fix: apply Coincident, Midpoint and point Symmetry to preselection by @0xlillith in #180
- fix: preview sketch dimensions before the placement click by @0xlillith in #178
- fix(sketch): constraint glyphs move off dimension values by @tbreckle in #184
- feat: highlight active tool or dialog in toolbar by @Koschtetnix in #181
- fix(sketch): a centerline can be switched straight to construction by @tbreckle in #179
- App icon update by @NAXLAB in #192
- Add Windows 3Dconnexion SpaceNavigator navigation by @crono2250 in #189
- fix: apply Horizontal/Vertical to preselected sketch entities by @0xlillith in #159
- chore: align minimum Rust version with egui 0.36 by @0xlillith in #166
- fix: avoid panics when CLI command listing pipe closes by @0xlillith in #174
New Contributors
- @tbreckle made their first contribution in #184
- @Koschtetnix made their first contribution in #181
- @NAXLAB made their first contribution in #192
- @crono2250 made their first contribution in #189
Full Changelog: v0.2.1...v0.3.0
SolveCraft v0.2.1
This patch repairs common modelling workflows and feature dialog layout:
- Remove artificial thin wall strips created by Shell and extrusion cuts. Straight walls and rounded corners span their full height as physical faces, while authored face splits and face appearances remain protected. Permanent regressions cover material, reopening and unaffected bodies crossing the extrusion end plane.
- Opening feature dialogs or the command palette keeps Axis View and the navigation bar anchored to the viewport, including enlarged display scales. Covered controls remain protected against clicks through dialogs.
- Feature dialogs use available screen height, with OK and Cancel outside the scrolling fields.
- Sketch directly on eligible planar enclosure walls and shell floors after fillets, then cut a port and add mounting bosses. Attachments follow width and wall changes and survive reopening.
- Further fixes bound construction-plane traversal, sketch solving, control and file input, and STEP/IGES/3MF/DXF import work. Join merges all bodies the tool meets.
- CLI script result reporting now honors requested saves and exports and reports output failures. Coincident constraints between two distinct straight lines join their closest endpoints with deterministic pick-order ties.
- The README demo returns to the original enclosure workflow with an empty start, animated pointer, direct face sketches and comfortable framing.
Design files: older designs remain readable. Newly saved format 13 designs require SolveCraft 0.2.1 or later. Ambiguous or unsupported shell-face attachments still report an error rather than guessing a plane. References to a removed strip retain their saved projected geometry and report a lost reference; explicitly reselect the wall to repair that projection.
This is a patch release for repairs to the existing modelling workflow. Packages remain unsigned. The release assets include SHA256SUMS.txt; use it to verify your download.
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.1-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.1-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.1-freebsd-x86_64.tar.gz --strip-components 1 -C /usr/local. - Web:
solvecraft-web-0.2.1.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.
What's Changed
- Join merges every body the tool meets by @jyviko in #149
- docs: restore the enclosure demo with the 0.2.0 UI by @bherbruck in #157
- fix: continue the plane depth count through model geometry by @EmDecay in #151
- fix: budget the work 3MF and DXF import does, not only its output by @EmDecay in #152
- fix: hold the sketch caps at design load and bound the solver per component by @EmDecay in #153
- fix: bound four unbounded expansions in STEP and IGES import by @EmDecay in #154
- fix: cap control requests and refuse file reads that never end by @EmDecay in #155
- docs: explain browser saves and local downloads by @0xlillith in #160
- test: avoid wall-clock assertions in import budget regressions by @0xlillith in #161
- fix: honor --save and --out when CLI run uses --results by @0xlillith in #172
- fix: connect closest endpoints when Coincident picks two lines by @0xlillith in #176
New Contributors
Full Changelog: v0.2.0...v0.2.1
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