@hatiolab/things-scene 10.0.0-beta.98 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +56 -53
  3. package/dist-types/clock/frame-clock.d.ts.map +1 -1
  4. package/dist-types/command/command-migrate.d.ts.map +1 -1
  5. package/dist-types/command/snapshot-commander.d.ts.map +1 -1
  6. package/dist-types/components/audio.d.ts +12 -9
  7. package/dist-types/components/audio.d.ts.map +1 -1
  8. package/dist-types/components/component-drawing.d.ts.map +1 -1
  9. package/dist-types/components/component-geometry.d.ts.map +1 -1
  10. package/dist-types/components/component-hierarchy.d.ts +1 -1
  11. package/dist-types/components/component-hierarchy.d.ts.map +1 -1
  12. package/dist-types/components/component.d.ts +109 -13
  13. package/dist-types/components/component.d.ts.map +1 -1
  14. package/dist-types/components/container-abstract.d.ts +26 -22
  15. package/dist-types/components/container-abstract.d.ts.map +1 -1
  16. package/dist-types/components/container.d.ts +13 -9
  17. package/dist-types/components/container.d.ts.map +1 -1
  18. package/dist-types/components/data/data.d.ts.map +1 -1
  19. package/dist-types/components/data/evaluator.d.ts +27 -0
  20. package/dist-types/components/data/evaluator.d.ts.map +1 -1
  21. package/dist-types/components/donut.d.ts.map +1 -1
  22. package/dist-types/components/ellipse.d.ts +12 -9
  23. package/dist-types/components/ellipse.d.ts.map +1 -1
  24. package/dist-types/components/generic-placeholders.d.ts +12 -9
  25. package/dist-types/components/generic-placeholders.d.ts.map +1 -1
  26. package/dist-types/components/group.d.ts +1 -0
  27. package/dist-types/components/group.d.ts.map +1 -1
  28. package/dist-types/components/html/reposition.d.ts.map +1 -1
  29. package/dist-types/components/html-overlay-container.d.ts +13 -9
  30. package/dist-types/components/html-overlay-container.d.ts.map +1 -1
  31. package/dist-types/components/html-overlay-element.d.ts +25 -18
  32. package/dist-types/components/html-overlay-element.d.ts.map +1 -1
  33. package/dist-types/components/image-view.d.ts +12 -9
  34. package/dist-types/components/image-view.d.ts.map +1 -1
  35. package/dist-types/components/index.d.ts +1 -0
  36. package/dist-types/components/index.d.ts.map +1 -1
  37. package/dist-types/components/info-window.d.ts +12 -9
  38. package/dist-types/components/info-window.d.ts.map +1 -1
  39. package/dist-types/components/line.d.ts.map +1 -1
  40. package/dist-types/components/local-ref.d.ts +12 -9
  41. package/dist-types/components/local-ref.d.ts.map +1 -1
  42. package/dist-types/components/mixins/connectable.d.ts +12 -9
  43. package/dist-types/components/mixins/connectable.d.ts.map +1 -1
  44. package/dist-types/components/mixins/data-source.d.ts +12 -9
  45. package/dist-types/components/mixins/data-source.d.ts.map +1 -1
  46. package/dist-types/components/mixins/gltf-component.d.ts +13 -11
  47. package/dist-types/components/mixins/gltf-component.d.ts.map +1 -1
  48. package/dist-types/components/mixins/holdable.d.ts +12 -0
  49. package/dist-types/components/mixins/holdable.d.ts.map +1 -0
  50. package/dist-types/components/mixins/html-element.d.ts +22 -9
  51. package/dist-types/components/mixins/html-element.d.ts.map +1 -1
  52. package/dist-types/components/mixins/move-handle.d.ts +21 -13
  53. package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
  54. package/dist-types/components/mixins/rect-path.d.ts +12 -9
  55. package/dist-types/components/mixins/rect-path.d.ts.map +1 -1
  56. package/dist-types/components/mixins/three-d-only.d.ts +18 -9
  57. package/dist-types/components/mixins/three-d-only.d.ts.map +1 -1
  58. package/dist-types/components/mixins/value-holder.d.ts +12 -9
  59. package/dist-types/components/mixins/value-holder.d.ts.map +1 -1
  60. package/dist-types/components/modeling-faint.d.ts +14 -0
  61. package/dist-types/components/modeling-faint.d.ts.map +1 -0
  62. package/dist-types/components/mutater/path.d.ts.map +1 -1
  63. package/dist-types/components/node.d.ts +12 -9
  64. package/dist-types/components/node.d.ts.map +1 -1
  65. package/dist-types/components/polygon-container.d.ts +61 -0
  66. package/dist-types/components/polygon-container.d.ts.map +1 -0
  67. package/dist-types/components/polygon.d.ts.map +1 -1
  68. package/dist-types/components/polyline.d.ts +6 -0
  69. package/dist-types/components/polyline.d.ts.map +1 -1
  70. package/dist-types/components/popup.d.ts +12 -9
  71. package/dist-types/components/popup.d.ts.map +1 -1
  72. package/dist-types/components/rect.d.ts +24 -18
  73. package/dist-types/components/rect.d.ts.map +1 -1
  74. package/dist-types/components/retention/retention-manager.d.ts +9 -1
  75. package/dist-types/components/retention/retention-manager.d.ts.map +1 -1
  76. package/dist-types/components/root-container.d.ts +7 -0
  77. package/dist-types/components/root-container.d.ts.map +1 -1
  78. package/dist-types/components/ruler.d.ts +12 -9
  79. package/dist-types/components/ruler.d.ts.map +1 -1
  80. package/dist-types/components/service-component.d.ts +12 -9
  81. package/dist-types/components/service-component.d.ts.map +1 -1
  82. package/dist-types/components/star.d.ts.map +1 -1
  83. package/dist-types/components/text.d.ts +12 -9
  84. package/dist-types/components/text.d.ts.map +1 -1
  85. package/dist-types/core/dom-to-image.d.ts.map +1 -1
  86. package/dist-types/core/logger.d.ts.map +1 -1
  87. package/dist-types/core/memoize.d.ts.map +1 -1
  88. package/dist-types/decorator/decorator-registry.d.ts +10 -1
  89. package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
  90. package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts +0 -4
  91. package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts.map +1 -1
  92. package/dist-types/decorator/decorators/bouncing-arrow-decorator.d.ts +0 -3
  93. package/dist-types/decorator/decorators/bouncing-arrow-decorator.d.ts.map +1 -1
  94. package/dist-types/diagnostics/contract-inspector.d.ts +9 -2
  95. package/dist-types/diagnostics/contract-inspector.d.ts.map +1 -1
  96. package/dist-types/diagnostics/data-lag-tracker.d.ts +31 -25
  97. package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -1
  98. package/dist-types/diagnostics/inspector.d.ts +136 -3
  99. package/dist-types/diagnostics/inspector.d.ts.map +1 -1
  100. package/dist-types/diagnostics/loading-overlay.d.ts +67 -10
  101. package/dist-types/diagnostics/loading-overlay.d.ts.map +1 -1
  102. package/dist-types/diagnostics/metrics.d.ts +10 -0
  103. package/dist-types/diagnostics/metrics.d.ts.map +1 -1
  104. package/dist-types/flow/auto-route.d.ts +36 -0
  105. package/dist-types/flow/auto-route.d.ts.map +1 -0
  106. package/dist-types/flow/capability-inference.d.ts +19 -0
  107. package/dist-types/flow/capability-inference.d.ts.map +1 -0
  108. package/dist-types/flow/face-anchors.d.ts +26 -0
  109. package/dist-types/flow/face-anchors.d.ts.map +1 -0
  110. package/dist-types/flow/flow-engine.d.ts +122 -0
  111. package/dist-types/flow/flow-engine.d.ts.map +1 -0
  112. package/dist-types/flow/flow-graph-coordinator.d.ts +80 -0
  113. package/dist-types/flow/flow-graph-coordinator.d.ts.map +1 -0
  114. package/dist-types/flow/flow-graph-validator.d.ts +33 -0
  115. package/dist-types/flow/flow-graph-validator.d.ts.map +1 -0
  116. package/dist-types/flow/flow-graph.d.ts +76 -0
  117. package/dist-types/flow/flow-graph.d.ts.map +1 -0
  118. package/dist-types/flow/flow-introspection.d.ts +36 -0
  119. package/dist-types/flow/flow-introspection.d.ts.map +1 -0
  120. package/dist-types/flow/flow-node.d.ts +69 -0
  121. package/dist-types/flow/flow-node.d.ts.map +1 -0
  122. package/dist-types/flow/flow-orientation-coordinator.d.ts +13 -0
  123. package/dist-types/flow/flow-orientation-coordinator.d.ts.map +1 -0
  124. package/dist-types/flow/flow-orientation.d.ts +42 -0
  125. package/dist-types/flow/flow-orientation.d.ts.map +1 -0
  126. package/dist-types/flow/flow-trace.d.ts +5 -0
  127. package/dist-types/flow/flow-trace.d.ts.map +1 -0
  128. package/dist-types/flow/index.d.ts +16 -0
  129. package/dist-types/flow/index.d.ts.map +1 -0
  130. package/dist-types/flow/segment-topology.d.ts +225 -0
  131. package/dist-types/flow/segment-topology.d.ts.map +1 -0
  132. package/dist-types/interfaces/event-handler.d.ts +40 -0
  133. package/dist-types/interfaces/event-handler.d.ts.map +1 -0
  134. package/dist-types/interfaces/index.d.ts +2 -0
  135. package/dist-types/interfaces/index.d.ts.map +1 -1
  136. package/dist-types/interfaces/providers.d.ts +7 -0
  137. package/dist-types/interfaces/providers.d.ts.map +1 -1
  138. package/dist-types/items/arrangement/centering-queue-strategy.d.ts +10 -0
  139. package/dist-types/items/arrangement/centering-queue-strategy.d.ts.map +1 -0
  140. package/dist-types/items/arrangement/index.d.ts +2 -0
  141. package/dist-types/items/arrangement/index.d.ts.map +1 -0
  142. package/dist-types/{transfer/container-capacity.d.ts → items/capacity-mixin.d.ts} +39 -78
  143. package/dist-types/items/capacity-mixin.d.ts.map +1 -0
  144. package/dist-types/items/capacity.d.ts +53 -0
  145. package/dist-types/items/capacity.d.ts.map +1 -0
  146. package/dist-types/items/index.d.ts +7 -0
  147. package/dist-types/items/index.d.ts.map +1 -0
  148. package/dist-types/items/items-data-binding.d.ts +103 -0
  149. package/dist-types/items/items-data-binding.d.ts.map +1 -0
  150. package/dist-types/items/slot-record.d.ts +23 -0
  151. package/dist-types/items/slot-record.d.ts.map +1 -0
  152. package/dist-types/items/stacking/index.d.ts +3 -0
  153. package/dist-types/items/stacking/index.d.ts.map +1 -0
  154. package/dist-types/items/stacking/stack-layout.d.ts +33 -0
  155. package/dist-types/items/stacking/stack-layout.d.ts.map +1 -0
  156. package/dist-types/items/stacking/stacking-strategy.d.ts +114 -0
  157. package/dist-types/items/stacking/stacking-strategy.d.ts.map +1 -0
  158. package/dist-types/layer/layer.d.ts +1 -0
  159. package/dist-types/layer/layer.d.ts.map +1 -1
  160. package/dist-types/layer/model-layer.d.ts +39 -2
  161. package/dist-types/layer/model-layer.d.ts.map +1 -1
  162. package/dist-types/layer/modeler/index.d.ts +1 -0
  163. package/dist-types/layer/modeler/index.d.ts.map +1 -1
  164. package/dist-types/layer/modeler/move-handle-icon.d.ts +2 -0
  165. package/dist-types/layer/modeler/move-handle-icon.d.ts.map +1 -0
  166. package/dist-types/layer/modeler/move-handle-modeler.d.ts +18 -0
  167. package/dist-types/layer/modeler/move-handle-modeler.d.ts.map +1 -0
  168. package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
  169. package/dist-types/layer/modeler/rotator.d.ts.map +1 -1
  170. package/dist-types/layer/modeling-layer.d.ts +19 -0
  171. package/dist-types/layer/modeling-layer.d.ts.map +1 -1
  172. package/dist-types/layer/selection-layer.d.ts +7 -0
  173. package/dist-types/layer/selection-layer.d.ts.map +1 -1
  174. package/dist-types/layer/snap-guide-layer.d.ts.map +1 -1
  175. package/dist-types/license/license.d.ts.map +1 -1
  176. package/dist-types/search/scene-search-engine.d.ts +0 -1
  177. package/dist-types/search/scene-search-engine.d.ts.map +1 -1
  178. package/dist-types/search/search-overlay.d.ts +26 -1
  179. package/dist-types/search/search-overlay.d.ts.map +1 -1
  180. package/dist-types/things-scene/api/clipboard.d.ts +1 -1
  181. package/dist-types/things-scene/api/clipboard.d.ts.map +1 -1
  182. package/dist-types/things-scene/api/listener.d.ts +1 -1
  183. package/dist-types/things-scene/api/listener.d.ts.map +1 -1
  184. package/dist-types/things-scene/api/to-data-url.d.ts +1 -1
  185. package/dist-types/things-scene/api/to-data-url.d.ts.map +1 -1
  186. package/dist-types/things-scene/api/zorder.d.ts +1 -1
  187. package/dist-types/things-scene/api/zorder.d.ts.map +1 -1
  188. package/dist-types/things-scene/application-context.d.ts +15 -2
  189. package/dist-types/things-scene/application-context.d.ts.map +1 -1
  190. package/dist-types/things-scene/create.d.ts +24 -0
  191. package/dist-types/things-scene/create.d.ts.map +1 -1
  192. package/dist-types/things-scene/index.d.ts +13 -5
  193. package/dist-types/things-scene/index.d.ts.map +1 -1
  194. package/dist-types/things-scene/scene.d.ts +115 -20
  195. package/dist-types/things-scene/scene.d.ts.map +1 -1
  196. package/dist-types/threed/common.d.ts +6 -1
  197. package/dist-types/threed/common.d.ts.map +1 -1
  198. package/dist-types/threed/factories/backdrop.d.ts +25 -18
  199. package/dist-types/threed/factories/backdrop.d.ts.map +1 -1
  200. package/dist-types/threed/factories/banner.d.ts +14 -9
  201. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  202. package/dist-types/threed/factories/camera.d.ts +13 -9
  203. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  204. package/dist-types/threed/factories/cube.d.ts +12 -9
  205. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  206. package/dist-types/threed/factories/decal.d.ts +25 -20
  207. package/dist-types/threed/factories/decal.d.ts.map +1 -1
  208. package/dist-types/threed/factories/floor-plate.d.ts +2 -0
  209. package/dist-types/threed/factories/floor-plate.d.ts.map +1 -1
  210. package/dist-types/threed/factories/gltf-object.d.ts +24 -18
  211. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  212. package/dist-types/threed/factories/polygon.d.ts.map +1 -1
  213. package/dist-types/threed/factories/sprite.d.ts +12 -9
  214. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  215. package/dist-types/threed/factories/wall.d.ts +12 -9
  216. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  217. package/dist-types/threed/handle-3d.d.ts.map +1 -1
  218. package/dist-types/threed/index.d.ts +6 -0
  219. package/dist-types/threed/index.d.ts.map +1 -1
  220. package/dist-types/threed/managers/event-manager3d.d.ts +6 -0
  221. package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
  222. package/dist-types/threed/managers/gizmo-operation-manager.d.ts +0 -1
  223. package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
  224. package/dist-types/threed/managers/renderer-manager.d.ts +6 -0
  225. package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
  226. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts +0 -1
  227. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -1
  228. package/dist-types/threed/material-bank.d.ts +42 -0
  229. package/dist-types/threed/material-bank.d.ts.map +1 -0
  230. package/dist-types/threed/material-variant.d.ts +43 -0
  231. package/dist-types/threed/material-variant.d.ts.map +1 -0
  232. package/dist-types/threed/real-object-dom-element.d.ts +8 -0
  233. package/dist-types/threed/real-object-dom-element.d.ts.map +1 -1
  234. package/dist-types/threed/real-object-dom-texture.d.ts +0 -1
  235. package/dist-types/threed/real-object-dom-texture.d.ts.map +1 -1
  236. package/dist-types/threed/real-object-mesh.d.ts +0 -1
  237. package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
  238. package/dist-types/threed/real-object-plane-2d.d.ts +0 -1
  239. package/dist-types/threed/real-object-plane-2d.d.ts.map +1 -1
  240. package/dist-types/threed/real-object-sprite.d.ts +0 -1
  241. package/dist-types/threed/real-object-sprite.d.ts.map +1 -1
  242. package/dist-types/threed/real-object-text.d.ts.map +1 -1
  243. package/dist-types/threed/real-object.d.ts +104 -3
  244. package/dist-types/threed/real-object.d.ts.map +1 -1
  245. package/dist-types/threed/texture/fillstyle-texture.d.ts +13 -2
  246. package/dist-types/threed/texture/fillstyle-texture.d.ts.map +1 -1
  247. package/dist-types/threed/three-capability.d.ts +8 -0
  248. package/dist-types/threed/three-capability.d.ts.map +1 -1
  249. package/dist-types/threed/threed-enabled.d.ts +5 -0
  250. package/dist-types/threed/threed-enabled.d.ts.map +1 -0
  251. package/dist-types/threed/utils/dispose.d.ts.map +1 -1
  252. package/dist-types/threed/utils/polygon-shape.d.ts +21 -0
  253. package/dist-types/threed/utils/polygon-shape.d.ts.map +1 -0
  254. package/dist-types/tracker/tracker.d.ts +57 -0
  255. package/dist-types/tracker/tracker.d.ts.map +1 -0
  256. package/dist-types/transfer/carrier-line-capability.d.ts +95 -0
  257. package/dist-types/transfer/carrier-line-capability.d.ts.map +1 -0
  258. package/dist-types/transfer/index.d.ts +13 -3
  259. package/dist-types/transfer/index.d.ts.map +1 -1
  260. package/dist-types/transfer/pickup-helpers.d.ts +11 -1
  261. package/dist-types/transfer/pickup-helpers.d.ts.map +1 -1
  262. package/dist-types/transfer/tracer.d.ts +35 -0
  263. package/dist-types/transfer/tracer.d.ts.map +1 -0
  264. package/dist-types/transfer/transfer-helpers.d.ts +18 -0
  265. package/dist-types/transfer/transfer-helpers.d.ts.map +1 -0
  266. package/dist-types/transfer/transfer.d.ts +132 -43
  267. package/dist-types/transfer/transfer.d.ts.map +1 -1
  268. package/dist-types/transfer/transferable-mixin.d.ts +275 -0
  269. package/dist-types/transfer/transferable-mixin.d.ts.map +1 -0
  270. package/dist-types/transfer/types.d.ts +75 -2
  271. package/dist-types/transfer/types.d.ts.map +1 -1
  272. package/dist-types/transition/transition-effect.d.ts +21 -1
  273. package/dist-types/transition/transition-effect.d.ts.map +1 -1
  274. package/dist-types/types/capability.d.ts +65 -0
  275. package/dist-types/types/capability.d.ts.map +1 -0
  276. package/package.json +2 -2
  277. package/things-scene-min.js +11 -11
  278. package/things-scene-min.js.map +1 -1
  279. package/things-scene-transfer.mjs +3 -2
  280. package/things-scene.mjs +3 -3
  281. package/things-scene.mjs.map +1 -1
  282. package/dist-types/transfer/container-capacity.d.ts.map +0 -1
@@ -0,0 +1,95 @@
1
+ import type { Pose6DOF } from '../math/index.js';
2
+ import type { Reservation } from './types.js';
3
+ /**
4
+ * Carrier slot reservation — source 가 carrier 를 *어디* 에 *어떤 자세* 로 놓을
5
+ * 지에 대한 *확정 가능한 약속*. capability 가 source 에게 발급, source 가 commit
6
+ * 시 carrier 가 그 slot 에 attach.
7
+ *
8
+ * Phase 4c — 수용 라이프사이클 예약(reserve→commit)의 CarrierLine 판(版). base
9
+ * `Reservation`(opaque token)을 확장한 것 — slot 노드의 `SlotReservation` 과 형제.
10
+ */
11
+ export interface CarrierReservation extends Reservation {
12
+ /** Capability 내부의 carrier slot 식별자 — opaque (source 는 의미 모름). */
13
+ readonly carrierIndex: number;
14
+ /** Carrier 가 commit 시 가져야 할 *world pose* (= 시각 위치/자세). */
15
+ readonly pose: Pose6DOF;
16
+ }
17
+ /**
18
+ * Carrier slot 의 *현재 상태* — read 용. carrier 가 carrying 중 / empty / divert 위
19
+ * 등의 정보. carrierMap 의 values.
20
+ */
21
+ export interface CarrierSlotState {
22
+ readonly carrierIndex: number;
23
+ /** Carrying 중인 component (= 박스). null = empty. */
24
+ readonly carrier: unknown;
25
+ /** Carrier slot 의 현재 world pose. capability 의 sim 이 매 frame 갱신. */
26
+ readonly pose: Pose6DOF;
27
+ }
28
+ /**
29
+ * Join point — capability 와 외부 source/target 의 *합류 지점*. 예:
30
+ * - induct station 이 sorter 의 polyline 옆에 합류 → induct = joinPoint
31
+ * - chute 가 sorter 의 polyline 의 한 점에서 divert → chute = joinPoint
32
+ *
33
+ * join point 자체는 *Component* — 자기 world position / rotation 노출. capability
34
+ * 가 그 위치 기반 *carrier slot 의 진입/이탈 지점* 자동 계산.
35
+ */
36
+ export interface JoinPoint {
37
+ /**
38
+ * Component state — index-signature 형태로 받음. things-scene 의 모든 컴포넌트
39
+ * state 가 `State` 를 extend (`[key: string]: any`) 하므로, 특정 state 타입
40
+ * (예: InductStationState) 도 자동 호환. `state.id` 는 runtime lookup.
41
+ */
42
+ readonly state?: Record<string, unknown>;
43
+ readonly id?: unknown;
44
+ readonly center?: {
45
+ x: number;
46
+ y: number;
47
+ z?: number;
48
+ };
49
+ }
50
+ /**
51
+ * CarrierLine capability contract.
52
+ *
53
+ * Implementer (sorter 등) 가 자기 sim 의 detail (carrier index 결정, slot proxy
54
+ * attach, frame-by-frame position 갱신) 모두 *내부 구현* 으로 캡슐화. source 는
55
+ * 이 interface 만 사용.
56
+ */
57
+ export interface CarrierLine {
58
+ /**
59
+ * Side-effect-free 게이트 — 지금 이 carrier 를 받을 수 있나 (join point 에 곧
60
+ * 도착할 빈 캐리어가 있나). source 가 Transfer 시작 *전* 폴링 → false 면 skip →
61
+ * panel 의 *rolled-back 폭주* 방지. join point 는 `ctx.source` 로 전달.
62
+ *
63
+ * Phase 4c — slot 노드의 `canReceive(item)` 와 *동일 이름·동일 역할*. CarrierLine
64
+ * 은 그 게이트를 "빈 캐리어 유무"로 구현할 뿐, 별개 방언이 아니다.
65
+ */
66
+ canReceive(carrier: unknown, ctx?: {
67
+ source?: JoinPoint;
68
+ }): boolean;
69
+ /**
70
+ * 자리 잠정 확보 (reserve) — join point(=ctx.source) 에 도달 시점에 받을 빈 캐리어
71
+ * slot 을 예약. null = 현재 free slot 없음 (source 가 다음 frame 재시도). 예약 슬롯을
72
+ * *마크* 하되 carrier attach 는 commit 에서.
73
+ *
74
+ * Phase 4c — slot 노드의 `reserve(item)` 와 동일 이름. reserve→commit 라이프사이클.
75
+ */
76
+ reserve(carrier: unknown, ctx?: {
77
+ source?: JoinPoint;
78
+ }): CarrierReservation | null;
79
+ /**
80
+ * 예약 확정 (commit) — carrier 가 reserved slot 에 attach. capability 가 자기 sim
81
+ * 에 carrier 등록 + slot proxy 의 자식으로 reparent. 호출 후 carrier 는 carrying 상태.
82
+ */
83
+ commit(reservation: CarrierReservation, carrier: unknown): void;
84
+ /**
85
+ * 예약 취소 (release) — Transfer rollback / abort 시. 마크된 slot 해제.
86
+ * commit 후 호출 시 noop (idempotent).
87
+ */
88
+ release(reservation: CarrierReservation): void;
89
+ /**
90
+ * 모든 carrier slot 의 현재 상태 — read-only. 외부 진단/시각화 (monitor panel)
91
+ * 가 generic 하게 활용. 향후 *write 가능* 확장 plan — 시뮬 state 복원 등.
92
+ */
93
+ readonly carrierMap: ReadonlyMap<number, CarrierSlotState>;
94
+ }
95
+ //# sourceMappingURL=carrier-line-capability.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -1,15 +1,25 @@
1
- export type { Vec3, Size3, Bounds3, SlotArrangement, GridShape, SlotDef, SlotAssignment, TransferOptions, StaticPolicy, DynamicPolicy, PendingPolicy, ConnectionPolicy, Port, TransferEventType, TransferEvent, CarrierAttachPoint, ArrangementStrategy, Transferable, NavigationTarget, NavigationOptions, Movable, ArticulatedCapability, MissionStatus, VehicleMission, MissionExecutor, SensorPoint, SpawnPoint, SinkPoint, QuatLike, PoseSerialized, PickupFrame, PickupRequester, Pickable } from './types.js';
1
+ export type { Vec3, Size3, Bounds3, SlotArrangement, GridShape, SlotDef, SlotAssignment, TransferOptions, StaticPolicy, DynamicPolicy, PendingPolicy, ConnectionPolicy, Port, TransferEventType, TransferEvent, CarrierAttachPoint, ArrangementStrategy, Transferable, NavigationTarget, NavigationOptions, Movable, ArticulatedCapability, MissionStatus, VehicleMission, MissionExecutor, SensorPoint, SpawnPoint, SinkPoint, QuatLike, PoseSerialized, PickupFrame, PickupRequester, Pickable, CarrierDims, PlacementContext, SeatingPose } from './types.js';
2
+ export { capability, registerCapabilityMeta, getCapabilityMeta, getAllCapabilityMeta } from '../types/capability.js';
3
+ export type { CapabilityMeta, CapabilityDescription } from '../types/capability.js';
2
4
  export { quatFromYaw, rectangularFootprintFrames, topApproachFrame, filterByToolType, chooseNearestPickupFrame } from './pickup-helpers.js';
3
5
  export type { RectangularFootprintOptions, TopApproachOptions } from './pickup-helpers.js';
4
6
  export { FixedSlotStrategy, fixedSlotStrategy } from './fixed-slot-strategy.js';
5
7
  export { CenteringSlotStrategy } from './centering-slot-strategy.js';
6
- export { ContainerCapacity, TRANSFER_SLOT_KEY } from './container-capacity.js';
8
+ export { TRANSFER_SLOT_KEY } from './transfer-helpers.js';
9
+ export { applySeatingRotation } from './transfer-helpers.js';
7
10
  export type { SimulationClock } from './simulation-clock.js';
8
11
  export { globalSimClock } from './simulation-clock.js';
12
+ export { frameClock } from '../clock/index.js';
9
13
  export { Transfer, transferLog, receiptToJSON } from './transfer.js';
10
- export type { TransferPhase, TransferTimeline, TransferReceipt, TransferReceiptJSON, TransferLogStats, PhysicalRunner, TransferInit } from './transfer.js';
14
+ export type { TransferPhase, TransferTimeline, TransferReceipt, TransferReceiptJSON, TransferLogStats, PhysicalRunner, TransferInit, TransferTraceEvent } from './transfer.js';
15
+ export { transferTracer } from './tracer.js';
16
+ export type { TraceLogInput } from './tracer.js';
17
+ export type { CarrierLine, CarrierReservation, CarrierSlotState, JoinPoint } from './carrier-line-capability.js';
11
18
  export { ReservationTable, reservationTable, standardYieldPolicy, NavGraph, buildNavGraph, planPathAStar, planToReservations } from '../navigation/index.js';
12
19
  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';
13
20
  export * from '../types/polygon-path.js';
14
21
  export * from '../types/polygon-path-arc.js';
22
+ export * from '../items/index.js';
23
+ export * from '../flow/index.js';
24
+ export { default as Holdable } from '../components/mixins/holdable.js';
15
25
  //# sourceMappingURL=index.d.ts.map
@@ -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,EACT,MAAM,YAAY,CAAA;AAGnB,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;AAC9E,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,EACb,MAAM,eAAe,CAAA;AAItB,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"}
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;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAI9C,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"}
@@ -0,0 +1,35 @@
1
+ import type { Transfer, TransferTraceEvent } from './transfer.js';
2
+ /**
3
+ * tracer.log 의 호출자가 채우는 정보. atSimMs 는 자동.
4
+ * component 인자는 *componentId/componentType 추출* 위해. 직접 안 채워도 됨.
5
+ */
6
+ export interface TraceLogInput {
7
+ role: 'source' | 'target' | 'carrier' | 'transfer';
8
+ contract: string;
9
+ component?: any;
10
+ componentId?: string;
11
+ componentType?: string;
12
+ args?: any;
13
+ result?: any;
14
+ error?: string;
15
+ }
16
+ export declare const transferTracer: {
17
+ /** Transfer 시작 시 호출 — 이후 log 호출은 *그 Transfer 의 trace 에 push*. */
18
+ beginContext(transfer: Transfer): void;
19
+ /** Transfer 완료/거부 시 호출 — standalone mode 로 복귀. */
20
+ endContext(): void;
21
+ /** 현재 active transfer (있다면). 디버깅용. */
22
+ current(): Transfer | null;
23
+ /**
24
+ * Contract 호출 시점 트레이스. FlowNode 의 각 method 안에서 호출.
25
+ * active Transfer 가 있으면 그 trace 에, 없으면 standalone stream 에 push.
26
+ */
27
+ log(input: TraceLogInput): void;
28
+ /** Standalone trace events (Transfer 우회 호출의 누적). */
29
+ standaloneEvents(): readonly TransferTraceEvent[];
30
+ /** Standalone listener 등록. */
31
+ onStandalone(listener: (event: TransferTraceEvent) => void): () => void;
32
+ /** standalone stream 초기화. */
33
+ clearStandalone(): void;
34
+ };
35
+ //# sourceMappingURL=tracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/transfer/tracer.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAiBjE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAA;IAClD,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,cAAc;IACzB,iEAAiE;2BAC1C,QAAQ,GAAG,IAAI;IAItC,kDAAkD;kBACpC,IAAI;IAIlB,sCAAsC;eAC3B,QAAQ,GAAG,IAAI;IAI1B;;;OAGG;eACQ,aAAa,GAAG,IAAI;IAwB/B,oDAAoD;wBAChC,SAAS,kBAAkB,EAAE;IAIjD,8BAA8B;2BACP,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,MAAM,IAAI;IAKvE,6BAA6B;uBACV,IAAI;CAGxB,CAAA"}
@@ -0,0 +1,18 @@
1
+ export declare function _carrierSummary(carrier: any): {
2
+ id: any;
3
+ type: any;
4
+ };
5
+ /**
6
+ * Phase PS P3a — holder-local quaternion → state rotation 필드 매핑.
7
+ * (rotationX, -rotation, rotationY) 컨벤션 — RealObject.rotation getter 의 역.
8
+ * receive 의 contract 경로 / legacy 경로가 공유하는 단일 매핑 지점.
9
+ */
10
+ export declare function applySeatingRotation(update: Record<string, number>, q: {
11
+ x: number;
12
+ y: number;
13
+ z: number;
14
+ w: number;
15
+ }): void;
16
+ /** Key used to store the current slot assignment on a child component. */
17
+ export declare const TRANSFER_SLOT_KEY = "_transferSlotId";
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"}
@@ -9,6 +9,30 @@ export interface TransferTimeline {
9
9
  handoffAt?: number;
10
10
  committedAt?: number;
11
11
  }
12
+ /**
13
+ * Transfer 의 negotiation / interaction 세부 trace. 각 contract method 호출 시점에
14
+ * Transfer.execute 가 기록 — 어떤 컴포넌트의 어떤 contract 가 호출되었고 결과가
15
+ * 무엇이었는지 시각화.
16
+ *
17
+ * role : 'source' | 'target' | 'carrier' | 'transfer'
18
+ * contract : 호출한 contract 이름 (e.g. 'canAccept', 'findSlot', 'accept', 'physical')
19
+ * componentId: 호출 대상 컴포넌트의 id
20
+ * componentType: 컴포넌트의 type
21
+ * atSimMs : sim time 기준 호출 시점
22
+ * args : 인자의 *serializable summary* (carrier id, slot id 등)
23
+ * result : 반환값의 *serializable summary* (ok / reason / slotId 등)
24
+ * error : throw 시 메시지
25
+ */
26
+ export interface TransferTraceEvent {
27
+ role: 'source' | 'target' | 'carrier' | 'transfer';
28
+ contract: string;
29
+ componentId?: string;
30
+ componentType?: string;
31
+ atSimMs: number;
32
+ args?: any;
33
+ result?: any;
34
+ error?: string;
35
+ }
12
36
  export interface TransferReceipt {
13
37
  transferId: string;
14
38
  source: any;
@@ -22,6 +46,14 @@ export interface TransferReceipt {
22
46
  timeline: TransferTimeline;
23
47
  slotId?: string;
24
48
  rejectReason?: string;
49
+ /** Phase G10 — negotiation / interaction trace events. */
50
+ traceEvents?: TransferTraceEvent[];
51
+ /**
52
+ * Phase G11 — open-ended metadata. physical phase 가 *target-specific* 정보를
53
+ * 기록 (예: sorter 의 carrierId, cross-belt-line 의 carrier index). panel 의
54
+ * 컬럼 등 진단 시각화에서 사용.
55
+ */
56
+ meta?: Record<string, unknown>;
25
57
  }
26
58
  /**
27
59
  * TransferReceipt 의 직렬화 형태 — live ref 제외, ID 만. JSON.stringify 안전.
@@ -87,10 +119,52 @@ export declare class Transfer {
87
119
  private _phase;
88
120
  private _timeline;
89
121
  private _slot;
122
+ /** Phase 4c — 라이프사이클 예약(reserve→commit). null = 예약 미사용(capability-only/비-라이프사이클 target). */
123
+ private _reservation;
90
124
  private _rejectReason?;
125
+ private _traceEvents;
126
+ /**
127
+ * Phase G11 — target-specific metadata. physical phase 가 *sorter carrier
128
+ * index* 등 contract 외 진단 정보 기록. receipt 의 meta 로 시각화.
129
+ */
130
+ readonly meta: Record<string, unknown>;
91
131
  constructor(init: TransferInit);
132
+ /**
133
+ * Transfer trace 에 contract 호출 이벤트 push. Transfer.execute 가 명시 contract
134
+ * 호출 시 직접 사용 + FlowNode.receive 등 *내부 contract* 도 *current
135
+ * transfer* 의 trace 에 push 가능 (currentTransfer module-level singleton).
136
+ */
137
+ pushTrace(event: Omit<TransferTraceEvent, 'atSimMs'> & {
138
+ atSimMs?: number;
139
+ }): void;
92
140
  get phase(): TransferPhase;
93
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;
94
168
  /**
95
169
  * 5-phase 실행. 각 phase 진입 시 timeline 갱신, 완료 시 receipt 반환.
96
170
  *
@@ -99,6 +173,16 @@ export declare class Transfer {
99
173
  * Handoff 이후 throw 는 일관성 깨질 수 있으므로 그대로 propagate.
100
174
  */
101
175
  execute(): Promise<TransferReceipt>;
176
+ /**
177
+ * Sync 흐름 (= _tickLiveItems 매 frame iteration 안에서 dispatch) 전용 변형.
178
+ * physical / handoff 가 sync function 일 때만 동작 — async 면 *fire-and-forget*
179
+ * 으로 백그라운드 실행 (receipt 는 sync committed 표시).
180
+ *
181
+ * Async transfer 가 매 frame 동기 iteration 안에서 *sync 결과 필요* (= 박스 처리
182
+ * 끝 신호) 한 케이스. _tryDispatchToSorter / _ejectComponent 의 sync 흐름과 호환.
183
+ */
184
+ executeSync(): TransferReceipt;
185
+ private _executeImpl;
102
186
  /**
103
187
  * physical / planning 도중 외부 취소. handoff 이후엔 호출 금지 (이미 commit 됨).
104
188
  * 현재 구현은 phase 만 표시하고 carrier 의 상태는 건드리지 않음 — physical
@@ -112,56 +196,61 @@ export declare class Transfer {
112
196
  * Phase G7 — JSON snapshot/load 지원으로 외부 도구 (Chrome extension 등) 에서
113
197
  * 라이브 또는 저장된 로그를 동일하게 시각화할 수 있다.
114
198
  */
199
+ /**
200
+ * TransferLogImpl — Step 1 정공 (2026-06-20):
201
+ *
202
+ * Raw receipt 1000 보관 폐기 → aggregated O(1) maintain. 본체 runtime 은 raw 사용 0
203
+ * (모든 reader 는 diagnostics — extension/devtools RPC). 본체가 extension buffer 역할
204
+ * 하던 안티패턴 제거.
205
+ *
206
+ * raw 가 필요한 도구 (carrier 별 timeline 등) 는 `subscribe` 패턴으로 extension 측
207
+ * 자체 누적 (Step 7).
208
+ */
115
209
  declare class TransferLogImpl {
116
- private _entries;
117
- private _maxEntries;
210
+ private _flows;
211
+ private _targetCount;
212
+ private _byPhase;
213
+ private _byRejectReason;
214
+ private _total;
215
+ private _committedDurationSum;
216
+ private _committedCount;
118
217
  private _listeners;
119
218
  append(receipt: TransferReceipt): void;
120
- /** 모든 receipt 반환 (read-only 사본). */
121
- entries(): readonly TransferReceipt[];
122
- /** carrier transfer 이력. live ref 매칭 우선, fallback 으로 carrierId. */
123
- forCarrier(carrier: any): readonly TransferReceipt[];
124
- /** carrierId 직접 조회 (snapshot 복원 후 등 live ref 가 없을 때). */
125
- forCarrierId(carrierId: string): readonly TransferReceipt[];
126
- /** sourceId 로 조회 — 특정 vehicle / source 의 transfer 이력. */
127
- forSourceId(sourceId: string): readonly TransferReceipt[];
128
- /** targetId 로 조회 — 특정 holder 의 receive 이력. */
129
- forTargetId(targetId: string): readonly TransferReceipt[];
130
- /** phase 별 필터 (e.g. 'rolled-back' 만 — 실패 진단). */
131
- forPhase(phase: TransferPhase): readonly TransferReceipt[];
132
- /**
133
- * sim-time 범위로 필터. transfer 의 initiatedAt 이 [startSimMs, endSimMs] 안에 있는지.
134
- * 'overlap' 모드 — initiatedAt..committedAt 윈도우가 query 윈도우와 겹치면 포함.
135
- */
136
- inTimeRange(startSimMs: number, endSimMs: number, mode?: 'init' | 'overlap'): readonly TransferReceipt[];
137
- /** rejectReason 별 그룹화 — 실패 패턴 진단. */
138
- groupByRejectReason(): Map<string, readonly TransferReceipt[]>;
139
- /** 통계 — 전체 / phase 별 / 거부율 / 평균 transfer 시간 등. */
219
+ /** "src>tgt" committed transfer count. inspector.topologyStats 활용. */
220
+ flows(): ReadonlyMap<string, number>;
221
+ /** targetId 도착 count. distribution 계산 source. */
222
+ targetCounts(): ReadonlyMap<string, number>;
223
+ /** 통계 aggregated 기반 O(1). */
140
224
  stats(): TransferLogStats;
141
- /** receipt 마다 호출되는 listener 등록. */
225
+ /** rejectReason count aggregated O(1). */
226
+ rejectReasonCounts(): ReadonlyMap<string, number>;
227
+ /** 새 receipt 마다 호출되는 listener 등록. extension 측 raw 누적 path. */
142
228
  subscribe(listener: (receipt: TransferReceipt) => void): () => void;
143
229
  clear(): void;
144
- setMaxEntries(n: number): void;
145
- /**
146
- * 모든 receipt 를 JSON 안전한 plain object 배열로. live ref 제외, ID 만 포함.
147
- * JSON.stringify(transferLog.toJSON()) 안전.
148
- */
230
+ /** @deprecated raw entries 보관 폐기. extension 측 subscribe 패턴 사용. */
231
+ entries(): readonly TransferReceipt[];
232
+ /** @deprecated */
233
+ forCarrier(_carrier: any): readonly TransferReceipt[];
234
+ /** @deprecated */
235
+ forCarrierId(_carrierId: string): readonly TransferReceipt[];
236
+ /** @deprecated */
237
+ forSourceId(_sourceId: string): readonly TransferReceipt[];
238
+ /** @deprecated */
239
+ forTargetId(_targetId: string): readonly TransferReceipt[];
240
+ /** @deprecated */
241
+ forPhase(_phase: TransferPhase): readonly TransferReceipt[];
242
+ /** @deprecated */
243
+ inTimeRange(_startSimMs: number, _endSimMs: number, _mode?: 'init' | 'overlap'): readonly TransferReceipt[];
244
+ /** @deprecated raw entries 폐기. rejectReasonCounts() 사용. */
245
+ groupByRejectReason(): Map<string, readonly TransferReceipt[]>;
246
+ /** @deprecated raw 보관 폐기 — toJSON 빈 array. */
149
247
  toJSON(): TransferReceiptJSON[];
150
- /**
151
- * JSON 배열에서 entries 복원 (기존 entries 대체). 외부 viewer (extension) 가
152
- * 저장된 로그를 로드해서 시각화할 사용.
153
- *
154
- * 복원된 receipt source/target/carrier live ref 가 undefined — ID 만으로
155
- * 추적 (forCarrierId, sourceId, targetId 등). listener 에는 알림 안 함 (load
156
- * 는 silent).
157
- */
158
- fromJSON(json: TransferReceiptJSON[]): void;
159
- /**
160
- * 저장된 로그를 listener 에게 순서대로 다시 발화 — extension 이 세션 시작 시
161
- * 기존 entries 도 받고 싶을 때. listener 가 새 receipt 와 replayed receipt 를
162
- * 구분 못 하므로 호출자가 의도적으로 사용.
163
- */
164
- replayTo(listener: (receipt: TransferReceipt) => void): void;
248
+ /** @deprecated raw 보관 폐기 — fromJSON noop. */
249
+ fromJSON(_json: TransferReceiptJSON[]): void;
250
+ /** @deprecated raw 보관 폐기 replayTo noop. */
251
+ replayTo(_listener: (receipt: TransferReceipt) => void): void;
252
+ /** @deprecated raw 보관 폐기 setMaxEntries noop. */
253
+ setMaxEntries(_n: number): void;
165
254
  }
166
255
  export declare const transferLog: TransferLogImpl;
167
256
  export {};
@@ -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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"}