@carbonenginejs/runtime 0.1.0-alpha.4 → 0.1.0-alpha.5
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/global/blue/BlueClasses.js +200 -0
- package/dist/global/blue/BlueClasses.js.map +1 -0
- package/dist/global/blue/IBlueClasses.js +79 -0
- package/dist/global/blue/IBlueClasses.js.map +1 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js +16 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js.map +1 -1
- package/dist/global/blue/blue.js +8 -2
- package/dist/global/blue/blue.js.map +1 -1
- package/dist/global/blue/index.js +2 -0
- package/dist/global/blue/index.js.map +1 -1
- package/dist/global/consts/index.js +0 -1
- package/dist/global/consts/index.js.map +1 -1
- package/dist/global/consts/renderContext/formats.js +26 -25
- package/dist/global/consts/renderContext/formats.js.map +1 -1
- package/dist/{trinityal/Tr2BitmapDimensions.js → global/imageio/BitmapDimensions.js} +19 -15
- package/dist/global/imageio/BitmapDimensions.js.map +1 -0
- package/dist/global/imageio/Cutout.js +28 -0
- package/dist/global/imageio/Cutout.js.map +1 -0
- package/dist/global/imageio/HostBitmap.js +1106 -0
- package/dist/global/imageio/HostBitmap.js.map +1 -0
- package/dist/global/imageio/ImageIOResult.js +99 -0
- package/dist/global/imageio/ImageIOResult.js.map +1 -0
- package/dist/global/imageio/ImageUtility.js +205 -0
- package/dist/global/imageio/ImageUtility.js.map +1 -0
- package/dist/global/imageio/LoadParameters.js +86 -0
- package/dist/global/imageio/LoadParameters.js.map +1 -0
- package/dist/global/imageio/Metadata.js +22 -0
- package/dist/global/imageio/Metadata.js.map +1 -0
- package/dist/global/imageio/index.js +8 -0
- package/dist/global/{consts/webgpu → imageio}/index.js.map +1 -1
- package/dist/global/index.js +2 -1
- package/dist/global/index.js.map +1 -1
- package/dist/global/math/color.js +1 -1
- package/dist/global/math/color.js.map +1 -1
- package/dist/global/schema/CjsSchema.js +8 -0
- package/dist/global/schema/CjsSchema.js.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/resource/CjsResMan.js +47 -7
- package/dist/resource/CjsResMan.js.map +1 -1
- package/dist/resource/Tr2LightProfileRes.js +37 -0
- package/dist/resource/Tr2LightProfileRes.js.map +1 -1
- package/dist/resource/format/CjsByteWriter.js +46 -46
- package/dist/resource/format/CjsByteWriter.js.map +1 -1
- package/dist/resource/format/CjsFormat.js +7 -8
- package/dist/resource/format/CjsFormat.js.map +1 -1
- package/dist/resource/format/CjsFormatStore.js +8 -8
- package/dist/resource/format/CjsFormatStore.js.map +1 -1
- package/dist/resource/format/CjsGeometryFormat.js +114 -0
- package/dist/resource/format/CjsGeometryFormat.js.map +1 -0
- package/dist/resource/format/CjsImageFormat.js +282 -0
- package/dist/resource/format/CjsImageFormat.js.map +1 -0
- package/dist/resource/format/CjsResourceProbe.js +12 -48
- package/dist/resource/format/CjsResourceProbe.js.map +1 -1
- package/dist/resource/format/CjsStringTable.js +37 -37
- package/dist/resource/format/CjsStringTable.js.map +1 -1
- package/dist/resource/format/carbonEffect/CjsCarbonEffectReader.js +10 -10
- package/dist/resource/format/carbonEffect/CjsCarbonEffectReader.js.map +1 -1
- package/dist/resource/format/carbonEffect/CjsCarbonEffectWriter.js +37 -37
- package/dist/resource/format/carbonEffect/CjsCarbonEffectWriter.js.map +1 -1
- package/dist/resource/format/carbonEffect/carbonEffectBackendBlock.js +35 -7
- package/dist/resource/format/carbonEffect/carbonEffectBackendBlock.js.map +1 -1
- package/dist/resource/format/index.js +3 -1
- package/dist/resource/format/index.js.map +1 -1
- package/dist/resource/formats/black/CjsBlackFormat.js +130 -137
- package/dist/resource/formats/black/CjsBlackFormat.js.map +1 -1
- package/dist/resource/formats/bnk/CjsBnkFormat.js +12 -19
- package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
- package/dist/resource/formats/bnk/core/helpers.js +1 -3
- package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
- package/dist/resource/formats/cmf/CjsCmfFormat.js +19 -82
- package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
- package/dist/resource/formats/cmf/core/constants.js +1 -2
- package/dist/resource/formats/cmf/core/constants.js.map +1 -1
- package/dist/resource/formats/{stl/core/targets.js → cmf/core/flatShared.js} +9 -8
- package/dist/resource/formats/cmf/core/flatShared.js.map +1 -0
- package/dist/resource/formats/cmf/core/helpers.js +13 -13
- package/dist/resource/formats/cmf/core/helpers.js.map +1 -1
- package/dist/resource/formats/cmf/core/writer.js +24 -24
- package/dist/resource/formats/cmf/core/writer.js.map +1 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js +134 -17
- package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/resource/formats/dds/core/helpers.js +125 -40
- package/dist/resource/formats/dds/core/helpers.js.map +1 -1
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js +14 -16
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
- package/dist/resource/formats/dxbc/core/{container.js → DxbcContainer.js} +2 -2
- package/dist/resource/formats/dxbc/core/DxbcContainer.js.map +1 -0
- package/dist/resource/formats/dxbc/core/{errors.js → DxbcReadError.js} +1 -1
- package/dist/resource/formats/dxbc/core/DxbcReadError.js.map +1 -0
- package/dist/resource/formats/dxbc/core/DxbcReader.js +1 -1
- package/dist/resource/formats/dxbc/core/DxbcReader.js.map +1 -1
- package/dist/resource/formats/dxbc/core/{program.js → DxbcShaderProgram.js} +2 -2
- package/dist/resource/formats/dxbc/core/DxbcShaderProgram.js.map +1 -0
- package/dist/resource/formats/dxbc/core/{signature.js → DxbcSignatureChunk.js} +2 -2
- package/dist/resource/formats/dxbc/core/DxbcSignatureChunk.js.map +1 -0
- package/dist/resource/formats/dxbc/core/decoder.js +2 -2
- package/dist/resource/formats/dxbc/core/decoder.js.map +1 -1
- package/dist/resource/formats/dxbc/core/helpers.js +3 -3
- package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
- package/dist/resource/formats/fbx/CjsFbxFormat.js +18 -20
- package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
- package/dist/resource/formats/flac/CjsFlacFormat.js +7 -13
- package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
- package/dist/resource/formats/fsd/32/CjsFsd32Format.js +29 -29
- package/dist/resource/formats/fsd/32/CjsFsd32Format.js.map +1 -1
- package/dist/resource/formats/fsd/64/CjsFsd64Format.js +3 -3
- package/dist/resource/formats/fsd/64/CjsFsd64Format.js.map +1 -1
- package/dist/resource/formats/fsd/64/core/CjsFsd64Binary.js +23 -23
- package/dist/resource/formats/fsd/64/core/CjsFsd64Binary.js.map +1 -1
- package/dist/resource/formats/fsd/64/core/CjsFsd64Reader.js +8 -8
- package/dist/resource/formats/fsd/64/core/CjsFsd64Reader.js.map +1 -1
- package/dist/resource/formats/fsd/CjsFsdFormat.js +23 -23
- package/dist/resource/formats/fsd/CjsFsdFormat.js.map +1 -1
- package/dist/resource/formats/gif/CjsGifFormat.js +24 -15
- package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
- package/dist/resource/formats/gltf/CjsGltfFormat.js +33 -98
- package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
- package/dist/resource/formats/gltf/core/helpers.js +3 -12
- package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
- package/dist/resource/formats/gr2/CjsGr2Format.js +27 -91
- package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
- package/dist/resource/formats/hlsl/CjsHlslFormat.js +22 -25
- package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
- package/dist/resource/formats/hlsl/core/carbonDescriptionToRuntime.js +1 -1
- package/dist/resource/formats/hlsl/core/carbonDescriptionToRuntime.js.map +1 -1
- package/dist/resource/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js +3 -3
- package/dist/resource/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js.map +1 -1
- package/dist/resource/formats/ies/CjsIESFormat.js +29 -29
- package/dist/resource/formats/ies/CjsIESFormat.js.map +1 -1
- package/dist/resource/formats/jpeg/CjsJpegFormat.js +24 -15
- package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
- package/dist/resource/formats/jpeg/core/helpers.js +3 -5
- package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
- package/dist/resource/formats/jpeg/core/jpeg.js +58 -58
- package/dist/resource/formats/jpeg/core/jpeg.js.map +1 -1
- package/dist/resource/formats/jsonl/CjsJsonlFormat.js +3 -3
- package/dist/resource/formats/jsonl/CjsJsonlFormat.js.map +1 -1
- package/dist/resource/formats/mp3/CjsMp3Format.js +7 -14
- package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
- package/dist/resource/formats/mp3/core/helpers.js +3 -5
- package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
- package/dist/resource/formats/mp4/CjsMp4Format.js +7 -13
- package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
- package/dist/resource/formats/mp4/core/helpers.js +3 -5
- package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
- package/dist/resource/formats/obj/CjsObjFormat.js +92 -157
- package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
- package/dist/resource/formats/obj/core/helpers.js +5 -113
- package/dist/resource/formats/obj/core/helpers.js.map +1 -1
- package/dist/resource/formats/ogg/CjsOggFormat.js +7 -14
- package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
- package/dist/resource/formats/pickle/CjsPickleFormat.js +7 -12
- package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js +7 -7
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js +7 -7
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js.map +1 -1
- package/dist/resource/formats/png/CjsPngFormat.js +40 -15
- package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
- package/dist/resource/formats/png/core/helpers.js +4 -6
- package/dist/resource/formats/png/core/helpers.js.map +1 -1
- package/dist/resource/formats/red/CjsRedFormat.js +22 -28
- package/dist/resource/formats/red/CjsRedFormat.js.map +1 -1
- package/dist/resource/formats/schemabound/CjsSchemaBoundFormat.js +3 -7
- package/dist/resource/formats/schemabound/CjsSchemaBoundFormat.js.map +1 -1
- package/dist/resource/formats/schemabound/core/schemaBoundValues.js +5 -0
- package/dist/resource/formats/schemabound/core/schemaBoundValues.js.map +1 -1
- package/dist/resource/formats/sqlite/CjsSqliteFormat.js +4 -9
- package/dist/resource/formats/sqlite/CjsSqliteFormat.js.map +1 -1
- package/dist/resource/formats/static/CjsStaticFormat.js +4 -4
- package/dist/resource/formats/static/CjsStaticFormat.js.map +1 -1
- package/dist/resource/formats/stl/CjsStlFormat.js +39 -104
- package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
- package/dist/resource/formats/stl/core/helpers.js +5 -19
- package/dist/resource/formats/stl/core/helpers.js.map +1 -1
- package/dist/resource/formats/tga/CjsTgaFormat.js +26 -15
- package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
- package/dist/resource/formats/tga/core/helpers.js +3 -5
- package/dist/resource/formats/tga/core/helpers.js.map +1 -1
- package/dist/resource/formats/vta/CjsVtaFormat.js +8 -15
- package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
- package/dist/resource/formats/wav/CjsWavFormat.js +7 -14
- package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
- package/dist/resource/formats/wav/core/helpers.js +3 -5
- package/dist/resource/formats/wav/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgl/CjsWebglFormat.js +103 -105
- package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
- package/dist/resource/formats/webgl/core/{errors.js → WebglReadError.js} +1 -1
- package/dist/resource/formats/webgl/core/WebglReadError.js.map +1 -0
- package/dist/resource/formats/webgl/core/effectPackage.js +1 -1
- package/dist/resource/formats/webgl/core/effectPackage.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +3 -3
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/{DxbcGlslHelpers.js → DxbcGlslHelperRegistry.js} +2 -2
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslHelperRegistry.js.map +1 -0
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
- package/dist/resource/formats/webgl/core/glslBackendBlock.js +1 -1
- package/dist/resource/formats/webgl/core/glslBackendBlock.js.map +1 -1
- package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +28 -29
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
- package/dist/resource/formats/webgpu/core/{errors.js → WebgpuReadError.js} +1 -1
- package/dist/resource/formats/webgpu/core/WebgpuReadError.js.map +1 -0
- package/dist/resource/formats/webgpu/core/carbonWebgpu/validateContainer.js +1 -1
- package/dist/resource/formats/webgpu/core/carbonWebgpu/validateContainer.js.map +1 -1
- package/dist/resource/formats/webgpu/core/helpers.js +1 -1
- package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgpu/core/ir/lowerDxbcToIr.js +1 -1
- package/dist/resource/formats/webgpu/core/ir/lowerDxbcToIr.js.map +1 -1
- package/dist/resource/formats/webgpu/core/wgsl/buildWgslSet.js +18 -6
- package/dist/resource/formats/webgpu/core/wgsl/buildWgslSet.js.map +1 -1
- package/dist/resource/formats/webgpu/core/wgsl/lowerBindingLayout.js +39 -13
- package/dist/resource/formats/webgpu/core/wgsl/lowerBindingLayout.js.map +1 -1
- package/dist/resource/formats/webgpu/core/wgsl/lowerCreateHistogramsComputeProgram.js +16 -14
- package/dist/resource/formats/webgpu/core/wgsl/lowerCreateHistogramsComputeProgram.js.map +1 -1
- package/dist/resource/formats/webm/CjsWebmFormat.js +8 -13
- package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
- package/dist/resource/formats/webm/core/helpers.js +3 -5
- package/dist/resource/formats/webm/core/helpers.js.map +1 -1
- package/dist/resource/formats/webp/CjsWebpFormat.js +8 -12
- package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
- package/dist/resource/formats/wem/CjsWemFormat.js +9 -17
- package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
- package/dist/resource/formats/wem/core/bitStream.js +35 -35
- package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
- package/dist/resource/formats/wem/core/helpers.js +1 -3
- package/dist/resource/formats/wem/core/helpers.js.map +1 -1
- package/dist/resource/formats/yaml/CjsYamlFormat.js +28 -37
- package/dist/resource/formats/yaml/CjsYamlFormat.js.map +1 -1
- package/dist/resource/imageio/ImageIO.js +142 -0
- package/dist/resource/imageio/ImageIO.js.map +1 -0
- package/dist/resource/imageio/index.js +17 -0
- package/dist/resource/imageio/index.js.map +1 -0
- package/dist/resource/index.js +7 -0
- package/dist/resource/index.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectResource.js +24 -2
- package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +76 -5
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/texture/CjsTextureArrayConstructor.js +97 -0
- package/dist/resource/texture/CjsTextureArrayConstructor.js.map +1 -0
- package/dist/resource/texture/CjsTexturePackConstructor.js +160 -0
- package/dist/resource/texture/CjsTexturePackConstructor.js.map +1 -0
- package/dist/resource/texture/CjsTexturePipelineStepArray.js +72 -0
- package/dist/resource/texture/CjsTexturePipelineStepArray.js.map +1 -0
- package/dist/resource/texture/CjsTexturePipelineStepConvert.js +73 -0
- package/dist/resource/texture/CjsTexturePipelineStepConvert.js.map +1 -0
- package/dist/resource/texture/CjsTexturePipelineStepPack.js +71 -0
- package/dist/resource/texture/CjsTexturePipelineStepPack.js.map +1 -0
- package/dist/resource/texture/CjsTexturePipelineStepResize.js +123 -0
- package/dist/resource/texture/CjsTexturePipelineStepResize.js.map +1 -0
- package/dist/resource/texture/SolidColorTextureConstructor.js +11 -1
- package/dist/resource/texture/SolidColorTextureConstructor.js.map +1 -1
- package/dist/resource/texture/Tr2ImageRes.js +100 -68
- package/dist/resource/texture/Tr2ImageRes.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipeline.js +45 -25
- package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +34 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +30 -3
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +81 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +36 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js +146 -24
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
- package/dist/resource/texture/TriTextureRes.js +151 -29
- package/dist/resource/texture/TriTextureRes.js.map +1 -1
- package/dist/resource/texture/index.js +7 -0
- package/dist/resource/texture/index.js.map +1 -1
- package/dist/resource/texture/registerTextureResources.js +83 -0
- package/dist/resource/texture/registerTextureResources.js.map +1 -0
- package/dist/resource/texture/solidColorTexture.js +10 -19
- package/dist/resource/texture/solidColorTexture.js.map +1 -1
- package/dist/sof/EveSOF.js +39 -7
- package/dist/sof/EveSOF.js.map +1 -1
- package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js +2 -2
- package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -1
- package/dist/trinity/core/Tr2ImageIOHelpers.js +80 -17
- package/dist/trinity/core/Tr2ImageIOHelpers.js.map +1 -1
- package/dist/trinity/core/Tr2RenderUtils.js +1 -1
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js +49 -62
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -1
- package/dist/trinity/core/Tr2TextureReference.js +114 -0
- package/dist/trinity/core/Tr2TextureReference.js.map +1 -0
- package/dist/trinity/core/device/Tr2DepthStencil.js +2 -2
- package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js +1 -1
- package/dist/trinity/core/index.js +1 -0
- package/dist/trinity/core/index.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js +5 -4
- package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
- package/dist/trinity/core/procedural/GradientTextureConstructor.js +5 -4
- package/dist/trinity/core/procedural/GradientTextureConstructor.js.map +1 -1
- package/dist/trinity/core/procedural/gradientTexture.js +10 -13
- package/dist/trinity/core/procedural/gradientTexture.js.map +1 -1
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +1 -1
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
- package/dist/trinity/eve/EveImpactOverlay.js +102 -50
- package/dist/trinity/eve/EveImpactOverlay.js.map +1 -1
- package/dist/trinity/eve/EveModularObjectModifier.js +9 -18
- package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +175 -157
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js +100 -83
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +26 -20
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js +368 -179
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -1
- package/dist/trinity/eve/child/EveChildMesh.js +242 -234
- package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTurret.js +57 -16
- package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
- package/dist/trinity/eve/child/EveSpaceObjectChild.js +28 -1
- package/dist/trinity/eve/child/EveSpaceObjectChild.js.map +1 -1
- package/dist/trinity/eve/index.js +2 -2
- package/dist/trinity/eve/overlays/EveDamageOverlay.js +5 -1
- package/dist/trinity/eve/overlays/EveDamageOverlay.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceScene.js +234 -233
- package/dist/trinity/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js +2 -0
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +492 -437
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/trinity/generated/index.js +0 -1
- package/dist/trinity/generated/index.js.map +1 -1
- package/dist/trinity/generated/trinityCore/index.js +0 -1
- package/dist/trinity/generated/trinityCore/index.js.map +1 -1
- package/dist/trinity/index.js +3 -3
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +10 -1
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/trinity/shader/Tr2DataTextureManager.js +152 -66
- package/dist/trinity/shader/Tr2DataTextureManager.js.map +1 -1
- package/dist/trinity/shader/Tr2Material.js +1 -1
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js +5 -5
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -1
- package/dist/trinityal/index.js +1 -1
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js +2 -2
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2SwapChainALStub.js +45 -45
- package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2TextureALStub.js +170 -170
- package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js +234 -164
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +7 -0
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +78 -14
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuUtils.js +94 -0
- package/dist/trinityal/webgpu/core/CjsWebgpuUtils.js.map +1 -0
- package/dist/trinityal/webgpu/internal.js +1 -0
- package/dist/trinityal/webgpu/internal.js.map +1 -1
- package/docs/global/reference/classes/README.md +90 -0
- package/docs/resource/concepts/format-capabilities.md +3 -3
- package/docs/resource/formats/README.md +1 -1
- package/docs/resource/reference/classes/core.md +31 -1
- package/docs/resource/reference/classes/formats.md +7 -7
- package/docs/resource/reference/classes/resources.md +76 -16
- package/docs/trinity/reference/classes/generated.md +0 -10
- package/docs/trinity/reference/classes/trinity-core.md +1692 -1682
- package/docs/trinityal/reference/classes/README.md +0 -10
- package/docs/trinityal/webgpu/reference/classes/README.md +276 -266
- package/package.json +4 -3
- package/dist/global/consts/webgpu/index.js +0 -2
- package/dist/global/consts/webgpu/textureFormats.js +0 -180
- package/dist/global/consts/webgpu/textureFormats.js.map +0 -1
- package/dist/resource/formats/dxbc/core/container.js.map +0 -1
- package/dist/resource/formats/dxbc/core/errors.js.map +0 -1
- package/dist/resource/formats/dxbc/core/program.js.map +0 -1
- package/dist/resource/formats/dxbc/core/signature.js.map +0 -1
- package/dist/resource/formats/stl/core/targets.js.map +0 -1
- package/dist/resource/formats/webgl/core/errors.js.map +0 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslHelpers.js.map +0 -1
- package/dist/resource/formats/webgpu/core/errors.js.map +0 -1
- package/dist/resource/texture/texturePipelineBehavior.js +0 -332
- package/dist/resource/texture/texturePipelineBehavior.js.map +0 -1
- package/dist/trinity/generated/trinityCore/Tr2TextureReference.js +0 -40
- package/dist/trinity/generated/trinityCore/Tr2TextureReference.js.map +0 -1
- package/dist/trinityal/Tr2BitmapDimensions.js.map +0 -1
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import { PixelFormat } from '../graphics/pixelFormats.js';
|
|
2
|
-
import { PixelFormat as PixelFormat$1 } from '../renderContext/formats.js';
|
|
3
|
-
import { DxgiFormat } from '../d3d/dxgiFormats.js';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* WebGPU texture format tokens mirrored as stable strings.
|
|
7
|
-
*/
|
|
8
|
-
const GpuTextureFormat = Object.freeze({
|
|
9
|
-
R8_UNORM: "r8unorm",
|
|
10
|
-
RG8_UNORM: "rg8unorm",
|
|
11
|
-
RGBA8_UNORM: "rgba8unorm",
|
|
12
|
-
RGBA8_UNORM_SRGB: "rgba8unorm-srgb",
|
|
13
|
-
BGRA8_UNORM: "bgra8unorm",
|
|
14
|
-
BGRA8_UNORM_SRGB: "bgra8unorm-srgb",
|
|
15
|
-
R16_FLOAT: "r16float",
|
|
16
|
-
RG16_FLOAT: "rg16float",
|
|
17
|
-
RGBA16_FLOAT: "rgba16float",
|
|
18
|
-
R32_FLOAT: "r32float",
|
|
19
|
-
RG32_FLOAT: "rg32float",
|
|
20
|
-
RGBA32_FLOAT: "rgba32float",
|
|
21
|
-
BC1_RGBA_UNORM: "bc1-rgba-unorm",
|
|
22
|
-
BC1_RGBA_UNORM_SRGB: "bc1-rgba-unorm-srgb",
|
|
23
|
-
BC2_RGBA_UNORM: "bc2-rgba-unorm",
|
|
24
|
-
BC2_RGBA_UNORM_SRGB: "bc2-rgba-unorm-srgb",
|
|
25
|
-
BC3_RGBA_UNORM: "bc3-rgba-unorm",
|
|
26
|
-
BC3_RGBA_UNORM_SRGB: "bc3-rgba-unorm-srgb",
|
|
27
|
-
BC4_R_UNORM: "bc4-r-unorm",
|
|
28
|
-
BC4_R_SNORM: "bc4-r-snorm",
|
|
29
|
-
BC5_RG_UNORM: "bc5-rg-unorm",
|
|
30
|
-
BC5_RG_SNORM: "bc5-rg-snorm",
|
|
31
|
-
BC6H_RGB_UFLOAT: "bc6h-rgb-ufloat",
|
|
32
|
-
BC6H_RGB_FLOAT: "bc6h-rgb-float",
|
|
33
|
-
BC7_RGBA_UNORM: "bc7-rgba-unorm",
|
|
34
|
-
BC7_RGBA_UNORM_SRGB: "bc7-rgba-unorm-srgb"
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Map canonical CarbonEngineJS pixel formats to WebGPU texture format strings.
|
|
39
|
-
*/
|
|
40
|
-
const PixelFormatToWebGpu = Object.freeze({
|
|
41
|
-
[PixelFormat.R8_UNORM]: GpuTextureFormat.R8_UNORM,
|
|
42
|
-
[PixelFormat.RG8_UNORM]: GpuTextureFormat.RG8_UNORM,
|
|
43
|
-
[PixelFormat.RGBA8_UNORM]: GpuTextureFormat.RGBA8_UNORM,
|
|
44
|
-
[PixelFormat.RGBA8_UNORM_SRGB]: GpuTextureFormat.RGBA8_UNORM_SRGB,
|
|
45
|
-
[PixelFormat.BGRA8_UNORM]: GpuTextureFormat.BGRA8_UNORM,
|
|
46
|
-
[PixelFormat.BGRA8_UNORM_SRGB]: GpuTextureFormat.BGRA8_UNORM_SRGB,
|
|
47
|
-
[PixelFormat.R16_FLOAT]: GpuTextureFormat.R16_FLOAT,
|
|
48
|
-
[PixelFormat.RG16_FLOAT]: GpuTextureFormat.RG16_FLOAT,
|
|
49
|
-
[PixelFormat.RGBA16_FLOAT]: GpuTextureFormat.RGBA16_FLOAT,
|
|
50
|
-
[PixelFormat.R32_FLOAT]: GpuTextureFormat.R32_FLOAT,
|
|
51
|
-
[PixelFormat.RG32_FLOAT]: GpuTextureFormat.RG32_FLOAT,
|
|
52
|
-
[PixelFormat.RGBA32_FLOAT]: GpuTextureFormat.RGBA32_FLOAT,
|
|
53
|
-
[PixelFormat.BC1_RGBA_UNORM]: GpuTextureFormat.BC1_RGBA_UNORM,
|
|
54
|
-
[PixelFormat.BC1_RGBA_UNORM_SRGB]: GpuTextureFormat.BC1_RGBA_UNORM_SRGB,
|
|
55
|
-
[PixelFormat.BC2_RGBA_UNORM]: GpuTextureFormat.BC2_RGBA_UNORM,
|
|
56
|
-
[PixelFormat.BC2_RGBA_UNORM_SRGB]: GpuTextureFormat.BC2_RGBA_UNORM_SRGB,
|
|
57
|
-
[PixelFormat.BC3_RGBA_UNORM]: GpuTextureFormat.BC3_RGBA_UNORM,
|
|
58
|
-
[PixelFormat.BC3_RGBA_UNORM_SRGB]: GpuTextureFormat.BC3_RGBA_UNORM_SRGB,
|
|
59
|
-
[PixelFormat.BC4_R_UNORM]: GpuTextureFormat.BC4_R_UNORM,
|
|
60
|
-
[PixelFormat.BC4_R_SNORM]: GpuTextureFormat.BC4_R_SNORM,
|
|
61
|
-
[PixelFormat.BC5_RG_UNORM]: GpuTextureFormat.BC5_RG_UNORM,
|
|
62
|
-
[PixelFormat.BC5_RG_SNORM]: GpuTextureFormat.BC5_RG_SNORM,
|
|
63
|
-
[PixelFormat.BC6H_RGB_UFLOAT]: GpuTextureFormat.BC6H_RGB_UFLOAT,
|
|
64
|
-
[PixelFormat.BC6H_RGB_FLOAT]: GpuTextureFormat.BC6H_RGB_FLOAT,
|
|
65
|
-
[PixelFormat.BC7_RGBA_UNORM]: GpuTextureFormat.BC7_RGBA_UNORM,
|
|
66
|
-
[PixelFormat.BC7_RGBA_UNORM_SRGB]: GpuTextureFormat.BC7_RGBA_UNORM_SRGB
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Map selected DXGI formats to canonical CarbonEngineJS pixel formats.
|
|
71
|
-
*/
|
|
72
|
-
const DxgiFormatToPixelFormat = Object.freeze({
|
|
73
|
-
[DxgiFormat.R32G32B32A32_FLOAT]: PixelFormat.RGBA32_FLOAT,
|
|
74
|
-
[DxgiFormat.R32G32_FLOAT]: PixelFormat.RG32_FLOAT,
|
|
75
|
-
[DxgiFormat.R32_FLOAT]: PixelFormat.R32_FLOAT,
|
|
76
|
-
[DxgiFormat.R16G16B16A16_FLOAT]: PixelFormat.RGBA16_FLOAT,
|
|
77
|
-
[DxgiFormat.R8G8_UNORM]: PixelFormat.RG8_UNORM,
|
|
78
|
-
[DxgiFormat.R8G8B8A8_UNORM]: PixelFormat.RGBA8_UNORM,
|
|
79
|
-
[DxgiFormat.R8G8B8A8_UNORM_SRGB]: PixelFormat.RGBA8_UNORM_SRGB,
|
|
80
|
-
[DxgiFormat.R16_FLOAT]: PixelFormat.R16_FLOAT,
|
|
81
|
-
[DxgiFormat.R8_UNORM]: PixelFormat.R8_UNORM,
|
|
82
|
-
[DxgiFormat.BC1_UNORM]: PixelFormat.BC1_RGBA_UNORM,
|
|
83
|
-
[DxgiFormat.BC1_UNORM_SRGB]: PixelFormat.BC1_RGBA_UNORM_SRGB,
|
|
84
|
-
[DxgiFormat.BC2_UNORM]: PixelFormat.BC2_RGBA_UNORM,
|
|
85
|
-
[DxgiFormat.BC2_UNORM_SRGB]: PixelFormat.BC2_RGBA_UNORM_SRGB,
|
|
86
|
-
[DxgiFormat.BC3_UNORM]: PixelFormat.BC3_RGBA_UNORM,
|
|
87
|
-
[DxgiFormat.BC3_UNORM_SRGB]: PixelFormat.BC3_RGBA_UNORM_SRGB,
|
|
88
|
-
[DxgiFormat.BC4_UNORM]: PixelFormat.BC4_R_UNORM,
|
|
89
|
-
[DxgiFormat.BC4_SNORM]: PixelFormat.BC4_R_SNORM,
|
|
90
|
-
[DxgiFormat.BC5_UNORM]: PixelFormat.BC5_RG_UNORM,
|
|
91
|
-
[DxgiFormat.BC5_SNORM]: PixelFormat.BC5_RG_SNORM,
|
|
92
|
-
[DxgiFormat.B8G8R8A8_UNORM]: PixelFormat.BGRA8_UNORM,
|
|
93
|
-
[DxgiFormat.B8G8R8X8_UNORM]: PixelFormat.BGRX8_UNORM,
|
|
94
|
-
[DxgiFormat.B8G8R8A8_UNORM_SRGB]: PixelFormat.BGRA8_UNORM_SRGB,
|
|
95
|
-
[DxgiFormat.B8G8R8X8_UNORM_SRGB]: PixelFormat.BGRX8_UNORM_SRGB,
|
|
96
|
-
[DxgiFormat.BC6H_UF16]: PixelFormat.BC6H_RGB_UFLOAT,
|
|
97
|
-
[DxgiFormat.BC6H_SF16]: PixelFormat.BC6H_RGB_FLOAT,
|
|
98
|
-
[DxgiFormat.BC7_UNORM]: PixelFormat.BC7_RGBA_UNORM,
|
|
99
|
-
[DxgiFormat.BC7_UNORM_SRGB]: PixelFormat.BC7_RGBA_UNORM_SRGB
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Convert a pixel format token to a WebGPU texture format token.
|
|
104
|
-
*
|
|
105
|
-
* @param {string} format Pixel format token.
|
|
106
|
-
* @returns {string} WebGPU texture format token or empty string.
|
|
107
|
-
*/
|
|
108
|
-
function toWebGpuTextureFormat(format) {
|
|
109
|
-
return PixelFormatToWebGpu[format] || "";
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Convert a DXGI numeric format to a pixel format token.
|
|
114
|
-
*
|
|
115
|
-
* @param {number} format DXGI_FORMAT numeric value.
|
|
116
|
-
* @returns {string} Pixel format token or unknown.
|
|
117
|
-
*/
|
|
118
|
-
function dxgiToPixelFormat(format) {
|
|
119
|
-
return DxgiFormatToPixelFormat[format] || PixelFormat.UNKNOWN;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Carbon's NUMERIC pixel format to the `GPUTextureFormat` a WebGPU texture is
|
|
124
|
-
* created with - the table a `Tr2TextureAL` needs, since its description is
|
|
125
|
-
* `Tr2BitmapDimensions` and speaks Carbon's enum. Only the formats the EVE
|
|
126
|
-
* corpus and the render targets use; an absent entry is a refused texture.
|
|
127
|
-
*/
|
|
128
|
-
const CarbonPixelFormatToWebGpu = Object.freeze({
|
|
129
|
-
[PixelFormat$1.PIXEL_FORMAT_R8_UNORM]: GpuTextureFormat.R8_UNORM,
|
|
130
|
-
[PixelFormat$1.PIXEL_FORMAT_R8G8_UNORM]: GpuTextureFormat.RG8_UNORM,
|
|
131
|
-
[PixelFormat$1.PIXEL_FORMAT_R8G8B8A8_UNORM]: GpuTextureFormat.RGBA8_UNORM,
|
|
132
|
-
[PixelFormat$1.PIXEL_FORMAT_R8G8B8A8_UNORM_SRGB]: GpuTextureFormat.RGBA8_UNORM_SRGB,
|
|
133
|
-
[PixelFormat$1.PIXEL_FORMAT_B8G8R8A8_UNORM]: GpuTextureFormat.BGRA8_UNORM,
|
|
134
|
-
[PixelFormat$1.PIXEL_FORMAT_B8G8R8A8_UNORM_SRGB]: GpuTextureFormat.BGRA8_UNORM_SRGB,
|
|
135
|
-
[PixelFormat$1.PIXEL_FORMAT_R16_FLOAT]: GpuTextureFormat.R16_FLOAT,
|
|
136
|
-
[PixelFormat$1.PIXEL_FORMAT_R16G16_FLOAT]: GpuTextureFormat.RG16_FLOAT,
|
|
137
|
-
[PixelFormat$1.PIXEL_FORMAT_R16G16B16A16_FLOAT]: GpuTextureFormat.RGBA16_FLOAT,
|
|
138
|
-
[PixelFormat$1.PIXEL_FORMAT_R32_FLOAT]: GpuTextureFormat.R32_FLOAT,
|
|
139
|
-
[PixelFormat$1.PIXEL_FORMAT_R32G32_FLOAT]: GpuTextureFormat.RG32_FLOAT,
|
|
140
|
-
[PixelFormat$1.PIXEL_FORMAT_R32G32B32A32_FLOAT]: GpuTextureFormat.RGBA32_FLOAT,
|
|
141
|
-
[PixelFormat$1.PIXEL_FORMAT_R10G10B10A2_UNORM]: "rgb10a2unorm",
|
|
142
|
-
[PixelFormat$1.PIXEL_FORMAT_BC1_UNORM]: GpuTextureFormat.BC1_RGBA_UNORM,
|
|
143
|
-
[PixelFormat$1.PIXEL_FORMAT_BC1_UNORM_SRGB]: GpuTextureFormat.BC1_RGBA_UNORM_SRGB,
|
|
144
|
-
[PixelFormat$1.PIXEL_FORMAT_BC2_UNORM]: GpuTextureFormat.BC2_RGBA_UNORM,
|
|
145
|
-
[PixelFormat$1.PIXEL_FORMAT_BC2_UNORM_SRGB]: GpuTextureFormat.BC2_RGBA_UNORM_SRGB,
|
|
146
|
-
[PixelFormat$1.PIXEL_FORMAT_BC3_UNORM]: GpuTextureFormat.BC3_RGBA_UNORM,
|
|
147
|
-
[PixelFormat$1.PIXEL_FORMAT_BC3_UNORM_SRGB]: GpuTextureFormat.BC3_RGBA_UNORM_SRGB,
|
|
148
|
-
[PixelFormat$1.PIXEL_FORMAT_BC4_UNORM]: GpuTextureFormat.BC4_R_UNORM,
|
|
149
|
-
[PixelFormat$1.PIXEL_FORMAT_BC4_SNORM]: GpuTextureFormat.BC4_R_SNORM,
|
|
150
|
-
[PixelFormat$1.PIXEL_FORMAT_BC5_UNORM]: GpuTextureFormat.BC5_RG_UNORM,
|
|
151
|
-
[PixelFormat$1.PIXEL_FORMAT_BC5_SNORM]: GpuTextureFormat.BC5_RG_SNORM,
|
|
152
|
-
[PixelFormat$1.PIXEL_FORMAT_BC6H_UF16]: GpuTextureFormat.BC6H_RGB_UFLOAT,
|
|
153
|
-
[PixelFormat$1.PIXEL_FORMAT_BC6H_SF16]: GpuTextureFormat.BC6H_RGB_FLOAT,
|
|
154
|
-
[PixelFormat$1.PIXEL_FORMAT_BC7_UNORM]: GpuTextureFormat.BC7_RGBA_UNORM,
|
|
155
|
-
[PixelFormat$1.PIXEL_FORMAT_BC7_UNORM_SRGB]: GpuTextureFormat.BC7_RGBA_UNORM_SRGB
|
|
156
|
-
});
|
|
157
|
-
|
|
158
|
-
/** The formats Metal makes an sRGB view of (`MetalContext.mm:342-357`): format + 1 there, the sibling name here. */
|
|
159
|
-
const SRGB_SIBLINGS = Object.freeze({
|
|
160
|
-
[GpuTextureFormat.RGBA8_UNORM]: GpuTextureFormat.RGBA8_UNORM_SRGB,
|
|
161
|
-
[GpuTextureFormat.BGRA8_UNORM]: GpuTextureFormat.BGRA8_UNORM_SRGB,
|
|
162
|
-
[GpuTextureFormat.BC1_RGBA_UNORM]: GpuTextureFormat.BC1_RGBA_UNORM_SRGB,
|
|
163
|
-
[GpuTextureFormat.BC2_RGBA_UNORM]: GpuTextureFormat.BC2_RGBA_UNORM_SRGB,
|
|
164
|
-
[GpuTextureFormat.BC3_RGBA_UNORM]: GpuTextureFormat.BC3_RGBA_UNORM_SRGB,
|
|
165
|
-
[GpuTextureFormat.BC7_RGBA_UNORM]: GpuTextureFormat.BC7_RGBA_UNORM_SRGB
|
|
166
|
-
});
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* The sRGB view format for a linear `GPUTextureFormat`, or null when the format
|
|
170
|
-
* has none (or already is sRGB).
|
|
171
|
-
*
|
|
172
|
-
* @param {string} format A `GPUTextureFormat`.
|
|
173
|
-
* @returns {string|null} The sibling.
|
|
174
|
-
*/
|
|
175
|
-
function SrgbSiblingOf(format) {
|
|
176
|
-
return SRGB_SIBLINGS[format] ?? null;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
export { CarbonPixelFormatToWebGpu, DxgiFormatToPixelFormat, GpuTextureFormat, PixelFormatToWebGpu, SrgbSiblingOf, dxgiToPixelFormat, toWebGpuTextureFormat };
|
|
180
|
-
//# sourceMappingURL=textureFormats.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"textureFormats.js","sources":["../../../../../src/global/consts/webgpu/textureFormats.js"],"sourcesContent":["import { PixelFormat } from \"../graphics/pixelFormats.js\";\nimport { PixelFormat as CarbonPixelFormat } from \"../renderContext/formats.js\";\nimport { DxgiFormat } from \"../d3d/dxgiFormats.js\";\n\n/**\n * WebGPU texture format tokens mirrored as stable strings.\n */\nexport const GpuTextureFormat = Object.freeze({\n R8_UNORM: \"r8unorm\",\n RG8_UNORM: \"rg8unorm\",\n RGBA8_UNORM: \"rgba8unorm\",\n RGBA8_UNORM_SRGB: \"rgba8unorm-srgb\",\n BGRA8_UNORM: \"bgra8unorm\",\n BGRA8_UNORM_SRGB: \"bgra8unorm-srgb\",\n R16_FLOAT: \"r16float\",\n RG16_FLOAT: \"rg16float\",\n RGBA16_FLOAT: \"rgba16float\",\n R32_FLOAT: \"r32float\",\n RG32_FLOAT: \"rg32float\",\n RGBA32_FLOAT: \"rgba32float\",\n BC1_RGBA_UNORM: \"bc1-rgba-unorm\",\n BC1_RGBA_UNORM_SRGB: \"bc1-rgba-unorm-srgb\",\n BC2_RGBA_UNORM: \"bc2-rgba-unorm\",\n BC2_RGBA_UNORM_SRGB: \"bc2-rgba-unorm-srgb\",\n BC3_RGBA_UNORM: \"bc3-rgba-unorm\",\n BC3_RGBA_UNORM_SRGB: \"bc3-rgba-unorm-srgb\",\n BC4_R_UNORM: \"bc4-r-unorm\",\n BC4_R_SNORM: \"bc4-r-snorm\",\n BC5_RG_UNORM: \"bc5-rg-unorm\",\n BC5_RG_SNORM: \"bc5-rg-snorm\",\n BC6H_RGB_UFLOAT: \"bc6h-rgb-ufloat\",\n BC6H_RGB_FLOAT: \"bc6h-rgb-float\",\n BC7_RGBA_UNORM: \"bc7-rgba-unorm\",\n BC7_RGBA_UNORM_SRGB: \"bc7-rgba-unorm-srgb\"\n});\n\n/**\n * Map canonical CarbonEngineJS pixel formats to WebGPU texture format strings.\n */\nexport const PixelFormatToWebGpu = Object.freeze({\n [PixelFormat.R8_UNORM]: GpuTextureFormat.R8_UNORM,\n [PixelFormat.RG8_UNORM]: GpuTextureFormat.RG8_UNORM,\n [PixelFormat.RGBA8_UNORM]: GpuTextureFormat.RGBA8_UNORM,\n [PixelFormat.RGBA8_UNORM_SRGB]: GpuTextureFormat.RGBA8_UNORM_SRGB,\n [PixelFormat.BGRA8_UNORM]: GpuTextureFormat.BGRA8_UNORM,\n [PixelFormat.BGRA8_UNORM_SRGB]: GpuTextureFormat.BGRA8_UNORM_SRGB,\n [PixelFormat.R16_FLOAT]: GpuTextureFormat.R16_FLOAT,\n [PixelFormat.RG16_FLOAT]: GpuTextureFormat.RG16_FLOAT,\n [PixelFormat.RGBA16_FLOAT]: GpuTextureFormat.RGBA16_FLOAT,\n [PixelFormat.R32_FLOAT]: GpuTextureFormat.R32_FLOAT,\n [PixelFormat.RG32_FLOAT]: GpuTextureFormat.RG32_FLOAT,\n [PixelFormat.RGBA32_FLOAT]: GpuTextureFormat.RGBA32_FLOAT,\n [PixelFormat.BC1_RGBA_UNORM]: GpuTextureFormat.BC1_RGBA_UNORM,\n [PixelFormat.BC1_RGBA_UNORM_SRGB]: GpuTextureFormat.BC1_RGBA_UNORM_SRGB,\n [PixelFormat.BC2_RGBA_UNORM]: GpuTextureFormat.BC2_RGBA_UNORM,\n [PixelFormat.BC2_RGBA_UNORM_SRGB]: GpuTextureFormat.BC2_RGBA_UNORM_SRGB,\n [PixelFormat.BC3_RGBA_UNORM]: GpuTextureFormat.BC3_RGBA_UNORM,\n [PixelFormat.BC3_RGBA_UNORM_SRGB]: GpuTextureFormat.BC3_RGBA_UNORM_SRGB,\n [PixelFormat.BC4_R_UNORM]: GpuTextureFormat.BC4_R_UNORM,\n [PixelFormat.BC4_R_SNORM]: GpuTextureFormat.BC4_R_SNORM,\n [PixelFormat.BC5_RG_UNORM]: GpuTextureFormat.BC5_RG_UNORM,\n [PixelFormat.BC5_RG_SNORM]: GpuTextureFormat.BC5_RG_SNORM,\n [PixelFormat.BC6H_RGB_UFLOAT]: GpuTextureFormat.BC6H_RGB_UFLOAT,\n [PixelFormat.BC6H_RGB_FLOAT]: GpuTextureFormat.BC6H_RGB_FLOAT,\n [PixelFormat.BC7_RGBA_UNORM]: GpuTextureFormat.BC7_RGBA_UNORM,\n [PixelFormat.BC7_RGBA_UNORM_SRGB]: GpuTextureFormat.BC7_RGBA_UNORM_SRGB\n});\n\n/**\n * Map selected DXGI formats to canonical CarbonEngineJS pixel formats.\n */\nexport const DxgiFormatToPixelFormat = Object.freeze({\n [DxgiFormat.R32G32B32A32_FLOAT]: PixelFormat.RGBA32_FLOAT,\n [DxgiFormat.R32G32_FLOAT]: PixelFormat.RG32_FLOAT,\n [DxgiFormat.R32_FLOAT]: PixelFormat.R32_FLOAT,\n [DxgiFormat.R16G16B16A16_FLOAT]: PixelFormat.RGBA16_FLOAT,\n [DxgiFormat.R8G8_UNORM]: PixelFormat.RG8_UNORM,\n [DxgiFormat.R8G8B8A8_UNORM]: PixelFormat.RGBA8_UNORM,\n [DxgiFormat.R8G8B8A8_UNORM_SRGB]: PixelFormat.RGBA8_UNORM_SRGB,\n [DxgiFormat.R16_FLOAT]: PixelFormat.R16_FLOAT,\n [DxgiFormat.R8_UNORM]: PixelFormat.R8_UNORM,\n [DxgiFormat.BC1_UNORM]: PixelFormat.BC1_RGBA_UNORM,\n [DxgiFormat.BC1_UNORM_SRGB]: PixelFormat.BC1_RGBA_UNORM_SRGB,\n [DxgiFormat.BC2_UNORM]: PixelFormat.BC2_RGBA_UNORM,\n [DxgiFormat.BC2_UNORM_SRGB]: PixelFormat.BC2_RGBA_UNORM_SRGB,\n [DxgiFormat.BC3_UNORM]: PixelFormat.BC3_RGBA_UNORM,\n [DxgiFormat.BC3_UNORM_SRGB]: PixelFormat.BC3_RGBA_UNORM_SRGB,\n [DxgiFormat.BC4_UNORM]: PixelFormat.BC4_R_UNORM,\n [DxgiFormat.BC4_SNORM]: PixelFormat.BC4_R_SNORM,\n [DxgiFormat.BC5_UNORM]: PixelFormat.BC5_RG_UNORM,\n [DxgiFormat.BC5_SNORM]: PixelFormat.BC5_RG_SNORM,\n [DxgiFormat.B8G8R8A8_UNORM]: PixelFormat.BGRA8_UNORM,\n [DxgiFormat.B8G8R8X8_UNORM]: PixelFormat.BGRX8_UNORM,\n [DxgiFormat.B8G8R8A8_UNORM_SRGB]: PixelFormat.BGRA8_UNORM_SRGB,\n [DxgiFormat.B8G8R8X8_UNORM_SRGB]: PixelFormat.BGRX8_UNORM_SRGB,\n [DxgiFormat.BC6H_UF16]: PixelFormat.BC6H_RGB_UFLOAT,\n [DxgiFormat.BC6H_SF16]: PixelFormat.BC6H_RGB_FLOAT,\n [DxgiFormat.BC7_UNORM]: PixelFormat.BC7_RGBA_UNORM,\n [DxgiFormat.BC7_UNORM_SRGB]: PixelFormat.BC7_RGBA_UNORM_SRGB\n});\n\n/**\n * Convert a pixel format token to a WebGPU texture format token.\n *\n * @param {string} format Pixel format token.\n * @returns {string} WebGPU texture format token or empty string.\n */\nexport function toWebGpuTextureFormat(format)\n{\n return PixelFormatToWebGpu[format] || \"\";\n}\n\n/**\n * Convert a DXGI numeric format to a pixel format token.\n *\n * @param {number} format DXGI_FORMAT numeric value.\n * @returns {string} Pixel format token or unknown.\n */\nexport function dxgiToPixelFormat(format)\n{\n return DxgiFormatToPixelFormat[format] || PixelFormat.UNKNOWN;\n}\n\n\n/**\n * Carbon's NUMERIC pixel format to the `GPUTextureFormat` a WebGPU texture is\n * created with - the table a `Tr2TextureAL` needs, since its description is\n * `Tr2BitmapDimensions` and speaks Carbon's enum. Only the formats the EVE\n * corpus and the render targets use; an absent entry is a refused texture.\n */\nexport const CarbonPixelFormatToWebGpu = Object.freeze({\n [CarbonPixelFormat.PIXEL_FORMAT_R8_UNORM]: GpuTextureFormat.R8_UNORM,\n [CarbonPixelFormat.PIXEL_FORMAT_R8G8_UNORM]: GpuTextureFormat.RG8_UNORM,\n [CarbonPixelFormat.PIXEL_FORMAT_R8G8B8A8_UNORM]: GpuTextureFormat.RGBA8_UNORM,\n [CarbonPixelFormat.PIXEL_FORMAT_R8G8B8A8_UNORM_SRGB]: GpuTextureFormat.RGBA8_UNORM_SRGB,\n [CarbonPixelFormat.PIXEL_FORMAT_B8G8R8A8_UNORM]: GpuTextureFormat.BGRA8_UNORM,\n [CarbonPixelFormat.PIXEL_FORMAT_B8G8R8A8_UNORM_SRGB]: GpuTextureFormat.BGRA8_UNORM_SRGB,\n [CarbonPixelFormat.PIXEL_FORMAT_R16_FLOAT]: GpuTextureFormat.R16_FLOAT,\n [CarbonPixelFormat.PIXEL_FORMAT_R16G16_FLOAT]: GpuTextureFormat.RG16_FLOAT,\n [CarbonPixelFormat.PIXEL_FORMAT_R16G16B16A16_FLOAT]: GpuTextureFormat.RGBA16_FLOAT,\n [CarbonPixelFormat.PIXEL_FORMAT_R32_FLOAT]: GpuTextureFormat.R32_FLOAT,\n [CarbonPixelFormat.PIXEL_FORMAT_R32G32_FLOAT]: GpuTextureFormat.RG32_FLOAT,\n [CarbonPixelFormat.PIXEL_FORMAT_R32G32B32A32_FLOAT]: GpuTextureFormat.RGBA32_FLOAT,\n [CarbonPixelFormat.PIXEL_FORMAT_R10G10B10A2_UNORM]: \"rgb10a2unorm\",\n [CarbonPixelFormat.PIXEL_FORMAT_BC1_UNORM]: GpuTextureFormat.BC1_RGBA_UNORM,\n [CarbonPixelFormat.PIXEL_FORMAT_BC1_UNORM_SRGB]: GpuTextureFormat.BC1_RGBA_UNORM_SRGB,\n [CarbonPixelFormat.PIXEL_FORMAT_BC2_UNORM]: GpuTextureFormat.BC2_RGBA_UNORM,\n [CarbonPixelFormat.PIXEL_FORMAT_BC2_UNORM_SRGB]: GpuTextureFormat.BC2_RGBA_UNORM_SRGB,\n [CarbonPixelFormat.PIXEL_FORMAT_BC3_UNORM]: GpuTextureFormat.BC3_RGBA_UNORM,\n [CarbonPixelFormat.PIXEL_FORMAT_BC3_UNORM_SRGB]: GpuTextureFormat.BC3_RGBA_UNORM_SRGB,\n [CarbonPixelFormat.PIXEL_FORMAT_BC4_UNORM]: GpuTextureFormat.BC4_R_UNORM,\n [CarbonPixelFormat.PIXEL_FORMAT_BC4_SNORM]: GpuTextureFormat.BC4_R_SNORM,\n [CarbonPixelFormat.PIXEL_FORMAT_BC5_UNORM]: GpuTextureFormat.BC5_RG_UNORM,\n [CarbonPixelFormat.PIXEL_FORMAT_BC5_SNORM]: GpuTextureFormat.BC5_RG_SNORM,\n [CarbonPixelFormat.PIXEL_FORMAT_BC6H_UF16]: GpuTextureFormat.BC6H_RGB_UFLOAT,\n [CarbonPixelFormat.PIXEL_FORMAT_BC6H_SF16]: GpuTextureFormat.BC6H_RGB_FLOAT,\n [CarbonPixelFormat.PIXEL_FORMAT_BC7_UNORM]: GpuTextureFormat.BC7_RGBA_UNORM,\n [CarbonPixelFormat.PIXEL_FORMAT_BC7_UNORM_SRGB]: GpuTextureFormat.BC7_RGBA_UNORM_SRGB\n});\n\n/** The formats Metal makes an sRGB view of (`MetalContext.mm:342-357`): format + 1 there, the sibling name here. */\nconst SRGB_SIBLINGS = Object.freeze({\n [GpuTextureFormat.RGBA8_UNORM]: GpuTextureFormat.RGBA8_UNORM_SRGB,\n [GpuTextureFormat.BGRA8_UNORM]: GpuTextureFormat.BGRA8_UNORM_SRGB,\n [GpuTextureFormat.BC1_RGBA_UNORM]: GpuTextureFormat.BC1_RGBA_UNORM_SRGB,\n [GpuTextureFormat.BC2_RGBA_UNORM]: GpuTextureFormat.BC2_RGBA_UNORM_SRGB,\n [GpuTextureFormat.BC3_RGBA_UNORM]: GpuTextureFormat.BC3_RGBA_UNORM_SRGB,\n [GpuTextureFormat.BC7_RGBA_UNORM]: GpuTextureFormat.BC7_RGBA_UNORM_SRGB\n});\n\n/**\n * The sRGB view format for a linear `GPUTextureFormat`, or null when the format\n * has none (or already is sRGB).\n *\n * @param {string} format A `GPUTextureFormat`.\n * @returns {string|null} The sibling.\n */\nexport function SrgbSiblingOf(format)\n{\n return SRGB_SIBLINGS[format] ?? null;\n}\n"],"names":["GpuTextureFormat","Object","freeze","R8_UNORM","RG8_UNORM","RGBA8_UNORM","RGBA8_UNORM_SRGB","BGRA8_UNORM","BGRA8_UNORM_SRGB","R16_FLOAT","RG16_FLOAT","RGBA16_FLOAT","R32_FLOAT","RG32_FLOAT","RGBA32_FLOAT","BC1_RGBA_UNORM","BC1_RGBA_UNORM_SRGB","BC2_RGBA_UNORM","BC2_RGBA_UNORM_SRGB","BC3_RGBA_UNORM","BC3_RGBA_UNORM_SRGB","BC4_R_UNORM","BC4_R_SNORM","BC5_RG_UNORM","BC5_RG_SNORM","BC6H_RGB_UFLOAT","BC6H_RGB_FLOAT","BC7_RGBA_UNORM","BC7_RGBA_UNORM_SRGB","PixelFormatToWebGpu","PixelFormat","DxgiFormatToPixelFormat","DxgiFormat","R32G32B32A32_FLOAT","R32G32_FLOAT","R16G16B16A16_FLOAT","R8G8_UNORM","R8G8B8A8_UNORM","R8G8B8A8_UNORM_SRGB","BC1_UNORM","BC1_UNORM_SRGB","BC2_UNORM","BC2_UNORM_SRGB","BC3_UNORM","BC3_UNORM_SRGB","BC4_UNORM","BC4_SNORM","BC5_UNORM","BC5_SNORM","B8G8R8A8_UNORM","B8G8R8X8_UNORM","BGRX8_UNORM","B8G8R8A8_UNORM_SRGB","B8G8R8X8_UNORM_SRGB","BGRX8_UNORM_SRGB","BC6H_UF16","BC6H_SF16","BC7_UNORM","BC7_UNORM_SRGB","toWebGpuTextureFormat","format","dxgiToPixelFormat","UNKNOWN","CarbonPixelFormatToWebGpu","CarbonPixelFormat","PIXEL_FORMAT_R8_UNORM","PIXEL_FORMAT_R8G8_UNORM","PIXEL_FORMAT_R8G8B8A8_UNORM","PIXEL_FORMAT_R8G8B8A8_UNORM_SRGB","PIXEL_FORMAT_B8G8R8A8_UNORM","PIXEL_FORMAT_B8G8R8A8_UNORM_SRGB","PIXEL_FORMAT_R16_FLOAT","PIXEL_FORMAT_R16G16_FLOAT","PIXEL_FORMAT_R16G16B16A16_FLOAT","PIXEL_FORMAT_R32_FLOAT","PIXEL_FORMAT_R32G32_FLOAT","PIXEL_FORMAT_R32G32B32A32_FLOAT","PIXEL_FORMAT_R10G10B10A2_UNORM","PIXEL_FORMAT_BC1_UNORM","PIXEL_FORMAT_BC1_UNORM_SRGB","PIXEL_FORMAT_BC2_UNORM","PIXEL_FORMAT_BC2_UNORM_SRGB","PIXEL_FORMAT_BC3_UNORM","PIXEL_FORMAT_BC3_UNORM_SRGB","PIXEL_FORMAT_BC4_UNORM","PIXEL_FORMAT_BC4_SNORM","PIXEL_FORMAT_BC5_UNORM","PIXEL_FORMAT_BC5_SNORM","PIXEL_FORMAT_BC6H_UF16","PIXEL_FORMAT_BC6H_SF16","PIXEL_FORMAT_BC7_UNORM","PIXEL_FORMAT_BC7_UNORM_SRGB","SRGB_SIBLINGS","SrgbSiblingOf"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sources":["../../../../../../src/resource/formats/dxbc/core/container.js"],"sourcesContent":["import { asUint8Array } from \"#utils/bytes\";\r\nimport { DxbcReader } from \"./DxbcReader.js\";\r\nimport { DxbcReadError } from \"./errors.js\";\r\n\r\nconst DXBC_HEADER_SIZE = 32;\r\nconst DXBC_CHUNK_HEADER_SIZE = 8;\r\nconst DXBC_MAGIC = new Uint8Array([ 0x44, 0x58, 0x42, 0x43 ]);\r\n\r\nconst fourCCDecoder = new TextDecoder(\"latin1\");\r\n\r\n/**\r\n * DirectX shader bytecode container reader.\r\n *\r\n * Splits a DXBC blob into its chunk directory without interpreting chunk\r\n * payloads, so stripped containers (for example Carbon blobs without `RDEF`)\r\n * parse the same way as fully reflected ones.\r\n */\r\nexport class DxbcContainer\r\n{\r\n /**\r\n * Creates an empty container; call a read entry point to populate it from bytes.\r\n */\r\n constructor()\r\n {\r\n this.bytes = new Uint8Array(0);\r\n this.checksum = new Uint8Array(0);\r\n this.version = 0;\r\n this.totalSize = 0;\r\n this.chunks = [];\r\n this.source = \"memory\";\r\n }\r\n\r\n /**\r\n * Checks whether a byte payload starts with the DXBC container magic.\r\n *\r\n * @param {ArrayBuffer|ArrayBufferView|Uint8Array} bytes Candidate payload.\r\n * @returns {boolean} True when the payload looks like DXBC.\r\n */\r\n static IsDxbc(bytes)\r\n {\r\n const data = asUint8Array(bytes);\r\n return data.length >= DXBC_MAGIC.length && DXBC_MAGIC.every((byte, index) => data[index] === byte);\r\n }\r\n\r\n /**\r\n * Reads the container header and chunk directory.\r\n *\r\n * @param {ArrayBuffer|ArrayBufferView|Uint8Array} bytes DXBC payload.\r\n * @param {object} [options] Read options.\r\n * @param {string} [options.source] Source name used in error details.\r\n * @returns {DxbcContainer} This container.\r\n */\r\n Read(bytes, options = {})\r\n {\r\n this.bytes = asUint8Array(bytes);\r\n this.source = options.source || \"memory\";\r\n\r\n if (!DxbcContainer.IsDxbc(this.bytes))\r\n {\r\n throw new DxbcReadError(\"Missing DXBC container magic\", {\r\n source: this.source,\r\n length: this.bytes.length\r\n });\r\n }\r\n if (this.bytes.length < DXBC_HEADER_SIZE)\r\n {\r\n throw new DxbcReadError(\"DXBC payload is smaller than the container header\", {\r\n source: this.source,\r\n length: this.bytes.length\r\n });\r\n }\r\n\r\n const reader = new DxbcReader(this.bytes, { source: this.source, offset: DXBC_MAGIC.length });\r\n this.checksum = reader.ReadRaw(16).slice();\r\n this.version = reader.ReadUint32();\r\n this.totalSize = reader.ReadUint32();\r\n if (this.totalSize > this.bytes.length)\r\n {\r\n throw new DxbcReadError(\"DXBC container size exceeds the payload\", {\r\n source: this.source,\r\n totalSize: this.totalSize,\r\n length: this.bytes.length\r\n });\r\n }\r\n\r\n const chunkCount = reader.ReadUint32();\r\n if (DXBC_HEADER_SIZE + chunkCount * 4 > this.totalSize)\r\n {\r\n throw new DxbcReadError(\"DXBC chunk directory exceeds the container size\", {\r\n source: this.source,\r\n chunkCount,\r\n totalSize: this.totalSize\r\n });\r\n }\r\n\r\n this.chunks = [];\r\n for (let index = 0; index < chunkCount; index += 1)\r\n {\r\n const offset = reader.ReadUint32();\r\n this.chunks.push(this._readChunkAt(offset, index));\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Finds a chunk by its four-character code.\r\n *\r\n * @param {string} fourCC Chunk identifier such as `\"SHEX\"` or `\"ISGN\"`.\r\n * @returns {{fourCC:string,offset:number,size:number,bytes:Uint8Array}|null} Chunk record or null.\r\n */\r\n getChunk(fourCC)\r\n {\r\n return this.chunks.find((chunk) => chunk.fourCC === fourCC) || null;\r\n }\r\n\r\n /**\r\n * Returns serializable container metadata while omitting chunk payload bytes.\r\n *\r\n * @returns {object} JSON-safe container summary.\r\n */\r\n toJSON()\r\n {\r\n return {\r\n source: this.source,\r\n version: this.version,\r\n totalSize: this.totalSize,\r\n chunks: this.chunks.map(({ fourCC, offset, size }) => ({ fourCC, offset, size }))\r\n };\r\n }\r\n\r\n /**\r\n * Reads one chunk header and bounds-checks its payload.\r\n *\r\n * @param {number} offset Chunk offset from the container start.\r\n * @param {number} index Chunk directory index used in error details.\r\n * @returns {{fourCC:string,offset:number,size:number,bytes:Uint8Array}} Chunk record.\r\n * @private\r\n */\r\n _readChunkAt(offset, index)\r\n {\r\n if (offset + DXBC_CHUNK_HEADER_SIZE > this.totalSize)\r\n {\r\n throw new DxbcReadError(\"DXBC chunk header lies outside the container\", {\r\n source: this.source,\r\n chunkIndex: index,\r\n offset,\r\n totalSize: this.totalSize\r\n });\r\n }\r\n const reader = new DxbcReader(this.bytes, { source: this.source, offset });\r\n const fourCC = fourCCDecoder.decode(reader.ReadRaw(4));\r\n const size = reader.ReadUint32();\r\n if (offset + DXBC_CHUNK_HEADER_SIZE + size > this.totalSize)\r\n {\r\n throw new DxbcReadError(\"DXBC chunk payload lies outside the container\", {\r\n source: this.source,\r\n chunkIndex: index,\r\n fourCC,\r\n offset,\r\n size,\r\n totalSize: this.totalSize\r\n });\r\n }\r\n return {\r\n fourCC,\r\n offset,\r\n size,\r\n bytes: this.bytes.subarray(offset + DXBC_CHUNK_HEADER_SIZE, offset + DXBC_CHUNK_HEADER_SIZE + size)\r\n };\r\n }\r\n}\r\n"],"names":["DXBC_HEADER_SIZE","DXBC_CHUNK_HEADER_SIZE","DXBC_MAGIC","Uint8Array","fourCCDecoder","TextDecoder","DxbcContainer","constructor","bytes","checksum","version","totalSize","chunks","source","IsDxbc","data","asUint8Array","length","every","byte","index","Read","options","DxbcReadError","reader","DxbcReader","offset","ReadRaw","slice","ReadUint32","chunkCount","push","_readChunkAt","getChunk","fourCC","find","chunk","toJSON","map","size","chunkIndex","decode","subarray"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sources":["../../../../../../src/resource/formats/dxbc/core/errors.js"],"sourcesContent":["/**\r\n * Error raised when DirectX shader bytecode cannot be decoded safely.\r\n */\r\nexport class DxbcReadError extends Error\r\n{\r\n /**\r\n * Creates a bytecode-read error with structured location details.\r\n *\r\n * @param {string} message Human-readable failure reason.\r\n * @param {object} [details] Extra reader state such as source, offset, or size.\r\n */\r\n constructor(message, details = {})\r\n {\r\n super(message);\r\n this.name = \"DxbcReadError\";\r\n this.details = details;\r\n }\r\n}\r\n"],"names":["DxbcReadError","Error","constructor","message","details","name"],"mappings":"AAAA;AACA;AACA;AACO,MAAMA,aAAa,SAASC,KAAK,CACxC;AACI;AACJ;AACA;AACA;AACA;AACA;AACIC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,OAAO,GAAG,EAAE,EACjC;IACI,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACE,IAAI,GAAG,eAAe;IAC3B,IAAI,CAACD,OAAO,GAAGA,OAAO;AAC1B,EAAA;AACJ;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sources":["../../../../../../src/resource/formats/dxbc/core/program.js"],"sourcesContent":["import { DxbcReadError } from \"./errors.js\";\r\n\r\n/**\r\n * Program type names indexed by the SM4/SM5 version-token program-type field.\r\n */\r\nexport const DxbcProgramTypeNames = Object.freeze([\r\n \"pixel\",\r\n \"vertex\",\r\n \"geometry\",\r\n \"hull\",\r\n \"domain\",\r\n \"compute\"\r\n]);\r\n\r\n/**\r\n * DXBC shader program chunk reader for `SHEX`/`SHDR` token streams.\r\n *\r\n * Decodes the version header and exposes the raw instruction tokens for the\r\n * translator stages that follow. Token interpretation stays out of this class\r\n * so container inspection never depends on opcode coverage.\r\n */\r\nexport class DxbcShaderProgram\r\n{\r\n /**\r\n * Creates an empty shader program; call a read entry point to populate its version, stage, and instructions.\r\n */\r\n constructor()\r\n {\r\n this.fourCC = \"\";\r\n this.majorVersion = 0;\r\n this.minorVersion = 0;\r\n this.programType = 0;\r\n this.programTypeName = \"unknown\";\r\n this.lengthDwords = 0;\r\n this.tokens = new Uint32Array(0);\r\n this.source = \"memory\";\r\n }\r\n\r\n /**\r\n * Reads the program version header and copies the aligned token stream.\r\n *\r\n * @param {{fourCC:string,bytes:Uint8Array}} chunk Chunk record from `DxbcContainer`.\r\n * @param {object} [options] Read options.\r\n * @param {string} [options.source] Source name used in error details.\r\n * @returns {DxbcShaderProgram} This program.\r\n */\r\n Read(chunk, options = {})\r\n {\r\n this.fourCC = chunk.fourCC;\r\n this.source = options.source || \"memory\";\r\n const bytes = chunk.bytes;\r\n if (bytes.length < 8)\r\n {\r\n throw new DxbcReadError(\"DXBC shader chunk is smaller than the program header\", {\r\n source: this.source,\r\n fourCC: this.fourCC,\r\n chunkSize: bytes.length\r\n });\r\n }\r\n\r\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\r\n const versionToken = view.getUint32(0, true);\r\n this.minorVersion = versionToken & 0xf;\r\n this.majorVersion = (versionToken >>> 4) & 0xf;\r\n this.programType = (versionToken >>> 16) & 0xffff;\r\n this.programTypeName = DxbcProgramTypeNames[this.programType] || \"unknown\";\r\n this.lengthDwords = view.getUint32(4, true);\r\n if (this.lengthDwords < 2 || this.lengthDwords * 4 > bytes.length)\r\n {\r\n throw new DxbcReadError(\"DXBC program length disagrees with the chunk size\", {\r\n source: this.source,\r\n fourCC: this.fourCC,\r\n lengthDwords: this.lengthDwords,\r\n chunkSize: bytes.length\r\n });\r\n }\r\n\r\n // Copy through DataView so unaligned subarrays and big-endian hosts both decode correctly.\r\n this.tokens = new Uint32Array(this.lengthDwords);\r\n for (let index = 0; index < this.lengthDwords; index += 1)\r\n {\r\n this.tokens[index] = view.getUint32(index * 4, true);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns serializable program metadata while omitting the token stream.\r\n *\r\n * @returns {object} JSON-safe program summary.\r\n */\r\n toJSON()\r\n {\r\n return {\r\n fourCC: this.fourCC,\r\n majorVersion: this.majorVersion,\r\n minorVersion: this.minorVersion,\r\n programType: this.programType,\r\n programTypeName: this.programTypeName,\r\n lengthDwords: this.lengthDwords\r\n };\r\n }\r\n}\r\n"],"names":["DxbcProgramTypeNames","Object","freeze","DxbcShaderProgram","constructor","fourCC","majorVersion","minorVersion","programType","programTypeName","lengthDwords","tokens","Uint32Array","source","Read","chunk","options","bytes","length","DxbcReadError","chunkSize","view","DataView","buffer","byteOffset","byteLength","versionToken","getUint32","index","toJSON"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signature.js","sources":["../../../../../../src/resource/formats/dxbc/core/signature.js"],"sourcesContent":["import { DxbcReader } from \"./DxbcReader.js\";\r\nimport { DxbcReadError } from \"./errors.js\";\r\n\r\nconst SIGNATURE_TABLE_HEADER_SIZE = 8;\r\n\r\nconst semanticNameDecoder = new TextDecoder(\"latin1\");\r\n\r\n/**\r\n * Per-fourCC signature element layouts.\r\n *\r\n * `ISGN`/`OSGN`/`PCSG` use the 24-byte Shader Model 4 layout. `OSG5` prefixes\r\n * a stream index. `ISG1`/`OSG1`/`PSG1` prefix a stream index and append a\r\n * minimum-precision field.\r\n */\r\nconst SIGNATURE_ELEMENT_LAYOUTS = Object.freeze({\r\n ISGN: { stride: 24, hasStream: false, hasMinPrecision: false },\r\n OSGN: { stride: 24, hasStream: false, hasMinPrecision: false },\r\n PCSG: { stride: 24, hasStream: false, hasMinPrecision: false },\r\n OSG5: { stride: 28, hasStream: true, hasMinPrecision: false },\r\n ISG1: { stride: 32, hasStream: true, hasMinPrecision: true },\r\n OSG1: { stride: 32, hasStream: true, hasMinPrecision: true },\r\n PSG1: { stride: 32, hasStream: true, hasMinPrecision: true }\r\n});\r\n\r\n/**\r\n * Register component type names indexed by DXBC signature component-type ids.\r\n */\r\nexport const DxbcComponentTypeNames = Object.freeze([ \"unknown\", \"uint32\", \"int32\", \"float32\" ]);\r\n\r\n/**\r\n * DXBC input/output signature chunk reader for `ISGN`-family chunks.\r\n */\r\nexport class DxbcSignatureChunk\r\n{\r\n /**\r\n * Creates an empty signature chunk; call a read entry point to populate its parameter records.\r\n */\r\n constructor()\r\n {\r\n this.fourCC = \"\";\r\n this.elements = [];\r\n this.source = \"memory\";\r\n }\r\n\r\n /**\r\n * Reads a signature chunk payload into semantic/register element records.\r\n *\r\n * @param {{fourCC:string,bytes:Uint8Array}} chunk Chunk record from `DxbcContainer`.\r\n * @param {object} [options] Read options.\r\n * @param {string} [options.source] Source name used in error details.\r\n * @returns {DxbcSignatureChunk} This signature.\r\n */\r\n Read(chunk, options = {})\r\n {\r\n this.fourCC = chunk.fourCC;\r\n this.source = options.source || \"memory\";\r\n const layout = SIGNATURE_ELEMENT_LAYOUTS[this.fourCC];\r\n if (!layout)\r\n {\r\n throw new DxbcReadError(\"Unsupported DXBC signature chunk\", {\r\n source: this.source,\r\n fourCC: this.fourCC\r\n });\r\n }\r\n\r\n const bytes = chunk.bytes;\r\n const reader = new DxbcReader(bytes, { source: this.source });\r\n const elementCount = reader.ReadUint32();\r\n const elementOffset = reader.ReadUint32() || SIGNATURE_TABLE_HEADER_SIZE;\r\n if (elementOffset + elementCount * layout.stride > bytes.length)\r\n {\r\n throw new DxbcReadError(\"DXBC signature elements lie outside the chunk\", {\r\n source: this.source,\r\n fourCC: this.fourCC,\r\n elementCount,\r\n elementOffset,\r\n chunkSize: bytes.length\r\n });\r\n }\r\n\r\n this.elements = [];\r\n reader.offset = elementOffset;\r\n for (let index = 0; index < elementCount; index += 1)\r\n {\r\n const stream = layout.hasStream ? reader.ReadUint32() : 0;\r\n const semanticNameOffset = reader.ReadUint32();\r\n const semanticIndex = reader.ReadUint32();\r\n const systemValueType = reader.ReadUint32();\r\n const componentType = reader.ReadUint32();\r\n const registerIndex = reader.ReadUint32();\r\n const mask = reader.ReadUint8();\r\n const readWriteMask = reader.ReadUint8();\r\n reader.Skip(2);\r\n const minPrecision = layout.hasMinPrecision ? reader.ReadUint32() : 0;\r\n\r\n this.elements.push({\r\n semanticName: this._readSemanticName(bytes, semanticNameOffset, index),\r\n semanticIndex,\r\n systemValueType,\r\n componentType,\r\n componentTypeName: DxbcComponentTypeNames[componentType] || \"unknown\",\r\n registerIndex,\r\n mask,\r\n readWriteMask,\r\n stream,\r\n minPrecision\r\n });\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Finds a signature element by semantic name and index.\r\n *\r\n * @param {string} semanticName Case-insensitive semantic name such as `\"TEXCOORD\"`.\r\n * @param {number} [semanticIndex] Semantic index, defaulting to 0.\r\n * @returns {object|null} Element record or null.\r\n */\r\n findElement(semanticName, semanticIndex = 0)\r\n {\r\n const wanted = String(semanticName).toUpperCase();\r\n return this.elements.find(\r\n (element) => element.semanticName.toUpperCase() === wanted && element.semanticIndex === semanticIndex\r\n ) || null;\r\n }\r\n\r\n /**\r\n * Resolves a null-terminated semantic name inside the chunk payload.\r\n *\r\n * @param {Uint8Array} bytes Chunk payload.\r\n * @param {number} offset Name offset relative to the chunk payload start.\r\n * @param {number} index Element index used in error details.\r\n * @returns {string} Decoded semantic name.\r\n * @private\r\n */\r\n _readSemanticName(bytes, offset, index)\r\n {\r\n if (offset >= bytes.length)\r\n {\r\n throw new DxbcReadError(\"DXBC signature semantic name lies outside the chunk\", {\r\n source: this.source,\r\n fourCC: this.fourCC,\r\n elementIndex: index,\r\n offset,\r\n chunkSize: bytes.length\r\n });\r\n }\r\n let end = offset;\r\n while (end < bytes.length && bytes[end] !== 0)\r\n {\r\n end += 1;\r\n }\r\n return semanticNameDecoder.decode(bytes.subarray(offset, end));\r\n }\r\n}\r\n"],"names":["SIGNATURE_TABLE_HEADER_SIZE","semanticNameDecoder","TextDecoder","SIGNATURE_ELEMENT_LAYOUTS","Object","freeze","ISGN","stride","hasStream","hasMinPrecision","OSGN","PCSG","OSG5","ISG1","OSG1","PSG1","DxbcComponentTypeNames","DxbcSignatureChunk","constructor","fourCC","elements","source","Read","chunk","options","layout","DxbcReadError","bytes","reader","DxbcReader","elementCount","ReadUint32","elementOffset","length","chunkSize","offset","index","stream","semanticNameOffset","semanticIndex","systemValueType","componentType","registerIndex","mask","ReadUint8","readWriteMask","Skip","minPrecision","push","semanticName","_readSemanticName","componentTypeName","findElement","wanted","String","toUpperCase","find","element","elementIndex","end","decode","subarray"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"targets.js","sources":["../../../../../../src/resource/formats/stl/core/targets.js"],"sourcesContent":["export { CMF_CLASS_KEYS } from \"../../cmf/core/constants.js\";\n\nimport { bytesPerIndex, firstTriangle, totalIndexCount } from \"../../cmf/core/utils/indices.js\";\nimport { elementTypeSize, estimateStrideFromDecl } from \"../../cmf/core/utils/vertex.js\";\n\r\n/**\r\n * Builds a CMF document from normalized shared geometry for the STL\r\n * shared-geometry adapter.\r\n */\r\nexport function buildCmfFromShared(root)\r\n{\r\n return {\r\n version: 1,\r\n metadata: null,\r\n meshes: (root.meshes ?? []).map((mesh) => buildMesh(mesh)),\r\n skeletons: [],\r\n animations: []\r\n };\n}\nfunction buildMesh(mesh)\r\n{\r\n const\r\n vertex = mesh.vertex ?? {},\r\n indices = mesh.indices ?? [],\r\n stride = estimateVertexStride(vertex),\r\n vertexCount = stride === 0 ? 0 : Math.floor((vertex.position ?? []).length / 3);\r\n\r\n return {\r\n name: mesh.name ?? \"\",\r\n decl: buildDecl(vertex),\r\n lods: [ {\r\n vb: { index: 1, offset: 0, size: vertexCount * stride, stride },\r\n ib: { index: 2, offset: 0, size: totalIndexCount(indices) * bytesPerIndex(indices), stride: bytesPerIndex(indices) },\r\n areas: indices.map((group, index) => ({\r\n firstElement: firstTriangle(indices, index),\r\n elementCount: Math.floor((group.faces ?? []).length / 3)\r\n })),\r\n morphTargets: [],\r\n threshold: 0xffffffff,\r\n vertex,\r\n indices\r\n } ],\r\n areas: indices.map((group) => ({\r\n name: group.name ?? \"\",\r\n bounds: bounds(mesh),\r\n bones: [],\r\n affectedByBones: false,\r\n affectedByMorphTargets: false\r\n })),\r\n boneBindings: [],\r\n morphTargets: { decl: [], targets: [] },\r\n uvDensities: [],\r\n bounds: bounds(mesh),\r\n audioOcclusionMesh: {\r\n vertices: [],\r\n indices: [],\r\n bounds: { min: [ 0, 0, 0 ], max: [ 0, 0, 0 ] }\r\n },\r\n topology: \"TriangleList\",\r\n skeleton: null,\r\n vertex,\r\n indices\r\n };\r\n}\r\n\r\nfunction buildDecl(vertex)\r\n{\r\n const decl = [];\r\n let offset = 0;\r\n for (const channel of [\r\n [ \"position\", \"Position\", 3 ],\r\n [ \"normal\", \"Normal\", 3 ],\r\n [ \"tangent\", \"Tangent\", 3 ],\r\n [ \"binormal\", \"Binormal\", 3 ],\r\n [ \"texcoord0\", \"TexCoord\", 2, 0 ],\r\n [ \"texcoord1\", \"TexCoord\", 2, 1 ],\r\n [ \"color0\", \"Color\", 4, 0 ],\r\n [ \"blendIndice\", \"BoneIndices\", 4, 0, \"UInt16\" ],\r\n [ \"blendWeight\", \"BoneWeights\", 4, 0 ]\r\n ])\r\n {\r\n const [ name, usage, elementCount, usageIndex = 0, type = \"Float32\" ] = channel;\r\n if (!Array.isArray(vertex[name]) || vertex[name].length === 0) continue;\r\n decl.push({ usage, usageIndex, type, elementCount, offset });\r\n offset += elementCount * elementTypeSize(type);\r\n }\r\n return decl;\r\n}\r\n\r\nfunction estimateVertexStride(vertex)\n{\n return estimateStrideFromDecl(buildDecl(vertex));\n}\n\r\nfunction bounds(mesh)\n{\n return {\n min: mesh.minBounds ?? [ 0, 0, 0 ],\n max: mesh.maxBounds ?? [ 0, 0, 0 ]\n };\n}\n"],"names":["buildCmfFromShared","root","version","metadata","meshes","map","mesh","buildMesh","skeletons","animations","vertex","indices","stride","estimateVertexStride","vertexCount","Math","floor","position","length","name","decl","buildDecl","lods","vb","index","offset","size","ib","totalIndexCount","bytesPerIndex","areas","group","firstElement","firstTriangle","elementCount","faces","morphTargets","threshold","bounds","bones","affectedByBones","affectedByMorphTargets","boneBindings","targets","uvDensities","audioOcclusionMesh","vertices","min","max","topology","skeleton","channel","usage","usageIndex","type","Array","isArray","push","elementTypeSize","estimateStrideFromDecl","minBounds","maxBounds"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sources":["../../../../../../src/resource/formats/webgl/core/errors.js"],"sourcesContent":["/**\r\n * Error raised when a Carbon WebGL package or a DXBC-to-GLSL emission cannot be\r\n * completed safely.\r\n *\r\n * This format has no dependency on the sibling `formats/dxbc` internal\r\n * `DxbcReadError` class (that format only exports its public `CjsDxbcFormat`\r\n * boundary). Emitter/package failures raised from this format's own code\r\n * use this class instead, while thrown messages that document a specific\r\n * failure mode (see README/tests) are kept identical to their origin in\r\n * `hlslreader`.\r\n */\r\nexport class WebglReadError extends Error\r\n{\r\n /**\r\n * Creates a read/emit error with structured location details.\r\n *\r\n * @param {string} message Human-readable failure reason.\r\n * @param {object} [details] Extra reader state such as source, offset, or opcode.\r\n */\r\n constructor(message, details = {})\r\n {\r\n super(message);\r\n this.name = \"WebglReadError\";\r\n this.details = details;\r\n }\r\n}\r\n"],"names":["WebglReadError","Error","constructor","message","details","name"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,cAAc,SAASC,KAAK,CACzC;AACI;AACJ;AACA;AACA;AACA;AACA;AACIC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,OAAO,GAAG,EAAE,EACjC;IACI,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACE,IAAI,GAAG,gBAAgB;IAC5B,IAAI,CAACD,OAAO,GAAGA,OAAO;AAC1B,EAAA;AACJ;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DxbcGlslHelpers.js","sources":["../../../../../../../src/resource/formats/webgl/core/glsl/DxbcGlslHelpers.js"],"sourcesContent":["import { WebglReadError } from \"../errors.js\";\r\n\r\n/**\r\n * Registry of GLSL helper functions the emitter can require per shader.\r\n *\r\n * Lowering rules call `require(name)` when they emit a call site; `emit()`\r\n * then returns only the helpers a shader actually used, in dependency order,\r\n * so generated GLSL stays minimal and deterministic.\r\n */\r\nexport class DxbcGlslHelperRegistry\r\n{\r\n /**\r\n * Initializes an empty helper-definition registry and requirement set.\r\n */\r\n constructor()\r\n {\r\n this._definitions = new Map();\r\n this._required = new Set();\r\n }\r\n\r\n /**\r\n * Defines a helper function.\r\n *\r\n * @param {string} name Helper function name used at call sites.\r\n * @param {object} definition Helper body.\r\n * @param {string} definition.source Complete GLSL function source.\r\n * @param {string[]} [definition.deps] Helper names this helper calls.\r\n */\r\n define(name, { source, deps = [] })\r\n {\r\n this._definitions.set(name, { source, deps });\r\n }\r\n\r\n /**\r\n * Marks a helper (and its dependencies) as used by the current shader.\r\n *\r\n * @param {string} name Helper function name.\r\n * @returns {string} The helper name, for inline use at the call site.\r\n */\r\n require(name)\r\n {\r\n if (!this._definitions.has(name))\r\n {\r\n throw new WebglReadError(\"Unknown GLSL helper\", { helper: name });\r\n }\r\n if (!this._required.has(name))\r\n {\r\n this._required.add(name);\r\n for (const dep of this._definitions.get(name).deps)\r\n {\r\n this.require(dep);\r\n }\r\n }\r\n return name;\r\n }\r\n\r\n /**\r\n * Clears the per-shader usage set while keeping definitions.\r\n */\r\n reset()\r\n {\r\n this._required.clear();\r\n }\r\n\r\n /**\r\n * Emits the source of every required helper in dependency order.\r\n *\r\n * @returns {string} GLSL source block, empty when nothing was required.\r\n */\r\n emit()\r\n {\r\n const ordered = [];\r\n const visited = new Set();\r\n const visit = (name) =>\r\n {\r\n if (visited.has(name)) return;\r\n visited.add(name);\r\n for (const dep of this._definitions.get(name).deps)\r\n {\r\n if (this._required.has(dep)) visit(dep);\r\n }\r\n ordered.push(this._definitions.get(name).source);\r\n };\r\n for (const name of this._required)\r\n {\r\n visit(name);\r\n }\r\n return ordered.join(\"\\n\\n\");\r\n }\r\n}\r\n"],"names":["DxbcGlslHelperRegistry","constructor","_definitions","Map","_required","Set","define","name","source","deps","set","require","has","WebglReadError","helper","add","dep","get","reset","clear","emit","ordered","visited","visit","push","join"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,sBAAsB,CACnC;AACI;AACJ;AACA;AACIC,EAAAA,WAAWA,GACX;AACI,IAAA,IAAI,CAACC,YAAY,GAAG,IAAIC,GAAG,EAAE;AAC7B,IAAA,IAAI,CAACC,SAAS,GAAG,IAAIC,GAAG,EAAE;AAC9B,EAAA;;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACIC,MAAMA,CAACC,IAAI,EAAE;IAAEC,MAAM;AAAEC,IAAAA,IAAI,GAAG;AAAG,GAAC,EAClC;AACI,IAAA,IAAI,CAACP,YAAY,CAACQ,GAAG,CAACH,IAAI,EAAE;MAAEC,MAAM;AAAEC,MAAAA;AAAK,KAAC,CAAC;AACjD,EAAA;;AAEA;AACJ;AACA;AACA;AACA;AACA;EACIE,OAAOA,CAACJ,IAAI,EACZ;IACI,IAAI,CAAC,IAAI,CAACL,YAAY,CAACU,GAAG,CAACL,IAAI,CAAC,EAChC;AACI,MAAA,MAAM,IAAIM,cAAc,CAAC,qBAAqB,EAAE;AAAEC,QAAAA,MAAM,EAAEP;AAAK,OAAC,CAAC;AACrE,IAAA;IACA,IAAI,CAAC,IAAI,CAACH,SAAS,CAACQ,GAAG,CAACL,IAAI,CAAC,EAC7B;AACI,MAAA,IAAI,CAACH,SAAS,CAACW,GAAG,CAACR,IAAI,CAAC;AACxB,MAAA,KAAK,MAAMS,GAAG,IAAI,IAAI,CAACd,YAAY,CAACe,GAAG,CAACV,IAAI,CAAC,CAACE,IAAI,EAClD;AACI,QAAA,IAAI,CAACE,OAAO,CAACK,GAAG,CAAC;AACrB,MAAA;AACJ,IAAA;AACA,IAAA,OAAOT,IAAI;AACf,EAAA;;AAEA;AACJ;AACA;AACIW,EAAAA,KAAKA,GACL;AACI,IAAA,IAAI,CAACd,SAAS,CAACe,KAAK,EAAE;AAC1B,EAAA;;AAEA;AACJ;AACA;AACA;AACA;AACIC,EAAAA,IAAIA,GACJ;IACI,MAAMC,OAAO,GAAG,EAAE;AAClB,IAAA,MAAMC,OAAO,GAAG,IAAIjB,GAAG,EAAE;IACzB,MAAMkB,KAAK,GAAIhB,IAAI,IACnB;AACI,MAAA,IAAIe,OAAO,CAACV,GAAG,CAACL,IAAI,CAAC,EAAE;AACvBe,MAAAA,OAAO,CAACP,GAAG,CAACR,IAAI,CAAC;AACjB,MAAA,KAAK,MAAMS,GAAG,IAAI,IAAI,CAACd,YAAY,CAACe,GAAG,CAACV,IAAI,CAAC,CAACE,IAAI,EAClD;AACI,QAAA,IAAI,IAAI,CAACL,SAAS,CAACQ,GAAG,CAACI,GAAG,CAAC,EAAEO,KAAK,CAACP,GAAG,CAAC;AAC3C,MAAA;AACAK,MAAAA,OAAO,CAACG,IAAI,CAAC,IAAI,CAACtB,YAAY,CAACe,GAAG,CAACV,IAAI,CAAC,CAACC,MAAM,CAAC;IACpD,CAAC;AACD,IAAA,KAAK,MAAMD,IAAI,IAAI,IAAI,CAACH,SAAS,EACjC;MACImB,KAAK,CAAChB,IAAI,CAAC;AACf,IAAA;AACA,IAAA,OAAOc,OAAO,CAACI,IAAI,CAAC,MAAM,CAAC;AAC/B,EAAA;AACJ;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sources":["../../../../../../src/resource/formats/webgpu/core/errors.js"],"sourcesContent":["/**\r\n * Error raised when a Carbon WebGPU package or WebGPU analysis pass cannot be\r\n * completed safely.\r\n */\r\nexport class WebgpuReadError extends Error\r\n{\r\n /**\r\n * Creates a read/analysis error with structured location details.\r\n *\r\n * @param {string} message Human-readable failure reason.\r\n * @param {object} [details] Extra reader state such as source or offset.\r\n */\r\n constructor(message, details = {})\r\n {\r\n super(message);\r\n this.name = \"WebgpuReadError\";\r\n this.details = details;\r\n }\r\n}\r\n"],"names":["WebgpuReadError","Error","constructor","message","details","name"],"mappings":"AAAA;AACA;AACA;AACA;AACO,MAAMA,eAAe,SAASC,KAAK,CAC1C;AACI;AACJ;AACA;AACA;AACA;AACA;AACIC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,OAAO,GAAG,EAAE,EACjC;IACI,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACE,IAAI,GAAG,iBAAiB;IAC7B,IAAI,CAACD,OAAO,GAAGA,OAAO;AAC1B,EAAA;AACJ;;;;"}
|