@hatiolab/figure-model 0.1.75 → 0.1.77

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 (141) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +60 -138
  3. package/dist/index.d.ts +2 -13
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +4 -26
  6. package/dist/index.js.map +1 -1
  7. package/dist/v3-asset-types.d.ts +1 -2
  8. package/dist/v3-asset-types.d.ts.map +1 -1
  9. package/dist/v3-asset.js +1 -1
  10. package/dist/v3-asset.js.map +1 -1
  11. package/dist/v3-authoring-actions.d.ts +9 -12
  12. package/dist/v3-authoring-actions.d.ts.map +1 -1
  13. package/dist/v3-authoring-actions.js +4 -5
  14. package/dist/v3-authoring-actions.js.map +1 -1
  15. package/dist/v3-capabilities.js +4 -1
  16. package/dist/v3-capabilities.js.map +1 -1
  17. package/dist/v3-cost.d.ts.map +1 -1
  18. package/dist/v3-cost.js +3 -5
  19. package/dist/v3-cost.js.map +1 -1
  20. package/dist/v3-create.d.ts +1 -1
  21. package/dist/v3-create.d.ts.map +1 -1
  22. package/dist/v3-editor-workspace.d.ts +38 -0
  23. package/dist/v3-editor-workspace.d.ts.map +1 -1
  24. package/dist/v3-editor-workspace.js +14 -0
  25. package/dist/v3-editor-workspace.js.map +1 -1
  26. package/dist/v3-examples.js +1 -1
  27. package/dist/v3-gate.d.ts +7 -8
  28. package/dist/v3-gate.d.ts.map +1 -1
  29. package/dist/v3-gate.js +11 -14
  30. package/dist/v3-gate.js.map +1 -1
  31. package/dist/v3-graph.d.ts +1 -2
  32. package/dist/v3-graph.d.ts.map +1 -1
  33. package/dist/v3-graph.js +5 -7
  34. package/dist/v3-graph.js.map +1 -1
  35. package/dist/v3-instance-size.d.ts +3 -5
  36. package/dist/v3-instance-size.d.ts.map +1 -1
  37. package/dist/v3-instance-size.js +2 -4
  38. package/dist/v3-instance-size.js.map +1 -1
  39. package/dist/v3-kernel-version.d.ts +1 -1
  40. package/dist/v3-kernel-version.js +1 -1
  41. package/dist/v3-part-edit.d.ts +4 -5
  42. package/dist/v3-part-edit.d.ts.map +1 -1
  43. package/dist/v3-part-edit.js +2 -2
  44. package/dist/v3-part-edit.js.map +1 -1
  45. package/dist/v3-proposal.d.ts +42 -0
  46. package/dist/v3-proposal.d.ts.map +1 -0
  47. package/dist/v3-proposal.js +179 -0
  48. package/dist/v3-proposal.js.map +1 -0
  49. package/dist/v3-release-contract.js +1 -1
  50. package/dist/v3-release-contract.js.map +1 -1
  51. package/dist/v3-score.d.ts +4 -5
  52. package/dist/v3-score.d.ts.map +1 -1
  53. package/dist/v3-score.js +7 -8
  54. package/dist/v3-score.js.map +1 -1
  55. package/dist/v3-words.d.ts +87 -0
  56. package/dist/v3-words.d.ts.map +1 -0
  57. package/dist/v3-words.js +87 -0
  58. package/dist/v3-words.js.map +1 -0
  59. package/docs/assembly-constraints-v3.md +13 -23
  60. package/docs/v3-asset-persistence.md +4 -4
  61. package/docs/v3-common-kernel-experiment.md +1 -1
  62. package/docs/v3-core-semantics.md +3 -3
  63. package/docs/v3-cutover.md +5 -3
  64. package/docs/v3-design.md +13 -26
  65. package/docs/v3-editor-integration.md +2 -2
  66. package/docs/v3-full-conveyor-validation.md +3 -3
  67. package/docs/v3-layout-system.md +1 -1
  68. package/docs/v3-minimal-model.md +0 -1
  69. package/docs/v3-motion-contract.md +21 -56
  70. package/docs/v3-runtime-extraction.md +7 -7
  71. package/docs/v3-sample-validation-expanded.md +1 -1
  72. package/docs/v3-sample-validation.md +1 -1
  73. package/docs/v3-shape-dimension-contract.md +23 -57
  74. package/docs/v3-status.md +5 -5
  75. package/docs/v3-storage-integration.md +4 -4
  76. package/package.json +2 -20
  77. package/dist/blueprint-shape.d.ts +0 -10
  78. package/dist/blueprint-shape.d.ts.map +0 -1
  79. package/dist/blueprint-shape.js +0 -194
  80. package/dist/blueprint-shape.js.map +0 -1
  81. package/dist/blueprint.d.ts +0 -73
  82. package/dist/blueprint.d.ts.map +0 -1
  83. package/dist/blueprint.js +0 -388
  84. package/dist/blueprint.js.map +0 -1
  85. package/dist/cost-chart.d.ts +0 -35
  86. package/dist/cost-chart.d.ts.map +0 -1
  87. package/dist/cost-chart.js +0 -150
  88. package/dist/cost-chart.js.map +0 -1
  89. package/dist/cost.d.ts +0 -162
  90. package/dist/cost.d.ts.map +0 -1
  91. package/dist/cost.js +0 -194
  92. package/dist/cost.js.map +0 -1
  93. package/dist/gate.d.ts +0 -65
  94. package/dist/gate.d.ts.map +0 -1
  95. package/dist/gate.js +0 -284
  96. package/dist/gate.js.map +0 -1
  97. package/dist/grouping.d.ts +0 -121
  98. package/dist/grouping.d.ts.map +0 -1
  99. package/dist/grouping.js +0 -224
  100. package/dist/grouping.js.map +0 -1
  101. package/dist/keys.d.ts +0 -45
  102. package/dist/keys.d.ts.map +0 -1
  103. package/dist/keys.js +0 -84
  104. package/dist/keys.js.map +0 -1
  105. package/dist/origin.d.ts +0 -33
  106. package/dist/origin.d.ts.map +0 -1
  107. package/dist/origin.js +0 -46
  108. package/dist/origin.js.map +0 -1
  109. package/dist/release-contract.d.ts +0 -38
  110. package/dist/release-contract.d.ts.map +0 -1
  111. package/dist/release-contract.js +0 -246
  112. package/dist/release-contract.js.map +0 -1
  113. package/dist/sizing.d.ts +0 -231
  114. package/dist/sizing.d.ts.map +0 -1
  115. package/dist/sizing.js +0 -550
  116. package/dist/sizing.js.map +0 -1
  117. package/dist/types.d.ts +0 -1233
  118. package/dist/types.d.ts.map +0 -1
  119. package/dist/types.js +0 -547
  120. package/dist/types.js.map +0 -1
  121. package/dist/v3-from-v2.d.ts +0 -203
  122. package/dist/v3-from-v2.d.ts.map +0 -1
  123. package/dist/v3-from-v2.js +0 -2053
  124. package/dist/v3-from-v2.js.map +0 -1
  125. package/dist/v3-mesh-compare.d.ts +0 -24
  126. package/dist/v3-mesh-compare.d.ts.map +0 -1
  127. package/dist/v3-mesh-compare.js +0 -55
  128. package/dist/v3-mesh-compare.js.map +0 -1
  129. package/dist/validate.d.ts +0 -7
  130. package/dist/validate.d.ts.map +0 -1
  131. package/dist/validate.js +0 -1119
  132. package/dist/validate.js.map +0 -1
  133. package/dist/visual-evidence.d.ts +0 -21
  134. package/dist/visual-evidence.d.ts.map +0 -1
  135. package/dist/visual-evidence.js +0 -52
  136. package/dist/visual-evidence.js.map +0 -1
  137. package/docs/design.md +0 -193
  138. package/docs/format-survey.md +0 -108
  139. package/docs/format.md +0 -704
  140. package/docs/sizing.md +0 -183
  141. package/docs/validation.md +0 -357
@@ -25,7 +25,7 @@ import { compileV3Asset } from "./v3-asset.js";
25
25
  import { v3PartsExtentOf } from "./v3-gate.js";
26
26
  import { compileV3Graph, v3ShapeFaces } from "./v3-graph.js";
27
27
  import { V3ContractError } from "./v3-contract.js";
28
- import { AXES, REPEAT_LIMIT } from "./types.js";
28
+ import { AXES, REPEAT_LIMIT } from "./v3-words.js";
29
29
  import { foldInstanceSizeRange, v3InstanceSizeLimitsOf, V3_INSTANCE_SIZE_DEFAULT, V3_INSTANCE_SIZE_INPUTS } from "./v3-instance-size.js";
30
30
  import { V3_PLACEMENTS } from "./v3-asset-types.js";
31
31
  const fail = (code, path, message) => {
@@ -2580,9 +2580,8 @@ function setRepeat(asset, a) {
2580
2580
  if (!(Number.isFinite(a.pitch) && a.pitch > 0))
2581
2581
  fail('GEOMETRY_DOMAIN', path, 'a positive pitch is required');
2582
2582
  /*
2583
- One number, the pitch: copies = floor(row length / pitch), at most `limit` of them (the kernel's copy cap, V2's).
2584
- So the longest row the figure may be placed at is limit x pitch -- the converter set the length's upper bound that
2585
- way from the V2 pitch. A new pitch moves that bound with it; the pitch is refused only when the length the figure
2583
+ One number, the pitch: copies = floor(row length / pitch), at most `limit` of them (the kernel's copy cap).
2584
+ So the longest row the figure may be placed at is limit x pitch. A new pitch moves that bound with it; the pitch is refused only when the length the figure
2586
2585
  is authored at would already hold more copies than the cap.
2587
2586
  */
2588
2587
  const values = compileV3Graph(m).evaluate({ ...asset.designInputs, ...asset.stateDefaults }).values;
@@ -2648,7 +2647,7 @@ function scaleUniformly(asset) {
2648
2647
  if (n.id !== mean)
2649
2648
  n.args = n.args.map((a) => uniform[a] ?? a);
2650
2649
  /*
2651
- A ratio of a size to its own authored length (the converter's `scale.x` · `scale.y` · `scale.z`) is now u itself:
2650
+ A ratio of a size to its own authored length (`scale.x` · `scale.y` · `scale.z`) is now u itself:
2652
2651
  its readers read u and it goes, which gives back the nodes the rule took.
2653
2652
  */
2654
2653
  const sameAsU = m.nodes.filter((n) => n.op === 'div@1' &&