@hatiolab/things-scene 10.1.27 → 10.1.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-types/figure/figure-capability.d.ts +6 -1
- package/dist-types/figure/figure-capability.d.ts.map +1 -1
- package/dist-types/figure/v3/figure-v3-real-object.d.ts +16 -0
- package/dist-types/figure/v3/figure-v3-real-object.d.ts.map +1 -1
- package/dist-types/figure/v3/figure-v3-rig.d.ts +9 -0
- package/dist-types/figure/v3/figure-v3-rig.d.ts.map +1 -1
- package/package.json +2 -2
- package/things-scene-min.js +11 -11
- package/things-scene-min.js.map +1 -1
- package/things-scene-transfer.mjs +3 -3
- package/things-scene.mjs +3 -3
- package/things-scene.mjs.map +1 -1
- package/CHANGELOG.md +0 -2331
|
@@ -27,7 +27,7 @@ import type { SlotDef } from '../transfer/types.js';
|
|
|
27
27
|
import type { Port } from '../flow/flow-node.js';
|
|
28
28
|
import type { FigureBlueprintAnchor } from './figure-blueprint.js';
|
|
29
29
|
import { type InstanceScale } from './figure-sizing.js';
|
|
30
|
-
import type { FigureCapability } from '@hatiolab/figure-model';
|
|
30
|
+
import type { FigureCapability, V3BindingDeclaration } from '@hatiolab/figure-model';
|
|
31
31
|
type Ctor<T = object> = new (...args: any[]) => T;
|
|
32
32
|
/**
|
|
33
33
|
* 저작이 고를 수 있는 능력 — **목록은 형식이 갖는다.**
|
|
@@ -65,6 +65,11 @@ export declare function slotsFromAnchors(anchors: readonly FigureBlueprintAnchor
|
|
|
65
65
|
y: number;
|
|
66
66
|
z: number;
|
|
67
67
|
}): SlotDef[];
|
|
68
|
+
/**
|
|
69
|
+
* A V3 figure's places (`capabilities.bindings`, a seat or a grip) as the scene's `SlotDef`. What a place takes is
|
|
70
|
+
* always named in V3, so `allowedTypes` is always written; how many it holds is its capacity.
|
|
71
|
+
*/
|
|
72
|
+
export declare function slotsFromBindings(bindings: readonly V3BindingDeclaration[]): SlotDef[];
|
|
68
73
|
/**
|
|
69
74
|
* 청사진의 문을 씬의 `Port` 로. 자리와 달리 위치가 곧 뜻이므로 그대로 옮긴다.
|
|
70
75
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figure-capability.d.ts","sourceRoot":"","sources":["../../src/figure/figure-capability.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAKlD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"figure-capability.d.ts","sourceRoot":"","sources":["../../src/figure/figure-capability.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAKlD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAGpF,KAAK,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAEjD;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,+DAAqB,CAAA;AAErD,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAA;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAM7G,CAAA;AAEJ,gDAAgD;AAChD,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAKjF,CAAA;AA4BF;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,qBAAqB,EAAE,EACzC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,OAAO,EAAE,CAaX;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAEtF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,qBAAqB,EAAE,EACzC,IAAI,EAAE,SAAS,GAAG,UAAU,EAC5B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GACzF,IAAI,EAAE,CAIR;AAkFD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,GAAE,SAAS,MAAM,EAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAqC/G;AA4DD,2BAA2B;AAC3B,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
|
|
@@ -36,6 +36,22 @@ export declare class FigureV3RealObject extends RealObject<THREE.Group> {
|
|
|
36
36
|
*/
|
|
37
37
|
tick(dt: number): void;
|
|
38
38
|
private advance;
|
|
39
|
+
/**
|
|
40
|
+
* Where a thing held at one place hangs (ADR-0087; the V2 counterpart is `anchorAttachment`): the place's node, and
|
|
41
|
+
* the offset that sets the thing against the place's face from outside, centred on it -- a box on a seat rests on
|
|
42
|
+
* the face, a workpiece in a grip sits just past the gripper, not half inside it. The thing's size is its state:
|
|
43
|
+
* width along x, depth along y (up), height along z.
|
|
44
|
+
*/
|
|
45
|
+
placeAttachment(id: string, carrier?: {
|
|
46
|
+
state?: Record<string, unknown>;
|
|
47
|
+
}): {
|
|
48
|
+
attach: THREE.Object3D;
|
|
49
|
+
localPosition: {
|
|
50
|
+
x: number;
|
|
51
|
+
y: number;
|
|
52
|
+
z: number;
|
|
53
|
+
};
|
|
54
|
+
} | undefined;
|
|
39
55
|
clear(): THREE.Group;
|
|
40
56
|
}
|
|
41
57
|
//# sourceMappingURL=figure-v3-real-object.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figure-v3-real-object.d.ts","sourceRoot":"","sources":["../../../src/figure/v3/figure-v3-real-object.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"figure-v3-real-object.d.ts","sourceRoot":"","sources":["../../../src/figure/v3/figure-v3-real-object.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAG3D,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAG9E,qBAAa,kBAAmB,SAAQ,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;IAC7D,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,WAAW,CAAC,CAAa;IAEjC,IAAI,MAAM,IAAI,kBAAkB,GAAG,IAAI,CAEtC;cAEkB,mBAAmB,IAAI,KAAK,CAAC,KAAK;IAI5C,KAAK,IAAI,IAAI;IAYtB,kGAAkG;IAClG,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGvC;IAED,oGAAoG;IACpG,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGvC;IAED,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAM9D,oHAAoH;IACpH,YAAY,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAO1D,IAAa,cAAc,IAAI,MAAM,CASpC;IAEQ,eAAe,IAAI,IAAI;IAMhC,0HAA0H;IAC1H,gBAAgB,IAAI,IAAI;IAMxB,oHAAoH;IACpH,WAAW,IAAI,IAAI;IAMnB,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,YAAY;IAUpB;;;;OAIG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAgBtB,OAAO,CAAC,OAAO;IAIf;;;;;OAKG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;QAAC,aAAa,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,SAAS;IAa7J,KAAK,IAAI,KAAK,CAAC,KAAK;CAO9B"}
|
|
@@ -17,6 +17,8 @@ export declare class FigureV3Rig {
|
|
|
17
17
|
readonly group: THREE.Group<THREE.Object3DEventMap>;
|
|
18
18
|
readonly compiled: CompiledV3;
|
|
19
19
|
private readonly meshes;
|
|
20
|
+
/** One node per place a thing is held (a seat or a grip), made when something first hangs from it. */
|
|
21
|
+
private readonly places;
|
|
20
22
|
private size;
|
|
21
23
|
/** External control sources, kept apart from what drivers compute: a connector's values, never a driver's. */
|
|
22
24
|
private external;
|
|
@@ -53,6 +55,13 @@ export declare class FigureV3Rig {
|
|
|
53
55
|
get externalState(): Record<string, number>;
|
|
54
56
|
/** Evaluate at the current size, state and time, and bring the meshes up to date. */
|
|
55
57
|
update(): V3AssetEvaluation;
|
|
58
|
+
/**
|
|
59
|
+
* The node a held thing hangs from at one place (`capabilities.bindings`). It is a child of the group that every
|
|
60
|
+
* update moves to the place's pose, so what hangs from it follows the part it sits on -- through the joints too --
|
|
61
|
+
* with no second account of the motion. Null when the asset declares no place by that id.
|
|
62
|
+
*/
|
|
63
|
+
placeNode(id: string): THREE.Object3D | null;
|
|
64
|
+
private static pose;
|
|
56
65
|
/**
|
|
57
66
|
* The evaluation only, without touching meshes. The document is compiled once per content and kernel; the
|
|
58
67
|
* instance's size and state are inputs to the evaluation, never a reason to compile again.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figure-v3-rig.d.ts","sourceRoot":"","sources":["../../../src/figure/v3/figure-v3-rig.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAEtB,KAAK,QAAQ,EACd,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAG5E,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,qBAAa,WAAW;IACtB,QAAQ,CAAC,KAAK,sCAAoB;IAClC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAA;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,IAAI,CAAwB;IACpC,8GAA8G;IAC9G,OAAO,CAAC,QAAQ,CAA6B;IAC7C,2GAA2G;IAC3G,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,KAAK,CAAwB;IACrC,gFAAgF;IAChF,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAO;gBAEzB,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,kBAAuB;IAM5D,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,+GAA+G;IAC/G,IAAI,IAAI,IAAI,QAAQ,GAAG,IAAI,CAM1B;IAED,kEAAkE;IAClE,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAIpC,qGAAqG;IACrG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAI9C,qHAAqH;IACrH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM;IAIvC,+CAA+C;IAC/C,IAAI,KAAK,IAAI,MAAM,EAAE,CAEpB;IAED,6FAA6F;IAC7F,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIhD,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI9B,qEAAqE;IACrE,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI9B;;;;OAIG;IACH,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAYxC,6FAA6F;IAC7F,IAAI,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE1C;IAED,qFAAqF;IACrF,MAAM,IAAI,iBAAiB;
|
|
1
|
+
{"version":3,"file":"figure-v3-rig.d.ts","sourceRoot":"","sources":["../../../src/figure/v3/figure-v3-rig.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAEtB,KAAK,QAAQ,EACd,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAG5E,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,qBAAa,WAAW;IACtB,QAAQ,CAAC,KAAK,sCAAoB;IAClC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAA;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,sGAAsG;IACtG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,IAAI,CAAwB;IACpC,8GAA8G;IAC9G,OAAO,CAAC,QAAQ,CAA6B;IAC7C,2GAA2G;IAC3G,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,KAAK,CAAwB;IACrC,gFAAgF;IAChF,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAO;gBAEzB,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,kBAAuB;IAM5D,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,+GAA+G;IAC/G,IAAI,IAAI,IAAI,QAAQ,GAAG,IAAI,CAM1B;IAED,kEAAkE;IAClE,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAIpC,qGAAqG;IACrG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAI9C,qHAAqH;IACrH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM;IAIvC,+CAA+C;IAC/C,IAAI,KAAK,IAAI,MAAM,EAAE,CAEpB;IAED,6FAA6F;IAC7F,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIhD,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI9B,qEAAqE;IACrE,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI9B;;;;OAIG;IACH,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAYxC,6FAA6F;IAC7F,IAAI,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE1C;IAED,qFAAqF;IACrF,MAAM,IAAI,iBAAiB;IA6C3B;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI;IAc5C,OAAO,CAAC,MAAM,CAAC,IAAI;IAOnB;;;OAGG;IACH,QAAQ,IAAI,iBAAiB;IAmB7B,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,WAAW;IAqBnB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC,IAAI,GAAG,SAAS;IAI1C,wGAAwG;IACxG,QAAQ,IAAI,MAAM,EAAE;IAIpB,OAAO,IAAI,IAAI;CAShB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hatiolab/things-scene",
|
|
3
|
-
"version": "10.1.
|
|
3
|
+
"version": "10.1.28",
|
|
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",
|
|
@@ -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.
|
|
94
|
+
"@hatiolab/figure-model": "^0.1.48",
|
|
95
95
|
"@wizpanda/super-gif": "^0.0.6",
|
|
96
96
|
"dompurify": "^3.3.1",
|
|
97
97
|
"jsonata": "^1.8.6",
|