Release 0.8.0 (#648)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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:
|
[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)).
|
`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
|
**Why 0.8:** this is a minor bump because the design file format moved to version 16, and
|
||||||
on cylinder caps and sheet metal panels need new references), and because it adds new features.
|
because it adds many new features.
|
||||||
|
|
||||||
**What's new**
|
**What's new**
|
||||||
- **Sketching on stacked extrudes works again.** Creating a sketch on the top face of an extrude
|
- **Face actions work on far more faces.** Sketches, offset planes and press-pull now attach to
|
||||||
stacked on another failed with "operation failed" since 0.3
|
Cut, Hole and chamfer faces, each pattern or mirror copy, side walls a Join merged and the
|
||||||
([#489](https://github.com/bherbruck/solidcraft/issues/489)). It's fixed, and every flat face
|
pieces a later feature split a face into
|
||||||
of the test models is now checked for this on every change.
|
([#625](https://github.com/bherbruck/solidcraft/pull/625)), to moved or pasted components
|
||||||
- **Select Other:** hold or right-click to pick something hidden under something else; click
|
([#610](https://github.com/bherbruck/solidcraft/pull/610)) and beside long thin holes
|
||||||
again to cycle through what's underneath.
|
([#629](https://github.com/bherbruck/solidcraft/pull/629)). Across the test models, flat-face
|
||||||
- **Tabs are named after their file** instead of "Untitled".
|
actions pass 70% of the time, up from 61% (sketch 52% → 71%, offset plane 52% → 71%,
|
||||||
- **Modelling:** a flange angle and height per edge, Patch fills non-planar loops, sketches on
|
press-pull 41% → 60%).
|
||||||
cylinder caps and on sheet metal faces, and a feature rename updates everything that refers to
|
- **Fillet and chamfer** handle a single edge whose ends meet curved or slanted faces, and blend
|
||||||
it.
|
smooth chains of edges ([#646](https://github.com/bherbruck/solidcraft/pull/646)): 83% → 93%
|
||||||
- **Fixes:** revolve with edges on the axis, shell and fillet with small rounds, Join keeps face
|
of edges.
|
||||||
attachments, and STEP export writes each lump of a body as its own solid.
|
- **New:** user-defined physical materials stored in the design, linked components (insert
|
||||||
- **Navigation and UI:** orbiting from empty space turns around the visible geometry, Ctrl+drag
|
another design), saved body visibility, named views through `view.apply`, sketch text fonts,
|
||||||
orbits in every preset, toolbar drops land across labels and gaps, Combine previews before OK,
|
corner reliefs, flanges on flanges, edge flanges that trim the base along their edge, grouped
|
||||||
and sketch constraints accept the sketch's own x / y axes.
|
sketch tools, Home thumbnails, and an improved Select Other list.
|
||||||
- Opening a design reads its metadata and preview through a bounded, seekable reader; the docs
|
- **Fixes:** filleting beside a modeled thread no longer freezes the app, a loft standing on a
|
||||||
and web app have link preview cards.
|
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
|
**File format 16.** Designs are now format 16 (`solidcraft/16`). SolidCraft 0.7 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
|
open designs saved by 0.8, 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.
|
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**
|
**Known limitations**
|
||||||
- Some faces still need the fixed-plane fallback for sketches: side faces Join merged from two
|
- Some faces still can't take an attached sketch: after Revolve, Offset Face or Boss
|
||||||
extrudes ([#491](https://github.com/bherbruck/solidcraft/issues/491)), faces split by a later
|
([#494](https://github.com/bherbruck/solidcraft/issues/494)), sheet metal thickness faces
|
||||||
feature ([#492](https://github.com/bherbruck/solidcraft/issues/492)), Cut walls and chamfer
|
([#495](https://github.com/bherbruck/solidcraft/issues/495)), Loft, Sweep and Coil faces
|
||||||
faces ([#493](https://github.com/bherbruck/solidcraft/issues/493)), faces after Revolve,
|
([#561](https://github.com/bherbruck/solidcraft/issues/561)), faces after a Draft or a tapered
|
||||||
Offset Face or Boss ([#494](https://github.com/bherbruck/solidcraft/issues/494)) and sheet
|
Extrude ([#563](https://github.com/bherbruck/solidcraft/issues/563)) and a Shell's rim
|
||||||
metal thickness faces ([#495](https://github.com/bherbruck/solidcraft/issues/495)).
|
([#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
|
- 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
|
([#500](https://github.com/bherbruck/solidcraft/issues/500)); an edge flange with different
|
||||||
per-edge angles leaves gaps at the corners
|
per-edge angles leaves gaps at the corners
|
||||||
|
|||||||
Generated
+13
-13
@@ -3281,7 +3281,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solidcraft"
|
name = "solidcraft"
|
||||||
version = "0.7.0"
|
version = "0.8.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"eframe",
|
"eframe",
|
||||||
"egui",
|
"egui",
|
||||||
@@ -3298,7 +3298,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solidcraft-cli"
|
name = "solidcraft-cli"
|
||||||
version = "0.7.0"
|
version = "0.8.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"solidcraft-engine",
|
"solidcraft-engine",
|
||||||
@@ -3307,7 +3307,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solidcraft-doc"
|
name = "solidcraft-doc"
|
||||||
version = "0.7.0"
|
version = "0.8.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -3322,7 +3322,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solidcraft-engine"
|
name = "solidcraft-engine"
|
||||||
version = "0.7.0"
|
version = "0.8.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -3338,7 +3338,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solidcraft-geom"
|
name = "solidcraft-geom"
|
||||||
version = "0.7.0"
|
version = "0.8.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
@@ -3347,7 +3347,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solidcraft-io"
|
name = "solidcraft-io"
|
||||||
version = "0.7.0"
|
version = "0.8.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"quick-xml",
|
"quick-xml",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -3362,7 +3362,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solidcraft-kernel"
|
name = "solidcraft-kernel"
|
||||||
version = "0.7.0"
|
version = "0.8.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -3378,7 +3378,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solidcraft-mcp"
|
name = "solidcraft-mcp"
|
||||||
version = "0.7.0"
|
version = "0.8.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"solidcraft-engine",
|
"solidcraft-engine",
|
||||||
@@ -3386,7 +3386,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solidcraft-render"
|
name = "solidcraft-render"
|
||||||
version = "0.7.0"
|
version = "0.8.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"image",
|
"image",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -3396,7 +3396,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solidcraft-sketch"
|
name = "solidcraft-sketch"
|
||||||
version = "0.7.0"
|
version = "0.8.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
@@ -3407,7 +3407,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solidcraft-ui-egui"
|
name = "solidcraft-ui-egui"
|
||||||
version = "0.7.0"
|
version = "0.8.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"egui",
|
"egui",
|
||||||
"egui-wgpu",
|
"egui-wgpu",
|
||||||
@@ -3422,7 +3422,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solidcraft-web"
|
name = "solidcraft-web"
|
||||||
version = "0.7.0"
|
version = "0.8.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"eframe",
|
"eframe",
|
||||||
"egui",
|
"egui",
|
||||||
@@ -4845,7 +4845,7 @@ checksum = "e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "xtask"
|
name = "xtask"
|
||||||
version = "0.7.0"
|
version = "0.8.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde_json",
|
"serde_json",
|
||||||
]
|
]
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ members = ["crates/*", "apps/*", "xtask"]
|
|||||||
exclude = ["vendor"]
|
exclude = ["vendor"]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.7.0"
|
version = "0.8.0"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
rust-version = "1.95"
|
rust-version = "1.95"
|
||||||
|
|||||||
Reference in new issue
Block a user