@hatiolab/things-scene 10.0.0-beta.5 → 10.0.0-beta.50

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 (184) 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/command-migrate.d.ts.map +1 -1
  7. package/dist-types/command/snapshot-commander.d.ts.map +1 -1
  8. package/dist-types/components/audio.d.ts.map +1 -1
  9. package/dist-types/components/component-data.d.ts +2 -0
  10. package/dist-types/components/component-data.d.ts.map +1 -1
  11. package/dist-types/components/container-abstract.d.ts +14 -1
  12. package/dist-types/components/container-abstract.d.ts.map +1 -1
  13. package/dist-types/components/data/data.d.ts.map +1 -1
  14. package/dist-types/components/geometry/snap-guide.d.ts +45 -0
  15. package/dist-types/components/geometry/snap-guide.d.ts.map +1 -0
  16. package/dist-types/components/geometry/transcoord.d.ts.map +1 -1
  17. package/dist-types/components/global-ref.d.ts.map +1 -1
  18. package/dist-types/components/group.d.ts +1 -0
  19. package/dist-types/components/group.d.ts.map +1 -1
  20. package/dist-types/components/image-view.d.ts.map +1 -1
  21. package/dist-types/components/index.d.ts +1 -0
  22. package/dist-types/components/index.d.ts.map +1 -1
  23. package/dist-types/components/line.d.ts +1 -1
  24. package/dist-types/components/mutater/path.d.ts.map +1 -1
  25. package/dist-types/components/root-container.d.ts +11 -4
  26. package/dist-types/components/root-container.d.ts.map +1 -1
  27. package/dist-types/components/service-component.d.ts +264 -0
  28. package/dist-types/components/service-component.d.ts.map +1 -0
  29. package/dist-types/decorator/decorator-registry.d.ts +4 -0
  30. package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
  31. package/dist-types/decorator/decorators/data-spread-decorator.d.ts +16 -0
  32. package/dist-types/decorator/decorators/data-spread-decorator.d.ts.map +1 -1
  33. package/dist-types/diagnostics/data-lag-tracker.d.ts +44 -0
  34. package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -0
  35. package/dist-types/diagnostics/inspector.d.ts +0 -1
  36. package/dist-types/diagnostics/inspector.d.ts.map +1 -1
  37. package/dist-types/diagnostics/load-tracker.d.ts +82 -0
  38. package/dist-types/diagnostics/load-tracker.d.ts.map +1 -0
  39. package/dist-types/diagnostics/loading-overlay.d.ts +41 -0
  40. package/dist-types/diagnostics/loading-overlay.d.ts.map +1 -0
  41. package/dist-types/event-map/index.d.ts +1 -0
  42. package/dist-types/event-map/index.d.ts.map +1 -1
  43. package/dist-types/event-map/transition-handler.d.ts +2 -0
  44. package/dist-types/event-map/transition-handler.d.ts.map +1 -0
  45. package/dist-types/interfaces/providers.d.ts +5 -0
  46. package/dist-types/interfaces/providers.d.ts.map +1 -1
  47. package/dist-types/layer/action/popup.d.ts +1 -0
  48. package/dist-types/layer/action/popup.d.ts.map +1 -1
  49. package/dist-types/layer/dual-canvas-layer.d.ts.map +1 -1
  50. package/dist-types/layer/index.d.ts +1 -0
  51. package/dist-types/layer/index.d.ts.map +1 -1
  52. package/dist-types/layer/layer.d.ts +1 -0
  53. package/dist-types/layer/layer.d.ts.map +1 -1
  54. package/dist-types/layer/model-layer.d.ts +53 -7
  55. package/dist-types/layer/model-layer.d.ts.map +1 -1
  56. package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
  57. package/dist-types/layer/modeling-layer.d.ts.map +1 -1
  58. package/dist-types/layer/selection/selected-finder.d.ts.map +1 -1
  59. package/dist-types/layer/selection-layer.d.ts.map +1 -1
  60. package/dist-types/layer/snap-guide-layer.d.ts +23 -0
  61. package/dist-types/layer/snap-guide-layer.d.ts.map +1 -0
  62. package/dist-types/search/index.d.ts +3 -0
  63. package/dist-types/search/index.d.ts.map +1 -0
  64. package/dist-types/search/scene-search-engine.d.ts +65 -0
  65. package/dist-types/search/scene-search-engine.d.ts.map +1 -0
  66. package/dist-types/search/search-overlay.d.ts +69 -0
  67. package/dist-types/search/search-overlay.d.ts.map +1 -0
  68. package/dist-types/things-scene/api/align.d.ts.map +1 -1
  69. package/dist-types/things-scene/api/distribute.d.ts.map +1 -1
  70. package/dist-types/things-scene/api/place.d.ts.map +1 -1
  71. package/dist-types/things-scene/application-context.d.ts +16 -0
  72. package/dist-types/things-scene/application-context.d.ts.map +1 -1
  73. package/dist-types/things-scene/create.d.ts +4 -1
  74. package/dist-types/things-scene/create.d.ts.map +1 -1
  75. package/dist-types/things-scene/index.d.ts +7 -0
  76. package/dist-types/things-scene/index.d.ts.map +1 -1
  77. package/dist-types/things-scene/scene.d.ts +15 -0
  78. package/dist-types/things-scene/scene.d.ts.map +1 -1
  79. package/dist-types/threed/arrow-3d.d.ts +13 -4
  80. package/dist-types/threed/arrow-3d.d.ts.map +1 -1
  81. package/dist-types/threed/common.d.ts +5 -0
  82. package/dist-types/threed/common.d.ts.map +1 -1
  83. package/dist-types/threed/environments/base-environment.d.ts +9 -0
  84. package/dist-types/threed/environments/base-environment.d.ts.map +1 -0
  85. package/dist-types/threed/environments/factory-environment.d.ts +2 -3
  86. package/dist-types/threed/environments/factory-environment.d.ts.map +1 -1
  87. package/dist-types/threed/environments/home-environment.d.ts +2 -3
  88. package/dist-types/threed/environments/home-environment.d.ts.map +1 -1
  89. package/dist-types/threed/environments/office-environment.d.ts +2 -3
  90. package/dist-types/threed/environments/office-environment.d.ts.map +1 -1
  91. package/dist-types/threed/environments/studio-environment.d.ts +2 -3
  92. package/dist-types/threed/environments/studio-environment.d.ts.map +1 -1
  93. package/dist-types/threed/environments/warehouse-environment.d.ts +2 -3
  94. package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -1
  95. package/dist-types/threed/factories/banner.d.ts +2 -1
  96. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  97. package/dist-types/threed/factories/camera.d.ts +1 -0
  98. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  99. package/dist-types/threed/factories/cube.d.ts +1 -0
  100. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  101. package/dist-types/threed/factories/cylinder.d.ts +1 -0
  102. package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
  103. package/dist-types/threed/factories/floor-plate.d.ts +250 -0
  104. package/dist-types/threed/factories/floor-plate.d.ts.map +1 -0
  105. package/dist-types/threed/factories/gltf-object.d.ts +20 -4
  106. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  107. package/dist-types/threed/factories/group.d.ts +2 -0
  108. package/dist-types/threed/factories/group.d.ts.map +1 -0
  109. package/dist-types/threed/factories/light.d.ts +1 -0
  110. package/dist-types/threed/factories/light.d.ts.map +1 -1
  111. package/dist-types/threed/factories/line.d.ts +10 -0
  112. package/dist-types/threed/factories/line.d.ts.map +1 -0
  113. package/dist-types/threed/factories/polyline.d.ts +10 -0
  114. package/dist-types/threed/factories/polyline.d.ts.map +1 -0
  115. package/dist-types/threed/factories/sphere.d.ts +1 -0
  116. package/dist-types/threed/factories/sphere.d.ts.map +1 -1
  117. package/dist-types/threed/factories/sprite.d.ts +1 -0
  118. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  119. package/dist-types/threed/factories/wall.d.ts +1 -0
  120. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  121. package/dist-types/threed/index.d.ts +9 -0
  122. package/dist-types/threed/index.d.ts.map +1 -1
  123. package/dist-types/threed/managers/box-selection-manager.d.ts +26 -0
  124. package/dist-types/threed/managers/box-selection-manager.d.ts.map +1 -0
  125. package/dist-types/threed/managers/camera-bookmark-manager.d.ts +127 -0
  126. package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -0
  127. package/dist-types/threed/managers/camera-manager.d.ts +9 -3
  128. package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
  129. package/dist-types/threed/managers/controls-manager.d.ts +22 -4
  130. package/dist-types/threed/managers/controls-manager.d.ts.map +1 -1
  131. package/dist-types/threed/managers/event-manager3d.d.ts +8 -0
  132. package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
  133. package/dist-types/threed/managers/gizmo-operation-manager.d.ts +6 -0
  134. package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
  135. package/dist-types/threed/managers/index.d.ts +3 -0
  136. package/dist-types/threed/managers/index.d.ts.map +1 -1
  137. package/dist-types/threed/managers/interaction-manager.d.ts +16 -0
  138. package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
  139. package/dist-types/threed/managers/light-manager.d.ts.map +1 -1
  140. package/dist-types/threed/managers/renderer-manager.d.ts +32 -0
  141. package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
  142. package/dist-types/threed/managers/types.d.ts +5 -2
  143. package/dist-types/threed/managers/types.d.ts.map +1 -1
  144. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts +109 -0
  145. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -0
  146. package/dist-types/threed/material-3d.d.ts +5 -0
  147. package/dist-types/threed/material-3d.d.ts.map +1 -1
  148. package/dist-types/threed/ratio-lock-utils.d.ts +9 -0
  149. package/dist-types/threed/ratio-lock-utils.d.ts.map +1 -0
  150. package/dist-types/threed/real-object-dom-element.d.ts.map +1 -1
  151. package/dist-types/threed/real-object-extrude.d.ts +6 -0
  152. package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
  153. package/dist-types/threed/real-object-gltf.d.ts +48 -3
  154. package/dist-types/threed/real-object-gltf.d.ts.map +1 -1
  155. package/dist-types/threed/real-object-group.d.ts +2 -0
  156. package/dist-types/threed/real-object-group.d.ts.map +1 -1
  157. package/dist-types/threed/real-object-line.d.ts +81 -0
  158. package/dist-types/threed/real-object-line.d.ts.map +1 -0
  159. package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
  160. package/dist-types/threed/real-object-service.d.ts +14 -0
  161. package/dist-types/threed/real-object-service.d.ts.map +1 -0
  162. package/dist-types/threed/real-object-text.d.ts +2 -0
  163. package/dist-types/threed/real-object-text.d.ts.map +1 -1
  164. package/dist-types/threed/real-object.d.ts +24 -2
  165. package/dist-types/threed/real-object.d.ts.map +1 -1
  166. package/dist-types/threed/text-editor-3d.d.ts +11 -0
  167. package/dist-types/threed/text-editor-3d.d.ts.map +1 -0
  168. package/dist-types/threed/texture/fillstyle-texture.d.ts +37 -0
  169. package/dist-types/threed/texture/fillstyle-texture.d.ts.map +1 -0
  170. package/dist-types/threed/texture/text-texture.d.ts +15 -0
  171. package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
  172. package/dist-types/threed/three-capability.d.ts +137 -6
  173. package/dist-types/threed/three-capability.d.ts.map +1 -1
  174. package/dist-types/threed/three-container.d.ts +0 -1
  175. package/dist-types/threed/three-container.d.ts.map +1 -1
  176. package/dist-types/threed/three-dimensional-container.d.ts +0 -1
  177. package/dist-types/threed/three-dimensional-container.d.ts.map +1 -1
  178. package/dist-types/transition/transition-effect.d.ts +84 -0
  179. package/dist-types/transition/transition-effect.d.ts.map +1 -0
  180. package/package.json +4 -3
  181. package/things-scene-min.js +11 -12
  182. package/things-scene-min.js.map +1 -1
  183. package/things-scene.mjs +7 -8
  184. package/things-scene.mjs.map +1 -1
@@ -0,0 +1,250 @@
1
+ import type { ComponentNature } from '../../interfaces/types.js';
2
+ import type { IRealObject } from '../../interfaces/real-object.js';
3
+ import Shape from '../../components/shape.js';
4
+ declare const FloorPlate_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(): 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?: import("../../index.js").SceneRenderContext): void;
107
+ prerender(context: import("../../index.js").SceneRenderContext): void;
108
+ postrender(context: import("../../index.js").SceneRenderContext): void;
109
+ prepare(resolve: (component: import("../../index.js").Component) => void, reject: (reason: any) => void): void;
110
+ prepareIf(condition: boolean): void;
111
+ drawText(context: import("../../index.js").SceneRenderContext): void;
112
+ drawStroke(context: import("../../index.js").SceneRenderContext, override?: Record<string, unknown>): void;
113
+ drawFill(context: import("../../index.js").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?: import("../../index.js").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: import("../../index.js").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: import("../../index.js").Component) => boolean), ...others: any[]): import("../../index.js").Component | undefined;
161
+ findAll(s: string | ((c: import("../../index.js").Component) => boolean), ...others: any[]): any[] | undefined;
162
+ capture(x: number, y: number, except?: (c: import("../../index.js").Component) => boolean): any;
163
+ findAnchor(name: string): any;
164
+ isDescendible(container: import("../../index.js").Component): boolean;
165
+ getContext(component?: unknown): any;
166
+ get root(): import("../../index.js").Component;
167
+ get rootModel(): import("../../index.js").Component;
168
+ get parent(): import("../../index.js").Component;
169
+ set parent(v: import("../../index.js").Component);
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: import("../../index.js").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: import("../../index.js").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?: import("../../index.js").Component): import("../../index.js").POINT;
195
+ transcoordT2P(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
196
+ transcoordT2S(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
197
+ transcoordS2TR(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
198
+ transcoordS2O(x: number, y: number, target: import("../../index.js").Component): import("../../index.js").POINT;
199
+ transcoordC2S(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
200
+ transcoordS2C(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
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?: import("../../index.js").Component): import("../../index.js").POINT;
204
+ fromScene(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
205
+ toLocal(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
206
+ toGlobal(x: number, y: number, top?: import("../../index.js").Component): import("../../index.js").POINT;
207
+ toOther(x: number, y: number, target: import("../../index.js").Component): import("../../index.js").POINT;
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: import("../../index.js").Component, ghost?: boolean): void;
218
+ addComponent(component: import("../../index.js").Component, ghost?: boolean): void;
219
+ insertComponentAt(component: import("../../index.js").Component, index: number, ghost?: boolean): void;
220
+ getOverlay(component: import("../../index.js").Component): HTMLElement | undefined;
221
+ findById(id: string): import("../../index.js").Component | undefined;
222
+ findByRefid(ref: string | number): import("../../index.js").Component | undefined;
223
+ findAllById(id: string): import("../../index.js").Component[];
224
+ resize(): void;
225
+ fit(type?: string): void;
226
+ get components(): import("../../index.js").Component[] | undefined;
227
+ get layout(): any;
228
+ get auxOverlay(): HTMLElement | undefined;
229
+ get isReady(): boolean;
230
+ get unitScale(): number;
231
+ get selected(): import("../../index.js").Component[];
232
+ set selected(_v: import("../../index.js").Component[]);
233
+ get focused(): import("../../index.js").Component | null;
234
+ set focused(_v: import("../../index.js").Component | null);
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 Shape;
243
+ export declare class FloorPlate extends FloorPlate_base {
244
+ get hasTextProperty(): boolean;
245
+ is3dish(): boolean;
246
+ buildRealObject(): IRealObject | undefined;
247
+ get nature(): ComponentNature;
248
+ }
249
+ export {};
250
+ //# sourceMappingURL=floor-plate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floor-plate.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/floor-plate.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuJ7C,qBACa,UAAW,SAAQ,eAAe;IAC7C,IAAI,eAAe,YAAmB;IAEtC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/group.ts"],"names":[],"mappings":""}
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"sphere.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/sphere.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,QAAS,SAAQ,cAAc;IAC1C,aAAa;IAWb,eAAe,IAAI,IAAI;CAIxB;AAED,qBACa,MAAO,SAAQ,OAAO;IACjC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,IAAI,eAAe,CAE5B;CACF"}
1
+ {"version":3,"file":"sphere.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/sphere.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,QAAS,SAAQ,cAAc;IAC1C,aAAa;IAWb,eAAe,IAAI,IAAI;CAIxB;AAED,qBACa,MAAO,SAAQ,OAAO;IACjC,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,IAAI,eAAe,CAE5B;CACF"}
@@ -241,6 +241,7 @@ declare const Sprite_base: {
241
241
  };
242
242
  } & typeof Shape;
243
243
  export declare class Sprite extends Sprite_base {
244
+ get hasTextProperty(): boolean;
244
245
  is3dish(): boolean;
245
246
  buildRealObject(): IRealObject | undefined;
246
247
  get nature(): ComponentNature;
@@ -1 +1 @@
1
- {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/sprite.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAY7C,qBACa,MAAO,SAAQ,WAAe;IACzC,OAAO,IAAI,OAAO;IAIlB,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;CACF"}
1
+ {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/sprite.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAY7C,qBACa,MAAO,SAAQ,WAAe;IACzC,IAAI,eAAe,YAAmB;IACtC,OAAO,IAAI,OAAO;IAIlB,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;CACF"}
@@ -245,6 +245,7 @@ declare const Wall_base: {
245
245
  };
246
246
  } & typeof Shape;
247
247
  export declare class Wall extends Wall_base {
248
+ get hasTextProperty(): boolean;
248
249
  is3dish(): boolean;
249
250
  buildRealObject(): IRealObject | undefined;
250
251
  get nature(): ComponentNature;
@@ -1 +1 @@
1
- {"version":3,"file":"wall.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/wall.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAiBvD,qBAAa,MAAO,SAAQ,cAAc;IACxC,aAAa;CAQd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,IAAK,SAAQ,SAAe;IACvC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;CACF"}
1
+ {"version":3,"file":"wall.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/wall.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAiBvD,qBAAa,MAAO,SAAQ,cAAc;IACxC,aAAa;CAQd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,IAAK,SAAQ,SAAe;IACvC,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;CACF"}
@@ -15,6 +15,10 @@ import './factories/camera.js';
15
15
  import './factories/gltf-object.js';
16
16
  import './factories/light.js';
17
17
  import './factories/wall.js';
18
+ import './factories/floor-plate.js';
19
+ import './factories/line.js';
20
+ import './factories/polyline.js';
21
+ import './factories/group.js';
18
22
  export * from './common.js';
19
23
  export * from './interfaces.js';
20
24
  export * from './material-3d.js';
@@ -34,6 +38,7 @@ export * from './real-object-scene.js';
34
38
  export * from './real-object-sprite-2d.js';
35
39
  export * from './real-object-plane-2d.js';
36
40
  export * from './real-object-sprite.js';
41
+ export * from './real-object-service.js';
37
42
  export * from './real-object-text.js';
38
43
  export { EllipseExtrude } from './factories/ellipse.js';
39
44
  export { RectExtrude } from './factories/rect.js';
@@ -50,6 +55,10 @@ export { Camera3D, Camera } from './factories/camera.js';
50
55
  export { GLTFObject } from './factories/gltf-object.js';
51
56
  export { LightObject, PointLight } from './factories/light.js';
52
57
  export { Wall3D, Wall } from './factories/wall.js';
58
+ export { FloorPlate } from './factories/floor-plate.js';
59
+ export { Line3D } from './factories/line.js';
60
+ export { Polyline3D } from './factories/polyline.js';
61
+ export * from './real-object-line.js';
53
62
  export { ThreeCapability } from './three-capability.js';
54
63
  export type { ThreeCapabilityHost } from './three-capability.js';
55
64
  export { ThreeContainer } from './three-container.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/threed/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/threed/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import * as THREE from 'three';
2
+ import Component from '../../components/component.js';
3
+ /**
4
+ * 3D 편집 모드에서 Space+드래그로 사각형 영역 선택을 지원하는 매니저.
5
+ *
6
+ * DOM 오버레이로 선택 사각형을 표시하고, 각 오브젝트의 3D 위치를
7
+ * 카메라로 투영하여 사각형 내에 있는 오브젝트를 선택한다.
8
+ */
9
+ export declare class BoxSelectionManager {
10
+ private _overlay;
11
+ private _hostElement;
12
+ private _startX;
13
+ private _startY;
14
+ private _currentX;
15
+ private _currentY;
16
+ private _active;
17
+ get isActive(): boolean;
18
+ setup(hostElement: HTMLElement): void;
19
+ startSelection(x: number, y: number): void;
20
+ updateSelection(x: number, y: number): void;
21
+ endSelection(camera: THREE.Camera, scene: THREE.Scene, components: Component[]): Component[];
22
+ cancelSelection(): void;
23
+ destroy(): void;
24
+ private _updateOverlay;
25
+ }
26
+ //# sourceMappingURL=box-selection-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"box-selection-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/box-selection-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,SAAS,MAAM,+BAA+B,CAAA;AAGrD;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,OAAO,CAAQ;IAEvB,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAIrC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAsB1C,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAO3C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;IAwD5F,eAAe,IAAI,IAAI;IAQvB,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,cAAc;CAavB"}
@@ -0,0 +1,127 @@
1
+ import * as THREE from 'three';
2
+ export type EasingType = 'ease-in-out' | 'ease-in' | 'ease-out' | 'linear';
3
+ export interface SplineContext {
4
+ prevPos: THREE.Vector3;
5
+ nextPos: THREE.Vector3;
6
+ }
7
+ export interface CameraBookmark {
8
+ name?: string;
9
+ position: {
10
+ x: number;
11
+ y: number;
12
+ z: number;
13
+ };
14
+ target: {
15
+ x: number;
16
+ y: number;
17
+ z: number;
18
+ };
19
+ /** 이 슬롯에서 머무르는 시간 (ms, 기본 2000) */
20
+ holdDuration?: number;
21
+ /** 이 슬롯으로 이동하는 전환 시간 (ms, 기본 1200) */
22
+ transitionDuration?: number;
23
+ /** 전환 이징 함수 (기본 ease-in-out) */
24
+ easing?: EasingType;
25
+ /** 재생 목록에서 제외 */
26
+ excludeFromPlay?: boolean;
27
+ }
28
+ export declare class CameraBookmarkManager {
29
+ private _slots;
30
+ private _animating;
31
+ private _animationId?;
32
+ private _animationProgress;
33
+ private _playStartOffset;
34
+ private _lastPlayProgress;
35
+ private _playIndex;
36
+ private _playing;
37
+ private _orbitRotating;
38
+ private _orbitPaused;
39
+ private _onInvalidate?;
40
+ private _onAnimationComplete?;
41
+ get isAnimating(): boolean;
42
+ get isPlaying(): boolean;
43
+ get isOrbitRotating(): boolean;
44
+ get isOrbitPaused(): boolean;
45
+ get playIndex(): number;
46
+ get lastPlayProgress(): number;
47
+ /**
48
+ * 전체 경로 진행률 0~1 (재생 중: 세그먼트 + 세그먼트 내 진행률)
49
+ */
50
+ get playProgress(): number;
51
+ setCallbacks(onInvalidate: () => void, onAnimationComplete?: () => void): void;
52
+ /**
53
+ * 슬롯에 카메라 위치를 저장한다.
54
+ * bookmark에 name 프로퍼티가 없으면 기존 이름을 보존한다 (카메라 위치만 갱신).
55
+ * name 프로퍼티가 있으면 (undefined 포함) 그대로 사용한다 (리오더 등).
56
+ */
57
+ saveSlot(index: number, bookmark: CameraBookmark): void;
58
+ renameSlot(index: number, name: string): void;
59
+ clearSlot(index: number): void;
60
+ getSlot(index: number): CameraBookmark | undefined;
61
+ exportSlots(): (CameraBookmark | null)[];
62
+ importSlots(data: (CameraBookmark | null | undefined)[]): void;
63
+ resetAll(): void;
64
+ getPlayableSlots(): number[];
65
+ swapSlots(a: number, b: number): void;
66
+ moveSlot(from: number, to: number): void;
67
+ /**
68
+ * 카메라를 슬롯 위치로 애니메이션 이동한다.
69
+ * splineContext가 제공되면 Catmull-Rom 곡선으로 보간, 없으면 직선+slerp.
70
+ */
71
+ animateToSlot(index: number, camera: THREE.PerspectiveCamera, controls: {
72
+ target: THREE.Vector3;
73
+ restoreTarget(t: THREE.Vector3): void;
74
+ update(): boolean;
75
+ }, duration?: number, splineContext?: SplineContext): boolean;
76
+ /**
77
+ * evaluatePath를 따라 fromT→targetT 구간을 애니메이션한다 (부분 세그먼트 resume용).
78
+ */
79
+ private _animatePathSegment;
80
+ /**
81
+ * 공통 rAF 애니메이션 루프. onFrame에 eased progress를 전달한다.
82
+ */
83
+ private _runAnimation;
84
+ /**
85
+ * progress 값으로부터 playIndex와 playStartOffset을 계산한다.
86
+ */
87
+ private _initFromProgress;
88
+ /**
89
+ * playOrder 기준 순회 플레이. excludeFromPlay 슬롯은 건너뛴다.
90
+ * 3개 이상 슬롯이면 Catmull-Rom 스플라인으로 곡선 경로를 따른다.
91
+ */
92
+ startPlay(camera: THREE.PerspectiveCamera, controls: {
93
+ target: THREE.Vector3;
94
+ restoreTarget(t: THREE.Vector3): void;
95
+ update(): boolean;
96
+ }, defaultHold?: number, defaultTransition?: number, startFromProgress?: number, fromBeginning?: boolean): void;
97
+ /**
98
+ * 현재 재생 상태에 맞는 SplineContext를 생성한다.
99
+ */
100
+ private _buildSplineContext;
101
+ /**
102
+ * 슬롯 인덱스에 해당하는 경로상 진행률을 _lastPlayProgress에 설정한다.
103
+ */
104
+ setProgressForSlot(slotIndex: number): void;
105
+ stopPlay(): void;
106
+ /** stopPlay + lastPlayProgress 초기화 (모드 전환 시 사용) */
107
+ resetPlay(): void;
108
+ toggleOrbitRotation(controls: {
109
+ isAutoRotating(): boolean;
110
+ setAutoRotate(enabled: boolean): void;
111
+ }): void;
112
+ /** 모드 전환(P키 등)에서 사용 — orbit 완전 초기화 */
113
+ stopOrbitRotation(controls: {
114
+ setAutoRotate(enabled: boolean): void;
115
+ }): void;
116
+ /**
117
+ * 전체 재생 경로의 t∈[0,1] 지점에서의 카메라 position/target을 계산한다.
118
+ * 3개 이상 슬롯이면 Catmull-Rom 스플라인(루프), 2개면 직선 보간.
119
+ */
120
+ evaluatePath(t: number): {
121
+ position: THREE.Vector3;
122
+ target: THREE.Vector3;
123
+ } | null;
124
+ stopAnimation(): void;
125
+ destroy(): void;
126
+ }
127
+ //# sourceMappingURL=camera-bookmark-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"camera-bookmark-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/camera-bookmark-manager.ts"],"names":[],"mappings":"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"}