@hatiolab/things-scene 10.0.0-beta.19 → 10.0.0-beta.20
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.
- package/dist-types/decorator/decorator-registry.d.ts +4 -0
- package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
- package/dist-types/layer/model-layer.d.ts +30 -6
- package/dist-types/layer/model-layer.d.ts.map +1 -1
- package/dist-types/things-scene/api/align.d.ts.map +1 -1
- package/dist-types/things-scene/api/distribute.d.ts.map +1 -1
- package/dist-types/threed/factories/banner.d.ts +1 -0
- package/dist-types/threed/factories/banner.d.ts.map +1 -1
- package/dist-types/threed/factories/camera.d.ts +1 -0
- package/dist-types/threed/factories/camera.d.ts.map +1 -1
- package/dist-types/threed/factories/cube.d.ts +1 -0
- package/dist-types/threed/factories/cube.d.ts.map +1 -1
- package/dist-types/threed/factories/cylinder.d.ts +1 -0
- package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
- package/dist-types/threed/factories/gltf-object.d.ts +1 -0
- package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
- package/dist-types/threed/factories/light.d.ts +1 -0
- package/dist-types/threed/factories/light.d.ts.map +1 -1
- package/dist-types/threed/factories/sphere.d.ts +1 -0
- package/dist-types/threed/factories/sphere.d.ts.map +1 -1
- package/dist-types/threed/factories/sprite.d.ts +1 -0
- package/dist-types/threed/factories/sprite.d.ts.map +1 -1
- package/dist-types/threed/factories/wall.d.ts +1 -0
- package/dist-types/threed/factories/wall.d.ts.map +1 -1
- package/dist-types/threed/managers/box-selection-manager.d.ts +26 -0
- package/dist-types/threed/managers/box-selection-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/camera-manager.d.ts +9 -2
- package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/controls-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/gizmo-operation-manager.d.ts +5 -0
- package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/index.d.ts +1 -0
- package/dist-types/threed/managers/index.d.ts.map +1 -1
- package/dist-types/threed/managers/interaction-manager.d.ts +10 -0
- package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
- package/dist-types/threed/real-object-extrude.d.ts +6 -0
- package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
- package/dist-types/threed/real-object-text.d.ts +2 -0
- package/dist-types/threed/real-object-text.d.ts.map +1 -1
- package/dist-types/threed/real-object.d.ts +5 -0
- package/dist-types/threed/real-object.d.ts.map +1 -1
- package/dist-types/threed/text-editor-3d.d.ts +11 -0
- package/dist-types/threed/text-editor-3d.d.ts.map +1 -0
- package/dist-types/threed/texture/text-texture.d.ts +1 -0
- package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
- package/dist-types/threed/three-capability.d.ts +25 -5
- package/dist-types/threed/three-capability.d.ts.map +1 -1
- package/package.json +1 -1
- package/things-scene-min.js +12 -12
- package/things-scene-min.js.map +1 -1
- package/things-scene.mjs +4 -4
- package/things-scene.mjs.map +1 -1
|
@@ -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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
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,16 +23,16 @@ 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?;
|
|
31
29
|
private _floatingPopup?;
|
|
32
30
|
private _floatingPopupCloseHandler?;
|
|
33
31
|
get nature(): ComponentNature;
|
|
34
32
|
get is3dMode(): boolean;
|
|
35
33
|
is3dContainer(): boolean;
|
|
34
|
+
get gizmoMode(): 'translate' | 'rotate' | 'scale' | undefined;
|
|
35
|
+
setGizmoMode(mode: 'translate' | 'rotate' | 'scale'): void;
|
|
36
36
|
get scene3d(): THREE.Scene | undefined;
|
|
37
37
|
get renderer3d(): THREE.WebGLRenderer | undefined;
|
|
38
38
|
get activeCamera3d(): THREE.Camera | undefined;
|
|
@@ -46,6 +46,18 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
46
46
|
* _activateThreeD()와 adoptThreeCapability()에서 공용으로 사용한다.
|
|
47
47
|
*/
|
|
48
48
|
private _hide2DLayers;
|
|
49
|
+
/**
|
|
50
|
+
* zoom-handler가 등록되어 있는지 확인한다.
|
|
51
|
+
* zoom-handler가 있으면 사용자가 자유 줌/팬이 가능하므로 뷰포트 연동이 필요하다.
|
|
52
|
+
*/
|
|
53
|
+
private get _hasZoomHandler();
|
|
54
|
+
/**
|
|
55
|
+
* 2D↔3D 전환 시 뷰포트 연동이 필요한지 판단한다.
|
|
56
|
+
* - 모델러: 항상 연동 (3D↔2D 카메라 매핑)
|
|
57
|
+
* - 뷰어 + zoom-handler: 연동 (2D 상태 저장/복원)
|
|
58
|
+
* - 뷰어 + zoom-handler 없음: 독립 (각자 뷰, 연동 불필요)
|
|
59
|
+
*/
|
|
60
|
+
private get _needsViewportSync();
|
|
49
61
|
private _activateThreeD;
|
|
50
62
|
/**
|
|
51
63
|
* 플로팅 툴바를 생성한다.
|
|
@@ -55,9 +67,7 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
55
67
|
private _createToolbar;
|
|
56
68
|
private _applyToggleStyle;
|
|
57
69
|
private _applyButtonStyle;
|
|
58
|
-
private _toggleToolbarSection;
|
|
59
70
|
private _updateCameraButtons;
|
|
60
|
-
private _updateGizmoButtons;
|
|
61
71
|
private _registerPopupCallbacks;
|
|
62
72
|
private _closeFloatingPopup;
|
|
63
73
|
private _showFloatingPopup;
|
|
@@ -90,6 +100,20 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
90
100
|
*/
|
|
91
101
|
adoptThreeCapability(cap: ThreeCapability): void;
|
|
92
102
|
private _deactivateThreeD;
|
|
103
|
+
/**
|
|
104
|
+
* 실제 뷰포트 크기를 반환한다.
|
|
105
|
+
* canvas가 hidden일 수 있으므로 target(외부 컨테이너)에서 읽는다.
|
|
106
|
+
*/
|
|
107
|
+
private _getViewportSize;
|
|
108
|
+
/**
|
|
109
|
+
* 2D 뷰포트 상태를 기반으로 3D 카메라 위치/타겟을 설정한다.
|
|
110
|
+
*/
|
|
111
|
+
private _initCameraFrom2DViewport;
|
|
112
|
+
/**
|
|
113
|
+
* 3D 카메라 상태를 기반으로 2D 뷰포트(translate, scale)를 설정한다.
|
|
114
|
+
*/
|
|
115
|
+
private _init2DViewportFrom3DCamera;
|
|
116
|
+
centerTo(component: any, animated?: boolean): void;
|
|
93
117
|
ready(): Promise<void>;
|
|
94
118
|
dispose(): void;
|
|
95
119
|
contains(x: any, y: any): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-layer.d.ts","sourceRoot":"","sources":["../../src/layer/model-layer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,
|
|
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":"align.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/align.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"align.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/align.ts"],"names":[],"mappings":"AA2JA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAYpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribute.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/distribute.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"distribute.d.ts","sourceRoot":"","sources":["../../../src/things-scene/api/distribute.ts"],"names":[],"mappings":"AAqFA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAYzD"}
|
|
@@ -249,6 +249,7 @@ declare const Banner_base: {
|
|
|
249
249
|
};
|
|
250
250
|
} & typeof Shape;
|
|
251
251
|
export declare class Banner extends Banner_base {
|
|
252
|
+
get hasTextProperty(): boolean;
|
|
252
253
|
is3dish(): boolean;
|
|
253
254
|
get nature(): ComponentNature;
|
|
254
255
|
buildRealObject(): IRealObject | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/banner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAmB9C,qBAAa,QAAS,SAAQ,UAAU;IACtC,KAAK;IAYL,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAqB1C,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAkCvC,gBAAgB;CAmBjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,MAAO,SAAQ,WAAe;IACzC,OAAO;IAIP,IAAI,MAAM,oBAET;IAED,eAAe,IAAI,WAAW,GAAG,SAAS;CAG3C"}
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/banner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAmB9C,qBAAa,QAAS,SAAQ,UAAU;IACtC,KAAK;IAYL,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAqB1C,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAkCvC,gBAAgB;CAmBjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,MAAO,SAAQ,WAAe;IACzC,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,IAAI,MAAM,oBAET;IAED,eAAe,IAAI,WAAW,GAAG,SAAS;CAG3C"}
|
|
@@ -251,6 +251,7 @@ declare const Camera_base: {
|
|
|
251
251
|
} & typeof Shape;
|
|
252
252
|
export declare class Camera extends Camera_base {
|
|
253
253
|
static _image: HTMLImageElement;
|
|
254
|
+
get hasTextProperty(): boolean;
|
|
254
255
|
is3dish(): boolean;
|
|
255
256
|
static get image(): HTMLImageElement;
|
|
256
257
|
render(context: CanvasRenderingContext2D): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/camera.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AA8C9C,qBAAa,QAAS,SAAQ,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAA;IAChC,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAE3B,SAAS,CAAC,mBAAmB;IAI7B,YAAY;IAyBZ,KAAK;CAgBN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,MAAO,SAAQ,WAAe;IACzC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAA;IAE/B,OAAO;IAIP,MAAM,KAAK,KAAK,qBAOf;IAED,MAAM,CAAC,OAAO,EAAE,wBAAwB;IAOxC,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,IAAI,eAAe,CAE5B;CACF"}
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/camera.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AA8C9C,qBAAa,QAAS,SAAQ,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAA;IAChC,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAE3B,SAAS,CAAC,mBAAmB;IAI7B,YAAY;IAyBZ,KAAK;CAgBN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,MAAO,SAAQ,WAAe;IACzC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAA;IAE/B,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,MAAM,KAAK,KAAK,qBAOf;IAED,MAAM,CAAC,OAAO,EAAE,wBAAwB;IAOxC,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,IAAI,eAAe,CAE5B;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cube.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/cube.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAUvD,qBAAa,MAAO,SAAQ,cAAc;IACxC,aAAa;CAQd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,IAAK,SAAQ,SAAe;IACvC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;CACF"}
|
|
1
|
+
{"version":3,"file":"cube.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/cube.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,MAAM,2BAA2B,CAAA;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAUvD,qBAAa,MAAO,SAAQ,cAAc;IACxC,aAAa;CAQd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,IAAK,SAAQ,SAAe;IACvC,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,oBAET;CACF"}
|
|
@@ -7,6 +7,7 @@ export declare class Cylinder3D extends RealObjectMesh {
|
|
|
7
7
|
updateDimension(): void;
|
|
8
8
|
}
|
|
9
9
|
export declare class Cylinder extends Ellipse {
|
|
10
|
+
get hasTextProperty(): boolean;
|
|
10
11
|
is3dish(): boolean;
|
|
11
12
|
buildRealObject(): IRealObject | undefined;
|
|
12
13
|
get nature(): ComponentNature;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cylinder.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/cylinder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,OAAO,MAAM,6BAA6B,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAUvD,qBAAa,UAAW,SAAQ,cAAc;IAC5C,aAAa;IAWb,eAAe,IAAI,IAAI;CAIxB;AAED,qBACa,QAAS,SAAQ,OAAO;IACnC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,IAAI,eAAe,CAE5B;CACF"}
|
|
1
|
+
{"version":3,"file":"cylinder.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/cylinder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,OAAO,MAAM,6BAA6B,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAUvD,qBAAa,UAAW,SAAQ,cAAc;IAC5C,aAAa;IAWb,eAAe,IAAI,IAAI;CAIxB;AAED,qBACa,QAAS,SAAQ,OAAO;IACnC,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,IAAI,MAAM,IAAI,eAAe,CAE5B;CACF"}
|
|
@@ -242,6 +242,7 @@ declare const GLTFObject_base: {
|
|
|
242
242
|
};
|
|
243
243
|
} & typeof Shape;
|
|
244
244
|
export declare class GLTFObject extends GLTFObject_base {
|
|
245
|
+
get hasTextProperty(): boolean;
|
|
245
246
|
is3dish(): boolean;
|
|
246
247
|
get controls(): Array<Control> | undefined;
|
|
247
248
|
render(context: CanvasRenderingContext2D): void;
|
|
@@ -1 +1 @@
|
|
|
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;AAI7C,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgE/E,qBACa,UAAW,SAAQ,eAAe;IAC7C,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,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;AAI7C,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgE/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,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"}
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -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;IAuB1C,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"}
|
|
@@ -18,12 +18,19 @@ export declare class CameraManager {
|
|
|
18
18
|
* 직교 투영 카메라로 특정 뷰를 설정한다.
|
|
19
19
|
* Top/Front/Back/Right/Left — 원근법 없는 정사영 뷰.
|
|
20
20
|
*/
|
|
21
|
-
setOrthoView(view: CameraViewName, width: number, height: number): THREE.OrthographicCamera;
|
|
21
|
+
setOrthoView(view: CameraViewName, width: number, height: number, viewportWidth?: number, viewportHeight?: number): THREE.OrthographicCamera;
|
|
22
22
|
/**
|
|
23
23
|
* Perspective 카메라로 복귀한다.
|
|
24
24
|
*/
|
|
25
25
|
restorePerspective(): THREE.PerspectiveCamera;
|
|
26
|
-
|
|
26
|
+
/**
|
|
27
|
+
* 직교 카메라 frustum을 업데이트한다.
|
|
28
|
+
* @param sceneWidth 씬 모델 너비
|
|
29
|
+
* @param sceneHeight 씬 모델 높이
|
|
30
|
+
* @param viewportWidth 실제 뷰포트 너비 (옵션)
|
|
31
|
+
* @param viewportHeight 실제 뷰포트 높이 (옵션)
|
|
32
|
+
*/
|
|
33
|
+
updateOrthoFrustum(sceneWidth: number, sceneHeight: number, viewportWidth?: number, viewportHeight?: number): void;
|
|
27
34
|
destroy(): void;
|
|
28
35
|
}
|
|
29
36
|
//# sourceMappingURL=camera-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/camera-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;AAExF,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,YAAY,CAAC,CAA0B;IAC/C,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,WAAW,CAAY;IAE/B,IAAI,MAAM,wCAET;IAED,IAAI,YAAY,IAAI,KAAK,CAAC,MAAM,CAK/B;IAED,IAAI,UAAU,IAAI,cAAc,CAE/B;IAED,IAAI,UAAU,WAEb;IAED,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;IAqBzD,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK;IAK7B,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"camera-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/camera-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;AAExF,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,YAAY,CAAC,CAA0B;IAC/C,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,WAAW,CAAY;IAE/B,IAAI,MAAM,wCAET;IAED,IAAI,YAAY,IAAI,KAAK,CAAC,MAAM,CAK/B;IAED,IAAI,UAAU,IAAI,cAAc,CAE/B;IAED,IAAI,UAAU,WAEb;IAED,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;IAqBzD,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK;IAK7B,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAgB1C,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IAU9C;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,kBAAkB;IAyC5I;;OAEG;IACH,kBAAkB,IAAI,KAAK,CAAC,iBAAiB;IAK7C;;;;;;OAMG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;IAyB3G,OAAO;CAKR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controls-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/controls-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,KAAK,CAAC,CAAW;IAEzB,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,kBAAkB,CAAC,CAAY;IACvC,OAAO,CAAC,cAAc,CAAO;IAC7B,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,UAAU,CAAI;IAGtB,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,OAAO,CAAsB;IAGrC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,UAAU,CAAsB;IAGxC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,SAAS,CAAsB;IAGvC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,eAAe,CAAyB;IAGhD,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,cAAc,CAAsB;IAE5C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAE1B;IAED,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"controls-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/controls-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,KAAK,CAAC,CAAW;IAEzB,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,kBAAkB,CAAC,CAAY;IACvC,OAAO,CAAC,cAAc,CAAO;IAC7B,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,UAAU,CAAI;IAGtB,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,OAAO,CAAsB;IAGrC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,UAAU,CAAsB;IAGxC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,SAAS,CAAsB;IAGvC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,eAAe,CAAyB;IAGhD,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,cAAc,CAAsB;IAE5C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAE1B;IAED,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO;IAKnC,+BAA+B;IAC/B,OAAO,KAAK,cAAc,GAEzB;IAED,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS;IAqB3C,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,oBAAoB,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;IAMjD,WAAW,CAAC,CAAC,EAAE,SAAS;IAkBxB,UAAU,CAAC,CAAC,EAAE,SAAS;IAevB,SAAS,CAAC,EAAE,EAAE,SAAS;IAOvB,YAAY,CAAC,CAAC,EAAE,UAAU;IA4B1B,WAAW,CAAC,CAAC,EAAE,UAAU;IAyBzB,UAAU,CAAC,EAAE,EAAE,UAAU;IAOzB,SAAS,CAAC,CAAC,EAAE,aAAa;IAgB1B,MAAM,IAAI,OAAO;IAiEjB,KAAK;IAUL;;;OAGG;IACH,gBAAgB;IAMhB,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM;IAmB9B,cAAc,IAAI,OAAO;IAIzB,aAAa,CAAC,OAAO,EAAE,OAAO;IAK9B,iBAAiB;IAIjB;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA2BxD;;;;OAIG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAqB5D,OAAO;IAOP,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,cAAc;IActB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,IAAI;CAyCb"}
|
|
@@ -47,6 +47,11 @@ export declare class GizmoOperationManager {
|
|
|
47
47
|
* 기즈모 드래그 결과를 컴포넌트 속성에 역변환하여 반영한다.
|
|
48
48
|
*/
|
|
49
49
|
private _syncFromGizmo;
|
|
50
|
+
/**
|
|
51
|
+
* 오브젝트 바닥면이 Y=0(바닥)에 가까우면 스냅한다.
|
|
52
|
+
* Object3D.position.y는 오브젝트 중심이므로, 바닥면 = position.y - effectiveDepth/2.
|
|
53
|
+
*/
|
|
54
|
+
private _applyGroundSnap;
|
|
50
55
|
/**
|
|
51
56
|
* scale 기즈모 드래그를 dimension 변경으로 역산한다.
|
|
52
57
|
* 축 매핑: scale.x → width, scale.y → depth, scale.z → height
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gizmo-operation-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/gizmo-operation-manager.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;IAClB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,UAAU,IAAI,IAAI,CAAA;CACnB;AAcD;;;;;GAKG;AACH,qBAAa,qBAAqB;IAEhC,OAAO,CAAC,iBAAiB,CAAC,CAAkB;IAC5C,OAAO,CAAC,aAAa,CAAC,CAAqC;IAE3D,OAAO,CAAC,sBAAsB,CAAC,CAAQ;IAGvC,OAAO,CAAC,kBAAkB,CAAC,CAAoD;IAC/E,OAAO,CAAC,gBAAgB,CAAQ;IAGhC,OAAO,CAAC,mBAAmB,CAAC,CAAgC;IAC5D,OAAO,CAAC,qBAAqB,CAAC,CAAa;IAC3C,OAAO,CAAC,4BAA4B,CAAC,CAA8B;IACnE,OAAO,CAAC,6BAA6B,CAAC,CAAqC;IAE3E;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAIpC;;;;OAIG;IACH,cAAc,CACZ,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE;QAAE,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,EACvD,OAAO,EAAE,MAAM,kBAAkB,GAAG,SAAS,EAC7C,SAAS,CAAC,EAAE;QACV,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;KAChD,GACA,IAAI;IA6BP,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,wBAAwB;IA2ChC,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,UAAU;IAuClB;;OAEG;IACH,OAAO,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"gizmo-operation-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/gizmo-operation-manager.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;IAClB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,UAAU,IAAI,IAAI,CAAA;CACnB;AAcD;;;;;GAKG;AACH,qBAAa,qBAAqB;IAEhC,OAAO,CAAC,iBAAiB,CAAC,CAAkB;IAC5C,OAAO,CAAC,aAAa,CAAC,CAAqC;IAE3D,OAAO,CAAC,sBAAsB,CAAC,CAAQ;IAGvC,OAAO,CAAC,kBAAkB,CAAC,CAAoD;IAC/E,OAAO,CAAC,gBAAgB,CAAQ;IAGhC,OAAO,CAAC,mBAAmB,CAAC,CAAgC;IAC5D,OAAO,CAAC,qBAAqB,CAAC,CAAa;IAC3C,OAAO,CAAC,4BAA4B,CAAC,CAA8B;IACnE,OAAO,CAAC,6BAA6B,CAAC,CAAqC;IAE3E;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAIpC;;;;OAIG;IACH,cAAc,CACZ,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE;QAAE,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,EACvD,OAAO,EAAE,MAAM,kBAAkB,GAAG,SAAS,EAC7C,SAAS,CAAC,EAAE;QACV,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;KAChD,GACA,IAAI;IA6BP,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,wBAAwB;IA2ChC,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,UAAU;IAuClB;;OAEG;IACH,OAAO,CAAC,cAAc;IAyEtB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAsBhC"}
|
|
@@ -9,5 +9,6 @@ export { GizmoOperationManager, type GizmoOperationHost } from './gizmo-operatio
|
|
|
9
9
|
export { InteractionManager, type InteractionDelegate } from './interaction-manager.js';
|
|
10
10
|
export { PlacementManager, type PlacementDelegate } from './placement-manager.js';
|
|
11
11
|
export { CameraBookmarkManager, type CameraBookmark } from './camera-bookmark-manager.js';
|
|
12
|
+
export { BoxSelectionManager } from './box-selection-manager.js';
|
|
12
13
|
export type { CameraConfig, RendererConfig, LightingConfig } from './types.js';
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAC7F,OAAO,EAAE,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACvF,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAA;AACzF,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAC7F,OAAO,EAAE,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACvF,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAA;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -32,6 +32,16 @@ export interface InteractionDelegate {
|
|
|
32
32
|
handleTouchEnd(e: TouchEvent): void;
|
|
33
33
|
/** 키 입력. 처리했으면 true, 상위로 전파해야 하면 false */
|
|
34
34
|
handleKeyDown(e: KeyboardEvent): boolean;
|
|
35
|
+
/** 키 해제. 처리했으면 true */
|
|
36
|
+
handleKeyUp?(e: KeyboardEvent): boolean;
|
|
37
|
+
/** Space 키 패닝 모드 여부 */
|
|
38
|
+
isSpacePanning?(): boolean;
|
|
39
|
+
/** 박스 셀렉션 시작 */
|
|
40
|
+
handleBoxSelectionStart?(x: number, y: number): void;
|
|
41
|
+
/** 박스 셀렉션 업데이트 */
|
|
42
|
+
handleBoxSelectionUpdate?(x: number, y: number): void;
|
|
43
|
+
/** 박스 셀렉션 종료 (additive: Shift 유지 여부 — 기존 선택에 추가) */
|
|
44
|
+
handleBoxSelectionEnd?(additive: boolean): void;
|
|
35
45
|
}
|
|
36
46
|
/**
|
|
37
47
|
* DOM 이벤트 핸들링과 드래그 상태 관리를 담당하는 매니저.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/interaction-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,2BAA2B;IAC3B,eAAe,IAAI,OAAO,CAAA;IAC1B,6BAA6B;IAC7B,oBAAoB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACzC,qCAAqC;IACrC,oBAAoB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACzC,mDAAmD;IACnD,iBAAiB,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAA;IACzC,0CAA0C;IAC1C,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7C,8BAA8B;IAC9B,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IACxE,YAAY;IACZ,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAChC,eAAe;IACf,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACnC,YAAY;IACZ,gBAAgB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACrC,YAAY;IACZ,eAAe,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC,YAAY;IACZ,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACnC,0CAA0C;IAC1C,aAAa,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"interaction-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/interaction-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,2BAA2B;IAC3B,eAAe,IAAI,OAAO,CAAA;IAC1B,6BAA6B;IAC7B,oBAAoB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACzC,qCAAqC;IACrC,oBAAoB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACzC,mDAAmD;IACnD,iBAAiB,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAA;IACzC,0CAA0C;IAC1C,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7C,8BAA8B;IAC9B,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IACxE,YAAY;IACZ,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAChC,eAAe;IACf,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACnC,YAAY;IACZ,gBAAgB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACrC,YAAY;IACZ,eAAe,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC,YAAY;IACZ,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACnC,0CAA0C;IAC1C,aAAa,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAA;IACxC,uBAAuB;IACvB,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAA;IACvC,uBAAuB;IACvB,cAAc,CAAC,IAAI,OAAO,CAAA;IAC1B,gBAAgB;IAChB,uBAAuB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpD,kBAAkB;IAClB,wBAAwB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrD,oDAAoD;IACpD,qBAAqB,CAAC,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;CAChD;AAED;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAK;IAE3C,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,cAAc,CAAC,CAWtB;IACD,OAAO,CAAC,eAAe,CAAC,CAAyB;IACjD,OAAO,CAAC,aAAa,CAAC,CAAyB;IAE/C,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,MAAM,CAAC,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAqB;IAEvC,IAAI,WAAW,4BAA+B;IAE9C;;;OAGG;IACH,KAAK,CACH,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE;QACJ,KAAK,EAAE,YAAY,CAAA;QACnB,QAAQ,EAAE,eAAe,CAAA;QACzB,MAAM,EAAE,aAAa,CAAA;QACrB,KAAK,EAAE,YAAY,CAAA;QACnB,KAAK,EAAE,cAAc,CAAA;KACtB,EACD,QAAQ,EAAE,mBAAmB,GAC5B,IAAI;IAwEP;;OAEG;IACH,OAAO,IAAI,IAAI;IA2Bf;;;;OAIG;IACH,qBAAqB,IAAI,IAAI;IAM7B;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IAUjF;;;;OAIG;IACH,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAUhE,OAAO,CAAC,YAAY;IAsMpB,OAAO,CAAC,YAAY;IAoBpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAU1B"}
|
|
@@ -27,6 +27,12 @@ export declare class RealObjectExtrude extends RealObject {
|
|
|
27
27
|
updateAlpha(): void;
|
|
28
28
|
updateStrokeStyle(): void;
|
|
29
29
|
updateFillStyle(): void;
|
|
30
|
+
updateText(): void;
|
|
31
|
+
/**
|
|
32
|
+
* cap 면(앞/뒤)에 fillStyle + 텍스트를 합성한 텍스처를 적용한다.
|
|
33
|
+
* 텍스트가 없으면 fillStyle만 적용한다.
|
|
34
|
+
*/
|
|
35
|
+
private _applyCapTexture;
|
|
30
36
|
updateDimension(): void;
|
|
31
37
|
}
|
|
32
38
|
//# sourceMappingURL=real-object-extrude.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-object-extrude.d.ts","sourceRoot":"","sources":["../../src/threed/real-object-extrude.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"real-object-extrude.d.ts","sourceRoot":"","sources":["../../src/threed/real-object-extrude.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAOhE;;;;;;;;;;GAUG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,iBAAiB,CAAC,EAAE,gBAAgB,CAAA;IACpC,OAAO,CAAC,KAAK,CAAC,CAAY;IAE1B,KAAK;IAKL,IAAI,KAAK,IAAI,GAAG,CAEf;IAED,IAAI,gBAAgB,qBAInB;IAED,KAAK;IAoCL,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc;IAoBxD,eAAe,IAAI,KAAK,CAAC,QAAQ,EAAE;IAuBnC,aAAa;IAoCb,OAAO,CAAC,YAAY;IAMpB,gBAAgB;IAqBhB,WAAW;IAUX,iBAAiB;IAQjB,eAAe;IAIf,UAAU;IAIV;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAoDxB,eAAe;CAKhB"}
|
|
@@ -6,6 +6,8 @@ export declare class RealObjectText extends RealObjectMesh {
|
|
|
6
6
|
/** 평면 오브젝트: 바닥(Y=0.5) 위로 올려 z-fighting 방지 */
|
|
7
7
|
protected get syncZPosOffset(): number;
|
|
8
8
|
buildGeometry(): void;
|
|
9
|
+
updateStrokeStyle(): void;
|
|
10
|
+
updateFillStyle(): void;
|
|
9
11
|
updateDimension(): void;
|
|
10
12
|
updateText(): void;
|
|
11
13
|
updateAlpha(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-object-text.d.ts","sourceRoot":"","sources":["../../src/threed/real-object-text.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtD;;GAEG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,6CAA6C;IAC7C,SAAS,KAAK,cAAc,WAE3B;IAED,aAAa;
|
|
1
|
+
{"version":3,"file":"real-object-text.d.ts","sourceRoot":"","sources":["../../src/threed/real-object-text.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtD;;GAEG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,6CAA6C;IAC7C,SAAS,KAAK,cAAc,WAE3B;IAED,aAAa;IAKb,iBAAiB;IAEjB,eAAe;IAWf,eAAe;IAiBf,UAAU;IAyDV,WAAW;CAOZ"}
|
|
@@ -85,6 +85,11 @@ export declare abstract class RealObject<T extends THREE.Object3D = THREE.Object
|
|
|
85
85
|
* 볼륨체(extrude): depth/2 (기하 중심), 평면(plane/text): depth (윗면 위치).
|
|
86
86
|
*/
|
|
87
87
|
protected get syncZPosOffset(): number;
|
|
88
|
+
/**
|
|
89
|
+
* object3d 중심에서 텍스트 표면(상단)까지의 로컬 Y 오프셋.
|
|
90
|
+
* 볼륨체(extrude): depth/2, 평면(plane/text): 0.
|
|
91
|
+
*/
|
|
92
|
+
get textSurfaceYOffset(): number;
|
|
88
93
|
/**
|
|
89
94
|
* 기즈모 드래그 결과를 컴포넌트 상태에 역변환하여 반영한다 (translate/rotate 모드 전용).
|
|
90
95
|
* Object3D → Component 방향의 동기화. scale은 dimension으로 처리하므로 여기서는 제외.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-object.d.ts","sourceRoot":"","sources":["../../src/threed/real-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAS,MAAM,wBAAwB,CAAA;AAM/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAO5E,8BAAsB,UAAU,CAAC,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAE,YAAW,WAAW;IAChG,SAAS,CAAC,UAAU,EAAE,SAAS,CAAA;IAC/B,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAQ;IACnC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC7B,SAAS,CAAC,iBAAiB,UAAQ;IAE5B,QAAQ,EAAE,CAAC,CAAA;IAKlB,OAAO,CAAC,gBAAgB,CAGvB;IAED,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS;IA4BjD,OAAO,CAAC,MAAM,CAAC,oBAAoB;gBA8DvB,SAAS,EAAE,SAAS;IAOhC,MAAM;IAYN,SAAS,CAAC,mBAAmB,IAAI,CAAC;IAIlC,KAAK;IAOL,gBAAgB;IAMhB,OAAO,CAAC,YAAY;IAWpB,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,IAAI,cAAc,IAAI,yBAAyB,GAAG,SAAS,CAS1D;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAK3B;IAED,OAAO;IAMP,KAAK;IASL;;OAEG;IACH,eAAe;IAUf,IAAI,QAAQ;;;;MAOX;IAED,IAAI,QAAQ;;;;MAQX;IAED,IAAI,KAAK;;;;MAUR;IAED,IAAI,EAAE,WAML;IAED,IAAI,EAAE,WAML;IAED,IAAI,EAAE,QAKL;IAED,IAAI,MAAM;;;;MAWT;IAED,IAAI,SAAS;;;;MAOZ;IAED;;;OAGG;IACH,IAAI,cAAc,IAAI,MAAM,CAE3B;IAGD,cAAc;IAKd,YAAY;IAKZ,WAAW;IAKX;;;;OAIG;IACH,kBAAkB;IAuClB,eAAe;IAKf,WAAW;IAoBX,YAAY;IAIZ,iBAAiB;IACjB,eAAe;IACf,UAAU;IAEV;;;OAGG;IACH;;;OAGG;IACH,SAAS,KAAK,cAAc,IAAI,MAAM,CAErC;IAED;;;OAGG;IACH,gBAAgB;IA6BhB;;;;OAIG;IACH,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMrD,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;CAyC/C"}
|
|
1
|
+
{"version":3,"file":"real-object.d.ts","sourceRoot":"","sources":["../../src/threed/real-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAS,MAAM,wBAAwB,CAAA;AAM/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAO5E,8BAAsB,UAAU,CAAC,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAE,YAAW,WAAW;IAChG,SAAS,CAAC,UAAU,EAAE,SAAS,CAAA;IAC/B,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAQ;IACnC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC7B,SAAS,CAAC,iBAAiB,UAAQ;IAE5B,QAAQ,EAAE,CAAC,CAAA;IAKlB,OAAO,CAAC,gBAAgB,CAGvB;IAED,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS;IA4BjD,OAAO,CAAC,MAAM,CAAC,oBAAoB;gBA8DvB,SAAS,EAAE,SAAS;IAOhC,MAAM;IAYN,SAAS,CAAC,mBAAmB,IAAI,CAAC;IAIlC,KAAK;IAOL,gBAAgB;IAMhB,OAAO,CAAC,YAAY;IAWpB,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,IAAI,cAAc,IAAI,yBAAyB,GAAG,SAAS,CAS1D;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAK3B;IAED,OAAO;IAMP,KAAK;IASL;;OAEG;IACH,eAAe;IAUf,IAAI,QAAQ;;;;MAOX;IAED,IAAI,QAAQ;;;;MAQX;IAED,IAAI,KAAK;;;;MAUR;IAED,IAAI,EAAE,WAML;IAED,IAAI,EAAE,WAML;IAED,IAAI,EAAE,QAKL;IAED,IAAI,MAAM;;;;MAWT;IAED,IAAI,SAAS;;;;MAOZ;IAED;;;OAGG;IACH,IAAI,cAAc,IAAI,MAAM,CAE3B;IAGD,cAAc;IAKd,YAAY;IAKZ,WAAW;IAKX;;;;OAIG;IACH,kBAAkB;IAuClB,eAAe;IAKf,WAAW;IAoBX,YAAY;IAIZ,iBAAiB;IACjB,eAAe;IACf,UAAU;IAEV;;;OAGG;IACH;;;OAGG;IACH,SAAS,KAAK,cAAc,IAAI,MAAM,CAErC;IAED;;;OAGG;IACH,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAED;;;OAGG;IACH,gBAAgB;IA6BhB;;;;OAIG;IACH,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMrD,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;CAyC/C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type Component from '../components/component.js';
|
|
2
|
+
import type { RendererManager } from './managers/renderer-manager.js';
|
|
3
|
+
/**
|
|
4
|
+
* 3D 텍스트 편집을 시작한다.
|
|
5
|
+
*
|
|
6
|
+
* - textarea를 CSS3DObject로 래핑하여 컴포넌트의 3D 위치에 배치
|
|
7
|
+
* - 편집 중 RealObjectText의 mesh를 숨겨 겹침 방지
|
|
8
|
+
* - 편집 완료(blur) 시 CSS3DObject 제거, mesh 복원, 텍스트 업데이트
|
|
9
|
+
*/
|
|
10
|
+
export declare function startTextEdit3D(component: Component, rendererManager: RendererManager, renderCallback: () => void): void;
|
|
11
|
+
//# sourceMappingURL=text-editor-3d.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-editor-3d.d.ts","sourceRoot":"","sources":["../../src/threed/text-editor-3d.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAErE;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,MAAM,IAAI,GACzB,IAAI,CAkMN"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
2
|
export declare function fontStyle(bold: boolean, italic: boolean, fontSize: number, fontFamily: string): string;
|
|
3
|
+
export declare function nextPowerOf2(n: number): number;
|
|
3
4
|
export declare function drawTextTexture(canvas: HTMLCanvasElement, text: string, textStyle: any): void;
|
|
4
5
|
export declare function textTexture(text: string, width: number, height: number, textStyle: any): THREE.CanvasTexture<HTMLCanvasElement>;
|
|
5
6
|
export declare function textBounds(text: string, textStyle: any): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-texture.d.ts","sourceRoot":"","sources":["../../../src/threed/texture/text-texture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAUtG;
|
|
1
|
+
{"version":3,"file":"text-texture.d.ts","sourceRoot":"","sources":["../../../src/threed/texture/text-texture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAUtG;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,UAerC;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QA+CtF;AAgDD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,0CAwCtF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA0B1F"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Component from '../components/component.js';
|
|
2
2
|
import * as THREE from 'three';
|
|
3
3
|
import { type ArrowStyle3D } from './arrow-3d.js';
|
|
4
|
-
import { SceneManager, CameraManager, RendererManager, LightManager, ControlsManager, EventManager3D, GizmoManager, GizmoOperationManager, InteractionManager, PlacementManager, CameraBookmarkManager, LightingConfig } from './managers/index.js';
|
|
4
|
+
import { SceneManager, CameraManager, RendererManager, LightManager, ControlsManager, EventManager3D, GizmoManager, GizmoOperationManager, InteractionManager, PlacementManager, CameraBookmarkManager, BoxSelectionManager, LightingConfig } from './managers/index.js';
|
|
5
5
|
import type { CameraViewName } from './managers/index.js';
|
|
6
6
|
/**
|
|
7
7
|
* ThreeCapability를 사용하는 호스트가 구현해야 하는 인터페이스.
|
|
@@ -62,7 +62,10 @@ export declare class ThreeCapability {
|
|
|
62
62
|
protected placementManager: PlacementManager;
|
|
63
63
|
protected gizmoOperationManager: GizmoOperationManager;
|
|
64
64
|
readonly bookmarkManager: CameraBookmarkManager;
|
|
65
|
+
protected boxSelectionManager: BoxSelectionManager;
|
|
65
66
|
private _host?;
|
|
67
|
+
private _isSpacePanning;
|
|
68
|
+
private _beforeSpaceMode?;
|
|
66
69
|
private _clipboard?;
|
|
67
70
|
private _onFocus?;
|
|
68
71
|
private _redrawHandler?;
|
|
@@ -102,10 +105,6 @@ export declare class ThreeCapability {
|
|
|
102
105
|
onBookmarkNavToggle?: () => void;
|
|
103
106
|
onBookmarkEditToggle?: () => void;
|
|
104
107
|
setGizmoMode(mode: 'translate' | 'rotate' | 'scale'): void;
|
|
105
|
-
/**
|
|
106
|
-
* 기즈모 모드를 설정하고, 선택된 오브젝트가 있으면 attach한다.
|
|
107
|
-
*/
|
|
108
|
-
private _activateGizmo;
|
|
109
108
|
get gizmoMode(): 'translate' | 'rotate' | 'scale';
|
|
110
109
|
/**
|
|
111
110
|
* 3D 씬을 초기화한다.
|
|
@@ -259,6 +258,7 @@ export declare class ThreeCapability {
|
|
|
259
258
|
onPan(e: TouchEvent): boolean;
|
|
260
259
|
onTouchEnd(e: TouchEvent): boolean;
|
|
261
260
|
onKeyDown(e: KeyboardEvent): boolean;
|
|
261
|
+
private _onKeyUp;
|
|
262
262
|
onPinch(e: TouchEvent): boolean;
|
|
263
263
|
onDoubleTap(): void;
|
|
264
264
|
/**
|
|
@@ -287,11 +287,30 @@ export declare class ThreeCapability {
|
|
|
287
287
|
};
|
|
288
288
|
} | null;
|
|
289
289
|
captureSessionState(): CameraSessionState;
|
|
290
|
+
/**
|
|
291
|
+
* 3D→2D 전환 시 사용할 카메라 뷰포트 정보를 캡처한다.
|
|
292
|
+
* @returns target(orbit target), visibleSize(카메라 FOV 기반 가시 영역 크기)
|
|
293
|
+
*/
|
|
294
|
+
captureViewportInfo(): {
|
|
295
|
+
target: THREE.Vector3;
|
|
296
|
+
visibleWidth: number;
|
|
297
|
+
visibleHeight: number;
|
|
298
|
+
};
|
|
290
299
|
restoreSessionState(state: CameraSessionState): void;
|
|
291
300
|
/**
|
|
292
301
|
* 현재 카메라 위치를 슬롯에 저장한다 (편집 모드 전용).
|
|
293
302
|
*/
|
|
294
303
|
saveCameraToSlot(index: number): void;
|
|
304
|
+
/**
|
|
305
|
+
* 2D 뷰포트 정보를 기반으로 카메라 위치/타겟을 설정한다.
|
|
306
|
+
* 수직/수평 FOV를 모두 고려하여 2D 가시 영역이 3D에서 정확히 커버되도록 거리를 계산한다.
|
|
307
|
+
*/
|
|
308
|
+
positionCameraForViewport(targetX: number, targetZ: number, visibleWidth: number, visibleHeight: number, lastCameraState?: CameraSessionState): void;
|
|
309
|
+
/**
|
|
310
|
+
* 컴포넌트의 3D 위치로 카메라를 이동한다.
|
|
311
|
+
* 현재 카메라↔target 오프셋(거리/방향)을 유지하면서 target을 컴포넌트 중심으로 옮긴다.
|
|
312
|
+
*/
|
|
313
|
+
centerToComponent(component: Component, animated?: boolean): void;
|
|
295
314
|
/**
|
|
296
315
|
* 슬롯으로 카메라를 애니메이션 이동한다.
|
|
297
316
|
*/
|
|
@@ -351,6 +370,7 @@ export declare class ThreeCapability {
|
|
|
351
370
|
* 디버그 FPS를 2D context에 그린다.
|
|
352
371
|
*/
|
|
353
372
|
showDebugFPS(context: CanvasRenderingContext2D): void;
|
|
373
|
+
get decoratorOutlines(): Set<Component>;
|
|
354
374
|
addOutline(component: Component): void;
|
|
355
375
|
removeOutline(component: Component): void;
|
|
356
376
|
clearOutlines(): void;
|