@aura3d/assets 3.0.0 → 4.0.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.
- package/dist/AdvancedAssetCorpus.d.ts.map +1 -1
- package/dist/AdvancedAssetCorpus.js +7 -12
- package/dist/AdvancedAssetCorpus.js.map +1 -1
- package/dist/AssetDecoderRegistry.d.ts +56 -0
- package/dist/AssetDecoderRegistry.d.ts.map +1 -0
- package/dist/AssetDecoderRegistry.js +225 -0
- package/dist/AssetDecoderRegistry.js.map +1 -0
- package/dist/GLTFAnimationRuntime.d.ts +300 -6
- package/dist/GLTFAnimationRuntime.d.ts.map +1 -1
- package/dist/GLTFAnimationRuntime.js +981 -60
- package/dist/GLTFAnimationRuntime.js.map +1 -1
- package/dist/GLTFAssetParseCache.d.ts +24 -0
- package/dist/GLTFAssetParseCache.d.ts.map +1 -0
- package/dist/GLTFAssetParseCache.js +100 -0
- package/dist/GLTFAssetParseCache.js.map +1 -0
- package/dist/GLTFCompressionDecoders.d.ts +1 -0
- package/dist/GLTFCompressionDecoders.d.ts.map +1 -1
- package/dist/GLTFCompressionDecoders.js +20 -5
- package/dist/GLTFCompressionDecoders.js.map +1 -1
- package/dist/GLTFExtensionSupport.js +3 -3
- package/dist/GLTFExtensionSupport.js.map +1 -1
- package/dist/GLTFLoader.d.ts +28 -1
- package/dist/GLTFLoader.d.ts.map +1 -1
- package/dist/GLTFLoader.js +197 -30
- package/dist/GLTFLoader.js.map +1 -1
- package/dist/GLTFRenderResources.d.ts +77 -2
- package/dist/GLTFRenderResources.d.ts.map +1 -1
- package/dist/GLTFRenderResources.js +310 -153
- package/dist/GLTFRenderResources.js.map +1 -1
- package/dist/KTX2BasisTextureTranscoder.d.ts +70 -12
- package/dist/KTX2BasisTextureTranscoder.d.ts.map +1 -1
- package/dist/KTX2BasisTextureTranscoder.js +225 -184
- package/dist/KTX2BasisTextureTranscoder.js.map +1 -1
- package/dist/KTX2TargetSelection.d.ts +25 -0
- package/dist/KTX2TargetSelection.d.ts.map +1 -0
- package/dist/KTX2TargetSelection.js +36 -0
- package/dist/KTX2TargetSelection.js.map +1 -0
- package/dist/KTX2TranscodeDriver.d.ts +70 -0
- package/dist/KTX2TranscodeDriver.d.ts.map +1 -0
- package/dist/KTX2TranscodeDriver.js +104 -0
- package/dist/KTX2TranscodeDriver.js.map +1 -0
- package/dist/KTX2TranscodeWorker.d.ts +30 -0
- package/dist/KTX2TranscodeWorker.d.ts.map +1 -0
- package/dist/KTX2TranscodeWorker.js +230 -0
- package/dist/KTX2TranscodeWorker.js.map +1 -0
- package/dist/MikkTSpaceTangents.d.ts +43 -0
- package/dist/MikkTSpaceTangents.d.ts.map +1 -0
- package/dist/MikkTSpaceTangents.js +149 -0
- package/dist/MikkTSpaceTangents.js.map +1 -0
- package/dist/asset-corpus/ProductionAssetCorpus.d.ts.map +1 -1
- package/dist/asset-corpus/ProductionAssetCorpus.js +7 -13
- package/dist/asset-corpus/ProductionAssetCorpus.js.map +1 -1
- package/dist/asset-corpus/ProductionGLTFRenderPipeline.d.ts +43 -0
- package/dist/asset-corpus/ProductionGLTFRenderPipeline.d.ts.map +1 -1
- package/dist/asset-corpus/ProductionGLTFRenderPipeline.js +146 -22
- package/dist/asset-corpus/ProductionGLTFRenderPipeline.js.map +1 -1
- package/dist/assetPhaseMarks.d.ts +14 -0
- package/dist/assetPhaseMarks.d.ts.map +1 -0
- package/dist/assetPhaseMarks.js +23 -0
- package/dist/assetPhaseMarks.js.map +1 -0
- package/dist/browser-index.d.ts +5 -1
- package/dist/browser-index.d.ts.map +1 -1
- package/dist/browser-index.js +3 -1
- package/dist/browser-index.js.map +1 -1
- package/dist/contracts/decoders.d.ts +15 -0
- package/dist/contracts/decoders.d.ts.map +1 -0
- package/dist/contracts/decoders.js +8 -0
- package/dist/contracts/decoders.js.map +1 -0
- package/dist/decoderLoad.d.ts +28 -0
- package/dist/decoderLoad.d.ts.map +1 -0
- package/dist/decoderLoad.js +49 -0
- package/dist/decoderLoad.js.map +1 -0
- package/dist/gltf/ImageDecode.d.ts +18 -0
- package/dist/gltf/ImageDecode.d.ts.map +1 -0
- package/dist/gltf/ImageDecode.js +140 -0
- package/dist/gltf/ImageDecode.js.map +1 -0
- package/dist/gltf-runtime.d.ts +1 -1
- package/dist/gltf-runtime.d.ts.map +1 -1
- package/dist/gltf-runtime.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/lanes/index.d.ts +17 -0
- package/dist/lanes/index.d.ts.map +1 -0
- package/dist/lanes/index.js +17 -0
- package/dist/lanes/index.js.map +1 -0
- package/dist/lanes/prd01.d.ts +6 -0
- package/dist/lanes/prd01.d.ts.map +1 -0
- package/dist/lanes/prd01.js +6 -0
- package/dist/lanes/prd01.js.map +1 -0
- package/dist/lanes/prd02.d.ts +6 -0
- package/dist/lanes/prd02.d.ts.map +1 -0
- package/dist/lanes/prd02.js +6 -0
- package/dist/lanes/prd02.js.map +1 -0
- package/dist/lanes/prd03.d.ts +6 -0
- package/dist/lanes/prd03.d.ts.map +1 -0
- package/dist/lanes/prd03.js +6 -0
- package/dist/lanes/prd03.js.map +1 -0
- package/dist/lanes/prd04.d.ts +6 -0
- package/dist/lanes/prd04.d.ts.map +1 -0
- package/dist/lanes/prd04.js +6 -0
- package/dist/lanes/prd04.js.map +1 -0
- package/dist/lanes/prd05.d.ts +14 -0
- package/dist/lanes/prd05.d.ts.map +1 -0
- package/dist/lanes/prd05.js +14 -0
- package/dist/lanes/prd05.js.map +1 -0
- package/dist/lanes/prd06.d.ts +6 -0
- package/dist/lanes/prd06.d.ts.map +1 -0
- package/dist/lanes/prd06.js +6 -0
- package/dist/lanes/prd06.js.map +1 -0
- package/dist/lanes/prd07.d.ts +6 -0
- package/dist/lanes/prd07.d.ts.map +1 -0
- package/dist/lanes/prd07.js +6 -0
- package/dist/lanes/prd07.js.map +1 -0
- package/dist/lanes/prd08.d.ts +6 -0
- package/dist/lanes/prd08.d.ts.map +1 -0
- package/dist/lanes/prd08.js +6 -0
- package/dist/lanes/prd08.js.map +1 -0
- package/dist/lanes/prd09.d.ts +6 -0
- package/dist/lanes/prd09.d.ts.map +1 -0
- package/dist/lanes/prd09.js +6 -0
- package/dist/lanes/prd09.js.map +1 -0
- package/dist/lanes/prd10.d.ts +6 -0
- package/dist/lanes/prd10.d.ts.map +1 -0
- package/dist/lanes/prd10.js +6 -0
- package/dist/lanes/prd10.js.map +1 -0
- package/dist/lanes/prd11.d.ts +6 -0
- package/dist/lanes/prd11.d.ts.map +1 -0
- package/dist/lanes/prd11.js +6 -0
- package/dist/lanes/prd11.js.map +1 -0
- package/dist/lanes/prd12.d.ts +6 -0
- package/dist/lanes/prd12.d.ts.map +1 -0
- package/dist/lanes/prd12.js +6 -0
- package/dist/lanes/prd12.js.map +1 -0
- package/dist/lanes/prd13.d.ts +6 -0
- package/dist/lanes/prd13.d.ts.map +1 -0
- package/dist/lanes/prd13.js +6 -0
- package/dist/lanes/prd13.js.map +1 -0
- package/dist/lanes/prd14.d.ts +6 -0
- package/dist/lanes/prd14.d.ts.map +1 -0
- package/dist/lanes/prd14.js +6 -0
- package/dist/lanes/prd14.js.map +1 -0
- package/dist/lanes/prd15.d.ts +6 -0
- package/dist/lanes/prd15.d.ts.map +1 -0
- package/dist/lanes/prd15.js +6 -0
- package/dist/lanes/prd15.js.map +1 -0
- package/dist/vite/auraDecoders.d.ts +31 -0
- package/dist/vite/auraDecoders.d.ts.map +1 -0
- package/dist/vite/auraDecoders.js +89 -0
- package/dist/vite/auraDecoders.js.map +1 -0
- package/package.json +13 -5
- package/vendor/basis/README.md +25 -0
- package/vendor/basis/basis_transcoder.js +19 -0
- package/vendor/basis/basis_transcoder.wasm +0 -0
- package/vendor/draco/README.md +23 -0
- package/vendor/draco/draco_decoder.js +33 -0
- package/vendor/draco/draco_decoder.wasm +0 -0
- package/vendor/meshopt/README.md +21 -0
- package/vendor/meshopt/meshopt_decoder.cjs +199 -0
- package/vendor/meshopt/meshopt_decoder.mjs +196 -0
- package/vendor/meshopt_decoder.mjs +196 -0
|
@@ -9,13 +9,13 @@ export const GLTF_EXTENSION_SUPPORT_MATRIX = [
|
|
|
9
9
|
entry("KHR_meshopt_compression", "compression", "decoder-required", ["GLTFLoader", "createMeshoptDecoder"], ["Requires an injected meshoptimizer decoder module."], "meshopt"),
|
|
10
10
|
entry("EXT_mesh_gpu_instancing", "geometry", "runtime-supported", ["GLTFLoader", "Renderable.instanceTransforms", "ProductionWebGL2Renderer"], ["Supports TRS instance attributes; custom per-instance material attributes remain out of scope."]),
|
|
11
11
|
entry("KHR_lights_punctual", "scene", "runtime-supported", ["GLTFLoader", "Scene", "ProductionWebGL2Renderer"], []),
|
|
12
|
-
entry("KHR_materials_unlit", "material", "
|
|
13
|
-
entry("KHR_materials_emissive_strength", "material", "
|
|
12
|
+
entry("KHR_materials_unlit", "material", "parsed-with-limits", ["GLTFLoader", "UnlitMaterial"], []),
|
|
13
|
+
entry("KHR_materials_emissive_strength", "material", "parsed-with-limits", ["GLTFLoader", "TexturedPBRMaterial"], []),
|
|
14
14
|
entry("KHR_materials_clearcoat", "material", "parsed-with-limits", ["GLTFLoader", "TexturedPBRMaterial"], ["Clearcoat factors/textures are mapped; full reference BRDF parity still requires visual corpus acceptance."]),
|
|
15
15
|
entry("KHR_materials_transmission", "material", "parsed-with-limits", ["GLTFLoader", "TexturedPBRMaterial"], ["Transmission is mapped to the current WebGL2 fallback path; screen-space/refraction parity remains blocked."]),
|
|
16
16
|
entry("KHR_materials_diffuse_transmission", "material", "parsed-with-limits", ["GLTFLoader", "TexturedPBRMaterial"], ["Diffuse transmission factors/textures are mapped; full reference energy parity remains blocked."]),
|
|
17
17
|
entry("KHR_materials_volume", "material", "parsed-with-limits", ["GLTFLoader", "TexturedPBRMaterial"], ["Volume attenuation/thickness are mapped for fallback rendering, not full volumetric path tracing."]),
|
|
18
|
-
entry("KHR_materials_ior", "material", "
|
|
18
|
+
entry("KHR_materials_ior", "material", "parsed-with-limits", ["GLTFLoader", "TexturedPBRMaterial"], []),
|
|
19
19
|
entry("KHR_materials_specular", "material", "parsed-with-limits", ["GLTFLoader", "TexturedPBRMaterial"], ["Specular factors/textures are mapped; full reference BRDF parity still requires visual corpus acceptance."]),
|
|
20
20
|
entry("KHR_materials_sheen", "material", "parsed-with-limits", ["GLTFLoader", "TexturedPBRMaterial"], ["Sheen factors/textures are mapped; cloth reference parity remains blocked."]),
|
|
21
21
|
entry("KHR_materials_anisotropy", "material", "parsed-with-limits", ["GLTFLoader", "TexturedPBRMaterial"], ["Anisotropy factors/textures are mapped to the aspect-ratio anisotropic-GGX path (authored TBN); same-scene rotation response is browser-proven (tests/browser/anisotropic-rotation-q1.spec.ts, tests/reports/anisotropic-rotation-q1/aniso-rotation.json)."]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GLTFExtensionSupport.js","sourceRoot":"","sources":["../../../../packages/assets/src/GLTFExtensionSupport.ts"],"names":[],"mappings":"AAsCA,MAAM,CAAC,MAAM,6BAA6B,GAAyC;IACjF,KAAK,CAAC,kBAAkB,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;IAC7E,KAAK,CAAC,kBAAkB,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;IAC7E,KAAK,CAAC,oBAAoB,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC,YAAY,EAAE,2BAA2B,EAAE,2BAA2B,CAAC,EAAE,CAAC,qFAAqF,CAAC,EAAE,YAAY,CAAC;IAC/O,KAAK,CAAC,uBAAuB,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC,EAAE,EAAE,CAAC;IACzG,KAAK,CAAC,uBAAuB,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;IACnF,KAAK,CAAC,4BAA4B,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC,YAAY,EAAE,oBAAoB,CAAC,EAAE,CAAC,4CAA4C,CAAC,EAAE,OAAO,CAAC;IACrK,KAAK,CAAC,yBAAyB,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC,YAAY,EAAE,sBAAsB,CAAC,EAAE,CAAC,oDAAoD,CAAC,EAAE,SAAS,CAAC;IAC9K,KAAK,CAAC,yBAAyB,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC,YAAY,EAAE,sBAAsB,CAAC,EAAE,CAAC,oDAAoD,CAAC,EAAE,SAAS,CAAC;IAC9K,KAAK,CAAC,yBAAyB,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC,YAAY,EAAE,+BAA+B,EAAE,0BAA0B,CAAC,EAAE,CAAC,gGAAgG,CAAC,CAAC;IAClP,KAAK,CAAC,qBAAqB,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,0BAA0B,CAAC,EAAE,EAAE,CAAC;IACnH,KAAK,CAAC,qBAAqB,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"GLTFExtensionSupport.js","sourceRoot":"","sources":["../../../../packages/assets/src/GLTFExtensionSupport.ts"],"names":[],"mappings":"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"}
|
package/dist/GLTFLoader.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Scene } from "@aura3d/scene";
|
|
2
2
|
import { AnimationClip, Skeleton, type Mat4, type Quat, type SerializedAnimationClip, type SkinningPalette, type TrackValueType, type Vec3 } from "@aura3d/animation";
|
|
3
|
-
import type { AssetLoadRequest, AssetLoader } from "./AssetLoader.js";
|
|
3
|
+
import type { AssetLoadProgress, AssetLoadRequest, AssetLoader } from "./AssetLoader.js";
|
|
4
4
|
import { type GLTFExtensionSupportEvaluation } from "./GLTFExtensionSupport.js";
|
|
5
5
|
import type { LoadContext } from "./LoadContext.js";
|
|
6
6
|
type GLTFComponentType = 5120 | 5121 | 5122 | 5123 | 5125 | 5126;
|
|
@@ -92,7 +92,21 @@ interface GLTFNode {
|
|
|
92
92
|
readonly EXT_mesh_gpu_instancing?: {
|
|
93
93
|
readonly attributes: Readonly<Record<string, number>>;
|
|
94
94
|
};
|
|
95
|
+
readonly MSFT_lod?: {
|
|
96
|
+
readonly ids?: readonly number[];
|
|
97
|
+
};
|
|
95
98
|
};
|
|
99
|
+
/**
|
|
100
|
+
* PRD-05 §6.3.6 — parsed LOD chain (derived during `GLTFLoader.load`, not a
|
|
101
|
+
* JSON field): `extensions.MSFT_lod.ids` zipped with
|
|
102
|
+
* `extras.MSFT_screencoverage`. `lods[0]` is LOD1 — the holder node is LOD0.
|
|
103
|
+
*/
|
|
104
|
+
lods?: readonly {
|
|
105
|
+
readonly nodeIndex: number;
|
|
106
|
+
/** `nodes[nodeIndex].mesh`, resolved at parse time for runtime consumers. */
|
|
107
|
+
readonly meshIndex?: number;
|
|
108
|
+
readonly screenCoverage?: number;
|
|
109
|
+
}[];
|
|
96
110
|
}
|
|
97
111
|
interface GLTFMaterial {
|
|
98
112
|
readonly name?: string;
|
|
@@ -739,7 +753,20 @@ export interface GLTFAnimationPointerBinding {
|
|
|
739
753
|
readonly valueType: TrackValueType;
|
|
740
754
|
}
|
|
741
755
|
export declare function resolveAnimationPointerBinding(json: GLTFJson, pointer: string): GLTFAnimationPointerBinding | undefined;
|
|
756
|
+
export declare function fetchGltfBytesShared(url: string, phase: AssetLoadProgress["phase"], request: AssetLoadRequest, describeFailure: (status: number) => string): Promise<ArrayBuffer>;
|
|
742
757
|
export declare function gltfRuntimeMaterialKey(material: string, contract: GLTFRuntimeMaterialContract): string;
|
|
758
|
+
/**
|
|
759
|
+
* PRD-15 T6.10 (APPLIED BY LANE 15, owner 05): document-level GLB inspection shared by the
|
|
760
|
+
* asset-corpus readiness tools so the GLB header/chunk walk lives in exactly one place.
|
|
761
|
+
* Returns the parsed glTF JSON document plus the header fields the corpus reports.
|
|
762
|
+
*/
|
|
763
|
+
export interface GLBDocumentInspection {
|
|
764
|
+
readonly json: GLTFJson;
|
|
765
|
+
readonly version: number;
|
|
766
|
+
readonly jsonChunkBytes: number;
|
|
767
|
+
readonly byteLength: number;
|
|
768
|
+
}
|
|
769
|
+
export declare function parseGlbDocument(data: ArrayBuffer, url?: string): GLBDocumentInspection;
|
|
743
770
|
export declare function parseGLTFRuntimeMaterialKey(key: string): GLTFRuntimeMaterialKey;
|
|
744
771
|
export {};
|
|
745
772
|
//# sourceMappingURL=GLTFLoader.d.ts.map
|
package/dist/GLTFLoader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GLTFLoader.d.ts","sourceRoot":"","sources":["../../../../packages/assets/src/GLTFLoader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GLTFLoader.d.ts","sourceRoot":"","sources":["../../../../packages/assets/src/GLTFLoader.ts"],"names":[],"mappings":"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"}
|
package/dist/GLTFLoader.js
CHANGED
|
@@ -45,6 +45,7 @@ export class GLTFLoader {
|
|
|
45
45
|
const prepared = await prepareBufferViews(json, rawBuffers, this.options.meshoptDecoder);
|
|
46
46
|
const buffers = prepared.buffers;
|
|
47
47
|
json = prepared.json;
|
|
48
|
+
resolveMsftLods(json);
|
|
48
49
|
const accessorCache = createGLTFAccessorReadCache();
|
|
49
50
|
const meshQuantizationEnabled = usesGLTFExtension(json, "KHR_mesh_quantization");
|
|
50
51
|
const images = createImageAssets(json, buffers);
|
|
@@ -883,8 +884,7 @@ function createMaterialAssets(json, textures) {
|
|
|
883
884
|
normalTexture: withDefaultScale(resolveTextureInfo(textures, material.normalTexture, `material ${index} normalTexture`), material.normalTexture?.scale),
|
|
884
885
|
occlusionTexture: withDefaultStrength(resolveTextureInfo(textures, material.occlusionTexture, `material ${index} occlusionTexture`), material.occlusionTexture?.strength),
|
|
885
886
|
emissiveTexture: resolveTextureInfo(textures, material.emissiveTexture, `material ${index} emissiveTexture`),
|
|
886
|
-
|
|
887
|
-
emissiveStrength: resolveEmissiveStrength(material, index),
|
|
887
|
+
...resolveEmissive(material, index),
|
|
888
888
|
...(resolveClearcoat(material, textures, index)),
|
|
889
889
|
...(resolveTransmission(material, textures, index)),
|
|
890
890
|
...(resolveDiffuseTransmission(material, textures, pbrSpecularGlossiness, index)),
|
|
@@ -1188,12 +1188,57 @@ function resolveConeAngle(value, fallback, label, allowZero) {
|
|
|
1188
1188
|
}
|
|
1189
1189
|
return resolved;
|
|
1190
1190
|
}
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1191
|
+
const warnedGLTFMaterialRepairs = new Set();
|
|
1192
|
+
/** Warns once per distinct repair message (three.js GLTFLoader style: tolerate, don't throw). */
|
|
1193
|
+
function warnGLTFMaterialRepairOnce(message) {
|
|
1194
|
+
if (warnedGLTFMaterialRepairs.has(message) || warnedGLTFMaterialRepairs.size >= 256)
|
|
1195
|
+
return;
|
|
1196
|
+
warnedGLTFMaterialRepairs.add(message);
|
|
1197
|
+
if (typeof console === "undefined" || typeof console.warn !== "function")
|
|
1198
|
+
return;
|
|
1199
|
+
console.warn(message);
|
|
1200
|
+
}
|
|
1201
|
+
/**
|
|
1202
|
+
* Tolerant emissive resolve. three.js GLTFLoader accepts any emissiveFactor;
|
|
1203
|
+
* the spec range is [0, 1] with HDR emission carried by
|
|
1204
|
+
* KHR_materials_emissive_strength. Repairs, each warned once:
|
|
1205
|
+
* - missing/short/non-array factor or non-finite/negative channel -> 0;
|
|
1206
|
+
* - a channel above 1 -> the factor is normalized by its max channel and the
|
|
1207
|
+
* max is folded into emissiveStrength, so the emitted radiance is unchanged;
|
|
1208
|
+
* - non-finite/negative emissiveStrength -> 1.
|
|
1209
|
+
*/
|
|
1210
|
+
function resolveEmissive(material, materialIndex) {
|
|
1211
|
+
const label = `glTF material ${materialIndex} emissiveFactor`;
|
|
1212
|
+
const raw = material.emissiveFactor;
|
|
1213
|
+
let factor = [0, 0, 0];
|
|
1214
|
+
if (raw !== undefined) {
|
|
1215
|
+
if (!Array.isArray(raw) || raw.length !== 3) {
|
|
1216
|
+
warnGLTFMaterialRepairOnce(`${label} must contain three values; using [0, 0, 0]`);
|
|
1217
|
+
}
|
|
1218
|
+
else {
|
|
1219
|
+
let repaired = false;
|
|
1220
|
+
factor = raw.map((channel) => {
|
|
1221
|
+
if (typeof channel === "number" && Number.isFinite(channel) && channel >= 0)
|
|
1222
|
+
return channel;
|
|
1223
|
+
repaired = true;
|
|
1224
|
+
return 0;
|
|
1225
|
+
});
|
|
1226
|
+
if (repaired)
|
|
1227
|
+
warnGLTFMaterialRepairOnce(`${label} had non-finite or negative channels; replaced with 0`);
|
|
1228
|
+
}
|
|
1229
|
+
}
|
|
1230
|
+
let strength = material.extensions?.KHR_materials_emissive_strength?.emissiveStrength ?? 1;
|
|
1231
|
+
if (typeof strength !== "number" || !Number.isFinite(strength) || strength < 0) {
|
|
1232
|
+
warnGLTFMaterialRepairOnce(`glTF material ${materialIndex} KHR_materials_emissive_strength.emissiveStrength must be finite and non-negative; using 1`);
|
|
1233
|
+
strength = 1;
|
|
1195
1234
|
}
|
|
1196
|
-
|
|
1235
|
+
const peak = Math.max(factor[0], factor[1], factor[2]);
|
|
1236
|
+
if (peak > 1) {
|
|
1237
|
+
warnGLTFMaterialRepairOnce(`${label} exceeds [0, 1]; folded ${peak} into emissiveStrength (use KHR_materials_emissive_strength)`);
|
|
1238
|
+
factor = [factor[0] / peak, factor[1] / peak, factor[2] / peak];
|
|
1239
|
+
strength *= peak;
|
|
1240
|
+
}
|
|
1241
|
+
return { emissiveFactor: factor, emissiveStrength: strength };
|
|
1197
1242
|
}
|
|
1198
1243
|
function resolveClearcoat(material, textures, materialIndex) {
|
|
1199
1244
|
const extension = material.extensions?.KHR_materials_clearcoat;
|
|
@@ -1887,6 +1932,54 @@ function normalizeWeightAnimationOutput(times, output, interpolation, animationI
|
|
|
1887
1932
|
}
|
|
1888
1933
|
return grouped;
|
|
1889
1934
|
}
|
|
1935
|
+
// Concurrent loads of the same URL share one network fetch. Scenes
|
|
1936
|
+
// instantiate the same multi-MB prop GLB many times; without dedupe every
|
|
1937
|
+
// instance downloads it in parallel and Chromium aborts those same-key
|
|
1938
|
+
// cache writes with net::ERR_CACHE_WRITE_FAILURE over the network
|
|
1939
|
+
// (localhost loads finish too fast to collide). The first caller's signal
|
|
1940
|
+
// and progress drive the shared read; later callers parse their own copy
|
|
1941
|
+
// of the bytes and emit a synthetic complete progress event.
|
|
1942
|
+
// Kept on globalThis so duplicate module instances (bundled copies of
|
|
1943
|
+
// this loader) still share one in-flight fetch per URL instead of racing.
|
|
1944
|
+
const SHARED_IN_FLIGHT_KEY = "__aura3dInFlightByteFetches";
|
|
1945
|
+
const inFlightGltfFetches = (globalThis[SHARED_IN_FLIGHT_KEY] ??= new Map());
|
|
1946
|
+
export function fetchGltfBytesShared(url, phase, request, describeFailure) {
|
|
1947
|
+
const attempt = async (cache) => {
|
|
1948
|
+
const response = await fetch(url, { signal: request.signal, ...(cache ? { cache } : {}) });
|
|
1949
|
+
if (!response.ok) {
|
|
1950
|
+
const error = new Error(describeFailure(response.status));
|
|
1951
|
+
error.status = response.status;
|
|
1952
|
+
throw error;
|
|
1953
|
+
}
|
|
1954
|
+
return readResponseBytes(response, url, phase, request);
|
|
1955
|
+
};
|
|
1956
|
+
const pending = inFlightGltfFetches.get(url) ?? (async () => {
|
|
1957
|
+
try {
|
|
1958
|
+
return await attempt();
|
|
1959
|
+
}
|
|
1960
|
+
catch (error) {
|
|
1961
|
+
// HTTP failures are deterministic; network/cache failures (Chromium
|
|
1962
|
+
// ERR_CACHE_WRITE_FAILURE on multi-MB GLBs under disk-cache pressure)
|
|
1963
|
+
// get one retry that bypasses the HTTP cache entirely.
|
|
1964
|
+
if (request.signal?.aborted || error?.status !== undefined)
|
|
1965
|
+
throw error;
|
|
1966
|
+
return attempt("no-store");
|
|
1967
|
+
}
|
|
1968
|
+
})();
|
|
1969
|
+
if (!inFlightGltfFetches.has(url)) {
|
|
1970
|
+
inFlightGltfFetches.set(url, pending);
|
|
1971
|
+
const clear = () => {
|
|
1972
|
+
if (inFlightGltfFetches.get(url) === pending)
|
|
1973
|
+
inFlightGltfFetches.delete(url);
|
|
1974
|
+
};
|
|
1975
|
+
pending.then(clear, clear);
|
|
1976
|
+
return pending.then((bytes) => bytes.slice(0));
|
|
1977
|
+
}
|
|
1978
|
+
return pending.then((bytes) => {
|
|
1979
|
+
request.onProgress?.({ url, phase: "complete", loadedBytes: bytes.byteLength, totalBytes: bytes.byteLength });
|
|
1980
|
+
return bytes.slice(0);
|
|
1981
|
+
});
|
|
1982
|
+
}
|
|
1890
1983
|
async function loadDocument(request) {
|
|
1891
1984
|
const binary = request.url.startsWith("data:model/gltf-binary") || /\.glb(?:\?.*)?$/i.test(request.url);
|
|
1892
1985
|
if (request.url.startsWith("data:")) {
|
|
@@ -1895,20 +1988,16 @@ async function loadDocument(request) {
|
|
|
1895
1988
|
return parseGLB(data, request.url);
|
|
1896
1989
|
}
|
|
1897
1990
|
const text = new TextDecoder().decode(data);
|
|
1898
|
-
return { json: JSON.parse(text), url: request.url, byteLength: data.byteLength };
|
|
1991
|
+
return { json: JSON.parse(text), url: request.url, byteLength: data.byteLength, version: 0, jsonChunkBytes: 0 };
|
|
1899
1992
|
}
|
|
1900
1993
|
if (typeof fetch !== "function") {
|
|
1901
1994
|
throw new Error("GLTFLoader requires fetch for non-data URLs");
|
|
1902
1995
|
}
|
|
1903
|
-
const
|
|
1904
|
-
if (!response.ok) {
|
|
1905
|
-
throw new Error(`glTF request failed with ${response.status}`);
|
|
1906
|
-
}
|
|
1996
|
+
const bytes = await fetchGltfBytesShared(request.url, "document", request, (status) => `glTF request failed with ${status}`);
|
|
1907
1997
|
if (binary) {
|
|
1908
|
-
return parseGLB(
|
|
1998
|
+
return parseGLB(bytes, request.url);
|
|
1909
1999
|
}
|
|
1910
|
-
|
|
1911
|
-
return { json: JSON.parse(new TextDecoder().decode(bytes)), url: request.url, byteLength: bytes.byteLength };
|
|
2000
|
+
return { json: JSON.parse(new TextDecoder().decode(bytes)), url: request.url, byteLength: bytes.byteLength, version: 0, jsonChunkBytes: 0 };
|
|
1912
2001
|
}
|
|
1913
2002
|
async function loadBuffer(buffer, index, document, request) {
|
|
1914
2003
|
validateBufferDescriptor(index, buffer);
|
|
@@ -1921,6 +2010,15 @@ async function loadBuffer(buffer, index, document, request) {
|
|
|
1921
2010
|
? document.binaryChunk
|
|
1922
2011
|
: document.binaryChunk.slice(0, buffer.byteLength);
|
|
1923
2012
|
}
|
|
2013
|
+
// gltf-transform writes EXT_meshopt_compression payloads with a second
|
|
2014
|
+
// `fallback`-marked buffer whose uncompressed bytes are declared but not
|
|
2015
|
+
// shipped — the required-extension contract means every accessor reaches
|
|
2016
|
+
// its data through the compressed views in buffer 0. Decoders-capable
|
|
2017
|
+
// readers (prepareBufferViews rewires them) never dereference the stub.
|
|
2018
|
+
const meshoptFallback = buffer.extensions?.EXT_meshopt_compression?.fallback === true;
|
|
2019
|
+
if (index > 0 && document.binaryChunk && meshoptFallback) {
|
|
2020
|
+
return new ArrayBuffer(buffer.byteLength);
|
|
2021
|
+
}
|
|
1924
2022
|
throw new Error(`glTF buffer ${index} is missing a uri and no GLB BIN chunk is available`);
|
|
1925
2023
|
}
|
|
1926
2024
|
if (buffer.uri.startsWith("data:")) {
|
|
@@ -1930,11 +2028,8 @@ async function loadBuffer(buffer, index, document, request) {
|
|
|
1930
2028
|
throw new Error("GLTFLoader requires fetch for external buffers");
|
|
1931
2029
|
}
|
|
1932
2030
|
const url = new URL(buffer.uri, resolveAbsoluteDocumentUrl(document.url)).toString();
|
|
1933
|
-
const
|
|
1934
|
-
|
|
1935
|
-
throw new Error(`glTF buffer request failed with ${response.status}`);
|
|
1936
|
-
}
|
|
1937
|
-
return validateLoadedBufferLength(index, buffer, await readResponseBytes(response, url, "buffer", request));
|
|
2031
|
+
const bytes = await fetchGltfBytesShared(url, "buffer", request, (status) => `glTF buffer request failed with ${status}`);
|
|
2032
|
+
return validateLoadedBufferLength(index, buffer, bytes);
|
|
1938
2033
|
}
|
|
1939
2034
|
/**
|
|
1940
2035
|
* External glTF buffers need an absolute document base. Public Aura3D routes
|
|
@@ -2194,6 +2289,7 @@ function parseGLB(data, url) {
|
|
|
2194
2289
|
let offset = 12;
|
|
2195
2290
|
let json;
|
|
2196
2291
|
let binaryChunk;
|
|
2292
|
+
let jsonChunkBytes = 0;
|
|
2197
2293
|
while (offset < data.byteLength) {
|
|
2198
2294
|
if (offset + 8 > data.byteLength) {
|
|
2199
2295
|
throw new Error("Malformed GLB chunk header");
|
|
@@ -2209,6 +2305,7 @@ function parseGLB(data, url) {
|
|
|
2209
2305
|
if (chunkType === GLB_CHUNK_JSON) {
|
|
2210
2306
|
const text = new TextDecoder().decode(chunk).replace(/[\u0000\s]+$/u, "");
|
|
2211
2307
|
json = JSON.parse(text);
|
|
2308
|
+
jsonChunkBytes = chunkLength;
|
|
2212
2309
|
}
|
|
2213
2310
|
else if (chunkType === GLB_CHUNK_BIN) {
|
|
2214
2311
|
binaryChunk = chunk;
|
|
@@ -2218,7 +2315,7 @@ function parseGLB(data, url) {
|
|
|
2218
2315
|
if (!json) {
|
|
2219
2316
|
throw new Error("GLB is missing a JSON chunk");
|
|
2220
2317
|
}
|
|
2221
|
-
return { json, binaryChunk, url, byteLength: data.byteLength };
|
|
2318
|
+
return { json, binaryChunk, url, byteLength: data.byteLength, version, jsonChunkBytes };
|
|
2222
2319
|
}
|
|
2223
2320
|
function readAccessor(json, buffers, accessorIndex, accessorCache) {
|
|
2224
2321
|
if (accessorCache)
|
|
@@ -2550,6 +2647,14 @@ function createScene(json, meshes, cameras, lights, skins, nodeInstanceTransform
|
|
|
2550
2647
|
const nodeWorldMatrices = computeGLTFNodeWorldMatrices(json);
|
|
2551
2648
|
const nodeNameForIndex = createGLTFNodeNameResolver(json);
|
|
2552
2649
|
const scene = new Scene();
|
|
2650
|
+
// The scene container is not an authored node. A glTF bone named "root" must
|
|
2651
|
+
// never also animate this container (which would apply root motion twice).
|
|
2652
|
+
const authoredNames = new Set((json.nodes ?? []).map((_node, index) => nodeNameForIndex(index)));
|
|
2653
|
+
let containerName = scene.root.name;
|
|
2654
|
+
while (authoredNames.has(containerName))
|
|
2655
|
+
containerName = `_${containerName}`;
|
|
2656
|
+
scene.root.name = containerName;
|
|
2657
|
+
scene.root.userData.gltfSceneContainer = true;
|
|
2553
2658
|
const nodes = new Map();
|
|
2554
2659
|
const createNode = (index) => {
|
|
2555
2660
|
const source = json.nodes?.[index];
|
|
@@ -2589,6 +2694,40 @@ function createScene(json, meshes, cameras, lights, skins, nodeInstanceTransform
|
|
|
2589
2694
|
}
|
|
2590
2695
|
return scene;
|
|
2591
2696
|
}
|
|
2697
|
+
/**
|
|
2698
|
+
* PRD-05 §6.3.6 — zip `node.extensions.MSFT_lod.ids` with
|
|
2699
|
+
* `node.extras.MSFT_screencoverage` into `node.lods`. Ids must be valid node
|
|
2700
|
+
* indices; a malformed extension is a load error only when it is required
|
|
2701
|
+
* (MSFT_lod never is — readers that ignore it render LOD0, so malformed
|
|
2702
|
+
* entries are dropped, mirroring three.js behaviour for unknown nodes).
|
|
2703
|
+
*/
|
|
2704
|
+
function resolveMsftLods(json) {
|
|
2705
|
+
const nodes = json.nodes;
|
|
2706
|
+
if (!nodes)
|
|
2707
|
+
return;
|
|
2708
|
+
for (const [index, node] of nodes.entries()) {
|
|
2709
|
+
const ext = node.extensions?.MSFT_lod;
|
|
2710
|
+
if (!ext)
|
|
2711
|
+
continue;
|
|
2712
|
+
const ids = ext.ids;
|
|
2713
|
+
if (!Array.isArray(ids) || ids.length === 0) {
|
|
2714
|
+
throw new Error(`glTF node ${index} MSFT_lod must list at least one lod id`);
|
|
2715
|
+
}
|
|
2716
|
+
for (const id of ids) {
|
|
2717
|
+
if (!Number.isInteger(id) || id < 0 || id >= nodes.length) {
|
|
2718
|
+
throw new Error(`glTF node ${index} MSFT_lod id ${id} is not a node index`);
|
|
2719
|
+
}
|
|
2720
|
+
}
|
|
2721
|
+
const coverage = Array.isArray(node.extras?.MSFT_screencoverage)
|
|
2722
|
+
? node.extras.MSFT_screencoverage.filter((v) => typeof v === "number")
|
|
2723
|
+
: undefined;
|
|
2724
|
+
node.lods = ids.map((nodeIndex, i) => ({
|
|
2725
|
+
nodeIndex,
|
|
2726
|
+
...(nodes[nodeIndex]?.mesh !== undefined ? { meshIndex: nodes[nodeIndex].mesh } : {}),
|
|
2727
|
+
...(coverage?.[i + 1] !== undefined ? { screenCoverage: coverage[i + 1] } : {})
|
|
2728
|
+
}));
|
|
2729
|
+
}
|
|
2730
|
+
}
|
|
2592
2731
|
function resolveSelectedSceneIndex(json, options) {
|
|
2593
2732
|
if (options.sceneIndex !== undefined && options.sceneName !== undefined) {
|
|
2594
2733
|
throw new Error("glTF scene selection cannot specify both sceneIndex and sceneName");
|
|
@@ -2651,11 +2790,27 @@ function validateSceneGraph(json, sceneIndex = resolveDefaultSceneIndex(json)) {
|
|
|
2651
2790
|
for (let nodeIndex = 0; nodeIndex < nodeDefinitions.length; nodeIndex += 1) {
|
|
2652
2791
|
visit(nodeIndex);
|
|
2653
2792
|
}
|
|
2654
|
-
|
|
2793
|
+
const sceneRoots = json.scenes?.[sceneIndex]?.nodes ?? [];
|
|
2794
|
+
const sceneReachable = new Set();
|
|
2795
|
+
const markReachable = (nodeIndex) => {
|
|
2796
|
+
if (sceneReachable.has(nodeIndex) || !nodeDefinitions[nodeIndex])
|
|
2797
|
+
return;
|
|
2798
|
+
sceneReachable.add(nodeIndex);
|
|
2799
|
+
for (const childIndex of nodeDefinitions[nodeIndex]?.children ?? []) {
|
|
2800
|
+
markReachable(childIndex);
|
|
2801
|
+
}
|
|
2802
|
+
};
|
|
2803
|
+
for (const rootNodeIndex of sceneRoots) {
|
|
2804
|
+
if (Number.isInteger(rootNodeIndex) && rootNodeIndex >= 0) {
|
|
2805
|
+
markReachable(rootNodeIndex);
|
|
2806
|
+
}
|
|
2807
|
+
}
|
|
2808
|
+
for (const [rootListIndex, rootNodeIndex] of sceneRoots.entries()) {
|
|
2655
2809
|
if (!Number.isInteger(rootNodeIndex) || rootNodeIndex < 0 || !nodeDefinitions[rootNodeIndex]) {
|
|
2656
2810
|
throw new Error(`glTF scene ${sceneIndex} root ${rootListIndex} references missing node ${rootNodeIndex}`);
|
|
2657
2811
|
}
|
|
2658
|
-
|
|
2812
|
+
const parentIndex = parentByNode.get(rootNodeIndex);
|
|
2813
|
+
if (parentIndex !== undefined && sceneReachable.has(parentIndex)) {
|
|
2659
2814
|
throw new Error(`glTF scene ${sceneIndex} root ${rootNodeIndex} is also a child node`);
|
|
2660
2815
|
}
|
|
2661
2816
|
}
|
|
@@ -2732,6 +2887,10 @@ export function gltfRuntimeMaterialKey(material, contract) {
|
|
|
2732
2887
|
const signature = runtimeMaterialSignature(contract);
|
|
2733
2888
|
return signature === "base" ? material : `${material}${RUNTIME_MATERIAL_KEY_MARKER}${signature}`;
|
|
2734
2889
|
}
|
|
2890
|
+
export function parseGlbDocument(data, url = "memory://glb") {
|
|
2891
|
+
const document = parseGLB(data, url);
|
|
2892
|
+
return { json: document.json, version: document.version, jsonChunkBytes: document.jsonChunkBytes, byteLength: document.byteLength };
|
|
2893
|
+
}
|
|
2735
2894
|
export function parseGLTFRuntimeMaterialKey(key) {
|
|
2736
2895
|
const markerIndex = key.lastIndexOf(RUNTIME_MATERIAL_KEY_MARKER);
|
|
2737
2896
|
if (markerIndex < 0)
|
|
@@ -2844,6 +3003,8 @@ function createSceneNodeForGLTFNode(scene, source, nodeIndex, nodeName, cameras,
|
|
|
2844
3003
|
}
|
|
2845
3004
|
function applyGLTFNodeMetadata(node, source, nodeIndex) {
|
|
2846
3005
|
node.userData.gltfNodeIndex = nodeIndex;
|
|
3006
|
+
if (source.lods?.length)
|
|
3007
|
+
node.userData.gltfLods = source.lods;
|
|
2847
3008
|
if (!source.extras)
|
|
2848
3009
|
return;
|
|
2849
3010
|
node.userData.gltfExtras = { ...source.extras };
|
|
@@ -2889,15 +3050,21 @@ function spotPenumbra(innerConeAngle, outerConeAngle) {
|
|
|
2889
3050
|
}
|
|
2890
3051
|
function createGLTFNodeNameResolver(json) {
|
|
2891
3052
|
const bases = (json.nodes ?? []).map((node, index) => typeof node.name === "string" && node.name.trim().length > 0 ? node.name : `node-${index}`);
|
|
2892
|
-
const totals = new Map();
|
|
2893
|
-
for (const base of bases) {
|
|
2894
|
-
totals.set(base, (totals.get(base) ?? 0) + 1);
|
|
2895
|
-
}
|
|
2896
3053
|
const seen = new Map();
|
|
3054
|
+
const reserved = new Set(bases);
|
|
3055
|
+
const assigned = new Set();
|
|
2897
3056
|
const names = bases.map((base) => {
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
3057
|
+
let count = seen.get(base) ?? 0;
|
|
3058
|
+
let name = base;
|
|
3059
|
+
if (assigned.has(name)) {
|
|
3060
|
+
do {
|
|
3061
|
+
count += 1;
|
|
3062
|
+
name = `${base}_${count}`;
|
|
3063
|
+
} while (reserved.has(name) || assigned.has(name));
|
|
3064
|
+
}
|
|
3065
|
+
seen.set(base, count);
|
|
3066
|
+
assigned.add(name);
|
|
3067
|
+
return name;
|
|
2901
3068
|
});
|
|
2902
3069
|
return (nodeIndex) => {
|
|
2903
3070
|
const name = names[nodeIndex];
|