forgecad 0.10.4 → 0.10.5

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 (64) hide show
  1. package/dist/assets/{AdminPage-B3L3W1Uo.js → AdminPage-raksfnNA.js} +1 -1
  2. package/dist/assets/{BenchmarkPage-DXKVXMrJ.js → BenchmarkPage-DP3RxhPs.js} +2 -2
  3. package/dist/assets/{BlogPage-B7BWxOCg.js → BlogPage-D7Dos-vl.js} +1 -1
  4. package/dist/assets/{DocsPage-BPGGwht1.js → DocsPage-DO1kvBns.js} +7 -1
  5. package/dist/assets/{EditorApp-BWUGCdD5.js → EditorApp-DQJmcmRT.js} +9 -8
  6. package/dist/assets/{EmbedViewer-DygByZS2.js → EmbedViewer-DFDUhOma.js} +2 -2
  7. package/dist/assets/{LandingPageProofDriven-BoVE7JGY.js → LandingPageProofDriven-DbE_tp8-.js} +2 -2
  8. package/dist/assets/{LegalPage-Din8wv8d.js → LegalPage-CominSso.js} +2 -2
  9. package/dist/assets/{PricingPage-C2PMzmDc.js → PricingPage-CcVIN9yj.js} +2 -2
  10. package/dist/assets/{SettingsPage-BlJDCRe8.js → SettingsPage-DLWcP289.js} +1 -1
  11. package/dist/assets/{app-BsRYSfxY.js → app-xW3hOdq9.js} +1135 -320
  12. package/dist/assets/{backendInit-6C0DLgH0.js → backendInit-mDHk97u7.js} +6630 -2493
  13. package/dist/assets/cli/{render-XXol_ET7.js → render--SIU27W_.js} +1263 -112
  14. package/dist/assets/{constructionHistoryWorker-cTHWRJEi.js → constructionHistoryWorker-uEe_Q7Kg.js} +1861 -610
  15. package/dist/assets/{evalWorker-BssDYW9u.js → evalWorker-BqyDHDcI.js} +6254 -2177
  16. package/dist/assets/{forgecad_geometry-CZ_IfuvA.js → forgecad_geometry-D8rWX7nQ.js} +1 -1
  17. package/dist/assets/{forgecad_geometry_bg-C3rQHfwg.wasm → forgecad_geometry_bg-ObqfqjJT.wasm} +0 -0
  18. package/dist/assets/{inspectWorker-ymhBV4Ll.js → inspectWorker-UXMxlcR8.js} +2738 -742
  19. package/dist/assets/{jointPose-B0blBj9A.js → jointPose-bYMlwU3v.js} +1 -1
  20. package/dist/assets/{landing-proof-driven-Cpf-MIbI.css → landing-proof-driven-_u4v_xQb.css} +2 -2
  21. package/dist/assets/{manifold-B_7QXpGB.js → manifold-BR7UYI4P.js} +1 -1
  22. package/dist/assets/{manifold-CYlIm-M6.js → manifold-CyOV5B9S.js} +2 -2
  23. package/dist/assets/{manifold-CNShmpEJ.js → manifold-D4d5NQst.js} +1 -1
  24. package/dist/assets/{reportWorker-Cb5eyM7D.js → reportWorker-DsaICZsn.js} +6010 -2032
  25. package/dist/cli/render.html +1 -1
  26. package/dist/docs/index.html +2 -2
  27. package/dist/docs-raw/CLI.md +4 -2
  28. package/dist/docs-raw/generated/assembly.md +76 -3
  29. package/dist/docs-raw/generated/concepts.md +31 -4
  30. package/dist/docs-raw/generated/core.md +159 -21
  31. package/dist/docs-raw/generated/curves.md +344 -6
  32. package/dist/docs-raw/generated/runtime-names.md +12 -12
  33. package/dist/docs-raw/generated/sketch.md +16 -3
  34. package/dist/docs-raw/guides/inspection-bundles.md +4 -2
  35. package/dist/docs-raw/guides/structural-fea.md +224 -0
  36. package/dist/docs-raw/skills/forgecad.md +1 -0
  37. package/dist/index.html +1 -1
  38. package/dist/sitemap.xml +15 -15
  39. package/dist-cli/{check-compiler-4RPB6SB5.js → check-compiler-7YAHVXYM.js} +1 -1
  40. package/dist-cli/{check-query-propagation-KN3DFQTX.js → check-query-propagation-ZRR6IOJW.js} +1 -1
  41. package/dist-cli/{chunk-UHBRMYA6.js → chunk-VNM67DIV.js} +6489 -2333
  42. package/dist-cli/forgecad.js +5258 -717
  43. package/dist-cli/forgecad_geometry_bg.wasm +0 -0
  44. package/dist-skill/CONTEXT.md +827 -45
  45. package/dist-skill/SKILL.md +1 -0
  46. package/dist-skill/docs/CLI.md +4 -2
  47. package/dist-skill/docs/generated/assembly.md +73 -3
  48. package/dist-skill/docs/generated/core.md +159 -21
  49. package/dist-skill/docs/generated/curves.md +343 -6
  50. package/dist-skill/docs/generated/runtime-names.md +12 -12
  51. package/dist-skill/docs/generated/sketch.md +16 -3
  52. package/dist-skill/docs/guides/inspection-bundles.md +4 -2
  53. package/dist-skill/docs/guides/structural-fea.md +224 -0
  54. package/dist-skill/website/skills/forgecad.md +1 -0
  55. package/examples/analysis/structural-stress-fea.forge.js +19 -0
  56. package/examples/api/blend-full-round.forge.js +37 -0
  57. package/examples/api/blend-variable-radius.forge.js +51 -0
  58. package/examples/api/curve-project-and-intersect.forge.js +59 -0
  59. package/examples/api/extrude-up-to-face.forge.js +47 -0
  60. package/examples/api/spoon-full-tang-handle.forge.js +148 -0
  61. package/examples/api/surface-boundarynet-dished-bowl.forge.js +63 -0
  62. package/examples/api/surface-fill-interior-constraints.forge.js +59 -0
  63. package/package.json +4 -1
  64. /package/dist/assets/{landing-proof-driven-BxZZh5r5.js → landing-proof-driven-DNPRKL_p.js} +0 -0
@@ -0,0 +1,59 @@
1
+ /**
2
+ * n-sided filled surface pulled onto interior features with `Surface.Fill`.
3
+ *
4
+ * `Surface.Fill` already fills any closed loop of n >= 3 boundary curves
5
+ * (energy-minimizing constrained fill on the OCCT backend). Two optional fields
6
+ * shape the INTERIOR of that fill without changing the rim:
7
+ *
8
+ * - `through` — interior constraint curves the surface must pass through. They
9
+ * are NOT part of the boundary loop; they pull the fill onto an internal
10
+ * feature line (here, a raised diagonal spine/crease).
11
+ * - `points` — isolated interior points the surface must interpolate (here, a
12
+ * single pinned bump lifted above the rim plane).
13
+ *
14
+ * The result is an open sheet, so `.thicken()` turns it into a thin solid.
15
+ * (Interior constraints require the default OCCT exact backend.)
16
+ */
17
+
18
+ scene({
19
+ camera: { position: [120, -150, 110], target: [25, 25, 6], fov: 32 },
20
+ environment: { preset: 'studio' },
21
+ });
22
+
23
+ // A near-planar pentagon rim at z = 0 (five corners, five exact edges).
24
+ const corners = [
25
+ [0, 0, 0],
26
+ [50, 0, 0],
27
+ [62, 38, 0],
28
+ [25, 60, 0],
29
+ [-12, 38, 0],
30
+ ];
31
+
32
+ function edge(a, b) {
33
+ return Curve.Fit([corners[a], corners[b]]);
34
+ }
35
+
36
+ const boundaries = [
37
+ { name: 'a', curve: edge(0, 1) },
38
+ { name: 'b', curve: edge(1, 2) },
39
+ { name: 'c', curve: edge(2, 3) },
40
+ { name: 'd', curve: edge(3, 4) },
41
+ { name: 'e', curve: edge(4, 0) },
42
+ ];
43
+
44
+ // Interior crease the fill must ride over: a raised diagonal spine.
45
+ const spine = Curve.Fit([
46
+ [8, 8, 3],
47
+ [28, 30, 7],
48
+ [50, 48, 3],
49
+ ]);
50
+
51
+ const skin = Surface.Fill({
52
+ boundaries,
53
+ through: [{ curve: spine }], // pull the fill onto the internal feature line
54
+ points: [[22, 14, 6]], // pin an interior bump above the rim plane
55
+ }).thicken(1.2);
56
+
57
+ skin.color('#bcd0d8');
58
+
59
+ return skin;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forgecad",
3
- "version": "0.10.4",
3
+ "version": "0.10.5",
4
4
  "description": "Code-first parametric CAD for JavaScript/TypeScript, in the browser and CLI.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "homepage": "https://forgecad.io",
@@ -44,6 +44,9 @@
44
44
  "export": {
45
45
  "description": "Export Forge models to manufacturing, simulation, and exchange formats."
46
46
  },
47
+ "fea": {
48
+ "description": "Run, inspect, render, compare, and check structural FEA studies."
49
+ },
47
50
  "inspect": {
48
51
  "description": "Inspect ForgeCAD models with targeted visual, physical, and manufacturing evidence."
49
52
  },