forgecad 0.10.0 → 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.
Files changed (58) hide show
  1. package/dist/assets/{AdminPage-DwYHz72L.js → AdminPage-DcCnj0qo.js} +1 -1
  2. package/dist/assets/{BenchmarkPage-a9_f-1US.js → BenchmarkPage-BVEpJSVk.js} +1 -1
  3. package/dist/assets/{BlogPage-DodHpvmf.js → BlogPage-DHaGP50_.js} +1 -1
  4. package/dist/assets/{DocsPage-B5LePEuj.js → DocsPage-CDoxHkz8.js} +33 -2
  5. package/dist/assets/{EditorApp-QXsAISLR.js → EditorApp-BJ0Dloyh.js} +174 -35
  6. package/dist/assets/{EmbedViewer-DdEHGUMU.js → EmbedViewer-CRKZbY0y.js} +2 -2
  7. package/dist/assets/{LandingPageProofDriven-yhhOodbf.js → LandingPageProofDriven-BxHkYRE7.js} +1 -1
  8. package/dist/assets/{LegalPage-5RbKRGYK.js → LegalPage-B-u6FrVv.js} +1 -1
  9. package/dist/assets/{PricingPage-E3Rma7aV.js → PricingPage-CzpZ6-Ce.js} +1 -1
  10. package/dist/assets/{SettingsPage-BJZcM97j.js → SettingsPage-CIZSSAd0.js} +1 -1
  11. package/dist/assets/{app-CE3sYcV7.css → app-CjsbDlb7.css} +143 -0
  12. package/dist/assets/{app-DSYrDg0V.js → app-DaTMg3nH.js} +612 -120
  13. package/dist/assets/cli/{render-ZMHR9HkV.js → render-DPf4AYJK.js} +38 -16
  14. package/dist/assets/{evalWorker-DbNs7Dkp.js → evalWorker-CjZZWRWW.js} +1428 -1038
  15. package/dist/assets/{jointPose-DO6mnXn_.js → jointPose-DzQOViQH.js} +1 -1
  16. package/dist/assets/{manifold-BGlQBBH9.js → manifold-BYlzU521.js} +1 -1
  17. package/dist/assets/{manifold-fy2MV7K1.js → manifold-DgXo0T5P.js} +2 -2
  18. package/dist/assets/{manifold-BU-tJwQh.js → manifold-K1SkarlQ.js} +1 -1
  19. package/dist/assets/{reportWorker-DO6hcQbh.js → reportWorker-B9nWwSrB.js} +1402 -1012
  20. package/dist/assets/{scalar-sampling-budget-o90NSNmF.js → scalar-sampling-budget-prBw_s8t.js} +2139 -1749
  21. package/dist/cli/render.html +1 -1
  22. package/dist/docs/index.html +2 -2
  23. package/dist/docs-raw/CLI.md +18 -3
  24. package/dist/docs-raw/generated/assembly.md +70 -5
  25. package/dist/docs-raw/generated/concepts.md +16 -2
  26. package/dist/docs-raw/generated/core.md +9 -2
  27. package/dist/docs-raw/generated/lib.md +1 -1
  28. package/dist/docs-raw/generated/output.md +14 -43
  29. package/dist/docs-raw/generated/runtime-names.md +4 -4
  30. package/dist/docs-raw/guides/simready-quickstart.md +171 -0
  31. package/dist/docs-raw/simulation-workflow.md +273 -0
  32. package/dist/index.html +2 -2
  33. package/dist/sitemap.xml +25 -13
  34. package/dist-cli/{check-compiler-JTVBITCR.js → check-compiler-II7NLPAB.js} +1 -1
  35. package/dist-cli/{check-query-propagation-3FFLSMVN.js → check-query-propagation-7462TR3R.js} +1 -1
  36. package/dist-cli/{chunk-OAN5T4XD.js → chunk-UWTJCGXF.js} +1455 -722
  37. package/dist-cli/forgecad.js +2994 -529
  38. package/dist-skill/CONTEXT.md +94 -55
  39. package/dist-skill/docs/API/core/concepts.md +1 -1
  40. package/dist-skill/docs/CLI.md +18 -3
  41. package/dist-skill/docs/generated/assembly.md +66 -5
  42. package/dist-skill/docs/generated/core.md +9 -2
  43. package/dist-skill/docs/generated/lib.md +1 -1
  44. package/dist-skill/docs/generated/output.md +14 -43
  45. package/dist-skill/docs/generated/runtime-names.md +4 -4
  46. package/examples/robotics/README.md +46 -0
  47. package/examples/robotics/scout-cam-rover-simready/README.md +119 -0
  48. package/examples/robotics/scout-cam-rover-simready/lib/dims.js +140 -0
  49. package/examples/robotics/scout-cam-rover-simready/main.forge.js +343 -0
  50. package/examples/robotics/scout-cam-rover-simready/parts/body.forge.js +304 -0
  51. package/examples/robotics/scout-cam-rover-simready/parts/chassis.forge.js +320 -0
  52. package/examples/robotics/scout-cam-rover-simready/parts/hardware.forge.js +21 -0
  53. package/examples/robotics/scout-cam-rover-simready/parts/turret.forge.js +70 -0
  54. package/examples/robotics/scout-cam-rover-simready/parts/wheel.forge.js +116 -0
  55. package/examples/robotics/simready-asset-crate.forge.js +79 -0
  56. package/examples/robotics/simready-diff-drive-rover.forge.js +141 -0
  57. package/examples/robotics/simready-parallel-gripper.forge.js +102 -0
  58. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "./vendor-react-6j1Kke-Y.js";
2
- import { cD as initKernel, cE as initSolverWasm } from "./scalar-sampling-budget-o90NSNmF.js";
3
- import { g as useForgeStore, au as getExternalUrl, av as getGistId, n as fetchUrlModel, l as fetchGistModel, aA as buildShareUrl, B as BrandMark, aw as Viewport } from "./app-DSYrDg0V.js";
2
+ import { cD as initKernel, cE as initSolverWasm } from "./scalar-sampling-budget-prBw_s8t.js";
3
+ import { g as useForgeStore, av as getExternalUrl, aw as getGistId, n as fetchUrlModel, l as fetchGistModel, aB as buildShareUrl, B as BrandMark, ax as Viewport } from "./app-DaTMg3nH.js";
4
4
  function EmbedViewer() {
5
5
  const kernelReady = useForgeStore((s) => s.kernelReady);
6
6
  const setKernelReady = useForgeStore((s) => s.setKernelReady);
@@ -1,5 +1,5 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports, L as Link } from "./vendor-react-6j1Kke-Y.js";
2
- import { B as BrandMark } from "./app-DSYrDg0V.js";
2
+ import { B as BrandMark } from "./app-DaTMg3nH.js";
3
3
  import { L as LEGAL_COPYRIGHT_NOTICE, a as LEGAL_LINKS } from "./legalContent-ZfFGMmi4.js";
4
4
  import { u as usePageBackground } from "./landing-proof-driven-DiGqdtWa.js";
5
5
  const LINKS = {
@@ -1,5 +1,5 @@
1
1
  import { j as jsxRuntimeExports, L as Link } from "./vendor-react-6j1Kke-Y.js";
2
- import { B as BrandMark } from "./app-DSYrDg0V.js";
2
+ import { B as BrandMark } from "./app-DaTMg3nH.js";
3
3
  import { a as LEGAL_LINKS, b as LEGAL_DOCUMENTS } from "./legalContent-ZfFGMmi4.js";
4
4
  import { u as usePageBackground } from "./landing-proof-driven-DiGqdtWa.js";
5
5
  function LegalPage({ documentId }) {
@@ -1,5 +1,5 @@
1
1
  import { f as useNavigate, r as reactExports, j as jsxRuntimeExports, L as Link } from "./vendor-react-6j1Kke-Y.js";
2
- import { u as useAuthStore, b as authFetch, B as BrandMark } from "./app-DSYrDg0V.js";
2
+ import { u as useAuthStore, b as authFetch, B as BrandMark } from "./app-DaTMg3nH.js";
3
3
  import { L as LEGAL_COPYRIGHT_NOTICE, a as LEGAL_LINKS } from "./legalContent-ZfFGMmi4.js";
4
4
  import { C as COMMERCIAL_USE_CASES } from "./copy-DQcpKfiX.js";
5
5
  import { u as usePageBackground } from "./landing-proof-driven-DiGqdtWa.js";
@@ -1,5 +1,5 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports, L as Link } from "./vendor-react-6j1Kke-Y.js";
2
- import { u as useAuthStore, b as authFetch, s as storageUsagePercent, f as formatStorageBytes } from "./app-DSYrDg0V.js";
2
+ import { u as useAuthStore, b as authFetch, s as storageUsagePercent, f as formatStorageBytes } from "./app-DaTMg3nH.js";
3
3
  import { C as COMMERCIAL_USE_CASES, P as PRO_STORAGE_UPGRADE_COPY } from "./copy-DQcpKfiX.js";
4
4
  function timeAgo(dateStr) {
5
5
  const ms = Date.now() - new Date(dateStr).getTime();
@@ -1152,6 +1152,28 @@ button:disabled {
1152
1152
  opacity: 0.92;
1153
1153
  }
1154
1154
 
1155
+ :root[data-fc-hud-theme="shield"] .fc-toolbar-glyph--code::before {
1156
+ top: 3px;
1157
+ left: 1px;
1158
+ width: 5px;
1159
+ height: 5px;
1160
+ border-left: 1px solid var(--fc-accent);
1161
+ border-bottom: 1px solid var(--fc-accent);
1162
+ box-shadow: -2px 2px 8px rgba(54, 232, 255, 0.25);
1163
+ transform: rotate(45deg);
1164
+ }
1165
+
1166
+ :root[data-fc-hud-theme="shield"] .fc-toolbar-glyph--code::after {
1167
+ top: 3px;
1168
+ right: 1px;
1169
+ width: 5px;
1170
+ height: 5px;
1171
+ border-right: 1px solid var(--fc-accent);
1172
+ border-top: 1px solid var(--fc-accent);
1173
+ box-shadow: 2px -2px 8px rgba(54, 232, 255, 0.25);
1174
+ transform: rotate(45deg);
1175
+ }
1176
+
1155
1177
  :root[data-fc-hud-theme="shield"] .fc-toolbar-glyph--measure::before {
1156
1178
  top: 6px;
1157
1179
  left: 1px;
@@ -1268,6 +1290,127 @@ button:disabled {
1268
1290
  display: none;
1269
1291
  }
1270
1292
 
1293
+ .fc-view-cube {
1294
+ --fc-view-cube-edge: rgba(235, 250, 255, 0.52);
1295
+ --fc-view-cube-edge-hot: color-mix(in srgb, var(--fc-accent) 68%, #ffffff);
1296
+ --fc-view-cube-face-dim: color-mix(in srgb, var(--fc-bgSurface) 74%, var(--fc-accent) 26%);
1297
+ --fc-view-cube-face-lit: rgba(245, 251, 255, 0.42);
1298
+ --fc-view-cube-face-hot: color-mix(in srgb, var(--fc-view-cube-face-lit) 68%, var(--fc-accent));
1299
+ --fc-view-cube-face-active: color-mix(in srgb, var(--fc-bgInput) 72%, var(--fc-accent) 28%);
1300
+ --fc-view-cube-label: rgba(245, 251, 255, 0.9);
1301
+ --fc-view-cube-filter: drop-shadow(0 0 10px color-mix(in srgb, var(--fc-accent) 24%, transparent))
1302
+ drop-shadow(0 14px 18px rgba(0, 0, 0, 0.34));
1303
+ --fc-view-cube-filter-hover: drop-shadow(0 0 14px color-mix(in srgb, var(--fc-accent) 30%, transparent))
1304
+ drop-shadow(0 16px 22px rgba(0, 0, 0, 0.4));
1305
+ --fc-view-cube-filter-drag: drop-shadow(0 0 18px color-mix(in srgb, var(--fc-accent) 36%, transparent))
1306
+ drop-shadow(0 18px 28px rgba(0, 0, 0, 0.48));
1307
+ position: absolute;
1308
+ top: 14px;
1309
+ right: 14px;
1310
+ z-index: 12;
1311
+ width: 116px;
1312
+ height: 116px;
1313
+ pointer-events: auto;
1314
+ cursor: grab;
1315
+ filter: var(--fc-view-cube-filter);
1316
+ transition:
1317
+ filter 140ms ease,
1318
+ transform 140ms ease;
1319
+ user-select: none;
1320
+ }
1321
+
1322
+ .fc-view-cube:hover {
1323
+ filter: var(--fc-view-cube-filter-hover);
1324
+ transform: translateY(-1px);
1325
+ }
1326
+
1327
+ .fc-view-cube.dragging {
1328
+ cursor: grabbing;
1329
+ filter: var(--fc-view-cube-filter-drag);
1330
+ transform: scale(1.018);
1331
+ }
1332
+
1333
+ .fc-view-cube-svg {
1334
+ display: block;
1335
+ width: 116px;
1336
+ height: 116px;
1337
+ overflow: visible;
1338
+ }
1339
+
1340
+ .fc-view-cube-face {
1341
+ cursor: pointer;
1342
+ outline: none;
1343
+ }
1344
+
1345
+ .fc-view-cube .fc-view-cube-face:active {
1346
+ transform: none;
1347
+ }
1348
+
1349
+ .fc-view-cube-face polygon {
1350
+ stroke: var(--fc-view-cube-edge);
1351
+ stroke-width: 1;
1352
+ transition:
1353
+ fill 120ms ease,
1354
+ stroke 120ms ease,
1355
+ stroke-width 120ms ease;
1356
+ vector-effect: non-scaling-stroke;
1357
+ }
1358
+
1359
+ .fc-view-cube-face:hover polygon,
1360
+ .fc-view-cube-face:focus-visible polygon {
1361
+ fill: var(--fc-view-cube-face-hot);
1362
+ stroke: var(--fc-view-cube-edge-hot);
1363
+ stroke-width: 1.8;
1364
+ }
1365
+
1366
+ .fc-view-cube-face.active polygon {
1367
+ fill: var(--fc-view-cube-face-active);
1368
+ stroke: var(--fc-view-cube-edge-hot);
1369
+ stroke-width: 1.8;
1370
+ }
1371
+
1372
+ .fc-view-cube-face-label {
1373
+ fill: var(--fc-view-cube-label);
1374
+ font-family: var(--fc-hud-font, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
1375
+ font-size: 10px;
1376
+ font-weight: 800;
1377
+ letter-spacing: 0;
1378
+ pointer-events: none;
1379
+ text-anchor: middle;
1380
+ dominant-baseline: central;
1381
+ }
1382
+
1383
+ :root[data-fc-theme="light"] .fc-view-cube,
1384
+ :root[data-fc-theme="kanagawa-lotus"] .fc-view-cube,
1385
+ :root[data-fc-theme="shield-light"] .fc-view-cube {
1386
+ --fc-view-cube-edge: color-mix(in srgb, #82929f 72%, var(--fc-accent) 28%);
1387
+ --fc-view-cube-edge-hot: color-mix(in srgb, var(--fc-accent) 66%, #30424e);
1388
+ --fc-view-cube-face-dim: #cfd9df;
1389
+ --fc-view-cube-face-lit: color-mix(in srgb, #ffffff 82%, var(--fc-accent) 18%);
1390
+ --fc-view-cube-face-hot: color-mix(in srgb, #e6edf1 74%, var(--fc-accent) 26%);
1391
+ --fc-view-cube-face-active: #b9c7cf;
1392
+ --fc-view-cube-label: #30424e;
1393
+ --fc-view-cube-filter: drop-shadow(0 12px 20px rgba(14, 32, 44, 0.18));
1394
+ --fc-view-cube-filter-hover: drop-shadow(0 14px 24px rgba(14, 32, 44, 0.24));
1395
+ --fc-view-cube-filter-drag: drop-shadow(0 16px 28px rgba(14, 32, 44, 0.3));
1396
+ }
1397
+
1398
+ :root[data-fc-theme="shield"] .fc-view-cube {
1399
+ --fc-view-cube-edge: color-mix(in srgb, var(--fc-accent) 68%, #ffffff 32%);
1400
+ --fc-view-cube-edge-hot: color-mix(in srgb, var(--fc-accent) 78%, #ffffff);
1401
+ --fc-view-cube-face-dim: #10283e;
1402
+ --fc-view-cube-face-lit: color-mix(in srgb, #294968 62%, var(--fc-accent) 38%);
1403
+ --fc-view-cube-face-hot: color-mix(in srgb, #294968 48%, var(--fc-accent) 52%);
1404
+ --fc-view-cube-face-active: #0c2237;
1405
+ --fc-view-cube-label: #def4ff;
1406
+ --fc-view-cube-filter: drop-shadow(0 0 12px color-mix(in srgb, var(--fc-accent) 42%, transparent))
1407
+ drop-shadow(0 16px 20px rgba(0, 12, 18, 0.58));
1408
+ --fc-view-cube-filter-hover: drop-shadow(0 0 16px color-mix(in srgb, var(--fc-accent) 50%, transparent))
1409
+ drop-shadow(0 18px 24px rgba(0, 12, 18, 0.64));
1410
+ --fc-view-cube-filter-drag: drop-shadow(0 0 20px color-mix(in srgb, var(--fc-accent) 58%, transparent))
1411
+ drop-shadow(0 20px 30px rgba(0, 12, 18, 0.68));
1412
+ }
1413
+
1271
1414
  :root[data-fc-hud-theme="shield"] .fc-viewport-shell {
1272
1415
  isolation: isolate;
1273
1416
  overflow: hidden;