github tangency-labs/solidcraft v0.20.0
SolidCraft v0.20.0

4 hours ago

Designs saved in 0.20.0 use format 31 and don't open in 0.19.0 or older.

SolidCraft is open-source parametric 3D CAD in Rust: sketch, constrain, extrude, and change a parameter to watch the timeline rebuild. Website · documentation · try it in the browser · Discord · issues.

Why 0.20.0: a minor release with a new File view and Preferences, much faster display of big assemblies, and a new design format for construction-axis references. Changes since 0.19.0.

New interface

  • File view: the home page is redesigned as the File view (#3822).
  • Preferences are redesigned with the shared UI components (#4608).

Faster big assemblies

  • Instancing and level of detail: repeated parts are drawn as instances, and far-away bodies with fewer triangles (#4903).
  • Order-independent transparency: see-through surfaces are no longer sorted triangle by triangle as the view turns. 25 see-through copies of a 2-million-triangle part went from about 10 s a frame to 2.8 ms with instancing and level of detail (#4903).
  • Picking uses each body's own search tree instead of a GPU pick buffer (#4666).
  • Meshes: imported meshes share their triangles between document copies (#4675), and a large mesh's shared vertices are welded quicker, before its first frame (#4680).
  • Frustum culling: placements of an instanced mesh that are out of view aren't drawn (#4647).
  • Hover: a face's highlight holds steady while the pointer moves across it (#4669).
  • Ribbon: each tab's panel lists are worked out once (#4659).

New

  • Construction axes can be the axis of a Circular Pattern or a Revolve (#3796).

Fixed

  • Sketch: leaving a sketch keeps the camera where it is (#4909); sketch fillet and chamfer refuse an offset's corners instead of leaving circles (#3860).
  • 3D mouse on Windows: SolidCraft no longer asks every USB HID device for its strings every 2 seconds when no 3D mouse is connected (#3653).
  • Joints: driving a joint moves the parts without evaluating them again (#3397).
  • Edit Offset Plane keeps a face base, and refuses a plane offset from itself (#3889).
  • IDs of deleted items aren't reused (#3641).
  • Assistant: agent detection finishes on the start page (#3265).
  • Translations: 95 dialog and preference labels that stayed in English in every language now reach the translation catalog (#2483).

Compatibility

0.20.0 writes design file format 31 (0.19.0 wrote 30) for construction-axis references. 0.20.0 opens every earlier design, but 0.19.0 and earlier refuse a design saved by 0.20.0.

Thanks

Thank you to everyone who contributed to this release: @AdamHickerson, @cfaulkingham, @Loohi, @Nathan-Dane, @oursland, @ralfkuh-lab, @raykholo, @SS-EN and @Tyler-Chiriboga.

Install

Upgrading from 0.7 or earlier. 0.8 changed the Linux app ID to ai.storyteller.solidcraft:
flatpak update offers to replace the old app, and the .deb, .rpm and AppImage remove the old
menu entry.

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.20.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.20.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>), the .snap
    (sudo snap install --dangerous <file>, or sudo snap install solidcraft from the Snap Store), or the .tar.gz.
  • FreeBSD: tar -xzf solidcraft-0.20.0-freebsd-x86_64.tar.gz --strip-components 1 -C /usr/local.
  • Web: solidcraft-web-0.20.0.zip is 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://docs.solidcraft.io/flatpak/solidcraft.flatpakrepo
flatpak install --user solidcraft ai.storyteller.solidcraft
flatpak run ai.storyteller.solidcraft

A remote added from the old bherbruck.github.io address no longer finds updates: run
flatpak remote-modify --user --url=https://docs.solidcraft.io/flatpak/repo/ solidcraft, then
flatpak update --user.

Flatpak installs from 0.7 or earlier use the old ID ai.storyteller.solvecraft: flatpak update --user
offers to replace it with ai.storyteller.solidcraft, and settings move along.

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.

Don't miss a new solidcraft release

NewReleases is sending notifications on new releases.