@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
@@ -13,9 +13,20 @@ export declare function positionPopup(element: HTMLElement, position: Position |
13
13
  title?: string;
14
14
  gap?: number;
15
15
  }): void;
16
+ /**
17
+ * 옵션 `signal` 을 받으면 popup 의 라이프사이클과 결합해서:
18
+ * - handle 의 mousedown/touchstart 외부 리스너: signal abort 시 자동 제거
19
+ * (DOM GC 휴리스틱에 의존하지 않음)
20
+ * - drag 중 popup 이 dispose 되면 (예: 모드 전환, 보드 닫힘) outer signal abort
21
+ * 가 inner dragSignal 도 fire 시켜서 window 리스너 좀비 잔존 차단
22
+ * - 정상 drag 종료 (mouseup/touchend) 시에도 dragAc.abort() 한 번이면
23
+ * window 리스너 4종 일괄 제거 — 수동 removeEventListener 호출 4 줄 제거
24
+ */
16
25
  export declare function makeDraggableTransform(element: any, handle: any, scale?: {
17
26
  sx: number;
18
27
  sy: number;
28
+ }, options?: {
29
+ signal?: AbortSignal;
19
30
  }): void;
20
31
  export declare function getOffsetScale(component: any, position?: Position): {
21
32
  sx: number;
@@ -1 +1 @@
1
- {"version":3,"file":"popup-position.d.ts","sourceRoot":"","sources":["../../../src/components/position/popup-position.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAI1D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAA;AAEzC,wBAAgB,aAAa,CAC3B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,YAAW,EAC7B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/B,WAAW,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC9C,WAAW,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC9C,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,QAmB/C;AAmID,wBAAgB,sBAAsB,CAAC,OAAO,KAAA,EAAE,MAAM,KAAA,EAAE,KAAK;;;CAAmB,QAgG/E;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,QAAQ;;;EAejE"}
1
+ {"version":3,"file":"popup-position.d.ts","sourceRoot":"","sources":["../../../src/components/position/popup-position.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAI1D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAA;AAEzC,wBAAgB,aAAa,CAC3B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,YAAW,EAC7B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/B,WAAW,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC9C,WAAW,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC9C,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,QAmB/C;AAmID;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,KAAA,EACP,MAAM,KAAA,EACN,KAAK;;;CAAmB,EACxB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,QAqIvC;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,QAAQ;;;EAejE"}
@@ -1,3 +1,4 @@
1
+ import TransitionEffect from '../transition/transition-effect.js';
1
2
  import ContainerAbstract from './container-abstract.js';
2
3
  export default class RootContainer extends ContainerAbstract {
3
4
  _maxRefid: number;
@@ -19,7 +20,12 @@ export default class RootContainer extends ContainerAbstract {
19
20
  assist_layers?: any[];
20
21
  _hasSameParentForAllSelected: boolean;
21
22
  _focused: any;
23
+ _serviceMap: Map<string, any>;
24
+ transitionEffect: TransitionEffect;
22
25
  constructor(model: any, context: any);
26
+ registerService(name: string, provider: any): void;
27
+ getService<T = any>(name: string): T | undefined;
28
+ unregisterService(name: string): void;
23
29
  dispose(): void;
24
30
  isRoot(): boolean;
25
31
  get app(): any;
@@ -42,15 +48,16 @@ export default class RootContainer extends ContainerAbstract {
42
48
  addTemplate(prefix: any, component: any): void;
43
49
  removeTemplate(prefix: any, component: any): void;
44
50
  findTemplateFor(id: any): any;
45
- addIndex(id: any, component: any): void;
46
- removeIndex(id: any, component: any): void;
51
+ addIndex(id: string, component: any): void;
52
+ removeIndex(id: string, component: any): void;
47
53
  addRefidIndex(refid: any, component: any): void;
48
54
  removeRefidIndex(refid: any, component: any): void;
49
55
  getNewRefid(): number;
50
56
  subscribe(tag: any, component: any): Promise<void>;
51
57
  unsubscribe(tag: any, component: any): Promise<void>;
52
- findById(id: any): any;
53
- findAllById(id: any): any[];
58
+ private static readonly EMPTY_ARRAY;
59
+ findById(id: string): any;
60
+ findAllById(id: string): any[];
54
61
  findByRefid(refid: any): any;
55
62
  findOrCreate(id: any): any[];
56
63
  resize(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"root-container.d.ts","sourceRoot":"","sources":["../../src/components/root-container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"root-container.d.ts","sourceRoot":"","sources":["../../src/components/root-container.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,264 @@
1
+ import Component from './component.js';
2
+ import type { IRealObject } from '../interfaces/real-object.js';
3
+ import type { SceneRenderContext } from '../interfaces/rendering.js';
4
+ declare const ServiceComponent_base: {
5
+ new (...args: any[]): {
6
+ contains(x: number, y: number): boolean;
7
+ get path(): {
8
+ x: any;
9
+ y: any;
10
+ }[];
11
+ set path(path: {
12
+ x: any;
13
+ y: any;
14
+ }[]);
15
+ get anchors(): {
16
+ name: string;
17
+ position: {
18
+ x: any;
19
+ y: any;
20
+ };
21
+ }[];
22
+ get bounds(): any;
23
+ set bounds(bounds: any);
24
+ render(ctx: CanvasRenderingContext2D): void;
25
+ _app: any;
26
+ _model: any;
27
+ _state: any;
28
+ _delta: any;
29
+ _animation: any;
30
+ _animate: any;
31
+ _parent: any;
32
+ _disposed: any;
33
+ _textHidden: any;
34
+ _text_substitutor: any;
35
+ _value_substitutor: any;
36
+ _mappings: any;
37
+ _realObject: IRealObject | undefined;
38
+ _cachedState: any;
39
+ updatedAt: any;
40
+ fontSize: any;
41
+ __cache__: any;
42
+ created(): void;
43
+ added(parent: any): void;
44
+ removed(parent: any): void;
45
+ ready(): Promise<void>;
46
+ touch(): void;
47
+ clearCache(...attrs: any[]): void;
48
+ removeSelf(completely: any): void;
49
+ resetAnimation(): void;
50
+ dispose(): void;
51
+ get nature(): import("../index.js").ComponentNature;
52
+ get disposed(): boolean;
53
+ isLayer(): boolean;
54
+ isGroup(): boolean;
55
+ isContainer(): this is import("../types/component.js").Container;
56
+ isLine(): boolean;
57
+ isRoot(): boolean;
58
+ isRootModel(): boolean;
59
+ is3dish(): boolean;
60
+ get is3dMode(): boolean;
61
+ isIn3DSpace(): boolean;
62
+ isTemplate(): boolean;
63
+ isHTMLElement(): boolean;
64
+ isConnectable(): boolean;
65
+ isIdentifiable(): boolean;
66
+ isPositionable(): boolean;
67
+ replaceRefids(replaceMap: any): void;
68
+ get(property: any): any;
69
+ set(props: any, propval?: any): any;
70
+ getState(property: any): any;
71
+ setState(props: any, propval?: any): any;
72
+ get model(): any;
73
+ get state(): any;
74
+ get hierarchy(): any;
75
+ get volatile(): never[];
76
+ _applyProps(target: any, props: any, options: any): /*elided*/ any;
77
+ move(offset: {
78
+ x: number;
79
+ y: number;
80
+ }, ...args: boolean[]): void;
81
+ symmetryX(x?: number): void;
82
+ symmetryY(y: number): void;
83
+ adjustResize(bounds: import("../index.js").BOUNDS, origin_bounds: import("../index.js").BOUNDS, diagonal: boolean): {
84
+ left: any;
85
+ top: any;
86
+ width: any;
87
+ height: any;
88
+ };
89
+ adjustRotation(rotation: number, step: boolean): number;
90
+ outline(progress: number): any;
91
+ get center(): import("../index.js").POINT;
92
+ set center(p: import("../index.js").POINT);
93
+ get location(): import("../index.js").POINT;
94
+ set location(l: import("../index.js").POINT);
95
+ get rotate(): import("../index.js").POINT;
96
+ set rotate(r: import("../index.js").POINT);
97
+ get dimension(): import("../index.js").DIMENSION;
98
+ set dimension(d: import("../index.js").DIMENSION);
99
+ get drawPath(): import("../index.js").POINT[];
100
+ get rotatePoint(): import("../index.js").POINT;
101
+ get mutable(): boolean;
102
+ get resizable(): boolean;
103
+ get rotatable(): boolean;
104
+ buildRealObject(): IRealObject | undefined;
105
+ get realObject(): IRealObject | undefined;
106
+ draw(context?: SceneRenderContext): void;
107
+ prerender(context: SceneRenderContext): void;
108
+ postrender(context: SceneRenderContext): void;
109
+ prepare(resolve: (component: Component) => void, reject: (reason: any) => void): void;
110
+ prepareIf(condition: boolean): void;
111
+ drawText(context: SceneRenderContext): void;
112
+ drawStroke(context: SceneRenderContext, override?: Record<string, unknown>): void;
113
+ drawFill(context: SceneRenderContext, override?: Record<string, unknown>): void;
114
+ get strokeStyle(): any;
115
+ set strokeStyle(v: any);
116
+ get fillStyle(): any;
117
+ set fillStyle(v: any);
118
+ get fontColor(): string;
119
+ set fontColor(v: string);
120
+ get rotation(): number;
121
+ set rotation(v: number);
122
+ get decorators(): string[];
123
+ get decotag(): string;
124
+ get hidden(): boolean;
125
+ set hidden(v: boolean);
126
+ get tag(): string;
127
+ set tag(v: string);
128
+ get appendum(): any;
129
+ set appendum(v: any);
130
+ defaultTextSubstitutor(): string;
131
+ textLines(context?: SceneRenderContext): any[][];
132
+ get font(): string;
133
+ get lineHeight(): number;
134
+ get textSubstitutor(): () => string;
135
+ get text(): string;
136
+ set text(v: string);
137
+ get textBounds(): import("../index.js").BOUNDS;
138
+ get textRotation(): number;
139
+ get textHidden(): boolean;
140
+ set textHidden(v: boolean);
141
+ get hasTextProperty(): boolean;
142
+ animate(opts: import("../index.js").AnimationConfig): any;
143
+ effect(context: SceneRenderContext, model: any): void;
144
+ serialize(...others: any[]): string;
145
+ trim(): void;
146
+ closeScene(data: any): void;
147
+ delta(attr?: string | object, value?: any): any;
148
+ invalidate(): void;
149
+ get value(): any;
150
+ set value(v: any);
151
+ get data(): any;
152
+ set data(v: any);
153
+ set tap(v: any);
154
+ get mappings(): any[];
155
+ get retention(): number;
156
+ get animation(): import("../index.js").AnimationController | undefined;
157
+ get started(): boolean;
158
+ set started(v: boolean);
159
+ get controls(): import("../index.js").Control[] | undefined;
160
+ findFirst(finder: string | ((c: Component) => boolean), ...others: any[]): Component | undefined;
161
+ findAll(s: string | ((c: Component) => boolean), ...others: any[]): any[] | undefined;
162
+ capture(x: number, y: number, except?: (c: Component) => boolean): any;
163
+ findAnchor(name: string): any;
164
+ isDescendible(container: Component): boolean;
165
+ getContext(component?: unknown): any;
166
+ get root(): Component;
167
+ get rootModel(): Component;
168
+ get parent(): Component;
169
+ set parent(v: Component);
170
+ get scalable(): boolean;
171
+ get stuck(): boolean;
172
+ get capturable(): boolean;
173
+ get position(): string;
174
+ get origin(): string;
175
+ get offset(): import("../index.js").POINT;
176
+ get app(): import("../index.js").ApplicationContext;
177
+ drawEffect(context: SceneRenderContext): void;
178
+ prepareFill(resolve: Function, reject: Function): void;
179
+ prepareFillIf(condition: boolean): void;
180
+ onchangeFill(after: Record<string, any>, before: Record<string, any>): void;
181
+ drawImage(context: SceneRenderContext, image: HTMLImageElement, left: number, top: number, width: number, height: number): void;
182
+ mutateBounds(logic: ((bounds: import("../index.js").BOUNDS) => import("../index.js").BOUNDS | void) | null, context?: any): void;
183
+ mutatePath(beforeLogic: ((path: import("../index.js").POINT[]) => import("../index.js").POINT[] | void) | null, afterLogic: ((path: import("../index.js").POINT[]) => import("../index.js").POINT[] | void) | null, context?: any): void;
184
+ access(accessor: string): any;
185
+ substitute(template: string, data: any): string | undefined;
186
+ onchangeMappings(after: Record<string, any>, before: Record<string, any>): void;
187
+ onchangeData(after: Record<string, any>, before: Record<string, any>): void;
188
+ buildMappings(): void;
189
+ executeMappings(force?: boolean): void;
190
+ disposeMappings(): void;
191
+ ondropfile(transfered: FileList, files: string[]): void;
192
+ transcoordS2P(x: number, y: number, rp?: import("../index.js").POINT): import("../index.js").POINT;
193
+ transcoordP2S(x: number, y: number, rp?: import("../index.js").POINT): import("../index.js").POINT;
194
+ transcoordS2T(x: number, y: number, top?: Component): import("../index.js").POINT;
195
+ transcoordT2P(x: number, y: number, top?: Component): import("../index.js").POINT;
196
+ transcoordT2S(x: number, y: number, top?: Component): import("../index.js").POINT;
197
+ transcoordS2TR(x: number, y: number, top?: Component): import("../index.js").POINT;
198
+ transcoordS2O(x: number, y: number, target: Component): import("../index.js").POINT;
199
+ transcoordC2S(x: number, y: number, top?: Component): import("../index.js").POINT;
200
+ transcoordS2C(x: number, y: number, top?: Component): import("../index.js").POINT;
201
+ toParent(x: number, y: number, rp?: import("../index.js").POINT): import("../index.js").POINT;
202
+ fromParent(x: number, y: number, rp?: import("../index.js").POINT): import("../index.js").POINT;
203
+ toScene(x: number, y: number, top?: Component): import("../index.js").POINT;
204
+ fromScene(x: number, y: number, top?: Component): import("../index.js").POINT;
205
+ toLocal(x: number, y: number, top?: Component): import("../index.js").POINT;
206
+ toGlobal(x: number, y: number, top?: Component): import("../index.js").POINT;
207
+ toOther(x: number, y: number, target: Component): import("../index.js").POINT;
208
+ on(name: string | object, callback: Function, context?: any): /*elided*/ any;
209
+ off(name?: string | object, callback?: Function, context?: any): /*elided*/ any;
210
+ once(name: string | object, callback: Function, context?: any): /*elided*/ any;
211
+ trigger(name: string, ...args: any[]): /*elided*/ any;
212
+ delegate_on(delegator: any): /*elided*/ any;
213
+ delegate_off(delegator: any): /*elided*/ any;
214
+ onchange(after: Record<string, any>, before: Record<string, any>): void;
215
+ calculateBounds?(): void;
216
+ oncreate_element?(element: HTMLElement): void;
217
+ removeComponent(component: Component, ghost?: boolean): void;
218
+ addComponent(component: Component, ghost?: boolean): void;
219
+ insertComponentAt(component: Component, index: number, ghost?: boolean): void;
220
+ getOverlay(component: Component): HTMLElement | undefined;
221
+ findById(id: string): Component | undefined;
222
+ findByRefid(ref: string | number): Component | undefined;
223
+ findAllById(id: string): Component[];
224
+ resize(): void;
225
+ fit(type?: string): void;
226
+ get components(): Component[] | undefined;
227
+ get layout(): any;
228
+ get auxOverlay(): HTMLElement | undefined;
229
+ get isReady(): boolean;
230
+ get unitScale(): number;
231
+ get selected(): Component[];
232
+ set selected(_v: Component[]);
233
+ get focused(): Component | null;
234
+ set focused(_v: Component | null);
235
+ get hasSameParentForAllSelected(): boolean;
236
+ set hasSameParentForAllSelected(_v: boolean);
237
+ get fitMode(): string | undefined;
238
+ set fitMode(_v: string | undefined);
239
+ get element(): HTMLElement | null;
240
+ set element(_v: HTMLElement | null);
241
+ };
242
+ } & typeof Component;
243
+ export default class ServiceComponent extends ServiceComponent_base {
244
+ static _defaultIcon?: HTMLImageElement;
245
+ private _registeredRoot?;
246
+ /**
247
+ * 기본 서비스 아이콘. 서브클래스에서 오버라이드하여 고유 아이콘을 제공할 수 있다.
248
+ */
249
+ static get icon(): HTMLImageElement;
250
+ /**
251
+ * 서비스 레지스트리에 등록할 이름. undefined이면 등록하지 않는다.
252
+ * 서브클래스에서 오버라이드한다.
253
+ */
254
+ get serviceName(): string | undefined;
255
+ get hasTextProperty(): boolean;
256
+ is3dish(): boolean;
257
+ buildRealObject(): IRealObject | undefined;
258
+ render(context: SceneRenderContext): void;
259
+ added(parent: any): void;
260
+ removed(parent: any): void;
261
+ get controls(): never[];
262
+ }
263
+ export {};
264
+ //# sourceMappingURL=service-component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-component.d.ts","sourceRoot":"","sources":["../../src/components/service-component.ts"],"names":[],"mappings":"AAeA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAapE,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,qBAAmB;IAC/D,MAAM,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAA;IACtC,OAAO,CAAC,eAAe,CAAC,CAAK;IAE7B;;OAEG;IACH,MAAM,KAAK,IAAI,IAAI,gBAAgB,CAMlC;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,eAAe,YAElB;IAED,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAM1C,MAAM,CAAC,OAAO,EAAE,kBAAkB;IAclC,KAAK,CAAC,MAAM,EAAE,GAAG;IAUjB,OAAO,CAAC,MAAM,EAAE,GAAG;IAUnB,IAAI,QAAQ,YAEX;CACF"}
@@ -70,6 +70,10 @@ export declare class DecoratorRegistry {
70
70
  * 특정 오버레이에서 컴포넌트의 모든 데코레이터 가져오기
71
71
  */
72
72
  getDecoratorsFromOverlay(overlay: HTMLElement, target: Component): Decorator[];
73
+ /**
74
+ * 특정 오버레이에서 지정 타입의 데코레이터가 적용된 타겟 목록 반환
75
+ */
76
+ getTargetsWithType(overlay: HTMLElement, type: DecoratorType): Component[];
73
77
  /**
74
78
  * 특정 오버레이의 데코레이터 업데이트
75
79
  */
@@ -1 +1 @@
1
- {"version":3,"file":"decorator-registry.d.ts","sourceRoot":"","sources":["../../src/decorator/decorator-registry.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAElD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAG5D,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAChB,SAAS,GACT,SAAS,GACT,MAAM,GACN,aAAa,GACb,eAAe,GACf,qBAAqB,CAAA;AAGzB,MAAM,MAAM,oBAAoB,GAAG,KAAK,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,KAAK,SAAS,CAAA;AAExH;;;;GAIG;AACH,qBAAa,gBAAgB;IAE3B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAsD;;IAOjF;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,oBAAoB,GAAG,IAAI;IAItF;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,gBAAqB,EAC9B,OAAO,CAAC,EAAE,WAAW,GACpB,SAAS;CASb;AAaD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAG1C,OAAO,CAAC,QAAQ,CAAsD;IAEtE;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,iBAAiB;IAOvC;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAczC;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAiB5C;;OAEG;IACH,YAAY,CACV,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,aAAa,EACnB,OAAO,GAAE,gBAAqB,GAC7B,SAAS,GAAG,IAAI;IA0BnB;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI;IA0EtF;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAsC/B;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI;IAuBtE;;OAEG;IACH,uBAAuB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,SAAS,GAAG,SAAS;IAK5G;;OAEG;IACH,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE;IAS9E;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAO9G;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;CAwB9C"}
1
+ {"version":3,"file":"decorator-registry.d.ts","sourceRoot":"","sources":["../../src/decorator/decorator-registry.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAElD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAG5D,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAChB,SAAS,GACT,SAAS,GACT,MAAM,GACN,aAAa,GACb,eAAe,GACf,qBAAqB,CAAA;AAGzB,MAAM,MAAM,oBAAoB,GAAG,KAAK,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,KAAK,SAAS,CAAA;AAExH;;;;GAIG;AACH,qBAAa,gBAAgB;IAE3B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAsD;;IAOjF;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,oBAAoB,GAAG,IAAI;IAItF;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,gBAAqB,EAC9B,OAAO,CAAC,EAAE,WAAW,GACpB,SAAS;CASb;AAaD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAG1C,OAAO,CAAC,QAAQ,CAAsD;IAEtE;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,iBAAiB;IAOvC;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAczC;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAiB5C;;OAEG;IACH,YAAY,CACV,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,aAAa,EACnB,OAAO,GAAE,gBAAqB,GAC7B,SAAS,GAAG,IAAI;IA8BnB;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI;IA0EtF;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAsC/B;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI;IAuBtE;;OAEG;IACH,uBAAuB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,SAAS,GAAG,SAAS;IAK5G;;OAEG;IACH,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE;IAS9E;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,GAAG,SAAS,EAAE;IAa1E;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAO9G;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;CAwB9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"animated-icon-decorator.d.ts","sourceRoot":"","sources":["../../../src/decorator/decorators/animated-icon-decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"animated-icon-decorator.d.ts","sourceRoot":"","sources":["../../../src/decorator/decorators/animated-icon-decorator.ts"],"names":[],"mappings":"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"}
@@ -22,15 +22,31 @@ export declare class DataSpreadDecorator extends VectorDecorator {
22
22
  protected static readonly DECORATOR_TYPE: string;
23
23
  private static readonly ARROW_ANGLE_1;
24
24
  private static readonly ARROW_ANGLE_2;
25
+ private static readonly INCOMING_ARROW_COLOR;
25
26
  private currentMappings;
27
+ private cachedArrows;
28
+ private _incomingTimer;
29
+ private static readonly INCOMING_DEBOUNCE_MS;
26
30
  /**
27
31
  * 생성자
28
32
  */
29
33
  constructor(overlay: HTMLElement, target: Component, options?: DataSpreadDecoratorOptions);
34
+ /**
35
+ * 현재 컴포넌트를 target으로 하는 incoming 소스를 역검색한다.
36
+ */
37
+ private findIncomingSources;
38
+ /**
39
+ * 화살표를 SVG 컨테이너에 추가하는 헬퍼
40
+ */
41
+ private appendArrow;
30
42
  /**
31
43
  * DOM 요소 생성 메서드 구현 (VectorDecorator 추상 메서드)
32
44
  */
33
45
  protected createDOMElements(): void;
46
+ /**
47
+ * SVG linearGradient 요소 생성 헬퍼
48
+ */
49
+ private createGradient;
34
50
  /**
35
51
  * 화살표 경로와 헤드 데이터 생성
36
52
  */
@@ -1 +1 @@
1
- {"version":3,"file":"data-spread-decorator.d.ts","sourceRoot":"","sources":["../../../src/decorator/decorators/data-spread-decorator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,SAAS,MAAM,+BAA+B,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;IAEtD,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAgB;IAGhE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAC7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAG7D,OAAO,CAAC,eAAe,CAAY;IAKnC;;OAEG;gBACS,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAE,0BAA+B;IAgB7F;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IA0InC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAsBnC;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;IAgFhC;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IA0C5B,UAAU,IAAI,IAAI;CAG1B"}
1
+ {"version":3,"file":"data-spread-decorator.d.ts","sourceRoot":"","sources":["../../../src/decorator/decorators/data-spread-decorator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,SAAS,MAAM,+BAA+B,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;IAEtD,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAgB;IAGhE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAC7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAE7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAY;IAGxD,OAAO,CAAC,eAAe,CAAY;IAGnC,OAAO,CAAC,YAAY,CAA2C;IAG/D,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAM;IAElD;;OAEG;gBACS,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAE,0BAA+B;IAgB7F;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiC3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAkCnB;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IA0FnC;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAsBnC;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;IAoChC;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAiD5B,UAAU,IAAI,IAAI;CAG1B"}
@@ -0,0 +1,44 @@
1
+ export interface LagMonitorConfig {
2
+ tag: string;
3
+ timestampField: string;
4
+ warnThreshold?: number;
5
+ criticalThreshold?: number;
6
+ }
7
+ export type LagTrend = 'stable' | 'increasing' | 'decreasing' | 'spike';
8
+ export type LagLevel = 'normal' | 'warn' | 'critical';
9
+ export interface LagStats {
10
+ tag: string;
11
+ currentDelta: number;
12
+ baseline: number;
13
+ drift: number;
14
+ driftAvg: number;
15
+ driftMax: number;
16
+ trend: LagTrend;
17
+ sampleCount: number;
18
+ level: LagLevel;
19
+ }
20
+ export declare class DataLagTracker {
21
+ private _monitors;
22
+ private _disposed;
23
+ /** level 변경 시 콜백 (evaluateAll 호출 시 트리거) */
24
+ onLevelChange?: (tag: string, level: LagLevel, stats: LagStats) => void;
25
+ configure(config: LagMonitorConfig | LagMonitorConfig[]): void;
26
+ isMonitored(tag: string): boolean;
27
+ /**
28
+ * 핫 패스 진입점.
29
+ * 대상 태그가 아니면 Map.get() 1회로 즉시 리턴.
30
+ */
31
+ recordIfMonitored(tag: string, data: any): void;
32
+ getStats(tag: string): LagStats | null;
33
+ getAllStats(): LagStats[];
34
+ /**
35
+ * UI 갱신 주기에 호출. threshold 판정 + onLevelChange 콜백 발생.
36
+ */
37
+ evaluateAll(): void;
38
+ dispose(): void;
39
+ private _extractField;
40
+ private _getRecentDrifts;
41
+ private _calcTrend;
42
+ private _calcLevel;
43
+ }
44
+ //# sourceMappingURL=data-lag-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-lag-tracker.d.ts","sourceRoot":"","sources":["../../src/diagnostics/data-lag-tracker.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,CAAA;AACvE,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAA;AAErD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,QAAQ,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,QAAQ,CAAA;CAChB;AAkBD,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,SAAS,CAAQ;IAEzB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAEvE,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,IAAI;IAuB9D,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIjC;;;OAGG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IA4B/C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IA4CtC,WAAW,IAAI,QAAQ,EAAE;IASzB;;OAEG;IACH,WAAW,IAAI,IAAI;IAcnB,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,UAAU;CAKnB"}
@@ -7,12 +7,9 @@ interface ThreedInfo {
7
7
  resolved?: ResolvedMaterial3D;
8
8
  nodeNames?: string[];
9
9
  animationNames?: string[];
10
- autoPlay?: boolean;
11
10
  nodes?: Record<string, any>;
12
11
  animations?: Record<string, any>;
13
12
  fillStyleTargets?: string[];
14
- spriteMode?: 'billboard' | 'plane';
15
- renderMode?: 'css3d' | 'texture';
16
13
  }
17
14
  interface ComponentTreeNode {
18
15
  id: string;
@@ -50,6 +47,19 @@ declare class SceneInspector {
50
47
  * 모니터링 확장에서 설정하여 Inspector UI를 자동 갱신한다.
51
48
  */
52
49
  onSceneChange: ((sceneCount: number) => void) | null;
50
+ private _watchedComponent;
51
+ private _watchedHandler;
52
+ /**
53
+ * 선택된 컴포넌트의 change 이벤트 콜백.
54
+ * 모니터링 확장에서 설정하여 Inspector UI를 재렌더한다.
55
+ */
56
+ onWatchedComponentChange: ((componentId: string, after: any, before: any) => void) | null;
57
+ /**
58
+ * 선택된 컴포넌트를 설정/해제한다. 이전 구독은 자동 해제된다.
59
+ * componentId === null 이면 구독만 해제.
60
+ */
61
+ setWatchedComponent(componentId: string | null, sceneIndex?: number): boolean;
62
+ private _clearWatched;
53
63
  /**
54
64
  * Scene 인스턴스를 등록한다 (Scene constructor에서 호출).
55
65
  */
@@ -127,7 +137,7 @@ declare class SceneInspector {
127
137
  getComponentPath(componentId: string, sceneIndex?: number): string[];
128
138
  /**
129
139
  * 컴포넌트의 3D 관련 정보를 반환한다.
130
- * Material3D, GLTF 노드/애니메이션, spriteMode, renderMode 등.
140
+ * Material3D, GLTF 노드/애니메이션 등.
131
141
  */
132
142
  getThreedInfo(componentId: string, sceneIndex?: number): ThreedInfo | null;
133
143
  private _getScene;
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/diagnostics/inspector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/diagnostics/inspector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ export type LoadPhase = 'fetch' | 'parse' | 'init' | 'compile' | 'assets' | 'data' | 'render' | 'complete';
2
+ /** 자동 팝업 표시까지의 대기 시간 (ms) */
3
+ export declare const OVERLAY_DELAY = 5000;
4
+ export interface LoadEntry {
5
+ id: string;
6
+ type: string;
7
+ url: string;
8
+ startTime: number;
9
+ status: 'pending' | 'loaded' | 'timeout' | 'error' | 'cancelled';
10
+ elapsed: number;
11
+ }
12
+ export interface LoadingOptions {
13
+ /** 전체 에셋 로딩 제한 (ms), 0 = 무제한 */
14
+ timeout?: number;
15
+ /** 개별 에셋 제한 (ms), 0 = 무제한 */
16
+ assetTimeout?: number;
17
+ /** 앱에서 미리 생성한 LoadTracker — create()가 새로 만들지 않고 재사용 */
18
+ tracker?: LoadTracker;
19
+ }
20
+ export interface LoadStats {
21
+ total: number;
22
+ loaded: number;
23
+ timeout: number;
24
+ error: number;
25
+ cancelled: number;
26
+ elapsed: number;
27
+ pending: number;
28
+ }
29
+ export interface PhaseRecord {
30
+ phase: LoadPhase;
31
+ timestamp: number;
32
+ elapsed: number;
33
+ duration?: number;
34
+ }
35
+ export declare class LoadTracker {
36
+ private _entries;
37
+ private _phase;
38
+ private _phaseHistory;
39
+ private _options;
40
+ private _startTime;
41
+ private _completedElapsed?;
42
+ private _disposed;
43
+ private _promiseResolve;
44
+ private _promise;
45
+ private _globalTimerId?;
46
+ private _slowTimerId?;
47
+ /** OVERLAY_DELAY 이상 로딩이 지속되었음을 표시 — overlay가 나중에 attach돼도 확인 가능 */
48
+ needsOverlay: boolean;
49
+ /** overlay 표시가 필요할 때 호출되는 콜백 */
50
+ onNeedsOverlay?: () => void;
51
+ /** 콜백 — phase 변경 시 */
52
+ onPhase?: (phase: LoadPhase) => void;
53
+ /** 콜백 — 에셋 완료/에러 시 */
54
+ onProgress?: (stats: LoadStats) => void;
55
+ /** 콜백 — 개별 에셋 타임아웃 시 */
56
+ onTimeout?: (entry: LoadEntry) => void;
57
+ /** 콜백 — complete 시 */
58
+ onComplete?: (stats: LoadStats) => void;
59
+ constructor(options?: LoadingOptions);
60
+ get phase(): LoadPhase;
61
+ get phaseHistory(): PhaseRecord[];
62
+ get progress(): number;
63
+ get pending(): LoadEntry[];
64
+ get entries(): LoadEntry[];
65
+ get stats(): LoadStats;
66
+ get promise(): Promise<void>;
67
+ private _firstRenderDone;
68
+ /** 첫 렌더링 완료 알림 — Layer.__draw__에서 호출 */
69
+ markFirstRender(): void;
70
+ setPhase(phase: LoadPhase): void;
71
+ track(id: string, type: string, url: string, promise: Promise<any>): void;
72
+ checkComplete(): void;
73
+ startGlobalTimeout(): void;
74
+ abort(): void;
75
+ reset(): void;
76
+ dispose(): void;
77
+ private _onEntryDone;
78
+ private _doComplete;
79
+ private _clearEntryTimer;
80
+ private _toPublicEntry;
81
+ }
82
+ //# sourceMappingURL=load-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-tracker.d.ts","sourceRoot":"","sources":["../../src/diagnostics/load-tracker.ts"],"names":[],"mappings":"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"}