@hatiolab/things-scene 10.0.0-beta.9 → 10.0.0-beta.90

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 (274) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/dist-types/animation/animate.d.ts.map +1 -1
  3. package/dist-types/animation/animations/animation.d.ts.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/command/command-migrate.d.ts.map +1 -1
  11. package/dist-types/command/snapshot-commander.d.ts.map +1 -1
  12. package/dist-types/components/audio.d.ts.map +1 -1
  13. package/dist-types/components/component-data.d.ts +24 -0
  14. package/dist-types/components/component-data.d.ts.map +1 -1
  15. package/dist-types/components/component.d.ts +5 -0
  16. package/dist-types/components/component.d.ts.map +1 -1
  17. package/dist-types/components/container-abstract.d.ts +34 -1
  18. package/dist-types/components/container-abstract.d.ts.map +1 -1
  19. package/dist-types/components/container.d.ts +1 -1
  20. package/dist-types/components/container.d.ts.map +1 -1
  21. package/dist-types/components/data/data.d.ts.map +1 -1
  22. package/dist-types/components/drawer/fill.d.ts.map +1 -1
  23. package/dist-types/components/drawer/stroke.d.ts.map +1 -1
  24. package/dist-types/components/generic-placeholders.d.ts +287 -0
  25. package/dist-types/components/generic-placeholders.d.ts.map +1 -0
  26. package/dist-types/components/geometry/snap-guide.d.ts +45 -0
  27. package/dist-types/components/geometry/snap-guide.d.ts.map +1 -0
  28. package/dist-types/components/geometry/transcoord.d.ts.map +1 -1
  29. package/dist-types/components/global-ref.d.ts.map +1 -1
  30. package/dist-types/components/group.d.ts +1 -0
  31. package/dist-types/components/group.d.ts.map +1 -1
  32. package/dist-types/components/html/shadow.d.ts +33 -1
  33. package/dist-types/components/html/shadow.d.ts.map +1 -1
  34. package/dist-types/components/html-overlay-container.d.ts +1 -1
  35. package/dist-types/components/html-overlay-container.d.ts.map +1 -1
  36. package/dist-types/components/html-overlay-element.d.ts.map +1 -1
  37. package/dist-types/components/image-view.d.ts.map +1 -1
  38. package/dist-types/components/index.d.ts +6 -0
  39. package/dist-types/components/index.d.ts.map +1 -1
  40. package/dist-types/components/line.d.ts +2 -1
  41. package/dist-types/components/line.d.ts.map +1 -1
  42. package/dist-types/components/mixins/gltf-component.d.ts +276 -0
  43. package/dist-types/components/mixins/gltf-component.d.ts.map +1 -0
  44. package/dist-types/components/mixins/html-element.d.ts.map +1 -1
  45. package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
  46. package/dist-types/components/mixins/three-d-only.d.ts +243 -0
  47. package/dist-types/components/mixins/three-d-only.d.ts.map +1 -0
  48. package/dist-types/components/mixins/value-holder.d.ts.map +1 -1
  49. package/dist-types/components/mutater/path.d.ts.map +1 -1
  50. package/dist-types/components/popup-container.d.ts +25 -0
  51. package/dist-types/components/popup-container.d.ts.map +1 -0
  52. package/dist-types/components/popup.d.ts +30 -0
  53. package/dist-types/components/popup.d.ts.map +1 -1
  54. package/dist-types/components/position/popup-position.d.ts +11 -0
  55. package/dist-types/components/position/popup-position.d.ts.map +1 -1
  56. package/dist-types/components/root-container.d.ts +11 -4
  57. package/dist-types/components/root-container.d.ts.map +1 -1
  58. package/dist-types/components/service-component.d.ts +264 -0
  59. package/dist-types/components/service-component.d.ts.map +1 -0
  60. package/dist-types/decorator/decorator-registry.d.ts +4 -0
  61. package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
  62. package/dist-types/decorator/decorators/animated-icon-decorator.d.ts.map +1 -1
  63. package/dist-types/decorator/decorators/data-spread-decorator.d.ts +16 -0
  64. package/dist-types/decorator/decorators/data-spread-decorator.d.ts.map +1 -1
  65. package/dist-types/diagnostics/data-lag-tracker.d.ts +44 -0
  66. package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -0
  67. package/dist-types/diagnostics/inspector.d.ts +14 -4
  68. package/dist-types/diagnostics/inspector.d.ts.map +1 -1
  69. package/dist-types/diagnostics/load-tracker.d.ts +82 -0
  70. package/dist-types/diagnostics/load-tracker.d.ts.map +1 -0
  71. package/dist-types/diagnostics/loading-overlay.d.ts +41 -0
  72. package/dist-types/diagnostics/loading-overlay.d.ts.map +1 -0
  73. package/dist-types/effect/shadow.d.ts +3 -1
  74. package/dist-types/effect/shadow.d.ts.map +1 -1
  75. package/dist-types/event-map/index.d.ts +1 -0
  76. package/dist-types/event-map/index.d.ts.map +1 -1
  77. package/dist-types/event-map/transition-handler.d.ts +2 -0
  78. package/dist-types/event-map/transition-handler.d.ts.map +1 -0
  79. package/dist-types/interfaces/providers.d.ts +20 -3
  80. package/dist-types/interfaces/providers.d.ts.map +1 -1
  81. package/dist-types/interfaces/rendering.d.ts +86 -14
  82. package/dist-types/interfaces/rendering.d.ts.map +1 -1
  83. package/dist-types/layer/action/popup.d.ts +13 -0
  84. package/dist-types/layer/action/popup.d.ts.map +1 -1
  85. package/dist-types/layer/dual-canvas-layer.d.ts.map +1 -1
  86. package/dist-types/layer/index.d.ts +1 -0
  87. package/dist-types/layer/index.d.ts.map +1 -1
  88. package/dist-types/layer/layer.d.ts +1 -0
  89. package/dist-types/layer/layer.d.ts.map +1 -1
  90. package/dist-types/layer/model-layer.d.ts +53 -7
  91. package/dist-types/layer/model-layer.d.ts.map +1 -1
  92. package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
  93. package/dist-types/layer/modeling-layer.d.ts.map +1 -1
  94. package/dist-types/layer/selection/selected-finder.d.ts +1 -1
  95. package/dist-types/layer/selection/selected-finder.d.ts.map +1 -1
  96. package/dist-types/layer/selection-layer.d.ts.map +1 -1
  97. package/dist-types/layer/snap-guide-layer.d.ts +23 -0
  98. package/dist-types/layer/snap-guide-layer.d.ts.map +1 -0
  99. package/dist-types/search/index.d.ts +3 -0
  100. package/dist-types/search/index.d.ts.map +1 -0
  101. package/dist-types/search/scene-search-engine.d.ts +65 -0
  102. package/dist-types/search/scene-search-engine.d.ts.map +1 -0
  103. package/dist-types/search/search-overlay.d.ts +69 -0
  104. package/dist-types/search/search-overlay.d.ts.map +1 -0
  105. package/dist-types/things-scene/api/align.d.ts.map +1 -1
  106. package/dist-types/things-scene/api/distribute.d.ts.map +1 -1
  107. package/dist-types/things-scene/api/place.d.ts.map +1 -1
  108. package/dist-types/things-scene/application-context.d.ts +43 -0
  109. package/dist-types/things-scene/application-context.d.ts.map +1 -1
  110. package/dist-types/things-scene/create.d.ts +38 -3
  111. package/dist-types/things-scene/create.d.ts.map +1 -1
  112. package/dist-types/things-scene/index.d.ts +10 -0
  113. package/dist-types/things-scene/index.d.ts.map +1 -1
  114. package/dist-types/things-scene/scene.d.ts +64 -1
  115. package/dist-types/things-scene/scene.d.ts.map +1 -1
  116. package/dist-types/threed/arrow-3d.d.ts +13 -4
  117. package/dist-types/threed/arrow-3d.d.ts.map +1 -1
  118. package/dist-types/threed/environments/base-environment.d.ts +9 -0
  119. package/dist-types/threed/environments/base-environment.d.ts.map +1 -0
  120. package/dist-types/threed/environments/cloudy-environment.d.ts +10 -0
  121. package/dist-types/threed/environments/cloudy-environment.d.ts.map +1 -0
  122. package/dist-types/threed/environments/factory-environment.d.ts +2 -3
  123. package/dist-types/threed/environments/factory-environment.d.ts.map +1 -1
  124. package/dist-types/threed/environments/home-environment.d.ts +2 -3
  125. package/dist-types/threed/environments/home-environment.d.ts.map +1 -1
  126. package/dist-types/threed/environments/office-environment.d.ts +2 -3
  127. package/dist-types/threed/environments/office-environment.d.ts.map +1 -1
  128. package/dist-types/threed/environments/rainy-environment.d.ts +10 -0
  129. package/dist-types/threed/environments/rainy-environment.d.ts.map +1 -0
  130. package/dist-types/threed/environments/studio-environment.d.ts +2 -3
  131. package/dist-types/threed/environments/studio-environment.d.ts.map +1 -1
  132. package/dist-types/threed/environments/sunny-environment.d.ts +10 -0
  133. package/dist-types/threed/environments/sunny-environment.d.ts.map +1 -0
  134. package/dist-types/threed/environments/warehouse-environment.d.ts +2 -3
  135. package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -1
  136. package/dist-types/threed/factories/backdrop.d.ts +525 -0
  137. package/dist-types/threed/factories/backdrop.d.ts.map +1 -0
  138. package/dist-types/threed/factories/banner.d.ts +35 -34
  139. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  140. package/dist-types/threed/factories/camera.d.ts +34 -33
  141. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  142. package/dist-types/threed/factories/cube.d.ts +34 -33
  143. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  144. package/dist-types/threed/factories/cylinder.d.ts +1 -0
  145. package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
  146. package/dist-types/threed/factories/decal.d.ts +502 -0
  147. package/dist-types/threed/factories/decal.d.ts.map +1 -0
  148. package/dist-types/threed/factories/floor-plate.d.ts +10 -0
  149. package/dist-types/threed/factories/floor-plate.d.ts.map +1 -0
  150. package/dist-types/threed/factories/gltf-object.d.ts +286 -68
  151. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  152. package/dist-types/threed/factories/group.d.ts +2 -0
  153. package/dist-types/threed/factories/group.d.ts.map +1 -0
  154. package/dist-types/threed/factories/light.d.ts +1 -0
  155. package/dist-types/threed/factories/light.d.ts.map +1 -1
  156. package/dist-types/threed/factories/line.d.ts +10 -0
  157. package/dist-types/threed/factories/line.d.ts.map +1 -0
  158. package/dist-types/threed/factories/ortholine.d.ts +10 -0
  159. package/dist-types/threed/factories/ortholine.d.ts.map +1 -0
  160. package/dist-types/threed/factories/polygon.d.ts.map +1 -1
  161. package/dist-types/threed/factories/polyline.d.ts +10 -0
  162. package/dist-types/threed/factories/polyline.d.ts.map +1 -0
  163. package/dist-types/threed/factories/rect.d.ts.map +1 -1
  164. package/dist-types/threed/factories/sphere.d.ts +6 -0
  165. package/dist-types/threed/factories/sphere.d.ts.map +1 -1
  166. package/dist-types/threed/factories/sprite.d.ts +34 -33
  167. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  168. package/dist-types/threed/factories/triangle.d.ts.map +1 -1
  169. package/dist-types/threed/factories/wall.d.ts +34 -33
  170. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  171. package/dist-types/threed/floor/floor.d.ts.map +1 -1
  172. package/dist-types/threed/handle-3d.d.ts +21 -0
  173. package/dist-types/threed/handle-3d.d.ts.map +1 -0
  174. package/dist-types/threed/html/elements.d.ts.map +1 -1
  175. package/dist-types/threed/index.d.ts +20 -0
  176. package/dist-types/threed/index.d.ts.map +1 -1
  177. package/dist-types/threed/managers/box-selection-manager.d.ts +26 -0
  178. package/dist-types/threed/managers/box-selection-manager.d.ts.map +1 -0
  179. package/dist-types/threed/managers/camera-bookmark-manager.d.ts +127 -0
  180. package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -0
  181. package/dist-types/threed/managers/camera-manager.d.ts +9 -3
  182. package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
  183. package/dist-types/threed/managers/controls-manager.d.ts +25 -4
  184. package/dist-types/threed/managers/controls-manager.d.ts.map +1 -1
  185. package/dist-types/threed/managers/event-manager3d.d.ts +8 -0
  186. package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
  187. package/dist-types/threed/managers/gizmo-manager.d.ts +6 -0
  188. package/dist-types/threed/managers/gizmo-manager.d.ts.map +1 -1
  189. package/dist-types/threed/managers/gizmo-operation-manager.d.ts +55 -1
  190. package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
  191. package/dist-types/threed/managers/index.d.ts +3 -0
  192. package/dist-types/threed/managers/index.d.ts.map +1 -1
  193. package/dist-types/threed/managers/interaction-manager.d.ts +17 -0
  194. package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
  195. package/dist-types/threed/managers/light-manager.d.ts +15 -0
  196. package/dist-types/threed/managers/light-manager.d.ts.map +1 -1
  197. package/dist-types/threed/managers/renderer-manager.d.ts +37 -0
  198. package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
  199. package/dist-types/threed/managers/scene-manager.d.ts +6 -2
  200. package/dist-types/threed/managers/scene-manager.d.ts.map +1 -1
  201. package/dist-types/threed/managers/types.d.ts +5 -2
  202. package/dist-types/threed/managers/types.d.ts.map +1 -1
  203. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts +109 -0
  204. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -0
  205. package/dist-types/threed/material-3d.d.ts +5 -2
  206. package/dist-types/threed/material-3d.d.ts.map +1 -1
  207. package/dist-types/threed/ratio-lock-utils.d.ts +9 -0
  208. package/dist-types/threed/ratio-lock-utils.d.ts.map +1 -0
  209. package/dist-types/threed/real-object-dom-element.d.ts +1 -0
  210. package/dist-types/threed/real-object-dom-element.d.ts.map +1 -1
  211. package/dist-types/threed/real-object-dom-texture.d.ts +9 -0
  212. package/dist-types/threed/real-object-dom-texture.d.ts.map +1 -1
  213. package/dist-types/threed/real-object-external-model.d.ts +24 -0
  214. package/dist-types/threed/real-object-external-model.d.ts.map +1 -0
  215. package/dist-types/threed/real-object-extrude.d.ts +6 -0
  216. package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
  217. package/dist-types/threed/real-object-gltf.d.ts +42 -12
  218. package/dist-types/threed/real-object-gltf.d.ts.map +1 -1
  219. package/dist-types/threed/real-object-group.d.ts +2 -0
  220. package/dist-types/threed/real-object-group.d.ts.map +1 -1
  221. package/dist-types/threed/real-object-line.d.ts +83 -0
  222. package/dist-types/threed/real-object-line.d.ts.map +1 -0
  223. package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
  224. package/dist-types/threed/real-object-plane-2d.d.ts +23 -0
  225. package/dist-types/threed/real-object-plane-2d.d.ts.map +1 -1
  226. package/dist-types/threed/real-object-service.d.ts +14 -0
  227. package/dist-types/threed/real-object-service.d.ts.map +1 -0
  228. package/dist-types/threed/real-object-sprite.d.ts +7 -1
  229. package/dist-types/threed/real-object-sprite.d.ts.map +1 -1
  230. package/dist-types/threed/real-object-text.d.ts +3 -0
  231. package/dist-types/threed/real-object-text.d.ts.map +1 -1
  232. package/dist-types/threed/real-object.d.ts +131 -6
  233. package/dist-types/threed/real-object.d.ts.map +1 -1
  234. package/dist-types/threed/text-editor-3d.d.ts +11 -0
  235. package/dist-types/threed/text-editor-3d.d.ts.map +1 -0
  236. package/dist-types/threed/texture/canvas-texture.d.ts +7 -0
  237. package/dist-types/threed/texture/canvas-texture.d.ts.map +1 -1
  238. package/dist-types/threed/texture/fillstyle-texture.d.ts +46 -0
  239. package/dist-types/threed/texture/fillstyle-texture.d.ts.map +1 -0
  240. package/dist-types/threed/texture/text-texture.d.ts +15 -0
  241. package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
  242. package/dist-types/threed/three-capability.d.ts +142 -6
  243. package/dist-types/threed/three-capability.d.ts.map +1 -1
  244. package/dist-types/threed/three-container.d.ts +0 -1
  245. package/dist-types/threed/three-container.d.ts.map +1 -1
  246. package/dist-types/threed/three-dimensional-container.d.ts +0 -1
  247. package/dist-types/threed/three-dimensional-container.d.ts.map +1 -1
  248. package/dist-types/threed/utils/anchor.d.ts +33 -0
  249. package/dist-types/threed/utils/anchor.d.ts.map +1 -0
  250. package/dist-types/threed/utils/dispose.d.ts.map +1 -1
  251. package/dist-types/threed/utils/tether.d.ts +46 -0
  252. package/dist-types/threed/utils/tether.d.ts.map +1 -0
  253. package/dist-types/transfer/centering-slot-strategy.d.ts +8 -0
  254. package/dist-types/transfer/centering-slot-strategy.d.ts.map +1 -0
  255. package/dist-types/transfer/container-capacity.d.ts +42 -0
  256. package/dist-types/transfer/container-capacity.d.ts.map +1 -0
  257. package/dist-types/transfer/fixed-slot-strategy.d.ts +8 -0
  258. package/dist-types/transfer/fixed-slot-strategy.d.ts.map +1 -0
  259. package/dist-types/transfer/index.d.ts +7 -0
  260. package/dist-types/transfer/index.d.ts.map +1 -0
  261. package/dist-types/transfer/simulation-clock.d.ts +45 -0
  262. package/dist-types/transfer/simulation-clock.d.ts.map +1 -0
  263. package/dist-types/transfer/types.d.ts +285 -0
  264. package/dist-types/transfer/types.d.ts.map +1 -0
  265. package/dist-types/transition/transition-effect.d.ts +91 -0
  266. package/dist-types/transition/transition-effect.d.ts.map +1 -0
  267. package/dist-types/types/bounding.d.ts +1 -1
  268. package/dist-types/types/bounding.d.ts.map +1 -1
  269. package/package.json +12 -1
  270. package/things-scene-min.js +12 -13
  271. package/things-scene-min.js.map +1 -1
  272. package/things-scene-transfer.mjs +1 -0
  273. package/things-scene.mjs +8 -9
  274. package/things-scene.mjs.map +1 -1
@@ -106,7 +106,7 @@ declare const Sprite_base: {
106
106
  draw(context?: import("../../index.js").SceneRenderContext): void;
107
107
  prerender(context: import("../../index.js").SceneRenderContext): void;
108
108
  postrender(context: import("../../index.js").SceneRenderContext): void;
109
- prepare(resolve: (component: import("../../index.js").Component) => void, reject: (reason: any) => void): void;
109
+ prepare(resolve: (component: import("../../components/component.js").default) => void, reject: (reason: any) => void): void;
110
110
  prepareIf(condition: boolean): void;
111
111
  drawText(context: import("../../index.js").SceneRenderContext): void;
112
112
  drawStroke(context: import("../../index.js").SceneRenderContext, override?: Record<string, unknown>): void;
@@ -157,16 +157,16 @@ declare const Sprite_base: {
157
157
  get started(): boolean;
158
158
  set started(v: boolean);
159
159
  get controls(): import("../../index.js").Control[] | undefined;
160
- findFirst(finder: string | ((c: import("../../index.js").Component) => boolean), ...others: any[]): import("../../index.js").Component | undefined;
161
- findAll(s: string | ((c: import("../../index.js").Component) => boolean), ...others: any[]): any[] | undefined;
162
- capture(x: number, y: number, except?: (c: import("../../index.js").Component) => boolean): any;
160
+ findFirst(finder: string | ((c: import("../../components/component.js").default) => boolean), ...others: any[]): import("../../components/component.js").default | undefined;
161
+ findAll(s: string | ((c: import("../../components/component.js").default) => boolean), ...others: any[]): any[] | undefined;
162
+ capture(x: number, y: number, except?: (c: import("../../components/component.js").default) => boolean): any;
163
163
  findAnchor(name: string): any;
164
- isDescendible(container: import("../../index.js").Component): boolean;
164
+ isDescendible(container: import("../../components/component.js").default): boolean;
165
165
  getContext(component?: unknown): any;
166
- get root(): import("../../index.js").Component;
167
- get rootModel(): import("../../index.js").Component;
168
- get parent(): import("../../index.js").Component;
169
- set parent(v: import("../../index.js").Component);
166
+ get root(): import("../../components/component.js").default;
167
+ get rootModel(): import("../../components/component.js").default;
168
+ get parent(): import("../../components/component.js").default;
169
+ set parent(v: import("../../components/component.js").default);
170
170
  get scalable(): boolean;
171
171
  get stuck(): boolean;
172
172
  get capturable(): boolean;
@@ -191,20 +191,20 @@ declare const Sprite_base: {
191
191
  ondropfile(transfered: FileList, files: string[]): void;
192
192
  transcoordS2P(x: number, y: number, rp?: import("../../index.js").POINT): import("../../index.js").POINT;
193
193
  transcoordP2S(x: number, y: number, rp?: import("../../index.js").POINT): import("../../index.js").POINT;
194
- transcoordS2T(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
195
- transcoordT2P(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
196
- transcoordT2S(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
197
- transcoordS2TR(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
198
- transcoordS2O(x: number, y: number, target: import("../../index.js").Component): import("../../index.js").POINT;
199
- transcoordC2S(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
200
- transcoordS2C(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
194
+ transcoordS2T(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
195
+ transcoordT2P(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
196
+ transcoordT2S(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
197
+ transcoordS2TR(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
198
+ transcoordS2O(x: number, y: number, target: import("../../components/component.js").default): import("../../index.js").POINT;
199
+ transcoordC2S(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
200
+ transcoordS2C(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
201
201
  toParent(x: number, y: number, rp?: import("../../index.js").POINT): import("../../index.js").POINT;
202
202
  fromParent(x: number, y: number, rp?: import("../../index.js").POINT): import("../../index.js").POINT;
203
- toScene(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
204
- fromScene(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
205
- toLocal(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
206
- toGlobal(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
207
- toOther(x: number, y: number, target: import("../../index.js").Component): import("../../index.js").POINT;
203
+ toScene(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
204
+ fromScene(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
205
+ toLocal(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
206
+ toGlobal(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
207
+ toOther(x: number, y: number, target: import("../../components/component.js").default): import("../../index.js").POINT;
208
208
  on(name: string | object, callback: Function, context?: any): /*elided*/ any;
209
209
  off(name?: string | object, callback?: Function, context?: any): /*elided*/ any;
210
210
  once(name: string | object, callback: Function, context?: any): /*elided*/ any;
@@ -214,24 +214,24 @@ declare const Sprite_base: {
214
214
  onchange(after: Record<string, any>, before: Record<string, any>): void;
215
215
  calculateBounds?(): void;
216
216
  oncreate_element?(element: HTMLElement): void;
217
- removeComponent(component: import("../../index.js").Component, ghost?: boolean): void;
218
- addComponent(component: import("../../index.js").Component, ghost?: boolean): void;
219
- insertComponentAt(component: import("../../index.js").Component, index: number, ghost?: boolean): void;
220
- getOverlay(component: import("../../index.js").Component): HTMLElement | undefined;
221
- findById(id: string): import("../../index.js").Component | undefined;
222
- findByRefid(ref: string | number): import("../../index.js").Component | undefined;
223
- findAllById(id: string): import("../../index.js").Component[];
217
+ removeComponent(component: import("../../components/component.js").default, ghost?: boolean): void;
218
+ addComponent(component: import("../../components/component.js").default, ghost?: boolean): void;
219
+ insertComponentAt(component: import("../../components/component.js").default, index: number, ghost?: boolean): void;
220
+ getOverlay(component: import("../../components/component.js").default): HTMLElement | undefined;
221
+ findById(id: string): import("../../components/component.js").default | undefined;
222
+ findByRefid(ref: string | number): import("../../components/component.js").default | undefined;
223
+ findAllById(id: string): import("../../components/component.js").default[];
224
224
  resize(): void;
225
225
  fit(type?: string): void;
226
- get components(): import("../../index.js").Component[] | undefined;
226
+ get components(): import("../../components/component.js").default[] | undefined;
227
227
  get layout(): any;
228
228
  get auxOverlay(): HTMLElement | undefined;
229
229
  get isReady(): boolean;
230
230
  get unitScale(): number;
231
- get selected(): import("../../index.js").Component[];
232
- set selected(_v: import("../../index.js").Component[]);
233
- get focused(): import("../../index.js").Component | null;
234
- set focused(_v: import("../../index.js").Component | null);
231
+ get selected(): import("../../components/component.js").default[];
232
+ set selected(_v: import("../../components/component.js").default[]);
233
+ get focused(): import("../../components/component.js").default | null;
234
+ set focused(_v: import("../../components/component.js").default | null);
235
235
  get hasSameParentForAllSelected(): boolean;
236
236
  set hasSameParentForAllSelected(_v: boolean);
237
237
  get fitMode(): string | undefined;
@@ -241,6 +241,7 @@ declare const Sprite_base: {
241
241
  };
242
242
  } & typeof Shape;
243
243
  export declare class Sprite extends Sprite_base {
244
+ get hasTextProperty(): boolean;
244
245
  is3dish(): boolean;
245
246
  buildRealObject(): IRealObject | undefined;
246
247
  get nature(): ComponentNature;
@@ -1 +1 @@
1
- {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/sprite.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAY7C,qBACa,MAAO,SAAQ,WAAe;IACzC,OAAO,IAAI,OAAO;IAIlB,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;CACF"}
1
+ {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/sprite.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAY7C,qBACa,MAAO,SAAQ,WAAe;IACzC,IAAI,eAAe,YAAmB;IACtC,OAAO,IAAI,OAAO;IAIlB,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"triangle.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/triangle.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAG7D,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,IAAI,KAAK,gBAUR;CACF"}
1
+ {"version":3,"file":"triangle.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/triangle.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAG7D,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,IAAI,KAAK,gBAyCR;CACF"}
@@ -110,7 +110,7 @@ declare const Wall_base: {
110
110
  draw(context?: import("../../index.js").SceneRenderContext): void;
111
111
  prerender(context: import("../../index.js").SceneRenderContext): void;
112
112
  postrender(context: import("../../index.js").SceneRenderContext): void;
113
- prepare(resolve: (component: import("../../index.js").Component) => void, reject: (reason: any) => void): void;
113
+ prepare(resolve: (component: import("../../components/component.js").default) => void, reject: (reason: any) => void): void;
114
114
  prepareIf(condition: boolean): void;
115
115
  drawText(context: import("../../index.js").SceneRenderContext): void;
116
116
  drawStroke(context: import("../../index.js").SceneRenderContext, override?: Record<string, unknown>): void;
@@ -161,16 +161,16 @@ declare const Wall_base: {
161
161
  get started(): boolean;
162
162
  set started(v: boolean);
163
163
  get controls(): import("../../index.js").Control[] | undefined;
164
- findFirst(finder: string | ((c: import("../../index.js").Component) => boolean), ...others: any[]): import("../../index.js").Component | undefined;
165
- findAll(s: string | ((c: import("../../index.js").Component) => boolean), ...others: any[]): any[] | undefined;
166
- capture(x: number, y: number, except?: (c: import("../../index.js").Component) => boolean): any;
164
+ findFirst(finder: string | ((c: import("../../components/component.js").default) => boolean), ...others: any[]): import("../../components/component.js").default | undefined;
165
+ findAll(s: string | ((c: import("../../components/component.js").default) => boolean), ...others: any[]): any[] | undefined;
166
+ capture(x: number, y: number, except?: (c: import("../../components/component.js").default) => boolean): any;
167
167
  findAnchor(name: string): any;
168
- isDescendible(container: import("../../index.js").Component): boolean;
168
+ isDescendible(container: import("../../components/component.js").default): boolean;
169
169
  getContext(component?: unknown): any;
170
- get root(): import("../../index.js").Component;
171
- get rootModel(): import("../../index.js").Component;
172
- get parent(): import("../../index.js").Component;
173
- set parent(v: import("../../index.js").Component);
170
+ get root(): import("../../components/component.js").default;
171
+ get rootModel(): import("../../components/component.js").default;
172
+ get parent(): import("../../components/component.js").default;
173
+ set parent(v: import("../../components/component.js").default);
174
174
  get scalable(): boolean;
175
175
  get stuck(): boolean;
176
176
  get capturable(): boolean;
@@ -195,20 +195,20 @@ declare const Wall_base: {
195
195
  ondropfile(transfered: FileList, files: string[]): void;
196
196
  transcoordS2P(x: number, y: number, rp?: import("../../index.js").POINT): import("../../index.js").POINT;
197
197
  transcoordP2S(x: number, y: number, rp?: import("../../index.js").POINT): import("../../index.js").POINT;
198
- transcoordS2T(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
199
- transcoordT2P(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
200
- transcoordT2S(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
201
- transcoordS2TR(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
202
- transcoordS2O(x: number, y: number, target: import("../../index.js").Component): import("../../index.js").POINT;
203
- transcoordC2S(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
204
- transcoordS2C(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
198
+ transcoordS2T(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
199
+ transcoordT2P(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
200
+ transcoordT2S(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
201
+ transcoordS2TR(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
202
+ transcoordS2O(x: number, y: number, target: import("../../components/component.js").default): import("../../index.js").POINT;
203
+ transcoordC2S(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
204
+ transcoordS2C(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
205
205
  toParent(x: number, y: number, rp?: import("../../index.js").POINT): import("../../index.js").POINT;
206
206
  fromParent(x: number, y: number, rp?: import("../../index.js").POINT): import("../../index.js").POINT;
207
- toScene(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
208
- fromScene(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
209
- toLocal(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
210
- toGlobal(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
211
- toOther(x: number, y: number, target: import("../../index.js").Component): import("../../index.js").POINT;
207
+ toScene(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
208
+ fromScene(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
209
+ toLocal(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
210
+ toGlobal(x: number, y: number, top?: import("../../components/component.js").default): import("../../index.js").POINT;
211
+ toOther(x: number, y: number, target: import("../../components/component.js").default): import("../../index.js").POINT;
212
212
  on(name: string | object, callback: Function, context?: any): /*elided*/ any;
213
213
  off(name?: string | object, callback?: Function, context?: any): /*elided*/ any;
214
214
  once(name: string | object, callback: Function, context?: any): /*elided*/ any;
@@ -218,24 +218,24 @@ declare const Wall_base: {
218
218
  onchange(after: Record<string, any>, before: Record<string, any>): void;
219
219
  calculateBounds?(): void;
220
220
  oncreate_element?(element: HTMLElement): void;
221
- removeComponent(component: import("../../index.js").Component, ghost?: boolean): void;
222
- addComponent(component: import("../../index.js").Component, ghost?: boolean): void;
223
- insertComponentAt(component: import("../../index.js").Component, index: number, ghost?: boolean): void;
224
- getOverlay(component: import("../../index.js").Component): HTMLElement | undefined;
225
- findById(id: string): import("../../index.js").Component | undefined;
226
- findByRefid(ref: string | number): import("../../index.js").Component | undefined;
227
- findAllById(id: string): import("../../index.js").Component[];
221
+ removeComponent(component: import("../../components/component.js").default, ghost?: boolean): void;
222
+ addComponent(component: import("../../components/component.js").default, ghost?: boolean): void;
223
+ insertComponentAt(component: import("../../components/component.js").default, index: number, ghost?: boolean): void;
224
+ getOverlay(component: import("../../components/component.js").default): HTMLElement | undefined;
225
+ findById(id: string): import("../../components/component.js").default | undefined;
226
+ findByRefid(ref: string | number): import("../../components/component.js").default | undefined;
227
+ findAllById(id: string): import("../../components/component.js").default[];
228
228
  resize(): void;
229
229
  fit(type?: string): void;
230
- get components(): import("../../index.js").Component[] | undefined;
230
+ get components(): import("../../components/component.js").default[] | undefined;
231
231
  get layout(): any;
232
232
  get auxOverlay(): HTMLElement | undefined;
233
233
  get isReady(): boolean;
234
234
  get unitScale(): number;
235
- get selected(): import("../../index.js").Component[];
236
- set selected(_v: import("../../index.js").Component[]);
237
- get focused(): import("../../index.js").Component | null;
238
- set focused(_v: import("../../index.js").Component | null);
235
+ get selected(): import("../../components/component.js").default[];
236
+ set selected(_v: import("../../components/component.js").default[]);
237
+ get focused(): import("../../components/component.js").default | null;
238
+ set focused(_v: import("../../components/component.js").default | null);
239
239
  get hasSameParentForAllSelected(): boolean;
240
240
  set hasSameParentForAllSelected(_v: boolean);
241
241
  get fitMode(): string | undefined;
@@ -245,6 +245,7 @@ declare const Wall_base: {
245
245
  };
246
246
  } & typeof Shape;
247
247
  export declare class Wall extends Wall_base {
248
+ get hasTextProperty(): boolean;
248
249
  is3dish(): boolean;
249
250
  buildRealObject(): IRealObject | undefined;
250
251
  get nature(): ComponentNature;
@@ -1 +1 @@
1
- {"version":3,"file":"wall.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/wall.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAiBvD,qBAAa,MAAO,SAAQ,cAAc;IACxC,aAAa;CAQd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,IAAK,SAAQ,SAAe;IACvC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;CACF"}
1
+ {"version":3,"file":"wall.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/wall.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAiBvD,qBAAa,MAAO,SAAQ,cAAc;IACxC,aAAa;CAQd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,IAAK,SAAQ,SAAe;IACvC,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"floor.d.ts","sourceRoot":"","sources":["../../../src/threed/floor/floor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAe1D,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC,IAAI,GAAG,SAAS,CAuDxE"}
1
+ {"version":3,"file":"floor.d.ts","sourceRoot":"","sources":["../../../src/threed/floor/floor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAqB1D,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC,IAAI,GAAG,SAAS,CAuExE"}
@@ -0,0 +1,21 @@
1
+ import * as THREE from 'three';
2
+ import type Component from '../components/component.js';
3
+ export interface SelectionHandleOptions {
4
+ /** Sphere radius (scene units). Default 5. */
5
+ size?: number;
6
+ /** Diffuse color (hex int). Default 0x44aacc (cyan). */
7
+ color?: number;
8
+ /** Emissive accent color (hex int). Default 0x224466. */
9
+ emissive?: number;
10
+ /** Position relative to parent. Default [0, 0, 0]. */
11
+ position?: [number, number, number];
12
+ /** Initial visibility. Default = `component.app.isEditMode`. */
13
+ visible?: boolean;
14
+ }
15
+ /**
16
+ * Creates a small handle mesh suitable for selecting an otherwise non-
17
+ * raycastable 3D component. Returns the mesh — caller adds it to their
18
+ * scene-graph root (typically `this.object3d.add(handle)`).
19
+ */
20
+ export declare function createSelectionHandle3D(component: Component, options?: SelectionHandleOptions): THREE.Mesh;
21
+ //# sourceMappingURL=handle-3d.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-3d.d.ts","sourceRoot":"","sources":["../../src/threed/handle-3d.ts"],"names":[],"mappings":"AAwDA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAEvD,MAAM,WAAW,sBAAsB;IACrC,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAWD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,sBAA2B,GACnC,KAAK,CAAC,IAAI,CAsDZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../../src/threed/html/elements.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,QAWpB,CAAA;AAEJ,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAS7E"}
1
+ {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../../src/threed/html/elements.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,WAAW,QAAsB,CAAA;AAE9C,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAS7E"}
@@ -15,6 +15,13 @@ import './factories/camera.js';
15
15
  import './factories/gltf-object.js';
16
16
  import './factories/light.js';
17
17
  import './factories/wall.js';
18
+ import './factories/floor-plate.js';
19
+ import './factories/decal.js';
20
+ import './factories/backdrop.js';
21
+ import './factories/line.js';
22
+ import './factories/polyline.js';
23
+ import './factories/ortholine.js';
24
+ import './factories/group.js';
18
25
  export * from './common.js';
19
26
  export * from './interfaces.js';
20
27
  export * from './material-3d.js';
@@ -26,6 +33,7 @@ export * from './real-object-extrude.js';
26
33
  export * from './real-object-camera.js';
27
34
  export * from './real-object-dom-element.js';
28
35
  export * from './real-object-dom-texture.js';
36
+ export * from './real-object-external-model.js';
29
37
  export * from './real-object-gltf.js';
30
38
  export * from './real-object-group.js';
31
39
  export * from './real-object-mesh.js';
@@ -34,6 +42,7 @@ export * from './real-object-scene.js';
34
42
  export * from './real-object-sprite-2d.js';
35
43
  export * from './real-object-plane-2d.js';
36
44
  export * from './real-object-sprite.js';
45
+ export * from './real-object-service.js';
37
46
  export * from './real-object-text.js';
38
47
  export { EllipseExtrude } from './factories/ellipse.js';
39
48
  export { RectExtrude } from './factories/rect.js';
@@ -50,14 +59,25 @@ export { Camera3D, Camera } from './factories/camera.js';
50
59
  export { GLTFObject } from './factories/gltf-object.js';
51
60
  export { LightObject, PointLight } from './factories/light.js';
52
61
  export { Wall3D, Wall } from './factories/wall.js';
62
+ export { FloorPlate } from './factories/floor-plate.js';
63
+ export { Line3D } from './factories/line.js';
64
+ export { Polyline3D } from './factories/polyline.js';
65
+ export { OrthoLine3D } from './factories/ortholine.js';
66
+ export * from './real-object-line.js';
53
67
  export { ThreeCapability } from './three-capability.js';
54
68
  export type { ThreeCapabilityHost } from './three-capability.js';
55
69
  export { ThreeContainer } from './three-container.js';
56
70
  export * from './managers/index.js';
57
71
  export { buildArrow3D } from './arrow-3d.js';
58
72
  export type { ArrowStyle3D, TipType, TipSize, LineDash } from './arrow-3d.js';
73
+ export { createSelectionHandle3D } from './handle-3d.js';
74
+ export type { SelectionHandleOptions } from './handle-3d.js';
59
75
  export { disposeObject3D } from './utils/dispose.js';
60
76
  export { projectToScreen } from './utils/project.js';
77
+ export { resolveAnchorWorldPosition } from './utils/anchor.js';
78
+ export type { AnchorPin, AnchorOffset } from './utils/anchor.js';
79
+ export { buildTether, updateTether, clearTether, disposeTether } from './utils/tether.js';
80
+ export type { TetherElements } from './utils/tether.js';
61
81
  export { createCanvasTexture, renderCanvasTexture } from './texture/canvas-texture.js';
62
82
  export { textTexture, textBounds, drawTextTexture, fontStyle } from './texture/text-texture.js';
63
83
  export { createCanvas, PIXEL_RATIO } from './html/elements.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/threed/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/threed/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import * as THREE from 'three';
2
+ import Component from '../../components/component.js';
3
+ /**
4
+ * 3D 편집 모드에서 Space+드래그로 사각형 영역 선택을 지원하는 매니저.
5
+ *
6
+ * DOM 오버레이로 선택 사각형을 표시하고, 각 오브젝트의 3D 위치를
7
+ * 카메라로 투영하여 사각형 내에 있는 오브젝트를 선택한다.
8
+ */
9
+ export declare class BoxSelectionManager {
10
+ private _overlay;
11
+ private _hostElement;
12
+ private _startX;
13
+ private _startY;
14
+ private _currentX;
15
+ private _currentY;
16
+ private _active;
17
+ get isActive(): boolean;
18
+ setup(hostElement: HTMLElement): void;
19
+ startSelection(x: number, y: number): void;
20
+ updateSelection(x: number, y: number): void;
21
+ endSelection(camera: THREE.Camera, scene: THREE.Scene, components: Component[]): Component[];
22
+ cancelSelection(): void;
23
+ destroy(): void;
24
+ private _updateOverlay;
25
+ }
26
+ //# sourceMappingURL=box-selection-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"box-selection-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/box-selection-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,SAAS,MAAM,+BAA+B,CAAA;AAGrD;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,OAAO,CAAQ;IAEvB,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAIrC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAsB1C,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAO3C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;IAwD5F,eAAe,IAAI,IAAI;IAQvB,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,cAAc;CAavB"}
@@ -0,0 +1,127 @@
1
+ import * as THREE from 'three';
2
+ export type EasingType = 'ease-in-out' | 'ease-in' | 'ease-out' | 'linear';
3
+ export interface SplineContext {
4
+ prevPos: THREE.Vector3;
5
+ nextPos: THREE.Vector3;
6
+ }
7
+ export interface CameraBookmark {
8
+ name?: string;
9
+ position: {
10
+ x: number;
11
+ y: number;
12
+ z: number;
13
+ };
14
+ target: {
15
+ x: number;
16
+ y: number;
17
+ z: number;
18
+ };
19
+ /** 이 슬롯에서 머무르는 시간 (ms, 기본 2000) */
20
+ holdDuration?: number;
21
+ /** 이 슬롯으로 이동하는 전환 시간 (ms, 기본 1200) */
22
+ transitionDuration?: number;
23
+ /** 전환 이징 함수 (기본 ease-in-out) */
24
+ easing?: EasingType;
25
+ /** 재생 목록에서 제외 */
26
+ excludeFromPlay?: boolean;
27
+ }
28
+ export declare class CameraBookmarkManager {
29
+ private _slots;
30
+ private _animating;
31
+ private _animationId?;
32
+ private _animationProgress;
33
+ private _playStartOffset;
34
+ private _lastPlayProgress;
35
+ private _playIndex;
36
+ private _playing;
37
+ private _orbitRotating;
38
+ private _orbitPaused;
39
+ private _onInvalidate?;
40
+ private _onAnimationComplete?;
41
+ get isAnimating(): boolean;
42
+ get isPlaying(): boolean;
43
+ get isOrbitRotating(): boolean;
44
+ get isOrbitPaused(): boolean;
45
+ get playIndex(): number;
46
+ get lastPlayProgress(): number;
47
+ /**
48
+ * 전체 경로 진행률 0~1 (재생 중: 세그먼트 + 세그먼트 내 진행률)
49
+ */
50
+ get playProgress(): number;
51
+ setCallbacks(onInvalidate: () => void, onAnimationComplete?: () => void): void;
52
+ /**
53
+ * 슬롯에 카메라 위치를 저장한다.
54
+ * bookmark에 name 프로퍼티가 없으면 기존 이름을 보존한다 (카메라 위치만 갱신).
55
+ * name 프로퍼티가 있으면 (undefined 포함) 그대로 사용한다 (리오더 등).
56
+ */
57
+ saveSlot(index: number, bookmark: CameraBookmark): void;
58
+ renameSlot(index: number, name: string): void;
59
+ clearSlot(index: number): void;
60
+ getSlot(index: number): CameraBookmark | undefined;
61
+ exportSlots(): (CameraBookmark | null)[];
62
+ importSlots(data: (CameraBookmark | null | undefined)[]): void;
63
+ resetAll(): void;
64
+ getPlayableSlots(): number[];
65
+ swapSlots(a: number, b: number): void;
66
+ moveSlot(from: number, to: number): void;
67
+ /**
68
+ * 카메라를 슬롯 위치로 애니메이션 이동한다.
69
+ * splineContext가 제공되면 Catmull-Rom 곡선으로 보간, 없으면 직선+slerp.
70
+ */
71
+ animateToSlot(index: number, camera: THREE.PerspectiveCamera, controls: {
72
+ target: THREE.Vector3;
73
+ restoreTarget(t: THREE.Vector3): void;
74
+ update(): boolean;
75
+ }, duration?: number, splineContext?: SplineContext): boolean;
76
+ /**
77
+ * evaluatePath를 따라 fromT→targetT 구간을 애니메이션한다 (부분 세그먼트 resume용).
78
+ */
79
+ private _animatePathSegment;
80
+ /**
81
+ * 공통 rAF 애니메이션 루프. onFrame에 eased progress를 전달한다.
82
+ */
83
+ private _runAnimation;
84
+ /**
85
+ * progress 값으로부터 playIndex와 playStartOffset을 계산한다.
86
+ */
87
+ private _initFromProgress;
88
+ /**
89
+ * playOrder 기준 순회 플레이. excludeFromPlay 슬롯은 건너뛴다.
90
+ * 3개 이상 슬롯이면 Catmull-Rom 스플라인으로 곡선 경로를 따른다.
91
+ */
92
+ startPlay(camera: THREE.PerspectiveCamera, controls: {
93
+ target: THREE.Vector3;
94
+ restoreTarget(t: THREE.Vector3): void;
95
+ update(): boolean;
96
+ }, defaultHold?: number, defaultTransition?: number, startFromProgress?: number, fromBeginning?: boolean): void;
97
+ /**
98
+ * 현재 재생 상태에 맞는 SplineContext를 생성한다.
99
+ */
100
+ private _buildSplineContext;
101
+ /**
102
+ * 슬롯 인덱스에 해당하는 경로상 진행률을 _lastPlayProgress에 설정한다.
103
+ */
104
+ setProgressForSlot(slotIndex: number): void;
105
+ stopPlay(): void;
106
+ /** stopPlay + lastPlayProgress 초기화 (모드 전환 시 사용) */
107
+ resetPlay(): void;
108
+ toggleOrbitRotation(controls: {
109
+ isAutoRotating(): boolean;
110
+ setAutoRotate(enabled: boolean): void;
111
+ }): void;
112
+ /** 모드 전환(P키 등)에서 사용 — orbit 완전 초기화 */
113
+ stopOrbitRotation(controls: {
114
+ setAutoRotate(enabled: boolean): void;
115
+ }): void;
116
+ /**
117
+ * 전체 재생 경로의 t∈[0,1] 지점에서의 카메라 position/target을 계산한다.
118
+ * 3개 이상 슬롯이면 Catmull-Rom 스플라인(루프), 2개면 직선 보간.
119
+ */
120
+ evaluatePath(t: number): {
121
+ position: THREE.Vector3;
122
+ target: THREE.Vector3;
123
+ } | null;
124
+ stopAnimation(): void;
125
+ destroy(): void;
126
+ }
127
+ //# sourceMappingURL=camera-bookmark-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"camera-bookmark-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/camera-bookmark-manager.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@ export declare class CameraManager {
9
9
  get camera(): THREE.PerspectiveCamera | undefined;
10
10
  get activeCamera(): THREE.Camera;
11
11
  get activeView(): CameraViewName;
12
- get zoom(): number | undefined;
13
12
  get cameraZPos(): number;
14
13
  setup(width: number, height: number, config: CameraConfig): THREE.PerspectiveCamera;
15
14
  addToScene(scene: THREE.Scene): void;
@@ -19,12 +18,19 @@ export declare class CameraManager {
19
18
  * 직교 투영 카메라로 특정 뷰를 설정한다.
20
19
  * Top/Front/Back/Right/Left — 원근법 없는 정사영 뷰.
21
20
  */
22
- setOrthoView(view: CameraViewName, width: number, height: number): THREE.OrthographicCamera;
21
+ setOrthoView(view: CameraViewName, width: number, height: number, viewportWidth?: number, viewportHeight?: number): THREE.OrthographicCamera;
23
22
  /**
24
23
  * Perspective 카메라로 복귀한다.
25
24
  */
26
25
  restorePerspective(): THREE.PerspectiveCamera;
27
- private _updateOrthoFrustum;
26
+ /**
27
+ * 직교 카메라 frustum을 업데이트한다.
28
+ * @param sceneWidth 씬 모델 너비
29
+ * @param sceneHeight 씬 모델 높이
30
+ * @param viewportWidth 실제 뷰포트 너비 (옵션)
31
+ * @param viewportHeight 실제 뷰포트 높이 (옵션)
32
+ */
33
+ updateOrthoFrustum(sceneWidth: number, sceneHeight: number, viewportWidth?: number, viewportHeight?: number): void;
28
34
  destroy(): void;
29
35
  }
30
36
  //# sourceMappingURL=camera-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"camera-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/camera-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;AAExF,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,YAAY,CAAC,CAA0B;IAC/C,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,WAAW,CAAY;IAE/B,IAAI,MAAM,wCAET;IAED,IAAI,YAAY,IAAI,KAAK,CAAC,MAAM,CAK/B;IAED,IAAI,UAAU,IAAI,cAAc,CAE/B;IAED,IAAI,IAAI,uBAEP;IAED,IAAI,UAAU,WAEb;IAED,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;IAsBzD,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK;IAK7B,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAU1C,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IAW9C;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,kBAAkB;IAyC3F;;OAEG;IACH,kBAAkB,IAAI,KAAK,CAAC,iBAAiB;IAK7C,OAAO,CAAC,mBAAmB;IAW3B,OAAO;CAKR"}
1
+ {"version":3,"file":"camera-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/camera-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;AAExF,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,YAAY,CAAC,CAA0B;IAC/C,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,WAAW,CAAY;IAE/B,IAAI,MAAM,wCAET;IAED,IAAI,YAAY,IAAI,KAAK,CAAC,MAAM,CAK/B;IAED,IAAI,UAAU,IAAI,cAAc,CAE/B;IAED,IAAI,UAAU,WAEb;IAED,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;IA+BzD,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK;IAK7B,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAgB1C,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IAU9C;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,kBAAkB;IAyC5I;;OAEG;IACH,kBAAkB,IAAI,KAAK,CAAC,iBAAiB;IAK7C;;;;;;OAMG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;IAyB3G,OAAO;CAKR"}