@hatiolab/things-scene 10.0.0-beta.3 → 10.0.0-beta.31

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 (163) hide show
  1. package/CHANGELOG.md +2240 -0
  2. package/dist-types/components/audio.d.ts +2 -2
  3. package/dist-types/components/container-abstract.d.ts +4 -4
  4. package/dist-types/components/container.d.ts +3 -3
  5. package/dist-types/components/ellipse.d.ts +2 -2
  6. package/dist-types/components/geometry/snap-guide.d.ts +45 -0
  7. package/dist-types/components/geometry/snap-guide.d.ts.map +1 -0
  8. package/dist-types/components/geometry/transcoord.d.ts.map +1 -1
  9. package/dist-types/components/html-overlay-container.d.ts +3 -3
  10. package/dist-types/components/html-overlay-element.d.ts +4 -4
  11. package/dist-types/components/image-view.d.ts +2 -2
  12. package/dist-types/components/index.d.ts +1 -0
  13. package/dist-types/components/index.d.ts.map +1 -1
  14. package/dist-types/components/info-window.d.ts +2 -2
  15. package/dist-types/components/line.d.ts +1 -1
  16. package/dist-types/components/local-ref.d.ts +2 -2
  17. package/dist-types/components/mixins/connectable.d.ts +2 -2
  18. package/dist-types/components/mixins/data-source.d.ts +2 -2
  19. package/dist-types/components/mixins/html-element.d.ts +2 -2
  20. package/dist-types/components/mixins/move-handle.d.ts +2 -2
  21. package/dist-types/components/mixins/rect-path.d.ts +2 -2
  22. package/dist-types/components/mixins/value-holder.d.ts +2 -2
  23. package/dist-types/components/mutater/path.d.ts.map +1 -1
  24. package/dist-types/components/node.d.ts +2 -2
  25. package/dist-types/components/popup.d.ts +2 -2
  26. package/dist-types/components/rect.d.ts +4 -4
  27. package/dist-types/components/root-container.d.ts +4 -0
  28. package/dist-types/components/root-container.d.ts.map +1 -1
  29. package/dist-types/components/ruler.d.ts +2 -2
  30. package/dist-types/components/service-component.d.ts +264 -0
  31. package/dist-types/components/service-component.d.ts.map +1 -0
  32. package/dist-types/components/text.d.ts +2 -2
  33. package/dist-types/decorator/decorator-registry.d.ts +4 -0
  34. package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
  35. package/dist-types/layer/index.d.ts +1 -0
  36. package/dist-types/layer/index.d.ts.map +1 -1
  37. package/dist-types/layer/model-layer.d.ts +44 -7
  38. package/dist-types/layer/model-layer.d.ts.map +1 -1
  39. package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
  40. package/dist-types/layer/modeling-layer.d.ts.map +1 -1
  41. package/dist-types/layer/selection/selected-finder.d.ts.map +1 -1
  42. package/dist-types/layer/selection-layer.d.ts.map +1 -1
  43. package/dist-types/layer/snap-guide-layer.d.ts +23 -0
  44. package/dist-types/layer/snap-guide-layer.d.ts.map +1 -0
  45. package/dist-types/search/index.d.ts +3 -0
  46. package/dist-types/search/index.d.ts.map +1 -0
  47. package/dist-types/search/scene-search-engine.d.ts +65 -0
  48. package/dist-types/search/scene-search-engine.d.ts.map +1 -0
  49. package/dist-types/search/search-overlay.d.ts +69 -0
  50. package/dist-types/search/search-overlay.d.ts.map +1 -0
  51. package/dist-types/things-scene/api/align.d.ts.map +1 -1
  52. package/dist-types/things-scene/api/distribute.d.ts.map +1 -1
  53. package/dist-types/things-scene/api/place.d.ts.map +1 -1
  54. package/dist-types/things-scene/application-context.d.ts +3 -0
  55. package/dist-types/things-scene/application-context.d.ts.map +1 -1
  56. package/dist-types/things-scene/create.d.ts +2 -1
  57. package/dist-types/things-scene/create.d.ts.map +1 -1
  58. package/dist-types/things-scene/index.d.ts +2 -0
  59. package/dist-types/things-scene/index.d.ts.map +1 -1
  60. package/dist-types/things-scene/scene.d.ts +5 -1
  61. package/dist-types/things-scene/scene.d.ts.map +1 -1
  62. package/dist-types/threed/arrow-3d.d.ts +13 -4
  63. package/dist-types/threed/arrow-3d.d.ts.map +1 -1
  64. package/dist-types/threed/common.d.ts +5 -0
  65. package/dist-types/threed/common.d.ts.map +1 -1
  66. package/dist-types/threed/environments/base-environment.d.ts +9 -0
  67. package/dist-types/threed/environments/base-environment.d.ts.map +1 -0
  68. package/dist-types/threed/environments/factory-environment.d.ts +10 -0
  69. package/dist-types/threed/environments/factory-environment.d.ts.map +1 -0
  70. package/dist-types/threed/environments/home-environment.d.ts +10 -0
  71. package/dist-types/threed/environments/home-environment.d.ts.map +1 -0
  72. package/dist-types/threed/environments/index.d.ts +6 -0
  73. package/dist-types/threed/environments/index.d.ts.map +1 -0
  74. package/dist-types/threed/environments/office-environment.d.ts +10 -0
  75. package/dist-types/threed/environments/office-environment.d.ts.map +1 -0
  76. package/dist-types/threed/environments/studio-environment.d.ts +11 -0
  77. package/dist-types/threed/environments/studio-environment.d.ts.map +1 -0
  78. package/dist-types/threed/environments/warehouse-environment.d.ts +10 -0
  79. package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -0
  80. package/dist-types/threed/factories/banner.d.ts +4 -3
  81. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  82. package/dist-types/threed/factories/camera.d.ts +3 -2
  83. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  84. package/dist-types/threed/factories/cube.d.ts +3 -2
  85. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  86. package/dist-types/threed/factories/cylinder.d.ts +1 -0
  87. package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
  88. package/dist-types/threed/factories/gltf-object.d.ts +10 -4
  89. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  90. package/dist-types/threed/factories/light.d.ts +1 -0
  91. package/dist-types/threed/factories/light.d.ts.map +1 -1
  92. package/dist-types/threed/factories/line.d.ts +10 -0
  93. package/dist-types/threed/factories/line.d.ts.map +1 -0
  94. package/dist-types/threed/factories/polyline.d.ts +10 -0
  95. package/dist-types/threed/factories/polyline.d.ts.map +1 -0
  96. package/dist-types/threed/factories/sphere.d.ts +1 -0
  97. package/dist-types/threed/factories/sphere.d.ts.map +1 -1
  98. package/dist-types/threed/factories/sprite.d.ts +3 -2
  99. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  100. package/dist-types/threed/factories/wall.d.ts +3 -2
  101. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  102. package/dist-types/threed/index.d.ts +6 -0
  103. package/dist-types/threed/index.d.ts.map +1 -1
  104. package/dist-types/threed/managers/box-selection-manager.d.ts +26 -0
  105. package/dist-types/threed/managers/box-selection-manager.d.ts.map +1 -0
  106. package/dist-types/threed/managers/camera-bookmark-manager.d.ts +127 -0
  107. package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -0
  108. package/dist-types/threed/managers/camera-manager.d.ts +9 -3
  109. package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
  110. package/dist-types/threed/managers/controls-manager.d.ts +19 -4
  111. package/dist-types/threed/managers/controls-manager.d.ts.map +1 -1
  112. package/dist-types/threed/managers/event-manager3d.d.ts +8 -0
  113. package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
  114. package/dist-types/threed/managers/gizmo-operation-manager.d.ts +6 -0
  115. package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
  116. package/dist-types/threed/managers/index.d.ts +3 -0
  117. package/dist-types/threed/managers/index.d.ts.map +1 -1
  118. package/dist-types/threed/managers/interaction-manager.d.ts +16 -0
  119. package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
  120. package/dist-types/threed/managers/light-manager.d.ts.map +1 -1
  121. package/dist-types/threed/managers/renderer-manager.d.ts +26 -0
  122. package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
  123. package/dist-types/threed/managers/scene-manager.d.ts +11 -0
  124. package/dist-types/threed/managers/scene-manager.d.ts.map +1 -1
  125. package/dist-types/threed/managers/types.d.ts +3 -2
  126. package/dist-types/threed/managers/types.d.ts.map +1 -1
  127. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts +109 -0
  128. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -0
  129. package/dist-types/threed/material-3d.d.ts +5 -0
  130. package/dist-types/threed/material-3d.d.ts.map +1 -1
  131. package/dist-types/threed/real-object-dom-element.d.ts.map +1 -1
  132. package/dist-types/threed/real-object-extrude.d.ts +6 -0
  133. package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
  134. package/dist-types/threed/real-object-gltf.d.ts +38 -1
  135. package/dist-types/threed/real-object-gltf.d.ts.map +1 -1
  136. package/dist-types/threed/real-object-line.d.ts +81 -0
  137. package/dist-types/threed/real-object-line.d.ts.map +1 -0
  138. package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
  139. package/dist-types/threed/real-object-service.d.ts +14 -0
  140. package/dist-types/threed/real-object-service.d.ts.map +1 -0
  141. package/dist-types/threed/real-object-text.d.ts +2 -0
  142. package/dist-types/threed/real-object-text.d.ts.map +1 -1
  143. package/dist-types/threed/real-object.d.ts +14 -2
  144. package/dist-types/threed/real-object.d.ts.map +1 -1
  145. package/dist-types/threed/text-editor-3d.d.ts +11 -0
  146. package/dist-types/threed/text-editor-3d.d.ts.map +1 -0
  147. package/dist-types/threed/texture/fillstyle-texture.d.ts +37 -0
  148. package/dist-types/threed/texture/fillstyle-texture.d.ts.map +1 -0
  149. package/dist-types/threed/texture/text-texture.d.ts +15 -0
  150. package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
  151. package/dist-types/threed/three-capability.d.ts +130 -6
  152. package/dist-types/threed/three-capability.d.ts.map +1 -1
  153. package/dist-types/threed/three-container.d.ts +5 -1
  154. package/dist-types/threed/three-container.d.ts.map +1 -1
  155. package/dist-types/threed/three-dimensional-container.d.ts +0 -1
  156. package/dist-types/threed/three-dimensional-container.d.ts.map +1 -1
  157. package/dist-types/types/index.d.ts +1 -0
  158. package/dist-types/types/index.d.ts.map +1 -1
  159. package/package.json +4 -3
  160. package/things-scene-min.js +12 -12
  161. package/things-scene-min.js.map +1 -1
  162. package/things-scene.mjs +8 -8
  163. package/things-scene.mjs.map +1 -1
@@ -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"}
@@ -137,7 +137,7 @@ declare const Text_base: {
137
137
  get textHidden(): boolean;
138
138
  set textHidden(v: boolean);
139
139
  get hasTextProperty(): boolean;
140
- animate(opts: import("../animation/interfaces.js").AnimationConfig): any;
140
+ animate(opts: import("../index.js").AnimationConfig): any;
141
141
  effect(context: import("../index.js").SceneRenderContext, model: any): void;
142
142
  serialize(...others: any[]): string;
143
143
  trim(): void;
@@ -151,7 +151,7 @@ declare const Text_base: {
151
151
  set tap(v: any);
152
152
  get mappings(): any[];
153
153
  get retention(): number;
154
- get animation(): import("../animation/interfaces.js").AnimationController | undefined;
154
+ get animation(): import("../index.js").AnimationController | undefined;
155
155
  get started(): boolean;
156
156
  set started(v: boolean);
157
157
  get controls(): import("../index.js").Control[] | undefined;
@@ -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;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,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"}
@@ -5,4 +5,5 @@ export { default as AddLayer } from './add-layer.js';
5
5
  export { default as SelectionLayer } from './selection-layer.js';
6
6
  export { default as ModelingLayer } from './modeling-layer.js';
7
7
  export { default as ScrollLayer } from './scroll-layer.js';
8
+ export { default as SnapGuideLayer } from './snap-guide-layer.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1,4 +1,4 @@
1
- import type * as THREE from 'three';
1
+ import * as THREE from 'three';
2
2
  import type { ArrowStyle3D } from '../threed/arrow-3d.js';
3
3
  import Component from '../components/component.js';
4
4
  import ScenePopup from './action/popup.js';
@@ -23,19 +23,22 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
23
23
  _decoratorAuxOverlay: any;
24
24
  private _threeCapability?;
25
25
  private _lastCameraState?;
26
+ private _saved2DViewport?;
26
27
  private _toolbar?;
27
- private _cameraSection?;
28
- private _gizmoSection?;
29
28
  private _cameraButtons?;
30
- private _gizmoButtons?;
29
+ private _floatingPopup?;
30
+ private _floatingPopupCloseHandler?;
31
+ /** Scene이 주입하는 검색 토글 콜백 */
32
+ onSearchToggle?: () => void;
31
33
  get nature(): ComponentNature;
32
34
  get is3dMode(): boolean;
33
35
  is3dContainer(): boolean;
36
+ get gizmoMode(): 'translate' | 'rotate' | 'scale' | undefined;
37
+ setGizmoMode(mode: 'translate' | 'rotate' | 'scale'): void;
34
38
  get scene3d(): THREE.Scene | undefined;
35
39
  get renderer3d(): THREE.WebGLRenderer | undefined;
36
40
  get activeCamera3d(): THREE.Camera | undefined;
37
41
  get mixer(): THREE.AnimationMixer | undefined;
38
- get zoom(): number | undefined;
39
42
  addArrow3D(id: string, from: Component, to: Component, style?: ArrowStyle3D): void;
40
43
  removeArrow3D(id: string): void;
41
44
  clearArrows3D(): void;
@@ -45,6 +48,18 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
45
48
  * _activateThreeD()와 adoptThreeCapability()에서 공용으로 사용한다.
46
49
  */
47
50
  private _hide2DLayers;
51
+ /**
52
+ * zoom-handler가 등록되어 있는지 확인한다.
53
+ * zoom-handler가 있으면 사용자가 자유 줌/팬이 가능하므로 뷰포트 연동이 필요하다.
54
+ */
55
+ private get _hasZoomHandler();
56
+ /**
57
+ * 2D↔3D 전환 시 뷰포트 연동이 필요한지 판단한다.
58
+ * - 모델러: 항상 연동 (3D↔2D 카메라 매핑)
59
+ * - 뷰어 + zoom-handler: 연동 (2D 상태 저장/복원)
60
+ * - 뷰어 + zoom-handler 없음: 독립 (각자 뷰, 연동 불필요)
61
+ */
62
+ private get _needsViewportSync();
48
63
  private _activateThreeD;
49
64
  /**
50
65
  * 플로팅 툴바를 생성한다.
@@ -54,9 +69,15 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
54
69
  private _createToolbar;
55
70
  private _applyToggleStyle;
56
71
  private _applyButtonStyle;
57
- private _toggleToolbarSection;
58
72
  private _updateCameraButtons;
59
- private _updateGizmoButtons;
73
+ private _registerPopupCallbacks;
74
+ private _closeFloatingPopup;
75
+ private _showFloatingPopup;
76
+ private _makePopupDraggable;
77
+ private _toggleHelpPanel;
78
+ private _toggleBookmarkNav;
79
+ private _toggleBookmarkEdit;
80
+ private _buildBookmarkPopup;
60
81
  private _removeToolbar;
61
82
  /**
62
83
  * 3D 렌더러를 실제 표시 영역 크기에 맞춰 리사이즈한다.
@@ -81,6 +102,20 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
81
102
  */
82
103
  adoptThreeCapability(cap: ThreeCapability): void;
83
104
  private _deactivateThreeD;
105
+ /**
106
+ * 실제 뷰포트 크기를 반환한다.
107
+ * canvas가 hidden일 수 있으므로 target(외부 컨테이너)에서 읽는다.
108
+ */
109
+ private _getViewportSize;
110
+ /**
111
+ * 2D 뷰포트 상태를 기반으로 3D 카메라 위치/타겟을 설정한다.
112
+ */
113
+ private _initCameraFrom2DViewport;
114
+ /**
115
+ * 3D 카메라 상태를 기반으로 2D 뷰포트(translate, scale)를 설정한다.
116
+ */
117
+ private _init2DViewportFrom3DCamera;
118
+ centerTo(component: any, animated?: boolean): void;
84
119
  ready(): Promise<void>;
85
120
  dispose(): void;
86
121
  contains(x: any, y: any): boolean;
@@ -98,6 +133,7 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
98
133
  capturePath(path: any, excepts: any): any;
99
134
  getOverlay(component: any): any;
100
135
  getDecoratorOverlay(component: any): any;
136
+ _onkeydown_root(e: KeyboardEvent): void;
101
137
  get eventMap(): {
102
138
  '(self)': {
103
139
  '(all)': {
@@ -145,6 +181,7 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
145
181
  '(root)': {
146
182
  '(self)': {
147
183
  selected: (selected: any[]) => void;
184
+ keydown: (e: KeyboardEvent) => void;
148
185
  };
149
186
  };
150
187
  };
@@ -1 +1 @@
1
- {"version":3,"file":"model-layer.d.ts","sourceRoot":"","sources":["../../src/layer/model-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-layer.d.ts","sourceRoot":"","sources":["../../src/layer/model-layer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"path-handler.d.ts","sourceRoot":"","sources":["../../../src/layer/modeler/path-handler.ts"],"names":[],"mappings":"AA6BA,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,KAAK,EAAE,GAAG,CAAA;IACV,MAAM,EAAE,GAAG,CAAA;IACX,OAAO,EAAE,GAAG,CAAA;gBAEA,KAAK,EAAE,GAAG;IAItB,KAAK;IAML,IAAI,QAAQ,QAEX;IAED,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA;IAoB/B,gBAAgB,CAAC,QAAQ,KAAA,EAAE,SAAS,KAAA,EAAE,CAAC,KAAA;IAmBvC,IAAI,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA;IAmC9B,UAAU,CAAC,CAAC,KAAA;IAYZ,WAAW,CAAC,CAAC,KAAA;IAIb,WAAW,CAAC,CAAC,KAAA;IAab,UAAU,CAAC,CAAC,KAAA;IAgIZ,SAAS,CAAC,CAAC,KAAA;CAsDZ"}
1
+ {"version":3,"file":"path-handler.d.ts","sourceRoot":"","sources":["../../../src/layer/modeler/path-handler.ts"],"names":[],"mappings":"AA6BA,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,KAAK,EAAE,GAAG,CAAA;IACV,MAAM,EAAE,GAAG,CAAA;IACX,OAAO,EAAE,GAAG,CAAA;gBAEA,KAAK,EAAE,GAAG;IAItB,KAAK;IAML,IAAI,QAAQ,QAEX;IAED,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA;IAoB/B,gBAAgB,CAAC,QAAQ,KAAA,EAAE,SAAS,KAAA,EAAE,CAAC,KAAA;IAmBvC,IAAI,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA;IAmC9B,UAAU,CAAC,CAAC,KAAA;IAYZ,WAAW,CAAC,CAAC,KAAA;IAIb,WAAW,CAAC,CAAC,KAAA;IAab,UAAU,CAAC,CAAC,KAAA;IA8IZ,SAAS,CAAC,CAAC,KAAA;CAsDZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"modeling-layer.d.ts","sourceRoot":"","sources":["../../src/layer/modeling-layer.ts"],"names":[],"mappings":"AAUA,OAAO,eAAe,MAAM,wBAAwB,CAAA;AAGpD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,eAAe;IAChD,WAAW,EAAE,GAAG,CAAA;IAChB,SAAS,EAAE,GAAG,EAAE,CAAA;IAChB,sBAAsB,EAAE,GAAG,EAAE,CAAA;IAC7B,YAAY,EAAE,GAAG,CAAA;IACjB,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,GAAG,CAAA;IAClB,kBAAkB,EAAE,GAAG,EAAE,CAAA;IACzB,8BAA8B,EAAE,GAAG,EAAE,CAAA;IACrC,WAAW,EAAE,GAAG,CAAA;IAChB,aAAa,EAAE,OAAO,CAAA;IACtB,cAAc,EAAE,GAAG,CAAA;IACnB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,GAAG,CAAA;IAClB,QAAQ,EAAE,GAAG,CAAA;IACb,cAAc,EAAE,GAAG,CAAA;gBAEf,KAAK,KAAA,EAAE,OAAO,KAAA;IAuB1B,IAAI,QAAQ,UAEX;IAED,IAAI,gBAAgB,UAEnB;IAGK,KAAK;IAWX,OAAO,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,MAAM,KAAA;IAQpB,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IA2Eb,gBAAgB,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA,EAAE,KAAK,KAAA;IAqDjD,SAAS,CAAC,OAAO,KAAA;IAuBjB,MAAM,CAAC,OAAO,KAAA;IAyCd,IAAI,YAAY,QAUf;IAED,IAAI,YAAY,CAAC,MAAM,KAAA,EAEtB;IAED,IAAI,OAAO,QAEV;IAED,IAAI,OAAO,CAAC,OAAO,KAAA,EAIlB;IAED,gBAAgB,CAAC,QAAQ,KAAA,EAAE,SAAS,KAAA,EAAE,CAAC,KAAA;IAOvC,IAAI,UAAU,CAAC,MAAM,KAAA,EAGpB;IAED,IAAI,UAAU,QAEb;IAED,cAAc;IAMd,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;;;MAwBX;IAED,YAAY,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAIpB,YAAY,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAIpB,SAAS,CAAC,CAAC,KAAA;IAgBX,OAAO,CAAC,CAAC,KAAA;IAOT,UAAU,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA;IAIxB,cAAc,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA,EAAE,IAAI,KAAA;IAoBlC,gBAAgB,CAAC,KAAK,KAAA,EAAE,IAAI,KAAA;IAQ5B,UAAU,CAAC,CAAC,KAAA;IAMZ,WAAW,CAAC,CAAC,KAAA;IAMb,SAAS,CAAC,CAAC,KAAA;IAMX,WAAW,CAAC,CAAC,KAAA;IAKb,UAAU,CAAC,CAAC,KAAA;IAMZ,SAAS,CAAC,CAAC,KAAA;IAOX,MAAM,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IA4Id,aAAa,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;CAqEtB"}
1
+ {"version":3,"file":"modeling-layer.d.ts","sourceRoot":"","sources":["../../src/layer/modeling-layer.ts"],"names":[],"mappings":"AAUA,OAAO,eAAe,MAAM,wBAAwB,CAAA;AAGpD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,eAAe;IAChD,WAAW,EAAE,GAAG,CAAA;IAChB,SAAS,EAAE,GAAG,EAAE,CAAA;IAChB,sBAAsB,EAAE,GAAG,EAAE,CAAA;IAC7B,YAAY,EAAE,GAAG,CAAA;IACjB,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,GAAG,CAAA;IAClB,kBAAkB,EAAE,GAAG,EAAE,CAAA;IACzB,8BAA8B,EAAE,GAAG,EAAE,CAAA;IACrC,WAAW,EAAE,GAAG,CAAA;IAChB,aAAa,EAAE,OAAO,CAAA;IACtB,cAAc,EAAE,GAAG,CAAA;IACnB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,GAAG,CAAA;IAClB,QAAQ,EAAE,GAAG,CAAA;IACb,cAAc,EAAE,GAAG,CAAA;gBAEf,KAAK,KAAA,EAAE,OAAO,KAAA;IAuB1B,IAAI,QAAQ,UAEX;IAED,IAAI,gBAAgB,UAEnB;IAGK,KAAK;IAWX,OAAO,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,MAAM,KAAA;IAQpB,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IA2Eb,gBAAgB,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA,EAAE,KAAK,KAAA;IAqDjD,SAAS,CAAC,OAAO,KAAA;IAuBjB,MAAM,CAAC,OAAO,KAAA;IAyCd,IAAI,YAAY,QAUf;IAED,IAAI,YAAY,CAAC,MAAM,KAAA,EAEtB;IAED,IAAI,OAAO,QAEV;IAED,IAAI,OAAO,CAAC,OAAO,KAAA,EAIlB;IAED,gBAAgB,CAAC,QAAQ,KAAA,EAAE,SAAS,KAAA,EAAE,CAAC,KAAA;IAOvC,IAAI,UAAU,CAAC,MAAM,KAAA,EAGpB;IAED,IAAI,UAAU,QAEb;IAED,cAAc;IAMd,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;;;MAwBX;IAED,YAAY,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAIpB,YAAY,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAIpB,SAAS,CAAC,CAAC,KAAA;IASX,OAAO,CAAC,CAAC,KAAA;IAOT,UAAU,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA;IAIxB,cAAc,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA,EAAE,IAAI,KAAA;IAoBlC,gBAAgB,CAAC,KAAK,KAAA,EAAE,IAAI,KAAA;IAQ5B,UAAU,CAAC,CAAC,KAAA;IAMZ,WAAW,CAAC,CAAC,KAAA;IAMb,SAAS,CAAC,CAAC,KAAA;IAMX,WAAW,CAAC,CAAC,KAAA;IAKb,UAAU,CAAC,CAAC,KAAA;IAMZ,SAAS,CAAC,CAAC,KAAA;IAOX,MAAM,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IA4Id,aAAa,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;CAqEtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"selected-finder.d.ts","sourceRoot":"","sources":["../../../src/layer/selection/selected-finder.ts"],"names":[],"mappings":"AA0GA,wBAAgB,cAAc,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA,EAAE,MAAM,KAAA,EAAE,GAAG,KAAA,EAAE,MAAM,KAAA,QAIrE"}
1
+ {"version":3,"file":"selected-finder.d.ts","sourceRoot":"","sources":["../../../src/layer/selection/selected-finder.ts"],"names":[],"mappings":"AAuGA,wBAAgB,cAAc,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA,EAAE,MAAM,KAAA,EAAE,GAAG,KAAA,EAAE,MAAM,KAAA,QAIrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"selection-layer.d.ts","sourceRoot":"","sources":["../../src/layer/selection-layer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,YAAY,CAAA;AA0B9B,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,KAAK;IACvC,MAAM,EAAE,GAAG,CAAA;IACX,SAAS,EAAE,GAAG,CAAA;IACd,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,GAAG,CAAA;IAGf,KAAK;IAWX,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IAIb,MAAM,CAAC,GAAG,KAAA;IAmBV,IAAI,QAAQ;;;;;;;;;;;;;;;;;;MAqBX;IAED,SAAS,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IA8CjB,mBAAmB,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA,EAAE,IAAI,KAAA;IAYvC,gBAAgB,CAAC,CAAC,KAAA;IAQlB,gBAAgB,CAAC,MAAM,KAAA,EAAE,CAAC,KAAA;IAoF1B,gBAAgB,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IA0DxB,cAAc,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IA6CtB,kBAAkB,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAiB1B,iBAAiB,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAuBzB,gBAAgB,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;CAYzB"}
1
+ {"version":3,"file":"selection-layer.d.ts","sourceRoot":"","sources":["../../src/layer/selection-layer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,YAAY,CAAA;AA0B9B,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,KAAK;IACvC,MAAM,EAAE,GAAG,CAAA;IACX,SAAS,EAAE,GAAG,CAAA;IACd,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,GAAG,CAAA;IAGf,KAAK;IAWX,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IAIb,MAAM,CAAC,GAAG,KAAA;IAmBV,IAAI,QAAQ;;;;;;;;;;;;;;;;;;MAqBX;IAED,SAAS,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IA8CjB,mBAAmB,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA,EAAE,IAAI,KAAA;IAYvC,gBAAgB,CAAC,CAAC,KAAA;IAQlB,gBAAgB,CAAC,MAAM,KAAA,EAAE,CAAC,KAAA;IAoF1B,gBAAgB,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAwCxB,cAAc,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAkDtB,kBAAkB,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAiB1B,iBAAiB,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAuBzB,gBAAgB,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;CAYzB"}
@@ -0,0 +1,23 @@
1
+ import type { SnapResult } from '../components/geometry/snap-guide.js';
2
+ import Layer from './layer.js';
3
+ export default class SnapGuideLayer extends Layer {
4
+ private _snapResult;
5
+ get pointerEvents(): string;
6
+ get capturable(): boolean;
7
+ contains(_x: number, _y: number): boolean;
8
+ get snapResult(): SnapResult | null;
9
+ set snapResult(result: SnapResult | null);
10
+ clear(): void;
11
+ get eventMap(): {
12
+ '(root)': {
13
+ 'model-layer': {
14
+ change: (after: any) => void;
15
+ };
16
+ };
17
+ };
18
+ onchange_root_model(after: any): void;
19
+ private syncTransform;
20
+ ready(): Promise<void>;
21
+ render(ctx: CanvasRenderingContext2D): void;
22
+ }
23
+ //# sourceMappingURL=snap-guide-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snap-guide-layer.d.ts","sourceRoot":"","sources":["../../src/layer/snap-guide-layer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AAEtE,OAAO,KAAK,MAAM,YAAY,CAAA;AAM9B,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,KAAK;IAC/C,OAAO,CAAC,WAAW,CAA0B;IAE7C,IAAI,aAAa,WAEhB;IAED,IAAI,UAAU,YAEb;IAED,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAI/B,IAAI,UAAU,IAAI,UAAU,GAAG,IAAI,CAElC;IAED,IAAI,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,EAGvC;IAED,KAAK;IAOL,IAAI,QAAQ;;;gCAUe,GAAG;;;MAF7B;IAED,mBAAmB,CAAC,KAAK,EAAE,GAAG;IAM9B,OAAO,CAAC,aAAa;IAUf,KAAK;IAKX,MAAM,CAAC,GAAG,EAAE,wBAAwB;CA4BrC"}
@@ -0,0 +1,3 @@
1
+ export { SceneSearchEngine, type SearchResult, type SearchOptions } from './scene-search-engine.js';
2
+ export { SearchOverlay, type SearchOverlayHost } from './search-overlay.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACnG,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,65 @@
1
+ import type Component from '../components/component.js';
2
+ /**
3
+ * 검색 결과 하나를 나타낸다.
4
+ */
5
+ export interface SearchResult {
6
+ /** 매칭된 컴포넌트 */
7
+ component: Component;
8
+ /** 매칭 카테고리 */
9
+ matchType: 'id' | 'name' | 'tag' | 'type' | 'class' | 'text' | 'data' | 'property';
10
+ /** 매칭된 필드 이름 (예: 'accessor', 'fillStyle') */
11
+ matchField: string;
12
+ /** 매칭된 값 */
13
+ matchValue: string;
14
+ }
15
+ export interface SearchOptions {
16
+ /** 검색할 필드 범위 (기본: 전체) */
17
+ fields?: SearchResult['matchType'][];
18
+ /** 대소문자 구분 (기본: false) */
19
+ caseSensitive?: boolean;
20
+ /** hidden 컴포넌트 포함 (기본: false) */
21
+ includeHidden?: boolean;
22
+ /** 최대 결과 수 (기본: 무제한) */
23
+ maxResults?: number;
24
+ }
25
+ /**
26
+ * things-scene 컴포넌트 트리를 대상으로 텍스트 검색을 수행하는 엔진.
27
+ *
28
+ * 에디터/뷰어, 2D/3D 모드 공용.
29
+ * 검색 대상: id, name, tag, type, class, text, data-binding(accessor/target/property), 주요 속성값.
30
+ */
31
+ export declare class SceneSearchEngine {
32
+ private _results;
33
+ private _currentIndex;
34
+ private _lastQuery;
35
+ get results(): readonly SearchResult[];
36
+ get currentIndex(): number;
37
+ get currentResult(): SearchResult | undefined;
38
+ get resultCount(): number;
39
+ /**
40
+ * 컴포넌트 트리에서 query를 검색한다.
41
+ * 동일 컴포넌트가 여러 필드에서 매칭되면 첫 번째 매칭만 결과에 포함한다.
42
+ */
43
+ search(root: Component, query: string, options?: SearchOptions): SearchResult[];
44
+ /** 다음 결과로 이동 */
45
+ navigateNext(): SearchResult | undefined;
46
+ /** 이전 결과로 이동 */
47
+ navigatePrev(): SearchResult | undefined;
48
+ /** 특정 인덱스로 이동 */
49
+ navigateTo(index: number): SearchResult | undefined;
50
+ /** 검색 결과 초기화 */
51
+ clear(): void;
52
+ private _traverse;
53
+ private _matchComponent;
54
+ /**
55
+ * data-binding 설정(mappings)에서 검색.
56
+ * accessor, target, property, source 필드를 대상으로 한다.
57
+ */
58
+ private _matchDataBinding;
59
+ /**
60
+ * 주요 속성값에서 검색.
61
+ * fillStyle(문자열), strokeStyle(문자열), ref, src 등.
62
+ */
63
+ private _matchProperties;
64
+ }
65
+ //# sourceMappingURL=scene-search-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-search-engine.d.ts","sourceRoot":"","sources":["../../src/search/scene-search-engine.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,eAAe;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc;IACd,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAA;IAClF,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,MAAM,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,CAAA;IACpC,0BAA0B;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAMD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAK;IAEvB,IAAI,OAAO,IAAI,SAAS,YAAY,EAAE,CAErC;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,aAAa,IAAI,YAAY,GAAG,SAAS,CAE5C;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,EAAE;IAmC/E,gBAAgB;IAChB,YAAY,IAAI,YAAY,GAAG,SAAS;IAMxC,gBAAgB;IAChB,YAAY,IAAI,YAAY,GAAG,SAAS;IAMxC,iBAAiB;IACjB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAMnD,gBAAgB;IAChB,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,eAAe;IAoEvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAiCzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAuBzB"}
@@ -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