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
@@ -7569,14 +7569,16 @@ function createScanProxyGeometry(source, options = {}) {
7569
7569
  addLookup(lookup, shell, "shell");
7570
7570
  addLookup(lookup, hiddenInterior, "core");
7571
7571
  const shellMesh = buildCellGeometry(shell, "shell", spec, lookup);
7572
+ const cellCenters = buildCellCenterGeometry(shell, spec);
7572
7573
  const coreMesh = { geometry: null, faces: 0 };
7573
7574
  const signalMesh = { geometry: null, faces: 0 };
7574
7575
  applyOutputMatrix(shellMesh.geometry, options.outputMatrix);
7576
+ applyOutputMatrix(cellCenters, options.outputMatrix);
7575
7577
  applyOutputMatrix(coreMesh.geometry, options.outputMatrix);
7576
7578
  applyOutputMatrix(signalMesh.geometry, options.outputMatrix);
7577
7579
  const sourceBytes = options.sourceBytes ?? scanProxySourceBytes(source);
7578
7580
  const proxyTriangles = (shellMesh.faces + coreMesh.faces + signalMesh.faces) * 2;
7579
- const proxyBytes = geometryBytes(shellMesh.geometry) + geometryBytes(coreMesh.geometry) + geometryBytes(signalMesh.geometry);
7581
+ const proxyBytes = geometryBytes(shellMesh.geometry) + geometryBytes(coreMesh.geometry) + geometryBytes(signalMesh.geometry) + geometryBytes(cellCenters);
7580
7582
  const isTriangleLighter = proxyTriangles < sourceTriangles;
7581
7583
  const isByteLighter = proxyBytes < sourceBytes;
7582
7584
  return {
@@ -7585,6 +7587,7 @@ function createScanProxyGeometry(source, options = {}) {
7585
7587
  core: coreMesh.geometry,
7586
7588
  signal: signalMesh.geometry
7587
7589
  },
7590
+ cellCenters,
7588
7591
  cellSize: spec.cellSize,
7589
7592
  cells: {
7590
7593
  shell: shell.size,
@@ -7629,13 +7632,16 @@ function scanProxyPayloadTransferables(payload) {
7629
7632
  if (!layer) continue;
7630
7633
  transferables.push(layer.positions.buffer, layer.normals.buffer);
7631
7634
  }
7635
+ if (payload.cellCenters) transferables.push(payload.cellCenters.positions.buffer);
7632
7636
  return transferables;
7633
7637
  }
7634
7638
  function disposeScanProxyGeometry(proxy) {
7639
+ var _a;
7635
7640
  if (!proxy) return;
7636
7641
  for (const geometry of Object.values(proxy.geometries)) {
7637
7642
  geometry == null ? void 0 : geometry.dispose();
7638
7643
  }
7644
+ (_a = proxy.cellCenters) == null ? void 0 : _a.dispose();
7639
7645
  }
7640
7646
  function scanProxyGeometryToPayload(proxy) {
7641
7647
  return {
@@ -7644,12 +7650,21 @@ function scanProxyGeometryToPayload(proxy) {
7644
7650
  core: layerPayloadFromGeometry(proxy.geometries.core),
7645
7651
  signal: layerPayloadFromGeometry(proxy.geometries.signal)
7646
7652
  },
7653
+ cellCenters: pointPayloadFromGeometry(proxy.cellCenters),
7647
7654
  cellSize: proxy.cellSize,
7648
7655
  cells: proxy.cells,
7649
7656
  faces: proxy.faces,
7650
7657
  telemetry: proxy.telemetry
7651
7658
  };
7652
7659
  }
7660
+ function pointPayloadFromGeometry(geometry) {
7661
+ if (!geometry) return null;
7662
+ const positions = geometry.getAttribute("position");
7663
+ if (!positions) return null;
7664
+ return {
7665
+ positions: positions.array
7666
+ };
7667
+ }
7653
7668
  function layerPayloadFromGeometry(geometry) {
7654
7669
  if (!geometry) return null;
7655
7670
  const positions = geometry.getAttribute("position");
@@ -7660,6 +7675,22 @@ function layerPayloadFromGeometry(geometry) {
7660
7675
  normals: normals.array
7661
7676
  };
7662
7677
  }
7678
+ function buildCellCenterGeometry(cells, spec) {
7679
+ if (cells.size === 0) return null;
7680
+ const positions = new Float32Array(cells.size * 3);
7681
+ let index = 0;
7682
+ for (const cell of cells.values()) {
7683
+ const center = cellCenter(cell, spec);
7684
+ positions[index] = center.x;
7685
+ positions[index + 1] = center.y;
7686
+ positions[index + 2] = center.z;
7687
+ index += 3;
7688
+ }
7689
+ const geometry = new BufferGeometry();
7690
+ geometry.setAttribute("position", new BufferAttribute(positions, 3));
7691
+ geometry.computeBoundingSphere();
7692
+ return geometry;
7693
+ }
7663
7694
  function sampleShellCells(source, position, triangleCount, spec, sourceMatrix) {
7664
7695
  const shell = /* @__PURE__ */ new Map();
7665
7696
  const index = source.index;
@@ -1,4 +1,4 @@
1
- import { b_ as parseViewportCameraState } from "./scalar-sampling-budget-D9Qv_UlJ.js";
1
+ import { c2 as parseViewportCameraState } from "./scalar-sampling-budget-wJF98aY9.js";
2
2
  const roundNumber = (value, digits) => {
3
3
  const scale = 10 ** digits;
4
4
  return Math.round(value * scale) / scale;
@@ -124,8 +124,34 @@ function formatRenderSceneCliSpec(state, digits = 3) {
124
124
  }
125
125
  return JSON.stringify(formatted);
126
126
  }
127
+ const cleanSceneTargetPathSegments = (segments) => (segments ?? []).map((segment) => segment.trim()).filter((segment) => segment.length > 0);
128
+ function getSceneObjectTreePath(object) {
129
+ var _a;
130
+ const explicitTreePath = cleanSceneTargetPathSegments(object.treePath);
131
+ if (explicitTreePath.length > 0) return explicitTreePath;
132
+ const name = object.name.trim() || object.id;
133
+ const groupName = (_a = object.groupName) == null ? void 0 : _a.trim();
134
+ if (!groupName) return [name];
135
+ const groupPath = groupName.split(".").map((segment) => segment.trim()).filter((segment) => segment.length > 0);
136
+ const prefixedLeaf = `${groupName}.`;
137
+ if (name.startsWith(prefixedLeaf)) {
138
+ const leafName = name.slice(prefixedLeaf.length).trim();
139
+ return [...groupPath, leafName || name];
140
+ }
141
+ return [...groupPath, name];
142
+ }
143
+ function getSceneObjectKind(object) {
144
+ if (object.mock) return "mock";
145
+ if (object.sketch) return "sketch";
146
+ if (object.toolpath) return "toolpath";
147
+ if (object.sdf) return "sdf";
148
+ if (object.shape) return "shape";
149
+ return "object";
150
+ }
127
151
  export {
152
+ getSceneObjectKind as a,
128
153
  formatRenderSceneCliSpec as f,
154
+ getSceneObjectTreePath as g,
129
155
  mergeViewportRenderSceneStates as m,
130
156
  parseRenderSceneCliSpec as p
131
157
  };
@@ -15171,12 +15171,13 @@ export {
15171
15171
  reactDomExports as d,
15172
15172
  useSearchParams as e,
15173
15173
  useNavigate as f,
15174
- Routes as g,
15175
- Route as h,
15176
- getDefaultExportFromCjs as i,
15174
+ useLocation as g,
15175
+ Routes as h,
15176
+ Route as i,
15177
15177
  jsxRuntimeExports as j,
15178
- getAugmentedNamespace as k,
15179
- commonjsGlobal as l,
15178
+ getDefaultExportFromCjs as k,
15179
+ getAugmentedNamespace as l,
15180
+ commonjsGlobal as m,
15180
15181
  reactExports as r,
15181
15182
  schedulerExports as s,
15182
15183
  useParams as u
@@ -1,6 +1,6 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
- <head><title>ForgeCAD Headless Render</title> <script type="module" crossorigin src="/assets/cli/render-lhGxj50Y.js"></script>
3
+ <head><title>ForgeCAD Headless Render</title> <script type="module" crossorigin src="/assets/cli/render-DSY3mMQa.js"></script>
4
4
  </head>
5
5
  <body>
6
6
  <canvas id="canvas" width="1024" height="1024"></canvas>