@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":"recipe-from-parts.js","sourceRoot":"","sources":["../src/recipe-from-parts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipe-from-parts.js","sourceRoot":"","sources":["../src/recipe-from-parts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"render-batches.d.ts","sourceRoot":"","sources":["../src/render-batches.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAG3D,MAAM,WAAW,iBAAiB;IAChC,qGAAqG;IACrG,GAAG,EAAE,MAAM,CAAA;IACX,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAA;IACd,wGAAwG;IACxG,GAAG,EAAE,MAAM,EAAE,CAAA;CACd;AAED,qDAAqD;AACrD,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,eAAe,CAAA;AAEhE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,2FAA2F;IAC3F,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,8DAA8D;IAC9D,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,qBAAqB,CAAA;KAAE,CAAC,CAAA;CACnF;AAMD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GAAG,gBAAgB,CAiChG"}
1
+ {"version":3,"file":"render-batches.d.ts","sourceRoot":"","sources":["../src/render-batches.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAG3D,MAAM,WAAW,iBAAiB;IAChC,qGAAqG;IACrG,GAAG,EAAE,MAAM,CAAA;IACX,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAA;IACd,wGAAwG;IACxG,GAAG,EAAE,MAAM,EAAE,CAAA;CACd;AAED,qDAAqD;AACrD,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,eAAe,CAAA;AAEhE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,2FAA2F;IAC3F,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,8DAA8D;IAC9D,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,qBAAqB,CAAA;KAAE,CAAC,CAAA;CACnF;AAuBD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GAAG,gBAAgB,CAiChG"}
@@ -2,8 +2,17 @@
2
2
  * Copyright © HatioLab Inc. All rights reserved.
3
3
  */
4
4
  import { figureMaterialKeyOf } from "./score.js";
5
- /** What must be equal for two copies to be one draw: the shape as drawn and the look. */
6
- const signatureOf = (body) => JSON.stringify([body.shape.provider, body.shape.dimensions, body.segments ?? null, figureMaterialKeyOf(body), body.visible !== false]);
5
+ const signatureOf = (body) => JSON.stringify([body.shape.provider, body.shape.dimensions,
6
+ /* A shape operation's axis, kind and open ends are not in its numbers: two pushes of the same numbers along X and Y differ. */
7
+ body.shape.extrusion
8
+ ? [
9
+ body.shape.extrusion.axis,
10
+ body.shape.extrusion.section.kind,
11
+ body.shape.cavity ?? null
12
+ ]
13
+ : body.shape.revolution
14
+ ? [body.shape.revolution.axis, body.shape.revolution.profile.kind]
15
+ : null, body.segments ?? null, figureMaterialKeyOf(body), body.visible !== false]);
7
16
  export function figureRenderBatchesOf(geometry) {
8
17
  const alone = [];
9
18
  const members = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"render-batches.js","sourceRoot":"","sources":["../src/render-batches.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAsBhD,yFAAyF;AACzF,MAAM,WAAW,GAAG,CAAC,IAA+F,EAAU,EAAE,CAC9H,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAA;AAExI,MAAM,UAAU,qBAAqB,CAAC,QAAwC;IAC5E,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC3C,KAAK,MAAM,IAAI,IAAI,QAA6B,EAAE,CAAC;QACjD,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;YAAE,SAAQ;QAC/B,MAAM,GAAG,GAAG,KAAK,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;QAChF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACnB,SAAQ;QACV,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACxB,CAAC;IACD,MAAM,OAAO,GAAwB,EAAE,CAAA;IACvC,MAAM,SAAS,GAAkC,EAAE,CAAA;IACnD,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC/C,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;YACnC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC9E,CAAC;QACD,KAAK,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;YAC3C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;gBAC5D,SAAQ;YACV,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;YAClB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAA;QAC7F,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;AACtC,CAAC"}
1
+ {"version":3,"file":"render-batches.js","sourceRoot":"","sources":["../src/render-batches.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resize-plan.d.ts","sourceRoot":"","sources":["../src/resize-plan.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAuB,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAQpG,OAAO,EAAQ,KAAK,IAAI,EAAE,MAAM,YAAY,CAAA;AAE5C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,qFAAqF;IACrF,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA;IACb;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,4HAA4H;IAC5H,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,MAAM,uBAAuB,GAC/B,eAAe,GACf,MAAM,GACN,QAAQ,GACR,gBAAgB,GAChB,YAAY,GACZ,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,SAAS,GACT,iBAAiB,CAAA;AAErB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,eAAe,CAAA;IACrB,2GAA2G;IAC3G,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,4EAA4E;IAC5E,KAAK,EAAE,qBAAqB,EAAE,CAAA;IAC9B,+FAA+F;IAC/F,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,2HAA2H;IAC3H,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,iHAAiH;IACjH,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD;;;OAGG;IACH,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,uBAAuB,CAAA;QAC7B,MAAM,EAAE,MAAM,CAAA;QACd,6EAA6E;QAC7E,MAAM,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAA;QAClC;;;WAGG;QACH,IAAI,CAAC,EAAE,IAAI,CAAA;QACX,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ,CAAA;CACF;AAID,4HAA4H;AAC5H,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;CAAE,GAAG,SAAS,CAK9G,CAAA;AAID,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,gBAAgB,CAqInG"}
1
+ {"version":3,"file":"resize-plan.d.ts","sourceRoot":"","sources":["../src/resize-plan.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAuB,UAAU,EAAE,MAAM,wBAAwB,CAAA;AASpG,OAAO,EAAQ,KAAK,IAAI,EAAE,MAAM,YAAY,CAAA;AAE5C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,qFAAqF;IACrF,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA;IACb;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,4HAA4H;IAC5H,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,MAAM,uBAAuB,GAC/B,eAAe,GACf,MAAM,GACN,QAAQ,GACR,gBAAgB,GAChB,YAAY,GACZ,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,SAAS,GACT,iBAAiB,CAAA;AAErB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,eAAe,CAAA;IACrB,2GAA2G;IAC3G,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,4EAA4E;IAC5E,KAAK,EAAE,qBAAqB,EAAE,CAAA;IAC9B,+FAA+F;IAC/F,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,2HAA2H;IAC3H,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,iHAAiH;IACjH,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD;;;OAGG;IACH,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,uBAAuB,CAAA;QAC7B,MAAM,EAAE,MAAM,CAAA;QACd,6EAA6E;QAC7E,MAAM,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAA;QAClC;;;WAGG;QACH,IAAI,CAAC,EAAE,IAAI,CAAA;QACX,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ,CAAA;CACF;AAID,4HAA4H;AAC5H,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;CAAE,GAAG,SAAS,CAK9G,CAAA;AAID,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,gBAAgB,CA0KnG"}
@@ -5,6 +5,7 @@ import { figurePartsExtentOf } from "./gate.js";
5
5
  import { defaultInstanceSizeRange, foldInstanceSizeRange, figureInstanceSizeLimitsOf, FIGURE_INSTANCE_SIZE_INPUTS } from "./instance-size.js";
6
6
  import { figureFollowOf } from "./follow.js";
7
7
  import { figureShapeProviderOf, figureFollowableAxesOf } from "./shape-provider.js";
8
+ import { figureShapeDescriptionOf } from "./shape-ops.js";
8
9
  import { AXES } from "./words.js";
9
10
  /** The face each placement keeps, and the axis the plane faces along. The ceiling and the floor are Y = 0, a wall Z = 0. */
10
11
  export const KEPT_FACE = {
@@ -51,12 +52,14 @@ export function planFigureResize(asset, request) {
51
52
  const values = compileFigureGraph(m).evaluate({ ...asset.designInputs, ...asset.stateDefaults }).values;
52
53
  const input = (ref) => m.inputs.find((i) => i.id === ref);
53
54
  const constant = (ref) => m.constants.find((c) => c.id === ref);
54
- const turn = pose.args.slice(3, 6).map(ref => (constant(ref) ? constant(ref).value : input(ref)?.role === 'design' ? asset.designInputs[ref] : undefined));
55
+ const turn = pose.args.slice(3, 6).map(ref => constant(ref) ? constant(ref).value : input(ref)?.role === 'design' ? asset.designInputs[ref] : undefined);
55
56
  if (turn.some(t => t !== 0))
56
57
  return refuse('TURNED', `${part} is turned (${turn.map((t, i) => `${AXES[i].toUpperCase()} ${t ?? '?'}°`).join(', ')}); this plan does not turn or fix a turn`);
57
58
  /* The measures: what the shape can edit, each read back as it is worked out now. */
58
- const provider = figureShapeProviderOf(shape.op);
59
- const editable = figureFollowableAxesOf(shape.op);
59
+ const provider = figureShapeProviderOf(shape);
60
+ const editable = figureFollowableAxesOf(shape);
61
+ /* A shape operation says which argument each measure is, and linking reads it there (ADR-0100). */
62
+ const described = !!figureShapeDescriptionOf(shape);
60
63
  const axes = request.axes ?? editable;
61
64
  if (!axes.length)
62
65
  return refuse('SHAPE_EDIT', `${part} is a ${shape.op}; following the figure's size is not offered for it`);
@@ -68,7 +71,7 @@ export function planFigureResize(asset, request) {
68
71
  Linking reads a shape's measure along X, Y and Z at its first three arguments. Shapes whose measure is elsewhere or
69
72
  moves with another (an elliptic cylinder's length, a frustum's two ends) are not linked by this plan yet.
70
73
  */
71
- if (edit.arg !== AXES.indexOf(axis) || edit.with?.length)
74
+ if ((!described && edit.arg !== AXES.indexOf(axis)) || edit.with?.length)
72
75
  return refuse('SHAPE_EDIT', `${part} is a ${shape.op}; following the size along ${axis} is not supported for it yet`);
73
76
  }
74
77
  const link = [];
@@ -77,7 +80,7 @@ export function planFigureResize(asset, request) {
77
80
  const now = figureFollowOf(asset, part, axis);
78
81
  if (now.of === 'own') {
79
82
  link.push(axis);
80
- const was = node(`${part}.dimension.${axis}`)?.args?.[0] ?? shape.args[AXES.indexOf(axis)];
83
+ const was = node(`${part}.dimension.${axis}`)?.args?.[0] ?? shape.args[provider.edit[axis].arg];
81
84
  if (input(was))
82
85
  stopsReading.push(was);
83
86
  }
@@ -101,7 +104,11 @@ export function planFigureResize(asset, request) {
101
104
  if (request.gap === undefined)
102
105
  return refuse('GAP_CHOICE', `${part}'s ${kept.face} is ${gap > 0 ? `${gap} mm off` : `${-gap} mm through`} the ${mode}; keep that distance, or bring it onto the plane`, 'gap', { axis: kept.normal, mm: gap });
103
106
  if (request.gap === 'plane') {
104
- plan.moves.push({ axis: kept.normal, from: round6(at(kept.normal)), to: round6(at(kept.normal) - kept.outward * gap) });
107
+ plan.moves.push({
108
+ axis: kept.normal,
109
+ from: round6(at(kept.normal)),
110
+ to: round6(at(kept.normal) - kept.outward * gap)
111
+ });
105
112
  gap = 0;
106
113
  }
107
114
  else if (request.gap !== 'keep')
@@ -153,9 +160,16 @@ export function planFigureResize(asset, request) {
153
160
  step({ kind: 'declare-instance-size', at, range, replace: declared.length > 0 });
154
161
  }
155
162
  for (const axis of link) {
156
- const measure = values[shape.args[AXES.indexOf(axis)]];
163
+ const measure = values[shape.args[provider.edit[axis].arg]];
157
164
  const size = candidate.designInputs[FIGURE_INSTANCE_SIZE_INPUTS[axis]];
158
- step({ kind: 'link-dimension', part, axis, source: { of: 'instance', axis }, times: measure / size, narrowRange: true });
165
+ step({
166
+ kind: 'link-dimension',
167
+ part,
168
+ axis,
169
+ source: { of: 'instance', axis },
170
+ times: measure / size,
171
+ narrowRange: true
172
+ });
159
173
  }
160
174
  if (fasten)
161
175
  step(fasten);
@@ -1 +1 @@
1
- {"version":3,"file":"resize-plan.js","sourceRoot":"","sources":["../src/resize-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resize-plan.js","sourceRoot":"","sources":["../src/resize-plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,164 @@
1
+ import type { Axis } from './words.ts';
2
+ /**
3
+ * The two local axes a section lies across, for the axis it is pushed along: (u, v, n) is right-handed, so a loop
4
+ * whose signed area over (u, v) is positive turns counter-clockwise seen from +n. A section's points are written with
5
+ * the axes' own names -- `{ x, z }` for a push along Y -- so no reader has to know which is u.
6
+ */
7
+ export declare const FIGURE_SECTION_PLANE: Readonly<Record<Axis, readonly [Axis, Axis]>>;
8
+ /**
9
+ * Lengths closer than this are one length, in millimetres (docs/shape-contract.md §6). It decides a drawn section's
10
+ * topology only -- whether two points coincide, whether a side has length, whether two sides touch. It is not a
11
+ * snapping distance, not a tolerance for comparing drawings, and not a least size: a rectangle, an ellipse or a wall is
12
+ * any positive length (designer's ruling 2026-09-22: a span's floor is its room plus 1e-6, never a minimum of its own).
13
+ */
14
+ export declare const FIGURE_SECTION_TOLERANCE = 0.000001;
15
+ /** The most points a drawn section may have (docs/shape-contract.md §6). */
16
+ export declare const FIGURE_SECTION_POINT_LIMIT = 256;
17
+ /** A point of a drawn section. `id` is its own name: it stays when the point moves, and is never its place in the list. */
18
+ export type FigureSectionPoint = {
19
+ id: string;
20
+ } & Partial<Record<Axis, number>>;
21
+ export type FigureSection =
22
+ /**
23
+ * A rectangle centred on the part's origin, its size along each of the two plane axes. `corner` rounds all four
24
+ * corners by a reach along each plane axis -- equal reaches make a round corner, unequal an elliptic one
25
+ * (shape-dimension contract §1: every round thing has per-axis dimensions). Absent or both 0: sharp corners.
26
+ */
27
+ {
28
+ kind: 'rectangle';
29
+ size: Partial<Record<Axis, number>>;
30
+ corner?: Partial<Record<Axis, number>>;
31
+ }
32
+ /** An ellipse centred on the part's origin, a radius along each plane axis -- a circle when they are equal. */
33
+ | {
34
+ kind: 'ellipse';
35
+ radius: Partial<Record<Axis, number>>;
36
+ }
37
+ /** One closed loop of straight sides, no holes, in order. The last point joins the first. */
38
+ | {
39
+ kind: 'polygon';
40
+ points: FigureSectionPoint[];
41
+ };
42
+ /** A side of a section: flat sides can be fastened to, curved ones cannot be taken for a plane. */
43
+ export interface FigureSectionSide {
44
+ id: string;
45
+ shape: 'flat' | 'curved';
46
+ /** For a drawn section's side, the two points it joins, in the loop's order. */
47
+ from?: string;
48
+ to?: string;
49
+ }
50
+ export type FigureSectionIssue = {
51
+ code: 'NON_FINITE';
52
+ at: string;
53
+ } | {
54
+ code: 'BAD_POINT_ID';
55
+ point: string;
56
+ } | {
57
+ code: 'DUPLICATE_POINT_ID';
58
+ point: string;
59
+ } | {
60
+ code: 'TOO_FEW_POINTS';
61
+ count: number;
62
+ } | {
63
+ code: 'TOO_MANY_POINTS';
64
+ count: number;
65
+ limit: number;
66
+ }
67
+ /** Two points in a row at one place: the side between them has no length. */
68
+ | {
69
+ code: 'ZERO_LENGTH_SIDE';
70
+ side: string;
71
+ }
72
+ /** A side runs back over the one before it. */
73
+ | {
74
+ code: 'SIDES_FOLD';
75
+ sides: [string, string];
76
+ } | {
77
+ code: 'SIDES_CROSS';
78
+ sides: [string, string];
79
+ }
80
+ /** Two sides that are not neighbours meet at a point or run along each other without crossing. */
81
+ | {
82
+ code: 'SIDES_TOUCH';
83
+ sides: [string, string];
84
+ } | {
85
+ code: 'ZERO_AREA';
86
+ } | {
87
+ code: 'SIZE_NOT_POSITIVE';
88
+ axis: Axis;
89
+ } | {
90
+ code: 'CORNER_NEGATIVE';
91
+ axis: Axis;
92
+ }
93
+ /** A corner rounded along one plane axis and not the other: no curve joins the two sides. */
94
+ | {
95
+ code: 'CORNER_ONE_AXIS';
96
+ axis: Axis;
97
+ }
98
+ /** A corner reaching past half the side along `axis`; `max` is the most the rectangle takes there. */
99
+ | {
100
+ code: 'CORNER_TOO_LARGE';
101
+ axis: Axis;
102
+ max: number;
103
+ };
104
+ /** The id of the side joining two points: the pair, in name order, so it is the same whichever way the loop runs. */
105
+ export declare function figureSectionSideId(a: string, b: string): string;
106
+ /**
107
+ * What is wrong with a section, pushed along `axis`, as a list -- empty when it is valid (ADR-0100 §4.2). Every issue
108
+ * names the point, side or field at fault, so a screen can mark it; none is fixed here.
109
+ */
110
+ export declare function checkFigureSection(section: FigureSection, axis: Axis): FigureSectionIssue[];
111
+ /**
112
+ * The same section written the one way the kernel keeps it (ADR-0100 §4.2): a drawn loop runs counter-clockwise seen
113
+ * from +axis. Only the writing changes -- the first point stays first, and no point is moved, added or dropped, so every
114
+ * point and side keeps its id. A section that is not valid is returned as it is; check it first.
115
+ */
116
+ export declare function normalizeFigureSection(section: FigureSection, axis: Axis): FigureSection;
117
+ /**
118
+ * A section's sides, by id (ADR-0100 §4.1.1). A rectangle's four flat sides are named by the plane axis they face along
119
+ * and which way -- `x-`, `x+`, `z-`, `z+` for a push along Y -- and its rounded corners, which are there only when the
120
+ * corner is rounded, by the two sides they join (`corner:x-z+`). An ellipse has one curved side, `round`. A drawn
121
+ * section's sides are named by the pair of points they join.
122
+ */
123
+ export declare function figureSectionSidesOf(section: FigureSection, axis: Axis): FigureSectionSide[];
124
+ /**
125
+ * How the sides of a section change from `before` to `after` (ADR-0100 §5): the sides both have, the sides that go, the
126
+ * sides that come. Moving a point keeps every side; adding, removing or splitting sides, or a change of kind, does not --
127
+ * and a side that goes while something refers to it needs a mapping the author chooses, never one taken in passing.
128
+ */
129
+ export declare function figureSectionTopologyChange(before: FigureSection, after: FigureSection, axis: Axis): {
130
+ kept: string[];
131
+ removed: string[];
132
+ added: string[];
133
+ };
134
+ /**
135
+ * The section's area in mm², exact for every kind. A rounded corner is a quarter of the ellipse its two reaches span
136
+ * (docs/shape-contract.md §2.1; which curve a corner is, is open question Q4).
137
+ */
138
+ export declare function figureSectionAreaOf(section: FigureSection, axis: Axis): number;
139
+ /** The section's reach along each plane axis, least and most, in the part's frame. */
140
+ export declare function figureSectionBoundsOf(section: FigureSection, axis: Axis): Partial<Record<Axis, {
141
+ min: number;
142
+ max: number;
143
+ }>>;
144
+ /**
145
+ * Where a side is refused a cavity: only a rectangle's and an ellipse's inside are declared for now (ADR-0100 §3.3, §4.3).
146
+ * A drawn loop's inside needs an inward offset with its own contract (stage 4), and is not faked by shrinking the
147
+ * points towards a centre.
148
+ */
149
+ export type FigureCavityRefusal = 'SECTION_KIND' | 'WALL_NOT_POSITIVE' | 'NO_ROOM_INSIDE' | 'NON_FINITE';
150
+ /**
151
+ * The inside of a rectangle or an ellipse whose walls stand `wall[side]` in from each flat side (ADR-0100 §4.3): the
152
+ * cavity's section, in the same plane. A rectangle's corner goes in, along each plane axis, by the thicker of the
153
+ * two walls facing along it (`max(r - t, 0)`, as the renderer draws today): the exact inward offset of a round corner
154
+ * when every wall is equal, and a declared rule otherwise -- it does not claim an even thickness around the bend. An ellipse's inside is the ellipse of radii less the
155
+ * walls, which is not an inward offset of an ellipse and is not called one.
156
+ */
157
+ export declare function figureCavitySectionOf(outer: FigureSection, axis: Axis, wall: Partial<Record<string, number>>): {
158
+ section: FigureSection;
159
+ centre: Partial<Record<Axis, number>>;
160
+ } | {
161
+ refused: FigureCavityRefusal;
162
+ side?: string;
163
+ };
164
+ //# sourceMappingURL=section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../src/section.ts"],"names":[],"mappings":"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"}