@hatiolab/things-scene 10.1.61 → 10.1.63

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.
@@ -1 +1 @@
1
- {"version":3,"file":"figure-compile-cache.d.ts","sourceRoot":"","sources":["../../src/figure/figure-compile-cache.ts"],"names":[],"mappings":"AAcA,OAAO,EAAoE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAe7M,mHAAmH;AACnH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAWjE;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,sGAAsG;IACtG,QAAQ,EAAE,mBAAmB,CAAA;IAC7B;;;;OAIG;IACH,QAAQ,EAAE,0BAA0B,CAAA;IACpC,kFAAkF;IAClF,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACpC,oGAAoG;IACpG,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,wGAAwG;IACxG,KAAK,EAAE,WAAW,CAAA;CACnB;AAKD,+GAA+G;AAC/G,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAE3D;AAED,qHAAqH;AACrH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,CA0BnE;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
1
+ {"version":3,"file":"figure-compile-cache.d.ts","sourceRoot":"","sources":["../../src/figure/figure-compile-cache.ts"],"names":[],"mappings":"AAcA,OAAO,EAA4F,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAerO,mHAAmH;AACnH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAWjE;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,sGAAsG;IACtG,QAAQ,EAAE,mBAAmB,CAAA;IAC7B;;;;OAIG;IACH,QAAQ,EAAE,0BAA0B,CAAA;IACpC,kFAAkF;IAClF,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACpC,oGAAoG;IACpG,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,wGAAwG;IACxG,KAAK,EAAE,WAAW,CAAA;CACnB;AAKD,+GAA+G;AAC/G,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAE3D;AAED,qHAAqH;AACrH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,CA2BnE;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
@@ -6,6 +6,6 @@ export declare function releaseFigureGeometry(geometry: THREE.BufferGeometry): v
6
6
  /** How many distinct bodies are held. For tests and for the maturity numbers. */
7
7
  export declare function figureGeometryCount(): number;
8
8
  export declare function resetFigureGeometry(): void;
9
- /** Builds a body centred in its own frame, as the contract defines it. Not cached; use `acquireFigureGeometry`. */
9
+ /** Builds a body in its own frame, as the contract defines it. Not cached; use `acquireFigureGeometry`. */
10
10
  export declare function buildFigureGeometry(shape: FigureShape, segments?: number): THREE.BufferGeometry;
11
11
  //# sourceMappingURL=figure-geometry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"figure-geometry.d.ts","sourceRoot":"","sources":["../../src/figure/figure-geometry.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAiBzD,gHAAgH;AAChH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,GAAE,MAAyB,GAAG,KAAK,CAAC,cAAc,CAWnH;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAS1E;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAED,mHAAmH;AACnH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,GAAE,MAAyB,GAAG,KAAK,CAAC,cAAc,CA6DjH"}
1
+ {"version":3,"file":"figure-geometry.d.ts","sourceRoot":"","sources":["../../src/figure/figure-geometry.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAyBzD,gHAAgH;AAChH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,GAAE,MAAyB,GAAG,KAAK,CAAC,cAAc,CAWnH;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAS1E;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAED,2GAA2G;AAC3G,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,GAAE,MAAyB,GAAG,KAAK,CAAC,cAAc,CAKjH"}
@@ -9,11 +9,10 @@ import { RealObject } from '../threed/real-object.js';
9
9
  export interface FigurePartShape {
10
10
  provider: string;
11
11
  dimensions: Record<string, number>;
12
- profile?: Array<{
13
- id?: string;
14
- x: number;
15
- y: number;
16
- }>;
12
+ /** A shape operation's meaning (figure-model `FigureEvaluatedShape`): what the mesh is built from. */
13
+ extrusion?: unknown;
14
+ cavity?: unknown;
15
+ revolution?: unknown;
17
16
  }
18
17
  export interface FigurePartState {
19
18
  shape?: FigurePartShape;
@@ -1 +1 @@
1
- {"version":3,"file":"figure-part-component.d.ts","sourceRoot":"","sources":["../../src/figure/figure-part-component.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAClD,OAAO,KAAK,MAAM,wBAAwB,CAAA;AAE1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAkCrD,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACvD;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,+CAA+C;IAC/C,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C;AAOD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,eAAe,EACtB,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAA;CAAE,GAAG,IAAI,CAoBzF;AAED,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,OAAO,CAAC,IAAI,CAAC,CAAY;IAEzB,KAAK;IAaL,KAAK;IAOI,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAU9D,8GAA8G;IAC9G,eAAe,IAAI,IAAI;IAKvB,OAAO,CAAC,QAAQ;CAqBjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,UAAW,SAAQ,eAAe;IAC7C,MAAM,CAAC,YAAY,IAAI,IAAI;IAI3B,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,OAAO,IAAI,OAAO;IAIlB,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,kEAAkE;IAClE,MAAM,CAAC,GAAG,EAAE,kBAAkB;CAO/B"}
1
+ {"version":3,"file":"figure-part-component.d.ts","sourceRoot":"","sources":["../../src/figure/figure-part-component.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAClD,OAAO,KAAK,MAAM,wBAAwB,CAAA;AAE1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAkCrD,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,sGAAsG;IACtG,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,+CAA+C;IAC/C,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C;AAOD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,eAAe,EACtB,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAA;CAAE,GAAG,IAAI,CAqBzF;AAED,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,OAAO,CAAC,IAAI,CAAC,CAAY;IAEzB,KAAK;IAaL,KAAK;IAOI,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAU9D,8GAA8G;IAC9G,eAAe,IAAI,IAAI;IAKvB,OAAO,CAAC,QAAQ;CAqBjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,UAAW,SAAQ,eAAe;IAC7C,MAAM,CAAC,YAAY,IAAI,IAAI;IAI3B,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,OAAO,IAAI,OAAO;IAIlB,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,kEAAkE;IAClE,MAAM,CAAC,GAAG,EAAE,kBAAkB;CAO/B"}
@@ -25,7 +25,7 @@ export declare class FigureRealObject extends RealObject<THREE.Group> {
25
25
  } | null;
26
26
  get effectiveDepth(): number;
27
27
  /**
28
- * Where it stands when the board did not say: what the asset declares it is placed on (`occupancy.placement`). A
28
+ * Where it stands when the board did not say: what the asset says it is authored from (`placement`). A
29
29
  * ceiling figure hangs with its top at the site's ceiling; a written `zPos` wins (ADR-0045).
30
30
  */
31
31
  get effectiveZPos(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"figure-registry.d.ts","sourceRoot":"","sources":["../../src/figure/figure-registry.ts"],"names":[],"mappings":"AAYA,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAE7E,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAEjF,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,cAAc,CAAA;CACzB;AAID,0HAA0H;AAC1H,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,sBAAsB,CAOvF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAErE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
1
+ {"version":3,"file":"figure-registry.d.ts","sourceRoot":"","sources":["../../src/figure/figure-registry.ts"],"names":[],"mappings":"AAYA,OAAO,EAA8C,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAErG,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAEjF,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,cAAc,CAAA;CACzB;AAID,0HAA0H;AAC1H,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,sBAAsB,CAOvF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAErE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
@@ -0,0 +1,46 @@
1
+ import * as THREE from 'three';
2
+ import { type FigureSection } from '@hatiolab/figure-model';
3
+ type Axis = 'x' | 'y' | 'z';
4
+ type P2 = [number, number];
5
+ /**
6
+ * A section's outline in its plane (u, v) -- `FIGURE_SECTION_PLANE`, right-handed with the push axis -- counter-
7
+ * clockwise, offset by `centre` (an inside's middle).
8
+ */
9
+ export declare function figureSectionOutline(section: FigureSection, axis: Axis, segments: number, centre?: Partial<Record<Axis, number>>): P2[];
10
+ /** A pushed section, with its inside if it has one, in the part's own frame. */
11
+ export declare function extrusionGeometry(shape: {
12
+ extrusion?: {
13
+ axis: Axis;
14
+ section: FigureSection;
15
+ start: number;
16
+ end: number;
17
+ };
18
+ cavity?: {
19
+ wall: Record<string, number>;
20
+ start: 'open' | {
21
+ closed: number;
22
+ };
23
+ end: 'open' | {
24
+ closed: number;
25
+ };
26
+ };
27
+ }, segments: number): THREE.BufferGeometry;
28
+ /** A turned half-section: a sphere or a spheroid, a cone or a frustum, about the part's axis. */
29
+ export declare function revolutionGeometry(revolution: {
30
+ axis: Axis;
31
+ profile: {
32
+ kind: 'half-ellipse';
33
+ radial: number;
34
+ axial: number;
35
+ } | {
36
+ kind: 'taper';
37
+ start: number;
38
+ end: number;
39
+ startRadius: number;
40
+ endRadius: number;
41
+ };
42
+ }, segments: number): THREE.BufferGeometry;
43
+ /** A section's outline as points in the part's own frame, at `at` along its push axis. */
44
+ export declare function figureSectionLoop(section: FigureSection, axis: Axis, at: number, segments: number, centre?: Partial<Record<Axis, number>>): Array<[number, number, number]>;
45
+ export {};
46
+ //# sourceMappingURL=figure-shape-mesh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"figure-shape-mesh.d.ts","sourceRoot":"","sources":["../../src/figure/figure-shape-mesh.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAgE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEzH,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAO1B;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAM,GAAG,EAAE,EAAE,CAyC3I;AAoGD,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9E,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAChH,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,cAAc,CA4BzC;AAED,iGAAiG;AACjG,wBAAgB,kBAAkB,CAChC,UAAU,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EACpL,QAAQ,EAAE,MAAM,GACf,KAAK,CAAC,cAAc,CAatB;AAED,0FAA0F;AAC1F,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAM,GACzC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAMjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"figure-top-view.d.ts","sourceRoot":"","sources":["../../src/figure/figure-top-view.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAElE,MAAM,WAAW,cAAc;IAC7B,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,gHAAgH;IAChH,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAChC,mFAAmF;IACnF,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IACrC,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,gHAAgH;IAChH,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CACjD;AAED,wGAAwG;AACxG,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgBpG;AAKD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,aAAa,CAoD7H"}
1
+ {"version":3,"file":"figure-top-view.d.ts","sourceRoot":"","sources":["../../src/figure/figure-top-view.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAElE,MAAM,WAAW,cAAc;IAC7B,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,gHAAgH;IAChH,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAChC,mFAAmF;IACnF,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IACrC,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,gHAAgH;IAChH,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CACjD;AAED,wGAAwG;AACxG,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgBpG;AAKD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,aAAa,CAiD7H"}
@@ -11,5 +11,5 @@ export * from './figure-component.js';
11
11
  export * from './figure-registry.js';
12
12
  export { acquireFigureGeometry, releaseFigureGeometry, buildFigureGeometry } from './figure-geometry.js';
13
13
  export * from './figure-part-component.js';
14
- export * from './figure-shape.js';
14
+ export { figureSectionOutline } from './figure-shape-mesh.js';
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/figure/index.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,cAAc,sBAAsB,CAAA;AAKpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AAErC,cAAc,sBAAsB,CAAA;AAKpC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AACxG,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/figure/index.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,cAAc,sBAAsB,CAAA;AAKpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AAErC,cAAc,sBAAsB,CAAA;AAKpC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AACxG,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA"}
@@ -9,6 +9,18 @@ export interface GizmoOperationHost {
9
9
  readonly hostElement?: HTMLElement;
10
10
  invalidate(): void;
11
11
  }
12
+ /**
13
+ * 컴포넌트가 스스로 정한 크기 변경의 고정면 — `state.scaleAnchor` = { x, y, z } 각 -1 | 0 | 1 (부호는
14
+ * `_computeAnchorSign` 과 같다: +1 은 낮은 쪽 edge 고정, -1 은 높은 쪽, 0 은 가운데). 있으면 잡은 손잡이의 부호
15
+ * 대신 이것을 쓴다. 놓았을 때 모델이 정하는 면과 끄는 동안 보이는 면이 달라 튀던 것을 막는다 — figure 부품은
16
+ * 도형의 배치(바닥·천장·벽·중심)나 붙임이 지키는 면을 여기에 적는다(ADR-0097, 설계자 2026-09-27).
17
+ * 축은 3D 축이다: x 는 width, y 는 depth(위아래), z 는 height.
18
+ */
19
+ export declare function scaleAnchorOf(state: Record<string, unknown>): {
20
+ x: number;
21
+ y: number;
22
+ z: number;
23
+ } | undefined;
12
24
  /**
13
25
  * 기즈모 드래그 시작/진행/종료, Alt+Drag 복제, 멀티셀렉트 오프셋 계산을 관리한다.
14
26
  *
@@ -1 +1 @@
1
- {"version":3,"file":"gizmo-operation-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/gizmo-operation-manager.ts"],"names":[],"mappings":"AAaA,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,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,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,gBAAgB,CAAC,CAAqC;IAE9D,OAAO,CAAC,wBAAwB,CAAC,CAAe;IAGhD,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,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,kBAAkB,CAAC,CAAe;IAE1C;;;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;IAuCP,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,wBAAwB;IA2ChC,OAAO,CAAC,oBAAoB;IAiB5B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,UAAU;IA4ElB;;OAEG;IACH;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,cAAc;IA6DtB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAmC/B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,8BAA8B;IA4BtC,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,kBAAkB;IA2C1B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,gBAAgB;CAMzB"}
1
+ {"version":3,"file":"gizmo-operation-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/gizmo-operation-manager.ts"],"names":[],"mappings":"AAaA,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,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,UAAU,IAAI,IAAI,CAAA;CACnB;AAOD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAK7G;AASD;;;;;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,gBAAgB,CAAC,CAAqC;IAE9D,OAAO,CAAC,wBAAwB,CAAC,CAAe;IAGhD,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,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,kBAAkB,CAAC,CAAe;IAE1C;;;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;IAuCP,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,wBAAwB;IA2ChC,OAAO,CAAC,oBAAoB;IAiB5B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,UAAU;IA4ElB;;OAEG;IACH;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,cAAc;IA6DtB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAmC/B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,8BAA8B;IA4BtC,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,kBAAkB;IA2C1B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,gBAAgB;CAMzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hatiolab/things-scene",
3
- "version": "10.1.61",
3
+ "version": "10.1.63",
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",
@@ -45,7 +45,7 @@
45
45
  ],
46
46
  "scripts": {
47
47
  "test": "mocha --exit --require should --require ./test/setup.js --node-option import=tsx test/**/test-*.js",
48
- "test:figure": "TSX_TSCONFIG_PATH=./test/tsconfig.figure-model-src.json mocha --exit --require should --require ./test/setup.js --node-option import=./test/resolve-figure-model.mjs test/figure-rig.check.js",
48
+ "test:figure": "TSX_TSCONFIG_PATH=./test/tsconfig.figure-model-src.json mocha --exit --require should --require ./test/setup.js --node-option import=./test/resolve-figure-model.mjs test/figure-*.check.js",
49
49
  "test:case": "mocha --require should --require ./test/setup.js --node-option import=tsx",
50
50
  "clean": "rimraf dist-types things-scene*.js *.js.map",
51
51
  "build": "yarn clean && yarn build:types && yarn build:rollup:prod",
@@ -91,7 +91,7 @@
91
91
  },
92
92
  "homepage": "https://github.com/hatiolab/things-scene#readme",
93
93
  "dependencies": {
94
- "@hatiolab/figure-model": "^0.1.93",
94
+ "@hatiolab/figure-model": "^0.2.0",
95
95
  "@wizpanda/super-gif": "^0.0.6",
96
96
  "dompurify": "^3.3.1",
97
97
  "jsonata": "^1.8.6",