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

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 (281) 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.map +1 -1
  20. package/dist-types/components/data/data.d.ts.map +1 -1
  21. package/dist-types/components/drawer/fill.d.ts.map +1 -1
  22. package/dist-types/components/drawer/stroke.d.ts.map +1 -1
  23. package/dist-types/components/generic-placeholders.d.ts +287 -0
  24. package/dist-types/components/generic-placeholders.d.ts.map +1 -0
  25. package/dist-types/components/geometry/snap-guide.d.ts +45 -0
  26. package/dist-types/components/geometry/snap-guide.d.ts.map +1 -0
  27. package/dist-types/components/geometry/transcoord.d.ts.map +1 -1
  28. package/dist-types/components/global-ref.d.ts.map +1 -1
  29. package/dist-types/components/group.d.ts +1 -0
  30. package/dist-types/components/group.d.ts.map +1 -1
  31. package/dist-types/components/html/shadow.d.ts +33 -1
  32. package/dist-types/components/html/shadow.d.ts.map +1 -1
  33. package/dist-types/components/html-overlay-container.d.ts.map +1 -1
  34. package/dist-types/components/html-overlay-element.d.ts.map +1 -1
  35. package/dist-types/components/image-view.d.ts.map +1 -1
  36. package/dist-types/components/index.d.ts +6 -0
  37. package/dist-types/components/index.d.ts.map +1 -1
  38. package/dist-types/components/line.d.ts +2 -1
  39. package/dist-types/components/line.d.ts.map +1 -1
  40. package/dist-types/components/mixins/gltf-component.d.ts +276 -0
  41. package/dist-types/components/mixins/gltf-component.d.ts.map +1 -0
  42. package/dist-types/components/mixins/html-element.d.ts.map +1 -1
  43. package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
  44. package/dist-types/components/mixins/three-d-only.d.ts +243 -0
  45. package/dist-types/components/mixins/three-d-only.d.ts.map +1 -0
  46. package/dist-types/components/mixins/value-holder.d.ts.map +1 -1
  47. package/dist-types/components/mutater/path.d.ts.map +1 -1
  48. package/dist-types/components/popup-container.d.ts +25 -0
  49. package/dist-types/components/popup-container.d.ts.map +1 -0
  50. package/dist-types/components/popup.d.ts +30 -0
  51. package/dist-types/components/popup.d.ts.map +1 -1
  52. package/dist-types/components/position/popup-position.d.ts +11 -0
  53. package/dist-types/components/position/popup-position.d.ts.map +1 -1
  54. package/dist-types/components/root-container.d.ts +11 -4
  55. package/dist-types/components/root-container.d.ts.map +1 -1
  56. package/dist-types/components/service-component.d.ts +264 -0
  57. package/dist-types/components/service-component.d.ts.map +1 -0
  58. package/dist-types/decorator/decorator-registry.d.ts +4 -0
  59. package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
  60. package/dist-types/decorator/decorators/animated-icon-decorator.d.ts.map +1 -1
  61. package/dist-types/decorator/decorators/data-spread-decorator.d.ts +16 -0
  62. package/dist-types/decorator/decorators/data-spread-decorator.d.ts.map +1 -1
  63. package/dist-types/diagnostics/data-lag-tracker.d.ts +44 -0
  64. package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -0
  65. package/dist-types/diagnostics/inspector.d.ts +14 -4
  66. package/dist-types/diagnostics/inspector.d.ts.map +1 -1
  67. package/dist-types/diagnostics/load-tracker.d.ts +82 -0
  68. package/dist-types/diagnostics/load-tracker.d.ts.map +1 -0
  69. package/dist-types/diagnostics/loading-overlay.d.ts +41 -0
  70. package/dist-types/diagnostics/loading-overlay.d.ts.map +1 -0
  71. package/dist-types/effect/shadow.d.ts +3 -1
  72. package/dist-types/effect/shadow.d.ts.map +1 -1
  73. package/dist-types/event-map/index.d.ts +1 -0
  74. package/dist-types/event-map/index.d.ts.map +1 -1
  75. package/dist-types/event-map/transition-handler.d.ts +2 -0
  76. package/dist-types/event-map/transition-handler.d.ts.map +1 -0
  77. package/dist-types/interfaces/layout.d.ts +35 -1
  78. package/dist-types/interfaces/layout.d.ts.map +1 -1
  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/layout/absolute.d.ts +2 -2
  100. package/dist-types/layout/card.d.ts +2 -2
  101. package/dist-types/layout/linear-horizontal.d.ts +2 -2
  102. package/dist-types/layout/linear-vertical.d.ts +2 -2
  103. package/dist-types/layout/table.d.ts +3 -3
  104. package/dist-types/search/index.d.ts +3 -0
  105. package/dist-types/search/index.d.ts.map +1 -0
  106. package/dist-types/search/scene-search-engine.d.ts +65 -0
  107. package/dist-types/search/scene-search-engine.d.ts.map +1 -0
  108. package/dist-types/search/search-overlay.d.ts +69 -0
  109. package/dist-types/search/search-overlay.d.ts.map +1 -0
  110. package/dist-types/things-scene/api/align.d.ts.map +1 -1
  111. package/dist-types/things-scene/api/distribute.d.ts.map +1 -1
  112. package/dist-types/things-scene/api/place.d.ts.map +1 -1
  113. package/dist-types/things-scene/application-context.d.ts +43 -0
  114. package/dist-types/things-scene/application-context.d.ts.map +1 -1
  115. package/dist-types/things-scene/create.d.ts +38 -3
  116. package/dist-types/things-scene/create.d.ts.map +1 -1
  117. package/dist-types/things-scene/index.d.ts +9 -0
  118. package/dist-types/things-scene/index.d.ts.map +1 -1
  119. package/dist-types/things-scene/scene.d.ts +64 -1
  120. package/dist-types/things-scene/scene.d.ts.map +1 -1
  121. package/dist-types/threed/arrow-3d.d.ts +13 -4
  122. package/dist-types/threed/arrow-3d.d.ts.map +1 -1
  123. package/dist-types/threed/environments/base-environment.d.ts +9 -0
  124. package/dist-types/threed/environments/base-environment.d.ts.map +1 -0
  125. package/dist-types/threed/environments/cloudy-environment.d.ts +10 -0
  126. package/dist-types/threed/environments/cloudy-environment.d.ts.map +1 -0
  127. package/dist-types/threed/environments/factory-environment.d.ts +2 -3
  128. package/dist-types/threed/environments/factory-environment.d.ts.map +1 -1
  129. package/dist-types/threed/environments/home-environment.d.ts +2 -3
  130. package/dist-types/threed/environments/home-environment.d.ts.map +1 -1
  131. package/dist-types/threed/environments/office-environment.d.ts +2 -3
  132. package/dist-types/threed/environments/office-environment.d.ts.map +1 -1
  133. package/dist-types/threed/environments/rainy-environment.d.ts +10 -0
  134. package/dist-types/threed/environments/rainy-environment.d.ts.map +1 -0
  135. package/dist-types/threed/environments/studio-environment.d.ts +2 -3
  136. package/dist-types/threed/environments/studio-environment.d.ts.map +1 -1
  137. package/dist-types/threed/environments/sunny-environment.d.ts +10 -0
  138. package/dist-types/threed/environments/sunny-environment.d.ts.map +1 -0
  139. package/dist-types/threed/environments/warehouse-environment.d.ts +2 -3
  140. package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -1
  141. package/dist-types/threed/factories/backdrop.d.ts +525 -0
  142. package/dist-types/threed/factories/backdrop.d.ts.map +1 -0
  143. package/dist-types/threed/factories/banner.d.ts +2 -1
  144. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  145. package/dist-types/threed/factories/camera.d.ts +1 -0
  146. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  147. package/dist-types/threed/factories/cube.d.ts +1 -0
  148. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  149. package/dist-types/threed/factories/cylinder.d.ts +1 -0
  150. package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
  151. package/dist-types/threed/factories/decal.d.ts +502 -0
  152. package/dist-types/threed/factories/decal.d.ts.map +1 -0
  153. package/dist-types/threed/factories/floor-plate.d.ts +10 -0
  154. package/dist-types/threed/factories/floor-plate.d.ts.map +1 -0
  155. package/dist-types/threed/factories/gltf-object.d.ts +253 -35
  156. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  157. package/dist-types/threed/factories/group.d.ts +2 -0
  158. package/dist-types/threed/factories/group.d.ts.map +1 -0
  159. package/dist-types/threed/factories/light.d.ts +1 -0
  160. package/dist-types/threed/factories/light.d.ts.map +1 -1
  161. package/dist-types/threed/factories/line.d.ts +10 -0
  162. package/dist-types/threed/factories/line.d.ts.map +1 -0
  163. package/dist-types/threed/factories/ortholine.d.ts +10 -0
  164. package/dist-types/threed/factories/ortholine.d.ts.map +1 -0
  165. package/dist-types/threed/factories/polygon.d.ts.map +1 -1
  166. package/dist-types/threed/factories/polyline.d.ts +10 -0
  167. package/dist-types/threed/factories/polyline.d.ts.map +1 -0
  168. package/dist-types/threed/factories/rect.d.ts.map +1 -1
  169. package/dist-types/threed/factories/sphere.d.ts +6 -0
  170. package/dist-types/threed/factories/sphere.d.ts.map +1 -1
  171. package/dist-types/threed/factories/sprite.d.ts +1 -0
  172. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  173. package/dist-types/threed/factories/triangle.d.ts.map +1 -1
  174. package/dist-types/threed/factories/wall.d.ts +1 -0
  175. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  176. package/dist-types/threed/floor/floor.d.ts.map +1 -1
  177. package/dist-types/threed/handle-3d.d.ts +21 -0
  178. package/dist-types/threed/handle-3d.d.ts.map +1 -0
  179. package/dist-types/threed/html/elements.d.ts.map +1 -1
  180. package/dist-types/threed/index.d.ts +20 -0
  181. package/dist-types/threed/index.d.ts.map +1 -1
  182. package/dist-types/threed/managers/box-selection-manager.d.ts +26 -0
  183. package/dist-types/threed/managers/box-selection-manager.d.ts.map +1 -0
  184. package/dist-types/threed/managers/camera-bookmark-manager.d.ts +127 -0
  185. package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -0
  186. package/dist-types/threed/managers/camera-manager.d.ts +9 -3
  187. package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
  188. package/dist-types/threed/managers/controls-manager.d.ts +25 -4
  189. package/dist-types/threed/managers/controls-manager.d.ts.map +1 -1
  190. package/dist-types/threed/managers/event-manager3d.d.ts +8 -0
  191. package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
  192. package/dist-types/threed/managers/gizmo-manager.d.ts +6 -0
  193. package/dist-types/threed/managers/gizmo-manager.d.ts.map +1 -1
  194. package/dist-types/threed/managers/gizmo-operation-manager.d.ts +55 -1
  195. package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
  196. package/dist-types/threed/managers/index.d.ts +3 -0
  197. package/dist-types/threed/managers/index.d.ts.map +1 -1
  198. package/dist-types/threed/managers/interaction-manager.d.ts +17 -0
  199. package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
  200. package/dist-types/threed/managers/light-manager.d.ts +15 -0
  201. package/dist-types/threed/managers/light-manager.d.ts.map +1 -1
  202. package/dist-types/threed/managers/renderer-manager.d.ts +37 -0
  203. package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
  204. package/dist-types/threed/managers/scene-manager.d.ts +6 -2
  205. package/dist-types/threed/managers/scene-manager.d.ts.map +1 -1
  206. package/dist-types/threed/managers/types.d.ts +5 -2
  207. package/dist-types/threed/managers/types.d.ts.map +1 -1
  208. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts +109 -0
  209. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -0
  210. package/dist-types/threed/material-3d.d.ts +5 -2
  211. package/dist-types/threed/material-3d.d.ts.map +1 -1
  212. package/dist-types/threed/ratio-lock-utils.d.ts +9 -0
  213. package/dist-types/threed/ratio-lock-utils.d.ts.map +1 -0
  214. package/dist-types/threed/real-object-dom-element.d.ts +1 -0
  215. package/dist-types/threed/real-object-dom-element.d.ts.map +1 -1
  216. package/dist-types/threed/real-object-dom-texture.d.ts +9 -0
  217. package/dist-types/threed/real-object-dom-texture.d.ts.map +1 -1
  218. package/dist-types/threed/real-object-external-model.d.ts +24 -0
  219. package/dist-types/threed/real-object-external-model.d.ts.map +1 -0
  220. package/dist-types/threed/real-object-extrude.d.ts +6 -0
  221. package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
  222. package/dist-types/threed/real-object-gltf.d.ts +42 -12
  223. package/dist-types/threed/real-object-gltf.d.ts.map +1 -1
  224. package/dist-types/threed/real-object-group.d.ts +2 -0
  225. package/dist-types/threed/real-object-group.d.ts.map +1 -1
  226. package/dist-types/threed/real-object-line.d.ts +83 -0
  227. package/dist-types/threed/real-object-line.d.ts.map +1 -0
  228. package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
  229. package/dist-types/threed/real-object-plane-2d.d.ts +23 -0
  230. package/dist-types/threed/real-object-plane-2d.d.ts.map +1 -1
  231. package/dist-types/threed/real-object-service.d.ts +14 -0
  232. package/dist-types/threed/real-object-service.d.ts.map +1 -0
  233. package/dist-types/threed/real-object-sprite.d.ts +7 -1
  234. package/dist-types/threed/real-object-sprite.d.ts.map +1 -1
  235. package/dist-types/threed/real-object-text.d.ts +3 -0
  236. package/dist-types/threed/real-object-text.d.ts.map +1 -1
  237. package/dist-types/threed/real-object.d.ts +131 -6
  238. package/dist-types/threed/real-object.d.ts.map +1 -1
  239. package/dist-types/threed/text-editor-3d.d.ts +11 -0
  240. package/dist-types/threed/text-editor-3d.d.ts.map +1 -0
  241. package/dist-types/threed/texture/canvas-texture.d.ts +7 -0
  242. package/dist-types/threed/texture/canvas-texture.d.ts.map +1 -1
  243. package/dist-types/threed/texture/fillstyle-texture.d.ts +46 -0
  244. package/dist-types/threed/texture/fillstyle-texture.d.ts.map +1 -0
  245. package/dist-types/threed/texture/text-texture.d.ts +15 -0
  246. package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
  247. package/dist-types/threed/three-capability.d.ts +142 -6
  248. package/dist-types/threed/three-capability.d.ts.map +1 -1
  249. package/dist-types/threed/three-container.d.ts +0 -1
  250. package/dist-types/threed/three-container.d.ts.map +1 -1
  251. package/dist-types/threed/three-dimensional-container.d.ts +0 -1
  252. package/dist-types/threed/three-dimensional-container.d.ts.map +1 -1
  253. package/dist-types/threed/utils/anchor.d.ts +33 -0
  254. package/dist-types/threed/utils/anchor.d.ts.map +1 -0
  255. package/dist-types/threed/utils/dispose.d.ts.map +1 -1
  256. package/dist-types/threed/utils/tether.d.ts +46 -0
  257. package/dist-types/threed/utils/tether.d.ts.map +1 -0
  258. package/dist-types/transfer/centering-slot-strategy.d.ts +8 -0
  259. package/dist-types/transfer/centering-slot-strategy.d.ts.map +1 -0
  260. package/dist-types/transfer/container-capacity.d.ts +42 -0
  261. package/dist-types/transfer/container-capacity.d.ts.map +1 -0
  262. package/dist-types/transfer/fixed-slot-strategy.d.ts +8 -0
  263. package/dist-types/transfer/fixed-slot-strategy.d.ts.map +1 -0
  264. package/dist-types/transfer/index.d.ts +7 -0
  265. package/dist-types/transfer/index.d.ts.map +1 -0
  266. package/dist-types/transfer/simulation-clock.d.ts +45 -0
  267. package/dist-types/transfer/simulation-clock.d.ts.map +1 -0
  268. package/dist-types/transfer/types.d.ts +285 -0
  269. package/dist-types/transfer/types.d.ts.map +1 -0
  270. package/dist-types/transition/transition-effect.d.ts +91 -0
  271. package/dist-types/transition/transition-effect.d.ts.map +1 -0
  272. package/dist-types/types/bounding.d.ts +1 -1
  273. package/dist-types/types/bounding.d.ts.map +1 -1
  274. package/dist-types/types/component.d.ts +6 -177
  275. package/dist-types/types/component.d.ts.map +1 -1
  276. package/package.json +12 -1
  277. package/things-scene-min.js +12 -13
  278. package/things-scene-min.js.map +1 -1
  279. package/things-scene-transfer.mjs +1 -0
  280. package/things-scene.mjs +8 -9
  281. package/things-scene.mjs.map +1 -1
@@ -0,0 +1,23 @@
1
+ import type { SnapResult } from '../components/geometry/snap-guide.js';
2
+ import Layer from './layer.js';
3
+ export default class SnapGuideLayer extends Layer {
4
+ private _snapResult;
5
+ get pointerEvents(): string;
6
+ get capturable(): boolean;
7
+ contains(_x: number, _y: number): boolean;
8
+ get snapResult(): SnapResult | null;
9
+ set snapResult(result: SnapResult | null);
10
+ clear(): void;
11
+ get eventMap(): {
12
+ '(root)': {
13
+ 'model-layer': {
14
+ change: (after: any) => void;
15
+ };
16
+ };
17
+ };
18
+ onchange_root_model(after: any): void;
19
+ private syncTransform;
20
+ ready(): Promise<void>;
21
+ render(ctx: CanvasRenderingContext2D): void;
22
+ }
23
+ //# sourceMappingURL=snap-guide-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snap-guide-layer.d.ts","sourceRoot":"","sources":["../../src/layer/snap-guide-layer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AAEtE,OAAO,KAAK,MAAM,YAAY,CAAA;AAM9B,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,KAAK;IAC/C,OAAO,CAAC,WAAW,CAA0B;IAE7C,IAAI,aAAa,WAEhB;IAED,IAAI,UAAU,YAEb;IAED,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAI/B,IAAI,UAAU,IAAI,UAAU,GAAG,IAAI,CAElC;IAED,IAAI,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,EAGvC;IAED,KAAK;IAOL,IAAI,QAAQ;;;gCAUe,GAAG;;;MAF7B;IAED,mBAAmB,CAAC,KAAK,EAAE,GAAG;IAM9B,OAAO,CAAC,aAAa;IAUf,KAAK;IAKX,MAAM,CAAC,GAAG,EAAE,wBAAwB;CA4BrC"}
@@ -2,8 +2,8 @@ import type { LAYOUT } from '../interfaces/layout.js';
2
2
  import type { Component, Container } from '../types/component.js';
3
3
  declare class AbsoluteLayout implements LAYOUT {
4
4
  reflow(container: Container, component?: Component): void;
5
- capturables(container: Container): Component[];
6
- drawables(container: Container): Component[];
5
+ capturables(container: Container): import("../index.js").Component[];
6
+ drawables(container: Container): import("../index.js").Component[];
7
7
  isStuck(component: Component): boolean;
8
8
  ABSOLUTE: boolean;
9
9
  }
@@ -2,8 +2,8 @@ import type { LAYOUT } from '../interfaces/layout.js';
2
2
  import type { Component, Container } from '../types/component.js';
3
3
  declare class CardLayout implements LAYOUT {
4
4
  reflow(container: Container): void;
5
- capturables(container: Container): Component[];
6
- drawables(container: Container): Component[];
5
+ capturables(container: Container): import("../index.js").Component[];
6
+ drawables(container: Container): import("../index.js").Component[];
7
7
  isStuck(component: Component): boolean;
8
8
  }
9
9
  declare const cardLayout: CardLayout;
@@ -2,8 +2,8 @@ import type { LAYOUT } from '../interfaces/layout.js';
2
2
  import type { Component, Container } from '../types/component.js';
3
3
  declare class LinearHorizontal implements LAYOUT {
4
4
  reflow(container: Container): void;
5
- capturables(container: Container): Component[];
6
- drawables(container: Container): Component[];
5
+ capturables(container: Container): import("../index.js").Component[];
6
+ drawables(container: Container): import("../index.js").Component[];
7
7
  isStuck(component: Component): boolean;
8
8
  }
9
9
  declare const linearHorizontal: LinearHorizontal;
@@ -2,8 +2,8 @@ import type { LAYOUT } from '../interfaces/layout.js';
2
2
  import type { Component, Container } from '../types/component.js';
3
3
  declare class LinearVertical implements LAYOUT {
4
4
  reflow(container: Container): void;
5
- capturables(container: Container): Component[];
6
- drawables(container: Container): Component[];
5
+ capturables(container: Container): import("../index.js").Component[];
6
+ drawables(container: Container): import("../index.js").Component[];
7
7
  isStuck(component: Component): boolean;
8
8
  }
9
9
  declare const linearVertical: LinearVertical;
@@ -2,10 +2,10 @@ import type { LAYOUT } from '../interfaces/layout.js';
2
2
  import type { Component, Container } from '../types/component.js';
3
3
  declare class TableLayout implements LAYOUT {
4
4
  reflow(container: Container): void;
5
- capturables(container: Container): Component[];
6
- drawables(container: Container): Component[];
5
+ capturables(container: Container): import("../index.js").Component[];
6
+ drawables(container: Container): import("../index.js").Component[];
7
7
  isStuck(component: Component): boolean;
8
- keyNavigate(container: Container, component: Component, e: KeyboardEvent): Component | undefined;
8
+ keyNavigate(container: Container, component: Component, e: KeyboardEvent): import("../index.js").Component | undefined;
9
9
  joinType: boolean;
10
10
  }
11
11
  declare const tableLayout: TableLayout;
@@ -0,0 +1,3 @@
1
+ export { SceneSearchEngine, type SearchResult, type SearchOptions } from './scene-search-engine.js';
2
+ export { SearchOverlay, type SearchOverlayHost } from './search-overlay.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACnG,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,65 @@
1
+ import type Component from '../components/component.js';
2
+ /**
3
+ * 검색 결과 하나를 나타낸다.
4
+ */
5
+ export interface SearchResult {
6
+ /** 매칭된 컴포넌트 */
7
+ component: Component;
8
+ /** 매칭 카테고리 */
9
+ matchType: 'id' | 'name' | 'tag' | 'type' | 'class' | 'text' | 'data' | 'property';
10
+ /** 매칭된 필드 이름 (예: 'accessor', 'fillStyle') */
11
+ matchField: string;
12
+ /** 매칭된 값 */
13
+ matchValue: string;
14
+ }
15
+ export interface SearchOptions {
16
+ /** 검색할 필드 범위 (기본: 전체) */
17
+ fields?: SearchResult['matchType'][];
18
+ /** 대소문자 구분 (기본: false) */
19
+ caseSensitive?: boolean;
20
+ /** hidden 컴포넌트 포함 (기본: false) */
21
+ includeHidden?: boolean;
22
+ /** 최대 결과 수 (기본: 무제한) */
23
+ maxResults?: number;
24
+ }
25
+ /**
26
+ * things-scene 컴포넌트 트리를 대상으로 텍스트 검색을 수행하는 엔진.
27
+ *
28
+ * 에디터/뷰어, 2D/3D 모드 공용.
29
+ * 검색 대상: id, name, tag, type, class, text, data-binding(accessor/target/property), 주요 속성값.
30
+ */
31
+ export declare class SceneSearchEngine {
32
+ private _results;
33
+ private _currentIndex;
34
+ private _lastQuery;
35
+ get results(): readonly SearchResult[];
36
+ get currentIndex(): number;
37
+ get currentResult(): SearchResult | undefined;
38
+ get resultCount(): number;
39
+ /**
40
+ * 컴포넌트 트리에서 query를 검색한다.
41
+ * 동일 컴포넌트가 여러 필드에서 매칭되면 첫 번째 매칭만 결과에 포함한다.
42
+ */
43
+ search(root: Component, query: string, options?: SearchOptions): SearchResult[];
44
+ /** 다음 결과로 이동 */
45
+ navigateNext(): SearchResult | undefined;
46
+ /** 이전 결과로 이동 */
47
+ navigatePrev(): SearchResult | undefined;
48
+ /** 특정 인덱스로 이동 */
49
+ navigateTo(index: number): SearchResult | undefined;
50
+ /** 검색 결과 초기화 */
51
+ clear(): void;
52
+ private _traverse;
53
+ private _matchComponent;
54
+ /**
55
+ * data-binding 설정(mappings)에서 검색.
56
+ * accessor, target, property, source 필드를 대상으로 한다.
57
+ */
58
+ private _matchDataBinding;
59
+ /**
60
+ * 주요 속성값에서 검색.
61
+ * fillStyle(문자열), strokeStyle(문자열), ref, src 등.
62
+ */
63
+ private _matchProperties;
64
+ }
65
+ //# sourceMappingURL=scene-search-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-search-engine.d.ts","sourceRoot":"","sources":["../../src/search/scene-search-engine.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,eAAe;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc;IACd,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAA;IAClF,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,MAAM,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,CAAA;IACpC,0BAA0B;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAMD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAK;IAEvB,IAAI,OAAO,IAAI,SAAS,YAAY,EAAE,CAErC;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,aAAa,IAAI,YAAY,GAAG,SAAS,CAE5C;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,EAAE;IAmC/E,gBAAgB;IAChB,YAAY,IAAI,YAAY,GAAG,SAAS;IAMxC,gBAAgB;IAChB,YAAY,IAAI,YAAY,GAAG,SAAS;IAMxC,iBAAiB;IACjB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAMnD,gBAAgB;IAChB,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,eAAe;IAoEvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAiCzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAkCzB"}
@@ -0,0 +1,69 @@
1
+ import type Component from '../components/component.js';
2
+ import { SceneSearchEngine } from './scene-search-engine.js';
3
+ /**
4
+ * SearchOverlayHost: 검색 오버레이가 동작하기 위한 호스트 인터페이스.
5
+ * Scene이 이 인터페이스를 구현한다.
6
+ */
7
+ export interface SearchOverlayHost {
8
+ /** 검색 대상 루트 컴포넌트 */
9
+ readonly root: Component & {
10
+ selected?: Component[];
11
+ };
12
+ /** 오버레이를 붙일 DOM element */
13
+ readonly element: HTMLElement | null;
14
+ /** 컴포넌트로 카메라/뷰포트 이동 */
15
+ centerTo(component: Component, animated?: boolean): void;
16
+ /** 선택 변경 */
17
+ setSelected(components: Component[]): void;
18
+ /** 3D outline 하이라이트 (있으면) */
19
+ highlightSearchResults?(components: Component[]): void;
20
+ /** 2D invalidate */
21
+ invalidate?(): void;
22
+ }
23
+ /**
24
+ * 2D/3D 모드 공용 검색 오버레이 UI.
25
+ *
26
+ * 호스트의 DOM element에 겹쳐 놓는 가벼운 검색 바.
27
+ * F키로 토글, ↑↓ 결과 네비게이션, Enter 선택, Esc 닫기.
28
+ * 입력 히스토리(↑↓), Shift+Tab으로 input 복귀, 마우스+키보드 심리스 전환.
29
+ */
30
+ export declare class SearchOverlay {
31
+ private _host?;
32
+ private _engine;
33
+ private _container?;
34
+ private _input?;
35
+ private _statusEl?;
36
+ private _resultListEl?;
37
+ private _visible;
38
+ private _debounceTimer?;
39
+ private _queryHistory;
40
+ private _historyIndex;
41
+ private _savedInput;
42
+ private static MAX_HISTORY;
43
+ private _keyboardNav;
44
+ get isVisible(): boolean;
45
+ get engine(): SceneSearchEngine;
46
+ setup(host: SearchOverlayHost): void;
47
+ /**
48
+ * 오버레이 토글. 이미 열려 있으면 입력 필드에 포커스.
49
+ */
50
+ toggle(): void;
51
+ show(): void;
52
+ hide(): void;
53
+ destroy(): void;
54
+ private _buildDOM;
55
+ private _buttonStyle;
56
+ private _doSearch;
57
+ private _addToHistory;
58
+ private _navigateHistory;
59
+ private _isHistoryMode;
60
+ private _focusResult;
61
+ private _selectResult;
62
+ private _clearHighlight;
63
+ private _updateStatus;
64
+ private _renderResultList;
65
+ private _updateResultListSelection;
66
+ private _hideResultList;
67
+ private _truncate;
68
+ }
69
+ //# sourceMappingURL=search-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-overlay.d.ts","sourceRoot":"","sources":["../../src/search/search-overlay.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAqB,MAAM,0BAA0B,CAAA;AAE/E;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,oBAAoB;IACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG;QAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;KAAE,CAAA;IACrD,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IACpC,uBAAuB;IACvB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACxD,YAAY;IACZ,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;IAC1C,6BAA6B;IAC7B,sBAAsB,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;IACtD,oBAAoB;IACpB,UAAU,CAAC,IAAI,IAAI,CAAA;CACpB;AAaD;;;;;;GAMG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAC,CAAmB;IACjC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,MAAM,CAAC,CAAkB;IACjC,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,cAAc,CAAC,CAA+B;IAGtD,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAK;IAG/B,OAAO,CAAC,YAAY,CAAQ;IAE5B,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,MAAM,IAAI,iBAAiB,CAE9B;IAED,KAAK,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAKpC;;OAEG;IACH,MAAM,IAAI,IAAI;IAad,IAAI,IAAI,IAAI;IAqBZ,IAAI,IAAI,IAAI;IAYZ,OAAO,IAAI,IAAI;IAaf,OAAO,CAAC,SAAS;IAuIjB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,iBAAiB;IA+HzB,OAAO,CAAC,0BAA0B;IAmBlC,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,SAAS;CAGlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"align.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/align.ts"],"names":[],"mappings":"AA4GA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAYpD"}
1
+ {"version":3,"file":"align.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/align.ts"],"names":[],"mappings":"AA2JA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAYpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"distribute.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/distribute.ts"],"names":[],"mappings":"AAsDA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAYzD"}
1
+ {"version":3,"file":"distribute.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/distribute.ts"],"names":[],"mappings":"AAqFA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAYzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"place.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/place.ts"],"names":[],"mappings":"AAkFA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAapD"}
1
+ {"version":3,"file":"place.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/place.ts"],"names":[],"mappings":"AAkFA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAcpD"}
@@ -1,8 +1,13 @@
1
+ import { DataLagTracker } from '../diagnostics/data-lag-tracker.js';
2
+ import type { LagMonitorConfig } from '../diagnostics/data-lag-tracker.js';
3
+ import { LoadTracker } from '../diagnostics/load-tracker.js';
4
+ import type { LoadingOptions } from '../diagnostics/load-tracker.js';
1
5
  export default class ApplicationContext {
2
6
  _mode: number;
3
7
  _screen: number;
4
8
  _baseUrl: string | null;
5
9
  _refProvider: unknown;
10
+ _postprocessing: boolean;
6
11
  _rotateStep: number;
7
12
  _rotateStepForced: boolean;
8
13
  _dataSubscriptionProvider: {
@@ -13,8 +18,21 @@ export default class ApplicationContext {
13
18
  _PPI: number;
14
19
  _PPM: number;
15
20
  _commander: unknown;
21
+ _loadTracker?: LoadTracker;
22
+ _loadTrackerOwned: boolean;
23
+ _lagTracker?: DataLagTracker;
24
+ /** 영구 플래그 (런타임 setter로 조작) */
25
+ _suppressAnimationsFlag: boolean;
26
+ /** 스코프드 API 의 중첩 호출용 ref count */
27
+ _suppressScopeCount: number;
16
28
  trigger: (event: string, ...args: unknown[]) => void;
17
29
  constructor(mode: number, refProvider: unknown);
30
+ initLoadTracker(options?: LoadingOptions): LoadTracker;
31
+ get loadTracker(): LoadTracker | undefined;
32
+ /** 앱에서 미리 생성한 LoadTracker를 받아서 사용 (dispose 책임은 앱에 있음) */
33
+ adoptLoadTracker(tracker: LoadTracker): void;
34
+ initLagTracker(config: LagMonitorConfig | LagMonitorConfig[]): DataLagTracker;
35
+ get lagTracker(): DataLagTracker | undefined;
18
36
  dispose(): void;
19
37
  _calcScreen(): void;
20
38
  subscribe(tag: string, component: unknown): unknown;
@@ -47,5 +65,30 @@ export default class ApplicationContext {
47
65
  set rotateStepForced(force: boolean);
48
66
  get dataStorage(): unknown;
49
67
  set dataStorage(dataStorage: unknown);
68
+ get postprocessing(): boolean;
69
+ set postprocessing(value: boolean);
70
+ /**
71
+ * 애니메이션 억제 상태 (영구 플래그 OR 활성 스코프 중 하나라도 해당되면 true).
72
+ *
73
+ * 확인 지점: Animation.start, animate(), ValueHolder.animOnValueChange,
74
+ * DecoratorRegistry.addToOverlay, AnimatedIconDecorator.start
75
+ */
76
+ get suppressAnimations(): boolean;
77
+ /** 런타임에 영구 플래그 토글. 스코프드 카운트와 OR 로 병합됨. */
78
+ set suppressAnimations(value: boolean);
79
+ /**
80
+ * 주어진 콜백을 애니메이션 억제 상태에서 실행.
81
+ * - 중첩 호출 안전 (ref-count)
82
+ * - sync/async 자동 판별 — Promise 리턴 시 완료될 때까지 억제 유지
83
+ * - 예외 발생 시에도 카운터 정상 복구
84
+ */
85
+ withSuppressedAnimations<T>(fn: () => T | Promise<T>): T | Promise<T>;
86
+ /**
87
+ * 수동 제어용 disposable. `end()` 를 반드시 호출해야 함.
88
+ * 스코프가 콜백 경계를 넘어서는 경우 (이벤트 핸들러 사이 등) 사용.
89
+ */
90
+ beginSuppressAnimations(): {
91
+ end(): void;
92
+ };
50
93
  }
51
94
  //# sourceMappingURL=application-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"application-context.d.ts","sourceRoot":"","sources":["../../src/things-scene/application-context.ts"],"names":[],"mappings":"AA8BA,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAG,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAG,MAAM,CAAA;IACpB,iBAAiB,EAAG,OAAO,CAAA;IAC3B,yBAAyB,EAAE;QAAE,SAAS,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;QAAC,OAAO,CAAC,IAAI,IAAI,CAAA;KAAE,GAAG,SAAS,CAAA;IACjH,YAAY,EAAE,OAAO,CAAA;IACrB,IAAI,EAAG,MAAM,CAAA;IACb,IAAI,EAAG,MAAM,CAAA;IACb,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;gBAEzC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO;IAY9C,OAAO;IAKP,WAAW;IAUX,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;IAIzC,IAAI,WAAW,YAEd;IAED,IAAI,wBAAwB,CAAC,wBAAwB;wBA1CR,MAAM,aAAa,OAAO,GAAG,OAAO;oBAAc,IAAI;iBA0C9C,EAEpD;IAED,IAAI,wBAAwB;wBA9CiB,MAAM,aAAa,OAAO,GAAG,OAAO;oBAAc,IAAI;kBAgDlG;IAED,IAAI,SAAS,CAAC,SAAS,SAAA,EAEtB;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,MAAM,WAET;IAED,IAAI,MAAM,CAAC,MAAM,QAAA,EAGhB;IAED,IAAI,IAAI,WAEP;IAED,IAAI,GAAG,WAEN;IAED,IAAI,GAAG,WAEN;IAED,IAAI,IAAI,WAEP;IAED,IAAI,IAAI,CAAC,IAAI,QAAA,EAMZ;IAED,IAAI,UAAU,YAEb;IAED,IAAI,UAAU,YAEb;IAED,IAAI,OAAO,kBAEV;IAED,IAAI,OAAO,CAAC,OAAO,eAAA,EASlB;IAED,GAAG,CAAC,CAAC,EAAE,MAAM;IAiBb,IAAI,UAAU,WAEb;IAED,IAAI,UAAU,CAAC,IAAI,QAAA,EAElB;IAOD,IAAI,gBAAgB,YAEnB;IAED,IAAI,gBAAgB,CAAC,KAAK,SAAA,EAEzB;IAGD,IAAI,WAAW,YAEd;IAED,IAAI,WAAW,CAAC,WAAW,SAAA,EAE1B;CACF"}
1
+ {"version":3,"file":"application-context.d.ts","sourceRoot":"","sources":["../../src/things-scene/application-context.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,54 @@
1
1
  import type { SceneMode } from '../const.js';
2
2
  import type { FITMODE } from '../interfaces/types.js';
3
3
  import type { ReferenceProvider, DataSubscriptionProvider, PersistentDataStorage } from '../interfaces/providers.js';
4
+ import type { LoadingOptions } from '../diagnostics/load-tracker.js';
5
+ import type { Model } from '../interfaces/model.js';
4
6
  import Scene from './scene.js';
7
+ /**
8
+ * Options for creating a Scene instance.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const scene = create({
13
+ * target: document.getElementById('board'),
14
+ * model: boardModel,
15
+ * mode: SCENE_MODE.VIEW,
16
+ * handlers: ['zoom-handler', 'shift-handler'],
17
+ * refProvider: myProvider
18
+ * })
19
+ * ```
20
+ */
5
21
  export interface SceneCreateOptions {
22
+ /** DOM element (or element ID) where the scene will be rendered */
6
23
  target?: HTMLElement | string;
7
- model?: any;
24
+ /** Board model — component tree as a JSON-compatible object */
25
+ model?: Model;
26
+ /** Theme style map (name → value) applied to the scene */
8
27
  style?: Record<string, any>;
9
- layers?: any[];
28
+ /** Additional layer configurations (e.g. scroll-layer, movement-layer) */
29
+ layers?: {
30
+ type: string;
31
+ id?: string;
32
+ [key: string]: any;
33
+ }[];
34
+ /** Event handler names to attach (e.g. 'zoom-handler', 'shift-handler') */
10
35
  handlers?: string[];
36
+ /** Scene mode: MODE_VIEW (0) for monitoring, MODE_EDIT (1) for modelling */
11
37
  mode?: SceneMode;
38
+ /** Reference provider for sub-board linking */
12
39
  refProvider?: ReferenceProvider;
40
+ /** Real-time data subscription provider (e.g. GraphQL subscription) */
13
41
  dataSubscriptionProvider?: DataSubscriptionProvider;
42
+ /** Per-component persistent data storage (e.g. IndexedDB) */
14
43
  dataStorage?: PersistentDataStorage;
44
+ /** Base URL for resources (images, GLTF models, etc.) */
15
45
  baseUrl?: string;
46
+ /** Initial fit mode: 'ratio' | 'both' | 'width' | 'height' | 'none' */
16
47
  fitMode?: FITMODE;
48
+ /** Enable 3D post-processing effects (OutlinePass, SMAAPass). Default: true */
49
+ postprocessing?: boolean;
50
+ /** Loading monitor options */
51
+ loading?: LoadingOptions;
17
52
  }
18
- export default function create({ target, model, style, layers, handlers, mode, refProvider, dataSubscriptionProvider, dataStorage, baseUrl, fitMode }: SceneCreateOptions): Scene;
53
+ export default function create({ target, model, style, layers, handlers, mode, refProvider, dataSubscriptionProvider, dataStorage, baseUrl, fitMode, postprocessing, loading: loadingOptions }: SceneCreateOptions): Scene;
19
54
  //# sourceMappingURL=create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/things-scene/create.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAEpH,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;IAC7B,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;IACnD,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAUD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAW,EACX,QAAa,EACb,IAAsB,EACtB,WAAW,EACX,wBAAwB,EACxB,WAAkC,EAClC,OAAO,EACP,OAAO,EACR,EAAE,kBAAkB,SAwCpB"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/things-scene/create.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACpH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;IAC7B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,0EAA0E;IAC1E,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,CAAA;IAC5D,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,uEAAuE;IACvE,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;IACnD,6DAA6D;IAC7D,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAUD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAW,EACX,QAAa,EACb,IAAsB,EACtB,WAAW,EACX,wBAAwB,EACxB,WAAkC,EAClC,OAAO,EACP,OAAO,EACP,cAAqB,EACrB,OAAO,EAAE,cAAc,EACxB,EAAE,kBAAkB,SAiDpB"}
@@ -27,6 +27,8 @@ export type { SceneRenderContext, DrawOptions, StyleOptions, FillStyle, StrokeSt
27
27
  export type { LinkEnd } from '../decorator/decorators/link-decorator.js';
28
28
  export type { LAYOUT, LayoutRegistry } from '../interfaces/layout.js';
29
29
  export type { IRealObject } from '../interfaces/real-object.js';
30
+ export type { Vec3, Size3, Bounds3, SlotArrangement, GridShape, SlotDef, SlotAssignment, TransferOptions, StaticPolicy, DynamicPolicy, PendingPolicy, ConnectionPolicy, Port, TransferEventType, TransferEvent, CarrierAttachPoint, ArrangementStrategy, Transferable, NavigationTarget, NavigationOptions, Movable, ArticulatedCapability, MissionStatus, VehicleMission, MissionExecutor, SensorPoint, SpawnPoint, SinkPoint, SimulationClock } from '../transfer/index.js';
31
+ export { FixedSlotStrategy, CenteringSlotStrategy, ContainerCapacity, TRANSFER_SLOT_KEY, globalSimClock } from '../transfer/index.js';
30
32
  export { default as ReferenceMap } from '../core/reference-map.js';
31
33
  export { default as ScriptLoader } from '../core/script-loader.js';
32
34
  export * from '../core/logger.js';
@@ -35,6 +37,13 @@ export { default as version } from './version.js';
35
37
  export { default as FPS, stopFPSMeasure } from './fps.js';
36
38
  export { metrics } from '../diagnostics/metrics.js';
37
39
  export { inspector } from '../diagnostics/inspector.js';
40
+ export { LoadTracker } from '../diagnostics/load-tracker.js';
41
+ export type { LoadPhase, LoadEntry, LoadingOptions, LoadStats, PhaseRecord } from '../diagnostics/load-tracker.js';
42
+ export { DataLagTracker } from '../diagnostics/data-lag-tracker.js';
43
+ export type { LagMonitorConfig, LagTrend, LagLevel, LagStats } from '../diagnostics/data-lag-tracker.js';
44
+ export { LoadingOverlay } from '../diagnostics/loading-overlay.js';
38
45
  export { default as ScenePopup } from '../layer/action/popup.js';
46
+ export { default as TransitionEffect } from '../transition/transition-effect.js';
47
+ export * from '../search/index.js';
39
48
  export * from '../threed/index.js';
40
49
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/things-scene/index.ts"],"names":[],"mappings":"AAIA,OAAO,mBAAmB,CAAA;AAE1B,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAC1C,OAAO,UAAU,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAEzE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,WAAW,KAAK;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,yBAAiB,KAAK,CAAC;IACd,MAAM,OAAO,iBAAW,CAAA;IACxB,MAAM,SAAS,mBAAa,CAAA;IAC5B,MAAM,MAAM,gBAAU,CAAA;IACtB,MAAM,KAAK,eAAS,CAAA;CAC5B;AAED,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAE/D,cAAc,aAAa,CAAA;AAE3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AAGjC,YAAY,EACV,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EACxE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EACzE,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACpH,YAAY,EACV,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EACxF,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EACtE,MAAM,4BAA4B,CAAA;AACnC,YAAY,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAA;AACxE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACrE,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAElE,cAAc,mBAAmB,CAAA;AAEjC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAEvD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAGhE,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/things-scene/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,36 @@
1
1
  import animate from '../animation/animate.js';
2
+ import type { LoadTracker } from '../diagnostics/load-tracker.js';
3
+ import { LoadingOverlay } from '../diagnostics/loading-overlay.js';
4
+ import { SearchOverlay } from '../search/search-overlay.js';
2
5
  /**
3
- * 화면(scene) 객체
6
+ * The top-level API object for things-scene, managing the full lifecycle of a visual board:
7
+ * creation, rendering (2D Canvas + 3D Three.js), interaction, and disposal.
8
+ *
9
+ * Created via the `create()` factory function.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { create, SCENE_MODE } from '@hatiolab/things-scene'
14
+ *
15
+ * const scene = create({
16
+ * target: document.getElementById('board'),
17
+ * model: JSON.parse(boardJson),
18
+ * mode: SCENE_MODE.VIEW,
19
+ * handlers: ['zoom-handler', 'shift-handler']
20
+ * })
21
+ *
22
+ * scene.data = { sensor1: { value: 42 } } // data binding
23
+ * scene.dispose() // cleanup
24
+ * ```
4
25
  */
5
26
  declare class Scene {
6
27
  _container: any;
7
28
  _commander: any;
8
29
  app: any;
30
+ private _searchOverlay;
31
+ private _loadingOverlay;
32
+ onDataBindingToggle?: () => void;
33
+ onMonitorToggle?: () => void;
9
34
  static get residents(): number;
10
35
  static get residentsCount(): number;
11
36
  /**
@@ -88,11 +113,49 @@ declare class Scene {
88
113
  set valuesByRefid(values: any);
89
114
  get baseUrl(): any;
90
115
  set baseUrl(baseUrl: any);
116
+ /**
117
+ * 애니메이션 억제 활성 여부.
118
+ * 영구 플래그(set suppressAnimations) 또는 활성 스코프(withSuppressedAnimations/
119
+ * beginSuppressAnimations) 중 하나라도 해당되면 true.
120
+ */
121
+ get suppressAnimations(): boolean;
122
+ /** 런타임 모드 토글: 지정된 상태로 고정. 스코프드 API 와는 독립적으로 동작. */
123
+ set suppressAnimations(value: boolean);
124
+ /**
125
+ * 콜백 실행 동안만 애니메이션 억제.
126
+ * 중첩 호출 / sync·async / 예외 모두 안전.
127
+ *
128
+ * @example
129
+ * scene.withSuppressedAnimations(() => {
130
+ * for (const record of snapshot) component.data = record
131
+ * })
132
+ */
133
+ withSuppressedAnimations<T>(fn: () => T | Promise<T>): T | Promise<T>;
134
+ /**
135
+ * 수동 제어용 disposable. end() 호출 전까지 억제 유지.
136
+ * 스코프가 콜백 경계를 넘어가는 케이스 (이벤트 기반 드래그 등) 에 사용.
137
+ *
138
+ * @example
139
+ * const d = scene.beginSuppressAnimations()
140
+ * // ... some async flow ...
141
+ * d.end()
142
+ */
143
+ beginSuppressAnimations(): {
144
+ end(): void;
145
+ };
91
146
  startAddMode(models?: any): void;
92
147
  startStylePasteMode(): void;
93
148
  stopStylePasteMode(): void;
94
149
  startDatabindPasteMode(): void;
95
150
  stopDatabindPasteMode(): void;
151
+ get loading(): LoadTracker | undefined;
152
+ get loadingOverlay(): LoadingOverlay;
153
+ showLoadingOverlay(): void;
154
+ hideLoadingOverlay(): void;
155
+ toggleLoadingOverlay(): void;
156
+ get searchOverlay(): SearchOverlay;
157
+ private _setupSearchOverlay;
158
+ private _setupLoadingOverlay;
96
159
  }
97
160
  export default Scene;
98
161
  //# sourceMappingURL=scene.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/things-scene/scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/things-scene/scene.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as THREE from 'three';
2
2
  import { Line2 } from 'three/examples/jsm/lines/Line2.js';
3
- export type TipType = 'none' | 'arrow' | 'open-arrow' | 'sharp-arrow' | 'diamond' | 'oval';
3
+ export type TipType = 'none' | 'arrow' | 'open-arrow' | 'sharp-arrow' | 'diamond' | 'oval' | 'cross';
4
4
  export type TipSize = 'size1' | 'size2' | 'size3' | 'size4' | 'size5' | 'size6' | 'size7' | 'size8' | 'size9';
5
5
  export type LineDash = 'solid' | 'round-dot' | 'square-dot' | 'dash' | 'dash-dot' | 'long-dash' | 'long-dash-dot' | 'long-dash-dot-dot';
6
6
  export interface ArrowStyle3D {
@@ -22,16 +22,25 @@ export declare function tipSize(size: TipSize | undefined, lineWidth: number): {
22
22
  Y: number;
23
23
  };
24
24
  /**
25
- * 팁 타입별 BufferGeometry(또는 Line2) 생성.
26
- * XY 평면, +X 방향이 화살표가 가리키는 방향(외부에서 쿼터니언 회전).
25
+ * 팁 타입별 3D Geometry 생성.
26
+ * +X 방향이 화살표가 가리키는 방향(외부에서 쿼터니언 회전).
27
27
  * 반환이 null이면 'none' 팁.
28
+ *
29
+ * 3D 형상 매핑:
30
+ * - arrow → ConeGeometry (넓은 원뿔)
31
+ * - sharp-arrow → ConeGeometry (좁고 긴 원뿔)
32
+ * - open-arrow → ConeGeometry (wireframe)
33
+ * - diamond → OctahedronGeometry
34
+ * - oval → SphereGeometry
35
+ * - cross → TetrahedronGeometry
28
36
  */
29
37
  export declare function createTipGeometry(type: TipType, size: {
30
38
  X: number;
31
39
  Y: number;
32
- }, lineWidth: number): {
40
+ }, _lineWidth: number): {
33
41
  mesh?: THREE.Mesh;
34
42
  line2?: Line2;
43
+ group?: THREE.Group;
35
44
  } | null;
36
45
  /**
37
46
  * Line2 + LineMaterial 기반 화살표 줄기 생성.
@@ -1 +1 @@
1
- {"version":3,"file":"arrow-3d.d.ts","sourceRoot":"","sources":["../../src/threed/arrow-3d.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAQzD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,CAAA;AAC1F,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAC7G,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,WAAW,GACX,YAAY,GACZ,MAAM,GACN,UAAU,GACV,WAAW,GACX,eAAe,GACf,mBAAmB,CAAA;AAEvB,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAMD;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAwB9F;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9B,SAAS,EAAE,MAAM,GAChB;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG,IAAI,CA+D7C;AAqCD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CA4CP;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,KAAK,CAAC,OAAO,GACtB,KAAK,CAAC,MAAM,CAqCd;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CAAC,KAAK,CAqGb"}
1
+ {"version":3,"file":"arrow-3d.d.ts","sourceRoot":"","sources":["../../src/threed/arrow-3d.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAQzD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AACpG,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAC7G,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,WAAW,GACX,YAAY,GACZ,MAAM,GACN,UAAU,GACV,WAAW,GACX,eAAe,GACf,mBAAmB,CAAA;AAEvB,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAMD;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAwB9F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9B,UAAU,EAAE,MAAM,GACjB;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAA;CAAE,GAAG,IAAI,CA4ElE;AAqCD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CA4CP;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,KAAK,CAAC,OAAO,GACtB,KAAK,CAAC,MAAM,CAqCd;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CAAC,KAAK,CAuGb"}
@@ -0,0 +1,9 @@
1
+ import { Scene } from 'three';
2
+ /**
3
+ * 환경 씬 공통 베이스 클래스.
4
+ * PMREMGenerator.fromScene()으로 cubemap을 생성하는 환경 씬들의 공통 dispose() 로직을 제공한다.
5
+ */
6
+ export declare abstract class BaseEnvironment extends Scene {
7
+ dispose(): void;
8
+ }
9
+ //# sourceMappingURL=base-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/base-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,EAAE,MAAM,OAAO,CAAA;AAEnC;;;GAGG;AACH,8BAAsB,eAAgB,SAAQ,KAAK;IACjD,OAAO;CAYR"}
@@ -0,0 +1,10 @@
1
+ import { BaseEnvironment } from './base-environment.js';
2
+ /**
3
+ * Cloudy 환경 — 흐린 날씨.
4
+ * 높은 turbidity + 낮은 rayleigh로 하늘 전체가 회백색 느낌.
5
+ * 태양은 구름 뒤에 있는 듯 약한 halo만 보임.
6
+ */
7
+ export declare class CloudyEnvironment extends BaseEnvironment {
8
+ constructor();
9
+ }
10
+ //# sourceMappingURL=cloudy-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudy-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/cloudy-environment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;;CAsBrD"}