@hatiolab/things-scene 10.0.0-beta.130 → 10.0.0-beta.131
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/clock/frame-clock.d.ts.map +1 -1
- package/dist-types/components/audio.d.ts +2 -0
- package/dist-types/components/audio.d.ts.map +1 -1
- package/dist-types/components/component.d.ts +4 -2
- package/dist-types/components/component.d.ts.map +1 -1
- package/dist-types/components/container-abstract.d.ts +4 -0
- package/dist-types/components/container-abstract.d.ts.map +1 -1
- package/dist-types/components/container.d.ts +2 -0
- package/dist-types/components/container.d.ts.map +1 -1
- package/dist-types/components/ellipse.d.ts +2 -0
- package/dist-types/components/ellipse.d.ts.map +1 -1
- package/dist-types/components/generic-placeholders.d.ts +2 -0
- package/dist-types/components/generic-placeholders.d.ts.map +1 -1
- package/dist-types/components/html-overlay-container.d.ts +2 -0
- package/dist-types/components/html-overlay-container.d.ts.map +1 -1
- package/dist-types/components/html-overlay-element.d.ts +4 -0
- package/dist-types/components/html-overlay-element.d.ts.map +1 -1
- package/dist-types/components/image-view.d.ts +2 -0
- package/dist-types/components/image-view.d.ts.map +1 -1
- package/dist-types/components/info-window.d.ts +2 -0
- package/dist-types/components/info-window.d.ts.map +1 -1
- package/dist-types/components/local-ref.d.ts +2 -0
- package/dist-types/components/local-ref.d.ts.map +1 -1
- package/dist-types/components/mixins/connectable.d.ts +2 -0
- package/dist-types/components/mixins/connectable.d.ts.map +1 -1
- package/dist-types/components/mixins/data-source.d.ts +2 -0
- package/dist-types/components/mixins/data-source.d.ts.map +1 -1
- package/dist-types/components/mixins/gltf-component.d.ts +2 -0
- package/dist-types/components/mixins/gltf-component.d.ts.map +1 -1
- package/dist-types/components/mixins/html-element.d.ts +2 -0
- package/dist-types/components/mixins/html-element.d.ts.map +1 -1
- package/dist-types/components/mixins/move-handle.d.ts +2 -0
- package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
- package/dist-types/components/mixins/rect-path.d.ts +2 -0
- package/dist-types/components/mixins/rect-path.d.ts.map +1 -1
- package/dist-types/components/mixins/three-d-only.d.ts +2 -0
- package/dist-types/components/mixins/three-d-only.d.ts.map +1 -1
- package/dist-types/components/mixins/value-holder.d.ts +2 -0
- package/dist-types/components/mixins/value-holder.d.ts.map +1 -1
- package/dist-types/components/node.d.ts +2 -0
- package/dist-types/components/node.d.ts.map +1 -1
- package/dist-types/components/polygon-container.d.ts.map +1 -1
- package/dist-types/components/popup.d.ts +2 -0
- package/dist-types/components/popup.d.ts.map +1 -1
- package/dist-types/components/rect.d.ts +4 -0
- package/dist-types/components/rect.d.ts.map +1 -1
- package/dist-types/components/root-container.d.ts.map +1 -1
- package/dist-types/components/ruler.d.ts +2 -0
- package/dist-types/components/ruler.d.ts.map +1 -1
- package/dist-types/components/service-component.d.ts +2 -0
- package/dist-types/components/service-component.d.ts.map +1 -1
- package/dist-types/components/text.d.ts +2 -0
- package/dist-types/components/text.d.ts.map +1 -1
- package/dist-types/flow/auto-route.d.ts +1 -1
- package/dist-types/flow/flow-engine.d.ts.map +1 -1
- package/dist-types/flow/flow-graph-coordinator.d.ts.map +1 -1
- package/dist-types/flow/flow-node.d.ts.map +1 -1
- package/dist-types/items/arrangement/index.d.ts +0 -5
- package/dist-types/items/arrangement/index.d.ts.map +1 -1
- package/dist-types/items/capacity-mixin.d.ts +5 -1
- package/dist-types/items/capacity-mixin.d.ts.map +1 -1
- package/dist-types/items/index.d.ts +2 -0
- package/dist-types/items/index.d.ts.map +1 -1
- package/dist-types/items/items-data-binding.d.ts +26 -2
- package/dist-types/items/items-data-binding.d.ts.map +1 -1
- package/dist-types/items/stacking/index.d.ts +3 -0
- package/dist-types/items/stacking/index.d.ts.map +1 -0
- package/dist-types/items/stacking/stack-layout.d.ts +33 -0
- package/dist-types/items/stacking/stack-layout.d.ts.map +1 -0
- package/dist-types/items/stacking/stacking-strategy.d.ts +114 -0
- package/dist-types/items/stacking/stacking-strategy.d.ts.map +1 -0
- package/dist-types/things-scene/index.d.ts +1 -1
- package/dist-types/things-scene/index.d.ts.map +1 -1
- package/dist-types/threed/factories/backdrop.d.ts +4 -0
- package/dist-types/threed/factories/backdrop.d.ts.map +1 -1
- package/dist-types/threed/factories/banner.d.ts +2 -0
- package/dist-types/threed/factories/banner.d.ts.map +1 -1
- package/dist-types/threed/factories/camera.d.ts +2 -0
- package/dist-types/threed/factories/camera.d.ts.map +1 -1
- package/dist-types/threed/factories/cube.d.ts +2 -0
- package/dist-types/threed/factories/cube.d.ts.map +1 -1
- package/dist-types/threed/factories/decal.d.ts +4 -0
- package/dist-types/threed/factories/decal.d.ts.map +1 -1
- package/dist-types/threed/factories/gltf-object.d.ts +4 -0
- package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
- package/dist-types/threed/factories/sprite.d.ts +2 -0
- package/dist-types/threed/factories/sprite.d.ts.map +1 -1
- package/dist-types/threed/factories/wall.d.ts +2 -0
- package/dist-types/threed/factories/wall.d.ts.map +1 -1
- package/dist-types/threed/real-object.d.ts +17 -2
- package/dist-types/threed/real-object.d.ts.map +1 -1
- package/dist-types/transfer/carrier-line-capability.d.ts +25 -25
- package/dist-types/transfer/carrier-line-capability.d.ts.map +1 -1
- package/dist-types/transfer/index.d.ts +2 -3
- package/dist-types/transfer/index.d.ts.map +1 -1
- package/dist-types/transfer/pickup-helpers.d.ts +11 -1
- package/dist-types/transfer/pickup-helpers.d.ts.map +1 -1
- package/dist-types/transfer/tracer.d.ts +1 -1
- package/dist-types/transfer/{container-capacity-helpers.d.ts → transfer-helpers.d.ts} +1 -1
- package/dist-types/transfer/transfer-helpers.d.ts.map +1 -0
- package/dist-types/transfer/transfer.d.ts +29 -1
- package/dist-types/transfer/transfer.d.ts.map +1 -1
- package/dist-types/transfer/transferable-mixin.d.ts +16 -1
- package/dist-types/transfer/transferable-mixin.d.ts.map +1 -1
- package/dist-types/transfer/types.d.ts +41 -3
- package/dist-types/transfer/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/things-scene-min.js +2 -2
- package/things-scene-min.js.map +1 -1
- package/things-scene-transfer.mjs +3 -3
- package/things-scene.mjs +3 -3
- package/things-scene.mjs.map +1 -1
- package/dist-types/items/arrangement/gravity-strategy.d.ts +0 -9
- package/dist-types/items/arrangement/gravity-strategy.d.ts.map +0 -1
- package/dist-types/items/arrangement/grid-strategy.d.ts +0 -11
- package/dist-types/items/arrangement/grid-strategy.d.ts.map +0 -1
- package/dist-types/items/arrangement/queue-strategy.d.ts +0 -9
- package/dist-types/items/arrangement/queue-strategy.d.ts.map +0 -1
- package/dist-types/items/arrangement/shelf-strategy.d.ts +0 -11
- package/dist-types/items/arrangement/shelf-strategy.d.ts.map +0 -1
- package/dist-types/items/arrangement/stack-strategy.d.ts +0 -9
- package/dist-types/items/arrangement/stack-strategy.d.ts.map +0 -1
- package/dist-types/transfer/container-capacity-helpers.d.ts.map +0 -1
- package/dist-types/transfer/container-capacity.d.ts +0 -11
- package/dist-types/transfer/container-capacity.d.ts.map +0 -1
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import type { Pose6DOF } from '../math/index.js';
|
|
2
|
+
import type { Reservation } from './types.js';
|
|
2
3
|
/**
|
|
3
4
|
* Carrier slot reservation — source 가 carrier 를 *어디* 에 *어떤 자세* 로 놓을
|
|
4
5
|
* 지에 대한 *확정 가능한 약속*. capability 가 source 에게 발급, source 가 commit
|
|
5
6
|
* 시 carrier 가 그 slot 에 attach.
|
|
7
|
+
*
|
|
8
|
+
* Phase 4c — 수용 라이프사이클 예약(reserve→commit)의 CarrierLine 판(版). base
|
|
9
|
+
* `Reservation`(opaque token)을 확장한 것 — slot 노드의 `SlotReservation` 과 형제.
|
|
6
10
|
*/
|
|
7
|
-
export interface CarrierReservation {
|
|
11
|
+
export interface CarrierReservation extends Reservation {
|
|
8
12
|
/** Capability 내부의 carrier slot 식별자 — opaque (source 는 의미 모름). */
|
|
9
13
|
readonly carrierIndex: number;
|
|
10
14
|
/** Carrier 가 commit 시 가져야 할 *world pose* (= 시각 위치/자세). */
|
|
11
15
|
readonly pose: Pose6DOF;
|
|
12
|
-
/** Capability 가 자기 식별 용으로 사용 — opaque token. */
|
|
13
|
-
readonly token: symbol;
|
|
14
16
|
}
|
|
15
17
|
/**
|
|
16
18
|
* Carrier slot 의 *현재 상태* — read 용. carrier 가 carrying 중 / empty / divert 위
|
|
@@ -54,42 +56,40 @@ export interface JoinPoint {
|
|
|
54
56
|
*/
|
|
55
57
|
export interface CarrierLine {
|
|
56
58
|
/**
|
|
57
|
-
* Side-effect-free
|
|
58
|
-
* Transfer
|
|
59
|
-
* panel 의 *rolled-back 폭주* 방지.
|
|
59
|
+
* Side-effect-free 게이트 — 지금 이 carrier 를 받을 수 있나 (join point 에 곧
|
|
60
|
+
* 도착할 빈 캐리어가 있나). source 가 Transfer 시작 *전* 폴링 → false 면 skip →
|
|
61
|
+
* panel 의 *rolled-back 폭주* 방지. join point 는 `ctx.source` 로 전달.
|
|
60
62
|
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
+
* Phase 4c — slot 노드의 `canReceive(item)` 와 *동일 이름·동일 역할*. CarrierLine
|
|
64
|
+
* 은 그 게이트를 "빈 캐리어 유무"로 구현할 뿐, 별개 방언이 아니다.
|
|
63
65
|
*/
|
|
64
|
-
|
|
66
|
+
canReceive(carrier: unknown, ctx?: {
|
|
67
|
+
source?: JoinPoint;
|
|
68
|
+
}): boolean;
|
|
65
69
|
/**
|
|
66
|
-
*
|
|
67
|
-
*
|
|
70
|
+
* 자리 잠정 확보 (reserve) — join point(=ctx.source) 에 도달 시점에 받을 빈 캐리어
|
|
71
|
+
* slot 을 예약. null = 현재 free slot 없음 (source 가 다음 frame 재시도). 예약 슬롯을
|
|
72
|
+
* *마크* 하되 carrier attach 는 commit 에서.
|
|
68
73
|
*
|
|
69
|
-
*
|
|
70
|
-
* *예약 슬롯 마크* 가능. 단 carrier attach 는 *아직* 일어나지 않음.
|
|
74
|
+
* Phase 4c — slot 노드의 `reserve(item)` 와 동일 이름. reserve→commit 라이프사이클.
|
|
71
75
|
*/
|
|
72
|
-
|
|
76
|
+
reserve(carrier: unknown, ctx?: {
|
|
77
|
+
source?: JoinPoint;
|
|
78
|
+
}): CarrierReservation | null;
|
|
73
79
|
/**
|
|
74
|
-
*
|
|
75
|
-
* 에 carrier 등록 + slot proxy 의 자식으로 reparent. 호출 후 carrier 는
|
|
76
|
-
* 의 *carrying 상태*.
|
|
80
|
+
* 예약 확정 (commit) — carrier 가 reserved slot 에 attach. capability 가 자기 sim
|
|
81
|
+
* 에 carrier 등록 + slot proxy 의 자식으로 reparent. 호출 후 carrier 는 carrying 상태.
|
|
77
82
|
*/
|
|
78
|
-
|
|
83
|
+
commit(reservation: CarrierReservation, carrier: unknown): void;
|
|
79
84
|
/**
|
|
80
|
-
*
|
|
85
|
+
* 예약 취소 (release) — Transfer rollback / abort 시. 마크된 slot 해제.
|
|
81
86
|
* commit 후 호출 시 noop (idempotent).
|
|
82
87
|
*/
|
|
83
|
-
|
|
88
|
+
release(reservation: CarrierReservation): void;
|
|
84
89
|
/**
|
|
85
90
|
* 모든 carrier slot 의 현재 상태 — read-only. 외부 진단/시각화 (monitor panel)
|
|
86
91
|
* 가 generic 하게 활용. 향후 *write 가능* 확장 plan — 시뮬 state 복원 등.
|
|
87
92
|
*/
|
|
88
93
|
readonly carrierMap: ReadonlyMap<number, CarrierSlotState>;
|
|
89
94
|
}
|
|
90
|
-
/**
|
|
91
|
-
* Duck typing — target 이 CarrierLine 노출 했는지 check. capability registry 없이
|
|
92
|
-
* runtime 매칭. 새 sorter type 추가 시 *이 함수 외 다른 코드 변경 없음*.
|
|
93
|
-
*/
|
|
94
|
-
export declare function isCarrierLine(target: unknown): target is CarrierLine;
|
|
95
95
|
//# sourceMappingURL=carrier-line-capability.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carrier-line-capability.d.ts","sourceRoot":"","sources":["../../src/transfer/carrier-line-capability.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"carrier-line-capability.d.ts","sourceRoot":"","sources":["../../src/transfer/carrier-line-capability.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,iEAAiE;IACjE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CACxB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACvD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;OAOG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,SAAS,CAAA;KAAE,GAAG,OAAO,CAAA;IAEnE;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,SAAS,CAAA;KAAE,GAAG,kBAAkB,GAAG,IAAI,CAAA;IAElF;;;OAGG;IACH,MAAM,CAAC,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAE/D;;;OAGG;IACH,OAAO,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAE9C;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAC3D"}
|
|
@@ -5,15 +5,14 @@ export { quatFromYaw, rectangularFootprintFrames, topApproachFrame, filterByTool
|
|
|
5
5
|
export type { RectangularFootprintOptions, TopApproachOptions } from './pickup-helpers.js';
|
|
6
6
|
export { FixedSlotStrategy, fixedSlotStrategy } from './fixed-slot-strategy.js';
|
|
7
7
|
export { CenteringSlotStrategy } from './centering-slot-strategy.js';
|
|
8
|
-
export {
|
|
9
|
-
export { applySeatingRotation } from './
|
|
8
|
+
export { TRANSFER_SLOT_KEY } from './transfer-helpers.js';
|
|
9
|
+
export { applySeatingRotation } from './transfer-helpers.js';
|
|
10
10
|
export type { SimulationClock } from './simulation-clock.js';
|
|
11
11
|
export { globalSimClock } from './simulation-clock.js';
|
|
12
12
|
export { Transfer, transferLog, receiptToJSON } from './transfer.js';
|
|
13
13
|
export type { TransferPhase, TransferTimeline, TransferReceipt, TransferReceiptJSON, TransferLogStats, PhysicalRunner, TransferInit, TransferTraceEvent } from './transfer.js';
|
|
14
14
|
export { transferTracer } from './tracer.js';
|
|
15
15
|
export type { TraceLogInput } from './tracer.js';
|
|
16
|
-
export { isCarrierLine } from './carrier-line-capability.js';
|
|
17
16
|
export type { CarrierLine, CarrierReservation, CarrierSlotState, JoinPoint } from './carrier-line-capability.js';
|
|
18
17
|
export { ReservationTable, reservationTable, standardYieldPolicy, NavGraph, buildNavGraph, planPathAStar, planToReservations } from '../navigation/index.js';
|
|
19
18
|
export type { LaneGeometry, Lane, ConflictPair, Intersection, NavPolygon, OpenZone, TimeWindow, Reservation, SpeedProfile, PathSegment, PathPlan, PathPlanOptions, Navigable, YieldDecision, YieldPolicy, ReservationEvent, AddResult, Conflict, ConflictRecord, NavNode, NavEdge, BuildNavGraphOptions } from '../navigation/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACV,IAAI,EACJ,KAAK,EACL,OAAO,EACP,eAAe,EACf,SAAS,EACT,OAAO,EACP,cAAc,EACd,eAAe,EACf,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,IAAI,EACJ,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,OAAO,EACP,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,eAAe,EACf,WAAW,EACX,UAAU,EACV,SAAS,EAET,QAAQ,EACR,cAAc,EACd,WAAW,EACX,eAAe,EACf,QAAQ,EAER,WAAW,EACX,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAA;AAOnB,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAGnF,OAAO,EACL,WAAW,EACX,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAE1F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACV,IAAI,EACJ,KAAK,EACL,OAAO,EACP,eAAe,EACf,SAAS,EACT,OAAO,EACP,cAAc,EACd,eAAe,EACf,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,IAAI,EACJ,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,OAAO,EACP,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,eAAe,EACf,WAAW,EACX,UAAU,EACV,SAAS,EAET,QAAQ,EACR,cAAc,EACd,WAAW,EACX,eAAe,EACf,QAAQ,EAER,WAAW,EACX,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAA;AAOnB,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAGnF,OAAO,EACL,WAAW,EACX,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAE1F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAIzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE5D,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAItD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACpE,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,kBAAkB,EACnB,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACV,MAAM,8BAA8B,CAAA;AAIrC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,YAAY,EACZ,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,eAAe,EACf,SAAS,EACT,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,cAAc,EACd,OAAO,EACP,OAAO,EACP,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAG/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAI5C,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kCAAkC,CAAA"}
|
|
@@ -13,8 +13,13 @@ export interface RectangularFootprintOptions {
|
|
|
13
13
|
width: number;
|
|
14
14
|
/** carrier 의 세로 (Z 방향). */
|
|
15
15
|
depth: number;
|
|
16
|
-
/** entry
|
|
16
|
+
/** entry(grab)가 carrier 의 어느 높이에 있는가 (carrier-local Y). 도구가 닿는 지점. */
|
|
17
17
|
entryHeight: number;
|
|
18
|
+
/**
|
|
19
|
+
* *운반 중* carrier 가 도구에 실릴 때 도구 attach point 에 오는 하중면의 carrier-local Y
|
|
20
|
+
* (선택). fork 는 상판 아래면, deck 는 바닥. 미지정 시 mount 없음 → 도구 default(얹기).
|
|
21
|
+
*/
|
|
22
|
+
mountLocalY?: number;
|
|
18
23
|
/** approach 가 engage 에서 얼마나 떨어진 거리. */
|
|
19
24
|
approachDistance: number;
|
|
20
25
|
/** 어느 면에 entry 를 둘지. 'east'+'west' = 2-way, 4 개 다 = 4-way. */
|
|
@@ -41,6 +46,11 @@ export interface TopApproachOptions {
|
|
|
41
46
|
/** approach 가 top 에서 얼마나 위에 있는가. */
|
|
42
47
|
approachDistance: number;
|
|
43
48
|
toolType: string;
|
|
49
|
+
/**
|
|
50
|
+
* 운반 중 도구 attach 에 오는 하중면 carrier-local Y (선택). 위에서 집는 도구는 보통
|
|
51
|
+
* top 표면(=topY), 밑으로 들어가 얹는 deck 는 바닥. 미지정 시 mount 없음(도구 default).
|
|
52
|
+
*/
|
|
53
|
+
mountLocalY?: number;
|
|
44
54
|
tolerance?: PickupFrame['tolerance'];
|
|
45
55
|
priority?: number;
|
|
46
56
|
id?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pickup-helpers.d.ts","sourceRoot":"","sources":["../../src/transfer/pickup-helpers.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAI9F;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAQpD;AA2CD,MAAM,WAAW,2BAA2B;IAC1C,4DAA4D;IAC5D,YAAY,EAAE,cAAc,CAAA;IAC5B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,
|
|
1
|
+
{"version":3,"file":"pickup-helpers.d.ts","sourceRoot":"","sources":["../../src/transfer/pickup-helpers.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAI9F;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAQpD;AA2CD,MAAM,WAAW,2BAA2B;IAC1C,4DAA4D;IAC5D,YAAY,EAAE,cAAc,CAAA;IAC5B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uCAAuC;IACvC,gBAAgB,EAAE,MAAM,CAAA;IACxB,8DAA8D;IAC9D,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,CAAA;IACzD,oDAAoD;IACpD,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/E,yBAAyB;IACzB,SAAS,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;IACpC,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAYD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,2BAA2B,GAAG,WAAW,EAAE,CAyD9F;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,cAAc,CAAA;IAC5B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,oCAAoC;IACpC,gBAAgB,EAAE,MAAM,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAuBzE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EAAE,EACrB,SAAS,EAAE,eAAe,GACzB,WAAW,EAAE,CAEf;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,WAAW,EAAE,EACrB,iBAAiB,EAAE,IAAI,GACtB,WAAW,GAAG,IAAI,CAkBpB"}
|
|
@@ -21,7 +21,7 @@ export declare const transferTracer: {
|
|
|
21
21
|
/** 현재 active transfer (있다면). 디버깅용. */
|
|
22
22
|
current(): Transfer | null;
|
|
23
23
|
/**
|
|
24
|
-
* Contract 호출 시점 트레이스.
|
|
24
|
+
* Contract 호출 시점 트레이스. FlowNode 의 각 method 안에서 호출.
|
|
25
25
|
* active Transfer 가 있으면 그 trace 에, 없으면 standalone stream 에 push.
|
|
26
26
|
*/
|
|
27
27
|
log(input: TraceLogInput): void;
|
|
@@ -15,4 +15,4 @@ export declare function applySeatingRotation(update: Record<string, number>, q:
|
|
|
15
15
|
}): void;
|
|
16
16
|
/** Key used to store the current slot assignment on a child component. */
|
|
17
17
|
export declare const TRANSFER_SLOT_KEY = "_transferSlotId";
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=transfer-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer-helpers.d.ts","sourceRoot":"","sources":["../../src/transfer/transfer-helpers.ts"],"names":[],"mappings":"AASA,wBAAgB,eAAe,CAAC,OAAO,EAAE,GAAG;;;EAK3C;AAKD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,IAAI,CAUN;AAED,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,oBAAoB,CAAA"}
|
|
@@ -119,6 +119,8 @@ export declare class Transfer {
|
|
|
119
119
|
private _phase;
|
|
120
120
|
private _timeline;
|
|
121
121
|
private _slot;
|
|
122
|
+
/** Phase 4c — 라이프사이클 예약(reserve→commit). null = 예약 미사용(capability-only/비-라이프사이클 target). */
|
|
123
|
+
private _reservation;
|
|
122
124
|
private _rejectReason?;
|
|
123
125
|
private _traceEvents;
|
|
124
126
|
/**
|
|
@@ -129,7 +131,7 @@ export declare class Transfer {
|
|
|
129
131
|
constructor(init: TransferInit);
|
|
130
132
|
/**
|
|
131
133
|
* Transfer trace 에 contract 호출 이벤트 push. Transfer.execute 가 명시 contract
|
|
132
|
-
* 호출 시 직접 사용 +
|
|
134
|
+
* 호출 시 직접 사용 + FlowNode.receive 등 *내부 contract* 도 *current
|
|
133
135
|
* transfer* 의 trace 에 push 가능 (currentTransfer module-level singleton).
|
|
134
136
|
*/
|
|
135
137
|
pushTrace(event: Omit<TransferTraceEvent, 'atSimMs'> & {
|
|
@@ -137,6 +139,32 @@ export declare class Transfer {
|
|
|
137
139
|
}): void;
|
|
138
140
|
get phase(): TransferPhase;
|
|
139
141
|
get timeline(): Readonly<TransferTimeline>;
|
|
142
|
+
/** rolled-back receipt 생성 (this._rejectReason 은 호출자가 먼저 설정). */
|
|
143
|
+
private _rollback;
|
|
144
|
+
/**
|
|
145
|
+
* planning(canAccept verdict → slot 결정) + reserve. 조기 거부 시 rolled-back
|
|
146
|
+
* receipt 를, 계속 진행이면 null 을 반환. this._slot / this._reservation 설정.
|
|
147
|
+
*
|
|
148
|
+
* 협상 분기는 "메서드 존재" 추측이 아니라 홀더가 선언한 slot 모델 유무(canAccept 의
|
|
149
|
+
* verdict)로 나뉜다. no-slots-defined = slot 식이 아님 → capability-only(handoff 의
|
|
150
|
+
* holder.receive 가 자체 게이트 책임). canReceive fallback 은 canAccept 미구현 최소 mock 용.
|
|
151
|
+
*/
|
|
152
|
+
private _planAndReserve;
|
|
153
|
+
/** physical 실패 공통 처리 — 예약 롤백 + rolled-back receipt. */
|
|
154
|
+
private _physicalFailed;
|
|
155
|
+
/** handoff 실패 공통 처리 — rolled-back receipt 등록 후 throw(호출자 전파). */
|
|
156
|
+
private _handoffFailed;
|
|
157
|
+
/**
|
|
158
|
+
* handoff commit 분기 — 예약이 있으면 commit(원자 확정) 후 true. 예약 없으면 false
|
|
159
|
+
* (호출자가 receive fallback 담당). commit throw → 예약 롤백 + _handoffFailed(throw).
|
|
160
|
+
*/
|
|
161
|
+
private _commitReserved;
|
|
162
|
+
/** committed receipt 생성. */
|
|
163
|
+
private _finishCommitted;
|
|
164
|
+
private _runPhysicalSync;
|
|
165
|
+
private _runPhysicalAsync;
|
|
166
|
+
private _runReceiveSync;
|
|
167
|
+
private _runReceiveAsync;
|
|
140
168
|
/**
|
|
141
169
|
* 5-phase 실행. 각 phase 진입 시 timeline 갱신, 완료 시 receipt 반환.
|
|
142
170
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/transfer/transfer.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/transfer/transfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SlotDef, TransferOptions, Transferable as ITransferable } from './types.js';
|
|
1
|
+
import type { SlotDef, TransferOptions, Transferable as ITransferable, Reservation, SlotReservation } from './types.js';
|
|
2
2
|
import type Component from '../components/component.js';
|
|
3
3
|
type Constructor<T = object> = new (...args: any[]) => T;
|
|
4
4
|
/**
|
|
@@ -6,7 +6,20 @@ type Constructor<T = object> = new (...args: any[]) => T;
|
|
|
6
6
|
*/
|
|
7
7
|
export declare function Transferable<TBase extends Constructor<Component>>(Base: TBase): {
|
|
8
8
|
new (...args: any[]): {
|
|
9
|
+
/**
|
|
10
|
+
* 자리 잠정 확보 (Phase 4c 라이프사이클) — slot 노드는 findSlot 이 곧 예약.
|
|
11
|
+
* 순수: 점유는 _items 에서 live 파생되므로 별도 마킹 불필요(마크 side-effect 없음).
|
|
12
|
+
* null = 지금 받을 수 없음.
|
|
13
|
+
*/
|
|
14
|
+
reserve(component: any, _ctx?: any): SlotReservation | null;
|
|
15
|
+
/** 예약 취소 — slot 노드는 마크가 없어 noop (idempotent). */
|
|
16
|
+
release(_reservation: Reservation): void;
|
|
9
17
|
receive(component: any, options?: TransferOptions): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* 예약 확정 (Phase 4c) — attach + 안착을 단일 원자 setState 로 적용. Phase G 불변 보존.
|
|
20
|
+
* reserve 로 확보한 slot 에 carrier 를 reparent + 6DOF 안착.
|
|
21
|
+
*/
|
|
22
|
+
commit(reservation: SlotReservation, component: any, options?: TransferOptions): void;
|
|
10
23
|
dispatch(component: any, target: ITransferable, options?: TransferOptions): Promise<void>;
|
|
11
24
|
route(_component: any): ITransferable | null | Promise<ITransferable | null>;
|
|
12
25
|
/** WCS resolves a pending route. Override in BeltContainer / WheelSorter. */
|
|
@@ -46,6 +59,8 @@ export declare function Transferable<TBase extends Constructor<Component>>(Base:
|
|
|
46
59
|
added(parent: any): void;
|
|
47
60
|
removed(parent: any): void;
|
|
48
61
|
ready(): Promise<void>;
|
|
62
|
+
_readyInvoked: boolean;
|
|
63
|
+
invokeReady(): void | Promise<void>;
|
|
49
64
|
touch(): void;
|
|
50
65
|
clearCache(...attrs: any[]): void;
|
|
51
66
|
removeSelf(completely: any): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferable-mixin.d.ts","sourceRoot":"","sources":["../../src/transfer/transferable-mixin.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"transferable-mixin.d.ts","sourceRoot":"","sources":["../../src/transfer/transferable-mixin.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,IAAI,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACvH,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAMvD,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAExD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,SAAS,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK;kBALjC,GAAG,EAAE;QAU9C;;;;WAIG;2BACgB,GAAG,SAAS,GAAG,GAAG,eAAe,GAAG,IAAI;QAM3D,iDAAiD;8BAC3B,WAAW,GAAG,IAAI;2BAIf,GAAG,YAAW,eAAe,GAAQ,OAAO,CAAC,IAAI,CAAC;QAsB3E;;;WAGG;4BACiB,eAAe,aAAa,GAAG,YAAW,eAAe,GAAQ,IAAI;4BA8H/D,GAAG,UAAU,aAAa,YAAW,eAAe,GAAQ,OAAO,CAAC,IAAI,CAAC;0BAiCjF,GAAG,GAAG,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QAI5E,6EAA6E;iCACpD,GAAG,WAAW,aAAa,GAAG,IAAI;QAI3D,gDAAgD;+BACzB,GAAG,oBAAwB,IAAI;QAStD;;WAEG;6BACkB,GAAG,GAAG;YAAE,EAAE,EAAE,IAAI,CAAC;YAAC,IAAI,EAAE,OAAO,CAAA;SAAE,GAAG;YAAE,EAAE,EAAE,KAAK,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE;QAuBtF,oDAAoD;0BAClC,GAAG,YAAY,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAInE"}
|
|
@@ -133,8 +133,20 @@ export interface PoseSerialized {
|
|
|
133
133
|
export interface PickupFrame {
|
|
134
134
|
id: string;
|
|
135
135
|
toolType: string;
|
|
136
|
+
/** 도구가 결합 직전 hover 하는 world 자세 (motion 목표). */
|
|
136
137
|
approach: PoseSerialized;
|
|
138
|
+
/** 도구가 결합(grab)하는 world 자세 — carrier 에 닿는 지점 (fork 가 구멍 진입 등). */
|
|
137
139
|
engage: PoseSerialized;
|
|
140
|
+
/**
|
|
141
|
+
* *운반 중* carrier 가 도구에 실리는 관계 (선택). approach/engage 가 *도구의 world
|
|
142
|
+
* 이동 목표* 인 반면, mount 는 *carrier-LOCAL* 자세 — carrier 의 어느 지점(하중면)이
|
|
143
|
+
* 도구의 carry attach point 에 오는지. grab(engage) 과 carried(mount) 는 다르다:
|
|
144
|
+
* fork 는 구멍(engage)으로 들어가 *상판 아래면*(mount)으로 실리고, deck 는 밑(engage)
|
|
145
|
+
* 에서 *바닥*(mount)으로, vacuum 은 상단으로 매달린다. 미지정 시 도구 default(carrier
|
|
146
|
+
* 바닥이 attach 에 = 얹기). **랙/평치 *보관* 은 이 mount 가 아니라 seating(placementFor)
|
|
147
|
+
* 이 담당 — mount 는 pickup 도구 운반 전용.**
|
|
148
|
+
*/
|
|
149
|
+
mount?: PoseSerialized;
|
|
138
150
|
tolerance?: {
|
|
139
151
|
positionMm?: number;
|
|
140
152
|
angleDeg?: number;
|
|
@@ -209,6 +221,21 @@ export interface SeatingPose {
|
|
|
209
221
|
/** holder-local 자세. undefined = carrier 의 들어오는 자세 보존. */
|
|
210
222
|
rotation?: QuatLike;
|
|
211
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* 수용 예약 — `reserve()` 가 발급, `commit()`/`release()` 가 소비하는 opaque token.
|
|
226
|
+
*
|
|
227
|
+
* 모든 핸드오버는 동일한 트랜잭션 라이프사이클(canReceive → reserve → commit → release)을
|
|
228
|
+
* 갖는다. slot 노드는 reserve/commit 이 원자로 붕괴한 degenerate 케이스(자리가 정지),
|
|
229
|
+
* CarrierLine 은 그 라이프사이클이 시간축으로 펼쳐진 원형(빈 캐리어가 움직임). 예약 자체는
|
|
230
|
+
* opaque — 발급한 구현만 내부 필드를 해석한다.
|
|
231
|
+
*/
|
|
232
|
+
export interface Reservation {
|
|
233
|
+
readonly token: symbol;
|
|
234
|
+
}
|
|
235
|
+
/** slot 노드의 예약 — 확보된 slot 을 동봉. */
|
|
236
|
+
export interface SlotReservation extends Reservation {
|
|
237
|
+
readonly slot: SlotDef;
|
|
238
|
+
}
|
|
212
239
|
/**
|
|
213
240
|
* The central abstraction for anything that can receive and dispatch components.
|
|
214
241
|
*
|
|
@@ -219,14 +246,25 @@ export interface SeatingPose {
|
|
|
219
246
|
*/
|
|
220
247
|
export interface Transferable {
|
|
221
248
|
/**
|
|
222
|
-
* Pure, synchronous capacity check
|
|
249
|
+
* Pure, synchronous capacity check — "이 item 을 받을 수 있나?"
|
|
223
250
|
* Must NOT mutate state — called on every drag-over frame.
|
|
251
|
+
*
|
|
252
|
+
* ctx.slotId 를 주면 *특정 slot* 에 받을 수 있는지, 없으면 *아무 slot이나* 가능한지.
|
|
253
|
+
* (위치는 이 보편 게이트의 매개변수 — 별도 canReceiveAt 방언을 두지 않는다. Phase 3 #4.)
|
|
224
254
|
*/
|
|
225
|
-
canReceive(component: any
|
|
255
|
+
canReceive(component: any, ctx?: {
|
|
256
|
+
slotId?: string;
|
|
257
|
+
}): boolean;
|
|
226
258
|
/** Returns the best available SlotDef for `component`, or null if none. */
|
|
227
259
|
findSlot(component: any): SlotDef | null;
|
|
228
260
|
/** Reparent `component` into this container. Fires 'transfer-received'. */
|
|
229
261
|
receive(component: any, options?: TransferOptions): Promise<void> | void;
|
|
262
|
+
/** 자리를 잠정 확보. null = 지금 받을 수 없음. 게이트 판정은 canReceive 가 담당(순수). */
|
|
263
|
+
reserve?(component: any, ctx?: any): Reservation | null;
|
|
264
|
+
/** 예약을 원자적으로 확정 — attach + 안착(단일 setState). 실패 시 throw. */
|
|
265
|
+
commit?(reservation: Reservation, component: any, options?: TransferOptions): void;
|
|
266
|
+
/** 예약 취소 — 마크 해제. idempotent. commit 후 호출 시 noop. */
|
|
267
|
+
release?(reservation: Reservation): void;
|
|
230
268
|
/** Move `component` to `target.receive()`. Fires 'transfer-dispatched'. */
|
|
231
269
|
dispatch(component: any, target: Transferable, options?: TransferOptions): Promise<void> | void;
|
|
232
270
|
/**
|
|
@@ -254,7 +292,7 @@ export interface Transferable {
|
|
|
254
292
|
*
|
|
255
293
|
* `carrier` 는 치수 객체 또는 component (state.width/height/depth 보유) —
|
|
256
294
|
* component 를 주면 dimension-aware ArrangementStrategy 가 그대로 활용.
|
|
257
|
-
* 기본 구현은
|
|
295
|
+
* 기본 구현은 FlowNode 가 제공 (기존 receivingSurfaceY +
|
|
258
296
|
* ArrangementStrategy + acceptanceRotation 합성과 수치 동일 — I5).
|
|
259
297
|
*/
|
|
260
298
|
placementFor?(carrier: CarrierDims | any, ctx?: PlacementContext): SeatingPose | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transfer/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transfer/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hatiolab/things-scene",
|
|
3
|
-
"version": "10.0.0-beta.
|
|
3
|
+
"version": "10.0.0-beta.131",
|
|
4
4
|
"description": "A high-performance 2D/3D scene graph library for building interactive visual editors, combining HTML5 Canvas and Three.js to enable facility visualization, data-driven animations, and real-time monitoring dashboards",
|
|
5
5
|
"main": "things-scene-min.js",
|
|
6
6
|
"module": "things-scene.mjs",
|