@hatiolab/things-scene 10.0.5 → 10.1.0

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 (76) hide show
  1. package/dist-types/diagnostics/inspector.d.ts +47 -0
  2. package/dist-types/diagnostics/inspector.d.ts.map +1 -1
  3. package/dist-types/figure/figure-blueprint.d.ts +118 -0
  4. package/dist-types/figure/figure-blueprint.d.ts.map +1 -0
  5. package/dist-types/figure/figure-instance.d.ts +283 -0
  6. package/dist-types/figure/figure-instance.d.ts.map +1 -0
  7. package/dist-types/figure/figure-palette.d.ts +37 -0
  8. package/dist-types/figure/figure-palette.d.ts.map +1 -0
  9. package/dist-types/figure/figure-real-object.d.ts +73 -0
  10. package/dist-types/figure/figure-real-object.d.ts.map +1 -0
  11. package/dist-types/figure/figure-registry.d.ts +71 -0
  12. package/dist-types/figure/figure-registry.d.ts.map +1 -0
  13. package/dist-types/figure/index.d.ts +12 -0
  14. package/dist-types/figure/index.d.ts.map +1 -0
  15. package/dist-types/interfaces/real-object.d.ts +34 -0
  16. package/dist-types/interfaces/real-object.d.ts.map +1 -1
  17. package/dist-types/layer/model-layer.d.ts +9 -2
  18. package/dist-types/layer/model-layer.d.ts.map +1 -1
  19. package/dist-types/model/arrange.d.ts +61 -0
  20. package/dist-types/model/arrange.d.ts.map +1 -0
  21. package/dist-types/model/index.d.ts +1 -0
  22. package/dist-types/model/index.d.ts.map +1 -1
  23. package/dist-types/things-scene/index.d.ts +1 -0
  24. package/dist-types/things-scene/index.d.ts.map +1 -1
  25. package/dist-types/threed/common.d.ts +8 -0
  26. package/dist-types/threed/common.d.ts.map +1 -1
  27. package/dist-types/threed/factories/backdrop.d.ts.map +1 -1
  28. package/dist-types/threed/factories/camera.d.ts +1 -1
  29. package/dist-types/threed/factories/cube.d.ts +8 -0
  30. package/dist-types/threed/factories/cube.d.ts.map +1 -1
  31. package/dist-types/threed/factories/cylinder.d.ts +17 -0
  32. package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
  33. package/dist-types/threed/factories/sphere.d.ts +11 -0
  34. package/dist-types/threed/factories/sphere.d.ts.map +1 -1
  35. package/dist-types/threed/factories/wall.d.ts +8 -0
  36. package/dist-types/threed/factories/wall.d.ts.map +1 -1
  37. package/dist-types/threed/geometry-bank.d.ts +64 -0
  38. package/dist-types/threed/geometry-bank.d.ts.map +1 -0
  39. package/dist-types/threed/index.d.ts +4 -0
  40. package/dist-types/threed/index.d.ts.map +1 -1
  41. package/dist-types/threed/instanced-set.d.ts +211 -0
  42. package/dist-types/threed/instanced-set.d.ts.map +1 -0
  43. package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
  44. package/dist-types/threed/managers/renderer-manager.d.ts +3 -3
  45. package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
  46. package/dist-types/threed/managers/scene-manager.d.ts +33 -9
  47. package/dist-types/threed/managers/scene-manager.d.ts.map +1 -1
  48. package/dist-types/threed/material-3d.d.ts +9 -0
  49. package/dist-types/threed/material-3d.d.ts.map +1 -1
  50. package/dist-types/threed/real-object-camera-meshed.d.ts +1 -1
  51. package/dist-types/threed/real-object-dom-texture.d.ts +2 -2
  52. package/dist-types/threed/real-object-extrude.d.ts +14 -0
  53. package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
  54. package/dist-types/threed/real-object-mesh.d.ts +79 -2
  55. package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
  56. package/dist-types/threed/real-object-plane-2d.d.ts +2 -2
  57. package/dist-types/threed/real-object-scene.d.ts +2 -2
  58. package/dist-types/threed/real-object-service.d.ts +2 -2
  59. package/dist-types/threed/real-object.d.ts +46 -2
  60. package/dist-types/threed/real-object.d.ts.map +1 -1
  61. package/dist-types/threed/segments.d.ts +49 -0
  62. package/dist-types/threed/segments.d.ts.map +1 -0
  63. package/dist-types/threed/three-capability.d.ts +7 -0
  64. package/dist-types/threed/three-capability.d.ts.map +1 -1
  65. package/dist-types/threed/three-container.d.ts +8 -3
  66. package/dist-types/threed/three-container.d.ts.map +1 -1
  67. package/dist-types/threed/top-outline.d.ts +37 -0
  68. package/dist-types/threed/top-outline.d.ts.map +1 -0
  69. package/dist-types/threed/utils/dispose.d.ts.map +1 -1
  70. package/dist-types/transition/transition-effect.d.ts.map +1 -1
  71. package/package.json +3 -3
  72. package/things-scene-min.js +11 -11
  73. package/things-scene-min.js.map +1 -1
  74. package/things-scene-transfer.mjs +3 -3
  75. package/things-scene.mjs +3 -3
  76. package/things-scene.mjs.map +1 -1
@@ -1,6 +1,6 @@
1
1
  import * as THREE from 'three';
2
2
  import type Component from '../components/component.js';
3
- import type { IRealObject } from '../interfaces/real-object.js';
3
+ import type { IRealObject, TopOutline } from '../interfaces/real-object.js';
4
4
  import type { Properties } from '../interfaces/types.js';
5
5
  import { ThreeDimensionalContainer } from './three-dimensional-container.js';
6
6
  import type { Placement } from '../placement/index.js';
@@ -12,7 +12,7 @@ export declare abstract class RealObject<T extends THREE.Object3D = THREE.Object
12
12
  private _lastText?;
13
13
  object3d: T;
14
14
  private _onchangeWrapper;
15
- static buildFillStyleTexture(component: Component, fillStyleOverride?: unknown, options?: import('./texture/fillstyle-texture.js').TextureUVOptions): THREE.Texture<unknown> | undefined;
15
+ static buildFillStyleTexture(component: Component, fillStyleOverride?: unknown, options?: import('./texture/fillstyle-texture.js').TextureUVOptions): THREE.Texture<unknown, THREE.TextureEventMap> | undefined;
16
16
  constructor(component: Component | any);
17
17
  update(): void;
18
18
  /**
@@ -270,6 +270,43 @@ export declare abstract class RealObject<T extends THREE.Object3D = THREE.Object
270
270
  get effectiveDepth(): number;
271
271
  updatePosition(): void;
272
272
  updateRotate(): void;
273
+ /**
274
+ * 치수 배율 — geometry 의 크기를 컴포넌트 치수로 만드는 인수.
275
+ *
276
+ * ## 왜 따로 두나
277
+ *
278
+ * `object3d.scale` 은 임자가 셋이었다 — `updateTransform()`(state.scale),
279
+ * `syncAnimationDelta()`(애니메이션), 그리고 치수. 셋이 같은 자리에 쓰니 마지막에
280
+ * 쓴 것이 이겼다. 특히 치수를 쓰면 `state.scale` 이 조용히 지워졌다.
281
+ *
282
+ * 이제 치수는 여기 있고, 세 자리 모두 **곱해서** 반영한다. 임자가 갈렸으므로 서로
283
+ * 덮지 않는다.
284
+ *
285
+ * ## 무엇이 열리나
286
+ *
287
+ * 치수를 geometry 에 굽지 않아도 되므로, **단위 크기 geometry 를 여러 인스턴스가
288
+ * 공유**할 수 있다(`GeometryBank`). 굽는 방식에서는 크기가 다르면 무조건 다른
289
+ * geometry 였다.
290
+ *
291
+ * 기본은 (1,1,1) — geometry 에 치수가 이미 들어 있다는 뜻이다.
292
+ */
293
+ get dimensionScale(): {
294
+ x: number;
295
+ y: number;
296
+ z: number;
297
+ };
298
+ protected _dimensionScale: {
299
+ x: number;
300
+ y: number;
301
+ z: number;
302
+ };
303
+ /**
304
+ * 치수 배율을 정하고 transform 에 반영한다. `updateDimension()` 이 부른다 —
305
+ * `object3d.scale` 을 직접 쓰는 대신 이것을 쓴다.
306
+ */
307
+ protected setDimensionScale(x: number, y: number, z: number): void;
308
+ /** state.scale · 애니메이션 · 치수를 곱해 최종 배율을 낸다. */
309
+ protected applyScale(sx: number, sy: number, sz: number): void;
273
310
  updateScale(): void;
274
311
  /**
275
312
  * 활성 애니메이션의 delta 값을 Object3D에 반영한다.
@@ -306,6 +343,13 @@ export declare abstract class RealObject<T extends THREE.Object3D = THREE.Object
306
343
  updateStrokeStyle(): void;
307
344
  updateFillStyle(): void;
308
345
  updateText(): void;
346
+ /**
347
+ * 톱뷰 윤곽 — 기본은 `null`(계산 못 함)이다. 형상을 아는 서브클래스가 채운다.
348
+ *
349
+ * 경계상자로 갈음하지 않는다. 원기둥을 사각형으로 돌려주면 2D 표현이 3D 와 다른
350
+ * 물건이 되고, 부르는 쪽은 그것이 근사인지 실제인지 알 수 없다.
351
+ */
352
+ topOutline(): TopOutline | null;
309
353
  /**
310
354
  * Raycast opt-out for atmospheric / decoration / environment components.
311
355
  *
@@ -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;AAGvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAS,MAAM,wBAAwB,CAAA;AAK/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAI5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAStD,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;IACnC,OAAO,CAAC,SAAS,CAAC,CAAQ;IAEnB,QAAQ,EAAE,CAAC,CAAA;IAUlB,OAAO,CAAC,gBAAgB,CAIvB;IAED,MAAM,CAAC,qBAAqB,CAC1B,SAAS,EAAE,SAAS,EACpB,iBAAiB,CAAC,EAAE,OAAO,EAC3B,OAAO,CAAC,EAAE,OAAO,gCAAgC,EAAE,gBAAgB;gBASzD,SAAS,EAAE,SAAS,GAAG,GAAG;IAOtC,MAAM;IAeN;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAQvB;;;;OAIG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,SAAS,CAAC,mBAAmB,IAAI,CAAC;IAIlC,KAAK;IAQL,gBAAgB;IAOhB;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CACrB,IAAI,GAAE,OAAc,EACpB,OAAO,GAAE,OAAe,GACvB;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;IAItC,OAAO,CAAC,YAAY;IAiBpB,4DAA4D;IAC5D,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,oCAAoC;IACpC,IAAI,iBAAiB,IAAI,MAAM,EAAE,GAAG,IAAI,CAEvC;IAED,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,IAAI,cAAc,IAAI,yBAAyB,GAAG,SAAS,CAS1D;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAK3B;IAED,OAAO;IAMP,KAAK;IAsBL,iBAAiB,UAAQ;IAEzB;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB,CAAC,CAAW;IAEvC;;;;;;;;OAQG;IACH,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED;;;OAGG;IACH,qBAAqB,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI;IAIzC,4DAA4D;IAC5D,uBAAuB,IAAI,IAAI;IAI/B;;;;;;;;;;;;;OAaG;IACH,eAAe,IAAI,IAAI;IA0BvB;;OAEG;IACH,eAAe;IAwBf,IAAI,QAAQ;;;;MAOX;IAED,IAAI,QAAQ;;;;MAQX;IAED,IAAI,KAAK;;;;MAUR;IAED,IAAI,EAAE,WAML;IAED,IAAI,EAAE,WAML;IAED,IAAI,EAAE,WAkBL;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIjD;;;;;;;;;;OAUG;IACH,SAAS,CAAC,iBAAiB,IAAI,MAAM;IAarC;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,aAAa,IAAI,MAAM,CAU1B;IAED;;;;;;;;;;;OAWG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAQ7B;IAED;;;;;;OAMG;IACH,SAAS,KAAK,cAAc,IAAI,OAAO,GAAG,OAAO,GAAG,UAAU,CAI7D;IAED;;;;OAIG;IACH,IAAI,aAAa,IAAI,OAAO,GAAG,OAAO,GAAG,UAAU,CAElD;IAED,OAAO,CAAC,aAAa,CAAC,CAAa;IAEnC;;;;;;;;;;OAUG;IACH,IAAI,YAAY,IAAI,KAAK,CAAC,KAAK,CAO9B;IAED,IAAI,MAAM;;;;MAWT;IAED,eAAe;IAIf,iBAAiB;IAIjB,gBAAgB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAEnE,IAAI,SAAS;eAFe,MAAM;gBAAU,MAAM;eAAS,MAAM;MAWhE;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI,cAAc,IAAI,MAAM,CAU3B;IAGD,cAAc;IAKd,YAAY;IAKZ,WAAW;IAKX;;;;OAIG;IACH,kBAAkB;IA6ClB,eAAe;IAKf;;;;OAIG;IACH,WAAW;IAIX;;;OAGG;IACH,SAAS,CAAC,eAAe,IAAI,OAAO;IAIpC;;;;;;;;;OASG;IACH,oBAAoB,IAAI,IAAI;IAe5B,kDAAkD;IAClD,aAAa,IAAI,IAAI;IAIrB,YAAY;IAYZ,iBAAiB;IACjB,eAAe;IACf,UAAU;IAEV;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,mBAAmB;IA8B7B;;;OAGG;IACH;;;;;;;;;;;OAWG;IACH,SAAS,KAAK,cAAc,IAAI,MAAM,CAQrC;IAED;;;OAGG;IACH,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAED;;;OAGG;IACH,gBAAgB;IAiChB;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC;;;;OAIG;IACH,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMrD,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;CA6E/C"}
1
+ {"version":3,"file":"real-object.d.ts","sourceRoot":"","sources":["../../src/threed/real-object.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * 곡면의 분할 수 — 로우폴리 표현과 geometry 공유의 공통 손잡이.
3
+ *
4
+ * 분할 수가 코드에 박혀 있으면 두 가지를 못 한다.
5
+ *
6
+ * 1. 로우폴리 — 25분할 원기둥은 로우폴리가 아니다. 8·12·16 을 고를 수 있어야 하고,
7
+ * 낮은 분할은 `material3d.flatShading` 과 함께 써야 「덜 그린 원기둥」이 아니라
8
+ * 「의도한 각기둥」으로 보인다.
9
+ * 2. geometry 공유 — GeometryBank 는 분할 수를 캐시 키에 넣는다. 저작 쪽이 프리셋
10
+ * 셋 중에서만 고르면 키 종류가 셋으로 묶인다. 자유값이면 묶이지 않는다.
11
+ *
12
+ * **미감을 위한 제약이 그대로 공유의 근거다** — 프리셋을 두는 이유가 둘 다이다.
13
+ */
14
+ /** 저작에서 고를 수 있는 분할 수. 이 셋으로 제한하면 geometry 키가 셋으로 묶인다. */
15
+ export declare const SEGMENT_PRESETS: readonly number[];
16
+ /**
17
+ * `segments` 를 주지 않은 기존 컴포넌트의 분할 수.
18
+ *
19
+ * 프리셋(8·12·16)보다 크다 — 일부러 그렇게 두었다. 이미 저장된 보드의 원기둥·구가
20
+ * 라이브러리 판올림만으로 각지게 변하면 안 된다. 저작한 Figure 는 `segments` 를
21
+ * 명시하므로 이 기본값을 타지 않는다.
22
+ */
23
+ export declare const SEGMENT_DEFAULTS: {
24
+ readonly cylinder: 25;
25
+ readonly sphere: 32;
26
+ };
27
+ /** 입체가 되는 최소 분할 수. 2 이하는 면이 생기지 않는다. */
28
+ export declare const MIN_SEGMENTS = 3;
29
+ /**
30
+ * 최대 분할 수. 이보다 큰 값은 화면에서 구분되지 않으면서 삼각형만 늘린다.
31
+ * 저작에서 실수로 큰 값이 들어오는 것을 막는 상한이며 계약의 일부다.
32
+ */
33
+ export declare const MAX_SEGMENTS = 128;
34
+ /**
35
+ * `state.segments` 를 실제 분할 수로 읽는다.
36
+ *
37
+ * - 값이 없거나 수가 아니면 `fallback`
38
+ * - 범위를 벗어나면 [MIN_SEGMENTS, MAX_SEGMENTS] 로 맞춘다
39
+ * - 소수는 버린다
40
+ */
41
+ export declare function resolveSegments(value: unknown, fallback: number): number;
42
+ /**
43
+ * 구의 높이 분할 수 — 둘레 분할의 절반이 기본이다(32 → 16, 지금 동작과 같다).
44
+ * `state.heightSegments` 로 따로 줄 수 있다.
45
+ */
46
+ export declare function resolveHeightSegments(value: unknown, segments: number): number;
47
+ /** 프리셋에 든 값인가 — 저작 화면의 검사와 진단에 쓴다. */
48
+ export declare function isSegmentPreset(value: number): boolean;
49
+ //# sourceMappingURL=segments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../src/threed/segments.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,yDAAyD;AACzD,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAAgB,CAAA;AAE7D;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;CAGnB,CAAA;AAEV,wCAAwC;AACxC,eAAO,MAAM,YAAY,IAAI,CAAA;AAE7B;;;GAGG;AACH,eAAO,MAAM,YAAY,MAAM,CAAA;AAE/B;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGxE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK9E;AAED,sCAAsC;AACtC,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD"}
@@ -175,6 +175,13 @@ export declare class ThreeCapability {
175
175
  /**
176
176
  * WebGL 씬을 렌더링한다.
177
177
  */
178
+ /**
179
+ * 지금 반사할 환경(IBL)이 걸려 있나.
180
+ *
181
+ * 진단이 묻는다 — `metalness` 가 높은 재질은 이것이 없으면 고른 색과 무관하게 어둡게
182
+ * 나온다. PBR 에서 완전한 금속은 확산 성분이 없어 보이는 것이 전부 반사이기 때문이다.
183
+ */
184
+ get hasEnvironment(): boolean;
178
185
  renderThreeD(): void;
179
186
  /**
180
187
  * 카메라 뷰 프리셋을 전환한다.
@@ -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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"}
@@ -16,6 +16,11 @@ export declare class ThreeContainer extends Container implements ThreeDimensiona
16
16
  protected get lightManager(): LightManager;
17
17
  protected get controlsManager(): ControlsManager;
18
18
  protected get eventManager(): EventManager3D;
19
+ /**
20
+ * 반사할 환경(IBL)이 걸려 있나. 진단이 묻는 공개 질문이다 —
21
+ * 매니저를 파고들지 않고도 「왜 금속이 검은가」를 판정할 수 있게 둔다.
22
+ */
23
+ get hasEnvironment(): boolean;
19
24
  containable(component: Component): boolean;
20
25
  is3dContainer(): boolean;
21
26
  protected getLightingConfig(): LightingConfig;
@@ -24,10 +29,10 @@ export declare class ThreeContainer extends Container implements ThreeDimensiona
24
29
  destroy_scene3d(): void;
25
30
  stop(): void;
26
31
  resize(): void;
27
- get scene3d(): THREE.Scene | undefined;
32
+ get scene3d(): THREE.Scene<THREE.Object3DEventMap> | undefined;
28
33
  get renderer3d(): THREE.WebGLRenderer | undefined;
29
- get mixer(): THREE.AnimationMixer | undefined;
30
- get css3DScene(): THREE.Scene;
34
+ get mixer(): THREE.AnimationMixer<THREE.AnimationMixerEventMap> | undefined;
35
+ get css3DScene(): THREE.Scene<THREE.Object3DEventMap>;
31
36
  get css3DRenderer(): import("three/examples/jsm/renderers/CSS3DRenderer.js").CSS3DRenderer;
32
37
  render_threed(): void;
33
38
  /**
@@ -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;IAO7C,SAAS,CAAC,sBAAsB,IAAI,MAAM,GAAG,SAAS;IAItD,YAAY;IAmBZ,eAAe;IAKf,IAAI;IAEJ,MAAM;IAMN,IAAI,OAAO,4BAKV;IAED,IAAI,UAAU,oCAEb;IAED,IAAI,KAAK,qCAER;IAED,IAAI,UAAU,gBAEb;IAED,IAAI,aAAa,0EAEhB;IAED,aAAa;IAIb;;;OAGG;IACH,OAAO,KAAK,eAAe,GAE1B;IAID,MAAM,CAAC,GAAG,EAAE,wBAAwB;IAiBpC,UAAU,CAAC,GAAG,EAAE,wBAAwB;IAoCxC,OAAO;IAKP,IAAI,MAAM,IAAI,GAAG,CAEhB;IAED,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,kBAAkB,IAAI,KAAK,CAAC,QAAQ,GAAG,SAAS;IAIhD,mBAAmB;IAMnB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;IAS9C,WAAW,CAAC,CAAC,EAAE,UAAU;IAIzB,SAAS,CAAC,CAAC,EAAE,UAAU;IAIvB,WAAW,CAAC,CAAC,EAAE,UAAU;IAIzB,YAAY,CAAC,CAAC,EAAE,UAAU;IAI1B,OAAO,CAAC,CAAC,EAAE,UAAU;IAMrB,UAAU,CAAC,CAAC,EAAE,UAAU;IAMxB,WAAW,CAAC,CAAC,EAAE,SAAS;IAIxB,UAAU,CAAC,CAAC,EAAE,SAAS;IAMvB,SAAS,CAAC,CAAC,EAAE,SAAS;IAMtB,YAAY,CAAC,CAAC,EAAE,UAAU;IAI1B,KAAK,CAAC,CAAC,EAAE,UAAU;IAMnB,UAAU,CAAC,CAAC,EAAE,UAAU;IAIxB,SAAS,CAAC,CAAC,EAAE,aAAa;IAI1B,OAAO,CAAC,CAAC,EAAE,UAAU;IAMrB,WAAW;CAIZ"}
1
+ {"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;;;OAGG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,WAAW,CAAC,SAAS,EAAE,SAAS;IAIhC,aAAa;IAIb,SAAS,CAAC,iBAAiB,IAAI,cAAc;IAO7C,SAAS,CAAC,sBAAsB,IAAI,MAAM,GAAG,SAAS;IAItD,YAAY;IAmBZ,eAAe;IAKf,IAAI;IAEJ,MAAM;IAMN,IAAI,OAAO,oDAKV;IAED,IAAI,UAAU,oCAEb;IAED,IAAI,KAAK,mEAER;IAED,IAAI,UAAU,wCAEb;IAED,IAAI,aAAa,0EAEhB;IAED,aAAa;IAIb;;;OAGG;IACH,OAAO,KAAK,eAAe,GAE1B;IAID,MAAM,CAAC,GAAG,EAAE,wBAAwB;IAiBpC,UAAU,CAAC,GAAG,EAAE,wBAAwB;IAoCxC,OAAO;IAKP,IAAI,MAAM,IAAI,GAAG,CAEhB;IAED,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,kBAAkB,IAAI,KAAK,CAAC,QAAQ,GAAG,SAAS;IAIhD,mBAAmB;IAMnB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;IAS9C,WAAW,CAAC,CAAC,EAAE,UAAU;IAIzB,SAAS,CAAC,CAAC,EAAE,UAAU;IAIvB,WAAW,CAAC,CAAC,EAAE,UAAU;IAIzB,YAAY,CAAC,CAAC,EAAE,UAAU;IAI1B,OAAO,CAAC,CAAC,EAAE,UAAU;IAMrB,UAAU,CAAC,CAAC,EAAE,UAAU;IAMxB,WAAW,CAAC,CAAC,EAAE,SAAS;IAIxB,UAAU,CAAC,CAAC,EAAE,SAAS;IAMvB,SAAS,CAAC,CAAC,EAAE,SAAS;IAMtB,YAAY,CAAC,CAAC,EAAE,UAAU;IAI1B,KAAK,CAAC,CAAC,EAAE,UAAU;IAMnB,UAAU,CAAC,CAAC,EAAE,UAAU;IAIxB,SAAS,CAAC,CAAC,EAAE,aAAa;IAI1B,OAAO,CAAC,CAAC,EAAE,UAAU;IAMrB,WAAW;CAIZ"}
@@ -0,0 +1,37 @@
1
+ import type { TopOutline } from '../interfaces/real-object.js';
2
+ /**
3
+ * 톱뷰 윤곽을 만드는 순수 함수들.
4
+ *
5
+ * 저작한 Figure 는 3D 로만 만든다. 2D 표현은 따로 그리지 않고 **3D 형상에서 위에서
6
+ * 내려다본 윤곽을 계산한다.** 그 계산의 밑감이 여기 있다.
7
+ *
8
+ * 좌표 규약은 `TopOutline` 에 적혀 있다 — 원점은 컴포넌트 중심, x 는 오른쪽, y 는
9
+ * 아래. 2D 캔버스와 같은 방향이므로 계산 결과를 변환 없이 `ctx` 에 넘길 수 있다.
10
+ */
11
+ /** 중심 원점 사각형. */
12
+ export declare function rectOutline(width: number, height: number): TopOutline;
13
+ /**
14
+ * 중심 원점 타원 — 반지름 `rx`·`ry`, `segments` 등분.
15
+ *
16
+ * **분할 수를 그대로 쓴다.** 3D 원기둥이 8분할이면 톱뷰도 팔각형이어야 한다. 톱뷰만
17
+ * 매끄러운 원으로 그리면 2D 와 3D 가 다른 물건으로 보인다.
18
+ */
19
+ export declare function ellipseOutline(rx: number, ry: number, segments: number): TopOutline;
20
+ /**
21
+ * [0,w]×[0,h] 좌표의 점들을 **자기 경계상자 중심** 기준으로 옮긴다.
22
+ *
23
+ * 압출 계열의 `shape` 는 좌상단 원점 좌표를 내고, `createGeometry()` 는
24
+ * `geometry.center()` 로 mesh 를 중심에 맞춘다. 윤곽도 같은 기준이어야 2D 와 3D 가
25
+ * 겹친다.
26
+ *
27
+ * 닫는 점(첫 점과 같은 마지막 점)이 있으면 뺀다 — 계약은 「첫 점과 끝 점을 이어 닫힌
28
+ * 것으로 읽는다」이므로 되풀린 점은 군더더기다.
29
+ */
30
+ export declare function centerOnBBox(points: readonly {
31
+ x: number;
32
+ y: number;
33
+ }[]): {
34
+ x: number;
35
+ y: number;
36
+ }[];
37
+ //# sourceMappingURL=top-outline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"top-outline.d.ts","sourceRoot":"","sources":["../../src/threed/top-outline.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAE9D;;;;;;;;GAQG;AAEH,iBAAiB;AACjB,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAWrE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAQnF;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CA0BpG"}
@@ -1 +1 @@
1
- {"version":3,"file":"dispose.d.ts","sourceRoot":"","sources":["../../../src/threed/utils/dispose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAiC9B,wBAAgB,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,QAmBlD"}
1
+ {"version":3,"file":"dispose.d.ts","sourceRoot":"","sources":["../../../src/threed/utils/dispose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAiC9B,wBAAgB,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,QAwBlD"}
@@ -1 +1 @@
1
- {"version":3,"file":"transition-effect.d.ts","sourceRoot":"","sources":["../../src/transition/transition-effect.ts"],"names":[],"mappings":"AAgBA,UAAU,UAAU;IAClB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,OAAO;IACf,GAAG,EAAE,GAAG,CAAA;IACR,IAAI,EAAE,GAAG,CAAA;IACT,SAAS,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C;;;;OAIG;IACH,aAAa,CAAC,EAAE,GAAG,CAAA;CACpB;AAED,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,OAAO,CAAC,MAAM,CAAgC;IAC9C;;;;;;OAMG;IACH,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,IAAI,CAAK;IAGjB,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,IAAI,CAAwC;gBAExC,IAAI,EAAE,GAAG;IAMrB,aAAa,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO;IAItC;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAcrD,QAAQ,CAAC,SAAS,EAAE,GAAG,GAAG,aAAa,GAAG,IAAI;IAI9C,KAAK,CACH,SAAS,EAAE,GAAG,EACd,OAAO,EAAE;QACP,SAAS,CAAC,EAAE,UAAU,CAAA;QACtB,OAAO,CAAC,EAAE,UAAU,CAAA;QACpB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb;;;;WAIG;QACH,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB,GACA,IAAI;IA+DP,MAAM,CAAC,SAAS,EAAE,GAAG,GAAG,IAAI;IAK5B;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,GAAG,IAAI;IAgEtD;;OAEG;IACH,SAAS,IAAI,IAAI;IAQjB;;;;;;;OAOG;IACH,OAAO,IAAI,IAAI;IAsBf;;OAEG;IACH,MAAM,IAAI,IAAI;IASd,OAAO,IAAI,IAAI;IAYf,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,IAAI;IAoEZ,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,SAAS;CAyBlB"}
1
+ {"version":3,"file":"transition-effect.d.ts","sourceRoot":"","sources":["../../src/transition/transition-effect.ts"],"names":[],"mappings":"AAgBA,UAAU,UAAU;IAClB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,OAAO;IACf,GAAG,EAAE,GAAG,CAAA;IACR,IAAI,EAAE,GAAG,CAAA;IACT,SAAS,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C;;;;OAIG;IACH,aAAa,CAAC,EAAE,GAAG,CAAA;CACpB;AAED,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,OAAO,CAAC,MAAM,CAAgC;IAC9C;;;;;;OAMG;IACH,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,IAAI,CAAK;IAGjB,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,IAAI,CAAwC;gBAExC,IAAI,EAAE,GAAG;IAMrB,aAAa,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO;IAItC;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAcrD,QAAQ,CAAC,SAAS,EAAE,GAAG,GAAG,aAAa,GAAG,IAAI;IAI9C,KAAK,CACH,SAAS,EAAE,GAAG,EACd,OAAO,EAAE;QACP,SAAS,CAAC,EAAE,UAAU,CAAA;QACtB,OAAO,CAAC,EAAE,UAAU,CAAA;QACpB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb;;;;WAIG;QACH,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB,GACA,IAAI;IA+DP,MAAM,CAAC,SAAS,EAAE,GAAG,GAAG,IAAI;IAK5B;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,GAAG,IAAI;IAgEtD;;OAEG;IACH,SAAS,IAAI,IAAI;IAQjB;;;;;;;OAOG;IACH,OAAO,IAAI,IAAI;IAsBf;;OAEG;IACH,MAAM,IAAI,IAAI;IASd,OAAO,IAAI,IAAI;IAYf,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,IAAI;IAoEZ,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,SAAS;CA4BlB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hatiolab/things-scene",
3
- "version": "10.0.5",
3
+ "version": "10.1.0",
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",
@@ -67,7 +67,7 @@
67
67
  "@rollup/plugin-typescript": "^12.0.0",
68
68
  "@types/lodash-es": "^4.17.6",
69
69
  "@types/node": "^22.0.0",
70
- "@types/three": "^0.183.0",
70
+ "@types/three": "^0.185.4",
71
71
  "@types/tinycolor2": "^1.4.3",
72
72
  "canvas": "^3.1.0",
73
73
  "chai": "^4.3.6",
@@ -94,7 +94,7 @@
94
94
  "dompurify": "^3.3.1",
95
95
  "jsonata": "^1.8.6",
96
96
  "lodash-es": "^4.17.20",
97
- "three": "^0.183.0",
97
+ "three": "^0.185.1",
98
98
  "tinycolor2": "^1.6.0"
99
99
  }
100
100
  }