@hatiolab/things-scene 10.0.0-beta.14 → 10.0.0-beta.140

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 (482) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +56 -53
  3. package/dist-types/animation/animate.d.ts.map +1 -1
  4. package/dist-types/animation/animations/animation.d.ts +5 -3
  5. package/dist-types/animation/animations/animation.d.ts.map +1 -1
  6. package/dist-types/animation/animations/heartbeat.d.ts +0 -7
  7. package/dist-types/animation/animations/heartbeat.d.ts.map +1 -1
  8. package/dist-types/animation/animations/waypoint.d.ts +45 -4
  9. package/dist-types/animation/animations/waypoint.d.ts.map +1 -1
  10. package/dist-types/animation/interfaces.d.ts +1 -1
  11. package/dist-types/animation/interfaces.d.ts.map +1 -1
  12. package/dist-types/clock/frame-clock.d.ts +119 -0
  13. package/dist-types/clock/frame-clock.d.ts.map +1 -0
  14. package/dist-types/clock/index.d.ts +3 -0
  15. package/dist-types/clock/index.d.ts.map +1 -0
  16. package/dist-types/command/command-migrate.d.ts.map +1 -1
  17. package/dist-types/command/snapshot-commander.d.ts.map +1 -1
  18. package/dist-types/components/audio.d.ts +19 -12
  19. package/dist-types/components/audio.d.ts.map +1 -1
  20. package/dist-types/components/component-data.d.ts +24 -0
  21. package/dist-types/components/component-data.d.ts.map +1 -1
  22. package/dist-types/components/component-drawing.d.ts.map +1 -1
  23. package/dist-types/components/component-geometry.d.ts.map +1 -1
  24. package/dist-types/components/component-hierarchy.d.ts +1 -1
  25. package/dist-types/components/component-hierarchy.d.ts.map +1 -1
  26. package/dist-types/components/component.d.ts +123 -17
  27. package/dist-types/components/component.d.ts.map +1 -1
  28. package/dist-types/components/container-abstract.d.ts +74 -29
  29. package/dist-types/components/container-abstract.d.ts.map +1 -1
  30. package/dist-types/components/container.d.ts +19 -11
  31. package/dist-types/components/container.d.ts.map +1 -1
  32. package/dist-types/components/data/data.d.ts.map +1 -1
  33. package/dist-types/components/data/evaluator.d.ts +27 -0
  34. package/dist-types/components/data/evaluator.d.ts.map +1 -1
  35. package/dist-types/components/donut.d.ts.map +1 -1
  36. package/dist-types/components/drawer/fill.d.ts.map +1 -1
  37. package/dist-types/components/drawer/stroke.d.ts.map +1 -1
  38. package/dist-types/components/ellipse.d.ts +19 -12
  39. package/dist-types/components/ellipse.d.ts.map +1 -1
  40. package/dist-types/components/generic-placeholders.d.ts +294 -0
  41. package/dist-types/components/generic-placeholders.d.ts.map +1 -0
  42. package/dist-types/components/geometry/snap-guide.d.ts +45 -0
  43. package/dist-types/components/geometry/snap-guide.d.ts.map +1 -0
  44. package/dist-types/components/geometry/transcoord.d.ts.map +1 -1
  45. package/dist-types/components/global-ref.d.ts.map +1 -1
  46. package/dist-types/components/group.d.ts +2 -0
  47. package/dist-types/components/group.d.ts.map +1 -1
  48. package/dist-types/components/html/reposition.d.ts.map +1 -1
  49. package/dist-types/components/html/shadow.d.ts +33 -1
  50. package/dist-types/components/html/shadow.d.ts.map +1 -1
  51. package/dist-types/components/html-overlay-container.d.ts +19 -11
  52. package/dist-types/components/html-overlay-container.d.ts.map +1 -1
  53. package/dist-types/components/html-overlay-element.d.ts +38 -23
  54. package/dist-types/components/html-overlay-element.d.ts.map +1 -1
  55. package/dist-types/components/image-view.d.ts +19 -12
  56. package/dist-types/components/image-view.d.ts.map +1 -1
  57. package/dist-types/components/index.d.ts +7 -0
  58. package/dist-types/components/index.d.ts.map +1 -1
  59. package/dist-types/components/info-window.d.ts +19 -12
  60. package/dist-types/components/info-window.d.ts.map +1 -1
  61. package/dist-types/components/line.d.ts +2 -1
  62. package/dist-types/components/line.d.ts.map +1 -1
  63. package/dist-types/components/local-ref.d.ts +19 -12
  64. package/dist-types/components/local-ref.d.ts.map +1 -1
  65. package/dist-types/components/mixins/connectable.d.ts +19 -12
  66. package/dist-types/components/mixins/connectable.d.ts.map +1 -1
  67. package/dist-types/components/mixins/data-source.d.ts +19 -12
  68. package/dist-types/components/mixins/data-source.d.ts.map +1 -1
  69. package/dist-types/components/mixins/gltf-component.d.ts +282 -0
  70. package/dist-types/components/mixins/gltf-component.d.ts.map +1 -0
  71. package/dist-types/components/mixins/holdable.d.ts +12 -0
  72. package/dist-types/components/mixins/holdable.d.ts.map +1 -0
  73. package/dist-types/components/mixins/html-element.d.ts +28 -11
  74. package/dist-types/components/mixins/html-element.d.ts.map +1 -1
  75. package/dist-types/components/mixins/move-handle.d.ts +28 -16
  76. package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
  77. package/dist-types/components/mixins/rect-path.d.ts +19 -12
  78. package/dist-types/components/mixins/rect-path.d.ts.map +1 -1
  79. package/dist-types/components/mixins/three-d-only.d.ts +256 -0
  80. package/dist-types/components/mixins/three-d-only.d.ts.map +1 -0
  81. package/dist-types/components/mixins/value-holder.d.ts +19 -12
  82. package/dist-types/components/mixins/value-holder.d.ts.map +1 -1
  83. package/dist-types/components/modeling-faint.d.ts +14 -0
  84. package/dist-types/components/modeling-faint.d.ts.map +1 -0
  85. package/dist-types/components/mutater/path.d.ts.map +1 -1
  86. package/dist-types/components/node.d.ts +19 -12
  87. package/dist-types/components/node.d.ts.map +1 -1
  88. package/dist-types/components/outline/path-outline.d.ts.map +1 -1
  89. package/dist-types/components/polygon-container.d.ts +61 -0
  90. package/dist-types/components/polygon-container.d.ts.map +1 -0
  91. package/dist-types/components/polygon.d.ts +2 -0
  92. package/dist-types/components/polygon.d.ts.map +1 -1
  93. package/dist-types/components/polyline.d.ts +6 -0
  94. package/dist-types/components/polyline.d.ts.map +1 -1
  95. package/dist-types/components/popup-container.d.ts +25 -0
  96. package/dist-types/components/popup-container.d.ts.map +1 -0
  97. package/dist-types/components/popup.d.ts +49 -12
  98. package/dist-types/components/popup.d.ts.map +1 -1
  99. package/dist-types/components/position/popup-position.d.ts +11 -0
  100. package/dist-types/components/position/popup-position.d.ts.map +1 -1
  101. package/dist-types/components/rect.d.ts +38 -24
  102. package/dist-types/components/rect.d.ts.map +1 -1
  103. package/dist-types/components/retention/retention-manager.d.ts +9 -1
  104. package/dist-types/components/retention/retention-manager.d.ts.map +1 -1
  105. package/dist-types/components/root-container.d.ts +18 -4
  106. package/dist-types/components/root-container.d.ts.map +1 -1
  107. package/dist-types/components/ruler.d.ts +19 -12
  108. package/dist-types/components/ruler.d.ts.map +1 -1
  109. package/dist-types/components/service-component.d.ts +271 -0
  110. package/dist-types/components/service-component.d.ts.map +1 -0
  111. package/dist-types/components/shape.d.ts.map +1 -1
  112. package/dist-types/components/star.d.ts.map +1 -1
  113. package/dist-types/components/text.d.ts +19 -12
  114. package/dist-types/components/text.d.ts.map +1 -1
  115. package/dist-types/core/dom-to-image.d.ts.map +1 -1
  116. package/dist-types/core/logger.d.ts.map +1 -1
  117. package/dist-types/core/memoize.d.ts.map +1 -1
  118. package/dist-types/decorator/decorator-registry.d.ts +14 -1
  119. package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
  120. package/dist-types/decorator/decorators/animated-icon-decorator.d.ts.map +1 -1
  121. package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts +0 -4
  122. package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts.map +1 -1
  123. package/dist-types/decorator/decorators/bouncing-arrow-decorator.d.ts +0 -3
  124. package/dist-types/decorator/decorators/bouncing-arrow-decorator.d.ts.map +1 -1
  125. package/dist-types/decorator/decorators/data-spread-decorator.d.ts +16 -0
  126. package/dist-types/decorator/decorators/data-spread-decorator.d.ts.map +1 -1
  127. package/dist-types/diagnostics/contract-inspector.d.ts +110 -0
  128. package/dist-types/diagnostics/contract-inspector.d.ts.map +1 -0
  129. package/dist-types/diagnostics/data-lag-tracker.d.ts +50 -0
  130. package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -0
  131. package/dist-types/diagnostics/inspector.d.ts +192 -5
  132. package/dist-types/diagnostics/inspector.d.ts.map +1 -1
  133. package/dist-types/diagnostics/load-tracker.d.ts +82 -0
  134. package/dist-types/diagnostics/load-tracker.d.ts.map +1 -0
  135. package/dist-types/diagnostics/loading-overlay.d.ts +98 -0
  136. package/dist-types/diagnostics/loading-overlay.d.ts.map +1 -0
  137. package/dist-types/diagnostics/metrics.d.ts +10 -0
  138. package/dist-types/diagnostics/metrics.d.ts.map +1 -1
  139. package/dist-types/effect/shadow.d.ts +3 -1
  140. package/dist-types/effect/shadow.d.ts.map +1 -1
  141. package/dist-types/event-map/index.d.ts +1 -0
  142. package/dist-types/event-map/index.d.ts.map +1 -1
  143. package/dist-types/event-map/transition-handler.d.ts +2 -0
  144. package/dist-types/event-map/transition-handler.d.ts.map +1 -0
  145. package/dist-types/flow/auto-route.d.ts +36 -0
  146. package/dist-types/flow/auto-route.d.ts.map +1 -0
  147. package/dist-types/flow/capability-inference.d.ts +19 -0
  148. package/dist-types/flow/capability-inference.d.ts.map +1 -0
  149. package/dist-types/flow/face-anchors.d.ts +26 -0
  150. package/dist-types/flow/face-anchors.d.ts.map +1 -0
  151. package/dist-types/flow/flow-engine.d.ts +122 -0
  152. package/dist-types/flow/flow-engine.d.ts.map +1 -0
  153. package/dist-types/flow/flow-graph-coordinator.d.ts +80 -0
  154. package/dist-types/flow/flow-graph-coordinator.d.ts.map +1 -0
  155. package/dist-types/flow/flow-graph-validator.d.ts +33 -0
  156. package/dist-types/flow/flow-graph-validator.d.ts.map +1 -0
  157. package/dist-types/flow/flow-graph.d.ts +76 -0
  158. package/dist-types/flow/flow-graph.d.ts.map +1 -0
  159. package/dist-types/flow/flow-introspection.d.ts +36 -0
  160. package/dist-types/flow/flow-introspection.d.ts.map +1 -0
  161. package/dist-types/flow/flow-node.d.ts +69 -0
  162. package/dist-types/flow/flow-node.d.ts.map +1 -0
  163. package/dist-types/flow/flow-orientation-coordinator.d.ts +13 -0
  164. package/dist-types/flow/flow-orientation-coordinator.d.ts.map +1 -0
  165. package/dist-types/flow/flow-orientation.d.ts +42 -0
  166. package/dist-types/flow/flow-orientation.d.ts.map +1 -0
  167. package/dist-types/flow/flow-trace.d.ts +5 -0
  168. package/dist-types/flow/flow-trace.d.ts.map +1 -0
  169. package/dist-types/flow/index.d.ts +16 -0
  170. package/dist-types/flow/index.d.ts.map +1 -0
  171. package/dist-types/flow/segment-topology.d.ts +225 -0
  172. package/dist-types/flow/segment-topology.d.ts.map +1 -0
  173. package/dist-types/interfaces/event-handler.d.ts +40 -0
  174. package/dist-types/interfaces/event-handler.d.ts.map +1 -0
  175. package/dist-types/interfaces/index.d.ts +2 -0
  176. package/dist-types/interfaces/index.d.ts.map +1 -1
  177. package/dist-types/interfaces/layout.d.ts +35 -1
  178. package/dist-types/interfaces/layout.d.ts.map +1 -1
  179. package/dist-types/interfaces/providers.d.ts +27 -3
  180. package/dist-types/interfaces/providers.d.ts.map +1 -1
  181. package/dist-types/interfaces/real-object.d.ts +8 -1
  182. package/dist-types/interfaces/real-object.d.ts.map +1 -1
  183. package/dist-types/interfaces/rendering.d.ts +86 -14
  184. package/dist-types/interfaces/rendering.d.ts.map +1 -1
  185. package/dist-types/interfaces/types.d.ts +20 -1
  186. package/dist-types/interfaces/types.d.ts.map +1 -1
  187. package/dist-types/items/arrangement/centering-queue-strategy.d.ts +10 -0
  188. package/dist-types/items/arrangement/centering-queue-strategy.d.ts.map +1 -0
  189. package/dist-types/items/arrangement/index.d.ts +2 -0
  190. package/dist-types/items/arrangement/index.d.ts.map +1 -0
  191. package/dist-types/items/capacity-mixin.d.ts +303 -0
  192. package/dist-types/items/capacity-mixin.d.ts.map +1 -0
  193. package/dist-types/items/capacity.d.ts +53 -0
  194. package/dist-types/items/capacity.d.ts.map +1 -0
  195. package/dist-types/items/index.d.ts +7 -0
  196. package/dist-types/items/index.d.ts.map +1 -0
  197. package/dist-types/items/items-data-binding.d.ts +103 -0
  198. package/dist-types/items/items-data-binding.d.ts.map +1 -0
  199. package/dist-types/items/slot-record.d.ts +23 -0
  200. package/dist-types/items/slot-record.d.ts.map +1 -0
  201. package/dist-types/items/stacking/index.d.ts +3 -0
  202. package/dist-types/items/stacking/index.d.ts.map +1 -0
  203. package/dist-types/items/stacking/stack-layout.d.ts +33 -0
  204. package/dist-types/items/stacking/stack-layout.d.ts.map +1 -0
  205. package/dist-types/items/stacking/stacking-strategy.d.ts +114 -0
  206. package/dist-types/items/stacking/stacking-strategy.d.ts.map +1 -0
  207. package/dist-types/layer/action/popup.d.ts +13 -0
  208. package/dist-types/layer/action/popup.d.ts.map +1 -1
  209. package/dist-types/layer/add-layer.d.ts +8 -0
  210. package/dist-types/layer/add-layer.d.ts.map +1 -1
  211. package/dist-types/layer/dual-canvas-layer.d.ts.map +1 -1
  212. package/dist-types/layer/index.d.ts +1 -0
  213. package/dist-types/layer/index.d.ts.map +1 -1
  214. package/dist-types/layer/layer.d.ts +2 -0
  215. package/dist-types/layer/layer.d.ts.map +1 -1
  216. package/dist-types/layer/model-layer.d.ts +79 -7
  217. package/dist-types/layer/model-layer.d.ts.map +1 -1
  218. package/dist-types/layer/modeler/index.d.ts +1 -0
  219. package/dist-types/layer/modeler/index.d.ts.map +1 -1
  220. package/dist-types/layer/modeler/move-handle-icon.d.ts +2 -0
  221. package/dist-types/layer/modeler/move-handle-icon.d.ts.map +1 -0
  222. package/dist-types/layer/modeler/move-handle-modeler.d.ts +18 -0
  223. package/dist-types/layer/modeler/move-handle-modeler.d.ts.map +1 -0
  224. package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
  225. package/dist-types/layer/modeler/rotator.d.ts.map +1 -1
  226. package/dist-types/layer/modeling-layer.d.ts +19 -0
  227. package/dist-types/layer/modeling-layer.d.ts.map +1 -1
  228. package/dist-types/layer/selection/selected-finder.d.ts +1 -1
  229. package/dist-types/layer/selection/selected-finder.d.ts.map +1 -1
  230. package/dist-types/layer/selection-layer.d.ts +7 -0
  231. package/dist-types/layer/selection-layer.d.ts.map +1 -1
  232. package/dist-types/layer/snap-guide-layer.d.ts +23 -0
  233. package/dist-types/layer/snap-guide-layer.d.ts.map +1 -0
  234. package/dist-types/layout/absolute.d.ts +2 -2
  235. package/dist-types/layout/card.d.ts +2 -2
  236. package/dist-types/layout/linear-horizontal.d.ts +2 -2
  237. package/dist-types/layout/linear-vertical.d.ts +2 -2
  238. package/dist-types/layout/table.d.ts +3 -3
  239. package/dist-types/license/license.d.ts.map +1 -1
  240. package/dist-types/math/component-pose.d.ts +51 -0
  241. package/dist-types/math/component-pose.d.ts.map +1 -0
  242. package/dist-types/math/index.d.ts +3 -0
  243. package/dist-types/math/index.d.ts.map +1 -0
  244. package/dist-types/math/pose6dof.d.ts +93 -0
  245. package/dist-types/math/pose6dof.d.ts.map +1 -0
  246. package/dist-types/navigation/index.d.ts +7 -0
  247. package/dist-types/navigation/index.d.ts.map +1 -0
  248. package/dist-types/navigation/nav-graph.d.ts +55 -0
  249. package/dist-types/navigation/nav-graph.d.ts.map +1 -0
  250. package/dist-types/navigation/path-planner.d.ts +29 -0
  251. package/dist-types/navigation/path-planner.d.ts.map +1 -0
  252. package/dist-types/navigation/reservation-table.d.ts +103 -0
  253. package/dist-types/navigation/reservation-table.d.ts.map +1 -0
  254. package/dist-types/navigation/types.d.ts +145 -0
  255. package/dist-types/navigation/types.d.ts.map +1 -0
  256. package/dist-types/placement/index.d.ts +3 -0
  257. package/dist-types/placement/index.d.ts.map +1 -0
  258. package/dist-types/placement/placement.d.ts +53 -0
  259. package/dist-types/placement/placement.d.ts.map +1 -0
  260. package/dist-types/search/index.d.ts +3 -0
  261. package/dist-types/search/index.d.ts.map +1 -0
  262. package/dist-types/search/scene-search-engine.d.ts +64 -0
  263. package/dist-types/search/scene-search-engine.d.ts.map +1 -0
  264. package/dist-types/search/search-overlay.d.ts +94 -0
  265. package/dist-types/search/search-overlay.d.ts.map +1 -0
  266. package/dist-types/things-scene/api/add-start.d.ts +25 -0
  267. package/dist-types/things-scene/api/add-start.d.ts.map +1 -1
  268. package/dist-types/things-scene/api/align.d.ts.map +1 -1
  269. package/dist-types/things-scene/api/clipboard.d.ts +1 -1
  270. package/dist-types/things-scene/api/clipboard.d.ts.map +1 -1
  271. package/dist-types/things-scene/api/distribute.d.ts.map +1 -1
  272. package/dist-types/things-scene/api/ids.d.ts +4 -1
  273. package/dist-types/things-scene/api/ids.d.ts.map +1 -1
  274. package/dist-types/things-scene/api/index.d.ts +1 -1
  275. package/dist-types/things-scene/api/index.d.ts.map +1 -1
  276. package/dist-types/things-scene/api/listener.d.ts +1 -1
  277. package/dist-types/things-scene/api/listener.d.ts.map +1 -1
  278. package/dist-types/things-scene/api/place.d.ts.map +1 -1
  279. package/dist-types/things-scene/api/to-data-url.d.ts +1 -1
  280. package/dist-types/things-scene/api/to-data-url.d.ts.map +1 -1
  281. package/dist-types/things-scene/api/zorder.d.ts +1 -1
  282. package/dist-types/things-scene/api/zorder.d.ts.map +1 -1
  283. package/dist-types/things-scene/application-context.d.ts +62 -0
  284. package/dist-types/things-scene/application-context.d.ts.map +1 -1
  285. package/dist-types/things-scene/create.d.ts +67 -3
  286. package/dist-types/things-scene/create.d.ts.map +1 -1
  287. package/dist-types/things-scene/index.d.ts +30 -0
  288. package/dist-types/things-scene/index.d.ts.map +1 -1
  289. package/dist-types/things-scene/scene.d.ts +196 -21
  290. package/dist-types/things-scene/scene.d.ts.map +1 -1
  291. package/dist-types/threed/arrow-3d.d.ts +13 -4
  292. package/dist-types/threed/arrow-3d.d.ts.map +1 -1
  293. package/dist-types/threed/common.d.ts +6 -1
  294. package/dist-types/threed/common.d.ts.map +1 -1
  295. package/dist-types/threed/environments/base-environment.d.ts +17 -0
  296. package/dist-types/threed/environments/base-environment.d.ts.map +1 -0
  297. package/dist-types/threed/environments/cloudy-environment.d.ts +10 -0
  298. package/dist-types/threed/environments/cloudy-environment.d.ts.map +1 -0
  299. package/dist-types/threed/environments/factory-environment.d.ts +3 -3
  300. package/dist-types/threed/environments/factory-environment.d.ts.map +1 -1
  301. package/dist-types/threed/environments/home-environment.d.ts +3 -3
  302. package/dist-types/threed/environments/home-environment.d.ts.map +1 -1
  303. package/dist-types/threed/environments/office-environment.d.ts +3 -3
  304. package/dist-types/threed/environments/office-environment.d.ts.map +1 -1
  305. package/dist-types/threed/environments/rainy-environment.d.ts +10 -0
  306. package/dist-types/threed/environments/rainy-environment.d.ts.map +1 -0
  307. package/dist-types/threed/environments/studio-environment.d.ts +2 -3
  308. package/dist-types/threed/environments/studio-environment.d.ts.map +1 -1
  309. package/dist-types/threed/environments/sunny-environment.d.ts +10 -0
  310. package/dist-types/threed/environments/sunny-environment.d.ts.map +1 -0
  311. package/dist-types/threed/environments/warehouse-environment.d.ts +3 -3
  312. package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -1
  313. package/dist-types/threed/factories/backdrop.d.ts +542 -0
  314. package/dist-types/threed/factories/backdrop.d.ts.map +1 -0
  315. package/dist-types/threed/factories/banner.d.ts +25 -13
  316. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  317. package/dist-types/threed/factories/camera.d.ts +21 -12
  318. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  319. package/dist-types/threed/factories/cube.d.ts +20 -12
  320. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  321. package/dist-types/threed/factories/cylinder.d.ts +1 -0
  322. package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
  323. package/dist-types/threed/factories/decal.d.ts +517 -0
  324. package/dist-types/threed/factories/decal.d.ts.map +1 -0
  325. package/dist-types/threed/factories/floor-plate.d.ts +12 -0
  326. package/dist-types/threed/factories/floor-plate.d.ts.map +1 -0
  327. package/dist-types/threed/factories/gltf-object.d.ts +279 -47
  328. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  329. package/dist-types/threed/factories/group.d.ts +2 -0
  330. package/dist-types/threed/factories/group.d.ts.map +1 -0
  331. package/dist-types/threed/factories/light.d.ts +1 -0
  332. package/dist-types/threed/factories/light.d.ts.map +1 -1
  333. package/dist-types/threed/factories/line.d.ts +10 -0
  334. package/dist-types/threed/factories/line.d.ts.map +1 -0
  335. package/dist-types/threed/factories/ortholine.d.ts +10 -0
  336. package/dist-types/threed/factories/ortholine.d.ts.map +1 -0
  337. package/dist-types/threed/factories/polygon.d.ts +19 -0
  338. package/dist-types/threed/factories/polygon.d.ts.map +1 -1
  339. package/dist-types/threed/factories/polyline.d.ts +10 -0
  340. package/dist-types/threed/factories/polyline.d.ts.map +1 -0
  341. package/dist-types/threed/factories/rect.d.ts.map +1 -1
  342. package/dist-types/threed/factories/sphere.d.ts +6 -0
  343. package/dist-types/threed/factories/sphere.d.ts.map +1 -1
  344. package/dist-types/threed/factories/sprite.d.ts +20 -12
  345. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  346. package/dist-types/threed/factories/triangle.d.ts.map +1 -1
  347. package/dist-types/threed/factories/wall.d.ts +20 -12
  348. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  349. package/dist-types/threed/floor/floor.d.ts.map +1 -1
  350. package/dist-types/threed/handle-3d.d.ts +21 -0
  351. package/dist-types/threed/handle-3d.d.ts.map +1 -0
  352. package/dist-types/threed/html/elements.d.ts.map +1 -1
  353. package/dist-types/threed/index.d.ts +28 -0
  354. package/dist-types/threed/index.d.ts.map +1 -1
  355. package/dist-types/threed/managers/box-selection-manager.d.ts +26 -0
  356. package/dist-types/threed/managers/box-selection-manager.d.ts.map +1 -0
  357. package/dist-types/threed/managers/camera-bookmark-manager.d.ts +48 -37
  358. package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -1
  359. package/dist-types/threed/managers/camera-manager.d.ts +9 -2
  360. package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
  361. package/dist-types/threed/managers/controls-manager.d.ts +12 -0
  362. package/dist-types/threed/managers/controls-manager.d.ts.map +1 -1
  363. package/dist-types/threed/managers/event-manager3d.d.ts +14 -0
  364. package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
  365. package/dist-types/threed/managers/gizmo-manager.d.ts +6 -0
  366. package/dist-types/threed/managers/gizmo-manager.d.ts.map +1 -1
  367. package/dist-types/threed/managers/gizmo-operation-manager.d.ts +54 -1
  368. package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
  369. package/dist-types/threed/managers/index.d.ts +3 -1
  370. package/dist-types/threed/managers/index.d.ts.map +1 -1
  371. package/dist-types/threed/managers/interaction-manager.d.ts +17 -0
  372. package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
  373. package/dist-types/threed/managers/light-manager.d.ts +15 -0
  374. package/dist-types/threed/managers/light-manager.d.ts.map +1 -1
  375. package/dist-types/threed/managers/renderer-manager.d.ts +37 -0
  376. package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
  377. package/dist-types/threed/managers/scene-manager.d.ts +12 -2
  378. package/dist-types/threed/managers/scene-manager.d.ts.map +1 -1
  379. package/dist-types/threed/managers/types.d.ts +4 -1
  380. package/dist-types/threed/managers/types.d.ts.map +1 -1
  381. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts +154 -0
  382. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -0
  383. package/dist-types/threed/material-3d.d.ts +5 -2
  384. package/dist-types/threed/material-3d.d.ts.map +1 -1
  385. package/dist-types/threed/material-bank.d.ts +42 -0
  386. package/dist-types/threed/material-bank.d.ts.map +1 -0
  387. package/dist-types/threed/material-variant.d.ts +43 -0
  388. package/dist-types/threed/material-variant.d.ts.map +1 -0
  389. package/dist-types/threed/ratio-lock-utils.d.ts +9 -0
  390. package/dist-types/threed/ratio-lock-utils.d.ts.map +1 -0
  391. package/dist-types/threed/real-object-dom-element.d.ts +9 -0
  392. package/dist-types/threed/real-object-dom-element.d.ts.map +1 -1
  393. package/dist-types/threed/real-object-dom-texture.d.ts +9 -1
  394. package/dist-types/threed/real-object-dom-texture.d.ts.map +1 -1
  395. package/dist-types/threed/real-object-external-model.d.ts +24 -0
  396. package/dist-types/threed/real-object-external-model.d.ts.map +1 -0
  397. package/dist-types/threed/real-object-extrude.d.ts +16 -1
  398. package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
  399. package/dist-types/threed/real-object-gltf.d.ts +21 -11
  400. package/dist-types/threed/real-object-gltf.d.ts.map +1 -1
  401. package/dist-types/threed/real-object-group.d.ts +2 -0
  402. package/dist-types/threed/real-object-group.d.ts.map +1 -1
  403. package/dist-types/threed/real-object-line.d.ts +83 -0
  404. package/dist-types/threed/real-object-line.d.ts.map +1 -0
  405. package/dist-types/threed/real-object-mesh.d.ts +0 -1
  406. package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
  407. package/dist-types/threed/real-object-plane-2d.d.ts +23 -1
  408. package/dist-types/threed/real-object-plane-2d.d.ts.map +1 -1
  409. package/dist-types/threed/real-object-service.d.ts +14 -0
  410. package/dist-types/threed/real-object-service.d.ts.map +1 -0
  411. package/dist-types/threed/real-object-sprite.d.ts +7 -2
  412. package/dist-types/threed/real-object-sprite.d.ts.map +1 -1
  413. package/dist-types/threed/real-object-text.d.ts +5 -0
  414. package/dist-types/threed/real-object-text.d.ts.map +1 -1
  415. package/dist-types/threed/real-object.d.ts +276 -7
  416. package/dist-types/threed/real-object.d.ts.map +1 -1
  417. package/dist-types/threed/text-editor-3d.d.ts +11 -0
  418. package/dist-types/threed/text-editor-3d.d.ts.map +1 -0
  419. package/dist-types/threed/texture/canvas-texture.d.ts +7 -0
  420. package/dist-types/threed/texture/canvas-texture.d.ts.map +1 -1
  421. package/dist-types/threed/texture/fillstyle-texture.d.ts +57 -0
  422. package/dist-types/threed/texture/fillstyle-texture.d.ts.map +1 -0
  423. package/dist-types/threed/texture/text-texture.d.ts +15 -0
  424. package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
  425. package/dist-types/threed/three-capability.d.ts +93 -12
  426. package/dist-types/threed/three-capability.d.ts.map +1 -1
  427. package/dist-types/threed/three-container.d.ts.map +1 -1
  428. package/dist-types/threed/threed-enabled.d.ts +5 -0
  429. package/dist-types/threed/threed-enabled.d.ts.map +1 -0
  430. package/dist-types/threed/utils/anchor.d.ts +33 -0
  431. package/dist-types/threed/utils/anchor.d.ts.map +1 -0
  432. package/dist-types/threed/utils/dispose.d.ts.map +1 -1
  433. package/dist-types/threed/utils/polygon-shape.d.ts +21 -0
  434. package/dist-types/threed/utils/polygon-shape.d.ts.map +1 -0
  435. package/dist-types/threed/utils/tether.d.ts +46 -0
  436. package/dist-types/threed/utils/tether.d.ts.map +1 -0
  437. package/dist-types/threed/z-priority.d.ts +27 -0
  438. package/dist-types/threed/z-priority.d.ts.map +1 -0
  439. package/dist-types/tracker/tracker.d.ts +57 -0
  440. package/dist-types/tracker/tracker.d.ts.map +1 -0
  441. package/dist-types/transfer/carrier-line-capability.d.ts +95 -0
  442. package/dist-types/transfer/carrier-line-capability.d.ts.map +1 -0
  443. package/dist-types/transfer/centering-slot-strategy.d.ts +8 -0
  444. package/dist-types/transfer/centering-slot-strategy.d.ts.map +1 -0
  445. package/dist-types/transfer/fixed-slot-strategy.d.ts +8 -0
  446. package/dist-types/transfer/fixed-slot-strategy.d.ts.map +1 -0
  447. package/dist-types/transfer/index.d.ts +25 -0
  448. package/dist-types/transfer/index.d.ts.map +1 -0
  449. package/dist-types/transfer/pickup-helpers.d.ts +75 -0
  450. package/dist-types/transfer/pickup-helpers.d.ts.map +1 -0
  451. package/dist-types/transfer/simulation-clock.d.ts +45 -0
  452. package/dist-types/transfer/simulation-clock.d.ts.map +1 -0
  453. package/dist-types/transfer/tracer.d.ts +35 -0
  454. package/dist-types/transfer/tracer.d.ts.map +1 -0
  455. package/dist-types/transfer/transfer-helpers.d.ts +18 -0
  456. package/dist-types/transfer/transfer-helpers.d.ts.map +1 -0
  457. package/dist-types/transfer/transfer.d.ts +257 -0
  458. package/dist-types/transfer/transfer.d.ts.map +1 -0
  459. package/dist-types/transfer/transferable-mixin.d.ts +275 -0
  460. package/dist-types/transfer/transferable-mixin.d.ts.map +1 -0
  461. package/dist-types/transfer/types.d.ts +462 -0
  462. package/dist-types/transfer/types.d.ts.map +1 -0
  463. package/dist-types/transition/transition-effect.d.ts +117 -0
  464. package/dist-types/transition/transition-effect.d.ts.map +1 -0
  465. package/dist-types/types/bounding.d.ts +1 -1
  466. package/dist-types/types/bounding.d.ts.map +1 -1
  467. package/dist-types/types/capability.d.ts +65 -0
  468. package/dist-types/types/capability.d.ts.map +1 -0
  469. package/dist-types/types/component.d.ts +6 -177
  470. package/dist-types/types/component.d.ts.map +1 -1
  471. package/dist-types/types/event.d.ts +57 -0
  472. package/dist-types/types/event.d.ts.map +1 -1
  473. package/dist-types/types/polygon-path-arc.d.ts +72 -0
  474. package/dist-types/types/polygon-path-arc.d.ts.map +1 -0
  475. package/dist-types/types/polygon-path.d.ts +153 -0
  476. package/dist-types/types/polygon-path.d.ts.map +1 -0
  477. package/package.json +13 -2
  478. package/things-scene-min.js +12 -13
  479. package/things-scene-min.js.map +1 -1
  480. package/things-scene-transfer.mjs +7 -0
  481. package/things-scene.mjs +8 -9
  482. package/things-scene.mjs.map +1 -1
@@ -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
  /**
@@ -13,11 +59,19 @@ declare class Scene {
13
59
  * @param {RootContainer} container - Root container
14
60
  */
15
61
  constructor(container: any);
62
+ /**
63
+ * Add one or more component models to the scene (undoable).
64
+ * @param models - A model or array of models to add.
65
+ * @param boundsOrOffset - Optional target bounds, or an `{x, y}` offset.
66
+ * @param onto - Optional target container to add into.
67
+ */
16
68
  add(models: any, boundsOrOffset?: any, onto?: any): void;
69
+ /** Duplicate the current selection (undoable). */
17
70
  duplicate(): void;
71
+ /** Remove the current selection (undoable). */
18
72
  remove(): void;
19
73
  animate(config: Parameters<typeof animate>[0]): import("./index.js").AnimationController;
20
- fullscreen(fit?: any): void;
74
+ fullscreen(fit?: string): void;
21
75
  get target(): any;
22
76
  set target(target: any);
23
77
  get scale(): any;
@@ -33,11 +87,23 @@ declare class Scene {
33
87
  get screen(): any;
34
88
  set screen(size: any);
35
89
  resize(): void;
90
+ /** Alias for {@link dispose}. */
36
91
  release(): void;
92
+ /**
93
+ * Tear down the scene and release all resources — container, commander, overlays,
94
+ * tracker, 3D GLTF caches, and the global transfer log. Call this on board switch or
95
+ * unmount to avoid leaks. The scene must not be used after disposal.
96
+ */
37
97
  dispose(): void;
98
+ /** The currently selected components, as a snapshot array (safe to iterate/mutate). */
38
99
  get selected(): any;
39
100
  set selected(selected: any);
40
- select(selector: any, ...others: any[]): any;
101
+ /**
102
+ * Select all components matching a selector, replacing the current selection.
103
+ * @param selector - A CSS-like selector (by type, id, class, etc.).
104
+ * @returns The resulting selection.
105
+ */
106
+ select(selector: string, ...others: any[]): any;
41
107
  get commander(): any;
42
108
  undo(): void;
43
109
  undoable(): any;
@@ -47,52 +113,161 @@ declare class Scene {
47
113
  hasUnpreservedChanges(): any;
48
114
  cut(): string | undefined;
49
115
  copy(): string | undefined;
50
- paste(copied?: any): void;
116
+ paste(copied?: string): void;
51
117
  undoableChange(changeFunc?: any): void;
52
- change(selector: any, value?: any, self?: any): any;
118
+ change(selector: string, value?: any, self?: any): any;
119
+ /**
120
+ * The scene's model as a plain, serializable component tree (volatile props stripped,
121
+ * numbers rounded). Assigning a new model rebuilds the entire scene content.
122
+ */
53
123
  get model(): any;
54
124
  set model(model: any);
55
125
  get rootContainer(): any;
56
126
  get root(): any;
57
- findAll(selector: any, ...others: any[]): any;
58
- findFirst(selector: any, ...others: any[]): any;
59
- findById(id: any): any;
60
- findAllById(id: any): any;
127
+ /** Find all components matching a CSS-like selector. */
128
+ findAll(selector: string, ...others: any[]): any;
129
+ /** Find the first component matching a CSS-like selector, or `undefined`. */
130
+ findFirst(selector: string, ...others: any[]): any;
131
+ /** Find the first component with the given `id`. */
132
+ findById(id: string): any;
133
+ /** Find all components sharing the given `id`. */
134
+ findAllById(id: string): any;
61
135
  serialize(): any;
62
- align(type: any): void;
63
- place(type: any): void;
64
- distribute(type: any): void;
65
- move(component?: any, to_container?: any, to_index?: any): void;
66
- zorder(type: any): void;
136
+ align(type: string): void;
137
+ place(type: string): void;
138
+ distribute(type: string): void;
139
+ move(component?: any, to_container?: any, to_index?: number): void;
140
+ zorder(type: string): void;
67
141
  symmetryX(): void;
68
142
  symmetryY(): void;
69
- on(event: any, listener: any, context?: any): void;
70
- once(event: any, listener: any, context?: any): void;
71
- off(event?: any, listener?: any, context?: any): any;
72
- centerTo(component: any, animated?: any): any;
143
+ on(event: string, listener: any, context?: any): void;
144
+ once(event: string, listener: any, context?: any): void;
145
+ off(event?: string, listener?: any, context?: any): any;
146
+ centerTo(component: any, animated?: boolean): any;
147
+ /**
148
+ * 영구 추적 모듈. 단일 추적 — 한 번에 하나의 id 만 추적. 트리에서 매칭 컴포넌트가
149
+ * dispose/재등장 사이클을 타도 자동 재부착. 2D 는 deco-border, 3D 는 outline 으로
150
+ * 같은 색깔 시각화. 자세한 사용법은 Tracker 클래스 참고.
151
+ */
152
+ get tracker(): Tracker;
153
+ /**
154
+ * Scene mode: `MODE_VIEW` (0) for monitoring / runtime, `MODE_EDIT` (1) for the modeller.
155
+ * Switching mode changes interaction (selection, gizmos) and rendering behavior.
156
+ */
73
157
  get mode(): any;
74
158
  set mode(mode: any);
75
- toDataURL(type?: any, encoderOptions?: any, width?: any, height?: any): Promise<unknown>;
159
+ /**
160
+ * 3D 기능을 쓸 수 있는지 — 프로세스 전역 스위치(setThreedEnabled)를 반영한다.
161
+ * false 이면 3D 는 전혀 켜지지 않는다. 인스턴스별로 다르지 않다.
162
+ */
163
+ get threedEnabled(): boolean;
164
+ /** 마퀴(영역) 선택 드래그 진행 중 여부 — 드래그 중 외부 UI 갱신 억제용. */
165
+ get isSelecting(): boolean;
166
+ get focusFilter(): ((component: any) => boolean) | undefined;
167
+ /**
168
+ * 포커스 필터 설정 — 반환 false 컴포넌트는 편집 모드에서 dim + pick 제외.
169
+ * 모델·저장물·undo 와 무관(transient). 설정 시 즉시 리드로우(2D). 3D 는 별도 갱신.
170
+ */
171
+ set focusFilter(filter: ((component: any) => boolean) | undefined);
172
+ /**
173
+ * 포커스 필터 변경 시 모델링 흐림(faint)을 canvas 외 채널(3D material, HTML DOM)에 즉시 재적용.
174
+ * canvas 는 invalidate 리드로우로 draw() 가 처리하지만, 3D material·DOM opacity 는 렌더 루프
175
+ * 밖이라 별도로 훑어 재적용한다. 재빌드 없이 opacity 스케일만 — 해당 채널을 가진 컴포넌트에만.
176
+ */
177
+ private _reapplyModelingFaint;
178
+ toDataURL(type?: string, encoderOptions?: any, width?: number, height?: number): Promise<unknown>;
76
179
  group(): void;
77
180
  ungroup(): void;
78
- fit(type?: any): void;
181
+ fit(type?: string): void;
79
182
  get fitMode(): any;
80
- get ids(): any[];
183
+ /** All component `id`s in the scene, as a snapshot array. */
184
+ get ids(): {
185
+ key: any;
186
+ value: any;
187
+ }[];
188
+ /**
189
+ * Live data binding — the core mechanism for driving a scene from real-time data.
190
+ *
191
+ * Assigning a map propagates values into components by their `id`; each component's
192
+ * data mappings then update its visual state (color, text, animation, etc.). This is
193
+ * the primary way a monitoring dashboard reflects sensor / device data.
194
+ *
195
+ * @example
196
+ * ```ts
197
+ * scene.data = { conveyor1: { running: true }, gauge2: { value: 73 } }
198
+ * ```
199
+ */
81
200
  get data(): any;
82
201
  set data(data: any);
202
+ /** Like {@link data}, but keyed by component `refid` instead of `id`. */
83
203
  get dataByRefid(): any;
84
204
  set dataByRefid(data: any);
205
+ /**
206
+ * Per-component scalar values keyed by `id` — the simple form of data binding
207
+ * (a single value per component, vs. the structured map used by {@link data}).
208
+ */
85
209
  get values(): any;
86
210
  set values(values: any);
211
+ /** Like {@link values}, but keyed by component `refid` instead of `id`. */
87
212
  get valuesByRefid(): any;
88
213
  set valuesByRefid(values: any);
89
214
  get baseUrl(): any;
90
215
  set baseUrl(baseUrl: any);
216
+ /**
217
+ * 애니메이션 억제 활성 여부.
218
+ * 영구 플래그(set suppressAnimations) 또는 활성 스코프(withSuppressedAnimations/
219
+ * beginSuppressAnimations) 중 하나라도 해당되면 true.
220
+ */
221
+ get suppressAnimations(): boolean;
222
+ /** 런타임 모드 토글: 지정된 상태로 고정. 스코프드 API 와는 독립적으로 동작. */
223
+ set suppressAnimations(value: boolean);
224
+ /**
225
+ * 콜백 실행 동안만 애니메이션 억제.
226
+ * 중첩 호출 / sync·async / 예외 모두 안전.
227
+ *
228
+ * @example
229
+ * scene.withSuppressedAnimations(() => {
230
+ * for (const record of snapshot) component.data = record
231
+ * })
232
+ */
233
+ withSuppressedAnimations<T>(fn: () => T | Promise<T>): T | Promise<T>;
234
+ /**
235
+ * 수동 제어용 disposable. end() 호출 전까지 억제 유지.
236
+ * 스코프가 콜백 경계를 넘어가는 케이스 (이벤트 기반 드래그 등) 에 사용.
237
+ *
238
+ * @example
239
+ * const d = scene.beginSuppressAnimations()
240
+ * // ... some async flow ...
241
+ * d.end()
242
+ */
243
+ beginSuppressAnimations(): {
244
+ end(): void;
245
+ };
91
246
  startAddMode(models?: any): void;
247
+ /**
248
+ * Bulk-create 모드 진입. 사용자가 캔버스에 영역을 드래그 완료하면 area 와 함께
249
+ * resolve, ESC/취소 시 null 로 resolve.
250
+ *
251
+ * const result = await scene.startBulkCreateMode(template, { boxStrokeStyle: '#2964c2' })
252
+ * if (result) { ... result.area, result.template ... }
253
+ *
254
+ * 일반 startAddMode 와 달리 AddLayer 가 add 를 호출하지 않고 영역 선택만 처리.
255
+ * 외부 consumer 가 dialog/옵션 협의 후 직접 add 결정.
256
+ */
257
+ startBulkCreateMode(template: any, options?: {
258
+ boxStrokeStyle?: string;
259
+ }): Promise<API.BulkCreateResult | null>;
92
260
  startStylePasteMode(): void;
93
261
  stopStylePasteMode(): void;
94
262
  startDatabindPasteMode(): void;
95
263
  stopDatabindPasteMode(): void;
264
+ get loading(): LoadTracker | undefined;
265
+ get loadingOverlay(): LoadingOverlay;
266
+ showLoadingOverlay(): void;
267
+ hideLoadingOverlay(): void;
268
+ toggleLoadingOverlay(): void;
269
+ get searchOverlay(): SearchOverlay;
270
+ private _setupSearchOverlay;
96
271
  }
97
272
  export default Scene;
98
273
  //# 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"}
@@ -1,5 +1,10 @@
1
1
  export declare const SCALE_MIN = 0.001;
2
- export declare function applyAlpha(material: any, alpha: number, fillStyle: any): void;
2
+ /**
3
+ * material 의 **설계(canonical) opacity** 를 fillStyle 로 정한다 — fillStyle 의 alpha 채널(rgba 등),
4
+ * 'none'/'transparent' 는 0. **content alpha(state.alpha)는 여기서 곱하지 않는다** — 코어의 opacity
5
+ * 오버레이(RealObject.applyMaterialOpacity)가 faint 와 함께 일괄로 곱한다(이중적용 방지).
6
+ */
7
+ export declare function applyAlpha(material: any, _alpha: number, fillStyle: any): void;
3
8
  /**
4
9
  * rgba/hsla 등 alpha 포함 색상 문자열에서 alpha 없는 hex 색상을 반환한다.
5
10
  * THREE.Color는 alpha를 지원하지 않으므로 color.set() 전에 사용한다.
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/threed/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,QAAQ,CAAA;AAE9B,wBAAgB,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAWtE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,eAAO,MAAM,cAAc;;;;CAAoC,CAAA;AAC/D,eAAO,MAAM,UAAU;;;;CAAuB,CAAA;AAC9C,eAAO,MAAM,cAAc;;;;CAAuB,CAAA;AAClD,eAAO,MAAM,WAAW;;;;CAAuB,CAAA"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/threed/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,QAAQ,CAAA;AAE9B;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAUvE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,eAAO,MAAM,cAAc;;;;CAAoC,CAAA;AAC/D,eAAO,MAAM,UAAU;;;;CAAuB,CAAA;AAC9C,eAAO,MAAM,cAAc;;;;CAAuB,CAAA;AAClD,eAAO,MAAM,WAAW;;;;CAAuB,CAAA"}
@@ -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"}
@@ -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 WarehouseEnvironment extends Scene {
7
+ export declare class WarehouseEnvironment extends BaseEnvironment {
8
+ static recommendsLogarithmicDepth: boolean;
8
9
  constructor();
9
- dispose(): void;
10
10
  }
11
11
  //# sourceMappingURL=warehouse-environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"warehouse-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/warehouse-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EACN,MAAM,OAAO,CAAA;AAEd;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;;IAqD7C,OAAO;CAYR"}
1
+ {"version":3,"file":"warehouse-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/warehouse-environment.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,MAAM,CAAC,0BAA0B,UAAO;;CAsDzC"}