@hatiolab/things-scene 10.0.0-beta.11 → 10.0.0-beta.110

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 (381) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/dist-types/animation/animate.d.ts.map +1 -1
  3. package/dist-types/animation/animations/animation.d.ts +5 -3
  4. package/dist-types/animation/animations/animation.d.ts.map +1 -1
  5. package/dist-types/animation/animations/heartbeat.d.ts +0 -7
  6. package/dist-types/animation/animations/heartbeat.d.ts.map +1 -1
  7. package/dist-types/animation/animations/waypoint.d.ts +45 -4
  8. package/dist-types/animation/animations/waypoint.d.ts.map +1 -1
  9. package/dist-types/animation/interfaces.d.ts +1 -1
  10. package/dist-types/animation/interfaces.d.ts.map +1 -1
  11. package/dist-types/clock/frame-clock.d.ts +119 -0
  12. package/dist-types/clock/frame-clock.d.ts.map +1 -0
  13. package/dist-types/clock/index.d.ts +3 -0
  14. package/dist-types/clock/index.d.ts.map +1 -0
  15. package/dist-types/command/command-migrate.d.ts.map +1 -1
  16. package/dist-types/command/snapshot-commander.d.ts.map +1 -1
  17. package/dist-types/components/audio.d.ts +7 -3
  18. package/dist-types/components/audio.d.ts.map +1 -1
  19. package/dist-types/components/component-data.d.ts +24 -0
  20. package/dist-types/components/component-data.d.ts.map +1 -1
  21. package/dist-types/components/component-geometry.d.ts.map +1 -1
  22. package/dist-types/components/component.d.ts +14 -4
  23. package/dist-types/components/component.d.ts.map +1 -1
  24. package/dist-types/components/container-abstract.d.ts +48 -7
  25. package/dist-types/components/container-abstract.d.ts.map +1 -1
  26. package/dist-types/components/container.d.ts +6 -2
  27. package/dist-types/components/container.d.ts.map +1 -1
  28. package/dist-types/components/data/data.d.ts.map +1 -1
  29. package/dist-types/components/drawer/fill.d.ts.map +1 -1
  30. package/dist-types/components/drawer/stroke.d.ts.map +1 -1
  31. package/dist-types/components/ellipse.d.ts +7 -3
  32. package/dist-types/components/ellipse.d.ts.map +1 -1
  33. package/dist-types/components/generic-placeholders.d.ts +291 -0
  34. package/dist-types/components/generic-placeholders.d.ts.map +1 -0
  35. package/dist-types/components/geometry/snap-guide.d.ts +45 -0
  36. package/dist-types/components/geometry/snap-guide.d.ts.map +1 -0
  37. package/dist-types/components/geometry/transcoord.d.ts.map +1 -1
  38. package/dist-types/components/global-ref.d.ts.map +1 -1
  39. package/dist-types/components/group.d.ts +1 -0
  40. package/dist-types/components/group.d.ts.map +1 -1
  41. package/dist-types/components/html/shadow.d.ts +33 -1
  42. package/dist-types/components/html/shadow.d.ts.map +1 -1
  43. package/dist-types/components/html-overlay-container.d.ts +6 -2
  44. package/dist-types/components/html-overlay-container.d.ts.map +1 -1
  45. package/dist-types/components/html-overlay-element.d.ts +13 -5
  46. package/dist-types/components/html-overlay-element.d.ts.map +1 -1
  47. package/dist-types/components/image-view.d.ts +7 -3
  48. package/dist-types/components/image-view.d.ts.map +1 -1
  49. package/dist-types/components/index.d.ts +6 -0
  50. package/dist-types/components/index.d.ts.map +1 -1
  51. package/dist-types/components/info-window.d.ts +7 -3
  52. package/dist-types/components/info-window.d.ts.map +1 -1
  53. package/dist-types/components/line.d.ts +2 -1
  54. package/dist-types/components/line.d.ts.map +1 -1
  55. package/dist-types/components/local-ref.d.ts +7 -3
  56. package/dist-types/components/local-ref.d.ts.map +1 -1
  57. package/dist-types/components/mixins/connectable.d.ts +7 -3
  58. package/dist-types/components/mixins/connectable.d.ts.map +1 -1
  59. package/dist-types/components/mixins/data-source.d.ts +7 -3
  60. package/dist-types/components/mixins/data-source.d.ts.map +1 -1
  61. package/dist-types/components/mixins/gltf-component.d.ts +280 -0
  62. package/dist-types/components/mixins/gltf-component.d.ts.map +1 -0
  63. package/dist-types/components/mixins/html-element.d.ts +6 -2
  64. package/dist-types/components/mixins/html-element.d.ts.map +1 -1
  65. package/dist-types/components/mixins/move-handle.d.ts +7 -3
  66. package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
  67. package/dist-types/components/mixins/rect-path.d.ts +7 -3
  68. package/dist-types/components/mixins/rect-path.d.ts.map +1 -1
  69. package/dist-types/components/mixins/three-d-only.d.ts +247 -0
  70. package/dist-types/components/mixins/three-d-only.d.ts.map +1 -0
  71. package/dist-types/components/mixins/value-holder.d.ts +7 -3
  72. package/dist-types/components/mixins/value-holder.d.ts.map +1 -1
  73. package/dist-types/components/mutater/path.d.ts.map +1 -1
  74. package/dist-types/components/node.d.ts +7 -3
  75. package/dist-types/components/node.d.ts.map +1 -1
  76. package/dist-types/components/outline/path-outline.d.ts.map +1 -1
  77. package/dist-types/components/polygon.d.ts +2 -0
  78. package/dist-types/components/polygon.d.ts.map +1 -1
  79. package/dist-types/components/polyline.d.ts.map +1 -1
  80. package/dist-types/components/popup-container.d.ts +25 -0
  81. package/dist-types/components/popup-container.d.ts.map +1 -0
  82. package/dist-types/components/popup.d.ts +37 -3
  83. package/dist-types/components/popup.d.ts.map +1 -1
  84. package/dist-types/components/position/popup-position.d.ts +11 -0
  85. package/dist-types/components/position/popup-position.d.ts.map +1 -1
  86. package/dist-types/components/rect.d.ts +14 -6
  87. package/dist-types/components/rect.d.ts.map +1 -1
  88. package/dist-types/components/retention/retention-manager.d.ts +9 -1
  89. package/dist-types/components/retention/retention-manager.d.ts.map +1 -1
  90. package/dist-types/components/root-container.d.ts +17 -4
  91. package/dist-types/components/root-container.d.ts.map +1 -1
  92. package/dist-types/components/ruler.d.ts +7 -3
  93. package/dist-types/components/ruler.d.ts.map +1 -1
  94. package/dist-types/components/service-component.d.ts +268 -0
  95. package/dist-types/components/service-component.d.ts.map +1 -0
  96. package/dist-types/components/shape.d.ts.map +1 -1
  97. package/dist-types/components/text.d.ts +7 -3
  98. package/dist-types/components/text.d.ts.map +1 -1
  99. package/dist-types/core/memoize.d.ts.map +1 -1
  100. package/dist-types/decorator/decorator-registry.d.ts +4 -0
  101. package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
  102. package/dist-types/decorator/decorators/animated-icon-decorator.d.ts.map +1 -1
  103. package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts.map +1 -1
  104. package/dist-types/decorator/decorators/data-spread-decorator.d.ts +16 -0
  105. package/dist-types/decorator/decorators/data-spread-decorator.d.ts.map +1 -1
  106. package/dist-types/diagnostics/contract-inspector.d.ts +103 -0
  107. package/dist-types/diagnostics/contract-inspector.d.ts.map +1 -0
  108. package/dist-types/diagnostics/data-lag-tracker.d.ts +44 -0
  109. package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -0
  110. package/dist-types/diagnostics/inspector.d.ts +58 -4
  111. package/dist-types/diagnostics/inspector.d.ts.map +1 -1
  112. package/dist-types/diagnostics/load-tracker.d.ts +82 -0
  113. package/dist-types/diagnostics/load-tracker.d.ts.map +1 -0
  114. package/dist-types/diagnostics/loading-overlay.d.ts +41 -0
  115. package/dist-types/diagnostics/loading-overlay.d.ts.map +1 -0
  116. package/dist-types/diagnostics/metrics.d.ts +10 -0
  117. package/dist-types/diagnostics/metrics.d.ts.map +1 -1
  118. package/dist-types/effect/shadow.d.ts +3 -1
  119. package/dist-types/effect/shadow.d.ts.map +1 -1
  120. package/dist-types/event-map/index.d.ts +1 -0
  121. package/dist-types/event-map/index.d.ts.map +1 -1
  122. package/dist-types/event-map/transition-handler.d.ts +2 -0
  123. package/dist-types/event-map/transition-handler.d.ts.map +1 -0
  124. package/dist-types/interfaces/layout.d.ts +35 -1
  125. package/dist-types/interfaces/layout.d.ts.map +1 -1
  126. package/dist-types/interfaces/providers.d.ts +20 -3
  127. package/dist-types/interfaces/providers.d.ts.map +1 -1
  128. package/dist-types/interfaces/real-object.d.ts +8 -1
  129. package/dist-types/interfaces/real-object.d.ts.map +1 -1
  130. package/dist-types/interfaces/rendering.d.ts +86 -14
  131. package/dist-types/interfaces/rendering.d.ts.map +1 -1
  132. package/dist-types/interfaces/types.d.ts +20 -1
  133. package/dist-types/interfaces/types.d.ts.map +1 -1
  134. package/dist-types/layer/action/popup.d.ts +13 -0
  135. package/dist-types/layer/action/popup.d.ts.map +1 -1
  136. package/dist-types/layer/add-layer.d.ts +8 -0
  137. package/dist-types/layer/add-layer.d.ts.map +1 -1
  138. package/dist-types/layer/dual-canvas-layer.d.ts.map +1 -1
  139. package/dist-types/layer/index.d.ts +1 -0
  140. package/dist-types/layer/index.d.ts.map +1 -1
  141. package/dist-types/layer/layer.d.ts +1 -0
  142. package/dist-types/layer/layer.d.ts.map +1 -1
  143. package/dist-types/layer/model-layer.d.ts +67 -7
  144. package/dist-types/layer/model-layer.d.ts.map +1 -1
  145. package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
  146. package/dist-types/layer/modeling-layer.d.ts.map +1 -1
  147. package/dist-types/layer/selection/selected-finder.d.ts +1 -1
  148. package/dist-types/layer/selection/selected-finder.d.ts.map +1 -1
  149. package/dist-types/layer/selection-layer.d.ts.map +1 -1
  150. package/dist-types/layer/snap-guide-layer.d.ts +23 -0
  151. package/dist-types/layer/snap-guide-layer.d.ts.map +1 -0
  152. package/dist-types/layout/absolute.d.ts +2 -2
  153. package/dist-types/layout/card.d.ts +2 -2
  154. package/dist-types/layout/linear-horizontal.d.ts +2 -2
  155. package/dist-types/layout/linear-vertical.d.ts +2 -2
  156. package/dist-types/layout/table.d.ts +3 -3
  157. package/dist-types/math/component-pose.d.ts +51 -0
  158. package/dist-types/math/component-pose.d.ts.map +1 -0
  159. package/dist-types/math/index.d.ts +3 -0
  160. package/dist-types/math/index.d.ts.map +1 -0
  161. package/dist-types/math/pose6dof.d.ts +93 -0
  162. package/dist-types/math/pose6dof.d.ts.map +1 -0
  163. package/dist-types/navigation/index.d.ts +7 -0
  164. package/dist-types/navigation/index.d.ts.map +1 -0
  165. package/dist-types/navigation/nav-graph.d.ts +55 -0
  166. package/dist-types/navigation/nav-graph.d.ts.map +1 -0
  167. package/dist-types/navigation/path-planner.d.ts +29 -0
  168. package/dist-types/navigation/path-planner.d.ts.map +1 -0
  169. package/dist-types/navigation/reservation-table.d.ts +103 -0
  170. package/dist-types/navigation/reservation-table.d.ts.map +1 -0
  171. package/dist-types/navigation/types.d.ts +145 -0
  172. package/dist-types/navigation/types.d.ts.map +1 -0
  173. package/dist-types/placement/index.d.ts +3 -0
  174. package/dist-types/placement/index.d.ts.map +1 -0
  175. package/dist-types/placement/placement.d.ts +53 -0
  176. package/dist-types/placement/placement.d.ts.map +1 -0
  177. package/dist-types/search/index.d.ts +3 -0
  178. package/dist-types/search/index.d.ts.map +1 -0
  179. package/dist-types/search/scene-search-engine.d.ts +65 -0
  180. package/dist-types/search/scene-search-engine.d.ts.map +1 -0
  181. package/dist-types/search/search-overlay.d.ts +95 -0
  182. package/dist-types/search/search-overlay.d.ts.map +1 -0
  183. package/dist-types/things-scene/api/add-start.d.ts +25 -0
  184. package/dist-types/things-scene/api/add-start.d.ts.map +1 -1
  185. package/dist-types/things-scene/api/align.d.ts.map +1 -1
  186. package/dist-types/things-scene/api/distribute.d.ts.map +1 -1
  187. package/dist-types/things-scene/api/ids.d.ts +4 -1
  188. package/dist-types/things-scene/api/ids.d.ts.map +1 -1
  189. package/dist-types/things-scene/api/index.d.ts +1 -1
  190. package/dist-types/things-scene/api/index.d.ts.map +1 -1
  191. package/dist-types/things-scene/api/place.d.ts.map +1 -1
  192. package/dist-types/things-scene/application-context.d.ts +49 -0
  193. package/dist-types/things-scene/application-context.d.ts.map +1 -1
  194. package/dist-types/things-scene/create.d.ts +43 -3
  195. package/dist-types/things-scene/create.d.ts.map +1 -1
  196. package/dist-types/things-scene/index.d.ts +24 -0
  197. package/dist-types/things-scene/index.d.ts.map +1 -1
  198. package/dist-types/things-scene/scene.d.ts +108 -2
  199. package/dist-types/things-scene/scene.d.ts.map +1 -1
  200. package/dist-types/threed/arrow-3d.d.ts +13 -4
  201. package/dist-types/threed/arrow-3d.d.ts.map +1 -1
  202. package/dist-types/threed/environments/base-environment.d.ts +17 -0
  203. package/dist-types/threed/environments/base-environment.d.ts.map +1 -0
  204. package/dist-types/threed/environments/cloudy-environment.d.ts +10 -0
  205. package/dist-types/threed/environments/cloudy-environment.d.ts.map +1 -0
  206. package/dist-types/threed/environments/factory-environment.d.ts +3 -3
  207. package/dist-types/threed/environments/factory-environment.d.ts.map +1 -1
  208. package/dist-types/threed/environments/home-environment.d.ts +3 -3
  209. package/dist-types/threed/environments/home-environment.d.ts.map +1 -1
  210. package/dist-types/threed/environments/office-environment.d.ts +3 -3
  211. package/dist-types/threed/environments/office-environment.d.ts.map +1 -1
  212. package/dist-types/threed/environments/rainy-environment.d.ts +10 -0
  213. package/dist-types/threed/environments/rainy-environment.d.ts.map +1 -0
  214. package/dist-types/threed/environments/studio-environment.d.ts +2 -3
  215. package/dist-types/threed/environments/studio-environment.d.ts.map +1 -1
  216. package/dist-types/threed/environments/sunny-environment.d.ts +10 -0
  217. package/dist-types/threed/environments/sunny-environment.d.ts.map +1 -0
  218. package/dist-types/threed/environments/warehouse-environment.d.ts +3 -3
  219. package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -1
  220. package/dist-types/threed/factories/backdrop.d.ts +535 -0
  221. package/dist-types/threed/factories/backdrop.d.ts.map +1 -0
  222. package/dist-types/threed/factories/banner.d.ts +13 -4
  223. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  224. package/dist-types/threed/factories/camera.d.ts +9 -3
  225. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  226. package/dist-types/threed/factories/cube.d.ts +8 -3
  227. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  228. package/dist-types/threed/factories/cylinder.d.ts +1 -0
  229. package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
  230. package/dist-types/threed/factories/decal.d.ts +510 -0
  231. package/dist-types/threed/factories/decal.d.ts.map +1 -0
  232. package/dist-types/threed/factories/floor-plate.d.ts +11 -0
  233. package/dist-types/threed/factories/floor-plate.d.ts.map +1 -0
  234. package/dist-types/threed/factories/gltf-object.d.ts +264 -38
  235. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  236. package/dist-types/threed/factories/group.d.ts +2 -0
  237. package/dist-types/threed/factories/group.d.ts.map +1 -0
  238. package/dist-types/threed/factories/light.d.ts +1 -0
  239. package/dist-types/threed/factories/light.d.ts.map +1 -1
  240. package/dist-types/threed/factories/line.d.ts +10 -0
  241. package/dist-types/threed/factories/line.d.ts.map +1 -0
  242. package/dist-types/threed/factories/ortholine.d.ts +10 -0
  243. package/dist-types/threed/factories/ortholine.d.ts.map +1 -0
  244. package/dist-types/threed/factories/polygon.d.ts +19 -0
  245. package/dist-types/threed/factories/polygon.d.ts.map +1 -1
  246. package/dist-types/threed/factories/polyline.d.ts +10 -0
  247. package/dist-types/threed/factories/polyline.d.ts.map +1 -0
  248. package/dist-types/threed/factories/rect.d.ts.map +1 -1
  249. package/dist-types/threed/factories/sphere.d.ts +6 -0
  250. package/dist-types/threed/factories/sphere.d.ts.map +1 -1
  251. package/dist-types/threed/factories/sprite.d.ts +8 -3
  252. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  253. package/dist-types/threed/factories/triangle.d.ts.map +1 -1
  254. package/dist-types/threed/factories/wall.d.ts +8 -3
  255. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  256. package/dist-types/threed/floor/floor.d.ts.map +1 -1
  257. package/dist-types/threed/handle-3d.d.ts +21 -0
  258. package/dist-types/threed/handle-3d.d.ts.map +1 -0
  259. package/dist-types/threed/html/elements.d.ts.map +1 -1
  260. package/dist-types/threed/index.d.ts +22 -0
  261. package/dist-types/threed/index.d.ts.map +1 -1
  262. package/dist-types/threed/managers/box-selection-manager.d.ts +26 -0
  263. package/dist-types/threed/managers/box-selection-manager.d.ts.map +1 -0
  264. package/dist-types/threed/managers/camera-bookmark-manager.d.ts +127 -0
  265. package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -0
  266. package/dist-types/threed/managers/camera-manager.d.ts +9 -3
  267. package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
  268. package/dist-types/threed/managers/controls-manager.d.ts +25 -4
  269. package/dist-types/threed/managers/controls-manager.d.ts.map +1 -1
  270. package/dist-types/threed/managers/event-manager3d.d.ts +8 -0
  271. package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
  272. package/dist-types/threed/managers/gizmo-manager.d.ts +6 -0
  273. package/dist-types/threed/managers/gizmo-manager.d.ts.map +1 -1
  274. package/dist-types/threed/managers/gizmo-operation-manager.d.ts +55 -1
  275. package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
  276. package/dist-types/threed/managers/index.d.ts +4 -1
  277. package/dist-types/threed/managers/index.d.ts.map +1 -1
  278. package/dist-types/threed/managers/interaction-manager.d.ts +17 -0
  279. package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
  280. package/dist-types/threed/managers/light-manager.d.ts +15 -0
  281. package/dist-types/threed/managers/light-manager.d.ts.map +1 -1
  282. package/dist-types/threed/managers/renderer-manager.d.ts +37 -0
  283. package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
  284. package/dist-types/threed/managers/scene-manager.d.ts +12 -2
  285. package/dist-types/threed/managers/scene-manager.d.ts.map +1 -1
  286. package/dist-types/threed/managers/types.d.ts +5 -2
  287. package/dist-types/threed/managers/types.d.ts.map +1 -1
  288. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts +155 -0
  289. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -0
  290. package/dist-types/threed/material-3d.d.ts +5 -2
  291. package/dist-types/threed/material-3d.d.ts.map +1 -1
  292. package/dist-types/threed/ratio-lock-utils.d.ts +9 -0
  293. package/dist-types/threed/ratio-lock-utils.d.ts.map +1 -0
  294. package/dist-types/threed/real-object-dom-element.d.ts +2 -0
  295. package/dist-types/threed/real-object-dom-element.d.ts.map +1 -1
  296. package/dist-types/threed/real-object-dom-texture.d.ts +9 -0
  297. package/dist-types/threed/real-object-dom-texture.d.ts.map +1 -1
  298. package/dist-types/threed/real-object-external-model.d.ts +24 -0
  299. package/dist-types/threed/real-object-external-model.d.ts.map +1 -0
  300. package/dist-types/threed/real-object-extrude.d.ts +16 -1
  301. package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
  302. package/dist-types/threed/real-object-gltf.d.ts +21 -11
  303. package/dist-types/threed/real-object-gltf.d.ts.map +1 -1
  304. package/dist-types/threed/real-object-group.d.ts +2 -0
  305. package/dist-types/threed/real-object-group.d.ts.map +1 -1
  306. package/dist-types/threed/real-object-line.d.ts +83 -0
  307. package/dist-types/threed/real-object-line.d.ts.map +1 -0
  308. package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
  309. package/dist-types/threed/real-object-plane-2d.d.ts +23 -0
  310. package/dist-types/threed/real-object-plane-2d.d.ts.map +1 -1
  311. package/dist-types/threed/real-object-service.d.ts +14 -0
  312. package/dist-types/threed/real-object-service.d.ts.map +1 -0
  313. package/dist-types/threed/real-object-sprite.d.ts +7 -1
  314. package/dist-types/threed/real-object-sprite.d.ts.map +1 -1
  315. package/dist-types/threed/real-object-text.d.ts +5 -0
  316. package/dist-types/threed/real-object-text.d.ts.map +1 -1
  317. package/dist-types/threed/real-object.d.ts +176 -7
  318. package/dist-types/threed/real-object.d.ts.map +1 -1
  319. package/dist-types/threed/text-editor-3d.d.ts +11 -0
  320. package/dist-types/threed/text-editor-3d.d.ts.map +1 -0
  321. package/dist-types/threed/texture/canvas-texture.d.ts +7 -0
  322. package/dist-types/threed/texture/canvas-texture.d.ts.map +1 -1
  323. package/dist-types/threed/texture/fillstyle-texture.d.ts +46 -0
  324. package/dist-types/threed/texture/fillstyle-texture.d.ts.map +1 -0
  325. package/dist-types/threed/texture/text-texture.d.ts +15 -0
  326. package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
  327. package/dist-types/threed/three-capability.d.ts +148 -6
  328. package/dist-types/threed/three-capability.d.ts.map +1 -1
  329. package/dist-types/threed/three-container.d.ts +0 -1
  330. package/dist-types/threed/three-container.d.ts.map +1 -1
  331. package/dist-types/threed/three-dimensional-container.d.ts +0 -1
  332. package/dist-types/threed/three-dimensional-container.d.ts.map +1 -1
  333. package/dist-types/threed/utils/anchor.d.ts +33 -0
  334. package/dist-types/threed/utils/anchor.d.ts.map +1 -0
  335. package/dist-types/threed/utils/dispose.d.ts.map +1 -1
  336. package/dist-types/threed/utils/tether.d.ts +46 -0
  337. package/dist-types/threed/utils/tether.d.ts.map +1 -0
  338. package/dist-types/threed/z-priority.d.ts +27 -0
  339. package/dist-types/threed/z-priority.d.ts.map +1 -0
  340. package/dist-types/tracker/tracker.d.ts +57 -0
  341. package/dist-types/tracker/tracker.d.ts.map +1 -0
  342. package/dist-types/transfer/carrier-line-capability.d.ts +95 -0
  343. package/dist-types/transfer/carrier-line-capability.d.ts.map +1 -0
  344. package/dist-types/transfer/centering-slot-strategy.d.ts +8 -0
  345. package/dist-types/transfer/centering-slot-strategy.d.ts.map +1 -0
  346. package/dist-types/transfer/container-capacity.d.ts +348 -0
  347. package/dist-types/transfer/container-capacity.d.ts.map +1 -0
  348. package/dist-types/transfer/fixed-slot-strategy.d.ts +8 -0
  349. package/dist-types/transfer/fixed-slot-strategy.d.ts.map +1 -0
  350. package/dist-types/transfer/index.d.ts +21 -0
  351. package/dist-types/transfer/index.d.ts.map +1 -0
  352. package/dist-types/transfer/pickup-helpers.d.ts +65 -0
  353. package/dist-types/transfer/pickup-helpers.d.ts.map +1 -0
  354. package/dist-types/transfer/simulation-clock.d.ts +45 -0
  355. package/dist-types/transfer/simulation-clock.d.ts.map +1 -0
  356. package/dist-types/transfer/storage-rack-capability.d.ts +144 -0
  357. package/dist-types/transfer/storage-rack-capability.d.ts.map +1 -0
  358. package/dist-types/transfer/tracer.d.ts +35 -0
  359. package/dist-types/transfer/tracer.d.ts.map +1 -0
  360. package/dist-types/transfer/transfer.d.ts +224 -0
  361. package/dist-types/transfer/transfer.d.ts.map +1 -0
  362. package/dist-types/transfer/types.d.ts +389 -0
  363. package/dist-types/transfer/types.d.ts.map +1 -0
  364. package/dist-types/transition/transition-effect.d.ts +97 -0
  365. package/dist-types/transition/transition-effect.d.ts.map +1 -0
  366. package/dist-types/types/bounding.d.ts +1 -1
  367. package/dist-types/types/bounding.d.ts.map +1 -1
  368. package/dist-types/types/component.d.ts +6 -177
  369. package/dist-types/types/component.d.ts.map +1 -1
  370. package/dist-types/types/event.d.ts +57 -0
  371. package/dist-types/types/event.d.ts.map +1 -1
  372. package/dist-types/types/polygon-path-arc.d.ts +72 -0
  373. package/dist-types/types/polygon-path-arc.d.ts.map +1 -0
  374. package/dist-types/types/polygon-path.d.ts +153 -0
  375. package/dist-types/types/polygon-path.d.ts.map +1 -0
  376. package/package.json +13 -2
  377. package/things-scene-min.js +12 -13
  378. package/things-scene-min.js.map +1 -1
  379. package/things-scene-transfer.mjs +6 -0
  380. package/things-scene.mjs +8 -9
  381. package/things-scene.mjs.map +1 -1
@@ -0,0 +1,65 @@
1
+ import type Component from '../components/component.js';
2
+ /**
3
+ * 검색 결과 하나를 나타낸다.
4
+ */
5
+ export interface SearchResult {
6
+ /** 매칭된 컴포넌트 */
7
+ component: Component;
8
+ /** 매칭 카테고리 */
9
+ matchType: 'id' | 'name' | 'tag' | 'type' | 'class' | 'text' | 'data' | 'property';
10
+ /** 매칭된 필드 이름 (예: 'accessor', 'fillStyle') */
11
+ matchField: string;
12
+ /** 매칭된 값 */
13
+ matchValue: string;
14
+ }
15
+ export interface SearchOptions {
16
+ /** 검색할 필드 범위 (기본: 전체) */
17
+ fields?: SearchResult['matchType'][];
18
+ /** 대소문자 구분 (기본: false) */
19
+ caseSensitive?: boolean;
20
+ /** hidden 컴포넌트 포함 (기본: false) */
21
+ includeHidden?: boolean;
22
+ /** 최대 결과 수 (기본: 무제한) */
23
+ maxResults?: number;
24
+ }
25
+ /**
26
+ * things-scene 컴포넌트 트리를 대상으로 텍스트 검색을 수행하는 엔진.
27
+ *
28
+ * 에디터/뷰어, 2D/3D 모드 공용.
29
+ * 검색 대상: id, name, tag, type, class, text, data-binding(accessor/target/property), 주요 속성값.
30
+ */
31
+ export declare class SceneSearchEngine {
32
+ private _results;
33
+ private _currentIndex;
34
+ private _lastQuery;
35
+ get results(): readonly SearchResult[];
36
+ get currentIndex(): number;
37
+ get currentResult(): SearchResult | undefined;
38
+ get resultCount(): number;
39
+ /**
40
+ * 컴포넌트 트리에서 query를 검색한다.
41
+ * 동일 컴포넌트가 여러 필드에서 매칭되면 첫 번째 매칭만 결과에 포함한다.
42
+ */
43
+ search(root: Component, query: string, options?: SearchOptions): SearchResult[];
44
+ /** 다음 결과로 이동 */
45
+ navigateNext(): SearchResult | undefined;
46
+ /** 이전 결과로 이동 */
47
+ navigatePrev(): SearchResult | undefined;
48
+ /** 특정 인덱스로 이동 */
49
+ navigateTo(index: number): SearchResult | undefined;
50
+ /** 검색 결과 초기화 */
51
+ clear(): void;
52
+ private _traverse;
53
+ private _matchComponent;
54
+ /**
55
+ * data-binding 설정(mappings)에서 검색.
56
+ * accessor, target, property, source 필드를 대상으로 한다.
57
+ */
58
+ private _matchDataBinding;
59
+ /**
60
+ * 주요 속성값에서 검색.
61
+ * fillStyle(문자열), strokeStyle(문자열), ref, src 등.
62
+ */
63
+ private _matchProperties;
64
+ }
65
+ //# sourceMappingURL=scene-search-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-search-engine.d.ts","sourceRoot":"","sources":["../../src/search/scene-search-engine.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,eAAe;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc;IACd,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAA;IAClF,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,MAAM,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,CAAA;IACpC,0BAA0B;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAMD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAK;IAEvB,IAAI,OAAO,IAAI,SAAS,YAAY,EAAE,CAErC;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,aAAa,IAAI,YAAY,GAAG,SAAS,CAE5C;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,EAAE;IAmC/E,gBAAgB;IAChB,YAAY,IAAI,YAAY,GAAG,SAAS;IAMxC,gBAAgB;IAChB,YAAY,IAAI,YAAY,GAAG,SAAS;IAMxC,iBAAiB;IACjB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAMnD,gBAAgB;IAChB,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,eAAe;IAoEvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAiCzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAkCzB"}
@@ -0,0 +1,95 @@
1
+ import type Component from '../components/component.js';
2
+ import { SceneSearchEngine } from './scene-search-engine.js';
3
+ /**
4
+ * SearchOverlayHost: 검색 오버레이가 동작하기 위한 호스트 인터페이스.
5
+ * Scene이 이 인터페이스를 구현한다.
6
+ */
7
+ export interface SearchOverlayHost {
8
+ /** 검색 대상 루트 컴포넌트 */
9
+ readonly root: Component & {
10
+ selected?: Component[];
11
+ };
12
+ /** 오버레이를 붙일 DOM element */
13
+ readonly element: HTMLElement | null;
14
+ /** 컴포넌트로 카메라/뷰포트 이동 */
15
+ centerTo(component: Component, animated?: boolean): void;
16
+ /** 선택 변경 */
17
+ setSelected(components: Component[]): void;
18
+ /** 3D outline 하이라이트 (있으면) */
19
+ highlightSearchResults?(components: Component[]): void;
20
+ /** 2D invalidate */
21
+ invalidate?(): void;
22
+ }
23
+ /**
24
+ * 2D/3D 모드 공용 검색 오버레이 UI.
25
+ *
26
+ * 호스트의 DOM element에 겹쳐 놓는 가벼운 검색 바.
27
+ * F키로 토글, ↑↓ 결과 네비게이션, Enter 선택, Esc 닫기.
28
+ * 입력 히스토리(↑↓), Shift+Tab으로 input 복귀, 마우스+키보드 심리스 전환.
29
+ */
30
+ export declare class SearchOverlay {
31
+ private _host?;
32
+ private _engine;
33
+ private _container?;
34
+ private _input?;
35
+ private _statusEl?;
36
+ private _resultListEl?;
37
+ private _visible;
38
+ private _debounceTimer?;
39
+ private _queryHistory;
40
+ private _historyIndex;
41
+ private _savedInput;
42
+ private static MAX_HISTORY;
43
+ private _keyboardNav;
44
+ get isVisible(): boolean;
45
+ get engine(): SceneSearchEngine;
46
+ setup(host: SearchOverlayHost): void;
47
+ /**
48
+ * 오버레이 토글. 이미 열려 있으면 입력 필드에 포커스.
49
+ */
50
+ toggle(): void;
51
+ show(): void;
52
+ hide(): void;
53
+ destroy(): void;
54
+ private _buildDOM;
55
+ /**
56
+ * 드래그 핸들 설정. mousedown on `handle` 에서 시작, document 의 mousemove 로
57
+ * container 위치 추적, mouseup 으로 종료. input/button/icon 같은 인터랙티브
58
+ * 요소 위에서 시작된 mousedown 은 드래그로 잡지 않음 (본연의 click/focus 보존).
59
+ */
60
+ private _setupDrag;
61
+ private _buttonStyle;
62
+ private _doSearch;
63
+ private _addToHistory;
64
+ private _navigateHistory;
65
+ private _isHistoryMode;
66
+ /**
67
+ * input 의 raw 값을 host 에 query-submit 으로 전달. Enter 키 / 돋보기 아이콘 클릭
68
+ * 공통 진입점.
69
+ * - VIEW 모드: input 의 raw 값을 query-submit 으로 host 에 dispatch. 결과 유무
70
+ * 무관하게 입력값 자체를 정확한 ID 로 host 가 처리 (예: 미래 ID 영구 추적).
71
+ * - EDIT 모드: things-scene 기본 동작 위임 — 결과가 있으면 첫 결과 _selectResult.
72
+ * @returns input value 가 비어있지 않아 submit 처리했으면 true.
73
+ */
74
+ private _submitQuery;
75
+ /**
76
+ * VIEW 모드의 디폴트 query-submit 동작 — application 의 onSearchSubmit override
77
+ * 가 있으면 그것 호출. 반환 true 시 디폴트 (host.tracker.start) skip.
78
+ */
79
+ private _invokeViewSubmit;
80
+ /**
81
+ * VIEW 모드의 디폴트 close 동작 — application override (onSearchClose) 가 있으면
82
+ * 호출. 반환 true 시 디폴트 (host.tracker.stop) skip.
83
+ */
84
+ private _invokeViewClose;
85
+ private _focusResult;
86
+ private _isEditMode;
87
+ private _selectResult;
88
+ private _clearHighlight;
89
+ private _updateStatus;
90
+ private _renderResultList;
91
+ private _updateResultListSelection;
92
+ private _hideResultList;
93
+ private _truncate;
94
+ }
95
+ //# sourceMappingURL=search-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-overlay.d.ts","sourceRoot":"","sources":["../../src/search/search-overlay.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAqB,MAAM,0BAA0B,CAAA;AAE/E;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,oBAAoB;IACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG;QAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;KAAE,CAAA;IACrD,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IACpC,uBAAuB;IACvB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACxD,YAAY;IACZ,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;IAC1C,6BAA6B;IAC7B,sBAAsB,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;IACtD,oBAAoB;IACpB,UAAU,CAAC,IAAI,IAAI,CAAA;CACpB;AAaD;;;;;;GAMG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAC,CAAmB;IACjC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,MAAM,CAAC,CAAkB;IACjC,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,cAAc,CAAC,CAA+B;IAGtD,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAK;IAG/B,OAAO,CAAC,YAAY,CAAQ;IAE5B,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,MAAM,IAAI,iBAAiB,CAE9B;IAED,KAAK,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAKpC;;OAEG;IACH,MAAM,IAAI,IAAI;IAad,IAAI,IAAI,IAAI;IAqBZ,IAAI,IAAI,IAAI;IAkBZ,OAAO,IAAI,IAAI;IAaf,OAAO,CAAC,SAAS;IA8JjB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAqClB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,cAAc;IAItB;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAoBpB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,aAAa;IA8CrB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,iBAAiB;IA+HzB,OAAO,CAAC,0BAA0B;IAmBlC,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,SAAS;CAGlB"}
@@ -1,2 +1,27 @@
1
1
  export declare function startAddMode(this: any, models: any): void;
2
+ /** bulk-create 모드 결과 — 사용자가 영역 드래그 완료 시 area, ESC/취소 시 null. */
3
+ export interface BulkCreateResult {
4
+ area: {
5
+ left: number;
6
+ top: number;
7
+ width: number;
8
+ height: number;
9
+ };
10
+ template: any;
11
+ }
12
+ /**
13
+ * Bulk-create 모드 진입. AddLayer 가 캔버스 위에 드래그 박스 그림. 사용자가 영역을
14
+ * 선택하면 `{area, template}` 로 resolve, ESC/취소 시 null 로 resolve.
15
+ *
16
+ * 내부적으로 'bulkareaselected' / 'addstop' event 의 lifecycle 을 캡슐화 — consumer 가
17
+ * listener 등록/정리 boilerplate 없이 한 줄 `await` 로 처리.
18
+ *
19
+ * @param template 복사 원본 모델. bulkareaselected event payload 와 결과 객체에 그대로 전달.
20
+ * @param options.boxStrokeStyle addbox 의 stroke 색. 기본 'black' (일반 add 와 동일).
21
+ *
22
+ * this should be root-container.
23
+ */
24
+ export declare function startBulkCreateMode(this: any, template: any, options?: {
25
+ boxStrokeStyle?: string;
26
+ }): Promise<BulkCreateResult | null>;
2
27
  //# sourceMappingURL=add-start.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-start.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/add-start.ts"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,QAMlD"}
1
+ {"version":3,"file":"add-start.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/add-start.ts"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,QAMlD;AAED,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAClE,QAAQ,EAAE,GAAG,CAAA;CACd;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,GAAG,EACb,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAsBlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"align.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/align.ts"],"names":[],"mappings":"AA4GA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAYpD"}
1
+ {"version":3,"file":"align.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/align.ts"],"names":[],"mappings":"AA2JA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAYpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"distribute.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/distribute.ts"],"names":[],"mappings":"AAsDA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAYzD"}
1
+ {"version":3,"file":"distribute.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/distribute.ts"],"names":[],"mappings":"AAqFA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAYzD"}
@@ -1,2 +1,5 @@
1
- export declare function getIds(this: any): any[];
1
+ export declare function getIds(this: any): {
2
+ key: any;
3
+ value: any;
4
+ }[];
2
5
  //# sourceMappingURL=ids.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/ids.ts"],"names":[],"mappings":"AAKA,wBAAgB,MAAM,CAAC,IAAI,EAAE,GAAG,SAgB/B"}
1
+ {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/ids.ts"],"names":[],"mappings":"AAKA,wBAAgB,MAAM,CAAC,IAAI,EAAE,GAAG;;;IAoB/B"}
@@ -13,6 +13,6 @@ export { symmetryX, symmetryY } from './symmetry.js';
13
13
  export { change, undoableChange } from './change.js';
14
14
  export { getIds } from './ids.js';
15
15
  export { default as place } from './place.js';
16
- export { startAddMode } from './add-start.js';
16
+ export { startAddMode, startBulkCreateMode, type BulkCreateResult } from './add-start.js';
17
17
  export { startStylePasteMode, stopStylePasteMode, startDatabindPasteMode, stopDatabindPasteMode } from './paste-start.js';
18
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACzF,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"place.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/place.ts"],"names":[],"mappings":"AAkFA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAapD"}
1
+ {"version":3,"file":"place.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/place.ts"],"names":[],"mappings":"AAkFA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAcpD"}
@@ -1,9 +1,19 @@
1
+ import { DataLagTracker } from '../diagnostics/data-lag-tracker.js';
2
+ import type { LagMonitorConfig } from '../diagnostics/data-lag-tracker.js';
3
+ import { LoadTracker } from '../diagnostics/load-tracker.js';
4
+ import type { LoadingOptions } from '../diagnostics/load-tracker.js';
1
5
  export default class ApplicationContext {
2
6
  _mode: number;
3
7
  _screen: number;
4
8
  _baseUrl: string | null;
5
9
  _refProvider: unknown;
6
10
  _postprocessing: boolean;
11
+ /**
12
+ * Z-fighting 완화용 로그 depth buffer 강제. undefined = "auto" (포스트프로세싱 +
13
+ * 환경 프리셋 추천에 따라 자동 결정). true/false = 명시 override.
14
+ * **Renderer 생성 시점에만 적용** — 런타임 변경은 renderer 재생성 필요.
15
+ */
16
+ _logarithmicDepth?: boolean;
7
17
  _rotateStep: number;
8
18
  _rotateStepForced: boolean;
9
19
  _dataSubscriptionProvider: {
@@ -14,8 +24,21 @@ export default class ApplicationContext {
14
24
  _PPI: number;
15
25
  _PPM: number;
16
26
  _commander: unknown;
27
+ _loadTracker?: LoadTracker;
28
+ _loadTrackerOwned: boolean;
29
+ _lagTracker?: DataLagTracker;
30
+ /** 영구 플래그 (런타임 setter로 조작) */
31
+ _suppressAnimationsFlag: boolean;
32
+ /** 스코프드 API 의 중첩 호출용 ref count */
33
+ _suppressScopeCount: number;
17
34
  trigger: (event: string, ...args: unknown[]) => void;
18
35
  constructor(mode: number, refProvider: unknown);
36
+ initLoadTracker(options?: LoadingOptions): LoadTracker;
37
+ get loadTracker(): LoadTracker | undefined;
38
+ /** 앱에서 미리 생성한 LoadTracker를 받아서 사용 (dispose 책임은 앱에 있음) */
39
+ adoptLoadTracker(tracker: LoadTracker): void;
40
+ initLagTracker(config: LagMonitorConfig | LagMonitorConfig[]): DataLagTracker;
41
+ get lagTracker(): DataLagTracker | undefined;
19
42
  dispose(): void;
20
43
  _calcScreen(): void;
21
44
  subscribe(tag: string, component: unknown): unknown;
@@ -50,5 +73,31 @@ export default class ApplicationContext {
50
73
  set dataStorage(dataStorage: unknown);
51
74
  get postprocessing(): boolean;
52
75
  set postprocessing(value: boolean);
76
+ /** 로그 depth buffer 강제 (z-fighting 완화). undefined = auto. */
77
+ get logarithmicDepth(): boolean | undefined;
78
+ set logarithmicDepth(value: boolean | undefined);
79
+ /**
80
+ * 애니메이션 억제 상태 (영구 플래그 OR 활성 스코프 중 하나라도 해당되면 true).
81
+ *
82
+ * 확인 지점: Animation.start, animate(), ValueHolder.animOnValueChange,
83
+ * DecoratorRegistry.addToOverlay, AnimatedIconDecorator.start
84
+ */
85
+ get suppressAnimations(): boolean;
86
+ /** 런타임에 영구 플래그 토글. 스코프드 카운트와 OR 로 병합됨. */
87
+ set suppressAnimations(value: boolean);
88
+ /**
89
+ * 주어진 콜백을 애니메이션 억제 상태에서 실행.
90
+ * - 중첩 호출 안전 (ref-count)
91
+ * - sync/async 자동 판별 — Promise 리턴 시 완료될 때까지 억제 유지
92
+ * - 예외 발생 시에도 카운터 정상 복구
93
+ */
94
+ withSuppressedAnimations<T>(fn: () => T | Promise<T>): T | Promise<T>;
95
+ /**
96
+ * 수동 제어용 disposable. `end()` 를 반드시 호출해야 함.
97
+ * 스코프가 콜백 경계를 넘어서는 경우 (이벤트 핸들러 사이 등) 사용.
98
+ */
99
+ beginSuppressAnimations(): {
100
+ end(): void;
101
+ };
53
102
  }
54
103
  //# sourceMappingURL=application-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"application-context.d.ts","sourceRoot":"","sources":["../../src/things-scene/application-context.ts"],"names":[],"mappings":"AA8BA,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAG,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,YAAY,EAAE,OAAO,CAAA;IACrB,eAAe,EAAE,OAAO,CAAO;IAC/B,WAAW,EAAG,MAAM,CAAA;IACpB,iBAAiB,EAAG,OAAO,CAAA;IAC3B,yBAAyB,EAAE;QAAE,SAAS,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;QAAC,OAAO,CAAC,IAAI,IAAI,CAAA;KAAE,GAAG,SAAS,CAAA;IACjH,YAAY,EAAE,OAAO,CAAA;IACrB,IAAI,EAAG,MAAM,CAAA;IACb,IAAI,EAAG,MAAM,CAAA;IACb,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;gBAEzC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO;IAY9C,OAAO;IAKP,WAAW;IAUX,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;IAIzC,IAAI,WAAW,YAEd;IAED,IAAI,wBAAwB,CAAC,wBAAwB;wBA1CR,MAAM,aAAa,OAAO,GAAG,OAAO;oBAAc,IAAI;iBA0C9C,EAEpD;IAED,IAAI,wBAAwB;wBA9CiB,MAAM,aAAa,OAAO,GAAG,OAAO;oBAAc,IAAI;kBAgDlG;IAED,IAAI,SAAS,CAAC,SAAS,SAAA,EAEtB;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,MAAM,WAET;IAED,IAAI,MAAM,CAAC,MAAM,QAAA,EAGhB;IAED,IAAI,IAAI,WAEP;IAED,IAAI,GAAG,WAEN;IAED,IAAI,GAAG,WAEN;IAED,IAAI,IAAI,WAEP;IAED,IAAI,IAAI,CAAC,IAAI,QAAA,EAMZ;IAED,IAAI,UAAU,YAEb;IAED,IAAI,UAAU,YAEb;IAED,IAAI,OAAO,kBAEV;IAED,IAAI,OAAO,CAAC,OAAO,eAAA,EASlB;IAED,GAAG,CAAC,CAAC,EAAE,MAAM;IAiBb,IAAI,UAAU,WAEb;IAED,IAAI,UAAU,CAAC,IAAI,QAAA,EAElB;IAOD,IAAI,gBAAgB,YAEnB;IAED,IAAI,gBAAgB,CAAC,KAAK,SAAA,EAEzB;IAGD,IAAI,WAAW,YAEd;IAED,IAAI,WAAW,CAAC,WAAW,SAAA,EAE1B;IAED,IAAI,cAAc,IAIQ,OAAO,CAFhC;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,EAEhC;CACF"}
1
+ {"version":3,"file":"application-context.d.ts","sourceRoot":"","sources":["../../src/things-scene/application-context.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAwBpE,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAG,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,YAAY,EAAE,OAAO,CAAA;IACrB,eAAe,EAAE,OAAO,CAAO;IAC/B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,WAAW,EAAG,MAAM,CAAA;IACpB,iBAAiB,EAAG,OAAO,CAAA;IAC3B,yBAAyB,EAAE;QAAE,SAAS,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;QAAC,OAAO,CAAC,IAAI,IAAI,CAAA;KAAE,GAAG,SAAS,CAAA;IACjH,YAAY,EAAE,OAAO,CAAA;IACrB,IAAI,EAAG,MAAM,CAAA;IACb,IAAI,EAAG,MAAM,CAAA;IACb,UAAU,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,WAAW,CAAA;IAC1B,iBAAiB,UAAQ;IACzB,WAAW,CAAC,EAAE,cAAc,CAAA;IAC5B,8BAA8B;IAC9B,uBAAuB,EAAE,OAAO,CAAQ;IACxC,kCAAkC;IAClC,mBAAmB,EAAE,MAAM,CAAI;IAC/B,OAAO,EAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;gBAEzC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO;IAY9C,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,WAAW;IAMtD,IAAI,WAAW,IAAI,WAAW,GAAG,SAAS,CAEzC;IAED,yDAAyD;IACzD,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAK5C,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,cAAc;IAM7E,IAAI,UAAU,IAAI,cAAc,GAAG,SAAS,CAE3C;IAED,OAAO;IASP,WAAW;IAUX,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;IAIzC,IAAI,WAAW,YAEd;IAED,IAAI,wBAAwB,CAAC,wBAAwB;wBA/ER,MAAM,aAAa,OAAO,GAAG,OAAO;oBAAc,IAAI;iBA+E9C,EAEpD;IAED,IAAI,wBAAwB;wBAnFiB,MAAM,aAAa,OAAO,GAAG,OAAO;oBAAc,IAAI;kBAqFlG;IAED,IAAI,SAAS,CAAC,SAAS,SAAA,EAEtB;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,MAAM,WAET;IAED,IAAI,MAAM,CAAC,MAAM,QAAA,EAGhB;IAED,IAAI,IAAI,WAEP;IAED,IAAI,GAAG,WAEN;IAED,IAAI,GAAG,WAEN;IAED,IAAI,IAAI,WAEP;IAED,IAAI,IAAI,CAAC,IAAI,QAAA,EAMZ;IAED,IAAI,UAAU,YAEb;IAED,IAAI,UAAU,YAEb;IAED,IAAI,OAAO,kBAEV;IAED,IAAI,OAAO,CAAC,OAAO,eAAA,EASlB;IAED,GAAG,CAAC,CAAC,EAAE,MAAM;IAiBb,IAAI,UAAU,WAEb;IAED,IAAI,UAAU,CAAC,IAAI,QAAA,EAElB;IAOD,IAAI,gBAAgB,YAEnB;IAED,IAAI,gBAAgB,CAAC,KAAK,SAAA,EAEzB;IAGD,IAAI,WAAW,YAEd;IAED,IAAI,WAAW,CAAC,WAAW,SAAA,EAE1B;IAED,IAAI,cAAc,IAIQ,OAAO,CAFhC;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,EAEhC;IAED,4DAA4D;IAC5D,IAAI,gBAAgB,IAAI,OAAO,GAAG,SAAS,CAE1C;IAED,IAAI,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAE9C;IAED;;;;;OAKG;IACH,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,0CAA0C;IAC1C,IAAI,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAEpC;IAED;;;;;OAKG;IACH,wBAAwB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAkBrE;;;OAGG;IACH,uBAAuB,IAAI;QAAE,GAAG,IAAI,IAAI,CAAA;KAAE;CAW3C"}
@@ -1,20 +1,60 @@
1
1
  import type { SceneMode } from '../const.js';
2
2
  import type { FITMODE } from '../interfaces/types.js';
3
3
  import type { ReferenceProvider, DataSubscriptionProvider, PersistentDataStorage } from '../interfaces/providers.js';
4
+ import type { LoadingOptions } from '../diagnostics/load-tracker.js';
5
+ import type { Model } from '../interfaces/model.js';
4
6
  import Scene from './scene.js';
7
+ /**
8
+ * Options for creating a Scene instance.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const scene = create({
13
+ * target: document.getElementById('board'),
14
+ * model: boardModel,
15
+ * mode: SCENE_MODE.VIEW,
16
+ * handlers: ['zoom-handler', 'shift-handler'],
17
+ * refProvider: myProvider
18
+ * })
19
+ * ```
20
+ */
5
21
  export interface SceneCreateOptions {
22
+ /** DOM element (or element ID) where the scene will be rendered */
6
23
  target?: HTMLElement | string;
7
- model?: any;
24
+ /** Board model — component tree as a JSON-compatible object */
25
+ model?: Model;
26
+ /** Theme style map (name → value) applied to the scene */
8
27
  style?: Record<string, any>;
9
- layers?: any[];
28
+ /** Additional layer configurations (e.g. scroll-layer, movement-layer) */
29
+ layers?: {
30
+ type: string;
31
+ id?: string;
32
+ [key: string]: any;
33
+ }[];
34
+ /** Event handler names to attach (e.g. 'zoom-handler', 'shift-handler') */
10
35
  handlers?: string[];
36
+ /** Scene mode: MODE_VIEW (0) for monitoring, MODE_EDIT (1) for modelling */
11
37
  mode?: SceneMode;
38
+ /** Reference provider for sub-board linking */
12
39
  refProvider?: ReferenceProvider;
40
+ /** Real-time data subscription provider (e.g. GraphQL subscription) */
13
41
  dataSubscriptionProvider?: DataSubscriptionProvider;
42
+ /** Per-component persistent data storage (e.g. IndexedDB) */
14
43
  dataStorage?: PersistentDataStorage;
44
+ /** Base URL for resources (images, GLTF models, etc.) */
15
45
  baseUrl?: string;
46
+ /** Initial fit mode: 'ratio' | 'both' | 'width' | 'height' | 'none' */
16
47
  fitMode?: FITMODE;
48
+ /** Enable 3D post-processing effects (OutlinePass, SMAAPass). Default: true */
17
49
  postprocessing?: boolean;
50
+ /**
51
+ * 로그 depth buffer 강제 (겹친 면 z-fighting 완화). 미지정 시 환경 프리셋 추천
52
+ * (실내 = true, 실외 = false) 또는 postprocessing 기본값을 따름. Renderer 생성
53
+ * 시점에만 적용 — 런타임 변경 불가 (재생성 필요).
54
+ */
55
+ logarithmicDepth?: boolean;
56
+ /** Loading monitor options */
57
+ loading?: LoadingOptions;
18
58
  }
19
- export default function create({ target, model, style, layers, handlers, mode, refProvider, dataSubscriptionProvider, dataStorage, baseUrl, fitMode, postprocessing }: SceneCreateOptions): Scene;
59
+ export default function create({ target, model, style, layers, handlers, mode, refProvider, dataSubscriptionProvider, dataStorage, baseUrl, fitMode, postprocessing, logarithmicDepth, loading: loadingOptions }: SceneCreateOptions): Scene;
20
60
  //# sourceMappingURL=create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/things-scene/create.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAEpH,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;IAC7B,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;IACnD,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAUD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAW,EACX,QAAa,EACb,IAAsB,EACtB,WAAW,EACX,wBAAwB,EACxB,WAAkC,EAClC,OAAO,EACP,OAAO,EACP,cAAqB,EACtB,EAAE,kBAAkB,SAyCpB"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/things-scene/create.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACpH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;IAC7B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,0EAA0E;IAC1E,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,CAAA;IAC5D,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,uEAAuE;IACvE,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;IACnD,6DAA6D;IAC7D,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAUD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAW,EACX,QAAa,EACb,IAAsB,EACtB,WAAW,EACX,wBAAwB,EACxB,WAAkC,EAClC,OAAO,EACP,OAAO,EACP,cAAqB,EACrB,gBAAgB,EAChB,OAAO,EAAE,cAAc,EACxB,EAAE,kBAAkB,SAkDpB"}
@@ -16,6 +16,7 @@ export declare namespace Model {
16
16
  }
17
17
  export { default as Layer } from '../layer/layer.js';
18
18
  export { default as EventMap } from '../event-map/event-map.js';
19
+ export type { ComponentEventMap } from '../types/event.js';
19
20
  export * from '../const.js';
20
21
  export * from '../animation/index.js';
21
22
  export * from '../components/index.js';
@@ -27,6 +28,18 @@ export type { SceneRenderContext, DrawOptions, StyleOptions, FillStyle, StrokeSt
27
28
  export type { LinkEnd } from '../decorator/decorators/link-decorator.js';
28
29
  export type { LAYOUT, LayoutRegistry } from '../interfaces/layout.js';
29
30
  export type { IRealObject } from '../interfaces/real-object.js';
31
+ 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, SimulationClock, TransferPhase, TransferTimeline, TransferReceipt, TransferReceiptJSON, TransferLogStats, PhysicalRunner, TransferInit, CarrierLine, CarrierReservation, CarrierSlotState, JoinPoint, StorageRack, StorageSlotAddress, StorageSlotState, StorageReservation, SlotSearchCriteria, QuatLike, PoseSerialized, PickupFrame, PickupRequester, Pickable, RectangularFootprintOptions, TopApproachOptions } from '../transfer/index.js';
32
+ export { FixedSlotStrategy, CenteringSlotStrategy, ContainerCapacity, TRANSFER_SLOT_KEY, globalSimClock, Transfer, transferLog, receiptToJSON, transferTracer, isCarrierLine, isStorageRack, addressKey, parseAddressKey, quatFromYaw, rectangularFootprintFrames, topApproachFrame, filterByToolType, chooseNearestPickupFrame } from '../transfer/index.js';
33
+ export { Pose6DOF, getPose, getWorldPose, setPose, setWorldPose } from '../math/index.js';
34
+ export type { PoseLike } from '../math/index.js';
35
+ export { ReservationTable, reservationTable, standardYieldPolicy, NavGraph, buildNavGraph, planPathAStar, planToReservations } from '../navigation/index.js';
36
+ 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';
37
+ export { buildContractInspector, installContractInspector } from '../diagnostics/contract-inspector.js';
38
+ export type { ContractInspector, InspectorComponentSummary, InspectorSimStatus } from '../diagnostics/contract-inspector.js';
39
+ export { frameClock } from '../clock/index.js';
40
+ export type { FrameClock, TickHandler, Unsubscribe, SubscribeOptions, SubscriptionInfo, FrameClockSnapshot, ExternalAnimationInfo, ExternalAnimationHandle } from '../clock/index.js';
41
+ export { Tracker } from '../tracker/tracker.js';
42
+ export type { TrackerOptions } from '../tracker/tracker.js';
30
43
  export { default as ReferenceMap } from '../core/reference-map.js';
31
44
  export { default as ScriptLoader } from '../core/script-loader.js';
32
45
  export * from '../core/logger.js';
@@ -35,6 +48,17 @@ export { default as version } from './version.js';
35
48
  export { default as FPS, stopFPSMeasure } from './fps.js';
36
49
  export { metrics } from '../diagnostics/metrics.js';
37
50
  export { inspector } from '../diagnostics/inspector.js';
51
+ export { LoadTracker } from '../diagnostics/load-tracker.js';
52
+ export type { LoadPhase, LoadEntry, LoadingOptions, LoadStats, PhaseRecord } from '../diagnostics/load-tracker.js';
53
+ export { DataLagTracker } from '../diagnostics/data-lag-tracker.js';
54
+ export type { LagMonitorConfig, LagTrend, LagLevel, LagStats } from '../diagnostics/data-lag-tracker.js';
55
+ export { LoadingOverlay } from '../diagnostics/loading-overlay.js';
38
56
  export { default as ScenePopup } from '../layer/action/popup.js';
57
+ export { default as TransitionEffect } from '../transition/transition-effect.js';
58
+ export * from '../placement/index.js';
59
+ export * from '../search/index.js';
39
60
  export * from '../threed/index.js';
61
+ export * from '../types/polygon-path.js';
62
+ export * from '../types/polygon-path-arc.js';
63
+ export { type BulkCreateResult } from './api/add-start.js';
40
64
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/things-scene/index.ts"],"names":[],"mappings":"AAIA,OAAO,mBAAmB,CAAA;AAE1B,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAC1C,OAAO,UAAU,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAEzE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,WAAW,KAAK;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,yBAAiB,KAAK,CAAC;IACd,MAAM,OAAO,iBAAW,CAAA;IACxB,MAAM,SAAS,mBAAa,CAAA;IAC5B,MAAM,MAAM,gBAAU,CAAA;IACtB,MAAM,KAAK,eAAS,CAAA;CAC5B;AAED,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAE/D,cAAc,aAAa,CAAA;AAE3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AAGjC,YAAY,EACV,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EACxE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EACzE,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACpH,YAAY,EACV,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EACxF,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EACtE,MAAM,4BAA4B,CAAA;AACnC,YAAY,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAA;AACxE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACrE,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAElE,cAAc,mBAAmB,CAAA;AAEjC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAEvD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAGhE,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/things-scene/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,57 @@
1
1
  import animate from '../animation/animate.js';
2
+ import * as API from './api/index.js';
3
+ import type { LoadTracker } from '../diagnostics/load-tracker.js';
4
+ import { LoadingOverlay } from '../diagnostics/loading-overlay.js';
5
+ import { SearchOverlay } from '../search/search-overlay.js';
6
+ import { Tracker, type TrackerOptions } from '../tracker/tracker.js';
2
7
  /**
3
- * 화면(scene) 객체
8
+ * The top-level API object for things-scene, managing the full lifecycle of a visual board:
9
+ * creation, rendering (2D Canvas + 3D Three.js), interaction, and disposal.
10
+ *
11
+ * Created via the `create()` factory function.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { create, SCENE_MODE } from '@hatiolab/things-scene'
16
+ *
17
+ * const scene = create({
18
+ * target: document.getElementById('board'),
19
+ * model: JSON.parse(boardJson),
20
+ * mode: SCENE_MODE.VIEW,
21
+ * handlers: ['zoom-handler', 'shift-handler']
22
+ * })
23
+ *
24
+ * scene.data = { sensor1: { value: 42 } } // data binding
25
+ * scene.dispose() // cleanup
26
+ * ```
4
27
  */
5
28
  declare class Scene {
6
29
  _container: any;
7
30
  _commander: any;
8
31
  app: any;
32
+ private _searchOverlay;
33
+ private _tracker?;
34
+ /**
35
+ * SearchOverlay 의 VIEW 모드 동작에 영향. Tracker 옵션 (color, fallback,
36
+ * fallbackColor, intervalMs) 을 application 이 제공. SearchOverlay 가 자동
37
+ * tracker.start 호출 시 이 옵션 사용.
38
+ */
39
+ trackerOptions?: TrackerOptions;
40
+ /**
41
+ * SearchOverlay 의 query-submit 시 호출되는 application override hook.
42
+ * - 반환 true: SearchOverlay 의 디폴트 동작 (자동 tracker.start) skip — application 이 모든 처리.
43
+ * - 반환 false/void: 디폴트 진행 (tracker.start 자동 호출).
44
+ * 미지정 시 디폴트 진행. application 은 폴백만 제공할 수도, 완전 override 할 수도.
45
+ */
46
+ onSearchSubmit?: (detail: any, scene: any) => boolean | void;
47
+ /**
48
+ * SearchOverlay close 시 호출되는 application override hook.
49
+ * 반환 true 시 디폴트 (tracker.stop) skip.
50
+ */
51
+ onSearchClose?: (scene: any) => boolean | void;
52
+ private _loadingOverlay;
53
+ onDataBindingToggle?: () => void;
54
+ onMonitorToggle?: () => void;
9
55
  static get residents(): number;
10
56
  static get residentsCount(): number;
11
57
  /**
@@ -70,6 +116,12 @@ declare class Scene {
70
116
  once(event: any, listener: any, context?: any): void;
71
117
  off(event?: any, listener?: any, context?: any): any;
72
118
  centerTo(component: any, animated?: any): any;
119
+ /**
120
+ * 영구 추적 모듈. 단일 추적 — 한 번에 하나의 id 만 추적. 트리에서 매칭 컴포넌트가
121
+ * dispose/재등장 사이클을 타도 자동 재부착. 2D 는 deco-border, 3D 는 outline 으로
122
+ * 같은 색깔 시각화. 자세한 사용법은 Tracker 클래스 참고.
123
+ */
124
+ get tracker(): Tracker;
73
125
  get mode(): any;
74
126
  set mode(mode: any);
75
127
  toDataURL(type?: any, encoderOptions?: any, width?: any, height?: any): Promise<unknown>;
@@ -77,7 +129,10 @@ declare class Scene {
77
129
  ungroup(): void;
78
130
  fit(type?: any): void;
79
131
  get fitMode(): any;
80
- get ids(): any[];
132
+ get ids(): {
133
+ key: any;
134
+ value: any;
135
+ }[];
81
136
  get data(): any;
82
137
  set data(data: any);
83
138
  get dataByRefid(): any;
@@ -88,11 +143,62 @@ declare class Scene {
88
143
  set valuesByRefid(values: any);
89
144
  get baseUrl(): any;
90
145
  set baseUrl(baseUrl: any);
146
+ /**
147
+ * 애니메이션 억제 활성 여부.
148
+ * 영구 플래그(set suppressAnimations) 또는 활성 스코프(withSuppressedAnimations/
149
+ * beginSuppressAnimations) 중 하나라도 해당되면 true.
150
+ */
151
+ get suppressAnimations(): boolean;
152
+ /** 런타임 모드 토글: 지정된 상태로 고정. 스코프드 API 와는 독립적으로 동작. */
153
+ set suppressAnimations(value: boolean);
154
+ /**
155
+ * 콜백 실행 동안만 애니메이션 억제.
156
+ * 중첩 호출 / sync·async / 예외 모두 안전.
157
+ *
158
+ * @example
159
+ * scene.withSuppressedAnimations(() => {
160
+ * for (const record of snapshot) component.data = record
161
+ * })
162
+ */
163
+ withSuppressedAnimations<T>(fn: () => T | Promise<T>): T | Promise<T>;
164
+ /**
165
+ * 수동 제어용 disposable. end() 호출 전까지 억제 유지.
166
+ * 스코프가 콜백 경계를 넘어가는 케이스 (이벤트 기반 드래그 등) 에 사용.
167
+ *
168
+ * @example
169
+ * const d = scene.beginSuppressAnimations()
170
+ * // ... some async flow ...
171
+ * d.end()
172
+ */
173
+ beginSuppressAnimations(): {
174
+ end(): void;
175
+ };
91
176
  startAddMode(models?: any): void;
177
+ /**
178
+ * Bulk-create 모드 진입. 사용자가 캔버스에 영역을 드래그 완료하면 area 와 함께
179
+ * resolve, ESC/취소 시 null 로 resolve.
180
+ *
181
+ * const result = await scene.startBulkCreateMode(template, { boxStrokeStyle: '#2964c2' })
182
+ * if (result) { ... result.area, result.template ... }
183
+ *
184
+ * 일반 startAddMode 와 달리 AddLayer 가 add 를 호출하지 않고 영역 선택만 처리.
185
+ * 외부 consumer 가 dialog/옵션 협의 후 직접 add 결정.
186
+ */
187
+ startBulkCreateMode(template: any, options?: {
188
+ boxStrokeStyle?: string;
189
+ }): Promise<API.BulkCreateResult | null>;
92
190
  startStylePasteMode(): void;
93
191
  stopStylePasteMode(): void;
94
192
  startDatabindPasteMode(): void;
95
193
  stopDatabindPasteMode(): void;
194
+ get loading(): LoadTracker | undefined;
195
+ get loadingOverlay(): LoadingOverlay;
196
+ showLoadingOverlay(): void;
197
+ hideLoadingOverlay(): void;
198
+ toggleLoadingOverlay(): void;
199
+ get searchOverlay(): SearchOverlay;
200
+ private _setupSearchOverlay;
201
+ private _setupLoadingOverlay;
96
202
  }
97
203
  export default Scene;
98
204
  //# sourceMappingURL=scene.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/things-scene/scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/things-scene/scene.ts"],"names":[],"mappings":"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"}