@hatiolab/things-scene 10.0.0-beta.11 → 10.0.0-beta.13
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 +77 -0
- package/dist-types/layer/model-layer.d.ts +2 -0
- package/dist-types/layer/model-layer.d.ts.map +1 -1
- package/dist-types/layer/modeling-layer.d.ts.map +1 -1
- package/dist-types/threed/managers/camera-bookmark-manager.d.ts +93 -0
- package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -0
- 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/types.d.ts +1 -0
- package/dist-types/threed/managers/types.d.ts.map +1 -1
- package/dist-types/threed/real-object.d.ts +1 -0
- package/dist-types/threed/real-object.d.ts.map +1 -1
- package/dist-types/threed/three-capability.d.ts +29 -1
- 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
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,82 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## [v10.0.0-beta.11] (2026-03-08)
|
|
4
|
+
|
|
5
|
+
### New Features
|
|
6
|
+
- **`postprocessing` 옵션**: `create({ postprocessing: false })`로 EffectComposer 파이프라인 생략 가능. headless 썸네일 등 경량 렌더링 시 성능 대폭 향상
|
|
7
|
+
- **RendererManager direct render**: composer 없을 때 `renderer.render(scene, camera)` 직접 호출 경로 추가
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
- **setupWebGL() null guard**: WebGL2 context 생성 실패 시 graceful 처리 (`_noSupportWebgl = true` 반환)
|
|
11
|
+
- **renderTopView() WebGL guard**: context 생성 실패 시 빈 캔버스 반환으로 headless 환경 에러 방지
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## [v10.0.0-beta.10] (2026-03-07)
|
|
16
|
+
|
|
17
|
+
### Performance
|
|
18
|
+
- **GLTF 파싱 캐시**: 동일 URL GLTF 재파싱 방지, Promise 캐시로 중복 로드 제거
|
|
19
|
+
- **로더 통합**: GLTFLoader/DRACOLoader/KTX2Loader 공유 인스턴스
|
|
20
|
+
- **lazy material clone**: 머티리얼 변경 시점에만 clone (즉시 clone 제거)
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## [v10.0.0-beta.9] (2026-03-06)
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
- **GLTFLoader 통합**: 2D snapshot용 별도 GLTFLoader를 공유 인스턴스로 통합
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## [v10.0.0-beta.8] (2026-03-05)
|
|
32
|
+
|
|
33
|
+
### Bug Fixes
|
|
34
|
+
- **syncFromObject3D**: Ellipse/GLTF 등 모든 컴포넌트에서 동작하도록 수정
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## [v10.0.0-beta.7] (2026-03-04)
|
|
39
|
+
|
|
40
|
+
### Bug Fixes
|
|
41
|
+
- **RGBA 색상 처리**: rgba 색상에서 alpha 채널을 strip하여 THREE.Color에 전달
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## [v10.0.0-beta.6] (2026-03-03)
|
|
46
|
+
|
|
47
|
+
### Bug Fixes
|
|
48
|
+
- **음수 dimension 방어**: 3D 초기화 시 음수 크기(뒤집힌 컴포넌트) 방어
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## [v10.0.0-beta.5] (2026-03-02)
|
|
53
|
+
|
|
54
|
+
### New Features
|
|
55
|
+
- **Sky 환경 프리셋**: 3D 씬 배경 sky 환경 설정 지원
|
|
56
|
+
- **3D 속성 정리**: ThreeContainer 속성 체계 개선
|
|
57
|
+
|
|
58
|
+
### Bug Fixes
|
|
59
|
+
- **headless screenshot alpha**: 포스트프로세싱 후 alpha 채널 1.0 강제
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## [v10.0.0-beta.2] (2026-02-28)
|
|
64
|
+
|
|
65
|
+
### Bug Fixes
|
|
66
|
+
- **npm 배포 호환**: package.json exports 필드 제거, sub-path 타입 접근 허용
|
|
67
|
+
- **공개 API 확장**: AnimationTarget, Component 타입 export 추가
|
|
68
|
+
- **3D 렌더링**: 바닥 위치 하향, logarithmicDepthBuffer 활성화, z-fighting 제거
|
|
69
|
+
- **데코레이터**: 3D 좌표 투영을 projectToScreen 유틸리티로 추출
|
|
70
|
+
- **evaluator**: document/window 접근 허용 + 런타임 에러 안전 처리
|
|
71
|
+
- **3D 화살표**: Line2 기반 전체 스타일 대응
|
|
72
|
+
- **nextPowerOf2**: 음수 입력 무한루프 수정
|
|
73
|
+
- **원근 카메라**: minZoom 프로퍼티로 최소 줌 제한
|
|
74
|
+
|
|
75
|
+
### New Features
|
|
76
|
+
- **GLTF fillStyleTargets**: 데이터 바인딩으로 특정 파트에 fillStyle 적용
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
3
80
|
## [v10.0.0-beta.1] (2026-02-27)
|
|
4
81
|
|
|
5
82
|
### Breaking Changes
|
|
@@ -98,6 +98,7 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
98
98
|
capturePath(path: any, excepts: any): any;
|
|
99
99
|
getOverlay(component: any): any;
|
|
100
100
|
getDecoratorOverlay(component: any): any;
|
|
101
|
+
_onkeydown_root(e: KeyboardEvent): void;
|
|
101
102
|
get eventMap(): {
|
|
102
103
|
'(self)': {
|
|
103
104
|
'(all)': {
|
|
@@ -145,6 +146,7 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
145
146
|
'(root)': {
|
|
146
147
|
'(self)': {
|
|
147
148
|
selected: (selected: any[]) => void;
|
|
149
|
+
keydown: (e: KeyboardEvent) => void;
|
|
148
150
|
};
|
|
149
151
|
};
|
|
150
152
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-layer.d.ts","sourceRoot":"","sources":["../../src/layer/model-layer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAOlD,OAAO,UAAU,MAAM,mBAAmB,CAAA;AAE1C,OAAO,eAAe,MAAM,wBAAwB,CAAA;AAGpD,OAAO,EAAE,eAAe,EAA2B,MAAM,+BAA+B,CAAA;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,2BAA2B,CAAA;AAmBlC;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,eAAgB,YAAW,yBAAyB;IAC1F,MAAM,CAAC,KAAK,EAAE,OAAO,UAAU,CAAA;IAE/B,QAAQ,EAAE,GAAG,CAAA;IACb,iBAAiB,EAAE,GAAG,CAAA;IACtB,oBAAoB,EAAE,GAAG,CAAA;IAEzB,OAAO,CAAC,gBAAgB,CAAC,CAAiB;IAC1C,OAAO,CAAC,gBAAgB,CAAC,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,aAAa,CAAC,CAAa;IACnC,OAAO,CAAC,cAAc,CAAC,CAAe;IACtC,OAAO,CAAC,aAAa,CAAC,CAAe;IAErC,IAAI,MAAM,IAAI,eAAe,CAE5B;IAID,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,aAAa,IAAI,OAAO;IAIxB,IAAI,OAAO,4BAEV;IAED,IAAI,UAAU,oCAEb;IAED,IAAI,cAAc,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,CAE7C;IAED,IAAI,KAAK,qCAER;IAED,IAAI,IAAI,uBAEP;IAID,UAAU,CACR,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,SAAS,EACb,KAAK,CAAC,EAAE,YAAY,GACnB,IAAI;IAIP,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI/B,aAAa,IAAI,IAAI;IAIrB,OAAO,CAAC,oBAAoB;IAuB5B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,eAAe;
|
|
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":"modeling-layer.d.ts","sourceRoot":"","sources":["../../src/layer/modeling-layer.ts"],"names":[],"mappings":"AAUA,OAAO,eAAe,MAAM,wBAAwB,CAAA;AAGpD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,eAAe;IAChD,WAAW,EAAE,GAAG,CAAA;IAChB,SAAS,EAAE,GAAG,EAAE,CAAA;IAChB,sBAAsB,EAAE,GAAG,EAAE,CAAA;IAC7B,YAAY,EAAE,GAAG,CAAA;IACjB,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,GAAG,CAAA;IAClB,kBAAkB,EAAE,GAAG,EAAE,CAAA;IACzB,8BAA8B,EAAE,GAAG,EAAE,CAAA;IACrC,WAAW,EAAE,GAAG,CAAA;IAChB,aAAa,EAAE,OAAO,CAAA;IACtB,cAAc,EAAE,GAAG,CAAA;IACnB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,GAAG,CAAA;IAClB,QAAQ,EAAE,GAAG,CAAA;IACb,cAAc,EAAE,GAAG,CAAA;gBAEf,KAAK,KAAA,EAAE,OAAO,KAAA;IAuB1B,IAAI,QAAQ,UAEX;IAED,IAAI,gBAAgB,UAEnB;IAGK,KAAK;IAWX,OAAO,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,MAAM,KAAA;IAQpB,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IA2Eb,gBAAgB,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA,EAAE,KAAK,KAAA;IAqDjD,SAAS,CAAC,OAAO,KAAA;IAuBjB,MAAM,CAAC,OAAO,KAAA;IAyCd,IAAI,YAAY,QAUf;IAED,IAAI,YAAY,CAAC,MAAM,KAAA,EAEtB;IAED,IAAI,OAAO,QAEV;IAED,IAAI,OAAO,CAAC,OAAO,KAAA,EAIlB;IAED,gBAAgB,CAAC,QAAQ,KAAA,EAAE,SAAS,KAAA,EAAE,CAAC,KAAA;IAOvC,IAAI,UAAU,CAAC,MAAM,KAAA,EAGpB;IAED,IAAI,UAAU,QAEb;IAED,cAAc;IAMd,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;;;MAwBX;IAED,YAAY,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAIpB,YAAY,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAIpB,SAAS,CAAC,CAAC,KAAA;
|
|
1
|
+
{"version":3,"file":"modeling-layer.d.ts","sourceRoot":"","sources":["../../src/layer/modeling-layer.ts"],"names":[],"mappings":"AAUA,OAAO,eAAe,MAAM,wBAAwB,CAAA;AAGpD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,eAAe;IAChD,WAAW,EAAE,GAAG,CAAA;IAChB,SAAS,EAAE,GAAG,EAAE,CAAA;IAChB,sBAAsB,EAAE,GAAG,EAAE,CAAA;IAC7B,YAAY,EAAE,GAAG,CAAA;IACjB,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,GAAG,CAAA;IAClB,kBAAkB,EAAE,GAAG,EAAE,CAAA;IACzB,8BAA8B,EAAE,GAAG,EAAE,CAAA;IACrC,WAAW,EAAE,GAAG,CAAA;IAChB,aAAa,EAAE,OAAO,CAAA;IACtB,cAAc,EAAE,GAAG,CAAA;IACnB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,GAAG,CAAA;IAClB,QAAQ,EAAE,GAAG,CAAA;IACb,cAAc,EAAE,GAAG,CAAA;gBAEf,KAAK,KAAA,EAAE,OAAO,KAAA;IAuB1B,IAAI,QAAQ,UAEX;IAED,IAAI,gBAAgB,UAEnB;IAGK,KAAK;IAWX,OAAO,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,MAAM,KAAA;IAQpB,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IA2Eb,gBAAgB,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA,EAAE,KAAK,KAAA;IAqDjD,SAAS,CAAC,OAAO,KAAA;IAuBjB,MAAM,CAAC,OAAO,KAAA;IAyCd,IAAI,YAAY,QAUf;IAED,IAAI,YAAY,CAAC,MAAM,KAAA,EAEtB;IAED,IAAI,OAAO,QAEV;IAED,IAAI,OAAO,CAAC,OAAO,KAAA,EAIlB;IAED,gBAAgB,CAAC,QAAQ,KAAA,EAAE,SAAS,KAAA,EAAE,CAAC,KAAA;IAOvC,IAAI,UAAU,CAAC,MAAM,KAAA,EAGpB;IAED,IAAI,UAAU,QAEb;IAED,cAAc;IAMd,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;;;MAwBX;IAED,YAAY,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAIpB,YAAY,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAIpB,SAAS,CAAC,CAAC,KAAA;IASX,OAAO,CAAC,CAAC,KAAA;IAOT,UAAU,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA;IAIxB,cAAc,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA,EAAE,IAAI,KAAA;IAoBlC,gBAAgB,CAAC,KAAK,KAAA,EAAE,IAAI,KAAA;IAQ5B,UAAU,CAAC,CAAC,KAAA;IAMZ,WAAW,CAAC,CAAC,KAAA;IAMb,SAAS,CAAC,CAAC,KAAA;IAMX,WAAW,CAAC,CAAC,KAAA;IAKb,UAAU,CAAC,CAAC,KAAA;IAMZ,SAAS,CAAC,CAAC,KAAA;IAOX,MAAM,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IA4Id,aAAa,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;CAqEtB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
export interface CameraBookmark {
|
|
3
|
+
position: {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
z: number;
|
|
7
|
+
};
|
|
8
|
+
target: {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
z: number;
|
|
12
|
+
};
|
|
13
|
+
zoom: number;
|
|
14
|
+
}
|
|
15
|
+
export declare class CameraBookmarkManager {
|
|
16
|
+
private _slots;
|
|
17
|
+
private _animating;
|
|
18
|
+
private _animationId?;
|
|
19
|
+
private _playIndex;
|
|
20
|
+
private _playing;
|
|
21
|
+
private _orbitRotating;
|
|
22
|
+
private _onInvalidate?;
|
|
23
|
+
private _onAnimationComplete?;
|
|
24
|
+
get isAnimating(): boolean;
|
|
25
|
+
get isPlaying(): boolean;
|
|
26
|
+
get isOrbitRotating(): boolean;
|
|
27
|
+
setCallbacks(onInvalidate: () => void, onAnimationComplete?: () => void): void;
|
|
28
|
+
/**
|
|
29
|
+
* 슬롯에 카메라 위치를 저장한다.
|
|
30
|
+
*/
|
|
31
|
+
saveSlot(index: number, bookmark: CameraBookmark): void;
|
|
32
|
+
/**
|
|
33
|
+
* 슬롯을 삭제한다.
|
|
34
|
+
*/
|
|
35
|
+
clearSlot(index: number): void;
|
|
36
|
+
/**
|
|
37
|
+
* 슬롯의 카메라 위치를 반환한다.
|
|
38
|
+
*/
|
|
39
|
+
getSlot(index: number): CameraBookmark | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* 모델에 저장할 슬롯 데이터를 반환한다.
|
|
42
|
+
*/
|
|
43
|
+
exportSlots(): (CameraBookmark | null)[];
|
|
44
|
+
/**
|
|
45
|
+
* 모델에서 슬롯 데이터를 복원한다.
|
|
46
|
+
*/
|
|
47
|
+
importSlots(data: (CameraBookmark | null | undefined)[]): void;
|
|
48
|
+
/**
|
|
49
|
+
* localStorage에서 개인화 슬롯을 로드한다.
|
|
50
|
+
*/
|
|
51
|
+
loadPersonalSlots(boardId: string): void;
|
|
52
|
+
/**
|
|
53
|
+
* 모든 슬롯을 초기화한다.
|
|
54
|
+
*/
|
|
55
|
+
resetAll(): void;
|
|
56
|
+
/**
|
|
57
|
+
* localStorage에서 개인화 슬롯을 삭제한다.
|
|
58
|
+
*/
|
|
59
|
+
removePersonalSlots(boardId: string): void;
|
|
60
|
+
/**
|
|
61
|
+
* localStorage에 개인화 슬롯을 저장한다.
|
|
62
|
+
*/
|
|
63
|
+
savePersonalSlots(boardId: string): void;
|
|
64
|
+
/**
|
|
65
|
+
* 카메라를 슬롯 위치로 애니메이션 이동한다.
|
|
66
|
+
*/
|
|
67
|
+
animateToSlot(index: number, camera: THREE.PerspectiveCamera, controls: {
|
|
68
|
+
target: THREE.Vector3;
|
|
69
|
+
restoreTarget(t: THREE.Vector3): void;
|
|
70
|
+
update(): boolean;
|
|
71
|
+
}, duration?: number): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* 슬롯 0→1→...→9 순회 플레이. 빈 슬롯은 건너뛴다.
|
|
74
|
+
*/
|
|
75
|
+
startPlay(camera: THREE.PerspectiveCamera, controls: {
|
|
76
|
+
target: THREE.Vector3;
|
|
77
|
+
restoreTarget(t: THREE.Vector3): void;
|
|
78
|
+
update(): boolean;
|
|
79
|
+
}, holdDuration?: number, transitionDuration?: number): void;
|
|
80
|
+
stopPlay(): void;
|
|
81
|
+
/**
|
|
82
|
+
* Orbit 자동 회전을 토글한다.
|
|
83
|
+
*/
|
|
84
|
+
toggleOrbitRotation(controls: {
|
|
85
|
+
setAutoRotate(enabled: boolean): void;
|
|
86
|
+
}): void;
|
|
87
|
+
stopOrbitRotation(controls: {
|
|
88
|
+
setAutoRotate(enabled: boolean): void;
|
|
89
|
+
}): void;
|
|
90
|
+
stopAnimation(): void;
|
|
91
|
+
destroy(): void;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=camera-bookmark-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera-bookmark-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/camera-bookmark-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;CACb;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAgD;IAC9D,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,YAAY,CAAC,CAAQ;IAC7B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC,OAAO,CAAC,oBAAoB,CAAC,CAAY;IAEzC,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,YAAY,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,mBAAmB,CAAC,EAAE,MAAM,IAAI;IAKvE;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI;IAKvD;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIlD;;OAEG;IACH,WAAW,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE;IAIxC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,CAAC,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI;IAQ9D;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAYxC;;OAEG;IACH,QAAQ,IAAI,IAAI;IAIhB;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ1C;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASxC;;OAEG;IACH,aAAa,CACX,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,KAAK,CAAC,iBAAiB,EAC/B,QAAQ,EAAE;QAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;QAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QAAC,MAAM,IAAI,OAAO,CAAA;KAAE,EAC7F,QAAQ,SAAM,GACb,OAAO;IA6CV;;OAEG;IACH,SAAS,CACP,MAAM,EAAE,KAAK,CAAC,iBAAiB,EAC/B,QAAQ,EAAE;QAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;QAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QAAC,MAAM,IAAI,OAAO,CAAA;KAAE,EAC7F,YAAY,SAAO,EACnB,kBAAkB,SAAO,GACxB,IAAI;IAoCP,QAAQ,IAAI,IAAI;IAOhB;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE;QAAE,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI;IAK9E,iBAAiB,CAAC,QAAQ,EAAE;QAAE,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI;IAK5E,aAAa,IAAI,IAAI;IAQrB,OAAO,IAAI,IAAI;CAOhB"}
|
|
@@ -8,5 +8,6 @@ export { GizmoManager, type GizmoMode } from './gizmo-manager.js';
|
|
|
8
8
|
export { GizmoOperationManager, type GizmoOperationHost } from './gizmo-operation-manager.js';
|
|
9
9
|
export { InteractionManager, type InteractionDelegate } from './interaction-manager.js';
|
|
10
10
|
export { PlacementManager, type PlacementDelegate } from './placement-manager.js';
|
|
11
|
+
export { CameraBookmarkManager, type CameraBookmark } from './camera-bookmark-manager.js';
|
|
11
12
|
export type { CameraConfig, RendererConfig, LightingConfig } from './types.js';
|
|
12
13
|
//# 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,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,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACxE,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,cAAc,EAAE,OAAO,CAAA;QACvB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;IACD,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,UAAU,EAAE,OAAO,CAAA;QACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QAClC,UAAU,EAAE,MAAM,CAAA;QAClB,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF"}
|
|
@@ -17,6 +17,7 @@ export declare abstract class RealObject<T extends THREE.Object3D = THREE.Object
|
|
|
17
17
|
protected getObject3dInstance(): T;
|
|
18
18
|
build(): void;
|
|
19
19
|
updateMaterial3d(): void;
|
|
20
|
+
private _applyShadow;
|
|
20
21
|
get component(): Component;
|
|
21
22
|
get threeContainer(): ThreeDimensionalContainer | undefined;
|
|
22
23
|
get focused(): boolean;
|
|
@@ -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;
|
|
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,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, LightingConfig } from './managers/index.js';
|
|
5
5
|
import type { CameraViewName } from './managers/index.js';
|
|
6
6
|
/**
|
|
7
7
|
* ThreeCapability를 사용하는 호스트가 구현해야 하는 인터페이스.
|
|
@@ -62,6 +62,7 @@ export declare class ThreeCapability {
|
|
|
62
62
|
protected interactionManager: InteractionManager;
|
|
63
63
|
protected placementManager: PlacementManager;
|
|
64
64
|
protected gizmoOperationManager: GizmoOperationManager;
|
|
65
|
+
readonly bookmarkManager: CameraBookmarkManager;
|
|
65
66
|
private _host?;
|
|
66
67
|
private _clipboard?;
|
|
67
68
|
private _onFocus?;
|
|
@@ -94,7 +95,12 @@ export declare class ThreeCapability {
|
|
|
94
95
|
onGizmoModeChanged?: (mode: 'translate' | 'rotate' | 'scale') => void;
|
|
95
96
|
onGizmoAttachChanged?: (isAttached: boolean) => void;
|
|
96
97
|
onCameraViewChanged?: (view: string) => void;
|
|
98
|
+
onBookmarkChanged?: () => void;
|
|
97
99
|
setGizmoMode(mode: 'translate' | 'rotate' | 'scale'): void;
|
|
100
|
+
/**
|
|
101
|
+
* 기즈모 모드를 설정하고, 선택된 오브젝트가 있으면 attach한다.
|
|
102
|
+
*/
|
|
103
|
+
private _activateGizmo;
|
|
98
104
|
get gizmoMode(): 'translate' | 'rotate' | 'scale';
|
|
99
105
|
/**
|
|
100
106
|
* 3D 씬을 초기화한다.
|
|
@@ -259,6 +265,28 @@ export declare class ThreeCapability {
|
|
|
259
265
|
} | null;
|
|
260
266
|
captureSessionState(): CameraSessionState;
|
|
261
267
|
restoreSessionState(state: CameraSessionState): void;
|
|
268
|
+
/**
|
|
269
|
+
* 현재 카메라 위치를 슬롯에 저장한다.
|
|
270
|
+
* 편집 모드: 모델에 저장, 뷰 모드: localStorage에 저장
|
|
271
|
+
*/
|
|
272
|
+
saveCameraToSlot(index: number): void;
|
|
273
|
+
/**
|
|
274
|
+
* 슬롯으로 카메라를 애니메이션 이동한다.
|
|
275
|
+
*/
|
|
276
|
+
animateToSlot(index: number): void;
|
|
277
|
+
/**
|
|
278
|
+
* 슬롯 순회 플레이를 토글한다.
|
|
279
|
+
*/
|
|
280
|
+
private _togglePlay;
|
|
281
|
+
private _resetAllBookmarks;
|
|
282
|
+
/**
|
|
283
|
+
* 뷰어 시작 시 자동 재생 모드를 시작한다.
|
|
284
|
+
*/
|
|
285
|
+
startAutoPlay(mode: 'orbit' | 'play'): void;
|
|
286
|
+
/**
|
|
287
|
+
* 모델에서 카메라 북마크를 복원한다.
|
|
288
|
+
*/
|
|
289
|
+
initBookmarks(): void;
|
|
262
290
|
/**
|
|
263
291
|
* 상태 변경을 3D 씬에 반영한다.
|
|
264
292
|
* width/height 처리는 호스트별로 다르므로 여기서는 하지 않는다:
|
|
@@ -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;AAMlD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAI/D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,EACf,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"three-capability.d.ts","sourceRoot":"","sources":["../../src/threed/three-capability.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hatiolab/things-scene",
|
|
3
|
-
"version": "10.0.0-beta.
|
|
3
|
+
"version": "10.0.0-beta.13",
|
|
4
4
|
"description": "A high-performance 2D/3D scene graph library for building interactive visual editors, combining HTML5 Canvas and Three.js to enable facility visualization, data-driven animations, and real-time monitoring dashboards",
|
|
5
5
|
"main": "things-scene-min.js",
|
|
6
6
|
"module": "things-scene.mjs",
|