@flighthq/scene3d 0.5.0-next.1944.cd6b6e7 → 0.5.1-edge.638.d4dbd4e
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/mesh.d.ts +1 -1
- package/dist/mesh.d.ts.map +1 -1
- package/dist/mesh.js +1 -2
- package/dist/mesh.js.map +1 -1
- package/dist/sceneDocument.d.ts.map +1 -1
- package/dist/sceneDocument.js +15 -3
- package/dist/sceneDocument.js.map +1 -1
- package/package.json +11 -11
- package/src/mesh.test.ts +27 -3
- package/src/sceneDocument.test.ts +19 -1
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/scene3d`. The `@flig
|
|
|
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/scene3d@0.5.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/scene3d@0.5.1-edge.638.d4dbd4e](https://github.com/flighthq/flight/tree/d4dbd4e347dc8be10b180c85a766ab50333dcb51/packages/scene3d)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/d4dbd4e347dc8be10b180c85a766ab50333dcb51/LICENSE.md)
|
package/dist/mesh.d.ts
CHANGED
|
@@ -6,5 +6,5 @@ export declare function enableMeshSignals(source: Mesh): NodeSignals;
|
|
|
6
6
|
export declare function getMeshDeformer(source: Readonly<Mesh>): MeshDeformer;
|
|
7
7
|
export declare function getMeshRuntime(source: Readonly<Mesh>): MeshRuntime;
|
|
8
8
|
export declare function getMeshSignals(source: Mesh): NodeSignals | null;
|
|
9
|
-
export declare function isMesh(source:
|
|
9
|
+
export declare function isMesh(source: unknown): source is Mesh;
|
|
10
10
|
//# sourceMappingURL=mesh.d.ts.map
|
package/dist/mesh.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh.d.ts","sourceRoot":"","sources":["../src/mesh.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAYpD,wBAAgB,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAgBtD;AAOD,wBAAgB,UAAU,CACxB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,EAC9B,IAAI,GAAE,IAAe,EACrB,GAAG,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GACtD,IAAI,CAKN;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,GAAG,WAAW,CAE3D;AAQD,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAIpE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAElE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,GAAG,WAAW,GAAG,IAAI,CAE/D;AAKD,wBAAgB,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"mesh.d.ts","sourceRoot":"","sources":["../src/mesh.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAYpD,wBAAgB,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAgBtD;AAOD,wBAAgB,UAAU,CACxB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,EAC9B,IAAI,GAAE,IAAe,EACrB,GAAG,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GACtD,IAAI,CAKN;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,GAAG,WAAW,CAE3D;AAQD,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAIpE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAElE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,GAAG,WAAW,GAAG,IAAI,CAE/D;AAKD,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,IAAI,CAEtD"}
|
package/dist/mesh.js
CHANGED
|
@@ -69,7 +69,6 @@ export function getMeshSignals(source) {
|
|
|
69
69
|
// Robust across custom kinds (a Mesh need not use MeshKind), so the scene render pass discriminates
|
|
70
70
|
// by this rather than by kind symbol.
|
|
71
71
|
export function isMesh(source) {
|
|
72
|
-
|
|
73
|
-
return source.geometry != null;
|
|
72
|
+
return source != null && typeof source === 'object' && source.geometry != null;
|
|
74
73
|
}
|
|
75
74
|
//# sourceMappingURL=mesh.js.map
|
package/dist/mesh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh.js","sourceRoot":"","sources":["../src/mesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAUjC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE/G,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,qGAAqG;AACrG,oGAAoG;AACpG,kGAAkG;AAClG,4FAA4F;AAC5F,mGAAmG;AACnG,8DAA8D;AAC9D,mGAAmG;AACnG,+FAA+F;AAC/F,kGAAkG;AAClG,qBAAqB;AACrB,MAAM,UAAU,SAAS,CAAC,MAAsB;IAC9C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;IACnE,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,+BAA+B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACrG,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE;QACxE,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,qGAAqG;IACrG,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClC,IAAI,0BAA0B,CAAC,MAAM,CAAC;QAAE,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChG,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAClD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,KAAK,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IACnG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gGAAgG;AAChG,+FAA+F;AAC/F,oGAAoG;AACpG,6FAA6F;AAC7F,kEAAkE;AAClE,MAAM,UAAU,UAAU,CACxB,QAAsB,EACtB,SAA8B,EAC9B,OAAa,QAAQ,EACrB,GAAuD;IAEvD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAS,CAAC;IAC7C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAY;IAC5C,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,qGAAqG;AACrG,qGAAqG;AACrG,oGAAoG;AACpG,qGAAqG;AACrG,wGAAwG;AACxG,oFAAoF;AACpF,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;QAAE,OAAO,oBAAoB,CAAC;IACrD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;QAAE,OAAO,iBAAiB,CAAC;IACnD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAsB;IACnD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAY;IACzC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,6FAA6F;AAC7F,oGAAoG;AACpG,sCAAsC;AACtC,MAAM,UAAU,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"mesh.js","sourceRoot":"","sources":["../src/mesh.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sceneDocument.d.ts","sourceRoot":"","sources":["../src/sceneDocument.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sceneDocument.d.ts","sourceRoot":"","sources":["../src/sceneDocument.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAKV,OAAO,EAEP,eAAe,EAIhB,MAAM,0BAA0B,CAAC;AAqBlC,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,UAAU,SAAI,GAAG,OAAO,CAatG;AAKD,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,OAAO,EAAE,CAmBzF"}
|
package/dist/sceneDocument.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { createAnimationChannel, createAnimationClip } from '@flighthq/animation/contract';
|
|
2
2
|
import { createEntity } from '@flighthq/entity/contract';
|
|
3
3
|
import { setQuaternion, setVector3 } from '@flighthq/geometry/contract';
|
|
4
|
+
import { createMaterial } from '@flighthq/materials/contract';
|
|
4
5
|
import { addNodeChild, invalidateNodeLocalTransform } from '@flighthq/node/contract';
|
|
6
|
+
import { EntityRuntimeKey } from '@flighthq/types/contract';
|
|
5
7
|
import { createMesh } from './mesh';
|
|
6
8
|
import { createScene3D } from './scene';
|
|
7
9
|
import { createNode3D } from './sceneNode';
|
|
@@ -139,9 +141,7 @@ function attachDocumentAnimations(document, nodes, scene) {
|
|
|
139
141
|
// document addresses everything by index.
|
|
140
142
|
function buildDocumentNodes(document) {
|
|
141
143
|
const meshes = document.meshes;
|
|
142
|
-
|
|
143
|
-
// entity-backed materials (createStandardPbrMaterial etc.); treat them as Material for assembly.
|
|
144
|
-
const materials = document.materials;
|
|
144
|
+
const materials = document.materials.map(materializeDocumentMaterial);
|
|
145
145
|
const nodes = document.nodes.map((node) => buildDocumentNode(node, meshes, materials));
|
|
146
146
|
for (let i = 0; i < document.nodes.length; i++) {
|
|
147
147
|
applyDocumentNodeTransform(nodes[i], document.nodes[i]);
|
|
@@ -154,6 +154,18 @@ function buildDocumentNodes(document) {
|
|
|
154
154
|
}
|
|
155
155
|
return nodes;
|
|
156
156
|
}
|
|
157
|
+
// A document accepts serializable MaterialLike literals, while a live Mesh requires Material entities.
|
|
158
|
+
// Preserve an entity supplied by an importer so material sharing and batching identity survive assembly;
|
|
159
|
+
// otherwise copy the structural fields onto the canonical material entity rather than installing the
|
|
160
|
+
// caller's plain document object into the live scene.
|
|
161
|
+
function materializeDocumentMaterial(source) {
|
|
162
|
+
if (isMaterialEntity(source))
|
|
163
|
+
return source;
|
|
164
|
+
return Object.assign(createMaterial(source.kind), source);
|
|
165
|
+
}
|
|
166
|
+
function isMaterialEntity(source) {
|
|
167
|
+
return EntityRuntimeKey in source;
|
|
168
|
+
}
|
|
157
169
|
// Builds a single node: a Mesh (with its inline geometry, resolved materials, and morph) when the node
|
|
158
170
|
// names a mesh index, or a bare transform-only Node3D otherwise.
|
|
159
171
|
function buildDocumentNode(node, meshes, materials) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sceneDocument.js","sourceRoot":"","sources":["../src/sceneDocument.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sceneDocument.js","sourceRoot":"","sources":["../src/sceneDocument.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/scene3d",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1-edge.638.d4dbd4e",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,16 +38,16 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/adjustments": "0.5.
|
|
42
|
-
"@flighthq/animation": "0.5.
|
|
43
|
-
"@flighthq/entity": "0.5.
|
|
44
|
-
"@flighthq/geometry": "0.5.
|
|
45
|
-
"@flighthq/lighting": "0.5.
|
|
46
|
-
"@flighthq/log": "0.5.
|
|
47
|
-
"@flighthq/materials": "0.5.
|
|
48
|
-
"@flighthq/mesh": "0.5.
|
|
49
|
-
"@flighthq/node": "0.5.
|
|
50
|
-
"@flighthq/types": "0.5.
|
|
41
|
+
"@flighthq/adjustments": "0.5.1-edge.638.d4dbd4e",
|
|
42
|
+
"@flighthq/animation": "0.5.1-edge.638.d4dbd4e",
|
|
43
|
+
"@flighthq/entity": "0.5.1-edge.638.d4dbd4e",
|
|
44
|
+
"@flighthq/geometry": "0.5.1-edge.638.d4dbd4e",
|
|
45
|
+
"@flighthq/lighting": "0.5.1-edge.638.d4dbd4e",
|
|
46
|
+
"@flighthq/log": "0.5.1-edge.638.d4dbd4e",
|
|
47
|
+
"@flighthq/materials": "0.5.1-edge.638.d4dbd4e",
|
|
48
|
+
"@flighthq/mesh": "0.5.1-edge.638.d4dbd4e",
|
|
49
|
+
"@flighthq/node": "0.5.1-edge.638.d4dbd4e",
|
|
50
|
+
"@flighthq/types": "0.5.1-edge.638.d4dbd4e"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@flighthq/camera": "*",
|
package/src/mesh.test.ts
CHANGED
|
@@ -236,12 +236,36 @@ describe('getMeshSignals', () => {
|
|
|
236
236
|
});
|
|
237
237
|
|
|
238
238
|
describe('isMesh', () => {
|
|
239
|
-
it('is
|
|
240
|
-
|
|
241
|
-
|
|
239
|
+
it('is false for null', () => {
|
|
240
|
+
expect(isMesh(null)).toBe(false);
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
it('is false for undefined', () => {
|
|
244
|
+
expect(isMesh(undefined)).toBe(false);
|
|
245
|
+
});
|
|
246
|
+
|
|
247
|
+
it('is false for a number', () => {
|
|
248
|
+
expect(isMesh(42)).toBe(false);
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
it('is false for a string', () => {
|
|
252
|
+
expect(isMesh('mesh')).toBe(false);
|
|
242
253
|
});
|
|
243
254
|
|
|
244
255
|
it('is false for a bare Node3D group', () => {
|
|
245
256
|
expect(isMesh(createNode3D())).toBe(false);
|
|
246
257
|
});
|
|
258
|
+
|
|
259
|
+
it('is false for an object with geometry set to null', () => {
|
|
260
|
+
expect(isMesh({ geometry: null })).toBe(false);
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
it('is false for an object with geometry set to undefined', () => {
|
|
264
|
+
expect(isMesh({ geometry: undefined })).toBe(false);
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
it('is true for a node created by createMesh', () => {
|
|
268
|
+
const mesh = createMesh(createBoxMeshGeometry(), []);
|
|
269
|
+
expect(isMesh(mesh)).toBe(true);
|
|
270
|
+
});
|
|
247
271
|
});
|
|
@@ -37,7 +37,7 @@ describe('createScene3DFromDocument', () => {
|
|
|
37
37
|
});
|
|
38
38
|
|
|
39
39
|
it('builds a mesh node from a document mesh, resolving materials by index', () => {
|
|
40
|
-
const material = createStandardPbrMaterial()
|
|
40
|
+
const material = createStandardPbrMaterial();
|
|
41
41
|
const document = emptyDocument();
|
|
42
42
|
document.materials = [material];
|
|
43
43
|
document.meshes = [{ geometry: triangleGeometry(), materials: [0] }];
|
|
@@ -51,6 +51,24 @@ describe('createScene3DFromDocument', () => {
|
|
|
51
51
|
expect((roots[0] as unknown as Mesh).materials[0]).toBe(material);
|
|
52
52
|
});
|
|
53
53
|
|
|
54
|
+
it('materializes a structural document material as a distinct entity-backed live material', () => {
|
|
55
|
+
const material: MaterialLike = { kind: 'test.StructuralMaterial', name: 'structural' };
|
|
56
|
+
expect(EntityRuntimeKey in material).toBe(false);
|
|
57
|
+
const document = emptyDocument();
|
|
58
|
+
document.materials = [material];
|
|
59
|
+
document.meshes = [{ geometry: triangleGeometry(), materials: [0] }];
|
|
60
|
+
document.nodes = [{ children: [], kind: MeshKind, mesh: 0, transform: createTransform3D() }];
|
|
61
|
+
document.scenes = [{ rootNodes: [0] }];
|
|
62
|
+
|
|
63
|
+
const scene = createScene3DFromDocument(document);
|
|
64
|
+
const mesh = getNodeChildren(scene.root)[0] as unknown as Mesh;
|
|
65
|
+
const liveMaterial = mesh.materials[0]!;
|
|
66
|
+
expect(liveMaterial).not.toBe(material);
|
|
67
|
+
expect(EntityRuntimeKey in liveMaterial).toBe(true);
|
|
68
|
+
expect(liveMaterial.kind).toBe(material.kind);
|
|
69
|
+
expect(liveMaterial.name).toBe(material.name);
|
|
70
|
+
});
|
|
71
|
+
|
|
54
72
|
it('wires child index lists into the built hierarchy', () => {
|
|
55
73
|
const document = emptyDocument();
|
|
56
74
|
const parent = createTransform3D();
|