Rename displayed product to SolidCraft and add header bug reporting

This commit is contained in:
bherbruck committed 2026-10-11 16:16:48 -04:00
1 parent 1d3048062d
commit af536a7907
85 files changed
+442 -242

No files matched your search

+1 -1
View File
@@ -14,7 +14,7 @@
- [Plastic parts](guide/plastic.md)
- [Import and export](guide/files.md)
- [Keyboard shortcuts](guide/shortcuts.md)
- [Driving SolveCraft with an AI agent (MCP)](guide/mcp.md)
- [Driving SolidCraft with an AI agent (MCP)](guide/mcp.md)
# Developer guide
+2 -2
View File
@@ -1,6 +1,6 @@
# Architecture
SolveCraft is a Cargo workspace in layers. A crate only depends on crates in lower layers, and
SolidCraft is a Cargo workspace in layers. A crate only depends on crates in lower layers, and
`cargo xtask layers` fails the build otherwise.
{{#include ../../../../README.md:architecture}}
@@ -11,7 +11,7 @@ The web app, `apps/solvecraft-web`, is the desktop front end compiled to wasm wi
A few rules follow from the layering:
- **Only `crates/kernel` touches truck.** Everything above it sees SolveCraft's own types:
- **Only `crates/kernel` touches truck.** Everything above it sees SolidCraft's own types:
bodies, faces, edges, meshes and measures. See [The kernel boundary](kernel.md).
- **The document knows nothing about commands or the UI.** `crates/doc` holds the parameters,
the feature timeline and the component tree, and evaluates them into a model.
+3 -3
View File
@@ -1,9 +1,9 @@
# The kernel boundary and truck
`crates/kernel` is SolveCraft's B-rep kernel. It wraps
`crates/kernel` is SolidCraft's B-rep kernel. It wraps
[truck](https://github.com/ricosjp/truck) (Apache-2.0) for topology, NURBS geometry, booleans,
tessellation and STEP parsing, and it is the only crate allowed to use truck. Callers get
SolveCraft types (`Body`, face and edge indices, meshes, measures) and a
SolidCraft types (`Body`, face and edge indices, meshes, measures) and a
`KernelError` instead of truck types and panics.
## `guard`
@@ -20,7 +20,7 @@ A failing feature shows an error on the timeline; it never takes the app down.
## What is our own
truck has no fillets, chamfers, shells or face edits, so these are SolveCraft code in the
truck has no fillets, chamfers, shells or face edits, so these are SolidCraft code in the
kernel: constant, chord and variable-radius fillets with corner blends, chamfers, shell and
offset, Delete Face, Split Face, Replace Face, sewing, STEP and IGES reading and writing beyond
truck's parser, and face provenance (which input face each output face came from, for
+1 -1
View File
@@ -2,7 +2,7 @@
A fillet stores the edges it rounds, and a sketch stores the face it sits on. If those were face
and edge *indices*, an upstream edit that adds a face would move the fillet to the wrong edge.
SolveCraft stores **names** instead (`crates/doc/src/naming.rs`):
SolidCraft stores **names** instead (`crates/doc/src/naming.rs`):
- A face of an evaluated body is named after how it was made. A face lying on a face of the
feature's input keeps that face's name; a face new to the feature is named by its role:
+3 -3
View File
@@ -8,7 +8,7 @@ faded.
A component is placed by its **occurrences**. Paste creates another instance of the same
component, and **Paste New** creates an independent copy. Move an occurrence with the move
triad, then **Capture Position** to keep it or **Revert** to put it back. SolveCraft asks before
triad, then **Capture Position** to keep it or **Revert** to put it back. SolidCraft asks before
the next command if a move wasn't captured. **Ground** fixes an occurrence in place.
Paste New copies nested component definitions, sketches, feature histories and generated
@@ -16,7 +16,7 @@ dimension parameters. Repeated child instances remain shared within the new copy
appearances and wholly internal joints/motion records receive copied references. Design-wide
user parameters remain shared; retained external links and omitted cross-boundary motion
records are reported. Unsupported destructive links refuse the entire copy. See
[individual-instance and copy details](https://github.com/bherbruck/solvecraft/blob/main/docs/occurrence-workflows.md).
[individual-instance and copy details](https://github.com/bherbruck/solidcraft/blob/main/docs/occurrence-workflows.md).
**Joints** (`joint.create`, J) connect two components by joint origins that snap to faces, edges,
circles and vertices: rigid, revolute, slider, cylindrical, pin-slot, planar and ball, with
@@ -35,4 +35,4 @@ uses its first placement; `occurrence.properties` selects a specific instance. R
measures the complete assembly. Volumes are summed, including overlapping bodies, rather than
measuring their union. The same workflow is available through `component.properties` and
`occurrence.properties`; see
[placement and measurement details](https://github.com/bherbruck/solvecraft/blob/main/docs/assembly-properties.md).
[placement and measurement details](https://github.com/bherbruck/solidcraft/blob/main/docs/assembly-properties.md).
+7 -3
View File
@@ -1,13 +1,17 @@
# Getting started
SolidCraft keeps its compatibility names: the desktop executable is `solvecraft`, the CLI
is `solvecraft-cli`, and saved designs remain `.solvecraft`. Published 0.2.0 and 0.2.1 packages
were released under the SolveCraft name.
## Desktop
Download the latest build from the
[releases page](https://github.com/bherbruck/solvecraft/releases), or build it yourself with
[releases page](https://github.com/bherbruck/solidcraft/releases), or build it yourself with
stable Rust (1.90 or newer):
```sh
git clone https://github.com/bherbruck/solvecraft && cd solvecraft
git clone https://github.com/bherbruck/solidcraft && cd solidcraft
cargo run --release -p solvecraft -- --sample # opens with a sample part
```
@@ -17,7 +21,7 @@ cargo run --release -p solvecraft -- --sample # opens with a sample part
## Web
The same app runs in the browser: [open SolveCraft on the web](../app/) (`?sample` opens the sample
The same app runs in the browser: [open SolidCraft on the web](../app/) (`?sample` opens the sample
part, `?webgl` forces WebGL2 where WebGPU is missing). Designs are saved in the browser's private
file storage, which needs HTTPS or localhost. To build it yourself:
+1 -1
View File
@@ -22,4 +22,4 @@ suppressed features, physical materials and body appearances, switched with `con
The table's Library picker selects material or appearance values. Choose **Follow material**
to clear an appearance override. Custom looks retain their colour and opacity across
activation, undo and save/reopen. See
[configuration commands and examples](https://github.com/bherbruck/solvecraft/blob/main/docs/configurations.md).
[configuration commands and examples](https://github.com/bherbruck/solidcraft/blob/main/docs/configurations.md).
+1 -1
View File
@@ -85,7 +85,7 @@ fresh link once the source is available; their stored point values are preserved
including the origin, endpoints and circle centres. For two points, it chooses horizontal
or vertical alignment from their current positions. Esc cancels a pending first point.
The solver is SolveCraft's own (damped Gauss–Newton with degree-of-freedom analysis). Constraints:
The solver is SolidCraft's own (damped Gauss–Newton with degree-of-freedom analysis). Constraints:
coincident, horizontal/vertical, parallel, perpendicular, tangent, equal, concentric, collinear,
midpoint, symmetry, fix, curvature (G2) and polygon. **Sketch Dimension** (D) adds linear,
aligned, horizontal, vertical, radius, diameter and angle dimensions. Each is a parameter
+2 -2
View File
@@ -1,6 +1,6 @@
# A tour of the window
![The SolveCraft window](../generated/sample-plate.png)
![The SolidCraft window](../generated/sample-plate.png)
- **Title bar.** On Windows and Linux the application bar is the window's title bar: File, save,
undo and redo, the start page, the theme, Help, and one tab per open design (each with its own
@@ -16,7 +16,7 @@
wheel zooms at the cursor, the middle button pans and right-drag orbits freely (the mouse
preset in Preferences switches to SolidWorks or Inventor style). Hold Shift during an orbit
to snap to the nearest standard or diagonal view; the default Shift+middle gesture also snaps.
The axis view shows the world's X/Y/Z directions in SolveCraft's colors. Click a signed
The axis view shows the world's X/Y/Z directions in SolidCraft's colors. Click a signed
axis tip to look along that axis; click the aligned tip again to look from the opposite side.
Drag the axis view to orbit around the view centre, with Shift for snapping. Top and bottom
keep the nearest quarter-turn heading. The house and navigation bar's Home button go home.
+9 -7
View File
@@ -1,11 +1,11 @@
# SolveCraft
# SolidCraft
SolveCraft is an open-source parametric 3D CAD application written in pure Rust. It works the way
SolidCraft is an open-source parametric 3D CAD application written in pure Rust. It works the way
Fusion-style modellers do: sketch on a plane, constrain and dimension the sketch, turn profiles
into solids with features on a timeline, and change a parameter to watch the whole timeline
rebuild.
![The sample plate in SolveCraft](generated/sample-plate.png)
![The sample plate in SolidCraft](generated/sample-plate.png)
It runs as:
@@ -18,15 +18,17 @@ Everything the user can do is a *command* with JSON parameters. The toolbar, the
the CLI, the control channel and MCP all run the same commands, so anything you can click you can
also script, test or hand to an agent.
SolveCraft is early. Sketching, solid modelling, parameters, components with joints, sheet metal
SolidCraft is early. Sketching, solid modelling, parameters, components with joints, sheet metal
and a plastic-enclosure subset work; surfaces, drawings, CAM and simulation are deferred. The
[roadmap](https://github.com/bherbruck/solvecraft/blob/main/ROADMAP.md) has the details, and
[roadmap](https://github.com/bherbruck/solidcraft/blob/main/ROADMAP.md) has the details, and
[command parity](dev/parity.md) and the [Fusion oracle](dev/oracle.md) measure how far along it
is.
This book has two halves: the **user guide** for people modelling with SolveCraft, and the
Existing `.solvecraft` designs and `solvecraft-cli` commands keep their names and behavior.
This book has two halves: the **user guide** for people modelling with SolidCraft, and the
**developer guide** for people working on it. The [command reference](reference/commands.md) is
generated from the code on every build.
SolveCraft is licensed MIT OR Apache-2.0. It is a clean-room implementation and is not affiliated
SolidCraft is licensed MIT OR Apache-2.0. It is a clean-room implementation and is not affiliated
with Autodesk; Fusion is a trademark of Autodesk, Inc.