@hatiolab/things-scene 10.0.0-beta.125 → 10.0.0-beta.127

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 (103) hide show
  1. package/dist-types/components/container-abstract.d.ts +2 -6
  2. package/dist-types/components/container-abstract.d.ts.map +1 -1
  3. package/dist-types/components/data/data.d.ts.map +1 -1
  4. package/dist-types/components/line.d.ts.map +1 -1
  5. package/dist-types/components/mixins/holdable.d.ts +12 -0
  6. package/dist-types/components/mixins/holdable.d.ts.map +1 -0
  7. package/dist-types/components/mixins/move-handle.d.ts +9 -16
  8. package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
  9. package/dist-types/components/polyline.d.ts +6 -0
  10. package/dist-types/components/polyline.d.ts.map +1 -1
  11. package/dist-types/components/root-container.d.ts +0 -11
  12. package/dist-types/components/root-container.d.ts.map +1 -1
  13. package/dist-types/diagnostics/contract-inspector.d.ts +1 -1
  14. package/dist-types/diagnostics/contract-inspector.d.ts.map +1 -1
  15. package/dist-types/diagnostics/data-lag-tracker.d.ts +31 -25
  16. package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -1
  17. package/dist-types/diagnostics/inspector.d.ts +15 -15
  18. package/dist-types/diagnostics/inspector.d.ts.map +1 -1
  19. package/dist-types/diagnostics/loading-overlay.d.ts.map +1 -1
  20. package/dist-types/flow/auto-route.d.ts +36 -0
  21. package/dist-types/flow/auto-route.d.ts.map +1 -0
  22. package/dist-types/flow/face-anchors.d.ts +26 -0
  23. package/dist-types/flow/face-anchors.d.ts.map +1 -0
  24. package/dist-types/flow/flow-engine.d.ts +122 -0
  25. package/dist-types/flow/flow-engine.d.ts.map +1 -0
  26. package/dist-types/flow/flow-graph-coordinator.d.ts +80 -0
  27. package/dist-types/flow/flow-graph-coordinator.d.ts.map +1 -0
  28. package/dist-types/flow/flow-graph-validator.d.ts +33 -0
  29. package/dist-types/flow/flow-graph-validator.d.ts.map +1 -0
  30. package/dist-types/flow/flow-graph.d.ts +76 -0
  31. package/dist-types/flow/flow-graph.d.ts.map +1 -0
  32. package/dist-types/flow/flow-introspection.d.ts +36 -0
  33. package/dist-types/flow/flow-introspection.d.ts.map +1 -0
  34. package/dist-types/flow/flow-node.d.ts +69 -0
  35. package/dist-types/flow/flow-node.d.ts.map +1 -0
  36. package/dist-types/flow/flow-orientation-coordinator.d.ts +13 -0
  37. package/dist-types/flow/flow-orientation-coordinator.d.ts.map +1 -0
  38. package/dist-types/flow/flow-orientation.d.ts +42 -0
  39. package/dist-types/flow/flow-orientation.d.ts.map +1 -0
  40. package/dist-types/flow/flow-trace.d.ts +5 -0
  41. package/dist-types/flow/flow-trace.d.ts.map +1 -0
  42. package/dist-types/flow/index.d.ts +16 -0
  43. package/dist-types/flow/index.d.ts.map +1 -0
  44. package/dist-types/flow/segment-topology.d.ts +225 -0
  45. package/dist-types/flow/segment-topology.d.ts.map +1 -0
  46. package/dist-types/flow/station-host-inference.d.ts +23 -0
  47. package/dist-types/flow/station-host-inference.d.ts.map +1 -0
  48. package/dist-types/items/arrangement/centering-queue-strategy.d.ts +10 -0
  49. package/dist-types/items/arrangement/centering-queue-strategy.d.ts.map +1 -0
  50. package/dist-types/items/arrangement/gravity-strategy.d.ts +9 -0
  51. package/dist-types/items/arrangement/gravity-strategy.d.ts.map +1 -0
  52. package/dist-types/items/arrangement/grid-strategy.d.ts +11 -0
  53. package/dist-types/items/arrangement/grid-strategy.d.ts.map +1 -0
  54. package/dist-types/items/arrangement/index.d.ts +7 -0
  55. package/dist-types/items/arrangement/index.d.ts.map +1 -0
  56. package/dist-types/items/arrangement/queue-strategy.d.ts +9 -0
  57. package/dist-types/items/arrangement/queue-strategy.d.ts.map +1 -0
  58. package/dist-types/items/arrangement/shelf-strategy.d.ts +11 -0
  59. package/dist-types/items/arrangement/shelf-strategy.d.ts.map +1 -0
  60. package/dist-types/items/arrangement/stack-strategy.d.ts +9 -0
  61. package/dist-types/items/arrangement/stack-strategy.d.ts.map +1 -0
  62. package/dist-types/items/capacity-mixin.d.ts +298 -0
  63. package/dist-types/items/capacity-mixin.d.ts.map +1 -0
  64. package/dist-types/items/capacity.d.ts +53 -0
  65. package/dist-types/items/capacity.d.ts.map +1 -0
  66. package/dist-types/items/index.d.ts +5 -0
  67. package/dist-types/items/index.d.ts.map +1 -0
  68. package/dist-types/items/items-data-binding.d.ts +79 -0
  69. package/dist-types/items/items-data-binding.d.ts.map +1 -0
  70. package/dist-types/items/slot-record.d.ts +23 -0
  71. package/dist-types/items/slot-record.d.ts.map +1 -0
  72. package/dist-types/layer/modeler/index.d.ts +1 -0
  73. package/dist-types/layer/modeler/index.d.ts.map +1 -1
  74. package/dist-types/layer/modeler/move-handle-icon.d.ts +2 -0
  75. package/dist-types/layer/modeler/move-handle-icon.d.ts.map +1 -0
  76. package/dist-types/layer/modeler/move-handle-modeler.d.ts +18 -0
  77. package/dist-types/layer/modeler/move-handle-modeler.d.ts.map +1 -0
  78. package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
  79. package/dist-types/layer/modeling-layer.d.ts +10 -0
  80. package/dist-types/layer/modeling-layer.d.ts.map +1 -1
  81. package/dist-types/layer/selection-layer.d.ts +1 -1
  82. package/dist-types/layer/selection-layer.d.ts.map +1 -1
  83. package/dist-types/things-scene/application-context.d.ts +6 -2
  84. package/dist-types/things-scene/application-context.d.ts.map +1 -1
  85. package/dist-types/things-scene/index.d.ts +5 -2
  86. package/dist-types/things-scene/index.d.ts.map +1 -1
  87. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -1
  88. package/dist-types/threed/three-capability.d.ts +2 -2
  89. package/dist-types/threed/three-capability.d.ts.map +1 -1
  90. package/dist-types/transfer/container-capacity-helpers.d.ts +18 -0
  91. package/dist-types/transfer/container-capacity-helpers.d.ts.map +1 -0
  92. package/dist-types/transfer/container-capacity.d.ts +5 -374
  93. package/dist-types/transfer/container-capacity.d.ts.map +1 -1
  94. package/dist-types/transfer/index.d.ts +3 -0
  95. package/dist-types/transfer/index.d.ts.map +1 -1
  96. package/dist-types/transfer/transferable-mixin.d.ts +259 -0
  97. package/dist-types/transfer/transferable-mixin.d.ts.map +1 -0
  98. package/package.json +1 -1
  99. package/things-scene-min.js +7 -7
  100. package/things-scene-min.js.map +1 -1
  101. package/things-scene-transfer.mjs +3 -2
  102. package/things-scene.mjs +3 -3
  103. package/things-scene.mjs.map +1 -1
@@ -3,13 +3,7 @@ import type { Container } from '../types/component.js';
3
3
  import Component from './component.js';
4
4
  declare const ContainerAbstract_base: {
5
5
  new (...args: any[]): {
6
- _focused: boolean;
7
6
  get showMoveHandle(): boolean;
8
- postrender(context: CanvasRenderingContext2D): void;
9
- _draw_move_handle(context: CanvasRenderingContext2D): void;
10
- _isInMoveHandleArea(x: number, y: number): boolean;
11
- isPointInMoveHandle(screenX: number, screenY: number): boolean;
12
- contains(x: number, y: number): boolean;
13
7
  _app: any;
14
8
  _model: any;
15
9
  _state: any;
@@ -63,6 +57,7 @@ declare const ContainerAbstract_base: {
63
57
  get hierarchy(): any;
64
58
  get volatile(): never[];
65
59
  _applyProps(target: any, props: any, options: any): /*elided*/ any;
60
+ contains(x: number, y: number): boolean;
66
61
  move(offset: {
67
62
  x: number;
68
63
  y: number;
@@ -99,6 +94,7 @@ declare const ContainerAbstract_base: {
99
94
  draw(context?: import("../index.js").SceneRenderContext): void;
100
95
  prerender(context: import("../index.js").SceneRenderContext): void;
101
96
  render(context: import("../index.js").SceneRenderContext): void;
97
+ postrender(context: import("../index.js").SceneRenderContext): void;
102
98
  prepare(resolve: (component: Component) => void, reject: (reason: any) => void): void;
103
99
  prepareIf(condition: boolean): void;
104
100
  drawText(context: import("../index.js").SceneRenderContext): void;
@@ -1 +1 @@
1
- {"version":3,"file":"container-abstract.d.ts","sourceRoot":"","sources":["../../src/components/container-abstract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container-abstract.d.ts","sourceRoot":"","sources":["../../src/components/container-abstract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/components/data/data.ts"],"names":[],"mappings":"AAyEA,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,UAAQ,QAoIvD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,QAU9D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,QAkBtC;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,QAGxC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,QAIlE"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/components/data/data.ts"],"names":[],"mappings":"AAyEA,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,UAAQ,QAoIvD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,QAO9D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,QAkBtC;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,QAGxC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,QAIlE"}
@@ -1 +1 @@
1
- {"version":3,"file":"line.d.ts","sourceRoot":"","sources":["../../src/components/line.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,eAAO,MAAM,KAAK,MAAM,CAAA;AACxB,eAAO,MAAM,KAAK,MAAM,CAAA;AACxB,eAAO,MAAM,IAAI,MAAM,CAAA;AACvB,eAAO,MAAM,IAAI,MAAM,CAAA;AAEvB,cAAM,OAAO;IACX,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,KAAK,CAAA;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;gBAEV,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAOzI,IAAI,QAAQ,UAUX;IAED,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAA,EAEpB;IAED,IAAI,MAAM,QAET;IAED,IAAI,SAAS,0BAqBZ;IAED,IAAI,gBAAgB,sBA+BnB;CACF;AAED;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAAS;IACzC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,MAAM,EAAE,OAAO,GAAG,SAAS,CAAA;IAE3B,MAAM;IAIN,OAAO;IAIP,aAAa,CAAC,UAAU,KAAA;IAaxB,IAAI,OAAO,wBAuBV;IAED,IAAI,IAAI,QAEP;IAED,IAAI,IAAI,CAAC,IAAI,KAAA,EAGZ;IAED,IAAI,KAAK,wBAuBR;IAED,IAAI,EAAE,QAEL;IAED,IAAI,EAAE,CAAC,EAAE,KAAA,EAGR;IAED,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;;;KAAA,EAAE,SAAS,CAAC,EAAE,OAAO;IAclC,MAAM,CAAC,GAAG,KAAA;IAmDV,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IAQb,IAAI,SAAS,YAEZ;IAED,IAAI,OAAO,YAEV;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,IAAI,UAgBP;IAED,IAAI,IAAI,CAAC,IAAI,OAAA,EAiBZ;IAED,IAAI,UAAU;;;;;MAiCb;IAED,IAAI,UAAU,aAEb;CACF"}
1
+ {"version":3,"file":"line.d.ts","sourceRoot":"","sources":["../../src/components/line.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAGnD,eAAO,MAAM,KAAK,MAAM,CAAA;AACxB,eAAO,MAAM,KAAK,MAAM,CAAA;AACxB,eAAO,MAAM,IAAI,MAAM,CAAA;AACvB,eAAO,MAAM,IAAI,MAAM,CAAA;AAEvB,cAAM,OAAO;IACX,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,KAAK,CAAA;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;gBAEV,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAOzI,IAAI,QAAQ,UAUX;IAED,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAA,EAEpB;IAED,IAAI,MAAM,QAET;IAED,IAAI,SAAS,0BAqBZ;IAED,IAAI,gBAAgB,sBA+BnB;CACF;AAED;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAAS;IACzC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,MAAM,EAAE,OAAO,GAAG,SAAS,CAAA;IAE3B,MAAM;IAIN,OAAO;IAIP,aAAa,CAAC,UAAU,KAAA;IAaxB,IAAI,OAAO,wBAuBV;IAED,IAAI,IAAI,QAEP;IAED,IAAI,IAAI,CAAC,IAAI,KAAA,EAGZ;IAED,IAAI,KAAK,wBAuBR;IAED,IAAI,EAAE,QAEL;IAED,IAAI,EAAE,CAAC,EAAE,KAAA,EAGR;IAED,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;;;KAAA,EAAE,SAAS,CAAC,EAAE,OAAO;IAclC,MAAM,CAAC,GAAG,KAAA;IAyFV,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IAQb,IAAI,SAAS,YAEZ;IAED,IAAI,OAAO,YAEV;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,IAAI,UAgBP;IAED,IAAI,IAAI,CAAC,IAAI,OAAA,EAiBZ;IAED,IAAI,UAAU;;;;;MAiCb;IAED,IAAI,UAAU,aAEb;CACF"}
@@ -0,0 +1,12 @@
1
+ import Component from '../component.js';
2
+ type Constructor<T = object> = new (...args: any[]) => T;
3
+ /**
4
+ * Holdable capability — 보유 (state + handover + 렌더 hook).
5
+ *
6
+ * 사용자 통찰 (2026-06-19): 보유 + handover 가 보유 노드의 본질. 이전엔 scene-base
7
+ * FlowNode 에 인라인이었으나, items 가 컨테이너 비의존이라는 원칙(2026-06-25)에 따라
8
+ * things-scene base mixin 으로 환원 — 어떤 Component 든 적용 가능.
9
+ */
10
+ export default function Holdable<TBase extends Constructor<Component>>(superclass: TBase): any;
11
+ export {};
12
+ //# sourceMappingURL=holdable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"holdable.d.ts","sourceRoot":"","sources":["../../../src/components/mixins/holdable.ts"],"names":[],"mappings":"AAgBA,OAAO,SAAS,MAAM,iBAAiB,CAAA;AAuBvC,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAExD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,SAAS,WAAW,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,GAAG,GAAG,CA8P7F"}
@@ -1,24 +1,15 @@
1
1
  import type Component from '../component.js';
2
2
  type Constructor<T = {}> = new (...args: any[]) => T;
3
+ /**
4
+ * MoveHandle — 컨테이너가 이동 핸들을 *_쓰는지_* 만 선언하는 정책 mixin.
5
+ *
6
+ * 핸들의 그리기 / hit-test / 이동 / hover 는 모두 modeling-layer 의 MoveHandleModeler
7
+ * (편집 레이어 오버레이)가 담당한다 — 모델(컴포넌트)과 편집이 분리돼 있다.
8
+ * 컴포넌트는 `showMoveHandle` 정책만 노출한다.
9
+ */
3
10
  export default function MoveHandle<T extends Constructor<Component>>(superclass: T): {
4
11
  new (...args: any[]): {
5
- _focused: boolean;
6
12
  get showMoveHandle(): boolean;
7
- postrender(context: CanvasRenderingContext2D): void;
8
- _draw_move_handle(context: CanvasRenderingContext2D): void;
9
- /**
10
- * 이동 핸들 영역(우상단 박스) 안인지. showMoveHandle=true 일 때만 유효.
11
- * contains / capture(ContainerAbstract) 가 *핸들 영역 vs 메인영역* 을 구분할 때 공용.
12
- * 좌표계: transcoord(bounds) 좌표 — capture 의 fromParent 결과와 동일.
13
- */
14
- _isInMoveHandleArea(x: number, y: number): boolean;
15
- /**
16
- * screen 좌표(e.offsetX / e.offsetY)가 이동 핸들 영역 안인지 — 좌표 변환 포함.
17
- * move-handler(이동) / selection-layer(selbox 트리거 판정) 등 *_외부 핸들러_* 공용.
18
- * (contains 는 이미 transcoord 된 bounds 좌표를 받으므로 _isInMoveHandleArea 직접 사용.)
19
- */
20
- isPointInMoveHandle(screenX: number, screenY: number): boolean;
21
- contains(x: number, y: number): boolean;
22
13
  _app: any;
23
14
  _model: any;
24
15
  _state: any;
@@ -72,6 +63,7 @@ export default function MoveHandle<T extends Constructor<Component>>(superclass:
72
63
  get hierarchy(): any;
73
64
  get volatile(): never[];
74
65
  _applyProps(target: any, props: any, options: any): /*elided*/ any;
66
+ contains(x: number, y: number): boolean;
75
67
  move(offset: {
76
68
  x: number;
77
69
  y: number;
@@ -108,6 +100,7 @@ export default function MoveHandle<T extends Constructor<Component>>(superclass:
108
100
  draw(context?: import("../../index.js").SceneRenderContext): void;
109
101
  prerender(context: import("../../index.js").SceneRenderContext): void;
110
102
  render(context: import("../../index.js").SceneRenderContext): void;
103
+ postrender(context: import("../../index.js").SceneRenderContext): void;
111
104
  prepare(resolve: (component: Component) => void, reject: (reason: any) => void): void;
112
105
  prepareIf(condition: boolean): void;
113
106
  drawText(context: import("../../index.js").SceneRenderContext): void;
@@ -1 +1 @@
1
- {"version":3,"file":"move-handle.d.ts","sourceRoot":"","sources":["../../../src/components/mixins/move-handle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAE5C,KAAK,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAYpD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,SAAS,WAAW,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;kBAZzC,GAAG,EAAE;kBAcxB,OAAO;8BAEH,OAAO;4BAIT,wBAAwB;mCAYjB,wBAAwB;QA2BnD;;;;WAIG;+BACoB,MAAM,KAAK,MAAM,GAAG,OAAO;QAelD;;;;WAIG;qCAC0B,MAAM,WAAW,MAAM,GAAG,OAAO;oBAclD,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsBhC"}
1
+ {"version":3,"file":"move-handle.d.ts","sourceRoot":"","sources":["../../../src/components/mixins/move-handle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAE5C,KAAK,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAEpD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,SAAS,WAAW,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;kBATzC,GAAG,EAAE;8BAWpB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAMhC"}
@@ -3,6 +3,12 @@ export default class Polyline extends Line {
3
3
  _fromEnd: any;
4
4
  _toEnd: any;
5
5
  get pathExtendable(): boolean;
6
+ /**
7
+ * PathHandler 가 corner radius ◯ / bulge ◇ 편집 핸들을 그릴지 여부.
8
+ * Polygon 과 동일하게 활성화 — 단 open 폴리라인이라 PathHandler 가 isLine() 으로
9
+ * 양 끝점(corner)과 닫힘 세그먼트(bulge)는 제외한다.
10
+ */
11
+ get cornerEditable(): boolean;
6
12
  get path(): any[];
7
13
  set path(path: any[]);
8
14
  get controls(): any;
@@ -1 +1 @@
1
- {"version":3,"file":"polyline.d.ts","sourceRoot":"","sources":["../../src/components/polyline.ts"],"names":[],"mappings":"AAKA,OAAO,IAAI,MAAM,WAAW,CAAA;AAuC5B,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,IAAI;IACxC,QAAQ,EAAE,GAAG,CAAA;IACb,MAAM,EAAE,GAAG,CAAA;IAEX,IAAI,cAAc,YAEjB;IAED,IAAI,IAAI,UASP;IAED,IAAI,IAAI,CAAC,IAAI,OAAA,EAiBZ;IAED,IAAI,QAAQ,IAAI,GAAG,CAgClB;IAED,IAAI,MAAM;;;;;;;;;;;;;;;MAET;CACF"}
1
+ {"version":3,"file":"polyline.d.ts","sourceRoot":"","sources":["../../src/components/polyline.ts"],"names":[],"mappings":"AAKA,OAAO,IAAI,MAAM,WAAW,CAAA;AAuC5B,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,IAAI;IACxC,QAAQ,EAAE,GAAG,CAAA;IACb,MAAM,EAAE,GAAG,CAAA;IAEX,IAAI,cAAc,YAEjB;IAED;;;;OAIG;IACH,IAAI,cAAc,YAEjB;IAED,IAAI,IAAI,UASP;IAED,IAAI,IAAI,CAAC,IAAI,OAAA,EAiBZ;IAED,IAAI,QAAQ,IAAI,GAAG,CAgClB;IAED,IAAI,MAAM;;;;;;;;;;;;;;;MAET;CACF"}
@@ -60,17 +60,6 @@ export default class RootContainer extends ContainerAbstract {
60
60
  addRefidIndex(refid: any, component: any): void;
61
61
  removeRefidIndex(refid: any, component: any): void;
62
62
  getNewRefid(): number;
63
- /**
64
- * 임시 마이그레이션 (정식 릴리즈 시 제거) — 오염된 board fix.
65
- *
66
- * 과거 버그: viewMode 동적 carrier 의 refid(동적 영역)가 모델러 저장으로 board 에 박혀,
67
- * 정적 컴포넌트가 동적 영역 refid 를 갖게 됨 → 이후 동적 carrier 와 refid 충돌.
68
- *
69
- * editMode 로드 시 1 회: 정적 컴포넌트 중 동적 영역(>= DYNAMIC_REFID_BASE) refid 를 정적
70
- * 영역으로 재할당. link(from/to.component = refid) 참조도 같은 매핑으로 갱신. 간단 fix —
71
- * refid 조정 + link 참조만 (정식 릴리즈 전 한시적).
72
- */
73
- _cureContaminatedRefids(): void;
74
63
  subscribe(tag: any, component: any): Promise<void>;
75
64
  unsubscribe(tag: any, component: any): Promise<void>;
76
65
  private static readonly EMPTY_ARRAY;
@@ -1 +1 @@
1
- {"version":3,"file":"root-container.d.ts","sourceRoot":"","sources":["../../src/components/root-container.ts"],"names":[],"mappings":"AASA,OAAO,gBAAgB,MAAM,oCAAoC,CAAA;AAGjE,OAAO,iBAAiB,MAAM,yBAAyB,CAAA;AAmFvD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,iBAAiB;IAG1D,IAAI,cAAc,YAEjB;IAOD,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAA2C;IAE7E;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI;IAQ/D,SAAS,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IACpB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAC5B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAChC,0BAA0B,EAAE,GAAG,CAAA;IAC/B,eAAe,EAAE,WAAW,GAAG,IAAI,CAAA;IACnC,iBAAiB,EAAE,GAAG,CAAA;IACtB,WAAW,CAAC,EAAE,GAAG,CAAA;IACjB,gBAAgB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IACtC,SAAS,EAAE,GAAG,EAAE,CAAA;IAChB,MAAM,EAAE,GAAG,CAAA;IACX,eAAe,EAAE,GAAG,CAAA;IACpB,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,GAAG,CAAA;IAChB,eAAe,EAAE,GAAG,EAAE,CAAA;IACtB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAA;IAC7B,4BAA4B,UAAQ;IAC5B,QAAQ,EAAE,GAAG,CAAA;IACb,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,gBAAgB,EAAE,gBAAgB,CAAA;gBAE9B,KAAK,KAAA,EAAE,OAAO,KAAA;IA+C1B,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAIlD,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIhD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrC,OAAO;IAkCP,MAAM;IAKN,IAAI,GAAG,QAEN;IAED,IAAI,cAAc,uBAEjB;IAED,IAAI,cAAc,CAAC,MAAM,oBAAA,EAkBxB;IAED;;;;;;;;OAQG;IACH,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAAyB;IAC1D,IAAI,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAAuB;IAExD,IAAI,2BAA2B,IAAI,OAAO,CAA6C;IACvF,IAAI,2BAA2B,CAAC,CAAC,EAAE,OAAO,EAA2C;IAErF,IAAI,SAAS,WAWZ;IAED,WAAW,CAAC,MAAM,KAAA,EAAE,SAAS,KAAA;IAQ7B,cAAc,CAAC,MAAM,KAAA,EAAE,SAAS,KAAA;IAShC,eAAe,CAAC,EAAE,KAAA;IAUlB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,KAAA;IAa9B,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,KAAA;IAqBjC,aAAa,CAAC,KAAK,KAAA,EAAE,SAAS,KAAA;IAqB9B,gBAAgB,CAAC,KAAK,KAAA,EAAE,SAAS,KAAA;IAcjC,WAAW;IAKX;;;;;;;;;OASG;IACH,uBAAuB;IA6BjB,SAAS,CAAC,GAAG,KAAA,EAAE,SAAS,KAAA;IAMxB,WAAW,CAAC,GAAG,KAAA,EAAE,SAAS,KAAA;IAOhC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAY;IAE/C,QAAQ,CAAC,EAAE,EAAE,MAAM;IAOnB,WAAW,CAAC,EAAE,EAAE,MAAM;IAMtB,WAAW,CAAC,KAAK,KAAA;IAIjB,YAAY,CAAC,EAAE,KAAA;IAuBf,MAAM;IAON,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM;IAqCjB,oBAAoB;IA8CpB,mBAAmB,CAAC,YAAY,KAAA,EAAE,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE;IA0FxE,IAAI,IAAI,SAEP;IAED,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,IAAI,OAAO,YAEV;IAED,IAAI,SAAS,QAEZ;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAIxB;IAED,IAAI,KAAK,YAER;IAED,IAAI,IAAI,OAUP;IAED,IAAI,IAAI,CAAC,IAAI,IAAA,EAUZ;IAED,IAAI,WAAW,OAQd;IAED,IAAI,WAAW,CAAC,IAAI,IAAA,EAMnB;IAED,IAAI,MAAM,OAUT;IAED,IAAI,MAAM,CAAC,KAAK,IAAA,EAUf;IAED,IAAI,aAAa,OAQhB;IAED,IAAI,aAAa,CAAC,KAAK,IAAA,EAMtB;IAED,IAAI,QAAQ,UAEX;IAED,IAAI,QAAQ,CAAC,KAAK,OAAA,EAYjB;IAED,IAAI,OAAO,QAEV;IAED,IAAI,OAAO,CAAC,SAAS,KAAA,EAKpB;IAED,IAAI,KAAK,QAER;IAED,IAAI,KAAK,CAAC,KAAK,KAAA,EAGd;IAED,IAAI,eAAe,YAElB;IAED,MAAM;IASN,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IAUb,WAAW,CAAC,IAAI,KAAA,EAAE,OAAO,KAAA;IAIzB,UAAU;IAKV,gBAAgB,CAAC,WAAW,KAAA,EAAE,UAAU,KAAA;IAWxC,IAAI,QAAQ;;;;;;;;MAUX;IAED,eAAe;IAaf,YAAY,CAAC,SAAS,KAAA;IAwBtB,eAAe,CAAC,SAAS,KAAA;IAuBzB,OAAO,CAAC,SAAS,KAAA,EAAE,SAAS,KAAA;IAU5B,SAAS,CAAC,SAAS,KAAA,EAAE,SAAS,KAAA;IAM9B,SAAS,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA,EAAE,IAAI,KAAA;CA+B9B"}
1
+ {"version":3,"file":"root-container.d.ts","sourceRoot":"","sources":["../../src/components/root-container.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export interface InspectorComponentSummary {
20
20
  };
21
21
  };
22
22
  state?: Record<string, unknown>;
23
- isCarriable?: boolean;
23
+ isItem?: boolean;
24
24
  isPickable?: boolean;
25
25
  isMover?: boolean;
26
26
  isHolder?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"contract-inspector.d.ts","sourceRoot":"","sources":["../../src/diagnostics/contract-inspector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract-inspector.d.ts","sourceRoot":"","sources":["../../src/diagnostics/contract-inspector.ts"],"names":[],"mappings":"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"}
@@ -1,44 +1,50 @@
1
1
  export interface LagMonitorConfig {
2
- tag: string;
3
- timestampField: string;
4
2
  warnThreshold?: number;
5
3
  criticalThreshold?: number;
6
4
  }
7
- export type LagTrend = 'stable' | 'increasing' | 'decreasing' | 'spike';
8
5
  export type LagLevel = 'normal' | 'warn' | 'critical';
9
6
  export interface LagStats {
10
- tag: string;
11
- currentDelta: number;
7
+ current: number;
12
8
  baseline: number;
13
9
  drift: number;
14
- driftAvg: number;
15
- driftMax: number;
16
- trend: LagTrend;
10
+ min: number;
11
+ max: number;
17
12
  sampleCount: number;
18
13
  level: LagLevel;
19
14
  }
20
15
  export declare class DataLagTracker {
21
- private _monitors;
16
+ private _current;
17
+ private _min;
18
+ private _max;
19
+ private _count;
20
+ private _baseline;
21
+ private _baselineSet;
22
+ private _baselineSum;
23
+ private _baselineCount;
24
+ private _warn;
25
+ private _critical;
26
+ private _lastLevel;
22
27
  private _disposed;
23
- /** level 변경 시 콜백 (evaluateAll 호출 시 트리거) */
24
- onLevelChange?: (tag: string, level: LagLevel, stats: LagStats) => void;
25
- configure(config: LagMonitorConfig | LagMonitorConfig[]): void;
26
- isMonitored(tag: string): boolean;
28
+ /** level 변경 시 콜백 (evaluate() 호출 시 트리거). */
29
+ onLevelChange?: (level: LagLevel, stats: LagStats) => void;
30
+ /** 임계값 설정 (선택). */
31
+ configure(config?: LagMonitorConfig | LagMonitorConfig[]): void;
27
32
  /**
28
- * 패스 진입점.
29
- * 대상 태그가 아니면 Map.get() 1회로 즉시 리턴.
33
+ * 발행 시각(epoch-ms)을 받아 갭을 기록.
34
+ * `record(ts)` 또는 `record(tag, ts)` 허용 — tag 인자는 무시(단일 채널 집계).
30
35
  */
31
- recordIfMonitored(tag: string, data: any): void;
32
- getStats(tag: string): LagStats | null;
33
- getAllStats(): LagStats[];
34
- /**
35
- * UI 갱신 주기에 호출. threshold 판정 + onLevelChange 콜백 발생.
36
- */
37
- evaluateAll(): void;
36
+ record(a: any, b?: any): void;
37
+ getStats(): LagStats;
38
+ /** UI 갱신 주기 호출 — level 변경 시 콜백 발생. */
39
+ evaluate(): void;
40
+ reset(): void;
38
41
  dispose(): void;
39
- private _extractField;
40
- private _getRecentDrifts;
41
- private _calcTrend;
42
42
  private _calcLevel;
43
43
  }
44
+ /**
45
+ * 모듈 레벨 싱글톤 — frameClock 패턴. `globalThis.scene.dataLagTracker` 로 노출되어
46
+ * 모니터 익스텐션/오버레이/구독 핸들러가 동일 인스턴스를 공유한다.
47
+ * (app.lagTracker 도 이 싱글톤을 가리킨다.)
48
+ */
49
+ export declare const dataLagTracker: DataLagTracker;
44
50
  //# sourceMappingURL=data-lag-tracker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-lag-tracker.d.ts","sourceRoot":"","sources":["../../src/diagnostics/data-lag-tracker.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,CAAA;AACvE,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAA;AAErD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,QAAQ,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,QAAQ,CAAA;CAChB;AAkBD,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,SAAS,CAAQ;IAEzB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAEvE,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,IAAI;IAuB9D,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIjC;;;OAGG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IA4B/C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IA4CtC,WAAW,IAAI,QAAQ,EAAE;IASzB;;OAEG;IACH,WAAW,IAAI,IAAI;IAcnB,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,UAAU;CAKnB"}
1
+ {"version":3,"file":"data-lag-tracker.d.ts","sourceRoot":"","sources":["../../src/diagnostics/data-lag-tracker.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAA;AAErD,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,QAAQ,CAAA;CAChB;AAID,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,SAAS,CAAQ;IAEzB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAE1D,mBAAmB;IACnB,SAAS,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,IAAI;IAO/D;;;OAGG;IACH,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI;IAsB7B,QAAQ,IAAI,QAAQ;IAgBpB,sCAAsC;IACtC,QAAQ,IAAI,IAAI;IAShB,KAAK,IAAI,IAAI;IAYb,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,UAAU;CAKnB;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,gBAAuB,CAAA"}
@@ -22,9 +22,9 @@ interface ComponentTreeNode {
22
22
  name?: string;
23
23
  hidden?: boolean;
24
24
  clazz?: string;
25
- /** 부모의 *_holdings (Holdable mixin)_* 자식 — _components 자식과 직교 (Phase 7.2,
25
+ /** 부모의 *_items (Holdable mixin)_* 자식 — _components 자식과 직교 (Phase 7.2,
26
26
  * 2026-06-18). UI 가 별도 marker (icon / color) 로 구분 가능. */
27
- isHolding?: boolean;
27
+ isItem?: boolean;
28
28
  }
29
29
  interface ComponentInfo {
30
30
  model: object;
@@ -42,9 +42,9 @@ interface ComponentInfo {
42
42
  isContainer: boolean;
43
43
  is3dMode?: boolean;
44
44
  hidden?: boolean;
45
- /** Holdable mixin 자손 holder 가 _holdings 보유 시 — runtime carrier 통합 발견.
45
+ /** Holdable mixin 자손 holder 가 _items 보유 시 — runtime carrier 통합 발견.
46
46
  * Container-Component 자식 트리 (_components) 와 직교한 별도 자식 시스템. */
47
- holdings?: ComponentTreeNode[];
47
+ items?: ComponentTreeNode[];
48
48
  /** SlottedHolder duck (Phase 7.3, 2026-06-18) — slot 별 점유 상태.
49
49
  * duck 자격 = slotIds + occupiedSlotIds + emptySlotIds + hasCarrierAt 의 4 메서드.
50
50
  * panel UI 가 *_holder 의 slot 상태 시각화_* (occupied / empty / capacity ratio). */
@@ -106,31 +106,31 @@ declare class SceneInspector {
106
106
  * 특정 컴포넌트의 상세 정보를 반환한다.
107
107
  * componentId가 'root'/'__root__'이면 model_layer 정보를 반환.
108
108
  *
109
- * @param options.includeHoldings — true 시 _holdings 자식 시각화 포함 (Phase 7.2).
109
+ * @param options.includeItems — true 시 _items 자식 시각화 포함 (Phase 7.2).
110
110
  * default = false: 자식 tree 의 *_혼동 회피 + 성능 회피_* (carrier 다수 시 매
111
- * query 마다 _holdings 자식 모두 traverse). carrier 통합 발견 필요 시 별도 query
112
- * (`getHoldings`) 또는 옵션 활성.
111
+ * query 마다 _items 자식 모두 traverse). carrier 통합 발견 필요 시 별도 query
112
+ * (`getItems`) 또는 옵션 활성.
113
113
  */
114
114
  getComponentInfo(componentId: string, sceneIndex?: number, options?: {
115
- includeHoldings?: boolean;
115
+ includeItems?: boolean;
116
116
  }): ComponentInfo | null;
117
117
  /**
118
- * 컴포넌트의 holdings list 별도 query — Inspector panel 의 carrier 통합 발견.
118
+ * 컴포넌트의 items list 별도 query — Inspector panel 의 carrier 통합 발견.
119
119
  * 자식 트리 (`_components`) 와 직교한 자식 시스템. Holdable mixin 자손만 해당.
120
120
  */
121
- getHoldings(componentId: string, sceneIndex?: number): ComponentTreeNode[];
121
+ getItems(componentId: string, sceneIndex?: number): ComponentTreeNode[];
122
122
  /**
123
123
  * 컴포넌트의 records snapshot — `holder.data` 표준 entry (Phase D-7, 2026-06-20).
124
124
  *
125
- * 사용자 vision: *_FlowNode 의 holdings 는 결국 해당 컴포넌트의 data 로 import/export_*.
126
- * FlowNode 자손은 HoldingsDataBinding 통해 records[] 자동 export (`_holdings → SlotRecord[]`).
125
+ * 사용자 vision: *_FlowNode 의 items 는 결국 해당 컴포넌트의 data 로 import/export_*.
126
+ * FlowNode 자손은 ItemsDataBinding 통해 records[] 자동 export (`_items → SlotRecord[]`).
127
127
  * RecordStorage 자손은 state.data 직접 반환 (records-only path).
128
128
  *
129
129
  * monitor-extension panel 측이 이 query 통해 holder 의 records 시각화 — DataSource
130
130
  * bind / WMS export 와 같은 schema (`SlotRecord[]`).
131
131
  *
132
- * Inspector 측 carrier 트리 (`getHoldings` — 인스턴스 list) 와 직교:
133
- * - getHoldings → carrier 인스턴스 list (시각 / 도메인)
132
+ * Inspector 측 carrier 트리 (`getItems` — 인스턴스 list) 와 직교:
133
+ * - getItems → carrier 인스턴스 list (시각 / 도메인)
134
134
  * - getRecords → records list (데이터 / 외부 bind 어휘)
135
135
  */
136
136
  getRecords(componentId: string, sceneIndex?: number): any[];
@@ -238,7 +238,7 @@ declare class SceneInspector {
238
238
  contractSummary(componentId: string, sceneIndex?: number): {
239
239
  type: string;
240
240
  id: string;
241
- isCarriable?: boolean;
241
+ isItem?: boolean;
242
242
  isPickable?: boolean;
243
243
  isMover?: boolean;
244
244
  isHolder?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/diagnostics/inspector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/diagnostics/inspector.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE9E,UAAU,UAAU;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAG7B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAChC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AAED,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,WAAW,EAAE,OAAO,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;8DAC0D;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,EAAE,GAAG,CAAA;IACV,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC3E,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;mEAC+D;IAC/D,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC3B;;mFAE+E;IAC/E,aAAa,CAAC,EAAE;QACd,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,eAAe,EAAE,MAAM,EAAE,CAAA;QACzB,YAAY,EAAE,MAAM,EAAE,CAAA;KACvB,CAAA;CACF;AAED,cAAM,cAAc;IAClB,OAAO,CAAC,OAAO,CAAqB;IAEpC;;;OAGG;IACH,aAAa,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAO;IAO3D,OAAO,CAAC,iBAAiB,CAAY;IACrC,OAAO,CAAC,eAAe,CAAmD;IAC1E;;;OAGG;IACH,wBAAwB,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAO;IAEhG;;;OAGG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,SAAI,GAAG,OAAO;IAwBxE,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAM1B;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAU5B;;OAEG;IACH,SAAS,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,EAAE;IAkBxF;;OAEG;IACH,gBAAgB,CAAC,UAAU,SAAI,GAAG,iBAAiB,EAAE;IAarD;;;OAGG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,iBAAiB,EAAE;IAmBtE;;;;;;;;OAQG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,EAAE,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,aAAa,GAAG,IAAI;IAkEjH;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,iBAAiB,EAAE;IAelE;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,GAAG,EAAE;IAkBtD;;;OAGG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,OAAO;IAmB7D;;OAEG;IACH,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,SAAI,GAAG,OAAO;IAyB3F;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,OAAO;IAkBpD;;;OAGG;IACH,cAAc,CAAC,UAAU,SAAI,GAAG,GAAG;IAiBnC;;;OAGG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,OAAO;IAkB1D;;OAEG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,GAAG;IAetD;;OAEG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,GAAG;IAevD;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,iBAAiB,EAAE;IAgCpE;;;OAGG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,MAAM,EAAE;IAiB/D;;;OAGG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,UAAU,GAAG,IAAI;IAkDrE,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,UAAU;IAkBlB;;;;;;OAMG;IACH,WAAW,IAAI;QACb,yCAAyC;QACzC,OAAO,EAAE,GAAG,EAAE,CAAA;QACd,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,aAAa,EAAE,MAAM,CAAC;YAAC,qBAAqB,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAA;QACtJ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACpC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC3C,GAAG,IAAI;IA+BR,0DAA0D;IAC1D,YAAY,IAAI;QACd,OAAO,EAAE,MAAM,CAAA;QACf,GAAG,EAAE,GAAG,EAAE,CAAA;QACV,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;KAClC,GAAG,IAAI;IA0BR,gCAAgC;IAChC,SAAS,IAAI;QACX,OAAO,EAAE,MAAM,CAAA;QACf,GAAG,EAAE,GAAG,EAAE,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACnC,GAAG,IAAI;IA8BR;;;OAGG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG;QACpD,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,YAAY,CAAC,EAAE,GAAG,EAAE,CAAA;QACpB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAA;KACd,GAAG,IAAI;IAkCR;;;;;;;;OAQG;IACH,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,MAAM,EAAE;IA4BvE;;;;;;;;;;;;OAYG;IACG,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IA4FrF;;;;;;;OAOG;IACG,cAAc,CAAC,UAAU,SAAI,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IA0H5H;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,UAAU,SAAI,GAAG,OAAO,CAAC;QAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC7B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;QACpF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACjC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAC1G,CAAC;IAiJF;;;;;;OAMG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,UAAU,SAAI,GACb,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IAgC/C;;;OAGG;IACG,gBAAgB,CAAC,UAAU,SAAI,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAyEvE;AAED,eAAO,MAAM,SAAS,gBAAuB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"loading-overlay.d.ts","sourceRoot":"","sources":["../../src/diagnostics/loading-overlay.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAwB,MAAM,mBAAmB,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAY,MAAM,uBAAuB,CAAA;AA6BrE,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAgB;IACpC,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,WAAW,CAAQ;IAG3B,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,eAAe,CAAC,CAAa;IACrC,OAAO,CAAC,eAAe,CAAC,CAAa;IACrC,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,mBAAmB,CAAI;IAC/B,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,aAAa,CAAC,CAAa;IACnC,OAAO,CAAC,UAAU,CAAC,CAAa;IAEhC,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI;IAsC5F,MAAM,IAAI,IAAI;IAUd,IAAI,IAAI,IAAI;IAKZ,IAAI,IAAI,IAAI;IAKZ,OAAO,IAAI,IAAI;IAYf,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAID,OAAO,CAAC,KAAK;IA4Bb,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,OAAO;IAkCf,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,gBAAgB;IAsDxB,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,qBAAqB;IA8B7B,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,SAAS;CAsGlB"}
1
+ {"version":3,"file":"loading-overlay.d.ts","sourceRoot":"","sources":["../../src/diagnostics/loading-overlay.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAwB,MAAM,mBAAmB,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAY,MAAM,uBAAuB,CAAA;AA6BrE,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAgB;IACpC,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,WAAW,CAAQ;IAG3B,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,eAAe,CAAC,CAAa;IACrC,OAAO,CAAC,eAAe,CAAC,CAAa;IACrC,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,mBAAmB,CAAI;IAC/B,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,aAAa,CAAC,CAAa;IACnC,OAAO,CAAC,UAAU,CAAC,CAAa;IAEhC,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI;IAsC5F,MAAM,IAAI,IAAI;IAUd,IAAI,IAAI,IAAI;IAKZ,IAAI,IAAI,IAAI;IAKZ,OAAO,IAAI,IAAI;IAYf,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAID,OAAO,CAAC,KAAK;IA4Bb,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,OAAO;IAkCf,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,gBAAgB;IAsDxB,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,qBAAqB;IA8B7B,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,SAAS;CAsGlB"}
@@ -0,0 +1,36 @@
1
+ import { type SegmentTopology, type SegmentBounds, type MatchTolerance } from './segment-topology.js';
2
+ interface SegmentLike {
3
+ state?: {
4
+ id?: string;
5
+ };
6
+ parent?: any;
7
+ rootModel?: any;
8
+ root?: any;
9
+ getSegmentTopology(): SegmentTopology;
10
+ }
11
+ /**
12
+ * Component tree 의 *_getSegmentTopology 를 노출하는 component_* 모두 수집.
13
+ * 자기 자신 제외. id 없는 컴포넌트 제외 (= outputRef target 으로 사용 불가).
14
+ *
15
+ * traversal 시작점 — *_self.parent_* (= model-layer 등 sibling 영역). 만약
16
+ * sibling 만으로 부족하면 *_rootModel 또는 root 의 재귀 descend_* 까지. things-
17
+ * scene 의 root 는 RootContainer 라 *_.components 가 layer 들_*만 — 우리 segment
18
+ * 는 model-layer 자식 이므로 sibling 또는 재귀 필요.
19
+ */
20
+ export declare function collectAdjacentSegments(startRoot: any, exclude: any): Array<{
21
+ id: string;
22
+ topology: SegmentTopology;
23
+ bounds?: SegmentBounds;
24
+ }>;
25
+ /**
26
+ * 자기 outbound 의 *_가장 가까운 downstream segment id_*. inbound 가진 후보들
27
+ * 만 매칭. multi-outbound segment 의 경우 outbound[0] 만 — 분기 segment 는
28
+ * 자체 logic 으로 override 권장.
29
+ *
30
+ * traversal 시작점: self.parent (= 직접 sibling 영역) 우선, 부재 시 rootModel
31
+ * → root fallback. RootContainer 의 .components 가 layer 들이라 *_재귀 descend_*
32
+ * 까지 처리하는 collectAdjacentSegments 사용.
33
+ */
34
+ export declare function inferDownstreamId(self: SegmentLike, tolerance?: MatchTolerance): string | null;
35
+ export {};
36
+ //# sourceMappingURL=auto-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-route.d.ts","sourceRoot":"","sources":["../../src/flow/auto-route.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAkB,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAErH,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACvB,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,kBAAkB,IAAI,eAAe,CAAA;CACtC;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,GAAG,EACd,OAAO,EAAE,GAAG,GACX,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAC;IAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAAE,CAAC,CAmC1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,WAAW,EACjB,SAAS,CAAC,EAAE,cAAc,GACzB,MAAM,GAAG,IAAI,CAwBf"}
@@ -0,0 +1,26 @@
1
+ /** XZ 평면 anchor (scene world 좌표; Y=floor-level 무시). */
2
+ export interface FaceAnchor {
3
+ worldPos: {
4
+ x: number;
5
+ z: number;
6
+ };
7
+ /** 진행 방향 단위 vector (carrier 속도 vector 와 일치). */
8
+ direction: {
9
+ x: number;
10
+ z: number;
11
+ };
12
+ /** 면 절반 길이 — segment 겹침 판정용. */
13
+ halfSpan?: number;
14
+ }
15
+ /**
16
+ * state(left/top/width/height/rotation) → 4면 anchor. kind='inbound' 면 inward(받는 면),
17
+ * 'outbound' 면 outward(내보내는 면). 회전 반영.
18
+ */
19
+ export declare function rectFaceAnchors(state: {
20
+ left?: number;
21
+ top?: number;
22
+ width?: number;
23
+ height?: number;
24
+ rotation?: number;
25
+ }, kind: 'inbound' | 'outbound'): FaceAnchor[];
26
+ //# sourceMappingURL=face-anchors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"face-anchors.d.ts","sourceRoot":"","sources":["../../src/flow/face-anchors.ts"],"names":[],"mappings":"AASA,uDAAuD;AACvD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAClC,gDAAgD;IAChD,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACnC,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1F,IAAI,EAAE,SAAS,GAAG,UAAU,GAC3B,UAAU,EAAE,CAiCd"}
@@ -0,0 +1,122 @@
1
+ import { sinksForDestination, componentForNode, nodeIdOf, isRoutingTarget, type BalancingPolicy, allDestinations } from './flow-graph-coordinator.js';
2
+ import { type FlowGraph } from './flow-graph.js';
3
+ import { type FlowGraphIssue } from './flow-graph-validator.js';
4
+ export interface RoutingResult {
5
+ /** 다음 노드 id (graph node id — state.id ?? refid). */
6
+ targetId: string;
7
+ /** 다음 노드 컴포넌트 (이미 resolved). */
8
+ component: any;
9
+ /**
10
+ * 결정 origin — Phase 7 (graph overlay) 에서 색 구분.
11
+ * - explicit: 명시 RoutingLinks edge
12
+ * - inferred: capability 기반 자동 추론
13
+ * 현재는 구분 미확정 — Phase 7 에서 coordinator 가 metadata 부착 후 정확화.
14
+ */
15
+ origin: 'explicit' | 'inferred';
16
+ }
17
+ /**
18
+ * 분기점이 carrier 를 어느 하류로 보낼지 — 단일 진입점.
19
+ *
20
+ * @param fromComp 결정 주체 (joint / sorter / chute 등)
21
+ * @param carrier 결정 대상 — `carrier.state.meta.destination` 으로 목적지 매칭
22
+ * @param options Phase B2 — balancing policy 명시 override. 미명시 시 host/root state 의
23
+ * balancingPolicy / routingBalancingPolicy → default 'round-robin'.
24
+ * @returns 다음 노드 — 미상 / 도달 불가 시 null (호출부가 fallback)
25
+ */
26
+ export declare function next(fromComp: any, carrier?: any, options?: {
27
+ policy?: BalancingPolicy;
28
+ }): RoutingResult | null;
29
+ /**
30
+ * fromComp 의 직속 outbound[0] — chute 의 flush target 같은 단순 하류 1순위.
31
+ * resolveNextHop 과 다른 점: destination 매칭·tie-break 없이 *_그래프 첫 outbound_* 만.
32
+ */
33
+ export declare function downstream(fromComp: any): {
34
+ id: string;
35
+ component: any;
36
+ } | null;
37
+ /**
38
+ * fromComp 에서 도달 가능한 *_RoutingTarget value_* 목록 — generator 의 destination 후보 등.
39
+ */
40
+ export declare function reachableDestinations(fromComp: any): string[];
41
+ /**
42
+ * startId 기반 reachableDestinations — startId 가 graph node id (= componentForNode 의 key).
43
+ * generator 처럼 *_자기 컴포넌트가 startId 가 아닌_* 경우 (별도 시작점) 에 사용.
44
+ */
45
+ export declare function reachableDestinationsFrom(root: any, startId: string): string[];
46
+ /** destination + 그 destination 의 sink 들의 가중치 합. */
47
+ export interface WeightedDestination {
48
+ /** destination value (예: "서울"). */
49
+ value: string;
50
+ /**
51
+ * 가중치 합. 각 sink 의 측정:
52
+ * - routingWeight() 명시 시 → 그 값 (사용자 override)
53
+ * - 미명시 시 → 그 sink 의 *_incoming edge 수_* (경로 갯수 = 자연 capacity)
54
+ * - incoming 0 fallback = 1
55
+ */
56
+ weight: number;
57
+ }
58
+ /**
59
+ * reachableDestinationsFrom 의 *_가중치 버전_*. item-generator 의 _pickDestination 이 가중치
60
+ * 비례 random pick 에 사용.
61
+ *
62
+ * # 가중치 측정의 의미 (2026-06-17 사용자 통찰)
63
+ *
64
+ * 처음 (B3) 은 sink 수 비례 (각 sink weight 1). 그러나 사용자 통찰:
65
+ * "실제 생성 밸런스는 *_경로의 갯수_* 에 따라야 한다"
66
+ *
67
+ * 즉 destination 의 처리 capacity = *_그 destination 의 sink 들이 받을 수 있는 path 수_*.
68
+ * 사용자가 board 만들 때 경로 갯수를 의도적으로 설계 — 그 자체가 의도 표현.
69
+ *
70
+ * # 예
71
+ * 부산: 1 stockpile, *_3 chute_* 가 도달 → weight 3
72
+ * 제주: 2 stockpile, 각 1 chute 도달 → weight 2
73
+ * → 부산 60% / 제주 40% 자연 생성
74
+ *
75
+ * # 명시 override (routingWeight) 의 역할
76
+ * 사용자가 `state.weight = N` 명시했다면 *_그래프 구조 무관 강제로 N_*. 드문 시나리오 —
77
+ * 자연 capacity 측정과 다른 비중을 부여하고 싶을 때만.
78
+ *
79
+ * # 결정론 / 비용
80
+ * incoming edge 수 = 그래프의 in-degree (한 번 walk). graph cache 의 root 당 1 회 측정.
81
+ */
82
+ export declare function reachableDestinationsWeightedFrom(root: any, startId: string): WeightedDestination[];
83
+ /**
84
+ * FlowGraph 자체 — diagnostics / overlay 용. hot path 는 next() / downstream() 사용 권장.
85
+ */
86
+ export declare function graphFor(root: any): FlowGraph | null;
87
+ /**
88
+ * Phase 3 — FlowGraph invariant 검증. board load / topology change 후 호출 권장.
89
+ * orphan / dead-end / cycle / unreachable-target 의 4 종 issue 신고.
90
+ *
91
+ * - error 가 있으면 시뮬 시작 차단 권장 (호출부 결정)
92
+ * - warning 은 사용자 안내 (UI overlay)
93
+ * - 의도 cycle (LoopSorter 등) 은 capability-based loopCapableIds 로 skip
94
+ *
95
+ * @returns issues — 빈 array 면 통과
96
+ */
97
+ export declare function validate(root: any): FlowGraphIssue[];
98
+ export { componentForNode, nodeIdOf, isRoutingTarget, sinksForDestination, allDestinations };
99
+ /**
100
+ * FlowEngine namespace — call site 가 `FlowEngine.next(this, carrier)` 형태로 사용.
101
+ * (개별 함수 export 와 동일 — 호출 스타일 옵션.)
102
+ */
103
+ /**
104
+ * WeightedDestination[] 에서 가중치 비례 random pick. item-generator 의 _pickDestination
105
+ * 본문 로직 — helper 로 분리하여 단위 테스트 가능 (사용자 의문, 2026-06-17 — E2E 검증).
106
+ *
107
+ * 결정론 아님 (Math.random 사용). 통계적 분산만 보장.
108
+ */
109
+ export declare function pickWeightedDestination(weighted: WeightedDestination[]): string | undefined;
110
+ export declare const FlowEngine: {
111
+ next: typeof next;
112
+ downstream: typeof downstream;
113
+ reachableDestinations: typeof reachableDestinations;
114
+ reachableDestinationsFrom: typeof reachableDestinationsFrom;
115
+ reachableDestinationsWeightedFrom: typeof reachableDestinationsWeightedFrom;
116
+ pickWeightedDestination: typeof pickWeightedDestination;
117
+ graphFor: typeof graphFor;
118
+ validate: typeof validate;
119
+ };
120
+ export type { FlowGraphIssue } from './flow-graph-validator.js';
121
+ export type { BalancingPolicy } from './flow-graph-coordinator.js';
122
+ //# sourceMappingURL=flow-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-engine.d.ts","sourceRoot":"","sources":["../../src/flow/flow-engine.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEL,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EACR,eAAe,EAEf,KAAK,eAAe,EACpB,eAAe,EAChB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE1F,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAA;IAChB,gCAAgC;IAChC,SAAS,EAAE,GAAG,CAAA;IACd;;;;;OAKG;IACH,MAAM,EAAE,UAAU,GAAG,UAAU,CAAA;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,eAAe,CAAA;CAAE,GAAG,aAAa,GAAG,IAAI,CAO/G;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,GAAG,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,GAAG,CAAA;CAAE,GAAG,IAAI,CAS/E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,EAAE,CAI7D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAa9E;AAED,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAmCnG;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAEpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,cAAc,EAAE,CAsBpD;AAID,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAA;AAE5F;;;GAGG;AACH;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,MAAM,GAAG,SAAS,CAa3F;AAED,eAAO,MAAM,UAAU;;;;;;;;;CAStB,CAAA;AAGD,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG/D,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA"}