Skip to content

SolidCraft v0.5.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 20:26
6090e89

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.exe runs as is. Or install the .msi, or unzip the
    -portable.zip (x64, x86 and arm64).
  • macOS 11+ (Apple silicon and Intel): open the .dmg and drag SolidCraft.app onto Applications.
    The CLI is in solidcraft-cli-0.5.0-macos-universal.zip.
  • Linux (x86_64 and aarch64, glibc 2.35+): the .AppImage (chmod +x, then run it), the
    .deb or .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.zip is 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.solvecraft

Single-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

Full Changelog: v0.4.0...v0.5.0