@hatiolab/things-scene 10.0.0-beta.5 → 10.0.0-beta.51
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/CHANGELOG.md +2240 -0
- package/dist-types/animation/animations/heartbeat.d.ts +0 -7
- package/dist-types/animation/animations/heartbeat.d.ts.map +1 -1
- package/dist-types/animation/interfaces.d.ts +1 -1
- package/dist-types/animation/interfaces.d.ts.map +1 -1
- package/dist-types/command/command-migrate.d.ts.map +1 -1
- package/dist-types/command/snapshot-commander.d.ts.map +1 -1
- package/dist-types/components/audio.d.ts.map +1 -1
- package/dist-types/components/component-data.d.ts +2 -0
- package/dist-types/components/component-data.d.ts.map +1 -1
- package/dist-types/components/container-abstract.d.ts +14 -1
- package/dist-types/components/container-abstract.d.ts.map +1 -1
- package/dist-types/components/data/data.d.ts.map +1 -1
- package/dist-types/components/geometry/snap-guide.d.ts +45 -0
- package/dist-types/components/geometry/snap-guide.d.ts.map +1 -0
- package/dist-types/components/geometry/transcoord.d.ts.map +1 -1
- package/dist-types/components/global-ref.d.ts.map +1 -1
- package/dist-types/components/group.d.ts +1 -0
- package/dist-types/components/group.d.ts.map +1 -1
- package/dist-types/components/image-view.d.ts.map +1 -1
- package/dist-types/components/index.d.ts +1 -0
- package/dist-types/components/index.d.ts.map +1 -1
- package/dist-types/components/line.d.ts +1 -1
- package/dist-types/components/mutater/path.d.ts.map +1 -1
- package/dist-types/components/root-container.d.ts +11 -4
- package/dist-types/components/root-container.d.ts.map +1 -1
- package/dist-types/components/service-component.d.ts +264 -0
- package/dist-types/components/service-component.d.ts.map +1 -0
- package/dist-types/decorator/decorator-registry.d.ts +4 -0
- package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
- package/dist-types/decorator/decorators/data-spread-decorator.d.ts +16 -0
- package/dist-types/decorator/decorators/data-spread-decorator.d.ts.map +1 -1
- package/dist-types/diagnostics/data-lag-tracker.d.ts +44 -0
- package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -0
- package/dist-types/diagnostics/inspector.d.ts +0 -1
- package/dist-types/diagnostics/inspector.d.ts.map +1 -1
- package/dist-types/diagnostics/load-tracker.d.ts +82 -0
- package/dist-types/diagnostics/load-tracker.d.ts.map +1 -0
- package/dist-types/diagnostics/loading-overlay.d.ts +41 -0
- package/dist-types/diagnostics/loading-overlay.d.ts.map +1 -0
- package/dist-types/event-map/index.d.ts +1 -0
- package/dist-types/event-map/index.d.ts.map +1 -1
- package/dist-types/event-map/transition-handler.d.ts +2 -0
- package/dist-types/event-map/transition-handler.d.ts.map +1 -0
- package/dist-types/interfaces/providers.d.ts +5 -0
- package/dist-types/interfaces/providers.d.ts.map +1 -1
- package/dist-types/layer/action/popup.d.ts +1 -0
- package/dist-types/layer/action/popup.d.ts.map +1 -1
- package/dist-types/layer/dual-canvas-layer.d.ts.map +1 -1
- package/dist-types/layer/index.d.ts +1 -0
- package/dist-types/layer/index.d.ts.map +1 -1
- package/dist-types/layer/layer.d.ts +1 -0
- package/dist-types/layer/layer.d.ts.map +1 -1
- package/dist-types/layer/model-layer.d.ts +53 -7
- package/dist-types/layer/model-layer.d.ts.map +1 -1
- package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
- package/dist-types/layer/modeling-layer.d.ts.map +1 -1
- package/dist-types/layer/selection/selected-finder.d.ts.map +1 -1
- package/dist-types/layer/selection-layer.d.ts.map +1 -1
- package/dist-types/layer/snap-guide-layer.d.ts +23 -0
- package/dist-types/layer/snap-guide-layer.d.ts.map +1 -0
- package/dist-types/search/index.d.ts +3 -0
- package/dist-types/search/index.d.ts.map +1 -0
- package/dist-types/search/scene-search-engine.d.ts +65 -0
- package/dist-types/search/scene-search-engine.d.ts.map +1 -0
- package/dist-types/search/search-overlay.d.ts +69 -0
- package/dist-types/search/search-overlay.d.ts.map +1 -0
- 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/things-scene/api/place.d.ts.map +1 -1
- package/dist-types/things-scene/application-context.d.ts +16 -0
- package/dist-types/things-scene/application-context.d.ts.map +1 -1
- package/dist-types/things-scene/create.d.ts +4 -1
- package/dist-types/things-scene/create.d.ts.map +1 -1
- package/dist-types/things-scene/index.d.ts +7 -0
- package/dist-types/things-scene/index.d.ts.map +1 -1
- package/dist-types/things-scene/scene.d.ts +15 -0
- package/dist-types/things-scene/scene.d.ts.map +1 -1
- package/dist-types/threed/arrow-3d.d.ts +13 -4
- package/dist-types/threed/arrow-3d.d.ts.map +1 -1
- package/dist-types/threed/common.d.ts +5 -0
- package/dist-types/threed/common.d.ts.map +1 -1
- package/dist-types/threed/environments/base-environment.d.ts +9 -0
- package/dist-types/threed/environments/base-environment.d.ts.map +1 -0
- package/dist-types/threed/environments/factory-environment.d.ts +2 -3
- package/dist-types/threed/environments/factory-environment.d.ts.map +1 -1
- package/dist-types/threed/environments/home-environment.d.ts +2 -3
- package/dist-types/threed/environments/home-environment.d.ts.map +1 -1
- package/dist-types/threed/environments/office-environment.d.ts +2 -3
- package/dist-types/threed/environments/office-environment.d.ts.map +1 -1
- package/dist-types/threed/environments/studio-environment.d.ts +2 -3
- package/dist-types/threed/environments/studio-environment.d.ts.map +1 -1
- package/dist-types/threed/environments/warehouse-environment.d.ts +2 -3
- package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -1
- package/dist-types/threed/factories/banner.d.ts +2 -1
- 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/floor-plate.d.ts +250 -0
- package/dist-types/threed/factories/floor-plate.d.ts.map +1 -0
- package/dist-types/threed/factories/gltf-object.d.ts +20 -4
- package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
- package/dist-types/threed/factories/group.d.ts +2 -0
- package/dist-types/threed/factories/group.d.ts.map +1 -0
- 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/line.d.ts +10 -0
- package/dist-types/threed/factories/line.d.ts.map +1 -0
- package/dist-types/threed/factories/polyline.d.ts +10 -0
- package/dist-types/threed/factories/polyline.d.ts.map +1 -0
- 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/index.d.ts +9 -0
- package/dist-types/threed/index.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-bookmark-manager.d.ts +127 -0
- package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/camera-manager.d.ts +9 -3
- package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/controls-manager.d.ts +22 -4
- package/dist-types/threed/managers/controls-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/event-manager3d.d.ts +8 -0
- package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
- package/dist-types/threed/managers/gizmo-operation-manager.d.ts +6 -0
- package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/index.d.ts +3 -0
- package/dist-types/threed/managers/index.d.ts.map +1 -1
- package/dist-types/threed/managers/interaction-manager.d.ts +16 -0
- package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/light-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/renderer-manager.d.ts +32 -0
- package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/types.d.ts +5 -2
- package/dist-types/threed/managers/types.d.ts.map +1 -1
- package/dist-types/threed/managers/vertex-gizmo-manager.d.ts +109 -0
- package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -0
- package/dist-types/threed/material-3d.d.ts +5 -0
- package/dist-types/threed/material-3d.d.ts.map +1 -1
- package/dist-types/threed/ratio-lock-utils.d.ts +9 -0
- package/dist-types/threed/ratio-lock-utils.d.ts.map +1 -0
- package/dist-types/threed/real-object-dom-element.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-gltf.d.ts +48 -3
- package/dist-types/threed/real-object-gltf.d.ts.map +1 -1
- package/dist-types/threed/real-object-group.d.ts +2 -0
- package/dist-types/threed/real-object-group.d.ts.map +1 -1
- package/dist-types/threed/real-object-line.d.ts +81 -0
- package/dist-types/threed/real-object-line.d.ts.map +1 -0
- package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
- package/dist-types/threed/real-object-service.d.ts +14 -0
- package/dist-types/threed/real-object-service.d.ts.map +1 -0
- 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 +24 -2
- 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/fillstyle-texture.d.ts +37 -0
- package/dist-types/threed/texture/fillstyle-texture.d.ts.map +1 -0
- package/dist-types/threed/texture/text-texture.d.ts +15 -0
- package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
- package/dist-types/threed/three-capability.d.ts +137 -6
- package/dist-types/threed/three-capability.d.ts.map +1 -1
- package/dist-types/threed/three-container.d.ts +0 -1
- package/dist-types/threed/three-container.d.ts.map +1 -1
- package/dist-types/threed/three-dimensional-container.d.ts +0 -1
- package/dist-types/threed/three-dimensional-container.d.ts.map +1 -1
- package/dist-types/transition/transition-effect.d.ts +84 -0
- package/dist-types/transition/transition-effect.d.ts.map +1 -0
- package/package.json +4 -3
- package/things-scene-min.js +11 -12
- package/things-scene-min.js.map +1 -1
- package/things-scene.mjs +7 -8
- package/things-scene.mjs.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-object-group.d.ts","sourceRoot":"","sources":["../../src/threed/real-object-group.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,qBAAa,eAAgB,SAAQ,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1D,SAAS,CAAC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"real-object-group.d.ts","sourceRoot":"","sources":["../../src/threed/real-object-group.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,qBAAa,eAAgB,SAAQ,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1D,SAAS,CAAC,mBAAmB;IAI7B,iEAAiE;IACjE,IAAI,iBAAiB,IAAI,MAAM,EAAE,GAAG,IAAI,CAEvC;CACF"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { Line2 } from 'three/examples/jsm/lines/Line2.js';
|
|
3
|
+
import { RealObject } from './real-object.js';
|
|
4
|
+
import type { Properties } from '../interfaces/types.js';
|
|
5
|
+
/**
|
|
6
|
+
* 선형 컴포넌트(line, polyline, path 등)를 3D에서 Line2(fat line)로 렌더링하는 베이스 클래스.
|
|
7
|
+
*
|
|
8
|
+
* RealObjectMesh, RealObjectExtrude와 동급의 추상 클래스.
|
|
9
|
+
* 서브클래스는 worldPath를 구현하여 컴포넌트별 좌표 변환 로직을 제공한다.
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class RealObjectLine extends RealObject<THREE.Group> {
|
|
12
|
+
protected _line2?: Line2;
|
|
13
|
+
/** 서브클래스가 오버라이드: 컴포넌트 path → 3D 로컬 좌표 배열 반환 */
|
|
14
|
+
abstract get worldPath(): THREE.Vector3[];
|
|
15
|
+
protected getObject3dInstance(): THREE.Group<THREE.Object3DEventMap>;
|
|
16
|
+
/** 선형 컴포넌트도 기즈모 변환 가능 — 결과를 path 좌표에 베이킹 */
|
|
17
|
+
get gizmoTransformable(): boolean;
|
|
18
|
+
/** 선형 컴포넌트는 볼륨이 없으므로 바닥면에 위치 */
|
|
19
|
+
protected get syncZPosOffset(): number;
|
|
20
|
+
/**
|
|
21
|
+
* 기즈모 드래그 중에는 컴포넌트 상태를 변경하지 않는다.
|
|
22
|
+
* object3d가 움직이면서 Line2가 함께 이동하므로 시각적으로는 정상.
|
|
23
|
+
* 드래그 종료 시 onGizmoDragEnd에서 일괄 베이킹한다.
|
|
24
|
+
*/
|
|
25
|
+
syncFromObject3D(): void;
|
|
26
|
+
/**
|
|
27
|
+
* scale 기즈모 드래그 중에도 dimension 변경을 방지한다.
|
|
28
|
+
*/
|
|
29
|
+
applyDimensionFromGizmo(_props: Record<string, number>): void;
|
|
30
|
+
build(): void;
|
|
31
|
+
/**
|
|
32
|
+
* round 속성을 적용하여 worldPath를 보간한 최종 positions을 반환한다.
|
|
33
|
+
*/
|
|
34
|
+
protected get smoothedPath(): THREE.Vector3[];
|
|
35
|
+
protected _buildLine(): void;
|
|
36
|
+
/**
|
|
37
|
+
* 팁 오브젝트를 위치/회전/색상 설정하여 object3d에 추가한다.
|
|
38
|
+
*/
|
|
39
|
+
private _placeTip;
|
|
40
|
+
private _getResolution;
|
|
41
|
+
/**
|
|
42
|
+
* 기즈모 드래그 종료 시 호출.
|
|
43
|
+
* object3d의 현재 transform(translate/rotate/scale)을
|
|
44
|
+
* path vertex 좌표에 베이킹하고, object3d transform을 리셋한다.
|
|
45
|
+
*
|
|
46
|
+
* 핵심: line/path 컴포넌트는 position/rotation/scale 속성을 갖지 않는다.
|
|
47
|
+
* 오직 vertex 좌표만으로 형태를 결정한다.
|
|
48
|
+
*/
|
|
49
|
+
onGizmoDragEnd(_mode: string): void;
|
|
50
|
+
/**
|
|
51
|
+
* object3d의 transform matrix를 path vertex에 적용한 새 parent 좌표를 계산한다.
|
|
52
|
+
* 순수 함수로 추출하여 단위 테스트 가능.
|
|
53
|
+
*
|
|
54
|
+
* @param path - 컴포넌트 path (local coords, rotation=0이므로 parent coords와 동일)
|
|
55
|
+
* @param center - component.center (parent coords)
|
|
56
|
+
* @param parentSize - 부모 컨테이너의 bounds { width, height }
|
|
57
|
+
* @param object3d - 기즈모에 의해 변환된 Object3D
|
|
58
|
+
* @returns 새 path (parent coords)
|
|
59
|
+
*/
|
|
60
|
+
static computeBakedPath(path: Array<{
|
|
61
|
+
x: number;
|
|
62
|
+
y: number;
|
|
63
|
+
z?: number;
|
|
64
|
+
}>, center: {
|
|
65
|
+
x: number;
|
|
66
|
+
y: number;
|
|
67
|
+
}, parentSize: {
|
|
68
|
+
width: number;
|
|
69
|
+
height: number;
|
|
70
|
+
}, object3d: THREE.Object3D): Array<{
|
|
71
|
+
x: number;
|
|
72
|
+
y: number;
|
|
73
|
+
z?: number;
|
|
74
|
+
}>;
|
|
75
|
+
updateStrokeStyle(): void;
|
|
76
|
+
updateAlpha(): void;
|
|
77
|
+
updateDimension(): void;
|
|
78
|
+
onchange(after: Properties, before: Properties): void;
|
|
79
|
+
clear(): THREE.Group<THREE.Object3DEventMap>;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=real-object-line.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"real-object-line.d.ts","sourceRoot":"","sources":["../../src/threed/real-object-line.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAKzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAyDxD;;;;;GAKG;AACH,8BAAsB,cAAe,SAAQ,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;IAClE,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;IAExB,+CAA+C;IAC/C,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAA;IAEzC,SAAS,CAAC,mBAAmB;IAI7B,4CAA4C;IAC5C,IAAa,kBAAkB,IAAI,OAAO,CAEzC;IAED,gCAAgC;IAChC,SAAS,KAAK,cAAc,IAAI,MAAM,CAErC;IAED;;;;OAIG;IACM,gBAAgB,IAAI,IAAI;IAIjC;;OAEG;IACM,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAItE,KAAK;IAKL;;OAEG;IACH,SAAS,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,EAAE,CAqD5C;IAED,SAAS,CAAC,UAAU;IA0FpB;;OAEG;IACH,OAAO,CAAC,SAAS;IAwCjB,OAAO,CAAC,cAAc;IAStB;;;;;;;OAOG;IACM,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAuC5C;;;;;;;;;OASG;IACH,MAAM,CAAC,gBAAgB,CACrB,IAAI,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EACjD,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAChC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC7C,QAAQ,EAAE,KAAK,CAAC,QAAQ,GACvB,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiC9C,iBAAiB;IAKjB,WAAW;IAIX,eAAe;IAKf,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;IAgB9C,KAAK;CAYN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-object-mesh.d.ts","sourceRoot":"","sources":["../../src/threed/real-object-mesh.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C,8BAAsB,cAAe,SAAQ,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;IACjE,SAAS,CAAC,mBAAmB;IAI7B,KAAK;IASL,WAAW;IAMX,YAAY;IAIZ,eAAe;IAsBf,iBAAiB;IAuBjB,eAAe,IAAI,IAAI;IAqBvB,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI;IAExC,aAAa,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"real-object-mesh.d.ts","sourceRoot":"","sources":["../../src/threed/real-object-mesh.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C,8BAAsB,cAAe,SAAQ,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;IACjE,SAAS,CAAC,mBAAmB;IAI7B,KAAK;IASL,WAAW;IAMX,YAAY;IAIZ,eAAe;IAsBf,iBAAiB;IAuBjB,eAAe,IAAI,IAAI;IAqBvB,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI;IAExC,aAAa,IAAI,IAAI;IAOrB,gBAAgB;IAShB,KAAK;CAKN"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { RealObject } from './real-object.js';
|
|
3
|
+
export declare class RealObjectService extends RealObject<THREE.Mesh> {
|
|
4
|
+
protected getObject3dInstance(): THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>;
|
|
5
|
+
build(): void;
|
|
6
|
+
updateAlpha(): void;
|
|
7
|
+
updateHidden(): void;
|
|
8
|
+
updateDimension(): void;
|
|
9
|
+
updateFillStyle(): void;
|
|
10
|
+
updateStrokeStyle(): void;
|
|
11
|
+
updateText(): void;
|
|
12
|
+
clear(): THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=real-object-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"real-object-service.d.ts","sourceRoot":"","sources":["../../src/threed/real-object-service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAM7C,qBAAa,iBAAkB,SAAQ,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3D,SAAS,CAAC,mBAAmB;IAI7B,KAAK;IAyBL,WAAW;IAOX,YAAY;IAIZ,eAAe;IAef,eAAe;IACf,iBAAiB;IACjB,UAAU;IAEV,KAAK;CAIN"}
|
|
@@ -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;IAKf,eAAe;IAiBf,UAAU;IAyDV,WAAW;CASZ"}
|
|
@@ -10,19 +10,24 @@ export declare abstract class RealObject<T extends THREE.Object3D = THREE.Object
|
|
|
10
10
|
protected _suppressOnchange: boolean;
|
|
11
11
|
object3d: T;
|
|
12
12
|
private _onchangeWrapper;
|
|
13
|
-
static buildFillStyleTexture(component: Component): THREE.
|
|
14
|
-
private static buildGradientTexture;
|
|
13
|
+
static buildFillStyleTexture(component: Component): THREE.Texture<unknown> | undefined;
|
|
15
14
|
constructor(component: Component);
|
|
16
15
|
update(): void;
|
|
17
16
|
protected getObject3dInstance(): T;
|
|
18
17
|
build(): void;
|
|
19
18
|
updateMaterial3d(): void;
|
|
19
|
+
private _applyShadow;
|
|
20
|
+
/** 기즈모(translate/rotate/scale)를 통한 변환이 가능한지 여부. 기본 true. */
|
|
21
|
+
get gizmoTransformable(): boolean;
|
|
22
|
+
/** 허용되는 기즈모 모드. null이면 모든 모드 허용. */
|
|
23
|
+
get allowedGizmoModes(): string[] | null;
|
|
20
24
|
get component(): Component;
|
|
21
25
|
get threeContainer(): ThreeDimensionalContainer | undefined;
|
|
22
26
|
get focused(): boolean;
|
|
23
27
|
set focused(focused: boolean);
|
|
24
28
|
dispose(): void;
|
|
25
29
|
clear(): T;
|
|
30
|
+
suppressTransform: boolean;
|
|
26
31
|
/**
|
|
27
32
|
* Component의 상태값의 변화를 Object3D에 반영 - translate, rotation, scale
|
|
28
33
|
*/
|
|
@@ -50,6 +55,13 @@ export declare abstract class RealObject<T extends THREE.Object3D = THREE.Object
|
|
|
50
55
|
y: number;
|
|
51
56
|
z: any;
|
|
52
57
|
};
|
|
58
|
+
freezeDimension(): void;
|
|
59
|
+
unfreezeDimension(): void;
|
|
60
|
+
_frozenDimension?: {
|
|
61
|
+
width: number;
|
|
62
|
+
height: number;
|
|
63
|
+
depth: number;
|
|
64
|
+
};
|
|
53
65
|
get dimension(): {
|
|
54
66
|
width: number;
|
|
55
67
|
height: number;
|
|
@@ -84,11 +96,21 @@ export declare abstract class RealObject<T extends THREE.Object3D = THREE.Object
|
|
|
84
96
|
* 볼륨체(extrude): depth/2 (기하 중심), 평면(plane/text): depth (윗면 위치).
|
|
85
97
|
*/
|
|
86
98
|
protected get syncZPosOffset(): number;
|
|
99
|
+
/**
|
|
100
|
+
* object3d 중심에서 텍스트 표면(상단)까지의 로컬 Y 오프셋.
|
|
101
|
+
* 볼륨체(extrude): depth/2, 평면(plane/text): 0.
|
|
102
|
+
*/
|
|
103
|
+
get textSurfaceYOffset(): number;
|
|
87
104
|
/**
|
|
88
105
|
* 기즈모 드래그 결과를 컴포넌트 상태에 역변환하여 반영한다 (translate/rotate 모드 전용).
|
|
89
106
|
* Object3D → Component 방향의 동기화. scale은 dimension으로 처리하므로 여기서는 제외.
|
|
90
107
|
*/
|
|
91
108
|
syncFromObject3D(): void;
|
|
109
|
+
/**
|
|
110
|
+
* 기즈모 드래그 종료 시 호출. 서브클래스가 오버라이드하여
|
|
111
|
+
* 기즈모 결과를 컴포넌트 데이터에 베이킹할 수 있다.
|
|
112
|
+
*/
|
|
113
|
+
onGizmoDragEnd(_mode: string): void;
|
|
92
114
|
/**
|
|
93
115
|
* scale 기즈모 드래그 결과를 dimension으로 역산하여 컴포넌트에 적용한다.
|
|
94
116
|
* _suppressOnchange로 피드백 루프를 방지한다.
|
|
@@ -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;
|
|
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;AAK/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAQ5E,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;gBAIrC,SAAS,EAAE,SAAS;IAOhC,MAAM;IAYN,SAAS,CAAC,mBAAmB,IAAI,CAAC;IAIlC,KAAK;IAOL,gBAAgB;IAMhB,OAAO,CAAC,YAAY;IAWpB,4DAA4D;IAC5D,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,oCAAoC;IACpC,IAAI,iBAAiB,IAAI,MAAM,EAAE,GAAG,IAAI,CAEvC;IAED,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,iBAAiB,UAAQ;IAEzB;;OAEG;IACH,eAAe;IAqBf,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,eAAe;IAIf,iBAAiB;IAIjB,gBAAgB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAEnE,IAAI,SAAS;eAFe,MAAM;gBAAU,MAAM;eAAS,MAAM;MAWhE;IAED;;;OAGG;IACH,IAAI,cAAc,IAAI,MAAM,CAE3B;IAGD,cAAc;IAKd,YAAY;IAKZ,WAAW;IAKX;;;;OAIG;IACH,kBAAkB;IA6ClB,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;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC;;;;OAIG;IACH,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMrD,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;CA8C/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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type Component from '../../components/component.js';
|
|
3
|
+
/**
|
|
4
|
+
* gradient fillStyle을 캔버스에 그려 반환한다.
|
|
5
|
+
* text-texture.ts의 텍스트+gradient 합성과 real-object.ts의 gradient 텍스처 모두 이 함수를 사용한다.
|
|
6
|
+
*/
|
|
7
|
+
export declare function drawGradientCanvas(fillStyle: {
|
|
8
|
+
gradientType?: string;
|
|
9
|
+
rotation?: number;
|
|
10
|
+
center?: string;
|
|
11
|
+
colorStops: {
|
|
12
|
+
position: number;
|
|
13
|
+
color: string;
|
|
14
|
+
}[];
|
|
15
|
+
}, w: number, h: number): HTMLCanvasElement | null;
|
|
16
|
+
/**
|
|
17
|
+
* 패턴 fillStyle을 2D 옵션(fitPattern, offset, align, repeat, color)에 맞춰
|
|
18
|
+
* 캔버스 텍스처로 생성한다. 이미지 로드 완료 후 component.invalidate()로 갱신.
|
|
19
|
+
*/
|
|
20
|
+
export declare function buildPatternTexture(component: Component, fillStyle: any): THREE.Texture;
|
|
21
|
+
/**
|
|
22
|
+
* gradient fillStyle을 THREE.CanvasTexture로 생성한다.
|
|
23
|
+
*/
|
|
24
|
+
export declare function buildGradientTexture(fillStyle: {
|
|
25
|
+
gradientType?: string;
|
|
26
|
+
rotation?: number;
|
|
27
|
+
center?: string;
|
|
28
|
+
colorStops: {
|
|
29
|
+
position: number;
|
|
30
|
+
color: string;
|
|
31
|
+
}[];
|
|
32
|
+
}): THREE.CanvasTexture | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* fillStyle 객체(pattern 또는 gradient)에 따라 적절한 텍스처를 생성한다.
|
|
35
|
+
*/
|
|
36
|
+
export declare function buildFillStyleTexture(component: Component): THREE.Texture | undefined;
|
|
37
|
+
//# sourceMappingURL=fillstyle-texture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fillstyle-texture.d.ts","sourceRoot":"","sources":["../../../src/threed/texture/fillstyle-texture.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAG1D;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,EAC3H,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,iBAAiB,GAAG,IAAI,CAmC1B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,GAAG,KAAK,CAAC,OAAO,CAqGvF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,GAC1H,KAAK,CAAC,aAAa,GAAG,SAAS,CASjC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC,OAAO,GAAG,SAAS,CAYrF"}
|
|
@@ -1,7 +1,22 @@
|
|
|
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>;
|
|
6
|
+
/**
|
|
7
|
+
* 패턴(이미지) 배경 + 텍스트를 합성한 텍스처를 비동기로 생성한다.
|
|
8
|
+
* 2D fill.ts와 동일한 패턴 옵션을 지원한다:
|
|
9
|
+
* fitPattern, width/height, offsetX/offsetY, align, noRepeat, color
|
|
10
|
+
*
|
|
11
|
+
* @param imageUrl resolved 이미지 URL
|
|
12
|
+
* @param text 텍스트 (빈 문자열이면 텍스트 생략)
|
|
13
|
+
* @param compWidth 컴포넌트 너비
|
|
14
|
+
* @param compHeight 컴포넌트 높이
|
|
15
|
+
* @param textStyle 텍스트 스타일 (fontColor, fontSize 등)
|
|
16
|
+
* @param fillStyle 패턴 fillStyle 객체 (fitPattern, offsetX 등)
|
|
17
|
+
* @param onReady 텍스처 완성 콜백
|
|
18
|
+
*/
|
|
19
|
+
export declare function patternTextTexture(imageUrl: string, text: string, compWidth: number, compHeight: number, textStyle: any, fillStyle: any, onReady: (texture: THREE.CanvasTexture) => void): void;
|
|
5
20
|
export declare function textBounds(text: string, textStyle: any): {
|
|
6
21
|
width: number;
|
|
7
22
|
height: number;
|
|
@@ -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;
|
|
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;AAK9B,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;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,0CAwCtF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,GAAG,EACd,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,GAC9C,IAAI,CAoGN;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, LightingConfig } from './managers/index.js';
|
|
4
|
+
import { SceneManager, CameraManager, RendererManager, LightManager, ControlsManager, EventManager3D, GizmoManager, GizmoOperationManager, InteractionManager, PlacementManager, CameraBookmarkManager, BoxSelectionManager, VertexGizmoManager, LightingConfig } from './managers/index.js';
|
|
5
5
|
import type { CameraViewName } from './managers/index.js';
|
|
6
6
|
/**
|
|
7
7
|
* ThreeCapability를 사용하는 호스트가 구현해야 하는 인터페이스.
|
|
@@ -37,7 +37,6 @@ export interface CameraSessionState {
|
|
|
37
37
|
y: number;
|
|
38
38
|
z: number;
|
|
39
39
|
};
|
|
40
|
-
perspZoom?: number;
|
|
41
40
|
orbitTarget?: {
|
|
42
41
|
x: number;
|
|
43
42
|
y: number;
|
|
@@ -62,7 +61,12 @@ export declare class ThreeCapability {
|
|
|
62
61
|
protected interactionManager: InteractionManager;
|
|
63
62
|
protected placementManager: PlacementManager;
|
|
64
63
|
protected gizmoOperationManager: GizmoOperationManager;
|
|
64
|
+
readonly bookmarkManager: CameraBookmarkManager;
|
|
65
|
+
protected boxSelectionManager: BoxSelectionManager;
|
|
66
|
+
protected vertexGizmoManager: VertexGizmoManager;
|
|
65
67
|
private _host?;
|
|
68
|
+
private _isSpacePanning;
|
|
69
|
+
private _beforeSpaceMode?;
|
|
66
70
|
private _clipboard?;
|
|
67
71
|
private _onFocus?;
|
|
68
72
|
private _redrawHandler?;
|
|
@@ -74,14 +78,17 @@ export declare class ThreeCapability {
|
|
|
74
78
|
private _initialized;
|
|
75
79
|
private _decoratorOutlines;
|
|
76
80
|
private _selectionOutlineObjects;
|
|
81
|
+
private _highlightedMarkerIndex;
|
|
77
82
|
private _arrows;
|
|
78
83
|
private _resizeDebouncer?;
|
|
84
|
+
private _pathLine?;
|
|
85
|
+
private _pathMarkers?;
|
|
86
|
+
private _pathVisible;
|
|
79
87
|
get isInitialized(): boolean;
|
|
80
88
|
get host(): ThreeCapabilityHost | undefined;
|
|
81
89
|
get scene3d(): THREE.Scene | undefined;
|
|
82
90
|
get renderer3d(): THREE.WebGLRenderer | undefined;
|
|
83
91
|
get mixer(): THREE.AnimationMixer | undefined;
|
|
84
|
-
get zoom(): number | undefined;
|
|
85
92
|
get camera(): THREE.PerspectiveCamera | undefined;
|
|
86
93
|
get activeCamera(): THREE.Camera;
|
|
87
94
|
get css3DScene(): THREE.Scene;
|
|
@@ -94,6 +101,13 @@ export declare class ThreeCapability {
|
|
|
94
101
|
onGizmoModeChanged?: (mode: 'translate' | 'rotate' | 'scale') => void;
|
|
95
102
|
onGizmoAttachChanged?: (isAttached: boolean) => void;
|
|
96
103
|
onCameraViewChanged?: (view: string) => void;
|
|
104
|
+
onBookmarkChanged?: () => void;
|
|
105
|
+
onHelpToggle?: () => void;
|
|
106
|
+
onSearchToggle?: () => void;
|
|
107
|
+
onDataBindingToggle?: () => void;
|
|
108
|
+
onMonitorToggle?: () => void;
|
|
109
|
+
onBookmarkNavToggle?: () => void;
|
|
110
|
+
onBookmarkEditToggle?: () => void;
|
|
97
111
|
setGizmoMode(mode: 'translate' | 'rotate' | 'scale'): void;
|
|
98
112
|
get gizmoMode(): 'translate' | 'rotate' | 'scale';
|
|
99
113
|
/**
|
|
@@ -103,6 +117,11 @@ export declare class ThreeCapability {
|
|
|
103
117
|
init(host: ThreeCapabilityHost, options?: {
|
|
104
118
|
lightingConfig?: LightingConfig;
|
|
105
119
|
css3DSceneAttribute?: string;
|
|
120
|
+
skipEnvironment?: boolean;
|
|
121
|
+
skipPostprocessing?: boolean;
|
|
122
|
+
useLightComposer?: boolean;
|
|
123
|
+
skipShadowMap?: boolean;
|
|
124
|
+
skipFloor?: boolean;
|
|
106
125
|
}): void;
|
|
107
126
|
/**
|
|
108
127
|
* 이벤트 핸들러를 정리한다 (init/dispose에서 공용).
|
|
@@ -205,12 +224,26 @@ export declare class ThreeCapability {
|
|
|
205
224
|
* arrow function으로 this(ThreeCapability)를 캡처하여
|
|
206
225
|
* 호스트 교체 후에도 올바른 인스턴스를 참조한다.
|
|
207
226
|
*/
|
|
227
|
+
/**
|
|
228
|
+
* screenFixed DOM 컴포넌트를 호스트 위에 절대 위치로 고정 배치한다.
|
|
229
|
+
* CSS3D 렌더러를 거치지 않고, HTML element를 직접 호스트 element 위에 배치.
|
|
230
|
+
*/
|
|
231
|
+
/**
|
|
232
|
+
* screenFixed 컴포넌트를 HUD에 배치한다.
|
|
233
|
+
* - DOM 컴포넌트: 호스트 위에 absolute positioning
|
|
234
|
+
* - WebGL 컴포넌트: 2D 렌더링을 캔버스 텍스처로 XY Plane에 입힘
|
|
235
|
+
*/
|
|
208
236
|
private _buildInteractionDelegate;
|
|
209
237
|
/**
|
|
210
238
|
* 클릭 처리: raycast로 오브젝트 선택.
|
|
211
239
|
* NDC는 InteractionManager가 이미 업데이트한 상태여야 한다.
|
|
212
240
|
*/
|
|
213
241
|
private _handleClickAt;
|
|
242
|
+
/** Shift+클릭 토글 / 일반 클릭 단일 선택 / 빈 공간 클릭 해제
|
|
243
|
+
* Group 내 자식 클릭 시:
|
|
244
|
+
* - 첫 클릭: 최상위 Group 선택 (translate/rotate/scale 모두 Group 단위)
|
|
245
|
+
* - Group이 이미 선택된 상태에서 재클릭: 개별 자식 선택 */
|
|
246
|
+
private _applySelection;
|
|
214
247
|
/**
|
|
215
248
|
* Raycast로 마우스 아래의 3D 오브젝트를 찾는다.
|
|
216
249
|
*/
|
|
@@ -225,10 +258,15 @@ export declare class ThreeCapability {
|
|
|
225
258
|
* DOM 직접 리스닝 경로는 InteractionManager.updateMouseNDCFromClient()를 사용한다.
|
|
226
259
|
*/
|
|
227
260
|
private _updateMouseNDCFromClient;
|
|
261
|
+
/**
|
|
262
|
+
* 이벤트 → NDC 좌표 (-1~+1) 변환.
|
|
263
|
+
* element rect를 사용하되, 없거나 0x0이면 transcoordC2S+bounds로 폴백.
|
|
264
|
+
*/
|
|
265
|
+
private _eventToNDC;
|
|
228
266
|
/**
|
|
229
267
|
* 마우스 이벤트의 NDC 좌표를 업데이트한다.
|
|
230
|
-
*
|
|
231
|
-
*
|
|
268
|
+
* DOM element가 있으면 clientX/clientY → element-relative로 변환하고,
|
|
269
|
+
* 없으면 (ThreeContainer 등) offsetX/offsetY를 transcoordC2S로 논리 좌표 변환 후 bounds 기준 NDC.
|
|
232
270
|
*/
|
|
233
271
|
private _updateMouseNDC;
|
|
234
272
|
onMouseUp(e: MouseEvent): boolean;
|
|
@@ -237,6 +275,10 @@ export declare class ThreeCapability {
|
|
|
237
275
|
onMouseLeave(_e: MouseEvent): boolean;
|
|
238
276
|
onWheel(e: WheelEvent): boolean;
|
|
239
277
|
onDblClick(e: MouseEvent): boolean;
|
|
278
|
+
/**
|
|
279
|
+
* 현재 카메라 위치/타겟을 더블클릭 리셋 기준점으로 저장한다.
|
|
280
|
+
*/
|
|
281
|
+
pinResetPosition(): void;
|
|
240
282
|
onDragStart(e: DragEvent): boolean;
|
|
241
283
|
onDragMove(e: DragEvent): boolean;
|
|
242
284
|
onDragEnd(e: DragEvent): boolean;
|
|
@@ -244,6 +286,19 @@ export declare class ThreeCapability {
|
|
|
244
286
|
onPan(e: TouchEvent): boolean;
|
|
245
287
|
onTouchEnd(e: TouchEvent): boolean;
|
|
246
288
|
onKeyDown(e: KeyboardEvent): boolean;
|
|
289
|
+
/** Escape: MODE_ADD 취소, paste mode 종료, 기즈모 detach + 선택 해제 */
|
|
290
|
+
private _handleEscapeKey;
|
|
291
|
+
/** 편집 모드 전용 키: Ctrl+Z/C/X/V/D, Enter, W/E/R, Delete, 화살표 */
|
|
292
|
+
private _handleEditModeKey;
|
|
293
|
+
/** 화살표 키로 선택된 오브젝트 이동 */
|
|
294
|
+
private _handleArrowKeyMove;
|
|
295
|
+
/** Alt/Shift 키: orbit/pan 및 박스 셀렉션 힌트 커서 */
|
|
296
|
+
private _handleCursorHintKey;
|
|
297
|
+
/** 카메라 뷰 전환 (0-6, Q), H: 도움말, F: 검색, B: 북마크 네비게이션 */
|
|
298
|
+
private _handleCameraAndViewKey;
|
|
299
|
+
/** Space/P/O: 재생 제어 (뷰어), Space: 패닝 모드 (편집) */
|
|
300
|
+
private _handlePlaybackKey;
|
|
301
|
+
private _onKeyUp;
|
|
247
302
|
onPinch(e: TouchEvent): boolean;
|
|
248
303
|
onDoubleTap(): void;
|
|
249
304
|
/**
|
|
@@ -252,13 +307,83 @@ export declare class ThreeCapability {
|
|
|
252
307
|
*/
|
|
253
308
|
getCameraState(): {
|
|
254
309
|
view: string;
|
|
255
|
-
zoom: number;
|
|
256
310
|
cameraX: number;
|
|
257
311
|
cameraY: number;
|
|
258
312
|
cameraZ: number;
|
|
259
313
|
} | null;
|
|
314
|
+
/**
|
|
315
|
+
* 현재 카메라 위치와 타겟을 월드 좌표로 반환한다.
|
|
316
|
+
*/
|
|
317
|
+
getCameraWorldState(): {
|
|
318
|
+
position: {
|
|
319
|
+
x: number;
|
|
320
|
+
y: number;
|
|
321
|
+
z: number;
|
|
322
|
+
};
|
|
323
|
+
target: {
|
|
324
|
+
x: number;
|
|
325
|
+
y: number;
|
|
326
|
+
z: number;
|
|
327
|
+
};
|
|
328
|
+
} | null;
|
|
260
329
|
captureSessionState(): CameraSessionState;
|
|
330
|
+
/**
|
|
331
|
+
* 3D→2D 전환 시 사용할 카메라 뷰포트 정보를 캡처한다.
|
|
332
|
+
* @returns target(orbit target), visibleSize(카메라 FOV 기반 가시 영역 크기)
|
|
333
|
+
*/
|
|
334
|
+
captureViewportInfo(): {
|
|
335
|
+
target: THREE.Vector3;
|
|
336
|
+
visibleWidth: number;
|
|
337
|
+
visibleHeight: number;
|
|
338
|
+
};
|
|
261
339
|
restoreSessionState(state: CameraSessionState): void;
|
|
340
|
+
/**
|
|
341
|
+
* 현재 카메라 위치를 슬롯에 저장한다 (편집 모드 전용).
|
|
342
|
+
*/
|
|
343
|
+
saveCameraToSlot(index: number): void;
|
|
344
|
+
/**
|
|
345
|
+
* 2D 뷰포트 정보를 기반으로 카메라 위치/타겟을 설정한다.
|
|
346
|
+
* 수직/수평 FOV를 모두 고려하여 2D 가시 영역이 3D에서 정확히 커버되도록 거리를 계산한다.
|
|
347
|
+
*/
|
|
348
|
+
positionCameraForViewport(targetX: number, targetZ: number, visibleWidth: number, visibleHeight: number, lastCameraState?: CameraSessionState): void;
|
|
349
|
+
/**
|
|
350
|
+
* 컴포넌트의 3D 위치로 카메라를 이동한다.
|
|
351
|
+
* 현재 카메라↔target 오프셋(거리/방향)을 유지하면서 target을 컴포넌트 중심으로 옮긴다.
|
|
352
|
+
*/
|
|
353
|
+
centerToComponent(component: Component, animated?: boolean): void;
|
|
354
|
+
/**
|
|
355
|
+
* 슬롯으로 카메라를 애니메이션 이동한다.
|
|
356
|
+
*/
|
|
357
|
+
animateToSlot(index: number): void;
|
|
358
|
+
/**
|
|
359
|
+
* 경로의 t∈[0,1] 지점으로 카메라를 즉시 이동한다 (스크러빙).
|
|
360
|
+
*/
|
|
361
|
+
scrubPath(t: number): void;
|
|
362
|
+
/**
|
|
363
|
+
* 슬롯 순회 플레이를 토글한다 (일시정지/재개).
|
|
364
|
+
* 재개 시 카메라 현재 위치에서 가장 가까운 다음 슬롯부터 시작.
|
|
365
|
+
*/
|
|
366
|
+
togglePlay(startFromProgress?: number): void;
|
|
367
|
+
/**
|
|
368
|
+
* 슬롯 순회 플레이를 처음부터 재시작한다.
|
|
369
|
+
*/
|
|
370
|
+
restartPlay(): void;
|
|
371
|
+
/**
|
|
372
|
+
* 뷰어 시작 시 자동 재생 모드를 시작한다.
|
|
373
|
+
*/
|
|
374
|
+
startAutoPlay(mode: 'orbit' | 'play'): void;
|
|
375
|
+
/**
|
|
376
|
+
* 북마크 동선 라인을 3D 씬에 표시한다.
|
|
377
|
+
*/
|
|
378
|
+
showBookmarkPath(): void;
|
|
379
|
+
/**
|
|
380
|
+
* 북마크 동선 라인을 제거한다.
|
|
381
|
+
*/
|
|
382
|
+
hideBookmarkPath(permanent?: boolean): void;
|
|
383
|
+
/**
|
|
384
|
+
* 모델에서 카메라 북마크를 복원한다.
|
|
385
|
+
*/
|
|
386
|
+
initBookmarks(): void;
|
|
262
387
|
/**
|
|
263
388
|
* 상태 변경을 3D 씬에 반영한다.
|
|
264
389
|
* width/height 처리는 호스트별로 다르므로 여기서는 하지 않는다:
|
|
@@ -285,6 +410,7 @@ export declare class ThreeCapability {
|
|
|
285
410
|
* 디버그 FPS를 2D context에 그린다.
|
|
286
411
|
*/
|
|
287
412
|
showDebugFPS(context: CanvasRenderingContext2D): void;
|
|
413
|
+
get decoratorOutlines(): Set<Component>;
|
|
288
414
|
addOutline(component: Component): void;
|
|
289
415
|
removeOutline(component: Component): void;
|
|
290
416
|
clearOutlines(): void;
|
|
@@ -309,6 +435,11 @@ export declare class ThreeCapability {
|
|
|
309
435
|
*/
|
|
310
436
|
updateArrow(id: string, from: Component, to: Component): void;
|
|
311
437
|
private _getArrowStyle;
|
|
438
|
+
/**
|
|
439
|
+
* 북마크 마커 하이라이트 (슬롯 호버 시 아웃라인 표시)
|
|
440
|
+
*/
|
|
441
|
+
highlightBookmarkMarker(slotIndex: number): void;
|
|
442
|
+
clearBookmarkMarkerHighlight(): void;
|
|
312
443
|
/**
|
|
313
444
|
* 편집모드 선택 아웃라인과 데코레이터 아웃라인을 합집합하여 OutlinePass에 설정한다.
|
|
314
445
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"three-capability.d.ts","sourceRoot":"","sources":["../../src/threed/three-capability.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"three-capability.d.ts","sourceRoot":"","sources":["../../src/threed/three-capability.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAOlD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAK/D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,EACf,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAuC,MAAM,qBAAqB,CAAA;AAE9F;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7E,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;IAClB,UAAU,IAAI,IAAI,CAAA;IAClB,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9D,QAAQ,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;IAC3B,QAAQ,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAA;IACxC,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IAC1D,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;IACzD,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CAC7D;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAA;IACpB,aAAa,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACnD,WAAW,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAClD;AAED;;;;;;GAMG;AACH,qBAAa,eAAe;IAC1B,SAAS,CAAC,YAAY,eAAqB;IAC3C,SAAS,CAAC,aAAa,gBAAsB;IAC7C,SAAS,CAAC,eAAe,kBAAwB;IACjD,SAAS,CAAC,YAAY,eAAqB;IAC3C,SAAS,CAAC,eAAe,kBAAwB;IACjD,SAAS,CAAC,YAAY,iBAAuB;IAC7C,SAAS,CAAC,YAAY,eAAqB;IAC3C,SAAS,CAAC,kBAAkB,qBAA2B;IACvD,SAAS,CAAC,gBAAgB,mBAAyB;IACnD,SAAS,CAAC,qBAAqB,wBAA8B;IAC7D,QAAQ,CAAC,eAAe,wBAA8B;IACtD,SAAS,CAAC,mBAAmB,sBAA4B;IACzD,SAAS,CAAC,kBAAkB,qBAA2B;IAEvD,OAAO,CAAC,KAAK,CAAC,CAAqB;IACnC,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAQ;IACjC,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAC,CAAY;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAY;IACnC,OAAO,CAAC,eAAe,CAAC,CAA+D;IACvF,OAAO,CAAC,kBAAkB,CAAC,CAAgD;IAC3E,OAAO,CAAC,mBAAmB,CAAC,CAAmD;IAC/E,OAAO,CAAC,WAAW,CAAC,CAAyB;IAC7C,OAAO,CAAC,UAAU,CAAC,CAAY;IAC/B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,wBAAwB,CAAuB;IACvD,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,gBAAgB,CAAC,CAAQ;IACjC,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,YAAY,CAAQ;IAG5B,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,IAAI,IAAI,IAAI,mBAAmB,GAAG,SAAS,CAE1C;IAID,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,GAAG,SAAS,CAErC;IAED,IAAI,UAAU,IAAI,KAAK,CAAC,aAAa,GAAG,SAAS,CAEhD;IAED,IAAI,KAAK,IAAI,KAAK,CAAC,cAAc,GAAG,SAAS,CAE5C;IAED,IAAI,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAEhD;IAED,IAAI,YAAY,IAAI,KAAK,CAAC,MAAM,CAE/B;IAED,IAAI,UAAU,IAAI,KAAK,CAAC,KAAK,CAE5B;IAED,IAAI,aAAa,0EAEhB;IAED,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAA;IACrE,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IACpD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;IAEjC,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO;IA6BnD,IAAI,SAAS,IAAI,WAAW,GAAG,QAAQ,GAAG,OAAO,CAEhD;IAID;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE;QACxC,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,kBAAkB,CAAC,EAAE,OAAO,CAAA;QAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAC1B,aAAa,CAAC,EAAE,OAAO,CAAA;QACvB,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB,GAAG,IAAI;IAsDR;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgC7B;;OAEG;IACH,OAAO,CAAC,WAAW;IAgJnB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAM5C;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IA6ErC;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IA6CxC;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,IAAI;IAiChE;;OAEG;IACH,OAAO,CAAC,YAAY;IAmBpB;;OAEG;IACH,OAAO,IAAI,IAAI;IA+Bf;;OAEG;IACH,YAAY,IAAI,IAAI;IAYpB;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAgCjE;;OAEG;IACH,WAAW,IAAI,IAAI;IAOnB;;OAEG;IACH,aAAa,IAAI,IAAI;IAarB;;OAEG;IACH,OAAO,IAAI,IAAI;IA6Bf;;;;OAIG;IACH,qBAAqB,IAAI,IAAI;IAwB7B;;;OAGG;IACH,eAAe,IAAI,IAAI;IAUvB;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE;QACrD,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAC7B,GAAG,IAAI;IAmFR;;;;OAIG;IACH,OAAO,IAAI,IAAI;IAmCf;;;;OAIG;IACH;;;OAGG;IACH;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IA+HjC;;;OAGG;IACH,OAAO,CAAC,cAAc;IA2DtB;;;6CAGyC;IACzC,OAAO,CAAC,eAAe;IA2CvB;;OAEG;IACH,kBAAkB,IAAI,KAAK,CAAC,QAAQ,GAAG,SAAS;IAOhD,mBAAmB;IAOnB;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IAsBjC;;;OAGG;IACH,OAAO,CAAC,WAAW;IA0BnB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAwBvB,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IA4BjC,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAanC,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAWnC,YAAY,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAIrC,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAoB/B,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAwClC;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAIxB,WAAW,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO;IAkBlC,UAAU,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO;IAcjC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO;IAchC,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IASpC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAS7B,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IASlC,SAAS,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO;IAwBpC,6DAA6D;IAC7D,OAAO,CAAC,gBAAgB;IA6BxB,4DAA4D;IAC5D,OAAO,CAAC,kBAAkB;IA2E1B,yBAAyB;IACzB,OAAO,CAAC,mBAAmB;IA2B3B,4CAA4C;IAC5C,OAAO,CAAC,oBAAoB;IAgB5B,qDAAqD;IACrD,OAAO,CAAC,uBAAuB;IAwC/B,+CAA+C;IAC/C,OAAO,CAAC,kBAAkB;IA2C1B,OAAO,CAAC,QAAQ;IAyBhB,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IA0B/B,WAAW,IAAI,IAAI;IAMnB;;;OAGG;IACH,cAAc,IAAI;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;KAChB,GAAG,IAAI;IAkBR;;OAEG;IACH,mBAAmB,IAAI;QAAE,QAAQ,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,MAAM,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI;IAU5H,mBAAmB,IAAI,kBAAkB;IAYzC;;;OAGG;IACH,mBAAmB,IAAI;QAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAa7F,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAoBpD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAsCrC;;;OAGG;IACH,yBAAyB,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,kBAAkB,GACnC,IAAI;IAgDP;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI;IAoDjE;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAkBlC;;OAEG;IACH,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAU1B;;;OAGG;IACH,UAAU,CAAC,iBAAiB,SAAK,GAAG,IAAI;IAkBxC;;OAEG;IACH,WAAW,IAAI,IAAI;IAanB;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAQ3C;;OAEG;IACH,gBAAgB,IAAI,IAAI;IA6IxB;;OAEG;IACH,gBAAgB,CAAC,SAAS,UAAQ,GAAG,IAAI;IAyBzC;;OAEG;IACH,aAAa,IAAI,IAAI;IAiBrB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IA6E1C;;OAEG;IACH,IAAI,UAAU,IAAI,iBAAiB,GAAG,SAAS,CAE9C;IAED;;OAEG;IACH,eAAe,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAIpD;;OAEG;IACH,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ9F;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAYrD,IAAI,iBAAiB,IAAI,GAAG,CAAC,SAAS,CAAC,CAEtC;IAED,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAMtC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAMzC,aAAa,IAAI,IAAI;IAQrB;;;;;;OAMG;IACH,QAAQ,CACN,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,SAAS,EACb,KAAK,GAAE,YAAiB,GACvB,IAAI;IA4BP;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAuC7B;;OAEG;IACH,WAAW,IAAI,IAAI;IAMnB;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI;IAO7D,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAOhD,4BAA4B,IAAI,IAAI;IAOpC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAWhC"}
|
|
@@ -27,7 +27,6 @@ export declare class ThreeContainer extends Container implements ThreeDimensiona
|
|
|
27
27
|
get scene3d(): THREE.Scene | undefined;
|
|
28
28
|
get renderer3d(): THREE.WebGLRenderer | undefined;
|
|
29
29
|
get mixer(): THREE.AnimationMixer | undefined;
|
|
30
|
-
get zoom(): number | undefined;
|
|
31
30
|
get css3DScene(): THREE.Scene;
|
|
32
31
|
get css3DRenderer(): import("three/examples/jsm/renderers/CSS3DRenderer.js").CSS3DRenderer;
|
|
33
32
|
render_threed(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"three-container.d.ts","sourceRoot":"","sources":["../../src/threed/three-container.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAClD,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAGlD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,mBAAmB,CAAA;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AA2BtI,qBACa,cAAe,SAAQ,SAAU,YAAW,yBAAyB;IAChF,SAAS,CAAC,WAAW,kBAAwB;IAE7C,qFAAqF;IACrF,SAAS,KAAK,YAAY,IAAI,YAAY,CAA4C;IACtF,SAAS,KAAK,aAAa,IAAI,aAAa,CAA6C;IACzF,SAAS,KAAK,eAAe,IAAI,eAAe,CAA+C;IAC/F,SAAS,KAAK,YAAY,IAAI,YAAY,CAA4C;IACtF,SAAS,KAAK,eAAe,IAAI,eAAe,CAA+C;IAC/F,SAAS,KAAK,YAAY,IAAI,cAAc,CAA4C;IAExF,WAAW,CAAC,SAAS,EAAE,SAAS;IAIhC,aAAa;IAIb,SAAS,CAAC,iBAAiB,IAAI,cAAc;
|
|
1
|
+
{"version":3,"file":"three-container.d.ts","sourceRoot":"","sources":["../../src/threed/three-container.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAClD,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAGlD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,mBAAmB,CAAA;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AA2BtI,qBACa,cAAe,SAAQ,SAAU,YAAW,yBAAyB;IAChF,SAAS,CAAC,WAAW,kBAAwB;IAE7C,qFAAqF;IACrF,SAAS,KAAK,YAAY,IAAI,YAAY,CAA4C;IACtF,SAAS,KAAK,aAAa,IAAI,aAAa,CAA6C;IACzF,SAAS,KAAK,eAAe,IAAI,eAAe,CAA+C;IAC/F,SAAS,KAAK,YAAY,IAAI,YAAY,CAA4C;IACtF,SAAS,KAAK,eAAe,IAAI,eAAe,CAA+C;IAC/F,SAAS,KAAK,YAAY,IAAI,cAAc,CAA4C;IAExF,WAAW,CAAC,SAAS,EAAE,SAAS;IAIhC,aAAa;IAIb,SAAS,CAAC,iBAAiB,IAAI,cAAc;IAO7C,SAAS,CAAC,sBAAsB,IAAI,MAAM,GAAG,SAAS;IAItD,YAAY;IAmBZ,eAAe;IAKf,IAAI;IAEJ,MAAM;IAMN,IAAI,OAAO,4BAKV;IAED,IAAI,UAAU,oCAEb;IAED,IAAI,KAAK,qCAER;IAED,IAAI,UAAU,gBAEb;IAED,IAAI,aAAa,0EAEhB;IAED,aAAa;IAIb;;;OAGG;IACH,OAAO,KAAK,eAAe,GAE1B;IAID,MAAM,CAAC,GAAG,EAAE,wBAAwB;IAiBpC,UAAU,CAAC,GAAG,EAAE,wBAAwB;IAoCxC,OAAO;IAKP,IAAI,MAAM,IAAI,GAAG,CAEhB;IAED,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,kBAAkB,IAAI,KAAK,CAAC,QAAQ,GAAG,SAAS;IAIhD,mBAAmB;IAMnB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;IAS9C,WAAW,CAAC,CAAC,EAAE,UAAU;IAIzB,SAAS,CAAC,CAAC,EAAE,UAAU;IAIvB,WAAW,CAAC,CAAC,EAAE,UAAU;IAIzB,YAAY,CAAC,CAAC,EAAE,UAAU;IAI1B,OAAO,CAAC,CAAC,EAAE,UAAU;IAMrB,UAAU,CAAC,CAAC,EAAE,UAAU;IAMxB,WAAW,CAAC,CAAC,EAAE,SAAS;IAIxB,UAAU,CAAC,CAAC,EAAE,SAAS;IAMvB,SAAS,CAAC,CAAC,EAAE,SAAS;IAMtB,YAAY,CAAC,CAAC,EAAE,UAAU;IAI1B,KAAK,CAAC,CAAC,EAAE,UAAU;IAMnB,UAAU,CAAC,CAAC,EAAE,UAAU;IAIxB,SAAS,CAAC,CAAC,EAAE,aAAa;IAI1B,OAAO,CAAC,CAAC,EAAE,UAAU;IAMrB,WAAW;CAIZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"three-dimensional-container.d.ts","sourceRoot":"","sources":["../../src/threed/three-dimensional-container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEjE,MAAM,WAAW,yBAAyB;IACxC,aAAa,IAAI,OAAO,CAAA;IACxB,IAAI,OAAO,IAAI,KAAK,GAAG,SAAS,CAAA;IAChC,IAAI,UAAU,IAAI,aAAa,GAAG,SAAS,CAAA;IAC3C,IAAI,KAAK,IAAI,cAAc,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"three-dimensional-container.d.ts","sourceRoot":"","sources":["../../src/threed/three-dimensional-container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEjE,MAAM,WAAW,yBAAyB;IACxC,aAAa,IAAI,OAAO,CAAA;IACxB,IAAI,OAAO,IAAI,KAAK,GAAG,SAAS,CAAA;IAChC,IAAI,UAAU,IAAI,aAAa,GAAG,SAAS,CAAA;IAC3C,IAAI,KAAK,IAAI,cAAc,GAAG,SAAS,CAAA;CACxC"}
|