@onerjs/loaders 8.56.1 → 8.56.2
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/SPLAT/gaussianSplattingStream.d.ts +31 -0
- package/SPLAT/gaussianSplattingStream.js +49 -0
- package/SPLAT/gaussianSplattingStream.js.map +1 -1
- package/USD/index.d.ts +2 -0
- package/USD/index.js +4 -0
- package/USD/index.js.map +1 -0
- package/USD/pure.d.ts +3 -0
- package/USD/pure.js +5 -0
- package/USD/pure.js.map +1 -0
- package/USD/usdCommandProtocol.d.ts +83 -0
- package/USD/usdCommandProtocol.js +173 -0
- package/USD/usdCommandProtocol.js.map +1 -0
- package/USD/usdFileLoader.d.ts +6 -0
- package/USD/usdFileLoader.js +9 -0
- package/USD/usdFileLoader.js.map +1 -0
- package/USD/usdFileLoader.metadata.d.ts +20 -0
- package/USD/usdFileLoader.metadata.js +18 -0
- package/USD/usdFileLoader.metadata.js.map +1 -0
- package/USD/usdFileLoader.pure.d.ts +102 -0
- package/USD/usdFileLoader.pure.js +341 -0
- package/USD/usdFileLoader.pure.js.map +1 -0
- package/USD/usdFileLoader.types.d.ts +11 -0
- package/USD/usdFileLoader.types.js +2 -0
- package/USD/usdFileLoader.types.js.map +1 -0
- package/USD/usdLoadingOptions.d.ts +123 -0
- package/USD/usdLoadingOptions.js +3 -0
- package/USD/usdLoadingOptions.js.map +1 -0
- package/USD/usdSceneMaterializer.d.ts +9 -0
- package/USD/usdSceneMaterializer.js +982 -0
- package/USD/usdSceneMaterializer.js.map +1 -0
- package/USD/usdWorkerMessages.d.ts +57 -0
- package/USD/usdWorkerMessages.js +3 -0
- package/USD/usdWorkerMessages.js.map +1 -0
- package/dynamic.js +10 -0
- package/dynamic.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/pure.d.ts +1 -0
- package/pure.js +1 -0
- package/pure.js.map +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usdSceneMaterializer.js","sourceRoot":"","sources":["../../../../dev/loaders/src/USD/usdSceneMaterializer.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\n\nimport { Animation } from \"core/Animations/animation.pure\";\nimport { AnimationGroup } from \"core/Animations/animationGroup.pure\";\nimport { AbstractAssetContainer, AssetContainer } from \"core/assetContainer\";\nimport { Bone } from \"core/Bones/bone\";\nimport { Skeleton } from \"core/Bones/skeleton\";\nimport { Color3, Color4 } from \"core/Maths/math.color.pure\";\nimport { Matrix, Quaternion, Vector3 } from \"core/Maths/math.vector.pure\";\nimport { Material } from \"core/Materials/material.pure\";\nimport { MultiMaterial } from \"core/Materials/multiMaterial.pure\";\nimport { PBRMaterial } from \"core/Materials/PBR/pbrMaterial.pure\";\nimport { Texture } from \"core/Materials/Textures/texture.pure\";\nimport {\n CreateFactorOperand,\n CreateTextureOperand,\n LerpTexturesAsync,\n TextureChannel,\n TextureColorSpace,\n type ITextureProcessOperand,\n} from \"core/Materials/Textures/textureProcessor\";\nimport { type BaseTexture } from \"core/Materials/Textures/baseTexture\";\nimport { MorphTarget } from \"core/Morph/morphTarget\";\nimport { MorphTargetManager } from \"core/Morph/morphTargetManager\";\nimport { CreateBox } from \"core/Meshes/Builders/boxBuilder.pure\";\nimport { CreateCylinder } from \"core/Meshes/Builders/cylinderBuilder.pure\";\nimport { CreateSphere } from \"core/Meshes/Builders/sphereBuilder.pure\";\nimport { Mesh } from \"core/Meshes/mesh.pure\";\nimport { SubMesh } from \"core/Meshes/subMesh\";\nimport { TransformNode } from \"core/Meshes/transformNode.pure\";\nimport { VertexData } from \"core/Meshes/mesh.vertexData\";\nimport { type Scene } from \"core/scene.pure\";\nimport { type IAssetContainer } from \"core/IAssetContainer\";\nimport { Constants } from \"core/Engines/constants\";\n\nimport {\n AnalyticPrimitiveType,\n AnimationProperty,\n AnimationTarget,\n Command,\n GeometryFlags,\n MaterialFlags,\n MeshFlags,\n MISSING_OFFSET,\n PayloadReader,\n PrimitiveAxis,\n TextureOutputChannel,\n USDTextureColorSpace,\n readCommands,\n} from \"./usdCommandProtocol\";\n\ninterface GeometryDescriptor {\n vertexCount: number;\n indexCount: number;\n flags: number;\n positions: number;\n normals: number;\n tangents: number;\n uv0: number;\n colors: number;\n joints0: number;\n weights0: number;\n joints1: number;\n weights1: number;\n indices: number;\n influences: number;\n}\n\ninterface TextureDescriptor {\n id: number;\n texture: Texture;\n sourceColorSpace: USDTextureColorSpace;\n scale: Float32Array;\n bias: Float32Array;\n}\n\ninterface TextureBinding {\n descriptor: TextureDescriptor;\n channel: TextureOutputChannel;\n}\n\ninterface MaterialTextureBindings {\n id: number;\n material: PBRMaterial;\n normalScale: number;\n base?: TextureBinding;\n opacity?: TextureBinding;\n normal?: TextureBinding;\n metallic?: TextureBinding;\n roughness?: TextureBinding;\n occlusion?: TextureBinding;\n emissive?: TextureBinding;\n}\n\nclass DirectAssetContainer extends AbstractAssetContainer {\n public dispose(): void {\n for (const animationGroup of this.animationGroups.splice(0)) {\n animationGroup.dispose();\n }\n for (const mesh of this.meshes.splice(0)) {\n mesh.dispose();\n }\n for (const manager of this.morphTargetManagers.splice(0)) {\n manager.dispose();\n }\n for (const skeleton of this.skeletons.splice(0)) {\n skeleton.dispose();\n }\n for (const multiMaterial of this.multiMaterials.splice(0)) {\n multiMaterial.dispose();\n }\n for (const material of this.materials.splice(0)) {\n material.dispose();\n }\n for (const geometry of this.geometries.splice(0)) {\n geometry.dispose();\n }\n for (const transformNode of this.transformNodes.splice(0)) {\n transformNode.dispose();\n }\n for (const texture of this.textures.splice(0)) {\n texture.dispose();\n }\n this.rootNodes.length = 0;\n }\n}\n\nexport interface MaterializationResult {\n container: AbstractAssetContainer & { dispose(): void };\n materializeMs: number;\n}\n\nconst decoder = new TextDecoder();\nconst NODE_MATRIX_PROPERTY = \"__babylonUsdLocalMatrix\";\n\nfunction assertRange(data: ArrayBuffer, offset: number, count: number, bytesPerElement: number, label: string): void {\n if (\n !Number.isInteger(offset) ||\n !Number.isInteger(count) ||\n offset < 0 ||\n count < 0 ||\n offset % Math.min(bytesPerElement, 4) !== 0 ||\n count > Math.floor((data.byteLength - offset) / bytesPerElement)\n ) {\n throw new Error(`Invalid ${label} range in OpenUSD Babylon data buffer.`);\n }\n}\n\nfunction stringAt(data: ArrayBuffer, offset: number, length: number): string {\n assertRange(data, offset, length, 1, \"string\");\n return decoder.decode(new Uint8Array(data, offset, length));\n}\n\nfunction matrixAt(data: ArrayBuffer, offset: number): Matrix {\n assertRange(data, offset, 16, 4, \"matrix\");\n const values = new Float32Array(data, offset, 16);\n return Matrix.FromValues(\n values[0],\n values[1],\n values[2],\n values[3],\n values[4],\n values[5],\n values[6],\n values[7],\n values[8],\n values[9],\n values[10],\n values[11],\n values[12],\n values[13],\n values[14],\n values[15]\n );\n}\n\nfunction mimeType(value: number): string {\n switch (value) {\n case 2:\n return \"image/jpeg\";\n case 3:\n return \"image/bmp\";\n case 4:\n return \"image/webp\";\n default:\n return \"image/png\";\n }\n}\n\nfunction wrapMode(value: number): number {\n switch (value) {\n case 0:\n return Texture.CLAMP_ADDRESSMODE;\n case 1:\n return Texture.WRAP_ADDRESSMODE;\n case 2:\n return Texture.MIRROR_ADDRESSMODE;\n default:\n throw new Error(`Invalid texture wrap mode ${value}.`);\n }\n}\n\nasync function awaitAbortableAsync<T>(promise: Promise<T>, signal?: AbortSignal): Promise<T> {\n if (!signal) {\n return await promise;\n }\n let onAbort: (() => void) | undefined;\n const aborted = new Promise<never>((_resolve, reject) => {\n onAbort = () => reject(signal.reason instanceof Error ? signal.reason : new Error(\"USD materialization was aborted.\"));\n signal.addEventListener(\"abort\", onAbort, { once: true });\n if (signal.aborted) {\n onAbort();\n }\n });\n try {\n return await Promise.race([promise, aborted]);\n } finally {\n if (onAbort) {\n signal.removeEventListener(\"abort\", onAbort);\n }\n }\n}\n\nexport async function materializeCommandBuffers(\n scene: Scene,\n commandBuffer: ArrayBuffer,\n dataBuffer: ArrayBuffer,\n addToScene: boolean,\n signal?: AbortSignal\n): Promise<MaterializationResult> {\n signal?.throwIfAborted();\n const started = performance.now();\n const commands = readCommands(commandBuffer);\n const container = addToScene ? new DirectAssetContainer() : new AssetContainer(scene);\n const nodes = new Map<number, TransformNode>();\n const pendingParents: Array<{ node: TransformNode; parentId: number }> = [];\n const textures = new Map<number, TextureDescriptor>();\n const materials = new Map<number, PBRMaterial>();\n const doubleSidedMaterials = new Map<number, PBRMaterial>();\n const skeletons = new Map<number, Skeleton>();\n const bones = new Map<number, Bone>();\n const geometries = new Map<number, GeometryDescriptor>();\n const meshes = new Map<number, Mesh>();\n const morphTargetManagers = new Map<number, MorphTargetManager>();\n const morphTargets = new Map<number, MorphTarget>();\n const classicInstanceSources = new Set<number>();\n const thinInstanceSources = new Set<number>();\n const animationGroups = new Map<number, AnimationGroup>();\n const textureLoads: Promise<void>[] = [];\n const textureUrls = new Set<string>();\n const materialTextureBindings: MaterialTextureBindings[] = [];\n const processedTextures = new Map<string, Promise<BaseTexture>>();\n const assetContainer = container instanceof AssetContainer ? container : undefined;\n let root: TransformNode | undefined;\n let timeCodesPerSecond = 24;\n let rollingBack = false;\n const caps = scene.getEngine().getCaps();\n const processedTextureType =\n caps.textureHalfFloatRender && caps.textureHalfFloatLinearFiltering\n ? Constants.TEXTURETYPE_HALF_FLOAT\n : caps.textureFloatRender && caps.textureFloatLinearFiltering\n ? Constants.TEXTURETYPE_FLOAT\n : Constants.TEXTURETYPE_UNSIGNED_BYTE;\n\n const trackAsset = <T extends { _parentContainer: IAssetContainer | null }>(assets: T[], asset: T): void => {\n assets.push(asset);\n if (assetContainer) {\n asset._parentContainer = assetContainer;\n }\n };\n const applyMeshOrientation = (mesh: Mesh, flags: number): void => {\n const sourceIsRightHanded = !(flags & MeshFlags.LeftHanded);\n mesh.sideOrientation = scene.useRightHandedSystem === sourceIsRightHanded ? Material.CounterClockWiseSideOrientation : Material.ClockWiseSideOrientation;\n };\n const materialForMesh = (id: number, doubleSided: boolean): PBRMaterial | null => {\n const material = materials.get(id);\n if (!material || !doubleSided || !material.backFaceCulling) {\n return material ?? null;\n }\n let variant = doubleSidedMaterials.get(id);\n if (!variant) {\n variant = material.clone(`${material.name} (double-sided)`);\n trackAsset(container.materials, variant);\n variant.backFaceCulling = false;\n variant.twoSidedLighting = true;\n doubleSidedMaterials.set(id, variant);\n }\n return variant;\n };\n const binding = (textureId: number, channel: number, label: string): TextureBinding | undefined => {\n if (textureId === MISSING_OFFSET) {\n if (channel !== MISSING_OFFSET) {\n throw new Error(`USD ${label} binding has a channel without a texture.`);\n }\n return undefined;\n }\n const descriptor = textures.get(textureId);\n if (!descriptor) {\n throw new Error(`USD ${label} binding references missing texture ${textureId}.`);\n }\n if (channel < TextureOutputChannel.R || channel > TextureOutputChannel.RGB) {\n throw new Error(`USD ${label} binding has invalid output channel ${channel}.`);\n }\n return { descriptor, channel };\n };\n const channelIndex = (channel: TextureOutputChannel): number => {\n if (channel === TextureOutputChannel.RGB) {\n throw new Error(\"A scalar USD texture binding cannot use the RGB output.\");\n }\n return channel;\n };\n const processorChannel = (channel: TextureOutputChannel): TextureChannel => {\n switch (channel) {\n case TextureOutputChannel.R:\n return TextureChannel.R;\n case TextureOutputChannel.G:\n return TextureChannel.G;\n case TextureOutputChannel.B:\n return TextureChannel.B;\n case TextureOutputChannel.A:\n return TextureChannel.A;\n default:\n return TextureChannel.RGBA;\n }\n };\n const processorColorSpace = (descriptor: TextureDescriptor): TextureColorSpace =>\n descriptor.sourceColorSpace === USDTextureColorSpace.Raw ? TextureColorSpace.Linear : TextureColorSpace.SRGB;\n const scalarTextureIsLinear = (binding: TextureBinding): boolean => binding.descriptor.sourceColorSpace === USDTextureColorSpace.Raw;\n const valueTransformIs = (descriptor: TextureDescriptor, scale: readonly number[] | Float32Array, bias: readonly number[] | Float32Array): boolean =>\n scale.every((value, index) => descriptor.scale[index] === value) && bias.every((value, index) => descriptor.bias[index] === value);\n const trackProcessedTexture = (texture: BaseTexture): BaseTexture => {\n trackAsset(container.textures, texture);\n return texture;\n };\n const processTextureAsync = async (\n name: string,\n binding: TextureBinding,\n scale: readonly number[] | Float32Array,\n bias: readonly number[] | Float32Array,\n channel = binding.channel,\n preserveRange = false\n ): Promise<BaseTexture> => {\n const source = binding.descriptor;\n const size = source.texture.getSize();\n const supportsMipMaps = !scene.getEngine().needPOTTextures || ((size.width & (size.width - 1)) === 0 && (size.height & (size.height - 1)) === 0);\n const outputOptions = {\n textureType: preserveRange ? processedTextureType : Constants.TEXTURETYPE_UNSIGNED_BYTE,\n samplingMode: supportsMipMaps ? Constants.TEXTURE_TRILINEAR_SAMPLINGMODE : Constants.TEXTURE_BILINEAR_SAMPLINGMODE,\n generateMipMaps: supportsMipMaps,\n };\n if (\n preserveRange &&\n processedTextureType === Constants.TEXTURETYPE_UNSIGNED_BYTE &&\n scale.slice(0, 3).some((value, index) => Math.min(bias[index], bias[index] + value) < 0)\n ) {\n throw new Error(`USD texture processing for '${name}' requires a floating-point render target to preserve signed values.`);\n }\n const key = `${source.id}:${channel}:${scale.join(\",\")}:${bias.join(\",\")}:${preserveRange}`;\n const cached = processedTextures.get(key);\n if (cached) {\n return await cached;\n }\n const processing = (async () => {\n const a = new Color4(bias[0], bias[1], bias[2], bias[3]);\n const b = new Color4(bias[0] + scale[0], bias[1] + scale[1], bias[2] + scale[2], bias[3] + scale[3]);\n const previousBlockEntityCollection = scene._blockEntityCollection;\n scene._blockEntityCollection = true;\n let processingPromise: Promise<ITextureProcessOperand>;\n try {\n processingPromise = LerpTexturesAsync(\n name,\n CreateFactorOperand(a),\n CreateFactorOperand(b),\n CreateTextureOperand(source.texture, processorChannel(channel), processorColorSpace(source)),\n scene,\n TextureColorSpace.Linear,\n undefined,\n outputOptions\n );\n } finally {\n scene._blockEntityCollection = previousBlockEntityCollection;\n }\n const processed = await processingPromise;\n if (!processed.texture) {\n throw new Error(`USD texture processing for '${name}' did not produce a texture.`);\n }\n if (rollingBack || signal?.aborted) {\n processed.dispose?.();\n if (signal?.aborted) {\n signal.throwIfAborted();\n }\n throw new Error(\"USD materialization was rolled back.\");\n }\n if (!assetContainer) {\n scene.addTexture(processed.texture);\n }\n const texture = trackProcessedTexture(processed.texture);\n texture.gammaSpace = false;\n const transformedTexture = texture as Texture;\n transformedTexture.uRotationCenter = source.texture.uRotationCenter;\n transformedTexture.vRotationCenter = source.texture.vRotationCenter;\n transformedTexture.wRotationCenter = source.texture.wRotationCenter;\n transformedTexture.homogeneousRotationInUVTransform = source.texture.homogeneousRotationInUVTransform;\n return texture;\n })();\n processedTextures.set(key, processing);\n try {\n return await processing;\n } catch (error) {\n processedTextures.delete(key);\n throw error;\n }\n };\n const processScalarTextureAsync = async (name: string, binding: TextureBinding): Promise<BaseTexture> => {\n const index = channelIndex(binding.channel);\n const scale = binding.descriptor.scale[index];\n const bias = binding.descriptor.bias[index];\n return await processTextureAsync(name, binding, [scale, scale, scale, 1], [bias, bias, bias, 0], binding.channel);\n };\n const applyMaterialTextureBindingsAsync = async (bindings: MaterialTextureBindings): Promise<void> => {\n const { material, normalScale, base, opacity, normal, metallic, roughness, occlusion, emissive } = bindings;\n if (base) {\n if (base.channel !== TextureOutputChannel.RGB) {\n throw new Error(\"A USD base-color texture must use the RGB output.\");\n }\n material.albedoColor = Color3.White();\n material.albedoTexture = valueTransformIs(base.descriptor, [1, 1, 1, 1], [0, 0, 0, 0])\n ? base.descriptor.texture\n : await processTextureAsync(`${material.name} base color`, base, base.descriptor.scale, base.descriptor.bias);\n }\n if (emissive) {\n if (emissive.channel !== TextureOutputChannel.RGB) {\n throw new Error(\"A USD emissive texture must use the RGB output.\");\n }\n const descriptor = emissive.descriptor;\n const zeroBias = descriptor.bias.slice(0, 3).every((value) => value === 0);\n if (zeroBias) {\n material.emissiveColor = new Color3(descriptor.scale[0], descriptor.scale[1], descriptor.scale[2]);\n material.emissiveTexture = descriptor.texture;\n } else {\n const factors = Array.from({ length: 3 }, (_, index) => Math.max(1, Math.abs(descriptor.bias[index]), Math.abs(descriptor.bias[index] + descriptor.scale[index])));\n const scale = descriptor.scale.map((value, index) => (index < 3 ? value / factors[index] : value));\n const bias = descriptor.bias.map((value, index) => (index < 3 ? value / factors[index] : value));\n material.emissiveColor = new Color3(factors[0], factors[1], factors[2]);\n material.emissiveTexture = await processTextureAsync(`${material.name} emissive`, emissive, scale, bias, emissive.channel, true);\n }\n }\n if (normal) {\n if (normal.channel !== TextureOutputChannel.RGB) {\n throw new Error(\"A USD normal texture must use the RGB output.\");\n }\n const canonicalNormal = normal.descriptor.sourceColorSpace === USDTextureColorSpace.Raw && valueTransformIs(normal.descriptor, [2, 2, 2, 1], [-1, -1, -1, 0]);\n if (canonicalNormal) {\n material.bumpTexture = normal.descriptor.texture;\n } else {\n const scale = Array.from(normal.descriptor.scale, (value) => value * 0.5);\n const bias = Array.from(normal.descriptor.bias, (value, index) => (index < 3 ? (value + 1) * 0.5 : value));\n material.bumpTexture = await processTextureAsync(`${material.name} normal`, normal, scale, bias);\n }\n material.bumpTexture.gammaSpace = false;\n material.bumpTexture.level = normalScale;\n }\n\n const packedMetallicRoughness =\n metallic &&\n roughness &&\n metallic.descriptor === roughness.descriptor &&\n (metallic.channel === TextureOutputChannel.R || metallic.channel === TextureOutputChannel.B) &&\n (roughness.channel === TextureOutputChannel.G || roughness.channel === TextureOutputChannel.A) &&\n scalarTextureIsLinear(metallic) &&\n metallic.descriptor.bias[channelIndex(metallic.channel)] === 0 &&\n roughness.descriptor.bias[channelIndex(roughness.channel)] === 0;\n let packedOcclusion = false;\n if (packedMetallicRoughness) {\n const descriptor = metallic.descriptor;\n material.metallicTexture = descriptor.texture;\n material.metallic = (material.metallic ?? 1) * descriptor.scale[channelIndex(metallic.channel)];\n material.roughness = (material.roughness ?? 1) * descriptor.scale[channelIndex(roughness.channel)];\n material.useRoughnessFromMetallicTextureAlpha = roughness.channel === TextureOutputChannel.A;\n material.useRoughnessFromMetallicTextureGreen = roughness.channel === TextureOutputChannel.G;\n material.useMetallnessFromMetallicTextureBlue = metallic.channel === TextureOutputChannel.B;\n packedOcclusion =\n occlusion?.descriptor === descriptor &&\n occlusion.channel === TextureOutputChannel.R &&\n descriptor.scale[TextureOutputChannel.R] === 1 &&\n descriptor.bias[TextureOutputChannel.R] === 0;\n material.useAmbientOcclusionFromMetallicTextureRed = packedOcclusion;\n } else {\n if (metallic) {\n const index = channelIndex(metallic.channel);\n const direct =\n scalarTextureIsLinear(metallic) &&\n (metallic.channel === TextureOutputChannel.R || metallic.channel === TextureOutputChannel.B) &&\n metallic.descriptor.bias[index] === 0;\n material.metallicTexture = direct ? metallic.descriptor.texture : await processScalarTextureAsync(`${material.name} metallic`, metallic);\n material.useRoughnessFromMetallicTextureAlpha = false;\n material.useRoughnessFromMetallicTextureGreen = false;\n material.useMetallnessFromMetallicTextureBlue = direct && metallic.channel === TextureOutputChannel.B;\n material.metallic = direct ? (material.metallic ?? 1) * metallic.descriptor.scale[index] : 1;\n }\n if (roughness) {\n const index = channelIndex(roughness.channel);\n const direct = scalarTextureIsLinear(roughness) && roughness.channel === TextureOutputChannel.R && roughness.descriptor.bias[index] === 0;\n material.microSurfaceTexture = direct ? roughness.descriptor.texture : await processScalarTextureAsync(`${material.name} roughness`, roughness);\n material.microSurfaceTexture.gammaSpace = direct ? roughness.descriptor.texture.gammaSpace : false;\n material.roughness = direct ? (material.roughness ?? 1) * roughness.descriptor.scale[index] : 1;\n }\n }\n if (occlusion && !packedOcclusion) {\n const index = channelIndex(occlusion.channel);\n const direct =\n scalarTextureIsLinear(occlusion) &&\n occlusion.channel === TextureOutputChannel.R &&\n occlusion.descriptor.scale[index] === 1 &&\n occlusion.descriptor.bias[index] === 0;\n material.ambientTexture = direct ? occlusion.descriptor.texture : await processScalarTextureAsync(`${material.name} occlusion`, occlusion);\n material.useAmbientInGrayScale = true;\n }\n if (opacity) {\n if (\n base &&\n material.albedoTexture &&\n opacity.descriptor === base.descriptor &&\n opacity.channel === TextureOutputChannel.A &&\n opacity.descriptor.scale[TextureOutputChannel.A] === 1 &&\n opacity.descriptor.bias[TextureOutputChannel.A] === 0\n ) {\n material.albedoTexture.hasAlpha = true;\n material.useAlphaFromAlbedoTexture = true;\n } else {\n const direct =\n opacity.channel === TextureOutputChannel.A && opacity.descriptor.scale[TextureOutputChannel.A] === 1 && opacity.descriptor.bias[TextureOutputChannel.A] === 0;\n material.opacityTexture = direct ? opacity.descriptor.texture : await processScalarTextureAsync(`${material.name} opacity`, opacity);\n material.opacityTexture.gammaSpace = direct ? opacity.descriptor.texture.gammaSpace : false;\n material.opacityTexture.getAlphaFromRGB = !direct;\n }\n }\n const doubleSidedVariant = doubleSidedMaterials.get(bindings.id);\n if (doubleSidedVariant) {\n doubleSidedVariant.albedoColor.copyFrom(material.albedoColor);\n doubleSidedVariant.albedoTexture = material.albedoTexture;\n doubleSidedVariant.emissiveColor.copyFrom(material.emissiveColor);\n doubleSidedVariant.emissiveTexture = material.emissiveTexture;\n doubleSidedVariant.bumpTexture = material.bumpTexture;\n doubleSidedVariant.metallic = material.metallic;\n doubleSidedVariant.roughness = material.roughness;\n doubleSidedVariant.metallicTexture = material.metallicTexture;\n doubleSidedVariant.microSurfaceTexture = material.microSurfaceTexture;\n doubleSidedVariant.ambientTexture = material.ambientTexture;\n doubleSidedVariant.opacityTexture = material.opacityTexture;\n doubleSidedVariant.alpha = material.alpha;\n doubleSidedVariant.useAlphaFromAlbedoTexture = material.useAlphaFromAlbedoTexture;\n doubleSidedVariant.useRoughnessFromMetallicTextureAlpha = material.useRoughnessFromMetallicTextureAlpha;\n doubleSidedVariant.useRoughnessFromMetallicTextureGreen = material.useRoughnessFromMetallicTextureGreen;\n doubleSidedVariant.useMetallnessFromMetallicTextureBlue = material.useMetallnessFromMetallicTextureBlue;\n doubleSidedVariant.useAmbientOcclusionFromMetallicTextureRed = material.useAmbientOcclusionFromMetallicTextureRed;\n doubleSidedVariant.useAmbientInGrayScale = material.useAmbientInGrayScale;\n }\n };\n\n try {\n const previousBlockEntityCollection = scene._blockEntityCollection;\n if (!addToScene) {\n scene._blockEntityCollection = true;\n }\n try {\n for (const command of commands) {\n const payload = new PayloadReader(commandBuffer, command.payloadOffset, command.payloadLength);\n switch (command.opcode) {\n case Command.Scene: {\n const zUp = payload.u32() === 1;\n const metersPerUnit = payload.f32();\n timeCodesPerSecond = payload.f32() || 24;\n root = new TransformNode(\"USD Root\", scene);\n trackAsset(container.transformNodes, root);\n container.rootNodes.push(root);\n root.rotationQuaternion = zUp ? Quaternion.FromArray([-0.7071068, 0, 0, 0.7071068]) : Quaternion.Identity();\n root.scaling.copyFrom(\n scene.useRightHandedSystem\n ? new Vector3(metersPerUnit, metersPerUnit, metersPerUnit)\n : zUp\n ? new Vector3(metersPerUnit, -metersPerUnit, metersPerUnit)\n : new Vector3(metersPerUnit, metersPerUnit, -metersPerUnit)\n );\n break;\n }\n case Command.Texture: {\n const id = payload.u32();\n if (textures.has(id)) {\n throw new Error(`Duplicate USD texture ${id}.`);\n }\n const nameOffset = payload.u32();\n const nameLength = payload.u32();\n const mime = mimeType(payload.u32());\n const imageOffset = payload.u32();\n const imageLength = payload.u32();\n const coordinatesIndex = payload.u32();\n const transformOffset = payload.u32();\n const wrapU = payload.u32();\n const wrapV = payload.u32();\n const sourceColorSpace = payload.u32();\n const valueTransformOffset = payload.u32();\n assertRange(dataBuffer, transformOffset, 5, 4, \"texture transform\");\n assertRange(dataBuffer, valueTransformOffset, 8, 4, \"texture value transform\");\n assertRange(dataBuffer, imageOffset, imageLength, 1, \"texture image\");\n if (sourceColorSpace < USDTextureColorSpace.Auto || sourceColorSpace > USDTextureColorSpace.SRGB) {\n throw new Error(`Invalid USD texture color space ${sourceColorSpace}.`);\n }\n const transform = new Float32Array(dataBuffer, transformOffset, 5);\n const valueTransform = new Float32Array(dataBuffer, valueTransformOffset, 8);\n if (![...transform, ...valueTransform].every(Number.isFinite)) {\n throw new Error(`USD texture ${id} has a non-finite transform.`);\n }\n const bytes = new Uint8Array(dataBuffer, imageOffset, imageLength);\n const url = URL.createObjectURL(new Blob([bytes], { type: mime }));\n textureUrls.add(url);\n let resolveLoad!: () => void;\n let rejectLoad!: (error: Error) => void;\n const loaded = new Promise<void>((resolve, reject) => {\n resolveLoad = resolve;\n rejectLoad = reject;\n });\n textureLoads.push(loaded);\n const texture = new Texture(url, scene, false, false, Texture.TRILINEAR_SAMPLINGMODE, resolveLoad, (message, exception) => {\n URL.revokeObjectURL(url);\n rejectLoad(exception instanceof Error ? exception : new Error(message || `Could not load texture '${url}'.`));\n });\n trackAsset(container.textures, texture);\n texture.onDisposeObservable.addOnce(() => URL.revokeObjectURL(url));\n texture.name = stringAt(dataBuffer, nameOffset, nameLength);\n texture.coordinatesIndex = coordinatesIndex;\n texture.uScale = transform[0];\n texture.vScale = transform[1];\n texture.uRotationCenter = 0;\n texture.vRotationCenter = 0;\n texture.uOffset = transform[2] - transform[1] * Math.sin(transform[4]);\n texture.vOffset = 1 - transform[1] * Math.cos(transform[4]) - transform[3];\n texture.wAng = -transform[4];\n texture.wrapU = wrapMode(wrapU);\n texture.wrapV = wrapMode(wrapV);\n texture.gammaSpace = sourceColorSpace !== USDTextureColorSpace.Raw;\n textures.set(id, {\n id,\n texture,\n sourceColorSpace,\n scale: valueTransform.subarray(0, 4),\n bias: valueTransform.subarray(4, 8),\n });\n break;\n }\n case Command.Material: {\n const id = payload.u32();\n const nameOffset = payload.u32();\n const nameLength = payload.u32();\n const baseOffset = payload.u32();\n const emissiveOffset = payload.u32();\n const metallic = payload.f32();\n const roughness = payload.f32();\n const normalScale = payload.f32();\n const alphaCutoff = payload.f32();\n const flags = payload.u32();\n const textureIds = Array.from({ length: 7 }, () => payload.u32());\n const textureChannels = Array.from({ length: 7 }, () => payload.u32());\n assertRange(dataBuffer, baseOffset, 4, 4, \"material base color\");\n assertRange(dataBuffer, emissiveOffset, 3, 4, \"material emissive color\");\n const base = new Float32Array(dataBuffer, baseOffset, 4);\n const emissive = new Float32Array(dataBuffer, emissiveOffset, 3);\n const material = new PBRMaterial(stringAt(dataBuffer, nameOffset, nameLength), scene);\n trackAsset(container.materials, material);\n material.id = `usd-material-${id}`;\n material.albedoColor = new Color3(base[0], base[1], base[2]);\n material.alpha = base[3];\n material.metallic = metallic;\n material.roughness = roughness;\n material.emissiveColor = new Color3(emissive[0], emissive[1], emissive[2]);\n const doubleSided = Boolean(flags & MaterialFlags.DoubleSided);\n material.backFaceCulling = !doubleSided;\n material.twoSidedLighting = doubleSided;\n material.unlit = Boolean(flags & MaterialFlags.Unlit);\n if (flags & MaterialFlags.AlphaBlend) {\n material.transparencyMode = 2;\n }\n if (alphaCutoff > 0) {\n material.transparencyMode = 1;\n material.alphaCutOff = alphaCutoff;\n }\n materialTextureBindings.push({\n id,\n material,\n normalScale,\n base: binding(textureIds[0], textureChannels[0], \"base-color texture\"),\n opacity: binding(textureIds[1], textureChannels[1], \"opacity texture\"),\n normal: binding(textureIds[2], textureChannels[2], \"normal texture\"),\n metallic: binding(textureIds[3], textureChannels[3], \"metallic texture\"),\n roughness: binding(textureIds[4], textureChannels[4], \"roughness texture\"),\n occlusion: binding(textureIds[5], textureChannels[5], \"occlusion texture\"),\n emissive: binding(textureIds[6], textureChannels[6], \"emissive texture\"),\n });\n materials.set(id, material);\n break;\n }\n case Command.TransformNode: {\n const id = payload.u32();\n const parentId = payload.u32();\n const nameOffset = payload.u32();\n const nameLength = payload.u32();\n const matrixOffset = payload.u32();\n const node = new TransformNode(stringAt(dataBuffer, nameOffset, nameLength), scene);\n trackAsset(container.transformNodes, node);\n node.setPreTransformMatrix(matrixAt(dataBuffer, matrixOffset));\n Object.defineProperty(node, NODE_MATRIX_PROPERTY, {\n configurable: true,\n get: () => node.getPivotMatrix(),\n set: (matrix: Matrix) => node.setPreTransformMatrix(matrix),\n });\n nodes.set(id, node);\n if (parentId === MISSING_OFFSET) {\n node.parent = root ?? null;\n } else {\n pendingParents.push({ node, parentId });\n }\n break;\n }\n case Command.Skeleton: {\n const id = payload.u32();\n const nameOffset = payload.u32();\n const nameLength = payload.u32();\n const jointCount = payload.u32();\n const jointsOffset = payload.u32();\n const skeleton = new Skeleton(stringAt(dataBuffer, nameOffset, nameLength), `usd-skeleton-${id}`, scene);\n trackAsset(container.skeletons, skeleton);\n const jointView = new DataView(dataBuffer);\n assertRange(dataBuffer, jointsOffset, jointCount * 6, 4, \"skeleton joints\");\n const created: Bone[] = [];\n for (let index = 0; index < jointCount; ++index) {\n const offset = jointsOffset + index * 24;\n const parentIndex = jointView.getUint32(offset, true);\n const boneId = jointView.getUint32(offset + 4, true);\n const jointNameOffset = jointView.getUint32(offset + 8, true);\n const jointNameLength = jointView.getUint32(offset + 12, true);\n const restMatrixOffset = jointView.getUint32(offset + 16, true);\n const bindMatrixOffset = jointView.getUint32(offset + 20, true);\n if (parentIndex !== MISSING_OFFSET && parentIndex >= index) {\n throw new Error(`Skeleton ${id} has an invalid parent joint index.`);\n }\n const bone = new Bone(\n stringAt(dataBuffer, jointNameOffset, jointNameLength),\n skeleton,\n parentIndex === MISSING_OFFSET ? null : created[parentIndex],\n matrixAt(dataBuffer, restMatrixOffset),\n matrixAt(dataBuffer, restMatrixOffset),\n matrixAt(dataBuffer, bindMatrixOffset),\n index\n );\n created.push(bone);\n bones.set(boneId, bone);\n }\n skeletons.set(id, skeleton);\n break;\n }\n case Command.Geometry: {\n const id = payload.u32();\n geometries.set(id, {\n vertexCount: payload.u32(),\n indexCount: payload.u32(),\n flags: payload.u32(),\n positions: payload.u32(),\n normals: payload.u32(),\n tangents: payload.u32(),\n uv0: payload.u32(),\n colors: payload.u32(),\n joints0: payload.u32(),\n weights0: payload.u32(),\n joints1: payload.u32(),\n weights1: payload.u32(),\n indices: payload.u32(),\n influences: payload.u32(),\n });\n break;\n }\n case Command.Mesh: {\n const id = payload.u32();\n const nodeId = payload.u32();\n const geometryId = payload.u32();\n const materialId = payload.u32();\n const nameOffset = payload.u32();\n const nameLength = payload.u32();\n const flags = payload.u32();\n const skeletonId = payload.u32();\n const submeshesOffset = payload.u32();\n const submeshCount = payload.u32();\n const descriptor = geometries.get(geometryId);\n if (!descriptor) {\n throw new Error(`Mesh ${id} references missing geometry ${geometryId}.`);\n }\n const mesh = new Mesh(stringAt(dataBuffer, nameOffset, nameLength), scene);\n trackAsset(container.meshes, mesh);\n applyMeshOrientation(mesh, flags);\n mesh.parent = nodes.get(nodeId) ?? root ?? null;\n const vertexData = new VertexData();\n assertRange(dataBuffer, descriptor.positions, descriptor.vertexCount * 3, 4, \"positions\");\n vertexData.positions = new Float32Array(dataBuffer, descriptor.positions, descriptor.vertexCount * 3);\n if (descriptor.flags & GeometryFlags.Normals) {\n assertRange(dataBuffer, descriptor.normals, descriptor.vertexCount * 3, 4, \"normals\");\n vertexData.normals = new Float32Array(dataBuffer, descriptor.normals, descriptor.vertexCount * 3);\n }\n if (descriptor.flags & GeometryFlags.Tangents) {\n assertRange(dataBuffer, descriptor.tangents, descriptor.vertexCount * 4, 4, \"tangents\");\n vertexData.tangents = new Float32Array(dataBuffer, descriptor.tangents, descriptor.vertexCount * 4);\n }\n if (descriptor.flags & GeometryFlags.Uv0) {\n assertRange(dataBuffer, descriptor.uv0, descriptor.vertexCount * 2, 4, \"texture coordinates\");\n vertexData.uvs = new Float32Array(dataBuffer, descriptor.uv0, descriptor.vertexCount * 2);\n }\n if (descriptor.flags & GeometryFlags.Colors) {\n assertRange(dataBuffer, descriptor.colors, descriptor.vertexCount * 4, 4, \"vertex colors\");\n vertexData.colors = new Float32Array(dataBuffer, descriptor.colors, descriptor.vertexCount * 4);\n }\n if (descriptor.flags & GeometryFlags.Skin0) {\n assertRange(dataBuffer, descriptor.joints0, descriptor.vertexCount * 4, 2, \"joint indices\");\n assertRange(dataBuffer, descriptor.weights0, descriptor.vertexCount * 4, 4, \"joint weights\");\n vertexData.matricesIndices = Float32Array.from(new Uint16Array(dataBuffer, descriptor.joints0, descriptor.vertexCount * 4));\n vertexData.matricesWeights = new Float32Array(dataBuffer, descriptor.weights0, descriptor.vertexCount * 4);\n }\n if (descriptor.flags & GeometryFlags.Skin1) {\n assertRange(dataBuffer, descriptor.joints1, descriptor.vertexCount * 4, 2, \"extra joint indices\");\n assertRange(dataBuffer, descriptor.weights1, descriptor.vertexCount * 4, 4, \"extra joint weights\");\n vertexData.matricesIndicesExtra = Float32Array.from(new Uint16Array(dataBuffer, descriptor.joints1, descriptor.vertexCount * 4));\n vertexData.matricesWeightsExtra = new Float32Array(dataBuffer, descriptor.weights1, descriptor.vertexCount * 4);\n }\n assertRange(dataBuffer, descriptor.indices, descriptor.indexCount, 4, \"indices\");\n vertexData.indices = new Uint32Array(dataBuffer, descriptor.indices, descriptor.indexCount);\n vertexData.applyToMesh(mesh, true);\n if (mesh.geometry) {\n trackAsset(container.geometries, mesh.geometry);\n }\n mesh.numBoneInfluencers = Math.min(descriptor.influences, 8);\n if (skeletonId !== MISSING_OFFSET) {\n mesh.skeleton = skeletons.get(skeletonId) ?? null;\n }\n\n const submeshView = new DataView(dataBuffer);\n assertRange(dataBuffer, submeshesOffset, submeshCount * 5, 4, \"submeshes\");\n const doubleSided = Boolean(flags & MeshFlags.DoubleSided);\n if (submeshCount === 1 && materialId !== MISSING_OFFSET) {\n mesh.material = materialForMesh(materialId, doubleSided);\n } else {\n const multi = new MultiMaterial(`${mesh.name} materials`, scene);\n trackAsset(container.multiMaterials, multi);\n for (let index = 0; index < submeshCount; ++index) {\n const offset = submeshesOffset + index * 20;\n multi.subMaterials.push(materialForMesh(submeshView.getUint32(offset, true), doubleSided));\n }\n mesh.material = multi;\n }\n mesh.releaseSubMeshes();\n for (let index = 0; index < submeshCount; ++index) {\n const offset = submeshesOffset + index * 20;\n new SubMesh(\n index,\n submeshView.getUint32(offset + 12, true),\n submeshView.getUint32(offset + 16, true),\n submeshView.getUint32(offset + 4, true),\n submeshView.getUint32(offset + 8, true),\n mesh\n );\n }\n meshes.set(id, mesh);\n break;\n }\n case Command.MorphTarget: {\n const id = payload.u32();\n const meshId = payload.u32();\n const nameOffset = payload.u32();\n const nameLength = payload.u32();\n const vertexCount = payload.u32();\n const positionsOffset = payload.u32();\n const normalsOffset = payload.u32();\n const influence = payload.f32();\n const mesh = meshes.get(meshId);\n if (!mesh) {\n throw new Error(`Morph target references missing mesh ${meshId}.`);\n }\n if (morphTargets.has(id) || vertexCount !== mesh.getTotalVertices() || !Number.isFinite(influence)) {\n throw new Error(`Morph target ${id} has invalid metadata.`);\n }\n assertRange(dataBuffer, positionsOffset, vertexCount * 3, 4, \"morph target positions\");\n let manager = morphTargetManagers.get(meshId);\n if (!manager) {\n manager = new MorphTargetManager(scene, mesh.name);\n manager.areUpdatesFrozen = true;\n trackAsset(container.morphTargetManagers, manager);\n morphTargetManagers.set(meshId, manager);\n }\n const target = new MorphTarget(stringAt(dataBuffer, nameOffset, nameLength), influence, scene, manager);\n target.id = `usd-morph-target-${id}`;\n target.setPositions(new Float32Array(dataBuffer, positionsOffset, vertexCount * 3));\n if (normalsOffset !== MISSING_OFFSET) {\n assertRange(dataBuffer, normalsOffset, vertexCount * 3, 4, \"morph target normals\");\n target.setNormals(new Float32Array(dataBuffer, normalsOffset, vertexCount * 3));\n }\n manager.addTarget(target);\n morphTargets.set(id, target);\n break;\n }\n case Command.AnalyticPrimitive: {\n const id = payload.u32();\n const nodeId = payload.u32();\n const type = payload.u32();\n const materialId = payload.u32();\n const nameOffset = payload.u32();\n const nameLength = payload.u32();\n const flags = payload.u32();\n const axis = payload.u32();\n const sizeOrRadius = payload.f32();\n const height = payload.f32();\n const tessellation = payload.u32();\n const name = stringAt(dataBuffer, nameOffset, nameLength);\n if (!Number.isFinite(sizeOrRadius) || sizeOrRadius <= 0) {\n throw new Error(`Analytic primitive ${id} has an invalid size or radius.`);\n }\n if ((type === AnalyticPrimitiveType.Cylinder || type === AnalyticPrimitiveType.Cone) && (!Number.isFinite(height) || height <= 0)) {\n throw new Error(`Analytic primitive ${id} has an invalid height.`);\n }\n if (type !== AnalyticPrimitiveType.Cube && (!Number.isInteger(tessellation) || tessellation < 3 || tessellation > 512)) {\n throw new Error(`Analytic primitive ${id} has invalid tessellation.`);\n }\n let mesh: Mesh;\n switch (type) {\n case AnalyticPrimitiveType.Cube:\n mesh = CreateBox(name, { size: sizeOrRadius }, scene);\n break;\n case AnalyticPrimitiveType.Sphere:\n mesh = CreateSphere(\n name,\n {\n diameter: sizeOrRadius * 2,\n segments: tessellation,\n },\n scene\n );\n break;\n case AnalyticPrimitiveType.Cylinder:\n case AnalyticPrimitiveType.Cone:\n mesh = CreateCylinder(\n name,\n {\n height,\n diameterTop: type === AnalyticPrimitiveType.Cone ? 0 : sizeOrRadius * 2,\n diameterBottom: sizeOrRadius * 2,\n tessellation,\n },\n scene\n );\n break;\n default:\n throw new Error(`Unsupported analytic primitive type ${type}.`);\n }\n trackAsset(container.meshes, mesh);\n if (mesh.geometry) {\n trackAsset(container.geometries, mesh.geometry);\n }\n\n // Babylon builders emit left-handed local winding. Reverse only for USD's\n // default right-handed convention; normals already point outward.\n if (!(flags & MeshFlags.LeftHanded)) {\n const sourceIndices = mesh.getIndices();\n if (!sourceIndices) {\n throw new Error(`Analytic primitive ${id} has no generated indices.`);\n }\n const reversed = Array.from(sourceIndices);\n for (let index = 0; index < reversed.length; index += 3) {\n [reversed[index], reversed[index + 2]] = [reversed[index + 2], reversed[index]];\n }\n mesh.setIndices(reversed);\n }\n if (axis === PrimitiveAxis.X) {\n mesh.rotationQuaternion = Quaternion.RotationAxis(new Vector3(0, 0, 1), -Math.PI / 2);\n } else if (axis === PrimitiveAxis.Z) {\n mesh.rotationQuaternion = Quaternion.RotationAxis(new Vector3(1, 0, 0), Math.PI / 2);\n } else if (axis !== PrimitiveAxis.Y) {\n throw new Error(`Unsupported analytic primitive axis ${axis}.`);\n }\n applyMeshOrientation(mesh, flags);\n mesh.parent = nodes.get(nodeId) ?? root ?? null;\n mesh.material = materialForMesh(materialId, Boolean(flags & MeshFlags.DoubleSided));\n meshes.set(id, mesh);\n break;\n }\n case Command.Instance: {\n const sourceId = payload.u32();\n const nodeId = payload.u32();\n const nameOffset = payload.u32();\n const nameLength = payload.u32();\n const source = meshes.get(sourceId);\n if (!source) {\n throw new Error(`Instance references missing mesh ${sourceId}.`);\n }\n if (thinInstanceSources.has(sourceId)) {\n throw new Error(`Mesh ${sourceId} cannot mix classic and thin instances.`);\n }\n classicInstanceSources.add(sourceId);\n const instance = source.createInstance(stringAt(dataBuffer, nameOffset, nameLength));\n trackAsset(container.meshes, instance);\n instance.parent = nodes.get(nodeId) ?? root ?? null;\n break;\n }\n case Command.ThinInstances: {\n const sourceId = payload.u32();\n const transformsOffset = payload.u32();\n const instanceCount = payload.u32();\n const source = meshes.get(sourceId);\n if (!source) {\n throw new Error(`Thin instances reference missing mesh ${sourceId}.`);\n }\n if (thinInstanceSources.has(sourceId) || classicInstanceSources.has(sourceId)) {\n throw new Error(`Mesh ${sourceId} has duplicate or mixed thin instances.`);\n }\n assertRange(dataBuffer, transformsOffset, instanceCount * 16, 4, \"thin instance transforms\");\n source.thinInstanceSetBuffer(\"matrix\", new Float32Array(dataBuffer, transformsOffset, instanceCount * 16), 16, true);\n source.thinInstanceEnablePicking = true;\n thinInstanceSources.add(sourceId);\n break;\n }\n case Command.Animation: {\n const targetKind = payload.u32();\n const targetId = payload.u32();\n const property = payload.u32();\n const trackIndex = payload.u32();\n const keyCount = payload.u32();\n const timesOffset = payload.u32();\n const valuesOffset = payload.u32();\n const stride = payload.u32();\n if (targetKind !== AnimationTarget.Node && targetKind !== AnimationTarget.Bone && targetKind !== AnimationTarget.MorphTarget) {\n throw new Error(`Invalid animation target kind ${targetKind}.`);\n }\n if ((targetKind === AnimationTarget.MorphTarget) !== (property === AnimationProperty.Influence)) {\n throw new Error(`Invalid animation property ${property} for target kind ${targetKind}.`);\n }\n const expectedStride =\n property === AnimationProperty.Influence\n ? 1\n : property === AnimationProperty.Position || property === AnimationProperty.Scaling\n ? 3\n : property === AnimationProperty.RotationQuaternion\n ? 4\n : property === AnimationProperty.Matrix\n ? 16\n : 0;\n if (stride !== expectedStride) {\n throw new Error(`Invalid animation value stride ${stride} for property ${property}.`);\n }\n const target =\n targetKind === AnimationTarget.Node ? nodes.get(targetId) : targetKind === AnimationTarget.Bone ? bones.get(targetId) : morphTargets.get(targetId);\n if (!target) {\n break;\n }\n const propertyName =\n property === AnimationProperty.Position\n ? \"position\"\n : property === AnimationProperty.RotationQuaternion\n ? \"rotationQuaternion\"\n : property === AnimationProperty.Scaling\n ? \"scaling\"\n : property === AnimationProperty.Influence\n ? \"influence\"\n : targetKind === AnimationTarget.Node\n ? NODE_MATRIX_PROPERTY\n : \"_matrix\";\n const dataType =\n property === AnimationProperty.Influence\n ? Animation.ANIMATIONTYPE_FLOAT\n : property === AnimationProperty.RotationQuaternion\n ? Animation.ANIMATIONTYPE_QUATERNION\n : property === AnimationProperty.Matrix\n ? Animation.ANIMATIONTYPE_MATRIX\n : Animation.ANIMATIONTYPE_VECTOR3;\n const animation = new Animation(`USD ${propertyName}`, propertyName, timeCodesPerSecond, dataType, Animation.ANIMATIONLOOPMODE_CYCLE);\n assertRange(dataBuffer, timesOffset, keyCount, 4, \"animation times\");\n assertRange(dataBuffer, valuesOffset, keyCount * stride, 4, \"animation values\");\n const times = new Float32Array(dataBuffer, timesOffset, keyCount);\n const values = new Float32Array(dataBuffer, valuesOffset, keyCount * stride);\n animation.setKeys(\n Array.from({ length: keyCount }, (_, index) => ({\n frame: times[index],\n value:\n dataType === Animation.ANIMATIONTYPE_QUATERNION\n ? Quaternion.FromArray(values, index * stride)\n : dataType === Animation.ANIMATIONTYPE_MATRIX\n ? Matrix.FromArray(values, index * stride)\n : dataType === Animation.ANIMATIONTYPE_FLOAT\n ? values[index * stride]\n : Vector3.FromArray(values, index * stride),\n }))\n );\n let group = animationGroups.get(trackIndex);\n if (!group) {\n group = new AnimationGroup(`USD Animation ${trackIndex + 1}`, scene);\n animationGroups.set(trackIndex, group);\n trackAsset(container.animationGroups, group);\n }\n group.addTargetedAnimation(animation, target);\n break;\n }\n }\n }\n for (const [meshId, manager] of morphTargetManagers) {\n manager.areUpdatesFrozen = false;\n if (!manager.isUsingTextureForTargets && manager.numTargets <= MorphTargetManager.MaxActiveMorphTargetsInVertexAttributeMode) {\n manager.optimizeInfluencers = false;\n manager.numMaxInfluencers = manager.numTargets;\n }\n meshes.get(meshId)!.morphTargetManager = manager;\n }\n } finally {\n if (!addToScene) {\n scene._blockEntityCollection = previousBlockEntityCollection;\n }\n }\n\n await awaitAbortableAsync(Promise.all(textureLoads), signal);\n await awaitAbortableAsync(\n Promise.all(\n materialTextureBindings.map(async (bindings) => {\n await applyMaterialTextureBindingsAsync(bindings);\n })\n ),\n signal\n );\n for (const { node, parentId } of pendingParents) {\n node.parent = nodes.get(parentId) ?? root ?? null;\n }\n return { container, materializeMs: performance.now() - started };\n } catch (error) {\n rollingBack = true;\n // Decode callbacks can arrive after rollback; observe their rejections without\n // delaying cancellation on an image load that may never finish.\n void Promise.allSettled(textureLoads);\n void Promise.allSettled(processedTextures.values());\n container.dispose();\n for (const url of textureUrls) {\n URL.revokeObjectURL(url);\n }\n throw error;\n }\n}\n"]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { type USDLoadProgress } from "./usdLoadingOptions.js";
|
|
2
|
+
export interface WorkerAsset {
|
|
3
|
+
bytes: Uint8Array;
|
|
4
|
+
fileName: string;
|
|
5
|
+
files?: Record<string, Uint8Array>;
|
|
6
|
+
resolveByFileName: boolean;
|
|
7
|
+
glueUrl?: string;
|
|
8
|
+
wasmUrl?: string;
|
|
9
|
+
dataUrl?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ExtractRequest {
|
|
12
|
+
type: "extract";
|
|
13
|
+
requestId: number;
|
|
14
|
+
asset: WorkerAsset;
|
|
15
|
+
}
|
|
16
|
+
export interface WorkerTimings {
|
|
17
|
+
totalMs: number;
|
|
18
|
+
stageOpenMs: number;
|
|
19
|
+
stageReadMs: number;
|
|
20
|
+
preparationMs: number;
|
|
21
|
+
packingMs: number;
|
|
22
|
+
heapCopyMs: number;
|
|
23
|
+
}
|
|
24
|
+
export interface WorkerStatistics {
|
|
25
|
+
nodes: number;
|
|
26
|
+
meshes: number;
|
|
27
|
+
analyticPrimitives: number;
|
|
28
|
+
instances: number;
|
|
29
|
+
materials: number;
|
|
30
|
+
vertices: number;
|
|
31
|
+
triangles: number;
|
|
32
|
+
commandBytes: number;
|
|
33
|
+
dataBytes: number;
|
|
34
|
+
}
|
|
35
|
+
export type WorkerResponse = {
|
|
36
|
+
type: "progress";
|
|
37
|
+
requestId: number;
|
|
38
|
+
progress: USDLoadProgress;
|
|
39
|
+
} | {
|
|
40
|
+
type: "log";
|
|
41
|
+
requestId: number;
|
|
42
|
+
level: number;
|
|
43
|
+
message: string;
|
|
44
|
+
} | {
|
|
45
|
+
type: "result";
|
|
46
|
+
requestId: number;
|
|
47
|
+
commands: ArrayBuffer;
|
|
48
|
+
data: ArrayBuffer;
|
|
49
|
+
timings: WorkerTimings;
|
|
50
|
+
statistics: WorkerStatistics;
|
|
51
|
+
missingAssets: string[];
|
|
52
|
+
} | {
|
|
53
|
+
type: "error";
|
|
54
|
+
requestId: number;
|
|
55
|
+
message: string;
|
|
56
|
+
stack?: string;
|
|
57
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usdWorkerMessages.js","sourceRoot":"","sources":["../../../../dev/loaders/src/USD/usdWorkerMessages.ts"],"names":[],"mappings":"AAAA,yDAAyD","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\n\nimport { type USDLoadProgress } from \"./usdLoadingOptions\";\n\nexport interface WorkerAsset {\n bytes: Uint8Array;\n fileName: string;\n files?: Record<string, Uint8Array>;\n resolveByFileName: boolean;\n glueUrl?: string;\n wasmUrl?: string;\n dataUrl?: string;\n}\n\nexport interface ExtractRequest {\n type: \"extract\";\n requestId: number;\n asset: WorkerAsset;\n}\n\nexport interface WorkerTimings {\n totalMs: number;\n stageOpenMs: number;\n stageReadMs: number;\n preparationMs: number;\n packingMs: number;\n heapCopyMs: number;\n}\n\nexport interface WorkerStatistics {\n nodes: number;\n meshes: number;\n analyticPrimitives: number;\n instances: number;\n materials: number;\n vertices: number;\n triangles: number;\n commandBytes: number;\n dataBytes: number;\n}\n\nexport type WorkerResponse =\n | { type: \"progress\"; requestId: number; progress: USDLoadProgress }\n | { type: \"log\"; requestId: number; level: number; message: string }\n | {\n type: \"result\";\n requestId: number;\n commands: ArrayBuffer;\n data: ArrayBuffer;\n timings: WorkerTimings;\n statistics: WorkerStatistics;\n missingAssets: string[];\n }\n | { type: \"error\"; requestId: number; message: string; stack?: string };\n"]}
|
package/dynamic.js
CHANGED
|
@@ -6,6 +6,7 @@ import { GLTFFileLoaderMetadata } from "./glTF/glTFFileLoader.metadata.js";
|
|
|
6
6
|
import { OBJFileLoaderMetadata } from "./OBJ/objFileLoader.metadata.js";
|
|
7
7
|
import { SPLATFileLoaderMetadata } from "./SPLAT/splatFileLoader.metadata.js";
|
|
8
8
|
import { STLFileLoaderMetadata } from "./STL/stlFileLoader.metadata.js";
|
|
9
|
+
import { USDFileLoaderMetadata } from "./USD/usdFileLoader.metadata.js";
|
|
9
10
|
import { registerBuiltInGLTFExtensions } from "./glTF/2.0/Extensions/dynamic.js";
|
|
10
11
|
/**
|
|
11
12
|
* Registers the async plugin factories for all built-in loaders.
|
|
@@ -72,5 +73,14 @@ export function registerBuiltInLoaders() {
|
|
|
72
73
|
return new STLFileLoader();
|
|
73
74
|
},
|
|
74
75
|
});
|
|
76
|
+
// Register the USD loader.
|
|
77
|
+
RegisterSceneLoaderPlugin({
|
|
78
|
+
...USDFileLoaderMetadata,
|
|
79
|
+
createPlugin: async (options) => {
|
|
80
|
+
const { USDFileLoader, _RegisterUSDLoaderDependencies } = await import("./USD/usdFileLoader.pure.js");
|
|
81
|
+
_RegisterUSDLoaderDependencies();
|
|
82
|
+
return new USDFileLoader(options[USDFileLoaderMetadata.name]);
|
|
83
|
+
},
|
|
84
|
+
});
|
|
75
85
|
}
|
|
76
86
|
//# sourceMappingURL=dynamic.js.map
|
package/dynamic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../../../dev/loaders/src/dynamic.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\n\r\nimport { type ISceneLoaderPluginFactory, type SceneLoaderPluginOptions, RegisterSceneLoaderPlugin } from \"core/Loading/sceneLoader\";\r\n\r\nimport { BVHFileLoaderMetadata } from \"./BVH/bvhFileLoader.metadata\";\r\nimport { FBXFileLoaderMetadata } from \"./FBX/fbxFileLoader.metadata\";\r\nimport { GLTFFileLoaderMetadata } from \"./glTF/glTFFileLoader.metadata\";\r\nimport { OBJFileLoaderMetadata } from \"./OBJ/objFileLoader.metadata\";\r\nimport { SPLATFileLoaderMetadata } from \"./SPLAT/splatFileLoader.metadata\";\r\nimport { STLFileLoaderMetadata } from \"./STL/stlFileLoader.metadata\";\r\n\r\nimport { registerBuiltInGLTFExtensions } from \"./glTF/2.0/Extensions/dynamic\";\r\n\r\n/**\r\n * Registers the async plugin factories for all built-in loaders.\r\n * Loaders will be dynamically imported on demand, only when a SceneLoader load operation needs each respective loader.\r\n */\r\nexport function registerBuiltInLoaders() {\r\n // Register the BVH loader.\r\n RegisterSceneLoaderPlugin({\r\n ...BVHFileLoaderMetadata,\r\n createPlugin: async (options: SceneLoaderPluginOptions) => {\r\n const { BVHFileLoader } = await import(\"./BVH/bvhFileLoader.pure\");\r\n return new BVHFileLoader(options[BVHFileLoaderMetadata.name]);\r\n },\r\n } satisfies ISceneLoaderPluginFactory);\r\n\r\n // Register the FBX loader.\r\n RegisterSceneLoaderPlugin({\r\n ...FBXFileLoaderMetadata,\r\n createPlugin: async (options: SceneLoaderPluginOptions) => {\r\n const { FBXFileLoader } = await import(\"./FBX/fbxFileLoader.pure\");\r\n return new FBXFileLoader(options[FBXFileLoaderMetadata.name]);\r\n },\r\n } satisfies ISceneLoaderPluginFactory);\r\n\r\n // Register the glTF loader (2.0) specifically/only.\r\n RegisterSceneLoaderPlugin({\r\n ...GLTFFileLoaderMetadata,\r\n createPlugin: async (options: SceneLoaderPluginOptions) => {\r\n const [{ GLTFFileLoader, RegisterGLTF2Loader }, { RegisterInstancedMesh }] = await Promise.all([\r\n import(\"./glTF/2.0/glTFLoader.pure\"),\r\n import(\"core/Meshes/instancedMesh.pure\"),\r\n ]);\r\n RegisterInstancedMesh();\r\n RegisterGLTF2Loader();\r\n return new GLTFFileLoader(options[GLTFFileLoaderMetadata.name]);\r\n },\r\n } satisfies ISceneLoaderPluginFactory);\r\n\r\n // Register the built-in glTF (2.0) extensions.\r\n registerBuiltInGLTFExtensions();\r\n\r\n // Register the OBJ loader.\r\n RegisterSceneLoaderPlugin({\r\n ...OBJFileLoaderMetadata,\r\n createPlugin: async (options: SceneLoaderPluginOptions) => {\r\n const { OBJFileLoader } = await import(\"./OBJ/objFileLoader.pure\");\r\n return new OBJFileLoader(options[OBJFileLoaderMetadata.name]);\r\n },\r\n } satisfies ISceneLoaderPluginFactory);\r\n\r\n // Register the SPLAT loader.\r\n RegisterSceneLoaderPlugin({\r\n ...SPLATFileLoaderMetadata,\r\n createPlugin: async (options: SceneLoaderPluginOptions) => {\r\n const [{ SPLATFileLoader }, { RegisterEnginesExtensionsEngineDynamicTexture }] = await Promise.all([\r\n import(\"./SPLAT/splatFileLoader.pure\"),\r\n import(\"core/Engines/Extensions/engine.dynamicTexture.pure\"),\r\n ]);\r\n RegisterEnginesExtensionsEngineDynamicTexture();\r\n return new SPLATFileLoader(options[SPLATFileLoaderMetadata.name]);\r\n },\r\n } satisfies ISceneLoaderPluginFactory);\r\n\r\n // Register the STL loader.\r\n RegisterSceneLoaderPlugin({\r\n ...STLFileLoaderMetadata,\r\n createPlugin: async () => {\r\n const [{ STLFileLoader }, { RegisterStandardMaterial }] = await Promise.all([import(\"./STL/stlFileLoader.pure\"), import(\"core/Materials/standardMaterial.pure\")]);\r\n RegisterStandardMaterial();\r\n return new STLFileLoader();\r\n },\r\n } satisfies ISceneLoaderPluginFactory);\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../../../dev/loaders/src/dynamic.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAEzD,OAAO,EAAiE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAEpI,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAE9E;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IAClC,2BAA2B;IAC3B,yBAAyB,CAAC;QACtB,GAAG,qBAAqB;QACxB,YAAY,EAAE,KAAK,EAAE,OAAiC,EAAE,EAAE;YACtD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YACnE,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC;KACgC,CAAC,CAAC;IAEvC,2BAA2B;IAC3B,yBAAyB,CAAC;QACtB,GAAG,qBAAqB;QACxB,YAAY,EAAE,KAAK,EAAE,OAAiC,EAAE,EAAE;YACtD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YACnE,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC;KACgC,CAAC,CAAC;IAEvC,oDAAoD;IACpD,yBAAyB,CAAC;QACtB,GAAG,sBAAsB;QACzB,YAAY,EAAE,KAAK,EAAE,OAAiC,EAAE,EAAE;YACtD,MAAM,CAAC,EAAE,cAAc,EAAE,mBAAmB,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC3F,MAAM,CAAC,4BAA4B,CAAC;gBACpC,MAAM,CAAC,gCAAgC,CAAC;aAC3C,CAAC,CAAC;YACH,qBAAqB,EAAE,CAAC;YACxB,mBAAmB,EAAE,CAAC;YACtB,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC;KACgC,CAAC,CAAC;IAEvC,+CAA+C;IAC/C,6BAA6B,EAAE,CAAC;IAEhC,2BAA2B;IAC3B,yBAAyB,CAAC;QACtB,GAAG,qBAAqB;QACxB,YAAY,EAAE,KAAK,EAAE,OAAiC,EAAE,EAAE;YACtD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YACnE,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC;KACgC,CAAC,CAAC;IAEvC,6BAA6B;IAC7B,yBAAyB,CAAC;QACtB,GAAG,uBAAuB;QAC1B,YAAY,EAAE,KAAK,EAAE,OAAiC,EAAE,EAAE;YACtD,MAAM,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,6CAA6C,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/F,MAAM,CAAC,8BAA8B,CAAC;gBACtC,MAAM,CAAC,oDAAoD,CAAC;aAC/D,CAAC,CAAC;YACH,6CAA6C,EAAE,CAAC;YAChD,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,CAAC;KACgC,CAAC,CAAC;IAEvC,2BAA2B;IAC3B,yBAAyB,CAAC;QACtB,GAAG,qBAAqB;QACxB,YAAY,EAAE,KAAK,IAAI,EAAE;YACrB,MAAM,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,wBAAwB,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC,CAAC;YAClK,wBAAwB,EAAE,CAAC;YAC3B,OAAO,IAAI,aAAa,EAAE,CAAC;QAC/B,CAAC;KACgC,CAAC,CAAC;IAEvC,2BAA2B;IAC3B,yBAAyB,CAAC;QACtB,GAAG,qBAAqB;QACxB,YAAY,EAAE,KAAK,EAAE,OAAiC,EAAE,EAAE;YACtD,MAAM,EAAE,aAAa,EAAE,8BAA8B,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YACnG,8BAA8B,EAAE,CAAC;YACjC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC;KACgC,CAAC,CAAC;AAC3C,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\n\r\nimport { type ISceneLoaderPluginFactory, type SceneLoaderPluginOptions, RegisterSceneLoaderPlugin } from \"core/Loading/sceneLoader\";\r\n\r\nimport { BVHFileLoaderMetadata } from \"./BVH/bvhFileLoader.metadata\";\r\nimport { FBXFileLoaderMetadata } from \"./FBX/fbxFileLoader.metadata\";\r\nimport { GLTFFileLoaderMetadata } from \"./glTF/glTFFileLoader.metadata\";\r\nimport { OBJFileLoaderMetadata } from \"./OBJ/objFileLoader.metadata\";\r\nimport { SPLATFileLoaderMetadata } from \"./SPLAT/splatFileLoader.metadata\";\r\nimport { STLFileLoaderMetadata } from \"./STL/stlFileLoader.metadata\";\r\nimport { USDFileLoaderMetadata } from \"./USD/usdFileLoader.metadata\";\r\n\r\nimport { registerBuiltInGLTFExtensions } from \"./glTF/2.0/Extensions/dynamic\";\r\n\r\n/**\r\n * Registers the async plugin factories for all built-in loaders.\r\n * Loaders will be dynamically imported on demand, only when a SceneLoader load operation needs each respective loader.\r\n */\r\nexport function registerBuiltInLoaders() {\r\n // Register the BVH loader.\r\n RegisterSceneLoaderPlugin({\r\n ...BVHFileLoaderMetadata,\r\n createPlugin: async (options: SceneLoaderPluginOptions) => {\r\n const { BVHFileLoader } = await import(\"./BVH/bvhFileLoader.pure\");\r\n return new BVHFileLoader(options[BVHFileLoaderMetadata.name]);\r\n },\r\n } satisfies ISceneLoaderPluginFactory);\r\n\r\n // Register the FBX loader.\r\n RegisterSceneLoaderPlugin({\r\n ...FBXFileLoaderMetadata,\r\n createPlugin: async (options: SceneLoaderPluginOptions) => {\r\n const { FBXFileLoader } = await import(\"./FBX/fbxFileLoader.pure\");\r\n return new FBXFileLoader(options[FBXFileLoaderMetadata.name]);\r\n },\r\n } satisfies ISceneLoaderPluginFactory);\r\n\r\n // Register the glTF loader (2.0) specifically/only.\r\n RegisterSceneLoaderPlugin({\r\n ...GLTFFileLoaderMetadata,\r\n createPlugin: async (options: SceneLoaderPluginOptions) => {\r\n const [{ GLTFFileLoader, RegisterGLTF2Loader }, { RegisterInstancedMesh }] = await Promise.all([\r\n import(\"./glTF/2.0/glTFLoader.pure\"),\r\n import(\"core/Meshes/instancedMesh.pure\"),\r\n ]);\r\n RegisterInstancedMesh();\r\n RegisterGLTF2Loader();\r\n return new GLTFFileLoader(options[GLTFFileLoaderMetadata.name]);\r\n },\r\n } satisfies ISceneLoaderPluginFactory);\r\n\r\n // Register the built-in glTF (2.0) extensions.\r\n registerBuiltInGLTFExtensions();\r\n\r\n // Register the OBJ loader.\r\n RegisterSceneLoaderPlugin({\r\n ...OBJFileLoaderMetadata,\r\n createPlugin: async (options: SceneLoaderPluginOptions) => {\r\n const { OBJFileLoader } = await import(\"./OBJ/objFileLoader.pure\");\r\n return new OBJFileLoader(options[OBJFileLoaderMetadata.name]);\r\n },\r\n } satisfies ISceneLoaderPluginFactory);\r\n\r\n // Register the SPLAT loader.\r\n RegisterSceneLoaderPlugin({\r\n ...SPLATFileLoaderMetadata,\r\n createPlugin: async (options: SceneLoaderPluginOptions) => {\r\n const [{ SPLATFileLoader }, { RegisterEnginesExtensionsEngineDynamicTexture }] = await Promise.all([\r\n import(\"./SPLAT/splatFileLoader.pure\"),\r\n import(\"core/Engines/Extensions/engine.dynamicTexture.pure\"),\r\n ]);\r\n RegisterEnginesExtensionsEngineDynamicTexture();\r\n return new SPLATFileLoader(options[SPLATFileLoaderMetadata.name]);\r\n },\r\n } satisfies ISceneLoaderPluginFactory);\r\n\r\n // Register the STL loader.\r\n RegisterSceneLoaderPlugin({\r\n ...STLFileLoaderMetadata,\r\n createPlugin: async () => {\r\n const [{ STLFileLoader }, { RegisterStandardMaterial }] = await Promise.all([import(\"./STL/stlFileLoader.pure\"), import(\"core/Materials/standardMaterial.pure\")]);\r\n RegisterStandardMaterial();\r\n return new STLFileLoader();\r\n },\r\n } satisfies ISceneLoaderPluginFactory);\r\n\r\n // Register the USD loader.\r\n RegisterSceneLoaderPlugin({\r\n ...USDFileLoaderMetadata,\r\n createPlugin: async (options: SceneLoaderPluginOptions) => {\r\n const { USDFileLoader, _RegisterUSDLoaderDependencies } = await import(\"./USD/usdFileLoader.pure\");\r\n _RegisterUSDLoaderDependencies();\r\n return new USDFileLoader(options[USDFileLoaderMetadata.name]);\r\n },\r\n } satisfies ISceneLoaderPluginFactory);\r\n}\r\n"]}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../dev/loaders/src/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../dev/loaders/src/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAE5B,cAAc,WAAW,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-restricted-imports */\r\nexport * from \"./BVH/index\";\r\nexport * from \"./FBX/index\";\r\nexport * from \"./glTF/index\";\r\nexport * from \"./OBJ/index\";\r\nexport * from \"./STL/index\";\r\nexport * from \"./SPLAT/index\";\r\nexport * from \"./USD/index\";\r\n\r\nexport * from \"./dynamic\";\r\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onerjs/loaders",
|
|
3
|
-
"version": "8.56.
|
|
3
|
+
"version": "8.56.2",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"module": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
"postcompile": "build-tools -c add-js-to-es6"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@onerjs/core": "8.56.
|
|
21
|
+
"@onerjs/core": "8.56.2",
|
|
22
22
|
"@dev/build-tools": "^1.0.0",
|
|
23
23
|
"@dev/loaders": "^1.0.0",
|
|
24
|
-
"babylonjs-gltf2interface": "^8.56.
|
|
24
|
+
"babylonjs-gltf2interface": "^8.56.2"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
27
|
"@onerjs/core": "^8.0.0",
|
package/pure.d.ts
CHANGED
package/pure.js
CHANGED
package/pure.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pure.js","sourceRoot":"","sources":["../../../dev/loaders/src/pure.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,6DAA6D;AAC7D,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC","sourcesContent":["/** Pure barrel — re-exports only side-effect-free modules */\n/* eslint-disable @typescript-eslint/no-restricted-imports */\nexport * from \"./BVH/pure\";\nexport * from \"./FBX/pure\";\nexport * from \"./glTF/pure\";\nexport * from \"./OBJ/pure\";\nexport * from \"./STL/pure\";\nexport * from \"./SPLAT/pure\";\nexport * from \"./dynamic\";\n"]}
|
|
1
|
+
{"version":3,"file":"pure.js","sourceRoot":"","sources":["../../../dev/loaders/src/pure.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,6DAA6D;AAC7D,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC","sourcesContent":["/** Pure barrel — re-exports only side-effect-free modules */\n/* eslint-disable @typescript-eslint/no-restricted-imports */\nexport * from \"./BVH/pure\";\nexport * from \"./FBX/pure\";\nexport * from \"./glTF/pure\";\nexport * from \"./OBJ/pure\";\nexport * from \"./STL/pure\";\nexport * from \"./SPLAT/pure\";\nexport * from \"./USD/pure\";\nexport * from \"./dynamic\";\n"]}
|