@flighthq/skeleton3d 0.5.1-next.815.cc08b93 → 0.5.1-next.903.f434bc2
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/README.md +2 -2
- package/dist/skeleton3d.d.ts +2 -1
- package/dist/skeleton3d.d.ts.map +1 -1
- package/dist/skeleton3d.js +15 -22
- package/dist/skeleton3d.js.map +1 -1
- package/package.json +7 -7
- package/src/getMeshSkinBounds.test.ts +7 -7
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/skeleton3d`. The `@f
|
|
|
13
13
|
This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
|
|
14
14
|
|
|
15
15
|
- [Flight project](https://github.com/flighthq/flight)
|
|
16
|
-
- [Source for @flighthq/skeleton3d@0.5.1-next.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/skeleton3d@0.5.1-next.903.f434bc2](https://github.com/flighthq/flight/tree/f434bc233778d75aeea61995df3a8cfaec459a85/packages/skeleton3d)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/f434bc233778d75aeea61995df3a8cfaec459a85/LICENSE.md)
|
package/dist/skeleton3d.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Matrix4Like, Node3D, Skeleton3D, Skeleton3DValidationDiagnostic } from '@flighthq/types/contract';
|
|
1
|
+
import type { EntityConstruction, Matrix4Like, Node3D, Skeleton3D, Skeleton3DValidationDiagnostic } from '@flighthq/types/contract';
|
|
2
2
|
export declare function cloneSkeleton3D(skeleton: Readonly<Skeleton3D>): Skeleton3D;
|
|
3
3
|
export declare function cloneSkeleton3DJointHierarchy(skeleton: Readonly<Skeleton3D>, cloneJoint: (joint: Readonly<Node3D>, jointIndex: number) => Node3D): Skeleton3D;
|
|
4
4
|
export declare function computeSkeleton3DJointMatrices(skeleton: Readonly<Skeleton3D>): void;
|
|
@@ -8,6 +8,7 @@ export declare function equalsSkeleton3D(a: Readonly<Skeleton3D>, b: Readonly<Sk
|
|
|
8
8
|
export declare function getSkeleton3DJointIndexByName(skeleton: Readonly<Skeleton3D>, name: string): number;
|
|
9
9
|
export declare function getSkeleton3DJointWorldMatrix(out: Matrix4Like, skeleton: Readonly<Skeleton3D>, jointIndex: number): boolean;
|
|
10
10
|
export declare function getSkeleton3DJointWorldMatrixByName(out: Matrix4Like, skeleton: Readonly<Skeleton3D>, name: string): boolean;
|
|
11
|
+
export declare function initializeSkeleton3D(out: EntityConstruction<Skeleton3D>, inverseBindMatrices: Float32Array, jointMatrices: Float32Array, joints: Node3D[], names: Skeleton3D['names'], normalMatrices: Float32Array): void;
|
|
11
12
|
export declare function setSkeleton3DBindPose(skeleton: Readonly<Skeleton3D>): void;
|
|
12
13
|
export declare function setSkeleton3DBindPoseGuard(guard: ((skeleton: Readonly<Skeleton3D>, jointIndex: number) => void) | null): void;
|
|
13
14
|
export declare function validateSkeleton3D(skeleton: Readonly<Skeleton3D>): Skeleton3DValidationDiagnostic | null;
|
package/dist/skeleton3d.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton3d.d.ts","sourceRoot":"","sources":["../src/skeleton3d.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"skeleton3d.d.ts","sourceRoot":"","sources":["../src/skeleton3d.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,MAAM,EACN,UAAU,EACV,8BAA8B,EAC/B,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,CAW1E;AAOD,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC9B,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,GAClE,UAAU,CA0BZ;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAqBnF;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EAAE,EAChB,mBAAmB,CAAC,EAAE,YAAY,EAClC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAC/B,UAAU,CAaZ;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI,CAG5D;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,OAAO,CAe1F;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAIlG;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC9B,UAAU,EAAE,MAAM,GACjB,OAAO,CAKT;AAED,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC9B,IAAI,EAAE,MAAM,GACX,OAAO,CAET;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,kBAAkB,CAAC,UAAU,CAAC,EACnC,mBAAmB,EAAE,YAAY,EACjC,aAAa,EAAE,YAAY,EAC3B,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,EAC1B,cAAc,EAAE,YAAY,GAC3B,IAAI,CAMN;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAmB1E;AAKD,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,GAC3E,IAAI,CAEN;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,8BAA8B,GAAG,IAAI,CAWxG"}
|
package/dist/skeleton3d.js
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
2
|
import { copyMatrix4, createMatrix3, createMatrix4, inverseMatrix4, multiplyMatrix4, setMatrix3NormalFromMatrix4, setMatrix4Identity, } from '@flighthq/geometry/contract';
|
|
3
3
|
import { addNodeChild, getNodeParent, getNodeWorldMatrix4 } from '@flighthq/node/contract';
|
|
4
4
|
export function cloneSkeleton3D(skeleton) {
|
|
5
|
-
const clone =
|
|
6
|
-
|
|
7
|
-
jointMatrices: new Float32Array(skeleton.jointMatrices),
|
|
8
|
-
joints: skeleton.joints.slice(),
|
|
9
|
-
names: skeleton.names === undefined ? undefined : skeleton.names === null ? null : skeleton.names.slice(),
|
|
10
|
-
normalMatrices: new Float32Array(skeleton.normalMatrices),
|
|
11
|
-
});
|
|
5
|
+
const clone = allocateEntity();
|
|
6
|
+
initializeSkeleton3D(clone, new Float32Array(skeleton.inverseBindMatrices), new Float32Array(skeleton.jointMatrices), skeleton.joints.slice(), skeleton.names === undefined ? undefined : skeleton.names === null ? null : skeleton.names.slice(), new Float32Array(skeleton.normalMatrices));
|
|
12
7
|
return clone;
|
|
13
8
|
}
|
|
14
9
|
// Clones a skeleton and its joint-to-joint hierarchy without assuming that every Node3D kind is
|
|
@@ -34,13 +29,9 @@ export function cloneSkeleton3DJointHierarchy(skeleton, cloneJoint) {
|
|
|
34
29
|
if (parentClone !== undefined)
|
|
35
30
|
addNodeChild(parentClone, joints[i]);
|
|
36
31
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
joints,
|
|
41
|
-
names: skeleton.names === undefined ? undefined : skeleton.names === null ? null : skeleton.names.slice(),
|
|
42
|
-
normalMatrices: new Float32Array(skeleton.normalMatrices),
|
|
43
|
-
});
|
|
32
|
+
const out = allocateEntity();
|
|
33
|
+
initializeSkeleton3D(out, new Float32Array(skeleton.inverseBindMatrices), new Float32Array(skeleton.jointMatrices), joints, skeleton.names === undefined ? undefined : skeleton.names === null ? null : skeleton.names.slice(), new Float32Array(skeleton.normalMatrices));
|
|
34
|
+
return finishEntity(out);
|
|
44
35
|
}
|
|
45
36
|
export function computeSkeleton3DJointMatrices(skeleton) {
|
|
46
37
|
const { inverseBindMatrices, jointMatrices, joints, normalMatrices } = skeleton;
|
|
@@ -67,13 +58,8 @@ export function computeSkeleton3DJointMatrices(skeleton) {
|
|
|
67
58
|
}
|
|
68
59
|
export function createSkeleton3D(joints, inverseBindMatrices, names) {
|
|
69
60
|
const count = joints.length;
|
|
70
|
-
const skeleton =
|
|
71
|
-
|
|
72
|
-
jointMatrices: new Float32Array(count * 16),
|
|
73
|
-
joints,
|
|
74
|
-
names: names ?? null,
|
|
75
|
-
normalMatrices: new Float32Array(count * 12),
|
|
76
|
-
});
|
|
61
|
+
const skeleton = allocateEntity();
|
|
62
|
+
initializeSkeleton3D(skeleton, inverseBindMatrices ?? new Float32Array(count * 16), new Float32Array(count * 16), joints, names ?? null, new Float32Array(count * 12));
|
|
77
63
|
if (inverseBindMatrices === undefined)
|
|
78
64
|
setSkeleton3DBindPose(skeleton);
|
|
79
65
|
return skeleton;
|
|
@@ -121,6 +107,13 @@ export function getSkeleton3DJointWorldMatrix(out, skeleton, jointIndex) {
|
|
|
121
107
|
export function getSkeleton3DJointWorldMatrixByName(out, skeleton, name) {
|
|
122
108
|
return getSkeleton3DJointWorldMatrix(out, skeleton, getSkeleton3DJointIndexByName(skeleton, name));
|
|
123
109
|
}
|
|
110
|
+
export function initializeSkeleton3D(out, inverseBindMatrices, jointMatrices, joints, names, normalMatrices) {
|
|
111
|
+
out.inverseBindMatrices = inverseBindMatrices;
|
|
112
|
+
out.jointMatrices = jointMatrices;
|
|
113
|
+
out.joints = joints;
|
|
114
|
+
out.names = names;
|
|
115
|
+
out.normalMatrices = normalMatrices;
|
|
116
|
+
}
|
|
124
117
|
export function setSkeleton3DBindPose(skeleton) {
|
|
125
118
|
const { inverseBindMatrices, joints } = skeleton;
|
|
126
119
|
for (let j = 0; j < joints.length; j++) {
|
package/dist/skeleton3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton3d.js","sourceRoot":"","sources":["../src/skeleton3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"skeleton3d.js","sourceRoot":"","sources":["../src/skeleton3d.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/skeleton3d",
|
|
3
|
-
"version": "0.5.1-next.
|
|
3
|
+
"version": "0.5.1-next.903.f434bc2",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,12 +38,12 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/entity": "0.5.1-next.
|
|
42
|
-
"@flighthq/geometry": "0.5.1-next.
|
|
43
|
-
"@flighthq/log": "0.5.1-next.
|
|
44
|
-
"@flighthq/mesh": "0.5.1-next.
|
|
45
|
-
"@flighthq/node": "0.5.1-next.
|
|
46
|
-
"@flighthq/types": "0.5.1-next.
|
|
41
|
+
"@flighthq/entity": "0.5.1-next.903.f434bc2",
|
|
42
|
+
"@flighthq/geometry": "0.5.1-next.903.f434bc2",
|
|
43
|
+
"@flighthq/log": "0.5.1-next.903.f434bc2",
|
|
44
|
+
"@flighthq/mesh": "0.5.1-next.903.f434bc2",
|
|
45
|
+
"@flighthq/node": "0.5.1-next.903.f434bc2",
|
|
46
|
+
"@flighthq/types": "0.5.1-next.903.f434bc2"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@flighthq/scene3d": "*",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
2
|
import { createAabb } from '@flighthq/geometry/contract';
|
|
3
3
|
import type { MeshSkinBindPose, Skeleton3D } from '@flighthq/types/contract';
|
|
4
4
|
|
|
@@ -47,12 +47,12 @@ function bindPoseFor(positions: number[], jointIndices: number[]): MeshSkinBindP
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
function skeletonFor(palette: number[]): Skeleton3D {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
50
|
+
const out = allocateEntity<any>();
|
|
51
|
+
out.inverseBindMatrices = new Float32Array(palette.length);
|
|
52
|
+
out.jointMatrices = new Float32Array(palette);
|
|
53
|
+
out.normalMatrices = new Float32Array(0);
|
|
54
|
+
out.joints = [];
|
|
55
|
+
return finishEntity(out);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
describe('getMeshSkinConservativeBounds', () => {
|