@hatiolab/things-scene 10.0.0-beta.10 → 10.0.0-beta.101

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 (372) 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 +11 -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/decorator/decorator-registry.d.ts +4 -0
  100. package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
  101. package/dist-types/decorator/decorators/animated-icon-decorator.d.ts.map +1 -1
  102. package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts.map +1 -1
  103. package/dist-types/decorator/decorators/data-spread-decorator.d.ts +16 -0
  104. package/dist-types/decorator/decorators/data-spread-decorator.d.ts.map +1 -1
  105. package/dist-types/diagnostics/contract-inspector.d.ts +103 -0
  106. package/dist-types/diagnostics/contract-inspector.d.ts.map +1 -0
  107. package/dist-types/diagnostics/data-lag-tracker.d.ts +44 -0
  108. package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -0
  109. package/dist-types/diagnostics/inspector.d.ts +58 -4
  110. package/dist-types/diagnostics/inspector.d.ts.map +1 -1
  111. package/dist-types/diagnostics/load-tracker.d.ts +82 -0
  112. package/dist-types/diagnostics/load-tracker.d.ts.map +1 -0
  113. package/dist-types/diagnostics/loading-overlay.d.ts +41 -0
  114. package/dist-types/diagnostics/loading-overlay.d.ts.map +1 -0
  115. package/dist-types/effect/shadow.d.ts +3 -1
  116. package/dist-types/effect/shadow.d.ts.map +1 -1
  117. package/dist-types/event-map/index.d.ts +1 -0
  118. package/dist-types/event-map/index.d.ts.map +1 -1
  119. package/dist-types/event-map/transition-handler.d.ts +2 -0
  120. package/dist-types/event-map/transition-handler.d.ts.map +1 -0
  121. package/dist-types/interfaces/layout.d.ts +35 -1
  122. package/dist-types/interfaces/layout.d.ts.map +1 -1
  123. package/dist-types/interfaces/providers.d.ts +20 -3
  124. package/dist-types/interfaces/providers.d.ts.map +1 -1
  125. package/dist-types/interfaces/real-object.d.ts +8 -1
  126. package/dist-types/interfaces/real-object.d.ts.map +1 -1
  127. package/dist-types/interfaces/rendering.d.ts +86 -14
  128. package/dist-types/interfaces/rendering.d.ts.map +1 -1
  129. package/dist-types/interfaces/types.d.ts +20 -1
  130. package/dist-types/interfaces/types.d.ts.map +1 -1
  131. package/dist-types/layer/action/popup.d.ts +13 -0
  132. package/dist-types/layer/action/popup.d.ts.map +1 -1
  133. package/dist-types/layer/add-layer.d.ts +8 -0
  134. package/dist-types/layer/add-layer.d.ts.map +1 -1
  135. package/dist-types/layer/dual-canvas-layer.d.ts.map +1 -1
  136. package/dist-types/layer/index.d.ts +1 -0
  137. package/dist-types/layer/index.d.ts.map +1 -1
  138. package/dist-types/layer/layer.d.ts +1 -0
  139. package/dist-types/layer/layer.d.ts.map +1 -1
  140. package/dist-types/layer/model-layer.d.ts +67 -7
  141. package/dist-types/layer/model-layer.d.ts.map +1 -1
  142. package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
  143. package/dist-types/layer/modeling-layer.d.ts.map +1 -1
  144. package/dist-types/layer/selection/selected-finder.d.ts +1 -1
  145. package/dist-types/layer/selection/selected-finder.d.ts.map +1 -1
  146. package/dist-types/layer/selection-layer.d.ts.map +1 -1
  147. package/dist-types/layer/snap-guide-layer.d.ts +23 -0
  148. package/dist-types/layer/snap-guide-layer.d.ts.map +1 -0
  149. package/dist-types/layout/absolute.d.ts +2 -2
  150. package/dist-types/layout/card.d.ts +2 -2
  151. package/dist-types/layout/linear-horizontal.d.ts +2 -2
  152. package/dist-types/layout/linear-vertical.d.ts +2 -2
  153. package/dist-types/layout/table.d.ts +3 -3
  154. package/dist-types/math/component-pose.d.ts +51 -0
  155. package/dist-types/math/component-pose.d.ts.map +1 -0
  156. package/dist-types/math/index.d.ts +3 -0
  157. package/dist-types/math/index.d.ts.map +1 -0
  158. package/dist-types/math/pose6dof.d.ts +93 -0
  159. package/dist-types/math/pose6dof.d.ts.map +1 -0
  160. package/dist-types/navigation/index.d.ts +7 -0
  161. package/dist-types/navigation/index.d.ts.map +1 -0
  162. package/dist-types/navigation/nav-graph.d.ts +55 -0
  163. package/dist-types/navigation/nav-graph.d.ts.map +1 -0
  164. package/dist-types/navigation/path-planner.d.ts +29 -0
  165. package/dist-types/navigation/path-planner.d.ts.map +1 -0
  166. package/dist-types/navigation/reservation-table.d.ts +103 -0
  167. package/dist-types/navigation/reservation-table.d.ts.map +1 -0
  168. package/dist-types/navigation/types.d.ts +145 -0
  169. package/dist-types/navigation/types.d.ts.map +1 -0
  170. package/dist-types/placement/index.d.ts +3 -0
  171. package/dist-types/placement/index.d.ts.map +1 -0
  172. package/dist-types/placement/placement.d.ts +53 -0
  173. package/dist-types/placement/placement.d.ts.map +1 -0
  174. package/dist-types/search/index.d.ts +3 -0
  175. package/dist-types/search/index.d.ts.map +1 -0
  176. package/dist-types/search/scene-search-engine.d.ts +65 -0
  177. package/dist-types/search/scene-search-engine.d.ts.map +1 -0
  178. package/dist-types/search/search-overlay.d.ts +95 -0
  179. package/dist-types/search/search-overlay.d.ts.map +1 -0
  180. package/dist-types/things-scene/api/add-start.d.ts +25 -0
  181. package/dist-types/things-scene/api/add-start.d.ts.map +1 -1
  182. package/dist-types/things-scene/api/align.d.ts.map +1 -1
  183. package/dist-types/things-scene/api/distribute.d.ts.map +1 -1
  184. package/dist-types/things-scene/api/ids.d.ts +4 -1
  185. package/dist-types/things-scene/api/ids.d.ts.map +1 -1
  186. package/dist-types/things-scene/api/index.d.ts +1 -1
  187. package/dist-types/things-scene/api/index.d.ts.map +1 -1
  188. package/dist-types/things-scene/api/place.d.ts.map +1 -1
  189. package/dist-types/things-scene/application-context.d.ts +52 -0
  190. package/dist-types/things-scene/application-context.d.ts.map +1 -1
  191. package/dist-types/things-scene/create.d.ts +44 -3
  192. package/dist-types/things-scene/create.d.ts.map +1 -1
  193. package/dist-types/things-scene/index.d.ts +24 -0
  194. package/dist-types/things-scene/index.d.ts.map +1 -1
  195. package/dist-types/things-scene/scene.d.ts +108 -2
  196. package/dist-types/things-scene/scene.d.ts.map +1 -1
  197. package/dist-types/threed/arrow-3d.d.ts +13 -4
  198. package/dist-types/threed/arrow-3d.d.ts.map +1 -1
  199. package/dist-types/threed/environments/base-environment.d.ts +17 -0
  200. package/dist-types/threed/environments/base-environment.d.ts.map +1 -0
  201. package/dist-types/threed/environments/cloudy-environment.d.ts +10 -0
  202. package/dist-types/threed/environments/cloudy-environment.d.ts.map +1 -0
  203. package/dist-types/threed/environments/factory-environment.d.ts +3 -3
  204. package/dist-types/threed/environments/factory-environment.d.ts.map +1 -1
  205. package/dist-types/threed/environments/home-environment.d.ts +3 -3
  206. package/dist-types/threed/environments/home-environment.d.ts.map +1 -1
  207. package/dist-types/threed/environments/office-environment.d.ts +3 -3
  208. package/dist-types/threed/environments/office-environment.d.ts.map +1 -1
  209. package/dist-types/threed/environments/rainy-environment.d.ts +10 -0
  210. package/dist-types/threed/environments/rainy-environment.d.ts.map +1 -0
  211. package/dist-types/threed/environments/studio-environment.d.ts +2 -3
  212. package/dist-types/threed/environments/studio-environment.d.ts.map +1 -1
  213. package/dist-types/threed/environments/sunny-environment.d.ts +10 -0
  214. package/dist-types/threed/environments/sunny-environment.d.ts.map +1 -0
  215. package/dist-types/threed/environments/warehouse-environment.d.ts +3 -3
  216. package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -1
  217. package/dist-types/threed/factories/backdrop.d.ts +535 -0
  218. package/dist-types/threed/factories/backdrop.d.ts.map +1 -0
  219. package/dist-types/threed/factories/banner.d.ts +11 -4
  220. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  221. package/dist-types/threed/factories/camera.d.ts +8 -3
  222. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  223. package/dist-types/threed/factories/cube.d.ts +8 -3
  224. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  225. package/dist-types/threed/factories/cylinder.d.ts +1 -0
  226. package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
  227. package/dist-types/threed/factories/decal.d.ts +512 -0
  228. package/dist-types/threed/factories/decal.d.ts.map +1 -0
  229. package/dist-types/threed/factories/floor-plate.d.ts +11 -0
  230. package/dist-types/threed/factories/floor-plate.d.ts.map +1 -0
  231. package/dist-types/threed/factories/gltf-object.d.ts +264 -38
  232. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  233. package/dist-types/threed/factories/group.d.ts +2 -0
  234. package/dist-types/threed/factories/group.d.ts.map +1 -0
  235. package/dist-types/threed/factories/light.d.ts +1 -0
  236. package/dist-types/threed/factories/light.d.ts.map +1 -1
  237. package/dist-types/threed/factories/line.d.ts +10 -0
  238. package/dist-types/threed/factories/line.d.ts.map +1 -0
  239. package/dist-types/threed/factories/ortholine.d.ts +10 -0
  240. package/dist-types/threed/factories/ortholine.d.ts.map +1 -0
  241. package/dist-types/threed/factories/polygon.d.ts +19 -0
  242. package/dist-types/threed/factories/polygon.d.ts.map +1 -1
  243. package/dist-types/threed/factories/polyline.d.ts +10 -0
  244. package/dist-types/threed/factories/polyline.d.ts.map +1 -0
  245. package/dist-types/threed/factories/rect.d.ts.map +1 -1
  246. package/dist-types/threed/factories/sphere.d.ts +6 -0
  247. package/dist-types/threed/factories/sphere.d.ts.map +1 -1
  248. package/dist-types/threed/factories/sprite.d.ts +8 -3
  249. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  250. package/dist-types/threed/factories/triangle.d.ts.map +1 -1
  251. package/dist-types/threed/factories/wall.d.ts +8 -3
  252. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  253. package/dist-types/threed/floor/floor.d.ts.map +1 -1
  254. package/dist-types/threed/handle-3d.d.ts +21 -0
  255. package/dist-types/threed/handle-3d.d.ts.map +1 -0
  256. package/dist-types/threed/html/elements.d.ts.map +1 -1
  257. package/dist-types/threed/index.d.ts +22 -0
  258. package/dist-types/threed/index.d.ts.map +1 -1
  259. package/dist-types/threed/managers/box-selection-manager.d.ts +26 -0
  260. package/dist-types/threed/managers/box-selection-manager.d.ts.map +1 -0
  261. package/dist-types/threed/managers/camera-bookmark-manager.d.ts +127 -0
  262. package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -0
  263. package/dist-types/threed/managers/camera-manager.d.ts +9 -3
  264. package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
  265. package/dist-types/threed/managers/controls-manager.d.ts +25 -4
  266. package/dist-types/threed/managers/controls-manager.d.ts.map +1 -1
  267. package/dist-types/threed/managers/event-manager3d.d.ts +8 -0
  268. package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
  269. package/dist-types/threed/managers/gizmo-manager.d.ts +6 -0
  270. package/dist-types/threed/managers/gizmo-manager.d.ts.map +1 -1
  271. package/dist-types/threed/managers/gizmo-operation-manager.d.ts +55 -1
  272. package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
  273. package/dist-types/threed/managers/index.d.ts +4 -1
  274. package/dist-types/threed/managers/index.d.ts.map +1 -1
  275. package/dist-types/threed/managers/interaction-manager.d.ts +17 -0
  276. package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
  277. package/dist-types/threed/managers/light-manager.d.ts +15 -0
  278. package/dist-types/threed/managers/light-manager.d.ts.map +1 -1
  279. package/dist-types/threed/managers/renderer-manager.d.ts +43 -0
  280. package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
  281. package/dist-types/threed/managers/scene-manager.d.ts +12 -2
  282. package/dist-types/threed/managers/scene-manager.d.ts.map +1 -1
  283. package/dist-types/threed/managers/types.d.ts +5 -2
  284. package/dist-types/threed/managers/types.d.ts.map +1 -1
  285. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts +155 -0
  286. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -0
  287. package/dist-types/threed/material-3d.d.ts +5 -2
  288. package/dist-types/threed/material-3d.d.ts.map +1 -1
  289. package/dist-types/threed/ratio-lock-utils.d.ts +9 -0
  290. package/dist-types/threed/ratio-lock-utils.d.ts.map +1 -0
  291. package/dist-types/threed/real-object-dom-element.d.ts +1 -0
  292. package/dist-types/threed/real-object-dom-element.d.ts.map +1 -1
  293. package/dist-types/threed/real-object-dom-texture.d.ts +9 -0
  294. package/dist-types/threed/real-object-dom-texture.d.ts.map +1 -1
  295. package/dist-types/threed/real-object-external-model.d.ts +24 -0
  296. package/dist-types/threed/real-object-external-model.d.ts.map +1 -0
  297. package/dist-types/threed/real-object-extrude.d.ts +16 -1
  298. package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
  299. package/dist-types/threed/real-object-gltf.d.ts +21 -11
  300. package/dist-types/threed/real-object-gltf.d.ts.map +1 -1
  301. package/dist-types/threed/real-object-group.d.ts +2 -0
  302. package/dist-types/threed/real-object-group.d.ts.map +1 -1
  303. package/dist-types/threed/real-object-line.d.ts +83 -0
  304. package/dist-types/threed/real-object-line.d.ts.map +1 -0
  305. package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
  306. package/dist-types/threed/real-object-plane-2d.d.ts +23 -0
  307. package/dist-types/threed/real-object-plane-2d.d.ts.map +1 -1
  308. package/dist-types/threed/real-object-service.d.ts +14 -0
  309. package/dist-types/threed/real-object-service.d.ts.map +1 -0
  310. package/dist-types/threed/real-object-sprite.d.ts +7 -1
  311. package/dist-types/threed/real-object-sprite.d.ts.map +1 -1
  312. package/dist-types/threed/real-object-text.d.ts +5 -0
  313. package/dist-types/threed/real-object-text.d.ts.map +1 -1
  314. package/dist-types/threed/real-object.d.ts +176 -7
  315. package/dist-types/threed/real-object.d.ts.map +1 -1
  316. package/dist-types/threed/text-editor-3d.d.ts +11 -0
  317. package/dist-types/threed/text-editor-3d.d.ts.map +1 -0
  318. package/dist-types/threed/texture/canvas-texture.d.ts +7 -0
  319. package/dist-types/threed/texture/canvas-texture.d.ts.map +1 -1
  320. package/dist-types/threed/texture/fillstyle-texture.d.ts +46 -0
  321. package/dist-types/threed/texture/fillstyle-texture.d.ts.map +1 -0
  322. package/dist-types/threed/texture/text-texture.d.ts +15 -0
  323. package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
  324. package/dist-types/threed/three-capability.d.ts +148 -6
  325. package/dist-types/threed/three-capability.d.ts.map +1 -1
  326. package/dist-types/threed/three-container.d.ts +0 -1
  327. package/dist-types/threed/three-container.d.ts.map +1 -1
  328. package/dist-types/threed/three-dimensional-container.d.ts +0 -1
  329. package/dist-types/threed/three-dimensional-container.d.ts.map +1 -1
  330. package/dist-types/threed/utils/anchor.d.ts +33 -0
  331. package/dist-types/threed/utils/anchor.d.ts.map +1 -0
  332. package/dist-types/threed/utils/dispose.d.ts.map +1 -1
  333. package/dist-types/threed/utils/tether.d.ts +46 -0
  334. package/dist-types/threed/utils/tether.d.ts.map +1 -0
  335. package/dist-types/threed/z-priority.d.ts +27 -0
  336. package/dist-types/threed/z-priority.d.ts.map +1 -0
  337. package/dist-types/tracker/tracker.d.ts +57 -0
  338. package/dist-types/tracker/tracker.d.ts.map +1 -0
  339. package/dist-types/transfer/centering-slot-strategy.d.ts +8 -0
  340. package/dist-types/transfer/centering-slot-strategy.d.ts.map +1 -0
  341. package/dist-types/transfer/container-capacity.d.ts +342 -0
  342. package/dist-types/transfer/container-capacity.d.ts.map +1 -0
  343. package/dist-types/transfer/fixed-slot-strategy.d.ts +8 -0
  344. package/dist-types/transfer/fixed-slot-strategy.d.ts.map +1 -0
  345. package/dist-types/transfer/index.d.ts +15 -0
  346. package/dist-types/transfer/index.d.ts.map +1 -0
  347. package/dist-types/transfer/pickup-helpers.d.ts +65 -0
  348. package/dist-types/transfer/pickup-helpers.d.ts.map +1 -0
  349. package/dist-types/transfer/simulation-clock.d.ts +45 -0
  350. package/dist-types/transfer/simulation-clock.d.ts.map +1 -0
  351. package/dist-types/transfer/transfer.d.ts +168 -0
  352. package/dist-types/transfer/transfer.d.ts.map +1 -0
  353. package/dist-types/transfer/types.d.ts +389 -0
  354. package/dist-types/transfer/types.d.ts.map +1 -0
  355. package/dist-types/transition/transition-effect.d.ts +97 -0
  356. package/dist-types/transition/transition-effect.d.ts.map +1 -0
  357. package/dist-types/types/bounding.d.ts +1 -1
  358. package/dist-types/types/bounding.d.ts.map +1 -1
  359. package/dist-types/types/component.d.ts +6 -177
  360. package/dist-types/types/component.d.ts.map +1 -1
  361. package/dist-types/types/event.d.ts +57 -0
  362. package/dist-types/types/event.d.ts.map +1 -1
  363. package/dist-types/types/polygon-path-arc.d.ts +72 -0
  364. package/dist-types/types/polygon-path-arc.d.ts.map +1 -0
  365. package/dist-types/types/polygon-path.d.ts +153 -0
  366. package/dist-types/types/polygon-path.d.ts.map +1 -0
  367. package/package.json +12 -1
  368. package/things-scene-min.js +12 -13
  369. package/things-scene-min.js.map +1 -1
  370. package/things-scene-transfer.mjs +6 -0
  371. package/things-scene.mjs +8 -9
  372. package/things-scene.mjs.map +1 -1
@@ -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,8 +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;
10
+ _postprocessing: boolean;
11
+ /**
12
+ * Z-fighting 완화용 로그 depth buffer 강제. undefined = "auto" (포스트프로세싱 +
13
+ * 환경 프리셋 추천에 따라 자동 결정). true/false = 명시 override.
14
+ * **Renderer 생성 시점에만 적용** — 런타임 변경은 renderer 재생성 필요.
15
+ */
16
+ _logarithmicDepth?: boolean;
6
17
  _rotateStep: number;
7
18
  _rotateStepForced: boolean;
8
19
  _dataSubscriptionProvider: {
@@ -13,8 +24,21 @@ export default class ApplicationContext {
13
24
  _PPI: number;
14
25
  _PPM: number;
15
26
  _commander: unknown;
27
+ _loadTracker?: LoadTracker;
28
+ _loadTrackerOwned: boolean;
29
+ _lagTracker?: DataLagTracker;
30
+ /** 영구 플래그 (런타임 setter로 조작) */
31
+ _suppressAnimationsFlag: boolean;
32
+ /** 스코프드 API 의 중첩 호출용 ref count */
33
+ _suppressScopeCount: number;
16
34
  trigger: (event: string, ...args: unknown[]) => void;
17
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;
18
42
  dispose(): void;
19
43
  _calcScreen(): void;
20
44
  subscribe(tag: string, component: unknown): unknown;
@@ -47,5 +71,33 @@ export default class ApplicationContext {
47
71
  set rotateStepForced(force: boolean);
48
72
  get dataStorage(): unknown;
49
73
  set dataStorage(dataStorage: unknown);
74
+ get postprocessing(): boolean;
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
+ };
50
102
  }
51
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,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;CACF"}
1
+ {"version":3,"file":"application-context.d.ts","sourceRoot":"","sources":["../../src/things-scene/application-context.ts"],"names":[],"mappings":"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"}
@@ -1,19 +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 */
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;
17
58
  }
18
- export default function create({ target, model, style, layers, handlers, mode, refProvider, dataSubscriptionProvider, dataStorage, baseUrl, fitMode }: SceneCreateOptions): Scene;
59
+ export default function create({ target, model, style, layers, handlers, mode, refProvider, dataSubscriptionProvider, dataStorage, baseUrl, fitMode, postprocessing, logarithmicDepth, loading: loadingOptions }: SceneCreateOptions): Scene;
19
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;CAClB;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,EACR,EAAE,kBAAkB,SAwCpB"}
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, QuatLike, PoseSerialized, PickupFrame, PickupRequester, Pickable, RectangularFootprintOptions, TopApproachOptions } from '../transfer/index.js';
32
+ export { FixedSlotStrategy, CenteringSlotStrategy, ContainerCapacity, TRANSFER_SLOT_KEY, globalSimClock, Transfer, transferLog, receiptToJSON, 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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"}
@@ -1,6 +1,6 @@
1
1
  import * as THREE from 'three';
2
2
  import { Line2 } from 'three/examples/jsm/lines/Line2.js';
3
- export type TipType = 'none' | 'arrow' | 'open-arrow' | 'sharp-arrow' | 'diamond' | 'oval';
3
+ export type TipType = 'none' | 'arrow' | 'open-arrow' | 'sharp-arrow' | 'diamond' | 'oval' | 'cross';
4
4
  export type TipSize = 'size1' | 'size2' | 'size3' | 'size4' | 'size5' | 'size6' | 'size7' | 'size8' | 'size9';
5
5
  export type LineDash = 'solid' | 'round-dot' | 'square-dot' | 'dash' | 'dash-dot' | 'long-dash' | 'long-dash-dot' | 'long-dash-dot-dot';
6
6
  export interface ArrowStyle3D {
@@ -22,16 +22,25 @@ export declare function tipSize(size: TipSize | undefined, lineWidth: number): {
22
22
  Y: number;
23
23
  };
24
24
  /**
25
- * 팁 타입별 BufferGeometry(또는 Line2) 생성.
26
- * XY 평면, +X 방향이 화살표가 가리키는 방향(외부에서 쿼터니언 회전).
25
+ * 팁 타입별 3D Geometry 생성.
26
+ * +X 방향이 화살표가 가리키는 방향(외부에서 쿼터니언 회전).
27
27
  * 반환이 null이면 'none' 팁.
28
+ *
29
+ * 3D 형상 매핑:
30
+ * - arrow → ConeGeometry (넓은 원뿔)
31
+ * - sharp-arrow → ConeGeometry (좁고 긴 원뿔)
32
+ * - open-arrow → ConeGeometry (wireframe)
33
+ * - diamond → OctahedronGeometry
34
+ * - oval → SphereGeometry
35
+ * - cross → TetrahedronGeometry
28
36
  */
29
37
  export declare function createTipGeometry(type: TipType, size: {
30
38
  X: number;
31
39
  Y: number;
32
- }, lineWidth: number): {
40
+ }, _lineWidth: number): {
33
41
  mesh?: THREE.Mesh;
34
42
  line2?: Line2;
43
+ group?: THREE.Group;
35
44
  } | null;
36
45
  /**
37
46
  * Line2 + LineMaterial 기반 화살표 줄기 생성.
@@ -1 +1 @@
1
- {"version":3,"file":"arrow-3d.d.ts","sourceRoot":"","sources":["../../src/threed/arrow-3d.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAQzD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,CAAA;AAC1F,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAC7G,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,WAAW,GACX,YAAY,GACZ,MAAM,GACN,UAAU,GACV,WAAW,GACX,eAAe,GACf,mBAAmB,CAAA;AAEvB,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAMD;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAwB9F;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9B,SAAS,EAAE,MAAM,GAChB;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG,IAAI,CA+D7C;AAqCD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CA4CP;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,KAAK,CAAC,OAAO,GACtB,KAAK,CAAC,MAAM,CAqCd;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CAAC,KAAK,CAqGb"}
1
+ {"version":3,"file":"arrow-3d.d.ts","sourceRoot":"","sources":["../../src/threed/arrow-3d.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAQzD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AACpG,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAC7G,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,WAAW,GACX,YAAY,GACZ,MAAM,GACN,UAAU,GACV,WAAW,GACX,eAAe,GACf,mBAAmB,CAAA;AAEvB,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAMD;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAwB9F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9B,UAAU,EAAE,MAAM,GACjB;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAA;CAAE,GAAG,IAAI,CA4ElE;AAqCD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CA4CP;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,KAAK,CAAC,OAAO,GACtB,KAAK,CAAC,MAAM,CAqCd;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CAAC,KAAK,CAuGb"}
@@ -0,0 +1,17 @@
1
+ import { Scene } from 'three';
2
+ /**
3
+ * 환경 씬 공통 베이스 클래스.
4
+ * PMREMGenerator.fromScene()으로 cubemap을 생성하는 환경 씬들의 공통 dispose() 로직을 제공한다.
5
+ *
6
+ * 정적 속성:
7
+ * recommendsLogarithmicDepth — 이 환경에서 z-fight 가 시각적으로 두드러져 로그 depth
8
+ * buffer 권장 여부. 실내 (warehouse / factory / office / home) 는 가까운 거리에 큰
9
+ * 배경 + 많은 겹친 면이 많아 true. 실외 (sunny / cloudy / rainy / studio) 는 일반적
10
+ * 사용에서 z-fight 가 덜 보여 false. 사용자의 SceneCreateOptions.logarithmicDepth 가
11
+ * 명시되지 않은 경우만 이 추천이 적용됨.
12
+ */
13
+ export declare abstract class BaseEnvironment extends Scene {
14
+ static recommendsLogarithmicDepth: boolean;
15
+ dispose(): void;
16
+ }
17
+ //# sourceMappingURL=base-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/base-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,EAAE,MAAM,OAAO,CAAA;AAEnC;;;;;;;;;;GAUG;AACH,8BAAsB,eAAgB,SAAQ,KAAK;IACjD,MAAM,CAAC,0BAA0B,EAAE,OAAO,CAAQ;IAElD,OAAO;CAYR"}
@@ -0,0 +1,10 @@
1
+ import { BaseEnvironment } from './base-environment.js';
2
+ /**
3
+ * Cloudy 환경 — 흐린 날씨.
4
+ * 높은 turbidity + 낮은 rayleigh로 하늘 전체가 회백색 느낌.
5
+ * 태양은 구름 뒤에 있는 듯 약한 halo만 보임.
6
+ */
7
+ export declare class CloudyEnvironment extends BaseEnvironment {
8
+ constructor();
9
+ }
10
+ //# sourceMappingURL=cloudy-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudy-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/cloudy-environment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;;CAsBrD"}
@@ -1,11 +1,11 @@
1
- import { Scene } from 'three';
1
+ import { BaseEnvironment } from './base-environment.js';
2
2
  /**
3
3
  * 공장 환경 — 높은 천장, 강한 상단 조명, 금속적 톤, 높은 대비.
4
4
  * PMREMGenerator.fromScene()으로 cubemap을 생성하여
5
5
  * scene.environment / GroundedSkybox에 사용한다.
6
6
  */
7
- export declare class FactoryEnvironment extends Scene {
7
+ export declare class FactoryEnvironment extends BaseEnvironment {
8
+ static recommendsLogarithmicDepth: boolean;
8
9
  constructor();
9
- dispose(): void;
10
10
  }
11
11
  //# sourceMappingURL=factory-environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/factory-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EACN,MAAM,OAAO,CAAA;AAEd;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;;IA+D3C,OAAO;CAYR"}
1
+ {"version":3,"file":"factory-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/factory-environment.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,MAAM,CAAC,0BAA0B,UAAO;;CAgEzC"}
@@ -1,11 +1,11 @@
1
- import { Scene } from 'three';
1
+ import { BaseEnvironment } from './base-environment.js';
2
2
  /**
3
3
  * 가정 환경 — 아늑한 분위기, 따뜻한 조명, 낮은 천장, 넓은 창문.
4
4
  * PMREMGenerator.fromScene()으로 cubemap을 생성하여
5
5
  * scene.environment / scene.background에 사용한다.
6
6
  */
7
- export declare class HomeEnvironment extends Scene {
7
+ export declare class HomeEnvironment extends BaseEnvironment {
8
+ static recommendsLogarithmicDepth: boolean;
8
9
  constructor();
9
- dispose(): void;
10
10
  }
11
11
  //# sourceMappingURL=home-environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"home-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/home-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EACN,MAAM,OAAO,CAAA;AAEd;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,KAAK;;IA0DxC,OAAO;CAYR"}
1
+ {"version":3,"file":"home-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/home-environment.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAClD,MAAM,CAAC,0BAA0B,UAAO;;CA2DzC"}
@@ -1,11 +1,11 @@
1
- import { Scene } from 'three';
1
+ import { BaseEnvironment } from './base-environment.js';
2
2
  /**
3
3
  * 사무실 환경 — 낮은 천장, 균일한 면광원, 따뜻한 색온도.
4
4
  * PMREMGenerator.fromScene()으로 cubemap을 생성하여
5
5
  * scene.environment / GroundedSkybox에 사용한다.
6
6
  */
7
- export declare class OfficeEnvironment extends Scene {
7
+ export declare class OfficeEnvironment extends BaseEnvironment {
8
+ static recommendsLogarithmicDepth: boolean;
8
9
  constructor();
9
- dispose(): void;
10
10
  }
11
11
  //# sourceMappingURL=office-environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"office-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/office-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EACN,MAAM,OAAO,CAAA;AAEd;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;;IAuD1C,OAAO;CAYR"}
1
+ {"version":3,"file":"office-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/office-environment.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,MAAM,CAAC,0BAA0B,UAAO;;CAwDzC"}
@@ -0,0 +1,10 @@
1
+ import { BaseEnvironment } from './base-environment.js';
2
+ /**
3
+ * Rainy 환경 — 비 오는 날씨.
4
+ * 매우 높은 turbidity + 억제된 rayleigh로 어두운 회청색 하늘.
5
+ * 태양은 거의 안 보이고 전반적으로 어둑한 분위기.
6
+ */
7
+ export declare class RainyEnvironment extends BaseEnvironment {
8
+ constructor();
9
+ }
10
+ //# sourceMappingURL=rainy-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rainy-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/rainy-environment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;;CAsBpD"}
@@ -1,12 +1,11 @@
1
- import { Scene } from 'three';
1
+ import { BaseEnvironment } from './base-environment.js';
2
2
  /**
3
3
  * 스튜디오 환경 — 밝고 균일한 조명, 중성 배경.
4
4
  * RoomEnvironment 대체용. 바닥 오브젝트 없이 벽/천장/조명만 구성.
5
5
  * PMREMGenerator.fromScene()으로 cubemap을 생성하여
6
6
  * scene.environment / scene.background에 사용한다.
7
7
  */
8
- export declare class StudioEnvironment extends Scene {
8
+ export declare class StudioEnvironment extends BaseEnvironment {
9
9
  constructor();
10
- dispose(): void;
11
10
  }
12
11
  //# sourceMappingURL=studio-environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"studio-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/studio-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EACN,MAAM,OAAO,CAAA;AAEd;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;;IAoD1C,OAAO;CAYR"}
1
+ {"version":3,"file":"studio-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/studio-environment.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;;CAoDrD"}
@@ -0,0 +1,10 @@
1
+ import { BaseEnvironment } from './base-environment.js';
2
+ /**
3
+ * Sunny 환경 — 맑은 날씨.
4
+ * Three.js 내장 Sky shader(Hosek-Wilkie 대기 산란)로 실제 같은 하늘 생성.
5
+ * 지평선 옅은 흰빛 → 천정 짙은 파랑의 자연스러운 그라데이션 + 강한 태양.
6
+ */
7
+ export declare class SunnyEnvironment extends BaseEnvironment {
8
+ constructor();
9
+ }
10
+ //# sourceMappingURL=sunny-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sunny-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/sunny-environment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;;CAuBpD"}