Release 0.8.0 (#648)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
29258767ce
commit
f5ae72057d
3 files changed
+65
-42
No files matched your search
+51
-28
@@ -5,39 +5,62 @@ parameter to watch the timeline rebuild. [Documentation](https://bherbruck.githu
|
||||
[issues](https://github.com/bherbruck/solidcraft/issues). AI agents can model with it over MCP:
|
||||
`solidcraft-cli mcp` ([how](https://bherbruck.github.io/solidcraft/guide/mcp.html)).
|
||||
|
||||
**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.
|
||||
**Why 0.8:** this is a minor bump because the design file format moved to version 16, and
|
||||
because it adds many 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](https://github.com/bherbruck/solidcraft/issues/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.
|
||||
- **Face actions work on far more faces.** Sketches, offset planes and press-pull now attach to
|
||||
Cut, Hole and chamfer faces, each pattern or mirror copy, side walls a Join merged and the
|
||||
pieces a later feature split a face into
|
||||
([#625](https://github.com/bherbruck/solidcraft/pull/625)), to moved or pasted components
|
||||
([#610](https://github.com/bherbruck/solidcraft/pull/610)) and beside long thin holes
|
||||
([#629](https://github.com/bherbruck/solidcraft/pull/629)). Across the test models, flat-face
|
||||
actions pass 70% of the time, up from 61% (sketch 52% → 71%, offset plane 52% → 71%,
|
||||
press-pull 41% → 60%).
|
||||
- **Fillet and chamfer** handle a single edge whose ends meet curved or slanted faces, and blend
|
||||
smooth chains of edges ([#646](https://github.com/bherbruck/solidcraft/pull/646)): 83% → 93%
|
||||
of edges.
|
||||
- **New:** user-defined physical materials stored in the design, linked components (insert
|
||||
another design), saved body visibility, named views through `view.apply`, sketch text fonts,
|
||||
corner reliefs, flanges on flanges, edge flanges that trim the base along their edge, grouped
|
||||
sketch tools, Home thumbnails, and an improved Select Other list.
|
||||
- **Fixes:** filleting beside a modeled thread no longer freezes the app, a loft standing on a
|
||||
face fuses with it, and many sheet metal, hole and sketch fixes.
|
||||
- **Booleans are checked.** A Boolean retry that would change the part away from the tool is now
|
||||
refused instead of returning wrong geometry, which fixes stray cuts
|
||||
([#616](https://github.com/bherbruck/solidcraft/issues/616)). MCP feature replies include
|
||||
warnings.
|
||||
- **Opening a design** keeps the window draggable, shows progress, and can be cancelled with
|
||||
Cancel or Esc.
|
||||
- **Under the hood:** compact MCP replies, a kernel-neutral native B-rep format, and an opt-in
|
||||
preview from the native cache while a design rebuilds.
|
||||
- **Quality:** every ordinary action is run on every face, edge, vertex and body of the test
|
||||
models; CI blocks regressions and the full matrix runs nightly.
|
||||
- **Security:** private vulnerability reporting is on; see
|
||||
[SECURITY.md](https://github.com/bherbruck/solidcraft/blob/main/SECURITY.md).
|
||||
|
||||
**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.
|
||||
**File format 16.** Designs are now format 16 (`solidcraft/16`). SolidCraft 0.7 and older can't
|
||||
open designs saved by 0.8, as a container or as JSON; keep a copy of a file you may still open
|
||||
in 0.7. Files from every earlier version still open in 0.8.
|
||||
|
||||
**Linux app ID.** The Linux app ID is now `ai.storyteller.solidcraft` (it was
|
||||
`ai.storyteller.solvecraft`). Flatpak users from the SolidCraft feed: `flatpak update` reports
|
||||
the old app as end-of-life and asks to replace it; say yes, and your settings come along. The
|
||||
`.deb`, `.rpm` and AppImage remove the old menu entry on upgrade or first launch.
|
||||
|
||||
**Known limitations**
|
||||
- Some faces still need the fixed-plane fallback for sketches: side faces Join merged from two
|
||||
extrudes ([#491](https://github.com/bherbruck/solidcraft/issues/491)), faces split by a later
|
||||
feature ([#492](https://github.com/bherbruck/solidcraft/issues/492)), Cut walls and chamfer
|
||||
faces ([#493](https://github.com/bherbruck/solidcraft/issues/493)), faces after Revolve,
|
||||
Offset Face or Boss ([#494](https://github.com/bherbruck/solidcraft/issues/494)) and sheet
|
||||
metal thickness faces ([#495](https://github.com/bherbruck/solidcraft/issues/495)).
|
||||
- Some faces still can't take an attached sketch: after Revolve, Offset Face or Boss
|
||||
([#494](https://github.com/bherbruck/solidcraft/issues/494)), sheet metal thickness faces
|
||||
([#495](https://github.com/bherbruck/solidcraft/issues/495)), Loft, Sweep and Coil faces
|
||||
([#561](https://github.com/bherbruck/solidcraft/issues/561)), faces after a Draft or a tapered
|
||||
Extrude ([#563](https://github.com/bherbruck/solidcraft/issues/563)) and a Shell's rim
|
||||
([#564](https://github.com/bherbruck/solidcraft/issues/564)).
|
||||
- A Hole on a sheet metal face is refused
|
||||
([#560](https://github.com/bherbruck/solidcraft/issues/560)); some through-all holes along a
|
||||
wall or beside curved faces still fail
|
||||
([#559](https://github.com/bherbruck/solidcraft/issues/559)).
|
||||
- Some fillets are still refused, such as along an outline of lines and arcs
|
||||
([#431](https://github.com/bherbruck/solidcraft/issues/431)).
|
||||
- Cutting a coaxial cylinder from a thin disc can lose a little volume
|
||||
([#500](https://github.com/bherbruck/solidcraft/issues/500)); an edge flange with different
|
||||
per-edge angles leaves gaps at the corners
|
||||
|
||||
Generated
+13
-13
@@ -3281,7 +3281,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"eframe",
|
||||
"egui",
|
||||
@@ -3298,7 +3298,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-cli"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"serde_json",
|
||||
"solidcraft-engine",
|
||||
@@ -3307,7 +3307,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-doc"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"log",
|
||||
"serde",
|
||||
@@ -3322,7 +3322,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-engine"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"log",
|
||||
"serde",
|
||||
@@ -3338,7 +3338,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-geom"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
@@ -3347,7 +3347,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-io"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"quick-xml",
|
||||
"serde",
|
||||
@@ -3362,7 +3362,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-kernel"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"log",
|
||||
"serde",
|
||||
@@ -3378,7 +3378,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-mcp"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"serde_json",
|
||||
"solidcraft-engine",
|
||||
@@ -3386,7 +3386,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-render"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"image",
|
||||
"serde",
|
||||
@@ -3396,7 +3396,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-sketch"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
@@ -3407,7 +3407,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-ui-egui"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"egui",
|
||||
"egui-wgpu",
|
||||
@@ -3422,7 +3422,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-web"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"eframe",
|
||||
"egui",
|
||||
@@ -4845,7 +4845,7 @@ checksum = "e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7"
|
||||
|
||||
[[package]]
|
||||
name = "xtask"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ members = ["crates/*", "apps/*", "xtask"]
|
||||
exclude = ["vendor"]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
edition = "2024"
|
||||
license = "MIT OR Apache-2.0"
|
||||
rust-version = "1.95"
|
||||
|
||||
Reference in new issue
Block a user