@hatiolab/things-scene 10.0.0-beta.21 → 10.0.0-beta.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist-types/components/line.d.ts +1 -1
  2. package/dist-types/components/mutater/path.d.ts.map +1 -1
  3. package/dist-types/layer/model-layer.d.ts +3 -1
  4. package/dist-types/layer/model-layer.d.ts.map +1 -1
  5. package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
  6. package/dist-types/search/index.d.ts +3 -0
  7. package/dist-types/search/index.d.ts.map +1 -0
  8. package/dist-types/search/scene-search-engine.d.ts +65 -0
  9. package/dist-types/search/scene-search-engine.d.ts.map +1 -0
  10. package/dist-types/search/search-overlay.d.ts +69 -0
  11. package/dist-types/search/search-overlay.d.ts.map +1 -0
  12. package/dist-types/things-scene/index.d.ts +1 -0
  13. package/dist-types/things-scene/index.d.ts.map +1 -1
  14. package/dist-types/things-scene/scene.d.ts +4 -0
  15. package/dist-types/things-scene/scene.d.ts.map +1 -1
  16. package/dist-types/threed/arrow-3d.d.ts +11 -3
  17. package/dist-types/threed/arrow-3d.d.ts.map +1 -1
  18. package/dist-types/threed/environments/base-environment.d.ts +9 -0
  19. package/dist-types/threed/environments/base-environment.d.ts.map +1 -0
  20. package/dist-types/threed/environments/factory-environment.d.ts +2 -3
  21. package/dist-types/threed/environments/factory-environment.d.ts.map +1 -1
  22. package/dist-types/threed/environments/home-environment.d.ts +2 -3
  23. package/dist-types/threed/environments/home-environment.d.ts.map +1 -1
  24. package/dist-types/threed/environments/office-environment.d.ts +2 -3
  25. package/dist-types/threed/environments/office-environment.d.ts.map +1 -1
  26. package/dist-types/threed/environments/studio-environment.d.ts +2 -3
  27. package/dist-types/threed/environments/studio-environment.d.ts.map +1 -1
  28. package/dist-types/threed/environments/warehouse-environment.d.ts +2 -3
  29. package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -1
  30. package/dist-types/threed/factories/banner.d.ts +1 -1
  31. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  32. package/dist-types/threed/factories/line.d.ts +10 -0
  33. package/dist-types/threed/factories/line.d.ts.map +1 -0
  34. package/dist-types/threed/factories/polyline.d.ts +10 -0
  35. package/dist-types/threed/factories/polyline.d.ts.map +1 -0
  36. package/dist-types/threed/index.d.ts +5 -0
  37. package/dist-types/threed/index.d.ts.map +1 -1
  38. package/dist-types/threed/managers/box-selection-manager.d.ts.map +1 -1
  39. package/dist-types/threed/managers/gizmo-operation-manager.d.ts +1 -0
  40. package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
  41. package/dist-types/threed/managers/index.d.ts +1 -0
  42. package/dist-types/threed/managers/index.d.ts.map +1 -1
  43. package/dist-types/threed/managers/interaction-manager.d.ts +6 -0
  44. package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
  45. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts +109 -0
  46. package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -0
  47. package/dist-types/threed/material-3d.d.ts +5 -0
  48. package/dist-types/threed/material-3d.d.ts.map +1 -1
  49. package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
  50. package/dist-types/threed/real-object-line.d.ts +81 -0
  51. package/dist-types/threed/real-object-line.d.ts.map +1 -0
  52. package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
  53. package/dist-types/threed/real-object.d.ts +7 -6
  54. package/dist-types/threed/real-object.d.ts.map +1 -1
  55. package/dist-types/threed/texture/fillstyle-texture.d.ts +37 -0
  56. package/dist-types/threed/texture/fillstyle-texture.d.ts.map +1 -0
  57. package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
  58. package/dist-types/threed/three-capability.d.ts +18 -2
  59. package/dist-types/threed/three-capability.d.ts.map +1 -1
  60. package/package.json +1 -1
  61. package/things-scene-min.js +12 -12
  62. package/things-scene-min.js.map +1 -1
  63. package/things-scene.mjs +4 -4
  64. package/things-scene.mjs.map +1 -1
@@ -20,7 +20,7 @@ declare class LinkEnd {
20
20
  get position(): POINT;
21
21
  set position({ x, y }: POINT);
22
22
  get anchor(): any;
23
- get direction(): "W" | "E" | "S" | "N";
23
+ get direction(): "W" | "E" | "N" | "S";
24
24
  get boundaryPosition(): POINT | undefined;
25
25
  }
26
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../src/components/mutater/path.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,QAsD5F"}
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../src/components/mutater/path.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,QA0D5F"}
@@ -28,6 +28,8 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
28
28
  private _cameraButtons?;
29
29
  private _floatingPopup?;
30
30
  private _floatingPopupCloseHandler?;
31
+ /** Scene이 주입하는 검색 토글 콜백 */
32
+ onSearchToggle?: () => void;
31
33
  get nature(): ComponentNature;
32
34
  get is3dMode(): boolean;
33
35
  is3dContainer(): boolean;
@@ -72,7 +74,7 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
72
74
  private _closeFloatingPopup;
73
75
  private _showFloatingPopup;
74
76
  private _makePopupDraggable;
75
- private _toggleShortcutHelp;
77
+ private _toggleHelpPanel;
76
78
  private _toggleBookmarkNav;
77
79
  private _toggleBookmarkEdit;
78
80
  private _buildBookmarkPopup;
@@ -1 +1 @@
1
- {"version":3,"file":"model-layer.d.ts","sourceRoot":"","sources":["../../src/layer/model-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-layer.d.ts","sourceRoot":"","sources":["../../src/layer/model-layer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"path-handler.d.ts","sourceRoot":"","sources":["../../../src/layer/modeler/path-handler.ts"],"names":[],"mappings":"AA6BA,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,KAAK,EAAE,GAAG,CAAA;IACV,MAAM,EAAE,GAAG,CAAA;IACX,OAAO,EAAE,GAAG,CAAA;gBAEA,KAAK,EAAE,GAAG;IAItB,KAAK;IAML,IAAI,QAAQ,QAEX;IAED,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA;IAoB/B,gBAAgB,CAAC,QAAQ,KAAA,EAAE,SAAS,KAAA,EAAE,CAAC,KAAA;IAmBvC,IAAI,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA;IAmC9B,UAAU,CAAC,CAAC,KAAA;IAYZ,WAAW,CAAC,CAAC,KAAA;IAIb,WAAW,CAAC,CAAC,KAAA;IAab,UAAU,CAAC,CAAC,KAAA;IAgIZ,SAAS,CAAC,CAAC,KAAA;CAsDZ"}
1
+ {"version":3,"file":"path-handler.d.ts","sourceRoot":"","sources":["../../../src/layer/modeler/path-handler.ts"],"names":[],"mappings":"AA6BA,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,KAAK,EAAE,GAAG,CAAA;IACV,MAAM,EAAE,GAAG,CAAA;IACX,OAAO,EAAE,GAAG,CAAA;gBAEA,KAAK,EAAE,GAAG;IAItB,KAAK;IAML,IAAI,QAAQ,QAEX;IAED,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA;IAoB/B,gBAAgB,CAAC,QAAQ,KAAA,EAAE,SAAS,KAAA,EAAE,CAAC,KAAA;IAmBvC,IAAI,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA;IAmC9B,UAAU,CAAC,CAAC,KAAA;IAYZ,WAAW,CAAC,CAAC,KAAA;IAIb,WAAW,CAAC,CAAC,KAAA;IAab,UAAU,CAAC,CAAC,KAAA;IAmIZ,SAAS,CAAC,CAAC,KAAA;CAsDZ"}
@@ -0,0 +1,3 @@
1
+ export { SceneSearchEngine, type SearchResult, type SearchOptions } from './scene-search-engine.js';
2
+ export { SearchOverlay, type SearchOverlayHost } from './search-overlay.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACnG,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,65 @@
1
+ import type Component from '../components/component.js';
2
+ /**
3
+ * 검색 결과 하나를 나타낸다.
4
+ */
5
+ export interface SearchResult {
6
+ /** 매칭된 컴포넌트 */
7
+ component: Component;
8
+ /** 매칭 카테고리 */
9
+ matchType: 'id' | 'name' | 'tag' | 'type' | 'class' | 'text' | 'data' | 'property';
10
+ /** 매칭된 필드 이름 (예: 'accessor', 'fillStyle') */
11
+ matchField: string;
12
+ /** 매칭된 값 */
13
+ matchValue: string;
14
+ }
15
+ export interface SearchOptions {
16
+ /** 검색할 필드 범위 (기본: 전체) */
17
+ fields?: SearchResult['matchType'][];
18
+ /** 대소문자 구분 (기본: false) */
19
+ caseSensitive?: boolean;
20
+ /** hidden 컴포넌트 포함 (기본: false) */
21
+ includeHidden?: boolean;
22
+ /** 최대 결과 수 (기본: 무제한) */
23
+ maxResults?: number;
24
+ }
25
+ /**
26
+ * things-scene 컴포넌트 트리를 대상으로 텍스트 검색을 수행하는 엔진.
27
+ *
28
+ * 에디터/뷰어, 2D/3D 모드 공용.
29
+ * 검색 대상: id, name, tag, type, class, text, data-binding(accessor/target/property), 주요 속성값.
30
+ */
31
+ export declare class SceneSearchEngine {
32
+ private _results;
33
+ private _currentIndex;
34
+ private _lastQuery;
35
+ get results(): readonly SearchResult[];
36
+ get currentIndex(): number;
37
+ get currentResult(): SearchResult | undefined;
38
+ get resultCount(): number;
39
+ /**
40
+ * 컴포넌트 트리에서 query를 검색한다.
41
+ * 동일 컴포넌트가 여러 필드에서 매칭되면 첫 번째 매칭만 결과에 포함한다.
42
+ */
43
+ search(root: Component, query: string, options?: SearchOptions): SearchResult[];
44
+ /** 다음 결과로 이동 */
45
+ navigateNext(): SearchResult | undefined;
46
+ /** 이전 결과로 이동 */
47
+ navigatePrev(): SearchResult | undefined;
48
+ /** 특정 인덱스로 이동 */
49
+ navigateTo(index: number): SearchResult | undefined;
50
+ /** 검색 결과 초기화 */
51
+ clear(): void;
52
+ private _traverse;
53
+ private _matchComponent;
54
+ /**
55
+ * data-binding 설정(mappings)에서 검색.
56
+ * accessor, target, property, source 필드를 대상으로 한다.
57
+ */
58
+ private _matchDataBinding;
59
+ /**
60
+ * 주요 속성값에서 검색.
61
+ * fillStyle(문자열), strokeStyle(문자열), ref, src 등.
62
+ */
63
+ private _matchProperties;
64
+ }
65
+ //# sourceMappingURL=scene-search-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-search-engine.d.ts","sourceRoot":"","sources":["../../src/search/scene-search-engine.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,eAAe;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc;IACd,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAA;IAClF,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,MAAM,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,CAAA;IACpC,0BAA0B;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAMD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAK;IAEvB,IAAI,OAAO,IAAI,SAAS,YAAY,EAAE,CAErC;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,aAAa,IAAI,YAAY,GAAG,SAAS,CAE5C;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,EAAE;IAmC/E,gBAAgB;IAChB,YAAY,IAAI,YAAY,GAAG,SAAS;IAMxC,gBAAgB;IAChB,YAAY,IAAI,YAAY,GAAG,SAAS;IAMxC,iBAAiB;IACjB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAMnD,gBAAgB;IAChB,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,eAAe;IAoEvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAiCzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAuBzB"}
@@ -0,0 +1,69 @@
1
+ import type Component from '../components/component.js';
2
+ import { SceneSearchEngine } from './scene-search-engine.js';
3
+ /**
4
+ * SearchOverlayHost: 검색 오버레이가 동작하기 위한 호스트 인터페이스.
5
+ * Scene이 이 인터페이스를 구현한다.
6
+ */
7
+ export interface SearchOverlayHost {
8
+ /** 검색 대상 루트 컴포넌트 */
9
+ readonly root: Component & {
10
+ selected?: Component[];
11
+ };
12
+ /** 오버레이를 붙일 DOM element */
13
+ readonly element: HTMLElement | null;
14
+ /** 컴포넌트로 카메라/뷰포트 이동 */
15
+ centerTo(component: Component, animated?: boolean): void;
16
+ /** 선택 변경 */
17
+ setSelected(components: Component[]): void;
18
+ /** 3D outline 하이라이트 (있으면) */
19
+ highlightSearchResults?(components: Component[]): void;
20
+ /** 2D invalidate */
21
+ invalidate?(): void;
22
+ }
23
+ /**
24
+ * 2D/3D 모드 공용 검색 오버레이 UI.
25
+ *
26
+ * 호스트의 DOM element에 겹쳐 놓는 가벼운 검색 바.
27
+ * F키로 토글, ↑↓ 결과 네비게이션, Enter 선택, Esc 닫기.
28
+ * 입력 히스토리(↑↓), Shift+Tab으로 input 복귀, 마우스+키보드 심리스 전환.
29
+ */
30
+ export declare class SearchOverlay {
31
+ private _host?;
32
+ private _engine;
33
+ private _container?;
34
+ private _input?;
35
+ private _statusEl?;
36
+ private _resultListEl?;
37
+ private _visible;
38
+ private _debounceTimer?;
39
+ private _queryHistory;
40
+ private _historyIndex;
41
+ private _savedInput;
42
+ private static MAX_HISTORY;
43
+ private _keyboardNav;
44
+ get isVisible(): boolean;
45
+ get engine(): SceneSearchEngine;
46
+ setup(host: SearchOverlayHost): void;
47
+ /**
48
+ * 오버레이 토글. 이미 열려 있으면 입력 필드에 포커스.
49
+ */
50
+ toggle(): void;
51
+ show(): void;
52
+ hide(): void;
53
+ destroy(): void;
54
+ private _buildDOM;
55
+ private _buttonStyle;
56
+ private _doSearch;
57
+ private _addToHistory;
58
+ private _navigateHistory;
59
+ private _isHistoryMode;
60
+ private _focusResult;
61
+ private _selectResult;
62
+ private _clearHighlight;
63
+ private _updateStatus;
64
+ private _renderResultList;
65
+ private _updateResultListSelection;
66
+ private _hideResultList;
67
+ private _truncate;
68
+ }
69
+ //# sourceMappingURL=search-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-overlay.d.ts","sourceRoot":"","sources":["../../src/search/search-overlay.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAqB,MAAM,0BAA0B,CAAA;AAE/E;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,oBAAoB;IACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG;QAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;KAAE,CAAA;IACrD,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IACpC,uBAAuB;IACvB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACxD,YAAY;IACZ,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;IAC1C,6BAA6B;IAC7B,sBAAsB,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;IACtD,oBAAoB;IACpB,UAAU,CAAC,IAAI,IAAI,CAAA;CACpB;AAaD;;;;;;GAMG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAC,CAAmB;IACjC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,MAAM,CAAC,CAAkB;IACjC,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,cAAc,CAAC,CAA+B;IAGtD,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAK;IAG/B,OAAO,CAAC,YAAY,CAAQ;IAE5B,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,MAAM,IAAI,iBAAiB,CAE9B;IAED,KAAK,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAKpC;;OAEG;IACH,MAAM,IAAI,IAAI;IAad,IAAI,IAAI,IAAI;IAqBZ,IAAI,IAAI,IAAI;IAYZ,OAAO,IAAI,IAAI;IAaf,OAAO,CAAC,SAAS;IAuIjB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,iBAAiB;IA+HzB,OAAO,CAAC,0BAA0B;IAmBlC,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,SAAS;CAGlB"}
@@ -36,5 +36,6 @@ export { default as FPS, stopFPSMeasure } from './fps.js';
36
36
  export { metrics } from '../diagnostics/metrics.js';
37
37
  export { inspector } from '../diagnostics/inspector.js';
38
38
  export { default as ScenePopup } from '../layer/action/popup.js';
39
+ export * from '../search/index.js';
39
40
  export * from '../threed/index.js';
40
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/things-scene/index.ts"],"names":[],"mappings":"AAIA,OAAO,mBAAmB,CAAA;AAE1B,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAC1C,OAAO,UAAU,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAEzE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,WAAW,KAAK;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,yBAAiB,KAAK,CAAC;IACd,MAAM,OAAO,iBAAW,CAAA;IACxB,MAAM,SAAS,mBAAa,CAAA;IAC5B,MAAM,MAAM,gBAAU,CAAA;IACtB,MAAM,KAAK,eAAS,CAAA;CAC5B;AAED,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAE/D,cAAc,aAAa,CAAA;AAE3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AAGjC,YAAY,EACV,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EACxE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EACzE,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACpH,YAAY,EACV,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EACxF,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EACtE,MAAM,4BAA4B,CAAA;AACnC,YAAY,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAA;AACxE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACrE,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAElE,cAAc,mBAAmB,CAAA;AAEjC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAEvD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAGhE,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/things-scene/index.ts"],"names":[],"mappings":"AAIA,OAAO,mBAAmB,CAAA;AAE1B,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAC1C,OAAO,UAAU,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAEzE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,WAAW,KAAK;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,yBAAiB,KAAK,CAAC;IACd,MAAM,OAAO,iBAAW,CAAA;IACxB,MAAM,SAAS,mBAAa,CAAA;IAC5B,MAAM,MAAM,gBAAU,CAAA;IACtB,MAAM,KAAK,eAAS,CAAA;CAC5B;AAED,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAE/D,cAAc,aAAa,CAAA;AAE3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AAGjC,YAAY,EACV,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EACxE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EACzE,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACpH,YAAY,EACV,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EACxF,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EACtE,MAAM,4BAA4B,CAAA;AACnC,YAAY,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAA;AACxE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACrE,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAElE,cAAc,mBAAmB,CAAA;AAEjC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAEvD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAGhE,cAAc,oBAAoB,CAAA;AAGlC,cAAc,oBAAoB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import animate from '../animation/animate.js';
2
+ import { SearchOverlay } from '../search/search-overlay.js';
2
3
  /**
3
4
  * 화면(scene) 객체
4
5
  */
@@ -6,6 +7,7 @@ declare class Scene {
6
7
  _container: any;
7
8
  _commander: any;
8
9
  app: any;
10
+ private _searchOverlay;
9
11
  static get residents(): number;
10
12
  static get residentsCount(): number;
11
13
  /**
@@ -93,6 +95,8 @@ declare class Scene {
93
95
  stopStylePasteMode(): void;
94
96
  startDatabindPasteMode(): void;
95
97
  stopDatabindPasteMode(): void;
98
+ get searchOverlay(): SearchOverlay;
99
+ private _setupSearchOverlay;
96
100
  }
97
101
  export default Scene;
98
102
  //# sourceMappingURL=scene.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/things-scene/scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/things-scene/scene.ts"],"names":[],"mappings":"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"}
@@ -22,14 +22,22 @@ export declare function tipSize(size: TipSize | undefined, lineWidth: number): {
22
22
  Y: number;
23
23
  };
24
24
  /**
25
- * 팁 타입별 BufferGeometry(또는 Line2) 생성.
26
- * XY 평면, +X 방향이 화살표가 가리키는 방향(외부에서 쿼터니언 회전).
25
+ * 팁 타입별 3D Geometry 생성.
26
+ * +X 방향이 화살표가 가리키는 방향(외부에서 쿼터니언 회전).
27
27
  * 반환이 null이면 'none' 팁.
28
+ *
29
+ * 3D 형상 매핑:
30
+ * - arrow → ConeGeometry (넓은 원뿔)
31
+ * - sharp-arrow → ConeGeometry (좁고 긴 원뿔)
32
+ * - open-arrow → ConeGeometry (wireframe)
33
+ * - diamond → OctahedronGeometry
34
+ * - oval → SphereGeometry
35
+ * - cross → TetrahedronGeometry
28
36
  */
29
37
  export declare function createTipGeometry(type: TipType, size: {
30
38
  X: number;
31
39
  Y: number;
32
- }, lineWidth: number): {
40
+ }, _lineWidth: number): {
33
41
  mesh?: THREE.Mesh;
34
42
  line2?: Line2;
35
43
  group?: THREE.Group;
@@ -1 +1 @@
1
- {"version":3,"file":"arrow-3d.d.ts","sourceRoot":"","sources":["../../src/threed/arrow-3d.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAQzD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AACpG,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAC7G,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,WAAW,GACX,YAAY,GACZ,MAAM,GACN,UAAU,GACV,WAAW,GACX,eAAe,GACf,mBAAmB,CAAA;AAEvB,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAMD;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAwB9F;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9B,SAAS,EAAE,MAAM,GAChB;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAA;CAAE,GAAG,IAAI,CAoFlE;AAqCD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CA4CP;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,KAAK,CAAC,OAAO,GACtB,KAAK,CAAC,MAAM,CAqCd;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CAAC,KAAK,CAuGb"}
1
+ {"version":3,"file":"arrow-3d.d.ts","sourceRoot":"","sources":["../../src/threed/arrow-3d.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAQzD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AACpG,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAC7G,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,WAAW,GACX,YAAY,GACZ,MAAM,GACN,UAAU,GACV,WAAW,GACX,eAAe,GACf,mBAAmB,CAAA;AAEvB,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAMD;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAwB9F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9B,UAAU,EAAE,MAAM,GACjB;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAA;CAAE,GAAG,IAAI,CA4ElE;AAqCD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CA4CP;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,KAAK,CAAC,OAAO,GACtB,KAAK,CAAC,MAAM,CAqCd;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,KAAK,CAAC,KAAK,CAuGb"}
@@ -0,0 +1,9 @@
1
+ import { Scene } from 'three';
2
+ /**
3
+ * 환경 씬 공통 베이스 클래스.
4
+ * PMREMGenerator.fromScene()으로 cubemap을 생성하는 환경 씬들의 공통 dispose() 로직을 제공한다.
5
+ */
6
+ export declare abstract class BaseEnvironment extends Scene {
7
+ dispose(): void;
8
+ }
9
+ //# sourceMappingURL=base-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/base-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,EAAE,MAAM,OAAO,CAAA;AAEnC;;;GAGG;AACH,8BAAsB,eAAgB,SAAQ,KAAK;IACjD,OAAO;CAYR"}
@@ -1,11 +1,10 @@
1
- import { Scene } from 'three';
1
+ import { BaseEnvironment } from './base-environment.js';
2
2
  /**
3
3
  * 공장 환경 — 높은 천장, 강한 상단 조명, 금속적 톤, 높은 대비.
4
4
  * PMREMGenerator.fromScene()으로 cubemap을 생성하여
5
5
  * scene.environment / GroundedSkybox에 사용한다.
6
6
  */
7
- export declare class FactoryEnvironment extends Scene {
7
+ export declare class FactoryEnvironment extends BaseEnvironment {
8
8
  constructor();
9
- dispose(): void;
10
9
  }
11
10
  //# sourceMappingURL=factory-environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/factory-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EACN,MAAM,OAAO,CAAA;AAEd;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;;IA+D3C,OAAO;CAYR"}
1
+ {"version":3,"file":"factory-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/factory-environment.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;;CA+DtD"}
@@ -1,11 +1,10 @@
1
- import { Scene } from 'three';
1
+ import { BaseEnvironment } from './base-environment.js';
2
2
  /**
3
3
  * 가정 환경 — 아늑한 분위기, 따뜻한 조명, 낮은 천장, 넓은 창문.
4
4
  * PMREMGenerator.fromScene()으로 cubemap을 생성하여
5
5
  * scene.environment / scene.background에 사용한다.
6
6
  */
7
- export declare class HomeEnvironment extends Scene {
7
+ export declare class HomeEnvironment extends BaseEnvironment {
8
8
  constructor();
9
- dispose(): void;
10
9
  }
11
10
  //# sourceMappingURL=home-environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"home-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/home-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EACN,MAAM,OAAO,CAAA;AAEd;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,KAAK;;IA0DxC,OAAO;CAYR"}
1
+ {"version":3,"file":"home-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/home-environment.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,eAAe;;CA0DnD"}
@@ -1,11 +1,10 @@
1
- import { Scene } from 'three';
1
+ import { BaseEnvironment } from './base-environment.js';
2
2
  /**
3
3
  * 사무실 환경 — 낮은 천장, 균일한 면광원, 따뜻한 색온도.
4
4
  * PMREMGenerator.fromScene()으로 cubemap을 생성하여
5
5
  * scene.environment / GroundedSkybox에 사용한다.
6
6
  */
7
- export declare class OfficeEnvironment extends Scene {
7
+ export declare class OfficeEnvironment extends BaseEnvironment {
8
8
  constructor();
9
- dispose(): void;
10
9
  }
11
10
  //# sourceMappingURL=office-environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"office-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/office-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EACN,MAAM,OAAO,CAAA;AAEd;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;;IAuD1C,OAAO;CAYR"}
1
+ {"version":3,"file":"office-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/office-environment.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;;CAuDrD"}
@@ -1,12 +1,11 @@
1
- import { Scene } from 'three';
1
+ import { BaseEnvironment } from './base-environment.js';
2
2
  /**
3
3
  * 스튜디오 환경 — 밝고 균일한 조명, 중성 배경.
4
4
  * RoomEnvironment 대체용. 바닥 오브젝트 없이 벽/천장/조명만 구성.
5
5
  * PMREMGenerator.fromScene()으로 cubemap을 생성하여
6
6
  * scene.environment / scene.background에 사용한다.
7
7
  */
8
- export declare class StudioEnvironment extends Scene {
8
+ export declare class StudioEnvironment extends BaseEnvironment {
9
9
  constructor();
10
- dispose(): void;
11
10
  }
12
11
  //# sourceMappingURL=studio-environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"studio-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/studio-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EACN,MAAM,OAAO,CAAA;AAEd;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;;IAoD1C,OAAO;CAYR"}
1
+ {"version":3,"file":"studio-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/studio-environment.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;;CAoDrD"}
@@ -1,11 +1,10 @@
1
- import { Scene } from 'three';
1
+ import { BaseEnvironment } from './base-environment.js';
2
2
  /**
3
3
  * 창고 환경 — 높은 천장, 상단 집중 형광등, 차가운 색온도.
4
4
  * PMREMGenerator.fromScene()으로 cubemap을 생성하여
5
5
  * scene.environment / GroundedSkybox에 사용한다.
6
6
  */
7
- export declare class WarehouseEnvironment extends Scene {
7
+ export declare class WarehouseEnvironment extends BaseEnvironment {
8
8
  constructor();
9
- dispose(): void;
10
9
  }
11
10
  //# sourceMappingURL=warehouse-environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"warehouse-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/warehouse-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EACN,MAAM,OAAO,CAAA;AAEd;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;;IAqD7C,OAAO;CAYR"}
1
+ {"version":3,"file":"warehouse-environment.d.ts","sourceRoot":"","sources":["../../../src/threed/environments/warehouse-environment.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;;CAqDxD"}
@@ -6,7 +6,7 @@ import { RealObject } from '../real-object.js';
6
6
  export declare class Banner3D extends RealObject {
7
7
  build(): void;
8
8
  createCube(w: number, h: number, d: number): THREE.Mesh<THREE.BoxGeometry, THREE.MeshStandardMaterial, THREE.Object3DEventMap>;
9
- createTextureBoard(w: number, h: number): THREE.Mesh<THREE.PlaneGeometry, any, THREE.Object3DEventMap>;
9
+ createTextureBoard(w: number, h: number): THREE.Mesh<THREE.PlaneGeometry, THREE.MeshStandardMaterial, THREE.Object3DEventMap>;
10
10
  updateMaterial3d(): void;
11
11
  }
12
12
  declare const Banner_base: {
@@ -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,IAAI,eAAe,YAAmB;IACtC,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;IAe1C,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAkBvC,gBAAgB;CAgBjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBACa,MAAO,SAAQ,WAAe;IACzC,IAAI,eAAe,YAAmB;IACtC,OAAO;IAIP,IAAI,MAAM,oBAET;IAED,eAAe,IAAI,WAAW,GAAG,SAAS;CAG3C"}
@@ -0,0 +1,10 @@
1
+ import * as THREE from 'three';
2
+ import { RealObjectLine } from '../real-object-line.js';
3
+ /**
4
+ * Line 컴포넌트의 3D 팩토리.
5
+ * from/to 두 점을 3D 월드 좌표로 변환하여 Line2로 렌더링한다.
6
+ */
7
+ export declare class Line3D extends RealObjectLine {
8
+ get worldPath(): THREE.Vector3[];
9
+ }
10
+ //# sourceMappingURL=line.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/line.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvD;;;GAGG;AACH,qBAAa,MAAO,SAAQ,cAAc;IACxC,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAa/B;CACF"}
@@ -0,0 +1,10 @@
1
+ import * as THREE from 'three';
2
+ import { RealObjectLine } from '../real-object-line.js';
3
+ /**
4
+ * Polyline 컴포넌트의 3D 팩토리.
5
+ * path 배열의 각 점을 3D 월드 좌표로 변환하여 Line2로 렌더링한다.
6
+ */
7
+ export declare class Polyline3D extends RealObjectLine {
8
+ get worldPath(): THREE.Vector3[];
9
+ }
10
+ //# sourceMappingURL=polyline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polyline.d.ts","sourceRoot":"","sources":["../../../src/threed/factories/polyline.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvD;;;GAGG;AACH,qBAAa,UAAW,SAAQ,cAAc;IAC5C,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAa/B;CACF"}
@@ -15,6 +15,8 @@ import './factories/camera.js';
15
15
  import './factories/gltf-object.js';
16
16
  import './factories/light.js';
17
17
  import './factories/wall.js';
18
+ import './factories/line.js';
19
+ import './factories/polyline.js';
18
20
  export * from './common.js';
19
21
  export * from './interfaces.js';
20
22
  export * from './material-3d.js';
@@ -50,6 +52,9 @@ export { Camera3D, Camera } from './factories/camera.js';
50
52
  export { GLTFObject } from './factories/gltf-object.js';
51
53
  export { LightObject, PointLight } from './factories/light.js';
52
54
  export { Wall3D, Wall } from './factories/wall.js';
55
+ export { Line3D } from './factories/line.js';
56
+ export { Polyline3D } from './factories/polyline.js';
57
+ export * from './real-object-line.js';
53
58
  export { ThreeCapability } from './three-capability.js';
54
59
  export type { ThreeCapabilityHost } from './three-capability.js';
55
60
  export { ThreeContainer } from './three-container.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/threed/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/threed/index.ts"],"names":[],"mappings":"AAcA,OAAO,qBAAqB,CAAA;AAC5B,OAAO,6BAA6B,CAAA;AACpC,OAAO,wBAAwB,CAAA;AAC/B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,wBAAwB,CAAA;AAC/B,OAAO,sBAAsB,CAAA;AAC7B,OAAO,yBAAyB,CAAA;AAChC,OAAO,qBAAqB,CAAA;AAC5B,OAAO,uBAAuB,CAAA;AAC9B,OAAO,uBAAuB,CAAA;AAC9B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,yBAAyB,CAAA;AAChC,OAAO,uBAAuB,CAAA;AAC9B,OAAO,uBAAuB,CAAA;AAC9B,OAAO,4BAA4B,CAAA;AACnC,OAAO,sBAAsB,CAAA;AAC7B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,yBAAyB,CAAA;AAGhC,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kCAAkC,CAAA;AAChD,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAG5H,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AAEvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AAGrC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGjD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAGpD,cAAc,uBAAuB,CAAA;AAGrC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAGhE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,cAAc,qBAAqB,CAAA;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAG7E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACtF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC/F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
@@ -1 +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"}
1
+ {"version":3,"file":"box-selection-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/box-selection-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,SAAS,MAAM,+BAA+B,CAAA;AAGrD;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,OAAO,CAAQ;IAEvB,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAIrC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAsB1C,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAO3C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;IAwD5F,eAAe,IAAI,IAAI;IAQvB,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,cAAc;CAavB"}
@@ -37,6 +37,7 @@ export declare class GizmoOperationManager {
37
37
  setEnabled(enabled: boolean): void;
38
38
  }, getHost: () => GizmoOperationHost | undefined, callbacks?: {
39
39
  onAttachChanged?: (isAttached: boolean) => void;
40
+ onDraggingChanged?: (isDragging: boolean) => void;
40
41
  }): void;
41
42
  private _onDragStart;
42
43
  private _performAltDragDuplicate;
@@ -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;IAyEtB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAsBhC"}
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;QAC/C,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;KAClD,GACA,IAAI;IA+BP,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,wBAAwB;IA2ChC,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,UAAU;IA+ClB;;OAEG;IACH,OAAO,CAAC,cAAc;IAyEtB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAsBhC"}
@@ -10,5 +10,6 @@ export { InteractionManager, type InteractionDelegate } from './interaction-mana
10
10
  export { PlacementManager, type PlacementDelegate } from './placement-manager.js';
11
11
  export { CameraBookmarkManager, type CameraBookmark } from './camera-bookmark-manager.js';
12
12
  export { BoxSelectionManager } from './box-selection-manager.js';
13
+ export { VertexGizmoManager } from './vertex-gizmo-manager.js';
13
14
  export type { CameraConfig, RendererConfig, LightingConfig } from './types.js';
14
15
  //# 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,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,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,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
@@ -42,6 +42,12 @@ export interface InteractionDelegate {
42
42
  handleBoxSelectionUpdate?(x: number, y: number): void;
43
43
  /** 박스 셀렉션 종료 (additive: Shift 유지 여부 — 기존 선택에 추가) */
44
44
  handleBoxSelectionEnd?(additive: boolean): void;
45
+ /** vertex 핸들 드래그 시작 시도. 성공 시 true 반환 */
46
+ tryVertexDragStart?(e: MouseEvent): boolean;
47
+ /** vertex 핸들 드래그 이동 */
48
+ handleVertexDragMove?(e: MouseEvent): void;
49
+ /** vertex 핸들 드래그 종료 */
50
+ handleVertexDragEnd?(e: MouseEvent): void;
45
51
  }
46
52
  /**
47
53
  * DOM 이벤트 핸들링과 드래그 상태 관리를 담당하는 매니저.
@@ -1 +1 @@
1
- {"version":3,"file":"interaction-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/interaction-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interaction-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/interaction-manager.ts"],"names":[],"mappings":"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"}