forgecad 0.9.13 → 0.9.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AdminPage-DramHHDf.js → AdminPage-eWGs2K6H.js} +1 -1
- package/dist/assets/{BenchmarkPage-Bjgkh5m9.js → BenchmarkPage-CTrLKfpo.js} +1 -1
- package/dist/assets/{BlogPage-n_HGP3Qm.js → BlogPage-5nPesyds.js} +1 -1
- package/dist/assets/{DocsPage-WCIkPmzC.js → DocsPage-C4Y3nbYc.js} +1 -1
- package/dist/assets/{EditorApp-CP9Za6tm.js → EditorApp-lXv53A1m.js} +9 -29
- package/dist/assets/{EmbedViewer-DEZKqdfW.js → EmbedViewer-C8fB4n5U.js} +2 -2
- package/dist/assets/{LandingPageProofDriven-CeRIctuj.js → LandingPageProofDriven-jSz0LaMM.js} +1 -1
- package/dist/assets/{PricingPage-rIRa8p4Y.js → PricingPage-B83B90zh.js} +1 -1
- package/dist/assets/{SettingsPage-BqCUvEXM.js → SettingsPage-DY889pcu.js} +1 -1
- package/dist/assets/{app-BUZqJvSO.js → app-bEww1ic4.js} +26 -28
- package/dist/assets/cli/{render-lhGxj50Y.js → render-Cho2uKG_.js} +88 -25
- package/dist/assets/{constructionHistoryWorker-ipD1jcIv.js → constructionHistoryWorker-HYwzJY4m.js} +1 -1
- package/dist/assets/{evalWorker-CHXSe_-u.js → evalWorker-CjQwJSE-.js} +3 -3
- package/dist/assets/{forgecad_geometry-BVnIeXMG.js → forgecad_geometry-CH2nvuLA.js} +1 -1
- package/dist/assets/forgecad_geometry_bg-C5_E9Oa9.wasm +0 -0
- package/dist/assets/{manifold-D1LZIHqn.js → manifold-CG9Fokx-.js} +1 -1
- package/dist/assets/{manifold-BTkzxi9V.js → manifold-rmfAcdwF.js} +1 -1
- package/dist/assets/{manifold-C2fwoTgd.js → manifold-uRzgk5O8.js} +2 -2
- package/dist/assets/{reportWorker-Cq1qGmg0.js → reportWorker-4cW_ZpoS.js} +3 -3
- package/dist/assets/{scalar-sampling-budget-D9Qv_UlJ.js → scalar-sampling-budget-CfDiFvh7.js} +12 -18
- package/dist/assets/{solver-BZ9LPTHs.js → solver-DuJAO8S6.js} +1 -1
- package/dist/assets/solver_bg-CWvv4lnN.wasm +0 -0
- package/dist/assets/{renderSceneState-Dr0xPq1A.js → targets-D6PWsv6X.js} +27 -1
- package/dist/cli/render.html +1 -1
- package/dist/docs/index.html +2 -2
- package/dist/docs-raw/AI/usage.md +6 -5
- package/dist/docs-raw/CLI.md +41 -11
- package/dist/docs-raw/generated/concepts.md +3 -3
- package/dist/docs-raw/generated/viewport.md +3 -3
- package/dist/docs-raw/harbor-cli.md +854 -0
- package/dist/docs-raw/rl-environments.md +100 -258
- package/dist/docs-raw/skills/forgecad-3d-reconstruction.md +2 -2
- package/dist/docs-raw/skills/forgecad-make-a-model.md +3 -3
- package/dist/docs-raw/skills/forgecad-reconstruction-benchmark.md +3 -3
- package/dist/index.html +1 -1
- package/dist/sitemap.xml +7 -7
- package/dist-cli/{check-compiler-LOXCPEOI.js → check-compiler-U5SOPN7X.js} +2 -2
- package/dist-cli/{check-query-propagation-BAKNVWXR.js → check-query-propagation-XOKNSSYU.js} +2 -2
- package/dist-cli/{chunk-RY43WF46.js → chunk-EXWGNL6K.js} +342 -2
- package/dist-cli/{chunk-RY43WF46.js.map → chunk-EXWGNL6K.js.map} +1 -1
- package/dist-cli/forgecad.js +733 -352
- package/dist-cli/forgecad.js.map +1 -1
- package/dist-cli/forgecad_geometry_bg.wasm +0 -0
- package/dist-cli/solver_bg.wasm +0 -0
- package/dist-skill/CONTEXT.md +3 -3
- package/dist-skill/docs/CLI.md +41 -11
- package/dist-skill/docs/generated/viewport.md +3 -3
- package/dist-skill/docs-dev/CLI.md +41 -11
- package/dist-skill/docs-dev/generated/viewport.md +3 -3
- package/dist-skill/library/forgecad-3d-reconstruction/SKILL.md +2 -2
- package/dist-skill/library/forgecad-make-a-model/SKILL.md +3 -3
- package/dist-skill/library/forgecad-reconstruction-benchmark/SKILL.md +3 -3
- package/package.json +1 -6
- package/dist/assets/forgecad_geometry_bg-DufhhCBV.wasm +0 -0
- package/dist/assets/solver_bg-DAHZJ_rw.wasm +0 -0
- /package/dist-cli/{check-compiler-LOXCPEOI.js.map → check-compiler-U5SOPN7X.js.map} +0 -0
- /package/dist-cli/{check-query-propagation-BAKNVWXR.js.map → check-query-propagation-XOKNSSYU.js.map} +0 -0
|
Binary file
|
package/dist-cli/solver_bg.wasm
CHANGED
|
Binary file
|
package/dist-skill/CONTEXT.md
CHANGED
|
@@ -9189,13 +9189,13 @@ Overloads:
|
|
|
9189
9189
|
- `offset?: number` — Optional offset along the plane normal (primarily for object-form overload).
|
|
9190
9190
|
- `exclude?: CutPlaneExcludeInput` — Object names to keep uncut for this plane.
|
|
9191
9191
|
|
|
9192
|
-
#### `mock()` — Register a mock (context) object for visualization and
|
|
9192
|
+
#### `mock()` — Register a mock (context) object for visualization and inspection.
|
|
9193
9193
|
|
|
9194
|
-
Mock objects appear in the viewport and
|
|
9194
|
+
Mock objects appear in the viewport and inspection analysis when you run a file directly, but are excluded when the file is imported via [`require()`](/docs/core#require). This lets you model the surrounding context — walls, bolts, mating parts — without polluting the module's exports.
|
|
9195
9195
|
|
|
9196
9196
|
The shape is returned unchanged, so you can reference it for alignment, dimensioning, and `verify` checks.
|
|
9197
9197
|
|
|
9198
|
-
Mock objects participate in `forgecad
|
|
9198
|
+
Mock objects participate in focused inspection commands such as `forgecad inspect fit interference` and `forgecad inspect physical gaps`. Their names appear with a `(mock)` suffix in reports.
|
|
9199
9199
|
|
|
9200
9200
|
In the viewport, mock objects render at reduced opacity so they are visually distinct from real geometry.
|
|
9201
9201
|
|
package/dist-skill/docs/CLI.md
CHANGED
|
@@ -32,7 +32,7 @@ forgecad project push
|
|
|
32
32
|
forgecad project open
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
Local modeling, inspection, export, and skill-install commands do not require a ForgeCAD account. Hosted project sync, publishing, token management, and license activation require sign-in. Run `forgecad login` and choose email/password or API token when prompted. Use `FORGECAD_TOKEN=fc_pat_... forgecad <hosted-command>` only for CI/CD and one-off automation. `forgecad studio` always requires an explicit project path; use `.` for the current project.
|
|
36
36
|
|
|
37
37
|
You can also start from the hosted starter project with `forgecad project clone start-here`, then `cd start-here` and `forgecad studio .`.
|
|
38
38
|
|
|
@@ -66,13 +66,13 @@ Execute scripts and produce images headless — no browser window. Renders use C
|
|
|
66
66
|
|
|
67
67
|
### `forgecad run`
|
|
68
68
|
|
|
69
|
-
Execute a Forge script quickly and print the inner-loop build summary:
|
|
69
|
+
Execute a Forge script quickly and print the inner-loop build summary: build count, verification results, parameters, and timing.
|
|
70
70
|
|
|
71
|
-
The fast validation command. Runs your script with the real geometry kernel (no browser needed) and reports whether it built,
|
|
71
|
+
The fast validation command. Runs your script with the real geometry kernel (no browser needed) and reports whether it built, how many objects came back, any `verify.*` results, parameter values, script logs, and elapsed script time. This is the command agents should run frequently while editing a model.
|
|
72
72
|
|
|
73
|
-
**Fast by default** — a bare `forgecad run model.forge.js` does not compute per-object volumes, bounding boxes, construction history, feature tallies,
|
|
73
|
+
**Fast by default** — a bare `forgecad run model.forge.js` does not compute per-object volumes, bounding boxes, construction history, feature tallies, or solver profiles. Those run diagnostics are useful, but they are no longer part of the hot path.
|
|
74
74
|
|
|
75
|
-
**Opt-in diagnostics** — use `--details` for volume/bounding-box/object geometry summaries, `--history` for the construction tree, `--features` for feature tallies, or `--solver-profile` for constraint solver timing. Use
|
|
75
|
+
**Opt-in diagnostics** — use `--details` for volume/bounding-box/object geometry summaries, `--history` for the construction tree, `--features` for feature tallies, or `--solver-profile` for constraint solver timing. Use `inspect fit interference`, `inspect physical gaps`, or `inspect mechanical-integrity --collisions` for spatial and collision evidence.
|
|
76
76
|
|
|
77
77
|
**Verification results** — runs any `verify.*` checks in the script and reports pass/fail with expected vs actual values. Verification failures remain non-fatal so the model can still render and be inspected.
|
|
78
78
|
|
|
@@ -90,7 +90,6 @@ forgecad run examples/api/static-assembly-connectors.forge.js --focus
|
|
|
90
90
|
forgecad run examples/api/static-assembly-connectors.forge.js --focus "Bench.Slat*"
|
|
91
91
|
forgecad run examples/api/static-assembly-connectors.forge.js --hide "Bench.Slat0,Bench.Slat1"
|
|
92
92
|
forgecad run examples/api/static-assembly-connectors.forge.js --details --history
|
|
93
|
-
forgecad run examples/api/static-assembly-connectors.forge.js --spatial bounded
|
|
94
93
|
forgecad run examples/products/cup.forge.js --connectivity
|
|
95
94
|
forgecad run examples/products/cup.forge.js --journeys
|
|
96
95
|
forgecad run examples/products/cup.forge.js --backend occt
|
|
@@ -100,14 +99,45 @@ forgecad run examples/products/cup.forge.js -p "Wall Thickness=3" -p "Body Heigh
|
|
|
100
99
|
forgecad run examples/constraints/06-complex-spectrogram.forge.js --solver-debug-out tmp/spectrogram-debug
|
|
101
100
|
```
|
|
102
101
|
|
|
102
|
+
### `forgecad ls`
|
|
103
|
+
|
|
104
|
+
List targetable scene objects for a model.
|
|
105
|
+
|
|
106
|
+
Runs the model headlessly and prints the exact object paths that CLI tools can target. Use this before focused renders or inspections when object names, groups, or assembly paths are not obvious.
|
|
107
|
+
|
|
108
|
+
The default output is a compact line-oriented list. Use `--tree` for an indented hierarchy, `--long` for geometry metrics, or `--json` for automation.
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
forgecad ls examples/api/static-assembly-connectors.forge.js
|
|
112
|
+
forgecad ls examples/api/static-assembly-connectors.forge.js --tree
|
|
113
|
+
forgecad ls examples/api/static-assembly-connectors.forge.js Bench
|
|
114
|
+
forgecad ls examples/api/static-assembly-connectors.forge.js "Bench/Slat0" --long
|
|
115
|
+
forgecad ls examples/api/static-assembly-connectors.forge.js --json
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### `forgecad show`
|
|
119
|
+
|
|
120
|
+
Render a quick target-focused viewport PNG.
|
|
121
|
+
|
|
122
|
+
The main quick visual path for agents. Pass a model and, optionally, a target path from `forgecad ls`; ForgeCAD resolves the target and renders that object or group through the existing viewport renderer. Use `--from` for fast camera directions, or pass the lower-level render camera flags when you need exact reproducibility.
|
|
123
|
+
|
|
124
|
+
Without a target, `show` renders the whole scene and behaves like a shorter, intent-first wrapper around `render 3d`.
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
forgecad show examples/api/static-assembly-connectors.forge.js
|
|
128
|
+
forgecad show examples/api/static-assembly-connectors.forge.js Bench
|
|
129
|
+
forgecad show examples/api/static-assembly-connectors.forge.js "Bench/Slat0" --from front --out slat-front.png
|
|
130
|
+
forgecad show model.forge.js --camera "proj=perspective;pos=200,-160,120;target=0,0,20;up=0,0,1;fov=38"
|
|
131
|
+
```
|
|
132
|
+
|
|
103
133
|
### Object Filtering: `--focus` and `--hide`
|
|
104
134
|
|
|
105
|
-
Several CLI commands can filter the visible object set without changing model code: `
|
|
135
|
+
Several CLI commands can filter the visible object set without changing model code: `render 3d`, `render wireframe`, `inspect <family> <mode>`, `capture`, and `check print`.
|
|
106
136
|
|
|
107
|
-
Use `forgecad
|
|
137
|
+
Use `forgecad ls model.forge.js` to list exact object paths quickly, then pass those names or globs to `--focus` or `--hide` on render and inspection commands.
|
|
108
138
|
|
|
109
139
|
```bash
|
|
110
|
-
forgecad
|
|
140
|
+
forgecad ls examples/api/static-assembly-connectors.forge.js --tree
|
|
111
141
|
forgecad render 3d examples/api/static-assembly-connectors.forge.js bench.png --focus "Bench.*"
|
|
112
142
|
forgecad render 3d examples/api/static-assembly-connectors.forge.js slats.png --focus "Bench.Slat*"
|
|
113
143
|
forgecad inspect fit interference examples/api/static-assembly-connectors.forge.js --focus "Bench.*"
|
|
@@ -327,7 +357,7 @@ forgecad render section examples/furniture/01-table.forge.js out/bold.svg --edge
|
|
|
327
357
|
| `--render-mode <solid\|wireframe>` | Shaded solid (default) or wireframe only |
|
|
328
358
|
| `--edges <off\|thin\|bold>` | Edge overlay preset in solid mode (default: off) |
|
|
329
359
|
| `--render-style <classic\|studio\|fast\|glass\|inspection\|precision\|hybrid\|scan>` | Visual render style (render default: classic; inspect default: inspection) |
|
|
330
|
-
| `--scan-granularity <12-
|
|
360
|
+
| `--scan-granularity <12-144>` | Scan cells across the scene longest axis |
|
|
331
361
|
| `--port <n>` | Vite dev server port |
|
|
332
362
|
| `--fresh-server` | Start a fresh renderer instead of reusing an existing one |
|
|
333
363
|
| `--chrome-path <path>` | Chrome or Chromium executable path |
|
|
@@ -641,7 +671,7 @@ The CLI is free for personal non-commercial use. Pro covers human-operated comme
|
|
|
641
671
|
| `run`, `dev`, `studio`, `render 3d`, `export stl`, `export 3mf`, `export svg`, `compare 3d`, `check print`, `inspect fit interference`, `inspect mechanical-integrity` for personal non-commercial use | `cut-list`, `export sketch-pdf`, `export step`, `export brep`, `export gcode`, `export sdf`, `export urdf`, `export report`, `export cutting-layout` are free to run for personal non-commercial use; Pro covers human-operated commercial CAD work | `render hq`, `capture gif`, `capture mp4` plus commercial coverage for client/customer work | Backend, hosted, embedded, or application workflows that call ForgeCAD automatically |
|
|
642
672
|
|
|
643
673
|
```bash
|
|
644
|
-
forgecad license # Check
|
|
674
|
+
forgecad license # Check local license status
|
|
645
675
|
forgecad license activate # Activate Pro for the signed-in account
|
|
646
676
|
forgecad license deactivate # Remove license
|
|
647
677
|
```
|
|
@@ -384,13 +384,13 @@ Overloads:
|
|
|
384
384
|
- `offset?: number` — Optional offset along the plane normal (primarily for object-form overload).
|
|
385
385
|
- `exclude?: CutPlaneExcludeInput` — Object names to keep uncut for this plane.
|
|
386
386
|
|
|
387
|
-
#### `mock()` — Register a mock (context) object for visualization and
|
|
387
|
+
#### `mock()` — Register a mock (context) object for visualization and inspection.
|
|
388
388
|
|
|
389
|
-
Mock objects appear in the viewport and
|
|
389
|
+
Mock objects appear in the viewport and inspection analysis when you run a file directly, but are excluded when the file is imported via [`require()`](/docs/core#require). This lets you model the surrounding context — walls, bolts, mating parts — without polluting the module's exports.
|
|
390
390
|
|
|
391
391
|
The shape is returned unchanged, so you can reference it for alignment, dimensioning, and `verify` checks.
|
|
392
392
|
|
|
393
|
-
Mock objects participate in `forgecad
|
|
393
|
+
Mock objects participate in focused inspection commands such as `forgecad inspect fit interference` and `forgecad inspect physical gaps`. Their names appear with a `(mock)` suffix in reports.
|
|
394
394
|
|
|
395
395
|
In the viewport, mock objects render at reduced opacity so they are visually distinct from real geometry.
|
|
396
396
|
|
|
@@ -32,7 +32,7 @@ forgecad project push
|
|
|
32
32
|
forgecad project open
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
Local modeling, inspection, export, and skill-install commands do not require a ForgeCAD account. Hosted project sync, publishing, token management, and license activation require sign-in. Run `forgecad login` and choose email/password or API token when prompted. Use `FORGECAD_TOKEN=fc_pat_... forgecad <hosted-command>` only for CI/CD and one-off automation. `forgecad studio` always requires an explicit project path; use `.` for the current project.
|
|
36
36
|
|
|
37
37
|
You can also start from the hosted starter project with `forgecad project clone start-here`, then `cd start-here` and `forgecad studio .`.
|
|
38
38
|
|
|
@@ -66,13 +66,13 @@ Execute scripts and produce images headless — no browser window. Renders use C
|
|
|
66
66
|
|
|
67
67
|
### `forgecad run`
|
|
68
68
|
|
|
69
|
-
Execute a Forge script quickly and print the inner-loop build summary:
|
|
69
|
+
Execute a Forge script quickly and print the inner-loop build summary: build count, verification results, parameters, and timing.
|
|
70
70
|
|
|
71
|
-
The fast validation command. Runs your script with the real geometry kernel (no browser needed) and reports whether it built,
|
|
71
|
+
The fast validation command. Runs your script with the real geometry kernel (no browser needed) and reports whether it built, how many objects came back, any `verify.*` results, parameter values, script logs, and elapsed script time. This is the command agents should run frequently while editing a model.
|
|
72
72
|
|
|
73
|
-
**Fast by default** — a bare `forgecad run model.forge.js` does not compute per-object volumes, bounding boxes, construction history, feature tallies,
|
|
73
|
+
**Fast by default** — a bare `forgecad run model.forge.js` does not compute per-object volumes, bounding boxes, construction history, feature tallies, or solver profiles. Those run diagnostics are useful, but they are no longer part of the hot path.
|
|
74
74
|
|
|
75
|
-
**Opt-in diagnostics** — use `--details` for volume/bounding-box/object geometry summaries, `--history` for the construction tree, `--features` for feature tallies, or `--solver-profile` for constraint solver timing. Use
|
|
75
|
+
**Opt-in diagnostics** — use `--details` for volume/bounding-box/object geometry summaries, `--history` for the construction tree, `--features` for feature tallies, or `--solver-profile` for constraint solver timing. Use `inspect fit interference`, `inspect physical gaps`, or `inspect mechanical-integrity --collisions` for spatial and collision evidence.
|
|
76
76
|
|
|
77
77
|
**Verification results** — runs any `verify.*` checks in the script and reports pass/fail with expected vs actual values. Verification failures remain non-fatal so the model can still render and be inspected.
|
|
78
78
|
|
|
@@ -90,7 +90,6 @@ forgecad run examples/api/static-assembly-connectors.forge.js --focus
|
|
|
90
90
|
forgecad run examples/api/static-assembly-connectors.forge.js --focus "Bench.Slat*"
|
|
91
91
|
forgecad run examples/api/static-assembly-connectors.forge.js --hide "Bench.Slat0,Bench.Slat1"
|
|
92
92
|
forgecad run examples/api/static-assembly-connectors.forge.js --details --history
|
|
93
|
-
forgecad run examples/api/static-assembly-connectors.forge.js --spatial bounded
|
|
94
93
|
forgecad run examples/products/cup.forge.js --connectivity
|
|
95
94
|
forgecad run examples/products/cup.forge.js --journeys
|
|
96
95
|
forgecad run examples/products/cup.forge.js --backend occt
|
|
@@ -100,14 +99,45 @@ forgecad run examples/products/cup.forge.js -p "Wall Thickness=3" -p "Body Heigh
|
|
|
100
99
|
forgecad run examples/constraints/06-complex-spectrogram.forge.js --solver-debug-out tmp/spectrogram-debug
|
|
101
100
|
```
|
|
102
101
|
|
|
102
|
+
### `forgecad ls`
|
|
103
|
+
|
|
104
|
+
List targetable scene objects for a model.
|
|
105
|
+
|
|
106
|
+
Runs the model headlessly and prints the exact object paths that CLI tools can target. Use this before focused renders or inspections when object names, groups, or assembly paths are not obvious.
|
|
107
|
+
|
|
108
|
+
The default output is a compact line-oriented list. Use `--tree` for an indented hierarchy, `--long` for geometry metrics, or `--json` for automation.
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
forgecad ls examples/api/static-assembly-connectors.forge.js
|
|
112
|
+
forgecad ls examples/api/static-assembly-connectors.forge.js --tree
|
|
113
|
+
forgecad ls examples/api/static-assembly-connectors.forge.js Bench
|
|
114
|
+
forgecad ls examples/api/static-assembly-connectors.forge.js "Bench/Slat0" --long
|
|
115
|
+
forgecad ls examples/api/static-assembly-connectors.forge.js --json
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### `forgecad show`
|
|
119
|
+
|
|
120
|
+
Render a quick target-focused viewport PNG.
|
|
121
|
+
|
|
122
|
+
The main quick visual path for agents. Pass a model and, optionally, a target path from `forgecad ls`; ForgeCAD resolves the target and renders that object or group through the existing viewport renderer. Use `--from` for fast camera directions, or pass the lower-level render camera flags when you need exact reproducibility.
|
|
123
|
+
|
|
124
|
+
Without a target, `show` renders the whole scene and behaves like a shorter, intent-first wrapper around `render 3d`.
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
forgecad show examples/api/static-assembly-connectors.forge.js
|
|
128
|
+
forgecad show examples/api/static-assembly-connectors.forge.js Bench
|
|
129
|
+
forgecad show examples/api/static-assembly-connectors.forge.js "Bench/Slat0" --from front --out slat-front.png
|
|
130
|
+
forgecad show model.forge.js --camera "proj=perspective;pos=200,-160,120;target=0,0,20;up=0,0,1;fov=38"
|
|
131
|
+
```
|
|
132
|
+
|
|
103
133
|
### Object Filtering: `--focus` and `--hide`
|
|
104
134
|
|
|
105
|
-
Several CLI commands can filter the visible object set without changing model code: `
|
|
135
|
+
Several CLI commands can filter the visible object set without changing model code: `render 3d`, `render wireframe`, `inspect <family> <mode>`, `capture`, and `check print`.
|
|
106
136
|
|
|
107
|
-
Use `forgecad
|
|
137
|
+
Use `forgecad ls model.forge.js` to list exact object paths quickly, then pass those names or globs to `--focus` or `--hide` on render and inspection commands.
|
|
108
138
|
|
|
109
139
|
```bash
|
|
110
|
-
forgecad
|
|
140
|
+
forgecad ls examples/api/static-assembly-connectors.forge.js --tree
|
|
111
141
|
forgecad render 3d examples/api/static-assembly-connectors.forge.js bench.png --focus "Bench.*"
|
|
112
142
|
forgecad render 3d examples/api/static-assembly-connectors.forge.js slats.png --focus "Bench.Slat*"
|
|
113
143
|
forgecad inspect fit interference examples/api/static-assembly-connectors.forge.js --focus "Bench.*"
|
|
@@ -327,7 +357,7 @@ forgecad render section examples/furniture/01-table.forge.js out/bold.svg --edge
|
|
|
327
357
|
| `--render-mode <solid\|wireframe>` | Shaded solid (default) or wireframe only |
|
|
328
358
|
| `--edges <off\|thin\|bold>` | Edge overlay preset in solid mode (default: off) |
|
|
329
359
|
| `--render-style <classic\|studio\|fast\|glass\|inspection\|precision\|hybrid\|scan>` | Visual render style (render default: classic; inspect default: inspection) |
|
|
330
|
-
| `--scan-granularity <12-
|
|
360
|
+
| `--scan-granularity <12-144>` | Scan cells across the scene longest axis |
|
|
331
361
|
| `--port <n>` | Vite dev server port |
|
|
332
362
|
| `--fresh-server` | Start a fresh renderer instead of reusing an existing one |
|
|
333
363
|
| `--chrome-path <path>` | Chrome or Chromium executable path |
|
|
@@ -641,7 +671,7 @@ The CLI is free for personal non-commercial use. Pro covers human-operated comme
|
|
|
641
671
|
| `run`, `dev`, `studio`, `render 3d`, `export stl`, `export 3mf`, `export svg`, `compare 3d`, `check print`, `inspect fit interference`, `inspect mechanical-integrity` for personal non-commercial use | `cut-list`, `export sketch-pdf`, `export step`, `export brep`, `export gcode`, `export sdf`, `export urdf`, `export report`, `export cutting-layout` are free to run for personal non-commercial use; Pro covers human-operated commercial CAD work | `render hq`, `capture gif`, `capture mp4` plus commercial coverage for client/customer work | Backend, hosted, embedded, or application workflows that call ForgeCAD automatically |
|
|
642
672
|
|
|
643
673
|
```bash
|
|
644
|
-
forgecad license # Check
|
|
674
|
+
forgecad license # Check local license status
|
|
645
675
|
forgecad license activate # Activate Pro for the signed-in account
|
|
646
676
|
forgecad license deactivate # Remove license
|
|
647
677
|
```
|
|
@@ -384,13 +384,13 @@ Overloads:
|
|
|
384
384
|
- `offset?: number` — Optional offset along the plane normal (primarily for object-form overload).
|
|
385
385
|
- `exclude?: CutPlaneExcludeInput` — Object names to keep uncut for this plane.
|
|
386
386
|
|
|
387
|
-
#### `mock()` — Register a mock (context) object for visualization and
|
|
387
|
+
#### `mock()` — Register a mock (context) object for visualization and inspection.
|
|
388
388
|
|
|
389
|
-
Mock objects appear in the viewport and
|
|
389
|
+
Mock objects appear in the viewport and inspection analysis when you run a file directly, but are excluded when the file is imported via [`require()`](/docs/core#require). This lets you model the surrounding context — walls, bolts, mating parts — without polluting the module's exports.
|
|
390
390
|
|
|
391
391
|
The shape is returned unchanged, so you can reference it for alignment, dimensioning, and `verify` checks.
|
|
392
392
|
|
|
393
|
-
Mock objects participate in `forgecad
|
|
393
|
+
Mock objects participate in focused inspection commands such as `forgecad inspect fit interference` and `forgecad inspect physical gaps`. Their names appear with a `(mock)` suffix in reports.
|
|
394
394
|
|
|
395
395
|
In the viewport, mock objects render at reduced opacity so they are visually distinct from real geometry.
|
|
396
396
|
|
|
@@ -31,13 +31,13 @@ Do not solve reconstruction by returning `importMesh("reference.stl")` or `impor
|
|
|
31
31
|
No wrapper script is needed. Use the local checkout CLI:
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
|
-
node dist-cli/forgecad.js
|
|
34
|
+
node dist-cli/forgecad.js ls path/to/source.stl --quality live --long
|
|
35
35
|
node dist-cli/forgecad.js render 3d path/to/source.stl /tmp/<slug>-source.png --camera iso --edges thin --size 900
|
|
36
36
|
node dist-cli/forgecad.js inspect visual objects path/to/source.stl /tmp/<slug>-source-objects --camera iso --size 700 --force
|
|
37
37
|
node dist-cli/forgecad.js inspect sections sample path/to/source.stl /tmp/<slug>-source-sections --count 5 --size 700 --force
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
For 3MF sources, `run
|
|
40
|
+
For 3MF sources, `forgecad run` prints the source archive's build
|
|
41
41
|
items/resource objects with stable refs such as
|
|
42
42
|
`3mf:build:001:object:2`, automatic names, per-item bounding boxes, and
|
|
43
43
|
triangle counts. Use that item table to avoid missing hidden multi-part
|
|
@@ -60,7 +60,7 @@ Use today's date for the directory. Use the user's current ForgeCAD project when
|
|
|
60
60
|
- Return the final geometry (single shape, array, or named objects array)
|
|
61
61
|
- Treat `fillet(shape, r)` and `chamfer(shape, r)` as experimental edge treatments: Manifold can produce incorrect results and OCCT can be very slow. Prefer simpler primitive profiles, lower segment counts, targeted edge selectors, and inspection before relying on the result.
|
|
62
62
|
4. Validate — run `forgecad run <file>` to check for errors. For multi-file projects, always validate `main.forge.js`.
|
|
63
|
-
5. Verify geometry — render a multi-angle visual evidence set before final delivery: whole-model context plus agent-chosen orthographic, oblique, underside, or hidden-object views that expose the relevant components and interfaces. Choose camera directions from the model's shape and likely failure modes, not from a fixed recipe. Use those views to look for internals that are accidentally visible, parts that visibly do not fit, floating details, blocked access, missing seats, and unexpected interference. Run `forgecad
|
|
63
|
+
5. Verify geometry — render a multi-angle visual evidence set before final delivery: whole-model context plus agent-chosen orthographic, oblique, underside, or hidden-object views that expose the relevant components and interfaces. Choose camera directions from the model's shape and likely failure modes, not from a fixed recipe. Use those views to look for internals that are accidentally visible, parts that visibly do not fit, floating details, blocked access, missing seats, and unexpected interference. Run `forgecad inspect physical components` when the model has multiple returned objects or visible attachments, run `forgecad debug assembly --fail-on warning` when the script uses `assembly()`, run `forgecad inspect mechanical-integrity <project-or-file> --collisions` before sharing generated mechanical work, and run the targeted `forgecad inspect <family> <mode>` commands that match the task (see Final Acceptance Gate and Render-Verify Loop below). For multi-file projects, render and inspect `main.forge.js`. Collision findings are model work, not FYI: remove unexpected overlaps before delivery.
|
|
64
64
|
6. Iterate from visual and inspection feedback — treat every render and inspection bundle as model evidence, not a checkbox. Read the normal PNGs, manifest, and evidence PNGs; convert each unexpected collision, thin region, missing section detail, wrong component count, floating body, distance gap, confusing object-color result, accidentally exposed internal structure, bad fit, or visually unsupported interface into a concrete model edit; then rerun the same targeted evidence pass until the result matches the intended physical component graph.
|
|
65
65
|
|
|
66
66
|
## Manufacturing Process Is Not Assumed
|
|
@@ -183,7 +183,7 @@ Before telling the user the model is done, prove both technical validity and vis
|
|
|
183
183
|
1. State the intended physical component graph. Decide whether the final artifact should be one connected component, several intentionally separate components, or a selected assembly plus named ghosts. Then run:
|
|
184
184
|
|
|
185
185
|
```bash
|
|
186
|
-
forgecad
|
|
186
|
+
forgecad inspect physical components model.forge.js --camera iso
|
|
187
187
|
```
|
|
188
188
|
|
|
189
189
|
The reported component count must match the design intent. Treat unexpected islands, accidental fusion, or bbox-only "touching" that does not make physical sense as model bugs.
|
|
@@ -292,7 +292,7 @@ For important components, collect both:
|
|
|
292
292
|
- Context view — neighbors present, proving the part belongs in the final assembly.
|
|
293
293
|
- Focus view — only the relevant objects visible, making small gaps, intersections, missing seats, and floating parts easy to see.
|
|
294
294
|
|
|
295
|
-
Prefer CLI `--focus` / `--hide` filters, named views, or parameter-selected diagnostic modes over changing production geometry. Use the object
|
|
295
|
+
Prefer CLI `--focus` / `--hide` filters, named views, or parameter-selected diagnostic modes over changing production geometry. Use the object paths from `node dist-cli/forgecad.js ls model.forge.js --tree` when you are unsure what the filters should target.
|
|
296
296
|
|
|
297
297
|
### Structured inspection bundles
|
|
298
298
|
|
|
@@ -72,13 +72,13 @@ ForgeCAD commands.
|
|
|
72
72
|
inference.
|
|
73
73
|
|
|
74
74
|
```bash
|
|
75
|
-
./bin/forgecad
|
|
75
|
+
./bin/forgecad ls task/reference/<asset> --quality live --long
|
|
76
76
|
./bin/forgecad render 3d task/reference/<asset> outputs/reference.png --camera iso --edges thin --size 900
|
|
77
77
|
./bin/forgecad inspect sections sample task/reference/<asset> outputs/reference-sections --count 5 --size 700
|
|
78
78
|
./bin/forgecad inspect section task/reference/<asset> --plane yz --offset 0 --ray width:-50,0:50,0 --size 700
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
-
For 3MF references, the `run
|
|
81
|
+
For 3MF references, the `forgecad run` output includes a source structure
|
|
82
82
|
table with stable `3mf:build:...:object:...` refs, automatic item names,
|
|
83
83
|
per-item bounding boxes, and triangle counts. Treat that table as part of
|
|
84
84
|
the evidence: the final model may be one part or many parts, but you should
|
|
@@ -88,7 +88,7 @@ ForgeCAD commands.
|
|
|
88
88
|
unique probe directory with `result.json`; later you can replay that probe
|
|
89
89
|
against the candidate with `./bin/forgecad inspect replay <result.json>
|
|
90
90
|
--source submission/main.forge.js`.
|
|
91
|
-
For 3MF references, the `run
|
|
91
|
+
For 3MF references, the `forgecad run` output includes a source structure
|
|
92
92
|
table with stable `3mf:build:...:object:...` refs, automatic item names,
|
|
93
93
|
per-item bounding boxes, and triangle counts. Treat that table as part of
|
|
94
94
|
the evidence: the final model may be one part or many parts, but you should
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "forgecad",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.14",
|
|
4
4
|
"description": "Code-first parametric CAD for JavaScript/TypeScript, in the browser and CLI.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"homepage": "https://forgecad.io",
|
|
@@ -137,11 +137,6 @@
|
|
|
137
137
|
"build:skill:forgecad": "node scripts/build-forgecad-skill.mjs",
|
|
138
138
|
"sync:public-skills": "node scripts/sync-public-skills.mjs",
|
|
139
139
|
"build:docs": "node scripts/build-docs-site.mjs",
|
|
140
|
-
"harbor:reconstruction:refresh": "node scripts/refresh-reconstruction-dataset.mjs",
|
|
141
|
-
"harbor:reconstruction:check": "node scripts/refresh-reconstruction-dataset.mjs --check",
|
|
142
|
-
"harbor:reconstruction:smoke": "uvx --from harbor harbor run -p ai-labs/reconstruction/tasks --include-task-name ball-bearing --agent nop --n-concurrent 1 --jobs-dir \"$HOME/Projects/CAD/ForgeCAD-RL-Agent-Runs/harbor/smoke\" --force-build",
|
|
143
|
-
"harbor:reconstruction:pack-local": "node scripts/pack-reconstruction-local-package.mjs",
|
|
144
|
-
"harbor:reconstruction:clean-local": "node scripts/pack-reconstruction-local-package.mjs --clean",
|
|
145
140
|
"benchmark:reconstruction": "node scripts/forgecad-internal.mjs benchmark reconstruction",
|
|
146
141
|
"benchmark:reconstruction:list": "node scripts/forgecad-internal.mjs benchmark reconstruction list-tasks",
|
|
147
142
|
"benchmark:reconstruction:import-harbor": "node scripts/forgecad-internal.mjs benchmark reconstruction import-harbor",
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|