forgecad 0.9.16 → 0.10.1
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-CXvls4-J.js → AdminPage-DcCnj0qo.js} +1 -1
- package/dist/assets/{BenchmarkPage-B27zk8xL.js → BenchmarkPage-BVEpJSVk.js} +1 -1
- package/dist/assets/{BlogPage-CMAVvgQL.js → BlogPage-DHaGP50_.js} +1 -1
- package/dist/assets/{DocsPage-knf4I4h7.js → DocsPage-CDoxHkz8.js} +40 -859
- package/dist/assets/EditorApp-BJ0Dloyh.js +16446 -0
- package/dist/assets/{EmbedViewer-D7ZGlFjx.js → EmbedViewer-CRKZbY0y.js} +2 -2
- package/dist/assets/{LandingPageProofDriven-CnevhTE8.js → LandingPageProofDriven-BxHkYRE7.js} +1 -1
- package/dist/assets/{LegalPage-BPTUmqeg.js → LegalPage-B-u6FrVv.js} +1 -1
- package/dist/assets/{PricingPage-B0D4goG_.js → PricingPage-CzpZ6-Ce.js} +1 -1
- package/dist/assets/{SettingsPage-CFF-UgjI.js → SettingsPage-CIZSSAd0.js} +1 -1
- package/dist/assets/{app-CE3sYcV7.css → app-CjsbDlb7.css} +143 -0
- package/dist/assets/{app-T0pDcSX4.js → app-DaTMg3nH.js} +1310 -290
- package/dist/assets/cli/{render-C5pcIISc.js → render-DPf4AYJK.js} +55 -60
- package/dist/assets/{constructionHistoryWorker-Ba2Hm58b.js → constructionHistoryWorker-AwMMWSxg.js} +1103 -349
- package/dist/assets/{evalWorker-vkx310U2.js → evalWorker-CjZZWRWW.js} +5209 -2643
- package/dist/assets/{inspectWorker-BuTJDVX6.js → inspectWorker-CZsCFtQT.js} +1163 -409
- package/dist/assets/{jointPose-B_Cgedn9.js → jointPose-DzQOViQH.js} +1 -1
- package/dist/assets/{manifold-BWgsjmAM.js → manifold-BYlzU521.js} +1 -1
- package/dist/assets/{manifold-D6IFSkhH.js → manifold-DgXo0T5P.js} +2 -2
- package/dist/assets/{manifold-rZexZI0G.js → manifold-K1SkarlQ.js} +1 -1
- package/dist/assets/{reportWorker-0AGij1Ru.js → reportWorker-B9nWwSrB.js} +8501 -3393
- package/dist/assets/{scalar-sampling-budget-J5cuzxT1.js → scalar-sampling-budget-prBw_s8t.js} +6067 -3479
- package/dist/assets/{scanProxyWorker-Vl4Wxa1y.js → scanProxyWorker-2GtDLk-R.js} +1 -1
- package/dist/assets/{javascript-1kQXfVaz.js → typescript-DBQ6RN5l.js} +874 -22
- package/dist/cli/render.html +1 -1
- package/dist/docs/index.html +3 -3
- package/dist/docs-raw/AI/usage.md +1 -1
- package/dist/docs-raw/CLI.md +77 -240
- package/dist/docs-raw/README.md +6 -0
- package/dist/docs-raw/component-model.md +17 -150
- package/dist/docs-raw/generated/assembly.md +188 -582
- package/dist/docs-raw/generated/concepts.md +259 -3501
- package/dist/docs-raw/generated/core.md +283 -1250
- package/dist/docs-raw/generated/curves.md +387 -1608
- package/dist/docs-raw/generated/legacy.md +162 -0
- package/dist/docs-raw/generated/lib.md +227 -85
- package/dist/docs-raw/generated/output.md +35 -99
- package/dist/docs-raw/generated/runtime-names.md +23 -23
- package/dist/docs-raw/generated/sdf.md +68 -284
- package/dist/docs-raw/generated/sheet-metal.md +68 -335
- package/dist/docs-raw/generated/sketch.md +240 -1161
- package/dist/docs-raw/generated/viewport.md +75 -316
- package/dist/docs-raw/generated/wood.md +21 -49
- package/dist/docs-raw/guides/coordinate-system.md +4 -42
- package/dist/docs-raw/guides/inspection-bundles.md +44 -442
- package/dist/docs-raw/guides/joint-design.md +18 -79
- package/dist/docs-raw/guides/positioning.md +21 -143
- package/dist/docs-raw/guides/scene-presentation.md +89 -0
- package/dist/docs-raw/guides/simready-quickstart.md +171 -0
- package/dist/docs-raw/simulation-workflow.md +273 -0
- package/dist/docs-raw/skills/forgecad-3d-reconstruction.md +25 -111
- package/dist/docs-raw/skills/forgecad-blockout-model.md +20 -117
- package/dist/docs-raw/skills/forgecad-component-model.md +23 -107
- package/dist/docs-raw/skills/forgecad-high-level-spec.md +47 -155
- package/dist/docs-raw/skills/forgecad-image-replicator.md +26 -143
- package/dist/docs-raw/skills/forgecad-lld.md +19 -113
- package/dist/docs-raw/skills/forgecad-make-a-model.md +112 -532
- package/dist/docs-raw/skills/forgecad-model-grader.md +38 -108
- package/dist/docs-raw/skills/forgecad-prepare-prompt.md +24 -211
- package/dist/docs-raw/skills/forgecad-project.md +13 -131
- package/dist/docs-raw/skills/forgecad-reconstruction-benchmark.md +42 -134
- package/dist/docs-raw/skills/forgecad-render-inspect.md +27 -174
- package/dist/docs-raw/skills/forgecad-visual-spec.md +32 -112
- package/dist/docs-raw/skills/forgecad.md +19 -18
- package/dist/docs-raw/skills/index.md +2 -0
- package/dist/docs-raw/welcome.md +2 -2
- package/dist/index.html +2 -2
- package/dist/llms.txt +1 -2
- package/dist/sitemap.xml +25 -13
- package/dist-cli/{check-compiler-SYQ2PWOB.js → check-compiler-II7NLPAB.js} +1 -1
- package/dist-cli/{check-query-propagation-HIAGV62W.js → check-query-propagation-7462TR3R.js} +1 -1
- package/dist-cli/{chunk-SPZE3DUY.js → chunk-UWTJCGXF.js} +5848 -2915
- package/dist-cli/forgecad.js +3496 -703
- package/dist-skill/CONTEXT.md +1797 -7963
- package/dist-skill/SKILL.md +15 -15
- package/dist-skill/docs/API/core/concepts.md +27 -157
- package/dist-skill/docs/CLI.md +77 -240
- package/dist-skill/docs/generated/assembly.md +182 -532
- package/dist-skill/docs/generated/core.md +283 -1250
- package/dist-skill/docs/generated/curves.md +387 -1609
- package/dist-skill/docs/generated/lib.md +227 -85
- package/dist-skill/docs/generated/output.md +35 -99
- package/dist-skill/docs/generated/runtime-names.md +16 -21
- package/dist-skill/docs/generated/sdf.md +68 -284
- package/dist-skill/docs/generated/sheet-metal.md +68 -335
- package/dist-skill/docs/generated/sketch.md +240 -1160
- package/dist-skill/docs/generated/viewport.md +75 -223
- package/dist-skill/docs/generated/wood.md +21 -49
- package/dist-skill/docs/guides/coordinate-system.md +4 -42
- package/dist-skill/docs/guides/inspection-bundles.md +44 -442
- package/dist-skill/docs/guides/joint-design.md +18 -79
- package/dist-skill/docs/guides/positioning.md +21 -143
- package/dist-skill/docs/guides/scene-presentation.md +89 -0
- package/dist-skill/docs/guides/surface-members.md +26 -0
- package/dist-skill/library/forgecad-3d-reconstruction/SKILL.md +23 -111
- package/dist-skill/library/forgecad-blockout-model/SKILL.md +18 -117
- package/dist-skill/library/forgecad-component-model/SKILL.md +21 -107
- package/dist-skill/library/forgecad-high-level-spec/SKILL.md +45 -155
- package/dist-skill/library/forgecad-image-replicator/SKILL.md +24 -143
- package/dist-skill/library/forgecad-lld/SKILL.md +17 -113
- package/dist-skill/library/forgecad-make-a-model/SKILL.md +110 -532
- package/dist-skill/library/forgecad-model-grader/SKILL.md +36 -108
- package/dist-skill/library/forgecad-prepare-prompt/SKILL.md +35 -224
- package/dist-skill/library/forgecad-prepare-prompt/references/default-profiles.md +43 -271
- package/dist-skill/library/forgecad-prepare-prompt/references/master-prompt.md +30 -99
- package/dist-skill/library/forgecad-project/SKILL.md +13 -133
- package/dist-skill/library/forgecad-reconstruction-benchmark/SKILL.md +29 -123
- package/dist-skill/library/forgecad-render-inspect/SKILL.md +25 -174
- package/dist-skill/library/forgecad-visual-spec/SKILL.md +30 -111
- package/dist-skill/website/skills/forgecad-3d-reconstruction.md +58 -0
- package/dist-skill/website/skills/forgecad-blockout-model.md +49 -0
- package/dist-skill/website/skills/forgecad-component-model.md +53 -0
- package/dist-skill/website/skills/forgecad-high-level-spec.md +101 -0
- package/dist-skill/website/skills/forgecad-image-replicator.md +63 -0
- package/dist-skill/website/skills/forgecad-lld.md +41 -0
- package/dist-skill/website/skills/forgecad-make-a-model.md +186 -0
- package/dist-skill/website/skills/forgecad-model-grader.md +82 -0
- package/dist-skill/website/skills/forgecad-prepare-prompt.md +63 -0
- package/dist-skill/website/skills/forgecad-project.md +26 -0
- package/dist-skill/website/skills/forgecad-reconstruction-benchmark.md +60 -0
- package/dist-skill/website/skills/forgecad-render-inspect.md +80 -0
- package/dist-skill/website/skills/forgecad-visual-spec.md +71 -0
- package/dist-skill/website/skills/forgecad.md +122 -0
- package/dist-skill/website/skills/index.md +26 -0
- package/examples/api/comparison-imported-sphere-candidate.forge.js +1 -1
- package/examples/api/conformal-product-ribbon.forge.js +1 -1
- package/examples/api/exact-sheet-shell-assembly.forge.js +1 -1
- package/examples/api/extrude-options.forge.js +4 -2
- package/examples/api/field-loft-drive-tip.forge.js +40 -0
- package/examples/api/guided-loft-olive-oil-bottle.forge.js +1 -1
- package/examples/api/highlight-debug.forge.js +10 -10
- package/examples/api/mesh-import-slats.forge.js +1 -1
- package/examples/api/real-product-curves.forge.js +1 -1
- package/examples/api/sculpt-box-circle-booleans.forge.js +1 -1
- package/examples/api/sdf-shapes.forge.js +2 -5
- package/examples/api/sketch-rounding-strategies.forge.js +6 -6
- package/examples/api/surface-member-bottle-cage.forge.js +3 -3
- package/examples/api/surface-member-conformal-product-ribbon.forge.js +3 -3
- package/examples/api/surface-member-razor-inlay.forge.js +1 -1
- package/examples/api/variable-sweep-test.forge.js +3 -3
- package/examples/mechanical/airplane-propeller.forge.js +74 -39
- package/examples/nurbs-surface.forge.js +1 -1
- package/examples/products/iphone.forge.js +1 -1
- package/examples/robotics/README.md +46 -0
- package/examples/robotics/scout-cam-rover-simready/README.md +119 -0
- package/examples/robotics/scout-cam-rover-simready/lib/dims.js +140 -0
- package/examples/robotics/scout-cam-rover-simready/main.forge.js +343 -0
- package/examples/robotics/scout-cam-rover-simready/parts/body.forge.js +304 -0
- package/examples/robotics/scout-cam-rover-simready/parts/chassis.forge.js +320 -0
- package/examples/robotics/scout-cam-rover-simready/parts/hardware.forge.js +21 -0
- package/examples/robotics/scout-cam-rover-simready/parts/turret.forge.js +70 -0
- package/examples/robotics/scout-cam-rover-simready/parts/wheel.forge.js +116 -0
- package/examples/robotics/simready-asset-crate.forge.js +79 -0
- package/examples/robotics/simready-diff-drive-rover.forge.js +141 -0
- package/examples/robotics/simready-parallel-gripper.forge.js +102 -0
- package/package.json +1 -1
- package/dist/assets/EditorApp-BHMQlJ-D.js +0 -14686
- package/dist/docs-raw/guides/geometry-conventions.md +0 -52
- package/dist/docs-raw/guides/modeling-recipes.md +0 -78
- package/dist-skill/docs/guides/geometry-conventions.md +0 -52
- package/dist-skill/docs/guides/modeling-recipes.md +0 -78
- package/dist-skill/library/forgecad-visual-spec/references/prompt-template.md +0 -79
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
<!-- Generated by scripts/build-forgecad-skill.mjs — do not edit. Edit agent-skill-library/forgecad-lld/SKILL.md instead. -->
|
|
2
|
+
|
|
1
3
|
# forgecad-lld
|
|
2
4
|
|
|
3
5
|
Write a Low-Level Design (LLD) for a CAD model — exact dimensions, constraints, parameters, and verification criteria. Use after a High-Level Design (HLD) exists and decisions are locked, or for simple parts that don't need an HLD. The detailed design document that code implements.
|
|
@@ -11,125 +13,29 @@ Write a Low-Level Design (LLD) for a CAD model — exact dimensions, constraints
|
|
|
11
13
|
|
|
12
14
|
## Low-Level Design (LLD)
|
|
13
15
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
### Prerequisites
|
|
17
|
-
|
|
18
|
-
Before writing an LLD, a High-Level Design (`/forgecad-high-level-spec`) should exist with its Decisions table filled. The HLD defines *what* to build and *why*. The LLD defines *exactly how*.
|
|
19
|
-
|
|
20
|
-
For simple parts (single body, no alternatives to explore), skip the HLD and write the LLD directly.
|
|
21
|
-
|
|
22
|
-
### Philosophy
|
|
23
|
-
|
|
24
|
-
An LLD should read like you're describing the object to someone over the phone — vivid, narrative, conveying shape, behavior, purpose, and intent. But it must also be **authoritative** — the single source of truth that code will implement.
|
|
25
|
-
|
|
26
|
-
**Key principles:**
|
|
27
|
-
- **Story-first**: Lead with the "what it is" narrative before technical details
|
|
28
|
-
- **Sensory richness**: Describe appearance, proportions, materials, feel
|
|
29
|
-
- **Behavioral clarity**: How it functions, moves, interacts
|
|
30
|
-
- **Technical precision**: Exact constraints, dimensions, and relationships
|
|
31
|
-
- **No implementation assumptions**: The LLD knows nothing about ForgeCAD's capabilities
|
|
32
|
-
|
|
33
|
-
### Output Location
|
|
34
|
-
|
|
35
|
-
LLDs go next to the model files. Name: `<name>-lld.md`. For complex assemblies, use a directory:
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
<project>-lld/
|
|
39
|
-
├── 00-overview.md
|
|
40
|
-
├── 01-global-constraints.md
|
|
41
|
-
├── 02-components/
|
|
42
|
-
│ ├── base.md
|
|
43
|
-
│ └── bracket.md
|
|
44
|
-
├── 03-assembly.md
|
|
45
|
-
└── 04-verification.md
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### Document Template
|
|
49
|
-
|
|
50
|
-
#### 1. Narrative Section
|
|
51
|
-
|
|
52
|
-
Lead with vivid description — what it is, purpose, visual character, how it behaves.
|
|
53
|
-
|
|
54
|
-
#### 2. Technical Section
|
|
55
|
-
|
|
56
|
-
Parameters table, derived dimensions, geometry description, constraints with rationale.
|
|
57
|
-
|
|
58
|
-
#### 3. Verification
|
|
59
|
-
|
|
60
|
-
Dimensional checks, functional checks, printability checks — as a checklist.
|
|
61
|
-
|
|
62
|
-
(See examples in the sections below.)
|
|
63
|
-
|
|
64
|
-
### Workflow
|
|
65
|
-
|
|
66
|
-
#### Phase 1: Verify HLD decisions are locked
|
|
67
|
-
|
|
68
|
-
If an HLD exists, check that its Decisions table is filled. The LLD implements the decisions — it doesn't revisit them.
|
|
69
|
-
|
|
70
|
-
#### Phase 2: Write the document
|
|
71
|
-
|
|
72
|
-
1. Capture the narrative (what it is, how it works)
|
|
73
|
-
2. Extract parameters and constraints
|
|
74
|
-
3. Define verification criteria
|
|
75
|
-
|
|
76
|
-
#### Phase 3: Commit and present for review
|
|
77
|
-
|
|
78
|
-
Commit the LLD to git. Tell the user it's ready for review.
|
|
79
|
-
|
|
80
|
-
#### Phase 4: Iterate via git
|
|
81
|
-
|
|
82
|
-
Same as HLD: user reviews the file (edits or verbal feedback), agent reads the diff, updates, commits, repeats.
|
|
83
|
-
|
|
84
|
-
```
|
|
85
|
-
Agent writes LLD → git commit → User reviews
|
|
86
|
-
→ Agent reads diff → updates LLD → git commit → repeat until approved
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
#### Phase 5: Review for completeness
|
|
90
|
-
|
|
91
|
-
- Can someone build from this alone?
|
|
92
|
-
- Does it implement every HLD decision?
|
|
93
|
-
- Are all constraints explicit with rationale?
|
|
94
|
-
|
|
95
|
-
### Git Workflow
|
|
96
|
-
|
|
97
|
-
LLDs iterate through git, not conversation. The document is the single source of truth.
|
|
16
|
+
### When and prerequisites
|
|
98
17
|
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
18
|
+
- An HLD (`/forgecad-high-level-spec`) with a filled Decisions table must exist. The LLD implements those decisions — it never revisits them.
|
|
19
|
+
- Simple parts (single body, no alternatives to explore) skip the HLD and go straight to the LLD.
|
|
20
|
+
- Output: `<name>-lld.md` next to the model files. Complex assemblies split into a numbered directory: overview, global constraints, per-component files, assembly, verification.
|
|
102
21
|
|
|
103
|
-
###
|
|
22
|
+
### What an LLD is
|
|
104
23
|
|
|
105
|
-
**
|
|
106
|
-
-
|
|
107
|
-
-
|
|
108
|
-
-
|
|
109
|
-
- Start with the story, then the numbers
|
|
24
|
+
- **Narrative first** — reads like describing the object over the phone: shape, behavior, purpose, proportions, feel.
|
|
25
|
+
- **Authoritative** — the single source of truth that code implements.
|
|
26
|
+
- **Implementation-blind** — the LLD knows nothing about ForgeCAD's capabilities; never let API convenience shape the design.
|
|
27
|
+
- **Every number has a rationale** — each constraint and each parameter default/range gets an explicit reason; show the math (e.g. `wallThickness = 2.4mm = 6 × 0.4mm nozzle`).
|
|
110
28
|
|
|
111
|
-
|
|
112
|
-
- Start with a parameter list
|
|
113
|
-
- Leave constraints implicit
|
|
114
|
-
- Skip verification criteria
|
|
115
|
-
- Use vague terms without grounding
|
|
29
|
+
### Required structure
|
|
116
30
|
|
|
117
|
-
|
|
31
|
+
1. **Narrative** — what it is, how it behaves and interacts, why it exists. Concrete comparisons ("about the size of a deck of cards"); no vague terms without grounding.
|
|
32
|
+
2. **Technical** — typed parameter table (length / angle / count / boolean / choice / ratio / clearance — this is design-document vocabulary, not the runtime `Param.*` API), always with units (mm and degrees are the defaults) and a rationale for every default and range; derived dimensions shown as math; geometry and constraints, each constraint with rationale.
|
|
33
|
+
3. **Verification** — mandatory checklist: dimensional checks, functional checks, printability checks.
|
|
118
34
|
|
|
119
|
-
|
|
120
|
-
- `angle` — degrees default
|
|
121
|
-
- `count` — integer
|
|
122
|
-
- `boolean` — true/false
|
|
123
|
-
- `choice` — enumerated options
|
|
124
|
-
- `ratio` — dimensionless
|
|
125
|
-
- `clearance` — fit tolerances, mm default
|
|
35
|
+
Don'ts: never open with a parameter list (story before numbers), never leave a constraint implicit, never skip verification.
|
|
126
36
|
|
|
127
|
-
|
|
37
|
+
### Process
|
|
128
38
|
|
|
129
|
-
|
|
39
|
+
Iterate via git exactly as in `/forgecad-high-level-spec`: commit every version; the diff, not the conversation, is the review artifact.
|
|
130
40
|
|
|
131
|
-
|
|
132
|
-
|-------|-------|--------|
|
|
133
|
-
| 1. Explore the problem space | `/forgecad-high-level-spec` | `*-hld.md` |
|
|
134
|
-
| 2. Detailed design | `/forgecad-lld` (this skill) | `*-lld.md` |
|
|
135
|
-
| 3. Implementation | `/forgecad-make-a-model` + `/forgecad` | `.forge.js` files |
|
|
41
|
+
Completeness gate before presenting: Can someone build from this alone? Does it implement every HLD decision? Is every constraint explicit with rationale?
|