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

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 (117) hide show
  1. package/CHANGELOG.md +2240 -0
  2. package/dist-types/components/audio.d.ts +2 -2
  3. package/dist-types/components/container-abstract.d.ts +4 -4
  4. package/dist-types/components/container.d.ts +3 -3
  5. package/dist-types/components/ellipse.d.ts +2 -2
  6. package/dist-types/components/html-overlay-container.d.ts +3 -3
  7. package/dist-types/components/html-overlay-element.d.ts +4 -4
  8. package/dist-types/components/image-view.d.ts +2 -2
  9. package/dist-types/components/info-window.d.ts +2 -2
  10. package/dist-types/components/line.d.ts +1 -1
  11. package/dist-types/components/local-ref.d.ts +2 -2
  12. package/dist-types/components/mixins/connectable.d.ts +2 -2
  13. package/dist-types/components/mixins/data-source.d.ts +2 -2
  14. package/dist-types/components/mixins/html-element.d.ts +2 -2
  15. package/dist-types/components/mixins/move-handle.d.ts +2 -2
  16. package/dist-types/components/mixins/rect-path.d.ts +2 -2
  17. package/dist-types/components/mixins/value-holder.d.ts +2 -2
  18. package/dist-types/components/node.d.ts +2 -2
  19. package/dist-types/components/popup.d.ts +2 -2
  20. package/dist-types/components/rect.d.ts +4 -4
  21. package/dist-types/components/ruler.d.ts +2 -2
  22. package/dist-types/components/text.d.ts +2 -2
  23. package/dist-types/decorator/decorator-registry.d.ts +4 -0
  24. package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
  25. package/dist-types/layer/model-layer.d.ts +42 -7
  26. package/dist-types/layer/model-layer.d.ts.map +1 -1
  27. package/dist-types/layer/modeling-layer.d.ts.map +1 -1
  28. package/dist-types/things-scene/api/align.d.ts.map +1 -1
  29. package/dist-types/things-scene/api/distribute.d.ts.map +1 -1
  30. package/dist-types/things-scene/application-context.d.ts +3 -0
  31. package/dist-types/things-scene/application-context.d.ts.map +1 -1
  32. package/dist-types/things-scene/create.d.ts +2 -1
  33. package/dist-types/things-scene/create.d.ts.map +1 -1
  34. package/dist-types/things-scene/index.d.ts +1 -0
  35. package/dist-types/things-scene/index.d.ts.map +1 -1
  36. package/dist-types/things-scene/scene.d.ts +1 -1
  37. package/dist-types/things-scene/scene.d.ts.map +1 -1
  38. package/dist-types/threed/arrow-3d.d.ts +2 -1
  39. package/dist-types/threed/arrow-3d.d.ts.map +1 -1
  40. package/dist-types/threed/common.d.ts +5 -0
  41. package/dist-types/threed/common.d.ts.map +1 -1
  42. package/dist-types/threed/environments/factory-environment.d.ts +11 -0
  43. package/dist-types/threed/environments/factory-environment.d.ts.map +1 -0
  44. package/dist-types/threed/environments/home-environment.d.ts +11 -0
  45. package/dist-types/threed/environments/home-environment.d.ts.map +1 -0
  46. package/dist-types/threed/environments/index.d.ts +6 -0
  47. package/dist-types/threed/environments/index.d.ts.map +1 -0
  48. package/dist-types/threed/environments/office-environment.d.ts +11 -0
  49. package/dist-types/threed/environments/office-environment.d.ts.map +1 -0
  50. package/dist-types/threed/environments/studio-environment.d.ts +12 -0
  51. package/dist-types/threed/environments/studio-environment.d.ts.map +1 -0
  52. package/dist-types/threed/environments/warehouse-environment.d.ts +11 -0
  53. package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -0
  54. package/dist-types/threed/factories/banner.d.ts +3 -2
  55. package/dist-types/threed/factories/banner.d.ts.map +1 -1
  56. package/dist-types/threed/factories/camera.d.ts +3 -2
  57. package/dist-types/threed/factories/camera.d.ts.map +1 -1
  58. package/dist-types/threed/factories/cube.d.ts +3 -2
  59. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  60. package/dist-types/threed/factories/cylinder.d.ts +1 -0
  61. package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
  62. package/dist-types/threed/factories/gltf-object.d.ts +10 -4
  63. package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
  64. package/dist-types/threed/factories/light.d.ts +1 -0
  65. package/dist-types/threed/factories/light.d.ts.map +1 -1
  66. package/dist-types/threed/factories/sphere.d.ts +1 -0
  67. package/dist-types/threed/factories/sphere.d.ts.map +1 -1
  68. package/dist-types/threed/factories/sprite.d.ts +3 -2
  69. package/dist-types/threed/factories/sprite.d.ts.map +1 -1
  70. package/dist-types/threed/factories/wall.d.ts +3 -2
  71. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  72. package/dist-types/threed/managers/box-selection-manager.d.ts +26 -0
  73. package/dist-types/threed/managers/box-selection-manager.d.ts.map +1 -0
  74. package/dist-types/threed/managers/camera-bookmark-manager.d.ts +127 -0
  75. package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -0
  76. package/dist-types/threed/managers/camera-manager.d.ts +9 -3
  77. package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
  78. package/dist-types/threed/managers/controls-manager.d.ts +13 -4
  79. package/dist-types/threed/managers/controls-manager.d.ts.map +1 -1
  80. package/dist-types/threed/managers/gizmo-operation-manager.d.ts +5 -0
  81. package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
  82. package/dist-types/threed/managers/index.d.ts +2 -0
  83. package/dist-types/threed/managers/index.d.ts.map +1 -1
  84. package/dist-types/threed/managers/interaction-manager.d.ts +10 -0
  85. package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
  86. package/dist-types/threed/managers/renderer-manager.d.ts +6 -0
  87. package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
  88. package/dist-types/threed/managers/scene-manager.d.ts +11 -0
  89. package/dist-types/threed/managers/scene-manager.d.ts.map +1 -1
  90. package/dist-types/threed/managers/types.d.ts +1 -1
  91. package/dist-types/threed/managers/types.d.ts.map +1 -1
  92. package/dist-types/threed/real-object-dom-element.d.ts.map +1 -1
  93. package/dist-types/threed/real-object-extrude.d.ts +6 -0
  94. package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
  95. package/dist-types/threed/real-object-gltf.d.ts +38 -1
  96. package/dist-types/threed/real-object-gltf.d.ts.map +1 -1
  97. package/dist-types/threed/real-object-text.d.ts +2 -0
  98. package/dist-types/threed/real-object-text.d.ts.map +1 -1
  99. package/dist-types/threed/real-object.d.ts +12 -1
  100. package/dist-types/threed/real-object.d.ts.map +1 -1
  101. package/dist-types/threed/text-editor-3d.d.ts +11 -0
  102. package/dist-types/threed/text-editor-3d.d.ts.map +1 -0
  103. package/dist-types/threed/texture/text-texture.d.ts +15 -0
  104. package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
  105. package/dist-types/threed/three-capability.d.ts +95 -4
  106. package/dist-types/threed/three-capability.d.ts.map +1 -1
  107. package/dist-types/threed/three-container.d.ts +5 -1
  108. package/dist-types/threed/three-container.d.ts.map +1 -1
  109. package/dist-types/threed/three-dimensional-container.d.ts +0 -1
  110. package/dist-types/threed/three-dimensional-container.d.ts.map +1 -1
  111. package/dist-types/types/index.d.ts +1 -0
  112. package/dist-types/types/index.d.ts.map +1 -1
  113. package/package.json +4 -13
  114. package/things-scene-min.js +12 -12
  115. package/things-scene-min.js.map +1 -1
  116. package/things-scene.mjs +8 -8
  117. package/things-scene.mjs.map +1 -1
@@ -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, 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,11 @@ 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;
65
66
  private _host?;
67
+ private _isSpacePanning;
68
+ private _beforeSpaceMode?;
66
69
  private _clipboard?;
67
70
  private _onFocus?;
68
71
  private _redrawHandler?;
@@ -74,14 +77,17 @@ export declare class ThreeCapability {
74
77
  private _initialized;
75
78
  private _decoratorOutlines;
76
79
  private _selectionOutlineObjects;
80
+ private _highlightedMarkerIndex;
77
81
  private _arrows;
78
82
  private _resizeDebouncer?;
83
+ private _pathLine?;
84
+ private _pathMarkers?;
85
+ private _pathVisible;
79
86
  get isInitialized(): boolean;
80
87
  get host(): ThreeCapabilityHost | undefined;
81
88
  get scene3d(): THREE.Scene | undefined;
82
89
  get renderer3d(): THREE.WebGLRenderer | undefined;
83
90
  get mixer(): THREE.AnimationMixer | undefined;
84
- get zoom(): number | undefined;
85
91
  get camera(): THREE.PerspectiveCamera | undefined;
86
92
  get activeCamera(): THREE.Camera;
87
93
  get css3DScene(): THREE.Scene;
@@ -94,6 +100,10 @@ export declare class ThreeCapability {
94
100
  onGizmoModeChanged?: (mode: 'translate' | 'rotate' | 'scale') => void;
95
101
  onGizmoAttachChanged?: (isAttached: boolean) => void;
96
102
  onCameraViewChanged?: (view: string) => void;
103
+ onBookmarkChanged?: () => void;
104
+ onShortcutHelpToggle?: () => void;
105
+ onBookmarkNavToggle?: () => void;
106
+ onBookmarkEditToggle?: () => void;
97
107
  setGizmoMode(mode: 'translate' | 'rotate' | 'scale'): void;
98
108
  get gizmoMode(): 'translate' | 'rotate' | 'scale';
99
109
  /**
@@ -237,6 +247,10 @@ export declare class ThreeCapability {
237
247
  onMouseLeave(_e: MouseEvent): boolean;
238
248
  onWheel(e: WheelEvent): boolean;
239
249
  onDblClick(e: MouseEvent): boolean;
250
+ /**
251
+ * 현재 카메라 위치/타겟을 더블클릭 리셋 기준점으로 저장한다.
252
+ */
253
+ pinResetPosition(): void;
240
254
  onDragStart(e: DragEvent): boolean;
241
255
  onDragMove(e: DragEvent): boolean;
242
256
  onDragEnd(e: DragEvent): boolean;
@@ -244,6 +258,7 @@ export declare class ThreeCapability {
244
258
  onPan(e: TouchEvent): boolean;
245
259
  onTouchEnd(e: TouchEvent): boolean;
246
260
  onKeyDown(e: KeyboardEvent): boolean;
261
+ private _onKeyUp;
247
262
  onPinch(e: TouchEvent): boolean;
248
263
  onDoubleTap(): void;
249
264
  /**
@@ -252,13 +267,83 @@ export declare class ThreeCapability {
252
267
  */
253
268
  getCameraState(): {
254
269
  view: string;
255
- zoom: number;
256
270
  cameraX: number;
257
271
  cameraY: number;
258
272
  cameraZ: number;
259
273
  } | null;
274
+ /**
275
+ * 현재 카메라 위치와 타겟을 월드 좌표로 반환한다.
276
+ */
277
+ getCameraWorldState(): {
278
+ position: {
279
+ x: number;
280
+ y: number;
281
+ z: number;
282
+ };
283
+ target: {
284
+ x: number;
285
+ y: number;
286
+ z: number;
287
+ };
288
+ } | null;
260
289
  captureSessionState(): CameraSessionState;
290
+ /**
291
+ * 3D→2D 전환 시 사용할 카메라 뷰포트 정보를 캡처한다.
292
+ * @returns target(orbit target), visibleSize(카메라 FOV 기반 가시 영역 크기)
293
+ */
294
+ captureViewportInfo(): {
295
+ target: THREE.Vector3;
296
+ visibleWidth: number;
297
+ visibleHeight: number;
298
+ };
261
299
  restoreSessionState(state: CameraSessionState): void;
300
+ /**
301
+ * 현재 카메라 위치를 슬롯에 저장한다 (편집 모드 전용).
302
+ */
303
+ saveCameraToSlot(index: number): void;
304
+ /**
305
+ * 2D 뷰포트 정보를 기반으로 카메라 위치/타겟을 설정한다.
306
+ * 수직/수평 FOV를 모두 고려하여 2D 가시 영역이 3D에서 정확히 커버되도록 거리를 계산한다.
307
+ */
308
+ positionCameraForViewport(targetX: number, targetZ: number, visibleWidth: number, visibleHeight: number, lastCameraState?: CameraSessionState): void;
309
+ /**
310
+ * 컴포넌트의 3D 위치로 카메라를 이동한다.
311
+ * 현재 카메라↔target 오프셋(거리/방향)을 유지하면서 target을 컴포넌트 중심으로 옮긴다.
312
+ */
313
+ centerToComponent(component: Component, animated?: boolean): void;
314
+ /**
315
+ * 슬롯으로 카메라를 애니메이션 이동한다.
316
+ */
317
+ animateToSlot(index: number): void;
318
+ /**
319
+ * 경로의 t∈[0,1] 지점으로 카메라를 즉시 이동한다 (스크러빙).
320
+ */
321
+ scrubPath(t: number): void;
322
+ /**
323
+ * 슬롯 순회 플레이를 토글한다 (일시정지/재개).
324
+ * 재개 시 카메라 현재 위치에서 가장 가까운 다음 슬롯부터 시작.
325
+ */
326
+ togglePlay(startFromProgress?: number): void;
327
+ /**
328
+ * 슬롯 순회 플레이를 처음부터 재시작한다.
329
+ */
330
+ restartPlay(): void;
331
+ /**
332
+ * 뷰어 시작 시 자동 재생 모드를 시작한다.
333
+ */
334
+ startAutoPlay(mode: 'orbit' | 'play'): void;
335
+ /**
336
+ * 북마크 동선 라인을 3D 씬에 표시한다.
337
+ */
338
+ showBookmarkPath(): void;
339
+ /**
340
+ * 북마크 동선 라인을 제거한다.
341
+ */
342
+ hideBookmarkPath(permanent?: boolean): void;
343
+ /**
344
+ * 모델에서 카메라 북마크를 복원한다.
345
+ */
346
+ initBookmarks(): void;
262
347
  /**
263
348
  * 상태 변경을 3D 씬에 반영한다.
264
349
  * width/height 처리는 호스트별로 다르므로 여기서는 하지 않는다:
@@ -285,6 +370,7 @@ export declare class ThreeCapability {
285
370
  * 디버그 FPS를 2D context에 그린다.
286
371
  */
287
372
  showDebugFPS(context: CanvasRenderingContext2D): void;
373
+ get decoratorOutlines(): Set<Component>;
288
374
  addOutline(component: Component): void;
289
375
  removeOutline(component: Component): void;
290
376
  clearOutlines(): void;
@@ -309,6 +395,11 @@ export declare class ThreeCapability {
309
395
  */
310
396
  updateArrow(id: string, from: Component, to: Component): void;
311
397
  private _getArrowStyle;
398
+ /**
399
+ * 북마크 마커 하이라이트 (슬롯 호버 시 아웃라인 표시)
400
+ */
401
+ highlightBookmarkMarker(slotIndex: number): void;
402
+ clearBookmarkMarkerHighlight(): void;
312
403
  /**
313
404
  * 편집모드 선택 아웃라인과 데코레이터 아웃라인을 합집합하여 OutlinePass에 설정한다.
314
405
  */
@@ -1 +1 @@
1
- {"version":3,"file":"three-capability.d.ts","sourceRoot":"","sources":["../../src/threed/three-capability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"three-capability.d.ts","sourceRoot":"","sources":["../../src/threed/three-capability.ts"],"names":[],"mappings":"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"}
@@ -27,10 +27,14 @@ 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;
33
+ /**
34
+ * 부모 씬이 3D 모드이면 자식들은 부모 씬에서 렌더링되므로
35
+ * ThreeContainer 자체의 독립 3D 렌더링은 불필요하다.
36
+ */
37
+ private get _parentIs3dMode();
34
38
  render(ctx: CanvasRenderingContext2D): void;
35
39
  postrender(ctx: CanvasRenderingContext2D): void;
36
40
  dispose(): 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;IAM7C,SAAS,CAAC,sBAAsB,IAAI,MAAM,GAAG,SAAS;IAItD,YAAY;IAgBZ,eAAe;IAKf,IAAI;IAEJ,MAAM;IAMN,IAAI,OAAO,4BAKV;IAED,IAAI,UAAU,oCAEb;IAED,IAAI,KAAK,qCAER;IAED,IAAI,IAAI,uBAEP;IAED,IAAI,UAAU,gBAEb;IAED,IAAI,aAAa,0EAEhB;IAED,aAAa;IAMb,MAAM,CAAC,GAAG,EAAE,wBAAwB;IAepC,UAAU,CAAC,GAAG,EAAE,wBAAwB;IAiCxC,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;IAIrB,UAAU,CAAC,CAAC,EAAE,UAAU;IAIxB,WAAW,CAAC,CAAC,EAAE,SAAS;IAIxB,UAAU,CAAC,CAAC,EAAE,SAAS;IAIvB,SAAS,CAAC,CAAC,EAAE,SAAS;IAItB,YAAY,CAAC,CAAC,EAAE,UAAU;IAI1B,KAAK,CAAC,CAAC,EAAE,UAAU;IAInB,UAAU,CAAC,CAAC,EAAE,UAAU;IAIxB,SAAS,CAAC,CAAC,EAAE,aAAa;IAI1B,OAAO,CAAC,CAAC,EAAE,UAAU;IAIrB,WAAW;CAGZ"}
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;IAM7C,SAAS,CAAC,sBAAsB,IAAI,MAAM,GAAG,SAAS;IAItD,YAAY;IAgBZ,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;IAuCxC,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"}
@@ -4,6 +4,5 @@ export interface ThreeDimensionalContainer {
4
4
  get scene3d(): Scene | undefined;
5
5
  get renderer3d(): WebGLRenderer | undefined;
6
6
  get mixer(): AnimationMixer | undefined;
7
- get zoom(): number | undefined;
8
7
  }
9
8
  //# sourceMappingURL=three-dimensional-container.d.ts.map
@@ -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;IACvC,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAAA;CAC/B"}
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"}
@@ -2,6 +2,7 @@ export * from './scene-component.js';
2
2
  export type { Point, Bounds, Position, Origin, Bounding } from './bounding.js';
3
3
  export type { EventCallback, Event, Constructor } from './event.js';
4
4
  export type { ApplicationContext } from '../interfaces/providers.js';
5
+ export type { Component as ComponentInterface } from './component.js';
5
6
  export type { Scene } from './scene.js';
6
7
  export type { BaseLayer, InteractiveLayer, SelectableLayer, TransformableLayer, ModelLayer } from './layer.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,sBAAsB,CAAA;AACpC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC9E,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACnE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,sBAAsB,CAAA;AACpC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC9E,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACnE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,YAAY,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACrE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA"}
package/package.json CHANGED
@@ -1,21 +1,11 @@
1
1
  {
2
2
  "name": "@hatiolab/things-scene",
3
- "version": "10.0.0-beta.2",
3
+ "version": "10.0.0-beta.21",
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",
7
7
  "browser": "things-scene.mjs",
8
8
  "types": "dist-types/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "types": "./dist-types/index.d.ts",
12
- "import": "./things-scene.mjs",
13
- "require": "./things-scene-min.js",
14
- "default": "./things-scene.mjs"
15
- },
16
- "./dist-types/*": "./dist-types/*",
17
- "./package.json": "./package.json"
18
- },
19
9
  "files": [
20
10
  "things-scene-min.js",
21
11
  "things-scene-min.js.map",
@@ -45,13 +35,13 @@
45
35
  "test": "mocha --require should --require ./test/setup.js --node-option import=tsx test/**/test-*.js",
46
36
  "test:case": "mocha --require should --require ./test/setup.js --node-option import=tsx",
47
37
  "clean": "rimraf dist-types things-scene*.js *.js.map",
48
- "build": "npm run clean && npm run build:types && npm run build:rollup:prod",
38
+ "build": "yarn clean && yarn build:types && yarn build:rollup:prod",
49
39
  "build:types": "tsc -p tsconfig.declarations.json",
50
40
  "build:rollup": "NODE_ENV=development rollup -c",
51
41
  "build:rollup:prod": "NODE_ENV=production rollup -c",
52
42
  "dev": "npx rollup src/index.ts -o things-scene.mjs -f esm -p @rollup/plugin-node-resolve -p @rollup/plugin-commonjs -p @rollup/plugin-typescript -w",
53
43
  "build:clean": "rm yarn.lock || echo 'yarn.lock not found.' && yarn install && yarn build",
54
- "prepublishOnly": "npm run build",
44
+ "prepublishOnly": "yarn build",
55
45
  "prettify": "prettier --write \"{src,test}/**/*.{js,ts,css,html}\"",
56
46
  "type-check": "tsc --noEmit",
57
47
  "type-check:watch": "tsc --noEmit --watch"
@@ -74,6 +64,7 @@
74
64
  "lit": "^3.0.0",
75
65
  "mocha": "^11.0.0",
76
66
  "prettier": "^3.0.0",
67
+ "puppeteer": "^24.39.1",
77
68
  "rimraf": "^6.0.0",
78
69
  "rollup": "^4.0.0",
79
70
  "should": "^13.2.3",