@carbonenginejs/runtime 0.1.0-alpha.0 → 0.1.0-alpha.1
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/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 +52 -4
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.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 +104 -260
- 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 +82 -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,3 +1,5 @@
|
|
|
1
|
+
import { WwiseCursor } from './WwiseCursor.js';
|
|
2
|
+
|
|
1
3
|
// Exact Wwise v150 HIRC 3 Event Action decoding. The container reader keeps
|
|
2
4
|
// the raw payload; this module adds typed action data only when a recognized
|
|
3
5
|
// layout consumes that payload exactly.
|
|
@@ -74,17 +76,17 @@ const VOICE_HIGH_PASS_ACTION_TYPES = new Set([0x2002, 0x2003, 0x3002, 0x3003, 0x
|
|
|
74
76
|
const GAME_SYNC_ACTION_TYPES = new Set([0x1204, 0x1901]);
|
|
75
77
|
const GAME_PARAMETER_ACTION_TYPES = new Set([0x1302, 0x1303, 0x1402, 0x1403]);
|
|
76
78
|
|
|
77
|
-
/**
|
|
78
|
-
* Decodes one exact Wwise v150 HIRC Event Action body.
|
|
79
|
-
*
|
|
80
|
-
* The input begins after the HIRC object's leading u32 identity. Unknown
|
|
81
|
-
* action types, other bank versions, truncated bodies, and recognized bodies
|
|
82
|
-
* with trailing bytes return null so callers retain their shallow/raw view.
|
|
83
|
-
*
|
|
84
|
-
* @param {Uint8Array} payload Event Action body.
|
|
85
|
-
* @param {object} [options] Decode options.
|
|
86
|
-
* @param {number} [options.bankVersion=150] Wwise bank generator version.
|
|
87
|
-
* @returns {object|null} Typed action data, or null when not exact.
|
|
79
|
+
/**
|
|
80
|
+
* Decodes one exact Wwise v150 HIRC Event Action body.
|
|
81
|
+
*
|
|
82
|
+
* The input begins after the HIRC object's leading u32 identity. Unknown
|
|
83
|
+
* action types, other bank versions, truncated bodies, and recognized bodies
|
|
84
|
+
* with trailing bytes return null so callers retain their shallow/raw view.
|
|
85
|
+
*
|
|
86
|
+
* @param {Uint8Array} payload Event Action body.
|
|
87
|
+
* @param {object} [options] Decode options.
|
|
88
|
+
* @param {number} [options.bankVersion=150] Wwise bank generator version.
|
|
89
|
+
* @returns {object|null} Typed action data, or null when not exact.
|
|
88
90
|
*/
|
|
89
91
|
function parseEventAction(payload, {
|
|
90
92
|
bankVersion = WWISE_EVENT_ACTION_VERSION
|
|
@@ -93,7 +95,7 @@ function parseEventAction(payload, {
|
|
|
93
95
|
return null;
|
|
94
96
|
}
|
|
95
97
|
try {
|
|
96
|
-
const cursor = new
|
|
98
|
+
const cursor = new WwiseCursor(payload);
|
|
97
99
|
const actionType = cursor.u16();
|
|
98
100
|
const actionName = ACTION_NAMES[actionType];
|
|
99
101
|
if (!actionName) {
|
|
@@ -222,7 +224,7 @@ function HasExactTimingProperties(values) {
|
|
|
222
224
|
return ids.every(id => id === 0x39 || id === 0x3a) && new Set(ids).size === ids.length;
|
|
223
225
|
}
|
|
224
226
|
function ReadExceptions(cursor) {
|
|
225
|
-
const exceptionCount = cursor.
|
|
227
|
+
const exceptionCount = cursor.variable();
|
|
226
228
|
const exceptions = [];
|
|
227
229
|
if (exceptionCount > 65536) {
|
|
228
230
|
throw new RangeError("Event Action exception count is too large");
|
|
@@ -332,85 +334,5 @@ function ActionScope(value) {
|
|
|
332
334
|
return "unknown";
|
|
333
335
|
}
|
|
334
336
|
|
|
335
|
-
/** Bounds-aware cursor over one Wwise Event Action payload. */
|
|
336
|
-
class ActionCursor {
|
|
337
|
-
/**
|
|
338
|
-
* Creates a cursor at the start of an Event Action payload.
|
|
339
|
-
*
|
|
340
|
-
* @param {Uint8Array} bytes Event Action payload bytes.
|
|
341
|
-
*/
|
|
342
|
-
constructor(bytes) {
|
|
343
|
-
this.bytes = bytes;
|
|
344
|
-
this.view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
345
|
-
this.at = 0;
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
/** Gets the number of unread payload bytes. */
|
|
349
|
-
get remaining() {
|
|
350
|
-
return this.bytes.byteLength - this.at;
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
/**
|
|
354
|
-
* Verifies that a read fits within the payload.
|
|
355
|
-
*
|
|
356
|
-
* @param {number} size Number of bytes to read.
|
|
357
|
-
* @throws {RangeError} The payload is truncated.
|
|
358
|
-
*/
|
|
359
|
-
require(size) {
|
|
360
|
-
if (this.at + size > this.bytes.byteLength) {
|
|
361
|
-
throw new RangeError("Event Action payload is truncated");
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
/** Reads an unsigned 8-bit integer. */
|
|
366
|
-
u8() {
|
|
367
|
-
this.require(1);
|
|
368
|
-
return this.bytes[this.at++];
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
/** Reads a little-endian unsigned 16-bit integer. */
|
|
372
|
-
u16() {
|
|
373
|
-
this.require(2);
|
|
374
|
-
const value = this.view.getUint16(this.at, true);
|
|
375
|
-
this.at += 2;
|
|
376
|
-
return value;
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
/** Reads a little-endian unsigned 32-bit integer. */
|
|
380
|
-
u32() {
|
|
381
|
-
this.require(4);
|
|
382
|
-
const value = this.view.getUint32(this.at, true);
|
|
383
|
-
this.at += 4;
|
|
384
|
-
return value;
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
/** Reads a little-endian 32-bit floating-point number. */
|
|
388
|
-
f32() {
|
|
389
|
-
this.require(4);
|
|
390
|
-
const value = this.view.getFloat32(this.at, true);
|
|
391
|
-
this.at += 4;
|
|
392
|
-
return value;
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
/** Reads a canonical Wwise variable-length unsigned integer. */
|
|
396
|
-
varUint() {
|
|
397
|
-
let value = 0;
|
|
398
|
-
for (let count = 0; count < 5; count++) {
|
|
399
|
-
const byte = this.u8();
|
|
400
|
-
if (count === 0 && byte === 0x80) {
|
|
401
|
-
throw new RangeError("Event Action exception count is non-canonical");
|
|
402
|
-
}
|
|
403
|
-
if (value > 0x01ffffff) {
|
|
404
|
-
throw new RangeError("Event Action exception count overflows u32");
|
|
405
|
-
}
|
|
406
|
-
value = value * 128 + (byte & 0x7f);
|
|
407
|
-
if ((byte & 0x80) === 0) {
|
|
408
|
-
return value >>> 0;
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
|
-
throw new RangeError("Event Action exception count is truncated");
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
|
|
415
337
|
export { WWISE_EVENT_ACTION_VERSION, parseEventAction };
|
|
416
338
|
//# sourceMappingURL=eventAction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventAction.js","sources":["../../../../../../src/resource/formats/bnk/core/eventAction.js"],"sourcesContent":["// Exact Wwise v150 HIRC 3 Event Action decoding. The container reader keeps\r\n// the raw payload; this module adds typed action data only when a recognized\r\n// layout consumes that payload exactly.\r\n\r\nexport const WWISE_EVENT_ACTION_VERSION = 150;\r\n\r\nconst PROPERTY_NAMES = Object.freeze({\r\n 0x39: \"delayTime\",\r\n 0x3a: \"transitionTime\",\r\n 0x3b: \"probability\",\r\n});\r\n\r\nconst ACTION_NAMES = Object.freeze({\r\n 0x0102: \"stop\",\r\n 0x0103: \"stop\",\r\n 0x0105: \"stop\",\r\n 0x0203: \"pause\",\r\n 0x0205: \"pause\",\r\n 0x0303: \"resume\",\r\n 0x0305: \"resume\",\r\n 0x0403: \"play\",\r\n 0x0503: \"play-and-continue\",\r\n 0x0802: \"set-voice-pitch\",\r\n 0x0803: \"set-voice-pitch\",\r\n 0x0902: \"reset-voice-pitch\",\r\n 0x0903: \"reset-voice-pitch\",\r\n 0x0904: \"reset-voice-pitch\",\r\n 0x0905: \"reset-voice-pitch\",\r\n 0x0908: \"reset-voice-pitch\",\r\n 0x0909: \"reset-voice-pitch\",\r\n 0x0a02: \"set-voice-volume\",\r\n 0x0a03: \"set-voice-volume\",\r\n 0x0b02: \"reset-voice-volume\",\r\n 0x0b03: \"reset-voice-volume\",\r\n 0x0b04: \"reset-voice-volume\",\r\n 0x0b05: \"reset-voice-volume\",\r\n 0x0b08: \"reset-voice-volume\",\r\n 0x0b09: \"reset-voice-volume\",\r\n 0x0c02: \"set-bus-volume\",\r\n 0x0c03: \"set-bus-volume\",\r\n 0x0d02: \"reset-bus-volume\",\r\n 0x0d03: \"reset-bus-volume\",\r\n 0x0d04: \"reset-bus-volume\",\r\n 0x0d08: \"reset-bus-volume\",\r\n 0x0e02: \"set-voice-low-pass\",\r\n 0x0e03: \"set-voice-low-pass\",\r\n 0x0f02: \"reset-voice-low-pass\",\r\n 0x0f03: \"reset-voice-low-pass\",\r\n 0x0f04: \"reset-voice-low-pass\",\r\n 0x0f05: \"reset-voice-low-pass\",\r\n 0x0f08: \"reset-voice-low-pass\",\r\n 0x0f09: \"reset-voice-low-pass\",\r\n 0x1204: \"set-state\",\r\n 0x1302: \"set-game-parameter\",\r\n 0x1303: \"set-game-parameter\",\r\n 0x1402: \"reset-game-parameter\",\r\n 0x1403: \"reset-game-parameter\",\r\n 0x1901: \"set-switch\",\r\n 0x2002: \"set-voice-high-pass\",\r\n 0x2003: \"set-voice-high-pass\",\r\n 0x2103: \"post-event\",\r\n 0x3002: \"reset-voice-high-pass\",\r\n 0x3003: \"reset-voice-high-pass\",\r\n 0x3004: \"reset-voice-high-pass\",\r\n 0x3005: \"reset-voice-high-pass\",\r\n 0x3008: \"reset-voice-high-pass\",\r\n 0x3009: \"reset-voice-high-pass\",\r\n});\r\n\r\nconst ACTIVE_ACTION_TYPES = new Set([\r\n 0x0102,\r\n 0x0103,\r\n 0x0105,\r\n 0x0203,\r\n 0x0205,\r\n 0x0303,\r\n 0x0305,\r\n]);\r\n\r\nconst PLAY_ACTION_TYPES = new Set([ 0x0403, 0x0503 ]);\r\n\r\nconst VOICE_VOLUME_ACTION_TYPES = new Set([\r\n 0x0a02,\r\n 0x0a03,\r\n 0x0b02,\r\n 0x0b03,\r\n 0x0b04,\r\n 0x0b05,\r\n 0x0b08,\r\n 0x0b09,\r\n]);\r\n\r\nconst VOICE_PITCH_ACTION_TYPES = new Set([\r\n 0x0802,\r\n 0x0803,\r\n 0x0902,\r\n 0x0903,\r\n 0x0904,\r\n 0x0905,\r\n 0x0908,\r\n 0x0909,\r\n]);\r\n\r\nconst BUS_VOLUME_ACTION_TYPES = new Set([\r\n 0x0c02,\r\n 0x0c03,\r\n 0x0d02,\r\n 0x0d03,\r\n 0x0d04,\r\n 0x0d08,\r\n]);\r\n\r\nconst VOICE_LOW_PASS_ACTION_TYPES = new Set([\r\n 0x0e02,\r\n 0x0e03,\r\n 0x0f02,\r\n 0x0f03,\r\n 0x0f04,\r\n 0x0f05,\r\n 0x0f08,\r\n 0x0f09,\r\n]);\r\n\r\nconst VOICE_HIGH_PASS_ACTION_TYPES = new Set([\r\n 0x2002,\r\n 0x2003,\r\n 0x3002,\r\n 0x3003,\r\n 0x3004,\r\n 0x3005,\r\n 0x3008,\r\n 0x3009,\r\n]);\r\n\r\nconst GAME_SYNC_ACTION_TYPES = new Set([\r\n 0x1204,\r\n 0x1901,\r\n]);\r\n\r\nconst GAME_PARAMETER_ACTION_TYPES = new Set([\r\n 0x1302,\r\n 0x1303,\r\n 0x1402,\r\n 0x1403,\r\n]);\r\n\r\n/**\r\n * Decodes one exact Wwise v150 HIRC Event Action body.\r\n *\r\n * The input begins after the HIRC object's leading u32 identity. Unknown\r\n * action types, other bank versions, truncated bodies, and recognized bodies\r\n * with trailing bytes return null so callers retain their shallow/raw view.\r\n *\r\n * @param {Uint8Array} payload Event Action body.\r\n * @param {object} [options] Decode options.\r\n * @param {number} [options.bankVersion=150] Wwise bank generator version.\r\n * @returns {object|null} Typed action data, or null when not exact.\r\n */\r\nexport function parseEventAction(\r\n payload,\r\n { bankVersion = WWISE_EVENT_ACTION_VERSION } = {},\r\n)\r\n{\r\n if (!(payload instanceof Uint8Array)\r\n || Number(bankVersion) !== WWISE_EVENT_ACTION_VERSION)\r\n {\r\n return null;\r\n }\r\n\r\n try\r\n {\r\n const cursor = new ActionCursor(payload);\r\n const actionType = cursor.u16();\r\n const actionName = ACTION_NAMES[actionType];\r\n\r\n if (!actionName)\r\n {\r\n return null;\r\n }\r\n\r\n const targetId = cursor.u32();\r\n const targetFlags = cursor.u8();\r\n const properties = ReadProperties(cursor);\r\n const ranges = ReadRanges(cursor);\r\n const result = {\r\n actionType,\r\n actionName,\r\n actionFamily: (actionType >> 8) & 0xff,\r\n actionMode: ActionMode(actionType & 0xff),\r\n actionScope: ActionScope(actionType & 0xff),\r\n targetId,\r\n targetIsBus: (targetFlags & 0x01) !== 0,\r\n targetFlags,\r\n properties,\r\n ranges,\r\n ...ProjectKnownProperties(properties, ranges),\r\n };\r\n\r\n if (PLAY_ACTION_TYPES.has(actionType))\r\n {\r\n result.fadeCurve = cursor.u8();\r\n result.bankId = cursor.u32();\r\n result.bankType = cursor.u32();\r\n }\r\n else if (ACTIVE_ACTION_TYPES.has(actionType))\r\n {\r\n result.fadeCurve = cursor.u8();\r\n result.actionFlags = cursor.u8();\r\n result.exceptions = ReadExceptions(cursor);\r\n }\r\n else if (VOICE_PITCH_ACTION_TYPES.has(actionType)\r\n || VOICE_VOLUME_ACTION_TYPES.has(actionType)\r\n || BUS_VOLUME_ACTION_TYPES.has(actionType)\r\n || VOICE_LOW_PASS_ACTION_TYPES.has(actionType)\r\n || VOICE_HIGH_PASS_ACTION_TYPES.has(actionType))\r\n {\r\n if (!HasExactVoicePropertyActionProperties(properties)\r\n || !HasExactTimingProperties(ranges))\r\n {\r\n return null;\r\n }\r\n\r\n const fadeCurve = cursor.u8();\r\n const rawValueMode = cursor.u8();\r\n const value = cursor.f32();\r\n const valueRange = {\r\n min: cursor.f32(),\r\n max: cursor.f32(),\r\n };\r\n const resetting = actionName.startsWith(\"reset-\");\r\n\r\n if (targetFlags & ~0x01\r\n || fadeCurve > 9\r\n || (resetting\r\n ? rawValueMode !== 0\r\n && rawValueMode !== 1\r\n && rawValueMode !== 2\r\n : rawValueMode !== 1 && rawValueMode !== 2)\r\n || !Number.isFinite(value)\r\n || !Number.isFinite(valueRange.min)\r\n || !Number.isFinite(valueRange.max)\r\n || (resetting\r\n && (value !== 0\r\n || valueRange.min !== 0\r\n || valueRange.max !== 0)))\r\n {\r\n return null;\r\n }\r\n\r\n result.fadeCurve = fadeCurve;\r\n if (!resetting)\r\n {\r\n result.valueMode = rawValueMode === 1\r\n ? \"absolute\"\r\n : \"relative\";\r\n const fields = VoicePropertyFields(actionType);\r\n\r\n result[fields.value] = value;\r\n result[fields.range] = valueRange;\r\n }\r\n result.exceptions = ReadExceptions(cursor);\r\n }\r\n else if (GAME_SYNC_ACTION_TYPES.has(actionType))\r\n {\r\n result.groupId = cursor.u32();\r\n result.valueId = cursor.u32();\r\n }\r\n else if (GAME_PARAMETER_ACTION_TYPES.has(actionType))\r\n {\r\n if (targetFlags & ~0x01\r\n || !HasExactTimingProperties(properties)\r\n || !HasExactTimingProperties(ranges))\r\n {\r\n return null;\r\n }\r\n\r\n const fadeCurve = cursor.u8();\r\n const bypassTransition = cursor.u8();\r\n const rawValueMode = cursor.u8();\r\n const gameParameterValue = cursor.f32();\r\n const gameParameterRange = {\r\n min: cursor.f32(),\r\n max: cursor.f32(),\r\n };\r\n\r\n const resetting = actionName === \"reset-game-parameter\";\r\n\r\n if (fadeCurve > 9\r\n || (resetting\r\n ? rawValueMode !== 0\r\n : rawValueMode !== 1 && rawValueMode !== 2)\r\n || !Number.isFinite(gameParameterValue)\r\n || !Number.isFinite(gameParameterRange.min)\r\n || !Number.isFinite(gameParameterRange.max)\r\n || (resetting\r\n && (gameParameterValue !== 0\r\n || gameParameterRange.min !== 0\r\n || gameParameterRange.max !== 0)))\r\n {\r\n return null;\r\n }\r\n\r\n result.fadeCurve = fadeCurve;\r\n result.bypassTransition = bypassTransition !== 0;\r\n if (!resetting)\r\n {\r\n result.valueMode = rawValueMode === 1\r\n ? \"absolute\"\r\n : \"relative\";\r\n result.gameParameterValue = gameParameterValue;\r\n result.gameParameterRange = gameParameterRange;\r\n }\r\n result.exceptions = ReadExceptions(cursor);\r\n }\r\n\r\n return cursor.at === payload.byteLength ? result : null;\r\n }\r\n catch (error)\r\n {\r\n if (error instanceof RangeError)\r\n {\r\n return null;\r\n }\r\n throw error;\r\n }\r\n}\r\n\r\nfunction HasExactVoicePropertyActionProperties(properties)\r\n{\r\n const ids = properties.map(property => property.id);\r\n\r\n return ids.every(id => id === 0x39 || id === 0x3a)\r\n && new Set(ids).size === ids.length;\r\n}\r\n\r\nfunction VoicePropertyFields(actionType)\r\n{\r\n if (VOICE_PITCH_ACTION_TYPES.has(actionType))\r\n {\r\n return { value: \"pitchCents\", range: \"pitchRangeCents\" };\r\n }\r\n if (VOICE_VOLUME_ACTION_TYPES.has(actionType))\r\n {\r\n return { value: \"volumeDb\", range: \"volumeRangeDb\" };\r\n }\r\n if (VOICE_LOW_PASS_ACTION_TYPES.has(actionType))\r\n {\r\n return { value: \"lowPass\", range: \"lowPassRange\" };\r\n }\r\n if (BUS_VOLUME_ACTION_TYPES.has(actionType))\r\n {\r\n return { value: \"busVolumeDb\", range: \"busVolumeRangeDb\" };\r\n }\r\n return { value: \"highPass\", range: \"highPassRange\" };\r\n}\r\n\r\nfunction HasExactTimingProperties(values)\r\n{\r\n const ids = values.map(value => value.id);\r\n\r\n return ids.every(id => id === 0x39 || id === 0x3a)\r\n && new Set(ids).size === ids.length;\r\n}\r\n\r\nfunction ReadExceptions(cursor)\r\n{\r\n const exceptionCount = cursor.varUint();\r\n const exceptions = [];\r\n\r\n if (exceptionCount > 65536)\r\n {\r\n throw new RangeError(\"Event Action exception count is too large\");\r\n }\r\n\r\n for (let index = 0; index < exceptionCount; index++)\r\n {\r\n const targetId = cursor.u32();\r\n const targetFlags = cursor.u8();\r\n\r\n exceptions.push({\r\n targetId,\r\n targetIsBus: (targetFlags & 0x01) !== 0,\r\n targetFlags,\r\n });\r\n }\r\n return exceptions;\r\n}\r\n\r\nfunction ReadProperties(cursor)\r\n{\r\n const count = cursor.u8();\r\n\r\n if (count > 255 || cursor.remaining < count + count * 4)\r\n {\r\n throw new RangeError(\"Event Action property bundle is truncated\");\r\n }\r\n\r\n const ids = [];\r\n const values = [];\r\n\r\n for (let index = 0; index < count; index++)\r\n {\r\n ids.push(cursor.u8());\r\n }\r\n for (let index = 0; index < count; index++)\r\n {\r\n values.push(cursor.u32());\r\n }\r\n\r\n return ids.map((id, index) =>\r\n {\r\n const rawValue = values[index];\r\n\r\n return {\r\n id,\r\n name: PROPERTY_NAMES[id] ?? `property-${id}`,\r\n value: PropertyValue(id, rawValue),\r\n rawValue,\r\n };\r\n });\r\n}\r\n\r\nfunction ReadRanges(cursor)\r\n{\r\n const count = cursor.u8();\r\n\r\n if (count > 255 || cursor.remaining < count + count * 8)\r\n {\r\n throw new RangeError(\"Event Action range bundle is truncated\");\r\n }\r\n\r\n const ids = [];\r\n\r\n for (let index = 0; index < count; index++)\r\n {\r\n ids.push(cursor.u8());\r\n }\r\n\r\n return ids.map(id =>\r\n {\r\n const rawMin = cursor.u32();\r\n const rawMax = cursor.u32();\r\n\r\n return {\r\n id,\r\n name: PROPERTY_NAMES[id] ?? `property-${id}`,\r\n min: RangeValue(id, rawMin),\r\n max: RangeValue(id, rawMax),\r\n rawMin,\r\n rawMax,\r\n };\r\n });\r\n}\r\n\r\nfunction ProjectKnownProperties(properties, ranges)\r\n{\r\n const result = {};\r\n\r\n for (const property of properties)\r\n {\r\n if (property.id === 0x39) result.delayTimeMs = property.value;\r\n else if (property.id === 0x3a)\r\n {\r\n result.transitionTimeMs = property.value;\r\n }\r\n else if (property.id === 0x3b)\r\n {\r\n result.probability = property.value;\r\n }\r\n }\r\n\r\n for (const range of ranges)\r\n {\r\n const value = { min: range.min, max: range.max };\r\n\r\n if (range.id === 0x39) result.delayRangeMs = value;\r\n else if (range.id === 0x3a) result.transitionRangeMs = value;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction PropertyValue(id, rawValue)\r\n{\r\n if (id === 0x39 || id === 0x3a)\r\n {\r\n return rawValue | 0;\r\n }\r\n if (id === 0x3b)\r\n {\r\n const bytes = new ArrayBuffer(4);\r\n const view = new DataView(bytes);\r\n\r\n view.setUint32(0, rawValue, true);\r\n return view.getFloat32(0, true);\r\n }\r\n return rawValue;\r\n}\r\n\r\nfunction RangeValue(id, rawValue)\r\n{\r\n return id === 0x39 || id === 0x3a\r\n ? rawValue | 0\r\n : rawValue;\r\n}\r\n\r\nfunction ActionMode(value)\r\n{\r\n if (value === 0x02 || value === 0x03) return \"element\";\r\n if (value === 0x04 || value === 0x05) return \"all\";\r\n if (value === 0x08 || value === 0x09) return \"all-except\";\r\n return \"unknown\";\r\n}\r\n\r\nfunction ActionScope(value)\r\n{\r\n if (value === 0x02 || value === 0x04 || value === 0x08)\r\n {\r\n return \"global\";\r\n }\r\n if (value === 0x03 || value === 0x05 || value === 0x09)\r\n {\r\n return \"game-object\";\r\n }\r\n return \"unknown\";\r\n}\r\n\r\n/** Bounds-aware cursor over one Wwise Event Action payload. */\r\nclass ActionCursor\r\n{\r\n /**\r\n * Creates a cursor at the start of an Event Action payload.\r\n *\r\n * @param {Uint8Array} bytes Event Action payload bytes.\r\n */\r\n constructor(bytes)\r\n {\r\n this.bytes = bytes;\r\n this.view = new DataView(\r\n bytes.buffer,\r\n bytes.byteOffset,\r\n bytes.byteLength,\r\n );\r\n this.at = 0;\r\n }\r\n\r\n /** Gets the number of unread payload bytes. */\r\n get remaining()\r\n {\r\n return this.bytes.byteLength - this.at;\r\n }\r\n\r\n /**\r\n * Verifies that a read fits within the payload.\r\n *\r\n * @param {number} size Number of bytes to read.\r\n * @throws {RangeError} The payload is truncated.\r\n */\r\n require(size)\r\n {\r\n if (this.at + size > this.bytes.byteLength)\r\n {\r\n throw new RangeError(\"Event Action payload is truncated\");\r\n }\r\n }\r\n\r\n /** Reads an unsigned 8-bit integer. */\r\n u8()\r\n {\r\n this.require(1);\r\n return this.bytes[this.at++];\r\n }\r\n\r\n /** Reads a little-endian unsigned 16-bit integer. */\r\n u16()\r\n {\r\n this.require(2);\r\n const value = this.view.getUint16(this.at, true);\r\n\r\n this.at += 2;\r\n return value;\r\n }\r\n\r\n /** Reads a little-endian unsigned 32-bit integer. */\r\n u32()\r\n {\r\n this.require(4);\r\n const value = this.view.getUint32(this.at, true);\r\n\r\n this.at += 4;\r\n return value;\r\n }\r\n\r\n /** Reads a little-endian 32-bit floating-point number. */\r\n f32()\r\n {\r\n this.require(4);\r\n const value = this.view.getFloat32(this.at, true);\r\n\r\n this.at += 4;\r\n return value;\r\n }\r\n\r\n /** Reads a canonical Wwise variable-length unsigned integer. */\r\n varUint()\r\n {\r\n let value = 0;\r\n\r\n for (let count = 0; count < 5; count++)\r\n {\r\n const byte = this.u8();\r\n\r\n if (count === 0 && byte === 0x80)\r\n {\r\n throw new RangeError(\r\n \"Event Action exception count is non-canonical\",\r\n );\r\n }\r\n if (value > 0x01ffffff)\r\n {\r\n throw new RangeError(\r\n \"Event Action exception count overflows u32\",\r\n );\r\n }\r\n\r\n value = value * 128 + (byte & 0x7f);\r\n\r\n if ((byte & 0x80) === 0)\r\n {\r\n return value >>> 0;\r\n }\r\n }\r\n\r\n throw new RangeError(\"Event Action exception count is truncated\");\r\n }\r\n}\r\n"],"names":["WWISE_EVENT_ACTION_VERSION","PROPERTY_NAMES","Object","freeze","ACTION_NAMES","ACTIVE_ACTION_TYPES","Set","PLAY_ACTION_TYPES","VOICE_VOLUME_ACTION_TYPES","VOICE_PITCH_ACTION_TYPES","BUS_VOLUME_ACTION_TYPES","VOICE_LOW_PASS_ACTION_TYPES","VOICE_HIGH_PASS_ACTION_TYPES","GAME_SYNC_ACTION_TYPES","GAME_PARAMETER_ACTION_TYPES","parseEventAction","payload","bankVersion","Uint8Array","Number","cursor","ActionCursor","actionType","u16","actionName","targetId","u32","targetFlags","u8","properties","ReadProperties","ranges","ReadRanges","result","actionFamily","actionMode","ActionMode","actionScope","ActionScope","targetIsBus","ProjectKnownProperties","has","fadeCurve","bankId","bankType","actionFlags","exceptions","ReadExceptions","HasExactVoicePropertyActionProperties","HasExactTimingProperties","rawValueMode","value","f32","valueRange","min","max","resetting","startsWith","isFinite","valueMode","fields","VoicePropertyFields","range","groupId","valueId","bypassTransition","gameParameterValue","gameParameterRange","at","byteLength","error","RangeError","ids","map","property","id","every","size","length","values","exceptionCount","varUint","index","push","count","remaining","rawValue","name","PropertyValue","rawMin","rawMax","RangeValue","delayTimeMs","transitionTimeMs","probability","delayRangeMs","transitionRangeMs","bytes","ArrayBuffer","view","DataView","setUint32","getFloat32","constructor","buffer","byteOffset","require","getUint16","getUint32","byte"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eventAction.js","sources":["../../../../../../src/resource/formats/bnk/core/eventAction.js"],"sourcesContent":["// Exact Wwise v150 HIRC 3 Event Action decoding. The container reader keeps\n// the raw payload; this module adds typed action data only when a recognized\n// layout consumes that payload exactly.\n\nimport { WwiseCursor } from \"./nodeBase.js\";\n\nexport const WWISE_EVENT_ACTION_VERSION = 150;\n\nconst PROPERTY_NAMES = Object.freeze({\n 0x39: \"delayTime\",\n 0x3a: \"transitionTime\",\n 0x3b: \"probability\",\n});\n\nconst ACTION_NAMES = Object.freeze({\n 0x0102: \"stop\",\n 0x0103: \"stop\",\n 0x0105: \"stop\",\n 0x0203: \"pause\",\n 0x0205: \"pause\",\n 0x0303: \"resume\",\n 0x0305: \"resume\",\n 0x0403: \"play\",\n 0x0503: \"play-and-continue\",\n 0x0802: \"set-voice-pitch\",\n 0x0803: \"set-voice-pitch\",\n 0x0902: \"reset-voice-pitch\",\n 0x0903: \"reset-voice-pitch\",\n 0x0904: \"reset-voice-pitch\",\n 0x0905: \"reset-voice-pitch\",\n 0x0908: \"reset-voice-pitch\",\n 0x0909: \"reset-voice-pitch\",\n 0x0a02: \"set-voice-volume\",\n 0x0a03: \"set-voice-volume\",\n 0x0b02: \"reset-voice-volume\",\n 0x0b03: \"reset-voice-volume\",\n 0x0b04: \"reset-voice-volume\",\n 0x0b05: \"reset-voice-volume\",\n 0x0b08: \"reset-voice-volume\",\n 0x0b09: \"reset-voice-volume\",\n 0x0c02: \"set-bus-volume\",\n 0x0c03: \"set-bus-volume\",\n 0x0d02: \"reset-bus-volume\",\n 0x0d03: \"reset-bus-volume\",\n 0x0d04: \"reset-bus-volume\",\n 0x0d08: \"reset-bus-volume\",\n 0x0e02: \"set-voice-low-pass\",\n 0x0e03: \"set-voice-low-pass\",\n 0x0f02: \"reset-voice-low-pass\",\n 0x0f03: \"reset-voice-low-pass\",\n 0x0f04: \"reset-voice-low-pass\",\n 0x0f05: \"reset-voice-low-pass\",\n 0x0f08: \"reset-voice-low-pass\",\n 0x0f09: \"reset-voice-low-pass\",\n 0x1204: \"set-state\",\n 0x1302: \"set-game-parameter\",\n 0x1303: \"set-game-parameter\",\n 0x1402: \"reset-game-parameter\",\n 0x1403: \"reset-game-parameter\",\n 0x1901: \"set-switch\",\n 0x2002: \"set-voice-high-pass\",\n 0x2003: \"set-voice-high-pass\",\n 0x2103: \"post-event\",\n 0x3002: \"reset-voice-high-pass\",\n 0x3003: \"reset-voice-high-pass\",\n 0x3004: \"reset-voice-high-pass\",\n 0x3005: \"reset-voice-high-pass\",\n 0x3008: \"reset-voice-high-pass\",\n 0x3009: \"reset-voice-high-pass\",\n});\n\nconst ACTIVE_ACTION_TYPES = new Set([\n 0x0102,\n 0x0103,\n 0x0105,\n 0x0203,\n 0x0205,\n 0x0303,\n 0x0305,\n]);\n\nconst PLAY_ACTION_TYPES = new Set([ 0x0403, 0x0503 ]);\n\nconst VOICE_VOLUME_ACTION_TYPES = new Set([\n 0x0a02,\n 0x0a03,\n 0x0b02,\n 0x0b03,\n 0x0b04,\n 0x0b05,\n 0x0b08,\n 0x0b09,\n]);\n\nconst VOICE_PITCH_ACTION_TYPES = new Set([\n 0x0802,\n 0x0803,\n 0x0902,\n 0x0903,\n 0x0904,\n 0x0905,\n 0x0908,\n 0x0909,\n]);\n\nconst BUS_VOLUME_ACTION_TYPES = new Set([\n 0x0c02,\n 0x0c03,\n 0x0d02,\n 0x0d03,\n 0x0d04,\n 0x0d08,\n]);\n\nconst VOICE_LOW_PASS_ACTION_TYPES = new Set([\n 0x0e02,\n 0x0e03,\n 0x0f02,\n 0x0f03,\n 0x0f04,\n 0x0f05,\n 0x0f08,\n 0x0f09,\n]);\n\nconst VOICE_HIGH_PASS_ACTION_TYPES = new Set([\n 0x2002,\n 0x2003,\n 0x3002,\n 0x3003,\n 0x3004,\n 0x3005,\n 0x3008,\n 0x3009,\n]);\n\nconst GAME_SYNC_ACTION_TYPES = new Set([\n 0x1204,\n 0x1901,\n]);\n\nconst GAME_PARAMETER_ACTION_TYPES = new Set([\n 0x1302,\n 0x1303,\n 0x1402,\n 0x1403,\n]);\n\n/**\n * Decodes one exact Wwise v150 HIRC Event Action body.\n *\n * The input begins after the HIRC object's leading u32 identity. Unknown\n * action types, other bank versions, truncated bodies, and recognized bodies\n * with trailing bytes return null so callers retain their shallow/raw view.\n *\n * @param {Uint8Array} payload Event Action body.\n * @param {object} [options] Decode options.\n * @param {number} [options.bankVersion=150] Wwise bank generator version.\n * @returns {object|null} Typed action data, or null when not exact.\n */\nexport function parseEventAction(\n payload,\n { bankVersion = WWISE_EVENT_ACTION_VERSION } = {},\n)\n{\n if (!(payload instanceof Uint8Array)\n || Number(bankVersion) !== WWISE_EVENT_ACTION_VERSION)\n {\n return null;\n }\n\n try\n {\n const cursor = new WwiseCursor(payload);\n const actionType = cursor.u16();\n const actionName = ACTION_NAMES[actionType];\n\n if (!actionName)\n {\n return null;\n }\n\n const targetId = cursor.u32();\n const targetFlags = cursor.u8();\n const properties = ReadProperties(cursor);\n const ranges = ReadRanges(cursor);\n const result = {\n actionType,\n actionName,\n actionFamily: (actionType >> 8) & 0xff,\n actionMode: ActionMode(actionType & 0xff),\n actionScope: ActionScope(actionType & 0xff),\n targetId,\n targetIsBus: (targetFlags & 0x01) !== 0,\n targetFlags,\n properties,\n ranges,\n ...ProjectKnownProperties(properties, ranges),\n };\n\n if (PLAY_ACTION_TYPES.has(actionType))\n {\n result.fadeCurve = cursor.u8();\n result.bankId = cursor.u32();\n result.bankType = cursor.u32();\n }\n else if (ACTIVE_ACTION_TYPES.has(actionType))\n {\n result.fadeCurve = cursor.u8();\n result.actionFlags = cursor.u8();\n result.exceptions = ReadExceptions(cursor);\n }\n else if (VOICE_PITCH_ACTION_TYPES.has(actionType)\n || VOICE_VOLUME_ACTION_TYPES.has(actionType)\n || BUS_VOLUME_ACTION_TYPES.has(actionType)\n || VOICE_LOW_PASS_ACTION_TYPES.has(actionType)\n || VOICE_HIGH_PASS_ACTION_TYPES.has(actionType))\n {\n if (!HasExactVoicePropertyActionProperties(properties)\n || !HasExactTimingProperties(ranges))\n {\n return null;\n }\n\n const fadeCurve = cursor.u8();\n const rawValueMode = cursor.u8();\n const value = cursor.f32();\n const valueRange = {\n min: cursor.f32(),\n max: cursor.f32(),\n };\n const resetting = actionName.startsWith(\"reset-\");\n\n if (targetFlags & ~0x01\n || fadeCurve > 9\n || (resetting\n ? rawValueMode !== 0\n && rawValueMode !== 1\n && rawValueMode !== 2\n : rawValueMode !== 1 && rawValueMode !== 2)\n || !Number.isFinite(value)\n || !Number.isFinite(valueRange.min)\n || !Number.isFinite(valueRange.max)\n || (resetting\n && (value !== 0\n || valueRange.min !== 0\n || valueRange.max !== 0)))\n {\n return null;\n }\n\n result.fadeCurve = fadeCurve;\n if (!resetting)\n {\n result.valueMode = rawValueMode === 1\n ? \"absolute\"\n : \"relative\";\n const fields = VoicePropertyFields(actionType);\n\n result[fields.value] = value;\n result[fields.range] = valueRange;\n }\n result.exceptions = ReadExceptions(cursor);\n }\n else if (GAME_SYNC_ACTION_TYPES.has(actionType))\n {\n result.groupId = cursor.u32();\n result.valueId = cursor.u32();\n }\n else if (GAME_PARAMETER_ACTION_TYPES.has(actionType))\n {\n if (targetFlags & ~0x01\n || !HasExactTimingProperties(properties)\n || !HasExactTimingProperties(ranges))\n {\n return null;\n }\n\n const fadeCurve = cursor.u8();\n const bypassTransition = cursor.u8();\n const rawValueMode = cursor.u8();\n const gameParameterValue = cursor.f32();\n const gameParameterRange = {\n min: cursor.f32(),\n max: cursor.f32(),\n };\n\n const resetting = actionName === \"reset-game-parameter\";\n\n if (fadeCurve > 9\n || (resetting\n ? rawValueMode !== 0\n : rawValueMode !== 1 && rawValueMode !== 2)\n || !Number.isFinite(gameParameterValue)\n || !Number.isFinite(gameParameterRange.min)\n || !Number.isFinite(gameParameterRange.max)\n || (resetting\n && (gameParameterValue !== 0\n || gameParameterRange.min !== 0\n || gameParameterRange.max !== 0)))\n {\n return null;\n }\n\n result.fadeCurve = fadeCurve;\n result.bypassTransition = bypassTransition !== 0;\n if (!resetting)\n {\n result.valueMode = rawValueMode === 1\n ? \"absolute\"\n : \"relative\";\n result.gameParameterValue = gameParameterValue;\n result.gameParameterRange = gameParameterRange;\n }\n result.exceptions = ReadExceptions(cursor);\n }\n\n return cursor.at === payload.byteLength ? result : null;\n }\n catch (error)\n {\n if (error instanceof RangeError)\n {\n return null;\n }\n throw error;\n }\n}\n\nfunction HasExactVoicePropertyActionProperties(properties)\n{\n const ids = properties.map(property => property.id);\n\n return ids.every(id => id === 0x39 || id === 0x3a)\n && new Set(ids).size === ids.length;\n}\n\nfunction VoicePropertyFields(actionType)\n{\n if (VOICE_PITCH_ACTION_TYPES.has(actionType))\n {\n return { value: \"pitchCents\", range: \"pitchRangeCents\" };\n }\n if (VOICE_VOLUME_ACTION_TYPES.has(actionType))\n {\n return { value: \"volumeDb\", range: \"volumeRangeDb\" };\n }\n if (VOICE_LOW_PASS_ACTION_TYPES.has(actionType))\n {\n return { value: \"lowPass\", range: \"lowPassRange\" };\n }\n if (BUS_VOLUME_ACTION_TYPES.has(actionType))\n {\n return { value: \"busVolumeDb\", range: \"busVolumeRangeDb\" };\n }\n return { value: \"highPass\", range: \"highPassRange\" };\n}\n\nfunction HasExactTimingProperties(values)\n{\n const ids = values.map(value => value.id);\n\n return ids.every(id => id === 0x39 || id === 0x3a)\n && new Set(ids).size === ids.length;\n}\n\nfunction ReadExceptions(cursor)\n{\n const exceptionCount = cursor.variable();\n const exceptions = [];\n\n if (exceptionCount > 65536)\n {\n throw new RangeError(\"Event Action exception count is too large\");\n }\n\n for (let index = 0; index < exceptionCount; index++)\n {\n const targetId = cursor.u32();\n const targetFlags = cursor.u8();\n\n exceptions.push({\n targetId,\n targetIsBus: (targetFlags & 0x01) !== 0,\n targetFlags,\n });\n }\n return exceptions;\n}\n\nfunction ReadProperties(cursor)\n{\n const count = cursor.u8();\n\n if (count > 255 || cursor.remaining < count + count * 4)\n {\n throw new RangeError(\"Event Action property bundle is truncated\");\n }\n\n const ids = [];\n const values = [];\n\n for (let index = 0; index < count; index++)\n {\n ids.push(cursor.u8());\n }\n for (let index = 0; index < count; index++)\n {\n values.push(cursor.u32());\n }\n\n return ids.map((id, index) =>\n {\n const rawValue = values[index];\n\n return {\n id,\n name: PROPERTY_NAMES[id] ?? `property-${id}`,\n value: PropertyValue(id, rawValue),\n rawValue,\n };\n });\n}\n\nfunction ReadRanges(cursor)\n{\n const count = cursor.u8();\n\n if (count > 255 || cursor.remaining < count + count * 8)\n {\n throw new RangeError(\"Event Action range bundle is truncated\");\n }\n\n const ids = [];\n\n for (let index = 0; index < count; index++)\n {\n ids.push(cursor.u8());\n }\n\n return ids.map(id =>\n {\n const rawMin = cursor.u32();\n const rawMax = cursor.u32();\n\n return {\n id,\n name: PROPERTY_NAMES[id] ?? `property-${id}`,\n min: RangeValue(id, rawMin),\n max: RangeValue(id, rawMax),\n rawMin,\n rawMax,\n };\n });\n}\n\nfunction ProjectKnownProperties(properties, ranges)\n{\n const result = {};\n\n for (const property of properties)\n {\n if (property.id === 0x39) result.delayTimeMs = property.value;\n else if (property.id === 0x3a)\n {\n result.transitionTimeMs = property.value;\n }\n else if (property.id === 0x3b)\n {\n result.probability = property.value;\n }\n }\n\n for (const range of ranges)\n {\n const value = { min: range.min, max: range.max };\n\n if (range.id === 0x39) result.delayRangeMs = value;\n else if (range.id === 0x3a) result.transitionRangeMs = value;\n }\n\n return result;\n}\n\nfunction PropertyValue(id, rawValue)\n{\n if (id === 0x39 || id === 0x3a)\n {\n return rawValue | 0;\n }\n if (id === 0x3b)\n {\n const bytes = new ArrayBuffer(4);\n const view = new DataView(bytes);\n\n view.setUint32(0, rawValue, true);\n return view.getFloat32(0, true);\n }\n return rawValue;\n}\n\nfunction RangeValue(id, rawValue)\n{\n return id === 0x39 || id === 0x3a\n ? rawValue | 0\n : rawValue;\n}\n\nfunction ActionMode(value)\n{\n if (value === 0x02 || value === 0x03) return \"element\";\n if (value === 0x04 || value === 0x05) return \"all\";\n if (value === 0x08 || value === 0x09) return \"all-except\";\n return \"unknown\";\n}\n\nfunction ActionScope(value)\n{\n if (value === 0x02 || value === 0x04 || value === 0x08)\n {\n return \"global\";\n }\n if (value === 0x03 || value === 0x05 || value === 0x09)\n {\n return \"game-object\";\n }\n return \"unknown\";\n}\n\n"],"names":["WWISE_EVENT_ACTION_VERSION","PROPERTY_NAMES","Object","freeze","ACTION_NAMES","ACTIVE_ACTION_TYPES","Set","PLAY_ACTION_TYPES","VOICE_VOLUME_ACTION_TYPES","VOICE_PITCH_ACTION_TYPES","BUS_VOLUME_ACTION_TYPES","VOICE_LOW_PASS_ACTION_TYPES","VOICE_HIGH_PASS_ACTION_TYPES","GAME_SYNC_ACTION_TYPES","GAME_PARAMETER_ACTION_TYPES","parseEventAction","payload","bankVersion","Uint8Array","Number","cursor","WwiseCursor","actionType","u16","actionName","targetId","u32","targetFlags","u8","properties","ReadProperties","ranges","ReadRanges","result","actionFamily","actionMode","ActionMode","actionScope","ActionScope","targetIsBus","ProjectKnownProperties","has","fadeCurve","bankId","bankType","actionFlags","exceptions","ReadExceptions","HasExactVoicePropertyActionProperties","HasExactTimingProperties","rawValueMode","value","f32","valueRange","min","max","resetting","startsWith","isFinite","valueMode","fields","VoicePropertyFields","range","groupId","valueId","bypassTransition","gameParameterValue","gameParameterRange","at","byteLength","error","RangeError","ids","map","property","id","every","size","length","values","exceptionCount","variable","index","push","count","remaining","rawValue","name","PropertyValue","rawMin","rawMax","RangeValue","delayTimeMs","transitionTimeMs","probability","delayRangeMs","transitionRangeMs","bytes","ArrayBuffer","view","DataView","setUint32","getFloat32"],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { WwiseCursor } from './WwiseCursor.js';
|
|
2
|
+
|
|
1
3
|
// Exact Wwise v150 STMG Global Settings decoding. The container reader keeps
|
|
2
4
|
// the raw chunk entry and attaches this typed view only when the whole payload
|
|
3
5
|
// is valid and consumed.
|
|
@@ -9,17 +11,17 @@ const INTERPOLATIONS = new Set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
|
|
|
9
11
|
const RAMP_TYPES = new Set([0, 1, 2]);
|
|
10
12
|
const BUILT_IN_PARAMETERS = new Set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
|
|
11
13
|
|
|
12
|
-
/**
|
|
13
|
-
* Decodes one exact Wwise v150 STMG Global Settings payload.
|
|
14
|
-
*
|
|
15
|
-
* Other versions, truncated tables, invalid enums or floats, impossible
|
|
16
|
-
* counts, and trailing bytes return null. Numeric enum values are retained so
|
|
14
|
+
/**
|
|
15
|
+
* Decodes one exact Wwise v150 STMG Global Settings payload.
|
|
16
|
+
*
|
|
17
|
+
* Other versions, truncated tables, invalid enums or floats, impossible
|
|
18
|
+
* counts, and trailing bytes return null. Numeric enum values are retained so
|
|
17
19
|
* the runtime resource layer remains a lossless typed reader rather than a policy layer.
|
|
18
|
-
*
|
|
19
|
-
* @param {Uint8Array} payload STMG payload bytes after the chunk header.
|
|
20
|
-
* @param {object} [options] Decode options.
|
|
21
|
-
* @param {number} [options.bankVersion=150] Wwise bank generator version.
|
|
22
|
-
* @returns {object|null} Typed global settings, or null when not exact.
|
|
20
|
+
*
|
|
21
|
+
* @param {Uint8Array} payload STMG payload bytes after the chunk header.
|
|
22
|
+
* @param {object} [options] Decode options.
|
|
23
|
+
* @param {number} [options.bankVersion=150] Wwise bank generator version.
|
|
24
|
+
* @returns {object|null} Typed global settings, or null when not exact.
|
|
23
25
|
*/
|
|
24
26
|
function parseGlobalSettings(payload, {
|
|
25
27
|
bankVersion = WWISE_GLOBAL_SETTINGS_VERSION
|
|
@@ -28,7 +30,7 @@ function parseGlobalSettings(payload, {
|
|
|
28
30
|
return null;
|
|
29
31
|
}
|
|
30
32
|
try {
|
|
31
|
-
const cursor = new
|
|
33
|
+
const cursor = new WwiseCursor(payload);
|
|
32
34
|
const filterBehavior = ReadEnum(cursor.u16(), FILTER_BEHAVIORS, "filter behavior");
|
|
33
35
|
const result = {
|
|
34
36
|
filterBehavior,
|
|
@@ -49,12 +51,12 @@ function parseGlobalSettings(payload, {
|
|
|
49
51
|
}
|
|
50
52
|
}
|
|
51
53
|
function ReadStateGroups(cursor) {
|
|
52
|
-
const count = cursor.
|
|
54
|
+
const count = cursor.readBoundedCount(12);
|
|
53
55
|
const groups = [];
|
|
54
56
|
for (let index = 0; index < count; index++) {
|
|
55
57
|
const id = cursor.u32();
|
|
56
58
|
const defaultTransitionTimeMs = cursor.u32();
|
|
57
|
-
const transitionCount = cursor.
|
|
59
|
+
const transitionCount = cursor.readBoundedCount(12);
|
|
58
60
|
const transitions = [];
|
|
59
61
|
for (let transitionIndex = 0; transitionIndex < transitionCount; transitionIndex++) {
|
|
60
62
|
transitions.push({
|
|
@@ -72,13 +74,13 @@ function ReadStateGroups(cursor) {
|
|
|
72
74
|
return groups;
|
|
73
75
|
}
|
|
74
76
|
function ReadSwitchGroups(cursor) {
|
|
75
|
-
const count = cursor.
|
|
77
|
+
const count = cursor.readBoundedCount(13);
|
|
76
78
|
const groups = [];
|
|
77
79
|
for (let index = 0; index < count; index++) {
|
|
78
80
|
const id = cursor.u32();
|
|
79
81
|
const controlId = cursor.u32();
|
|
80
82
|
const controlType = ReadEnum(cursor.u8(), SWITCH_CONTROL_TYPES, "switch control type");
|
|
81
|
-
const pointCount = cursor.
|
|
83
|
+
const pointCount = cursor.readBoundedCount(12);
|
|
82
84
|
const points = [];
|
|
83
85
|
for (let pointIndex = 0; pointIndex < pointCount; pointIndex++) {
|
|
84
86
|
points.push({
|
|
@@ -97,7 +99,7 @@ function ReadSwitchGroups(cursor) {
|
|
|
97
99
|
return groups;
|
|
98
100
|
}
|
|
99
101
|
function ReadRtpcParameters(cursor) {
|
|
100
|
-
const count = cursor.
|
|
102
|
+
const count = cursor.readBoundedCount(21);
|
|
101
103
|
const parameters = [];
|
|
102
104
|
for (let index = 0; index < count; index++) {
|
|
103
105
|
parameters.push({
|
|
@@ -112,7 +114,7 @@ function ReadRtpcParameters(cursor) {
|
|
|
112
114
|
return parameters;
|
|
113
115
|
}
|
|
114
116
|
function ReadAcousticTextures(cursor) {
|
|
115
|
-
const count = cursor.
|
|
117
|
+
const count = cursor.readBoundedCount(28);
|
|
116
118
|
const textures = [];
|
|
117
119
|
for (let index = 0; index < count; index++) {
|
|
118
120
|
textures.push({
|
|
@@ -134,82 +136,5 @@ function ReadEnum(value, allowed, label) {
|
|
|
134
136
|
return value;
|
|
135
137
|
}
|
|
136
138
|
|
|
137
|
-
/** Bounds-aware little-endian cursor over one Wwise Global Settings payload. */
|
|
138
|
-
class GlobalSettingsCursor {
|
|
139
|
-
/**
|
|
140
|
-
* Creates a cursor over the complete payload.
|
|
141
|
-
*
|
|
142
|
-
* @param {Uint8Array} bytes Global Settings payload bytes.
|
|
143
|
-
*/
|
|
144
|
-
constructor(bytes) {
|
|
145
|
-
this.bytes = bytes;
|
|
146
|
-
this.view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
147
|
-
this.at = 0;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
/** Gets the number of unread bytes. */
|
|
151
|
-
get remaining() {
|
|
152
|
-
return this.bytes.byteLength - this.at;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Requires a bounded number of bytes to remain.
|
|
157
|
-
*
|
|
158
|
-
* @param {number} size Required byte count.
|
|
159
|
-
*/
|
|
160
|
-
require(size) {
|
|
161
|
-
if (!Number.isSafeInteger(size) || size < 0 || this.at + size > this.bytes.byteLength) {
|
|
162
|
-
throw new RangeError("Global Settings payload is truncated");
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Reads a table count and validates its minimum encoded size.
|
|
168
|
-
*
|
|
169
|
-
* @param {number} minimumStride Minimum bytes required per record.
|
|
170
|
-
* @returns {number} Validated record count.
|
|
171
|
-
*/
|
|
172
|
-
boundedCount(minimumStride) {
|
|
173
|
-
const count = this.u32();
|
|
174
|
-
if (count > Math.floor(this.remaining / minimumStride)) {
|
|
175
|
-
throw new RangeError("Global Settings table count exceeds payload");
|
|
176
|
-
}
|
|
177
|
-
return count;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
/** Reads an unsigned 8-bit integer. */
|
|
181
|
-
u8() {
|
|
182
|
-
this.require(1);
|
|
183
|
-
return this.bytes[this.at++];
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
/** Reads a little-endian unsigned 16-bit integer. */
|
|
187
|
-
u16() {
|
|
188
|
-
this.require(2);
|
|
189
|
-
const value = this.view.getUint16(this.at, true);
|
|
190
|
-
this.at += 2;
|
|
191
|
-
return value;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
/** Reads a little-endian unsigned 32-bit integer. */
|
|
195
|
-
u32() {
|
|
196
|
-
this.require(4);
|
|
197
|
-
const value = this.view.getUint32(this.at, true);
|
|
198
|
-
this.at += 4;
|
|
199
|
-
return value;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
/** Reads a finite little-endian 32-bit floating-point value. */
|
|
203
|
-
finiteF32() {
|
|
204
|
-
this.require(4);
|
|
205
|
-
const value = this.view.getFloat32(this.at, true);
|
|
206
|
-
this.at += 4;
|
|
207
|
-
if (!Number.isFinite(value)) {
|
|
208
|
-
throw new RangeError("Global Settings float must be finite");
|
|
209
|
-
}
|
|
210
|
-
return value;
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
139
|
export { WWISE_GLOBAL_SETTINGS_VERSION, parseGlobalSettings };
|
|
215
140
|
//# sourceMappingURL=globalSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalSettings.js","sources":["../../../../../../src/resource/formats/bnk/core/globalSettings.js"],"sourcesContent":["// Exact Wwise v150 STMG Global Settings decoding. The container reader keeps\r\n// the raw chunk entry and attaches this typed view only when the whole payload\r\n// is valid and consumed.\r\n\r\nexport const WWISE_GLOBAL_SETTINGS_VERSION = 150;\r\n\r\nconst FILTER_BEHAVIORS = new Set([ 0, 1 ]);\r\nconst SWITCH_CONTROL_TYPES = new Set([ 0, 1, 2, 3, 4 ]);\r\nconst INTERPOLATIONS = new Set([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]);\r\nconst RAMP_TYPES = new Set([ 0, 1, 2 ]);\r\nconst BUILT_IN_PARAMETERS = new Set([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]);\r\n\r\n/**\r\n * Decodes one exact Wwise v150 STMG Global Settings payload.\r\n *\r\n * Other versions, truncated tables, invalid enums or floats, impossible\r\n * counts, and trailing bytes return null. Numeric enum values are retained so\r\n * the runtime resource layer remains a lossless typed reader rather than a policy layer.\n *\r\n * @param {Uint8Array} payload STMG payload bytes after the chunk header.\r\n * @param {object} [options] Decode options.\r\n * @param {number} [options.bankVersion=150] Wwise bank generator version.\r\n * @returns {object|null} Typed global settings, or null when not exact.\r\n */\r\nexport function parseGlobalSettings(\r\n payload,\r\n { bankVersion = WWISE_GLOBAL_SETTINGS_VERSION } = {},\r\n)\r\n{\r\n if (!(payload instanceof Uint8Array)\r\n || Number(bankVersion) !== WWISE_GLOBAL_SETTINGS_VERSION)\r\n {\r\n return null;\r\n }\r\n\r\n try\r\n {\r\n const cursor = new GlobalSettingsCursor(payload);\r\n const filterBehavior = ReadEnum(\r\n cursor.u16(),\r\n FILTER_BEHAVIORS,\r\n \"filter behavior\",\r\n );\r\n const result = {\r\n filterBehavior,\r\n volumeThreshold: cursor.finiteF32(),\r\n maxVoices: cursor.u16(),\r\n maxDangerousVirtualVoices: cursor.u16(),\r\n stateGroups: ReadStateGroups(cursor),\r\n switchGroups: ReadSwitchGroups(cursor),\r\n rtpcParameters: ReadRtpcParameters(cursor),\r\n acousticTextures: ReadAcousticTextures(cursor),\r\n };\r\n\r\n return cursor.remaining === 0 ? result : null;\r\n }\r\n catch (error)\r\n {\r\n if (error instanceof RangeError)\r\n {\r\n return null;\r\n }\r\n throw error;\r\n }\r\n}\r\n\r\nfunction ReadStateGroups(cursor)\r\n{\r\n const count = cursor.boundedCount(12);\r\n const groups = [];\r\n\r\n for (let index = 0; index < count; index++)\r\n {\r\n const id = cursor.u32();\r\n const defaultTransitionTimeMs = cursor.u32();\r\n const transitionCount = cursor.boundedCount(12);\r\n const transitions = [];\r\n\r\n for (let transitionIndex = 0;\r\n transitionIndex < transitionCount;\r\n transitionIndex++)\r\n {\r\n transitions.push({\r\n fromId: cursor.u32(),\r\n toId: cursor.u32(),\r\n transitionTimeMs: cursor.u32(),\r\n });\r\n }\r\n groups.push({ id, defaultTransitionTimeMs, transitions });\r\n }\r\n return groups;\r\n}\r\n\r\nfunction ReadSwitchGroups(cursor)\r\n{\r\n const count = cursor.boundedCount(13);\r\n const groups = [];\r\n\r\n for (let index = 0; index < count; index++)\r\n {\r\n const id = cursor.u32();\r\n const controlId = cursor.u32();\r\n const controlType = ReadEnum(\r\n cursor.u8(),\r\n SWITCH_CONTROL_TYPES,\r\n \"switch control type\",\r\n );\r\n const pointCount = cursor.boundedCount(12);\r\n const points = [];\r\n\r\n for (let pointIndex = 0; pointIndex < pointCount; pointIndex++)\r\n {\r\n points.push({\r\n from: cursor.finiteF32(),\r\n to: cursor.finiteF32(),\r\n interpolation: ReadEnum(\r\n cursor.u32(),\r\n INTERPOLATIONS,\r\n \"switch interpolation\",\r\n ),\r\n });\r\n }\r\n groups.push({ id, controlId, controlType, points });\r\n }\r\n return groups;\r\n}\r\n\r\nfunction ReadRtpcParameters(cursor)\r\n{\r\n const count = cursor.boundedCount(21);\r\n const parameters = [];\r\n\r\n for (let index = 0; index < count; index++)\r\n {\r\n parameters.push({\r\n id: cursor.u32(),\r\n defaultValue: cursor.finiteF32(),\r\n rampType: ReadEnum(\r\n cursor.u32(),\r\n RAMP_TYPES,\r\n \"RTPC ramp type\",\r\n ),\r\n rampUp: cursor.finiteF32(),\r\n rampDown: cursor.finiteF32(),\r\n builtInParameter: ReadEnum(\r\n cursor.u8(),\r\n BUILT_IN_PARAMETERS,\r\n \"built-in parameter\",\r\n ),\r\n });\r\n }\r\n return parameters;\r\n}\r\n\r\nfunction ReadAcousticTextures(cursor)\r\n{\r\n const count = cursor.boundedCount(28);\r\n const textures = [];\r\n\r\n for (let index = 0; index < count; index++)\r\n {\r\n textures.push({\r\n id: cursor.u32(),\r\n absorptionOffset: cursor.finiteF32(),\r\n absorptionLow: cursor.finiteF32(),\r\n absorptionMidLow: cursor.finiteF32(),\r\n absorptionMidHigh: cursor.finiteF32(),\r\n absorptionHigh: cursor.finiteF32(),\r\n scattering: cursor.finiteF32(),\r\n });\r\n }\r\n return textures;\r\n}\r\n\r\nfunction ReadEnum(value, allowed, label)\r\n{\r\n if (!allowed.has(value))\r\n {\r\n throw new RangeError(`Invalid Wwise ${label} ${value}`);\r\n }\r\n return value;\r\n}\r\n\r\n/** Bounds-aware little-endian cursor over one Wwise Global Settings payload. */\r\nclass GlobalSettingsCursor\r\n{\r\n /**\r\n * Creates a cursor over the complete payload.\r\n *\r\n * @param {Uint8Array} bytes Global Settings payload bytes.\r\n */\r\n constructor(bytes)\r\n {\r\n this.bytes = bytes;\r\n this.view = new DataView(\r\n bytes.buffer,\r\n bytes.byteOffset,\r\n bytes.byteLength,\r\n );\r\n this.at = 0;\r\n }\r\n\r\n /** Gets the number of unread bytes. */\r\n get remaining()\r\n {\r\n return this.bytes.byteLength - this.at;\r\n }\r\n\r\n /**\r\n * Requires a bounded number of bytes to remain.\r\n *\r\n * @param {number} size Required byte count.\r\n */\r\n require(size)\r\n {\r\n if (!Number.isSafeInteger(size)\r\n || size < 0\r\n || this.at + size > this.bytes.byteLength)\r\n {\r\n throw new RangeError(\"Global Settings payload is truncated\");\r\n }\r\n }\r\n\r\n /**\r\n * Reads a table count and validates its minimum encoded size.\r\n *\r\n * @param {number} minimumStride Minimum bytes required per record.\r\n * @returns {number} Validated record count.\r\n */\r\n boundedCount(minimumStride)\r\n {\r\n const count = this.u32();\r\n\r\n if (count > Math.floor(this.remaining / minimumStride))\r\n {\r\n throw new RangeError(\"Global Settings table count exceeds payload\");\r\n }\r\n return count;\r\n }\r\n\r\n /** Reads an unsigned 8-bit integer. */\r\n u8()\r\n {\r\n this.require(1);\r\n return this.bytes[this.at++];\r\n }\r\n\r\n /** Reads a little-endian unsigned 16-bit integer. */\r\n u16()\r\n {\r\n this.require(2);\r\n const value = this.view.getUint16(this.at, true);\r\n\r\n this.at += 2;\r\n return value;\r\n }\r\n\r\n /** Reads a little-endian unsigned 32-bit integer. */\r\n u32()\r\n {\r\n this.require(4);\r\n const value = this.view.getUint32(this.at, true);\r\n\r\n this.at += 4;\r\n return value;\r\n }\r\n\r\n /** Reads a finite little-endian 32-bit floating-point value. */\r\n finiteF32()\r\n {\r\n this.require(4);\r\n const value = this.view.getFloat32(this.at, true);\r\n\r\n this.at += 4;\r\n if (!Number.isFinite(value))\r\n {\r\n throw new RangeError(\"Global Settings float must be finite\");\r\n }\r\n return value;\r\n }\r\n}\r\n"],"names":["WWISE_GLOBAL_SETTINGS_VERSION","FILTER_BEHAVIORS","Set","SWITCH_CONTROL_TYPES","INTERPOLATIONS","RAMP_TYPES","BUILT_IN_PARAMETERS","parseGlobalSettings","payload","bankVersion","Uint8Array","Number","cursor","GlobalSettingsCursor","filterBehavior","ReadEnum","u16","result","volumeThreshold","finiteF32","maxVoices","maxDangerousVirtualVoices","stateGroups","ReadStateGroups","switchGroups","ReadSwitchGroups","rtpcParameters","ReadRtpcParameters","acousticTextures","ReadAcousticTextures","remaining","error","RangeError","count","boundedCount","groups","index","id","u32","defaultTransitionTimeMs","transitionCount","transitions","transitionIndex","push","fromId","toId","transitionTimeMs","controlId","controlType","u8","pointCount","points","pointIndex","from","to","interpolation","parameters","defaultValue","rampType","rampUp","rampDown","builtInParameter","textures","absorptionOffset","absorptionLow","absorptionMidLow","absorptionMidHigh","absorptionHigh","scattering","value","allowed","label","has","constructor","bytes","view","DataView","buffer","byteOffset","byteLength","at","require","size","isSafeInteger","minimumStride","Math","floor","getUint16","getUint32","getFloat32","isFinite"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"globalSettings.js","sources":["../../../../../../src/resource/formats/bnk/core/globalSettings.js"],"sourcesContent":["// Exact Wwise v150 STMG Global Settings decoding. The container reader keeps\n// the raw chunk entry and attaches this typed view only when the whole payload\n// is valid and consumed.\n\nimport { WwiseCursor } from \"./nodeBase.js\";\n\nexport const WWISE_GLOBAL_SETTINGS_VERSION = 150;\n\nconst FILTER_BEHAVIORS = new Set([ 0, 1 ]);\nconst SWITCH_CONTROL_TYPES = new Set([ 0, 1, 2, 3, 4 ]);\nconst INTERPOLATIONS = new Set([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]);\nconst RAMP_TYPES = new Set([ 0, 1, 2 ]);\nconst BUILT_IN_PARAMETERS = new Set([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]);\n\n/**\n * Decodes one exact Wwise v150 STMG Global Settings payload.\n *\n * Other versions, truncated tables, invalid enums or floats, impossible\n * counts, and trailing bytes return null. Numeric enum values are retained so\n * the runtime resource layer remains a lossless typed reader rather than a policy layer.\n *\n * @param {Uint8Array} payload STMG payload bytes after the chunk header.\n * @param {object} [options] Decode options.\n * @param {number} [options.bankVersion=150] Wwise bank generator version.\n * @returns {object|null} Typed global settings, or null when not exact.\n */\nexport function parseGlobalSettings(\n payload,\n { bankVersion = WWISE_GLOBAL_SETTINGS_VERSION } = {},\n)\n{\n if (!(payload instanceof Uint8Array)\n || Number(bankVersion) !== WWISE_GLOBAL_SETTINGS_VERSION)\n {\n return null;\n }\n\n try\n {\n const cursor = new WwiseCursor(payload);\n const filterBehavior = ReadEnum(\n cursor.u16(),\n FILTER_BEHAVIORS,\n \"filter behavior\",\n );\n const result = {\n filterBehavior,\n volumeThreshold: cursor.finiteF32(),\n maxVoices: cursor.u16(),\n maxDangerousVirtualVoices: cursor.u16(),\n stateGroups: ReadStateGroups(cursor),\n switchGroups: ReadSwitchGroups(cursor),\n rtpcParameters: ReadRtpcParameters(cursor),\n acousticTextures: ReadAcousticTextures(cursor),\n };\n\n return cursor.remaining === 0 ? result : null;\n }\n catch (error)\n {\n if (error instanceof RangeError)\n {\n return null;\n }\n throw error;\n }\n}\n\nfunction ReadStateGroups(cursor)\n{\n const count = cursor.readBoundedCount(12);\n const groups = [];\n\n for (let index = 0; index < count; index++)\n {\n const id = cursor.u32();\n const defaultTransitionTimeMs = cursor.u32();\n const transitionCount = cursor.readBoundedCount(12);\n const transitions = [];\n\n for (let transitionIndex = 0;\n transitionIndex < transitionCount;\n transitionIndex++)\n {\n transitions.push({\n fromId: cursor.u32(),\n toId: cursor.u32(),\n transitionTimeMs: cursor.u32(),\n });\n }\n groups.push({ id, defaultTransitionTimeMs, transitions });\n }\n return groups;\n}\n\nfunction ReadSwitchGroups(cursor)\n{\n const count = cursor.readBoundedCount(13);\n const groups = [];\n\n for (let index = 0; index < count; index++)\n {\n const id = cursor.u32();\n const controlId = cursor.u32();\n const controlType = ReadEnum(\n cursor.u8(),\n SWITCH_CONTROL_TYPES,\n \"switch control type\",\n );\n const pointCount = cursor.readBoundedCount(12);\n const points = [];\n\n for (let pointIndex = 0; pointIndex < pointCount; pointIndex++)\n {\n points.push({\n from: cursor.finiteF32(),\n to: cursor.finiteF32(),\n interpolation: ReadEnum(\n cursor.u32(),\n INTERPOLATIONS,\n \"switch interpolation\",\n ),\n });\n }\n groups.push({ id, controlId, controlType, points });\n }\n return groups;\n}\n\nfunction ReadRtpcParameters(cursor)\n{\n const count = cursor.readBoundedCount(21);\n const parameters = [];\n\n for (let index = 0; index < count; index++)\n {\n parameters.push({\n id: cursor.u32(),\n defaultValue: cursor.finiteF32(),\n rampType: ReadEnum(\n cursor.u32(),\n RAMP_TYPES,\n \"RTPC ramp type\",\n ),\n rampUp: cursor.finiteF32(),\n rampDown: cursor.finiteF32(),\n builtInParameter: ReadEnum(\n cursor.u8(),\n BUILT_IN_PARAMETERS,\n \"built-in parameter\",\n ),\n });\n }\n return parameters;\n}\n\nfunction ReadAcousticTextures(cursor)\n{\n const count = cursor.readBoundedCount(28);\n const textures = [];\n\n for (let index = 0; index < count; index++)\n {\n textures.push({\n id: cursor.u32(),\n absorptionOffset: cursor.finiteF32(),\n absorptionLow: cursor.finiteF32(),\n absorptionMidLow: cursor.finiteF32(),\n absorptionMidHigh: cursor.finiteF32(),\n absorptionHigh: cursor.finiteF32(),\n scattering: cursor.finiteF32(),\n });\n }\n return textures;\n}\n\nfunction ReadEnum(value, allowed, label)\n{\n if (!allowed.has(value))\n {\n throw new RangeError(`Invalid Wwise ${label} ${value}`);\n }\n return value;\n}\n\n"],"names":["WWISE_GLOBAL_SETTINGS_VERSION","FILTER_BEHAVIORS","Set","SWITCH_CONTROL_TYPES","INTERPOLATIONS","RAMP_TYPES","BUILT_IN_PARAMETERS","parseGlobalSettings","payload","bankVersion","Uint8Array","Number","cursor","WwiseCursor","filterBehavior","ReadEnum","u16","result","volumeThreshold","finiteF32","maxVoices","maxDangerousVirtualVoices","stateGroups","ReadStateGroups","switchGroups","ReadSwitchGroups","rtpcParameters","ReadRtpcParameters","acousticTextures","ReadAcousticTextures","remaining","error","RangeError","count","readBoundedCount","groups","index","id","u32","defaultTransitionTimeMs","transitionCount","transitions","transitionIndex","push","fromId","toId","transitionTimeMs","controlId","controlType","u8","pointCount","points","pointIndex","from","to","interpolation","parameters","defaultValue","rampType","rampUp","rampDown","builtInParameter","textures","absorptionOffset","absorptionLow","absorptionMidLow","absorptionMidHigh","absorptionHigh","scattering","value","allowed","label","has"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { readWwiseVar } from './WwiseCursor.js';
|
|
1
2
|
import { asUint8Array, readFourCc } from '#utils/bytes';
|
|
2
3
|
import { parseEventAction } from './eventAction.js';
|
|
3
4
|
import { parseGlobalSettings } from './globalSettings.js';
|
|
@@ -300,39 +301,6 @@ function decodeHircFields(entry, bankVersion) {
|
|
|
300
301
|
entry.sources = sources;
|
|
301
302
|
}
|
|
302
303
|
}
|
|
303
|
-
|
|
304
|
-
/**
|
|
305
|
-
* Reads Wwise's MSB-first base-128 unsigned integer.
|
|
306
|
-
*
|
|
307
|
-
* @returns {{value:number,nextOffset:number}|null} Decoded value and next
|
|
308
|
-
* offset, or null for truncated, overflowed, or non-canonical input.
|
|
309
|
-
*/
|
|
310
|
-
function readWwiseVar(bytes, offset = 0) {
|
|
311
|
-
let at = Number(offset);
|
|
312
|
-
let value = 0;
|
|
313
|
-
let count = 0;
|
|
314
|
-
if (!Number.isSafeInteger(at) || at < 0) {
|
|
315
|
-
return null;
|
|
316
|
-
}
|
|
317
|
-
while (at < bytes.byteLength && count < 5) {
|
|
318
|
-
const byte = bytes[at++];
|
|
319
|
-
if (count === 0 && byte === 0x80) {
|
|
320
|
-
return null;
|
|
321
|
-
}
|
|
322
|
-
if (value > 0x01ffffff) {
|
|
323
|
-
return null;
|
|
324
|
-
}
|
|
325
|
-
value = value * 128 + (byte & 0x7f);
|
|
326
|
-
count++;
|
|
327
|
-
if ((byte & 0x80) === 0) {
|
|
328
|
-
return value <= 0xffffffff ? {
|
|
329
|
-
value: value >>> 0,
|
|
330
|
-
nextOffset: at
|
|
331
|
-
} : null;
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
return null;
|
|
335
|
-
}
|
|
336
304
|
function readNameTable(bytes, dataOffset, size) {
|
|
337
305
|
const names = [];
|
|
338
306
|
if (size < 8) return names;
|
|
@@ -464,20 +432,6 @@ function readWithValues(input, values = DEFAULT_VALUES) {
|
|
|
464
432
|
bytes
|
|
465
433
|
};
|
|
466
434
|
}
|
|
467
|
-
|
|
468
|
-
/** Converts a parsed payload into a JSON-safe value for the BNK format reader. */
|
|
469
|
-
function toJsonValue(value) {
|
|
470
|
-
if (value instanceof Uint8Array) return {
|
|
471
|
-
byteLength: value.byteLength
|
|
472
|
-
};
|
|
473
|
-
if (Array.isArray(value)) return value.map(toJsonValue);
|
|
474
|
-
if (value && typeof value === "object") {
|
|
475
|
-
const output = {};
|
|
476
|
-
for (const [key, entry] of Object.entries(value)) output[key] = toJsonValue(entry);
|
|
477
|
-
return output;
|
|
478
|
-
}
|
|
479
|
-
return value;
|
|
480
|
-
}
|
|
481
435
|
function asciiString(bytes, offset, length) {
|
|
482
436
|
let value = "";
|
|
483
437
|
for (let i = 0; i < length; i++) value += String.fromCharCode(bytes[offset + i]);
|
|
@@ -487,5 +441,5 @@ function readU32(bytes, offset) {
|
|
|
487
441
|
return (bytes[offset] | bytes[offset + 1] << 8 | bytes[offset + 2] << 16 | bytes[offset + 3] * 0x1000000) >>> 0;
|
|
488
442
|
}
|
|
489
443
|
|
|
490
|
-
export { DEFAULT_VALUES, HIRC_TYPE_NAMES, HIRC_V150_TYPE_NAMES, OUTPUT_BNK_JSON, OUTPUT_JSON, OUTPUT_MEDIA, OUTPUT_RAW, extractMedia, inspectBNK, inspectWithValues, isBNK, normalizeEmit, normalizeValues, probeSupportWithValues, readWithValues, readWwiseVar
|
|
444
|
+
export { DEFAULT_VALUES, HIRC_TYPE_NAMES, HIRC_V150_TYPE_NAMES, OUTPUT_BNK_JSON, OUTPUT_JSON, OUTPUT_MEDIA, OUTPUT_RAW, extractMedia, inspectBNK, inspectWithValues, isBNK, normalizeEmit, normalizeValues, probeSupportWithValues, readWithValues, readWwiseVar };
|
|
491
445
|
//# sourceMappingURL=helpers.js.map
|