@hatiolab/figure-model 0.1.21 → 0.1.22
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.
- package/dist/blueprint-shape.d.ts.map +1 -1
- package/dist/blueprint-shape.js +4 -0
- package/dist/blueprint-shape.js.map +1 -1
- package/dist/blueprint.d.ts +7 -0
- package/dist/blueprint.d.ts.map +1 -1
- package/dist/blueprint.js +11 -40
- package/dist/blueprint.js.map +1 -1
- package/dist/grouping.d.ts +18 -0
- package/dist/grouping.d.ts.map +1 -1
- package/dist/grouping.js +14 -0
- package/dist/grouping.js.map +1 -1
- package/dist/origin.d.ts +29 -0
- package/dist/origin.d.ts.map +1 -0
- package/dist/origin.js +39 -0
- package/dist/origin.js.map +1 -0
- package/dist/sizing.d.ts.map +1 -1
- package/dist/sizing.js +4 -2
- package/dist/sizing.js.map +1 -1
- package/dist/types.d.ts +95 -36
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +55 -16
- package/dist/types.js.map +1 -1
- package/dist/validate.d.ts +0 -6
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +63 -11
- package/dist/validate.js.map +1 -1
- package/dist/visual-evidence.d.ts +1 -1
- package/dist/visual-evidence.d.ts.map +1 -1
- package/dist/visual-evidence.js +3 -1
- package/dist/visual-evidence.js.map +1 -1
- package/docs/format.md +142 -23
- package/docs/validation.md +72 -15
- package/package.json +2 -2
package/dist/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,5 +17,5 @@ export interface TopViewEvidence {
|
|
|
17
17
|
/** Entropy normalized by the Figure material-group limit plus background. */
|
|
18
18
|
readability: number;
|
|
19
19
|
}
|
|
20
|
-
export declare function topViewEvidence(
|
|
20
|
+
export declare function topViewEvidence(authored: FigureSource): TopViewEvidence;
|
|
21
21
|
//# sourceMappingURL=visual-evidence.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visual-evidence.d.ts","sourceRoot":"","sources":["../src/visual-evidence.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"visual-evidence.d.ts","sourceRoot":"","sources":["../src/visual-evidence.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAG9C;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;IACf,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAA;CACpB;AAKD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,eAAe,CA8CvE"}
|
package/dist/visual-evidence.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { materialKeyOf } from "./keys.js";
|
|
2
|
+
import { centredSource } from "./origin.js";
|
|
2
3
|
import { LIMITS } from "./types.js";
|
|
3
4
|
const GRID = 64;
|
|
4
5
|
const ROUND_FOOTPRINT = new Set(['cylinder', 'sphere']);
|
|
5
|
-
export function topViewEvidence(
|
|
6
|
+
export function topViewEvidence(authored) {
|
|
7
|
+
const source = centredSource(authored);
|
|
6
8
|
const cells = new Array(GRID * GRID).fill(null);
|
|
7
9
|
const heights = new Float32Array(GRID * GRID);
|
|
8
10
|
const sx = GRID / source.base.x;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visual-evidence.js","sourceRoot":"","sources":["../src/visual-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"visual-evidence.js","sourceRoot":"","sources":["../src/visual-evidence.ts"],"names":[],"mappings":"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"}
|
package/docs/format.md
CHANGED
|
@@ -28,8 +28,25 @@ transform.size { x, y, z } 축별 크기 [mm]
|
|
|
28
28
|
transform.rotation { x, y, z } 축별 회전(도, deg), 선택. 오일러 각 적용 순서는 Three.js/glTF 기본인 'XYZ' (Rx → Ry → Rz)다.
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
**원점은 부품의 중심**이고 `position` 은 그 원점의 자리다 — 여느 모델러와 같다.
|
|
32
|
+
|
|
33
|
+
그 자리를 재는 기준은 **`base` 상자의 밑면 가운데**다(원본 판 2, ADR-0065).
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
x 상자 중심에서
|
|
37
|
+
z 상자 중심에서
|
|
38
|
+
y 상자 밑면에서 위로
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
바닥에 선 부품은 `position.y` 가 자기 높이의 절반이다. 상자 높이(`base.y`)를 바꿔도 부품의 수는
|
|
42
|
+
그대로다 — 편집하면서 높이가 계속 달라지기 때문에 이 기준을 쓴다. 놓이는 자산에 흔한 원점(발 밑
|
|
43
|
+
가운데)과도 같다.
|
|
44
|
+
|
|
45
|
+
컴파일한 청사진은 y 도 상자 중심에서 잰다. 씬 런타임의 원점 규약이 그것이고, 원본을 그 좌표로 바꾸는
|
|
46
|
+
자리는 `origin.ts` 한 곳이다.
|
|
47
|
+
|
|
48
|
+
판 1(2026-09-17 이전)은 y 를 상자 중심에서 쟀다. 판을 적지 않은 원본도 판 1 이다. **판 2 만 읽는다** —
|
|
49
|
+
다른 판은 `source-version-unsupported` 로 거절한다.
|
|
33
50
|
|
|
34
51
|
씬 컴포넌트의 state 는 `width` · `height` · `depth` 이고 축 배정도 다르다(그쪽은
|
|
35
52
|
`depth` 가 높이다). 그 환산은 그리는 쪽 경계 한 곳에서 한다.
|
|
@@ -57,6 +74,25 @@ pitch: 150 // 롤러 중심 간 거리 150mm
|
|
|
57
74
|
| `parts` | `FigurePart[]` | ✓ | 부품. 하나는 있어야 한다 |
|
|
58
75
|
| `detailLevel` | `'S' \| 'M' \| 'L'` | | 부품 수 상한을 정한다 (3 · 8 · 20) |
|
|
59
76
|
| `styleKit` | `string` | | StyleKit 이름. 팔레트·분할 수·그리드·등급을 한 번에 받는다 |
|
|
77
|
+
| `placement` | `'floor' \| 'ceiling' \| 'center'` | | 어느 면에 붙나 — 아래 |
|
|
78
|
+
| `animations` | `AnimationClip[]` | | 시각이 흘러서 움직이는 것 — 아래 |
|
|
79
|
+
| `parameters` | `FigureParameter[]` | | 값이 바뀌어서 움직이는 것 — 아래 |
|
|
80
|
+
| `capabilities`| `FigureCapability[]` | | 흐름에서 무엇을 하나 — 아래 |
|
|
81
|
+
|
|
82
|
+
### `placement` — 어느 면에 붙나
|
|
83
|
+
|
|
84
|
+
컨베이어는 바닥에 서고 OHT 는 천장에 매달린다. 그것은 **그 종류의 사실**이지 놓는 사람이
|
|
85
|
+
매번 정할 것이 아니다. 그래서 정본이 지고 다니고, 인스턴스가 배치될 때 씬이 높이를 정한다.
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
floor 바닥에 선다. 안 적으면 이것이다 컨베이어 · 랙 · 작업대
|
|
89
|
+
ceiling 천장에 매달린다 OHT · 호이스트 · 크레인
|
|
90
|
+
center 공중에 뜬다. 기준 면이 없다 드론 · 센서
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**저작하는 좌표는 이것과 무관하다.** 어느 값이든 부품은 `base` 상자 안의 같은 자리에 적힌다
|
|
94
|
+
— `position.y` 는 언제나 상자 **중심**에서 잰다. 천장 기준 도형이라고 해서 숫자가 뒤집히지
|
|
95
|
+
않는다. 뒤집으면 저작자가 적는 수가 드롭다운 하나에 따라 다른 면을 뜻하게 된다.
|
|
60
96
|
|
|
61
97
|
## `FigurePart` — 부품
|
|
62
98
|
|
|
@@ -136,23 +172,41 @@ mesh 계열은 치수만으로 선다. extrude 계열은 2D 단면을 위로 민
|
|
|
136
172
|
한 Figure 에 `LIMITS.surfaceTextures`(1) 개까지 봐준다. 넘으면 위반이고
|
|
137
173
|
원가표(`costOf`)의 재질 수와 점수(`scoreOf`)에 그대로 드러난다.
|
|
138
174
|
|
|
139
|
-
### 움직임 —
|
|
175
|
+
### 움직임 — 두 갈래다
|
|
176
|
+
|
|
177
|
+
도형이 움직이는 까닭은 둘 중 하나다.
|
|
178
|
+
|
|
179
|
+
**시각이 흘러서 움직인다.** 컨베이어 롤러는 아무도 안 봐도 돌고 있다. 인스턴스가 주는
|
|
180
|
+
수는 **배속**이고, 1 이 보통이고 0 이면 선다. 이런 것이 `animations` 다.
|
|
140
181
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
182
|
+
**값이 바뀌어서 움직인다.** 호이스트는 재생되는 것이 아니라 **지금 1200mm 내려와 있는**
|
|
183
|
+
것이다. 인스턴스가 주는 수는 **그 물리량**이고, 그 값이 곧 자세다. 이런 것이
|
|
184
|
+
`parameters` 다.
|
|
185
|
+
|
|
186
|
+
한동안 뒤엣것이 앞엣것 안에 `drive: 'hold'` 로 들어 있었다. 형식의 판단은 맞았는데
|
|
187
|
+
**자리와 이름이 틀려서**, 「호이스트 길이를 변수로 노출하라」는 요청에 저작자도 AI 도
|
|
188
|
+
이것을 못 찾았다 — 애니메이션 칸에 있을 거라고 생각하지 않는다. 지금은 둘이 갈라져 있고,
|
|
189
|
+
`drive` 칸은 없어졌다. 업계도 같은 자리에서 가른다: Unity 의 Animation Clip 과 Blend Tree
|
|
190
|
+
파라미터, Blender 의 Action 과 Driver.
|
|
144
191
|
|
|
145
192
|
```
|
|
146
|
-
FigureSource.animations[]
|
|
147
|
-
└ channels[]
|
|
193
|
+
FigureSource.animations[] 시각이 흐르는 것
|
|
194
|
+
└ channels[] (부품, 경로) + 키프레임
|
|
195
|
+
|
|
196
|
+
FigureSource.parameters[] 값이 자세를 만드는 것
|
|
197
|
+
├ range 인스턴스와 주고받는 물리량 — mm · deg · %
|
|
198
|
+
└ clip.channels[] 같은 채널 형식이다
|
|
148
199
|
```
|
|
149
200
|
|
|
150
|
-
|
|
201
|
+
**곡선은 둘 다 glTF 그대로다.** 이 형식을 다른 3D 형식으로 내보낼 수 있어야 하고, 그러려면
|
|
202
|
+
구조가 같아야 한다. 내보내면 평범한 glTF 애니메이션이 나가고, 못 받는 쪽은 **`range` 선언만
|
|
203
|
+
잃고 형상은 잃지 않는다.**
|
|
204
|
+
|
|
205
|
+
#### `AnimationClip` — 시각이 흐르는 것
|
|
151
206
|
|
|
152
207
|
| 필드 | 타입 | 뜻 |
|
|
153
208
|
| ---------- | --------------------- | ------------------------------------------------------------ |
|
|
154
|
-
| `name` | `string` | **저장되는 식별자.** 인스턴스가 이 이름으로
|
|
155
|
-
| `drive` | `'loop' \| 'hold'` | 안 적으면 `loop` |
|
|
209
|
+
| `name` | `string` | **저장되는 식별자.** 인스턴스가 이 이름으로 배속을 준다 |
|
|
156
210
|
| `channels` | `AnimationChannel[]` | 하나는 있어야 한다 |
|
|
157
211
|
|
|
158
212
|
길이는 적지 않는다 — **마지막 키의 시각이 곧 길이다.** 따로 적으면 어긋날 수 있고,
|
|
@@ -189,22 +243,12 @@ scale 배율. 1 이 제 크기
|
|
|
189
243
|
| 회전 키가 **오일러 도** | 쿼터니언 | 손으로 적는 형식이다. `transform.rotation` 과 같은 약속 |
|
|
190
244
|
| `pivot` 이 채널에 | 부모 노드를 끼운다 | 부품이 겹치지 않아 끼울 노드가 없다 |
|
|
191
245
|
| `weights` 없음 | 있음 | 모프 타깃이 없다 |
|
|
192
|
-
|
|
|
246
|
+
| 값이 모는 곡선을 따로 갖는다(`parameters`) | 전부 애니메이션 | 트윈은 타임라인을 재생하지 않는다 |
|
|
193
247
|
| 채널·샘플러를 합침 | 나뉨 | 나눔은 정점 데이터를 아끼는 장치다. 손으로 적을 때는 한 겹일 뿐 |
|
|
194
248
|
|
|
195
249
|
**내보낼 때 주의**: 회전을 쿼터니언으로 바꾸면 **360° 한 바퀴가 항등이 되어** 키 둘로는
|
|
196
250
|
표현이 안 된다. 180° 넘는 구간은 내보내는 쪽이 쪼개야 한다 — 표준 익스포터가 하는 일이다.
|
|
197
251
|
|
|
198
|
-
#### `drive` — 트윈이 타임라인을 재생하지 않기 때문에 있다
|
|
199
|
-
|
|
200
|
-
clip 은 `t → 변환` 함수다. `t` 를 시계가 아니라 **상태**에서 받으면 트윈이 원하는 것이
|
|
201
|
-
그대로 된다.
|
|
202
|
-
|
|
203
|
-
```
|
|
204
|
-
loop 시각이 흐른다. 인스턴스가 주는 값은 배속 도는 롤러
|
|
205
|
-
hold 시각이 멈춰 있다. 인스턴스가 주는 값은 0~1 위치 열린 정도
|
|
206
|
-
```
|
|
207
|
-
|
|
208
252
|
그래서 「진동」·「맥동」은 별도 종류가 아니라 **왕복하는 키프레임**이다.
|
|
209
253
|
|
|
210
254
|
```js
|
|
@@ -216,6 +260,81 @@ hold 시각이 멈춰 있다. 인스턴스가 주는 값은 0~1 위치 열
|
|
|
216
260
|
]}]}
|
|
217
261
|
```
|
|
218
262
|
|
|
263
|
+
#### `FigureParameter` — 값이 자세를 만드는 것
|
|
264
|
+
|
|
265
|
+
호이스트가 얼마나 내려왔나, 포크가 얼마나 올라갔나, 닙이 얼마나 닫혔나. 트윈은 「클립을
|
|
266
|
+
재생하라」가 아니라 **「지금 1200mm 내려와 있다」**를 준다.
|
|
267
|
+
|
|
268
|
+
| 필드 | 타입 | 뜻 |
|
|
269
|
+
| --------- | ---------------- | ----------------------------------------------------------- |
|
|
270
|
+
| `name` | `string` | **저장되는 식별자.** 인스턴스가 이 이름으로 값을 준다 |
|
|
271
|
+
| `label` | `string` | 화면에 보일 이름. 없으면 `name` |
|
|
272
|
+
| `range` | `ParameterRange` | 주고받는 물리량. `{ unit, min, max }` |
|
|
273
|
+
| `default` | `number` | 아무도 안 줬을 때. 없으면 `range.min` |
|
|
274
|
+
| `clip` | `{ duration?, channels }` | 자세. `AnimationClip` 과 같은 모양이되 이름이 없고, 키의 `at` 이 값의 구간이다 |
|
|
275
|
+
|
|
276
|
+
**`range` 가 이 기능의 요점이다.** 곡선의 값 축은 0~1 인데(glTF 의 morph target `weights`,
|
|
277
|
+
Unity 의 파라미터와 같다), 저작자와 인스턴스가 주고받는 것은 **mm 다.** 「길이값을 변수로
|
|
278
|
+
노출한다」는 그 사이가 있어야 성립한다. 런타임이 맵한다.
|
|
279
|
+
|
|
280
|
+
`unit` 은 형식이 해석하지 않는다. 화면이 보이고 인스턴스가 읽는 낱말이다 — `mm` · `deg` ·
|
|
281
|
+
`%` 처럼. 형식이 단위를 판정하려 들면 단위 표를 형식이 갖게 되고, 그것은 형식의 일이 아니다.
|
|
282
|
+
|
|
283
|
+
**키의 `at` 은 초가 아니라 값의 구간이다 — `0` 이상 `1` 이하.** `0` 이 `range.min`, `1` 이
|
|
284
|
+
`range.max` 의 자세다. `1` 을 넘는 키는 어떤 값으로도 닿지 않으므로 검증이 거절한다. 키가 구간을
|
|
285
|
+
다 덮을 필요는 없다 — 첫 키 앞과 마지막 키 뒤는 끝 키의 자세에 머문다(glTF 의 범위 밖 규칙과 같다).
|
|
286
|
+
|
|
287
|
+
**전이 시간은 `clip.duration` 이다.** `min` 에서 `max` 까지 전 구간을 움직이는 **초**이고, 곧 그
|
|
288
|
+
기계의 속도다. 값이 v₁ 에서 v₂ 로 바뀌면 `|v₂−v₁| × duration` 동안 직선으로 간다. **ease 는 없다.
|
|
289
|
+
기계는 연출하지 않는다.** `duration` 이 없거나 `0` 이면 즉시다. 같은 도형이라도 설비마다 속도가
|
|
290
|
+
다르면 인스턴스가 `state.parameterDurations` 로 덮는다.
|
|
291
|
+
|
|
292
|
+
키가 값 축에 있고 시간은 `duration` 한 칸에 있으므로 glTF 와는 손실 없이 오간다.
|
|
293
|
+
|
|
294
|
+
```
|
|
295
|
+
내보낼 때 glTF 키 시각 = at × (duration || 1)
|
|
296
|
+
받아들일 때 가장 늦은 키 시각으로 나눠 at 을 만들고, 그 시각을 duration 으로 둔다
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
```js
|
|
300
|
+
// 2.5 초에 걸쳐 1800mm 를 오르내리는 호이스트
|
|
301
|
+
{
|
|
302
|
+
name: 'hoist',
|
|
303
|
+
label: '갈고리 높이',
|
|
304
|
+
range: { unit: 'mm', min: 0, max: 1800 },
|
|
305
|
+
default: 0,
|
|
306
|
+
clip: { duration: 2.5, channels: [{ target: 'hook', path: 'translation', keys: [
|
|
307
|
+
{ at: 0, value: { x: 0, y: 0, z: 0 } },
|
|
308
|
+
{ at: 1, value: { x: 0, y: -1800, z: 0 } }
|
|
309
|
+
]}]}
|
|
310
|
+
}
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
clip 의 `drive` 칸은 없다. 옛 원본의 `drive: 'hold'` 는 판 2 로 옮길 때 파라미터로 함께 옮겼고, 형식은 그 칸을
|
|
314
|
+
거절한다.
|
|
315
|
+
|
|
316
|
+
이름은 **두 목록이 나눠 쓴다.** 인스턴스는 이름 하나로 값을 주므로 clip 과 파라미터가 같은
|
|
317
|
+
이름을 가지면 어느 쪽에 준 것인지 알 수 없고, 검증이 그것을 막는다.
|
|
318
|
+
|
|
319
|
+
### `FigureSource.capabilities` — 이 도형이 흐름에서 무엇을 하나
|
|
320
|
+
|
|
321
|
+
파렛트는 물건을 **담고**, 컨베이어는 **흘리고**, 신호탑은 아무것도 담지 않는다. 그리는
|
|
322
|
+
것만으로는 컨베이어가 컨베이어가 아니다.
|
|
323
|
+
|
|
324
|
+
```
|
|
325
|
+
Capacity 자리를 갖는다
|
|
326
|
+
Holdable 담긴 것을 함께 들고 그린다
|
|
327
|
+
Transferable 자리를 잡아 두고 넘겨받는다 — Capacity 나 FlowNode 가 함께 있어야 한다
|
|
328
|
+
FlowNode 흐름의 마디다. 위의 셋을 스스로 포함한다
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
**닫힌 목록이다**(`FIGURE_CAPABILITIES`). 한동안 이 목록이 씬에만 있어서 검증이 이름을 못
|
|
332
|
+
봤고, AI 가 낸 `capabilities: ['hoist']` 가 **검증을 지나고 발행을 지나** 렌더링에서 죽었다.
|
|
333
|
+
게이트는 사실이 사는 곳에 있어야 한다.
|
|
334
|
+
|
|
335
|
+
`hoist` 는 능력이 아니다. 능력은 **흐름에서 무엇을 하는가**이고, 호이스트의 연장은
|
|
336
|
+
**자세를 어떻게 구동하는가**(위의 파라미터)다. 다른 축이다.
|
|
337
|
+
|
|
219
338
|
### `LabelSpec`
|
|
220
339
|
|
|
221
340
|
| 필드 | 타입 | 뜻 |
|
|
@@ -375,7 +494,7 @@ sizing: 'fixed', anchor: { x: 'span', y: 'max', z: 'span' }
|
|
|
375
494
|
| `materialKey` | MaterialBank 키 |
|
|
376
495
|
| `material` | 원본 데이터의 `PartMaterial` 그대로 |
|
|
377
496
|
| `materialSlot` | 재질 슬롯 |
|
|
378
|
-
| `animated` | clip
|
|
497
|
+
| `animated` | clip 이나 parameter 가 움직이는 부품이 든 그룹인지. **그러면 부품을 하나만 갖는다** |
|
|
379
498
|
| `members` | `BlueprintMember[]` |
|
|
380
499
|
|
|
381
500
|
### `BlueprintMember` — 묶음 안의 부품
|
package/docs/validation.md
CHANGED
|
@@ -49,6 +49,7 @@ const { errors, violations } = validate(source)
|
|
|
49
49
|
| 코드 | 언제 | 왜 |
|
|
50
50
|
| --------------- | ----------------------------------------- | --------------------------------------------------------- |
|
|
51
51
|
| `missing-type` | `type` 이 없거나 빈 문자다 | **저장되는 식별자다.** 씬이 이 이름으로 청사진을 찾는다 |
|
|
52
|
+
| `source-version-unsupported` | `version` 이 2 가 아니거나 없다 | 판 1 은 y 를 상자 중심에서 쟀다. 판을 적지 않은 원본도 판 1 이다. 옮긴 원본만 읽는다 |
|
|
52
53
|
| `missing-base` | `base` 가 없다 | 배치 크기가 이 비율에서 나온다 |
|
|
53
54
|
| `missing-parts` | `parts` 가 없거나 비었다 | 부품이 하나는 있어야 한다. 여기서 검사를 멈춘다 |
|
|
54
55
|
| `bad-style-kit` | `styleKit` 이 빈 문자이거나 문자가 아니다 | |
|
|
@@ -97,8 +98,9 @@ const { errors, violations } = validate(source)
|
|
|
97
98
|
| `keys-out-of-order` | 키의 시각이 앞의 것보다 크지 않다 | 표본추출이 뜻을 잃는다. 화면에서는 「이상하게 움직인다」로만 보인다 |
|
|
98
99
|
|
|
99
100
|
clip 의 이름은 부품과 같은 코드를 쓴다 — 없으면 `missing-name`, 겹치면 `duplicate-name`.
|
|
100
|
-
|
|
101
|
-
|
|
101
|
+
경로와 `interpolation` 이 목록 밖이면 `not-allowed`, 키의 시각이 음수면 `not-positive` 다.
|
|
102
|
+
|
|
103
|
+
**같은 검사가 파라미터의 곡선에도 그대로 돈다.** 채널 모양은 어느 쪽이든 같아야 한다.
|
|
102
104
|
|
|
103
105
|
### 예외 표면
|
|
104
106
|
|
|
@@ -115,16 +117,26 @@ clip 의 이름은 부품과 같은 코드를 쓴다 — 없으면 `missing-name
|
|
|
115
117
|
|
|
116
118
|
### 능력 (`capabilities`)
|
|
117
119
|
|
|
118
|
-
배치된 도형이 씬 컴포넌트로서 부여받는 능력의 선언이다.
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
배치된 도형이 씬 컴포넌트로서 부여받는 능력의 선언이다. **이름도 여기서 본다** — 한동안
|
|
121
|
+
아니었다.
|
|
122
|
+
|
|
123
|
+
목록이 things-scene 에만 있던 동안 이 검사가 이름을 못 봤고, AI 가 낸
|
|
124
|
+
`capabilities: ['hoist']` 가 **검증을 지나고 발행을 지나** 렌더링에서 죽었다. 저작자는 자산을
|
|
125
|
+
내보내고 나서야 그것이 안 선다는 것을 알았다. 게이트는 사실이 사는 곳에 있어야 한다 —
|
|
126
|
+
`base` 상자 때와 같은 구멍이었다.
|
|
127
|
+
|
|
128
|
+
쓸 수 있는 이름은 넷이다(`FIGURE_CAPABILITIES`). 자세한 것은 `docs/format.md`.
|
|
129
|
+
|
|
130
|
+
| 코드 | 뜻 |
|
|
131
|
+
| ------------------------ | -------------------------------------------------------------- |
|
|
132
|
+
| `bad-capability` | 배열이 아니거나, 이름이 비어 있거나, **목록 밖의 이름이거나**, 혼자 설 수 없는 것을 혼자 적었다 |
|
|
133
|
+
| `duplicate-capability` | 같은 능력을 두 번 선언했다 |
|
|
134
|
+
| `bad-part-capability` | 부품의 `capability` 모양이 틀렸다 — 역할·accepts·capacity |
|
|
135
|
+
|
|
136
|
+
거절할 때는 **쓸 수 있는 넷을 함께 말한다.** 「틀렸다」만으로는 AI 도 사람도 다음 수가 없다.
|
|
122
137
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
| `bad-capability` | 배열이 아니거나 이름이 비어 있다 |
|
|
126
|
-
| `duplicate-capability` | 같은 능력을 두 번 선언했다 |
|
|
127
|
-
| `bad-part-capability` | 부품의 `capability` 모양이 틀렸다 — 역할·accepts·capacity |
|
|
138
|
+
`Transferable` 은 자리를 찾는 일을 `Capacity` 에게 맡기므로 혼자 못 선다. 씬이 조립할 때도
|
|
139
|
+
같은 이유로 던지는데, **그때는 이미 발행된 뒤다** — 그래서 여기서 본다.
|
|
128
140
|
|
|
129
141
|
### 파라미터 (`parameters`)
|
|
130
142
|
|
|
@@ -144,11 +156,19 @@ things-scene** 이므로(`registerCapabilityMeta`), 여기서는 **모양만**
|
|
|
144
156
|
| --------------- | ------------------------------------------------------------------ |
|
|
145
157
|
| `missing-range` | `range` 나 `range.unit` 이 없다 — 인스턴스가 어느 값을 줄지 모른다 |
|
|
146
158
|
| `bad-range` | `max` 가 `min` 이하이거나, `default` 가 그 밖이다 |
|
|
159
|
+
| `out-of-range` | `clip` 의 키 `at` 이 1 을 넘는다 — `at` 은 초가 아니라 값의 구간(0~1)이다 |
|
|
160
|
+
| `not-positive` | `clip.duration` 이 음수다 — 없거나 0 이면 즉시다 |
|
|
161
|
+
|
|
162
|
+
**키의 `at` 은 값의 구간에 앉는다.** 1 을 넘는 키는 어떤 값으로도 닿지 않는 자세라서 거절한다. 구간을
|
|
163
|
+
다 덮을 필요는 없다 — 첫 키 앞과 마지막 키 뒤는 끝 키의 자세에 머문다. 전이 시간은 `clip.duration`
|
|
164
|
+
(초, 0→1 전 구간)이 따로 말한다.
|
|
147
165
|
|
|
148
166
|
이름은 `animations` 의 clip 이름과도 겹칠 수 없다. 인스턴스는 둘을 이름으로 부르므로 겹치면 어느 쪽에
|
|
149
167
|
값을 준 것인지 알 수 없다.
|
|
150
168
|
|
|
151
|
-
|
|
169
|
+
clip 에 `drive` 칸이 있으면 `not-allowed` 다. 값으로 움직이는 자세가 `drive: 'hold'` 로 애니메이션 안에 있던
|
|
170
|
+
원본은 판 2 로 옮길 때 파라미터로 함께 옮겼다(키는 마지막 키의 시각으로 나눠 값의 구간에, `duration` 없음).
|
|
171
|
+
형식은 옛 모양을 읽지 않는다.
|
|
152
172
|
|
|
153
173
|
부품의 `capability` 는 **그 능력을 어느 부품이 받쳐 주나**를 말한다. 역할은 셋이다.
|
|
154
174
|
|
|
@@ -198,7 +218,7 @@ things-scene** 이므로(`registerCapabilityMeta`), 여기서는 **모양만**
|
|
|
198
218
|
| --------------------------- | -------------------------------------------- | --------------------------------------------------------------------------------------------- |
|
|
199
219
|
| `detail-level-missing` | — | 등급이 없으면 부품 수 예산을 잡을 수 없다 |
|
|
200
220
|
| `too-many-parts` | `PART_LIMIT[detailLevel]` (S 3 · M 8 · L 20) | |
|
|
201
|
-
| `too-many-animated-parts` | `LIMITS.animatedParts` (2) | 움직이는 부품마다 묶음이 하나 늘고, 프레임마다 갱신이
|
|
221
|
+
| `too-many-animated-parts` | `LIMITS.animatedParts` (2) | 움직이는 부품마다 묶음이 하나 늘고, 프레임마다 갱신이 는다. clip 과 parameter 가 움직이는 부품을 함께 센다 |
|
|
202
222
|
| `too-many-material-groups` | `LIMITS.materialGroups` (3) | **자산당 draw call 이 는다.** 세는 단위는 `groupKeyOf` — 컴파일러가 합치는 단위와 같은 식이다 |
|
|
203
223
|
| `too-many-transparent` | `LIMITS.transparentMaterials` (1) | 투명 재질은 별도 정렬 경로를 탄다 |
|
|
204
224
|
| `too-many-always-labels` | 1 | `'always'` 라벨은 대량 배치에서 DOM·텍스처를 늘린다 |
|
|
@@ -218,7 +238,7 @@ things-scene** 이므로(`registerCapabilityMeta`), 여기서는 **모양만**
|
|
|
218
238
|
|
|
219
239
|
| 코드 | 언제 | 왜 |
|
|
220
240
|
| --------------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
|
|
221
|
-
| `part-outside-base` | 부품이 `±base/2
|
|
241
|
+
| `part-outside-base` | 부품이 상자 밖으로 나간다(x·z 는 중심에서 `±base/2`, y 는 밑면 0 에서 `base.y`). 회전을 포함한 실제 부피로 잰다 | `base` 는 **나누는 수**다(`instanceScale = width/base.x`). 넘치면 그 수가 거짓말을 하고 도면에서 크기와 높이가 둘 다 틀린다 |
|
|
222
242
|
| `parts-off-placement-face` | 바닥 기반인데 상자 밑면에 안 닿는다 · 천정 기반인데 윗면에 안 닿는다 | 「선다」·「매달린다」고 선언해 놓고 떠 있다. **원점 규약이 어긋난 것**이지 상자가 큰 것이 아니다 |
|
|
223
243
|
|
|
224
244
|
허용 오차는 `SKIN`(0.5) 하나다 — 발행 관문이 「덩어리가 갈라졌나」를 재는 값과 같다. 오차 상수가
|
|
@@ -231,6 +251,22 @@ things-scene** 이므로(`registerCapabilityMeta`), 여기서는 **모양만**
|
|
|
231
251
|
|
|
232
252
|
**이 둘은 발행을 막는다.** 이미 발행된 것은 그대로 서 있고, 고치기 전에는 다시 발행하지 못한다.
|
|
233
253
|
|
|
254
|
+
### type 이름
|
|
255
|
+
|
|
256
|
+
`type` 은 도면이 `{ type, left, top, width, height }` 로 적는 **저장되는 식별자**다. 발행된 이름은 이미 놓인
|
|
257
|
+
도면들과의 약속이라 바꿀 수 없다. 그래서 규칙은 **초안 저장이 아니라 발행을 막는다** — 이름을 정하기 전에
|
|
258
|
+
만들어 보는 것은 막을 이유가 없다.
|
|
259
|
+
|
|
260
|
+
| 코드 | 언제 | 왜 |
|
|
261
|
+
| --------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
|
|
262
|
+
| `type-not-identifier` | 대문자 `SCREAMING_SNAKE_CASE`(`TYPE_PATTERN`) 가 아니거나 3~32 자 밖이다 | 대문자가 figure 의 이름공간이다. 씬의 내장 컴포넌트는 소문자라, 이 모양이면 겹칠 수 없다 |
|
|
263
|
+
| `type-is-placeholder` | 이름을 짓기 전의 임시 이름(`FIGURE_` + 8 자, `placeholderType()`)이다 | 모양은 맞아서 위 규칙으로는 안 걸린다. **아직 사람이 이름을 안 지은 것**이다 |
|
|
264
|
+
|
|
265
|
+
임시 이름은 저작 화면이 만들고(`placeholderType`) 게이트와 AI 도구가 알아본다(`isPlaceholderType`). 만드는
|
|
266
|
+
쪽과 알아보는 쪽이 같은 규칙을 쓰도록 형식이 갖는다. 범주 접두(`EQ_` · `VEH_` …)는 규칙으로 세우지 않는다.
|
|
267
|
+
|
|
268
|
+
형식이 깨진 원본에서는 이름을 보지 않는다 — 다른 정책 위반과 같은 단계다.
|
|
269
|
+
|
|
234
270
|
### draw call 을 세는 법
|
|
235
271
|
|
|
236
272
|
```
|
|
@@ -243,7 +279,7 @@ draw call = 합쳐진 묶음 하나당 1
|
|
|
243
279
|
|
|
244
280
|
| 무엇 | 왜 |
|
|
245
281
|
| --- | --- |
|
|
246
|
-
| clip
|
|
282
|
+
| clip 이나 parameter 가 움직이는 부품 | 합치면 그 부품만 따로 움직일 수 없다 |
|
|
247
283
|
| `sizing` 이 `scale` 이 아닌 부품 | 합친 geometry 는 변환을 하나만 받는다 |
|
|
248
284
|
| `repeat` 부품 | 한 부품이 여러 mesh 다 |
|
|
249
285
|
|
|
@@ -278,3 +314,24 @@ const blueprint = compile(source)
|
|
|
278
314
|
|
|
279
315
|
`violations` 는 던지지 않고 **청사진에 실려 나간다**(`blueprint.violations`). 저작
|
|
280
316
|
화면이 그것을 보인다.
|
|
317
|
+
|
|
318
|
+
## 문은 둘이다 — 저작할 때와 세울 때
|
|
319
|
+
|
|
320
|
+
```ts
|
|
321
|
+
validate(source) // 저작 형식을 본다. 사람이 고치는 것
|
|
322
|
+
blueprintProblems(blueprint) // 그 결과물을 본다. 씬이 등록할 때
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
`validate` 는 저작 중에 돌고, 무엇이 왜 틀렸는지 저작자에게 말하는 것이 일이다.
|
|
326
|
+
|
|
327
|
+
`blueprintProblems` 는 **씬에 들어가기 직전**에 한 번 돈다. 서버나 파일에서 온 청사진이
|
|
328
|
+
이 형식대로 생겼는지 묻는 자리다. 그리는 시점이 아니라 등록 시점에 보는 이유는, 잘못된
|
|
329
|
+
청사진이 **프레임마다 조용히 실패하는 것**보다 등록에서 한 번 크게 실패하는 편이 낫기
|
|
330
|
+
때문이다.
|
|
331
|
+
|
|
332
|
+
여기서 특히 보는 것은 **그려지지 않는 것들**이다. 자리(`anchors`)와 파라미터가 그렇다 —
|
|
333
|
+
틀려도 화면에는 아무 일도 안 일어난다. 물건을 앉히려는 순간, 값을 주는 순간에야 드러난다.
|
|
334
|
+
|
|
335
|
+
`range` 를 여기서 한 번 더 보는 이유가 그것이다. 그 값이 **런타임의 나누는 수**라서
|
|
336
|
+
(`(값 − min) / (max − min)`), `max` 가 `min` 이하면 mm 를 0~1 로 맵할 수 없고 **준 값이
|
|
337
|
+
통째로 조용히 버려진다.**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hatiolab/figure-model",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.22",
|
|
4
4
|
"description": "Figure 저작 결과의 정본 형식과 검증 — 재질별로 병합되고 이름이 붙은 부품 그래프. 3D 로 저작한 형상 하나가 씬 컴포넌트로 서는 데 필요한 것을 담는다.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"figure",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"scripts": {
|
|
65
65
|
"build": "tsc -p tsconfig.build.json",
|
|
66
66
|
"check": "tsc -p tsconfig.json --noEmit",
|
|
67
|
-
"test": "node --test src/*.test.ts",
|
|
67
|
+
"test": "npm run check && node --test src/*.test.ts",
|
|
68
68
|
"test:coverage": "node --test --experimental-test-coverage --test-coverage-lines=100 --test-coverage-branches=95 --test-coverage-functions=100 src/*.test.ts",
|
|
69
69
|
"bench": "node src/perf.bench.ts",
|
|
70
70
|
"format": "prettier --write \"src/**/*.ts\" \"docs/**/*.md\" \"*.md\" \"*.json\"",
|