forgecad 0.9.13 → 0.9.15

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.
Files changed (216) hide show
  1. package/LICENSE +6 -4
  2. package/README.md +8 -4
  3. package/dist/assets/{AdminPage-DramHHDf.js → AdminPage-CDyGUinA.js} +2 -2
  4. package/dist/assets/{BenchmarkPage-Bjgkh5m9.js → BenchmarkPage-DfPMY_-d.js} +4 -15
  5. package/dist/assets/{BlogPage-n_HGP3Qm.js → BlogPage-kF0fkdJT.js} +2 -2
  6. package/dist/assets/{DocsPage-WCIkPmzC.js → DocsPage-B954L3YN.js} +9 -3
  7. package/dist/assets/EditorApp-Beb-IZ0y.js +14014 -0
  8. package/dist/assets/{EditorApp-BAnckbsk.css → EditorApp-CuDLxKqL.css} +698 -0
  9. package/dist/assets/{EmbedViewer-DEZKqdfW.js → EmbedViewer-C77B-TrF.js} +3 -3
  10. package/dist/assets/{LandingPageProofDriven-CeRIctuj.js → LandingPageProofDriven-Cr6fXMDj.js} +35 -37
  11. package/dist/assets/LegalPage-BRlScr9A.css +91 -0
  12. package/dist/assets/LegalPage-Dzklqmmg.js +39 -0
  13. package/dist/assets/{PricingPage-BMedqFef.css → PricingPage-BPF6HKyO.css} +25 -0
  14. package/dist/assets/{PricingPage-rIRa8p4Y.js → PricingPage-zWXkvlwl.js} +19 -19
  15. package/dist/assets/{SettingsPage-BqCUvEXM.js → SettingsPage-Bz0of4KQ.js} +2 -2
  16. package/dist/assets/app-CE3sYcV7.css +3890 -0
  17. package/dist/assets/{app-BUZqJvSO.js → app-D3kDkggg.js} +2305 -960
  18. package/dist/assets/cli/{render-lhGxj50Y.js → render-DSY3mMQa.js} +423 -30
  19. package/dist/assets/{constructionHistoryWorker-ipD1jcIv.js → constructionHistoryWorker-gpDo-uH2.js} +927 -243
  20. package/dist/assets/{evalWorker-CHXSe_-u.js → evalWorker-CU0Ke6DP.js} +7799 -4163
  21. package/dist/assets/{forgecad_geometry-BVnIeXMG.js → forgecad_geometry-Dgceylq9.js} +43 -1
  22. package/dist/assets/{forgecad_geometry_bg-DufhhCBV.wasm → forgecad_geometry_bg-dD4RNQF1.wasm} +0 -0
  23. package/dist/assets/{inspectWorker-DeRnMVv1.js → inspectWorker-COyp8XXA.js} +927 -243
  24. package/dist/assets/{javascript-70-4uGcz.js → javascript-1kQXfVaz.js} +1 -1
  25. package/dist/assets/landing-proof-driven-DiGqdtWa.js +18 -0
  26. package/dist/assets/{landing-proof-driven-oFYW6mjz.css → landing-proof-driven-ORyigZ6p.css} +13 -7
  27. package/dist/assets/legalContent-ZfFGMmi4.js +251 -0
  28. package/dist/assets/{manifold-D1LZIHqn.js → manifold-BRI5prcH.js} +1 -1
  29. package/dist/assets/{manifold-C2fwoTgd.js → manifold-C-3h2M7p.js} +2 -2
  30. package/dist/assets/{manifold-BTkzxi9V.js → manifold-DNkrUWpA.js} +1 -1
  31. package/dist/assets/{reportWorker-Cq1qGmg0.js → reportWorker-CdBz5bNg.js} +7537 -10856
  32. package/dist/assets/{scalar-sampling-budget-D9Qv_UlJ.js → scalar-sampling-budget-wJF98aY9.js} +6943 -4345
  33. package/dist/assets/{scanProxyWorker-Bs2TDgLw.js → scanProxyWorker-B-9VbLIs.js} +32 -1
  34. package/dist/assets/{renderSceneState-Dr0xPq1A.js → targets-B9sGB5nB.js} +27 -1
  35. package/dist/assets/{vendor-react-Da3A2QmU.js → vendor-react-6j1Kke-Y.js} +6 -5
  36. package/dist/cli/render.html +1 -1
  37. package/dist/docs/index.html +2 -2
  38. package/dist/docs-raw/AI/ai-native-cad.md +50 -0
  39. package/dist/docs-raw/AI/usage.md +9 -17
  40. package/dist/docs-raw/CLI.md +71 -21
  41. package/dist/docs-raw/component-model.md +27 -11
  42. package/dist/docs-raw/generated/assembly.md +301 -212
  43. package/dist/docs-raw/generated/concepts.md +238 -240
  44. package/dist/docs-raw/generated/core.md +283 -6
  45. package/dist/docs-raw/generated/curves.md +274 -361
  46. package/dist/docs-raw/generated/lib.md +7 -1
  47. package/dist/docs-raw/generated/output.md +19 -4
  48. package/dist/docs-raw/generated/runtime-names.md +41 -0
  49. package/dist/docs-raw/generated/sdf.md +31 -0
  50. package/dist/docs-raw/generated/sheet-metal.md +9 -0
  51. package/dist/docs-raw/generated/sketch.md +44 -1
  52. package/dist/docs-raw/generated/viewport.md +14 -6
  53. package/dist/docs-raw/guides/coordinate-system.md +20 -16
  54. package/dist/docs-raw/guides/geometry-conventions.md +2 -2
  55. package/dist/docs-raw/guides/inspection-bundles.md +2 -1
  56. package/dist/docs-raw/guides/joint-design.md +24 -0
  57. package/dist/docs-raw/guides/positioning.md +13 -3
  58. package/dist/docs-raw/legal/privacy.md +63 -0
  59. package/dist/docs-raw/legal/software-license.md +55 -0
  60. package/dist/docs-raw/legal/terms.md +87 -0
  61. package/dist/docs-raw/skills/forgecad-3d-reconstruction.md +3 -3
  62. package/dist/docs-raw/skills/forgecad-blockout-model.md +1 -1
  63. package/dist/docs-raw/skills/forgecad-component-model.md +11 -2
  64. package/dist/docs-raw/skills/forgecad-high-level-spec.md +1 -1
  65. package/dist/docs-raw/skills/forgecad-image-replicator.md +8 -8
  66. package/dist/docs-raw/skills/forgecad-lld.md +1 -1
  67. package/dist/docs-raw/skills/forgecad-make-a-model.md +4 -4
  68. package/dist/docs-raw/skills/forgecad-model-grader.md +2 -2
  69. package/dist/docs-raw/skills/forgecad-prepare-prompt.md +2 -2
  70. package/dist/docs-raw/skills/forgecad-project.md +1 -1
  71. package/dist/docs-raw/skills/forgecad-reconstruction-benchmark.md +4 -4
  72. package/dist/docs-raw/skills/forgecad-render-inspect.md +4 -2
  73. package/dist/docs-raw/skills/forgecad-visual-spec.md +1 -1
  74. package/dist/docs-raw/skills/forgecad.md +4 -3
  75. package/dist/index.html +40 -12
  76. package/dist/llms.txt +8 -0
  77. package/dist/site.webmanifest +1 -1
  78. package/dist/sitemap.xml +49 -13
  79. package/dist-cli/{check-compiler-LOXCPEOI.js → check-compiler-SDX5QIXI.js} +1 -2
  80. package/dist-cli/{check-query-propagation-BAKNVWXR.js → check-query-propagation-EAYEFT77.js} +1 -2
  81. package/dist-cli/{chunk-RY43WF46.js → chunk-N4O47JLF.js} +13772 -9938
  82. package/dist-cli/forgecad.js +2387 -899
  83. package/dist-cli/{forgecad_geometry-GYVNKPIE.js → forgecad_geometry-QOQIIP53.js} +42 -1
  84. package/dist-cli/forgecad_geometry_bg.wasm +0 -0
  85. package/dist-cli/{solver-46FFSK2U.js → solver-OK4HECRH.js} +0 -1
  86. package/dist-skill/CONTEXT.md +1120 -724
  87. package/dist-skill/SKILL.md +3 -2
  88. package/dist-skill/docs/API/core/concepts.md +64 -1
  89. package/dist-skill/docs/CLI.md +71 -21
  90. package/dist-skill/docs/generated/assembly.md +277 -229
  91. package/dist-skill/docs/generated/core.md +283 -6
  92. package/dist-skill/docs/generated/curves.md +272 -362
  93. package/dist-skill/docs/generated/lib.md +7 -1
  94. package/dist-skill/docs/generated/output.md +19 -4
  95. package/dist-skill/docs/generated/runtime-names.md +41 -0
  96. package/dist-skill/docs/generated/sdf.md +31 -0
  97. package/dist-skill/docs/generated/sheet-metal.md +9 -0
  98. package/dist-skill/docs/generated/sketch.md +44 -2
  99. package/dist-skill/docs/generated/viewport.md +5 -90
  100. package/dist-skill/docs/guides/coordinate-system.md +20 -16
  101. package/dist-skill/docs/guides/geometry-conventions.md +2 -2
  102. package/dist-skill/docs/guides/inspection-bundles.md +2 -1
  103. package/dist-skill/docs/guides/joint-design.md +24 -0
  104. package/dist-skill/docs/guides/positioning.md +13 -3
  105. package/dist-skill/library/forgecad-3d-reconstruction/SKILL.md +2 -2
  106. package/dist-skill/library/forgecad-component-model/SKILL.md +10 -1
  107. package/dist-skill/library/forgecad-image-replicator/SKILL.md +6 -6
  108. package/dist-skill/library/forgecad-image-replicator/scripts/compare_images.py +166 -0
  109. package/dist-skill/library/forgecad-make-a-model/SKILL.md +3 -3
  110. package/dist-skill/library/forgecad-model-grader/SKILL.md +1 -1
  111. package/dist-skill/library/forgecad-prepare-prompt/SKILL.md +1 -1
  112. package/dist-skill/library/forgecad-reconstruction-benchmark/SKILL.md +3 -3
  113. package/dist-skill/library/forgecad-render-inspect/SKILL.md +3 -1
  114. package/examples/api/assembly-kinematics-foundation.forge.js +65 -0
  115. package/examples/api/assembly-kinematics-four-bar.forge.js +115 -0
  116. package/examples/api/assembly-kinematics-limb.forge.js +116 -0
  117. package/examples/api/connector-frame-rig-chain.forge.js +102 -0
  118. package/examples/api/exact-sheet-shell-assembly.forge.js +0 -2
  119. package/examples/api/exact-surface-studio.forge.js +6 -8
  120. package/examples/api/helix-basics.forge.js +6 -6
  121. package/examples/api/lean-foundations/README.md +12 -0
  122. package/examples/api/lean-foundations/curve-blend-exact.forge.js +22 -0
  123. package/examples/api/lean-foundations/curve-fit-interpolation.forge.js +18 -0
  124. package/examples/api/lean-foundations/curve-helix-canonicalization.forge.js +27 -0
  125. package/examples/api/lean-foundations/curve-route-canonicalization.forge.js +16 -0
  126. package/examples/api/lean-foundations/curve-trim-reverse.forge.js +24 -0
  127. package/examples/api/lean-foundations/exact-curve-arc.forge.js +36 -0
  128. package/examples/api/mixed-edge-finishes-proof.forge.js +8 -11
  129. package/examples/api/route3d-elbow.forge.js +68 -0
  130. package/examples/api/transition-curves.forge.js +44 -15
  131. package/examples/api/y-blend-corner-showcase.forge.js +0 -2
  132. package/examples/generative/coral-vase.forge.js +1 -1
  133. package/examples/nurbs-tube.forge.js +1 -1
  134. package/package.json +14 -18
  135. package/dist/assets/EditorApp-CP9Za6tm.js +0 -13630
  136. package/dist/assets/app-CsHnaBWt.css +0 -1789
  137. package/dist/docs-raw/API/README.md +0 -16
  138. package/dist/docs-raw/API/core/concepts.md +0 -118
  139. package/dist/docs-raw/INDEX.md +0 -138
  140. package/dist/docs-raw/RELEASING.md +0 -87
  141. package/dist/docs-raw/agent-native-api.md +0 -27
  142. package/dist/docs-raw/beta-deployment.md +0 -304
  143. package/dist/docs-raw/beta-operations.md +0 -325
  144. package/dist/docs-raw/blueprint-first.md +0 -145
  145. package/dist/docs-raw/cli-monetization.md +0 -112
  146. package/dist/docs-raw/coding-best-practices.md +0 -120
  147. package/dist/docs-raw/coding.md +0 -340
  148. package/dist/docs-raw/deployment.md +0 -374
  149. package/dist/docs-raw/guides/skill-maintenance.md +0 -161
  150. package/dist/docs-raw/guides/surface-members.md +0 -82
  151. package/dist/docs-raw/internals/backend-vocabulary.md +0 -35
  152. package/dist/docs-raw/internals/compiler.md +0 -307
  153. package/dist/docs-raw/internals/constraint-solver-quality.md +0 -161
  154. package/dist/docs-raw/internals/constraint-solver.md +0 -176
  155. package/dist/docs-raw/internals/shape-from-slices.md +0 -152
  156. package/dist/docs-raw/internals/sketch-2d-pipeline.md +0 -108
  157. package/dist/docs-raw/platform/admin.md +0 -45
  158. package/dist/docs-raw/platform/architecture.md +0 -82
  159. package/dist/docs-raw/platform/auth.md +0 -139
  160. package/dist/docs-raw/platform/email.md +0 -67
  161. package/dist/docs-raw/platform/google-oauth-setup.md +0 -88
  162. package/dist/docs-raw/platform/observability.md +0 -197
  163. package/dist/docs-raw/platform/projects.md +0 -111
  164. package/dist/docs-raw/platform/sharing.md +0 -90
  165. package/dist/docs-raw/product/README.md +0 -39
  166. package/dist/docs-raw/product/api-as-product-language.md +0 -13
  167. package/dist/docs-raw/product/business-model.md +0 -15
  168. package/dist/docs-raw/product/competitive-positioning.md +0 -17
  169. package/dist/docs-raw/product/creative-manufacturing.md +0 -15
  170. package/dist/docs-raw/product/founder-story.md +0 -11
  171. package/dist/docs-raw/product/manufacturing-workflows.md +0 -15
  172. package/dist/docs-raw/product/onboarding-first-experience.md +0 -256
  173. package/dist/docs-raw/product/product-loop.md +0 -17
  174. package/dist/docs-raw/product/strategic-decisions.md +0 -22
  175. package/dist/docs-raw/product/user-outreach-email-templates.md +0 -161
  176. package/dist/docs-raw/product/user-segments.md +0 -15
  177. package/dist/docs-raw/product/vision.md +0 -26
  178. package/dist/docs-raw/rl-environments.md +0 -508
  179. package/dist/docs-raw/runbook.md +0 -611
  180. package/dist-cli/check-compiler-LOXCPEOI.js.map +0 -1
  181. package/dist-cli/check-query-propagation-BAKNVWXR.js.map +0 -1
  182. package/dist-cli/chunk-RY43WF46.js.map +0 -1
  183. package/dist-cli/forgecad.js.map +0 -1
  184. package/dist-cli/forgecad_geometry-GYVNKPIE.js.map +0 -1
  185. package/dist-cli/solver-46FFSK2U.js.map +0 -1
  186. package/dist-skill/SKILL-dev.md +0 -145
  187. package/dist-skill/docs-dev/API/core/concepts.md +0 -118
  188. package/dist-skill/docs-dev/CLI.md +0 -647
  189. package/dist-skill/docs-dev/agent-native-api.md +0 -27
  190. package/dist-skill/docs-dev/blueprint-first.md +0 -145
  191. package/dist-skill/docs-dev/coding-best-practices.md +0 -120
  192. package/dist-skill/docs-dev/coding.md +0 -340
  193. package/dist-skill/docs-dev/component-model.md +0 -164
  194. package/dist-skill/docs-dev/generated/assembly.md +0 -794
  195. package/dist-skill/docs-dev/generated/core.md +0 -2117
  196. package/dist-skill/docs-dev/generated/curves.md +0 -2583
  197. package/dist-skill/docs-dev/generated/lib.md +0 -169
  198. package/dist-skill/docs-dev/generated/output.md +0 -247
  199. package/dist-skill/docs-dev/generated/sdf.md +0 -446
  200. package/dist-skill/docs-dev/generated/sheet-metal.md +0 -504
  201. package/dist-skill/docs-dev/generated/sketch.md +0 -1811
  202. package/dist-skill/docs-dev/generated/viewport.md +0 -585
  203. package/dist-skill/docs-dev/generated/wood.md +0 -108
  204. package/dist-skill/docs-dev/guides/coordinate-system.md +0 -46
  205. package/dist-skill/docs-dev/guides/geometry-conventions.md +0 -52
  206. package/dist-skill/docs-dev/guides/inspection-bundles.md +0 -485
  207. package/dist-skill/docs-dev/guides/joint-design.md +0 -78
  208. package/dist-skill/docs-dev/guides/modeling-recipes.md +0 -78
  209. package/dist-skill/docs-dev/guides/positioning.md +0 -161
  210. package/dist-skill/docs-dev/guides/skill-maintenance.md +0 -161
  211. package/dist-skill/docs-dev/internals/backend-vocabulary.md +0 -35
  212. package/dist-skill/docs-dev/internals/compiler.md +0 -307
  213. package/dist-skill/docs-dev/internals/constraint-solver-quality.md +0 -161
  214. package/dist-skill/docs-dev/internals/constraint-solver.md +0 -176
  215. package/dist-skill/docs-dev/internals/sketch-2d-pipeline.md +0 -108
  216. package/dist-skill/library/forgecad-image-replicator/scripts/compare_images.mjs +0 -289
@@ -0,0 +1,55 @@
1
+ # ForgeCAD Software License
2
+
3
+ Effective May 31, 2026. This license governs the ForgeCAD npm package, CLI, browser application code, bundled runtime, and packaged assets.
4
+
5
+ Human-readable page: https://forgecad.io/license
6
+
7
+ ## Software covered
8
+
9
+ This license applies to the ForgeCAD npm package, command-line interface, browser application code, bundled runtime, and packaged assets distributed with ForgeCAD.
10
+
11
+ ForgeCAD, including its compiler, runtime, CLI, browser application, APIs, standard library, schemas, documentation, and packaged assets, is owned by Narek Kostandyan, Individual Entrepreneur (d.b.a. "ForgeCAD"). All rights not expressly granted in this license are reserved.
12
+
13
+ Public example files, public agent skills, and public companion repositories may use a separate license when a repository or file says so.
14
+
15
+ ## Free personal non-commercial use
16
+
17
+ You may install and use the Software for free for personal non-commercial use, learning, experimentation, individual evaluation, and other non-commercial work.
18
+
19
+ ## Pro commercial use
20
+
21
+ If you use the Software as a human-operated CAD tool for commercial work, you need an active ForgeCAD Pro subscription unless ForgeCAD has separately agreed to different written terms.
22
+
23
+ This includes designing models for customers, client work, paid freelance work, employer work, products for sale, and funded commercial projects.
24
+
25
+ ## Enterprise backend, embedded, and AI use
26
+
27
+ You need a ForgeCAD Enterprise agreement before using the Software in an automated backend, hosted service, embedded application, product integration, reinforcement-learning environment, AI training or evaluation workflow, benchmark, or other internal or external application workflow that calls ForgeCAD on behalf of users, customers, jobs, scripts, agents, models, or external systems.
28
+
29
+ For clarity, high-throughput, parallel, automated, or programmatic generation, rendering, validation, or evaluation requires an active ForgeCAD Enterprise agreement, regardless of who owns the resulting models, scripts, outputs, variants, mutations, or data derivatives.
30
+
31
+ ## Your models and outputs
32
+
33
+ You own the models, scripts, exports, images, reports, and other outputs you create with ForgeCAD, subject to your rights in any input material and subject to using ForgeCAD under the required plan for your use case.
34
+
35
+ ## Pricing and written agreements
36
+
37
+ Current plan details are available at forgecad.io/pricing. If you have a written agreement with ForgeCAD, that agreement controls where it conflicts with this license.
38
+
39
+ ## Restrictions
40
+
41
+ Except as allowed by this license or by a separate written agreement, you may not sell, sublicense, rent, lease, redistribute, white-label, or offer the Software itself as a hosted, embedded, or API service.
42
+
43
+ You may not remove copyright, license, pricing, telemetry, subscription, or branding notices, or bypass license checks, subscription checks, usage limits, or technical protection measures.
44
+
45
+ ## No warranty, limitation, and termination
46
+
47
+ The Software is provided as is, without warranty of any kind.
48
+
49
+ To the maximum extent permitted by law, ForgeCAD and Narek Kostandyan, Individual Entrepreneur, will not be liable for indirect, incidental, special, consequential, exemplary, or punitive damages or for lost profits, revenue, data, manufacturing losses, procurement losses, or business interruption.
50
+
51
+ Your rights under this license terminate automatically if you violate these terms. After termination, you must stop using the Software unless ForgeCAD reinstates your rights in writing.
52
+
53
+ ## Contact
54
+
55
+ For Enterprise licensing, commercial questions, or alternative licensing terms, contact contact@forgecad.io.
@@ -0,0 +1,87 @@
1
+ # Terms of Service
2
+
3
+ Effective May 31, 2026. These terms govern ForgeCAD accounts, hosted services, software access, and paid plans.
4
+
5
+ Human-readable page: https://forgecad.io/terms
6
+
7
+ ## Acceptance
8
+
9
+ ForgeCAD is operated by Narek Kostandyan, Individual Entrepreneur, doing business as "ForgeCAD" ("ForgeCAD", "we", "us").
10
+
11
+ By creating an account, accessing ForgeCAD, installing the ForgeCAD software, or using the hosted service, you agree to these Terms, the Privacy Policy, and the ForgeCAD Software License.
12
+
13
+ If you use ForgeCAD for an organization, you represent that you have authority to bind that organization. A separately signed agreement with ForgeCAD controls where it conflicts with these Terms.
14
+
15
+ ## Accounts and eligibility
16
+
17
+ You are responsible for your account, credentials, API tokens, project files, and all activity under your account.
18
+
19
+ Do not create an account if you are not old enough to use online services in your jurisdiction or if you cannot legally agree to these Terms.
20
+
21
+ ## Plans and commercial use
22
+
23
+ Free is for personal non-commercial use, learning, experimentation, individual evaluation, and other non-commercial work.
24
+
25
+ Pro covers one named person using ForgeCAD as a human-operated CAD tool for commercial work, including client work, employer work, professional models, products for sale, and funded commercial projects.
26
+
27
+ Each person doing commercial ForgeCAD work needs their own active Pro subscription unless ForgeCAD has separately agreed to different written terms.
28
+
29
+ Enterprise is required for automated backend use, hosted or embedded workflows, product integrations, shared seats, team deployments that need custom terms, and AI training, evaluation, benchmarking, or reinforcement-learning environments.
30
+
31
+ ## Enterprise AI and automation use
32
+
33
+ You may not use ForgeCAD as infrastructure for training, evaluating, benchmarking, fine-tuning, reinforcement learning, reward environments, automated model generation, or agent workflows unless you have an active ForgeCAD Enterprise agreement.
34
+
35
+ This applies whether the workflow is external-facing or internal, and whether it runs for users, customers, jobs, scripts, agents, models, or other automated systems.
36
+
37
+ Ownership of models, scripts, environments, exports, or other outputs does not grant a license to use the ForgeCAD software, runtime, CLI, APIs, docs, examples, skills, validation tools, or methods outside the plan required for that use case.
38
+
39
+ For clarity, ownership of any model, script, environment, task, or output, including any variant, mutation, or derivative produced by running the ForgeCAD compiler, runtime, CLI, or APIs, does not grant any right to operate ForgeCAD for high-throughput, parallel, automated, or programmatic generation, rendering, validation, or evaluation. Such operation requires an active ForgeCAD Enterprise agreement, regardless of who owns the resulting data.
40
+
41
+ ## Your content and outputs
42
+
43
+ You retain your rights in models, scripts, exports, images, reports, project files, prompts, and other content you create or upload, subject to your rights in any input material and your compliance with the required ForgeCAD plan.
44
+
45
+ You grant ForgeCAD the limited rights needed to host, process, render, validate, store, transmit, back up, and display your content for the service features you use.
46
+
47
+ If you publish or share a model, you are responsible for the content you make available and for having the rights needed to share it.
48
+
49
+ ## Acceptable use and compliance
50
+
51
+ Do not use ForgeCAD to break the law, infringe others' rights, bypass license or subscription controls, attack the service, scrape private data, upload malware, or interfere with other users.
52
+
53
+ Do not upload regulated, export-controlled, classified, or highly sensitive information unless you have the legal right to do so and a separate written agreement with ForgeCAD covers that use.
54
+
55
+ Do not resell, sublicense, lease, redistribute, white-label, or offer ForgeCAD itself as a hosted service, API, embedded product, or application feature without a written Enterprise agreement.
56
+
57
+ ## Billing
58
+
59
+ Paid subscriptions renew until canceled. Stripe or another payment provider may process checkout, tax collection, invoices, and payment details.
60
+
61
+ You are responsible for applicable taxes, accurate billing information, and timely payment. Fees are non-refundable except where required by law or separately agreed in writing.
62
+
63
+ Plan names, prices, limits, and included features may change. Existing paid users will receive reasonable notice before material plan changes take effect.
64
+
65
+ ## CAD, manufacturing, and safety
66
+
67
+ ForgeCAD is a design and automation tool. You are responsible for reviewing, testing, validating, and safely manufacturing any model, export, toolpath, part, assembly, or design decision.
68
+
69
+ Do not rely on ForgeCAD output as a substitute for professional engineering review, safety certification, regulatory compliance, or manufacturing quality control.
70
+
71
+ ## Service changes and termination
72
+
73
+ ForgeCAD may change, suspend, or discontinue features, limits, or service availability as the product evolves.
74
+
75
+ ForgeCAD may suspend or terminate access if you violate these Terms, create security or operational risk, or fail to pay required fees.
76
+
77
+ ## Warranty and liability
78
+
79
+ ForgeCAD is provided as is, without warranties of merchantability, fitness for a particular purpose, non-infringement, availability, or accuracy.
80
+
81
+ To the maximum extent permitted by law, ForgeCAD and Narek Kostandyan, Individual Entrepreneur, will not be liable for indirect, incidental, special, consequential, exemplary, or punitive damages, lost profits, lost revenue, lost data, manufacturing losses, procurement losses, or business interruption.
82
+
83
+ ## Changes and contact
84
+
85
+ ForgeCAD may update these Terms as the product changes. Material updates will be reflected on this page with a new effective date.
86
+
87
+ For legal, privacy, billing, or Enterprise questions, contact contact@forgecad.io.
@@ -5,7 +5,7 @@ Reconstruct a parametric ForgeCAD model from an existing 3D CAD or mesh file suc
5
5
  | Field | Value |
6
6
  | --- | --- |
7
7
  | Installed by | `forgecad skill install` |
8
- | Source | `skills/forgecad-3d-reconstruction/SKILL.md` |
8
+ | Source | `agent-skill-library/forgecad-3d-reconstruction/SKILL.md` |
9
9
 
10
10
  ---
11
11
 
@@ -36,13 +36,13 @@ Do not solve reconstruction by returning `importMesh("reference.stl")` or `impor
36
36
  No wrapper script is needed. Use the local checkout CLI:
37
37
 
38
38
  ```bash
39
- node dist-cli/forgecad.js run path/to/source.stl --quality live --details
39
+ node dist-cli/forgecad.js ls path/to/source.stl --quality live --long
40
40
  node dist-cli/forgecad.js render 3d path/to/source.stl /tmp/<slug>-source.png --camera iso --edges thin --size 900
41
41
  node dist-cli/forgecad.js inspect visual objects path/to/source.stl /tmp/<slug>-source-objects --camera iso --size 700 --force
42
42
  node dist-cli/forgecad.js inspect sections sample path/to/source.stl /tmp/<slug>-source-sections --count 5 --size 700 --force
43
43
  ```
44
44
 
45
- For 3MF sources, `run --details` also prints the source archive's build
45
+ For 3MF sources, `forgecad run` prints the source archive's build
46
46
  items/resource objects with stable refs such as
47
47
  `3mf:build:001:object:2`, automatic names, per-item bounding boxes, and
48
48
  triangle counts. Use that item table to avoid missing hidden multi-part
@@ -5,7 +5,7 @@ Create rough high-level ForgeCAD concept models from simple primitives to explor
5
5
  | Field | Value |
6
6
  | --- | --- |
7
7
  | Installed by | `forgecad skill install` |
8
- | Source | `skills/forgecad-blockout-model/SKILL.md` |
8
+ | Source | `agent-skill-library/forgecad-blockout-model/SKILL.md` |
9
9
 
10
10
  ---
11
11
 
@@ -5,7 +5,7 @@ Enforce the ForgeCAD Component Model when building multi-part assemblies. Parts
5
5
  | Field | Value |
6
6
  | --- | --- |
7
7
  | Installed by | `forgecad skill install` |
8
- | Source | `skills/forgecad-component-model/SKILL.md` |
8
+ | Source | `agent-skill-library/forgecad-component-model/SKILL.md` |
9
9
 
10
10
  ---
11
11
 
@@ -31,9 +31,11 @@ A part is a function from props to `{ shape, connectors, metadata }`. It builds
31
31
  - A connector = origin + axis (outward from the part)
32
32
  - Connectors meet **face-to-face**: both axes point outward, system brings them together
33
33
  - For prismatic joints: axes point along the shared slide direction
34
+ - Mirrored revolute axes need negated physical joint values for the same mirrored pose
34
35
 
35
36
  #### 3. Assembly Is Pure Composition
36
- - `addPart()` + `connect()` + `addJointCoupling()` nothing else
37
+ - Use `addPart()` + `connect()` for frame-aware serial assemblies
38
+ - Use `link()` + `edgeBetweenLinks()` + `addAngleBetweenLinks()` for solved point skeletons
37
39
  - Zero `translate()` calls for structural parts
38
40
  - Zero coordinate math
39
41
  - The assembly passes props down and reads metadata up
@@ -65,6 +67,13 @@ mount.withConnectors({
65
67
  assembly.connect("Base.mount_face", "Mount.flange", { as: "mount-fix" });
66
68
  ```
67
69
 
70
+ Revolute values are signed by the physical hinge axis. In a bilateral mechanism,
71
+ `axis: [1, 0, 0]` on the right side and `axis: [-1, 0, 0]` on the left side are
72
+ exact mirrors at rest, but the same `+theta` value rotates them in opposite
73
+ fore/aft senses. Use `Right: +theta`, `Left: -theta`, and mirror physical limits
74
+ as `[min, max] -> [-max, -min]`, or drive both sides from a side-neutral link
75
+ graph/control layer.
76
+
68
77
  ### Part Return Shape
69
78
 
70
79
  Every part file returns a structured object:
@@ -5,7 +5,7 @@ Write a high-level design document (HLD) for a model, mechanism, or assembly bef
5
5
  | Field | Value |
6
6
  | --- | --- |
7
7
  | Installed by | `forgecad skill install` |
8
- | Source | `skills/forgecad-high-level-spec/SKILL.md` |
8
+ | Source | `agent-skill-library/forgecad-high-level-spec/SKILL.md` |
9
9
 
10
10
  ---
11
11
 
@@ -5,7 +5,7 @@ Build real ForgeCAD geometry from one or more reference images by treating image
5
5
  | Field | Value |
6
6
  | --- | --- |
7
7
  | Installed by | `forgecad skill install` |
8
- | Source | `skills/forgecad-image-replicator/SKILL.md` |
8
+ | Source | `agent-skill-library/forgecad-image-replicator/SKILL.md` |
9
9
 
10
10
  ---
11
11
 
@@ -119,10 +119,10 @@ node dist-cli/forgecad.js render 3d path/to/model.forge.js /tmp/<slug>-replicate
119
119
  --size 1000 --edges thin
120
120
  ```
121
121
 
122
- Build side-by-side boards with the bundled helper:
122
+ Build side-by-side boards with the bundled helper. It is a self-contained `uv` script that installs Pillow on demand and does not require Chrome. The examples use the ForgeCAD source-checkout path; if the skill is installed elsewhere, resolve `scripts/compare_images.py` relative to the `forgecad-image-replicator` skill directory.
123
123
 
124
124
  ```bash
125
- node skills/forgecad-image-replicator/scripts/compare_images.mjs \
125
+ uv run agent-skill-library/forgecad-image-replicator/scripts/compare_images.py \
126
126
  /tmp/<slug>-replicate/refs/front.png \
127
127
  /tmp/<slug>-replicate/render-front.png \
128
128
  /tmp/<slug>-replicate/compare-front.png \
@@ -132,10 +132,10 @@ node skills/forgecad-image-replicator/scripts/compare_images.mjs \
132
132
  Common helper options:
133
133
 
134
134
  ```bash
135
- node skills/forgecad-image-replicator/scripts/compare_images.mjs ref.png render.png compare.png
136
- node skills/forgecad-image-replicator/scripts/compare_images.mjs ref.jpg render.png compare.png --height 1200 --fit contain
137
- node skills/forgecad-image-replicator/scripts/compare_images.mjs ref.png render.png compare.png --fit cover --labels "Target,Current"
138
- node skills/forgecad-image-replicator/scripts/compare_images.mjs ref.png render.png compare.png --no-labels
135
+ uv run agent-skill-library/forgecad-image-replicator/scripts/compare_images.py ref.png render.png compare.png
136
+ uv run agent-skill-library/forgecad-image-replicator/scripts/compare_images.py ref.jpg render.png compare.png --height 1200 --fit contain
137
+ uv run agent-skill-library/forgecad-image-replicator/scripts/compare_images.py ref.png render.png compare.png --fit cover --labels "Target,Current"
138
+ uv run agent-skill-library/forgecad-image-replicator/scripts/compare_images.py ref.png render.png compare.png --no-labels
139
139
  ```
140
140
 
141
141
  Use `--fit contain` by default. Use `--fit cover` only when both images already share the same crop and aspect.
@@ -177,4 +177,4 @@ For non-trivial references, expect several render, compare, canonical-view, and
177
177
  ## Bundled Files
178
178
 
179
179
  - `agents/openai.yaml`
180
- - `scripts/compare_images.mjs`
180
+ - `scripts/compare_images.py`
@@ -5,7 +5,7 @@ Write a Low-Level Design (LLD) for a CAD model — exact dimensions, constraints
5
5
  | Field | Value |
6
6
  | --- | --- |
7
7
  | Installed by | `forgecad skill install` |
8
- | Source | `skills/forgecad-lld/SKILL.md` |
8
+ | Source | `agent-skill-library/forgecad-lld/SKILL.md` |
9
9
 
10
10
  ---
11
11
 
@@ -5,7 +5,7 @@ Create manufacture-realistic prototype ForgeCAD (.forge.js) models in the active
5
5
  | Field | Value |
6
6
  | --- | --- |
7
7
  | Installed by | `forgecad skill install` |
8
- | Source | `skills/forgecad-make-a-model/SKILL.md` |
8
+ | Source | `agent-skill-library/forgecad-make-a-model/SKILL.md` |
9
9
 
10
10
  ---
11
11
 
@@ -65,7 +65,7 @@ Use today's date for the directory. Use the user's current ForgeCAD project when
65
65
  - Return the final geometry (single shape, array, or named objects array)
66
66
  - 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.
67
67
  4. Validate — run `forgecad run <file>` to check for errors. For multi-file projects, always validate `main.forge.js`.
68
- 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 run --connectivity` 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.
68
+ 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.
69
69
  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.
70
70
 
71
71
  ### Manufacturing Process Is Not Assumed
@@ -188,7 +188,7 @@ Before telling the user the model is done, prove both technical validity and vis
188
188
  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:
189
189
 
190
190
  ```bash
191
- forgecad run model.forge.js --connectivity
191
+ forgecad inspect physical components model.forge.js --camera iso
192
192
  ```
193
193
 
194
194
  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.
@@ -297,7 +297,7 @@ For important components, collect both:
297
297
  - Context view — neighbors present, proving the part belongs in the final assembly.
298
298
  - Focus view — only the relevant objects visible, making small gaps, intersections, missing seats, and floating parts easy to see.
299
299
 
300
- Prefer CLI `--focus` / `--hide` filters, named views, or parameter-selected diagnostic modes over changing production geometry. Use the object names from `node dist-cli/forgecad.js run model.forge.js --quality live` when you are unsure what the filters should target.
300
+ 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.
301
301
 
302
302
  #### Structured inspection bundles
303
303
 
@@ -5,7 +5,7 @@ Analyze, verify, and grade ForgeCAD or CAD-as-code models against a user require
5
5
  | Field | Value |
6
6
  | --- | --- |
7
7
  | Installed by | `forgecad skill install` |
8
- | Source | `skills/forgecad-model-grader/SKILL.md` |
8
+ | Source | `agent-skill-library/forgecad-model-grader/SKILL.md` |
9
9
 
10
10
  ---
11
11
 
@@ -64,7 +64,7 @@ This skill is an evaluator workflow. Do not edit the model unless the user expli
64
64
 
65
65
  ```bash
66
66
  node dist-cli/forgecad.js inspect fit interference path/to/model.forge.js /tmp/model-grade/collisions --camera iso --force --size 700
67
- python skills/forgecad-render-inspect/summarize_manifest.py /tmp/model-grade/collisions
67
+ python agent-skill-library/forgecad-render-inspect/summarize_manifest.py /tmp/model-grade/collisions
68
68
  ```
69
69
 
70
70
  Read the manifest and inspect the relevant evidence PNGs. Treat unexpected collisions, thin regions, missing sections, wrong component counts, floating bodies, and confusing object colors as evidence, not as warnings to wave away.
@@ -5,7 +5,7 @@ Turn a fuzzy physical product, mechanism, or CAD artifact request into a concret
5
5
  | Field | Value |
6
6
  | --- | --- |
7
7
  | Installed by | `forgecad skill install` |
8
- | Source | `skills/forgecad-prepare-prompt/SKILL.md` |
8
+ | Source | `agent-skill-library/forgecad-prepare-prompt/SKILL.md` |
9
9
 
10
10
  ---
11
11
 
@@ -181,7 +181,7 @@ By the end of this skill, there should be:
181
181
 
182
182
  9. If implementation continues immediately, hand off to `forgecad`.
183
183
  For moving mechanisms, load:
184
- - `skills/forgecad/SKILL.md`
184
+ - `~/.agents/skills/forgecad/SKILL.md`
185
185
  - `docs/permanent/generated/assembly.md`
186
186
  - `docs/permanent/generated/output.md`
187
187
  - `docs/permanent/guides/joint-design.md`
@@ -5,7 +5,7 @@ ForgeCAD project CLI workflow — creating, managing, syncing projects and files
5
5
  | Field | Value |
6
6
  | --- | --- |
7
7
  | Installed by | `forgecad skill install` |
8
- | Source | `skills/forgecad-project/SKILL.md` |
8
+ | Source | `agent-skill-library/forgecad-project/SKILL.md` |
9
9
 
10
10
  ---
11
11
 
@@ -5,7 +5,7 @@ Solve ForgeCAD CAD reconstruction benchmark or RL episodes in a prepared workspa
5
5
  | Field | Value |
6
6
  | --- | --- |
7
7
  | Installed by | `forgecad skill install` |
8
- | Source | `skills/forgecad-reconstruction-benchmark/SKILL.md` |
8
+ | Source | `agent-skill-library/forgecad-reconstruction-benchmark/SKILL.md` |
9
9
 
10
10
  ---
11
11
 
@@ -77,13 +77,13 @@ ForgeCAD commands.
77
77
  inference.
78
78
 
79
79
  ```bash
80
- ./bin/forgecad run task/reference/<asset> --quality live --details
80
+ ./bin/forgecad ls task/reference/<asset> --quality live --long
81
81
  ./bin/forgecad render 3d task/reference/<asset> outputs/reference.png --camera iso --edges thin --size 900
82
82
  ./bin/forgecad inspect sections sample task/reference/<asset> outputs/reference-sections --count 5 --size 700
83
83
  ./bin/forgecad inspect section task/reference/<asset> --plane yz --offset 0 --ray width:-50,0:50,0 --size 700
84
84
  ```
85
85
 
86
- For 3MF references, the `run --details` output includes a source structure
86
+ For 3MF references, the `forgecad run` output includes a source structure
87
87
  table with stable `3mf:build:...:object:...` refs, automatic item names,
88
88
  per-item bounding boxes, and triangle counts. Treat that table as part of
89
89
  the evidence: the final model may be one part or many parts, but you should
@@ -93,7 +93,7 @@ ForgeCAD commands.
93
93
  unique probe directory with `result.json`; later you can replay that probe
94
94
  against the candidate with `./bin/forgecad inspect replay <result.json>
95
95
  --source submission/main.forge.js`.
96
- For 3MF references, the `run --details` output includes a source structure
96
+ For 3MF references, the `forgecad run` output includes a source structure
97
97
  table with stable `3mf:build:...:object:...` refs, automatic item names,
98
98
  per-item bounding boxes, and triangle counts. Treat that table as part of
99
99
  the evidence: the final model may be one part or many parts, but you should
@@ -5,7 +5,7 @@ Run and interpret ForgeCAD inspection bundles for model verification. Use when a
5
5
  | Field | Value |
6
6
  | --- | --- |
7
7
  | Installed by | `forgecad skill install` |
8
- | Source | `skills/forgecad-render-inspect/SKILL.md` |
8
+ | Source | `agent-skill-library/forgecad-render-inspect/SKILL.md` |
9
9
 
10
10
  ---
11
11
 
@@ -67,7 +67,7 @@ Routing:
67
67
  Run the bundled helper:
68
68
 
69
69
  ```bash
70
- python skills/forgecad-render-inspect/summarize_manifest.py /tmp/model-inspect
70
+ python agent-skill-library/forgecad-render-inspect/summarize_manifest.py /tmp/model-inspect
71
71
  ```
72
72
 
73
73
  Use `jq` for targeted follow-up when needed:
@@ -93,6 +93,7 @@ Routing:
93
93
  | Question | Evidence command |
94
94
  |----------|------------------|
95
95
  | Quick visual sanity | `inspect visual image` |
96
+ | Kinematic rig, joints, axes, and links | `inspect visual rig` |
96
97
  | Object naming and identity | `inspect visual objects` |
97
98
  | Exact local section measurement, bore widths, rib thickness through a chosen line | `inspect section --ray ...` |
98
99
  | Hidden internals, cavities, pockets, screw paths, captured components | `inspect sections at|stack|sample` |
@@ -111,6 +112,7 @@ Explicit fast bundle:
111
112
 
112
113
  ```bash
113
114
  forgecad inspect visual objects model.forge.js --camera iso --size 700
115
+ forgecad inspect visual rig model.forge.js --camera iso --size 700
114
116
  forgecad inspect sections at model.forge.js --plane yz --offset 12.5 --size 700
115
117
  forgecad inspect sections stack model.forge.js --plane yz --every 1 --size 700
116
118
  forgecad inspect sections sample model.forge.js --count 5 --size 700
@@ -5,7 +5,7 @@ Turn a concrete ForgeCAD artifact, build brief, HLD, or existing model into buil
5
5
  | Field | Value |
6
6
  | --- | --- |
7
7
  | Installed by | `forgecad skill install` |
8
- | Source | `skills/forgecad-visual-spec/SKILL.md` |
8
+ | Source | `agent-skill-library/forgecad-visual-spec/SKILL.md` |
9
9
 
10
10
  ---
11
11
 
@@ -5,7 +5,7 @@ ForgeCAD model authoring, editing, debugging, and execution guidance for .forge.
5
5
  | Field | Value |
6
6
  | --- | --- |
7
7
  | Installed by | `forgecad skill install` |
8
- | Source | `skills/forgecad/SKILL.md` |
8
+ | Source | Generated from `docs/permanent/` by `scripts/build-forgecad-skill.mjs` |
9
9
 
10
10
  ---
11
11
 
@@ -23,7 +23,7 @@ Author or modify ForgeCAD models, sketches, assemblies, and CLI workflows. Prefe
23
23
  6. Default to a concrete first pass — easy iteration beats speculative design review.
24
24
  7. If an existing model is broken, replace the weak structure rather than preserving bad architecture.
25
25
  8. Validate with `forgecad run <file>` (add `--debug-imports` for import chain issues, and pass `--backend manifold|occt|truck` when the backend matters).
26
- 9. For `jointsView()` animations, keep wrapped revolute tracks continuous across branch cuts; do not assume the viewport will auto-fix `-180/180` jumps.
26
+ 9. For moving assemblies, return the `Assembly` directly so runtime controls re-solve the link/edge kinematics model instead of stacking viewport-only transforms.
27
27
  10. Model the physical artifact, not an educational diagram. Do not add explanatory labels, arrows, legends, or text plaques unless the user explicitly asks for a presentation or teaching view. Product markings are allowed only when they would exist on the real object.
28
28
  11. Build the real closed CAD first. Do not bake cutaways, sectioned shells, permanently exploded layouts, or hidden-parts views into the default model just to show internals. Use viewer-only cut planes, `explodeView`, object hiding, transparency, or `inspect sections` after the artifact exists.
29
29
 
@@ -46,6 +46,7 @@ Load groups top-to-bottom, stopping when you have what the task needs.
46
46
  Execution model, colors, coordinate system, primitives, booleans, patterns, imports, parameters, topology, edge queries.
47
47
 
48
48
  - `docs/permanent/API/core/concepts.md`
49
+ - `docs/permanent/generated/runtime-names.md`
49
50
  - `docs/permanent/generated/core.md`
50
51
 
51
52
  #### 2. Static Assembly and Positioning (for any multi-part model)
@@ -95,7 +96,7 @@ Parametric bolts, nuts, washers, standard hardware, gears, pipes, and structural
95
96
 
96
97
  #### 9. Runtime Viewport APIs (for cut planes, exploded views, hiding, and animation playback)
97
98
 
98
- Viewer-only APIs such as cutPlane, explodeView, jointsView, and animation behavior.
99
+ Viewer-only APIs such as cutPlane, explodeView, render labels, comparison references, and runtime display behavior.
99
100
 
100
101
  - `docs/permanent/generated/viewport.md`
101
102
 
package/dist/index.html CHANGED
@@ -3,9 +3,10 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" />
6
- <title>ForgeCAD Code-First Parametric CAD</title>
7
- <meta name="description" content="Design mechanical parts with JavaScript. Parametric sliders, constraint-based sketches, and 12+ export formats from STL to STEP to G-code.">
6
+ <title>ForgeCAD - AI-Native CAD for Manufacturable Models</title>
7
+ <meta name="description" content="ForgeCAD turns prompts, JavaScript, and product ideas into editable parametric CAD with agent validation, manufacturing feedback, and STEP/STL exports.">
8
8
  <meta name="application-name" content="ForgeCAD">
9
+ <meta name="robots" content="index, follow">
9
10
  <meta name="theme-color" content="#f3ede4">
10
11
  <link rel="canonical" href="https://forgecad.io/">
11
12
  <link rel="icon" type="image/x-icon" href="/favicon.ico">
@@ -17,8 +18,8 @@
17
18
  <!-- Open Graph -->
18
19
  <meta property="og:type" content="website">
19
20
  <meta property="og:site_name" content="ForgeCAD">
20
- <meta property="og:title" content="ForgeCAD Code-First Parametric CAD">
21
- <meta property="og:description" content="Design mechanical parts with JavaScript. Parametric sliders, constraint-based sketches, and 12+ export formats from STL to STEP to G-code.">
21
+ <meta property="og:title" content="ForgeCAD - AI-Native CAD for Manufacturable Models">
22
+ <meta property="og:description" content="ForgeCAD turns prompts, JavaScript, and product ideas into editable parametric CAD with agent validation, manufacturing feedback, and STEP/STL exports.">
22
23
  <meta property="og:url" content="https://forgecad.io/">
23
24
  <meta property="og:image" content="https://forgecad.io/brand/social-card.png">
24
25
  <meta property="og:image:width" content="1200">
@@ -27,17 +28,44 @@
27
28
 
28
29
  <!-- Twitter Card -->
29
30
  <meta name="twitter:card" content="summary_large_image">
30
- <meta name="twitter:title" content="ForgeCAD Code-First Parametric CAD">
31
- <meta name="twitter:description" content="Design mechanical parts with JavaScript. Parametric sliders, constraint-based sketches, and 12+ export formats.">
31
+ <meta name="twitter:title" content="ForgeCAD - AI-Native CAD for Manufacturable Models">
32
+ <meta name="twitter:description" content="ForgeCAD turns prompts, JavaScript, and product ideas into editable parametric CAD with agent validation and manufacturing exports.">
32
33
  <meta name="twitter:image" content="https://forgecad.io/brand/social-card.png">
33
34
  <meta name="twitter:image:alt" content="ForgeCAD logo">
34
35
  <script type="application/ld+json">
35
36
  {
36
37
  "@context": "https://schema.org",
37
- "@type": "Organization",
38
- "name": "ForgeCAD",
39
- "url": "https://forgecad.io/",
40
- "logo": "https://forgecad.io/android-chrome-512x512.png"
38
+ "@graph": [
39
+ {
40
+ "@type": "Organization",
41
+ "@id": "https://forgecad.io/#organization",
42
+ "name": "ForgeCAD",
43
+ "url": "https://forgecad.io/",
44
+ "logo": "https://forgecad.io/android-chrome-512x512.png",
45
+ "sameAs": [
46
+ "https://github.com/KoStard/forgecad-public-kit",
47
+ "https://x.com/ForgeCAD"
48
+ ]
49
+ },
50
+ {
51
+ "@type": "WebSite",
52
+ "@id": "https://forgecad.io/#website",
53
+ "name": "ForgeCAD",
54
+ "url": "https://forgecad.io/",
55
+ "publisher": { "@id": "https://forgecad.io/#organization" },
56
+ "description": "AI-native CAD for editable, manufacturable parametric models."
57
+ },
58
+ {
59
+ "@type": "SoftwareApplication",
60
+ "@id": "https://forgecad.io/#software",
61
+ "name": "ForgeCAD",
62
+ "url": "https://forgecad.io/",
63
+ "applicationCategory": "DesignApplication",
64
+ "operatingSystem": "Web, macOS, Windows, Linux",
65
+ "softwareVersion": "0.9.14",
66
+ "description": "AI-native parametric CAD with JavaScript model files, CLI validation, inspection evidence, and manufacturing exports."
67
+ }
68
+ ]
41
69
  }
42
70
  </script>
43
71
  <!-- Google Analytics -->
@@ -55,8 +83,8 @@
55
83
  * { margin: 0; padding: 0; box-sizing: border-box; }
56
84
  html, body, #root { width: 100%; min-height: 100%; background: var(--fc-bg); color: var(--fc-text); font-family: system-ui, -apple-system, sans-serif; }
57
85
  </style>
58
- <script type="module" crossorigin src="/assets/app-BUZqJvSO.js"></script>
59
- <link rel="stylesheet" crossorigin href="/assets/app-CsHnaBWt.css">
86
+ <script type="module" crossorigin src="/assets/app-D3kDkggg.js"></script>
87
+ <link rel="stylesheet" crossorigin href="/assets/app-CE3sYcV7.css">
60
88
  </head>
61
89
  <body>
62
90
  <div id="root"></div>
package/dist/llms.txt CHANGED
@@ -10,6 +10,7 @@ For coding agents, start with the welcome guide and AI Usage guide, then read th
10
10
 
11
11
  - [ForgeCAD browser app](https://forgecad.io/): Hosted CAD workbench for editing, previewing, sharing, and publishing parametric models.
12
12
  - [Welcome guide](https://forgecad.io/docs-raw/welcome.md): Project setup, local editor, browser sync, and the first AI loop.
13
+ - [AI-native CAD workflow](https://forgecad.io/docs-raw/AI/ai-native-cad.md): Editable code, validation evidence, manufacturing feedback, and parallel product idea iteration.
13
14
  - [AI Usage guide](https://forgecad.io/docs-raw/AI/usage.md): Approved models, project-first agent setup, skills, validation gates, quality prompts, and recording ideas.
14
15
  - [Documentation home](https://forgecad.io/docs): Human-readable documentation with search and navigation.
15
16
  - [CLI reference](https://forgecad.io/docs-raw/CLI.md): Install, login, create projects, open studios with explicit paths, run scripts, render, export, inspect, and sync.
@@ -61,6 +62,13 @@ For coding agents, start with the welcome guide and AI Usage guide, then read th
61
62
  - [Sitemap](https://forgecad.io/sitemap.xml): Public route inventory for crawlers.
62
63
  - [robots.txt](https://forgecad.io/robots.txt): Crawler access policy for forgecad.io.
63
64
 
65
+ ## Legal
66
+
67
+ - [Terms of Service](https://forgecad.io/docs-raw/legal/terms.md): Account, service, commercial-use, Enterprise, automation, and AI-use terms.
68
+ - [Privacy Policy](https://forgecad.io/docs-raw/legal/privacy.md): How ForgeCAD collects, uses, stores, and protects account, project, billing, and service data.
69
+ - [Software License](https://forgecad.io/docs-raw/legal/software-license.md): License terms for Free, Pro, Enterprise, embedded, backend, and AI workflows.
70
+ - [Browser legal pages](https://forgecad.io/terms): Human-readable Terms, Privacy Policy, and Software License navigation.
71
+
64
72
  ## Optional
65
73
 
66
74
  - [Wood API](https://forgecad.io/docs-raw/generated/wood.md): Wood board helpers and joinery-specific API surface.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ForgeCAD",
3
3
  "short_name": "ForgeCAD",
4
- "description": "Code-first parametric CAD for JavaScript and the browser.",
4
+ "description": "AI-native parametric CAD for editable, manufacturable models.",
5
5
  "icons": [
6
6
  {
7
7
  "src": "/android-chrome-192x192.png",