@hatiolab/figure-model 0.10.0 → 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 (79) hide show
  1. package/CHANGELOG.md +41 -5
  2. package/dist/authoring-fastening.d.ts +16 -2
  3. package/dist/authoring-fastening.d.ts.map +1 -1
  4. package/dist/authoring-fastening.js +106 -47
  5. package/dist/authoring-fastening.js.map +1 -1
  6. package/dist/authoring-placement.d.ts.map +1 -1
  7. package/dist/authoring-placement.js +116 -22
  8. package/dist/authoring-placement.js.map +1 -1
  9. package/dist/authoring-proportion.d.ts.map +1 -1
  10. package/dist/authoring-proportion.js +25 -8
  11. package/dist/authoring-proportion.js.map +1 -1
  12. package/dist/authoring-types.d.ts +57 -34
  13. package/dist/authoring-types.d.ts.map +1 -1
  14. package/dist/authoring-types.js +8 -8
  15. package/dist/authoring-types.js.map +1 -1
  16. package/dist/clip-keeping.d.ts.map +1 -1
  17. package/dist/clip-keeping.js +7 -5
  18. package/dist/clip-keeping.js.map +1 -1
  19. package/dist/editor-workspace.js +1 -1
  20. package/dist/editor-workspace.js.map +1 -1
  21. package/dist/examples.js +6 -6
  22. package/dist/examples.js.map +1 -1
  23. package/dist/fasten-place.d.ts +18 -0
  24. package/dist/fasten-place.d.ts.map +1 -1
  25. package/dist/fasten-place.js +36 -0
  26. package/dist/fasten-place.js.map +1 -1
  27. package/dist/index.d.ts +4 -3
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +3 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/joint-fields.d.ts +6 -8
  32. package/dist/joint-fields.d.ts.map +1 -1
  33. package/dist/joint-fields.js +6 -6
  34. package/dist/joint-fields.js.map +1 -1
  35. package/dist/joint-list.d.ts +11 -9
  36. package/dist/joint-list.d.ts.map +1 -1
  37. package/dist/joint-list.js +75 -53
  38. package/dist/joint-list.js.map +1 -1
  39. package/dist/joint-motions.d.ts +30 -0
  40. package/dist/joint-motions.d.ts.map +1 -0
  41. package/dist/joint-motions.js +28 -0
  42. package/dist/joint-motions.js.map +1 -0
  43. package/dist/joint-part-edits.d.ts.map +1 -1
  44. package/dist/joint-part-edits.js +95 -34
  45. package/dist/joint-part-edits.js.map +1 -1
  46. package/dist/joint-writing.d.ts +3 -4
  47. package/dist/joint-writing.d.ts.map +1 -1
  48. package/dist/joint-writing.js +229 -170
  49. package/dist/joint-writing.js.map +1 -1
  50. package/dist/kernel-version.d.ts +1 -1
  51. package/dist/kernel-version.js +1 -1
  52. package/dist/part-edit.d.ts.map +1 -1
  53. package/dist/part-edit.js +4 -2
  54. package/dist/part-edit.js.map +1 -1
  55. package/dist/proposal.d.ts.map +1 -1
  56. package/dist/proposal.js +3 -3
  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 +12 -4
  60. package/dist/recipe-from-parts.js.map +1 -1
  61. package/dist/recipe.d.ts.map +1 -1
  62. package/dist/recipe.js +10 -8
  63. package/dist/recipe.js.map +1 -1
  64. package/dist/release-contract.js +1 -1
  65. package/dist/release-contract.js.map +1 -1
  66. package/dist/release-metrics.d.ts +8 -0
  67. package/dist/release-metrics.d.ts.map +1 -1
  68. package/dist/release-metrics.js +7 -2
  69. package/dist/release-metrics.js.map +1 -1
  70. package/dist/robots.d.ts.map +1 -1
  71. package/dist/robots.js +43 -46
  72. package/dist/robots.js.map +1 -1
  73. package/docs/attachment-response-spec-review-2026-10-24.md +56 -0
  74. package/docs/editor-integration.md +2 -0
  75. package/docs/modeller-interaction-performance-2026-10-07.md +1 -1
  76. package/docs/performance-followup-2026-10-05.md +1 -1
  77. package/docs/review-2026-09-22.md +2 -2
  78. package/docs/status.md +12 -2
  79. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,11 +1,47 @@
1
1
  # 변경 기록
2
2
 
3
- 버전은 [유의적 버전](https://semver.org/lang/ko/)을 따른다. 청사진 형식 자체의 버전은
3
+ 버전은 [유의적 버전](https://semver.org/lang/ko/)을 따른다. 컴파일 결과 형식 자체의 버전은
4
4
  `BLUEPRINT_VERSION` 으로 따로 매긴다 — 패키지 판을 올려도 형식이 그대로면 이 값은
5
5
  움직이지 않는다.
6
6
 
7
7
  ## 아직 버전을 붙이지 않음
8
8
 
9
+ ### 동작 범위 — 조작값이 많아도 빠뜨리지 않음 (2026-10-24, 점검 F5)
10
+
11
+ - 부품을 미끄러뜨리는 조작값이 10 개를 넘으면 모서리마다 읽지 않고 경계로 담는다: 모든 조작값이 최소일 때 자리에서, 조작값 하나씩 최대로 옮긴 거리의 크기를 모두 더한 만큼 양쪽으로. 이동은 조작값마다 일차라 이 경계가 모든 자세를 덮는다. 부품이 범위에서 빠지던 것(11 개에서 실제 1140 mm, 기록 40 mm)을 고친다.
12
+ - 그래도 읽지 못한 부품은 발행 지표 `motionRangeSkipped` 에 이유와 함께 싣는다. 비어 있으면 칸이 없다.
13
+
14
+ ### 부품 축과 부모 축의 짝 (2026-10-24, ADR-0159 3)
15
+
16
+ - `figureAxisPairsOf(asset, part)` 를 둔다: 쉬는 자세에서 부품의 자기 축 x · y · z 가 각각 부모 부품의 어느 축(장착 평면이나 아무 데도 안 붙었으면 도형의 축)을 따라 놓이는지, 방향이 같은지. 비스듬한 축은 짝이 없다. 모델러가 크기 상대의 축을 글자로 짝지어, 옆으로 눕힌 롤러 길이가 프레임 높이를 따르던 것을 이 함수로 바꾼다. 타입 `FigureAxisPairs`.
17
+
18
+ ### 다축 점검 반영 (2026-10-24, ADR-0159)
19
+
20
+ - 동작 범위: 부품을 미끄러뜨리는 조작값은 저마다 양 끝을 따로 고른 모든 모서리에서 읽는다. 한쪽 최소 · 한쪽 최대 자세가 빠져 부품이 범위 밖으로 70 mm 나가던 것을 고친다(F1). 조작값이 10 개를 넘으면 그 부품은 이유와 함께 `skipped` 에 든다.
21
+ - 관절 목록: 축마다 그 축의 단계(관절 틀과 앞 축들이 쉬는 자세에서 둔 틀)를 읽는다. 같은 관절의 두 축을 한 조작값이 움직이면 합성 회전축이 기록되던 것을 고친다(F2). `FIGURE_JOINT_LIST_DERIVATION` 2.
22
+ - 같은 관절 안에서 뒤 축을 따르는 앞 축: 지도자를 먼저 써서 비율 조작값 대신 실제 이동 거리를 따른다(F3). 축의 자리(노드 순서)는 그대로다.
23
+ - 부품 복사: 새 관절 · 축 이름을 모든 관절 id 와 축 id 사이에서 고른다(F4).
24
+ - 같은 선 위 축이 잇달아도 거절하지 않는다 — 조작값 · 범위 · 따라 움직임이 각자다(설계 검토).
25
+
26
+ ### 관절 하나에 움직임 축 여럿 (2026-10-24, ADR-0159, 깨는 변경)
27
+
28
+ - 관절 기록의 움직임 칸(`type`·`axis`·`lowerLimit`·`upperLimit`·`travel`·`state`·`mimic`)을 축 목록 `motion?: FigureJointMotion[]` 하나로 바꾼다.
29
+ 목록이 없거나 비면 고정이다. 축은 부모 쪽부터 쌓이고 앞 축이 뒤 축을 싣는다 — 어깨의 두 축을 사이 부품 없이 위팔 하나에 건다. 축 수는 묶지 않는다.
30
+ - 축 항목은 `{ id?, type: 'revolute' | 'prismatic', axis, through?, lowerLimit?, upperLimit?, travel?, state?, mimic? }` 이다.
31
+ `id` 가 없으면 첫 축은 관절 id, k 번째는 `<관절 id>.<k>` 이고 조작값 id 의 기본값도 같다 — 축 하나짜리 관절의 조작값은 이름이 그대로다.
32
+ 축 id 는 모든 관절의 축과 다른 관절 id 사이에서 하나뿐이어야 한다.
33
+ - `through` 는 축이 지나는 점(관절 틀 원점에서 mm, 길이 문법)이다. 축만 옮기고 부품은 옮기지 않아, 모든 축이 0 이면 부품은 붙인 자리 그대로다.
34
+ - `mimic` 의 지도자 칸 `joint` 를 `motion` 으로 바꾼다. 축 id 를 가리킨다.
35
+ - 거절(이름을 댐): 옛 칸(`type`·`axis` …)이 관절 기록에 있음, 움직이지 않는 축(`fixed`), 같은 종류·같은 방향·같은 점의 축이 잇달음, 축 id 겹침.
36
+ - 그래프: 축 k 는 `<part>.motion`(첫 축)·`<part>.motion.<k>` 노드로 쓰고, `through` 가 있으면 `T(p)·M·T(−p)` 로 감싼다. 축 하나짜리 관절은 노드가 바이트까지 같다
37
+ (고정물 25 · 빌더 4 · 레시피 · 팬, 앞 커널과 사례별로 비교).
38
+ - 관절 목록(`figureJointsOf`)은 축마다 한 관절을 낸다 — URDF 가 빈 링크로 잇는 관절처럼 앞 축에 매달린다. `FIGURE_JOINT_LIST_SCHEMA` 3.
39
+ `figureJointMotionOf` 는 축 id 를 받는다.
40
+ - 동작 범위(방 제안)는 축을 차례로, 각 축은 그 점에서 돌린다.
41
+ - 내보내기: `FIGURE_MOTION_TYPES`·`FigureMotionType`·`FigureJointMotion`·`figureMotionsOf`·`figureAxesOf`·`figureAxisById`·`motionIdOf`·`motionStateIdOf`.
42
+ `FIGURE_JOINT_TYPES`·`FigureJointType` 은 지운다. `figureJointWithMotion(joint, motion[])` 은 축 목록을 받는다.
43
+ - 호환 코드는 두지 않는다. 저장소 고정물·레시피는 일회성 변환으로 옮겼다. 운영 데이터는 아직 옮기지 않았다(저장소 밖 스크립트, 사용자 승인 뒤).
44
+
9
45
  ### Carrier 선언을 확장 속성으로 바꿈 (2026-10-16, ADR-0123 개정, 깨는 변경)
10
46
 
11
47
  - `FigureAsset.carrier`·`FigureCarrierDeclaration`·`carrier.ts`(`normalizeCarrierType`·`carrierDeclarationRefusal`·`carrierDeclarationOf`·`FIGURE_CARRIER_TYPE_MAX`)·
@@ -42,15 +78,15 @@
42
78
  이내의 긴 의존성 사슬도 `RangeError` 없이 분석한다. 기존 구현과 비교한 71개 Figure에서는 판정 이유 974개와
43
79
  그 순서가 일치했다. 컴파일 순서는 넷째 인자로 전달할 수 있으며 생략하면 그래프를 컴파일해 구한다.
44
80
  - **안전한 정수 범위를 벗어난 릴리스 번호를 거절한다.** `parseFigureRef`는 2^53−1을 넘는 번호에 `null`을
45
- 반환한다. 범위 밖에서는 서로 다른 번호가 같은 숫자로 변환되거나 `Infinity`가 될 수 있다. 꾸러미 판독에서는
81
+ 반환한다. 범위 밖에서는 서로 다른 번호가 같은 숫자로 변환되거나 `Infinity`가 될 수 있다. 패키지 판독에서는
46
82
  `ref-malformed`로 거절한다.
47
- - **원본에 유효한 형식 선언이 없는 릴리스를 꾸러미에서 거절한다.** 원본이 JSON이 아니거나 `version`이 비어 있거나
83
+ - **원본에 유효한 형식 선언이 없는 릴리스를 패키지에서 거절한다.** 원본이 JSON이 아니거나 `version`이 비어 있거나
48
84
  문자열이 아니면 `asset-format-mismatch`로 거절한다. 이전에는 원본에서 읽은 형식과 두 선언 값이 모두 `null`이면
49
85
  검사를 통과했다. 이 검사는 형식 선언의 일치 여부를 확인하며 자산 전체의 의미 검증을 대신하지 않는다.
50
86
  - 전환이 끝난 일회성 형상 변환 스크립트(`scripts/rewrite-shapes*.ts`)와 `test:rewrite`를 삭제한다.
51
87
  2026-10-16 조회한 운영 초안 65개·발행 기록 6개와 템플릿·픽스처에는 옛 형상 연산자가 없었다.
52
88
  삭제 전 스크립트는 `a3ed90a` 이력에서 확인할 수 있다.
53
- - 두 커버리지 명령에 `FIGURE_FREEZE_COMPILED=1`을 설정한다. 문서·꾸러미 입력 경계와 형상 표본점 시험을 추가하고,
89
+ - 두 커버리지 명령에 `FIGURE_FREEZE_COMPILED=1`을 설정한다. 문서·패키지 입력 경계와 형상 표본점 시험을 추가하고,
54
90
  슬롯 전용 시험에 사용자 지정 배치의 슬롯 수 검사를 추가한다. 전체 커버리지 하한은 라인 97%·분기 90%·함수 96%다.
55
91
  경계 시험 추가 직후 측정값은 각각 97.84%·90.32%·96.48%였다. Node v25.6.0에서 소수 기준값이 정수로
56
92
  처리되는 것을 확인해 기준은 정수로 설정했다. 슬롯 전용 하한은 라인 100%·분기 95%·함수 95%를 유지한다.
@@ -336,7 +372,7 @@ n각형이 원에서 벗어나는 최대 거리는 `r(1 − cos(π/n))` 이라
336
372
  ### 담긴 것
337
373
 
338
374
  - **형식** — `FigureSource`(편집 가능한 원본 데이터)와 `FigureBlueprint`(보드가 렌더링하는 형태).
339
- 청사진 형식 판 `BLUEPRINT_VERSION = 1`
375
+ 컴파일 결과 형식 판 `BLUEPRINT_VERSION = 1`
340
376
  - **검증** — `validate()` 가 오류와 위반을 갈라 낸다. 가르는 기준은 「이 상태로 세울 수
341
377
  있나」 하나다. 오류 24종·위반 9종이 목록으로 잠겨 있어 없는 코드를 낼 수 없다
342
378
  - **컴파일** — `compile()` 이 원본 데이터를 재질별로 병합된 부품 그래프로 옮긴다
@@ -52,6 +52,16 @@ export declare function reseat(asset: Dynamic, id: string, to: string, place?: {
52
52
  seat: string[];
53
53
  pose: string[];
54
54
  }): void;
55
+ /** A part's axes as written, in order: each its motion node, and the point it passes when it is not the frame's origin. */
56
+ export declare function motionStagesOf(m: Dynamic, id: string): Array<{
57
+ motion: Dynamic;
58
+ through?: Dynamic;
59
+ back?: Dynamic;
60
+ }>;
61
+ /**
62
+ * A part's motion, one axis of it (ADR-0159): the first axis, `k` 0, writes the part's motion afresh; each after it is
63
+ * added onto the ones before. An axis passes the seat frame's origin, or the point `through` says.
64
+ */
55
65
  export declare function addMotion(asset: Dynamic, a: FigureMotionRequest, follow?: {
56
66
  terms: Array<{
57
67
  of: string;
@@ -59,8 +69,12 @@ export declare function addMotion(asset: Dynamic, a: FigureMotionRequest, follow
59
69
  }>;
60
70
  c: number;
61
71
  sum: boolean;
62
- }, sign?: 1 | -1 | number[]): Dynamic;
63
- /** "This part does not move any more." The control it created goes with it, and so does its clip. */
72
+ }, sign?: 1 | -1 | number[], axis?: {
73
+ k: number;
74
+ through?: Partial<Record<Axis, FigureMeasure>>;
75
+ path?: string;
76
+ }): Dynamic;
77
+ /** "This part does not move any more." Every axis goes, and the controls they created with them, and their clips. */
64
78
  export declare function removeMotion(asset: Dynamic, a: {
65
79
  kind: 'remove-motion';
66
80
  part: string;
@@ -1 +1 @@
1
- {"version":3,"file":"authoring-fastening.d.ts","sourceRoot":"","sources":["../src/authoring-fastening.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,YAAY,CAAA;AAC5C,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAA;AAkD7B,KAAK,OAAO,GAAG,GAAG,CAAA;AAElB;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAA;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IAC5C,IAAI,EAAE,MAAM,CAAA;CACb;AAKD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CA4JnF;AA2HD;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EAAE,EAAE,EACb,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EACrC,IAAI,EAAE,MAAM,EAAE,EAAE,QAkBjB;AAED;;;GAGG;AACH;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAuE/G;AAQD,wBAAgB,SAAS,CACvB,KAAK,EAAE,OAAO,EACd,CAAC,EAAE,mBAAmB,EACtB,MAAM,CAAC,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,EAC7E,IAAI,GAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,EAAM,GAC1B,OAAO,CAiLT;AAED,qGAAqG;AACrG,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAsBhG"}
1
+ {"version":3,"file":"authoring-fastening.d.ts","sourceRoot":"","sources":["../src/authoring-fastening.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,YAAY,CAAA;AAC5C,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAA;AAmD7B,KAAK,OAAO,GAAG,GAAG,CAAA;AAElB;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAA;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IAC5C,IAAI,EAAE,MAAM,CAAA;CACb;AAKD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CA4JnF;AA2HD;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EAAE,EAAE,EACb,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EACrC,IAAI,EAAE,MAAM,EAAE,EAAE,QAkBjB;AAED;;;GAGG;AACH;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CA+D/G;AAED,2HAA2H;AAC3H,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAKpH;AA4CD;;;GAGG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,OAAO,EACd,CAAC,EAAE,mBAAmB,EACtB,MAAM,CAAC,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,EAC7E,IAAI,GAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,EAAM,EAC3B,IAAI,GAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAa,GAC5F,OAAO,CA4LT;AAED,qHAAqH;AACrH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CA8BhG"}
@@ -11,6 +11,7 @@ import { FIGURE_FACINGS } from "./authoring-types.js";
11
11
  import { figureDiscOf, figureReachRefs, figureReachValue, figureRoundAbout, figureShapeExtremeAlong, figureSurfaceFormOf, figureSurfacePointOf, lin, plus, times, writeFigureReach } from "./shape-extreme.js";
12
12
  import { compileFigureGraph } from "./graph.js";
13
13
  import { fail, nodeById, writerOf, partOf, namer, constantOf, scaled, measureRef, termRefs, sumOf, sourceRef, ownInput, dropIfUnused, parentOf, round6, sizeInputOf } from "./authoring-nodes.js";
14
+ import { motionNodeIdOf } from "./joint-motions.js";
14
15
  import { half, facesOfPart, planeOf, ownSpansOf, transpose3, isIdentity, eulerOfAny, rpyMatrix, aroundNormalOf, mv3, mul3, IDENTITY } from "./authoring-geometry.js";
15
16
  const unitAlong = (axis, sign) => AXES.map(x => (x === axis ? sign : 0));
16
17
  /**
@@ -363,7 +364,8 @@ export function reseat(asset, id, to, place) {
363
364
  if (place)
364
365
  pose.args = [...place.pose, ...pose.args.slice(3)];
365
366
  pose.params = { ...pose.params, to: `${id}.seat` };
366
- const motion = nodeById(m, `${id}.motion`);
367
+ const stages = motionStagesOf(m, id);
368
+ const motion = stages.length > 0;
367
369
  const zero = constantOf(m, 'mm', 0, 'd');
368
370
  const noTurn = constantOf(m, 'deg', 0, 'a');
369
371
  let seat = nodeById(m, `${id}.seat.rigid`);
@@ -381,30 +383,17 @@ export function reseat(asset, id, to, place) {
381
383
  if (place)
382
384
  seat.args = [...place.seat, ...seat.args.slice(3)];
383
385
  seat.params = { from: motion ? `${id}.joint` : `${id}.seat`, to };
384
- // The motion turns the seat frame about its origin -- the point fastened at -- into the joint frame.
385
- let turned = nodeById(m, `${id}.turned`);
386
- if (motion) {
387
- motion.params = { ...motion.params, from: `${id}.seat`, to: `${id}.joint` };
388
- if (!turned) {
389
- turned = {
390
- id: `${id}.turned`,
391
- op: 'compose@1',
392
- args: [motion.outputs.pose, pose.outputs.pose],
393
- outputs: { pose: `${id}.turned.value` }
394
- };
395
- m.nodes.push(turned);
396
- }
397
- else
398
- turned.args = [motion.outputs.pose, pose.outputs.pose];
399
- }
400
- else if (turned)
401
- m.nodes = m.nodes.filter((n) => n !== turned);
386
+ /*
387
+ The motion turns the seat frame into the joint frame, its axes in order (ADR-0159): the first, nearest the parent,
388
+ carries the ones after it. One axis through the point fastened at is its motion node alone, as it always was.
389
+ */
390
+ const turned = composeStages(m, id, stages, pose.outputs.pose);
402
391
  let chain = nodeById(m, `${id}.chain`);
403
392
  if (!chain) {
404
393
  chain = { id: `${id}.chain`, op: 'compose@1', args: ['', ''], outputs: { pose: `${id}.chain.value` } };
405
394
  m.nodes.push(chain);
406
395
  }
407
- chain.args = [seat.outputs.pose, motion ? turned.outputs.pose : pose.outputs.pose];
396
+ chain.args = [seat.outputs.pose, turned ?? pose.outputs.pose];
408
397
  const parent = /^(.*)\.local$/.exec(to);
409
398
  let world = nodeById(m, `${id}.world`);
410
399
  if (parent && parent[1] !== id) {
@@ -438,12 +427,62 @@ export function reseat(asset, id, to, place) {
438
427
  for (const ref of [...old, ...oldSeat])
439
428
  dropIfUnused(asset, ref, ownInput(m, id, ref) ? ref : undefined);
440
429
  }
430
+ /** A part's axes as written, in order: each its motion node, and the point it passes when it is not the frame's origin. */
431
+ export function motionStagesOf(m, id) {
432
+ const out = [];
433
+ for (let k = 0, node = nodeById(m, motionNodeIdOf(id, k)); node; node = nodeById(m, motionNodeIdOf(id, ++k)))
434
+ out.push({ motion: node, through: nodeById(m, `${node.id}.through`), back: nodeById(m, `${node.id}.back`) });
435
+ return out;
436
+ }
437
+ /**
438
+ * The axes composed onto the part's pose, the frames named as they chain (ADR-0159 2.3):
439
+ * C_k = T(p_k) · M_k · T(−p_k), turned = C_1 · (C_2 · (… · pose))
440
+ * frames `<id>.seat` → `<id>.joint.<k>` → … → `<id>.joint`. The nodes of axes no longer there go. Nothing without a
441
+ * motion.
442
+ */
443
+ function composeStages(m, id, stages, pose) {
444
+ const n = stages.length;
445
+ const made = new Set();
446
+ const put = (node) => {
447
+ made.add(node.id);
448
+ const was = nodeById(m, node.id);
449
+ if (was)
450
+ Object.assign(was, node);
451
+ else
452
+ m.nodes.push(node);
453
+ return node.outputs.pose;
454
+ };
455
+ let inner = pose;
456
+ for (let k = n - 1; k >= 0; k--) {
457
+ const { motion, through, back } = stages[k];
458
+ const from = k === n - 1 ? `${id}.seat` : `${id}.joint.${k + 1}`;
459
+ const to = k === 0 ? `${id}.joint` : `${id}.joint.${k}`;
460
+ let stage = motion.outputs.pose;
461
+ if (through && back) {
462
+ back.params = { from, to: `${motion.id}.axis` };
463
+ motion.params = { ...motion.params, from: `${motion.id}.axis`, to: `${motion.id}.moved` };
464
+ through.params = { from: `${motion.id}.moved`, to };
465
+ const turnedAbout = put({ id: `${motion.id}.about.turned`, op: 'compose@1', args: [motion.outputs.pose, back.outputs.pose], outputs: { pose: `${motion.id}.about.turned.value` } });
466
+ stage = put({ id: `${motion.id}.about`, op: 'compose@1', args: [through.outputs.pose, turnedAbout], outputs: { pose: `${motion.id}.about.value` } });
467
+ }
468
+ else
469
+ motion.params = { ...motion.params, from, to };
470
+ inner = put({ id: k === 0 ? `${id}.turned` : `${id}.turned.${k + 1}`, op: 'compose@1', args: [stage, inner], outputs: { pose: `${k === 0 ? `${id}.turned` : `${id}.turned.${k + 1}`}.value` } });
471
+ }
472
+ const ours = (nid) => nid === `${id}.turned` || nid.startsWith(`${id}.turned.`) || /\.about(\.turned)?$/.test(nid) && nid.startsWith(`${id}.motion`);
473
+ m.nodes = m.nodes.filter((node) => !ours(node.id) || made.has(node.id));
474
+ return n ? inner : undefined;
475
+ }
441
476
  /** The frame a part is fastened into: its parent's, or the asset's. */
442
477
  const attachmentFrameOf = (asset, id) => {
443
478
  const parent = parentOf(asset.document.model, id);
444
479
  return parent ? `${parent}.local` : asset.document.capabilities.assetFrame;
445
480
  };
446
- export function addMotion(asset, a, follow, sign = 1) {
481
+ /**
482
+ * A part's motion, one axis of it (ADR-0159): the first axis, `k` 0, writes the part's motion afresh; each after it is
483
+ * added onto the ones before. An axis passes the seat frame's origin, or the point `through` says.
484
+ */
485
+ export function addMotion(asset, a, follow, sign = 1, axis = { k: 0 }) {
447
486
  const m = asset.document.model;
448
487
  const path = a.part;
449
488
  partOf(m, a.part, path);
@@ -451,10 +490,11 @@ export function addMotion(asset, a, follow, sign = 1) {
451
490
  fail('SCHEMA', path, 'a slide or a turn is required');
452
491
  if (!AXES.includes(a.motion.axis))
453
492
  fail('SCHEMA', path, `${String(a.motion.axis)} is not an axis`);
454
- if (nodeById(m, `${a.part}.motion`) && !a.replace)
493
+ if (axis.k === 0 && nodeById(m, `${a.part}.motion`) && !a.replace)
455
494
  fail('MOTION_REPLACED', path, `${a.part} already moves; pass replace to change how, or remove the motion first`);
456
- if (nodeById(m, `${a.part}.motion`))
495
+ if (axis.k === 0 && nodeById(m, `${a.part}.motion`))
457
496
  removeMotion(asset, { kind: 'remove-motion', part: a.part });
497
+ const id = motionNodeIdOf(a.part, axis.k);
458
498
  const frame = a.motion.frame ?? 'attachment';
459
499
  const seatedIn = attachmentFrameOf(asset, a.part);
460
500
  if (frame === 'asset' && seatedIn !== asset.document.capabilities.assetFrame)
@@ -462,7 +502,7 @@ export function addMotion(asset, a, follow, sign = 1) {
462
502
  else if (frame !== 'attachment' && frame !== 'asset')
463
503
  fail('SCHEMA', path, `${String(frame)} is not a frame for the axis`);
464
504
  const st = a.state;
465
- const name = namer(m, `${a.part}.motion`);
505
+ const name = namer(m, id);
466
506
  let quantity = st?.id;
467
507
  if (follow) {
468
508
  /*
@@ -587,12 +627,21 @@ export function addMotion(asset, a, follow, sign = 1) {
587
627
  ? sign.map(v => constantOf(m, 'ratio', v, 'axis'))
588
628
  : AXES.map(x => constantOf(m, 'ratio', x === a.motion.axis ? sign : 0, 'axis'));
589
629
  m.nodes.push({
590
- id: `${a.part}.motion`,
630
+ id,
591
631
  op: a.motion.kind === 'slide' ? 'axis-slide@1' : 'axis-turn@1',
592
632
  args: [...unit, quantity],
593
- outputs: { pose: `${a.part}.motion.value` },
633
+ outputs: { pose: `${id}.value` },
594
634
  params: { from: `${a.part}.seat`, to: seatedIn }
595
635
  });
636
+ /* The point it passes, when it is not the frame's origin: the axis moved there and back, the part left where it stands. */
637
+ const at = AXES.map(x => axis.through?.[x]);
638
+ if (at.some(d => d !== undefined && d !== 0)) {
639
+ const refs = at.map((d, i) => measureRef(m, asset, name, d, `through.${AXES[i]}`, `${axis.path ?? path}.through.${AXES[i]}`));
640
+ const noTurn = constantOf(m, 'deg', 0, 'a');
641
+ const rigid = (suffix, args) => m.nodes.push({ id: `${id}.${suffix}`, op: 'rigid@1', args: [...args, noTurn, noTurn, noTurn], outputs: { pose: `${id}.${suffix}.value` }, params: {} });
642
+ rigid('through', refs);
643
+ rigid('back', refs.map((ref, i) => sumOf(m, name, [{ ref, k: -1 }], `back.${AXES[i]}`)));
644
+ }
596
645
  reseat(asset, a.part, seatedIn);
597
646
  if (a.clip) {
598
647
  const c = a.clip;
@@ -616,31 +665,41 @@ export function addMotion(asset, a, follow, sign = 1) {
616
665
  }
617
666
  return asset;
618
667
  }
619
- /** "This part does not move any more." The control it created goes with it, and so does its clip. */
668
+ /** "This part does not move any more." Every axis goes, and the controls they created with them, and their clips. */
620
669
  export function removeMotion(asset, a) {
621
670
  const m = asset.document.model;
622
- const motion = nodeById(m, `${a.part}.motion`);
623
- if (!motion)
671
+ const stages = motionStagesOf(m, a.part);
672
+ if (!stages.length)
624
673
  fail('EDIT_TARGET', a.part, `${a.part} does not move`);
625
- const quantity = motion.args[3];
626
- const to = nodeById(m, `${a.part}.seat.rigid`)?.params?.to ?? motion.params.to;
627
- // Which control this motion introduced, read before the nodes that name it are taken away.
628
- const state = m.inputs.find((i) => i.id === quantity && i.role === 'state') ??
629
- m.inputs.find((i) => i.role === 'state' && (writerOf(m, quantity)?.args ?? []).includes(i.id));
630
- m.nodes = m.nodes.filter((n) => n !== motion);
674
+ const to = nodeById(m, `${a.part}.seat.rigid`)?.params?.to ?? stages[0].motion.params.to;
675
+ // Which control each axis introduced, read before the nodes that name it are taken away.
676
+ const read = stages.map(({ motion }) => {
677
+ const quantity = motion.args[3];
678
+ const state = m.inputs.find((i) => i.id === quantity && i.role === 'state') ??
679
+ m.inputs.find((i) => i.role === 'state' && (writerOf(m, quantity)?.args ?? []).includes(i.id));
680
+ return { quantity, state };
681
+ });
682
+ const points = stages.flatMap(({ through, back }) => [through, back].filter(Boolean));
683
+ const gone = new Set([...stages.map(st => st.motion), ...points]);
684
+ m.nodes = m.nodes.filter((n) => !gone.has(n));
631
685
  reseat(asset, a.part, to);
632
- dropIfUnused(asset, quantity, quantity);
633
- if (state && !m.nodes.some((n) => n.args.includes(state.id))) {
634
- m.inputs = m.inputs.filter((i) => i !== state);
635
- delete asset.stateDefaults[state.id];
636
- if (asset.stateInputs)
637
- delete asset.stateInputs[state.id];
638
- if (asset.drivers)
639
- asset.drivers = asset.drivers.filter((d) => d.state !== state.id);
640
- if (asset.drivers && !asset.drivers.length)
641
- delete asset.drivers;
642
- if (asset.stateInputs && !Object.keys(asset.stateInputs).length)
643
- delete asset.stateInputs;
686
+ for (const n of points)
687
+ for (const ref of n.args)
688
+ dropIfUnused(asset, ref);
689
+ for (const { quantity, state } of read) {
690
+ dropIfUnused(asset, quantity, quantity);
691
+ if (state && !m.nodes.some((n) => n.args.includes(state.id))) {
692
+ m.inputs = m.inputs.filter((i) => i !== state);
693
+ delete asset.stateDefaults[state.id];
694
+ if (asset.stateInputs)
695
+ delete asset.stateInputs[state.id];
696
+ if (asset.drivers)
697
+ asset.drivers = asset.drivers.filter((d) => d.state !== state.id);
698
+ if (asset.drivers && !asset.drivers.length)
699
+ delete asset.drivers;
700
+ if (asset.stateInputs && !Object.keys(asset.stateInputs).length)
701
+ delete asset.stateInputs;
702
+ }
644
703
  }
645
704
  return asset;
646
705
  }
@@ -1 +1 @@
1
- {"version":3,"file":"authoring-fastening.js","sourceRoot":"","sources":["../src/authoring-fastening.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authoring-fastening.js","sourceRoot":"","sources":["../src/authoring-fastening.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"authoring-placement.d.ts","sourceRoot":"","sources":["../src/authoring-placement.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAqB,MAAM,kBAAkB,CAAA;AAC5F,OAAO,EAEL,KAAK,UAAU,EAIhB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AA+B7C,KAAK,OAAO,GAAG,GAAG,CAAA;AAm4BlB,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,gGAAgG;IAChG,MAAM,EAAE,YAAY,CAAA;IACpB,yCAAyC;IACzC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,uFAAuF;IACvF,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACjD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,iBAAiB,GAAG,SAAS,CAqBzH;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,oDAAoD;AACpD,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,CAkBT;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIzD"}
1
+ {"version":3,"file":"authoring-placement.d.ts","sourceRoot":"","sources":["../src/authoring-placement.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAqB,MAAM,kBAAkB,CAAA;AAC5F,OAAO,EAEL,KAAK,UAAU,EAIhB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAgC7C,KAAK,OAAO,GAAG,GAAG,CAAA;AAg+BlB,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,gGAAgG;IAChG,MAAM,EAAE,YAAY,CAAA;IACpB,yCAAyC;IACzC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,uFAAuF;IACvF,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACjD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,iBAAiB,GAAG,SAAS,CAqBzH;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,oDAAoD;AACpD,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,CAkBT;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIzD"}