@carbonenginejs/runtime-resource 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/FORMAT-PROVENANCE.md +135 -0
- package/LICENSE +21 -0
- package/NOTICE +29 -0
- package/README.md +241 -0
- package/dist/CjsMotherLode.js +56 -0
- package/dist/CjsMotherLode.js.map +1 -0
- package/dist/CjsResMan.js +740 -0
- package/dist/CjsResMan.js.map +1 -0
- package/dist/CjsResManQueue.js +214 -0
- package/dist/CjsResManQueue.js.map +1 -0
- package/dist/CjsResource.js +366 -0
- package/dist/CjsResource.js.map +1 -0
- package/dist/CjsResourceSource.js +59 -0
- package/dist/CjsResourceSource.js.map +1 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.js +153 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/dist/format/CjsFormat.js +178 -0
- package/dist/format/CjsFormat.js.map +1 -0
- package/dist/format/CjsResourceProbe.js +269 -0
- package/dist/format/CjsResourceProbe.js.map +1 -0
- package/dist/format/payloadContract.js +173 -0
- package/dist/format/payloadContract.js.map +1 -0
- package/dist/formats/black/CjsBlackFormat.js +272 -0
- package/dist/formats/black/CjsBlackFormat.js.map +1 -0
- package/dist/formats/black/core/CjsBlackBinaryReader.js +153 -0
- package/dist/formats/black/core/CjsBlackBinaryReader.js.map +1 -0
- package/dist/formats/black/core/CjsBlackPropertyReaders.js +382 -0
- package/dist/formats/black/core/CjsBlackPropertyReaders.js.map +1 -0
- package/dist/formats/black/core/CjsBlackReader.js +760 -0
- package/dist/formats/black/core/CjsBlackReader.js.map +1 -0
- package/dist/formats/black/core/CjsBlackSchemaRegistry.js +433 -0
- package/dist/formats/black/core/CjsBlackSchemaRegistry.js.map +1 -0
- package/dist/formats/black/core/black-schema-v1-2026-07-11.json.js +4 -0
- package/dist/formats/black/core/black-schema-v1-2026-07-11.json.js.map +1 -0
- package/dist/formats/black/core/blackConstants.js +7 -0
- package/dist/formats/black/core/blackConstants.js.map +1 -0
- package/dist/formats/black/core/blackDefinitions.js +10 -0
- package/dist/formats/black/core/blackDefinitions.js.map +1 -0
- package/dist/formats/black/core/blackEnums.js +6 -0
- package/dist/formats/black/core/blackEnums.js.map +1 -0
- package/dist/formats/black/core/blackSchema.js +3 -0
- package/dist/formats/black/core/blackSchema.js.map +1 -0
- package/dist/formats/black/core/blackVersion.js +22 -0
- package/dist/formats/black/core/blackVersion.js.map +1 -0
- package/dist/formats/black/core/helpers.js +182 -0
- package/dist/formats/black/core/helpers.js.map +1 -0
- package/dist/formats/black/core/schema.js +4 -0
- package/dist/formats/black/core/schema.js.map +1 -0
- package/dist/formats/black/index.js +2 -0
- package/dist/formats/black/index.js.map +1 -0
- package/dist/formats/bnk/CjsBnkFormat.js +245 -0
- package/dist/formats/bnk/CjsBnkFormat.js.map +1 -0
- package/dist/formats/bnk/core/helpers.js +354 -0
- package/dist/formats/bnk/core/helpers.js.map +1 -0
- package/dist/formats/bnk/core/soundbanksInfo.js +246 -0
- package/dist/formats/bnk/core/soundbanksInfo.js.map +1 -0
- package/dist/formats/bnk/index.js +3 -0
- package/dist/formats/bnk/index.js.map +1 -0
- package/dist/formats/cmf/CjsCmfFormat.js +491 -0
- package/dist/formats/cmf/CjsCmfFormat.js.map +1 -0
- package/dist/formats/cmf/core/binary.js +118 -0
- package/dist/formats/cmf/core/binary.js.map +1 -0
- package/dist/formats/cmf/core/buffers.js +233 -0
- package/dist/formats/cmf/core/buffers.js.map +1 -0
- package/dist/formats/cmf/core/constants.js +47 -0
- package/dist/formats/cmf/core/constants.js.map +1 -0
- package/dist/formats/cmf/core/gr2Anim.js +453 -0
- package/dist/formats/cmf/core/gr2Anim.js.map +1 -0
- package/dist/formats/cmf/core/helpers.js +287 -0
- package/dist/formats/cmf/core/helpers.js.map +1 -0
- package/dist/formats/cmf/core/pack.js +276 -0
- package/dist/formats/cmf/core/pack.js.map +1 -0
- package/dist/formats/cmf/core/schema.js +364 -0
- package/dist/formats/cmf/core/schema.js.map +1 -0
- package/dist/formats/cmf/core/shared.js +268 -0
- package/dist/formats/cmf/core/shared.js.map +1 -0
- package/dist/formats/cmf/core/writer.js +517 -0
- package/dist/formats/cmf/core/writer.js.map +1 -0
- package/dist/formats/cmf/index.js +2 -0
- package/dist/formats/cmf/index.js.map +1 -0
- package/dist/formats/dds/CjsDdsFormat.js +187 -0
- package/dist/formats/dds/CjsDdsFormat.js.map +1 -0
- package/dist/formats/dds/core/helpers.js +812 -0
- package/dist/formats/dds/core/helpers.js.map +1 -0
- package/dist/formats/dds/index.js +2 -0
- package/dist/formats/dds/index.js.map +1 -0
- package/dist/formats/fbx/CjsFbxFormat.js +260 -0
- package/dist/formats/fbx/CjsFbxFormat.js.map +1 -0
- package/dist/formats/fbx/core/helpers.js +3901 -0
- package/dist/formats/fbx/core/helpers.js.map +1 -0
- package/dist/formats/fbx/index.js +2 -0
- package/dist/formats/fbx/index.js.map +1 -0
- package/dist/formats/flac/CjsFlacFormat.js +81 -0
- package/dist/formats/flac/CjsFlacFormat.js.map +1 -0
- package/dist/formats/flac/core/helpers.js +295 -0
- package/dist/formats/flac/core/helpers.js.map +1 -0
- package/dist/formats/flac/index.js +2 -0
- package/dist/formats/flac/index.js.map +1 -0
- package/dist/formats/gif/CjsGifFormat.js +81 -0
- package/dist/formats/gif/CjsGifFormat.js.map +1 -0
- package/dist/formats/gif/core/helpers.js +360 -0
- package/dist/formats/gif/core/helpers.js.map +1 -0
- package/dist/formats/gif/index.js +2 -0
- package/dist/formats/gif/index.js.map +1 -0
- package/dist/formats/gltf/CjsGltfFormat.js +284 -0
- package/dist/formats/gltf/CjsGltfFormat.js.map +1 -0
- package/dist/formats/gltf/core/helpers.js +292 -0
- package/dist/formats/gltf/core/helpers.js.map +1 -0
- package/dist/formats/gltf/core/json.js +79 -0
- package/dist/formats/gltf/core/json.js.map +1 -0
- package/dist/formats/gltf/core/parser.js +666 -0
- package/dist/formats/gltf/core/parser.js.map +1 -0
- package/dist/formats/gltf/core/targets.js +163 -0
- package/dist/formats/gltf/core/targets.js.map +1 -0
- package/dist/formats/gltf/index.js +2 -0
- package/dist/formats/gltf/index.js.map +1 -0
- package/dist/formats/index.js +23 -0
- package/dist/formats/index.js.map +1 -0
- package/dist/formats/jpeg/CjsJpegFormat.js +200 -0
- package/dist/formats/jpeg/CjsJpegFormat.js.map +1 -0
- package/dist/formats/jpeg/core/helpers.js +350 -0
- package/dist/formats/jpeg/core/helpers.js.map +1 -0
- package/dist/formats/jpeg/core/jpeg.js +377 -0
- package/dist/formats/jpeg/core/jpeg.js.map +1 -0
- package/dist/formats/jpeg/index.js +2 -0
- package/dist/formats/jpeg/index.js.map +1 -0
- package/dist/formats/mp3/CjsMp3Format.js +186 -0
- package/dist/formats/mp3/CjsMp3Format.js.map +1 -0
- package/dist/formats/mp3/core/helpers.js +338 -0
- package/dist/formats/mp3/core/helpers.js.map +1 -0
- package/dist/formats/mp3/index.js +2 -0
- package/dist/formats/mp3/index.js.map +1 -0
- package/dist/formats/mp4/CjsMp4Format.js +185 -0
- package/dist/formats/mp4/CjsMp4Format.js.map +1 -0
- package/dist/formats/mp4/core/helpers.js +449 -0
- package/dist/formats/mp4/core/helpers.js.map +1 -0
- package/dist/formats/mp4/index.js +2 -0
- package/dist/formats/mp4/index.js.map +1 -0
- package/dist/formats/obj/CjsObjFormat.js +247 -0
- package/dist/formats/obj/CjsObjFormat.js.map +1 -0
- package/dist/formats/obj/core/helpers.js +573 -0
- package/dist/formats/obj/core/helpers.js.map +1 -0
- package/dist/formats/obj/core/json.js +64 -0
- package/dist/formats/obj/core/json.js.map +1 -0
- package/dist/formats/obj/core/parser.js +321 -0
- package/dist/formats/obj/core/parser.js.map +1 -0
- package/dist/formats/obj/index.js +2 -0
- package/dist/formats/obj/index.js.map +1 -0
- package/dist/formats/ogg/CjsOggFormat.js +82 -0
- package/dist/formats/ogg/CjsOggFormat.js.map +1 -0
- package/dist/formats/ogg/core/helpers.js +387 -0
- package/dist/formats/ogg/core/helpers.js.map +1 -0
- package/dist/formats/ogg/core/imdct.js +178 -0
- package/dist/formats/ogg/core/imdct.js.map +1 -0
- package/dist/formats/ogg/core/vorbis.js +999 -0
- package/dist/formats/ogg/core/vorbis.js.map +1 -0
- package/dist/formats/ogg/index.js +2 -0
- package/dist/formats/ogg/index.js.map +1 -0
- package/dist/formats/png/CjsPngFormat.js +189 -0
- package/dist/formats/png/CjsPngFormat.js.map +1 -0
- package/dist/formats/png/core/helpers.js +583 -0
- package/dist/formats/png/core/helpers.js.map +1 -0
- package/dist/formats/png/index.js +2 -0
- package/dist/formats/png/index.js.map +1 -0
- package/dist/formats/red/CjsRedFormat.js +247 -0
- package/dist/formats/red/CjsRedFormat.js.map +1 -0
- package/dist/formats/red/core/CjsRedReader.js +201 -0
- package/dist/formats/red/core/CjsRedReader.js.map +1 -0
- package/dist/formats/red/core/blackDefinitions.js +3 -0
- package/dist/formats/red/core/blackDefinitions.js.map +1 -0
- package/dist/formats/red/core/helpers.js +136 -0
- package/dist/formats/red/core/helpers.js.map +1 -0
- package/dist/formats/red/core/redGraph.js +68 -0
- package/dist/formats/red/core/redGraph.js.map +1 -0
- package/dist/formats/red/core/schema.js +4 -0
- package/dist/formats/red/core/schema.js.map +1 -0
- package/dist/formats/red/index.js +2 -0
- package/dist/formats/red/index.js.map +1 -0
- package/dist/formats/stl/CjsStlFormat.js +304 -0
- package/dist/formats/stl/CjsStlFormat.js.map +1 -0
- package/dist/formats/stl/core/helpers.js +257 -0
- package/dist/formats/stl/core/helpers.js.map +1 -0
- package/dist/formats/stl/core/json.js +51 -0
- package/dist/formats/stl/core/json.js.map +1 -0
- package/dist/formats/stl/core/stl.js +544 -0
- package/dist/formats/stl/core/stl.js.map +1 -0
- package/dist/formats/stl/core/targets.js +163 -0
- package/dist/formats/stl/core/targets.js.map +1 -0
- package/dist/formats/stl/index.js +2 -0
- package/dist/formats/stl/index.js.map +1 -0
- package/dist/formats/tga/CjsTgaFormat.js +186 -0
- package/dist/formats/tga/CjsTgaFormat.js.map +1 -0
- package/dist/formats/tga/core/helpers.js +446 -0
- package/dist/formats/tga/core/helpers.js.map +1 -0
- package/dist/formats/tga/index.js +2 -0
- package/dist/formats/tga/index.js.map +1 -0
- package/dist/formats/wav/CjsWavFormat.js +186 -0
- package/dist/formats/wav/CjsWavFormat.js.map +1 -0
- package/dist/formats/wav/core/helpers.js +328 -0
- package/dist/formats/wav/core/helpers.js.map +1 -0
- package/dist/formats/wav/index.js +2 -0
- package/dist/formats/wav/index.js.map +1 -0
- package/dist/formats/webm/CjsWebmFormat.js +185 -0
- package/dist/formats/webm/CjsWebmFormat.js.map +1 -0
- package/dist/formats/webm/core/helpers.js +537 -0
- package/dist/formats/webm/core/helpers.js.map +1 -0
- package/dist/formats/webm/index.js +2 -0
- package/dist/formats/webm/index.js.map +1 -0
- package/dist/formats/webp/CjsWebpFormat.js +80 -0
- package/dist/formats/webp/CjsWebpFormat.js.map +1 -0
- package/dist/formats/webp/core/helpers.js +214 -0
- package/dist/formats/webp/core/helpers.js.map +1 -0
- package/dist/formats/webp/index.js +2 -0
- package/dist/formats/webp/index.js.map +1 -0
- package/dist/formats/wem/CjsWemFormat.js +197 -0
- package/dist/formats/wem/CjsWemFormat.js.map +1 -0
- package/dist/formats/wem/core/bitStream.js +259 -0
- package/dist/formats/wem/core/bitStream.js.map +1 -0
- package/dist/formats/wem/core/codebookLibrary.js +164 -0
- package/dist/formats/wem/core/codebookLibrary.js.map +1 -0
- package/dist/formats/wem/core/helpers.js +336 -0
- package/dist/formats/wem/core/helpers.js.map +1 -0
- package/dist/formats/wem/core/packedCodebooksAotuv603.js +30 -0
- package/dist/formats/wem/core/packedCodebooksAotuv603.js.map +1 -0
- package/dist/formats/wem/core/wemToOgg.js +485 -0
- package/dist/formats/wem/core/wemToOgg.js.map +1 -0
- package/dist/formats/wem/index.js +2 -0
- package/dist/formats/wem/index.js.map +1 -0
- package/dist/formats/yaml/CjsYamlFormat.js +77 -0
- package/dist/formats/yaml/CjsYamlFormat.js.map +1 -0
- package/dist/formats/yaml/core/CjsYamlReader.js +304 -0
- package/dist/formats/yaml/core/CjsYamlReader.js.map +1 -0
- package/dist/formats/yaml/core/helpers.js +160 -0
- package/dist/formats/yaml/core/helpers.js.map +1 -0
- package/dist/formats/yaml/index.js +2 -0
- package/dist/formats/yaml/index.js.map +1 -0
- package/dist/generated/resources/AudioGeometryResData.js +47 -0
- package/dist/generated/resources/AudioGeometryResData.js.map +1 -0
- package/dist/generated/resources/CmfVertexReader.js +46 -0
- package/dist/generated/resources/CmfVertexReader.js.map +1 -0
- package/dist/generated/resources/GStateBindingCallbackData.js +31 -0
- package/dist/generated/resources/GStateBindingCallbackData.js.map +1 -0
- package/dist/generated/resources/MeshDecalData.js +37 -0
- package/dist/generated/resources/MeshDecalData.js.map +1 -0
- package/dist/generated/resources/MeshDecalLodData.js +34 -0
- package/dist/generated/resources/MeshDecalLodData.js.map +1 -0
- package/dist/generated/resources/Tr2AsyncSave.js +46 -0
- package/dist/generated/resources/Tr2AsyncSave.js.map +1 -0
- package/dist/generated/resources/Tr2CmfContents.js +37 -0
- package/dist/generated/resources/Tr2CmfContents.js.map +1 -0
- package/dist/generated/resources/Tr2GrannyIntersectionResult.js +58 -0
- package/dist/generated/resources/Tr2GrannyIntersectionResult.js.map +1 -0
- package/dist/generated/resources/Tr2LoadPrepareFence.js +37 -0
- package/dist/generated/resources/Tr2LoadPrepareFence.js.map +1 -0
- package/dist/generated/resources/Tr2MaterialArea.js +34 -0
- package/dist/generated/resources/Tr2MaterialArea.js.map +1 -0
- package/dist/generated/resources/Tr2MaterialMesh.js +31 -0
- package/dist/generated/resources/Tr2MaterialMesh.js.map +1 -0
- package/dist/generated/resources/Tr2MaterialRes.js +34 -0
- package/dist/generated/resources/Tr2MaterialRes.js.map +1 -0
- package/dist/generated/resources/Tr2ShaderPermutation.js +43 -0
- package/dist/generated/resources/Tr2ShaderPermutation.js.map +1 -0
- package/dist/generated/resources/Tr2TextureLodManager.js +60 -0
- package/dist/generated/resources/Tr2TextureLodManager.js.map +1 -0
- package/dist/generated/resources/Tr2TextureLodUpdateRequest.js +37 -0
- package/dist/generated/resources/Tr2TextureLodUpdateRequest.js.map +1 -0
- package/dist/generated/resources/Tr2TexturePackChannel.js +37 -0
- package/dist/generated/resources/Tr2TexturePackChannel.js.map +1 -0
- package/dist/generated/resources/Tr2TexturePipeline.js +44 -0
- package/dist/generated/resources/Tr2TexturePipeline.js.map +1 -0
- package/dist/generated/resources/Tr2TexturePipelineParams.js +34 -0
- package/dist/generated/resources/Tr2TexturePipelineParams.js.map +1 -0
- package/dist/generated/resources/Tr2TexturePipelineStepCompress.js +40 -0
- package/dist/generated/resources/Tr2TexturePipelineStepCompress.js.map +1 -0
- package/dist/generated/resources/Tr2TexturePipelineStepLimitSize.js +34 -0
- package/dist/generated/resources/Tr2TexturePipelineStepLimitSize.js.map +1 -0
- package/dist/generated/resources/Tr2TexturePipelineStepLoad.js +31 -0
- package/dist/generated/resources/Tr2TexturePipelineStepLoad.js.map +1 -0
- package/dist/generated/resources/Tr2TexturePipelineStepPack.js +43 -0
- package/dist/generated/resources/Tr2TexturePipelineStepPack.js.map +1 -0
- package/dist/generated/resources/TriGeometryResAreaData.js +59 -0
- package/dist/generated/resources/TriGeometryResAreaData.js.map +1 -0
- package/dist/generated/resources/TriGeometryResJointData.js +38 -0
- package/dist/generated/resources/TriGeometryResJointData.js.map +1 -0
- package/dist/generated/resources/TriGeometryResLodData.js +88 -0
- package/dist/generated/resources/TriGeometryResLodData.js.map +1 -0
- package/dist/generated/resources/TriGeometryResMeshData.js +63 -0
- package/dist/generated/resources/TriGeometryResMeshData.js.map +1 -0
- package/dist/generated/resources/TriGeometryResSkeletonData.js +34 -0
- package/dist/generated/resources/TriGeometryResSkeletonData.js.map +1 -0
- package/dist/generated/resources/TriJointBinding.js +38 -0
- package/dist/generated/resources/TriJointBinding.js.map +1 -0
- package/dist/generated/resources/TriMorphTargetGeometryConstants.js +46 -0
- package/dist/generated/resources/TriMorphTargetGeometryConstants.js.map +1 -0
- package/dist/generated/resources/TriRtGeometryConstants.js +88 -0
- package/dist/generated/resources/TriRtGeometryConstants.js.map +1 -0
- package/dist/generated/resources/enums.js +18 -0
- package/dist/generated/resources/enums.js.map +1 -0
- package/dist/generated/resources/index.js +32 -0
- package/dist/generated/resources/index.js.map +1 -0
- package/dist/index.js +52 -0
- package/dist/index.js.map +1 -0
- package/dist/resourcePath.js +18 -0
- package/dist/resourcePath.js.map +1 -0
- package/dist/resourceStates.js +9 -0
- package/dist/resourceStates.js.map +1 -0
- package/dist/resources/Tr2EffectRes.js +71 -0
- package/dist/resources/Tr2EffectRes.js.map +1 -0
- package/dist/resources/Tr2GrannyStateRes.js +44 -0
- package/dist/resources/Tr2GrannyStateRes.js.map +1 -0
- package/dist/resources/Tr2ImageRes.js +114 -0
- package/dist/resources/Tr2ImageRes.js.map +1 -0
- package/dist/resources/Tr2LightProfileRes.js +40 -0
- package/dist/resources/Tr2LightProfileRes.js.map +1 -0
- package/dist/resources/TriGeometryRes.js +216 -0
- package/dist/resources/TriGeometryRes.js.map +1 -0
- package/dist/resources/TriGrannyRes.js +43 -0
- package/dist/resources/TriGrannyRes.js.map +1 -0
- package/dist/resources/TriTextureRes.js +304 -0
- package/dist/resources/TriTextureRes.js.map +1 -0
- package/dist/resources/resourceBoundary.js +47 -0
- package/dist/resources/resourceBoundary.js.map +1 -0
- package/dist/texture/CjsTextureArrayRes.js +406 -0
- package/dist/texture/CjsTextureArrayRes.js.map +1 -0
- package/dist/texture/CjsTextureParameterProxy.js +133 -0
- package/dist/texture/CjsTextureParameterProxy.js.map +1 -0
- package/format-notices/black/LICENSE +21 -0
- package/format-notices/black/NOTICE +47 -0
- package/format-notices/bnk/LICENSE +21 -0
- package/format-notices/bnk/NOTICE +17 -0
- package/format-notices/cmf/LICENSE +21 -0
- package/format-notices/cmf/NOTICE +36 -0
- package/format-notices/dds/LICENSE +21 -0
- package/format-notices/dds/NOTICE +14 -0
- package/format-notices/fbx/LICENSE +21 -0
- package/format-notices/fbx/NOTICE +14 -0
- package/format-notices/flac/LICENSE +21 -0
- package/format-notices/flac/NOTICE +14 -0
- package/format-notices/gif/LICENSE +21 -0
- package/format-notices/gif/NOTICE +14 -0
- package/format-notices/gltf/LICENSE +21 -0
- package/format-notices/gltf/NOTICE +27 -0
- package/format-notices/jpeg/LICENSE +21 -0
- package/format-notices/jpeg/NOTICE +14 -0
- package/format-notices/mp3/LICENSE +21 -0
- package/format-notices/mp3/NOTICE +14 -0
- package/format-notices/mp4/LICENSE +21 -0
- package/format-notices/mp4/NOTICE +14 -0
- package/format-notices/obj/LICENSE +21 -0
- package/format-notices/obj/NOTICE +26 -0
- package/format-notices/ogg/LICENSE +21 -0
- package/format-notices/ogg/NOTICE +28 -0
- package/format-notices/png/LICENSE +21 -0
- package/format-notices/png/NOTICE +14 -0
- package/format-notices/red/LICENSE +21 -0
- package/format-notices/red/NOTICE +31 -0
- package/format-notices/stl/LICENSE +21 -0
- package/format-notices/stl/NOTICE +21 -0
- package/format-notices/tga/LICENSE +21 -0
- package/format-notices/tga/NOTICE +14 -0
- package/format-notices/wav/LICENSE +21 -0
- package/format-notices/wav/NOTICE +14 -0
- package/format-notices/webm/LICENSE +21 -0
- package/format-notices/webm/NOTICE +14 -0
- package/format-notices/webp/LICENSE +21 -0
- package/format-notices/webp/NOTICE +14 -0
- package/format-notices/wem/LICENSE +57 -0
- package/format-notices/wem/NOTICE +33 -0
- package/format-notices/yaml/LICENSE +21 -0
- package/format-notices/yaml/NOTICE +44 -0
- package/package.json +51 -0
- package/resource-lifecycle.md +487 -0
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { io, type, carbon, impl } from '@carbonenginejs/core-types/schema';
|
|
3
|
+
import { CjsResource as _CjsResource } from '../CjsResource.js';
|
|
4
|
+
import { validateVideoPayload, validateTexturePayload, validateRgbaPayload, ResourcePayloadType } from '../format/payloadContract.js';
|
|
5
|
+
import { ResourcePayloadError, ValidateResourcePayload, CarbonStubError, ResourceBoundaryError } from './resourceBoundary.js';
|
|
6
|
+
|
|
7
|
+
let _initProto, _initClass, _init_format, _init_extra_format, _init_type, _init_extra_type, _init_averageColor, _init_extra_averageColor, _init_depth, _init_extra_depth, _init_cutoutHeight, _init_extra_cutoutHeight, _init_height, _init_extra_height, _init_lodEnabled, _init_extra_lodEnabled, _init_cpuMip, _init_extra_cpuMip, _init_gpuMip, _init_extra_gpuMip, _init_wrappedRenderTarget, _init_extra_wrappedRenderTarget, _init_originalResolution, _init_extra_originalResolution, _init_name, _init_extra_name, _init_arraySize, _init_extra_arraySize, _init_cutoutWidth, _init_extra_cutoutWidth, _init_width, _init_extra_width, _init_cutoutX, _init_extra_cutoutX, _init_cutoutY, _init_extra_cutoutY;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* TriTextureRes resource record.
|
|
11
|
+
*
|
|
12
|
+
* This class owns Carbon-style resource identity and texture payload facts.
|
|
13
|
+
* Engine-gpu decides what those facts become on a device.
|
|
14
|
+
*/
|
|
15
|
+
let _TriTextureRes;
|
|
16
|
+
new class extends _identity {
|
|
17
|
+
static [class TriTextureRes extends _CjsResource {
|
|
18
|
+
static {
|
|
19
|
+
({
|
|
20
|
+
e: [_init_format, _init_extra_format, _init_type, _init_extra_type, _init_averageColor, _init_extra_averageColor, _init_depth, _init_extra_depth, _init_cutoutHeight, _init_extra_cutoutHeight, _init_height, _init_extra_height, _init_lodEnabled, _init_extra_lodEnabled, _init_cpuMip, _init_extra_cpuMip, _init_gpuMip, _init_extra_gpuMip, _init_wrappedRenderTarget, _init_extra_wrappedRenderTarget, _init_originalResolution, _init_extra_originalResolution, _init_name, _init_extra_name, _init_arraySize, _init_extra_arraySize, _init_cutoutWidth, _init_extra_cutoutWidth, _init_width, _init_extra_width, _init_cutoutX, _init_extra_cutoutX, _init_cutoutY, _init_extra_cutoutY, _initProto],
|
|
21
|
+
c: [_TriTextureRes, _initClass]
|
|
22
|
+
} = _applyDecs2311(this, [type.define({
|
|
23
|
+
className: "TriTextureRes",
|
|
24
|
+
family: "resources"
|
|
25
|
+
})], [[[io, io.read, type, type.unknown], 16, "format"], [[io, io.persist, type, type.unknown], 16, "type"], [[io, io.read, type, type.color], 16, "averageColor"], [[io, io.read, type, type.uint32], 16, "depth"], [[io, io.readwrite, type, type.float32], 16, "cutoutHeight"], [[io, io.read, type, type.uint32], 16, "height"], [[io, io.read, type, type.boolean], 16, "lodEnabled"], [[io, io.read, type, type.uint32], 16, "cpuMip"], [[io, io.read, type, type.uint32], 16, "gpuMip"], [[io, io.read, type, type.unknown], 16, "wrappedRenderTarget"], [[io, io.read, type, type.uint32], 16, "originalResolution"], [[io, io.readwrite, type, type.string], 16, "name"], [[io, io.read, type, type.uint32], 16, "arraySize"], [[io, io.readwrite, type, type.float32], 16, "cutoutWidth"], [[io, io.read, type, type.uint32], 16, "width"], [[io, io.readwrite, type, type.float32], 16, "cutoutX"], [[io, io.readwrite, type, type.float32], 16, "cutoutY"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMipCount"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetMsaaType"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetMsaaQuality"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "HadLodRequests"], [[carbon, carbon.method, impl, impl.notSupported], 18, "GetSrvIndexInHeap"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "SaveAsync"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "Save"], [[carbon, carbon.method, impl, impl.noop], 18, "IsSaving"], [[carbon, carbon.method, impl, impl.noop], 18, "IsSaveCompleted"], [[carbon, carbon.method, impl, impl.noop], 18, "IsSaveSucceeded"], [[carbon, carbon.method, impl, impl.noop], 18, "WaitForSave"], [[carbon, carbon.method, impl, impl.notSupported], 18, "CreateEmptyTexture"], [[carbon, carbon.method, impl, impl.notSupported], 18, "SetFromRenderTarget"], [[carbon, carbon.method, impl, impl.notSupported], 18, "CreateAndCopyFromRenderTarget"], [[carbon, carbon.method, impl, impl.notSupported], 18, "CreateFromHostBitmap"], [[carbon, carbon.method, impl, impl.notSupported], 18, "CreateFromTexture"], [[carbon, carbon.method, impl, impl.adapted], 18, "HasALObject"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetPipeline"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetOriginalMemoryUsage"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetAverageColor"], [[carbon, carbon.method, impl, impl.notSupported], 18, "UpdateSubresource"], [[carbon, carbon.method, impl, impl.adapted], 18, "PrepareResources"]], 0, void 0, _CjsResource));
|
|
26
|
+
}
|
|
27
|
+
format = (_initProto(this), _init_format(this, null));
|
|
28
|
+
type = (_init_extra_format(this), _init_type(this, null));
|
|
29
|
+
averageColor = (_init_extra_type(this), _init_averageColor(this, [0, 0, 0, 0]));
|
|
30
|
+
depth = (_init_extra_averageColor(this), _init_depth(this, 0));
|
|
31
|
+
cutoutHeight = (_init_extra_depth(this), _init_cutoutHeight(this, 1));
|
|
32
|
+
height = (_init_extra_cutoutHeight(this), _init_height(this, 0));
|
|
33
|
+
lodEnabled = (_init_extra_height(this), _init_lodEnabled(this, false));
|
|
34
|
+
cpuMip = (_init_extra_lodEnabled(this), _init_cpuMip(this, 0));
|
|
35
|
+
gpuMip = (_init_extra_cpuMip(this), _init_gpuMip(this, 0));
|
|
36
|
+
wrappedRenderTarget = (_init_extra_gpuMip(this), _init_wrappedRenderTarget(this, null));
|
|
37
|
+
originalResolution = (_init_extra_wrappedRenderTarget(this), _init_originalResolution(this, 0));
|
|
38
|
+
name = (_init_extra_originalResolution(this), _init_name(this, ""));
|
|
39
|
+
arraySize = (_init_extra_name(this), _init_arraySize(this, 0));
|
|
40
|
+
cutoutWidth = (_init_extra_arraySize(this), _init_cutoutWidth(this, 1));
|
|
41
|
+
width = (_init_extra_cutoutWidth(this), _init_width(this, 0));
|
|
42
|
+
cutoutX = (_init_extra_width(this), _init_cutoutX(this, 0));
|
|
43
|
+
cutoutY = (_init_extra_cutoutX(this), _init_cutoutY(this, 0));
|
|
44
|
+
constructor(values = null) {
|
|
45
|
+
super(), _init_extra_cutoutY(this);
|
|
46
|
+
this.SetValues(values || {}, {
|
|
47
|
+
markDirty: false,
|
|
48
|
+
skipUpdate: true,
|
|
49
|
+
skipEvents: true
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Attach a plain texture, RGBA, or video payload and mirror Carbon-exposed
|
|
55
|
+
* metadata. Invalid payloads are rejected before replacing the current one.
|
|
56
|
+
*
|
|
57
|
+
* @param {object|null} payload
|
|
58
|
+
* @param {object|null} options
|
|
59
|
+
* @returns {TriTextureRes}
|
|
60
|
+
*/
|
|
61
|
+
SetPayload(payload = null, options = null) {
|
|
62
|
+
if (payload === null) {
|
|
63
|
+
super.SetPayload(null);
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
const validator = {
|
|
67
|
+
[ResourcePayloadType.RGBA]: validateRgbaPayload,
|
|
68
|
+
[ResourcePayloadType.TEXTURE]: validateTexturePayload,
|
|
69
|
+
[ResourcePayloadType.VIDEO]: validateVideoPayload
|
|
70
|
+
}[payload?.payloadType];
|
|
71
|
+
if (!validator) {
|
|
72
|
+
throw ResourcePayloadError("TriTextureRes", 'Expected payloadType "rgba", "texture", or "video".', "payloadType");
|
|
73
|
+
}
|
|
74
|
+
ValidateResourcePayload("TriTextureRes", payload, validator);
|
|
75
|
+
const values = {
|
|
76
|
+
...(options || {})
|
|
77
|
+
};
|
|
78
|
+
if (payload.pixelFormat !== undefined || payload.format !== undefined) values.format = payload.pixelFormat || payload.format;
|
|
79
|
+
if (payload.width !== undefined) values.width = payload.width;
|
|
80
|
+
if (payload.height !== undefined) values.height = payload.height;
|
|
81
|
+
if (payload.depth !== undefined) values.depth = payload.depth;
|
|
82
|
+
if (payload.arraySize !== undefined) values.arraySize = payload.arraySize;else if (Array.isArray(payload.faces)) values.arraySize = payload.faces.length;
|
|
83
|
+
if (payload.mipCount !== undefined) values.cpuMip = payload.mipCount;else if (payload.payloadType === ResourcePayloadType.RGBA) values.cpuMip = 1;
|
|
84
|
+
values.originalResolution = Math.max(payload.width || 0, payload.height || 0, this.originalResolution || 0);
|
|
85
|
+
super.SetPayload(payload);
|
|
86
|
+
this.SetValues(values);
|
|
87
|
+
return this;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Return the number of mip levels known to this texture resource.
|
|
92
|
+
*
|
|
93
|
+
* @returns {number}
|
|
94
|
+
*/
|
|
95
|
+
GetMipCount() {
|
|
96
|
+
return this.GetPayload()?.mipCount || this.cpuMip || 0;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Return the multisample type for this texture.
|
|
101
|
+
*
|
|
102
|
+
* @returns {number}
|
|
103
|
+
*/
|
|
104
|
+
GetMsaaType() {
|
|
105
|
+
throw CarbonStubError("TriTextureRes", "GetMsaaType");
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Return the multisample quality for this texture.
|
|
110
|
+
*
|
|
111
|
+
* @returns {number}
|
|
112
|
+
*/
|
|
113
|
+
GetMsaaQuality() {
|
|
114
|
+
throw CarbonStubError("TriTextureRes", "GetMsaaQuality");
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Return true if this texture has received LOD requests.
|
|
119
|
+
*
|
|
120
|
+
* @returns {boolean}
|
|
121
|
+
*/
|
|
122
|
+
HadLodRequests() {
|
|
123
|
+
throw CarbonStubError("TriTextureRes", "HadLodRequests");
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Return the shader-resource-view heap index when a backend owns one.
|
|
128
|
+
*
|
|
129
|
+
* @returns {number}
|
|
130
|
+
*/
|
|
131
|
+
GetSrvIndexInHeap() {
|
|
132
|
+
throw ResourceBoundaryError("TriTextureRes", "GetSrvIndexInHeap", "Runtime-resource does not own descriptor heaps.");
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Save this texture asynchronously.
|
|
137
|
+
*
|
|
138
|
+
* @param {string} path
|
|
139
|
+
* @returns {boolean}
|
|
140
|
+
*/
|
|
141
|
+
SaveAsync(path = "") {
|
|
142
|
+
throw CarbonStubError("TriTextureRes", "SaveAsync", path);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Save this texture synchronously.
|
|
147
|
+
*
|
|
148
|
+
* @param {string} path
|
|
149
|
+
* @returns {boolean}
|
|
150
|
+
*/
|
|
151
|
+
Save(path = "") {
|
|
152
|
+
throw CarbonStubError("TriTextureRes", "Save", path);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Return true if an asynchronous save is active.
|
|
157
|
+
*
|
|
158
|
+
* @returns {boolean}
|
|
159
|
+
*/
|
|
160
|
+
IsSaving() {
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Return true if the asynchronous save operation has completed.
|
|
166
|
+
*
|
|
167
|
+
* @returns {boolean}
|
|
168
|
+
*/
|
|
169
|
+
IsSaveCompleted() {
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Return true if the asynchronous save operation succeeded.
|
|
175
|
+
*
|
|
176
|
+
* @returns {boolean}
|
|
177
|
+
*/
|
|
178
|
+
IsSaveSucceeded() {
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Wait for an asynchronous save operation.
|
|
184
|
+
*
|
|
185
|
+
* @returns {boolean}
|
|
186
|
+
*/
|
|
187
|
+
WaitForSave() {
|
|
188
|
+
return this.IsSaveCompleted();
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Device texture allocation belongs to engine-gpu.
|
|
193
|
+
*
|
|
194
|
+
* @throws {Error}
|
|
195
|
+
*/
|
|
196
|
+
CreateEmptyTexture() {
|
|
197
|
+
throw ResourceBoundaryError("TriTextureRes", "CreateEmptyTexture", "Use engine-gpu to allocate device textures.");
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Render-target wrapping belongs to engine-gpu.
|
|
202
|
+
*
|
|
203
|
+
* @throws {Error}
|
|
204
|
+
*/
|
|
205
|
+
SetFromRenderTarget() {
|
|
206
|
+
throw ResourceBoundaryError("TriTextureRes", "SetFromRenderTarget", "Runtime-resource does not own render targets.");
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Create a texture copy from a render target.
|
|
211
|
+
*
|
|
212
|
+
* @throws {Error}
|
|
213
|
+
*/
|
|
214
|
+
CreateAndCopyFromRenderTarget() {
|
|
215
|
+
throw ResourceBoundaryError("TriTextureRes", "CreateAndCopyFromRenderTarget", "Runtime-resource does not own render targets.");
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Create a device texture from a host bitmap.
|
|
220
|
+
*
|
|
221
|
+
* @throws {Error}
|
|
222
|
+
*/
|
|
223
|
+
CreateFromHostBitmap() {
|
|
224
|
+
throw ResourceBoundaryError("TriTextureRes", "CreateFromHostBitmap", "Use engine-gpu to allocate and upload texture data.");
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Create this texture from another texture resource.
|
|
229
|
+
*
|
|
230
|
+
* @throws {Error}
|
|
231
|
+
*/
|
|
232
|
+
CreateFromTexture() {
|
|
233
|
+
throw ResourceBoundaryError("TriTextureRes", "CreateFromTexture", "Use engine-gpu to copy device textures.");
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Return true if this texture owns a backend allocation object.
|
|
238
|
+
*
|
|
239
|
+
* @param {string|number} type
|
|
240
|
+
* @param {string|number} object
|
|
241
|
+
* @returns {boolean}
|
|
242
|
+
*/
|
|
243
|
+
HasALObject(type, object) {
|
|
244
|
+
return this.HasAdapterResource(`${type}:${object}`);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Return an engine-owned texture pipeline object when attached.
|
|
249
|
+
*
|
|
250
|
+
* @returns {*}
|
|
251
|
+
*/
|
|
252
|
+
GetPipeline() {
|
|
253
|
+
return this.GetAdapterResource("pipeline");
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Return memory size for the original non-LODed texture.
|
|
258
|
+
*
|
|
259
|
+
* @returns {number}
|
|
260
|
+
*/
|
|
261
|
+
GetOriginalMemoryUsage() {
|
|
262
|
+
throw CarbonStubError("TriTextureRes", "GetOriginalMemoryUsage");
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Store the average color reported by decoded texture data.
|
|
267
|
+
*
|
|
268
|
+
* @param {number} red
|
|
269
|
+
* @param {number} green
|
|
270
|
+
* @param {number} blue
|
|
271
|
+
* @param {number} alpha
|
|
272
|
+
* @returns {TriTextureRes}
|
|
273
|
+
*/
|
|
274
|
+
SetAverageColor(red = 0, green = 0, blue = 0, alpha = 0) {
|
|
275
|
+
this.averageColor = [red, green, blue, alpha];
|
|
276
|
+
return this;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Update a texture subresource.
|
|
281
|
+
*
|
|
282
|
+
* @throws {Error}
|
|
283
|
+
*/
|
|
284
|
+
UpdateSubresource() {
|
|
285
|
+
throw ResourceBoundaryError("TriTextureRes", "UpdateSubresource", "Use engine-gpu to upload texture bytes.");
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* Resource preparation does not decide device upload policy.
|
|
290
|
+
*
|
|
291
|
+
* @returns {boolean}
|
|
292
|
+
*/
|
|
293
|
+
PrepareResources() {
|
|
294
|
+
return this.IsPrepared();
|
|
295
|
+
}
|
|
296
|
+
}];
|
|
297
|
+
payload = "texture";
|
|
298
|
+
constructor() {
|
|
299
|
+
super(_TriTextureRes), _initClass();
|
|
300
|
+
}
|
|
301
|
+
}();
|
|
302
|
+
|
|
303
|
+
export { _TriTextureRes as TriTextureRes };
|
|
304
|
+
//# sourceMappingURL=TriTextureRes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TriTextureRes.js","sources":["../../../src/resources/TriTextureRes.js"],"sourcesContent":["// Source: trinity/trinity/Resources/TriTextureRes.h\n// Source: trinity/trinity/Resources/TriTextureRes.cpp\n// Source: trinity/trinity/Resources/TriTextureRes_Blue.cpp\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { CjsResource } from \"../CjsResource.js\";\nimport {\n ResourcePayloadType,\n validateRgbaPayload,\n validateTexturePayload,\n validateVideoPayload\n} from \"../format/payloadContract.js\";\nimport {\n CarbonStubError,\n ResourceBoundaryError,\n ResourcePayloadError,\n ValidateResourcePayload\n} from \"./resourceBoundary.js\";\n\n/**\n * TriTextureRes resource record.\n *\n * This class owns Carbon-style resource identity and texture payload facts.\n * Engine-gpu decides what those facts become on a device.\n */\n@type.define({ className: \"TriTextureRes\", family: \"resources\" })\nexport class TriTextureRes extends CjsResource\n{\n @io.read\n @type.unknown\n format = null;\n\n @io.persist\n @type.unknown\n type = null;\n\n @io.read\n @type.color\n averageColor = [0, 0, 0, 0];\n\n @io.read\n @type.uint32\n depth = 0;\n\n @io.readwrite\n @type.float32\n cutoutHeight = 1;\n\n @io.read\n @type.uint32\n height = 0;\n\n @io.read\n @type.boolean\n lodEnabled = false;\n\n @io.read\n @type.uint32\n cpuMip = 0;\n\n @io.read\n @type.uint32\n gpuMip = 0;\n\n @io.read\n @type.unknown\n wrappedRenderTarget = null;\n\n @io.read\n @type.uint32\n originalResolution = 0;\n\n @io.readwrite\n @type.string\n name = \"\";\n\n @io.read\n @type.uint32\n arraySize = 0;\n\n @io.readwrite\n @type.float32\n cutoutWidth = 1;\n\n @io.read\n @type.uint32\n width = 0;\n\n @io.readwrite\n @type.float32\n cutoutX = 0;\n\n @io.readwrite\n @type.float32\n cutoutY = 0;\n\n constructor(values = null) {\n super();\n this.SetValues(values || {}, {\n markDirty: false,\n skipUpdate: true,\n skipEvents: true\n });\n }\n\n /**\n * Attach a plain texture, RGBA, or video payload and mirror Carbon-exposed\n * metadata. Invalid payloads are rejected before replacing the current one.\n *\n * @param {object|null} payload\n * @param {object|null} options\n * @returns {TriTextureRes}\n */\n SetPayload(payload = null, options = null) {\n if (payload === null) {\n super.SetPayload(null);\n return this;\n }\n\n const validator = {\n [ResourcePayloadType.RGBA]: validateRgbaPayload,\n [ResourcePayloadType.TEXTURE]: validateTexturePayload,\n [ResourcePayloadType.VIDEO]: validateVideoPayload\n }[payload?.payloadType];\n if (!validator) {\n throw ResourcePayloadError(\n \"TriTextureRes\",\n 'Expected payloadType \"rgba\", \"texture\", or \"video\".',\n \"payloadType\"\n );\n }\n ValidateResourcePayload(\"TriTextureRes\", payload, validator);\n\n const values = { ...(options || {}) };\n if (payload.pixelFormat !== undefined || payload.format !== undefined) values.format = payload.pixelFormat || payload.format;\n if (payload.width !== undefined) values.width = payload.width;\n if (payload.height !== undefined) values.height = payload.height;\n if (payload.depth !== undefined) values.depth = payload.depth;\n if (payload.arraySize !== undefined) values.arraySize = payload.arraySize;\n else if (Array.isArray(payload.faces)) values.arraySize = payload.faces.length;\n if (payload.mipCount !== undefined) values.cpuMip = payload.mipCount;\n else if (payload.payloadType === ResourcePayloadType.RGBA) values.cpuMip = 1;\n values.originalResolution = Math.max(payload.width || 0, payload.height || 0, this.originalResolution || 0);\n\n super.SetPayload(payload);\n this.SetValues(values);\n return this;\n }\n\n /**\n * Return the number of mip levels known to this texture resource.\n *\n * @returns {number}\n */\n @carbon.method\n @impl.adapted\n GetMipCount() {\n return this.GetPayload()?.mipCount || this.cpuMip || 0;\n }\n\n /**\n * Return the multisample type for this texture.\n *\n * @returns {number}\n */\n @carbon.method\n @impl.notImplemented\n GetMsaaType() {\n throw CarbonStubError(\"TriTextureRes\", \"GetMsaaType\");\n }\n\n /**\n * Return the multisample quality for this texture.\n *\n * @returns {number}\n */\n @carbon.method\n @impl.notImplemented\n GetMsaaQuality() {\n throw CarbonStubError(\"TriTextureRes\", \"GetMsaaQuality\");\n }\n\n /**\n * Return true if this texture has received LOD requests.\n *\n * @returns {boolean}\n */\n @carbon.method\n @impl.notImplemented\n HadLodRequests() {\n throw CarbonStubError(\"TriTextureRes\", \"HadLodRequests\");\n }\n\n /**\n * Return the shader-resource-view heap index when a backend owns one.\n *\n * @returns {number}\n */\n @carbon.method\n @impl.notSupported\n GetSrvIndexInHeap() {\n throw ResourceBoundaryError(\"TriTextureRes\", \"GetSrvIndexInHeap\", \"Runtime-resource does not own descriptor heaps.\");\n }\n\n /**\n * Save this texture asynchronously.\n *\n * @param {string} path\n * @returns {boolean}\n */\n @carbon.method\n @impl.notImplemented\n SaveAsync(path = \"\") {\n throw CarbonStubError(\"TriTextureRes\", \"SaveAsync\", path);\n }\n\n /**\n * Save this texture synchronously.\n *\n * @param {string} path\n * @returns {boolean}\n */\n @carbon.method\n @impl.notImplemented\n Save(path = \"\") {\n throw CarbonStubError(\"TriTextureRes\", \"Save\", path);\n }\n\n /**\n * Return true if an asynchronous save is active.\n *\n * @returns {boolean}\n */\n @carbon.method\n @impl.noop\n IsSaving() {\n return false;\n }\n\n /**\n * Return true if the asynchronous save operation has completed.\n *\n * @returns {boolean}\n */\n @carbon.method\n @impl.noop\n IsSaveCompleted() {\n return true;\n }\n\n /**\n * Return true if the asynchronous save operation succeeded.\n *\n * @returns {boolean}\n */\n @carbon.method\n @impl.noop\n IsSaveSucceeded() {\n return false;\n }\n\n /**\n * Wait for an asynchronous save operation.\n *\n * @returns {boolean}\n */\n @carbon.method\n @impl.noop\n WaitForSave() {\n return this.IsSaveCompleted();\n }\n\n /**\n * Device texture allocation belongs to engine-gpu.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notSupported\n CreateEmptyTexture() {\n throw ResourceBoundaryError(\"TriTextureRes\", \"CreateEmptyTexture\", \"Use engine-gpu to allocate device textures.\");\n }\n\n /**\n * Render-target wrapping belongs to engine-gpu.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notSupported\n SetFromRenderTarget() {\n throw ResourceBoundaryError(\"TriTextureRes\", \"SetFromRenderTarget\", \"Runtime-resource does not own render targets.\");\n }\n\n /**\n * Create a texture copy from a render target.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notSupported\n CreateAndCopyFromRenderTarget() {\n throw ResourceBoundaryError(\"TriTextureRes\", \"CreateAndCopyFromRenderTarget\", \"Runtime-resource does not own render targets.\");\n }\n\n /**\n * Create a device texture from a host bitmap.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notSupported\n CreateFromHostBitmap() {\n throw ResourceBoundaryError(\"TriTextureRes\", \"CreateFromHostBitmap\", \"Use engine-gpu to allocate and upload texture data.\");\n }\n\n /**\n * Create this texture from another texture resource.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notSupported\n CreateFromTexture() {\n throw ResourceBoundaryError(\"TriTextureRes\", \"CreateFromTexture\", \"Use engine-gpu to copy device textures.\");\n }\n\n /**\n * Return true if this texture owns a backend allocation object.\n *\n * @param {string|number} type\n * @param {string|number} object\n * @returns {boolean}\n */\n @carbon.method\n @impl.adapted\n HasALObject(type, object) {\n return this.HasAdapterResource(`${type}:${object}`);\n }\n\n /**\n * Return an engine-owned texture pipeline object when attached.\n *\n * @returns {*}\n */\n @carbon.method\n @impl.adapted\n GetPipeline() {\n return this.GetAdapterResource(\"pipeline\");\n }\n\n /**\n * Return memory size for the original non-LODed texture.\n *\n * @returns {number}\n */\n @carbon.method\n @impl.notImplemented\n GetOriginalMemoryUsage() {\n throw CarbonStubError(\"TriTextureRes\", \"GetOriginalMemoryUsage\");\n }\n\n /**\n * Store the average color reported by decoded texture data.\n *\n * @param {number} red\n * @param {number} green\n * @param {number} blue\n * @param {number} alpha\n * @returns {TriTextureRes}\n */\n @carbon.method\n @impl.adapted\n SetAverageColor(red = 0, green = 0, blue = 0, alpha = 0) {\n this.averageColor = [red, green, blue, alpha];\n return this;\n }\n\n /**\n * Update a texture subresource.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notSupported\n UpdateSubresource() {\n throw ResourceBoundaryError(\"TriTextureRes\", \"UpdateSubresource\", \"Use engine-gpu to upload texture bytes.\");\n }\n\n /**\n * Resource preparation does not decide device upload policy.\n *\n * @returns {boolean}\n */\n @carbon.method\n @impl.adapted\n PrepareResources() {\n return this.IsPrepared();\n }\n\n static payload = \"texture\";\n}\n"],"names":["_TriTextureRes","_identity","TriTextureRes","CjsResource","e","_init_format","_init_extra_format","_init_type","_init_extra_type","_init_averageColor","_init_extra_averageColor","_init_depth","_init_extra_depth","_init_cutoutHeight","_init_extra_cutoutHeight","_init_height","_init_extra_height","_init_lodEnabled","_init_extra_lodEnabled","_init_cpuMip","_init_extra_cpuMip","_init_gpuMip","_init_extra_gpuMip","_init_wrappedRenderTarget","_init_extra_wrappedRenderTarget","_init_originalResolution","_init_extra_originalResolution","_init_name","_init_extra_name","_init_arraySize","_init_extra_arraySize","_init_cutoutWidth","_init_extra_cutoutWidth","_init_width","_init_extra_width","_init_cutoutX","_init_extra_cutoutX","_init_cutoutY","_init_extra_cutoutY","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","unknown","persist","color","uint32","readwrite","float32","boolean","string","carbon","method","impl","adapted","notImplemented","notSupported","noop","format","averageColor","depth","cutoutHeight","height","lodEnabled","cpuMip","gpuMip","wrappedRenderTarget","originalResolution","name","arraySize","cutoutWidth","width","cutoutX","cutoutY","constructor","values","SetValues","markDirty","skipUpdate","skipEvents","SetPayload","payload","options","validator","ResourcePayloadType","RGBA","validateRgbaPayload","TEXTURE","validateTexturePayload","VIDEO","validateVideoPayload","payloadType","ResourcePayloadError","ValidateResourcePayload","pixelFormat","undefined","Array","isArray","faces","length","mipCount","Math","max","GetMipCount","GetPayload","GetMsaaType","CarbonStubError","GetMsaaQuality","HadLodRequests","GetSrvIndexInHeap","ResourceBoundaryError","SaveAsync","path","Save","IsSaving","IsSaveCompleted","IsSaveSucceeded","WaitForSave","CreateEmptyTexture","SetFromRenderTarget","CreateAndCopyFromRenderTarget","CreateFromHostBitmap","CreateFromTexture","HasALObject","object","HasAdapterResource","GetPipeline","GetAdapterResource","GetOriginalMemoryUsage","SetAverageColor","red","green","blue","alpha","UpdateSubresource","PrepareResources","IsPrepared"],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
function ResourceBoundaryError(className, methodName, reason) {
|
|
2
|
+
const error = new Error(`${className}.${methodName} is owned by engine adapters in CarbonEngineJS. ${reason || ""}`.trim());
|
|
3
|
+
error.code = "CJS_RESOURCE_ENGINE_BOUNDARY";
|
|
4
|
+
error.className = className;
|
|
5
|
+
error.methodName = methodName;
|
|
6
|
+
return error;
|
|
7
|
+
}
|
|
8
|
+
function CarbonStubError(className, methodName, reason) {
|
|
9
|
+
const error = new Error(`${className}.${methodName} is a CarbonEngineJS resource stub and is not implemented yet. ${reason || ""}`.trim());
|
|
10
|
+
error.code = "CJS_RESOURCE_NOT_IMPLEMENTED";
|
|
11
|
+
error.className = className;
|
|
12
|
+
error.methodName = methodName;
|
|
13
|
+
return error;
|
|
14
|
+
}
|
|
15
|
+
function ResourcePayloadError(className, reason, field = "", cause = null) {
|
|
16
|
+
const location = field ? `${className} payload.${field}` : `${className} payload`;
|
|
17
|
+
const error = new TypeError(`${location} is invalid. ${reason || ""}`.trim());
|
|
18
|
+
error.code = "CJS_RESOURCE_PAYLOAD_INVALID";
|
|
19
|
+
error.className = className;
|
|
20
|
+
error.field = field;
|
|
21
|
+
if (cause) error.cause = cause;
|
|
22
|
+
return error;
|
|
23
|
+
}
|
|
24
|
+
function AssertResourcePayloadObject(className, payload) {
|
|
25
|
+
if (!payload || typeof payload !== "object" || Array.isArray(payload) || payload instanceof ArrayBuffer || ArrayBuffer.isView(payload)) {
|
|
26
|
+
throw ResourcePayloadError(className, "Expected a plain payload object.");
|
|
27
|
+
}
|
|
28
|
+
return payload;
|
|
29
|
+
}
|
|
30
|
+
function AssertResourcePayloadArray(className, payload, field) {
|
|
31
|
+
if (!Array.isArray(payload[field])) {
|
|
32
|
+
throw ResourcePayloadError(className, "Expected an array.", field);
|
|
33
|
+
}
|
|
34
|
+
return payload[field];
|
|
35
|
+
}
|
|
36
|
+
function ValidateResourcePayload(className, payload, validator) {
|
|
37
|
+
AssertResourcePayloadObject(className, payload);
|
|
38
|
+
try {
|
|
39
|
+
return validator(payload);
|
|
40
|
+
} catch (cause) {
|
|
41
|
+
if (cause?.code === "CJS_RESOURCE_PAYLOAD_INVALID") throw cause;
|
|
42
|
+
throw ResourcePayloadError(className, cause?.message || "Validation failed.", "", cause);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export { AssertResourcePayloadArray, AssertResourcePayloadObject, CarbonStubError, ResourceBoundaryError, ResourcePayloadError, ValidateResourcePayload };
|
|
47
|
+
//# sourceMappingURL=resourceBoundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resourceBoundary.js","sources":["../../../src/resources/resourceBoundary.js"],"sourcesContent":["export function ResourceBoundaryError(className, methodName, reason) {\n const error = new Error(`${className}.${methodName} is owned by engine adapters in CarbonEngineJS. ${reason || \"\"}`.trim());\n error.code = \"CJS_RESOURCE_ENGINE_BOUNDARY\";\n error.className = className;\n error.methodName = methodName;\n return error;\n}\n\nexport function CarbonStubError(className, methodName, reason) {\n const error = new Error(`${className}.${methodName} is a CarbonEngineJS resource stub and is not implemented yet. ${reason || \"\"}`.trim());\n error.code = \"CJS_RESOURCE_NOT_IMPLEMENTED\";\n error.className = className;\n error.methodName = methodName;\n return error;\n}\n\nexport function ResourcePayloadError(className, reason, field = \"\", cause = null) {\n const location = field ? `${className} payload.${field}` : `${className} payload`;\n const error = new TypeError(`${location} is invalid. ${reason || \"\"}`.trim());\n error.code = \"CJS_RESOURCE_PAYLOAD_INVALID\";\n error.className = className;\n error.field = field;\n if (cause) error.cause = cause;\n return error;\n}\n\nexport function AssertResourcePayloadObject(className, payload) {\n if (!payload || typeof payload !== \"object\" || Array.isArray(payload)\n || payload instanceof ArrayBuffer || ArrayBuffer.isView(payload)) {\n throw ResourcePayloadError(className, \"Expected a plain payload object.\");\n }\n return payload;\n}\n\nexport function AssertResourcePayloadArray(className, payload, field) {\n if (!Array.isArray(payload[field])) {\n throw ResourcePayloadError(className, \"Expected an array.\", field);\n }\n return payload[field];\n}\n\nexport function ValidateResourcePayload(className, payload, validator) {\n AssertResourcePayloadObject(className, payload);\n try {\n return validator(payload);\n } catch (cause) {\n if (cause?.code === \"CJS_RESOURCE_PAYLOAD_INVALID\") throw cause;\n throw ResourcePayloadError(className, cause?.message || \"Validation failed.\", \"\", cause);\n }\n}\n"],"names":["ResourceBoundaryError","className","methodName","reason","error","Error","trim","code","CarbonStubError","ResourcePayloadError","field","cause","location","TypeError","AssertResourcePayloadObject","payload","Array","isArray","ArrayBuffer","isView","AssertResourcePayloadArray","ValidateResourcePayload","validator","message"],"mappings":"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"}
|