@hatiolab/figure-model 0.9.6 → 0.11.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 (143) hide show
  1. package/CHANGELOG.md +41 -5
  2. package/dist/asset-types.d.ts +24 -56
  3. package/dist/asset-types.d.ts.map +1 -1
  4. package/dist/asset-types.js.map +1 -1
  5. package/dist/asset.d.ts +0 -7
  6. package/dist/asset.d.ts.map +1 -1
  7. package/dist/asset.js +11 -45
  8. package/dist/asset.js.map +1 -1
  9. package/dist/authoring-actions.d.ts.map +1 -1
  10. package/dist/authoring-actions.js +5 -27
  11. package/dist/authoring-actions.js.map +1 -1
  12. package/dist/authoring-bindings.js +1 -1
  13. package/dist/authoring-bindings.js.map +1 -1
  14. package/dist/authoring-dimensions.js +3 -3
  15. package/dist/authoring-fastening.d.ts +16 -2
  16. package/dist/authoring-fastening.d.ts.map +1 -1
  17. package/dist/authoring-fastening.js +106 -47
  18. package/dist/authoring-fastening.js.map +1 -1
  19. package/dist/authoring-nodes.d.ts +4 -4
  20. package/dist/authoring-nodes.d.ts.map +1 -1
  21. package/dist/authoring-nodes.js +7 -7
  22. package/dist/authoring-nodes.js.map +1 -1
  23. package/dist/authoring-placement.d.ts +40 -0
  24. package/dist/authoring-placement.d.ts.map +1 -0
  25. package/dist/{authoring-occupancy.js → authoring-placement.js} +225 -238
  26. package/dist/authoring-placement.js.map +1 -0
  27. package/dist/authoring-proportion.d.ts.map +1 -1
  28. package/dist/authoring-proportion.js +28 -12
  29. package/dist/authoring-proportion.js.map +1 -1
  30. package/dist/authoring-size.js +1 -1
  31. package/dist/authoring-types.d.ts +57 -91
  32. package/dist/authoring-types.d.ts.map +1 -1
  33. package/dist/authoring-types.js +8 -8
  34. package/dist/authoring-types.js.map +1 -1
  35. package/dist/body.d.ts +19 -0
  36. package/dist/body.d.ts.map +1 -0
  37. package/dist/body.js +37 -0
  38. package/dist/body.js.map +1 -0
  39. package/dist/clip-keeping.d.ts.map +1 -1
  40. package/dist/clip-keeping.js +7 -5
  41. package/dist/clip-keeping.js.map +1 -1
  42. package/dist/command-preview.js +4 -4
  43. package/dist/command-preview.js.map +1 -1
  44. package/dist/contract.d.ts +0 -3
  45. package/dist/contract.d.ts.map +1 -1
  46. package/dist/contract.js.map +1 -1
  47. package/dist/editor-workspace.js +1 -1
  48. package/dist/editor-workspace.js.map +1 -1
  49. package/dist/examples.d.ts.map +1 -1
  50. package/dist/examples.js +7 -8
  51. package/dist/examples.js.map +1 -1
  52. package/dist/face-overhang.js +2 -2
  53. package/dist/face-overhang.js.map +1 -1
  54. package/dist/fasten-place.d.ts +18 -0
  55. package/dist/fasten-place.d.ts.map +1 -1
  56. package/dist/fasten-place.js +43 -7
  57. package/dist/fasten-place.js.map +1 -1
  58. package/dist/gate.d.ts +15 -32
  59. package/dist/gate.d.ts.map +1 -1
  60. package/dist/gate.js +34 -101
  61. package/dist/gate.js.map +1 -1
  62. package/dist/graph-types.d.ts +2 -2
  63. package/dist/graph.d.ts.map +1 -1
  64. package/dist/graph.js +6 -67
  65. package/dist/graph.js.map +1 -1
  66. package/dist/index.d.ts +9 -8
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +8 -7
  69. package/dist/index.js.map +1 -1
  70. package/dist/joint-fields.d.ts +6 -8
  71. package/dist/joint-fields.d.ts.map +1 -1
  72. package/dist/joint-fields.js +6 -6
  73. package/dist/joint-fields.js.map +1 -1
  74. package/dist/joint-list.d.ts +11 -9
  75. package/dist/joint-list.d.ts.map +1 -1
  76. package/dist/joint-list.js +75 -53
  77. package/dist/joint-list.js.map +1 -1
  78. package/dist/joint-motions.d.ts +30 -0
  79. package/dist/joint-motions.d.ts.map +1 -0
  80. package/dist/joint-motions.js +28 -0
  81. package/dist/joint-motions.js.map +1 -0
  82. package/dist/joint-part-edits.d.ts +1 -10
  83. package/dist/joint-part-edits.d.ts.map +1 -1
  84. package/dist/joint-part-edits.js +101 -98
  85. package/dist/joint-part-edits.js.map +1 -1
  86. package/dist/joint-writing.d.ts +3 -4
  87. package/dist/joint-writing.d.ts.map +1 -1
  88. package/dist/joint-writing.js +229 -170
  89. package/dist/joint-writing.js.map +1 -1
  90. package/dist/kernel-version.d.ts +1 -1
  91. package/dist/kernel-version.d.ts.map +1 -1
  92. package/dist/kernel-version.js +1 -1
  93. package/dist/kernel-version.js.map +1 -1
  94. package/dist/part-edit.d.ts +1 -8
  95. package/dist/part-edit.d.ts.map +1 -1
  96. package/dist/part-edit.js +19 -34
  97. package/dist/part-edit.js.map +1 -1
  98. package/dist/proposal.d.ts +4 -11
  99. package/dist/proposal.d.ts.map +1 -1
  100. package/dist/proposal.js +6 -13
  101. package/dist/proposal.js.map +1 -1
  102. package/dist/recipe-from-parts.d.ts.map +1 -1
  103. package/dist/recipe-from-parts.js +12 -4
  104. package/dist/recipe-from-parts.js.map +1 -1
  105. package/dist/recipe.d.ts.map +1 -1
  106. package/dist/recipe.js +11 -9
  107. package/dist/recipe.js.map +1 -1
  108. package/dist/release-contract.d.ts +1 -1
  109. package/dist/release-contract.d.ts.map +1 -1
  110. package/dist/release-contract.js +33 -30
  111. package/dist/release-contract.js.map +1 -1
  112. package/dist/release-metrics.d.ts +14 -14
  113. package/dist/release-metrics.d.ts.map +1 -1
  114. package/dist/release-metrics.js +13 -29
  115. package/dist/release-metrics.js.map +1 -1
  116. package/dist/resize-plan.d.ts +0 -5
  117. package/dist/resize-plan.d.ts.map +1 -1
  118. package/dist/resize-plan.js +4 -29
  119. package/dist/resize-plan.js.map +1 -1
  120. package/dist/robots.d.ts.map +1 -1
  121. package/dist/robots.js +44 -48
  122. package/dist/robots.js.map +1 -1
  123. package/dist/size-edit.js +3 -3
  124. package/dist/size-edit.js.map +1 -1
  125. package/dist/surface.js +2 -2
  126. package/docs/asset-persistence.md +1 -1
  127. package/docs/attachment-response-spec-review-2026-10-24.md +56 -0
  128. package/docs/document-contract.md +0 -1
  129. package/docs/editor-integration.md +2 -0
  130. package/docs/modeller-interaction-performance-2026-10-07.md +1 -1
  131. package/docs/operator-contracts.md +3 -18
  132. package/docs/performance-followup-2026-10-05.md +1 -1
  133. package/docs/review-2026-09-22.md +2 -2
  134. package/docs/shape-dimension-contract.md +27 -25
  135. package/docs/status.md +12 -2
  136. package/package.json +1 -1
  137. package/dist/authoring-occupancy.d.ts +0 -28
  138. package/dist/authoring-occupancy.d.ts.map +0 -1
  139. package/dist/authoring-occupancy.js.map +0 -1
  140. package/dist/room.d.ts +0 -53
  141. package/dist/room.d.ts.map +0 -1
  142. package/dist/room.js +0 -101
  143. package/dist/room.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  # 모델러 선택·값 변경 성능 측정 (2026-10-07)
2
2
 
3
- 결정 정본: [ADR-0119](../../operato-application/adr/ADR-0119.md) (채택, 범위 좁힘).
3
+ 설계 결정 기준: [ADR-0119](../../operato-application/adr/ADR-0119.md) (채택, 범위 좁힘).
4
4
  이 문서는 측정 원자료와 실행 상태를 둔다. 예정 효과를 성과로 적지 않는다.
5
5
 
6
6
  ## 대상과 방법
@@ -76,7 +76,7 @@ args 순서와 output 이름은 버전별 연산 계약이다. 전체 연산 cat
76
76
  | mul@1 | a,b | value=a*b | overflow/nonfinite |
77
77
  | div@1 | a,b | value=a/b | b=0, overflow/nonfinite |
78
78
  | geomean@1 | a,b[,c] (동일 차원) | value=(a·b[·c])^(1/n) | 음수 입력 |
79
- | at-least@1 | a,b (동일 차원) | value=flag(a≥b). **flag 는 치수·pose·occupancy 로 못 간다** — appearance.visibility 만 받는다 (Figure 설계자 결정 2026-09-22) | 없음 |
79
+ | at-least@1 | a,b (동일 차원) | value=flag(a≥b). **flag 는 치수·pose 로 못 간다** — appearance.visibility 만 받는다 (Figure 설계자 결정 2026-09-22) | 없음 |
80
80
  | curve@1 | x, at₀,v₀, at₁,v₁, … (at 는 x 와 같은 차원, v 는 한 차원; 키 2개 이상) | value=키 사이는 직선, 키 밖은 끝 값 유지 (piecewise-linear; Figure 설계자 승인 2026-09-22) | at 가 strictly increasing 이 아님 (index 로 보고) |
81
81
  | sphere-shape@1 | radiusX,radiusY,radiusZ (길이) | shape(sphere) | 반지름≤0 |
82
82
  | polygon-shape@1 | height, x0,z0, x1,z1, … (길이, 점 3개 이상) | shape(polygon; 단면은 X–Z, Y 로 민다) | height≤0, 단면이 한 축으로 퍼지지 않음 |
@@ -89,7 +89,6 @@ args 순서와 output 이름은 버전별 연산 계약이다. 전체 연산 cat
89
89
  | between@1 | low,high,marginLow,marginHigh (길이) | length,center | 음수 여백, length≤0 |
90
90
  | box@1 | width,height,depth (길이) | xMin,xMax,yMin,yMax,zMin,zMax | 치수≤0 |
91
91
  | cylinder@1 | radius,length (길이) | start,end,radialMin,radialMax | 치수≤0 |
92
- | affine-bounds@1 | 후보마다 c, (v, k)×n — `layout` 이 묶음 (아래) | xmin,xmax,ymin,ymax,zmin,zmax | layout 형식, 인자 수·차원 불일치 |
93
92
 
94
93
  `between`은 length와 center를 함께 소유한다. 다른 node가 length만 다시 쓰더라도
95
94
  `DUPLICATE_WRITER`다. 순환은 node 경로와 함께 `CYCLE`로 보고한다.
@@ -102,22 +101,8 @@ center = (low+high+marginLow-marginHigh)/2
102
101
  length=0도 거절한다. 부족량이 0인 경우에도 'positive length required'를 명시한다.
103
102
  조용한 clamp, 우선순위 기반 덮어쓰기, 초기값에 의존한 반복 수렴은 없다.
104
103
 
105
- `affine-bounds@1`은 선언 공간(occupancy)의 여섯 경계를 한 노드로 소유한다(r3 §5, 수석 아키텍트 판정
106
- 2026-09-25 — 부품마다·축마다 합 노드를 펼치던 방식이 부품 16 에서 512 노드를 넘었다). 각 경계는 **후보 아핀식**
107
- 중 가장 작은 값(min) 또는 가장 큰 값(max)이다. 후보 하나는 상수 c 와 항 n 개: `c + v₁·k₁ + … + vₙ·kₙ`, c·v 는
108
- 길이, k 는 비율. 인자는 후보 순서대로 `c, v₁, k₁, …, vₙ, kₙ` 를 이어 붙인다. 어느 인자가 어느 경계의 몇 번째
109
- 후보인지는 `params.layout` 이 말한다 — 파라미터는 식별자여야 하므로 `L` 로 시작하고, 여섯 묶음(낮은 x, 높은 x,
110
- 낮은 y, 높은 y, 낮은 z, 높은 z)을 `.` 로, 한 묶음 안의 후보별 항 수를 `_` 로 잇는다.
111
-
112
- ```text
113
- layout = "L1_1.1_1.0.2_1.1.1"
114
- 낮은 x: 후보 둘(항 1, 항 1) · 높은 x: 둘 · 낮은 y: 하나(항 0) · 높은 y: 둘(항 2, 항 1) · 낮은 z: 하나 · 높은 z: 하나
115
- args = [c, v, k, c, v, k, c, v, k, c, v, k, c, c, v, k, v, k, c, v, k, c, v, k, c, v, k]
116
- ```
117
-
118
- 후보는 조작의 양 끝을 상수로 구워 쓴다(상태 입력을 읽지 않는다). 그래서 경계는 모든 조작값에 걸친 봉투이고,
119
- op 가 놓인 부품을 직접 받지 않는 까닭이다 — 받으면 평가 시점의 자세만 본다. 비아핀(min·max) 목록에 있고,
120
- 상태 극값은 주장하지 않는다(`unknown`).
104
+ `affine-bounds@1`(선언 공간의 여섯 경계)은 ADR-0145 로 걷었다. 크기와 동작 범위는 계산하며, 이 연산을 담은 그래프는
105
+ `OPERATOR` 로 거절된다.
121
106
 
122
107
  ## 5. provider 계약
123
108
 
@@ -1,6 +1,6 @@
1
1
  # Figure 후속 성능 실행 계획 (2026-10-05)
2
2
 
3
- 결정 정본: [ADR-0108 현행 보완](../../operato-application/adr/ADR-0108.md).
3
+ 설계 결정 기준: [ADR-0108 현행 보완](../../operato-application/adr/ADR-0108.md).
4
4
  출발점: 0.3.4·10.1.73 일반 변경분 채택 및 설치본 검증 완료. 과거 튜닝 성과는 유지한다.
5
5
  제품 목표와 원자료는 [성능 요약](evaluation-performance-summary-2026-10-05.md)을 따른다.
6
6
  이 문서는 실행 상태를 관리하며 예정 효과를 성과로 기록하지 않는다.
@@ -21,8 +21,8 @@ figure-model 0.1.32 (`54d30c2`) 기준. 문서를 읽고 판단한 것이 아니
21
21
  ```
22
22
  src/ Figure 모듈 13 개 · 2,266 줄(시험 포함)
23
23
  index.ts 10 개를 내보낸다 — compileFigureGraph · createFigureAsset · …
24
- npm test 461 통과 · 0 빨강
25
- node --test docs/prototypes/*.test.mjs 143 통과 · 0 빨강
24
+ npm test 461 통과 · 0 실패
25
+ node --test docs/prototypes/*.test.mjs 143 통과 · 0 실패
26
26
  ```
27
27
 
28
28
  ### 핵심 주장이 실측으로 성립한다
@@ -4,13 +4,15 @@ Status: **contract, fixed 2026-09-22 by the designer** (ADR-0087, stage-review r
4
4
  dimensions) implemented the same day: `cylinder-shape@2`, `rounded-box@2`, `hollow-box@2`, and the sampler reading
5
5
  them. §2–3 implemented the same night: dependence on state is tracked per value in the
6
6
  compiler and printed as `dependence` beside `outputTypes`; every operator carries a `state` policy (`follows` or
7
- `refuses`; an operator without one fails with `STATE_POLICY`); `occupancy.extent` may not depend on state
8
- (`OCCUPANCY_STATE`); `inspectFigureAsset` covers the state range and reports `proven` (corners; no state-dependent
7
+ `refuses`; an operator without one fails with `STATE_POLICY`); `inspectFigureAsset` covers the state range and reports `proven` (corners; no state-dependent
9
8
  rotation), `sampled` (a rotation depends on state; corners plus per-input sweeps, step stated, not a proof) or
10
9
  `defaults` (one state, as asked). The `bounded` method of §3 (swept envelope) is not implemented; such assets report
11
10
  `sampled`. This is one rule for what a shape's dimensions are and what they may depend on. It is not three
12
11
  exceptions bolted on for the three assets that needed them.
13
12
 
13
+ Amended 2026-10-22 (ADR-0145): there is no declared occupancy. A figure's size is its body at rest and the room it
14
+ sweeps is computed, so §3 now says what the inspection checks over the range and what a board's box is.
15
+
14
16
  ## What a person sees
15
17
 
16
18
  An author opens the electrode roll cradle. A "fed" value sits at 0 %. As they drag it toward 100 %, the roll on the
@@ -83,39 +85,38 @@ operators to keep in sync.
83
85
  | policy | meaning | operators |
84
86
  |---|---|---|
85
87
  | `follows` | the output depends on state; fine | shape providers, `rigid`, `compose`, `attach`, `axis-turn`, `axis-slide`, `add`, `mul`, `div`, `geomean`, `feature`, `place`, `member` |
86
- | `refuses` | a state-dependent argument is a compile error | `fit-pitch@1`, `fixed-count@1` (count and pitch: structure and cost stay design-only; this is today's `TOPOLOGY_STATE`), the three lengths named by `occupancy.extent` |
88
+ | `refuses` | a state-dependent argument is a compile error | `fit-pitch@1`, `fixed-count@1` (count and pitch: structure and cost stay design-only; this is today's `TOPOLOGY_STATE`) |
87
89
  | `bounded` | allowed, and the contract states the resource limit that holds over the whole state range | none today; the slot for a future layout that may follow state |
88
90
 
89
- So: shape, attachment position and pose may follow state (a plate riding on the thinning roll follows it); the
90
- declared occupancy is a state-independent contract; structure- and cost-changing operations say so themselves.
91
+ So: shape, attachment position and pose may follow state (a plate riding on the thinning roll follows it);
92
+ structure- and cost-changing operations say so themselves.
91
93
 
92
- ## 3. The occupancy holds over the whole valid state range
94
+ ## 3. The inspection answers for the whole range a board may choose
93
95
 
94
- `occupancy` is the contract a board's placement relies on (ADR-0087 decision 7). A volume that is true at the
95
- default state and false at another is not that contract. So `inspectFigureAsset` answers for the **whole** valid state
96
- range, and says how it knows:
96
+ A figure's size and the room it sweeps are computed from its parts (ADR-0145); nothing declared is checked against
97
+ them. At each value it evaluates, `inspectFigureAsset` checks what the author said: that the figure can be made there
98
+ (an evaluation refused at a size or published value a board may set is `PUBLIC_INPUT_REFUSED`), and that the mounting
99
+ face, when one is named, lies on its plane. It answers for the whole range -- the state inputs, the instance size
100
+ (ADR-0087 decision 6) and the published inputs (ADR-0096), crossed -- and says how it knows:
97
101
 
98
- | how the geometry depends on state | how the check is done | what the report says |
102
+ | how values depend on the ranged inputs | how the check is done | what the report says |
99
103
  |---|---|---|
100
- | no state dependence | one evaluation at the defaults | `proven` |
101
- | every state-dependent world coordinate is affine or monotone in each state input (shape dimensions from `add`/`mul`/`geomean` of a single state input; slides along an axis) | evaluate at every corner of the state box (each input at min and max); the extremes are at the corners | `proven`, listing the corners |
102
- | a rotation or other non-linear composition is in the chain (`axis-turn` under a state input) | a conservative bound: the swept envelope of the turning subtree over the joint's range, or an extremum search on the offending coordinate with a stated step | `bounded`, with the method |
103
- | neither is available | sample the range with a stated step | `sampled`, with the range and the samples; **never** worded as a whole-range guarantee |
104
+ | no ranged input | one evaluation | `proven` |
105
+ | every ranged value reaches the graph through corner-extremal operations (multilinear in the ranged inputs, or monotone functions of such values: `cornerExtremalBasis`), and the mounting face does not move with state | evaluate at every corner of the box of ranged inputs; a value that leaves its domain anywhere leaves it at a corner | `proven`, listing the corners |
106
+ | anything else: a state-dependent rotation, a count through a pitch, a mounting face that moves with state, more inputs than the corner cap, a size with no end | the corners and each input in a stated number of steps | `sampled`, with the reasons; **never** worded as a whole-range guarantee |
104
107
 
105
- - A violation found anywhere in the range is a violation. The gate never widens the occupancy to make it go away.
106
- The author either declares a volume that covers the valid range, or narrows the allowed state range.
107
- - The endpoint-only shortcut is **wrong** for a rotating long part: inside at both end angles, out in the middle.
108
- That case takes the `bounded` row, not the `proven` one.
108
+ - A violation found anywhere in the range is a violation.
109
+ - The `bounded` method (a swept envelope) is not implemented.
109
110
 
110
- ### The occupancy is the instance's box on a board (ADR-0087, amendment 2026-10-06)
111
+ ### The body is the instance's box on a board (ADR-0145)
111
112
 
112
- - The reference size is the declared occupancy's `max − min` per axis, at the applied size and the resting state. The
113
- board's 2D box is its XZ projection; the 3D object stands in it. A declared reach (a robot arm's 4700 mm) is the box.
113
+ - The reference size is the body at rest: the parts at their state defaults, at the applied size. The board's 2D box
114
+ is its XZ projection, centred on the body; the 3D object stands in it.
114
115
  - Every figure is resized. With `size.x/y/z` it is evaluated again with them (held to their range); without them it is
115
116
  scaled in proportion, one scale on X, Y and Z. A proportional figure (no size inputs, or `sizing: 'uniform'`) keeps
116
- its proportions, and shape, occupancy and box take the same scale.
117
- - A state change never resizes the box: the occupancy is state-independent (§2–3), so the box does not follow the
118
- drawing of the current pose.
117
+ its proportions, and shape, body and box take the same scale.
118
+ - A state change never resizes the box. The room the figure sweeps is computed at the same size, and the editor draws
119
+ it dashed on the figure it has picked.
119
120
 
120
121
  ## 4. Completion criterion for this contract
121
122
 
@@ -124,7 +125,8 @@ range, and says how it knows:
124
125
  - Dependence appears in `outputTypes`; a synthetic new operator with no policy fails to compile when handed a
125
126
  state-dependent value; `fit-pitch@1` and `fixed-count@1` still refuse it; a shape provider accepts it.
126
127
  - An occupancy check on the roll cradle reports `proven` over the `fed` range, and a synthetic rotating long part
127
- reports `bounded`, with a violation found at a middle angle that the endpoints alone would have missed.
128
+ reports `bounded`, with a violation found at a middle angle that the endpoints alone would have missed. (Written
129
+ before ADR-0145; there is no occupancy check now, and §3 says what the inspection checks.)
128
130
 
129
131
  ## Not in this contract
130
132
 
package/docs/status.md CHANGED
@@ -1,9 +1,19 @@
1
1
  # 구현·검증 현황
2
2
 
3
3
  > 이 파일은 짧은 안내다. 결정은 `operato-application/adr/`(ADR-0087 · ADR-0093 · ADR-0096), 현재 상태는
4
- > `operato-application/packages/operato-figure/docs/CURRENT_STATUS.md` 가 정본이다.
4
+ > `operato-application/packages/operato-figure/docs/CURRENT_STATUS.md` 가 현행 상태의 기준 문서이다.
5
5
 
6
- 최근 저장소 점검: 2026-10-04, figure-model 0.3.2 (`4610edc`).
6
+ ## 2026-10-24 재확인
7
+
8
+ 현재 체크아웃과 operato-application 설치본은 **0.10.0**이다. 6축 로봇암, 모바일 매니퓰레이터, 공통 부착·관절 명령, driver·motion group은 코드에 존재한다. ADR-0145에 따라 정지 몸체 크기와 동작 범위를 구별하며, occupancy.bounds 선언을 현행 계약으로 사용하지 않는다.
9
+
10
+ 이번 실행: `node --test src/robot-arm.test.ts src/joint-frames.test.ts src/motion-groups.test.ts src/fasten-place.test.ts` — 69 통과, 0 실패. 전체 회귀·운영 배포·사용성 검증 결과가 아니다. 상세는 [제품 현황](../../operato-application/packages/operato-figure/docs/CURRENT_STATUS.md) 첫 절과 [기반 리뷰](../../operato-application/packages/operato-figure/docs/foundation-review-2026-10-24.md)를 따른다.
11
+
12
+ ## 과거 점검 기록
13
+
14
+ 아래 버전과 제품 연결 정보는 기록 당시의 사실이다.
15
+
16
+ 최근 저장소 점검(당시): 2026-10-04, figure-model 0.3.2 (`4610edc`).
7
17
 
8
18
  - 완결성·확장성 및 공개 경계 검토: [점검 결과](completeness-review-2026-10-04.md).
9
19
  - 점검 때 `npm test`: 타입 검사와 696개 시험 통과.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hatiolab/figure-model",
3
- "version": "0.9.6",
3
+ "version": "0.11.0",
4
4
  "description": "The figure format (figure-asset-1): a kernel that evaluates a figure from its declared relations, the authoring commands a modeller and an AI share, the release gate and the score.",
5
5
  "keywords": [
6
6
  "figure",
@@ -1,28 +0,0 @@
1
- import { type FigureAsset, type FigurePlacement } from './asset-types.ts';
2
- import { type FigureFace, type FigureAuthoringAction, type FigureOccupancyProposal } from './authoring-types.ts';
3
- type Dynamic = any;
4
- /** What the parts come to, and what a person is being asked to confirm. Reads the asset; changes nothing. */
5
- export declare function proposeFigureOccupancy(asset: FigureAsset, options?: {
6
- over?: 'rest' | 'range';
7
- }): FigureOccupancyProposal;
8
- /**
9
- * The placement says which plane the mounting plane is. A part fastened to it in a way the new plane does not take --
10
- * hanging below the floor, when the figure is to hang on a wall, which a part only stands out of -- is named, not
11
- * seated again without a word (chief architect's condition, 2026-09-25): fasten it again the way the new plane takes.
12
- */
13
- export declare function setPlacement(asset: Dynamic, a: {
14
- kind: 'set-placement';
15
- placement: FigurePlacement;
16
- }): Dynamic;
17
- export declare function declareOccupancy(asset: Dynamic, a: Extract<FigureAuthoringAction, {
18
- kind: 'declare-occupancy';
19
- }>): Dynamic;
20
- /** "This face is what the figure is mounted on." Kept apart from how much room the figure takes up. */
21
- export declare function setMountingFace(asset: Dynamic, a: {
22
- kind: 'set-mounting-face';
23
- part: string;
24
- face: FigureFace;
25
- }): Dynamic;
26
- export declare function clearMountingFace(asset: Dynamic): Dynamic;
27
- export {};
28
- //# sourceMappingURL=authoring-occupancy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authoring-occupancy.d.ts","sourceRoot":"","sources":["../src/authoring-occupancy.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAqB,MAAM,kBAAkB,CAAA;AAC5F,OAAO,EAEL,KAAK,UAAU,EAGf,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAA;AA+B7B,KAAK,OAAO,GAAG,GAAG,CAAA;AAu5BlB,6GAA6G;AAC7G,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAO,GACxC,uBAAuB,CA+BzB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,SAAS,EAAE,eAAe,CAAA;CAAE,GAAG,OAAO,CAqB9G;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,CAAC,EAAE,OAAO,CAAC,qBAAqB,EAAE;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAAC,GAC/D,OAAO,CAoFT;AAED,uGAAuG;AACvG,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,CAAC,EAAE;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC/D,OAAO,CAwBT;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIzD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"authoring-occupancy.js","sourceRoot":"","sources":["../src/authoring-occupancy.ts"],"names":[],"mappings":"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"}
package/dist/room.d.ts DELETED
@@ -1,53 +0,0 @@
1
- import type { FigureAsset } from './asset-types.ts';
2
- import type { FigureAuthoringAction } from './authoring-types.ts';
3
- import { type Axis } from './words.ts';
4
- type Bounds = Record<Axis, {
5
- min: number;
6
- max: number;
7
- }>;
8
- /**
9
- * Design inputs the declared room reads and nothing drawn does: a part's old position or size, left when a rule took
10
- * its place, which the room was measured from. They move no part; typing into one changes only the room. With `part`,
11
- * only that part's own (`<part>.…`).
12
- */
13
- export declare function figureRoomOnlyInputsOf(asset: FigureAsset, part?: string): string[];
14
- export interface FigureRoomRefit {
15
- /** The command that declares the room again from the parts, as proposed now: apply it only when the author confirms. */
16
- step: Extract<FigureAuthoringAction, {
17
- kind: 'declare-occupancy';
18
- }>;
19
- /** The room as declared and as proposed, at the authored size and, when the figure declares its size, at the largest. */
20
- declared: {
21
- authored: Bounds;
22
- largest?: Bounds;
23
- };
24
- proposed: {
25
- authored: Bounds;
26
- largest?: Bounds;
27
- };
28
- /** Parts the release gate finds outside each room, and how it checked: proven over the range, or sampled. */
29
- /** Inputs that confirming removes: read by nothing once the room is declared again -- a part's old position or size. */
30
- drops: string[];
31
- outside: {
32
- declared: FigureRoomFinding;
33
- proposed: FigureRoomFinding;
34
- };
35
- }
36
- /** A part outside the room: on which axis, and by how much at worst. */
37
- export type FigureRoomOutside = {
38
- part: string;
39
- axis: Axis;
40
- mm: number;
41
- };
42
- /** The parts outside, and how the gate checked: `proven` over the whole range, or `sampled` at `states` states. */
43
- export type FigureRoomFinding = {
44
- parts: FigureRoomOutside[];
45
- coverage: {
46
- method: 'proven' | 'sampled' | 'defaults';
47
- states: number;
48
- };
49
- };
50
- /** What declaring the room again would change, or undefined for a figure with no room declared. */
51
- export declare function figureRoomRefitOf(asset: FigureAsset): FigureRoomRefit | undefined;
52
- export {};
53
- //# sourceMappingURL=room.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../src/room.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAMjE,OAAO,EAAQ,KAAK,IAAI,EAAE,MAAM,YAAY,CAAA;AAG5C,KAAK,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAoBxD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBlF;AAED,MAAM,WAAW,eAAe;IAC9B,wHAAwH;IACxH,IAAI,EAAE,OAAO,CAAC,qBAAqB,EAAE;QAAE,IAAI,EAAE,mBAAmB,CAAA;KAAE,CAAC,CAAA;IACnE,yHAAyH;IACzH,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAChD,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAChD,6GAA6G;IAC7G,wHAAwH;IACxH,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,EAAE;QAAE,QAAQ,EAAE,iBAAiB,CAAC;QAAC,QAAQ,EAAE,iBAAiB,CAAA;KAAE,CAAA;CACtE;AACD,wEAAwE;AACxE,MAAM,MAAM,iBAAiB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AACxE,mHAAmH;AACnH,MAAM,MAAM,iBAAiB,GAAG;IAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAAC,QAAQ,EAAE;QAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAA;AAEvI,mGAAmG;AACnG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,GAAG,SAAS,CA2CjF"}
package/dist/room.js DELETED
@@ -1,101 +0,0 @@
1
- /*
2
- * The declared room, read for the author (ADR-0097 §6): which inputs only the room still reads, and what declaring it
3
- * again from the parts would change. The room is never widened or rewritten as a side effect of another command; a
4
- * person sees the room as declared and as proposed, and what the gate finds outside each, before confirming.
5
- */
6
- import { upgradeFigurePlacement } from "./asset.js";
7
- import { applyFigureAuthoring } from "./authoring-actions.js";
8
- import { proposeFigureOccupancy } from "./authoring-occupancy.js";
9
- import { compileFigureGraph } from "./graph.js";
10
- import { inspectFigureAsset, RESIZE_FACTOR } from "./gate.js";
11
- import { FIGURE_INSTANCE_SIZE_INPUTS, figureInstanceSizeRangeOf } from "./instance-size.js";
12
- import { AXES } from "./words.js";
13
- const stringsIn = (value) => typeof value === 'string' ? [value] : Array.isArray(value) ? value.flatMap(stringsIn) : value && typeof value === 'object' ? Object.values(value).flatMap(stringsIn) : [];
14
- /** Every value a set of references is worked out from, inputs included. */
15
- function readFrom(m, from) {
16
- const writers = new Map();
17
- for (const n of m.nodes)
18
- for (const ref of Object.values(n.outputs ?? {}))
19
- writers.set(ref, n);
20
- const read = new Set();
21
- for (const pending = [...from]; pending.length;) {
22
- const ref = pending.pop();
23
- if (read.has(ref))
24
- continue;
25
- read.add(ref);
26
- const writer = writers.get(ref);
27
- if (writer)
28
- pending.push(...writer.args, ...stringsIn(writer.params));
29
- }
30
- return read;
31
- }
32
- /**
33
- * Design inputs the declared room reads and nothing drawn does: a part's old position or size, left when a rule took
34
- * its place, which the room was measured from. They move no part; typing into one changes only the room. With `part`,
35
- * only that part's own (`<part>.…`).
36
- */
37
- export function figureRoomOnlyInputsOf(asset, part) {
38
- asset = upgradeFigurePlacement(asset);
39
- const a = asset;
40
- const m = a.document.model;
41
- if (!a.occupancy)
42
- return [];
43
- const drawn = readFrom(m, [
44
- ...m.nodes.filter((n) => n.op === 'place@1' || n.op === 'member@1' || n.op === 'repeat@1').flatMap((n) => n.args),
45
- ...stringsIn(a.appearance),
46
- ...stringsIn(a.document.capabilities),
47
- ...stringsIn(a.drivers),
48
- ...stringsIn(a.publicInputs),
49
- ...stringsIn(a.dataInterface),
50
- ...stringsIn(a.joints)
51
- ]);
52
- const room = readFrom(m, stringsIn(a.occupancy));
53
- return m.inputs
54
- .filter((i) => i.role === 'design' && room.has(i.id) && !drawn.has(i.id) && (!part || i.id.startsWith(`${part}.`)))
55
- .map((i) => i.id);
56
- }
57
- /** What declaring the room again would change, or undefined for a figure with no room declared. */
58
- export function figureRoomRefitOf(asset) {
59
- asset = upgradeFigurePlacement(asset);
60
- if (!asset.occupancy)
61
- return undefined;
62
- const step = { kind: 'declare-occupancy', proposal: proposeFigureOccupancy(asset, { over: 'range' }) };
63
- const refit = applyFigureAuthoring(asset, step);
64
- const m = asset.document.model;
65
- /*
66
- At the largest size the release check reaches: the one the parts or the author set, and on an axis nothing limits,
67
- RESIZE_FACTOR times the drawn size, as the gate samples it (ADR-0087 decision 6).
68
- */
69
- const range = figureInstanceSizeRangeOf(asset);
70
- const largest = AXES.every(axis => range[axis])
71
- ? Object.fromEntries(AXES.map(axis => {
72
- const at = asset.designInputs[FIGURE_INSTANCE_SIZE_INPUTS[axis]];
73
- return [FIGURE_INSTANCE_SIZE_INPUTS[axis], Number.isFinite(range[axis].max) ? range[axis].max : at * RESIZE_FACTOR];
74
- }))
75
- : undefined;
76
- const boundsOf = (a, at = {}) => {
77
- const values = compileFigureGraph(a.document.model).evaluate({ ...a.designInputs, ...a.stateDefaults, ...at }).values;
78
- const b = a.occupancy.bounds;
79
- return Object.fromEntries(AXES.map(axis => [axis, { min: values[b[axis].min], max: values[b[axis].max] }]));
80
- };
81
- /*
82
- What lies outside, as the release gate finds it over the sizes and states the figure allows -- with its coverage:
83
- proven over the whole range, or sampled at so many states, which is not a bound (designer 2026-09-27: a check of a
84
- few corners is not a proof of the range).
85
- */
86
- const outside = (a) => {
87
- const report = inspectFigureAsset(a);
88
- return {
89
- parts: report.violations.filter(v => v.code === 'PART_OUTSIDE_OCCUPANCY').map(v => ({ part: v.part, axis: v.axis, mm: v.mm })),
90
- coverage: { method: report.coverage.method, states: report.coverage.states }
91
- };
92
- };
93
- return {
94
- step,
95
- drops: Object.keys(asset.designInputs).filter(id => !(id in refit.designInputs)),
96
- declared: { authored: boundsOf(asset), ...(largest ? { largest: boundsOf(asset, largest) } : {}) },
97
- proposed: { authored: boundsOf(refit), ...(largest ? { largest: boundsOf(refit, largest) } : {}) },
98
- outside: { declared: outside(asset), proposed: outside(refit) }
99
- };
100
- }
101
- //# sourceMappingURL=room.js.map
package/dist/room.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"room.js","sourceRoot":"","sources":["../src/room.ts"],"names":[],"mappings":"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"}