@hatiolab/things-scene 10.0.0-beta.4 → 10.0.0-beta.40

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 (179) hide show
  1. package/CHANGELOG.md +2240 -0
  2. package/dist-types/animation/animations/heartbeat.d.ts +0 -7
  3. package/dist-types/animation/animations/heartbeat.d.ts.map +1 -1
  4. package/dist-types/animation/interfaces.d.ts +1 -1
  5. package/dist-types/animation/interfaces.d.ts.map +1 -1
  6. package/dist-types/command/snapshot-commander.d.ts.map +1 -1
  7. package/dist-types/components/audio.d.ts.map +1 -1
  8. package/dist-types/components/component-data.d.ts +2 -0
  9. package/dist-types/components/component-data.d.ts.map +1 -1
  10. package/dist-types/components/container-abstract.d.ts +14 -1
  11. package/dist-types/components/container-abstract.d.ts.map +1 -1
  12. package/dist-types/components/data/data.d.ts.map +1 -1
  13. package/dist-types/components/geometry/snap-guide.d.ts +45 -0
  14. package/dist-types/components/geometry/snap-guide.d.ts.map +1 -0
  15. package/dist-types/components/geometry/transcoord.d.ts.map +1 -1
  16. package/dist-types/components/global-ref.d.ts.map +1 -1
  17. package/dist-types/components/image-view.d.ts.map +1 -1
  18. package/dist-types/components/index.d.ts +1 -0
  19. package/dist-types/components/index.d.ts.map +1 -1
  20. package/dist-types/components/line.d.ts +1 -1
  21. package/dist-types/components/mutater/path.d.ts.map +1 -1
  22. package/dist-types/components/root-container.d.ts +11 -4
  23. package/dist-types/components/root-container.d.ts.map +1 -1
  24. package/dist-types/components/service-component.d.ts +264 -0
  25. package/dist-types/components/service-component.d.ts.map +1 -0
  26. package/dist-types/decorator/decorator-registry.d.ts +4 -0
  27. package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
  28. package/dist-types/decorator/decorators/data-spread-decorator.d.ts +16 -0
  29. package/dist-types/decorator/decorators/data-spread-decorator.d.ts.map +1 -1
  30. package/dist-types/diagnostics/data-lag-tracker.d.ts +44 -0
  31. package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -0
  32. package/dist-types/diagnostics/inspector.d.ts +0 -1
  33. package/dist-types/diagnostics/inspector.d.ts.map +1 -1
  34. package/dist-types/diagnostics/load-tracker.d.ts +82 -0
  35. package/dist-types/diagnostics/load-tracker.d.ts.map +1 -0
  36. package/dist-types/diagnostics/loading-overlay.d.ts +41 -0
  37. package/dist-types/diagnostics/loading-overlay.d.ts.map +1 -0
  38. package/dist-types/event-map/index.d.ts +1 -0
  39. package/dist-types/event-map/index.d.ts.map +1 -1
  40. package/dist-types/event-map/transition-handler.d.ts +2 -0
  41. package/dist-types/event-map/transition-handler.d.ts.map +1 -0
  42. package/dist-types/interfaces/providers.d.ts +5 -0
  43. package/dist-types/interfaces/providers.d.ts.map +1 -1
  44. package/dist-types/layer/action/popup.d.ts +1 -0
  45. package/dist-types/layer/action/popup.d.ts.map +1 -1
  46. package/dist-types/layer/dual-canvas-layer.d.ts.map +1 -1
  47. package/dist-types/layer/index.d.ts +1 -0
  48. package/dist-types/layer/index.d.ts.map +1 -1
  49. package/dist-types/layer/layer.d.ts +1 -0
  50. package/dist-types/layer/layer.d.ts.map +1 -1
  51. package/dist-types/layer/model-layer.d.ts +46 -7
  52. package/dist-types/layer/model-layer.d.ts.map +1 -1
  53. package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
  54. package/dist-types/layer/modeling-layer.d.ts.map +1 -1
  55. package/dist-types/layer/selection/selected-finder.d.ts.map +1 -1
  56. package/dist-types/layer/selection-layer.d.ts.map +1 -1
  57. package/dist-types/layer/snap-guide-layer.d.ts +23 -0
  58. package/dist-types/layer/snap-guide-layer.d.ts.map +1 -0
  59. package/dist-types/search/index.d.ts +3 -0
  60. package/dist-types/search/index.d.ts.map +1 -0
  61. package/dist-types/search/scene-search-engine.d.ts +65 -0
  62. package/dist-types/search/scene-search-engine.d.ts.map +1 -0
  63. package/dist-types/search/search-overlay.d.ts +69 -0
  64. package/dist-types/search/search-overlay.d.ts.map +1 -0
  65. package/dist-types/things-scene/api/align.d.ts.map +1 -1
  66. package/dist-types/things-scene/api/distribute.d.ts.map +1 -1
  67. package/dist-types/things-scene/api/place.d.ts.map +1 -1
  68. package/dist-types/things-scene/application-context.d.ts +16 -0
  69. package/dist-types/things-scene/application-context.d.ts.map +1 -1
  70. package/dist-types/things-scene/create.d.ts +4 -1
  71. package/dist-types/things-scene/create.d.ts.map +1 -1
  72. package/dist-types/things-scene/index.d.ts +7 -0
  73. package/dist-types/things-scene/index.d.ts.map +1 -1
  74. package/dist-types/things-scene/scene.d.ts +15 -0
  75. package/dist-types/things-scene/scene.d.ts.map +1 -1
  76. package/dist-types/threed/arrow-3d.d.ts +13 -4
  77. package/dist-types/threed/arrow-3d.d.ts.map +1 -1
  78. package/dist-types/threed/common.d.ts +5 -0
  79. package/dist-types/threed/common.d.ts.map +1 -1
  80. package/dist-types/threed/environments/base-environment.d.ts +9 -0
  81. package/dist-types/threed/environments/base-environment.d.ts.map +1 -0
  82. package/dist-types/threed/environments/factory-environment.d.ts +10 -0
  83. package/dist-types/threed/environments/factory-environment.d.ts.map +1 -0
  84. package/dist-types/threed/environments/home-environment.d.ts +10 -0
  85. package/dist-types/threed/environments/home-environment.d.ts.map +1 -0
  86. package/dist-types/threed/environments/index.d.ts +6 -0
  87. package/dist-types/threed/environments/index.d.ts.map +1 -0
  88. package/dist-types/threed/environments/office-environment.d.ts +10 -0
  89. package/dist-types/threed/environments/office-environment.d.ts.map +1 -0
  90. package/dist-types/threed/environments/studio-environment.d.ts +11 -0
  91. package/dist-types/threed/environments/studio-environment.d.ts.map +1 -0
  92. package/dist-types/threed/environments/warehouse-environment.d.ts +10 -0
  93. package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -0
  94. package/dist-types/threed/factories/banner.d.ts +2 -1
  95. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  96. package/dist-types/threed/factories/camera.d.ts +1 -0
  97. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  98. package/dist-types/threed/factories/cube.d.ts +1 -0
  99. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  100. package/dist-types/threed/factories/cylinder.d.ts +1 -0
  101. package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
  102. package/dist-types/threed/factories/gltf-object.d.ts +20 -4
  103. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  104. package/dist-types/threed/factories/light.d.ts +1 -0
  105. package/dist-types/threed/factories/light.d.ts.map +1 -1
  106. package/dist-types/threed/factories/line.d.ts +10 -0
  107. package/dist-types/threed/factories/line.d.ts.map +1 -0
  108. package/dist-types/threed/factories/polyline.d.ts +10 -0
  109. package/dist-types/threed/factories/polyline.d.ts.map +1 -0
  110. package/dist-types/threed/factories/sphere.d.ts +1 -0
  111. package/dist-types/threed/factories/sphere.d.ts.map +1 -1
  112. package/dist-types/threed/factories/sprite.d.ts +1 -0
  113. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  114. package/dist-types/threed/factories/wall.d.ts +1 -0
  115. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  116. package/dist-types/threed/index.d.ts +6 -0
  117. package/dist-types/threed/index.d.ts.map +1 -1
  118. package/dist-types/threed/managers/box-selection-manager.d.ts +26 -0
  119. package/dist-types/threed/managers/box-selection-manager.d.ts.map +1 -0
  120. package/dist-types/threed/managers/camera-bookmark-manager.d.ts +127 -0
  121. package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -0
  122. package/dist-types/threed/managers/camera-manager.d.ts +9 -3
  123. package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
  124. package/dist-types/threed/managers/controls-manager.d.ts +22 -4
  125. package/dist-types/threed/managers/controls-manager.d.ts.map +1 -1
  126. package/dist-types/threed/managers/event-manager3d.d.ts +8 -0
  127. package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
  128. package/dist-types/threed/managers/gizmo-operation-manager.d.ts +6 -0
  129. package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
  130. package/dist-types/threed/managers/index.d.ts +3 -0
  131. package/dist-types/threed/managers/index.d.ts.map +1 -1
  132. package/dist-types/threed/managers/interaction-manager.d.ts +16 -0
  133. package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
  134. package/dist-types/threed/managers/light-manager.d.ts.map +1 -1
  135. package/dist-types/threed/managers/renderer-manager.d.ts +32 -0
  136. package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
  137. package/dist-types/threed/managers/scene-manager.d.ts +11 -0
  138. package/dist-types/threed/managers/scene-manager.d.ts.map +1 -1
  139. package/dist-types/threed/managers/types.d.ts +5 -2
  140. package/dist-types/threed/managers/types.d.ts.map +1 -1
  141. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts +109 -0
  142. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -0
  143. package/dist-types/threed/material-3d.d.ts +5 -0
  144. package/dist-types/threed/material-3d.d.ts.map +1 -1
  145. package/dist-types/threed/ratio-lock-utils.d.ts +9 -0
  146. package/dist-types/threed/ratio-lock-utils.d.ts.map +1 -0
  147. package/dist-types/threed/real-object-dom-element.d.ts.map +1 -1
  148. package/dist-types/threed/real-object-extrude.d.ts +6 -0
  149. package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
  150. package/dist-types/threed/real-object-gltf.d.ts +48 -3
  151. package/dist-types/threed/real-object-gltf.d.ts.map +1 -1
  152. package/dist-types/threed/real-object-line.d.ts +81 -0
  153. package/dist-types/threed/real-object-line.d.ts.map +1 -0
  154. package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
  155. package/dist-types/threed/real-object-service.d.ts +14 -0
  156. package/dist-types/threed/real-object-service.d.ts.map +1 -0
  157. package/dist-types/threed/real-object-text.d.ts +2 -0
  158. package/dist-types/threed/real-object-text.d.ts.map +1 -1
  159. package/dist-types/threed/real-object.d.ts +22 -2
  160. package/dist-types/threed/real-object.d.ts.map +1 -1
  161. package/dist-types/threed/text-editor-3d.d.ts +11 -0
  162. package/dist-types/threed/text-editor-3d.d.ts.map +1 -0
  163. package/dist-types/threed/texture/fillstyle-texture.d.ts +37 -0
  164. package/dist-types/threed/texture/fillstyle-texture.d.ts.map +1 -0
  165. package/dist-types/threed/texture/text-texture.d.ts +15 -0
  166. package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
  167. package/dist-types/threed/three-capability.d.ts +136 -6
  168. package/dist-types/threed/three-capability.d.ts.map +1 -1
  169. package/dist-types/threed/three-container.d.ts +5 -1
  170. package/dist-types/threed/three-container.d.ts.map +1 -1
  171. package/dist-types/threed/three-dimensional-container.d.ts +0 -1
  172. package/dist-types/threed/three-dimensional-container.d.ts.map +1 -1
  173. package/dist-types/transition/transition-effect.d.ts +84 -0
  174. package/dist-types/transition/transition-effect.d.ts.map +1 -0
  175. package/package.json +4 -3
  176. package/things-scene-min.js +11 -12
  177. package/things-scene-min.js.map +1 -1
  178. package/things-scene.mjs +7 -8
  179. package/things-scene.mjs.map +1 -1
@@ -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,17 @@ 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;
16
24
  trigger: (event: string, ...args: unknown[]) => void;
17
25
  constructor(mode: number, refProvider: unknown);
26
+ initLoadTracker(options?: LoadingOptions): LoadTracker;
27
+ get loadTracker(): LoadTracker | undefined;
28
+ /** 앱에서 미리 생성한 LoadTracker를 받아서 사용 (dispose 책임은 앱에 있음) */
29
+ adoptLoadTracker(tracker: LoadTracker): void;
30
+ initLagTracker(config: LagMonitorConfig | LagMonitorConfig[]): DataLagTracker;
31
+ get lagTracker(): DataLagTracker | undefined;
18
32
  dispose(): void;
19
33
  _calcScreen(): void;
20
34
  subscribe(tag: string, component: unknown): unknown;
@@ -47,5 +61,7 @@ export default class ApplicationContext {
47
61
  set rotateStepForced(force: boolean);
48
62
  get dataStorage(): unknown;
49
63
  set dataStorage(dataStorage: unknown);
64
+ get postprocessing(): boolean;
65
+ set postprocessing(value: boolean);
50
66
  }
51
67
  //# 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":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAwBpE,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,eAAe,EAAE,OAAO,CAAO;IAC/B,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,YAAY,CAAC,EAAE,WAAW,CAAA;IAC1B,iBAAiB,UAAQ;IACzB,WAAW,CAAC,EAAE,cAAc,CAAA;IAC5B,OAAO,EAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;gBAEzC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO;IAY9C,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,WAAW;IAMtD,IAAI,WAAW,IAAI,WAAW,GAAG,SAAS,CAEzC;IAED,yDAAyD;IACzD,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAK5C,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,cAAc;IAM7E,IAAI,UAAU,IAAI,cAAc,GAAG,SAAS,CAE3C;IAED,OAAO;IASP,WAAW;IAUX,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;IAIzC,IAAI,WAAW,YAEd;IAED,IAAI,wBAAwB,CAAC,wBAAwB;wBA3ER,MAAM,aAAa,OAAO,GAAG,OAAO;oBAAc,IAAI;iBA2E9C,EAEpD;IAED,IAAI,wBAAwB;wBA/EiB,MAAM,aAAa,OAAO,GAAG,OAAO;oBAAc,IAAI;kBAiFlG;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;IAED,IAAI,cAAc,IAIQ,OAAO,CAFhC;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,EAEhC;CACF"}
@@ -1,6 +1,7 @@
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';
4
5
  import Scene from './scene.js';
5
6
  export interface SceneCreateOptions {
6
7
  target?: HTMLElement | string;
@@ -14,6 +15,8 @@ export interface SceneCreateOptions {
14
15
  dataStorage?: PersistentDataStorage;
15
16
  baseUrl?: string;
16
17
  fitMode?: FITMODE;
18
+ postprocessing?: boolean;
19
+ loading?: LoadingOptions;
17
20
  }
18
- export default function create({ target, model, style, layers, handlers, mode, refProvider, dataSubscriptionProvider, dataStorage, baseUrl, fitMode }: SceneCreateOptions): Scene;
21
+ export default function create({ target, model, style, layers, handlers, mode, refProvider, dataSubscriptionProvider, dataStorage, baseUrl, fitMode, postprocessing, loading: loadingOptions }: SceneCreateOptions): Scene;
19
22
  //# 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;AAEpE,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;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,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"}
@@ -35,6 +35,13 @@ export { default as version } from './version.js';
35
35
  export { default as FPS, stopFPSMeasure } from './fps.js';
36
36
  export { metrics } from '../diagnostics/metrics.js';
37
37
  export { inspector } from '../diagnostics/inspector.js';
38
+ export { LoadTracker } from '../diagnostics/load-tracker.js';
39
+ export type { LoadPhase, LoadEntry, LoadingOptions, LoadStats, PhaseRecord } from '../diagnostics/load-tracker.js';
40
+ export { DataLagTracker } from '../diagnostics/data-lag-tracker.js';
41
+ export type { LagMonitorConfig, LagTrend, LagLevel, LagStats } from '../diagnostics/data-lag-tracker.js';
42
+ export { LoadingOverlay } from '../diagnostics/loading-overlay.js';
38
43
  export { default as ScenePopup } from '../layer/action/popup.js';
44
+ export { default as TransitionEffect } from '../transition/transition-effect.js';
45
+ export * from '../search/index.js';
39
46
  export * from '../threed/index.js';
40
47
  //# 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,4 +1,7 @@
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
6
  * 화면(scene) 객체
4
7
  */
@@ -6,6 +9,10 @@ declare class Scene {
6
9
  _container: any;
7
10
  _commander: any;
8
11
  app: any;
12
+ private _searchOverlay;
13
+ private _loadingOverlay;
14
+ onDataBindingToggle?: () => void;
15
+ onMonitorToggle?: () => void;
9
16
  static get residents(): number;
10
17
  static get residentsCount(): number;
11
18
  /**
@@ -93,6 +100,14 @@ declare class Scene {
93
100
  stopStylePasteMode(): void;
94
101
  startDatabindPasteMode(): void;
95
102
  stopDatabindPasteMode(): void;
103
+ get loading(): LoadTracker | undefined;
104
+ get loadingOverlay(): LoadingOverlay;
105
+ showLoadingOverlay(): void;
106
+ hideLoadingOverlay(): void;
107
+ toggleLoadingOverlay(): void;
108
+ get searchOverlay(): SearchOverlay;
109
+ private _setupSearchOverlay;
110
+ private _setupLoadingOverlay;
96
111
  }
97
112
  export default Scene;
98
113
  //# 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":"AAIA,OAAO,OAAO,MAAM,yBAAyB,CAAA;AAK7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAQ3D;;GAEG;AACH,cAAM,KAAK;IACT,UAAU,EAAE,GAAG,CAAA;IACf,UAAU,EAAE,GAAG,CAAA;IACf,GAAG,EAAE,GAAG,CAAA;IACR,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,eAAe,CAAuB;IAC9C,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAE5B,MAAM,KAAK,SAAS,WAEnB;IAED,MAAM,KAAK,cAAc,WAExB;IAED;;;OAGG;gBACS,SAAS,EAAE,GAAG;IAqB1B,GAAG,CAAC,MAAM,KAAA,EAAE,cAAc,CAAC,KAAA,EAAE,IAAI,CAAC,KAAA;IAIlC,SAAS;IAIT,MAAM;IAIN,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IAI7C,UAAU,CAAC,GAAG,CAAC,KAAA;IAMf,IAAI,MAAM,QAET;IAED,IAAI,MAAM,CAAC,MAAM,KAAA,EAsBhB;IAID,IAAI,KAAK,QAER;IAED,IAAI,KAAK,CAAC,KAAK,KAAA,EAEd;IAED,IAAI,SAAS,QAEZ;IAED,IAAI,SAAS,CAAC,SAAS,KAAA,EAEtB;IAED,IAAI,IAAI,QAEP;IAED,IAAI,GAAG,QAEN;IAED,IAAI,GAAG,QAEN;IAED,IAAI,IAAI,QAEP;IAED,MAAM,KAAK,IAAI,WAEd;IAED,IAAI,SAAS,QAEZ;IAED,IAAI,MAAM,QAET;IAED,IAAI,MAAM,CAAC,IAAI,KAAA,EAGd;IAED,MAAM;IAMN,OAAO;IAIP,OAAO;IAaP,IAAI,QAAQ,QAEX;IAED,IAAI,QAAQ,CAAC,QAAQ,KAAA,EAEpB;IAED,MAAM,CAAC,QAAQ,KAAA,EAAE,GAAG,MAAM,OAAA;IAO1B,IAAI,SAAS,QAEZ;IAED,IAAI;IAIJ,QAAQ;IAIR,IAAI;IAIJ,QAAQ;IAIR,QAAQ;IAIR,qBAAqB;IAMrB,GAAG;IAIH,IAAI;IAIJ,KAAK,CAAC,MAAM,CAAC,KAAA;IAIb,cAAc,CAAC,UAAU,CAAC,KAAA;IAM1B,MAAM,CAAC,QAAQ,KAAA,EAAE,KAAK,CAAC,KAAA,EAAE,IAAI,CAAC,KAAA;IAI9B,IAAI,KAAK,QAER;IAED,IAAI,KAAK,CAAC,KAAK,KAAA,EAEd;IAED,IAAI,aAAa,QAEhB;IAED,IAAI,IAAI,QAEP;IAED,OAAO,CAAC,QAAQ,KAAA,EAAE,GAAG,MAAM,OAAA;IAI3B,SAAS,CAAC,QAAQ,KAAA,EAAE,GAAG,MAAM,OAAA;IAI7B,QAAQ,CAAC,EAAE,KAAA;IAIX,WAAW,CAAC,EAAE,KAAA;IAId,SAAS;IAOT,KAAK,CAAC,IAAI,KAAA;IAIV,KAAK,CAAC,IAAI,KAAA;IAIV,UAAU,CAAC,IAAI,KAAA;IAIf,IAAI,CAAC,SAAS,CAAC,KAAA,EAAE,YAAY,CAAC,KAAA,EAAE,QAAQ,CAAC,KAAA;IAIzC,MAAM,CAAC,IAAI,KAAA;IAIX,SAAS;IAIT,SAAS;IAMT,EAAE,CAAC,KAAK,KAAA,EAAE,QAAQ,KAAA,EAAE,OAAO,CAAC,KAAA;IAI5B,IAAI,CAAC,KAAK,KAAA,EAAE,QAAQ,KAAA,EAAE,OAAO,CAAC,KAAA;IAI9B,GAAG,CAAC,KAAK,CAAC,KAAA,EAAE,QAAQ,CAAC,KAAA,EAAE,OAAO,CAAC,KAAA;IAI/B,QAAQ,CAAC,SAAS,KAAA,EAAE,QAAQ,CAAC,KAAA;IAM7B,IAAI,IAAI,QAEP;IAED,IAAI,IAAI,CAAC,IAAI,KAAA,EAEZ;IAID,SAAS,CAAC,IAAI,CAAC,KAAA,EAAE,cAAc,CAAC,KAAA,EAAE,KAAK,CAAC,KAAA,EAAE,MAAM,CAAC,KAAA;IAMjD,KAAK;IAIL,OAAO;IAMP,GAAG,CAAC,IAAI,CAAC,KAAA;IAKT,IAAI,OAAO,QAEV;IAID,IAAI,GAAG,UAEN;IAED,IAAI,IAAI,QAEP;IAED,IAAI,IAAI,CAAC,IAAI,KAAA,EAEZ;IAED,IAAI,WAAW,QAEd;IAED,IAAI,WAAW,CAAC,IAAI,KAAA,EAEnB;IAED,IAAI,MAAM,QAET;IAED,IAAI,MAAM,CAAC,MAAM,KAAA,EAEhB;IAED,IAAI,aAAa,QAEhB;IAED,IAAI,aAAa,CAAC,MAAM,KAAA,EAEvB;IAED,IAAI,OAAO,QAEV;IAED,IAAI,OAAO,CAAC,OAAO,KAAA,EAElB;IAID,YAAY,CAAC,MAAM,CAAC,KAAA;IAIpB,mBAAmB;IAInB,kBAAkB;IAIlB,sBAAsB;IAItB,qBAAqB;IAMrB,IAAI,OAAO,IAAI,WAAW,GAAG,SAAS,CAErC;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,kBAAkB,IAAI,IAAI;IAI1B,kBAAkB,IAAI,IAAI;IAI1B,oBAAoB,IAAI,IAAI;IAa5B,IAAI,aAAa,IAAI,aAAa,CAEjC;IAED,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,oBAAoB;CAM7B;AAED,eAAe,KAAK,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import * as THREE from 'three';
2
2
  import { Line2 } from 'three/examples/jsm/lines/Line2.js';
3
- export type TipType = 'none' | 'arrow' | 'open-arrow' | 'sharp-arrow' | 'diamond' | 'oval';
3
+ export type TipType = 'none' | 'arrow' | 'open-arrow' | 'sharp-arrow' | 'diamond' | 'oval' | 'cross';
4
4
  export type TipSize = 'size1' | 'size2' | 'size3' | 'size4' | 'size5' | 'size6' | 'size7' | 'size8' | 'size9';
5
5
  export type LineDash = 'solid' | 'round-dot' | 'square-dot' | 'dash' | 'dash-dot' | 'long-dash' | 'long-dash-dot' | 'long-dash-dot-dot';
6
6
  export interface ArrowStyle3D {
@@ -22,16 +22,25 @@ export declare function tipSize(size: TipSize | undefined, lineWidth: number): {
22
22
  Y: number;
23
23
  };
24
24
  /**
25
- * 팁 타입별 BufferGeometry(또는 Line2) 생성.
26
- * XY 평면, +X 방향이 화살표가 가리키는 방향(외부에서 쿼터니언 회전).
25
+ * 팁 타입별 3D Geometry 생성.
26
+ * +X 방향이 화살표가 가리키는 방향(외부에서 쿼터니언 회전).
27
27
  * 반환이 null이면 'none' 팁.
28
+ *
29
+ * 3D 형상 매핑:
30
+ * - arrow → ConeGeometry (넓은 원뿔)
31
+ * - sharp-arrow → ConeGeometry (좁고 긴 원뿔)
32
+ * - open-arrow → ConeGeometry (wireframe)
33
+ * - diamond → OctahedronGeometry
34
+ * - oval → SphereGeometry
35
+ * - cross → TetrahedronGeometry
28
36
  */
29
37
  export declare function createTipGeometry(type: TipType, size: {
30
38
  X: number;
31
39
  Y: number;
32
- }, lineWidth: number): {
40
+ }, _lineWidth: number): {
33
41
  mesh?: THREE.Mesh;
34
42
  line2?: Line2;
43
+ group?: THREE.Group;
35
44
  } | null;
36
45
  /**
37
46
  * Line2 + LineMaterial 기반 화살표 줄기 생성.
@@ -1 +1 @@
1
- {"version":3,"file":"arrow-3d.d.ts","sourceRoot":"","sources":["../../src/threed/arrow-3d.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAQzD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,CAAA;AAC1F,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAC7G,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,WAAW,GACX,YAAY,GACZ,MAAM,GACN,UAAU,GACV,WAAW,GACX,eAAe,GACf,mBAAmB,CAAA;AAEvB,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAMD;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAwB9F;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9B,SAAS,EAAE,MAAM,GAChB;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG,IAAI,CA+D7C;AAqCD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CA4CP;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,KAAK,CAAC,OAAO,GACtB,KAAK,CAAC,MAAM,CAqCd;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CAAC,KAAK,CAqGb"}
1
+ {"version":3,"file":"arrow-3d.d.ts","sourceRoot":"","sources":["../../src/threed/arrow-3d.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAQzD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AACpG,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAC7G,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,WAAW,GACX,YAAY,GACZ,MAAM,GACN,UAAU,GACV,WAAW,GACX,eAAe,GACf,mBAAmB,CAAA;AAEvB,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAMD;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAwB9F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9B,UAAU,EAAE,MAAM,GACjB;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAA;CAAE,GAAG,IAAI,CA4ElE;AAqCD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CA4CP;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,KAAK,CAAC,OAAO,GACtB,KAAK,CAAC,MAAM,CAqCd;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CAAC,KAAK,CAuGb"}
@@ -1,5 +1,10 @@
1
1
  export declare const SCALE_MIN = 0.001;
2
2
  export declare function applyAlpha(material: any, alpha: number, fillStyle: any): void;
3
+ /**
4
+ * rgba/hsla 등 alpha 포함 색상 문자열에서 alpha 없는 hex 색상을 반환한다.
5
+ * THREE.Color는 alpha를 지원하지 않으므로 color.set() 전에 사용한다.
6
+ */
7
+ export declare function opaqueColor(color: string): string;
3
8
  export declare const UNIT_DIMENSION: {
4
9
  width: number;
5
10
  height: number;
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/threed/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,QAAQ,CAAA;AAE9B,wBAAgB,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAWtE;AAED,eAAO,MAAM,cAAc;;;;CAAoC,CAAA;AAC/D,eAAO,MAAM,UAAU;;;;CAAuB,CAAA;AAC9C,eAAO,MAAM,cAAc;;;;CAAuB,CAAA;AAClD,eAAO,MAAM,WAAW;;;;CAAuB,CAAA"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/threed/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,QAAQ,CAAA;AAE9B,wBAAgB,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAWtE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,eAAO,MAAM,cAAc;;;;CAAoC,CAAA;AAC/D,eAAO,MAAM,UAAU;;;;CAAuB,CAAA;AAC9C,eAAO,MAAM,cAAc;;;;CAAuB,CAAA;AAClD,eAAO,MAAM,WAAW;;;;CAAuB,CAAA"}
@@ -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
+ * 공장 환경 — 높은 천장, 강한 상단 조명, 금속적 톤, 높은 대비.
4
+ * PMREMGenerator.fromScene()으로 cubemap을 생성하여
5
+ * scene.environment / GroundedSkybox에 사용한다.
6
+ */
7
+ export declare class FactoryEnvironment extends BaseEnvironment {
8
+ constructor();
9
+ }
10
+ //# sourceMappingURL=factory-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/factory-environment.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;;CA+DtD"}
@@ -0,0 +1,10 @@
1
+ import { BaseEnvironment } from './base-environment.js';
2
+ /**
3
+ * 가정 환경 — 아늑한 분위기, 따뜻한 조명, 낮은 천장, 넓은 창문.
4
+ * PMREMGenerator.fromScene()으로 cubemap을 생성하여
5
+ * scene.environment / scene.background에 사용한다.
6
+ */
7
+ export declare class HomeEnvironment extends BaseEnvironment {
8
+ constructor();
9
+ }
10
+ //# sourceMappingURL=home-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/home-environment.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,eAAe;;CA0DnD"}
@@ -0,0 +1,6 @@
1
+ export { StudioEnvironment } from './studio-environment.js';
2
+ export { WarehouseEnvironment } from './warehouse-environment.js';
3
+ export { FactoryEnvironment } from './factory-environment.js';
4
+ export { OfficeEnvironment } from './office-environment.js';
5
+ export { HomeEnvironment } from './home-environment.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { BaseEnvironment } from './base-environment.js';
2
+ /**
3
+ * 사무실 환경 — 낮은 천장, 균일한 면광원, 따뜻한 색온도.
4
+ * PMREMGenerator.fromScene()으로 cubemap을 생성하여
5
+ * scene.environment / GroundedSkybox에 사용한다.
6
+ */
7
+ export declare class OfficeEnvironment extends BaseEnvironment {
8
+ constructor();
9
+ }
10
+ //# sourceMappingURL=office-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"office-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/office-environment.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;;CAuDrD"}
@@ -0,0 +1,11 @@
1
+ import { BaseEnvironment } from './base-environment.js';
2
+ /**
3
+ * 스튜디오 환경 — 밝고 균일한 조명, 중성 배경.
4
+ * RoomEnvironment 대체용. 바닥 오브젝트 없이 벽/천장/조명만 구성.
5
+ * PMREMGenerator.fromScene()으로 cubemap을 생성하여
6
+ * scene.environment / scene.background에 사용한다.
7
+ */
8
+ export declare class StudioEnvironment extends BaseEnvironment {
9
+ constructor();
10
+ }
11
+ //# sourceMappingURL=studio-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"studio-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/studio-environment.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;;CAoDrD"}
@@ -0,0 +1,10 @@
1
+ import { BaseEnvironment } from './base-environment.js';
2
+ /**
3
+ * 창고 환경 — 높은 천장, 상단 집중 형광등, 차가운 색온도.
4
+ * PMREMGenerator.fromScene()으로 cubemap을 생성하여
5
+ * scene.environment / GroundedSkybox에 사용한다.
6
+ */
7
+ export declare class WarehouseEnvironment extends BaseEnvironment {
8
+ constructor();
9
+ }
10
+ //# sourceMappingURL=warehouse-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warehouse-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/warehouse-environment.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;;CAqDxD"}
@@ -6,7 +6,7 @@ import { RealObject } from '../real-object.js';
6
6
  export declare class Banner3D extends RealObject {
7
7
  build(): void;
8
8
  createCube(w: number, h: number, d: number): THREE.Mesh<THREE.BoxGeometry, THREE.MeshStandardMaterial, THREE.Object3DEventMap>;
9
- createTextureBoard(w: number, h: number): THREE.Mesh<THREE.PlaneGeometry, any, THREE.Object3DEventMap>;
9
+ createTextureBoard(w: number, h: number): THREE.Mesh<THREE.PlaneGeometry, THREE.MeshStandardMaterial, THREE.Object3DEventMap>;
10
10
  updateMaterial3d(): void;
11
11
  }
12
12
  declare const Banner_base: {
@@ -249,6 +249,7 @@ declare const Banner_base: {
249
249
  };
250
250
  } & typeof Shape;
251
251
  export declare class Banner extends Banner_base {
252
+ get hasTextProperty(): boolean;
252
253
  is3dish(): boolean;
253
254
  get nature(): ComponentNature;
254
255
  buildRealObject(): IRealObject | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/banner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAmB9C,qBAAa,QAAS,SAAQ,UAAU;IACtC,KAAK;IAYL,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAqB1C,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAkCvC,gBAAgB;CAmBjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,MAAO,SAAQ,WAAe;IACzC,OAAO;IAIP,IAAI,MAAM,oBAET;IAED,eAAe,IAAI,WAAW,GAAG,SAAS;CAG3C"}
1
+ {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/banner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAmB9C,qBAAa,QAAS,SAAQ,UAAU;IACtC,KAAK;IAYL,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAe1C,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAkBvC,gBAAgB;CAgBjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,MAAO,SAAQ,WAAe;IACzC,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,IAAI,MAAM,oBAET;IAED,eAAe,IAAI,WAAW,GAAG,SAAS;CAG3C"}
@@ -251,6 +251,7 @@ declare const Camera_base: {
251
251
  } & typeof Shape;
252
252
  export declare class Camera extends Camera_base {
253
253
  static _image: HTMLImageElement;
254
+ get hasTextProperty(): boolean;
254
255
  is3dish(): boolean;
255
256
  static get image(): HTMLImageElement;
256
257
  render(context: CanvasRenderingContext2D): void;
@@ -1 +1 @@
1
- {"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/camera.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AA8C9C,qBAAa,QAAS,SAAQ,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAA;IAChC,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAE3B,SAAS,CAAC,mBAAmB;IAI7B,YAAY;IAyBZ,KAAK;CAgBN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,MAAO,SAAQ,WAAe;IACzC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAA;IAE/B,OAAO;IAIP,MAAM,KAAK,KAAK,qBAOf;IAED,MAAM,CAAC,OAAO,EAAE,wBAAwB;IAOxC,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,IAAI,eAAe,CAE5B;CACF"}
1
+ {"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/camera.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AA8C9C,qBAAa,QAAS,SAAQ,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAA;IAChC,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAE3B,SAAS,CAAC,mBAAmB;IAI7B,YAAY;IAyBZ,KAAK;CAgBN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,MAAO,SAAQ,WAAe;IACzC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAA;IAE/B,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,MAAM,KAAK,KAAK,qBAOf;IAED,MAAM,CAAC,OAAO,EAAE,wBAAwB;IAOxC,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,IAAI,eAAe,CAE5B;CACF"}
@@ -245,6 +245,7 @@ declare const Cube_base: {
245
245
  };
246
246
  } & typeof Shape;
247
247
  export declare class Cube extends Cube_base {
248
+ get hasTextProperty(): boolean;
248
249
  is3dish(): boolean;
249
250
  buildRealObject(): IRealObject | undefined;
250
251
  get nature(): ComponentNature;
@@ -1 +1 @@
1
- {"version":3,"file":"cube.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/cube.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAUvD,qBAAa,MAAO,SAAQ,cAAc;IACxC,aAAa;CAQd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,IAAK,SAAQ,SAAe;IACvC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;CACF"}
1
+ {"version":3,"file":"cube.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/cube.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAUvD,qBAAa,MAAO,SAAQ,cAAc;IACxC,aAAa;CAQd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,IAAK,SAAQ,SAAe;IACvC,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;CACF"}
@@ -7,6 +7,7 @@ export declare class Cylinder3D extends RealObjectMesh {
7
7
  updateDimension(): void;
8
8
  }
9
9
  export declare class Cylinder extends Ellipse {
10
+ get hasTextProperty(): boolean;
10
11
  is3dish(): boolean;
11
12
  buildRealObject(): IRealObject | undefined;
12
13
  get nature(): ComponentNature;
@@ -1 +1 @@
1
- {"version":3,"file":"cylinder.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/cylinder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,OAAO,MAAM,6BAA6B,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAUvD,qBAAa,UAAW,SAAQ,cAAc;IAC5C,aAAa;IAWb,eAAe,IAAI,IAAI;CAIxB;AAED,qBACa,QAAS,SAAQ,OAAO;IACnC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,IAAI,eAAe,CAE5B;CACF"}
1
+ {"version":3,"file":"cylinder.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/cylinder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,OAAO,MAAM,6BAA6B,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAUvD,qBAAa,UAAW,SAAQ,cAAc;IAC5C,aAAa;IAWb,eAAe,IAAI,IAAI;CAIxB;AAED,qBACa,QAAS,SAAQ,OAAO;IACnC,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,IAAI,eAAe,CAE5B;CACF"}
@@ -242,11 +242,17 @@ declare const GLTFObject_base: {
242
242
  };
243
243
  } & typeof Shape;
244
244
  export declare class GLTFObject extends GLTFObject_base {
245
- static _image: HTMLImageElement;
245
+ get hasTextProperty(): boolean;
246
246
  is3dish(): boolean;
247
- static get image(): HTMLImageElement;
248
247
  get controls(): Array<Control> | undefined;
249
248
  render(context: CanvasRenderingContext2D): void;
249
+ ready(): Promise<void>;
250
+ onchange(after: Record<string, any>, before: Record<string, any>): void;
251
+ /**
252
+ * 캐시에 스냅샷이 없으면 GLTF를 로드하여 탑뷰 스냅샷을 생성한다.
253
+ * 3D 씬 활성화 여부와 무관하게 2D 렌더링을 위해 독립적으로 동작한다.
254
+ */
255
+ private _ensureTopViewSnapshot;
250
256
  buildRealObject(): IRealObject | undefined;
251
257
  get nature(): ComponentNature;
252
258
  get source(): any;
@@ -256,12 +262,22 @@ export declare class GLTFObject extends GLTFObject_base {
256
262
  height: number;
257
263
  depth: number;
258
264
  });
265
+ _ratioLocking: boolean;
266
+ /**
267
+ * 가장 크게 변한 축의 변화율을 기준으로 나머지 축을 같은 비율로 스케일.
268
+ * 원본 모델 비율이 아닌 현재 비율 기준.
269
+ */
270
+ private _applyRatioLock;
271
+ set(props: any, propval?: any): any;
272
+ setState(props: any, propval?: any): any;
273
+ get play(): boolean;
274
+ set play(value: boolean);
259
275
  get nodes(): Record<string, GLTFNodeState> | undefined;
260
276
  set nodes(value: Record<string, GLTFNodeState> | undefined);
261
277
  get animations(): Record<string, GLTFAnimationState> | undefined;
262
278
  set animations(value: Record<string, GLTFAnimationState> | undefined);
263
- get autoPlay(): boolean;
264
- set autoPlay(value: boolean);
279
+ get playTargets(): string[] | string | undefined;
280
+ set playTargets(value: string[] | string | undefined);
265
281
  get fillStyleTargets(): string[] | undefined;
266
282
  set fillStyleTargets(value: string[] | undefined);
267
283
  get nodeNames(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-object.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/gltf-object.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAI7C,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmE/E,qBACa,UAAW,SAAQ,eAAe;IAC7C,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAA;IAE/B,OAAO;IAIP,MAAM,KAAK,KAAK,qBAOf;IAED,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,SAAS,CAEzC;IAED,MAAM,CAAC,OAAO,EAAE,wBAAwB;IAOxC,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;IAED,IAAI,MAAM,QAET;IAED,IAAI,MAAM,CAAC,MAAM,KAAA,EAEhB;IAED,IAAI,SAAS,CAAC,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EASxE;IAID,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,CAErD;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,EAEzD;IAED,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,CAE/D;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,EAEnE;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAE1B;IAED,IAAI,gBAAgB,IAAI,MAAM,EAAE,GAAG,SAAS,CAE3C;IAED,IAAI,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAE/C;IAED,IAAI,SAAS,IAAI,MAAM,EAAE,CAGxB;IAED,IAAI,cAAc,IAAI,MAAM,EAAE,CAG7B;CACF"}
1
+ {"version":3,"file":"gltf-object.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/gltf-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAK7C,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4E/E,qBACa,UAAW,SAAQ,eAAe;IAC7C,IAAI,eAAe,YAElB;IAED,OAAO;IAIP,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,SAAS,CAEzC;IAED,MAAM,CAAC,OAAO,EAAE,wBAAwB;IA4BlC,KAAK;IAKX,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAQhE;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAgC9B,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;IAED,IAAI,MAAM,QAET;IAED,IAAI,MAAM,CAAC,MAAM,KAAA,EAEhB;IAED,IAAI,SAAS,CAAC,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EASxE;IAID,aAAa,UAAQ;IAErB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAwBvB,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG;IAiB7B,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG;IAmBlC,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAEtB;IAID,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,CAErD;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,EAEzD;IAED,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,CAE/D;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,EAEnE;IAED,IAAI,WAAW,IAAI,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAE/C;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,EAEnD;IAED,IAAI,gBAAgB,IAAI,MAAM,EAAE,GAAG,SAAS,CAE3C;IAED,IAAI,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAE/C;IAED,IAAI,SAAS,IAAI,MAAM,EAAE,CAGxB;IAED,IAAI,cAAc,IAAI,MAAM,EAAE,CAG7B;CACF"}
@@ -10,6 +10,7 @@ export declare class LightObject extends RealObject<THREE.PointLight | THREE.Dir
10
10
  update(): void;
11
11
  }
12
12
  export declare class PointLight extends Ellipse {
13
+ get hasTextProperty(): boolean;
13
14
  is3dish(): boolean;
14
15
  buildRealObject(): IRealObject | undefined;
15
16
  get anchors(): Array<Anchor>;
@@ -1 +1 @@
1
- {"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/light.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,OAAO,MAAM,6BAA6B,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAoE9C,qBAAa,WAAY,SAAQ,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACpF,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAE3B,gBAAgB;IA2ChB,SAAS,CAAC,mBAAmB,IAAI,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,gBAAgB;IAM1E,MAAM;CASP;AAED,qBACa,UAAW,SAAQ,OAAO;IACrC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAE3B;IAED,IAAI,MAAM,IAAI,eAAe,CAE5B;CACF"}
1
+ {"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/light.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,OAAO,MAAM,6BAA6B,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAoE9C,qBAAa,WAAY,SAAQ,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACpF,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAE3B,gBAAgB;IA2ChB,SAAS,CAAC,mBAAmB,IAAI,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,gBAAgB;IAM1E,MAAM;CASP;AAED,qBACa,UAAW,SAAQ,OAAO;IACrC,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAE3B;IAED,IAAI,MAAM,IAAI,eAAe,CAE5B;CACF"}
@@ -0,0 +1,10 @@
1
+ import * as THREE from 'three';
2
+ import { RealObjectLine } from '../real-object-line.js';
3
+ /**
4
+ * Line 컴포넌트의 3D 팩토리.
5
+ * from/to 두 점을 3D 월드 좌표로 변환하여 Line2로 렌더링한다.
6
+ */
7
+ export declare class Line3D extends RealObjectLine {
8
+ get worldPath(): THREE.Vector3[];
9
+ }
10
+ //# sourceMappingURL=line.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/line.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvD;;;GAGG;AACH,qBAAa,MAAO,SAAQ,cAAc;IACxC,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAa/B;CACF"}
@@ -0,0 +1,10 @@
1
+ import * as THREE from 'three';
2
+ import { RealObjectLine } from '../real-object-line.js';
3
+ /**
4
+ * Polyline 컴포넌트의 3D 팩토리.
5
+ * path 배열의 각 점을 3D 월드 좌표로 변환하여 Line2로 렌더링한다.
6
+ */
7
+ export declare class Polyline3D extends RealObjectLine {
8
+ get worldPath(): THREE.Vector3[];
9
+ }
10
+ //# sourceMappingURL=polyline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polyline.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/polyline.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvD;;;GAGG;AACH,qBAAa,UAAW,SAAQ,cAAc;IAC5C,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAa/B;CACF"}
@@ -7,6 +7,7 @@ export declare class Sphere3D extends RealObjectMesh {
7
7
  updateDimension(): void;
8
8
  }
9
9
  export declare class Sphere extends Ellipse {
10
+ get hasTextProperty(): boolean;
10
11
  is3dish(): boolean;
11
12
  buildRealObject(): IRealObject | undefined;
12
13
  get nature(): ComponentNature;