@hatiolab/things-scene 10.0.0-beta.126 → 10.0.0-beta.128
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-types/command/command-migrate.d.ts.map +1 -1
- package/dist-types/components/container-abstract.d.ts.map +1 -1
- package/dist-types/components/data/data.d.ts.map +1 -1
- package/dist-types/components/line.d.ts.map +1 -1
- package/dist-types/components/mixins/holdable.d.ts +12 -0
- package/dist-types/components/mixins/holdable.d.ts.map +1 -0
- package/dist-types/components/polyline.d.ts +6 -0
- package/dist-types/components/polyline.d.ts.map +1 -1
- package/dist-types/components/root-container.d.ts +0 -11
- package/dist-types/components/root-container.d.ts.map +1 -1
- package/dist-types/diagnostics/contract-inspector.d.ts +1 -1
- package/dist-types/diagnostics/contract-inspector.d.ts.map +1 -1
- package/dist-types/diagnostics/data-lag-tracker.d.ts +31 -25
- package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -1
- package/dist-types/diagnostics/inspector.d.ts +15 -15
- package/dist-types/diagnostics/inspector.d.ts.map +1 -1
- package/dist-types/diagnostics/loading-overlay.d.ts.map +1 -1
- package/dist-types/flow/auto-route.d.ts +36 -0
- package/dist-types/flow/auto-route.d.ts.map +1 -0
- package/dist-types/flow/face-anchors.d.ts +26 -0
- package/dist-types/flow/face-anchors.d.ts.map +1 -0
- package/dist-types/flow/flow-engine.d.ts +122 -0
- package/dist-types/flow/flow-engine.d.ts.map +1 -0
- package/dist-types/flow/flow-graph-coordinator.d.ts +80 -0
- package/dist-types/flow/flow-graph-coordinator.d.ts.map +1 -0
- package/dist-types/flow/flow-graph-validator.d.ts +33 -0
- package/dist-types/flow/flow-graph-validator.d.ts.map +1 -0
- package/dist-types/flow/flow-graph.d.ts +76 -0
- package/dist-types/flow/flow-graph.d.ts.map +1 -0
- package/dist-types/flow/flow-introspection.d.ts +36 -0
- package/dist-types/flow/flow-introspection.d.ts.map +1 -0
- package/dist-types/flow/flow-node.d.ts +69 -0
- package/dist-types/flow/flow-node.d.ts.map +1 -0
- package/dist-types/flow/flow-orientation-coordinator.d.ts +13 -0
- package/dist-types/flow/flow-orientation-coordinator.d.ts.map +1 -0
- package/dist-types/flow/flow-orientation.d.ts +42 -0
- package/dist-types/flow/flow-orientation.d.ts.map +1 -0
- package/dist-types/flow/flow-trace.d.ts +5 -0
- package/dist-types/flow/flow-trace.d.ts.map +1 -0
- package/dist-types/flow/index.d.ts +16 -0
- package/dist-types/flow/index.d.ts.map +1 -0
- package/dist-types/flow/segment-topology.d.ts +225 -0
- package/dist-types/flow/segment-topology.d.ts.map +1 -0
- package/dist-types/flow/station-host-inference.d.ts +23 -0
- package/dist-types/flow/station-host-inference.d.ts.map +1 -0
- package/dist-types/items/arrangement/centering-queue-strategy.d.ts +10 -0
- package/dist-types/items/arrangement/centering-queue-strategy.d.ts.map +1 -0
- package/dist-types/items/arrangement/gravity-strategy.d.ts +9 -0
- package/dist-types/items/arrangement/gravity-strategy.d.ts.map +1 -0
- package/dist-types/items/arrangement/grid-strategy.d.ts +11 -0
- package/dist-types/items/arrangement/grid-strategy.d.ts.map +1 -0
- package/dist-types/items/arrangement/index.d.ts +7 -0
- package/dist-types/items/arrangement/index.d.ts.map +1 -0
- package/dist-types/items/arrangement/queue-strategy.d.ts +9 -0
- package/dist-types/items/arrangement/queue-strategy.d.ts.map +1 -0
- package/dist-types/items/arrangement/shelf-strategy.d.ts +11 -0
- package/dist-types/items/arrangement/shelf-strategy.d.ts.map +1 -0
- package/dist-types/items/arrangement/stack-strategy.d.ts +9 -0
- package/dist-types/items/arrangement/stack-strategy.d.ts.map +1 -0
- package/dist-types/items/capacity-mixin.d.ts +298 -0
- package/dist-types/items/capacity-mixin.d.ts.map +1 -0
- package/dist-types/items/capacity.d.ts +53 -0
- package/dist-types/items/capacity.d.ts.map +1 -0
- package/dist-types/items/index.d.ts +5 -0
- package/dist-types/items/index.d.ts.map +1 -0
- package/dist-types/items/items-data-binding.d.ts +79 -0
- package/dist-types/items/items-data-binding.d.ts.map +1 -0
- package/dist-types/items/slot-record.d.ts +23 -0
- package/dist-types/items/slot-record.d.ts.map +1 -0
- package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
- package/dist-types/layer/modeling-layer.d.ts +16 -0
- package/dist-types/layer/modeling-layer.d.ts.map +1 -1
- package/dist-types/things-scene/application-context.d.ts +6 -2
- package/dist-types/things-scene/application-context.d.ts.map +1 -1
- package/dist-types/things-scene/index.d.ts +5 -2
- package/dist-types/things-scene/index.d.ts.map +1 -1
- package/dist-types/threed/factories/floor-plate.d.ts.map +1 -1
- package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -1
- package/dist-types/threed/real-object.d.ts +12 -0
- package/dist-types/threed/real-object.d.ts.map +1 -1
- package/dist-types/threed/three-capability.d.ts +2 -2
- package/dist-types/threed/three-capability.d.ts.map +1 -1
- package/dist-types/transfer/container-capacity-helpers.d.ts +18 -0
- package/dist-types/transfer/container-capacity-helpers.d.ts.map +1 -0
- package/dist-types/transfer/container-capacity.d.ts +5 -374
- package/dist-types/transfer/container-capacity.d.ts.map +1 -1
- package/dist-types/transfer/index.d.ts +3 -0
- package/dist-types/transfer/index.d.ts.map +1 -1
- package/dist-types/transfer/transferable-mixin.d.ts +259 -0
- package/dist-types/transfer/transferable-mixin.d.ts.map +1 -0
- package/package.json +1 -1
- package/things-scene-min.js +11 -11
- package/things-scene-min.js.map +1 -1
- package/things-scene-transfer.mjs +3 -2
- package/things-scene.mjs +3 -3
- package/things-scene.mjs.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-migrate.d.ts","sourceRoot":"","sources":["../../src/command/command-migrate.ts"],"names":[],"mappings":"AAIA,OAAO,OAAO,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"command-migrate.d.ts","sourceRoot":"","sources":["../../src/command/command-migrate.ts"],"names":[],"mappings":"AAIA,OAAO,OAAO,MAAM,cAAc,CAAA;AA8FlC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IACjD,OAAO;CAwCR"}
|
|
@@ -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,
|
|
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;
|
|
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"}
|
|
@@ -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;IAI1D,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;
|
|
1
|
+
{"version":3,"file":"root-container.d.ts","sourceRoot":"","sources":["../../src/components/root-container.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-inspector.d.ts","sourceRoot":"","sources":["../../src/diagnostics/contract-inspector.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAGrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEzD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC7C,QAAQ,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KACzD,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE/B,
|
|
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
|
-
|
|
11
|
-
currentDelta: number;
|
|
7
|
+
current: number;
|
|
12
8
|
baseline: number;
|
|
13
9
|
drift: number;
|
|
14
|
-
|
|
15
|
-
|
|
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
|
|
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 변경 시 콜백 (
|
|
24
|
-
onLevelChange?: (
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
/** level 변경 시 콜백 (evaluate() 호출 시 트리거). */
|
|
29
|
+
onLevelChange?: (level: LagLevel, stats: LagStats) => void;
|
|
30
|
+
/** 임계값 설정 (선택). */
|
|
31
|
+
configure(config?: LagMonitorConfig | LagMonitorConfig[]): void;
|
|
27
32
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
33
|
+
* 발행 시각(epoch-ms)을 받아 갭을 기록.
|
|
34
|
+
* `record(ts)` 또는 `record(tag, ts)` 둘 다 허용 — tag 인자는 무시(단일 채널 집계).
|
|
30
35
|
*/
|
|
31
|
-
|
|
32
|
-
getStats(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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":"
|
|
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
|
-
/** 부모의 *
|
|
25
|
+
/** 부모의 *_items (Holdable mixin)_* 자식 — _components 자식과 직교 (Phase 7.2,
|
|
26
26
|
* 2026-06-18). UI 가 별도 marker (icon / color) 로 구분 가능. */
|
|
27
|
-
|
|
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 가
|
|
45
|
+
/** Holdable mixin 자손 holder 가 _items 보유 시 — runtime carrier 통합 발견.
|
|
46
46
|
* Container-Component 자식 트리 (_components) 와 직교한 별도 자식 시스템. */
|
|
47
|
-
|
|
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.
|
|
109
|
+
* @param options.includeItems — true 시 _items 자식 시각화 포함 (Phase 7.2).
|
|
110
110
|
* default = false: 자식 tree 의 *_혼동 회피 + 성능 회피_* (carrier 다수 시 매
|
|
111
|
-
* query 마다
|
|
112
|
-
* (`
|
|
111
|
+
* query 마다 _items 자식 모두 traverse). carrier 통합 발견 필요 시 별도 query
|
|
112
|
+
* (`getItems`) 또는 옵션 활성.
|
|
113
113
|
*/
|
|
114
114
|
getComponentInfo(componentId: string, sceneIndex?: number, options?: {
|
|
115
|
-
|
|
115
|
+
includeItems?: boolean;
|
|
116
116
|
}): ComponentInfo | null;
|
|
117
117
|
/**
|
|
118
|
-
* 컴포넌트의
|
|
118
|
+
* 컴포넌트의 items list 별도 query — Inspector panel 의 carrier 통합 발견.
|
|
119
119
|
* 자식 트리 (`_components`) 와 직교한 자식 시스템. Holdable mixin 자손만 해당.
|
|
120
120
|
*/
|
|
121
|
-
|
|
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 의
|
|
126
|
-
* FlowNode 자손은
|
|
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 트리 (`
|
|
133
|
-
* -
|
|
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
|
-
|
|
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":"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,
|
|
1
|
+
{"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/diagnostics/inspector.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { type FlowGraph, type NextHopCandidate } from './flow-graph.js';
|
|
2
|
+
import { type FlowGraphIssue } from './flow-graph-validator.js';
|
|
3
|
+
/** RoutingTarget capability — sink 가 자기 담당 행선지 값을 자가선언. */
|
|
4
|
+
export interface RoutingTarget {
|
|
5
|
+
/** 담당 행선지 값 (매칭 전용 — findById 대상 아님). */
|
|
6
|
+
routingDestination(): string;
|
|
7
|
+
/** (optional, Phase B1) 같은 destination N sink 분산 가중치. 미구현 = 1. */
|
|
8
|
+
routingWeight?(): number;
|
|
9
|
+
}
|
|
10
|
+
export declare function isRoutingTarget(c: any): c is RoutingTarget;
|
|
11
|
+
/**
|
|
12
|
+
* board load 시점 검출된 validate issues — UI overlay / 사용자 안내 진입점.
|
|
13
|
+
* 빈 array = 통과. error 가 있으면 호출부가 시뮬 시작 차단 권장.
|
|
14
|
+
*/
|
|
15
|
+
export declare function flowGraphIssues(root: any): FlowGraphIssue[];
|
|
16
|
+
/** root 의 방향 그래프 (캐시). 노드 0 이면 null. */
|
|
17
|
+
export declare function flowGraphFor(root: any): FlowGraph | null;
|
|
18
|
+
/** 행선지 값 → 담당 sink 노드 id 들. */
|
|
19
|
+
export declare function sinksForDestination(root: any, destination: string): string[];
|
|
20
|
+
/** 노드 id → 컴포넌트. */
|
|
21
|
+
export declare function componentForNode(root: any, id: string): any;
|
|
22
|
+
/** root 전체의 행선지 값 목록 (중복 제거). generator 가 후보로 사용. */
|
|
23
|
+
export declare function allDestinations(root: any): string[];
|
|
24
|
+
/** 컴포넌트의 그래프 노드 id (id ?? refid). 분기점이 자기 노드 식별에. */
|
|
25
|
+
export declare function nodeIdOf(c: any): string | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Phase B2 — balancing 정책.
|
|
28
|
+
* - index : outbound index 순 첫 후보 (= legacy 동작)
|
|
29
|
+
* - round-robin : 같은 hops 동률 후보 사이 순환 (default)
|
|
30
|
+
* - weight : 동률 후보의 target sink 의 routingWeight 비례 weighted-round-robin
|
|
31
|
+
* (random 회피 — 결정론 보장)
|
|
32
|
+
* - utilization : 동률 후보의 target sink 의 점유율 (inventoryCount / capacity) 가장 낮은
|
|
33
|
+
*/
|
|
34
|
+
export type BalancingPolicy = 'index' | 'round-robin' | 'weight' | 'utilization';
|
|
35
|
+
/** per-root balancing state — round-robin counter. root 가 새로 생기면 자동 초기화 (cache 와 동일). */
|
|
36
|
+
export interface BalancingState {
|
|
37
|
+
/** hostId → counter. round-robin / weight 정책이 사용. */
|
|
38
|
+
counters: Map<string, number>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Phase B2 balancing — 동률 후보 중 정책으로 선택. *_Internal helper, exported for unit test_*.
|
|
42
|
+
*/
|
|
43
|
+
export declare function applyPolicy(policy: BalancingPolicy, hostId: string, state: BalancingState, tied: NextHopCandidate[], components: Map<string, any>): NextHopCandidate;
|
|
44
|
+
/**
|
|
45
|
+
* 분기점(joint/sorter)이 carrier 를 어느 하류로 보낼지 — 목적지 지향 next-hop.
|
|
46
|
+
* 반환 = 고른 *하류 이웃 노드 id* (= 그 OUT 의 연결 대상). 없으면 null (목적지
|
|
47
|
+
* 미상/도달 불가/그래프 없음 → 호출부가 기존 로직 fallback). 호출부는 이 id 로
|
|
48
|
+
* 자기 port/opening(targetRef/neighborId) 을 매칭 — index 정렬 불일치 회피.
|
|
49
|
+
*
|
|
50
|
+
* # 절차
|
|
51
|
+
* 1. carrier.meta.destination(행선지 값) → 그 값을 담당하는 sink 노드들
|
|
52
|
+
* (없으면 dest 자체를 노드 id 로 — 단일 sink fallback).
|
|
53
|
+
* 2. nextHopsToAnyDetailed — 각 outbound 의 가까운 sink + hops 측정. 도달 불가
|
|
54
|
+
* outbound 는 자연 제외.
|
|
55
|
+
* 3. canReceive=true 후보만 필터 (capacity-reactive). 전부 막힘 → 최단으로 대기.
|
|
56
|
+
* 4. *_도달 가능한 모든 outbound_* 에 balancing policy 적용 (hops 동률 제약 없음).
|
|
57
|
+
*
|
|
58
|
+
* # 왜 hops 동률 제약을 두지 않는가 (Phase B6 의 본질 결정, 2026-06-17)
|
|
59
|
+
* "효율 (최단 hops)" 과 "분산 (throughput / capacity)" 의 두 가치가 충돌하면, 시스템
|
|
60
|
+
* 이 자동 선택할 수 없다 — 사용자 의도가 어느 쪽인지 *_시스템은 모름_*. 추측은
|
|
61
|
+
* 마술적이지만 잘못됐을 때 제어 불가.
|
|
62
|
+
*
|
|
63
|
+
* 그러나 *_사용자가 같은 destination 의 N sink 를 board 에 만든 사실 자체_* 가
|
|
64
|
+
* 이미 의도의 표현이다. 효율만 원했다면 1 개만 만들었을 것 — N 개 만든 것은:
|
|
65
|
+
* - "이 destination 의 capacity 를 N 배로" (예: chute 막힘 회피)
|
|
66
|
+
* - "후속 처리 N 라인 동시 부하" (throughput)
|
|
67
|
+
* 어느 쪽이든 *_분산 우선_* 의 표현.
|
|
68
|
+
*
|
|
69
|
+
* 따라서 default = *_모든 도달 가능 sink 사이 분산_* (hops 무관). 효율 우선 시나리오
|
|
70
|
+
* (드물게 있다면) 는 향후 `'shortest'` 같은 opt-in 정책으로 *_명시_* 표현하면 됨.
|
|
71
|
+
*
|
|
72
|
+
* # Phase B2 — 정책 enum
|
|
73
|
+
* policy 결정 우선순위: options.policy → per-host (self.state.balancingPolicy)
|
|
74
|
+
* → root (root.state.routingBalancingPolicy) → default 'round-robin'.
|
|
75
|
+
* 모든 정책은 *_도달 가능한 receivable 전체_* 에 적용 (= Phase B6 의 원칙).
|
|
76
|
+
*/
|
|
77
|
+
export declare function resolveNextHop(self: any, carrier: any, options?: {
|
|
78
|
+
policy?: BalancingPolicy;
|
|
79
|
+
}): string | null;
|
|
80
|
+
//# sourceMappingURL=flow-graph-coordinator.d.ts.map
|