@hatiolab/things-scene 10.0.0-beta.12 → 10.0.0-beta.120

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 (392) hide show
  1. package/dist-types/animation/animate.d.ts.map +1 -1
  2. package/dist-types/animation/animations/animation.d.ts +5 -3
  3. package/dist-types/animation/animations/animation.d.ts.map +1 -1
  4. package/dist-types/animation/animations/heartbeat.d.ts +0 -7
  5. package/dist-types/animation/animations/heartbeat.d.ts.map +1 -1
  6. package/dist-types/animation/animations/waypoint.d.ts +45 -4
  7. package/dist-types/animation/animations/waypoint.d.ts.map +1 -1
  8. package/dist-types/animation/interfaces.d.ts +1 -1
  9. package/dist-types/animation/interfaces.d.ts.map +1 -1
  10. package/dist-types/clock/frame-clock.d.ts +119 -0
  11. package/dist-types/clock/frame-clock.d.ts.map +1 -0
  12. package/dist-types/clock/index.d.ts +3 -0
  13. package/dist-types/clock/index.d.ts.map +1 -0
  14. package/dist-types/command/command-migrate.d.ts.map +1 -1
  15. package/dist-types/command/snapshot-commander.d.ts.map +1 -1
  16. package/dist-types/components/audio.d.ts +8 -3
  17. package/dist-types/components/audio.d.ts.map +1 -1
  18. package/dist-types/components/component-data.d.ts +24 -0
  19. package/dist-types/components/component-data.d.ts.map +1 -1
  20. package/dist-types/components/component-geometry.d.ts.map +1 -1
  21. package/dist-types/components/component.d.ts +31 -4
  22. package/dist-types/components/component.d.ts.map +1 -1
  23. package/dist-types/components/container-abstract.d.ts +50 -7
  24. package/dist-types/components/container-abstract.d.ts.map +1 -1
  25. package/dist-types/components/container.d.ts +7 -2
  26. package/dist-types/components/container.d.ts.map +1 -1
  27. package/dist-types/components/data/data.d.ts.map +1 -1
  28. package/dist-types/components/data/evaluator.d.ts +27 -0
  29. package/dist-types/components/data/evaluator.d.ts.map +1 -1
  30. package/dist-types/components/drawer/fill.d.ts.map +1 -1
  31. package/dist-types/components/drawer/stroke.d.ts.map +1 -1
  32. package/dist-types/components/ellipse.d.ts +8 -3
  33. package/dist-types/components/ellipse.d.ts.map +1 -1
  34. package/dist-types/components/generic-placeholders.d.ts +292 -0
  35. package/dist-types/components/generic-placeholders.d.ts.map +1 -0
  36. package/dist-types/components/geometry/snap-guide.d.ts +45 -0
  37. package/dist-types/components/geometry/snap-guide.d.ts.map +1 -0
  38. package/dist-types/components/geometry/transcoord.d.ts.map +1 -1
  39. package/dist-types/components/global-ref.d.ts.map +1 -1
  40. package/dist-types/components/group.d.ts +1 -0
  41. package/dist-types/components/group.d.ts.map +1 -1
  42. package/dist-types/components/html/shadow.d.ts +33 -1
  43. package/dist-types/components/html/shadow.d.ts.map +1 -1
  44. package/dist-types/components/html-overlay-container.d.ts +7 -2
  45. package/dist-types/components/html-overlay-container.d.ts.map +1 -1
  46. package/dist-types/components/html-overlay-element.d.ts +15 -5
  47. package/dist-types/components/html-overlay-element.d.ts.map +1 -1
  48. package/dist-types/components/image-view.d.ts +8 -3
  49. package/dist-types/components/image-view.d.ts.map +1 -1
  50. package/dist-types/components/index.d.ts +7 -0
  51. package/dist-types/components/index.d.ts.map +1 -1
  52. package/dist-types/components/info-window.d.ts +8 -3
  53. package/dist-types/components/info-window.d.ts.map +1 -1
  54. package/dist-types/components/line.d.ts +2 -1
  55. package/dist-types/components/line.d.ts.map +1 -1
  56. package/dist-types/components/local-ref.d.ts +8 -3
  57. package/dist-types/components/local-ref.d.ts.map +1 -1
  58. package/dist-types/components/mixins/connectable.d.ts +8 -3
  59. package/dist-types/components/mixins/connectable.d.ts.map +1 -1
  60. package/dist-types/components/mixins/data-source.d.ts +8 -3
  61. package/dist-types/components/mixins/data-source.d.ts.map +1 -1
  62. package/dist-types/components/mixins/gltf-component.d.ts +281 -0
  63. package/dist-types/components/mixins/gltf-component.d.ts.map +1 -0
  64. package/dist-types/components/mixins/html-element.d.ts +7 -2
  65. package/dist-types/components/mixins/html-element.d.ts.map +1 -1
  66. package/dist-types/components/mixins/move-handle.d.ts +8 -3
  67. package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
  68. package/dist-types/components/mixins/rect-path.d.ts +8 -3
  69. package/dist-types/components/mixins/rect-path.d.ts.map +1 -1
  70. package/dist-types/components/mixins/three-d-only.d.ts +248 -0
  71. package/dist-types/components/mixins/three-d-only.d.ts.map +1 -0
  72. package/dist-types/components/mixins/value-holder.d.ts +8 -3
  73. package/dist-types/components/mixins/value-holder.d.ts.map +1 -1
  74. package/dist-types/components/mutater/path.d.ts.map +1 -1
  75. package/dist-types/components/node.d.ts +8 -3
  76. package/dist-types/components/node.d.ts.map +1 -1
  77. package/dist-types/components/outline/path-outline.d.ts.map +1 -1
  78. package/dist-types/components/polygon-container.d.ts +61 -0
  79. package/dist-types/components/polygon-container.d.ts.map +1 -0
  80. package/dist-types/components/polygon.d.ts +2 -0
  81. package/dist-types/components/polygon.d.ts.map +1 -1
  82. package/dist-types/components/polyline.d.ts.map +1 -1
  83. package/dist-types/components/popup-container.d.ts +25 -0
  84. package/dist-types/components/popup-container.d.ts.map +1 -0
  85. package/dist-types/components/popup.d.ts +38 -3
  86. package/dist-types/components/popup.d.ts.map +1 -1
  87. package/dist-types/components/position/popup-position.d.ts +11 -0
  88. package/dist-types/components/position/popup-position.d.ts.map +1 -1
  89. package/dist-types/components/rect.d.ts +16 -6
  90. package/dist-types/components/rect.d.ts.map +1 -1
  91. package/dist-types/components/retention/retention-manager.d.ts +9 -1
  92. package/dist-types/components/retention/retention-manager.d.ts.map +1 -1
  93. package/dist-types/components/root-container.d.ts +17 -4
  94. package/dist-types/components/root-container.d.ts.map +1 -1
  95. package/dist-types/components/ruler.d.ts +8 -3
  96. package/dist-types/components/ruler.d.ts.map +1 -1
  97. package/dist-types/components/service-component.d.ts +269 -0
  98. package/dist-types/components/service-component.d.ts.map +1 -0
  99. package/dist-types/components/shape.d.ts.map +1 -1
  100. package/dist-types/components/text.d.ts +8 -3
  101. package/dist-types/components/text.d.ts.map +1 -1
  102. package/dist-types/core/memoize.d.ts.map +1 -1
  103. package/dist-types/decorator/decorator-registry.d.ts +14 -1
  104. package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
  105. package/dist-types/decorator/decorators/animated-icon-decorator.d.ts.map +1 -1
  106. package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts.map +1 -1
  107. package/dist-types/decorator/decorators/data-spread-decorator.d.ts +16 -0
  108. package/dist-types/decorator/decorators/data-spread-decorator.d.ts.map +1 -1
  109. package/dist-types/diagnostics/contract-inspector.d.ts +103 -0
  110. package/dist-types/diagnostics/contract-inspector.d.ts.map +1 -0
  111. package/dist-types/diagnostics/data-lag-tracker.d.ts +44 -0
  112. package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -0
  113. package/dist-types/diagnostics/inspector.d.ts +127 -4
  114. package/dist-types/diagnostics/inspector.d.ts.map +1 -1
  115. package/dist-types/diagnostics/load-tracker.d.ts +82 -0
  116. package/dist-types/diagnostics/load-tracker.d.ts.map +1 -0
  117. package/dist-types/diagnostics/loading-overlay.d.ts +41 -0
  118. package/dist-types/diagnostics/loading-overlay.d.ts.map +1 -0
  119. package/dist-types/diagnostics/metrics.d.ts +10 -0
  120. package/dist-types/diagnostics/metrics.d.ts.map +1 -1
  121. package/dist-types/effect/shadow.d.ts +3 -1
  122. package/dist-types/effect/shadow.d.ts.map +1 -1
  123. package/dist-types/event-map/index.d.ts +1 -0
  124. package/dist-types/event-map/index.d.ts.map +1 -1
  125. package/dist-types/event-map/transition-handler.d.ts +2 -0
  126. package/dist-types/event-map/transition-handler.d.ts.map +1 -0
  127. package/dist-types/interfaces/event-handler.d.ts +40 -0
  128. package/dist-types/interfaces/event-handler.d.ts.map +1 -0
  129. package/dist-types/interfaces/index.d.ts +2 -0
  130. package/dist-types/interfaces/index.d.ts.map +1 -1
  131. package/dist-types/interfaces/layout.d.ts +35 -1
  132. package/dist-types/interfaces/layout.d.ts.map +1 -1
  133. package/dist-types/interfaces/providers.d.ts +20 -3
  134. package/dist-types/interfaces/providers.d.ts.map +1 -1
  135. package/dist-types/interfaces/real-object.d.ts +8 -1
  136. package/dist-types/interfaces/real-object.d.ts.map +1 -1
  137. package/dist-types/interfaces/rendering.d.ts +86 -14
  138. package/dist-types/interfaces/rendering.d.ts.map +1 -1
  139. package/dist-types/interfaces/types.d.ts +20 -1
  140. package/dist-types/interfaces/types.d.ts.map +1 -1
  141. package/dist-types/layer/action/popup.d.ts +13 -0
  142. package/dist-types/layer/action/popup.d.ts.map +1 -1
  143. package/dist-types/layer/add-layer.d.ts +8 -0
  144. package/dist-types/layer/add-layer.d.ts.map +1 -1
  145. package/dist-types/layer/dual-canvas-layer.d.ts.map +1 -1
  146. package/dist-types/layer/index.d.ts +1 -0
  147. package/dist-types/layer/index.d.ts.map +1 -1
  148. package/dist-types/layer/layer.d.ts +1 -0
  149. package/dist-types/layer/layer.d.ts.map +1 -1
  150. package/dist-types/layer/model-layer.d.ts +83 -7
  151. package/dist-types/layer/model-layer.d.ts.map +1 -1
  152. package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
  153. package/dist-types/layer/modeling-layer.d.ts.map +1 -1
  154. package/dist-types/layer/selection/selected-finder.d.ts +1 -1
  155. package/dist-types/layer/selection/selected-finder.d.ts.map +1 -1
  156. package/dist-types/layer/selection-layer.d.ts.map +1 -1
  157. package/dist-types/layer/snap-guide-layer.d.ts +23 -0
  158. package/dist-types/layer/snap-guide-layer.d.ts.map +1 -0
  159. package/dist-types/layout/absolute.d.ts +2 -2
  160. package/dist-types/layout/card.d.ts +2 -2
  161. package/dist-types/layout/linear-horizontal.d.ts +2 -2
  162. package/dist-types/layout/linear-vertical.d.ts +2 -2
  163. package/dist-types/layout/table.d.ts +3 -3
  164. package/dist-types/math/component-pose.d.ts +51 -0
  165. package/dist-types/math/component-pose.d.ts.map +1 -0
  166. package/dist-types/math/index.d.ts +3 -0
  167. package/dist-types/math/index.d.ts.map +1 -0
  168. package/dist-types/math/pose6dof.d.ts +93 -0
  169. package/dist-types/math/pose6dof.d.ts.map +1 -0
  170. package/dist-types/navigation/index.d.ts +7 -0
  171. package/dist-types/navigation/index.d.ts.map +1 -0
  172. package/dist-types/navigation/nav-graph.d.ts +55 -0
  173. package/dist-types/navigation/nav-graph.d.ts.map +1 -0
  174. package/dist-types/navigation/path-planner.d.ts +29 -0
  175. package/dist-types/navigation/path-planner.d.ts.map +1 -0
  176. package/dist-types/navigation/reservation-table.d.ts +103 -0
  177. package/dist-types/navigation/reservation-table.d.ts.map +1 -0
  178. package/dist-types/navigation/types.d.ts +145 -0
  179. package/dist-types/navigation/types.d.ts.map +1 -0
  180. package/dist-types/placement/index.d.ts +3 -0
  181. package/dist-types/placement/index.d.ts.map +1 -0
  182. package/dist-types/placement/placement.d.ts +53 -0
  183. package/dist-types/placement/placement.d.ts.map +1 -0
  184. package/dist-types/search/index.d.ts +3 -0
  185. package/dist-types/search/index.d.ts.map +1 -0
  186. package/dist-types/search/scene-search-engine.d.ts +65 -0
  187. package/dist-types/search/scene-search-engine.d.ts.map +1 -0
  188. package/dist-types/search/search-overlay.d.ts +95 -0
  189. package/dist-types/search/search-overlay.d.ts.map +1 -0
  190. package/dist-types/things-scene/api/add-start.d.ts +25 -0
  191. package/dist-types/things-scene/api/add-start.d.ts.map +1 -1
  192. package/dist-types/things-scene/api/align.d.ts.map +1 -1
  193. package/dist-types/things-scene/api/distribute.d.ts.map +1 -1
  194. package/dist-types/things-scene/api/ids.d.ts +4 -1
  195. package/dist-types/things-scene/api/ids.d.ts.map +1 -1
  196. package/dist-types/things-scene/api/index.d.ts +1 -1
  197. package/dist-types/things-scene/api/index.d.ts.map +1 -1
  198. package/dist-types/things-scene/api/place.d.ts.map +1 -1
  199. package/dist-types/things-scene/application-context.d.ts +49 -0
  200. package/dist-types/things-scene/application-context.d.ts.map +1 -1
  201. package/dist-types/things-scene/create.d.ts +43 -3
  202. package/dist-types/things-scene/create.d.ts.map +1 -1
  203. package/dist-types/things-scene/index.d.ts +26 -0
  204. package/dist-types/things-scene/index.d.ts.map +1 -1
  205. package/dist-types/things-scene/scene.d.ts +108 -2
  206. package/dist-types/things-scene/scene.d.ts.map +1 -1
  207. package/dist-types/threed/arrow-3d.d.ts +13 -4
  208. package/dist-types/threed/arrow-3d.d.ts.map +1 -1
  209. package/dist-types/threed/environments/base-environment.d.ts +17 -0
  210. package/dist-types/threed/environments/base-environment.d.ts.map +1 -0
  211. package/dist-types/threed/environments/cloudy-environment.d.ts +10 -0
  212. package/dist-types/threed/environments/cloudy-environment.d.ts.map +1 -0
  213. package/dist-types/threed/environments/factory-environment.d.ts +3 -3
  214. package/dist-types/threed/environments/factory-environment.d.ts.map +1 -1
  215. package/dist-types/threed/environments/home-environment.d.ts +3 -3
  216. package/dist-types/threed/environments/home-environment.d.ts.map +1 -1
  217. package/dist-types/threed/environments/office-environment.d.ts +3 -3
  218. package/dist-types/threed/environments/office-environment.d.ts.map +1 -1
  219. package/dist-types/threed/environments/rainy-environment.d.ts +10 -0
  220. package/dist-types/threed/environments/rainy-environment.d.ts.map +1 -0
  221. package/dist-types/threed/environments/studio-environment.d.ts +2 -3
  222. package/dist-types/threed/environments/studio-environment.d.ts.map +1 -1
  223. package/dist-types/threed/environments/sunny-environment.d.ts +10 -0
  224. package/dist-types/threed/environments/sunny-environment.d.ts.map +1 -0
  225. package/dist-types/threed/environments/warehouse-environment.d.ts +3 -3
  226. package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -1
  227. package/dist-types/threed/factories/backdrop.d.ts +537 -0
  228. package/dist-types/threed/factories/backdrop.d.ts.map +1 -0
  229. package/dist-types/threed/factories/banner.d.ts +14 -4
  230. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  231. package/dist-types/threed/factories/camera.d.ts +10 -3
  232. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  233. package/dist-types/threed/factories/cube.d.ts +9 -3
  234. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  235. package/dist-types/threed/factories/cylinder.d.ts +1 -0
  236. package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
  237. package/dist-types/threed/factories/decal.d.ts +512 -0
  238. package/dist-types/threed/factories/decal.d.ts.map +1 -0
  239. package/dist-types/threed/factories/floor-plate.d.ts +11 -0
  240. package/dist-types/threed/factories/floor-plate.d.ts.map +1 -0
  241. package/dist-types/threed/factories/gltf-object.d.ts +266 -38
  242. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  243. package/dist-types/threed/factories/group.d.ts +2 -0
  244. package/dist-types/threed/factories/group.d.ts.map +1 -0
  245. package/dist-types/threed/factories/light.d.ts +1 -0
  246. package/dist-types/threed/factories/light.d.ts.map +1 -1
  247. package/dist-types/threed/factories/line.d.ts +10 -0
  248. package/dist-types/threed/factories/line.d.ts.map +1 -0
  249. package/dist-types/threed/factories/ortholine.d.ts +10 -0
  250. package/dist-types/threed/factories/ortholine.d.ts.map +1 -0
  251. package/dist-types/threed/factories/polygon.d.ts +19 -0
  252. package/dist-types/threed/factories/polygon.d.ts.map +1 -1
  253. package/dist-types/threed/factories/polyline.d.ts +10 -0
  254. package/dist-types/threed/factories/polyline.d.ts.map +1 -0
  255. package/dist-types/threed/factories/rect.d.ts.map +1 -1
  256. package/dist-types/threed/factories/sphere.d.ts +6 -0
  257. package/dist-types/threed/factories/sphere.d.ts.map +1 -1
  258. package/dist-types/threed/factories/sprite.d.ts +9 -3
  259. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  260. package/dist-types/threed/factories/triangle.d.ts.map +1 -1
  261. package/dist-types/threed/factories/wall.d.ts +9 -3
  262. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  263. package/dist-types/threed/floor/floor.d.ts.map +1 -1
  264. package/dist-types/threed/handle-3d.d.ts +21 -0
  265. package/dist-types/threed/handle-3d.d.ts.map +1 -0
  266. package/dist-types/threed/html/elements.d.ts.map +1 -1
  267. package/dist-types/threed/index.d.ts +24 -0
  268. package/dist-types/threed/index.d.ts.map +1 -1
  269. package/dist-types/threed/managers/box-selection-manager.d.ts +26 -0
  270. package/dist-types/threed/managers/box-selection-manager.d.ts.map +1 -0
  271. package/dist-types/threed/managers/camera-bookmark-manager.d.ts +127 -0
  272. package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -0
  273. package/dist-types/threed/managers/camera-manager.d.ts +9 -3
  274. package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
  275. package/dist-types/threed/managers/controls-manager.d.ts +25 -4
  276. package/dist-types/threed/managers/controls-manager.d.ts.map +1 -1
  277. package/dist-types/threed/managers/event-manager3d.d.ts +8 -0
  278. package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
  279. package/dist-types/threed/managers/gizmo-manager.d.ts +6 -0
  280. package/dist-types/threed/managers/gizmo-manager.d.ts.map +1 -1
  281. package/dist-types/threed/managers/gizmo-operation-manager.d.ts +55 -1
  282. package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
  283. package/dist-types/threed/managers/index.d.ts +4 -1
  284. package/dist-types/threed/managers/index.d.ts.map +1 -1
  285. package/dist-types/threed/managers/interaction-manager.d.ts +17 -0
  286. package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
  287. package/dist-types/threed/managers/light-manager.d.ts +15 -0
  288. package/dist-types/threed/managers/light-manager.d.ts.map +1 -1
  289. package/dist-types/threed/managers/renderer-manager.d.ts +37 -0
  290. package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
  291. package/dist-types/threed/managers/scene-manager.d.ts +12 -2
  292. package/dist-types/threed/managers/scene-manager.d.ts.map +1 -1
  293. package/dist-types/threed/managers/types.d.ts +4 -2
  294. package/dist-types/threed/managers/types.d.ts.map +1 -1
  295. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts +155 -0
  296. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -0
  297. package/dist-types/threed/material-3d.d.ts +5 -2
  298. package/dist-types/threed/material-3d.d.ts.map +1 -1
  299. package/dist-types/threed/ratio-lock-utils.d.ts +9 -0
  300. package/dist-types/threed/ratio-lock-utils.d.ts.map +1 -0
  301. package/dist-types/threed/real-object-dom-element.d.ts +2 -0
  302. package/dist-types/threed/real-object-dom-element.d.ts.map +1 -1
  303. package/dist-types/threed/real-object-dom-texture.d.ts +9 -0
  304. package/dist-types/threed/real-object-dom-texture.d.ts.map +1 -1
  305. package/dist-types/threed/real-object-external-model.d.ts +24 -0
  306. package/dist-types/threed/real-object-external-model.d.ts.map +1 -0
  307. package/dist-types/threed/real-object-extrude.d.ts +16 -1
  308. package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
  309. package/dist-types/threed/real-object-gltf.d.ts +21 -11
  310. package/dist-types/threed/real-object-gltf.d.ts.map +1 -1
  311. package/dist-types/threed/real-object-group.d.ts +2 -0
  312. package/dist-types/threed/real-object-group.d.ts.map +1 -1
  313. package/dist-types/threed/real-object-line.d.ts +83 -0
  314. package/dist-types/threed/real-object-line.d.ts.map +1 -0
  315. package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
  316. package/dist-types/threed/real-object-plane-2d.d.ts +23 -0
  317. package/dist-types/threed/real-object-plane-2d.d.ts.map +1 -1
  318. package/dist-types/threed/real-object-service.d.ts +14 -0
  319. package/dist-types/threed/real-object-service.d.ts.map +1 -0
  320. package/dist-types/threed/real-object-sprite.d.ts +7 -1
  321. package/dist-types/threed/real-object-sprite.d.ts.map +1 -1
  322. package/dist-types/threed/real-object-text.d.ts +5 -0
  323. package/dist-types/threed/real-object-text.d.ts.map +1 -1
  324. package/dist-types/threed/real-object.d.ts +217 -7
  325. package/dist-types/threed/real-object.d.ts.map +1 -1
  326. package/dist-types/threed/text-editor-3d.d.ts +11 -0
  327. package/dist-types/threed/text-editor-3d.d.ts.map +1 -0
  328. package/dist-types/threed/texture/canvas-texture.d.ts +7 -0
  329. package/dist-types/threed/texture/canvas-texture.d.ts.map +1 -1
  330. package/dist-types/threed/texture/fillstyle-texture.d.ts +57 -0
  331. package/dist-types/threed/texture/fillstyle-texture.d.ts.map +1 -0
  332. package/dist-types/threed/texture/text-texture.d.ts +15 -0
  333. package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
  334. package/dist-types/threed/three-capability.d.ts +148 -6
  335. package/dist-types/threed/three-capability.d.ts.map +1 -1
  336. package/dist-types/threed/three-container.d.ts +0 -1
  337. package/dist-types/threed/three-container.d.ts.map +1 -1
  338. package/dist-types/threed/three-dimensional-container.d.ts +0 -1
  339. package/dist-types/threed/three-dimensional-container.d.ts.map +1 -1
  340. package/dist-types/threed/utils/anchor.d.ts +33 -0
  341. package/dist-types/threed/utils/anchor.d.ts.map +1 -0
  342. package/dist-types/threed/utils/dispose.d.ts.map +1 -1
  343. package/dist-types/threed/utils/polygon-shape.d.ts +21 -0
  344. package/dist-types/threed/utils/polygon-shape.d.ts.map +1 -0
  345. package/dist-types/threed/utils/tether.d.ts +46 -0
  346. package/dist-types/threed/utils/tether.d.ts.map +1 -0
  347. package/dist-types/threed/z-priority.d.ts +27 -0
  348. package/dist-types/threed/z-priority.d.ts.map +1 -0
  349. package/dist-types/tracker/tracker.d.ts +57 -0
  350. package/dist-types/tracker/tracker.d.ts.map +1 -0
  351. package/dist-types/transfer/carrier-line-capability.d.ts +95 -0
  352. package/dist-types/transfer/carrier-line-capability.d.ts.map +1 -0
  353. package/dist-types/transfer/centering-slot-strategy.d.ts +8 -0
  354. package/dist-types/transfer/centering-slot-strategy.d.ts.map +1 -0
  355. package/dist-types/transfer/container-capacity.d.ts +380 -0
  356. package/dist-types/transfer/container-capacity.d.ts.map +1 -0
  357. package/dist-types/transfer/fixed-slot-strategy.d.ts +8 -0
  358. package/dist-types/transfer/fixed-slot-strategy.d.ts.map +1 -0
  359. package/dist-types/transfer/index.d.ts +23 -0
  360. package/dist-types/transfer/index.d.ts.map +1 -0
  361. package/dist-types/transfer/pickup-helpers.d.ts +65 -0
  362. package/dist-types/transfer/pickup-helpers.d.ts.map +1 -0
  363. package/dist-types/transfer/simulation-clock.d.ts +45 -0
  364. package/dist-types/transfer/simulation-clock.d.ts.map +1 -0
  365. package/dist-types/transfer/storage-rack-capability.d.ts +144 -0
  366. package/dist-types/transfer/storage-rack-capability.d.ts.map +1 -0
  367. package/dist-types/transfer/tracer.d.ts +35 -0
  368. package/dist-types/transfer/tracer.d.ts.map +1 -0
  369. package/dist-types/transfer/transfer.d.ts +224 -0
  370. package/dist-types/transfer/transfer.d.ts.map +1 -0
  371. package/dist-types/transfer/types.d.ts +424 -0
  372. package/dist-types/transfer/types.d.ts.map +1 -0
  373. package/dist-types/transition/transition-effect.d.ts +117 -0
  374. package/dist-types/transition/transition-effect.d.ts.map +1 -0
  375. package/dist-types/types/bounding.d.ts +1 -1
  376. package/dist-types/types/bounding.d.ts.map +1 -1
  377. package/dist-types/types/capability.d.ts +59 -0
  378. package/dist-types/types/capability.d.ts.map +1 -0
  379. package/dist-types/types/component.d.ts +6 -177
  380. package/dist-types/types/component.d.ts.map +1 -1
  381. package/dist-types/types/event.d.ts +57 -0
  382. package/dist-types/types/event.d.ts.map +1 -1
  383. package/dist-types/types/polygon-path-arc.d.ts +72 -0
  384. package/dist-types/types/polygon-path-arc.d.ts.map +1 -0
  385. package/dist-types/types/polygon-path.d.ts +153 -0
  386. package/dist-types/types/polygon-path.d.ts.map +1 -0
  387. package/package.json +13 -2
  388. package/things-scene-min.js +12 -13
  389. package/things-scene-min.js.map +1 -1
  390. package/things-scene-transfer.mjs +6 -0
  391. package/things-scene.mjs +8 -9
  392. package/things-scene.mjs.map +1 -1
@@ -0,0 +1,95 @@
1
+ import type { Pose6DOF } from '../math/index.js';
2
+ /**
3
+ * Carrier slot reservation — source 가 carrier 를 *어디* 에 *어떤 자세* 로 놓을
4
+ * 지에 대한 *확정 가능한 약속*. capability 가 source 에게 발급, source 가 commit
5
+ * 시 carrier 가 그 slot 에 attach.
6
+ */
7
+ export interface CarrierReservation {
8
+ /** Capability 내부의 carrier slot 식별자 — opaque (source 는 의미 모름). */
9
+ readonly carrierIndex: number;
10
+ /** Carrier 가 commit 시 가져야 할 *world pose* (= 시각 위치/자세). */
11
+ readonly pose: Pose6DOF;
12
+ /** Capability 가 자기 식별 용으로 사용 — opaque token. */
13
+ readonly token: symbol;
14
+ }
15
+ /**
16
+ * Carrier slot 의 *현재 상태* — read 용. carrier 가 carrying 중 / empty / divert 위
17
+ * 등의 정보. carrierMap 의 values.
18
+ */
19
+ export interface CarrierSlotState {
20
+ readonly carrierIndex: number;
21
+ /** Carrying 중인 component (= 박스). null = empty. */
22
+ readonly carrier: unknown;
23
+ /** Carrier slot 의 현재 world pose. capability 의 sim 이 매 frame 갱신. */
24
+ readonly pose: Pose6DOF;
25
+ }
26
+ /**
27
+ * Join point — capability 와 외부 source/target 의 *합류 지점*. 예:
28
+ * - induct station 이 sorter 의 polyline 옆에 합류 → induct = joinPoint
29
+ * - chute 가 sorter 의 polyline 의 한 점에서 divert → chute = joinPoint
30
+ *
31
+ * join point 자체는 *Component* — 자기 world position / rotation 노출. capability
32
+ * 가 그 위치 기반 *carrier slot 의 진입/이탈 지점* 자동 계산.
33
+ */
34
+ export interface JoinPoint {
35
+ /**
36
+ * Component state — index-signature 형태로 받음. things-scene 의 모든 컴포넌트
37
+ * state 가 `State` 를 extend (`[key: string]: any`) 하므로, 특정 state 타입
38
+ * (예: InductStationState) 도 자동 호환. `state.id` 는 runtime lookup.
39
+ */
40
+ readonly state?: Record<string, unknown>;
41
+ readonly id?: unknown;
42
+ readonly center?: {
43
+ x: number;
44
+ y: number;
45
+ z?: number;
46
+ };
47
+ }
48
+ /**
49
+ * CarrierLine capability contract.
50
+ *
51
+ * Implementer (sorter 등) 가 자기 sim 의 detail (carrier index 결정, slot proxy
52
+ * attach, frame-by-frame position 갱신) 모두 *내부 구현* 으로 캡슐화. source 는
53
+ * 이 interface 만 사용.
54
+ */
55
+ export interface CarrierLine {
56
+ /**
57
+ * Side-effect-free check — 지금 reserveAtJoinPoint 가 성공할 가능성. source 가
58
+ * Transfer protocol 시작 *전* 호출 → false 면 Transfer 생성 자체 skip 가능 →
59
+ * panel 의 *rolled-back 폭주* 방지. true 시 reserveAtJoinPoint 호출 성공 *보장*.
60
+ *
61
+ * ContainerCapacity 의 canReceive / canAccept 와 동등 — capability contract
62
+ * 의 표준 check 패턴.
63
+ */
64
+ canReserveAtJoinPoint(joinPoint: JoinPoint): boolean;
65
+ /**
66
+ * Source 가 carrier 를 *join point* 에 도달 시점에 받을 carrier slot 의
67
+ * reservation 을 요청. null = 현재 free slot 없음 (= source 가 다음 frame 재시도).
68
+ *
69
+ * Side-effect-free 가 권장 — 단 reservation 자체 가 *생성* 되니 capability 가
70
+ * *예약 슬롯 마크* 가능. 단 carrier attach 는 *아직* 일어나지 않음.
71
+ */
72
+ reserveAtJoinPoint(joinPoint: JoinPoint, carrier: unknown): CarrierReservation | null;
73
+ /**
74
+ * Reservation 확정 — carrier 가 reserved slot 에 attach. capability 가 자기 sim
75
+ * 에 carrier 등록 + slot proxy 의 자식으로 reparent. 호출 후 carrier 는 그 slot
76
+ * 의 *carrying 상태*.
77
+ */
78
+ commitReservation(reservation: CarrierReservation, carrier: unknown): void;
79
+ /**
80
+ * Reservation 취소 — Transfer rollback / abort 시 호출. 마크된 slot 해제.
81
+ * commit 후 호출 시 noop (idempotent).
82
+ */
83
+ releaseReservation(reservation: CarrierReservation): void;
84
+ /**
85
+ * 모든 carrier slot 의 현재 상태 — read-only. 외부 진단/시각화 (monitor panel)
86
+ * 가 generic 하게 활용. 향후 *write 가능* 확장 plan — 시뮬 state 복원 등.
87
+ */
88
+ readonly carrierMap: ReadonlyMap<number, CarrierSlotState>;
89
+ }
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
+ //# 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":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ArrangementStrategy, SlotDef, Vec3 } from './types.js';
2
+ export declare class CenteringSlotStrategy implements ArrangementStrategy {
3
+ private readonly owner;
4
+ constructor(owner: any);
5
+ positionAt(index: number, slotDef: SlotDef, _occupantCount: number, component?: any): Vec3 | null;
6
+ capacity(slotDef: SlotDef): number;
7
+ }
8
+ //# sourceMappingURL=centering-slot-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"centering-slot-strategy.d.ts","sourceRoot":"","sources":["../../src/transfer/centering-slot-strategy.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEpE,qBAAa,qBAAsB,YAAW,mBAAmB;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,GAAG;IAEvC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;IAejG,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;CAGnC"}
@@ -0,0 +1,380 @@
1
+ import type { SlotDef, TransferOptions, Transferable, CarrierAttachPoint, ArrangementStrategy, CarrierDims, PlacementContext, SeatingPose } from './types.js';
2
+ import type Component from '../components/component.js';
3
+ /** Key used to store the current slot assignment on a child component. */
4
+ export declare const TRANSFER_SLOT_KEY = "_transferSlotId";
5
+ type Constructor<T = object> = new (...args: any[]) => T;
6
+ /**
7
+ * Mixin that adds Transferable capacity to any ContainerAbstract subclass.
8
+ *
9
+ * The mixed-in class provides concrete implementations of all Transferable methods.
10
+ * Subclasses must implement `get slots(): SlotDef[]`; everything else has sensible defaults.
11
+ */
12
+ export declare function ContainerCapacity<TBase extends Constructor<Component>>(Base: TBase): {
13
+ new (...args: any[]): {
14
+ /** Declare the slot topology of this container. */
15
+ get slots(): SlotDef[];
16
+ /**
17
+ * ArrangementStrategy used when `slots` is empty or slotDef has no arrangement.
18
+ * Override in subclass to supply richer strategies (Stack, Queue, Grid, etc.).
19
+ */
20
+ get arrangementStrategy(): ArrangementStrategy;
21
+ canReceive(component: any): boolean;
22
+ findSlot(component: any): SlotDef | null;
23
+ receive(component: any, options?: TransferOptions): Promise<void>;
24
+ dispatch(component: any, target: Transferable, options?: TransferOptions): Promise<void>;
25
+ route(_component: any): Transferable | null | Promise<Transferable | null>;
26
+ /**
27
+ * WCS resolves a pending route by providing the confirmed target.
28
+ * Subclasses that implement PendingPolicy must override this to
29
+ * unblock the waiting promise in route().
30
+ */
31
+ resolveRoute(_component: any, _target: Transferable): void;
32
+ /**
33
+ * WCS rejects or times out a pending route.
34
+ * Fires 'transfer-rejected'; subclasses may trigger fallback routing.
35
+ */
36
+ rejectRoute(component: any, reason?: string): void;
37
+ /**
38
+ * carrier 의 받아들일 회전 (parent-local quaternion). 기본 identity.
39
+ * 회전이 필요한 holder (induct = belt 진행 방향, rack cell = grid 정렬 등)
40
+ * 는 이 메소드만 override 하면 receive() 가 atomic 하게 적용한다.
41
+ *
42
+ * 반환값은 plain object {x,y,z,w} — THREE.Quaternion 도 그 인터페이스 만족.
43
+ */
44
+ acceptanceRotation(_carrier: any, _slot?: SlotDef): {
45
+ x: number;
46
+ y: number;
47
+ z: number;
48
+ w: number;
49
+ } | undefined;
50
+ /**
51
+ * canReceive 의 풍부한 버전. ok 면 slot 동봉, 아니면 reason 명시.
52
+ * drag-over UI 가 사유 표시하기 위함. canReceive 와 동일 결정 사용.
53
+ */
54
+ canAccept(component: any): {
55
+ ok: true;
56
+ slot: SlotDef;
57
+ } | {
58
+ ok: false;
59
+ reason: string;
60
+ };
61
+ /**
62
+ * receive 의 alias — Phase G2 contract 의 명시적 이름. 기존 receive 호출자도
63
+ * 그대로 작동.
64
+ */
65
+ accept(component: any, options?: TransferOptions): Promise<void>;
66
+ /**
67
+ * Phase G5 — physical mover (robot-arm, AGV docking 등) 가 query 하는
68
+ * delivery world rotation. carrier 가 holder 에 도달했을 때 가져야 할
69
+ * world quaternion.
70
+ *
71
+ * delivery.world = holder.world.quat × acceptanceRotation_local
72
+ *
73
+ * source 가 이걸 미리 알면 TCP yaw 를 점진적으로 맞춰 carrier 가
74
+ * acceptance pose 에 도달한 채로 release → handoff 시 zero-delta → 시각적
75
+ * 점프 없음.
76
+ *
77
+ * acceptanceRotation 미정의 OR _realObject 미빌드 시 undefined.
78
+ */
79
+ deliveryWorldRotation(carrier: any): {
80
+ x: number;
81
+ y: number;
82
+ z: number;
83
+ w: number;
84
+ } | undefined;
85
+ /**
86
+ * Phase G9 — physical mover 가 query 하는 delivery world position.
87
+ *
88
+ * carrier 가 holder 에 도달했을 때 가져야 할 world XYZ. position 만 — rotation
89
+ * 은 deliveryWorldRotation 이 별도로 제공. 두 결과를 합치면 source 의 trajectory
90
+ * endpoint 가 됨.
91
+ *
92
+ * 기본 구현 — receivingSurfaceY 가 있으면 belt 표면 위, 없으면 slot.localPosition,
93
+ * 둘 다 없으면 holder object3d 원점.
94
+ *
95
+ * surface_world_y = holder.localToWorld((0, receivingSurfaceY - geometricOffsetY, 0)).y
96
+ * surface_world_xz = holder.world.xz
97
+ *
98
+ * receivingSurfaceY 의 정의가 cz-formula-tuned (= beltTopY + parent.geometricOffsetY)
99
+ * 라 그 차분 (- parent.geometricOffsetY) 으로 raw local 표면 Y 를 뽑아낸다.
100
+ *
101
+ * 호출 전제: holder 의 _realObject 가 빌드돼 있고 obj3d.matrixWorld 가 최신.
102
+ * 빌드 안 된 상태면 undefined → 호출자가 fallback (예: 2D bounds 기반).
103
+ */
104
+ deliveryWorldPosition(_carrier: any): {
105
+ x: number;
106
+ y: number;
107
+ z: number;
108
+ } | undefined;
109
+ attachPointFor(component: any): CarrierAttachPoint | null;
110
+ /**
111
+ * Phase PS — PlacementSurface contract 의 default 구현.
112
+ *
113
+ * 기존 합성 경로 (receive 의 ArrangementStrategy + receivingSurfaceY +
114
+ * slot.localPosition.z + acceptanceRotation → setState → cz 공식) 와
115
+ * *수치 동일* 한 안착 pose 를 holder object3d local frame 으로 반환 (I5).
116
+ * 동등성은 test/unit/transfer/test-placement-surface.js 가 증명.
117
+ *
118
+ * Invariants: I1 접촉 / I2 frame-explicit / I3 순수성 / I4 per-carrier 치수
119
+ * — operato-scene v10/plans/phase-placement-surface.md 참조.
120
+ *
121
+ * `carrier` 는 component (state 보유) 또는 plain 치수 객체. component 를
122
+ * 주면 dimension-aware ArrangementStrategy (CenteringSlotStrategy 등) 가
123
+ * 실제 state 를 그대로 읽는다.
124
+ */
125
+ placementFor(carrier: CarrierDims | any, ctx?: PlacementContext): SeatingPose | null;
126
+ /**
127
+ * Phase PS P3a — SeatingPose.position.y (holder object3d local) → state.zPos
128
+ * 역산. cz 공식 `cz = zPos + sync − geoOffset + surfaceRaw` 의 역.
129
+ *
130
+ * write 조건 (null 반환) 은 기존 receive 의 zPos 분기와 동일하게 보존:
131
+ * 받침면도 slot.localPosition.z 도 없는 holder 는 carrier 의 zPos 를
132
+ * 변경하지 않는다 (보존 semantics).
133
+ */
134
+ _zPosFromSeatY(seatY: number, carrierDepth: any, slot: SlotDef): number | null;
135
+ /**
136
+ * 받침면의 직관적 local Y — raw `receivingSurfaceY` (+parentGeoOffset 포함
137
+ * 함정) 에서 상쇄분을 제거한 값. placementFor / deliveryWorldPosition 이
138
+ * 공유 — 표면 산술의 단일 지점. null = 받침면 명세 없음.
139
+ */
140
+ _receivingSurfaceLocalY(): number | null;
141
+ /**
142
+ * Count children currently assigned to `slotId`.
143
+ *
144
+ * Invariant: 자식이 `parent === this` 일 때만 count. 이전 cycle 의 *ghost
145
+ * child* (배열에는 남아있지만 parent 가 다른 컴포넌트로 옮겨간 경우) 또는
146
+ * *마크가 stale* 한 child 는 자동 제외 — 누적 결함 방지.
147
+ */
148
+ _countOccupied(slotId: string): number;
149
+ _app: any;
150
+ _model: any;
151
+ _state: any;
152
+ _delta: any;
153
+ _animation: any;
154
+ _animate: any;
155
+ _parent: any;
156
+ _disposed: any;
157
+ _textHidden: any;
158
+ _text_substitutor: any;
159
+ _value_substitutor: any;
160
+ _mappings: any;
161
+ _realObject: import("../index.js").IRealObject | undefined;
162
+ _cachedState: any;
163
+ updatedAt: any;
164
+ fontSize: any;
165
+ __cache__: any;
166
+ created(): void;
167
+ added(parent: any): void;
168
+ removed(parent: any): void;
169
+ ready(): Promise<void>;
170
+ touch(): void;
171
+ clearCache(...attrs: any[]): void;
172
+ removeSelf(completely: any): void;
173
+ resetAnimation(): void;
174
+ dispose(): void;
175
+ get nature(): import("../index.js").ComponentNature;
176
+ get disposed(): boolean;
177
+ isLayer(): boolean;
178
+ isGroup(): boolean;
179
+ isContainer(): this is import("../types/component.js").Container;
180
+ isLine(): boolean;
181
+ isRoot(): boolean;
182
+ isRootModel(): boolean;
183
+ is3dish(): boolean;
184
+ get is3dMode(): boolean;
185
+ isIn3DSpace(): boolean;
186
+ isTemplate(): boolean;
187
+ isHTMLElement(): boolean;
188
+ isConnectable(): boolean;
189
+ isIdentifiable(): boolean;
190
+ isPositionable(): boolean;
191
+ replaceRefids(replaceMap: any): void;
192
+ get(property: any): any;
193
+ set(props: any, propval?: any): any;
194
+ getState(property: any): any;
195
+ setState(props: Partial<import("../index.js").State> | string, propval?: any): any;
196
+ get model(): any;
197
+ get state(): import("../index.js").State;
198
+ get refid(): any;
199
+ get hierarchy(): any;
200
+ get volatile(): never[];
201
+ _applyProps(target: any, props: any, options: any): /*elided*/ any;
202
+ contains(x: number, y: number): boolean;
203
+ move(offset: {
204
+ x: number;
205
+ y: number;
206
+ }, ...args: boolean[]): void;
207
+ symmetryX(x?: number): void;
208
+ symmetryY(y: number): void;
209
+ adjustResize(bounds: import("../index.js").BOUNDS, origin_bounds: import("../index.js").BOUNDS, diagonal: boolean): {
210
+ left: any;
211
+ top: any;
212
+ width: any;
213
+ height: any;
214
+ };
215
+ adjustRotation(rotation: number, step: boolean): number;
216
+ outline(progress: number): any;
217
+ get bounds(): import("../index.js").BOUNDS;
218
+ set bounds(b: import("../index.js").BOUNDS);
219
+ get center(): import("../index.js").POINT;
220
+ set center(p: import("../index.js").POINT);
221
+ get location(): import("../index.js").POINT;
222
+ set location(l: import("../index.js").POINT);
223
+ get rotate(): import("../index.js").POINT;
224
+ set rotate(r: import("../index.js").POINT);
225
+ get dimension(): import("../index.js").DIMENSION;
226
+ set dimension(d: import("../index.js").DIMENSION);
227
+ get path(): import("../index.js").POINT[];
228
+ set path(p: import("../index.js").POINT[]);
229
+ get drawPath(): import("../index.js").POINT[];
230
+ get rotatePoint(): import("../index.js").POINT;
231
+ get mutable(): boolean;
232
+ get resizable(): boolean;
233
+ get rotatable(): boolean;
234
+ buildRealObject(): import("../index.js").IRealObject | undefined;
235
+ get realObject(): import("../index.js").IRealObject | undefined;
236
+ draw(context?: import("../index.js").SceneRenderContext): void;
237
+ prerender(context: import("../index.js").SceneRenderContext): void;
238
+ render(context: import("../index.js").SceneRenderContext): void;
239
+ postrender(context: import("../index.js").SceneRenderContext): void;
240
+ prepare(resolve: (component: Component) => void, reject: (reason: any) => void): void;
241
+ prepareIf(condition: boolean): void;
242
+ drawText(context: import("../index.js").SceneRenderContext): void;
243
+ drawStroke(context: import("../index.js").SceneRenderContext, override?: Record<string, unknown>): void;
244
+ drawFill(context: import("../index.js").SceneRenderContext, override?: Record<string, unknown>): void;
245
+ get strokeStyle(): any;
246
+ set strokeStyle(v: any);
247
+ get fillStyle(): any;
248
+ set fillStyle(v: any);
249
+ get fontColor(): string;
250
+ set fontColor(v: string);
251
+ get rotation(): number;
252
+ set rotation(v: number);
253
+ get decorators(): string[];
254
+ get decotag(): string;
255
+ get hidden(): boolean;
256
+ set hidden(v: boolean);
257
+ get tag(): string;
258
+ set tag(v: string);
259
+ get appendum(): any;
260
+ set appendum(v: any);
261
+ defaultTextSubstitutor(): string;
262
+ textLines(context?: import("../index.js").SceneRenderContext): any[][];
263
+ get font(): string;
264
+ get lineHeight(): number;
265
+ get textSubstitutor(): () => string;
266
+ get text(): string;
267
+ set text(v: string);
268
+ get textBounds(): import("../index.js").BOUNDS;
269
+ get textRotation(): number;
270
+ get textHidden(): boolean;
271
+ set textHidden(v: boolean);
272
+ get hasTextProperty(): boolean;
273
+ animate(opts: import("../index.js").AnimationConfig): any;
274
+ effect(context: import("../index.js").SceneRenderContext, model: any): void;
275
+ serialize(...others: any[]): string;
276
+ trim(): void;
277
+ closeScene(data: any): void;
278
+ delta(attr?: string | object, value?: any): any;
279
+ invalidate(): void;
280
+ get value(): any;
281
+ set value(v: any);
282
+ get data(): any;
283
+ set data(v: any);
284
+ set tap(v: any);
285
+ get mappings(): any[];
286
+ get retention(): number;
287
+ get animation(): import("../index.js").AnimationController | undefined;
288
+ get started(): boolean;
289
+ set started(v: boolean);
290
+ get controls(): import("../index.js").Control[] | undefined;
291
+ findFirst(finder: string | ((c: Component) => boolean), ...others: any[]): Component | undefined;
292
+ findAll(s: string | ((c: Component) => boolean), ...others: any[]): any[] | undefined;
293
+ capture(x: number, y: number, except?: (c: Component) => boolean): any;
294
+ findAnchor(name: string): any;
295
+ isDescendible(container: Component | any): boolean;
296
+ getContext(component?: unknown): any;
297
+ get root(): Component;
298
+ get rootModel(): Component;
299
+ get parent(): Component;
300
+ set parent(v: Component);
301
+ get anchors(): import("../index.js").Anchor[];
302
+ get scalable(): boolean;
303
+ get stuck(): boolean;
304
+ get capturable(): boolean;
305
+ get position(): string;
306
+ get origin(): string;
307
+ get offset(): import("../index.js").POINT;
308
+ get app(): import("../index.js").ApplicationContext;
309
+ drawEffect(context: import("../index.js").SceneRenderContext): void;
310
+ prepareFill(resolve: Function, reject: Function): void;
311
+ prepareFillIf(condition: boolean): void;
312
+ onchangeFill(after: Record<string, any>, before: Record<string, any>): void;
313
+ drawImage(context: import("../index.js").SceneRenderContext, image: HTMLImageElement, left: number, top: number, width: number, height: number): void;
314
+ mutateBounds(logic: ((bounds: import("../index.js").BOUNDS) => import("../index.js").BOUNDS | void) | null, context?: any): void;
315
+ mutatePath(beforeLogic: ((path: import("../index.js").POINT[]) => import("../index.js").POINT[] | void) | null, afterLogic: ((path: import("../index.js").POINT[]) => import("../index.js").POINT[] | void) | null, context?: any): void;
316
+ access(accessor: string): any;
317
+ substitute(template: string, data: any): string | undefined;
318
+ onchangeMappings(after: Record<string, any>, before: Record<string, any>): void;
319
+ onchangeData(after: Record<string, any>, before: Record<string, any>): void;
320
+ buildMappings(): void;
321
+ executeMappings(force?: boolean): void;
322
+ disposeMappings(): void;
323
+ ondropfile(transfered: FileList, files: string[]): void;
324
+ transcoordS2P(x: number, y: number, rp?: import("../index.js").POINT): import("../index.js").POINT;
325
+ transcoordP2S(x: number, y: number, rp?: import("../index.js").POINT): import("../index.js").POINT;
326
+ transcoordS2T(x: number, y: number, top?: Component): import("../index.js").POINT;
327
+ transcoordT2P(x: number, y: number, top?: Component): import("../index.js").POINT;
328
+ transcoordT2S(x: number, y: number, top?: Component): import("../index.js").POINT;
329
+ transcoordS2TR(x: number, y: number, top?: Component): import("../index.js").POINT;
330
+ transcoordS2O(x: number, y: number, target: Component): import("../index.js").POINT;
331
+ transcoordC2S(x: number, y: number, top?: Component): import("../index.js").POINT;
332
+ transcoordS2C(x: number, y: number, top?: Component): import("../index.js").POINT;
333
+ toParent(x: number, y: number, rp?: import("../index.js").POINT): import("../index.js").POINT;
334
+ fromParent(x: number, y: number, rp?: import("../index.js").POINT): import("../index.js").POINT;
335
+ toScene(x: number, y: number, top?: Component): import("../index.js").POINT;
336
+ fromScene(x: number, y: number, top?: Component): import("../index.js").POINT;
337
+ toLocal(x: number, y: number, top?: Component): import("../index.js").POINT;
338
+ toGlobal(x: number, y: number, top?: Component): import("../index.js").POINT;
339
+ toOther(x: number, y: number, target: Component): import("../index.js").POINT;
340
+ on<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
341
+ on(name: string | object, callback: Function, context?: any): /*elided*/ any;
342
+ off<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback?: ((...args: import("../index.js").ComponentEventMap[K]) => void) | undefined, context?: any): /*elided*/ any;
343
+ off(name?: string | object, callback?: Function, context?: any): /*elided*/ any;
344
+ once<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
345
+ once(name: string | object, callback: Function, context?: any): /*elided*/ any;
346
+ trigger<K extends keyof import("../index.js").ComponentEventMap>(name: K, ...args: import("../index.js").ComponentEventMap[K]): /*elided*/ any;
347
+ trigger(name: string, ...args: any[]): /*elided*/ any;
348
+ delegate_on(delegator: any): /*elided*/ any;
349
+ delegate_off(delegator: any): /*elided*/ any;
350
+ onchange(after: Record<string, any>, before: Record<string, any>): void;
351
+ calculateBounds?(): void;
352
+ oncreate_element?(element: HTMLElement): void;
353
+ removeComponent(component: Component, ghost?: boolean): void;
354
+ addComponent(component: Component, ghost?: boolean): void;
355
+ insertComponentAt(component: Component, index: number, ghost?: boolean): void;
356
+ getOverlay(component: Component): HTMLElement | undefined;
357
+ findById(id: string): Component | undefined;
358
+ findByRefid(ref: string | number): Component | undefined;
359
+ findAllById(id: string): Component[];
360
+ resize(): void;
361
+ fit(type?: string): void;
362
+ get components(): Component[] | undefined;
363
+ get layout(): any;
364
+ get auxOverlay(): HTMLElement | undefined;
365
+ get isReady(): boolean;
366
+ get unitScale(): number;
367
+ get selected(): Component[];
368
+ set selected(_v: Component[]);
369
+ get focused(): Component | null;
370
+ set focused(_v: Component | null);
371
+ get hasSameParentForAllSelected(): boolean;
372
+ set hasSameParentForAllSelected(_v: boolean);
373
+ get fitMode(): string | undefined;
374
+ set fitMode(_v: string | undefined);
375
+ get element(): HTMLElement | null;
376
+ set element(_v: HTMLElement | null);
377
+ };
378
+ } & TBase;
379
+ export {};
380
+ //# sourceMappingURL=container-capacity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-capacity.d.ts","sourceRoot":"","sources":["../../src/transfer/container-capacity.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,OAAO,EACP,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AA8BvD,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,oBAAoB,CAAA;AAElD,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAExD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,SAAS,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK;kBARtC,GAAG,EAAE;QAa9C,mDAAmD;qBACtC,OAAO,EAAE;QAItB;;;WAGG;mCACwB,mBAAmB;8BAMxB,GAAG,GAAG,OAAO;4BAWf,GAAG,GAAG,OAAO,GAAG,IAAI;2BAuCf,GAAG,YAAW,eAAe,GAAQ,OAAO,CAAC,IAAI,CAAC;4BAsKjD,GAAG,UAAU,YAAY,YAAW,eAAe,GAAQ,OAAO,CAAC,IAAI,CAAC;0BAoChF,GAAG,GAAG,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;QAI1E;;;;WAIG;iCACsB,GAAG,WAAW,YAAY,GAAG,IAAI;QAI1D;;;WAGG;+BACoB,GAAG,oBAAwB,IAAI;QAWtD;;;;;;WAMG;qCAC0B,GAAG,UAAU,OAAO,GAAG;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS;QAI9G;;;WAGG;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;;;WAGG;0BACe,GAAG,YAAY,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;QAIhE;;;;;;;;;;;;WAYG;uCAC4B,GAAG,GAAG;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS;QAe/F;;;;;;;;;;;;;;;;;;WAkBG;wCAC6B,GAAG,GAAG;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS;kCAuB3D,GAAG,GAAG,kBAAkB,GAAG,IAAI;QAczD;;;;;;;;;;;;;;WAcG;8BACmB,WAAW,GAAG,GAAG,QAAO,gBAAgB,GAAQ,WAAW,GAAG,IAAI;QAoExF;;;;;;;WAOG;8BACmB,MAAM,gBAAgB,GAAG,QAAQ,OAAO,GAAG,MAAM,GAAG,IAAI;QAa9E;;;;WAIG;mCACwB,MAAM,GAAG,IAAI;QASxC;;;;;;WAMG;+BACoB,MAAM,GAAG,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAYzC"}
@@ -0,0 +1,8 @@
1
+ import type { ArrangementStrategy, SlotDef, Vec3 } from './types.js';
2
+ export declare class FixedSlotStrategy implements ArrangementStrategy {
3
+ positionAt(index: number, slotDef: SlotDef, _occupantCount: number): Vec3 | null;
4
+ capacity(_slotDef: SlotDef): number;
5
+ }
6
+ /** Singleton — FixedSlotStrategy is stateless. */
7
+ export declare const fixedSlotStrategy: FixedSlotStrategy;
8
+ //# sourceMappingURL=fixed-slot-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixed-slot-strategy.d.ts","sourceRoot":"","sources":["../../src/transfer/fixed-slot-strategy.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEpE,qBAAa,iBAAkB,YAAW,mBAAmB;IAC3D,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKhF,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM;CAGpC;AAED,kDAAkD;AAClD,eAAO,MAAM,iBAAiB,mBAA0B,CAAA"}
@@ -0,0 +1,23 @@
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';
4
+ export { quatFromYaw, rectangularFootprintFrames, topApproachFrame, filterByToolType, chooseNearestPickupFrame } from './pickup-helpers.js';
5
+ export type { RectangularFootprintOptions, TopApproachOptions } from './pickup-helpers.js';
6
+ export { FixedSlotStrategy, fixedSlotStrategy } from './fixed-slot-strategy.js';
7
+ export { CenteringSlotStrategy } from './centering-slot-strategy.js';
8
+ export { ContainerCapacity, TRANSFER_SLOT_KEY } from './container-capacity.js';
9
+ export type { SimulationClock } from './simulation-clock.js';
10
+ export { globalSimClock } from './simulation-clock.js';
11
+ export { Transfer, transferLog, receiptToJSON } from './transfer.js';
12
+ export type { TransferPhase, TransferTimeline, TransferReceipt, TransferReceiptJSON, TransferLogStats, PhysicalRunner, TransferInit, TransferTraceEvent } from './transfer.js';
13
+ export { transferTracer } from './tracer.js';
14
+ export type { TraceLogInput } from './tracer.js';
15
+ export { isCarrierLine } from './carrier-line-capability.js';
16
+ export type { CarrierLine, CarrierReservation, CarrierSlotState, JoinPoint } from './carrier-line-capability.js';
17
+ export { isStorageRack, addressKey, parseAddressKey } from './storage-rack-capability.js';
18
+ export type { StorageRack, StorageSlotAddress, StorageSlotState, StorageReservation, SlotSearchCriteria } from './storage-rack-capability.js';
19
+ export { ReservationTable, reservationTable, standardYieldPolicy, NavGraph, buildNavGraph, planPathAStar, planToReservations } from '../navigation/index.js';
20
+ 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';
21
+ export * from '../types/polygon-path.js';
22
+ export * from '../types/polygon-path-arc.js';
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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;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,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;AAGrC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACzF,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EACnB,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"}
@@ -0,0 +1,65 @@
1
+ import type { PickupFrame, PickupRequester, Vec3, QuatLike, PoseSerialized } from './types.js';
2
+ /**
3
+ * Y 축 (3D vertical) 회전을 quaternion 으로. Three.js 없이 직접 계산 (cross-package
4
+ * 호환성).
5
+ *
6
+ * q = (0, sin(θ/2), 0, cos(θ/2))
7
+ */
8
+ export declare function quatFromYaw(yawRad: number): QuatLike;
9
+ export interface RectangularFootprintOptions {
10
+ /** carrier 의 world pose — entry 들이 이 frame 기준으로 회전/병진된다. */
11
+ carrierWorld: PoseSerialized;
12
+ /** carrier 의 가로 (X 방향). */
13
+ width: number;
14
+ /** carrier 의 세로 (Z 방향). */
15
+ depth: number;
16
+ /** entry 가 carrier 의 어느 높이에 있는가 (carrier-local Y). */
17
+ entryHeight: number;
18
+ /** approach 가 engage 에서 얼마나 떨어진 거리. */
19
+ approachDistance: number;
20
+ /** 어느 면에 entry 를 둘지. 'east'+'west' = 2-way, 4 개 다 = 4-way. */
21
+ sides: ReadonlyArray<'east' | 'west' | 'north' | 'south'>;
22
+ /** entry 의 toolType. 모두 동일하면 string, 면별 다르면 map. */
23
+ toolType: string | Partial<Record<'east' | 'west' | 'north' | 'south', string>>;
24
+ /** entry 의 tolerance. */
25
+ tolerance?: PickupFrame['tolerance'];
26
+ /** entry 의 priority. */
27
+ priority?: number;
28
+ }
29
+ /**
30
+ * 직사각형 carrier 의 N-면 진입 entry 들을 한꺼번에 생성.
31
+ *
32
+ * 각 entry 의 engage 는 carrier 의 해당 면 중심 (carrier-local), approach 는
33
+ * 그 외부 approachDistance 만큼 떨어진 점. 도구는 carrier 쪽을 향한 채 (yaw)
34
+ * 다가오는 자세.
35
+ */
36
+ export declare function rectangularFootprintFrames(options: RectangularFootprintOptions): PickupFrame[];
37
+ export interface TopApproachOptions {
38
+ carrierWorld: PoseSerialized;
39
+ /** carrier 의 top 표면 Y (carrier-local). */
40
+ topY: number;
41
+ /** approach 가 top 에서 얼마나 위에 있는가. */
42
+ approachDistance: number;
43
+ toolType: string;
44
+ tolerance?: PickupFrame['tolerance'];
45
+ priority?: number;
46
+ id?: string;
47
+ }
48
+ /**
49
+ * 위쪽 한 점 진입 (예: vacuum gripper 로 box 집기, 자석으로 철판 들기).
50
+ *
51
+ * engage 는 carrier 의 top 표면 중심, approach 는 그 위 approachDistance.
52
+ * 도구는 carrier 위에서 수직 하강 — yaw 보존 (도구가 회전하지 않음).
53
+ */
54
+ export declare function topApproachFrame(options: TopApproachOptions): PickupFrame;
55
+ /**
56
+ * Pickable.pickupFramesFor 의 기본 구현. 도구 type 일치하는 entry 만 통과.
57
+ * tool footprint 까지 검사하고 싶으면 carrier 가 자체 override.
58
+ */
59
+ export declare function filterByToolType(frames: PickupFrame[], requester: PickupRequester): PickupFrame[];
60
+ /**
61
+ * 두 entry 중 source 위치에 더 가까운 것을 고르는 helper. distance 는 approach
62
+ * pose 위치 기준. priority 가 다르면 priority 우선.
63
+ */
64
+ export declare function chooseNearestPickupFrame(frames: PickupFrame[], fromWorldPosition: Vec3): PickupFrame | null;
65
+ //# sourceMappingURL=pickup-helpers.d.ts.map
@@ -0,0 +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"}