@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wemToOgg.js","sources":["../../../../../../src/resource/formats/wem/core/wemToOgg.js"],"sourcesContent":["import { readU16BE, readU16LE, readU32BE, readU32LE } from \"#utils/bytes\";\nimport { BitReader, OggPageWriter, ilog } from \"./bitStream.js\";\r\nimport { parseCodebookLibrary, rebuildCodebookById } from \"./codebookLibrary.js\";\r\nimport { getPackedCodebooksAotuv603 } from \"./packedCodebooksAotuv603.js\";\r\n\r\n/**\r\n * Wwise Vorbis (.wem) to standard Ogg Vorbis repacker.\r\n *\r\n * This is a lossless container transform: the identification/comment/setup\r\n * headers are regenerated (setup codebooks expanded from the packed aoTuV\r\n * 6.03 library), modified audio packets get their type/window bits restored,\r\n * and packets are paginated with correct granule positions computed from the\r\n * mode block flags — so no separate revorb pass is needed. No audio is\r\n * decoded or re-encoded. Algorithm behavior follows the ww2ogg reference\r\n * (BSD-licensed) as an original reimplementation.\r\n */\r\n\r\nconst VENDOR = \"converted from Audiokinetic Wwise by @carbonenginejs/runtime/resource\";\n\r\nfunction parseError(message)\r\n{\r\n const error = new Error(`wem: ${message}`);\r\n error.code = \"CJS_FORMAT_PARSE_ERROR\";\r\n return error;\r\n}\r\n\r\nfunction notSupported(message)\r\n{\r\n const error = new Error(`wem: ${message}`);\r\n error.code = \"CJS_FORMAT_OUTPUT_NOT_SUPPORTED\";\r\n return error;\r\n}\r\n\r\n/**\r\n * Parse the Wwise Vorbis stream layout needed for repacking.\r\n *\r\n * @param {Uint8Array} bytes Wem bytes.\r\n * @returns {object} Stream layout, vorb fields, and loop info.\r\n */\r\nexport function parseWemVorbisLayout(bytes)\r\n{\r\n if (bytes.length < 12) throw parseError(\"missing RIFF\");\r\n const container = String.fromCharCode(bytes[0], bytes[1], bytes[2], bytes[3]);\r\n if (container !== \"RIFF\" && container !== \"RIFX\") throw parseError(\"missing RIFF\");\r\n const littleEndian = container !== \"RIFX\";\r\n const readU16 = littleEndian ? readU16LE : readU16BE;\r\n const readU32 = littleEndian ? readU32LE : readU32BE;\r\n\r\n if (String.fromCharCode(bytes[8], bytes[9], bytes[10], bytes[11]) !== \"WAVE\") throw parseError(\"missing WAVE\");\r\n const riffSize = readU32(bytes, 4) + 8;\r\n if (riffSize > bytes.length) throw parseError(\"RIFF truncated\");\r\n\r\n let fmtOffset = -1, fmtSize = -1;\r\n let vorbOffset = -1, vorbSize = -1;\r\n let dataOffset = -1, dataSize = -1;\r\n let smplOffset = -1;\r\n\r\n let chunkOffset = 12;\r\n while (chunkOffset < riffSize)\r\n {\r\n if (chunkOffset + 8 > riffSize) throw parseError(\"chunk header truncated\");\r\n const id = String.fromCharCode(bytes[chunkOffset], bytes[chunkOffset + 1], bytes[chunkOffset + 2], bytes[chunkOffset + 3]);\r\n const size = readU32(bytes, chunkOffset + 4);\r\n const contentOffset = chunkOffset + 8;\r\n\r\n if (id === \"fmt \") { fmtOffset = contentOffset; fmtSize = size; }\r\n else if (id === \"vorb\") { vorbOffset = contentOffset; vorbSize = size; }\r\n else if (id === \"data\") { dataOffset = contentOffset; dataSize = size; }\r\n else if (id === \"smpl\") { smplOffset = contentOffset; }\r\n\r\n chunkOffset = contentOffset + size;\r\n }\r\n if (chunkOffset > riffSize) throw parseError(\"chunk truncated\");\r\n if (fmtOffset === -1 || dataOffset === -1) throw parseError(\"expected fmt, data chunks\");\r\n if (vorbOffset === -1 && fmtSize !== 0x42) throw parseError(\"expected 0x42 fmt if vorb missing (not Wwise Vorbis?)\");\r\n if (vorbOffset !== -1 && fmtSize !== 0x28 && fmtSize !== 0x18 && fmtSize !== 0x12) throw parseError(\"bad fmt size\");\r\n if (vorbOffset === -1 && fmtSize === 0x42)\r\n {\r\n vorbOffset = fmtOffset + 0x18;\r\n vorbSize = -1;\r\n }\r\n\r\n if (readU16(bytes, fmtOffset) !== 0xffff) throw parseError(\"bad codec id (not Wwise Vorbis)\");\r\n const channels = readU16(bytes, fmtOffset + 2);\r\n const sampleRate = readU32(bytes, fmtOffset + 4);\r\n const avgBytesPerSecond = readU32(bytes, fmtOffset + 8);\r\n if (readU16(bytes, fmtOffset + 12) !== 0) throw parseError(\"bad block align\");\r\n if (readU16(bytes, fmtOffset + 14) !== 0) throw parseError(\"expected 0 bps\");\r\n if (readU16(bytes, fmtOffset + 16) !== fmtSize - 0x12) throw parseError(\"bad extra fmt length\");\r\n\r\n if (vorbSize !== -1 && vorbSize !== 0x28 && vorbSize !== 0x2a && vorbSize !== 0x2c && vorbSize !== 0x32 && vorbSize !== 0x34)\r\n {\r\n throw parseError(\"bad vorb size\");\r\n }\r\n if (vorbSize === 0x28 || vorbSize === 0x2c)\r\n {\r\n throw notSupported(\"old header-triad Wwise Vorbis is not supported by this repacker\");\r\n }\r\n\r\n const sampleCount = readU32(bytes, vorbOffset);\r\n let noGranule = false;\r\n let modPackets = false;\r\n\r\n if (vorbSize === -1 || vorbSize === 0x2a)\r\n {\r\n noGranule = true;\r\n const modSignal = readU32(bytes, vorbOffset + 0x4);\r\n if (modSignal !== 0x4a && modSignal !== 0x4b && modSignal !== 0x69 && modSignal !== 0x70)\r\n {\r\n modPackets = true;\r\n }\r\n }\r\n\r\n const offsetInfoBase = (vorbSize === -1 || vorbSize === 0x2a) ? vorbOffset + 0x10 : vorbOffset + 0x18;\r\n const setupPacketOffset = readU32(bytes, offsetInfoBase);\r\n const firstAudioPacketOffset = readU32(bytes, offsetInfoBase + 4);\r\n\r\n const blocksizeBase = (vorbSize === -1 || vorbSize === 0x2a) ? vorbOffset + 0x24 : vorbOffset + 0x2c;\r\n const uid = readU32(bytes, blocksizeBase);\r\n const blocksize0Pow = bytes[blocksizeBase + 4];\r\n const blocksize1Pow = bytes[blocksizeBase + 5];\r\n\r\n let loop = null;\r\n if (smplOffset !== -1)\r\n {\r\n const loopCount = readU32(bytes, smplOffset + 0x1c);\r\n if (loopCount === 1)\r\n {\r\n const loopStart = readU32(bytes, smplOffset + 0x2c);\r\n let loopEnd = readU32(bytes, smplOffset + 0x30);\r\n loopEnd = loopEnd === 0 ? sampleCount : loopEnd + 1;\r\n if (loopStart < sampleCount && loopEnd <= sampleCount && loopStart <= loopEnd)\r\n {\r\n loop = { start: loopStart, end: loopEnd };\r\n }\r\n }\r\n }\r\n\r\n return {\r\n littleEndian,\r\n channels,\r\n sampleRate,\r\n avgBytesPerSecond,\r\n sampleCount,\r\n noGranule,\r\n modPackets,\r\n setupPacketOffset,\r\n firstAudioPacketOffset,\r\n uid,\r\n blocksize0Pow,\r\n blocksize1Pow,\r\n dataOffset,\r\n dataSize,\r\n loop\r\n };\r\n}\r\n\r\nfunction readPacketHeader(bytes, offset, layout)\r\n{\r\n const readU16 = layout.littleEndian ? readU16LE : readU16BE;\r\n const readU32 = layout.littleEndian ? readU32LE : readU32BE;\r\n const headerSize = layout.noGranule ? 2 : 6;\r\n const end = layout.dataOffset + layout.dataSize;\r\n if (offset + headerSize > end) throw parseError(\"packet header truncated\");\r\n const size = readU16(bytes, offset);\r\n const granule = layout.noGranule ? 0 : readU32(bytes, offset + 2);\r\n return {\r\n size,\r\n granule,\r\n payloadOffset: offset + headerSize,\r\n nextOffset: offset + headerSize + size\r\n };\r\n}\r\n\r\nfunction writeVorbisHeaderType(writer, type)\r\n{\r\n writer.writeBits(type, 8);\r\n const word = \"vorbis\";\r\n for (let i = 0; i < 6; i++) writer.writeBits(word.charCodeAt(i), 8);\r\n}\r\n\r\nfunction generateHeaders(bytes, layout, library, writer)\r\n{\r\n // identification packet\r\n writeVorbisHeaderType(writer, 1);\r\n writer.writeBits(0, 32);\r\n writer.writeBits(layout.channels, 8);\r\n writer.writeBits(layout.sampleRate, 32);\r\n writer.writeBits(0, 32);\r\n writer.writeBits((layout.avgBytesPerSecond * 8) >>> 0, 32);\r\n writer.writeBits(0, 32);\r\n writer.writeBits(layout.blocksize0Pow, 4);\r\n writer.writeBits(layout.blocksize1Pow, 4);\r\n writer.writeBits(1, 1);\r\n writer.flushPage();\r\n\r\n // comment packet\r\n writeVorbisHeaderType(writer, 3);\r\n writer.writeBits(VENDOR.length, 32);\r\n for (let i = 0; i < VENDOR.length; i++) writer.writeBits(VENDOR.charCodeAt(i), 8);\r\n if (!layout.loop)\r\n {\r\n writer.writeBits(0, 32);\r\n }\r\n else\r\n {\r\n const comments = [ `LoopStart=${layout.loop.start}`, `LoopEnd=${layout.loop.end}` ];\r\n writer.writeBits(comments.length, 32);\r\n for (const comment of comments)\r\n {\r\n writer.writeBits(comment.length, 32);\r\n for (let i = 0; i < comment.length; i++) writer.writeBits(comment.charCodeAt(i), 8);\r\n }\r\n }\r\n writer.writeBits(1, 1);\r\n writer.flushPage();\r\n\r\n // setup packet: expand codebooks, copy floors/residues/mappings/modes\r\n writeVorbisHeaderType(writer, 5);\r\n\r\n const setupHeader = readPacketHeader(bytes, layout.dataOffset + layout.setupPacketOffset, layout);\r\n if (setupHeader.granule !== 0) throw parseError(\"setup packet granule != 0\");\r\n const reader = new BitReader(bytes, setupHeader.payloadOffset);\r\n\r\n const codebookCountLess1 = reader.readBits(8);\r\n const codebookCount = codebookCountLess1 + 1;\r\n writer.writeBits(codebookCountLess1, 8);\r\n\r\n for (let i = 0; i < codebookCount; i++)\r\n {\r\n const codebookId = reader.readBits(10);\r\n rebuildCodebookById(library, codebookId, writer);\r\n }\r\n\r\n // time-domain transform placeholder\r\n writer.writeBits(0, 6);\r\n writer.writeBits(0, 16);\r\n\r\n // floors\r\n const floorCountLess1 = reader.readBits(6);\r\n const floorCount = floorCountLess1 + 1;\r\n writer.writeBits(floorCountLess1, 6);\r\n for (let i = 0; i < floorCount; i++)\r\n {\r\n writer.writeBits(1, 16);\r\n\r\n const floor1Partitions = reader.readBits(5);\r\n writer.writeBits(floor1Partitions, 5);\r\n\r\n const partitionClassList = new Array(floor1Partitions);\r\n let maximumClass = 0;\r\n for (let j = 0; j < floor1Partitions; j++)\r\n {\r\n const partitionClass = reader.readBits(4);\r\n writer.writeBits(partitionClass, 4);\r\n partitionClassList[j] = partitionClass;\r\n if (partitionClass > maximumClass) maximumClass = partitionClass;\r\n }\r\n\r\n const classDimensionsList = new Array(maximumClass + 1);\r\n for (let j = 0; j <= maximumClass; j++)\r\n {\r\n const classDimensionsLess1 = reader.readBits(3);\r\n writer.writeBits(classDimensionsLess1, 3);\r\n classDimensionsList[j] = classDimensionsLess1 + 1;\r\n\r\n const classSubclasses = reader.readBits(2);\r\n writer.writeBits(classSubclasses, 2);\r\n\r\n if (classSubclasses !== 0)\r\n {\r\n const masterbook = reader.readBits(8);\r\n writer.writeBits(masterbook, 8);\r\n if (masterbook >= codebookCount) throw parseError(\"invalid floor1 masterbook\");\r\n }\r\n\r\n for (let k = 0; k < (1 << classSubclasses); k++)\r\n {\r\n const subclassBookPlus1 = reader.readBits(8);\r\n writer.writeBits(subclassBookPlus1, 8);\r\n if (subclassBookPlus1 - 1 >= 0 && subclassBookPlus1 - 1 >= codebookCount)\r\n {\r\n throw parseError(\"invalid floor1 subclass book\");\r\n }\r\n }\r\n }\r\n\r\n writer.writeBits(reader.readBits(2), 2);\r\n const rangebits = reader.readBits(4);\r\n writer.writeBits(rangebits, 4);\r\n\r\n for (let j = 0; j < floor1Partitions; j++)\r\n {\r\n for (let k = 0; k < classDimensionsList[partitionClassList[j]]; k++)\r\n {\r\n writer.writeBits(reader.readBits(rangebits), rangebits);\r\n }\r\n }\r\n }\r\n\r\n // residues\r\n const residueCountLess1 = reader.readBits(6);\r\n const residueCount = residueCountLess1 + 1;\r\n writer.writeBits(residueCountLess1, 6);\r\n for (let i = 0; i < residueCount; i++)\r\n {\r\n const residueType = reader.readBits(2);\r\n writer.writeBits(residueType, 16);\r\n if (residueType > 2) throw parseError(\"invalid residue type\");\r\n\r\n const residueBegin = reader.readBits(24);\r\n const residueEnd = reader.readBits(24);\r\n const residuePartitionSizeLess1 = reader.readBits(24);\r\n const residueClassificationsLess1 = reader.readBits(6);\r\n const residueClassbook = reader.readBits(8);\r\n const residueClassifications = residueClassificationsLess1 + 1;\r\n writer.writeBits(residueBegin, 24);\r\n writer.writeBits(residueEnd, 24);\r\n writer.writeBits(residuePartitionSizeLess1, 24);\r\n writer.writeBits(residueClassificationsLess1, 6);\r\n writer.writeBits(residueClassbook, 8);\r\n if (residueClassbook >= codebookCount) throw parseError(\"invalid residue classbook\");\r\n\r\n const residueCascade = new Array(residueClassifications);\r\n for (let j = 0; j < residueClassifications; j++)\r\n {\r\n const lowBits = reader.readBits(3);\r\n writer.writeBits(lowBits, 3);\r\n const bitflag = reader.readBits(1);\r\n writer.writeBits(bitflag, 1);\r\n let highBits = 0;\r\n if (bitflag)\r\n {\r\n highBits = reader.readBits(5);\r\n writer.writeBits(highBits, 5);\r\n }\r\n residueCascade[j] = highBits * 8 + lowBits;\r\n }\r\n\r\n for (let j = 0; j < residueClassifications; j++)\r\n {\r\n for (let k = 0; k < 8; k++)\r\n {\r\n if (residueCascade[j] & (1 << k))\r\n {\r\n const residueBook = reader.readBits(8);\r\n writer.writeBits(residueBook, 8);\r\n if (residueBook >= codebookCount) throw parseError(\"invalid residue book\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n // mappings\r\n const mappingCountLess1 = reader.readBits(6);\r\n const mappingCount = mappingCountLess1 + 1;\r\n writer.writeBits(mappingCountLess1, 6);\r\n for (let i = 0; i < mappingCount; i++)\r\n {\r\n writer.writeBits(0, 16);\r\n\r\n const submapsFlag = reader.readBits(1);\r\n writer.writeBits(submapsFlag, 1);\r\n let submaps = 1;\r\n if (submapsFlag)\r\n {\r\n const submapsLess1 = reader.readBits(4);\r\n writer.writeBits(submapsLess1, 4);\r\n submaps = submapsLess1 + 1;\r\n }\r\n\r\n const squarePolarFlag = reader.readBits(1);\r\n writer.writeBits(squarePolarFlag, 1);\r\n if (squarePolarFlag)\r\n {\r\n const couplingStepsLess1 = reader.readBits(8);\r\n writer.writeBits(couplingStepsLess1, 8);\r\n const couplingBits = ilog(layout.channels - 1);\r\n for (let j = 0; j < couplingStepsLess1 + 1; j++)\r\n {\r\n const magnitude = reader.readBits(couplingBits);\r\n const angle = reader.readBits(couplingBits);\r\n writer.writeBits(magnitude, couplingBits);\r\n writer.writeBits(angle, couplingBits);\r\n if (angle === magnitude || magnitude >= layout.channels || angle >= layout.channels)\r\n {\r\n throw parseError(\"invalid coupling\");\r\n }\r\n }\r\n }\r\n\r\n const mappingReserved = reader.readBits(2);\r\n writer.writeBits(mappingReserved, 2);\r\n if (mappingReserved !== 0) throw parseError(\"mapping reserved field nonzero\");\r\n\r\n if (submaps > 1)\r\n {\r\n for (let j = 0; j < layout.channels; j++)\r\n {\r\n const mappingMux = reader.readBits(4);\r\n writer.writeBits(mappingMux, 4);\r\n if (mappingMux >= submaps) throw parseError(\"mapping_mux >= submaps\");\r\n }\r\n }\r\n\r\n for (let j = 0; j < submaps; j++)\r\n {\r\n writer.writeBits(reader.readBits(8), 8);\r\n const floorNumber = reader.readBits(8);\r\n writer.writeBits(floorNumber, 8);\r\n if (floorNumber >= floorCount) throw parseError(\"invalid floor mapping\");\r\n const residueNumber = reader.readBits(8);\r\n writer.writeBits(residueNumber, 8);\r\n if (residueNumber >= residueCount) throw parseError(\"invalid residue mapping\");\r\n }\r\n }\r\n\r\n // modes\r\n const modeCountLess1 = reader.readBits(6);\r\n const modeCount = modeCountLess1 + 1;\r\n writer.writeBits(modeCountLess1, 6);\r\n\r\n const modeBlockflag = new Array(modeCount);\r\n const modeBits = ilog(modeCount - 1);\r\n for (let i = 0; i < modeCount; i++)\r\n {\r\n const blockFlag = reader.readBits(1);\r\n writer.writeBits(blockFlag, 1);\r\n modeBlockflag[i] = blockFlag !== 0;\r\n\r\n writer.writeBits(0, 16);\r\n writer.writeBits(0, 16);\r\n const mapping = reader.readBits(8);\r\n writer.writeBits(mapping, 8);\r\n if (mapping >= mappingCount) throw parseError(\"invalid mode mapping\");\r\n }\r\n\r\n writer.writeBits(1, 1);\r\n writer.flushPage();\r\n\r\n if (Math.floor((reader.totalBitsRead + 7) / 8) !== setupHeader.size)\r\n {\r\n throw parseError(\"didn't read exactly setup packet\");\r\n }\r\n if (setupHeader.nextOffset !== layout.dataOffset + layout.firstAudioPacketOffset)\r\n {\r\n throw parseError(\"first audio packet doesn't follow setup packet\");\r\n }\r\n\r\n return { modeBlockflag, modeBits };\r\n}\r\n\r\n/**\r\n * Repack a Wwise Vorbis wem into a standard Ogg Vorbis stream.\r\n *\r\n * @param {Uint8Array} bytes Wem bytes (RIFF/RIFX with 0xFFFF Vorbis fmt).\r\n * @param {object} [options] Options.\r\n * @param {Uint8Array} [options.codebooks] Packed codebook library override\r\n * (defaults to the bundled aoTuV 6.03 library).\r\n * @returns {object} `{ bytes, sampleCount, sampleRate, channels, durationSeconds, loop, pageCount, modPackets }`.\r\n */\r\nexport function convertWemToOgg(bytes, options = {})\r\n{\r\n const layout = parseWemVorbisLayout(bytes);\r\n const library = parseCodebookLibrary(options.codebooks || getPackedCodebooksAotuv603());\r\n const writer = new OggPageWriter();\r\n\r\n const { modeBlockflag, modeBits } = generateHeaders(bytes, layout, library, writer);\r\n\r\n const blocksize0 = 1 << layout.blocksize0Pow;\r\n const blocksize1 = 1 << layout.blocksize1Pow;\r\n const dataEnd = layout.dataOffset + layout.dataSize;\r\n\r\n let offset = layout.dataOffset + layout.firstAudioPacketOffset;\r\n let prevBlockflag = false;\r\n let prevBlocksize = 0;\r\n let granule = 0;\r\n let lastWemGranule = 0;\r\n\r\n while (offset < dataEnd)\r\n {\r\n const packet = readPacketHeader(bytes, offset, layout);\r\n if (packet.nextOffset > dataEnd) throw parseError(\"packet truncated\");\r\n if (packet.size === 0) throw parseError(\"empty audio packet\");\r\n\r\n const payload = bytes.subarray(packet.payloadOffset, packet.payloadOffset + packet.size);\r\n const payloadReader = new BitReader(payload);\r\n const isLast = packet.nextOffset >= dataEnd;\r\n\r\n let modeNumber;\r\n if (layout.modPackets)\r\n {\r\n // rebuild the packet type and window bits Wwise strips\r\n writer.writeBits(0, 1);\r\n\r\n modeNumber = payloadReader.readBits(modeBits);\r\n writer.writeBits(modeNumber, modeBits);\r\n const remainder = payloadReader.readBits(8 - modeBits);\r\n\r\n if (modeBlockflag[modeNumber])\r\n {\r\n let nextBlockflag = false;\r\n if (!isLast)\r\n {\r\n const nextPacket = readPacketHeader(bytes, packet.nextOffset, layout);\r\n if (nextPacket.size > 0)\r\n {\r\n const nextReader = new BitReader(bytes, nextPacket.payloadOffset);\r\n nextBlockflag = modeBlockflag[nextReader.readBits(modeBits)];\r\n }\r\n }\r\n writer.writeBits(prevBlockflag ? 1 : 0, 1);\r\n writer.writeBits(nextBlockflag ? 1 : 0, 1);\r\n }\r\n prevBlockflag = modeBlockflag[modeNumber];\r\n writer.writeBits(remainder, 8 - modeBits);\r\n\r\n for (let i = 1; i < packet.size; i++)\r\n {\r\n writer.writeBits(payload[i], 8);\r\n }\r\n }\r\n else\r\n {\r\n // standard packet: copy verbatim, peek the mode for granule math\r\n const packetType = payloadReader.readBits(1);\r\n modeNumber = payloadReader.readBits(modeBits);\r\n if (packetType !== 0) throw parseError(\"audio packet is not type 0\");\r\n\r\n for (let i = 0; i < packet.size; i++)\r\n {\r\n writer.writeBits(payload[i], 8);\r\n }\r\n }\r\n\r\n const blocksize = modeBlockflag[modeNumber] ? blocksize1 : blocksize0;\r\n if (prevBlocksize !== 0)\r\n {\r\n granule += (prevBlocksize + blocksize) >> 2;\r\n }\r\n prevBlocksize = blocksize;\r\n if (packet.granule) lastWemGranule = packet.granule;\r\n\r\n writer.setGranule(isLast ? Math.min(granule, layout.sampleCount) : granule);\r\n writer.flushPage(isLast);\r\n offset = packet.nextOffset;\r\n }\r\n if (offset > dataEnd) throw parseError(\"page truncated\");\r\n\r\n return {\r\n bytes: writer.toBytes(),\r\n sampleCount: layout.sampleCount,\r\n sampleRate: layout.sampleRate,\r\n channels: layout.channels,\r\n durationSeconds: layout.sampleRate ? layout.sampleCount / layout.sampleRate : 0,\r\n loop: layout.loop,\r\n pageCount: writer.pageCount,\r\n modPackets: layout.modPackets,\r\n computedGranule: granule,\r\n lastWemGranule\r\n };\r\n}\r\n\r\n"],"names":["VENDOR","parseError","message","error","Error","code","notSupported","parseWemVorbisLayout","bytes","length","container","String","fromCharCode","littleEndian","readU16","readU16LE","readU16BE","readU32","readU32LE","readU32BE","riffSize","fmtOffset","fmtSize","vorbOffset","vorbSize","dataOffset","dataSize","smplOffset","chunkOffset","id","size","contentOffset","channels","sampleRate","avgBytesPerSecond","sampleCount","noGranule","modPackets","modSignal","offsetInfoBase","setupPacketOffset","firstAudioPacketOffset","blocksizeBase","uid","blocksize0Pow","blocksize1Pow","loop","loopCount","loopStart","loopEnd","start","end","readPacketHeader","offset","layout","headerSize","granule","payloadOffset","nextOffset","writeVorbisHeaderType","writer","type","writeBits","word","i","charCodeAt","generateHeaders","library","flushPage","comments","comment","setupHeader","reader","BitReader","codebookCountLess1","readBits","codebookCount","codebookId","rebuildCodebookById","floorCountLess1","floorCount","floor1Partitions","partitionClassList","Array","maximumClass","j","partitionClass","classDimensionsList","classDimensionsLess1","classSubclasses","masterbook","k","subclassBookPlus1","rangebits","residueCountLess1","residueCount","residueType","residueBegin","residueEnd","residuePartitionSizeLess1","residueClassificationsLess1","residueClassbook","residueClassifications","residueCascade","lowBits","bitflag","highBits","residueBook","mappingCountLess1","mappingCount","submapsFlag","submaps","submapsLess1","squarePolarFlag","couplingStepsLess1","couplingBits","ilog","magnitude","angle","mappingReserved","mappingMux","floorNumber","residueNumber","modeCountLess1","modeCount","modeBlockflag","modeBits","blockFlag","mapping","Math","floor","totalBitsRead","convertWemToOgg","options","parseCodebookLibrary","codebooks","getPackedCodebooksAotuv603","OggPageWriter","blocksize0","blocksize1","dataEnd","prevBlockflag","prevBlocksize","lastWemGranule","packet","payload","subarray","payloadReader","isLast","modeNumber","remainder","nextBlockflag","nextPacket","nextReader","packetType","blocksize","setGranule","min","toBytes","durationSeconds","pageCount","computedGranule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wemToOgg.js","sources":["../../../../../../src/resource/formats/wem/core/wemToOgg.js"],"sourcesContent":["import { readU16BE, readU16LE, readU32BE, readU32LE } from \"#utils/bytes\";\nimport { BitReader, OggPageWriter, ilog } from \"./bitStream.js\";\nimport { parseCodebookLibrary, rebuildCodebookById } from \"./codebookLibrary.js\";\nimport { getPackedCodebooksAotuv603 } from \"./packedCodebooksAotuv603.js\";\n\n/**\n * Wwise Vorbis (.wem) to standard Ogg Vorbis repacker.\n *\n * This is a lossless container transform: the identification/comment/setup\n * headers are regenerated (setup codebooks expanded from the packed aoTuV\n * 6.03 library), modified audio packets get their type/window bits restored,\n * and packets are paginated with correct granule positions computed from the\n * mode block flags — so no separate revorb pass is needed. No audio is\n * decoded or re-encoded. Algorithm behavior follows the ww2ogg reference\n * (BSD-licensed) as an original reimplementation.\n */\n\nconst VENDOR = \"converted from Audiokinetic Wwise by @carbonenginejs/runtime/resource\";\n\nfunction parseError(message)\n{\n const error = new Error(`wem: ${message}`);\n error.code = \"CJS_FORMAT_PARSE_ERROR\";\n return error;\n}\n\nfunction notSupported(message)\n{\n const error = new Error(`wem: ${message}`);\n error.code = \"CJS_FORMAT_OUTPUT_NOT_SUPPORTED\";\n return error;\n}\n\n/**\n * Parse the Wwise Vorbis stream layout needed for repacking.\n *\n * @param {Uint8Array} bytes Wem bytes.\n * @returns {object} Stream layout, vorb fields, and loop info.\n */\nexport function parseWemVorbisLayout(bytes)\n{\n if (bytes.length < 12) throw parseError(\"missing RIFF\");\n const container = String.fromCharCode(bytes[0], bytes[1], bytes[2], bytes[3]);\n if (container !== \"RIFF\" && container !== \"RIFX\") throw parseError(\"missing RIFF\");\n const littleEndian = container !== \"RIFX\";\n const readU16 = littleEndian ? readU16LE : readU16BE;\n const readU32 = littleEndian ? readU32LE : readU32BE;\n\n if (String.fromCharCode(bytes[8], bytes[9], bytes[10], bytes[11]) !== \"WAVE\") throw parseError(\"missing WAVE\");\n const riffSize = readU32(bytes, 4) + 8;\n if (riffSize > bytes.length) throw parseError(\"RIFF truncated\");\n\n let fmtOffset = -1, fmtSize = -1;\n let vorbOffset = -1, vorbSize = -1;\n let dataOffset = -1, dataSize = -1;\n let smplOffset = -1;\n\n let chunkOffset = 12;\n while (chunkOffset < riffSize)\n {\n if (chunkOffset + 8 > riffSize) throw parseError(\"chunk header truncated\");\n const id = String.fromCharCode(bytes[chunkOffset], bytes[chunkOffset + 1], bytes[chunkOffset + 2], bytes[chunkOffset + 3]);\n const size = readU32(bytes, chunkOffset + 4);\n const contentOffset = chunkOffset + 8;\n\n if (id === \"fmt \") { fmtOffset = contentOffset; fmtSize = size; }\n else if (id === \"vorb\") { vorbOffset = contentOffset; vorbSize = size; }\n else if (id === \"data\") { dataOffset = contentOffset; dataSize = size; }\n else if (id === \"smpl\") { smplOffset = contentOffset; }\n\n chunkOffset = contentOffset + size;\n }\n if (chunkOffset > riffSize) throw parseError(\"chunk truncated\");\n if (fmtOffset === -1 || dataOffset === -1) throw parseError(\"expected fmt, data chunks\");\n if (vorbOffset === -1 && fmtSize !== 0x42) throw parseError(\"expected 0x42 fmt if vorb missing (not Wwise Vorbis?)\");\n if (vorbOffset !== -1 && fmtSize !== 0x28 && fmtSize !== 0x18 && fmtSize !== 0x12) throw parseError(\"bad fmt size\");\n if (vorbOffset === -1 && fmtSize === 0x42)\n {\n vorbOffset = fmtOffset + 0x18;\n vorbSize = -1;\n }\n\n if (readU16(bytes, fmtOffset) !== 0xffff) throw parseError(\"bad codec id (not Wwise Vorbis)\");\n const channels = readU16(bytes, fmtOffset + 2);\n const sampleRate = readU32(bytes, fmtOffset + 4);\n const avgBytesPerSecond = readU32(bytes, fmtOffset + 8);\n if (readU16(bytes, fmtOffset + 12) !== 0) throw parseError(\"bad block align\");\n if (readU16(bytes, fmtOffset + 14) !== 0) throw parseError(\"expected 0 bps\");\n if (readU16(bytes, fmtOffset + 16) !== fmtSize - 0x12) throw parseError(\"bad extra fmt length\");\n\n if (vorbSize !== -1 && vorbSize !== 0x28 && vorbSize !== 0x2a && vorbSize !== 0x2c && vorbSize !== 0x32 && vorbSize !== 0x34)\n {\n throw parseError(\"bad vorb size\");\n }\n if (vorbSize === 0x28 || vorbSize === 0x2c)\n {\n throw notSupported(\"old header-triad Wwise Vorbis is not supported by this repacker\");\n }\n\n const sampleCount = readU32(bytes, vorbOffset);\n let noGranule = false;\n let modPackets = false;\n\n if (vorbSize === -1 || vorbSize === 0x2a)\n {\n noGranule = true;\n const modSignal = readU32(bytes, vorbOffset + 0x4);\n if (modSignal !== 0x4a && modSignal !== 0x4b && modSignal !== 0x69 && modSignal !== 0x70)\n {\n modPackets = true;\n }\n }\n\n const offsetInfoBase = (vorbSize === -1 || vorbSize === 0x2a) ? vorbOffset + 0x10 : vorbOffset + 0x18;\n const setupPacketOffset = readU32(bytes, offsetInfoBase);\n const firstAudioPacketOffset = readU32(bytes, offsetInfoBase + 4);\n\n const blocksizeBase = (vorbSize === -1 || vorbSize === 0x2a) ? vorbOffset + 0x24 : vorbOffset + 0x2c;\n const uid = readU32(bytes, blocksizeBase);\n const blocksize0Pow = bytes[blocksizeBase + 4];\n const blocksize1Pow = bytes[blocksizeBase + 5];\n\n let loop = null;\n if (smplOffset !== -1)\n {\n const loopCount = readU32(bytes, smplOffset + 0x1c);\n if (loopCount === 1)\n {\n const loopStart = readU32(bytes, smplOffset + 0x2c);\n let loopEnd = readU32(bytes, smplOffset + 0x30);\n loopEnd = loopEnd === 0 ? sampleCount : loopEnd + 1;\n if (loopStart < sampleCount && loopEnd <= sampleCount && loopStart <= loopEnd)\n {\n loop = { start: loopStart, end: loopEnd };\n }\n }\n }\n\n return {\n littleEndian,\n channels,\n sampleRate,\n avgBytesPerSecond,\n sampleCount,\n noGranule,\n modPackets,\n setupPacketOffset,\n firstAudioPacketOffset,\n uid,\n blocksize0Pow,\n blocksize1Pow,\n dataOffset,\n dataSize,\n loop\n };\n}\n\nfunction readPacketHeader(bytes, offset, layout)\n{\n const readU16 = layout.littleEndian ? readU16LE : readU16BE;\n const readU32 = layout.littleEndian ? readU32LE : readU32BE;\n const headerSize = layout.noGranule ? 2 : 6;\n const end = layout.dataOffset + layout.dataSize;\n if (offset + headerSize > end) throw parseError(\"packet header truncated\");\n const size = readU16(bytes, offset);\n const granule = layout.noGranule ? 0 : readU32(bytes, offset + 2);\n return {\n size,\n granule,\n payloadOffset: offset + headerSize,\n nextOffset: offset + headerSize + size\n };\n}\n\nfunction writeVorbisHeaderType(writer, type)\n{\n writer.writeBits(type, 8);\n const word = \"vorbis\";\n for (let i = 0; i < 6; i++) writer.writeBits(word.charCodeAt(i), 8);\n}\n\nfunction generateHeaders(bytes, layout, library, writer)\n{\n // identification packet\n writeVorbisHeaderType(writer, 1);\n writer.writeBits(0, 32);\n writer.writeBits(layout.channels, 8);\n writer.writeBits(layout.sampleRate, 32);\n writer.writeBits(0, 32);\n writer.writeBits((layout.avgBytesPerSecond * 8) >>> 0, 32);\n writer.writeBits(0, 32);\n writer.writeBits(layout.blocksize0Pow, 4);\n writer.writeBits(layout.blocksize1Pow, 4);\n writer.writeBits(1, 1);\n writer.flushPage();\n\n // comment packet\n writeVorbisHeaderType(writer, 3);\n writer.writeBits(VENDOR.length, 32);\n for (let i = 0; i < VENDOR.length; i++) writer.writeBits(VENDOR.charCodeAt(i), 8);\n if (!layout.loop)\n {\n writer.writeBits(0, 32);\n }\n else\n {\n const comments = [ `LoopStart=${layout.loop.start}`, `LoopEnd=${layout.loop.end}` ];\n writer.writeBits(comments.length, 32);\n for (const comment of comments)\n {\n writer.writeBits(comment.length, 32);\n for (let i = 0; i < comment.length; i++) writer.writeBits(comment.charCodeAt(i), 8);\n }\n }\n writer.writeBits(1, 1);\n writer.flushPage();\n\n // setup packet: expand codebooks, copy floors/residues/mappings/modes\n writeVorbisHeaderType(writer, 5);\n\n const setupHeader = readPacketHeader(bytes, layout.dataOffset + layout.setupPacketOffset, layout);\n if (setupHeader.granule !== 0) throw parseError(\"setup packet granule != 0\");\n const reader = new BitReader(bytes, setupHeader.payloadOffset);\n\n const codebookCountLess1 = reader.ReadBits(8);\n const codebookCount = codebookCountLess1 + 1;\n writer.writeBits(codebookCountLess1, 8);\n\n for (let i = 0; i < codebookCount; i++)\n {\n const codebookId = reader.ReadBits(10);\n rebuildCodebookById(library, codebookId, writer);\n }\n\n // time-domain transform placeholder\n writer.writeBits(0, 6);\n writer.writeBits(0, 16);\n\n // floors\n const floorCountLess1 = reader.ReadBits(6);\n const floorCount = floorCountLess1 + 1;\n writer.writeBits(floorCountLess1, 6);\n for (let i = 0; i < floorCount; i++)\n {\n writer.writeBits(1, 16);\n\n const floor1Partitions = reader.ReadBits(5);\n writer.writeBits(floor1Partitions, 5);\n\n const partitionClassList = new Array(floor1Partitions);\n let maximumClass = 0;\n for (let j = 0; j < floor1Partitions; j++)\n {\n const partitionClass = reader.ReadBits(4);\n writer.writeBits(partitionClass, 4);\n partitionClassList[j] = partitionClass;\n if (partitionClass > maximumClass) maximumClass = partitionClass;\n }\n\n const classDimensionsList = new Array(maximumClass + 1);\n for (let j = 0; j <= maximumClass; j++)\n {\n const classDimensionsLess1 = reader.ReadBits(3);\n writer.writeBits(classDimensionsLess1, 3);\n classDimensionsList[j] = classDimensionsLess1 + 1;\n\n const classSubclasses = reader.ReadBits(2);\n writer.writeBits(classSubclasses, 2);\n\n if (classSubclasses !== 0)\n {\n const masterbook = reader.ReadBits(8);\n writer.writeBits(masterbook, 8);\n if (masterbook >= codebookCount) throw parseError(\"invalid floor1 masterbook\");\n }\n\n for (let k = 0; k < (1 << classSubclasses); k++)\n {\n const subclassBookPlus1 = reader.ReadBits(8);\n writer.writeBits(subclassBookPlus1, 8);\n if (subclassBookPlus1 - 1 >= 0 && subclassBookPlus1 - 1 >= codebookCount)\n {\n throw parseError(\"invalid floor1 subclass book\");\n }\n }\n }\n\n writer.writeBits(reader.ReadBits(2), 2);\n const rangebits = reader.ReadBits(4);\n writer.writeBits(rangebits, 4);\n\n for (let j = 0; j < floor1Partitions; j++)\n {\n for (let k = 0; k < classDimensionsList[partitionClassList[j]]; k++)\n {\n writer.writeBits(reader.ReadBits(rangebits), rangebits);\n }\n }\n }\n\n // residues\n const residueCountLess1 = reader.ReadBits(6);\n const residueCount = residueCountLess1 + 1;\n writer.writeBits(residueCountLess1, 6);\n for (let i = 0; i < residueCount; i++)\n {\n const residueType = reader.ReadBits(2);\n writer.writeBits(residueType, 16);\n if (residueType > 2) throw parseError(\"invalid residue type\");\n\n const residueBegin = reader.ReadBits(24);\n const residueEnd = reader.ReadBits(24);\n const residuePartitionSizeLess1 = reader.ReadBits(24);\n const residueClassificationsLess1 = reader.ReadBits(6);\n const residueClassbook = reader.ReadBits(8);\n const residueClassifications = residueClassificationsLess1 + 1;\n writer.writeBits(residueBegin, 24);\n writer.writeBits(residueEnd, 24);\n writer.writeBits(residuePartitionSizeLess1, 24);\n writer.writeBits(residueClassificationsLess1, 6);\n writer.writeBits(residueClassbook, 8);\n if (residueClassbook >= codebookCount) throw parseError(\"invalid residue classbook\");\n\n const residueCascade = new Array(residueClassifications);\n for (let j = 0; j < residueClassifications; j++)\n {\n const lowBits = reader.ReadBits(3);\n writer.writeBits(lowBits, 3);\n const bitflag = reader.ReadBits(1);\n writer.writeBits(bitflag, 1);\n let highBits = 0;\n if (bitflag)\n {\n highBits = reader.ReadBits(5);\n writer.writeBits(highBits, 5);\n }\n residueCascade[j] = highBits * 8 + lowBits;\n }\n\n for (let j = 0; j < residueClassifications; j++)\n {\n for (let k = 0; k < 8; k++)\n {\n if (residueCascade[j] & (1 << k))\n {\n const residueBook = reader.ReadBits(8);\n writer.writeBits(residueBook, 8);\n if (residueBook >= codebookCount) throw parseError(\"invalid residue book\");\n }\n }\n }\n }\n\n // mappings\n const mappingCountLess1 = reader.ReadBits(6);\n const mappingCount = mappingCountLess1 + 1;\n writer.writeBits(mappingCountLess1, 6);\n for (let i = 0; i < mappingCount; i++)\n {\n writer.writeBits(0, 16);\n\n const submapsFlag = reader.ReadBits(1);\n writer.writeBits(submapsFlag, 1);\n let submaps = 1;\n if (submapsFlag)\n {\n const submapsLess1 = reader.ReadBits(4);\n writer.writeBits(submapsLess1, 4);\n submaps = submapsLess1 + 1;\n }\n\n const squarePolarFlag = reader.ReadBits(1);\n writer.writeBits(squarePolarFlag, 1);\n if (squarePolarFlag)\n {\n const couplingStepsLess1 = reader.ReadBits(8);\n writer.writeBits(couplingStepsLess1, 8);\n const couplingBits = ilog(layout.channels - 1);\n for (let j = 0; j < couplingStepsLess1 + 1; j++)\n {\n const magnitude = reader.ReadBits(couplingBits);\n const angle = reader.ReadBits(couplingBits);\n writer.writeBits(magnitude, couplingBits);\n writer.writeBits(angle, couplingBits);\n if (angle === magnitude || magnitude >= layout.channels || angle >= layout.channels)\n {\n throw parseError(\"invalid coupling\");\n }\n }\n }\n\n const mappingReserved = reader.ReadBits(2);\n writer.writeBits(mappingReserved, 2);\n if (mappingReserved !== 0) throw parseError(\"mapping reserved field nonzero\");\n\n if (submaps > 1)\n {\n for (let j = 0; j < layout.channels; j++)\n {\n const mappingMux = reader.ReadBits(4);\n writer.writeBits(mappingMux, 4);\n if (mappingMux >= submaps) throw parseError(\"mapping_mux >= submaps\");\n }\n }\n\n for (let j = 0; j < submaps; j++)\n {\n writer.writeBits(reader.ReadBits(8), 8);\n const floorNumber = reader.ReadBits(8);\n writer.writeBits(floorNumber, 8);\n if (floorNumber >= floorCount) throw parseError(\"invalid floor mapping\");\n const residueNumber = reader.ReadBits(8);\n writer.writeBits(residueNumber, 8);\n if (residueNumber >= residueCount) throw parseError(\"invalid residue mapping\");\n }\n }\n\n // modes\n const modeCountLess1 = reader.ReadBits(6);\n const modeCount = modeCountLess1 + 1;\n writer.writeBits(modeCountLess1, 6);\n\n const modeBlockflag = new Array(modeCount);\n const modeBits = ilog(modeCount - 1);\n for (let i = 0; i < modeCount; i++)\n {\n const blockFlag = reader.ReadBits(1);\n writer.writeBits(blockFlag, 1);\n modeBlockflag[i] = blockFlag !== 0;\n\n writer.writeBits(0, 16);\n writer.writeBits(0, 16);\n const mapping = reader.ReadBits(8);\n writer.writeBits(mapping, 8);\n if (mapping >= mappingCount) throw parseError(\"invalid mode mapping\");\n }\n\n writer.writeBits(1, 1);\n writer.flushPage();\n\n if (Math.floor((reader.totalBitsRead + 7) / 8) !== setupHeader.size)\n {\n throw parseError(\"didn't read exactly setup packet\");\n }\n if (setupHeader.nextOffset !== layout.dataOffset + layout.firstAudioPacketOffset)\n {\n throw parseError(\"first audio packet doesn't follow setup packet\");\n }\n\n return { modeBlockflag, modeBits };\n}\n\n/**\n * Repack a Wwise Vorbis wem into a standard Ogg Vorbis stream.\n *\n * @param {Uint8Array} bytes Wem bytes (RIFF/RIFX with 0xFFFF Vorbis fmt).\n * @param {object} [options] Options.\n * @param {Uint8Array} [options.codebooks] Packed codebook library override\n * (defaults to the bundled aoTuV 6.03 library).\n * @returns {object} `{ bytes, sampleCount, sampleRate, channels, durationSeconds, loop, pageCount, modPackets }`.\n */\nexport function convertWemToOgg(bytes, options = {})\n{\n const layout = parseWemVorbisLayout(bytes);\n const library = parseCodebookLibrary(options.codebooks || getPackedCodebooksAotuv603());\n const writer = new OggPageWriter();\n\n const { modeBlockflag, modeBits } = generateHeaders(bytes, layout, library, writer);\n\n const blocksize0 = 1 << layout.blocksize0Pow;\n const blocksize1 = 1 << layout.blocksize1Pow;\n const dataEnd = layout.dataOffset + layout.dataSize;\n\n let offset = layout.dataOffset + layout.firstAudioPacketOffset;\n let prevBlockflag = false;\n let prevBlocksize = 0;\n let granule = 0;\n let lastWemGranule = 0;\n\n while (offset < dataEnd)\n {\n const packet = readPacketHeader(bytes, offset, layout);\n if (packet.nextOffset > dataEnd) throw parseError(\"packet truncated\");\n if (packet.size === 0) throw parseError(\"empty audio packet\");\n\n const payload = bytes.subarray(packet.payloadOffset, packet.payloadOffset + packet.size);\n const payloadReader = new BitReader(payload);\n const isLast = packet.nextOffset >= dataEnd;\n\n let modeNumber;\n if (layout.modPackets)\n {\n // rebuild the packet type and window bits Wwise strips\n writer.writeBits(0, 1);\n\n modeNumber = payloadReader.ReadBits(modeBits);\n writer.writeBits(modeNumber, modeBits);\n const remainder = payloadReader.ReadBits(8 - modeBits);\n\n if (modeBlockflag[modeNumber])\n {\n let nextBlockflag = false;\n if (!isLast)\n {\n const nextPacket = readPacketHeader(bytes, packet.nextOffset, layout);\n if (nextPacket.size > 0)\n {\n const nextReader = new BitReader(bytes, nextPacket.payloadOffset);\n nextBlockflag = modeBlockflag[nextReader.ReadBits(modeBits)];\n }\n }\n writer.writeBits(prevBlockflag ? 1 : 0, 1);\n writer.writeBits(nextBlockflag ? 1 : 0, 1);\n }\n prevBlockflag = modeBlockflag[modeNumber];\n writer.writeBits(remainder, 8 - modeBits);\n\n for (let i = 1; i < packet.size; i++)\n {\n writer.writeBits(payload[i], 8);\n }\n }\n else\n {\n // standard packet: copy verbatim, peek the mode for granule math\n const packetType = payloadReader.ReadBits(1);\n modeNumber = payloadReader.ReadBits(modeBits);\n if (packetType !== 0) throw parseError(\"audio packet is not type 0\");\n\n for (let i = 0; i < packet.size; i++)\n {\n writer.writeBits(payload[i], 8);\n }\n }\n\n const blocksize = modeBlockflag[modeNumber] ? blocksize1 : blocksize0;\n if (prevBlocksize !== 0)\n {\n granule += (prevBlocksize + blocksize) >> 2;\n }\n prevBlocksize = blocksize;\n if (packet.granule) lastWemGranule = packet.granule;\n\n writer.setGranule(isLast ? Math.min(granule, layout.sampleCount) : granule);\n writer.flushPage(isLast);\n offset = packet.nextOffset;\n }\n if (offset > dataEnd) throw parseError(\"page truncated\");\n\n return {\n bytes: writer.toBytes(),\n sampleCount: layout.sampleCount,\n sampleRate: layout.sampleRate,\n channels: layout.channels,\n durationSeconds: layout.sampleRate ? layout.sampleCount / layout.sampleRate : 0,\n loop: layout.loop,\n pageCount: writer.pageCount,\n modPackets: layout.modPackets,\n computedGranule: granule,\n lastWemGranule\n };\n}\n\n"],"names":["VENDOR","parseError","message","error","Error","code","notSupported","parseWemVorbisLayout","bytes","length","container","String","fromCharCode","littleEndian","readU16","readU16LE","readU16BE","readU32","readU32LE","readU32BE","riffSize","fmtOffset","fmtSize","vorbOffset","vorbSize","dataOffset","dataSize","smplOffset","chunkOffset","id","size","contentOffset","channels","sampleRate","avgBytesPerSecond","sampleCount","noGranule","modPackets","modSignal","offsetInfoBase","setupPacketOffset","firstAudioPacketOffset","blocksizeBase","uid","blocksize0Pow","blocksize1Pow","loop","loopCount","loopStart","loopEnd","start","end","readPacketHeader","offset","layout","headerSize","granule","payloadOffset","nextOffset","writeVorbisHeaderType","writer","type","writeBits","word","i","charCodeAt","generateHeaders","library","flushPage","comments","comment","setupHeader","reader","BitReader","codebookCountLess1","ReadBits","codebookCount","codebookId","rebuildCodebookById","floorCountLess1","floorCount","floor1Partitions","partitionClassList","Array","maximumClass","j","partitionClass","classDimensionsList","classDimensionsLess1","classSubclasses","masterbook","k","subclassBookPlus1","rangebits","residueCountLess1","residueCount","residueType","residueBegin","residueEnd","residuePartitionSizeLess1","residueClassificationsLess1","residueClassbook","residueClassifications","residueCascade","lowBits","bitflag","highBits","residueBook","mappingCountLess1","mappingCount","submapsFlag","submaps","submapsLess1","squarePolarFlag","couplingStepsLess1","couplingBits","ilog","magnitude","angle","mappingReserved","mappingMux","floorNumber","residueNumber","modeCountLess1","modeCount","modeBlockflag","modeBits","blockFlag","mapping","Math","floor","totalBitsRead","convertWemToOgg","options","parseCodebookLibrary","codebooks","getPackedCodebooksAotuv603","OggPageWriter","blocksize0","blocksize1","dataEnd","prevBlockflag","prevBlocksize","lastWemGranule","packet","payload","subarray","payloadReader","isLast","modeNumber","remainder","nextBlockflag","nextPacket","nextReader","packetType","blocksize","setGranule","min","toBytes","durationSeconds","pageCount","computedGranule"],"mappings":"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"}
|
|
@@ -1,26 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type } from '#schema';
|
|
1
|
+
import { CjsSchema, type } from '#schema';
|
|
3
2
|
import { CjsModel } from '#model';
|
|
4
3
|
import { mat4 } from '#math';
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
// Source: trinity/trinity/Resources/TriGeometryRes.h
|
|
6
|
+
// Schema: format-carbon resources/MeshDecalData.json; maintained by the runtime resource layer.
|
|
7
|
+
//
|
|
8
|
+
// Declared as data rather than with decorators, so the resource tree loads from
|
|
9
|
+
// source without a transform. A decorated file anywhere under this folder forces
|
|
10
|
+
// every test importing the geometry barrel onto `npm/dist`, which is built code
|
|
11
|
+
// that can lag the source it is being used to check.
|
|
7
12
|
|
|
8
13
|
/** MeshDecalData (resources) - maintained from schema shapeHash edd09cef.... */
|
|
9
|
-
let _MeshDecalData;
|
|
10
14
|
class MeshDecalData extends CjsModel {
|
|
11
|
-
static {
|
|
12
|
-
({
|
|
13
|
-
e: [_init_inverseDecalMatrix, _init_extra_inverseDecalMatrix, _init_indexBuffer, _init_extra_indexBuffer, _init_lodMask, _init_extra_lodMask, _init_lods, _init_extra_lods],
|
|
14
|
-
c: [_MeshDecalData, _initClass]
|
|
15
|
-
} = _applyDecs2311(this, [type.define({
|
|
16
|
-
className: "MeshDecalData",
|
|
17
|
-
family: "resources"
|
|
18
|
-
})], [[[type, type.mat4], 16, "inverseDecalMatrix"], [type.rawStruct("Tr2SuballocatedBuffer::Allocation"), 0, "indexBuffer"], [[type, type.uint32], 16, "lodMask"], [type.list("MeshDecalLodData"), 0, "lods"]], 0, void 0, CjsModel));
|
|
19
|
-
}
|
|
20
|
-
constructor(...args) {
|
|
21
|
-
super(...args);
|
|
22
|
-
_init_extra_lods(this);
|
|
23
|
-
}
|
|
24
15
|
/**
|
|
25
16
|
* m_inverseDecalMatrix (Matrix) - Carbon annotates it "used as a key".
|
|
26
17
|
*
|
|
@@ -29,20 +20,27 @@ class MeshDecalData extends CjsModel {
|
|
|
29
20
|
* (EveSpaceObjectDecal.cpp:620-631, 848-856). Without it the cache cannot be
|
|
30
21
|
* consulted and every decal on a hull rebuilds - eleven times on a frigate.
|
|
31
22
|
*/
|
|
32
|
-
inverseDecalMatrix =
|
|
23
|
+
inverseDecalMatrix = mat4.create();
|
|
33
24
|
|
|
34
25
|
/** m_indexBuffer (Tr2SuballocatedBuffer::Allocation) */
|
|
35
|
-
indexBuffer =
|
|
26
|
+
indexBuffer = null;
|
|
36
27
|
|
|
37
28
|
/** m_lodMask (uint32_t) */
|
|
38
|
-
lodMask =
|
|
29
|
+
lodMask = 0;
|
|
39
30
|
|
|
40
31
|
/** m_lods (std::vector<MeshDecalLodData>) */
|
|
41
|
-
lods =
|
|
42
|
-
static {
|
|
43
|
-
_initClass();
|
|
44
|
-
}
|
|
32
|
+
lods = [];
|
|
45
33
|
}
|
|
34
|
+
CjsSchema.define(MeshDecalData, {
|
|
35
|
+
className: "MeshDecalData",
|
|
36
|
+
family: "resources",
|
|
37
|
+
fields: {
|
|
38
|
+
inverseDecalMatrix: type.mat4,
|
|
39
|
+
indexBuffer: type.rawStruct("Tr2SuballocatedBuffer::Allocation"),
|
|
40
|
+
lodMask: type.uint32,
|
|
41
|
+
lods: type.list("MeshDecalLodData")
|
|
42
|
+
}
|
|
43
|
+
});
|
|
46
44
|
|
|
47
|
-
export {
|
|
45
|
+
export { MeshDecalData };
|
|
48
46
|
//# sourceMappingURL=MeshDecalData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MeshDecalData.js","sources":["../../../../src/resource/geometry/MeshDecalData.js"],"sourcesContent":["// Source: trinity/trinity/Resources/TriGeometryRes.h\n// Schema: format-carbon resources/MeshDecalData.json; maintained by the runtime resource layer.\nimport { type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport { mat4 } from \"#math\";\n\n/** MeshDecalData (resources) - maintained from schema shapeHash edd09cef.... */\
|
|
1
|
+
{"version":3,"file":"MeshDecalData.js","sources":["../../../../src/resource/geometry/MeshDecalData.js"],"sourcesContent":["// Source: trinity/trinity/Resources/TriGeometryRes.h\n// Schema: format-carbon resources/MeshDecalData.json; maintained by the runtime resource layer.\n//\n// Declared as data rather than with decorators, so the resource tree loads from\n// source without a transform. A decorated file anywhere under this folder forces\n// every test importing the geometry barrel onto `npm/dist`, which is built code\n// that can lag the source it is being used to check.\nimport { CjsSchema, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport { mat4 } from \"#math\";\n\n/** MeshDecalData (resources) - maintained from schema shapeHash edd09cef.... */\nexport class MeshDecalData extends CjsModel\n{\n\n /**\n * m_inverseDecalMatrix (Matrix) - Carbon annotates it \"used as a key\".\n *\n * Two decals occupying the same volume select the same hull triangles, so\n * the built geometry is cached on the mesh and looked up by this matrix\n * (EveSpaceObjectDecal.cpp:620-631, 848-856). Without it the cache cannot be\n * consulted and every decal on a hull rebuilds - eleven times on a frigate.\n */\n inverseDecalMatrix = mat4.create();\n\n /** m_indexBuffer (Tr2SuballocatedBuffer::Allocation) */\n indexBuffer = null;\n\n /** m_lodMask (uint32_t) */\n lodMask = 0;\n\n /** m_lods (std::vector<MeshDecalLodData>) */\n lods = [];\n\n}\n\nCjsSchema.define(MeshDecalData, {\n className: \"MeshDecalData\",\n family: \"resources\",\n fields: {\n inverseDecalMatrix: type.mat4,\n indexBuffer: type.rawStruct(\"Tr2SuballocatedBuffer::Allocation\"),\n lodMask: type.uint32,\n lods: type.list(\"MeshDecalLodData\")\n }\n});\n"],"names":["MeshDecalData","CjsModel","inverseDecalMatrix","mat4","create","indexBuffer","lodMask","lods","CjsSchema","define","className","family","fields","type","rawStruct","uint32","list"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACO,MAAMA,aAAa,SAASC,QAAQ,CAC3C;AAEE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,kBAAkB,GAAGC,IAAI,CAACC,MAAM,EAAE;;AAElC;AACAC,EAAAA,WAAW,GAAG,IAAI;;AAElB;AACAC,EAAAA,OAAO,GAAG,CAAC;;AAEX;AACAC,EAAAA,IAAI,GAAG,EAAE;AAEX;AAEAC,SAAS,CAACC,MAAM,CAACT,aAAa,EAAE;AAC9BU,EAAAA,SAAS,EAAE,eAAe;AAC1BC,EAAAA,MAAM,EAAE,WAAW;AACnBC,EAAAA,MAAM,EAAE;IACNV,kBAAkB,EAAEW,IAAI,CAACV,IAAI;AAC7BE,IAAAA,WAAW,EAAEQ,IAAI,CAACC,SAAS,CAAC,mCAAmC,CAAC;IAChER,OAAO,EAAEO,IAAI,CAACE,MAAM;AACpBR,IAAAA,IAAI,EAAEM,IAAI,CAACG,IAAI,CAAC,kBAAkB;AACpC;AACF,CAAC,CAAC;;;;"}
|
|
@@ -1,34 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type } from '#schema';
|
|
1
|
+
import { CjsSchema, type } from '#schema';
|
|
3
2
|
import { CjsModel } from '#model';
|
|
4
3
|
|
|
5
|
-
|
|
4
|
+
// Source: trinity/trinity/Resources/TriGeometryRes.h
|
|
5
|
+
// Schema: format-carbon resources/MeshDecalLodData.json; maintained by the runtime resource layer.
|
|
6
6
|
|
|
7
7
|
/** MeshDecalLodData (resources) - maintained from schema shapeHash 932b2966.... */
|
|
8
|
-
let _MeshDecalLodData;
|
|
9
8
|
class MeshDecalLodData extends CjsModel {
|
|
10
|
-
static {
|
|
11
|
-
({
|
|
12
|
-
e: [_init_startIndex, _init_extra_startIndex, _init_primitiveCount, _init_extra_primitiveCount],
|
|
13
|
-
c: [_MeshDecalLodData, _initClass]
|
|
14
|
-
} = _applyDecs2311(this, [type.define({
|
|
15
|
-
className: "MeshDecalLodData",
|
|
16
|
-
family: "resources"
|
|
17
|
-
})], [[[type, type.uint32], 16, "startIndex"], [[type, type.uint32], 16, "primitiveCount"]], 0, void 0, CjsModel));
|
|
18
|
-
}
|
|
19
|
-
constructor(...args) {
|
|
20
|
-
super(...args);
|
|
21
|
-
_init_extra_primitiveCount(this);
|
|
22
|
-
}
|
|
23
9
|
/** m_startIndex (uint32_t) */
|
|
24
|
-
startIndex =
|
|
10
|
+
startIndex = 0;
|
|
25
11
|
|
|
26
12
|
/** m_primitiveCount (uint32_t) */
|
|
27
|
-
primitiveCount =
|
|
28
|
-
static {
|
|
29
|
-
_initClass();
|
|
30
|
-
}
|
|
13
|
+
primitiveCount = 0;
|
|
31
14
|
}
|
|
15
|
+
CjsSchema.define(MeshDecalLodData, {
|
|
16
|
+
className: "MeshDecalLodData",
|
|
17
|
+
family: "resources",
|
|
18
|
+
fields: {
|
|
19
|
+
startIndex: type.uint32,
|
|
20
|
+
primitiveCount: type.uint32
|
|
21
|
+
}
|
|
22
|
+
});
|
|
32
23
|
|
|
33
|
-
export {
|
|
24
|
+
export { MeshDecalLodData };
|
|
34
25
|
//# sourceMappingURL=MeshDecalLodData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MeshDecalLodData.js","sources":["../../../../src/resource/geometry/MeshDecalLodData.js"],"sourcesContent":["// Source: trinity/trinity/Resources/TriGeometryRes.h\r\n// Schema: format-carbon resources/MeshDecalLodData.json; maintained by the runtime resource layer.\nimport { type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\n\r\n/** MeshDecalLodData (resources) - maintained from schema shapeHash 932b2966.... */\r\
|
|
1
|
+
{"version":3,"file":"MeshDecalLodData.js","sources":["../../../../src/resource/geometry/MeshDecalLodData.js"],"sourcesContent":["// Source: trinity/trinity/Resources/TriGeometryRes.h\r\n// Schema: format-carbon resources/MeshDecalLodData.json; maintained by the runtime resource layer.\r\nimport { CjsSchema, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\n\r\n/** MeshDecalLodData (resources) - maintained from schema shapeHash 932b2966.... */\r\nexport class MeshDecalLodData extends CjsModel\r\n{\r\n\r\n /** m_startIndex (uint32_t) */\r\n startIndex = 0;\r\n\r\n /** m_primitiveCount (uint32_t) */\r\n primitiveCount = 0;\r\n\r\n}\r\n\r\nCjsSchema.define(MeshDecalLodData, {\r\n className: \"MeshDecalLodData\", family: \"resources\",\r\n fields: {\r\n startIndex: type.uint32,\r\n primitiveCount: type.uint32\r\n }\r\n});\r\n"],"names":["MeshDecalLodData","CjsModel","startIndex","primitiveCount","CjsSchema","define","className","family","fields","type","uint32"],"mappings":";;;AAAA;AACA;;AAIA;AACO,MAAMA,gBAAgB,SAASC,QAAQ,CAC9C;AAEE;AACAC,EAAAA,UAAU,GAAG,CAAC;;AAEd;AACAC,EAAAA,cAAc,GAAG,CAAC;AAEpB;AAEAC,SAAS,CAACC,MAAM,CAACL,gBAAgB,EAAE;AACjCM,EAAAA,SAAS,EAAE,kBAAkB;AAAEC,EAAAA,MAAM,EAAE,WAAW;AAClDC,EAAAA,MAAM,EAAE;IACNN,UAAU,EAAEO,IAAI,CAACC,MAAM;IACvBP,cAAc,EAAEM,IAAI,CAACC;AACvB;AACF,CAAC,CAAC;;;;"}
|