@carbonenginejs/runtime 0.1.0-alpha.0 → 0.1.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -125
- package/dist/audio/index.js +8 -1
- package/dist/audio/index.js.map +1 -1
- package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js +84 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js +14 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js +26 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js +27 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js +27 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js +25 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js +26 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js +58 -0
- package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js.map +1 -0
- package/dist/audio/trinity/audio/AudManager.js +1 -1
- package/dist/audio/trinity/audio/AudManager.js.map +1 -1
- package/dist/audio/trinity/audio/{AudObstructionOcclusion.js → AudObstructionOcclusion/AudObstructionOcclusion.js} +8 -52
- package/dist/audio/trinity/audio/AudObstructionOcclusion/AudObstructionOcclusion.js.map +1 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js +17 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js.map +1 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js +46 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js.map +1 -0
- package/dist/audio/trinity/index.js +8 -1
- package/dist/audio/trinity/index.js.map +1 -1
- package/dist/character/CjsCharacterAppearanceConstruction.js +5 -0
- package/dist/character/CjsCharacterAppearanceConstruction.js.map +1 -1
- package/dist/character/CjsCharacterAppearanceManager.js +14 -0
- package/dist/character/CjsCharacterAppearanceManager.js.map +1 -1
- package/dist/character/CjsCharacterFoundationConstruction.js +5 -0
- package/dist/character/CjsCharacterFoundationConstruction.js.map +1 -1
- package/dist/character/CjsCharacterTexturePolicy.js +5 -0
- package/dist/character/CjsCharacterTexturePolicy.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesAppearanceAL.js +17 -0
- package/dist/character/gles/CjsCharacterGlesAppearanceAL.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js +2 -0
- package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js +5 -0
- package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js +5 -0
- package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesMorphDeformation.js +2 -0
- package/dist/character/gles/CjsCharacterGlesMorphDeformation.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js +5 -0
- package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js +5 -0
- package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js.map +1 -1
- package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js +9 -0
- package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js.map +1 -1
- package/dist/global/blue/CjsScriptCallback.js +142 -0
- package/dist/global/blue/CjsScriptCallback.js.map +1 -0
- package/dist/global/blue/index.js +2 -0
- package/dist/global/blue/index.js.map +1 -0
- package/dist/global/consts/renderContext/formats.js +51 -1
- package/dist/global/consts/renderContext/formats.js.map +1 -1
- package/dist/global/consts/renderContext/index.js +2 -2
- package/dist/global/consts/renderContext/renderStates.js +16 -1
- package/dist/global/consts/renderContext/renderStates.js.map +1 -1
- package/dist/global/contracts/index.js +0 -1
- package/dist/global/contracts/index.js.map +1 -1
- package/dist/global/index.js +4 -3
- package/dist/global/index.js.map +1 -1
- package/dist/global/math/index.js +2 -0
- package/dist/global/math/index.js.map +1 -1
- package/dist/global/math/mesh.js +70 -16
- package/dist/global/math/mesh.js.map +1 -1
- package/dist/global/math/noise.js +47 -68
- package/dist/global/math/noise.js.map +1 -1
- package/dist/global/math/pool.js +18 -3
- package/dist/global/math/pool.js.map +1 -1
- package/dist/global/math/random.js +52 -0
- package/dist/global/math/random.js.map +1 -0
- package/dist/global/math/tri3.js +18 -4
- package/dist/global/math/tri3.js.map +1 -1
- package/dist/global/schema/CjsSchema.js +20 -2
- package/dist/global/schema/CjsSchema.js.map +1 -1
- package/dist/global/schema/hydration.js +14 -0
- package/dist/global/schema/hydration.js.map +1 -1
- package/dist/global/utils/bytes.js +22 -4
- package/dist/global/utils/bytes.js.map +1 -1
- package/dist/global/utils/checksum.js +80 -0
- package/dist/global/utils/checksum.js.map +1 -0
- package/dist/global/utils/errors/CjsCancellationError.js +36 -0
- package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
- package/dist/global/utils/errors/CjsError.js +21 -52
- package/dist/global/utils/errors/CjsError.js.map +1 -1
- package/dist/global/utils/errors/abort.js +1 -1
- package/dist/global/utils/errors/abort.js.map +1 -1
- package/dist/global/utils/errors/index.js +2 -1
- package/dist/global/utils/errors/index.js.map +1 -1
- package/dist/global/utils/index.js +4 -2
- package/dist/global/utils/index.js.map +1 -1
- package/dist/index.js +95 -35
- package/dist/index.js.map +1 -1
- package/dist/input/Tr2MainWindow.js +7 -9
- package/dist/input/Tr2MainWindow.js.map +1 -1
- package/dist/resource/CjsResMan.js +33 -39
- package/dist/resource/CjsResMan.js.map +1 -1
- package/dist/resource/CjsResource.js +19 -5
- package/dist/resource/CjsResource.js.map +1 -1
- package/dist/resource/audio/AudioGeometryResData.js +22 -27
- package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
- package/dist/resource/audio/CjsAudioRes.js +4 -5
- package/dist/resource/audio/CjsAudioRes.js.map +1 -1
- package/dist/resource/format/CjsBitReader.js +263 -0
- package/dist/resource/format/CjsBitReader.js.map +1 -0
- package/dist/resource/format/CjsByteReader.js +130 -125
- package/dist/resource/format/CjsByteReader.js.map +1 -1
- package/dist/resource/format/CjsFormat.js +11 -4
- package/dist/resource/format/CjsFormat.js.map +1 -1
- package/dist/resource/format/CjsFormatError.js +37 -1
- package/dist/resource/format/CjsFormatError.js.map +1 -1
- package/dist/resource/format/CjsResourceProbe.js +41 -37
- package/dist/resource/format/CjsResourceProbe.js.map +1 -1
- package/dist/resource/format/carbonRecordGuard.js +33 -0
- package/dist/resource/format/carbonRecordGuard.js.map +1 -0
- package/dist/resource/format/imageSignatures.js +202 -0
- package/dist/resource/format/imageSignatures.js.map +1 -0
- package/dist/resource/format/index.js +2 -1
- package/dist/resource/format/index.js.map +1 -1
- package/dist/resource/format/jsonPolicies.js +180 -0
- package/dist/resource/format/jsonPolicies.js.map +1 -0
- package/dist/resource/formats/black/core/helpers.js +18 -29
- package/dist/resource/formats/black/core/helpers.js.map +1 -1
- package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
- package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
- package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
- package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
- package/dist/resource/formats/bnk/core/busNodes.js +2 -1
- package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
- package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
- package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
- package/dist/resource/formats/bnk/core/eventAction.js +15 -93
- package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
- package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
- package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
- package/dist/resource/formats/bnk/core/helpers.js +2 -48
- package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
- package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
- package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
- package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
- package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
- package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
- package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
- package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
- package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
- package/dist/resource/formats/cmf/core/binary.js +54 -60
- package/dist/resource/formats/cmf/core/binary.js.map +1 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
- package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/resource/formats/dds/core/bc6h.js +16 -18
- package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
- package/dist/resource/formats/dds/core/bc7.js +28 -24
- package/dist/resource/formats/dds/core/bc7.js.map +1 -1
- package/dist/resource/formats/dds/core/helpers.js +7 -133
- package/dist/resource/formats/dds/core/helpers.js.map +1 -1
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
- package/dist/resource/formats/dxbc/core/helpers.js +4 -32
- package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
- package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
- package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
- package/dist/resource/formats/fbx/core/helpers.js +18 -12
- package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
- package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
- package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
- package/dist/resource/formats/flac/core/helpers.js +1 -62
- package/dist/resource/formats/flac/core/helpers.js.map +1 -1
- package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
- package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
- package/dist/resource/formats/gif/core/helpers.js +1 -63
- package/dist/resource/formats/gif/core/helpers.js.map +1 -1
- package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
- package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
- package/dist/resource/formats/gltf/core/helpers.js +3 -19
- package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
- package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
- package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
- package/dist/resource/formats/gr2/core/container.js +1 -10
- package/dist/resource/formats/gr2/core/container.js.map +1 -1
- package/dist/resource/formats/gr2/core/helpers.js +24 -35
- package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
- package/dist/resource/formats/gr2/core/shared.js +193 -189
- package/dist/resource/formats/gr2/core/shared.js.map +1 -1
- package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
- package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
- package/dist/resource/formats/hlsl/core/helpers.js +1 -30
- package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
- package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
- package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
- package/dist/resource/formats/jpeg/core/helpers.js +7 -134
- package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
- package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
- package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
- package/dist/resource/formats/mp3/core/helpers.js +1 -64
- package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
- package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
- package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
- package/dist/resource/formats/mp4/core/helpers.js +1 -73
- package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
- package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
- package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
- package/dist/resource/formats/obj/core/helpers.js +93 -115
- package/dist/resource/formats/obj/core/helpers.js.map +1 -1
- package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
- package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
- package/dist/resource/formats/ogg/core/helpers.js +1 -15
- package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
- package/dist/resource/formats/ogg/core/vorbis.js +138 -144
- package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
- package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
- package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
- package/dist/resource/formats/png/CjsPngFormat.js +5 -3
- package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
- package/dist/resource/formats/png/core/helpers.js +13 -152
- package/dist/resource/formats/png/core/helpers.js.map +1 -1
- package/dist/resource/formats/png/core/writer.js +3 -27
- package/dist/resource/formats/png/core/writer.js.map +1 -1
- package/dist/resource/formats/red/core/helpers.js +19 -29
- package/dist/resource/formats/red/core/helpers.js.map +1 -1
- package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
- package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
- package/dist/resource/formats/stl/core/helpers.js +44 -66
- package/dist/resource/formats/stl/core/helpers.js.map +1 -1
- package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
- package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
- package/dist/resource/formats/tga/core/helpers.js +7 -153
- package/dist/resource/formats/tga/core/helpers.js.map +1 -1
- package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
- package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
- package/dist/resource/formats/vta/core/helpers.js +1 -17
- package/dist/resource/formats/vta/core/helpers.js.map +1 -1
- package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
- package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
- package/dist/resource/formats/wav/core/helpers.js +1 -15
- package/dist/resource/formats/wav/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
- package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +69 -9
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +12 -3
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
- package/dist/resource/formats/webgl/core/helpers.js +39 -68
- package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
- package/dist/resource/formats/webgpu/core/helpers.js +4 -30
- package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
- package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
- package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
- package/dist/resource/formats/webm/core/helpers.js +1 -73
- package/dist/resource/formats/webm/core/helpers.js.map +1 -1
- package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
- package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
- package/dist/resource/formats/webp/core/helpers.js +1 -62
- package/dist/resource/formats/webp/core/helpers.js.map +1 -1
- package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
- package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
- package/dist/resource/formats/wem/core/bitStream.js +83 -106
- package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
- package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
- package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
- package/dist/resource/formats/wem/core/helpers.js +1 -15
- package/dist/resource/formats/wem/core/helpers.js.map +1 -1
- package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
- package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
- package/dist/resource/geometry/MeshDecalData.js +23 -25
- package/dist/resource/geometry/MeshDecalData.js.map +1 -1
- package/dist/resource/geometry/MeshDecalLodData.js +14 -23
- package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryRes.js +299 -284
- package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
- package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
- package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
- package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
- package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
- package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
- package/dist/resource/geometry/TriJointBinding.js +16 -24
- package/dist/resource/geometry/TriJointBinding.js.map +1 -1
- package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
- package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
- package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
- package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
- package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
- package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
- package/dist/resource/index.js +1 -1
- package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
- package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
- package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
- package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
- package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
- package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
- package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
- package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
- package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
- package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
- package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
- package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
- package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
- package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
- package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
- package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
- package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
- package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
- package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
- package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
- package/dist/resource/worker/protocol.js +18 -1
- package/dist/resource/worker/protocol.js.map +1 -1
- package/dist/sof/EveSOF.js +2 -222
- package/dist/sof/EveSOF.js.map +1 -1
- package/dist/sof/SofDocumentBuilder.js +205 -0
- package/dist/sof/SofDocumentBuilder.js.map +1 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
- package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
- package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
- package/dist/sof/faction/index.js +3 -1
- package/dist/sof/faction/index.js.map +1 -1
- package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
- package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
- package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
- package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
- package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
- package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
- package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
- package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
- package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
- package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
- package/dist/sof/generic/index.js +5 -1
- package/dist/sof/generic/index.js.map +1 -1
- package/dist/sof/index.js +23 -7
- package/dist/sof/index.js.map +1 -1
- package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
- package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
- package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
- package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
- package/dist/sof/pattern/index.js +2 -1
- package/dist/sof/pattern/index.js.map +1 -1
- package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
- package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
- package/dist/sof/shared/EveSOFDataArea.js +2 -13
- package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
- package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
- package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameter.js +2 -146
- package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
- package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
- package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
- package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
- package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
- package/dist/sof/shared/index.js +13 -4
- package/dist/sof/shared/index.js.map +1 -1
- package/dist/sof/sofDocumentValues.js +33 -0
- package/dist/sof/sofDocumentValues.js.map +1 -0
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
- package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
- package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
- package/dist/trinity/controllers/Tr2Controller.js +2 -1
- package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
- package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
- package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
- package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
- package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
- package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
- package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
- package/dist/trinity/controllers/index.js +5 -2
- package/dist/trinity/controllers/index.js.map +1 -1
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
- package/dist/trinity/core/ITr2Updateable.js +2 -1
- package/dist/trinity/core/ITr2Updateable.js.map +1 -1
- package/dist/trinity/core/Tr2Blitter.js +6 -3
- package/dist/trinity/core/Tr2Blitter.js.map +1 -1
- package/dist/trinity/core/Tr2Denoiser.js +256 -0
- package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
- package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
- package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
- package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
- package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
- package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
- package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
- package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
- package/dist/trinity/core/Tr2RenderUtils.js +20 -3
- package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
- package/dist/trinity/core/Tr2Renderer.js +146 -1
- package/dist/trinity/core/Tr2Renderer.js.map +1 -1
- package/dist/trinity/core/Tr2ShadowMap.js +135 -14
- package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
- package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
- package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
- package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
- package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
- package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
- package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
- package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
- package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
- package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
- package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
- package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
- package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
- package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
- package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
- package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
- package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
- package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
- package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
- package/dist/trinity/core/index.js +42 -15
- package/dist/trinity/core/index.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
- package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
- package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
- package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
- package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
- package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
- package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
- package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
- package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
- package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
- package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
- package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
- package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
- package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
- package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
- package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
- package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
- package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
- package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
- package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
- package/dist/trinity/core/variable/TriVariable.js +83 -83
- package/dist/trinity/core/variable/TriVariable.js.map +1 -1
- package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
- package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
- package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
- package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/IEveTransform.js +2 -1
- package/dist/trinity/eve/IEveTransform.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
- package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
- package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
- package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
- package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/trinity/eve/camera/EveCamera.js +1 -1
- package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
- package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
- package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
- package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/trinity/eve/child/EveChildContainer.js +141 -141
- package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
- package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
- package/dist/trinity/eve/child/EveChildMesh.js +218 -218
- package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
- package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
- package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
- package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTransform.js +5 -0
- package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTurret.js +7 -0
- package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
- package/dist/trinity/eve/index.js +10 -4
- package/dist/trinity/eve/index.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2Light.js +5 -0
- package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
- package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
- package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
- package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
- package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
- package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.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 +59 -23
- package/dist/trinity/index.js.map +1 -1
- package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
- package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
- package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
- package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
- package/dist/trinity/particle/index.js +2 -1
- package/dist/trinity/particle/index.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
- package/dist/trinity/shader/Tr2Effect.js +131 -58
- package/dist/trinity/shader/Tr2Effect.js.map +1 -1
- package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
- package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
- package/dist/trinity/shader/Tr2Material.js +21 -4
- package/dist/trinity/shader/Tr2Material.js.map +1 -1
- package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
- package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
- package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
- package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
- package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
- package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
- package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
- package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
- package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
- package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
- package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
- package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
- package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
- package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
- package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
- package/dist/trinityal/index.js +22 -9
- package/dist/trinityal/index.js.map +1 -1
- package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
- package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
- package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
- package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
- package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
- package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
- package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
- package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
- package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
- package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
- package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
- package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
- package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
- package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
- package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
- package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
- package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
- package/dist/trinityal/stub/index.js +8 -4
- package/dist/trinityal/stub/index.js.map +1 -1
- package/dist/trinityal/vertexLayoutMatch.js +2 -2
- package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
- package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
- package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
- package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
- package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
- package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
- package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
- package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
- package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
- package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
- package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
- package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
- package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
- package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
- package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
- package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
- package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
- package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
- package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
- package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
- package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
- package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
- package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
- package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
- package/dist/trinityal/webgpu/internal.js +12 -11
- package/dist/trinityal/webgpu/internal.js.map +1 -1
- package/docs/audio/reference/classes/trinity.md +44 -34
- package/docs/character/architecture.md +276 -0
- package/docs/character/reference/character-appearance-plans.md +30 -66
- package/docs/character/reference/prepared-libraries.md +14 -30
- package/docs/global/reference/api.md +2 -1
- package/docs/global/reference/classes/README.md +53 -71
- package/docs/global/reference/classes/dropped.md +16 -0
- package/docs/resource/README.md +19 -15
- package/docs/resource/architecture.md +9 -2
- package/docs/resource/concepts/format-capabilities.md +124 -80
- package/docs/resource/concepts/shared-format-helpers.md +94 -0
- package/docs/resource/formats/README.md +230 -224
- package/docs/resource/formats/bitknit2.md +221 -0
- package/docs/resource/formats/carbon-effect-container.md +184 -269
- package/docs/resource/formats/gr2.md +6 -1
- package/docs/resource/formats/schemabound.md +28 -48
- package/docs/resource/formats/static.md +70 -97
- package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
- package/docs/resource/formats/webgl/decl-io.md +165 -256
- package/docs/resource/formats/webgl/memory-structured.md +64 -142
- package/docs/resource/formats/webgl/texture-sample.md +109 -138
- package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
- package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
- package/docs/resource/formats/webgpu/reference/api.md +64 -67
- package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +158 -345
- package/docs/resource/reference/classes/core.md +256 -236
- package/docs/resource/reference/classes/formats.md +1668 -1672
- package/docs/resource/reference/workers.md +4 -2
- package/docs/sof/reference/classes/core.md +1 -1
- package/docs/sof/reference/classes/faction.md +2 -2
- package/docs/sof/reference/classes/generic.md +4 -4
- package/docs/sof/reference/classes/pattern.md +1 -1
- package/docs/sof/reference/classes/shared.md +10 -10
- package/docs/trinity/architecture.md +55 -44
- package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
- package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
- package/docs/trinity/reference/classes/dropped.md +0 -189
- package/docs/trinity/reference/classes/eve-runtime.md +8 -8
- package/docs/trinity/reference/classes/generated.md +0 -10
- package/docs/trinity/reference/classes/particle.md +2 -2
- package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
- package/docs/trinity/reference/implementation-status.md +50 -75
- package/docs/trinity/reference/main-semantic-extraction.md +13 -17
- package/docs/trinityal/reference/classes/README.md +77 -27
- package/docs/trinityal/reference/classes/dropped.md +92 -0
- package/docs/trinityal/webgpu/README.md +3 -1
- package/docs/trinityal/webgpu/architecture.md +121 -228
- package/docs/trinityal/webgpu/reference/api.md +5 -5
- package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
- package/format-notices/gr2/NOTICE +18 -12
- package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
- package/package.json +4 -1
- package/dist/audio/trinity/audio/AudActionLog.js +0 -173
- package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
- package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
- package/dist/global/contracts/CjsScriptCallback.js +0 -94
- package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
- package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
- package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
- package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
- package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
- package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
- package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
- package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
- package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
- package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
- package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
- package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
- package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
- package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
- package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
- package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
- package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
- package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
- package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
- package/dist/trinity/core/rawData/constantLayout.js +0 -175
- package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
- package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
- package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
- package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
- package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
- package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
- package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
- package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
- package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
- package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
- package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
- package/dist/trinityal/Tr2SamplerDescription.js +0 -72
- package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
- package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
- package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
- package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
- package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
- package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
- package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
- package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
- package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
- package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
- package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
- package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
- package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
- package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
- package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
- package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
- package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
|
@@ -1,49 +1,54 @@
|
|
|
1
1
|
import { CjsReader } from './CjsReader.js';
|
|
2
|
-
import {
|
|
2
|
+
import { CjsFormatRangeError } from './CjsFormatError.js';
|
|
3
3
|
import { asUint8Array } from '#utils/bytes';
|
|
4
4
|
|
|
5
5
|
const textDecoder = new TextDecoder("utf-8", {
|
|
6
6
|
fatal: false
|
|
7
7
|
});
|
|
8
8
|
|
|
9
|
-
/**
|
|
10
|
-
* Little-endian cursor over resource bytes, with optional string-table arena
|
|
11
|
-
* resolution.
|
|
12
|
-
*
|
|
13
|
-
* This is the shared implementation behind `HlslReader`, `WebglReader`, and
|
|
14
|
-
* the Carbon-effect reader. Specialized readers only
|
|
15
|
-
* replace the error class and the end-of-data message:
|
|
16
|
-
*
|
|
17
|
-
* ```js
|
|
18
|
-
* class MyReader extends CjsByteReader
|
|
19
|
-
* {
|
|
20
|
-
* static ReadError = MyReadError;
|
|
21
|
-
* static endOfDataMessage = "Unexpected end of my data";
|
|
22
|
-
* }
|
|
23
|
-
* ```
|
|
24
|
-
*
|
|
25
|
-
* The arena primitives (`ReadString`, `ReadStringAt`, `ReadStringOptional`,
|
|
26
|
-
* `ReadTableBlob`, `ReadTableBlobOptional`) model Carbon's string table, where a
|
|
27
|
-
* single `uint32` offset resolves either to a NUL-terminated string or to a
|
|
28
|
-
* sized blob inside the same arena (`trinity/shadercompiler/StringTable.cpp`).
|
|
9
|
+
/**
|
|
10
|
+
* Little-endian cursor over resource bytes, with optional string-table arena
|
|
11
|
+
* resolution.
|
|
12
|
+
*
|
|
13
|
+
* This is the shared implementation behind `HlslReader`, `WebglReader`, and
|
|
14
|
+
* the Carbon-effect reader. Specialized readers only
|
|
15
|
+
* replace the error class and the end-of-data message:
|
|
16
|
+
*
|
|
17
|
+
* ```js
|
|
18
|
+
* class MyReader extends CjsByteReader
|
|
19
|
+
* {
|
|
20
|
+
* static ReadError = MyReadError;
|
|
21
|
+
* static endOfDataMessage = "Unexpected end of my data";
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* The arena primitives (`ReadString`, `ReadStringAt`, `ReadStringOptional`,
|
|
26
|
+
* `ReadTableBlob`, `ReadTableBlobOptional`) model Carbon's string table, where a
|
|
27
|
+
* single `uint32` offset resolves either to a NUL-terminated string or to a
|
|
28
|
+
* sized blob inside the same arena (`trinity/shadercompiler/StringTable.cpp`).
|
|
29
29
|
*/
|
|
30
30
|
class CjsByteReader extends CjsReader {
|
|
31
|
-
/**
|
|
32
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Error class raised for out-of-bounds and arena failures.
|
|
33
|
+
*
|
|
34
|
+
* A `RangeError` lineage, because that is what running off the end of a
|
|
35
|
+
* buffer is. See `CjsFormatRangeError`.
|
|
36
|
+
*/
|
|
37
|
+
static ReadError = CjsFormatRangeError;
|
|
33
38
|
|
|
34
39
|
/** Message used when a read would run past the configured end. */
|
|
35
40
|
static endOfDataMessage = "Unexpected end of data";
|
|
36
41
|
|
|
37
|
-
/**
|
|
38
|
-
* Creates a reader over a byte payload and optional shared string table.
|
|
39
|
-
*
|
|
40
|
-
* @param {ArrayBuffer|ArrayBufferView|Uint8Array} bytes Source payload.
|
|
41
|
-
* @param {object} [options] Reader bounds and metadata.
|
|
42
|
-
* @param {number} [options.offset] Initial byte offset.
|
|
43
|
-
* @param {number} [options.end] Exclusive end offset.
|
|
44
|
-
* @param {string} [options.source] Source name used in error details.
|
|
45
|
-
* @param {ArrayBuffer|ArrayBufferView|Uint8Array} [options.stringTable] Arena bytes.
|
|
46
|
-
* @param {number} [options.stringTableSize] Valid arena byte count.
|
|
42
|
+
/**
|
|
43
|
+
* Creates a reader over a byte payload and optional shared string table.
|
|
44
|
+
*
|
|
45
|
+
* @param {ArrayBuffer|ArrayBufferView|Uint8Array} bytes Source payload.
|
|
46
|
+
* @param {object} [options] Reader bounds and metadata.
|
|
47
|
+
* @param {number} [options.offset] Initial byte offset.
|
|
48
|
+
* @param {number} [options.end] Exclusive end offset.
|
|
49
|
+
* @param {string} [options.source] Source name used in error details.
|
|
50
|
+
* @param {ArrayBuffer|ArrayBufferView|Uint8Array} [options.stringTable] Arena bytes.
|
|
51
|
+
* @param {number} [options.stringTableSize] Valid arena byte count.
|
|
47
52
|
*/
|
|
48
53
|
constructor(bytes, options = {}) {
|
|
49
54
|
super(options);
|
|
@@ -56,41 +61,41 @@ class CjsByteReader extends CjsReader {
|
|
|
56
61
|
this.stringTableSize = Number.isInteger(options.stringTableSize) ? options.stringTableSize : this.stringTable ? this.stringTable.length : 0;
|
|
57
62
|
}
|
|
58
63
|
|
|
59
|
-
/**
|
|
60
|
-
* Attaches or replaces the string-table arena used by string and blob reads.
|
|
61
|
-
*
|
|
62
|
-
* @param {ArrayBuffer|ArrayBufferView|Uint8Array} bytes Arena bytes.
|
|
63
|
-
* @param {number|null} [size] Valid arena byte count.
|
|
64
|
+
/**
|
|
65
|
+
* Attaches or replaces the string-table arena used by string and blob reads.
|
|
66
|
+
*
|
|
67
|
+
* @param {ArrayBuffer|ArrayBufferView|Uint8Array} bytes Arena bytes.
|
|
68
|
+
* @param {number|null} [size] Valid arena byte count.
|
|
64
69
|
*/
|
|
65
70
|
SetStringTable(bytes, size = null) {
|
|
66
71
|
this.stringTable = asUint8Array(bytes);
|
|
67
72
|
this.stringTableSize = Number.isInteger(size) ? size : this.stringTable.length;
|
|
68
73
|
}
|
|
69
74
|
|
|
70
|
-
/**
|
|
71
|
-
* Returns the unread byte count inside the configured reader bounds.
|
|
72
|
-
*
|
|
73
|
-
* @returns {number} Remaining bytes.
|
|
75
|
+
/**
|
|
76
|
+
* Returns the unread byte count inside the configured reader bounds.
|
|
77
|
+
*
|
|
78
|
+
* @returns {number} Remaining bytes.
|
|
74
79
|
*/
|
|
75
80
|
get remaining() {
|
|
76
81
|
return this.end - this.offset;
|
|
77
82
|
}
|
|
78
83
|
|
|
79
|
-
/**
|
|
80
|
-
* Advances the reader by a fixed number of bytes.
|
|
81
|
-
*
|
|
82
|
-
* @param {number} size Byte count to skip.
|
|
84
|
+
/**
|
|
85
|
+
* Advances the reader by a fixed number of bytes.
|
|
86
|
+
*
|
|
87
|
+
* @param {number} size Byte count to skip.
|
|
83
88
|
*/
|
|
84
89
|
Skip(size) {
|
|
85
90
|
this._require(size);
|
|
86
91
|
this.offset += size;
|
|
87
92
|
}
|
|
88
93
|
|
|
89
|
-
/**
|
|
90
|
-
* Reads a byte range from the main payload.
|
|
91
|
-
*
|
|
92
|
-
* @param {number} size Byte count to read.
|
|
93
|
-
* @returns {Uint8Array} View over the read bytes.
|
|
94
|
+
/**
|
|
95
|
+
* Reads a byte range from the main payload.
|
|
96
|
+
*
|
|
97
|
+
* @param {number} size Byte count to read.
|
|
98
|
+
* @returns {Uint8Array} View over the read bytes.
|
|
94
99
|
*/
|
|
95
100
|
ReadRaw(size) {
|
|
96
101
|
this._require(size);
|
|
@@ -99,10 +104,10 @@ class CjsByteReader extends CjsReader {
|
|
|
99
104
|
return this.bytes.subarray(start, start + size);
|
|
100
105
|
}
|
|
101
106
|
|
|
102
|
-
/**
|
|
103
|
-
* Reads an unsigned 8-bit integer.
|
|
104
|
-
*
|
|
105
|
-
* @returns {number} Integer value.
|
|
107
|
+
/**
|
|
108
|
+
* Reads an unsigned 8-bit integer.
|
|
109
|
+
*
|
|
110
|
+
* @returns {number} Integer value.
|
|
106
111
|
*/
|
|
107
112
|
ReadUint8() {
|
|
108
113
|
this._require(1);
|
|
@@ -111,10 +116,10 @@ class CjsByteReader extends CjsReader {
|
|
|
111
116
|
return value;
|
|
112
117
|
}
|
|
113
118
|
|
|
114
|
-
/**
|
|
115
|
-
* Reads a little-endian unsigned 16-bit integer.
|
|
116
|
-
*
|
|
117
|
-
* @returns {number} Integer value.
|
|
119
|
+
/**
|
|
120
|
+
* Reads a little-endian unsigned 16-bit integer.
|
|
121
|
+
*
|
|
122
|
+
* @returns {number} Integer value.
|
|
118
123
|
*/
|
|
119
124
|
ReadUint16() {
|
|
120
125
|
this._require(2);
|
|
@@ -123,10 +128,10 @@ class CjsByteReader extends CjsReader {
|
|
|
123
128
|
return value;
|
|
124
129
|
}
|
|
125
130
|
|
|
126
|
-
/**
|
|
127
|
-
* Reads a little-endian unsigned 32-bit integer.
|
|
128
|
-
*
|
|
129
|
-
* @returns {number} Integer value.
|
|
131
|
+
/**
|
|
132
|
+
* Reads a little-endian unsigned 32-bit integer.
|
|
133
|
+
*
|
|
134
|
+
* @returns {number} Integer value.
|
|
130
135
|
*/
|
|
131
136
|
ReadUint32() {
|
|
132
137
|
this._require(4);
|
|
@@ -135,10 +140,10 @@ class CjsByteReader extends CjsReader {
|
|
|
135
140
|
return value;
|
|
136
141
|
}
|
|
137
142
|
|
|
138
|
-
/**
|
|
139
|
-
* Reads a little-endian signed 32-bit integer.
|
|
140
|
-
*
|
|
141
|
-
* @returns {number} Integer value.
|
|
143
|
+
/**
|
|
144
|
+
* Reads a little-endian signed 32-bit integer.
|
|
145
|
+
*
|
|
146
|
+
* @returns {number} Integer value.
|
|
142
147
|
*/
|
|
143
148
|
ReadInt32() {
|
|
144
149
|
this._require(4);
|
|
@@ -147,10 +152,10 @@ class CjsByteReader extends CjsReader {
|
|
|
147
152
|
return value;
|
|
148
153
|
}
|
|
149
154
|
|
|
150
|
-
/**
|
|
151
|
-
* Reads a little-endian 32-bit float.
|
|
152
|
-
*
|
|
153
|
-
* @returns {number} Float value.
|
|
155
|
+
/**
|
|
156
|
+
* Reads a little-endian 32-bit float.
|
|
157
|
+
*
|
|
158
|
+
* @returns {number} Float value.
|
|
154
159
|
*/
|
|
155
160
|
ReadFloat32() {
|
|
156
161
|
this._require(4);
|
|
@@ -159,36 +164,36 @@ class CjsByteReader extends CjsReader {
|
|
|
159
164
|
return value;
|
|
160
165
|
}
|
|
161
166
|
|
|
162
|
-
/**
|
|
163
|
-
* Reads Carbon's byte-sized boolean encoding.
|
|
164
|
-
*
|
|
165
|
-
* @returns {boolean} Boolean value.
|
|
167
|
+
/**
|
|
168
|
+
* Reads Carbon's byte-sized boolean encoding.
|
|
169
|
+
*
|
|
170
|
+
* @returns {boolean} Boolean value.
|
|
166
171
|
*/
|
|
167
172
|
ReadBool() {
|
|
168
173
|
return this.ReadUint8() !== 0;
|
|
169
174
|
}
|
|
170
175
|
|
|
171
|
-
/**
|
|
172
|
-
* Reads a string-table offset and resolves it to a UTF-8 string.
|
|
173
|
-
*
|
|
174
|
-
* @param {number} [sizeHint] Optional maximum byte span for bounds checking.
|
|
175
|
-
* @returns {string} Decoded string.
|
|
176
|
+
/**
|
|
177
|
+
* Reads a string-table offset and resolves it to a UTF-8 string.
|
|
178
|
+
*
|
|
179
|
+
* @param {number} [sizeHint] Optional maximum byte span for bounds checking.
|
|
180
|
+
* @returns {string} Decoded string.
|
|
176
181
|
*/
|
|
177
182
|
ReadString(sizeHint = 0) {
|
|
178
183
|
const offset = this.ReadUint32();
|
|
179
184
|
return this.ReadStringAt(offset, sizeHint);
|
|
180
185
|
}
|
|
181
186
|
|
|
182
|
-
/**
|
|
183
|
-
* Reads an optional string-table offset, returning null for zero-length fields.
|
|
184
|
-
*
|
|
185
|
-
* Carbon consumes the offset word regardless of the length and only
|
|
186
|
-
* dereferences it when the length is non-zero, which is the single site
|
|
187
|
-
* where the `0xffffffff` null reference is legal
|
|
188
|
-
* (`Tr2EffectDescription.cpp:80-91`).
|
|
189
|
-
*
|
|
190
|
-
* @param {number} length Source field length.
|
|
191
|
-
* @returns {string|null} Decoded string or null.
|
|
187
|
+
/**
|
|
188
|
+
* Reads an optional string-table offset, returning null for zero-length fields.
|
|
189
|
+
*
|
|
190
|
+
* Carbon consumes the offset word regardless of the length and only
|
|
191
|
+
* dereferences it when the length is non-zero, which is the single site
|
|
192
|
+
* where the `0xffffffff` null reference is legal
|
|
193
|
+
* (`Tr2EffectDescription.cpp:80-91`).
|
|
194
|
+
*
|
|
195
|
+
* @param {number} length Source field length.
|
|
196
|
+
* @returns {string|null} Decoded string or null.
|
|
192
197
|
*/
|
|
193
198
|
ReadStringOptional(length) {
|
|
194
199
|
const offset = this.ReadUint32();
|
|
@@ -198,11 +203,11 @@ class CjsByteReader extends CjsReader {
|
|
|
198
203
|
return this.ReadStringAt(offset, length);
|
|
199
204
|
}
|
|
200
205
|
|
|
201
|
-
/**
|
|
202
|
-
* Reads a string-table blob offset and returns the referenced byte range.
|
|
203
|
-
*
|
|
204
|
-
* @param {number} size Blob byte count.
|
|
205
|
-
* @returns {{offset:number,bytes:Uint8Array}} Blob location and bytes.
|
|
206
|
+
/**
|
|
207
|
+
* Reads a string-table blob offset and returns the referenced byte range.
|
|
208
|
+
*
|
|
209
|
+
* @param {number} size Blob byte count.
|
|
210
|
+
* @returns {{offset:number,bytes:Uint8Array}} Blob location and bytes.
|
|
206
211
|
*/
|
|
207
212
|
ReadTableBlob(size) {
|
|
208
213
|
const offset = this.ReadUint32();
|
|
@@ -213,11 +218,11 @@ class CjsByteReader extends CjsReader {
|
|
|
213
218
|
};
|
|
214
219
|
}
|
|
215
220
|
|
|
216
|
-
/**
|
|
217
|
-
* Reads a possibly empty string-table blob reference.
|
|
218
|
-
*
|
|
219
|
-
* @param {number} size Blob byte count.
|
|
220
|
-
* @returns {{offset:number,bytes:Uint8Array}} Blob location and bytes.
|
|
221
|
+
/**
|
|
222
|
+
* Reads a possibly empty string-table blob reference.
|
|
223
|
+
*
|
|
224
|
+
* @param {number} size Blob byte count.
|
|
225
|
+
* @returns {{offset:number,bytes:Uint8Array}} Blob location and bytes.
|
|
221
226
|
*/
|
|
222
227
|
ReadTableBlobOptional(size) {
|
|
223
228
|
const offset = this.ReadUint32();
|
|
@@ -234,12 +239,12 @@ class CjsByteReader extends CjsReader {
|
|
|
234
239
|
};
|
|
235
240
|
}
|
|
236
241
|
|
|
237
|
-
/**
|
|
238
|
-
* Resolves a string table offset to a null-terminated UTF-8 string.
|
|
239
|
-
*
|
|
240
|
-
* @param {number} offset String-table byte offset.
|
|
241
|
-
* @param {number} [sizeHint] Optional maximum byte span for bounds checking.
|
|
242
|
-
* @returns {string} Decoded string.
|
|
242
|
+
/**
|
|
243
|
+
* Resolves a string table offset to a null-terminated UTF-8 string.
|
|
244
|
+
*
|
|
245
|
+
* @param {number} offset String-table byte offset.
|
|
246
|
+
* @param {number} [sizeHint] Optional maximum byte span for bounds checking.
|
|
247
|
+
* @returns {string} Decoded string.
|
|
243
248
|
*/
|
|
244
249
|
ReadStringAt(offset, sizeHint = 0) {
|
|
245
250
|
this._requireStringTable(offset, sizeHint);
|
|
@@ -250,27 +255,27 @@ class CjsByteReader extends CjsReader {
|
|
|
250
255
|
return textDecoder.decode(this.stringTable.subarray(offset, end));
|
|
251
256
|
}
|
|
252
257
|
|
|
253
|
-
/**
|
|
254
|
-
* Creates this reader's error type with shared reader-state details.
|
|
255
|
-
*
|
|
256
|
-
* @param {string} message Human-readable failure reason.
|
|
257
|
-
* @param {object} [details] Extra reader state.
|
|
258
|
-
* @returns {Error} Reader-specific error instance.
|
|
259
|
-
* @protected
|
|
258
|
+
/**
|
|
259
|
+
* Creates this reader's error type with shared reader-state details.
|
|
260
|
+
*
|
|
261
|
+
* @param {string} message Human-readable failure reason.
|
|
262
|
+
* @param {object} [details] Extra reader state.
|
|
263
|
+
* @returns {Error} Reader-specific error instance.
|
|
264
|
+
* @protected
|
|
260
265
|
*/
|
|
261
266
|
_error(message, details = {}) {
|
|
262
|
-
const ReadError = this.constructor.ReadError ??
|
|
267
|
+
const ReadError = this.constructor.ReadError ?? CjsFormatRangeError;
|
|
263
268
|
return new ReadError(message, {
|
|
264
269
|
source: this.source,
|
|
265
270
|
...details
|
|
266
271
|
});
|
|
267
272
|
}
|
|
268
273
|
|
|
269
|
-
/**
|
|
270
|
-
* Ensures the requested read fits inside the configured payload bounds.
|
|
271
|
-
*
|
|
272
|
-
* @param {number} size Requested byte count.
|
|
273
|
-
* @private
|
|
274
|
+
/**
|
|
275
|
+
* Ensures the requested read fits inside the configured payload bounds.
|
|
276
|
+
*
|
|
277
|
+
* @param {number} size Requested byte count.
|
|
278
|
+
* @private
|
|
274
279
|
*/
|
|
275
280
|
_require(size) {
|
|
276
281
|
if (!Number.isInteger(size) || size < 0 || this.offset + size > this.end) {
|
|
@@ -282,12 +287,12 @@ class CjsByteReader extends CjsReader {
|
|
|
282
287
|
}
|
|
283
288
|
}
|
|
284
289
|
|
|
285
|
-
/**
|
|
286
|
-
* Ensures a string-table offset and optional span are valid.
|
|
287
|
-
*
|
|
288
|
-
* @param {number} offset String-table byte offset.
|
|
289
|
-
* @param {number} [sizeHint] Optional byte span for bounds checking.
|
|
290
|
-
* @private
|
|
290
|
+
/**
|
|
291
|
+
* Ensures a string-table offset and optional span are valid.
|
|
292
|
+
*
|
|
293
|
+
* @param {number} offset String-table byte offset.
|
|
294
|
+
* @param {number} [sizeHint] Optional byte span for bounds checking.
|
|
295
|
+
* @private
|
|
291
296
|
*/
|
|
292
297
|
_requireStringTable(offset, sizeHint = 0) {
|
|
293
298
|
const size = Number(sizeHint) || 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CjsByteReader.js","sources":["../../../../src/resource/format/CjsByteReader.js"],"sourcesContent":["import { CjsReader } from \"./CjsReader.js\";\r\nimport { CjsFormatReadError } from \"./CjsFormatError.js\";\r\nimport { asUint8Array } from \"#utils/bytes\";\r\n\r\nconst textDecoder = new TextDecoder(\"utf-8\", { fatal: false });\r\n\r\n/**\r\n * Little-endian cursor over resource bytes, with optional string-table arena\r\n * resolution.\r\n *\r\n * This is the shared implementation behind `HlslReader`, `WebglReader`, and\r\n * the Carbon-effect reader. Specialized readers only\r\n * replace the error class and the end-of-data message:\r\n *\r\n * ```js\r\n * class MyReader extends CjsByteReader\r\n * {\r\n * static ReadError = MyReadError;\r\n * static endOfDataMessage = \"Unexpected end of my data\";\r\n * }\r\n * ```\r\n *\r\n * The arena primitives (`ReadString`, `ReadStringAt`, `ReadStringOptional`,\r\n * `ReadTableBlob`, `ReadTableBlobOptional`) model Carbon's string table, where a\r\n * single `uint32` offset resolves either to a NUL-terminated string or to a\r\n * sized blob inside the same arena (`trinity/shadercompiler/StringTable.cpp`).\r\n */\r\nexport class CjsByteReader extends CjsReader\r\n{\r\n /** Error class raised for out-of-bounds and arena failures. */\r\n static ReadError = CjsFormatReadError;\r\n\r\n /** Message used when a read would run past the configured end. */\r\n static endOfDataMessage = \"Unexpected end of data\";\r\n\r\n /**\r\n * Creates a reader over a byte payload and optional shared string table.\r\n *\r\n * @param {ArrayBuffer|ArrayBufferView|Uint8Array} bytes Source payload.\r\n * @param {object} [options] Reader bounds and metadata.\r\n * @param {number} [options.offset] Initial byte offset.\r\n * @param {number} [options.end] Exclusive end offset.\r\n * @param {string} [options.source] Source name used in error details.\r\n * @param {ArrayBuffer|ArrayBufferView|Uint8Array} [options.stringTable] Arena bytes.\r\n * @param {number} [options.stringTableSize] Valid arena byte count.\r\n */\r\n constructor(bytes, options = {})\r\n {\r\n super(options);\r\n this.bytes = asUint8Array(bytes);\r\n this.view = new DataView(this.bytes.buffer, this.bytes.byteOffset, this.bytes.byteLength);\r\n this.offset = Number(options.offset) || 0;\r\n this.end = Number.isInteger(options.end) ? options.end : this.bytes.length;\r\n this.source = options.source || \"memory\";\r\n this.stringTable = options.stringTable ? asUint8Array(options.stringTable) : null;\r\n this.stringTableSize = Number.isInteger(options.stringTableSize)\r\n ? options.stringTableSize\r\n : (this.stringTable ? this.stringTable.length : 0);\r\n }\r\n\r\n /**\r\n * Attaches or replaces the string-table arena used by string and blob reads.\r\n *\r\n * @param {ArrayBuffer|ArrayBufferView|Uint8Array} bytes Arena bytes.\r\n * @param {number|null} [size] Valid arena byte count.\r\n */\r\n SetStringTable(bytes, size = null)\r\n {\r\n this.stringTable = asUint8Array(bytes);\r\n this.stringTableSize = Number.isInteger(size) ? size : this.stringTable.length;\r\n }\r\n\r\n /**\r\n * Returns the unread byte count inside the configured reader bounds.\r\n *\r\n * @returns {number} Remaining bytes.\r\n */\r\n get remaining()\r\n {\r\n return this.end - this.offset;\r\n }\r\n\r\n /**\r\n * Advances the reader by a fixed number of bytes.\r\n *\r\n * @param {number} size Byte count to skip.\r\n */\r\n Skip(size)\r\n {\r\n this._require(size);\r\n this.offset += size;\r\n }\r\n\r\n /**\r\n * Reads a byte range from the main payload.\r\n *\r\n * @param {number} size Byte count to read.\r\n * @returns {Uint8Array} View over the read bytes.\r\n */\r\n ReadRaw(size)\r\n {\r\n this._require(size);\r\n const start = this.offset;\r\n this.offset += size;\r\n return this.bytes.subarray(start, start + size);\r\n }\r\n\r\n /**\r\n * Reads an unsigned 8-bit integer.\r\n *\r\n * @returns {number} Integer value.\r\n */\r\n ReadUint8()\r\n {\r\n this._require(1);\r\n const value = this.view.getUint8(this.offset);\r\n this.offset += 1;\r\n return value;\r\n }\r\n\r\n /**\r\n * Reads a little-endian unsigned 16-bit integer.\r\n *\r\n * @returns {number} Integer value.\r\n */\r\n ReadUint16()\r\n {\r\n this._require(2);\r\n const value = this.view.getUint16(this.offset, true);\r\n this.offset += 2;\r\n return value;\r\n }\r\n\r\n /**\r\n * Reads a little-endian unsigned 32-bit integer.\r\n *\r\n * @returns {number} Integer value.\r\n */\r\n ReadUint32()\r\n {\r\n this._require(4);\r\n const value = this.view.getUint32(this.offset, true);\r\n this.offset += 4;\r\n return value;\r\n }\r\n\r\n /**\r\n * Reads a little-endian signed 32-bit integer.\r\n *\r\n * @returns {number} Integer value.\r\n */\r\n ReadInt32()\r\n {\r\n this._require(4);\r\n const value = this.view.getInt32(this.offset, true);\r\n this.offset += 4;\r\n return value;\r\n }\r\n\r\n /**\r\n * Reads a little-endian 32-bit float.\r\n *\r\n * @returns {number} Float value.\r\n */\r\n ReadFloat32()\r\n {\r\n this._require(4);\r\n const value = this.view.getFloat32(this.offset, true);\r\n this.offset += 4;\r\n return value;\r\n }\r\n\r\n /**\r\n * Reads Carbon's byte-sized boolean encoding.\r\n *\r\n * @returns {boolean} Boolean value.\r\n */\r\n ReadBool()\r\n {\r\n return this.ReadUint8() !== 0;\r\n }\r\n\r\n /**\r\n * Reads a string-table offset and resolves it to a UTF-8 string.\r\n *\r\n * @param {number} [sizeHint] Optional maximum byte span for bounds checking.\r\n * @returns {string} Decoded string.\r\n */\r\n ReadString(sizeHint = 0)\r\n {\r\n const offset = this.ReadUint32();\r\n return this.ReadStringAt(offset, sizeHint);\r\n }\r\n\r\n /**\r\n * Reads an optional string-table offset, returning null for zero-length fields.\r\n *\r\n * Carbon consumes the offset word regardless of the length and only\r\n * dereferences it when the length is non-zero, which is the single site\r\n * where the `0xffffffff` null reference is legal\r\n * (`Tr2EffectDescription.cpp:80-91`).\r\n *\r\n * @param {number} length Source field length.\r\n * @returns {string|null} Decoded string or null.\r\n */\r\n ReadStringOptional(length)\r\n {\r\n const offset = this.ReadUint32();\r\n if (length === 0)\r\n {\r\n return null;\r\n }\r\n return this.ReadStringAt(offset, length);\r\n }\r\n\r\n /**\r\n * Reads a string-table blob offset and returns the referenced byte range.\r\n *\r\n * @param {number} size Blob byte count.\r\n * @returns {{offset:number,bytes:Uint8Array}} Blob location and bytes.\r\n */\r\n ReadTableBlob(size)\r\n {\r\n const offset = this.ReadUint32();\r\n this._requireStringTable(offset, size);\r\n return {\r\n offset,\r\n bytes: this.stringTable.subarray(offset, offset + size)\r\n };\r\n }\r\n\r\n /**\r\n * Reads a possibly empty string-table blob reference.\r\n *\r\n * @param {number} size Blob byte count.\r\n * @returns {{offset:number,bytes:Uint8Array}} Blob location and bytes.\r\n */\r\n ReadTableBlobOptional(size)\r\n {\r\n const offset = this.ReadUint32();\r\n if (size === 0)\r\n {\r\n return {\r\n offset,\r\n bytes: new Uint8Array(0)\r\n };\r\n }\r\n this._requireStringTable(offset, size);\r\n return {\r\n offset,\r\n bytes: this.stringTable.subarray(offset, offset + size)\r\n };\r\n }\r\n\r\n /**\r\n * Resolves a string table offset to a null-terminated UTF-8 string.\r\n *\r\n * @param {number} offset String-table byte offset.\r\n * @param {number} [sizeHint] Optional maximum byte span for bounds checking.\r\n * @returns {string} Decoded string.\r\n */\r\n ReadStringAt(offset, sizeHint = 0)\r\n {\r\n this._requireStringTable(offset, sizeHint);\r\n let end = offset;\r\n while (end < this.stringTableSize && this.stringTable[end] !== 0)\r\n {\r\n end += 1;\r\n }\r\n return textDecoder.decode(this.stringTable.subarray(offset, end));\r\n }\r\n\r\n /**\r\n * Creates this reader's error type with shared reader-state details.\r\n *\r\n * @param {string} message Human-readable failure reason.\r\n * @param {object} [details] Extra reader state.\r\n * @returns {Error} Reader-specific error instance.\r\n * @protected\r\n */\r\n _error(message, details = {})\r\n {\r\n const ReadError = this.constructor.ReadError ?? CjsFormatReadError;\r\n return new ReadError(message, { source: this.source, ...details });\r\n }\r\n\r\n /**\r\n * Ensures the requested read fits inside the configured payload bounds.\r\n *\r\n * @param {number} size Requested byte count.\r\n * @private\r\n */\r\n _require(size)\r\n {\r\n if (!Number.isInteger(size) || size < 0 || this.offset + size > this.end)\r\n {\r\n throw this._error(this.constructor.endOfDataMessage, {\r\n offset: this.offset,\r\n requested: size,\r\n end: this.end\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Ensures a string-table offset and optional span are valid.\r\n *\r\n * @param {number} offset String-table byte offset.\r\n * @param {number} [sizeHint] Optional byte span for bounds checking.\r\n * @private\r\n */\r\n _requireStringTable(offset, sizeHint = 0)\r\n {\r\n const size = Number(sizeHint) || 0;\r\n if (!this.stringTable)\r\n {\r\n throw this._error(\"Missing effect string table\", { offset });\r\n }\r\n if (!Number.isInteger(offset) || offset < 0 || offset >= this.stringTableSize || offset + size > this.stringTableSize)\r\n {\r\n throw this._error(\"Invalid string-table offset\", {\r\n offset,\r\n sizeHint: size,\r\n stringTableSize: this.stringTableSize\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default CjsByteReader;\r\n"],"names":["textDecoder","TextDecoder","fatal","CjsByteReader","CjsReader","ReadError","CjsFormatReadError","endOfDataMessage","constructor","bytes","options","asUint8Array","view","DataView","buffer","byteOffset","byteLength","offset","Number","end","isInteger","length","source","stringTable","stringTableSize","SetStringTable","size","remaining","Skip","_require","ReadRaw","start","subarray","ReadUint8","value","getUint8","ReadUint16","getUint16","ReadUint32","getUint32","ReadInt32","getInt32","ReadFloat32","getFloat32","ReadBool","ReadString","sizeHint","ReadStringAt","ReadStringOptional","ReadTableBlob","_requireStringTable","ReadTableBlobOptional","Uint8Array","decode","_error","message","details","requested"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CjsByteReader.js","sources":["../../../../src/resource/format/CjsByteReader.js"],"sourcesContent":["import { CjsReader } from \"./CjsReader.js\";\nimport { CjsFormatRangeError } from \"./CjsFormatError.js\";\nimport { asUint8Array } from \"#utils/bytes\";\n\nconst textDecoder = new TextDecoder(\"utf-8\", { fatal: false });\n\n/**\n * Little-endian cursor over resource bytes, with optional string-table arena\n * resolution.\n *\n * This is the shared implementation behind `HlslReader`, `WebglReader`, and\n * the Carbon-effect reader. Specialized readers only\n * replace the error class and the end-of-data message:\n *\n * ```js\n * class MyReader extends CjsByteReader\n * {\n * static ReadError = MyReadError;\n * static endOfDataMessage = \"Unexpected end of my data\";\n * }\n * ```\n *\n * The arena primitives (`ReadString`, `ReadStringAt`, `ReadStringOptional`,\n * `ReadTableBlob`, `ReadTableBlobOptional`) model Carbon's string table, where a\n * single `uint32` offset resolves either to a NUL-terminated string or to a\n * sized blob inside the same arena (`trinity/shadercompiler/StringTable.cpp`).\n */\nexport class CjsByteReader extends CjsReader\n{\n /**\n * Error class raised for out-of-bounds and arena failures.\n *\n * A `RangeError` lineage, because that is what running off the end of a\n * buffer is. See `CjsFormatRangeError`.\n */\n static ReadError = CjsFormatRangeError;\n\n /** Message used when a read would run past the configured end. */\n static endOfDataMessage = \"Unexpected end of data\";\n\n /**\n * Creates a reader over a byte payload and optional shared string table.\n *\n * @param {ArrayBuffer|ArrayBufferView|Uint8Array} bytes Source payload.\n * @param {object} [options] Reader bounds and metadata.\n * @param {number} [options.offset] Initial byte offset.\n * @param {number} [options.end] Exclusive end offset.\n * @param {string} [options.source] Source name used in error details.\n * @param {ArrayBuffer|ArrayBufferView|Uint8Array} [options.stringTable] Arena bytes.\n * @param {number} [options.stringTableSize] Valid arena byte count.\n */\n constructor(bytes, options = {})\n {\n super(options);\n this.bytes = asUint8Array(bytes);\n this.view = new DataView(this.bytes.buffer, this.bytes.byteOffset, this.bytes.byteLength);\n this.offset = Number(options.offset) || 0;\n this.end = Number.isInteger(options.end) ? options.end : this.bytes.length;\n this.source = options.source || \"memory\";\n this.stringTable = options.stringTable ? asUint8Array(options.stringTable) : null;\n this.stringTableSize = Number.isInteger(options.stringTableSize)\n ? options.stringTableSize\n : (this.stringTable ? this.stringTable.length : 0);\n }\n\n /**\n * Attaches or replaces the string-table arena used by string and blob reads.\n *\n * @param {ArrayBuffer|ArrayBufferView|Uint8Array} bytes Arena bytes.\n * @param {number|null} [size] Valid arena byte count.\n */\n SetStringTable(bytes, size = null)\n {\n this.stringTable = asUint8Array(bytes);\n this.stringTableSize = Number.isInteger(size) ? size : this.stringTable.length;\n }\n\n /**\n * Returns the unread byte count inside the configured reader bounds.\n *\n * @returns {number} Remaining bytes.\n */\n get remaining()\n {\n return this.end - this.offset;\n }\n\n /**\n * Advances the reader by a fixed number of bytes.\n *\n * @param {number} size Byte count to skip.\n */\n Skip(size)\n {\n this._require(size);\n this.offset += size;\n }\n\n /**\n * Reads a byte range from the main payload.\n *\n * @param {number} size Byte count to read.\n * @returns {Uint8Array} View over the read bytes.\n */\n ReadRaw(size)\n {\n this._require(size);\n const start = this.offset;\n this.offset += size;\n return this.bytes.subarray(start, start + size);\n }\n\n /**\n * Reads an unsigned 8-bit integer.\n *\n * @returns {number} Integer value.\n */\n ReadUint8()\n {\n this._require(1);\n const value = this.view.getUint8(this.offset);\n this.offset += 1;\n return value;\n }\n\n /**\n * Reads a little-endian unsigned 16-bit integer.\n *\n * @returns {number} Integer value.\n */\n ReadUint16()\n {\n this._require(2);\n const value = this.view.getUint16(this.offset, true);\n this.offset += 2;\n return value;\n }\n\n /**\n * Reads a little-endian unsigned 32-bit integer.\n *\n * @returns {number} Integer value.\n */\n ReadUint32()\n {\n this._require(4);\n const value = this.view.getUint32(this.offset, true);\n this.offset += 4;\n return value;\n }\n\n /**\n * Reads a little-endian signed 32-bit integer.\n *\n * @returns {number} Integer value.\n */\n ReadInt32()\n {\n this._require(4);\n const value = this.view.getInt32(this.offset, true);\n this.offset += 4;\n return value;\n }\n\n /**\n * Reads a little-endian 32-bit float.\n *\n * @returns {number} Float value.\n */\n ReadFloat32()\n {\n this._require(4);\n const value = this.view.getFloat32(this.offset, true);\n this.offset += 4;\n return value;\n }\n\n /**\n * Reads Carbon's byte-sized boolean encoding.\n *\n * @returns {boolean} Boolean value.\n */\n ReadBool()\n {\n return this.ReadUint8() !== 0;\n }\n\n /**\n * Reads a string-table offset and resolves it to a UTF-8 string.\n *\n * @param {number} [sizeHint] Optional maximum byte span for bounds checking.\n * @returns {string} Decoded string.\n */\n ReadString(sizeHint = 0)\n {\n const offset = this.ReadUint32();\n return this.ReadStringAt(offset, sizeHint);\n }\n\n /**\n * Reads an optional string-table offset, returning null for zero-length fields.\n *\n * Carbon consumes the offset word regardless of the length and only\n * dereferences it when the length is non-zero, which is the single site\n * where the `0xffffffff` null reference is legal\n * (`Tr2EffectDescription.cpp:80-91`).\n *\n * @param {number} length Source field length.\n * @returns {string|null} Decoded string or null.\n */\n ReadStringOptional(length)\n {\n const offset = this.ReadUint32();\n if (length === 0)\n {\n return null;\n }\n return this.ReadStringAt(offset, length);\n }\n\n /**\n * Reads a string-table blob offset and returns the referenced byte range.\n *\n * @param {number} size Blob byte count.\n * @returns {{offset:number,bytes:Uint8Array}} Blob location and bytes.\n */\n ReadTableBlob(size)\n {\n const offset = this.ReadUint32();\n this._requireStringTable(offset, size);\n return {\n offset,\n bytes: this.stringTable.subarray(offset, offset + size)\n };\n }\n\n /**\n * Reads a possibly empty string-table blob reference.\n *\n * @param {number} size Blob byte count.\n * @returns {{offset:number,bytes:Uint8Array}} Blob location and bytes.\n */\n ReadTableBlobOptional(size)\n {\n const offset = this.ReadUint32();\n if (size === 0)\n {\n return {\n offset,\n bytes: new Uint8Array(0)\n };\n }\n this._requireStringTable(offset, size);\n return {\n offset,\n bytes: this.stringTable.subarray(offset, offset + size)\n };\n }\n\n /**\n * Resolves a string table offset to a null-terminated UTF-8 string.\n *\n * @param {number} offset String-table byte offset.\n * @param {number} [sizeHint] Optional maximum byte span for bounds checking.\n * @returns {string} Decoded string.\n */\n ReadStringAt(offset, sizeHint = 0)\n {\n this._requireStringTable(offset, sizeHint);\n let end = offset;\n while (end < this.stringTableSize && this.stringTable[end] !== 0)\n {\n end += 1;\n }\n return textDecoder.decode(this.stringTable.subarray(offset, end));\n }\n\n /**\n * Creates this reader's error type with shared reader-state details.\n *\n * @param {string} message Human-readable failure reason.\n * @param {object} [details] Extra reader state.\n * @returns {Error} Reader-specific error instance.\n * @protected\n */\n _error(message, details = {})\n {\n const ReadError = this.constructor.ReadError ?? CjsFormatRangeError;\n return new ReadError(message, { source: this.source, ...details });\n }\n\n /**\n * Ensures the requested read fits inside the configured payload bounds.\n *\n * @param {number} size Requested byte count.\n * @private\n */\n _require(size)\n {\n if (!Number.isInteger(size) || size < 0 || this.offset + size > this.end)\n {\n throw this._error(this.constructor.endOfDataMessage, {\n offset: this.offset,\n requested: size,\n end: this.end\n });\n }\n }\n\n /**\n * Ensures a string-table offset and optional span are valid.\n *\n * @param {number} offset String-table byte offset.\n * @param {number} [sizeHint] Optional byte span for bounds checking.\n * @private\n */\n _requireStringTable(offset, sizeHint = 0)\n {\n const size = Number(sizeHint) || 0;\n if (!this.stringTable)\n {\n throw this._error(\"Missing effect string table\", { offset });\n }\n if (!Number.isInteger(offset) || offset < 0 || offset >= this.stringTableSize || offset + size > this.stringTableSize)\n {\n throw this._error(\"Invalid string-table offset\", {\n offset,\n sizeHint: size,\n stringTableSize: this.stringTableSize\n });\n }\n }\n}\n\nexport default CjsByteReader;\n"],"names":["textDecoder","TextDecoder","fatal","CjsByteReader","CjsReader","ReadError","CjsFormatRangeError","endOfDataMessage","constructor","bytes","options","asUint8Array","view","DataView","buffer","byteOffset","byteLength","offset","Number","end","isInteger","length","source","stringTable","stringTableSize","SetStringTable","size","remaining","Skip","_require","ReadRaw","start","subarray","ReadUint8","value","getUint8","ReadUint16","getUint16","ReadUint32","getUint32","ReadInt32","getInt32","ReadFloat32","getFloat32","ReadBool","ReadString","sizeHint","ReadStringAt","ReadStringOptional","ReadTableBlob","_requireStringTable","ReadTableBlobOptional","Uint8Array","decode","_error","message","details","requested"],"mappings":"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"}
|
|
@@ -56,19 +56,19 @@ class CjsFormat {
|
|
|
56
56
|
|
|
57
57
|
/** Inspect with the instance's normalized options when available. */
|
|
58
58
|
Inspect(input, options = null) {
|
|
59
|
-
const values =
|
|
59
|
+
const values = this.GetValues(options || {});
|
|
60
60
|
return this.constructor.inspect(input, values);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
/** Return the cheap, unverified support report for this instance profile. */
|
|
64
64
|
GetSupport(input, options = null) {
|
|
65
|
-
const values =
|
|
65
|
+
const values = this.GetValues(options || {});
|
|
66
66
|
return this.constructor.getSupport(input, values);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
/** Exercise one exact output through the real asynchronous read path. */
|
|
70
70
|
VerifySupport(input, options = null) {
|
|
71
|
-
const values =
|
|
71
|
+
const values = this.GetValues(options || {});
|
|
72
72
|
return this.constructor.verifySupport(input, values);
|
|
73
73
|
}
|
|
74
74
|
|
|
@@ -438,7 +438,14 @@ function normalizeSupportReport(Format, rawReport, options) {
|
|
|
438
438
|
};
|
|
439
439
|
});
|
|
440
440
|
const selected = capability ? outputs.find(entry => entry.output === capability.output) || null : null;
|
|
441
|
-
|
|
441
|
+
// The declared default is consulted BEFORE falling back to declaration
|
|
442
|
+
// order. `default: true` is the format stating which output it wants asked
|
|
443
|
+
// for, so ignoring it here meant a probe had to repeat that choice by hand as
|
|
444
|
+
// `preferredOutput` — and a format whose outputs are all `role: "debug"`
|
|
445
|
+
// (webp, gif) otherwise resolved to whichever happened to be declared first.
|
|
446
|
+
// An explicit `raw.preferredOutput` still wins, because that is the probe
|
|
447
|
+
// reporting a per-input decision rather than a standing preference.
|
|
448
|
+
const preferredOutput = resolvePreferredOutput(raw.preferredOutput, outputs) || outputs.find(entry => entry.supported && entry.role === OUTPUT_ROLE_RUNTIME)?.output || outputs.find(entry => entry.supported && entry.default)?.output || outputs.find(entry => entry.supported)?.output || "";
|
|
442
449
|
return {
|
|
443
450
|
format: Format.id || raw.format || Format.name,
|
|
444
451
|
source: raw.source || options.source || "buffer",
|