@hatiolab/things-scene 10.0.0-beta.13 → 10.0.0-beta.131

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (465) 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 +10 -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-drawing.d.ts.map +1 -1
  21. package/dist-types/components/component-geometry.d.ts.map +1 -1
  22. package/dist-types/components/component-hierarchy.d.ts +1 -1
  23. package/dist-types/components/component-hierarchy.d.ts.map +1 -1
  24. package/dist-types/components/component.d.ts +33 -4
  25. package/dist-types/components/component.d.ts.map +1 -1
  26. package/dist-types/components/container-abstract.d.ts +56 -11
  27. package/dist-types/components/container-abstract.d.ts.map +1 -1
  28. package/dist-types/components/container.d.ts +9 -2
  29. package/dist-types/components/container.d.ts.map +1 -1
  30. package/dist-types/components/data/data.d.ts.map +1 -1
  31. package/dist-types/components/data/evaluator.d.ts +27 -0
  32. package/dist-types/components/data/evaluator.d.ts.map +1 -1
  33. package/dist-types/components/donut.d.ts.map +1 -1
  34. package/dist-types/components/drawer/fill.d.ts.map +1 -1
  35. package/dist-types/components/drawer/stroke.d.ts.map +1 -1
  36. package/dist-types/components/ellipse.d.ts +10 -3
  37. package/dist-types/components/ellipse.d.ts.map +1 -1
  38. package/dist-types/components/generic-placeholders.d.ts +294 -0
  39. package/dist-types/components/generic-placeholders.d.ts.map +1 -0
  40. package/dist-types/components/geometry/snap-guide.d.ts +45 -0
  41. package/dist-types/components/geometry/snap-guide.d.ts.map +1 -0
  42. package/dist-types/components/geometry/transcoord.d.ts.map +1 -1
  43. package/dist-types/components/global-ref.d.ts.map +1 -1
  44. package/dist-types/components/group.d.ts +2 -0
  45. package/dist-types/components/group.d.ts.map +1 -1
  46. package/dist-types/components/html/reposition.d.ts.map +1 -1
  47. package/dist-types/components/html/shadow.d.ts +33 -1
  48. package/dist-types/components/html/shadow.d.ts.map +1 -1
  49. package/dist-types/components/html-overlay-container.d.ts +9 -2
  50. package/dist-types/components/html-overlay-container.d.ts.map +1 -1
  51. package/dist-types/components/html-overlay-element.d.ts +19 -5
  52. package/dist-types/components/html-overlay-element.d.ts.map +1 -1
  53. package/dist-types/components/image-view.d.ts +10 -3
  54. package/dist-types/components/image-view.d.ts.map +1 -1
  55. package/dist-types/components/index.d.ts +7 -0
  56. package/dist-types/components/index.d.ts.map +1 -1
  57. package/dist-types/components/info-window.d.ts +10 -3
  58. package/dist-types/components/info-window.d.ts.map +1 -1
  59. package/dist-types/components/line.d.ts +2 -1
  60. package/dist-types/components/line.d.ts.map +1 -1
  61. package/dist-types/components/local-ref.d.ts +10 -3
  62. package/dist-types/components/local-ref.d.ts.map +1 -1
  63. package/dist-types/components/mixins/connectable.d.ts +10 -3
  64. package/dist-types/components/mixins/connectable.d.ts.map +1 -1
  65. package/dist-types/components/mixins/data-source.d.ts +10 -3
  66. package/dist-types/components/mixins/data-source.d.ts.map +1 -1
  67. package/dist-types/components/mixins/gltf-component.d.ts +282 -0
  68. package/dist-types/components/mixins/gltf-component.d.ts.map +1 -0
  69. package/dist-types/components/mixins/holdable.d.ts +12 -0
  70. package/dist-types/components/mixins/holdable.d.ts.map +1 -0
  71. package/dist-types/components/mixins/html-element.d.ts +9 -2
  72. package/dist-types/components/mixins/html-element.d.ts.map +1 -1
  73. package/dist-types/components/mixins/move-handle.d.ts +19 -7
  74. package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
  75. package/dist-types/components/mixins/rect-path.d.ts +10 -3
  76. package/dist-types/components/mixins/rect-path.d.ts.map +1 -1
  77. package/dist-types/components/mixins/three-d-only.d.ts +250 -0
  78. package/dist-types/components/mixins/three-d-only.d.ts.map +1 -0
  79. package/dist-types/components/mixins/value-holder.d.ts +10 -3
  80. package/dist-types/components/mixins/value-holder.d.ts.map +1 -1
  81. package/dist-types/components/mutater/path.d.ts.map +1 -1
  82. package/dist-types/components/node.d.ts +10 -3
  83. package/dist-types/components/node.d.ts.map +1 -1
  84. package/dist-types/components/outline/path-outline.d.ts.map +1 -1
  85. package/dist-types/components/polygon-container.d.ts +61 -0
  86. package/dist-types/components/polygon-container.d.ts.map +1 -0
  87. package/dist-types/components/polygon.d.ts +2 -0
  88. package/dist-types/components/polygon.d.ts.map +1 -1
  89. package/dist-types/components/polyline.d.ts +6 -0
  90. package/dist-types/components/polyline.d.ts.map +1 -1
  91. package/dist-types/components/popup-container.d.ts +25 -0
  92. package/dist-types/components/popup-container.d.ts.map +1 -0
  93. package/dist-types/components/popup.d.ts +40 -3
  94. package/dist-types/components/popup.d.ts.map +1 -1
  95. package/dist-types/components/position/popup-position.d.ts +11 -0
  96. package/dist-types/components/position/popup-position.d.ts.map +1 -1
  97. package/dist-types/components/rect.d.ts +20 -6
  98. package/dist-types/components/rect.d.ts.map +1 -1
  99. package/dist-types/components/retention/retention-manager.d.ts +9 -1
  100. package/dist-types/components/retention/retention-manager.d.ts.map +1 -1
  101. package/dist-types/components/root-container.d.ts +18 -4
  102. package/dist-types/components/root-container.d.ts.map +1 -1
  103. package/dist-types/components/ruler.d.ts +10 -3
  104. package/dist-types/components/ruler.d.ts.map +1 -1
  105. package/dist-types/components/service-component.d.ts +271 -0
  106. package/dist-types/components/service-component.d.ts.map +1 -0
  107. package/dist-types/components/shape.d.ts.map +1 -1
  108. package/dist-types/components/star.d.ts.map +1 -1
  109. package/dist-types/components/text.d.ts +10 -3
  110. package/dist-types/components/text.d.ts.map +1 -1
  111. package/dist-types/core/dom-to-image.d.ts.map +1 -1
  112. package/dist-types/core/logger.d.ts.map +1 -1
  113. package/dist-types/core/memoize.d.ts.map +1 -1
  114. package/dist-types/decorator/decorator-registry.d.ts +14 -1
  115. package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
  116. package/dist-types/decorator/decorators/animated-icon-decorator.d.ts.map +1 -1
  117. package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts +0 -4
  118. package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts.map +1 -1
  119. package/dist-types/decorator/decorators/bouncing-arrow-decorator.d.ts +0 -3
  120. package/dist-types/decorator/decorators/bouncing-arrow-decorator.d.ts.map +1 -1
  121. package/dist-types/decorator/decorators/data-spread-decorator.d.ts +16 -0
  122. package/dist-types/decorator/decorators/data-spread-decorator.d.ts.map +1 -1
  123. package/dist-types/diagnostics/contract-inspector.d.ts +110 -0
  124. package/dist-types/diagnostics/contract-inspector.d.ts.map +1 -0
  125. package/dist-types/diagnostics/data-lag-tracker.d.ts +50 -0
  126. package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -0
  127. package/dist-types/diagnostics/inspector.d.ts +192 -5
  128. package/dist-types/diagnostics/inspector.d.ts.map +1 -1
  129. package/dist-types/diagnostics/load-tracker.d.ts +82 -0
  130. package/dist-types/diagnostics/load-tracker.d.ts.map +1 -0
  131. package/dist-types/diagnostics/loading-overlay.d.ts +58 -0
  132. package/dist-types/diagnostics/loading-overlay.d.ts.map +1 -0
  133. package/dist-types/diagnostics/metrics.d.ts +10 -0
  134. package/dist-types/diagnostics/metrics.d.ts.map +1 -1
  135. package/dist-types/effect/shadow.d.ts +3 -1
  136. package/dist-types/effect/shadow.d.ts.map +1 -1
  137. package/dist-types/event-map/index.d.ts +1 -0
  138. package/dist-types/event-map/index.d.ts.map +1 -1
  139. package/dist-types/event-map/transition-handler.d.ts +2 -0
  140. package/dist-types/event-map/transition-handler.d.ts.map +1 -0
  141. package/dist-types/flow/auto-route.d.ts +36 -0
  142. package/dist-types/flow/auto-route.d.ts.map +1 -0
  143. package/dist-types/flow/face-anchors.d.ts +26 -0
  144. package/dist-types/flow/face-anchors.d.ts.map +1 -0
  145. package/dist-types/flow/flow-engine.d.ts +122 -0
  146. package/dist-types/flow/flow-engine.d.ts.map +1 -0
  147. package/dist-types/flow/flow-graph-coordinator.d.ts +80 -0
  148. package/dist-types/flow/flow-graph-coordinator.d.ts.map +1 -0
  149. package/dist-types/flow/flow-graph-validator.d.ts +33 -0
  150. package/dist-types/flow/flow-graph-validator.d.ts.map +1 -0
  151. package/dist-types/flow/flow-graph.d.ts +76 -0
  152. package/dist-types/flow/flow-graph.d.ts.map +1 -0
  153. package/dist-types/flow/flow-introspection.d.ts +36 -0
  154. package/dist-types/flow/flow-introspection.d.ts.map +1 -0
  155. package/dist-types/flow/flow-node.d.ts +69 -0
  156. package/dist-types/flow/flow-node.d.ts.map +1 -0
  157. package/dist-types/flow/flow-orientation-coordinator.d.ts +13 -0
  158. package/dist-types/flow/flow-orientation-coordinator.d.ts.map +1 -0
  159. package/dist-types/flow/flow-orientation.d.ts +42 -0
  160. package/dist-types/flow/flow-orientation.d.ts.map +1 -0
  161. package/dist-types/flow/flow-trace.d.ts +5 -0
  162. package/dist-types/flow/flow-trace.d.ts.map +1 -0
  163. package/dist-types/flow/index.d.ts +16 -0
  164. package/dist-types/flow/index.d.ts.map +1 -0
  165. package/dist-types/flow/segment-topology.d.ts +225 -0
  166. package/dist-types/flow/segment-topology.d.ts.map +1 -0
  167. package/dist-types/flow/station-host-inference.d.ts +23 -0
  168. package/dist-types/flow/station-host-inference.d.ts.map +1 -0
  169. package/dist-types/interfaces/event-handler.d.ts +40 -0
  170. package/dist-types/interfaces/event-handler.d.ts.map +1 -0
  171. package/dist-types/interfaces/index.d.ts +2 -0
  172. package/dist-types/interfaces/index.d.ts.map +1 -1
  173. package/dist-types/interfaces/layout.d.ts +35 -1
  174. package/dist-types/interfaces/layout.d.ts.map +1 -1
  175. package/dist-types/interfaces/providers.d.ts +27 -3
  176. package/dist-types/interfaces/providers.d.ts.map +1 -1
  177. package/dist-types/interfaces/real-object.d.ts +8 -1
  178. package/dist-types/interfaces/real-object.d.ts.map +1 -1
  179. package/dist-types/interfaces/rendering.d.ts +86 -14
  180. package/dist-types/interfaces/rendering.d.ts.map +1 -1
  181. package/dist-types/interfaces/types.d.ts +20 -1
  182. package/dist-types/interfaces/types.d.ts.map +1 -1
  183. package/dist-types/items/arrangement/centering-queue-strategy.d.ts +10 -0
  184. package/dist-types/items/arrangement/centering-queue-strategy.d.ts.map +1 -0
  185. package/dist-types/items/arrangement/index.d.ts +2 -0
  186. package/dist-types/items/arrangement/index.d.ts.map +1 -0
  187. package/dist-types/items/capacity-mixin.d.ts +303 -0
  188. package/dist-types/items/capacity-mixin.d.ts.map +1 -0
  189. package/dist-types/items/capacity.d.ts +53 -0
  190. package/dist-types/items/capacity.d.ts.map +1 -0
  191. package/dist-types/items/index.d.ts +7 -0
  192. package/dist-types/items/index.d.ts.map +1 -0
  193. package/dist-types/items/items-data-binding.d.ts +103 -0
  194. package/dist-types/items/items-data-binding.d.ts.map +1 -0
  195. package/dist-types/items/slot-record.d.ts +23 -0
  196. package/dist-types/items/slot-record.d.ts.map +1 -0
  197. package/dist-types/items/stacking/index.d.ts +3 -0
  198. package/dist-types/items/stacking/index.d.ts.map +1 -0
  199. package/dist-types/items/stacking/stack-layout.d.ts +33 -0
  200. package/dist-types/items/stacking/stack-layout.d.ts.map +1 -0
  201. package/dist-types/items/stacking/stacking-strategy.d.ts +114 -0
  202. package/dist-types/items/stacking/stacking-strategy.d.ts.map +1 -0
  203. package/dist-types/layer/action/popup.d.ts +13 -0
  204. package/dist-types/layer/action/popup.d.ts.map +1 -1
  205. package/dist-types/layer/add-layer.d.ts +8 -0
  206. package/dist-types/layer/add-layer.d.ts.map +1 -1
  207. package/dist-types/layer/dual-canvas-layer.d.ts.map +1 -1
  208. package/dist-types/layer/index.d.ts +1 -0
  209. package/dist-types/layer/index.d.ts.map +1 -1
  210. package/dist-types/layer/layer.d.ts +2 -0
  211. package/dist-types/layer/layer.d.ts.map +1 -1
  212. package/dist-types/layer/model-layer.d.ts +81 -7
  213. package/dist-types/layer/model-layer.d.ts.map +1 -1
  214. package/dist-types/layer/modeler/index.d.ts +1 -0
  215. package/dist-types/layer/modeler/index.d.ts.map +1 -1
  216. package/dist-types/layer/modeler/move-handle-icon.d.ts +2 -0
  217. package/dist-types/layer/modeler/move-handle-icon.d.ts.map +1 -0
  218. package/dist-types/layer/modeler/move-handle-modeler.d.ts +18 -0
  219. package/dist-types/layer/modeler/move-handle-modeler.d.ts.map +1 -0
  220. package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
  221. package/dist-types/layer/modeler/rotator.d.ts.map +1 -1
  222. package/dist-types/layer/modeling-layer.d.ts +19 -0
  223. package/dist-types/layer/modeling-layer.d.ts.map +1 -1
  224. package/dist-types/layer/selection/selected-finder.d.ts +1 -1
  225. package/dist-types/layer/selection/selected-finder.d.ts.map +1 -1
  226. package/dist-types/layer/selection-layer.d.ts +7 -0
  227. package/dist-types/layer/selection-layer.d.ts.map +1 -1
  228. package/dist-types/layer/snap-guide-layer.d.ts +23 -0
  229. package/dist-types/layer/snap-guide-layer.d.ts.map +1 -0
  230. package/dist-types/layout/absolute.d.ts +2 -2
  231. package/dist-types/layout/card.d.ts +2 -2
  232. package/dist-types/layout/linear-horizontal.d.ts +2 -2
  233. package/dist-types/layout/linear-vertical.d.ts +2 -2
  234. package/dist-types/layout/table.d.ts +3 -3
  235. package/dist-types/license/license.d.ts.map +1 -1
  236. package/dist-types/math/component-pose.d.ts +51 -0
  237. package/dist-types/math/component-pose.d.ts.map +1 -0
  238. package/dist-types/math/index.d.ts +3 -0
  239. package/dist-types/math/index.d.ts.map +1 -0
  240. package/dist-types/math/pose6dof.d.ts +93 -0
  241. package/dist-types/math/pose6dof.d.ts.map +1 -0
  242. package/dist-types/navigation/index.d.ts +7 -0
  243. package/dist-types/navigation/index.d.ts.map +1 -0
  244. package/dist-types/navigation/nav-graph.d.ts +55 -0
  245. package/dist-types/navigation/nav-graph.d.ts.map +1 -0
  246. package/dist-types/navigation/path-planner.d.ts +29 -0
  247. package/dist-types/navigation/path-planner.d.ts.map +1 -0
  248. package/dist-types/navigation/reservation-table.d.ts +103 -0
  249. package/dist-types/navigation/reservation-table.d.ts.map +1 -0
  250. package/dist-types/navigation/types.d.ts +145 -0
  251. package/dist-types/navigation/types.d.ts.map +1 -0
  252. package/dist-types/placement/index.d.ts +3 -0
  253. package/dist-types/placement/index.d.ts.map +1 -0
  254. package/dist-types/placement/placement.d.ts +53 -0
  255. package/dist-types/placement/placement.d.ts.map +1 -0
  256. package/dist-types/search/index.d.ts +3 -0
  257. package/dist-types/search/index.d.ts.map +1 -0
  258. package/dist-types/search/scene-search-engine.d.ts +64 -0
  259. package/dist-types/search/scene-search-engine.d.ts.map +1 -0
  260. package/dist-types/search/search-overlay.d.ts +94 -0
  261. package/dist-types/search/search-overlay.d.ts.map +1 -0
  262. package/dist-types/things-scene/api/add-start.d.ts +25 -0
  263. package/dist-types/things-scene/api/add-start.d.ts.map +1 -1
  264. package/dist-types/things-scene/api/align.d.ts.map +1 -1
  265. package/dist-types/things-scene/api/distribute.d.ts.map +1 -1
  266. package/dist-types/things-scene/api/ids.d.ts +4 -1
  267. package/dist-types/things-scene/api/ids.d.ts.map +1 -1
  268. package/dist-types/things-scene/api/index.d.ts +1 -1
  269. package/dist-types/things-scene/api/index.d.ts.map +1 -1
  270. package/dist-types/things-scene/api/place.d.ts.map +1 -1
  271. package/dist-types/things-scene/api/zorder.d.ts.map +1 -1
  272. package/dist-types/things-scene/application-context.d.ts +62 -0
  273. package/dist-types/things-scene/application-context.d.ts.map +1 -1
  274. package/dist-types/things-scene/create.d.ts +43 -3
  275. package/dist-types/things-scene/create.d.ts.map +1 -1
  276. package/dist-types/things-scene/index.d.ts +29 -0
  277. package/dist-types/things-scene/index.d.ts.map +1 -1
  278. package/dist-types/things-scene/scene.d.ts +120 -2
  279. package/dist-types/things-scene/scene.d.ts.map +1 -1
  280. package/dist-types/threed/arrow-3d.d.ts +13 -4
  281. package/dist-types/threed/arrow-3d.d.ts.map +1 -1
  282. package/dist-types/threed/environments/base-environment.d.ts +17 -0
  283. package/dist-types/threed/environments/base-environment.d.ts.map +1 -0
  284. package/dist-types/threed/environments/cloudy-environment.d.ts +10 -0
  285. package/dist-types/threed/environments/cloudy-environment.d.ts.map +1 -0
  286. package/dist-types/threed/environments/factory-environment.d.ts +3 -3
  287. package/dist-types/threed/environments/factory-environment.d.ts.map +1 -1
  288. package/dist-types/threed/environments/home-environment.d.ts +3 -3
  289. package/dist-types/threed/environments/home-environment.d.ts.map +1 -1
  290. package/dist-types/threed/environments/office-environment.d.ts +3 -3
  291. package/dist-types/threed/environments/office-environment.d.ts.map +1 -1
  292. package/dist-types/threed/environments/rainy-environment.d.ts +10 -0
  293. package/dist-types/threed/environments/rainy-environment.d.ts.map +1 -0
  294. package/dist-types/threed/environments/studio-environment.d.ts +2 -3
  295. package/dist-types/threed/environments/studio-environment.d.ts.map +1 -1
  296. package/dist-types/threed/environments/sunny-environment.d.ts +10 -0
  297. package/dist-types/threed/environments/sunny-environment.d.ts.map +1 -0
  298. package/dist-types/threed/environments/warehouse-environment.d.ts +3 -3
  299. package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -1
  300. package/dist-types/threed/factories/backdrop.d.ts +541 -0
  301. package/dist-types/threed/factories/backdrop.d.ts.map +1 -0
  302. package/dist-types/threed/factories/banner.d.ts +16 -4
  303. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  304. package/dist-types/threed/factories/camera.d.ts +12 -3
  305. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  306. package/dist-types/threed/factories/cube.d.ts +11 -3
  307. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  308. package/dist-types/threed/factories/cylinder.d.ts +1 -0
  309. package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
  310. package/dist-types/threed/factories/decal.d.ts +516 -0
  311. package/dist-types/threed/factories/decal.d.ts.map +1 -0
  312. package/dist-types/threed/factories/floor-plate.d.ts +11 -0
  313. package/dist-types/threed/factories/floor-plate.d.ts.map +1 -0
  314. package/dist-types/threed/factories/gltf-object.d.ts +270 -38
  315. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  316. package/dist-types/threed/factories/group.d.ts +2 -0
  317. package/dist-types/threed/factories/group.d.ts.map +1 -0
  318. package/dist-types/threed/factories/light.d.ts +1 -0
  319. package/dist-types/threed/factories/light.d.ts.map +1 -1
  320. package/dist-types/threed/factories/line.d.ts +10 -0
  321. package/dist-types/threed/factories/line.d.ts.map +1 -0
  322. package/dist-types/threed/factories/ortholine.d.ts +10 -0
  323. package/dist-types/threed/factories/ortholine.d.ts.map +1 -0
  324. package/dist-types/threed/factories/polygon.d.ts +19 -0
  325. package/dist-types/threed/factories/polygon.d.ts.map +1 -1
  326. package/dist-types/threed/factories/polyline.d.ts +10 -0
  327. package/dist-types/threed/factories/polyline.d.ts.map +1 -0
  328. package/dist-types/threed/factories/rect.d.ts.map +1 -1
  329. package/dist-types/threed/factories/sphere.d.ts +6 -0
  330. package/dist-types/threed/factories/sphere.d.ts.map +1 -1
  331. package/dist-types/threed/factories/sprite.d.ts +11 -3
  332. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  333. package/dist-types/threed/factories/triangle.d.ts.map +1 -1
  334. package/dist-types/threed/factories/wall.d.ts +11 -3
  335. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  336. package/dist-types/threed/floor/floor.d.ts.map +1 -1
  337. package/dist-types/threed/handle-3d.d.ts +21 -0
  338. package/dist-types/threed/handle-3d.d.ts.map +1 -0
  339. package/dist-types/threed/html/elements.d.ts.map +1 -1
  340. package/dist-types/threed/index.d.ts +24 -0
  341. package/dist-types/threed/index.d.ts.map +1 -1
  342. package/dist-types/threed/managers/box-selection-manager.d.ts +26 -0
  343. package/dist-types/threed/managers/box-selection-manager.d.ts.map +1 -0
  344. package/dist-types/threed/managers/camera-bookmark-manager.d.ts +66 -32
  345. package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -1
  346. package/dist-types/threed/managers/camera-manager.d.ts +9 -3
  347. package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
  348. package/dist-types/threed/managers/controls-manager.d.ts +25 -4
  349. package/dist-types/threed/managers/controls-manager.d.ts.map +1 -1
  350. package/dist-types/threed/managers/event-manager3d.d.ts +14 -0
  351. package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
  352. package/dist-types/threed/managers/gizmo-manager.d.ts +6 -0
  353. package/dist-types/threed/managers/gizmo-manager.d.ts.map +1 -1
  354. package/dist-types/threed/managers/gizmo-operation-manager.d.ts +54 -1
  355. package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
  356. package/dist-types/threed/managers/index.d.ts +3 -1
  357. package/dist-types/threed/managers/index.d.ts.map +1 -1
  358. package/dist-types/threed/managers/interaction-manager.d.ts +17 -0
  359. package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
  360. package/dist-types/threed/managers/light-manager.d.ts +15 -0
  361. package/dist-types/threed/managers/light-manager.d.ts.map +1 -1
  362. package/dist-types/threed/managers/renderer-manager.d.ts +37 -0
  363. package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
  364. package/dist-types/threed/managers/scene-manager.d.ts +12 -2
  365. package/dist-types/threed/managers/scene-manager.d.ts.map +1 -1
  366. package/dist-types/threed/managers/types.d.ts +4 -2
  367. package/dist-types/threed/managers/types.d.ts.map +1 -1
  368. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts +154 -0
  369. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -0
  370. package/dist-types/threed/material-3d.d.ts +5 -2
  371. package/dist-types/threed/material-3d.d.ts.map +1 -1
  372. package/dist-types/threed/ratio-lock-utils.d.ts +9 -0
  373. package/dist-types/threed/ratio-lock-utils.d.ts.map +1 -0
  374. package/dist-types/threed/real-object-dom-element.d.ts +2 -0
  375. package/dist-types/threed/real-object-dom-element.d.ts.map +1 -1
  376. package/dist-types/threed/real-object-dom-texture.d.ts +9 -0
  377. package/dist-types/threed/real-object-dom-texture.d.ts.map +1 -1
  378. package/dist-types/threed/real-object-external-model.d.ts +24 -0
  379. package/dist-types/threed/real-object-external-model.d.ts.map +1 -0
  380. package/dist-types/threed/real-object-extrude.d.ts +16 -1
  381. package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
  382. package/dist-types/threed/real-object-gltf.d.ts +21 -11
  383. package/dist-types/threed/real-object-gltf.d.ts.map +1 -1
  384. package/dist-types/threed/real-object-group.d.ts +2 -0
  385. package/dist-types/threed/real-object-group.d.ts.map +1 -1
  386. package/dist-types/threed/real-object-line.d.ts +83 -0
  387. package/dist-types/threed/real-object-line.d.ts.map +1 -0
  388. package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
  389. package/dist-types/threed/real-object-plane-2d.d.ts +23 -0
  390. package/dist-types/threed/real-object-plane-2d.d.ts.map +1 -1
  391. package/dist-types/threed/real-object-service.d.ts +14 -0
  392. package/dist-types/threed/real-object-service.d.ts.map +1 -0
  393. package/dist-types/threed/real-object-sprite.d.ts +7 -1
  394. package/dist-types/threed/real-object-sprite.d.ts.map +1 -1
  395. package/dist-types/threed/real-object-text.d.ts +5 -0
  396. package/dist-types/threed/real-object-text.d.ts.map +1 -1
  397. package/dist-types/threed/real-object.d.ts +261 -7
  398. package/dist-types/threed/real-object.d.ts.map +1 -1
  399. package/dist-types/threed/text-editor-3d.d.ts +11 -0
  400. package/dist-types/threed/text-editor-3d.d.ts.map +1 -0
  401. package/dist-types/threed/texture/canvas-texture.d.ts +7 -0
  402. package/dist-types/threed/texture/canvas-texture.d.ts.map +1 -1
  403. package/dist-types/threed/texture/fillstyle-texture.d.ts +57 -0
  404. package/dist-types/threed/texture/fillstyle-texture.d.ts.map +1 -0
  405. package/dist-types/threed/texture/text-texture.d.ts +15 -0
  406. package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
  407. package/dist-types/threed/three-capability.d.ts +131 -15
  408. package/dist-types/threed/three-capability.d.ts.map +1 -1
  409. package/dist-types/threed/three-container.d.ts +0 -1
  410. package/dist-types/threed/three-container.d.ts.map +1 -1
  411. package/dist-types/threed/three-dimensional-container.d.ts +0 -1
  412. package/dist-types/threed/three-dimensional-container.d.ts.map +1 -1
  413. package/dist-types/threed/utils/anchor.d.ts +33 -0
  414. package/dist-types/threed/utils/anchor.d.ts.map +1 -0
  415. package/dist-types/threed/utils/dispose.d.ts.map +1 -1
  416. package/dist-types/threed/utils/polygon-shape.d.ts +21 -0
  417. package/dist-types/threed/utils/polygon-shape.d.ts.map +1 -0
  418. package/dist-types/threed/utils/tether.d.ts +46 -0
  419. package/dist-types/threed/utils/tether.d.ts.map +1 -0
  420. package/dist-types/threed/z-priority.d.ts +27 -0
  421. package/dist-types/threed/z-priority.d.ts.map +1 -0
  422. package/dist-types/tracker/tracker.d.ts +57 -0
  423. package/dist-types/tracker/tracker.d.ts.map +1 -0
  424. package/dist-types/transfer/carrier-line-capability.d.ts +95 -0
  425. package/dist-types/transfer/carrier-line-capability.d.ts.map +1 -0
  426. package/dist-types/transfer/centering-slot-strategy.d.ts +8 -0
  427. package/dist-types/transfer/centering-slot-strategy.d.ts.map +1 -0
  428. package/dist-types/transfer/fixed-slot-strategy.d.ts +8 -0
  429. package/dist-types/transfer/fixed-slot-strategy.d.ts.map +1 -0
  430. package/dist-types/transfer/index.d.ts +24 -0
  431. package/dist-types/transfer/index.d.ts.map +1 -0
  432. package/dist-types/transfer/pickup-helpers.d.ts +75 -0
  433. package/dist-types/transfer/pickup-helpers.d.ts.map +1 -0
  434. package/dist-types/transfer/simulation-clock.d.ts +45 -0
  435. package/dist-types/transfer/simulation-clock.d.ts.map +1 -0
  436. package/dist-types/transfer/tracer.d.ts +35 -0
  437. package/dist-types/transfer/tracer.d.ts.map +1 -0
  438. package/dist-types/transfer/transfer-helpers.d.ts +18 -0
  439. package/dist-types/transfer/transfer-helpers.d.ts.map +1 -0
  440. package/dist-types/transfer/transfer.d.ts +257 -0
  441. package/dist-types/transfer/transfer.d.ts.map +1 -0
  442. package/dist-types/transfer/transferable-mixin.d.ts +275 -0
  443. package/dist-types/transfer/transferable-mixin.d.ts.map +1 -0
  444. package/dist-types/transfer/types.d.ts +462 -0
  445. package/dist-types/transfer/types.d.ts.map +1 -0
  446. package/dist-types/transition/transition-effect.d.ts +117 -0
  447. package/dist-types/transition/transition-effect.d.ts.map +1 -0
  448. package/dist-types/types/bounding.d.ts +1 -1
  449. package/dist-types/types/bounding.d.ts.map +1 -1
  450. package/dist-types/types/capability.d.ts +59 -0
  451. package/dist-types/types/capability.d.ts.map +1 -0
  452. package/dist-types/types/component.d.ts +6 -177
  453. package/dist-types/types/component.d.ts.map +1 -1
  454. package/dist-types/types/event.d.ts +57 -0
  455. package/dist-types/types/event.d.ts.map +1 -1
  456. package/dist-types/types/polygon-path-arc.d.ts +72 -0
  457. package/dist-types/types/polygon-path-arc.d.ts.map +1 -0
  458. package/dist-types/types/polygon-path.d.ts +153 -0
  459. package/dist-types/types/polygon-path.d.ts.map +1 -0
  460. package/package.json +13 -2
  461. package/things-scene-min.js +12 -13
  462. package/things-scene-min.js.map +1 -1
  463. package/things-scene-transfer.mjs +7 -0
  464. package/things-scene.mjs +8 -9
  465. package/things-scene.mjs.map +1 -1
@@ -4,9 +4,16 @@ import type { Properties } from './types.js';
4
4
  * Component의 3D 표현을 담당하는 객체가 구현해야 하는 계약.
5
5
  * 실제 구현은 src/threed/real-object.ts에서 제공.
6
6
  *
7
- * Three.js 의존성 없음 THREE 관련 멤버는 IThreeRealObject(src/threed/interfaces.ts)에서 확장.
7
+ * Three.js 직접 import 의존성은 없지만, 모든 구현(RealObject<T extends THREE.Object3D>)
8
+ * object3d 를 갖기 때문에 인터페이스에도 노출. 타입은 any — 명시 타입이 필요한
9
+ * 곳은 IThreeRealObject(src/threed/interfaces.ts) 또는 구체 구현 클래스로 좁혀 사용.
8
10
  */
9
11
  export interface IRealObject {
12
+ /**
13
+ * THREE.Object3D 인스턴스. THREE 의존성 회피를 위해 any 로 노출.
14
+ * 명시 THREE.Object3D 타입이 필요하면 IThreeRealObject 로 narrow.
15
+ */
16
+ object3d?: any;
10
17
  /** 3D 오브젝트 업데이트 (build + dimension + transform + 외관) */
11
18
  update(): void;
12
19
  /** 리소스 해제 */
@@ -1 +1 @@
1
- {"version":3,"file":"real-object.d.ts","sourceRoot":"","sources":["../../src/interfaces/real-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAE1B,wDAAwD;IACxD,MAAM,IAAI,IAAI,CAAA;IACd,aAAa;IACb,OAAO,IAAI,IAAI,CAAA;IAGf,0CAA0C;IAC1C,eAAe,IAAI,IAAI,CAAA;IACvB,oDAAoD;IACpD,eAAe,IAAI,IAAI,CAAA;IACvB,eAAe;IACf,cAAc,IAAI,IAAI,CAAA;IAGtB,gBAAgB;IAChB,WAAW,IAAI,IAAI,CAAA;IACnB,eAAe;IACf,YAAY,IAAI,IAAI,CAAA;IACpB,iBAAiB;IACjB,eAAe,IAAI,IAAI,CAAA;IACvB,eAAe;IACf,iBAAiB,IAAI,IAAI,CAAA;IACzB,gBAAgB;IAChB,UAAU,IAAI,IAAI,CAAA;IAGlB,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IAGrD,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB"}
1
+ {"version":3,"file":"real-object.d.ts","sourceRoot":"","sources":["../../src/interfaces/real-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAA;IAGd,wDAAwD;IACxD,MAAM,IAAI,IAAI,CAAA;IACd,aAAa;IACb,OAAO,IAAI,IAAI,CAAA;IAGf,0CAA0C;IAC1C,eAAe,IAAI,IAAI,CAAA;IACvB,oDAAoD;IACpD,eAAe,IAAI,IAAI,CAAA;IACvB,eAAe;IACf,cAAc,IAAI,IAAI,CAAA;IAGtB,gBAAgB;IAChB,WAAW,IAAI,IAAI,CAAA;IACnB,eAAe;IACf,YAAY,IAAI,IAAI,CAAA;IACpB,iBAAiB;IACjB,eAAe,IAAI,IAAI,CAAA;IACvB,eAAe;IACf,iBAAiB,IAAI,IAAI,CAAA;IACzB,gBAAgB;IAChB,UAAU,IAAI,IAAI,CAAA;IAGlB,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IAGrD,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB"}
@@ -12,59 +12,131 @@ export interface DrawOptions {
12
12
  override?: Record<string, any>;
13
13
  }
14
14
  /**
15
- * 스타일 옵션을 정의하는 인터페이스
15
+ * 스타일 옵션 gradient / pattern 타입 fillStyle 의 공통 베이스.
16
+ *
17
+ * 주의: 'solid' 채우기는 객체가 아니라 단순 색상 문자열이다 (`state.fillStyle = '#ff0000'`).
18
+ * 이 인터페이스는 객체 형태일 때만 (gradient / pattern) 적용된다.
16
19
  */
17
20
  export interface StyleOptions {
18
21
  type?: string;
19
- gradientType?: string;
22
+ gradientType?: 'linear' | 'radial';
20
23
  rotation?: number;
21
24
  color?: string;
22
- colors?: string[];
23
- stops?: number[];
25
+ /** 인덱스 시그니처 — pattern 의 fitPattern / align / offsetX / offsetY 등 자유 필드 허용. */
24
26
  [key: string]: any;
25
27
  }
26
28
  /**
27
- * 채우기 스타일을 정의하는 인터페이스
29
+ * 채우기 스타일 `state.fillStyle` 타입.
30
+ *
31
+ * 실제 형식 (drawer/fill.ts 검증):
32
+ * - **solid**: 그냥 색상 문자열 — 객체 아님. e.g., `state.fillStyle = '#ff0000'` 또는 `'rgba(...)'`.
33
+ * - **gradient**: 객체 — `{ type: 'gradient', gradientType, colorStops: [{position, color}], rotation, ... }`
34
+ * - **pattern**: 객체 — `{ type: 'pattern', image, fitPattern?, noRepeat?, align?, offsetX?, offsetY?, width?, height?, color? }`
35
+ * - **none**: `undefined` 또는 `null`.
36
+ *
37
+ * 따라서 `state.fillStyle` 의 실제 타입은 `string | FillStyle | undefined`.
28
38
  */
39
+ export type FillStyleValue = string | FillStyle | undefined;
29
40
  export interface FillStyle extends StyleOptions {
30
- type: 'solid' | 'gradient' | 'pattern' | 'image';
31
- color?: string;
41
+ type: 'gradient' | 'pattern';
42
+ /** gradient: 색상-위치 stops. drawer/fill.ts:79 가 사용. */
43
+ colorStops?: Array<{
44
+ position: number;
45
+ color: string;
46
+ }>;
47
+ /** pattern: 이미지 URL 또는 asset 참조. */
48
+ image?: string;
49
+ /** pattern: 영역에 맞춰 비율 조정. */
50
+ fitPattern?: boolean;
51
+ /** pattern: 반복 안 함 (1회만). */
52
+ noRepeat?: boolean;
53
+ /** pattern: 영역 내 정렬. */
54
+ align?: 'center' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom' | 'left' | 'right' | 'top' | 'bottom';
55
+ /** pattern: fitPattern=false 일 때 영역 내 위치. */
56
+ offsetX?: number;
57
+ offsetY?: number;
58
+ /** pattern: 패턴 크기 (기본은 이미지 원본 크기). */
59
+ width?: number;
60
+ height?: number;
61
+ /** 컴포넌트 alpha 와 별개 — gradient/pattern 의 자체 투명도. */
32
62
  opacity?: number;
33
63
  }
34
64
  /**
35
- * 선 스타일을 정의하는 인터페이스
65
+ * 선 / 테두리 스타일 — **state 에 top-level flat 으로 저장되는 필드들**.
66
+ *
67
+ * 실제 형식 (drawer/stroke.ts:6 destructure 검증):
68
+ * `{ strokeStyle, lineDash, lineWidth, lineCap, lineJoin, alpha } = component.state`
69
+ *
70
+ * - `state.strokeStyle`: 색상 문자열 (Canvas API 의 strokeStyle 직접 대입)
71
+ * - `state.lineWidth`: number
72
+ * - `state.lineDash`: STRING preset 이름 — 'solid' / 'round-dot' / 'square-dot' /
73
+ * 'dash' / 'dash-dot' / 'long-dash' / 'long-dash-dot' / 'long-dash-dot-dot'
74
+ * - `state.lineCap`: 'butt' | 'round' | 'square'
75
+ * - `state.lineJoin`: 'miter' | 'round' | 'bevel'
76
+ *
77
+ * 이 인터페이스는 historic 한 객체 구조 — 실제로는 사용 안 됨. 참고용.
78
+ * 새 코드는 state 의 top-level 필드를 직접 사용할 것.
36
79
  */
37
80
  export interface StrokeStyle {
81
+ /** @deprecated 실제로는 `state.lineWidth` (top-level). */
38
82
  width?: number;
83
+ /** @deprecated 실제로는 `state.strokeStyle` (string color). */
39
84
  color?: string;
85
+ /** @deprecated 실제로는 컴포넌트 `state.alpha` 가 stroke 에도 적용. */
40
86
  opacity?: number;
87
+ /** @deprecated 실제로는 `state.lineCap`. */
41
88
  lineCap?: CanvasLineCap;
89
+ /** @deprecated 실제로는 `state.lineJoin`. */
42
90
  lineJoin?: CanvasLineJoin;
43
- lineDash?: number[];
91
+ /** @deprecated 실제로는 `state.lineDash` number[] 가 아닌 STRING preset 이름. */
92
+ lineDash?: string;
93
+ /** @deprecated 미사용. */
44
94
  lineDashOffset?: number;
45
95
  }
46
96
  /**
47
- * 텍스트 스타일을 정의하는 인터페이스
97
+ * 텍스트 / 폰트 스타일 — **state 에 top-level flat 으로 저장**.
98
+ *
99
+ * `state.fontFamily / fontSize / fontStyle / fontWeight / fontColor /
100
+ * textAlign / textBaseline / lineHeight`
101
+ *
102
+ * 이 인터페이스는 필드 이름 reference 용 — 객체로 묶어 저장하지 않는다.
48
103
  */
49
104
  export interface TextStyle {
50
- font?: string;
51
- fontSize?: number;
52
- fontColor?: string;
53
105
  fontFamily?: string;
106
+ fontSize?: number;
54
107
  fontStyle?: string;
55
108
  fontWeight?: string;
109
+ fontColor?: string;
56
110
  textAlign?: CanvasTextAlign;
57
111
  textBaseline?: CanvasTextBaseline;
58
112
  lineHeight?: number;
113
+ /** @deprecated 사용처 없음. */
114
+ font?: string;
59
115
  }
60
116
  /**
61
- * 그림자 효과를 정의하는 인터페이스
117
+ * 그림자 효과 `state.shadow` 객체 형식.
118
+ *
119
+ * Canonical 이름 (CSS box-shadow / Canvas API 와 일치):
120
+ * `{ offsetX, offsetY, blur, color } = state.shadow`
121
+ *
122
+ * Backwards compatibility — 옛 이름 (`left`, `top`, `blurSize`) 도 drawer 가
123
+ * fallback 으로 읽음. 영속된 옛 데이터는 마이그레이션 없이 그대로 렌더링.
124
+ * 새 코드는 canonical 이름 사용.
62
125
  */
63
126
  export interface Shadow {
64
127
  color?: string;
128
+ /** Horizontal offset (CSS box-shadow 의 offset-x, Canvas 의 shadowOffsetX). */
65
129
  offsetX?: number;
130
+ /** Vertical offset (CSS box-shadow 의 offset-y, Canvas 의 shadowOffsetY). */
66
131
  offsetY?: number;
132
+ /** Blur radius (CSS box-shadow 의 blur-radius, Canvas 의 shadowBlur). */
67
133
  blur?: number;
134
+ /** @deprecated `offsetX` 사용. drawer 가 fallback 으로 읽음 — 옛 데이터 호환용. */
135
+ left?: number;
136
+ /** @deprecated `offsetY` 사용. drawer 가 fallback 으로 읽음 — 옛 데이터 호환용. */
137
+ top?: number;
138
+ /** @deprecated `blur` 사용. drawer 가 fallback 으로 읽음 — 옛 데이터 호환용. */
139
+ blurSize?: number;
68
140
  }
69
141
  /** Fill drawer — 그라디언트, 패턴, 이미지 채우기 */
70
142
  export interface IFillDrawer {
@@ -1 +1 @@
1
- {"version":3,"file":"rendering.d.ts","sourceRoot":"","sources":["../../src/interfaces/rendering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rendering.d.ts","sourceRoot":"","sources":["../../src/interfaces/rendering.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,27 @@ export type Class = {
8
8
  export type Properties = {
9
9
  [key: string]: any;
10
10
  };
11
- export type State = Properties;
12
11
  export type Style = Properties;
12
+ /**
13
+ * Component state — 임의 필드를 갖는 동적 객체.
14
+ *
15
+ * 컴포넌트별로 자기 state 형태를 선언하고 싶으면 이 인터페이스를 extends 하여
16
+ * 필드를 추가하고, 컴포넌트 클래스에서 `declare state: MyState` 로 좁히면 된다:
17
+ *
18
+ * interface MyState extends State {
19
+ * mySpecificField: number
20
+ * myStatus: 'idle' | 'busy'
21
+ * }
22
+ * class MyComponent extends RectPath(Shape) {
23
+ * declare state: MyState // 타입 narrowing — 런타임 영향 없음
24
+ * }
25
+ *
26
+ * 기존 `state.foo` 접근 코드는 인덱스 시그니처로 호환된다.
27
+ * 추후 단계적으로 공통 필드(left/top/width/height/...)를 명시적으로 추가할 수 있다.
28
+ */
29
+ export interface State {
30
+ [key: string]: any;
31
+ }
13
32
  /**
14
33
  * 좌표, 위치, 크기 관련 타입
15
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/interfaces/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/interfaces/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ArrangementStrategy, SlotDef, Vec3 } from '../../transfer/types.js';
2
+ export declare class CenteringQueueStrategy implements ArrangementStrategy {
3
+ private readonly owner;
4
+ private readonly itemSpacing;
5
+ private readonly axis;
6
+ constructor(owner: any, itemSpacing?: number, axis?: 'horizontal' | 'vertical');
7
+ positionAt(index: number, slotDef: SlotDef, _occupantCount: number, component?: any): Vec3 | null;
8
+ capacity(slotDef: SlotDef): number;
9
+ }
10
+ //# sourceMappingURL=centering-queue-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"centering-queue-strategy.d.ts","sourceRoot":"","sources":["../../../src/items/arrangement/centering-queue-strategy.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAEjF,qBAAa,sBAAuB,YAAW,mBAAmB;IAE9D,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAFJ,KAAK,EAAE,GAAG,EACV,WAAW,SAAI,EACf,IAAI,GAAE,YAAY,GAAG,UAAyB;IAGjE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;IA0BjG,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;CAGnC"}
@@ -0,0 +1,2 @@
1
+ export { CenteringQueueStrategy } from './centering-queue-strategy.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/items/arrangement/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA"}
@@ -0,0 +1,303 @@
1
+ import type { SlotDef, CarrierAttachPoint, ArrangementStrategy, CarrierDims, PlacementContext, SeatingPose } from '../transfer/types.js';
2
+ import type Component from '../components/component.js';
3
+ type Constructor<T = object> = new (...args: any[]) => T;
4
+ /**
5
+ * Capacity (keep) 믹스인. subclass 는 `get slots()` 만 override; 나머지 default.
6
+ */
7
+ export declare function Capacity<TBase extends Constructor<Component>>(Base: TBase): {
8
+ new (...args: any[]): {
9
+ /** Declare the slot topology of this container. */
10
+ get slots(): SlotDef[];
11
+ /**
12
+ * ArrangementStrategy used when `slots` is empty or slotDef has no arrangement.
13
+ * Override in subclass to supply richer strategies (Stack, Queue, Grid, etc.).
14
+ */
15
+ get arrangementStrategy(): ArrangementStrategy;
16
+ canReceive(component: any, _ctx?: {
17
+ slotId?: string;
18
+ }): boolean;
19
+ findSlot(component: any): SlotDef | null;
20
+ /**
21
+ * carrier 의 받아들일 회전 (parent-local quaternion). 기본 identity.
22
+ * 회전이 필요한 holder (induct = belt 진행 방향, rack cell = grid 정렬 등)
23
+ * 는 이 메소드만 override 하면 receive() 가 atomic 하게 적용한다.
24
+ */
25
+ acceptanceRotation(_carrier: any, _slot?: SlotDef): {
26
+ x: number;
27
+ y: number;
28
+ z: number;
29
+ w: number;
30
+ } | undefined;
31
+ /**
32
+ * Phase G5 — physical mover 가 query 하는 delivery world rotation.
33
+ * delivery.world = holder.world.quat × acceptanceRotation_local
34
+ */
35
+ deliveryWorldRotation(carrier: any): {
36
+ x: number;
37
+ y: number;
38
+ z: number;
39
+ w: number;
40
+ } | undefined;
41
+ /**
42
+ * Phase G9 — physical mover 가 query 하는 delivery world position.
43
+ * receivingSurfaceY 가 있으면 belt 표면 위, 없으면 holder origin.
44
+ */
45
+ deliveryWorldPosition(_carrier: any): {
46
+ x: number;
47
+ y: number;
48
+ z: number;
49
+ } | undefined;
50
+ attachPointFor(component: any): CarrierAttachPoint | null;
51
+ /**
52
+ * Phase PS — PlacementSurface contract 의 default 구현.
53
+ * 기존 합성 경로와 *수치 동일* 한 안착 pose 를 holder object3d local frame 으로 반환 (I5).
54
+ */
55
+ placementFor(carrier: CarrierDims | any, ctx?: PlacementContext): SeatingPose | null;
56
+ /**
57
+ * Phase PS P3a — SeatingPose.position.y (holder object3d local) → state.zPos 역산.
58
+ * 받침면도 slot.localPosition.z 도 없는 holder 는 null (zPos 보존 semantics).
59
+ */
60
+ _zPosFromSeatY(seatY: number, carrierDepth: any, slot: SlotDef): number | null;
61
+ /**
62
+ * 받침면의 직관적 local Y — raw `receivingSurfaceY` 에서 상쇄분 제거. null = 받침면 명세 없음.
63
+ */
64
+ _receivingSurfaceLocalY(): number | null;
65
+ /**
66
+ * Count children currently assigned to `slotId`. 자식이 `parent === this` 일 때만 count.
67
+ */
68
+ _countOccupied(slotId: string): number;
69
+ _app: any;
70
+ _model: any;
71
+ _state: any;
72
+ _delta: any;
73
+ _animation: any;
74
+ _animate: any;
75
+ _parent: any;
76
+ _disposed: any;
77
+ _textHidden: any;
78
+ _text_substitutor: any;
79
+ _value_substitutor: any;
80
+ _mappings: any;
81
+ _realObject: import("../index.js").IRealObject | undefined;
82
+ _cachedState: any;
83
+ updatedAt: any;
84
+ fontSize: any;
85
+ __cache__: any;
86
+ created(): void;
87
+ added(parent: any): void;
88
+ removed(parent: any): void;
89
+ ready(): Promise<void>;
90
+ _readyInvoked: boolean;
91
+ invokeReady(): void | Promise<void>;
92
+ touch(): void;
93
+ clearCache(...attrs: any[]): void;
94
+ removeSelf(completely: any): void;
95
+ resetAnimation(): void;
96
+ dispose(): void;
97
+ get nature(): import("../index.js").ComponentNature;
98
+ get disposed(): boolean;
99
+ isLayer(): boolean;
100
+ isGroup(): boolean;
101
+ isContainer(): this is import("../types/component.js").Container;
102
+ isLine(): boolean;
103
+ isRoot(): boolean;
104
+ isRootModel(): boolean;
105
+ is3dish(): boolean;
106
+ get is3dMode(): boolean;
107
+ isIn3DSpace(): boolean;
108
+ isTemplate(): boolean;
109
+ isHTMLElement(): boolean;
110
+ isConnectable(): boolean;
111
+ isIdentifiable(): boolean;
112
+ isPositionable(): boolean;
113
+ replaceRefids(replaceMap: any): void;
114
+ get(property: any): any;
115
+ set(props: any, propval?: any): any;
116
+ getState(property: any): any;
117
+ setState(props: Partial<import("../index.js").State> | string, propval?: any): any;
118
+ get model(): any;
119
+ get state(): import("../index.js").State;
120
+ get refid(): any;
121
+ get hierarchy(): any;
122
+ get volatile(): never[];
123
+ _applyProps(target: any, props: any, options: any): /*elided*/ any;
124
+ contains(x: number, y: number): boolean;
125
+ move(offset: {
126
+ x: number;
127
+ y: number;
128
+ }, ...args: boolean[]): void;
129
+ symmetryX(x?: number): void;
130
+ symmetryY(y: number): void;
131
+ adjustResize(bounds: import("../index.js").BOUNDS, origin_bounds: import("../index.js").BOUNDS, diagonal: boolean): {
132
+ left: any;
133
+ top: any;
134
+ width: any;
135
+ height: any;
136
+ };
137
+ adjustRotation(rotation: number, step: boolean): number;
138
+ outline(progress: number): any;
139
+ get bounds(): import("../index.js").BOUNDS;
140
+ set bounds(b: import("../index.js").BOUNDS);
141
+ get center(): import("../index.js").POINT;
142
+ set center(p: import("../index.js").POINT);
143
+ get location(): import("../index.js").POINT;
144
+ set location(l: import("../index.js").POINT);
145
+ get rotate(): import("../index.js").POINT;
146
+ set rotate(r: import("../index.js").POINT);
147
+ get dimension(): import("../index.js").DIMENSION;
148
+ set dimension(d: import("../index.js").DIMENSION);
149
+ get path(): import("../index.js").POINT[];
150
+ set path(p: import("../index.js").POINT[]);
151
+ get drawPath(): import("../index.js").POINT[];
152
+ get rotatePoint(): import("../index.js").POINT;
153
+ get mutable(): boolean;
154
+ get resizable(): boolean;
155
+ get rotatable(): boolean;
156
+ buildRealObject(): import("../index.js").IRealObject | undefined;
157
+ get realObject(): import("../index.js").IRealObject | undefined;
158
+ draw(context?: import("../index.js").SceneRenderContext): void;
159
+ prerender(context: import("../index.js").SceneRenderContext): void;
160
+ render(context: import("../index.js").SceneRenderContext): void;
161
+ postrender(context: import("../index.js").SceneRenderContext): void;
162
+ prepare(resolve: (component: Component) => void, reject: (reason: any) => void): void;
163
+ prepareIf(condition: boolean): void;
164
+ drawText(context: import("../index.js").SceneRenderContext): void;
165
+ drawStroke(context: import("../index.js").SceneRenderContext, override?: Record<string, unknown>): void;
166
+ drawFill(context: import("../index.js").SceneRenderContext, override?: Record<string, unknown>): void;
167
+ get strokeStyle(): any;
168
+ set strokeStyle(v: any);
169
+ get fillStyle(): any;
170
+ set fillStyle(v: any);
171
+ get fontColor(): string;
172
+ set fontColor(v: string);
173
+ get rotation(): number;
174
+ set rotation(v: number);
175
+ get decorators(): string[];
176
+ get decotag(): string;
177
+ get hidden(): boolean;
178
+ set hidden(v: boolean);
179
+ get tag(): string;
180
+ set tag(v: string);
181
+ get appendum(): any;
182
+ set appendum(v: any);
183
+ defaultTextSubstitutor(): string;
184
+ textLines(context?: import("../index.js").SceneRenderContext): any[][];
185
+ get font(): string;
186
+ get lineHeight(): number;
187
+ get textSubstitutor(): () => string;
188
+ get text(): string;
189
+ set text(v: string);
190
+ get textBounds(): import("../index.js").BOUNDS;
191
+ get textRotation(): number;
192
+ get textHidden(): boolean;
193
+ set textHidden(v: boolean);
194
+ get hasTextProperty(): boolean;
195
+ animate(opts: import("../index.js").AnimationConfig): any;
196
+ effect(context: import("../index.js").SceneRenderContext, model: any): void;
197
+ serialize(...others: any[]): string;
198
+ trim(): void;
199
+ closeScene(data: any): void;
200
+ delta(attr?: string | object, value?: any): any;
201
+ invalidate(): void;
202
+ get value(): any;
203
+ set value(v: any);
204
+ get data(): any;
205
+ set data(v: any);
206
+ set tap(v: any);
207
+ get mappings(): any[];
208
+ get retention(): number;
209
+ get animation(): import("../index.js").AnimationController | undefined;
210
+ get started(): boolean;
211
+ set started(v: boolean);
212
+ get controls(): import("../index.js").Control[] | undefined;
213
+ findFirst(finder: string | ((c: Component) => boolean), ...others: any[]): Component | undefined;
214
+ findAll(s: string | ((c: Component) => boolean), ...others: any[]): any[] | undefined;
215
+ capture(x: number, y: number, except?: (c: Component) => boolean): any;
216
+ findAnchor(name: string): any;
217
+ isDescendible(container: Component | any): boolean;
218
+ getContext(component?: unknown): any;
219
+ get root(): Component;
220
+ get rootModel(): Component;
221
+ get parent(): Component;
222
+ set parent(v: Component);
223
+ get anchors(): import("../index.js").Anchor[];
224
+ get scalable(): boolean;
225
+ get stuck(): boolean;
226
+ get capturable(): boolean;
227
+ get position(): string;
228
+ get origin(): string;
229
+ get offset(): import("../index.js").POINT;
230
+ get app(): import("../index.js").ApplicationContext;
231
+ drawEffect(context: import("../index.js").SceneRenderContext): void;
232
+ prepareFill(resolve: Function, reject: Function): void;
233
+ prepareFillIf(condition: boolean): void;
234
+ onchangeFill(after: Record<string, any>, before: Record<string, any>): void;
235
+ drawImage(context: import("../index.js").SceneRenderContext, image: HTMLImageElement, left: number, top: number, width: number, height: number): void;
236
+ mutateBounds(logic: ((bounds: import("../index.js").BOUNDS) => import("../index.js").BOUNDS | void) | null, context?: any): void;
237
+ 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;
238
+ access(accessor: string): any;
239
+ substitute(template: string, data: any): string | undefined;
240
+ onchangeMappings(after: Record<string, any>, before: Record<string, any>): void;
241
+ onchangeData(after: Record<string, any>, before: Record<string, any>): void;
242
+ buildMappings(): void;
243
+ executeMappings(force?: boolean): void;
244
+ disposeMappings(): void;
245
+ ondropfile(transfered: FileList, files: string[]): void;
246
+ transcoordS2P(x: number, y: number, rp?: import("../index.js").POINT): import("../index.js").POINT;
247
+ transcoordP2S(x: number, y: number, rp?: import("../index.js").POINT): import("../index.js").POINT;
248
+ transcoordS2T(x: number, y: number, top?: Component): import("../index.js").POINT;
249
+ transcoordT2P(x: number, y: number, top?: Component): import("../index.js").POINT;
250
+ transcoordT2S(x: number, y: number, top?: Component): import("../index.js").POINT;
251
+ transcoordS2TR(x: number, y: number, top?: Component): import("../index.js").POINT;
252
+ transcoordS2O(x: number, y: number, target: Component): import("../index.js").POINT;
253
+ transcoordC2S(x: number, y: number, top?: Component): import("../index.js").POINT;
254
+ transcoordS2C(x: number, y: number, top?: Component): import("../index.js").POINT;
255
+ toParent(x: number, y: number, rp?: import("../index.js").POINT): import("../index.js").POINT;
256
+ fromParent(x: number, y: number, rp?: import("../index.js").POINT): import("../index.js").POINT;
257
+ toScene(x: number, y: number, top?: Component): import("../index.js").POINT;
258
+ fromScene(x: number, y: number, top?: Component): import("../index.js").POINT;
259
+ toLocal(x: number, y: number, top?: Component): import("../index.js").POINT;
260
+ toGlobal(x: number, y: number, top?: Component): import("../index.js").POINT;
261
+ toOther(x: number, y: number, target: Component): import("../index.js").POINT;
262
+ on<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
263
+ on(name: string | object, callback: Function, context?: any): /*elided*/ any;
264
+ off<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback?: ((...args: import("../index.js").ComponentEventMap[K]) => void) | undefined, context?: any): /*elided*/ any;
265
+ off(name?: string | object, callback?: Function, context?: any): /*elided*/ any;
266
+ once<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
267
+ once(name: string | object, callback: Function, context?: any): /*elided*/ any;
268
+ trigger<K extends keyof import("../index.js").ComponentEventMap>(name: K, ...args: import("../index.js").ComponentEventMap[K]): /*elided*/ any;
269
+ trigger(name: string, ...args: any[]): /*elided*/ any;
270
+ delegate_on(delegator: any): /*elided*/ any;
271
+ delegate_off(delegator: any): /*elided*/ any;
272
+ onchange(after: Record<string, any>, before: Record<string, any>): void;
273
+ calculateBounds?(): void;
274
+ oncreate_element?(element: HTMLElement): void;
275
+ removeComponent(component: Component, ghost?: boolean): void;
276
+ addComponent(component: Component, ghost?: boolean): void;
277
+ insertComponentAt(component: Component, index: number, ghost?: boolean): void;
278
+ getOverlay(component: Component): HTMLElement | undefined;
279
+ findById(id: string): Component | undefined;
280
+ findByRefid(ref: string | number): Component | undefined;
281
+ findAllById(id: string): Component[];
282
+ resize(): void;
283
+ fit(type?: string): void;
284
+ get components(): Component[] | undefined;
285
+ get layout(): any;
286
+ get auxOverlay(): HTMLElement | undefined;
287
+ get isReady(): boolean;
288
+ get unitScale(): number;
289
+ get selected(): Component[];
290
+ set selected(_v: Component[]);
291
+ get focused(): Component | null;
292
+ set focused(_v: Component | null);
293
+ get hasSameParentForAllSelected(): boolean;
294
+ set hasSameParentForAllSelected(_v: boolean);
295
+ get fitMode(): string | undefined;
296
+ set fitMode(_v: string | undefined);
297
+ get element(): HTMLElement | null;
298
+ set element(_v: HTMLElement | null);
299
+ };
300
+ __hasCapacity: boolean;
301
+ } & TBase;
302
+ export {};
303
+ //# sourceMappingURL=capacity-mixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capacity-mixin.d.ts","sourceRoot":"","sources":["../../src/items/capacity-mixin.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,WAAW,EACZ,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAMvD,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAYxD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,SAAS,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK;kBAf7B,GAAG,EAAE;QAsB9C,mDAAmD;qBACtC,OAAO,EAAE;QAItB;;;WAGG;mCACwB,mBAAmB;8BAMxB,GAAG,SAAS;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO;4BAa3C,GAAG,GAAG,OAAO,GAAG,IAAI;QAoCxC;;;;WAIG;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;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;;;WAGG;wCAC6B,GAAG,GAAG;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS;kCAoB3D,GAAG,GAAG,kBAAkB,GAAG,IAAI;QAczD;;;WAGG;8BACmB,WAAW,GAAG,GAAG,QAAO,gBAAgB,GAAQ,WAAW,GAAG,IAAI;QAyDxF;;;WAGG;8BACmB,MAAM,gBAAgB,GAAG,QAAQ,OAAO,GAAG,MAAM,GAAG,IAAI;QAa9E;;WAEG;mCACwB,MAAM,GAAG,IAAI;QASxC;;WAEG;+BACoB,MAAM,GAAG,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAazC"}
@@ -0,0 +1,53 @@
1
+ import type Component from '../components/component.js';
2
+ /**
3
+ * Capacity contract — Holder 가 자기 보유 한도를 노출.
4
+ *
5
+ * 모든 method optional — 기본 fallback: SlottedHolder 의 slotIds().length / emptySlotIds().length.
6
+ */
7
+ export interface Capacity {
8
+ /** 최대 capacity. -1 또는 Infinity 이면 무한. */
9
+ capacity(): number;
10
+ /** 남은 자리. capacity() - 점유된 수. */
11
+ available(): number;
12
+ /** capacity 도달 여부. available() === 0. */
13
+ isFull(): boolean;
14
+ /** 자리 생김 event listener — Producer 의 resume trigger. */
15
+ onAvailable?(listener: () => void): () => void;
16
+ /** capacity 도달 event listener — Producer 의 pause trigger. */
17
+ onFull?(listener: () => void): () => void;
18
+ }
19
+ /** duck-type. */
20
+ export declare function hasCapacity(x: any): x is Capacity;
21
+ /**
22
+ * 일반 helper — Capacity capability 미구현 컴포넌트도 SlottedHolder 라면 default 추론.
23
+ */
24
+ export declare function inferCapacity(component: Component | any): {
25
+ capacity: number;
26
+ available: number;
27
+ isFull: boolean;
28
+ };
29
+ /**
30
+ * Capacity event emitter — Holder 가 자기 status 변경 시 호출하는 helper.
31
+ * setState({ data }) / reparent 후 호출. 변화 없으면 비용 0.
32
+ */
33
+ export declare class CapacityEventTracker {
34
+ private wasFull;
35
+ private availableListeners;
36
+ private fullListeners;
37
+ /**
38
+ * Holder 의 현 capacity 상태 확인 + 변화 시 listener 호출.
39
+ * `current` = 현재 available count. 0 이면 full.
40
+ */
41
+ notify(currentAvailable: number): void;
42
+ onAvailable(listener: () => void): () => void;
43
+ onFull(listener: () => void): () => void;
44
+ dispose(): void;
45
+ }
46
+ /**
47
+ * Auto-wire — Producer ↔ Holder 의 자동 back-pressure.
48
+ *
49
+ * Holder 가 full 되면 producer.pauseEmit / 자리 생기면 resumeEmit.
50
+ * 반환: cleanup function — 양 listener 모두 해제.
51
+ */
52
+ export declare function autoWireBackPressure(producer: any, holder: Capacity | any): () => void;
53
+ //# sourceMappingURL=capacity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capacity.d.ts","sourceRoot":"","sources":["../../src/items/capacity.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAEvD;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,yCAAyC;IACzC,QAAQ,IAAI,MAAM,CAAA;IAElB,iCAAiC;IACjC,SAAS,IAAI,MAAM,CAAA;IAEnB,yCAAyC;IACzC,MAAM,IAAI,OAAO,CAAA;IAEjB,wDAAwD;IACxD,WAAW,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;IAE9C,6DAA6D;IAC7D,MAAM,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;CAC1C;AAED,iBAAiB;AACjB,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,QAAQ,CAMjD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,GAAG;IACzD,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;CAChB,CAuBA;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,kBAAkB,CAAwB;IAClD,OAAO,CAAC,aAAa,CAAwB;IAE7C;;;OAGG;IACH,MAAM,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAetC,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAQ7C,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAQxC,OAAO,IAAI,IAAI;CAIhB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,QAAQ,GAAG,GAAG,GACrB,MAAM,IAAI,CAiBZ"}
@@ -0,0 +1,7 @@
1
+ export * from './capacity.js';
2
+ export * from './arrangement/index.js';
3
+ export * from './stacking/index.js';
4
+ export type { SlotRecord } from './slot-record.js';
5
+ export { ItemsDataBinding } from './items-data-binding.js';
6
+ export { Capacity } from './capacity-mixin.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/items/index.ts"],"names":[],"mappings":"AAOA,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AAEtC,cAAc,qBAAqB,CAAA;AACnC,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAG1D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA"}