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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (465) hide show
  1. package/dist-types/animation/animate.d.ts.map +1 -1
  2. package/dist-types/animation/animations/animation.d.ts +5 -3
  3. package/dist-types/animation/animations/animation.d.ts.map +1 -1
  4. package/dist-types/animation/animations/heartbeat.d.ts +0 -7
  5. package/dist-types/animation/animations/heartbeat.d.ts.map +1 -1
  6. package/dist-types/animation/animations/waypoint.d.ts +45 -4
  7. package/dist-types/animation/animations/waypoint.d.ts.map +1 -1
  8. package/dist-types/animation/interfaces.d.ts +1 -1
  9. package/dist-types/animation/interfaces.d.ts.map +1 -1
  10. package/dist-types/clock/frame-clock.d.ts +119 -0
  11. package/dist-types/clock/frame-clock.d.ts.map +1 -0
  12. package/dist-types/clock/index.d.ts +3 -0
  13. package/dist-types/clock/index.d.ts.map +1 -0
  14. package/dist-types/command/command-migrate.d.ts.map +1 -1
  15. package/dist-types/command/snapshot-commander.d.ts.map +1 -1
  16. package/dist-types/components/audio.d.ts +10 -3
  17. package/dist-types/components/audio.d.ts.map +1 -1
  18. package/dist-types/components/component-data.d.ts +24 -0
  19. package/dist-types/components/component-data.d.ts.map +1 -1
  20. package/dist-types/components/component-drawing.d.ts.map +1 -1
  21. package/dist-types/components/component-geometry.d.ts.map +1 -1
  22. package/dist-types/components/component-hierarchy.d.ts +1 -1
  23. package/dist-types/components/component-hierarchy.d.ts.map +1 -1
  24. package/dist-types/components/component.d.ts +33 -4
  25. package/dist-types/components/component.d.ts.map +1 -1
  26. package/dist-types/components/container-abstract.d.ts +56 -11
  27. package/dist-types/components/container-abstract.d.ts.map +1 -1
  28. package/dist-types/components/container.d.ts +9 -2
  29. package/dist-types/components/container.d.ts.map +1 -1
  30. package/dist-types/components/data/data.d.ts.map +1 -1
  31. package/dist-types/components/data/evaluator.d.ts +27 -0
  32. package/dist-types/components/data/evaluator.d.ts.map +1 -1
  33. package/dist-types/components/donut.d.ts.map +1 -1
  34. package/dist-types/components/drawer/fill.d.ts.map +1 -1
  35. package/dist-types/components/drawer/stroke.d.ts.map +1 -1
  36. package/dist-types/components/ellipse.d.ts +10 -3
  37. package/dist-types/components/ellipse.d.ts.map +1 -1
  38. package/dist-types/components/generic-placeholders.d.ts +294 -0
  39. package/dist-types/components/generic-placeholders.d.ts.map +1 -0
  40. package/dist-types/components/geometry/snap-guide.d.ts +45 -0
  41. package/dist-types/components/geometry/snap-guide.d.ts.map +1 -0
  42. package/dist-types/components/geometry/transcoord.d.ts.map +1 -1
  43. package/dist-types/components/global-ref.d.ts.map +1 -1
  44. package/dist-types/components/group.d.ts +2 -0
  45. package/dist-types/components/group.d.ts.map +1 -1
  46. package/dist-types/components/html/reposition.d.ts.map +1 -1
  47. package/dist-types/components/html/shadow.d.ts +33 -1
  48. package/dist-types/components/html/shadow.d.ts.map +1 -1
  49. package/dist-types/components/html-overlay-container.d.ts +9 -2
  50. package/dist-types/components/html-overlay-container.d.ts.map +1 -1
  51. package/dist-types/components/html-overlay-element.d.ts +19 -5
  52. package/dist-types/components/html-overlay-element.d.ts.map +1 -1
  53. package/dist-types/components/image-view.d.ts +10 -3
  54. package/dist-types/components/image-view.d.ts.map +1 -1
  55. package/dist-types/components/index.d.ts +7 -0
  56. package/dist-types/components/index.d.ts.map +1 -1
  57. package/dist-types/components/info-window.d.ts +10 -3
  58. package/dist-types/components/info-window.d.ts.map +1 -1
  59. package/dist-types/components/line.d.ts +2 -1
  60. package/dist-types/components/line.d.ts.map +1 -1
  61. package/dist-types/components/local-ref.d.ts +10 -3
  62. package/dist-types/components/local-ref.d.ts.map +1 -1
  63. package/dist-types/components/mixins/connectable.d.ts +10 -3
  64. package/dist-types/components/mixins/connectable.d.ts.map +1 -1
  65. package/dist-types/components/mixins/data-source.d.ts +10 -3
  66. package/dist-types/components/mixins/data-source.d.ts.map +1 -1
  67. package/dist-types/components/mixins/gltf-component.d.ts +282 -0
  68. package/dist-types/components/mixins/gltf-component.d.ts.map +1 -0
  69. package/dist-types/components/mixins/holdable.d.ts +12 -0
  70. package/dist-types/components/mixins/holdable.d.ts.map +1 -0
  71. package/dist-types/components/mixins/html-element.d.ts +9 -2
  72. package/dist-types/components/mixins/html-element.d.ts.map +1 -1
  73. package/dist-types/components/mixins/move-handle.d.ts +19 -7
  74. package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
  75. package/dist-types/components/mixins/rect-path.d.ts +10 -3
  76. package/dist-types/components/mixins/rect-path.d.ts.map +1 -1
  77. package/dist-types/components/mixins/three-d-only.d.ts +250 -0
  78. package/dist-types/components/mixins/three-d-only.d.ts.map +1 -0
  79. package/dist-types/components/mixins/value-holder.d.ts +10 -3
  80. package/dist-types/components/mixins/value-holder.d.ts.map +1 -1
  81. package/dist-types/components/mutater/path.d.ts.map +1 -1
  82. package/dist-types/components/node.d.ts +10 -3
  83. package/dist-types/components/node.d.ts.map +1 -1
  84. package/dist-types/components/outline/path-outline.d.ts.map +1 -1
  85. package/dist-types/components/polygon-container.d.ts +61 -0
  86. package/dist-types/components/polygon-container.d.ts.map +1 -0
  87. package/dist-types/components/polygon.d.ts +2 -0
  88. package/dist-types/components/polygon.d.ts.map +1 -1
  89. package/dist-types/components/polyline.d.ts +6 -0
  90. package/dist-types/components/polyline.d.ts.map +1 -1
  91. package/dist-types/components/popup-container.d.ts +25 -0
  92. package/dist-types/components/popup-container.d.ts.map +1 -0
  93. package/dist-types/components/popup.d.ts +40 -3
  94. package/dist-types/components/popup.d.ts.map +1 -1
  95. package/dist-types/components/position/popup-position.d.ts +11 -0
  96. package/dist-types/components/position/popup-position.d.ts.map +1 -1
  97. package/dist-types/components/rect.d.ts +20 -6
  98. package/dist-types/components/rect.d.ts.map +1 -1
  99. package/dist-types/components/retention/retention-manager.d.ts +9 -1
  100. package/dist-types/components/retention/retention-manager.d.ts.map +1 -1
  101. package/dist-types/components/root-container.d.ts +18 -4
  102. package/dist-types/components/root-container.d.ts.map +1 -1
  103. package/dist-types/components/ruler.d.ts +10 -3
  104. package/dist-types/components/ruler.d.ts.map +1 -1
  105. package/dist-types/components/service-component.d.ts +271 -0
  106. package/dist-types/components/service-component.d.ts.map +1 -0
  107. package/dist-types/components/shape.d.ts.map +1 -1
  108. package/dist-types/components/star.d.ts.map +1 -1
  109. package/dist-types/components/text.d.ts +10 -3
  110. package/dist-types/components/text.d.ts.map +1 -1
  111. package/dist-types/core/dom-to-image.d.ts.map +1 -1
  112. package/dist-types/core/logger.d.ts.map +1 -1
  113. package/dist-types/core/memoize.d.ts.map +1 -1
  114. package/dist-types/decorator/decorator-registry.d.ts +14 -1
  115. package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
  116. package/dist-types/decorator/decorators/animated-icon-decorator.d.ts.map +1 -1
  117. package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts +0 -4
  118. package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts.map +1 -1
  119. package/dist-types/decorator/decorators/bouncing-arrow-decorator.d.ts +0 -3
  120. package/dist-types/decorator/decorators/bouncing-arrow-decorator.d.ts.map +1 -1
  121. package/dist-types/decorator/decorators/data-spread-decorator.d.ts +16 -0
  122. package/dist-types/decorator/decorators/data-spread-decorator.d.ts.map +1 -1
  123. package/dist-types/diagnostics/contract-inspector.d.ts +110 -0
  124. package/dist-types/diagnostics/contract-inspector.d.ts.map +1 -0
  125. package/dist-types/diagnostics/data-lag-tracker.d.ts +50 -0
  126. package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -0
  127. package/dist-types/diagnostics/inspector.d.ts +192 -5
  128. package/dist-types/diagnostics/inspector.d.ts.map +1 -1
  129. package/dist-types/diagnostics/load-tracker.d.ts +82 -0
  130. package/dist-types/diagnostics/load-tracker.d.ts.map +1 -0
  131. package/dist-types/diagnostics/loading-overlay.d.ts +58 -0
  132. package/dist-types/diagnostics/loading-overlay.d.ts.map +1 -0
  133. package/dist-types/diagnostics/metrics.d.ts +10 -0
  134. package/dist-types/diagnostics/metrics.d.ts.map +1 -1
  135. package/dist-types/effect/shadow.d.ts +3 -1
  136. package/dist-types/effect/shadow.d.ts.map +1 -1
  137. package/dist-types/event-map/index.d.ts +1 -0
  138. package/dist-types/event-map/index.d.ts.map +1 -1
  139. package/dist-types/event-map/transition-handler.d.ts +2 -0
  140. package/dist-types/event-map/transition-handler.d.ts.map +1 -0
  141. package/dist-types/flow/auto-route.d.ts +36 -0
  142. package/dist-types/flow/auto-route.d.ts.map +1 -0
  143. package/dist-types/flow/face-anchors.d.ts +26 -0
  144. package/dist-types/flow/face-anchors.d.ts.map +1 -0
  145. package/dist-types/flow/flow-engine.d.ts +122 -0
  146. package/dist-types/flow/flow-engine.d.ts.map +1 -0
  147. package/dist-types/flow/flow-graph-coordinator.d.ts +80 -0
  148. package/dist-types/flow/flow-graph-coordinator.d.ts.map +1 -0
  149. package/dist-types/flow/flow-graph-validator.d.ts +33 -0
  150. package/dist-types/flow/flow-graph-validator.d.ts.map +1 -0
  151. package/dist-types/flow/flow-graph.d.ts +76 -0
  152. package/dist-types/flow/flow-graph.d.ts.map +1 -0
  153. package/dist-types/flow/flow-introspection.d.ts +36 -0
  154. package/dist-types/flow/flow-introspection.d.ts.map +1 -0
  155. package/dist-types/flow/flow-node.d.ts +69 -0
  156. package/dist-types/flow/flow-node.d.ts.map +1 -0
  157. package/dist-types/flow/flow-orientation-coordinator.d.ts +13 -0
  158. package/dist-types/flow/flow-orientation-coordinator.d.ts.map +1 -0
  159. package/dist-types/flow/flow-orientation.d.ts +42 -0
  160. package/dist-types/flow/flow-orientation.d.ts.map +1 -0
  161. package/dist-types/flow/flow-trace.d.ts +5 -0
  162. package/dist-types/flow/flow-trace.d.ts.map +1 -0
  163. package/dist-types/flow/index.d.ts +16 -0
  164. package/dist-types/flow/index.d.ts.map +1 -0
  165. package/dist-types/flow/segment-topology.d.ts +225 -0
  166. package/dist-types/flow/segment-topology.d.ts.map +1 -0
  167. package/dist-types/flow/station-host-inference.d.ts +23 -0
  168. package/dist-types/flow/station-host-inference.d.ts.map +1 -0
  169. package/dist-types/interfaces/event-handler.d.ts +40 -0
  170. package/dist-types/interfaces/event-handler.d.ts.map +1 -0
  171. package/dist-types/interfaces/index.d.ts +2 -0
  172. package/dist-types/interfaces/index.d.ts.map +1 -1
  173. package/dist-types/interfaces/layout.d.ts +35 -1
  174. package/dist-types/interfaces/layout.d.ts.map +1 -1
  175. package/dist-types/interfaces/providers.d.ts +27 -3
  176. package/dist-types/interfaces/providers.d.ts.map +1 -1
  177. package/dist-types/interfaces/real-object.d.ts +8 -1
  178. package/dist-types/interfaces/real-object.d.ts.map +1 -1
  179. package/dist-types/interfaces/rendering.d.ts +86 -14
  180. package/dist-types/interfaces/rendering.d.ts.map +1 -1
  181. package/dist-types/interfaces/types.d.ts +20 -1
  182. package/dist-types/interfaces/types.d.ts.map +1 -1
  183. package/dist-types/items/arrangement/centering-queue-strategy.d.ts +10 -0
  184. package/dist-types/items/arrangement/centering-queue-strategy.d.ts.map +1 -0
  185. package/dist-types/items/arrangement/index.d.ts +2 -0
  186. package/dist-types/items/arrangement/index.d.ts.map +1 -0
  187. package/dist-types/items/capacity-mixin.d.ts +303 -0
  188. package/dist-types/items/capacity-mixin.d.ts.map +1 -0
  189. package/dist-types/items/capacity.d.ts +53 -0
  190. package/dist-types/items/capacity.d.ts.map +1 -0
  191. package/dist-types/items/index.d.ts +7 -0
  192. package/dist-types/items/index.d.ts.map +1 -0
  193. package/dist-types/items/items-data-binding.d.ts +103 -0
  194. package/dist-types/items/items-data-binding.d.ts.map +1 -0
  195. package/dist-types/items/slot-record.d.ts +23 -0
  196. package/dist-types/items/slot-record.d.ts.map +1 -0
  197. package/dist-types/items/stacking/index.d.ts +3 -0
  198. package/dist-types/items/stacking/index.d.ts.map +1 -0
  199. package/dist-types/items/stacking/stack-layout.d.ts +33 -0
  200. package/dist-types/items/stacking/stack-layout.d.ts.map +1 -0
  201. package/dist-types/items/stacking/stacking-strategy.d.ts +114 -0
  202. package/dist-types/items/stacking/stacking-strategy.d.ts.map +1 -0
  203. package/dist-types/layer/action/popup.d.ts +13 -0
  204. package/dist-types/layer/action/popup.d.ts.map +1 -1
  205. package/dist-types/layer/add-layer.d.ts +8 -0
  206. package/dist-types/layer/add-layer.d.ts.map +1 -1
  207. package/dist-types/layer/dual-canvas-layer.d.ts.map +1 -1
  208. package/dist-types/layer/index.d.ts +1 -0
  209. package/dist-types/layer/index.d.ts.map +1 -1
  210. package/dist-types/layer/layer.d.ts +2 -0
  211. package/dist-types/layer/layer.d.ts.map +1 -1
  212. package/dist-types/layer/model-layer.d.ts +81 -7
  213. package/dist-types/layer/model-layer.d.ts.map +1 -1
  214. package/dist-types/layer/modeler/index.d.ts +1 -0
  215. package/dist-types/layer/modeler/index.d.ts.map +1 -1
  216. package/dist-types/layer/modeler/move-handle-icon.d.ts +2 -0
  217. package/dist-types/layer/modeler/move-handle-icon.d.ts.map +1 -0
  218. package/dist-types/layer/modeler/move-handle-modeler.d.ts +18 -0
  219. package/dist-types/layer/modeler/move-handle-modeler.d.ts.map +1 -0
  220. package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
  221. package/dist-types/layer/modeler/rotator.d.ts.map +1 -1
  222. package/dist-types/layer/modeling-layer.d.ts +19 -0
  223. package/dist-types/layer/modeling-layer.d.ts.map +1 -1
  224. package/dist-types/layer/selection/selected-finder.d.ts +1 -1
  225. package/dist-types/layer/selection/selected-finder.d.ts.map +1 -1
  226. package/dist-types/layer/selection-layer.d.ts +7 -0
  227. package/dist-types/layer/selection-layer.d.ts.map +1 -1
  228. package/dist-types/layer/snap-guide-layer.d.ts +23 -0
  229. package/dist-types/layer/snap-guide-layer.d.ts.map +1 -0
  230. package/dist-types/layout/absolute.d.ts +2 -2
  231. package/dist-types/layout/card.d.ts +2 -2
  232. package/dist-types/layout/linear-horizontal.d.ts +2 -2
  233. package/dist-types/layout/linear-vertical.d.ts +2 -2
  234. package/dist-types/layout/table.d.ts +3 -3
  235. package/dist-types/license/license.d.ts.map +1 -1
  236. package/dist-types/math/component-pose.d.ts +51 -0
  237. package/dist-types/math/component-pose.d.ts.map +1 -0
  238. package/dist-types/math/index.d.ts +3 -0
  239. package/dist-types/math/index.d.ts.map +1 -0
  240. package/dist-types/math/pose6dof.d.ts +93 -0
  241. package/dist-types/math/pose6dof.d.ts.map +1 -0
  242. package/dist-types/navigation/index.d.ts +7 -0
  243. package/dist-types/navigation/index.d.ts.map +1 -0
  244. package/dist-types/navigation/nav-graph.d.ts +55 -0
  245. package/dist-types/navigation/nav-graph.d.ts.map +1 -0
  246. package/dist-types/navigation/path-planner.d.ts +29 -0
  247. package/dist-types/navigation/path-planner.d.ts.map +1 -0
  248. package/dist-types/navigation/reservation-table.d.ts +103 -0
  249. package/dist-types/navigation/reservation-table.d.ts.map +1 -0
  250. package/dist-types/navigation/types.d.ts +145 -0
  251. package/dist-types/navigation/types.d.ts.map +1 -0
  252. package/dist-types/placement/index.d.ts +3 -0
  253. package/dist-types/placement/index.d.ts.map +1 -0
  254. package/dist-types/placement/placement.d.ts +53 -0
  255. package/dist-types/placement/placement.d.ts.map +1 -0
  256. package/dist-types/search/index.d.ts +3 -0
  257. package/dist-types/search/index.d.ts.map +1 -0
  258. package/dist-types/search/scene-search-engine.d.ts +64 -0
  259. package/dist-types/search/scene-search-engine.d.ts.map +1 -0
  260. package/dist-types/search/search-overlay.d.ts +94 -0
  261. package/dist-types/search/search-overlay.d.ts.map +1 -0
  262. package/dist-types/things-scene/api/add-start.d.ts +25 -0
  263. package/dist-types/things-scene/api/add-start.d.ts.map +1 -1
  264. package/dist-types/things-scene/api/align.d.ts.map +1 -1
  265. package/dist-types/things-scene/api/distribute.d.ts.map +1 -1
  266. package/dist-types/things-scene/api/ids.d.ts +4 -1
  267. package/dist-types/things-scene/api/ids.d.ts.map +1 -1
  268. package/dist-types/things-scene/api/index.d.ts +1 -1
  269. package/dist-types/things-scene/api/index.d.ts.map +1 -1
  270. package/dist-types/things-scene/api/place.d.ts.map +1 -1
  271. package/dist-types/things-scene/api/zorder.d.ts.map +1 -1
  272. package/dist-types/things-scene/application-context.d.ts +62 -0
  273. package/dist-types/things-scene/application-context.d.ts.map +1 -1
  274. package/dist-types/things-scene/create.d.ts +43 -3
  275. package/dist-types/things-scene/create.d.ts.map +1 -1
  276. package/dist-types/things-scene/index.d.ts +29 -0
  277. package/dist-types/things-scene/index.d.ts.map +1 -1
  278. package/dist-types/things-scene/scene.d.ts +120 -2
  279. package/dist-types/things-scene/scene.d.ts.map +1 -1
  280. package/dist-types/threed/arrow-3d.d.ts +13 -4
  281. package/dist-types/threed/arrow-3d.d.ts.map +1 -1
  282. package/dist-types/threed/environments/base-environment.d.ts +17 -0
  283. package/dist-types/threed/environments/base-environment.d.ts.map +1 -0
  284. package/dist-types/threed/environments/cloudy-environment.d.ts +10 -0
  285. package/dist-types/threed/environments/cloudy-environment.d.ts.map +1 -0
  286. package/dist-types/threed/environments/factory-environment.d.ts +3 -3
  287. package/dist-types/threed/environments/factory-environment.d.ts.map +1 -1
  288. package/dist-types/threed/environments/home-environment.d.ts +3 -3
  289. package/dist-types/threed/environments/home-environment.d.ts.map +1 -1
  290. package/dist-types/threed/environments/office-environment.d.ts +3 -3
  291. package/dist-types/threed/environments/office-environment.d.ts.map +1 -1
  292. package/dist-types/threed/environments/rainy-environment.d.ts +10 -0
  293. package/dist-types/threed/environments/rainy-environment.d.ts.map +1 -0
  294. package/dist-types/threed/environments/studio-environment.d.ts +2 -3
  295. package/dist-types/threed/environments/studio-environment.d.ts.map +1 -1
  296. package/dist-types/threed/environments/sunny-environment.d.ts +10 -0
  297. package/dist-types/threed/environments/sunny-environment.d.ts.map +1 -0
  298. package/dist-types/threed/environments/warehouse-environment.d.ts +3 -3
  299. package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -1
  300. package/dist-types/threed/factories/backdrop.d.ts +541 -0
  301. package/dist-types/threed/factories/backdrop.d.ts.map +1 -0
  302. package/dist-types/threed/factories/banner.d.ts +16 -4
  303. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  304. package/dist-types/threed/factories/camera.d.ts +12 -3
  305. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  306. package/dist-types/threed/factories/cube.d.ts +11 -3
  307. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  308. package/dist-types/threed/factories/cylinder.d.ts +1 -0
  309. package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
  310. package/dist-types/threed/factories/decal.d.ts +516 -0
  311. package/dist-types/threed/factories/decal.d.ts.map +1 -0
  312. package/dist-types/threed/factories/floor-plate.d.ts +11 -0
  313. package/dist-types/threed/factories/floor-plate.d.ts.map +1 -0
  314. package/dist-types/threed/factories/gltf-object.d.ts +270 -38
  315. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  316. package/dist-types/threed/factories/group.d.ts +2 -0
  317. package/dist-types/threed/factories/group.d.ts.map +1 -0
  318. package/dist-types/threed/factories/light.d.ts +1 -0
  319. package/dist-types/threed/factories/light.d.ts.map +1 -1
  320. package/dist-types/threed/factories/line.d.ts +10 -0
  321. package/dist-types/threed/factories/line.d.ts.map +1 -0
  322. package/dist-types/threed/factories/ortholine.d.ts +10 -0
  323. package/dist-types/threed/factories/ortholine.d.ts.map +1 -0
  324. package/dist-types/threed/factories/polygon.d.ts +19 -0
  325. package/dist-types/threed/factories/polygon.d.ts.map +1 -1
  326. package/dist-types/threed/factories/polyline.d.ts +10 -0
  327. package/dist-types/threed/factories/polyline.d.ts.map +1 -0
  328. package/dist-types/threed/factories/rect.d.ts.map +1 -1
  329. package/dist-types/threed/factories/sphere.d.ts +6 -0
  330. package/dist-types/threed/factories/sphere.d.ts.map +1 -1
  331. package/dist-types/threed/factories/sprite.d.ts +11 -3
  332. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  333. package/dist-types/threed/factories/triangle.d.ts.map +1 -1
  334. package/dist-types/threed/factories/wall.d.ts +11 -3
  335. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  336. package/dist-types/threed/floor/floor.d.ts.map +1 -1
  337. package/dist-types/threed/handle-3d.d.ts +21 -0
  338. package/dist-types/threed/handle-3d.d.ts.map +1 -0
  339. package/dist-types/threed/html/elements.d.ts.map +1 -1
  340. package/dist-types/threed/index.d.ts +24 -0
  341. package/dist-types/threed/index.d.ts.map +1 -1
  342. package/dist-types/threed/managers/box-selection-manager.d.ts +26 -0
  343. package/dist-types/threed/managers/box-selection-manager.d.ts.map +1 -0
  344. package/dist-types/threed/managers/camera-bookmark-manager.d.ts +66 -32
  345. package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -1
  346. package/dist-types/threed/managers/camera-manager.d.ts +9 -3
  347. package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
  348. package/dist-types/threed/managers/controls-manager.d.ts +25 -4
  349. package/dist-types/threed/managers/controls-manager.d.ts.map +1 -1
  350. package/dist-types/threed/managers/event-manager3d.d.ts +14 -0
  351. package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
  352. package/dist-types/threed/managers/gizmo-manager.d.ts +6 -0
  353. package/dist-types/threed/managers/gizmo-manager.d.ts.map +1 -1
  354. package/dist-types/threed/managers/gizmo-operation-manager.d.ts +54 -1
  355. package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
  356. package/dist-types/threed/managers/index.d.ts +3 -1
  357. package/dist-types/threed/managers/index.d.ts.map +1 -1
  358. package/dist-types/threed/managers/interaction-manager.d.ts +17 -0
  359. package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
  360. package/dist-types/threed/managers/light-manager.d.ts +15 -0
  361. package/dist-types/threed/managers/light-manager.d.ts.map +1 -1
  362. package/dist-types/threed/managers/renderer-manager.d.ts +37 -0
  363. package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
  364. package/dist-types/threed/managers/scene-manager.d.ts +12 -2
  365. package/dist-types/threed/managers/scene-manager.d.ts.map +1 -1
  366. package/dist-types/threed/managers/types.d.ts +4 -2
  367. package/dist-types/threed/managers/types.d.ts.map +1 -1
  368. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts +154 -0
  369. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -0
  370. package/dist-types/threed/material-3d.d.ts +5 -2
  371. package/dist-types/threed/material-3d.d.ts.map +1 -1
  372. package/dist-types/threed/ratio-lock-utils.d.ts +9 -0
  373. package/dist-types/threed/ratio-lock-utils.d.ts.map +1 -0
  374. package/dist-types/threed/real-object-dom-element.d.ts +2 -0
  375. package/dist-types/threed/real-object-dom-element.d.ts.map +1 -1
  376. package/dist-types/threed/real-object-dom-texture.d.ts +9 -0
  377. package/dist-types/threed/real-object-dom-texture.d.ts.map +1 -1
  378. package/dist-types/threed/real-object-external-model.d.ts +24 -0
  379. package/dist-types/threed/real-object-external-model.d.ts.map +1 -0
  380. package/dist-types/threed/real-object-extrude.d.ts +16 -1
  381. package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
  382. package/dist-types/threed/real-object-gltf.d.ts +21 -11
  383. package/dist-types/threed/real-object-gltf.d.ts.map +1 -1
  384. package/dist-types/threed/real-object-group.d.ts +2 -0
  385. package/dist-types/threed/real-object-group.d.ts.map +1 -1
  386. package/dist-types/threed/real-object-line.d.ts +83 -0
  387. package/dist-types/threed/real-object-line.d.ts.map +1 -0
  388. package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
  389. package/dist-types/threed/real-object-plane-2d.d.ts +23 -0
  390. package/dist-types/threed/real-object-plane-2d.d.ts.map +1 -1
  391. package/dist-types/threed/real-object-service.d.ts +14 -0
  392. package/dist-types/threed/real-object-service.d.ts.map +1 -0
  393. package/dist-types/threed/real-object-sprite.d.ts +7 -1
  394. package/dist-types/threed/real-object-sprite.d.ts.map +1 -1
  395. package/dist-types/threed/real-object-text.d.ts +5 -0
  396. package/dist-types/threed/real-object-text.d.ts.map +1 -1
  397. package/dist-types/threed/real-object.d.ts +261 -7
  398. package/dist-types/threed/real-object.d.ts.map +1 -1
  399. package/dist-types/threed/text-editor-3d.d.ts +11 -0
  400. package/dist-types/threed/text-editor-3d.d.ts.map +1 -0
  401. package/dist-types/threed/texture/canvas-texture.d.ts +7 -0
  402. package/dist-types/threed/texture/canvas-texture.d.ts.map +1 -1
  403. package/dist-types/threed/texture/fillstyle-texture.d.ts +57 -0
  404. package/dist-types/threed/texture/fillstyle-texture.d.ts.map +1 -0
  405. package/dist-types/threed/texture/text-texture.d.ts +15 -0
  406. package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
  407. package/dist-types/threed/three-capability.d.ts +131 -15
  408. package/dist-types/threed/three-capability.d.ts.map +1 -1
  409. package/dist-types/threed/three-container.d.ts +0 -1
  410. package/dist-types/threed/three-container.d.ts.map +1 -1
  411. package/dist-types/threed/three-dimensional-container.d.ts +0 -1
  412. package/dist-types/threed/three-dimensional-container.d.ts.map +1 -1
  413. package/dist-types/threed/utils/anchor.d.ts +33 -0
  414. package/dist-types/threed/utils/anchor.d.ts.map +1 -0
  415. package/dist-types/threed/utils/dispose.d.ts.map +1 -1
  416. package/dist-types/threed/utils/polygon-shape.d.ts +21 -0
  417. package/dist-types/threed/utils/polygon-shape.d.ts.map +1 -0
  418. package/dist-types/threed/utils/tether.d.ts +46 -0
  419. package/dist-types/threed/utils/tether.d.ts.map +1 -0
  420. package/dist-types/threed/z-priority.d.ts +27 -0
  421. package/dist-types/threed/z-priority.d.ts.map +1 -0
  422. package/dist-types/tracker/tracker.d.ts +57 -0
  423. package/dist-types/tracker/tracker.d.ts.map +1 -0
  424. package/dist-types/transfer/carrier-line-capability.d.ts +95 -0
  425. package/dist-types/transfer/carrier-line-capability.d.ts.map +1 -0
  426. package/dist-types/transfer/centering-slot-strategy.d.ts +8 -0
  427. package/dist-types/transfer/centering-slot-strategy.d.ts.map +1 -0
  428. package/dist-types/transfer/fixed-slot-strategy.d.ts +8 -0
  429. package/dist-types/transfer/fixed-slot-strategy.d.ts.map +1 -0
  430. package/dist-types/transfer/index.d.ts +24 -0
  431. package/dist-types/transfer/index.d.ts.map +1 -0
  432. package/dist-types/transfer/pickup-helpers.d.ts +75 -0
  433. package/dist-types/transfer/pickup-helpers.d.ts.map +1 -0
  434. package/dist-types/transfer/simulation-clock.d.ts +45 -0
  435. package/dist-types/transfer/simulation-clock.d.ts.map +1 -0
  436. package/dist-types/transfer/tracer.d.ts +35 -0
  437. package/dist-types/transfer/tracer.d.ts.map +1 -0
  438. package/dist-types/transfer/transfer-helpers.d.ts +18 -0
  439. package/dist-types/transfer/transfer-helpers.d.ts.map +1 -0
  440. package/dist-types/transfer/transfer.d.ts +257 -0
  441. package/dist-types/transfer/transfer.d.ts.map +1 -0
  442. package/dist-types/transfer/transferable-mixin.d.ts +275 -0
  443. package/dist-types/transfer/transferable-mixin.d.ts.map +1 -0
  444. package/dist-types/transfer/types.d.ts +462 -0
  445. package/dist-types/transfer/types.d.ts.map +1 -0
  446. package/dist-types/transition/transition-effect.d.ts +117 -0
  447. package/dist-types/transition/transition-effect.d.ts.map +1 -0
  448. package/dist-types/types/bounding.d.ts +1 -1
  449. package/dist-types/types/bounding.d.ts.map +1 -1
  450. package/dist-types/types/capability.d.ts +59 -0
  451. package/dist-types/types/capability.d.ts.map +1 -0
  452. package/dist-types/types/component.d.ts +6 -177
  453. package/dist-types/types/component.d.ts.map +1 -1
  454. package/dist-types/types/event.d.ts +57 -0
  455. package/dist-types/types/event.d.ts.map +1 -1
  456. package/dist-types/types/polygon-path-arc.d.ts +72 -0
  457. package/dist-types/types/polygon-path-arc.d.ts.map +1 -0
  458. package/dist-types/types/polygon-path.d.ts +153 -0
  459. package/dist-types/types/polygon-path.d.ts.map +1 -0
  460. package/package.json +13 -2
  461. package/things-scene-min.js +12 -13
  462. package/things-scene-min.js.map +1 -1
  463. package/things-scene-transfer.mjs +7 -0
  464. package/things-scene.mjs +8 -9
  465. package/things-scene.mjs.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"real-object.d.ts","sourceRoot":"","sources":["../../src/threed/real-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAS,MAAM,wBAAwB,CAAA;AAM/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAO5E,8BAAsB,UAAU,CAAC,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAE,YAAW,WAAW;IAChG,SAAS,CAAC,UAAU,EAAE,SAAS,CAAA;IAC/B,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAQ;IACnC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC7B,SAAS,CAAC,iBAAiB,UAAQ;IAE5B,QAAQ,EAAE,CAAC,CAAA;IAKlB,OAAO,CAAC,gBAAgB,CAGvB;IAED,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS;IA4BjD,OAAO,CAAC,MAAM,CAAC,oBAAoB;gBA8DvB,SAAS,EAAE,SAAS;IAOhC,MAAM;IAYN,SAAS,CAAC,mBAAmB,IAAI,CAAC;IAIlC,KAAK;IAOL,gBAAgB;IAMhB,OAAO,CAAC,YAAY;IAWpB,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,IAAI,cAAc,IAAI,yBAAyB,GAAG,SAAS,CAS1D;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAK3B;IAED,OAAO;IAMP,KAAK;IASL;;OAEG;IACH,eAAe;IAUf,IAAI,QAAQ;;;;MAOX;IAED,IAAI,QAAQ;;;;MAQX;IAED,IAAI,KAAK;;;;MAUR;IAED,IAAI,EAAE,WAML;IAED,IAAI,EAAE,WAML;IAED,IAAI,EAAE,QAKL;IAED,IAAI,MAAM;;;;MAWT;IAED,IAAI,SAAS;;;;MAOZ;IAED;;;OAGG;IACH,IAAI,cAAc,IAAI,MAAM,CAE3B;IAGD,cAAc;IAKd,YAAY;IAKZ,WAAW;IAKX;;;;OAIG;IACH,kBAAkB;IAuClB,eAAe;IAKf,WAAW;IAoBX,YAAY;IAIZ,iBAAiB;IACjB,eAAe;IACf,UAAU;IAEV;;;OAGG;IACH;;;OAGG;IACH,SAAS,KAAK,cAAc,IAAI,MAAM,CAErC;IAED;;;OAGG;IACH,gBAAgB;IA6BhB;;;;OAIG;IACH,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMrD,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;CAyC/C"}
1
+ {"version":3,"file":"real-object.d.ts","sourceRoot":"","sources":["../../src/threed/real-object.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type Component from '../components/component.js';
2
+ import type { RendererManager } from './managers/renderer-manager.js';
3
+ /**
4
+ * 3D 텍스트 편집을 시작한다.
5
+ *
6
+ * - textarea를 CSS3DObject로 래핑하여 컴포넌트의 3D 위치에 배치
7
+ * - 편집 중 RealObjectText의 mesh를 숨겨 겹침 방지
8
+ * - 편집 완료(blur) 시 CSS3DObject 제거, mesh 복원, 텍스트 업데이트
9
+ */
10
+ export declare function startTextEdit3D(component: Component, rendererManager: RendererManager, renderCallback: () => void): void;
11
+ //# sourceMappingURL=text-editor-3d.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-editor-3d.d.ts","sourceRoot":"","sources":["../../src/threed/text-editor-3d.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAErE;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,MAAM,IAAI,GACzB,IAAI,CAkMN"}
@@ -2,4 +2,11 @@ import * as THREE from 'three';
2
2
  import type Component from '../../components/component.js';
3
3
  export declare function createCanvasTexture(component: Component): THREE.Texture;
4
4
  export declare function renderCanvasTexture(canvas: HTMLCanvasElement, component: Component, scale: number): void;
5
+ /**
6
+ * 이미 생성된 캔버스를 제자리에서 다시 그린다. 애니메이션 프레임마다 호출되는
7
+ * hot path이므로 텍스처/재질을 재생성하지 않고 drawing context만 초기화 + render.
8
+ *
9
+ * 호출 후 THREE.Texture에 needsUpdate = true를 표시하여 GPU 업로드를 예약한다.
10
+ */
11
+ export declare function redrawCanvasTexture(canvas: HTMLCanvasElement, component: Component, scale?: number): void;
5
12
  //# sourceMappingURL=canvas-texture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-texture.d.ts","sourceRoot":"","sources":["../../../src/threed/texture/canvas-texture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAsB1D,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC,OAAO,CA6BvE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,QAajG"}
1
+ {"version":3,"file":"canvas-texture.d.ts","sourceRoot":"","sources":["../../../src/threed/texture/canvas-texture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAsB1D,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC,OAAO,CA6BvE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,QAajG;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,SAAI,QAO7F"}
@@ -0,0 +1,57 @@
1
+ import * as THREE from 'three';
2
+ import type Component from '../../components/component.js';
3
+ /**
4
+ * gradient fillStyle을 캔버스에 그려 반환한다.
5
+ * text-texture.ts의 텍스트+gradient 합성과 real-object.ts의 gradient 텍스처 모두 이 함수를 사용한다.
6
+ */
7
+ export declare function drawGradientCanvas(fillStyle: {
8
+ gradientType?: string;
9
+ rotation?: number;
10
+ center?: string;
11
+ colorStops?: {
12
+ position: number;
13
+ color: string;
14
+ }[];
15
+ /** @deprecated 옛 이름 — backwards-compat 으로 fallback. */
16
+ gradientStops?: {
17
+ position: number;
18
+ color: string;
19
+ }[];
20
+ }, w: number, h: number): HTMLCanvasElement | null;
21
+ /**
22
+ * buildFillStyleTexture / buildPatternTexture 옵션 — image load 가 비동기라
23
+ * wrapS / repeat / rotation 이 onload 안에서 *마지막에 set* 되어 호출자가 외부
24
+ * 에서 변경해도 overwrite 됨. 옵션으로 명시하면 onload 안에서 적용 보장.
25
+ */
26
+ export interface TextureUVOptions {
27
+ /** true 면 U 축 거울상 (texture.repeat.x = -1, offset.x = 1). */
28
+ mirror?: boolean;
29
+ /** 추가 회전 (degrees). 90/180/270 등. */
30
+ rotation?: number;
31
+ }
32
+ /**
33
+ * 패턴 fillStyle을 2D 옵션(fitPattern, offset, align, repeat, color)에 맞춰
34
+ * 캔버스 텍스처로 생성한다. 이미지 로드 완료 후 component.invalidate()로 갱신.
35
+ */
36
+ export declare function buildPatternTexture(component: Component, fillStyle: any, options?: TextureUVOptions): THREE.Texture;
37
+ /**
38
+ * gradient fillStyle을 THREE.CanvasTexture로 생성한다.
39
+ */
40
+ export declare function buildGradientTexture(fillStyle: {
41
+ gradientType?: string;
42
+ rotation?: number;
43
+ center?: string;
44
+ colorStops: {
45
+ position: number;
46
+ color: string;
47
+ }[];
48
+ }): THREE.CanvasTexture | undefined;
49
+ /**
50
+ * fillStyle 객체(pattern 또는 gradient)에 따라 적절한 텍스처를 생성한다.
51
+ *
52
+ * `fillStyleOverride`를 넘기면 component.state.fillStyle 대신 사용한다.
53
+ * Backdrop 처럼 한 컴포넌트가 여러 면에 서로 다른 fillStyle 을 적용하는
54
+ * 경우, frozen state 를 mutate 하지 않고 override 만 전달하면 된다.
55
+ */
56
+ export declare function buildFillStyleTexture(component: Component, fillStyleOverride?: unknown, options?: TextureUVOptions): THREE.Texture | undefined;
57
+ //# sourceMappingURL=fillstyle-texture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fillstyle-texture.d.ts","sourceRoot":"","sources":["../../../src/threed/texture/fillstyle-texture.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAG1D;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE;IACT,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAClD,uDAAuD;IACvD,aAAa,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACtD,EACD,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,iBAAiB,GAAG,IAAI,CAyC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAiBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAyJnH;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,GAC1H,KAAK,CAAC,aAAa,GAAG,SAAS,CASjC;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,EACpB,iBAAiB,CAAC,EAAE,OAAO,EAC3B,OAAO,CAAC,EAAE,gBAAgB,GACzB,KAAK,CAAC,OAAO,GAAG,SAAS,CAsB3B"}
@@ -1,7 +1,22 @@
1
1
  import * as THREE from 'three';
2
2
  export declare function fontStyle(bold: boolean, italic: boolean, fontSize: number, fontFamily: string): string;
3
+ export declare function nextPowerOf2(n: number): number;
3
4
  export declare function drawTextTexture(canvas: HTMLCanvasElement, text: string, textStyle: any): void;
4
5
  export declare function textTexture(text: string, width: number, height: number, textStyle: any): THREE.CanvasTexture<HTMLCanvasElement>;
6
+ /**
7
+ * 패턴(이미지) 배경 + 텍스트를 합성한 텍스처를 비동기로 생성한다.
8
+ * 2D fill.ts와 동일한 패턴 옵션을 지원한다:
9
+ * fitPattern, width/height, offsetX/offsetY, align, noRepeat, color
10
+ *
11
+ * @param imageUrl resolved 이미지 URL
12
+ * @param text 텍스트 (빈 문자열이면 텍스트 생략)
13
+ * @param compWidth 컴포넌트 너비
14
+ * @param compHeight 컴포넌트 높이
15
+ * @param textStyle 텍스트 스타일 (fontColor, fontSize 등)
16
+ * @param fillStyle 패턴 fillStyle 객체 (fitPattern, offsetX 등)
17
+ * @param onReady 텍스처 완성 콜백
18
+ */
19
+ export declare function patternTextTexture(imageUrl: string, text: string, compWidth: number, compHeight: number, textStyle: any, fillStyle: any, onReady: (texture: THREE.CanvasTexture) => void): void;
5
20
  export declare function textBounds(text: string, textStyle: any): {
6
21
  width: number;
7
22
  height: number;
@@ -1 +1 @@
1
- {"version":3,"file":"text-texture.d.ts","sourceRoot":"","sources":["../../../src/threed/texture/text-texture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAUtG;AAmBD,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAYtF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,0CAwBtF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA0B1F"}
1
+ {"version":3,"file":"text-texture.d.ts","sourceRoot":"","sources":["../../../src/threed/texture/text-texture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAUtG;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,UAerC;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAgDtF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,0CAwCtF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,GAAG,EACd,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,GAC9C,IAAI,CAoGN;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA0B1F"}
@@ -1,7 +1,7 @@
1
1
  import Component from '../components/component.js';
2
2
  import * as THREE from 'three';
3
3
  import { type ArrowStyle3D } from './arrow-3d.js';
4
- import { SceneManager, CameraManager, RendererManager, LightManager, ControlsManager, EventManager3D, GizmoManager, GizmoOperationManager, InteractionManager, PlacementManager, CameraBookmarkManager, LightingConfig } from './managers/index.js';
4
+ import { SceneManager, CameraManager, RendererManager, LightManager, ControlsManager, EventManager3D, GizmoManager, GizmoOperationManager, InteractionManager, PlacementManager, CameraBookmarkManager, BoxSelectionManager, VertexGizmoManager, LightingConfig } from './managers/index.js';
5
5
  import type { CameraViewName } from './managers/index.js';
6
6
  /**
7
7
  * ThreeCapability를 사용하는 호스트가 구현해야 하는 인터페이스.
@@ -37,7 +37,6 @@ export interface CameraSessionState {
37
37
  y: number;
38
38
  z: number;
39
39
  };
40
- perspZoom?: number;
41
40
  orbitTarget?: {
42
41
  x: number;
43
42
  y: number;
@@ -63,11 +62,17 @@ export declare class ThreeCapability {
63
62
  protected placementManager: PlacementManager;
64
63
  protected gizmoOperationManager: GizmoOperationManager;
65
64
  readonly bookmarkManager: CameraBookmarkManager;
65
+ protected boxSelectionManager: BoxSelectionManager;
66
+ protected vertexGizmoManager: VertexGizmoManager;
66
67
  private _host?;
68
+ private _isSpacePanning;
69
+ private _beforeSpaceMode?;
67
70
  private _clipboard?;
68
71
  private _onFocus?;
69
72
  private _redrawHandler?;
70
73
  private _onComponentAdd?;
74
+ private _onItemAdd?;
75
+ private _onItemRemove?;
71
76
  private _onComponentRemove?;
72
77
  private _onSelectionChanged?;
73
78
  private _onAddStart?;
@@ -75,14 +80,17 @@ export declare class ThreeCapability {
75
80
  private _initialized;
76
81
  private _decoratorOutlines;
77
82
  private _selectionOutlineObjects;
83
+ private _highlightedMarkerIndex;
78
84
  private _arrows;
79
85
  private _resizeDebouncer?;
86
+ private _pathLine?;
87
+ private _pathMarkers?;
88
+ private _pathVisible;
80
89
  get isInitialized(): boolean;
81
90
  get host(): ThreeCapabilityHost | undefined;
82
91
  get scene3d(): THREE.Scene | undefined;
83
92
  get renderer3d(): THREE.WebGLRenderer | undefined;
84
93
  get mixer(): THREE.AnimationMixer | undefined;
85
- get zoom(): number | undefined;
86
94
  get camera(): THREE.PerspectiveCamera | undefined;
87
95
  get activeCamera(): THREE.Camera;
88
96
  get css3DScene(): THREE.Scene;
@@ -96,11 +104,13 @@ export declare class ThreeCapability {
96
104
  onGizmoAttachChanged?: (isAttached: boolean) => void;
97
105
  onCameraViewChanged?: (view: string) => void;
98
106
  onBookmarkChanged?: () => void;
107
+ onHelpToggle?: () => void;
108
+ onSearchToggle?: () => void;
109
+ onDataBindingToggle?: () => void;
110
+ onMonitorToggle?: () => void;
111
+ onBookmarkNavToggle?: () => void;
112
+ onBookmarkEditToggle?: () => void;
99
113
  setGizmoMode(mode: 'translate' | 'rotate' | 'scale'): void;
100
- /**
101
- * 기즈모 모드를 설정하고, 선택된 오브젝트가 있으면 attach한다.
102
- */
103
- private _activateGizmo;
104
114
  get gizmoMode(): 'translate' | 'rotate' | 'scale';
105
115
  /**
106
116
  * 3D 씬을 초기화한다.
@@ -109,6 +119,11 @@ export declare class ThreeCapability {
109
119
  init(host: ThreeCapabilityHost, options?: {
110
120
  lightingConfig?: LightingConfig;
111
121
  css3DSceneAttribute?: string;
122
+ skipEnvironment?: boolean;
123
+ skipPostprocessing?: boolean;
124
+ useLightComposer?: boolean;
125
+ skipShadowMap?: boolean;
126
+ skipFloor?: boolean;
112
127
  }): void;
113
128
  /**
114
129
  * 이벤트 핸들러를 정리한다 (init/dispose에서 공용).
@@ -211,12 +226,26 @@ export declare class ThreeCapability {
211
226
  * arrow function으로 this(ThreeCapability)를 캡처하여
212
227
  * 호스트 교체 후에도 올바른 인스턴스를 참조한다.
213
228
  */
229
+ /**
230
+ * screenFixed DOM 컴포넌트를 호스트 위에 절대 위치로 고정 배치한다.
231
+ * CSS3D 렌더러를 거치지 않고, HTML element를 직접 호스트 element 위에 배치.
232
+ */
233
+ /**
234
+ * screenFixed 컴포넌트를 HUD에 배치한다.
235
+ * - DOM 컴포넌트: 호스트 위에 absolute positioning
236
+ * - WebGL 컴포넌트: 2D 렌더링을 캔버스 텍스처로 XY Plane에 입힘
237
+ */
214
238
  private _buildInteractionDelegate;
215
239
  /**
216
240
  * 클릭 처리: raycast로 오브젝트 선택.
217
241
  * NDC는 InteractionManager가 이미 업데이트한 상태여야 한다.
218
242
  */
219
243
  private _handleClickAt;
244
+ /** Shift+클릭 토글 / 일반 클릭 단일 선택 / 빈 공간 클릭 해제
245
+ * Group 내 자식 클릭 시:
246
+ * - 첫 클릭: 최상위 Group 선택 (translate/rotate/scale 모두 Group 단위)
247
+ * - Group이 이미 선택된 상태에서 재클릭: 개별 자식 선택 */
248
+ private _applySelection;
220
249
  /**
221
250
  * Raycast로 마우스 아래의 3D 오브젝트를 찾는다.
222
251
  */
@@ -231,10 +260,15 @@ export declare class ThreeCapability {
231
260
  * DOM 직접 리스닝 경로는 InteractionManager.updateMouseNDCFromClient()를 사용한다.
232
261
  */
233
262
  private _updateMouseNDCFromClient;
263
+ /**
264
+ * 이벤트 → NDC 좌표 (-1~+1) 변환.
265
+ * element rect를 사용하되, 없거나 0x0이면 transcoordC2S+bounds로 폴백.
266
+ */
267
+ private _eventToNDC;
234
268
  /**
235
269
  * 마우스 이벤트의 NDC 좌표를 업데이트한다.
236
- * offsetX/offsetY는 이벤트 target에 상대적이라 CSS3D 자식 등에서 부정확할 수 있으므로
237
- * clientX/clientY사용한다.
270
+ * DOM element가 있으면 clientX/clientY element-relative로 변환하고,
271
+ * 없으면 (ThreeContainer 등) offsetX/offsetYtranscoordC2S로 논리 좌표 변환 후 bounds 기준 NDC.
238
272
  */
239
273
  private _updateMouseNDC;
240
274
  onMouseUp(e: MouseEvent): boolean;
@@ -243,6 +277,10 @@ export declare class ThreeCapability {
243
277
  onMouseLeave(_e: MouseEvent): boolean;
244
278
  onWheel(e: WheelEvent): boolean;
245
279
  onDblClick(e: MouseEvent): boolean;
280
+ /**
281
+ * 현재 카메라 위치/타겟을 더블클릭 리셋 기준점으로 저장한다.
282
+ */
283
+ pinResetPosition(): void;
246
284
  onDragStart(e: DragEvent): boolean;
247
285
  onDragMove(e: DragEvent): boolean;
248
286
  onDragEnd(e: DragEvent): boolean;
@@ -250,6 +288,19 @@ export declare class ThreeCapability {
250
288
  onPan(e: TouchEvent): boolean;
251
289
  onTouchEnd(e: TouchEvent): boolean;
252
290
  onKeyDown(e: KeyboardEvent): boolean;
291
+ /** Escape: MODE_ADD 취소, paste mode 종료, 기즈모 detach + 선택 해제 */
292
+ private _handleEscapeKey;
293
+ /** 편집 모드 전용 키: Ctrl+Z/C/X/V/D, Enter, W/E/R, Delete, 화살표 */
294
+ private _handleEditModeKey;
295
+ /** 화살표 키로 선택된 오브젝트 이동 */
296
+ private _handleArrowKeyMove;
297
+ /** Alt/Shift 키: orbit/pan 및 박스 셀렉션 힌트 커서 */
298
+ private _handleCursorHintKey;
299
+ /** 카메라 뷰 전환 (0-6, Q), H: 도움말, F: 검색, B: 북마크 네비게이션 */
300
+ private _handleCameraAndViewKey;
301
+ /** Space/P/O: 재생 제어 (뷰어), Space: 패닝 모드 (편집) */
302
+ private _handlePlaybackKey;
303
+ private _onKeyUp;
253
304
  onPinch(e: TouchEvent): boolean;
254
305
  onDoubleTap(): void;
255
306
  /**
@@ -258,31 +309,79 @@ export declare class ThreeCapability {
258
309
  */
259
310
  getCameraState(): {
260
311
  view: string;
261
- zoom: number;
262
312
  cameraX: number;
263
313
  cameraY: number;
264
314
  cameraZ: number;
265
315
  } | null;
316
+ /**
317
+ * 현재 카메라 위치와 타겟을 월드 좌표로 반환한다.
318
+ */
319
+ getCameraWorldState(): {
320
+ position: {
321
+ x: number;
322
+ y: number;
323
+ z: number;
324
+ };
325
+ target: {
326
+ x: number;
327
+ y: number;
328
+ z: number;
329
+ };
330
+ } | null;
266
331
  captureSessionState(): CameraSessionState;
332
+ /**
333
+ * 3D→2D 전환 시 사용할 카메라 뷰포트 정보를 캡처한다.
334
+ * @returns target(orbit target), visibleSize(카메라 FOV 기반 가시 영역 크기)
335
+ */
336
+ captureViewportInfo(): {
337
+ target: THREE.Vector3;
338
+ visibleWidth: number;
339
+ visibleHeight: number;
340
+ };
267
341
  restoreSessionState(state: CameraSessionState): void;
268
342
  /**
269
- * 현재 카메라 위치를 슬롯에 저장한다.
270
- * 편집 모드: 모델에 저장, 뷰 모드: localStorage에 저장
343
+ * 현재 카메라 위치를 슬롯에 저장한다 (편집 모드 전용).
271
344
  */
272
345
  saveCameraToSlot(index: number): void;
346
+ /**
347
+ * 2D 뷰포트 정보를 기반으로 카메라 위치/타겟을 설정한다.
348
+ * 수직/수평 FOV를 모두 고려하여 2D 가시 영역이 3D에서 정확히 커버되도록 거리를 계산한다.
349
+ */
350
+ positionCameraForViewport(targetX: number, targetZ: number, visibleWidth: number, visibleHeight: number, lastCameraState?: CameraSessionState): void;
351
+ /**
352
+ * 컴포넌트의 3D 위치로 카메라를 이동한다.
353
+ * 현재 카메라↔target 오프셋(거리/방향)을 유지하면서 target을 컴포넌트 중심으로 옮긴다.
354
+ */
355
+ centerToComponent(component: Component, animated?: boolean): void;
273
356
  /**
274
357
  * 슬롯으로 카메라를 애니메이션 이동한다.
275
358
  */
276
359
  animateToSlot(index: number): void;
277
360
  /**
278
- * 슬롯 순회 플레이를 토글한다.
361
+ * 경로의 t∈[0,1] 지점으로 카메라를 즉시 이동한다 (스크러빙).
362
+ */
363
+ scrubPath(t: number): void;
364
+ /**
365
+ * 슬롯 순회 플레이를 토글한다 (일시정지/재개).
366
+ * 재개 시 카메라 현재 위치에서 가장 가까운 다음 슬롯부터 시작.
279
367
  */
280
- private _togglePlay;
281
- private _resetAllBookmarks;
368
+ togglePlay(startFromProgress?: number): void;
369
+ /**
370
+ * 슬롯 순회 플레이를 처음부터 재시작한다.
371
+ */
372
+ restartPlay(): void;
282
373
  /**
283
374
  * 뷰어 시작 시 자동 재생 모드를 시작한다.
284
375
  */
285
376
  startAutoPlay(mode: 'orbit' | 'play'): void;
377
+ /**
378
+ * 북마크 동선 라인을 3D 씬에 표시한다.
379
+ */
380
+ showBookmarkPath(): void;
381
+ /**
382
+ * 북마크 동선 라인을 제거한다.
383
+ */
384
+ hideBookmarkPath(permanent?: boolean): void;
286
385
  /**
287
386
  * 모델에서 카메라 북마크를 복원한다.
288
387
  */
@@ -294,6 +393,11 @@ export declare class ThreeCapability {
294
393
  * - ModelLayer: _resizeThreeD()로 표시 크기에 맞춤
295
394
  */
296
395
  onchange(after: Record<string, any>): void;
396
+ /**
397
+ * component 트리를 재귀 순회하며 각 3D RealObject의 updateTransform을 호출한다.
398
+ * scene-level 속성(placement 등) 변경 시 모든 자식의 좌표를 재계산하는 데 쓴다.
399
+ */
400
+ private _cascadeUpdateTransform;
297
401
  /**
298
402
  * WebGL 렌더러의 DOM element를 가져온다 (ctx.drawImage에 사용).
299
403
  */
@@ -313,6 +417,7 @@ export declare class ThreeCapability {
313
417
  * 디버그 FPS를 2D context에 그린다.
314
418
  */
315
419
  showDebugFPS(context: CanvasRenderingContext2D): void;
420
+ get decoratorOutlines(): Set<Component>;
316
421
  addOutline(component: Component): void;
317
422
  removeOutline(component: Component): void;
318
423
  clearOutlines(): void;
@@ -324,6 +429,12 @@ export declare class ThreeCapability {
324
429
  * @param style 화살표 스타일 옵션
325
430
  */
326
431
  addArrow(id: string, from: Component, to: Component, style?: ArrowStyle3D): void;
432
+ /**
433
+ * Selection/decorator outline 의 색을 설정. visibleEdge / hiddenEdge 동일 색.
434
+ * Tracker 등 외부 모듈이 자기 정책 (예: 영구 추적 highlight 색) 으로 outline
435
+ * 색을 동기화할 때 사용. 0xf26522 (기본 색) 으로 복원도 같은 메서드.
436
+ */
437
+ setOutlineColor(color: number): void;
327
438
  /**
328
439
  * ID로 3D 화살표를 제거한다.
329
440
  */
@@ -337,6 +448,11 @@ export declare class ThreeCapability {
337
448
  */
338
449
  updateArrow(id: string, from: Component, to: Component): void;
339
450
  private _getArrowStyle;
451
+ /**
452
+ * 북마크 마커 하이라이트 (슬롯 호버 시 아웃라인 표시)
453
+ */
454
+ highlightBookmarkMarker(slotIndex: number): void;
455
+ clearBookmarkMarkerHighlight(): void;
340
456
  /**
341
457
  * 편집모드 선택 아웃라인과 데코레이터 아웃라인을 합집합하여 OutlinePass에 설정한다.
342
458
  */
@@ -1 +1 @@
1
- {"version":3,"file":"three-capability.d.ts","sourceRoot":"","sources":["../../src/threed/three-capability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"three-capability.d.ts","sourceRoot":"","sources":["../../src/threed/three-capability.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,6 @@ export declare class ThreeContainer extends Container implements ThreeDimensiona
27
27
  get scene3d(): THREE.Scene | undefined;
28
28
  get renderer3d(): THREE.WebGLRenderer | undefined;
29
29
  get mixer(): THREE.AnimationMixer | undefined;
30
- get zoom(): number | undefined;
31
30
  get css3DScene(): THREE.Scene;
32
31
  get css3DRenderer(): import("three/examples/jsm/renderers/CSS3DRenderer.js").CSS3DRenderer;
33
32
  render_threed(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"three-container.d.ts","sourceRoot":"","sources":["../../src/threed/three-container.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAClD,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAGlD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,mBAAmB,CAAA;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AA2BtI,qBACa,cAAe,SAAQ,SAAU,YAAW,yBAAyB;IAChF,SAAS,CAAC,WAAW,kBAAwB;IAE7C,qFAAqF;IACrF,SAAS,KAAK,YAAY,IAAI,YAAY,CAA4C;IACtF,SAAS,KAAK,aAAa,IAAI,aAAa,CAA6C;IACzF,SAAS,KAAK,eAAe,IAAI,eAAe,CAA+C;IAC/F,SAAS,KAAK,YAAY,IAAI,YAAY,CAA4C;IACtF,SAAS,KAAK,eAAe,IAAI,eAAe,CAA+C;IAC/F,SAAS,KAAK,YAAY,IAAI,cAAc,CAA4C;IAExF,WAAW,CAAC,SAAS,EAAE,SAAS;IAIhC,aAAa;IAIb,SAAS,CAAC,iBAAiB,IAAI,cAAc;IAM7C,SAAS,CAAC,sBAAsB,IAAI,MAAM,GAAG,SAAS;IAItD,YAAY;IAgBZ,eAAe;IAKf,IAAI;IAEJ,MAAM;IAMN,IAAI,OAAO,4BAKV;IAED,IAAI,UAAU,oCAEb;IAED,IAAI,KAAK,qCAER;IAED,IAAI,IAAI,uBAEP;IAED,IAAI,UAAU,gBAEb;IAED,IAAI,aAAa,0EAEhB;IAED,aAAa;IAIb;;;OAGG;IACH,OAAO,KAAK,eAAe,GAE1B;IAID,MAAM,CAAC,GAAG,EAAE,wBAAwB;IAiBpC,UAAU,CAAC,GAAG,EAAE,wBAAwB;IAuCxC,OAAO;IAKP,IAAI,MAAM,IAAI,GAAG,CAEhB;IAED,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,kBAAkB,IAAI,KAAK,CAAC,QAAQ,GAAG,SAAS;IAIhD,mBAAmB;IAMnB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;IAS9C,WAAW,CAAC,CAAC,EAAE,UAAU;IAIzB,SAAS,CAAC,CAAC,EAAE,UAAU;IAIvB,WAAW,CAAC,CAAC,EAAE,UAAU;IAIzB,YAAY,CAAC,CAAC,EAAE,UAAU;IAI1B,OAAO,CAAC,CAAC,EAAE,UAAU;IAMrB,UAAU,CAAC,CAAC,EAAE,UAAU;IAMxB,WAAW,CAAC,CAAC,EAAE,SAAS;IAIxB,UAAU,CAAC,CAAC,EAAE,SAAS;IAMvB,SAAS,CAAC,CAAC,EAAE,SAAS;IAMtB,YAAY,CAAC,CAAC,EAAE,UAAU;IAI1B,KAAK,CAAC,CAAC,EAAE,UAAU;IAMnB,UAAU,CAAC,CAAC,EAAE,UAAU;IAIxB,SAAS,CAAC,CAAC,EAAE,aAAa;IAI1B,OAAO,CAAC,CAAC,EAAE,UAAU;IAMrB,WAAW;CAIZ"}
1
+ {"version":3,"file":"three-container.d.ts","sourceRoot":"","sources":["../../src/threed/three-container.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAClD,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAGlD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,mBAAmB,CAAA;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AA2BtI,qBACa,cAAe,SAAQ,SAAU,YAAW,yBAAyB;IAChF,SAAS,CAAC,WAAW,kBAAwB;IAE7C,qFAAqF;IACrF,SAAS,KAAK,YAAY,IAAI,YAAY,CAA4C;IACtF,SAAS,KAAK,aAAa,IAAI,aAAa,CAA6C;IACzF,SAAS,KAAK,eAAe,IAAI,eAAe,CAA+C;IAC/F,SAAS,KAAK,YAAY,IAAI,YAAY,CAA4C;IACtF,SAAS,KAAK,eAAe,IAAI,eAAe,CAA+C;IAC/F,SAAS,KAAK,YAAY,IAAI,cAAc,CAA4C;IAExF,WAAW,CAAC,SAAS,EAAE,SAAS;IAIhC,aAAa;IAIb,SAAS,CAAC,iBAAiB,IAAI,cAAc;IAO7C,SAAS,CAAC,sBAAsB,IAAI,MAAM,GAAG,SAAS;IAItD,YAAY;IAmBZ,eAAe;IAKf,IAAI;IAEJ,MAAM;IAMN,IAAI,OAAO,4BAKV;IAED,IAAI,UAAU,oCAEb;IAED,IAAI,KAAK,qCAER;IAED,IAAI,UAAU,gBAEb;IAED,IAAI,aAAa,0EAEhB;IAED,aAAa;IAIb;;;OAGG;IACH,OAAO,KAAK,eAAe,GAE1B;IAID,MAAM,CAAC,GAAG,EAAE,wBAAwB;IAiBpC,UAAU,CAAC,GAAG,EAAE,wBAAwB;IAoCxC,OAAO;IAKP,IAAI,MAAM,IAAI,GAAG,CAEhB;IAED,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,kBAAkB,IAAI,KAAK,CAAC,QAAQ,GAAG,SAAS;IAIhD,mBAAmB;IAMnB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;IAS9C,WAAW,CAAC,CAAC,EAAE,UAAU;IAIzB,SAAS,CAAC,CAAC,EAAE,UAAU;IAIvB,WAAW,CAAC,CAAC,EAAE,UAAU;IAIzB,YAAY,CAAC,CAAC,EAAE,UAAU;IAI1B,OAAO,CAAC,CAAC,EAAE,UAAU;IAMrB,UAAU,CAAC,CAAC,EAAE,UAAU;IAMxB,WAAW,CAAC,CAAC,EAAE,SAAS;IAIxB,UAAU,CAAC,CAAC,EAAE,SAAS;IAMvB,SAAS,CAAC,CAAC,EAAE,SAAS;IAMtB,YAAY,CAAC,CAAC,EAAE,UAAU;IAI1B,KAAK,CAAC,CAAC,EAAE,UAAU;IAMnB,UAAU,CAAC,CAAC,EAAE,UAAU;IAIxB,SAAS,CAAC,CAAC,EAAE,aAAa;IAI1B,OAAO,CAAC,CAAC,EAAE,UAAU;IAMrB,WAAW;CAIZ"}
@@ -4,6 +4,5 @@ export interface ThreeDimensionalContainer {
4
4
  get scene3d(): Scene | undefined;
5
5
  get renderer3d(): WebGLRenderer | undefined;
6
6
  get mixer(): AnimationMixer | undefined;
7
- get zoom(): number | undefined;
8
7
  }
9
8
  //# sourceMappingURL=three-dimensional-container.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"three-dimensional-container.d.ts","sourceRoot":"","sources":["../../src/threed/three-dimensional-container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEjE,MAAM,WAAW,yBAAyB;IACxC,aAAa,IAAI,OAAO,CAAA;IACxB,IAAI,OAAO,IAAI,KAAK,GAAG,SAAS,CAAA;IAChC,IAAI,UAAU,IAAI,aAAa,GAAG,SAAS,CAAA;IAC3C,IAAI,KAAK,IAAI,cAAc,GAAG,SAAS,CAAA;IACvC,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAAA;CAC/B"}
1
+ {"version":3,"file":"three-dimensional-container.d.ts","sourceRoot":"","sources":["../../src/threed/three-dimensional-container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEjE,MAAM,WAAW,yBAAyB;IACxC,aAAa,IAAI,OAAO,CAAA;IACxB,IAAI,OAAO,IAAI,KAAK,GAAG,SAAS,CAAA;IAChC,IAAI,UAAU,IAAI,aAAa,GAAG,SAAS,CAAA;IAC3C,IAAI,KAAK,IAAI,cAAc,GAAG,SAAS,CAAA;CACxC"}
@@ -0,0 +1,33 @@
1
+ import * as THREE from 'three';
2
+ import type Component from '../../components/component.js';
3
+ export type AnchorPin = 'top' | 'center' | 'bottom';
4
+ export interface AnchorOffset {
5
+ x?: number;
6
+ y?: number;
7
+ z?: number;
8
+ }
9
+ /**
10
+ * 3D 공간 내 컴포넌트에 대한 앵커 월드 좌표를 해석한다.
11
+ *
12
+ * - `'center'`: object3d 의 matrixWorld translation (월드 원점)
13
+ * - `'top'` / `'bottom'`: object3d bbox 의 `max.y` / `min.y` 에 위치한
14
+ * 중앙점 — mesh 가 차지하는 실제 영역의 위/아래 끝
15
+ * - bbox 가 비어있을 때 (line/anchorless 등): matrixWorld translation 으로 fallback
16
+ *
17
+ * 반환된 Vector3 에 `offset.{x,y,z}` 를 더한다. target 에 `_realObject.object3d`
18
+ * 가 없거나 결과 좌표가 non-finite 면 `null` 을 반환.
19
+ *
20
+ * 사용 예 (Tooltip3D / Popup3D 공통):
21
+ * ```ts
22
+ * const anchor = resolveAnchorWorldPosition(target, 'top', { y: 50 })
23
+ * if (!anchor) return // skip render
24
+ * const screenPt = projectToScreen(target, anchor.x, anchor.y) // or pass as world coord
25
+ * ```
26
+ *
27
+ * @param target 앵커를 잡을 컴포넌트
28
+ * @param pin 앵커 위치 (default 'top')
29
+ * @param offset 월드 좌표 추가 오프셋 (default {})
30
+ * @param out 결과를 담을 Vector3 (default 새 Vector3) — GC 회피용
31
+ */
32
+ export declare function resolveAnchorWorldPosition(target: Component, pin?: AnchorPin, offset?: AnchorOffset, out?: THREE.Vector3): THREE.Vector3 | null;
33
+ //# sourceMappingURL=anchor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../../../src/threed/utils/anchor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEnD,MAAM,WAAW,YAAY;IAC3B,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;CACX;AAKD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,EACjB,GAAG,GAAE,SAAiB,EACtB,MAAM,GAAE,YAAiB,EACzB,GAAG,GAAE,KAAK,CAAC,OAA6B,GACvC,KAAK,CAAC,OAAO,GAAG,IAAI,CA8BtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"dispose.d.ts","sourceRoot":"","sources":["../../../src/threed/utils/dispose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAwB9B,wBAAgB,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,QAQlD"}
1
+ {"version":3,"file":"dispose.d.ts","sourceRoot":"","sources":["../../../src/threed/utils/dispose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAwB9B,wBAAgB,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,QAmBlD"}
@@ -0,0 +1,21 @@
1
+ import * as THREE from 'three';
2
+ import { type PolygonPathPoint } from '../../types/polygon-path.js';
3
+ export interface BuildShapeOptions {
4
+ /** 코너 라운드 fallback (per-vertex radius 없을 때). default 0. */
5
+ round?: number;
6
+ /** 곡선/라운드 sampling 분할 수. default 24. */
7
+ divisions?: number;
8
+ }
9
+ /**
10
+ * PolygonPath 를 THREE.Shape 로 변환.
11
+ *
12
+ * - 모든 path 점이 직선 + radius 0 + bulge 0 → moveTo/lineTo 만의 단순 polygon
13
+ * - 코너 라운드 (radius) 또는 호 (bulge) 가 하나라도 있으면 → THREE.Path 로
14
+ * quadraticCurveTo / absarc 구성 후 `getPoints(divisions)` 로 polyline 화
15
+ * 해서 Shape 생성 (ExtrudeGeometry UV 호환성 — Three.js 곡선 처리의 mesh
16
+ * center / UV 불일치 회피 패턴, polygon factory 와 동일)
17
+ *
18
+ * 빈 path / 단일 점 → empty Shape.
19
+ */
20
+ export declare function buildShapeFromPolygonPath(path: PolygonPathPoint[] | undefined | null, options?: BuildShapeOptions): THREE.Shape;
21
+ //# sourceMappingURL=polygon-shape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polygon-shape.d.ts","sourceRoot":"","sources":["../../../src/threed/utils/polygon-shape.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAA;AAEpC,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,gBAAgB,EAAE,GAAG,SAAS,GAAG,IAAI,EAC3C,OAAO,GAAE,iBAAsB,GAC9B,KAAK,CAAC,KAAK,CAiEb"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Tether — 3D 앵커와 화면상 패널 사이를 잇는 곡선 SVG 연결선.
3
+ *
4
+ * Tooltip3D / Popup (3D-anchor) 공통 자산. 사용 흐름:
5
+ *
6
+ * 1. `buildTether(host)` — SVG + path + halo + dot 생성, host 에 append
7
+ * 2. 매 redraw (또는 위치 변경 시):
8
+ * `updateTether(elements, ax, ay, panelLeft, panelTop, panelW, panelH, color, alpha, viewW, viewH)`
9
+ * - 앵커 (ax, ay) 와 패널 영역에서 가장 가까운 모서리 중앙을 잇는 베지어 곡선
10
+ * - halo (앵커 주변 흐릿한 원), dot (앵커 점) 포함
11
+ * 3. 앵커 화면 밖 / 비활성화 시: `clearTether(elements)`
12
+ * 4. 컴포넌트 dispose 시: `disposeTether(elements)`
13
+ *
14
+ * 모든 좌표는 같은 좌표계 (host element 의 viewport 픽셀) 라고 가정.
15
+ * SVG viewBox 는 `0 0 viewW viewH` 로 매 호출마다 재설정 → 호스트 크기 변동에
16
+ * 자동 적응.
17
+ */
18
+ export interface TetherElements {
19
+ svg: SVGSVGElement;
20
+ path: SVGPathElement;
21
+ halo: SVGCircleElement;
22
+ dot: SVGCircleElement;
23
+ }
24
+ /**
25
+ * SVG 연결선 요소를 생성하고 host 에 append. host 는 panel/캔버스와 같은 좌표계의
26
+ * always-visible 컨테이너 (예: `layer.target`).
27
+ *
28
+ * 초기 opacity=0 + CSS transition 을 걸어두어 caller 가 다음 RAF tick 에 opacity=1
29
+ * 로 set 하면 자연스럽게 fade-in. 닫을 때 svg.style.opacity='0' 으로 set 하면 같은
30
+ * transition 으로 fade-out. popup 의 fadeIn / fadeOut (200ms) 와 매칭.
31
+ */
32
+ export declare function buildTether(host: HTMLElement): TetherElements;
33
+ /**
34
+ * 곡선 + 마커를 갱신. 앵커 (ax, ay) 와 패널 영역에서 가장 가까운 모서리 중앙을
35
+ * 베지어 곡선으로 연결. 모든 좌표 단위: viewport 픽셀.
36
+ */
37
+ export declare function updateTether(elements: TetherElements, anchorX: number, anchorY: number, panelLeft: number, panelTop: number, panelWidth: number, panelHeight: number, color: string, alpha: number, viewWidth: number, viewHeight: number): void;
38
+ /**
39
+ * 곡선/마커를 시각적으로 비활성화. 요소 자체는 보존 (재활성화 가능).
40
+ */
41
+ export declare function clearTether(elements: TetherElements): void;
42
+ /**
43
+ * 요소 자체를 DOM 에서 제거 (컴포넌트 dispose 시).
44
+ */
45
+ export declare function disposeTether(elements: TetherElements): void;
46
+ //# sourceMappingURL=tether.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tether.d.ts","sourceRoot":"","sources":["../../../src/threed/utils/tether.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,aAAa,CAAA;IAClB,IAAI,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,gBAAgB,CAAA;IACtB,GAAG,EAAE,gBAAgB,CAAA;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,cAAc,CA0B7D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,IAAI,CAkCN;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAI1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAE5D"}