@hatiolab/figure-model 0.1.94 → 0.2.0

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 (102) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/asset.d.ts.map +1 -1
  3. package/dist/asset.js +3 -1
  4. package/dist/asset.js.map +1 -1
  5. package/dist/authoring-actions.d.ts +19 -0
  6. package/dist/authoring-actions.d.ts.map +1 -1
  7. package/dist/authoring-actions.js +109 -64
  8. package/dist/authoring-actions.js.map +1 -1
  9. package/dist/command-preview.d.ts +3 -1
  10. package/dist/command-preview.d.ts.map +1 -1
  11. package/dist/command-preview.js +52 -27
  12. package/dist/command-preview.js.map +1 -1
  13. package/dist/cost.d.ts +1 -1
  14. package/dist/cost.d.ts.map +1 -1
  15. package/dist/cost.js +30 -25
  16. package/dist/cost.js.map +1 -1
  17. package/dist/create.d.ts.map +1 -1
  18. package/dist/create.js +112 -31
  19. package/dist/create.js.map +1 -1
  20. package/dist/document.d.ts.map +1 -1
  21. package/dist/document.js +3 -2
  22. package/dist/document.js.map +1 -1
  23. package/dist/editor-workspace.d.ts +38 -0
  24. package/dist/editor-workspace.d.ts.map +1 -1
  25. package/dist/editor-workspace.js +26 -0
  26. package/dist/editor-workspace.js.map +1 -1
  27. package/dist/fixtures/shape-nodes.d.ts +12 -0
  28. package/dist/fixtures/shape-nodes.d.ts.map +1 -0
  29. package/dist/fixtures/shape-nodes.js +20 -0
  30. package/dist/fixtures/shape-nodes.js.map +1 -0
  31. package/dist/follow.d.ts.map +1 -1
  32. package/dist/follow.js +5 -2
  33. package/dist/follow.js.map +1 -1
  34. package/dist/gate.d.ts.map +1 -1
  35. package/dist/gate.js +31 -59
  36. package/dist/gate.js.map +1 -1
  37. package/dist/graph-types.d.ts +7 -6
  38. package/dist/graph-types.d.ts.map +1 -1
  39. package/dist/graph.d.ts +17 -12
  40. package/dist/graph.d.ts.map +1 -1
  41. package/dist/graph.js +24 -292
  42. package/dist/graph.js.map +1 -1
  43. package/dist/index.d.ts +4 -0
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +5 -0
  46. package/dist/index.js.map +1 -1
  47. package/dist/kernel-version.d.ts +1 -1
  48. package/dist/kernel-version.d.ts.map +1 -1
  49. package/dist/kernel-version.js +1 -1
  50. package/dist/kernel-version.js.map +1 -1
  51. package/dist/part-edit.d.ts.map +1 -1
  52. package/dist/part-edit.js +8 -6
  53. package/dist/part-edit.js.map +1 -1
  54. package/dist/proposal.d.ts +1 -1
  55. package/dist/proposal.d.ts.map +1 -1
  56. package/dist/proposal.js +14 -2
  57. package/dist/proposal.js.map +1 -1
  58. package/dist/recipe-from-parts.d.ts.map +1 -1
  59. package/dist/recipe-from-parts.js +107 -24
  60. package/dist/recipe-from-parts.js.map +1 -1
  61. package/dist/render-batches.d.ts.map +1 -1
  62. package/dist/render-batches.js +11 -2
  63. package/dist/render-batches.js.map +1 -1
  64. package/dist/resize-plan.d.ts.map +1 -1
  65. package/dist/resize-plan.js +22 -8
  66. package/dist/resize-plan.js.map +1 -1
  67. package/dist/section.d.ts +164 -0
  68. package/dist/section.d.ts.map +1 -0
  69. package/dist/section.js +277 -0
  70. package/dist/section.js.map +1 -0
  71. package/dist/shape-edit.d.ts +22 -0
  72. package/dist/shape-edit.d.ts.map +1 -0
  73. package/dist/shape-edit.js +225 -0
  74. package/dist/shape-edit.js.map +1 -0
  75. package/dist/shape-features.d.ts +83 -0
  76. package/dist/shape-features.d.ts.map +1 -0
  77. package/dist/shape-features.js +102 -0
  78. package/dist/shape-features.js.map +1 -0
  79. package/dist/shape-ops.d.ts +154 -0
  80. package/dist/shape-ops.d.ts.map +1 -0
  81. package/dist/shape-ops.js +571 -0
  82. package/dist/shape-ops.js.map +1 -0
  83. package/dist/shape-provider.d.ts +16 -23
  84. package/dist/shape-provider.d.ts.map +1 -1
  85. package/dist/shape-provider.js +18 -56
  86. package/dist/shape-provider.js.map +1 -1
  87. package/dist/shape-sampling.d.ts +0 -8
  88. package/dist/shape-sampling.d.ts.map +1 -1
  89. package/dist/shape-sampling.js +67 -101
  90. package/dist/shape-sampling.js.map +1 -1
  91. package/dist/size-edit.js +2 -2
  92. package/dist/size-edit.js.map +1 -1
  93. package/dist/surface.d.ts.map +1 -1
  94. package/dist/surface.js +10 -17
  95. package/dist/surface.js.map +1 -1
  96. package/dist/words.d.ts +7 -0
  97. package/dist/words.d.ts.map +1 -1
  98. package/dist/words.js +7 -0
  99. package/dist/words.js.map +1 -1
  100. package/docs/document-contract.md +1 -1
  101. package/docs/shape-contract.md +439 -0
  102. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAElF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,0BAA0B,CAmBjF;AACD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAG5D;AACD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAIhE"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAElF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,0BAA0B,CAmBjF;AACD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAG5D;AACD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAIhE"}
package/dist/document.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { FIGURE_DOCUMENT_NODE_LIMIT } from "./words.js";
1
2
  import { compileFigureCapabilities } from "./capabilities.js";
2
3
  import { FigureContractError } from "./contract.js";
3
4
  import { assertFigureJson, parseFigureJson, FIGURE_JSON_MAX_BYTES, figureUtf8ByteLength } from "./json.js";
@@ -15,8 +16,8 @@ export function compileFigureDocument(source) {
15
16
  if (figureUtf8ByteLength(JSON.stringify(source)) > FIGURE_JSON_MAX_BYTES)
16
17
  throw new FigureContractError('DOCUMENT_LIMIT', 'document', 'over 1 MiB');
17
18
  const doc = source;
18
- if (!Array.isArray(doc.model?.nodes) || doc.model.nodes.length > 512)
19
- throw new FigureContractError('DOCUMENT_LIMIT', 'document', 'maximum 512 nodes');
19
+ if (!Array.isArray(doc.model?.nodes) || doc.model.nodes.length > FIGURE_DOCUMENT_NODE_LIMIT)
20
+ throw new FigureContractError('DOCUMENT_LIMIT', 'document', `maximum ${FIGURE_DOCUMENT_NODE_LIMIT} nodes`);
20
21
  return compileFigureCapabilities(doc.model, doc.capabilities);
21
22
  }
22
23
  export function serializeFigureDocument(doc) {
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAG1G,MAAM,UAAU,qBAAqB,CAAC,MAAe;IACnD,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACxB,IACE,CAAC,MAAM;QACP,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACrB,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;QAChC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAC1E,CAAC;QACD,MAAM,IAAI,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,4CAA4C,CAAC,CAAA;IACnG,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,oBAAoB;QACzC,MAAM,IAAI,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,8BAA8B,CAAC,CAAA;IACtF,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,qBAAqB;QACtE,MAAM,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IAC3E,MAAM,GAAG,GAAG,MAAmC,CAAA;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG;QAClE,MAAM,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAA;IAClF,OAAO,yBAAyB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;AAC/D,CAAC;AACD,MAAM,UAAU,uBAAuB,CAAC,GAAY;IAClD,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;AAC5B,CAAC;AACD,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IACjC,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAC1B,OAAO,GAAgC,CAAA;AACzC,CAAC"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAG1G,MAAM,UAAU,qBAAqB,CAAC,MAAe;IACnD,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACxB,IACE,CAAC,MAAM;QACP,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACrB,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;QAChC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAC1E,CAAC;QACD,MAAM,IAAI,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,4CAA4C,CAAC,CAAA;IACnG,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,oBAAoB;QACzC,MAAM,IAAI,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,8BAA8B,CAAC,CAAA;IACtF,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,qBAAqB;QACtE,MAAM,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IAC3E,MAAM,GAAG,GAAG,MAAmC,CAAA;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,0BAA0B;QACzF,MAAM,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,EAAE,WAAW,0BAA0B,QAAQ,CAAC,CAAA;IAC5G,OAAO,yBAAyB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;AAC/D,CAAC;AACD,MAAM,UAAU,uBAAuB,CAAC,GAAY;IAClD,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;AAC5B,CAAC;AACD,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IACjC,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAC1B,OAAO,GAAgC,CAAA;AACzC,CAAC"}
@@ -353,6 +353,44 @@ export declare function createFigureEditorWorkspace(): {
353
353
  * author is looking at. No revision, no history, no clip, no consent is touched; the answer names the figure and
354
354
  * version it was worked out on, so the caller drops it once either has moved on.
355
355
  */
356
+ /** Dragging a fixed attachment: detach, move, optionally reattach, in one undo entry. */
357
+ relocateAttached({ context, part, position, attachment, ...q }: FigureEditControl & {
358
+ context: string;
359
+ part: string;
360
+ position: [number, number, number];
361
+ attachment?: Extract<FigureAuthoringAction, {
362
+ kind: "attach";
363
+ }>;
364
+ }): {
365
+ context: null;
366
+ name: null;
367
+ fields: never[];
368
+ geometry: never[];
369
+ bindings: never[];
370
+ dirty: boolean;
371
+ revision: null;
372
+ canUndo?: undefined;
373
+ canRedo?: undefined;
374
+ palette?: undefined;
375
+ } | {
376
+ context: string;
377
+ name: string;
378
+ revision: number;
379
+ dirty: boolean;
380
+ canUndo: boolean;
381
+ canRedo: boolean;
382
+ fields: {
383
+ value: number;
384
+ id: string;
385
+ unit: import("./graph-types.ts").FigureUnit;
386
+ min: number;
387
+ max: number;
388
+ role?: "design" | "state";
389
+ }[];
390
+ geometry: import("./asset-types.ts").FigureAssetGeometry[];
391
+ bindings: import("./asset-types.ts").FigureEvaluatedBinding[];
392
+ palette: Record<string, string>;
393
+ };
356
394
  previewCommand({ context, action }: {
357
395
  context: string;
358
396
  action: FigureAuthoringAction;
@@ -1 +1 @@
1
- {"version":3,"file":"editor-workspace.d.ts","sourceRoot":"","sources":["../src/editor-workspace.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAElF,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAG7E,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AACD,MAAM,WAAW,kBAAkB;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AACD;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAeD,+FAA+F;AAC/F,wBAAgB,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA8D5B,MAAM,uCAA8C,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAkBxC,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAM/B,iBAAiB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAGzC,iBAAiB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAOjC,iBAAiB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,iBAAiB,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAQxD,iBAAiB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,uBAAuB,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQ5G,0GAA0G;sCACxE,iBAAiB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,cAAc,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgB/F;;;;;;;;OAQG;uCACgC,iBAAiB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,qBAAqB,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWzG;;;;OAIG;wCACiC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,qBAAqB,CAAA;KAAE;;;;;;;;;IAKtF;;;OAGG;4CACqC,iBAAiB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAW7F,iBAAiB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAavC,iBAAiB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAgB5D;QACD,OAAO,EAAE,MAAM,CAAA;QACf,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAC/B,GAAG,qBAAqB;kDAQqB,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBtE;AACD,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAClF,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"editor-workspace.d.ts","sourceRoot":"","sources":["../src/editor-workspace.ts"],"names":[],"mappings":"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"}
@@ -159,6 +159,32 @@ export function createFigureEditorWorkspace() {
159
159
  * author is looking at. No revision, no history, no clip, no consent is touched; the answer names the figure and
160
160
  * version it was worked out on, so the caller drops it once either has moved on.
161
161
  */
162
+ /** Dragging a fixed attachment: detach, move, optionally reattach, in one undo entry. */
163
+ relocateAttached({ context, part, position, attachment, ...q }) {
164
+ const a = current(context);
165
+ control(a, q);
166
+ const seen = captureFigureAuthoredInputs(a.asset, a.inputs, { captureStateDefaults: true });
167
+ const joint = seen.joints?.find(j => j.body1.part === part);
168
+ if (!joint || joint.type !== 'fixed' || seen.document.model.nodes.some(n => n.id === `${part}.motion`))
169
+ fail('EDIT_TARGET', 'only a fixed attachment can be relocated by this drag');
170
+ if (position.length !== 3 || !position.every(Number.isFinite))
171
+ fail('EDIT_VALUE', 'finite position required');
172
+ if (attachment && attachment.part !== part)
173
+ fail('EDIT_TARGET', 'attachment must belong to the dragged part');
174
+ let asset = applyFigureAuthoring(seen, { kind: 'detach', part }, q);
175
+ const pose = asset.document.model.nodes.find(n => n.id === `${part}.pose`);
176
+ for (const [i, axis] of ['x', 'y', 'z'].entries()) {
177
+ const id = `${part}.position.${axis}`;
178
+ if (pose?.args[i] !== id || !asset.document.model.inputs.some(v => v.id === id && v.role === 'design'))
179
+ fail('EDIT_TARGET', 'detached position is not independently editable');
180
+ asset.designInputs[id] = position[i];
181
+ }
182
+ if (attachment)
183
+ asset = applyFigureAuthoring(asset, attachment, q);
184
+ const inputs = { ...asset.designInputs, ...asset.stateDefaults };
185
+ install(a, { asset, inputs });
186
+ return read();
187
+ },
162
188
  previewCommand({ context, action }) {
163
189
  const a = current(context);
164
190
  const seen = captureFigureAuthoredInputs(a.asset, a.inputs, { captureStateDefaults: true });
@@ -1 +1 @@
1
- {"version":3,"file":"editor-workspace.js","sourceRoot":"","sources":["../src/editor-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-workspace.js","sourceRoot":"","sources":["../src/editor-workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { FigureGraphConstant, FigureGraphNode } from '../graph-types.ts';
2
+ /** A box of width, height and depth -- values of the graph. */
3
+ export declare const boxNodes: (id: string, [w, h, d]: [string, string, string], frame: string, out: string) => {
4
+ constants: FigureGraphConstant[];
5
+ nodes: FigureGraphNode[];
6
+ };
7
+ /** A cylinder standing along Y, of one radius and a length. */
8
+ export declare const cylinderNodes: (id: string, [r, len]: [string, string], frame: string, out: string) => {
9
+ constants: FigureGraphConstant[];
10
+ nodes: FigureGraphNode[];
11
+ };
12
+ //# sourceMappingURL=shape-nodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shape-nodes.d.ts","sourceRoot":"","sources":["../../src/fixtures/shape-nodes.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAyB7E,+DAA+D;AAC/D,eAAO,MAAM,QAAQ,GAAI,IAAI,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,MAAM,EAAE,KAAK,MAAM;;;CACnD,CAAA;AAEjD,+DAA+D;AAC/D,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,MAAM,EAAE,KAAK,MAAM;;;CAC/C,CAAA"}
@@ -0,0 +1,20 @@
1
+ /** The start node and constant of a centred push, and the shape node reading them. */
2
+ function centred(id, out, frame, length, section, across) {
3
+ const constants = [{ id: `${id}.k.centre`, unit: 'ratio', value: -0.5 }];
4
+ const nodes = [
5
+ { id: `${id}.start`, op: 'mul@1', args: [length, `${id}.k.centre`], outputs: { value: `${id}.start.value` } },
6
+ {
7
+ id,
8
+ op: 'extrude@1',
9
+ args: [`${id}.start.value`, length, ...across],
10
+ outputs: { shape: out },
11
+ params: { frame, axis: 'y', section }
12
+ }
13
+ ];
14
+ return { constants, nodes };
15
+ }
16
+ /** A box of width, height and depth -- values of the graph. */
17
+ export const boxNodes = (id, [w, h, d], frame, out) => centred(id, out, frame, h, 'rectangle', [w, d]);
18
+ /** A cylinder standing along Y, of one radius and a length. */
19
+ export const cylinderNodes = (id, [r, len], frame, out) => centred(id, out, frame, len, 'ellipse', [r, r]);
20
+ //# sourceMappingURL=shape-nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shape-nodes.js","sourceRoot":"","sources":["../../src/fixtures/shape-nodes.ts"],"names":[],"mappings":"AAMA,sFAAsF;AACtF,SAAS,OAAO,CACd,EAAU,EACV,GAAW,EACX,KAAa,EACb,MAAc,EACd,OAAgC,EAChC,MAAwB;IAExB,MAAM,SAAS,GAA0B,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;IAC/F,MAAM,KAAK,GAAsB;QAC/B,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE;QAC7G;YACE,EAAE;YACF,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YAC9C,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;YACvB,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE;SACtC;KACF,CAAA;IACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;AAC7B,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAA2B,EAAE,KAAa,EAAE,GAAW,EAAE,EAAE,CACtG,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAEjD,+DAA+D;AAC/D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,CAAC,CAAC,EAAE,GAAG,CAAmB,EAAE,KAAa,EAAE,GAAW,EAAE,EAAE,CAClG,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"follow.d.ts","sourceRoot":"","sources":["../src/follow.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAItC,uDAAuD;AACvD,MAAM,MAAM,YAAY,GACpB;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE;AACf,yEAAyE;GACvE;IAAE,EAAE,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAChC,iDAAiD;GAC/C;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,CAAA;AASxB,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,YAAY,CAuDzF"}
1
+ {"version":3,"file":"follow.d.ts","sourceRoot":"","sources":["../src/follow.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAKtC,uDAAuD;AACvD,MAAM,MAAM,YAAY,GACpB;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE;AACf,yEAAyE;GACvE;IAAE,EAAE,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAChC,iDAAiD;GAC/C;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,CAAA;AASxB,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,YAAY,CA0DzF"}
package/dist/follow.js CHANGED
@@ -1,4 +1,4 @@
1
- const AXES = ['x', 'y', 'z'];
1
+ import { figureShapeDescriptionOf } from "./shape-ops.js";
2
2
  export function figureFollowOf(asset, part, axis) {
3
3
  const m = asset.document.model;
4
4
  /*
@@ -6,7 +6,10 @@ export function figureFollowOf(asset, part, axis) {
6
6
  and that may already be worked out (ROBOT_ARM's flange fills what is left).
7
7
  */
8
8
  const node = m.nodes.find(n => n.id === `${part}.dimension.${axis}`);
9
- const start = node ? node.args[0] : m.nodes.find(n => n.id === `${part}.shape`)?.args[AXES.indexOf(axis)];
9
+ /* Which argument is this axis's measure: the shape node says (ADR-0100). */
10
+ const shape = m.nodes.find(n => n.id === `${part}.shape`);
11
+ const edit = shape && figureShapeDescriptionOf(shape)?.edit[axis];
12
+ const start = node ? node.args[0] : edit && !('refused' in edit) ? shape?.args[edit.arg] : undefined;
10
13
  if (!start || m.constants.some(c => c.id === start))
11
14
  return { of: 'own' };
12
15
  const writerOf = (ref) => m.nodes.find(n => Object.values(n.outputs).includes(ref));
@@ -1 +1 @@
1
- {"version":3,"file":"follow.js","sourceRoot":"","sources":["../src/follow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"follow.js","sourceRoot":"","sources":["../src/follow.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAoBzD,MAAM,UAAU,cAAc,CAAC,KAAkB,EAAE,IAAY,EAAE,IAAU;IACzE,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAqH,CAAA;IAC9I;;;MAGE;IACF,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,cAAc,IAAI,EAAE,CAAC,CAAA;IACpE,4EAA4E;IAC5E,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAA;IACzD,MAAM,IAAI,GAAG,KAAK,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACpG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;IACzE,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IAC3F,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAA;IACrE,+FAA+F;IAC/F,IAAI,KAAK,GAAG,CAAC,CAAA;IACb;;;MAGE;IACF,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,EAAE,GAAG,KAAK,CAAA;IACd,MAAM,KAAK,GAAG,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,KAAK,EAAE,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QACvD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QACvD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAE,CAAC,KAAK,CAAA;YACnC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;QACjB,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,CAAmB,CAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,MAAM,IAAI,GAAG,CAAC,GAAW,EAAgB,EAAE;QACzC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,CAAA;QAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACb,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,EAAE,EAAE,EAAE,UAAmB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAA;QAC3H,MAAM,KAAK,GAAG,mCAAmC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3D,IAAI,KAAK;YAAE,OAAO,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAS,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAC9J,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAA;QAC9C,IAAI,KAAK;YAAE,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;QAC1F,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC5B,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,CAAA;QACxC,4DAA4D;QAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QACxD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,CAAA;QACpD;;;UAGE;QACF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAE,CAAC,KAAK,CAAC,CAAA;QACzF,IAAI,MAAM,CAAC,EAAE,KAAK,OAAO;YAAE,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;aACjE,IAAI,MAAM,CAAC,EAAE,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,KAAK,IAAI,OAAO,CAAC,CAAC,CAAE,CAAA;aAC3H,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,CAAA;QAC7H,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAA;IACzB,CAAC,CAAA;IACD,OAAO,IAAI,CAAC,EAAE,CAAC,CAAA;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
package/dist/gate.js CHANGED
@@ -24,6 +24,7 @@ import { AXES, SKIN } from "./words.js";
24
24
  /** How far a declared mounting face may lean off the plane before it is not that plane any more. */
25
25
  const CONTACT_TILT_DEG = 0.1;
26
26
  import { transformPoints, figureShapePoints } from "./shape-sampling.js";
27
+ import { figureShapeBoundsOf, figureShapeSupportOf } from "./shape-ops.js";
27
28
  /** Axis-aligned world boxes of evaluated geometry. `part` is the placing node: a `place@1` id or the repeated member. */
28
29
  export function figureWorldBoxesOf(geometry, writers, options = {}) {
29
30
  const out = [];
@@ -35,53 +36,24 @@ export function figureWorldBoxesOf(geometry, writers, options = {}) {
35
36
  if (g.visible === false)
36
37
  continue;
37
38
  const part = g.key ? writers.get(g.key) : g.id;
38
- const d = g.shape.dimensions;
39
- const local = g.shape.provider === 'cylinder'
40
- ? [d.radius * 2, d.length, d.radius * 2]
41
- : g.shape.provider === 'sphere'
42
- ? [d.radiusX * 2, d.radiusY * 2, d.radiusZ * 2]
43
- : g.shape.provider === 'frustum'
44
- ? [Math.max(d.radiusTop, d.radiusBottom) * 2, d.height, Math.max(d.radiusTop, d.radiusBottom) * 2]
45
- : g.shape.provider === 'ellipticCylinder'
46
- ? [d.radiusX * 2, d.length, d.radiusZ * 2]
47
- : [d.width, d.height, d.depth];
39
+ /* A shape operation (ADR-0100) is measured by its own support: exact for a box off its origin, a wheel, a sphere. */
40
+ const shape = g.shape;
48
41
  const r = g.pose.r;
49
- /*
50
- How far the body reaches along each world axis.
51
-
52
- A box is bounded by summing its turned sides, and that is what the sum below does. A round body is not:
53
- measuring a spinning wheel as a turning square says it dips below the floor, which it does not. The
54
- forklift's wheel read 70 mm under the floor at 45° for exactly this reason — 340·(cos45 + sin45) is the
55
- square's diagonal, not the wheel's.
56
-
57
- For a round body the reach is its support along the axis: the axis half-length times how much the body's
58
- axis points that way, plus the cross-section's own reach. Written per provider below; a box keeps the sum.
59
- */
60
- const round = (() => {
61
- const axis = (a) => r[a][1], // where the body's own Y axis points
62
- across = (a, i) => r[a][i];
63
- const support = (a, half, rx, rz) => 2 * (half * Math.abs(axis(a)) + Math.hypot(rx * across(a, 0), rz * across(a, 2)));
64
- switch (g.shape.provider) {
65
- case 'cylinder':
66
- return (a) => support(a, d.length / 2, d.radius, d.radius);
67
- case 'ellipticCylinder':
68
- return (a) => support(a, d.length / 2, d.radiusX, d.radiusZ);
69
- case 'frustum': {
70
- const widest = Math.max(d.radiusTop, d.radiusBottom);
71
- return (a) => support(a, d.height / 2, widest, widest);
72
- }
73
- case 'sphere':
74
- return (a) => 2 * Math.hypot(d.radiusX * across(a, 0), d.radiusY * axis(a), d.radiusZ * across(a, 2));
75
- default:
76
- return null;
77
- }
78
- })();
79
- const extent = AXES.map((_, a) => (round ? round(a) : local.reduce((s, v, i) => s + Math.abs(r[a][i]) * v, 0)));
42
+ const reach = AXES.map((_, a) => figureShapeSupportOf(shape, [r[a][0], r[a][1], r[a][2]]));
43
+ const bounds = figureShapeBoundsOf(shape);
80
44
  const box = {
81
45
  part,
82
- centre: { x: g.pose.t[0], y: g.pose.t[1], z: g.pose.t[2] },
83
- extent: { x: extent[0], y: extent[1], z: extent[2] },
84
- dims: local,
46
+ centre: {
47
+ x: g.pose.t[0] + (reach[0].max + reach[0].min) / 2,
48
+ y: g.pose.t[1] + (reach[1].max + reach[1].min) / 2,
49
+ z: g.pose.t[2] + (reach[2].max + reach[2].min) / 2
50
+ },
51
+ extent: {
52
+ x: reach[0].max - reach[0].min,
53
+ y: reach[1].max - reach[1].min,
54
+ z: reach[2].max - reach[2].min
55
+ },
56
+ dims: AXES.map(x => bounds[x].max - bounds[x].min),
85
57
  rotation: r
86
58
  };
87
59
  if (options.points)
@@ -157,16 +129,10 @@ export const FIGURE_STATE_EXTREME_BASIS = Object.freeze({
157
129
  'cylinder@1': 'multilinear',
158
130
  'axis-slide@1': 'multilinear',
159
131
  'at-least@1': 'multilinear',
160
- 'box-shape@1': 'multilinear',
161
- 'cylinder-shape@1': 'multilinear',
162
- 'cylinder-shape@2': 'multilinear',
163
- 'sphere-shape@1': 'multilinear',
164
- 'frustum-shape@1': 'multilinear',
165
- 'rounded-box@1': 'multilinear',
166
- 'rounded-box@2': 'multilinear',
167
- 'hollow-box@1': 'multilinear',
168
- 'hollow-box@2': 'multilinear',
169
- 'portal-profile@2': 'multilinear',
132
+ // The shape operations: every reach is a sum of their arguments times constants -- except a drawn section's, which
133
+ // is the largest of its points and folds like min@1; that case is refused by the node below, not by the name.
134
+ 'extrude@1': 'multilinear',
135
+ 'revolve@1': 'multilinear',
170
136
  'fit-pitch@1': 'multilinear',
171
137
  'fixed-count@1': 'multilinear',
172
138
  'min@1': 'monotone',
@@ -176,9 +142,6 @@ export const FIGURE_STATE_EXTREME_BASIS = Object.freeze({
176
142
  'affine-bounds@1': 'unknown',
177
143
  'curve@1': 'monotone',
178
144
  'geomean@1': 'monotone',
179
- // A polygon's world box is the largest of its vertex coordinates. Two vertices moving with one input fold it,
180
- // the same way min@1 folds, and the vertices are arguments of one node rather than values of their own.
181
- 'polygon-shape@1': 'unknown',
182
145
  'axis-turn@1': 'unknown',
183
146
  'distance@1': 'unknown',
184
147
  'sin@1': 'unknown'
@@ -340,7 +303,9 @@ export function cornerExtremalBasis(asset, dependence, basis = FIGURE_STATE_EXTR
340
303
  for (let i = 0; i < n.args.length; i++)
341
304
  for (let j = i + 1; j < n.args.length; j++)
342
305
  if (shares(n.args[i], n.args[j]))
343
- reasons.push(`${n.id}: ${n.op} of two values that both depend on ${dep(n.args[i]).filter(x => dep(n.args[j]).includes(x)).join(', ')}`);
306
+ reasons.push(`${n.id}: ${n.op} of two values that both depend on ${dep(n.args[i])
307
+ .filter(x => dep(n.args[j]).includes(x))
308
+ .join(', ')}`);
344
309
  break;
345
310
  case 'div@1':
346
311
  if (dep(n.args[1]).length)
@@ -369,7 +334,14 @@ export function cornerExtremalBasis(asset, dependence, basis = FIGURE_STATE_EXTR
369
334
  for (let i = 0; i < n.args.length; i++)
370
335
  for (let j = i + 1; j < n.args.length; j++)
371
336
  if (shares(n.args[i], n.args[j]))
372
- reasons.push(`${n.id}: ${n.op} of two values that both depend on ${dep(n.args[i]).filter(x => dep(n.args[j]).includes(x)).join(', ')}`);
337
+ reasons.push(`${n.id}: ${n.op} of two values that both depend on ${dep(n.args[i])
338
+ .filter(x => dep(n.args[j]).includes(x))
339
+ .join(', ')}`);
340
+ break;
341
+ case 'extrude@1':
342
+ // A drawn section's reach is the largest of its points: two points moving with one input fold it.
343
+ if (n.params?.section === 'polygon')
344
+ reasons.push(`${n.id}: a drawn section's points depend on ${[...new Set(stateful.flatMap(dep))].join(', ')}; its reach is the largest of them`);
373
345
  break;
374
346
  case 'at-least@1':
375
347
  // A flag cannot reach a dimension, a pose or the occupancy, so a step here moves no world coordinate.