@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.
Files changed (125) hide show
  1. package/dist-types/clock/frame-clock.d.ts.map +1 -1
  2. package/dist-types/components/audio.d.ts +2 -0
  3. package/dist-types/components/audio.d.ts.map +1 -1
  4. package/dist-types/components/component.d.ts +4 -2
  5. package/dist-types/components/component.d.ts.map +1 -1
  6. package/dist-types/components/container-abstract.d.ts +4 -0
  7. package/dist-types/components/container-abstract.d.ts.map +1 -1
  8. package/dist-types/components/container.d.ts +2 -0
  9. package/dist-types/components/container.d.ts.map +1 -1
  10. package/dist-types/components/ellipse.d.ts +2 -0
  11. package/dist-types/components/ellipse.d.ts.map +1 -1
  12. package/dist-types/components/generic-placeholders.d.ts +2 -0
  13. package/dist-types/components/generic-placeholders.d.ts.map +1 -1
  14. package/dist-types/components/html-overlay-container.d.ts +2 -0
  15. package/dist-types/components/html-overlay-container.d.ts.map +1 -1
  16. package/dist-types/components/html-overlay-element.d.ts +4 -0
  17. package/dist-types/components/html-overlay-element.d.ts.map +1 -1
  18. package/dist-types/components/image-view.d.ts +2 -0
  19. package/dist-types/components/image-view.d.ts.map +1 -1
  20. package/dist-types/components/info-window.d.ts +2 -0
  21. package/dist-types/components/info-window.d.ts.map +1 -1
  22. package/dist-types/components/local-ref.d.ts +2 -0
  23. package/dist-types/components/local-ref.d.ts.map +1 -1
  24. package/dist-types/components/mixins/connectable.d.ts +2 -0
  25. package/dist-types/components/mixins/connectable.d.ts.map +1 -1
  26. package/dist-types/components/mixins/data-source.d.ts +2 -0
  27. package/dist-types/components/mixins/data-source.d.ts.map +1 -1
  28. package/dist-types/components/mixins/gltf-component.d.ts +2 -0
  29. package/dist-types/components/mixins/gltf-component.d.ts.map +1 -1
  30. package/dist-types/components/mixins/html-element.d.ts +2 -0
  31. package/dist-types/components/mixins/html-element.d.ts.map +1 -1
  32. package/dist-types/components/mixins/move-handle.d.ts +2 -0
  33. package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
  34. package/dist-types/components/mixins/rect-path.d.ts +2 -0
  35. package/dist-types/components/mixins/rect-path.d.ts.map +1 -1
  36. package/dist-types/components/mixins/three-d-only.d.ts +2 -0
  37. package/dist-types/components/mixins/three-d-only.d.ts.map +1 -1
  38. package/dist-types/components/mixins/value-holder.d.ts +2 -0
  39. package/dist-types/components/mixins/value-holder.d.ts.map +1 -1
  40. package/dist-types/components/node.d.ts +2 -0
  41. package/dist-types/components/node.d.ts.map +1 -1
  42. package/dist-types/components/polygon-container.d.ts.map +1 -1
  43. package/dist-types/components/popup.d.ts +2 -0
  44. package/dist-types/components/popup.d.ts.map +1 -1
  45. package/dist-types/components/rect.d.ts +4 -0
  46. package/dist-types/components/rect.d.ts.map +1 -1
  47. package/dist-types/components/root-container.d.ts.map +1 -1
  48. package/dist-types/components/ruler.d.ts +2 -0
  49. package/dist-types/components/ruler.d.ts.map +1 -1
  50. package/dist-types/components/service-component.d.ts +2 -0
  51. package/dist-types/components/service-component.d.ts.map +1 -1
  52. package/dist-types/components/text.d.ts +2 -0
  53. package/dist-types/components/text.d.ts.map +1 -1
  54. package/dist-types/flow/auto-route.d.ts +1 -1
  55. package/dist-types/flow/flow-engine.d.ts.map +1 -1
  56. package/dist-types/flow/flow-graph-coordinator.d.ts.map +1 -1
  57. package/dist-types/flow/flow-node.d.ts.map +1 -1
  58. package/dist-types/items/arrangement/index.d.ts +0 -5
  59. package/dist-types/items/arrangement/index.d.ts.map +1 -1
  60. package/dist-types/items/capacity-mixin.d.ts +5 -1
  61. package/dist-types/items/capacity-mixin.d.ts.map +1 -1
  62. package/dist-types/items/index.d.ts +2 -0
  63. package/dist-types/items/index.d.ts.map +1 -1
  64. package/dist-types/items/items-data-binding.d.ts +26 -2
  65. package/dist-types/items/items-data-binding.d.ts.map +1 -1
  66. package/dist-types/items/stacking/index.d.ts +3 -0
  67. package/dist-types/items/stacking/index.d.ts.map +1 -0
  68. package/dist-types/items/stacking/stack-layout.d.ts +33 -0
  69. package/dist-types/items/stacking/stack-layout.d.ts.map +1 -0
  70. package/dist-types/items/stacking/stacking-strategy.d.ts +114 -0
  71. package/dist-types/items/stacking/stacking-strategy.d.ts.map +1 -0
  72. package/dist-types/things-scene/index.d.ts +1 -1
  73. package/dist-types/things-scene/index.d.ts.map +1 -1
  74. package/dist-types/threed/factories/backdrop.d.ts +4 -0
  75. package/dist-types/threed/factories/backdrop.d.ts.map +1 -1
  76. package/dist-types/threed/factories/banner.d.ts +2 -0
  77. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  78. package/dist-types/threed/factories/camera.d.ts +2 -0
  79. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  80. package/dist-types/threed/factories/cube.d.ts +2 -0
  81. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  82. package/dist-types/threed/factories/decal.d.ts +4 -0
  83. package/dist-types/threed/factories/decal.d.ts.map +1 -1
  84. package/dist-types/threed/factories/gltf-object.d.ts +4 -0
  85. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  86. package/dist-types/threed/factories/sprite.d.ts +2 -0
  87. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  88. package/dist-types/threed/factories/wall.d.ts +2 -0
  89. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  90. package/dist-types/threed/real-object.d.ts +17 -2
  91. package/dist-types/threed/real-object.d.ts.map +1 -1
  92. package/dist-types/transfer/carrier-line-capability.d.ts +25 -25
  93. package/dist-types/transfer/carrier-line-capability.d.ts.map +1 -1
  94. package/dist-types/transfer/index.d.ts +2 -3
  95. package/dist-types/transfer/index.d.ts.map +1 -1
  96. package/dist-types/transfer/pickup-helpers.d.ts +11 -1
  97. package/dist-types/transfer/pickup-helpers.d.ts.map +1 -1
  98. package/dist-types/transfer/tracer.d.ts +1 -1
  99. package/dist-types/transfer/{container-capacity-helpers.d.ts → transfer-helpers.d.ts} +1 -1
  100. package/dist-types/transfer/transfer-helpers.d.ts.map +1 -0
  101. package/dist-types/transfer/transfer.d.ts +29 -1
  102. package/dist-types/transfer/transfer.d.ts.map +1 -1
  103. package/dist-types/transfer/transferable-mixin.d.ts +16 -1
  104. package/dist-types/transfer/transferable-mixin.d.ts.map +1 -1
  105. package/dist-types/transfer/types.d.ts +41 -3
  106. package/dist-types/transfer/types.d.ts.map +1 -1
  107. package/package.json +1 -1
  108. package/things-scene-min.js +2 -2
  109. package/things-scene-min.js.map +1 -1
  110. package/things-scene-transfer.mjs +3 -3
  111. package/things-scene.mjs +3 -3
  112. package/things-scene.mjs.map +1 -1
  113. package/dist-types/items/arrangement/gravity-strategy.d.ts +0 -9
  114. package/dist-types/items/arrangement/gravity-strategy.d.ts.map +0 -1
  115. package/dist-types/items/arrangement/grid-strategy.d.ts +0 -11
  116. package/dist-types/items/arrangement/grid-strategy.d.ts.map +0 -1
  117. package/dist-types/items/arrangement/queue-strategy.d.ts +0 -9
  118. package/dist-types/items/arrangement/queue-strategy.d.ts.map +0 -1
  119. package/dist-types/items/arrangement/shelf-strategy.d.ts +0 -11
  120. package/dist-types/items/arrangement/shelf-strategy.d.ts.map +0 -1
  121. package/dist-types/items/arrangement/stack-strategy.d.ts +0 -9
  122. package/dist-types/items/arrangement/stack-strategy.d.ts.map +0 -1
  123. package/dist-types/transfer/container-capacity-helpers.d.ts.map +0 -1
  124. package/dist-types/transfer/container-capacity.d.ts +0 -11
  125. 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 check — 지금 reserveAtJoinPoint 성공할 가능성. source
58
- * Transfer protocol 시작 *전* 호출 → false 면 Transfer 생성 자체 skip 가능
59
- * panel 의 *rolled-back 폭주* 방지. true reserveAtJoinPoint 호출 성공 *보장*.
59
+ * Side-effect-free 게이트 — 지금 carrier 받을 있나 (join point 에 곧
60
+ * 도착할 빈 캐리어가 있나). source 가 Transfer 시작 *전* 폴링 → false 면 skip →
61
+ * panel 의 *rolled-back 폭주* 방지. join point `ctx.source` 전달.
60
62
  *
61
- * ContainerCapacity canReceive / canAccept동등 capability contract
62
- * 표준 check 패턴.
63
+ * Phase 4c slot 노드의 `canReceive(item)` *동일 이름·동일 역할*. CarrierLine
64
+ * 게이트를 "빈 캐리어 유무"로 구현할 뿐, 별개 방언이 아니다.
63
65
  */
64
- canReserveAtJoinPoint(joinPoint: JoinPoint): boolean;
66
+ canReceive(carrier: unknown, ctx?: {
67
+ source?: JoinPoint;
68
+ }): boolean;
65
69
  /**
66
- * Source carrier *join point* 에 도달 시점에 받을 carrier slot 의
67
- * reservation요청. null = 현재 free slot 없음 (= source 가 다음 frame 재시도).
70
+ * 자리 잠정 확보 (reserve) join point(=ctx.source) 에 도달 시점에 받을 캐리어
71
+ * slot예약. null = 현재 free slot 없음 (source 가 다음 frame 재시도). 예약 슬롯을
72
+ * *마크* 하되 carrier attach 는 commit 에서.
68
73
  *
69
- * Side-effect-free 권장 reservation 자체 *생성* 되니 capability
70
- * *예약 슬롯 마크* 가능. 단 carrier attach 는 *아직* 일어나지 않음.
74
+ * Phase 4cslot 노드의 `reserve(item)` 동일 이름. reserve→commit 라이프사이클.
71
75
  */
72
- reserveAtJoinPoint(joinPoint: JoinPoint, carrier: unknown): CarrierReservation | null;
76
+ reserve(carrier: unknown, ctx?: {
77
+ source?: JoinPoint;
78
+ }): CarrierReservation | null;
73
79
  /**
74
- * Reservation 확정 — carrier 가 reserved slot 에 attach. capability 가 자기 sim
75
- * 에 carrier 등록 + slot proxy 의 자식으로 reparent. 호출 후 carrier 는 slot
76
- * 의 *carrying 상태*.
80
+ * 예약 확정 (commit) — carrier 가 reserved slot 에 attach. capability 가 자기 sim
81
+ * 에 carrier 등록 + slot proxy 의 자식으로 reparent. 호출 후 carrier 는 carrying 상태.
77
82
  */
78
- commitReservation(reservation: CarrierReservation, carrier: unknown): void;
83
+ commit(reservation: CarrierReservation, carrier: unknown): void;
79
84
  /**
80
- * Reservation 취소 — Transfer rollback / abort 호출. 마크된 slot 해제.
85
+ * 예약 취소 (release) — Transfer rollback / abort 시. 마크된 slot 해제.
81
86
  * commit 후 호출 시 noop (idempotent).
82
87
  */
83
- releaseReservation(reservation: CarrierReservation): void;
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":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEhD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;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,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAA;IAEpD;;;;;;OAMG;IACH,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAAA;IAErF;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAE1E;;;OAGG;IACH,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAEzD;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAC3D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,WAAW,CAUpE"}
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 { ContainerCapacity, TRANSFER_SLOT_KEY } from './container-capacity.js';
9
- export { applySeatingRotation } from './container-capacity-helpers.js';
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,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAI9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAEtE,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,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,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"}
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 가 carrier 의 어느 높이에 있는가 (carrier-local Y). */
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,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAA;IACnB,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,CAiD9F;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,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,CAoBzE;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"}
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 호출 시점 트레이스. ContainerCapacity 의 각 method 안에서 호출.
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=container-capacity-helpers.d.ts.map
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
- * 호출 시 직접 사용 + ContainerCapacity.receive 등 *내부 contract* 도 *current
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":"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"}
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;AACzF,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAKvD,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;2BAUrB,GAAG,YAAW,eAAe,GAAQ,OAAO,CAAC,IAAI,CAAC;4BAgJjD,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"}
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): boolean;
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
- * 기본 구현은 ContainerCapacity 가 제공 (기존 receivingSurfaceY +
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.130",
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",