@carbonenginejs/runtime 0.1.0-alpha.0 → 0.1.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -125
- package/dist/audio/index.js +8 -1
- package/dist/audio/index.js.map +1 -1
- package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js +84 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js +14 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js +26 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js +27 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js +27 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js +25 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js +26 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js +58 -0
- package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js.map +1 -0
- package/dist/audio/trinity/audio/AudManager.js +1 -1
- package/dist/audio/trinity/audio/AudManager.js.map +1 -1
- package/dist/audio/trinity/audio/{AudObstructionOcclusion.js → AudObstructionOcclusion/AudObstructionOcclusion.js} +8 -52
- package/dist/audio/trinity/audio/AudObstructionOcclusion/AudObstructionOcclusion.js.map +1 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js +17 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js.map +1 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js +46 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js.map +1 -0
- package/dist/audio/trinity/index.js +8 -1
- package/dist/audio/trinity/index.js.map +1 -1
- package/dist/character/CjsCharacterAppearanceConstruction.js +5 -0
- package/dist/character/CjsCharacterAppearanceConstruction.js.map +1 -1
- package/dist/character/CjsCharacterAppearanceManager.js +14 -0
- package/dist/character/CjsCharacterAppearanceManager.js.map +1 -1
- package/dist/character/CjsCharacterFoundationConstruction.js +5 -0
- package/dist/character/CjsCharacterFoundationConstruction.js.map +1 -1
- package/dist/character/CjsCharacterTexturePolicy.js +5 -0
- package/dist/character/CjsCharacterTexturePolicy.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesAppearanceAL.js +17 -0
- package/dist/character/gles/CjsCharacterGlesAppearanceAL.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js +2 -0
- package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js +5 -0
- package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js +5 -0
- package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesMorphDeformation.js +2 -0
- package/dist/character/gles/CjsCharacterGlesMorphDeformation.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js +5 -0
- package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js +5 -0
- package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js.map +1 -1
- package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js +9 -0
- package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js.map +1 -1
- package/dist/global/blue/CjsScriptCallback.js +142 -0
- package/dist/global/blue/CjsScriptCallback.js.map +1 -0
- package/dist/global/blue/index.js +2 -0
- package/dist/global/blue/index.js.map +1 -0
- package/dist/global/consts/renderContext/formats.js +51 -1
- package/dist/global/consts/renderContext/formats.js.map +1 -1
- package/dist/global/consts/renderContext/index.js +2 -2
- package/dist/global/consts/renderContext/renderStates.js +16 -1
- package/dist/global/consts/renderContext/renderStates.js.map +1 -1
- package/dist/global/contracts/index.js +0 -1
- package/dist/global/contracts/index.js.map +1 -1
- package/dist/global/index.js +4 -3
- package/dist/global/index.js.map +1 -1
- package/dist/global/math/index.js +2 -0
- package/dist/global/math/index.js.map +1 -1
- package/dist/global/math/mesh.js +70 -16
- package/dist/global/math/mesh.js.map +1 -1
- package/dist/global/math/noise.js +47 -68
- package/dist/global/math/noise.js.map +1 -1
- package/dist/global/math/pool.js +18 -3
- package/dist/global/math/pool.js.map +1 -1
- package/dist/global/math/random.js +52 -0
- package/dist/global/math/random.js.map +1 -0
- package/dist/global/math/tri3.js +18 -4
- package/dist/global/math/tri3.js.map +1 -1
- package/dist/global/schema/CjsSchema.js +20 -2
- package/dist/global/schema/CjsSchema.js.map +1 -1
- package/dist/global/schema/hydration.js +14 -0
- package/dist/global/schema/hydration.js.map +1 -1
- package/dist/global/utils/bytes.js +22 -4
- package/dist/global/utils/bytes.js.map +1 -1
- package/dist/global/utils/checksum.js +80 -0
- package/dist/global/utils/checksum.js.map +1 -0
- package/dist/global/utils/errors/CjsCancellationError.js +36 -0
- package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
- package/dist/global/utils/errors/CjsError.js +21 -52
- package/dist/global/utils/errors/CjsError.js.map +1 -1
- package/dist/global/utils/errors/abort.js +1 -1
- package/dist/global/utils/errors/abort.js.map +1 -1
- package/dist/global/utils/errors/index.js +2 -1
- package/dist/global/utils/errors/index.js.map +1 -1
- package/dist/global/utils/index.js +4 -2
- package/dist/global/utils/index.js.map +1 -1
- package/dist/index.js +95 -35
- package/dist/index.js.map +1 -1
- package/dist/input/Tr2MainWindow.js +7 -9
- package/dist/input/Tr2MainWindow.js.map +1 -1
- package/dist/resource/CjsResMan.js +33 -39
- package/dist/resource/CjsResMan.js.map +1 -1
- package/dist/resource/CjsResource.js +19 -5
- package/dist/resource/CjsResource.js.map +1 -1
- package/dist/resource/audio/AudioGeometryResData.js +22 -27
- package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
- package/dist/resource/audio/CjsAudioRes.js +4 -5
- package/dist/resource/audio/CjsAudioRes.js.map +1 -1
- package/dist/resource/format/CjsBitReader.js +263 -0
- package/dist/resource/format/CjsBitReader.js.map +1 -0
- package/dist/resource/format/CjsByteReader.js +130 -125
- package/dist/resource/format/CjsByteReader.js.map +1 -1
- package/dist/resource/format/CjsFormat.js +11 -4
- package/dist/resource/format/CjsFormat.js.map +1 -1
- package/dist/resource/format/CjsFormatError.js +37 -1
- package/dist/resource/format/CjsFormatError.js.map +1 -1
- package/dist/resource/format/CjsResourceProbe.js +41 -37
- package/dist/resource/format/CjsResourceProbe.js.map +1 -1
- package/dist/resource/format/carbonRecordGuard.js +33 -0
- package/dist/resource/format/carbonRecordGuard.js.map +1 -0
- package/dist/resource/format/imageSignatures.js +202 -0
- package/dist/resource/format/imageSignatures.js.map +1 -0
- package/dist/resource/format/index.js +2 -1
- package/dist/resource/format/index.js.map +1 -1
- package/dist/resource/format/jsonPolicies.js +180 -0
- package/dist/resource/format/jsonPolicies.js.map +1 -0
- package/dist/resource/formats/black/core/helpers.js +18 -29
- package/dist/resource/formats/black/core/helpers.js.map +1 -1
- package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
- package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
- package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
- package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
- package/dist/resource/formats/bnk/core/busNodes.js +2 -1
- package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
- package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
- package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
- package/dist/resource/formats/bnk/core/eventAction.js +15 -93
- package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
- package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
- package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
- package/dist/resource/formats/bnk/core/helpers.js +2 -48
- package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
- package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
- package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
- package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
- package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
- package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
- package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
- package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
- package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
- package/dist/resource/formats/cmf/core/binary.js +54 -60
- package/dist/resource/formats/cmf/core/binary.js.map +1 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
- package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/resource/formats/dds/core/bc6h.js +16 -18
- package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
- package/dist/resource/formats/dds/core/bc7.js +28 -24
- package/dist/resource/formats/dds/core/bc7.js.map +1 -1
- package/dist/resource/formats/dds/core/helpers.js +7 -133
- package/dist/resource/formats/dds/core/helpers.js.map +1 -1
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
- package/dist/resource/formats/dxbc/core/helpers.js +4 -32
- package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
- package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
- package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
- package/dist/resource/formats/fbx/core/helpers.js +18 -12
- package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
- package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
- package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
- package/dist/resource/formats/flac/core/helpers.js +1 -62
- package/dist/resource/formats/flac/core/helpers.js.map +1 -1
- package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
- package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
- package/dist/resource/formats/gif/core/helpers.js +1 -63
- package/dist/resource/formats/gif/core/helpers.js.map +1 -1
- package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
- package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
- package/dist/resource/formats/gltf/core/helpers.js +3 -19
- package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
- package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
- package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
- package/dist/resource/formats/gr2/core/container.js +1 -10
- package/dist/resource/formats/gr2/core/container.js.map +1 -1
- package/dist/resource/formats/gr2/core/helpers.js +24 -35
- package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
- package/dist/resource/formats/gr2/core/shared.js +193 -189
- package/dist/resource/formats/gr2/core/shared.js.map +1 -1
- package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
- package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
- package/dist/resource/formats/hlsl/core/helpers.js +1 -30
- package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
- package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
- package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
- package/dist/resource/formats/jpeg/core/helpers.js +7 -134
- package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
- package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
- package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
- package/dist/resource/formats/mp3/core/helpers.js +1 -64
- package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
- package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
- package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
- package/dist/resource/formats/mp4/core/helpers.js +1 -73
- package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
- package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
- package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
- package/dist/resource/formats/obj/core/helpers.js +93 -115
- package/dist/resource/formats/obj/core/helpers.js.map +1 -1
- package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
- package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
- package/dist/resource/formats/ogg/core/helpers.js +1 -15
- package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
- package/dist/resource/formats/ogg/core/vorbis.js +138 -144
- package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
- package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
- package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
- package/dist/resource/formats/png/CjsPngFormat.js +5 -3
- package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
- package/dist/resource/formats/png/core/helpers.js +13 -152
- package/dist/resource/formats/png/core/helpers.js.map +1 -1
- package/dist/resource/formats/png/core/writer.js +3 -27
- package/dist/resource/formats/png/core/writer.js.map +1 -1
- package/dist/resource/formats/red/core/helpers.js +19 -29
- package/dist/resource/formats/red/core/helpers.js.map +1 -1
- package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
- package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
- package/dist/resource/formats/stl/core/helpers.js +44 -66
- package/dist/resource/formats/stl/core/helpers.js.map +1 -1
- package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
- package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
- package/dist/resource/formats/tga/core/helpers.js +7 -153
- package/dist/resource/formats/tga/core/helpers.js.map +1 -1
- package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
- package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
- package/dist/resource/formats/vta/core/helpers.js +1 -17
- package/dist/resource/formats/vta/core/helpers.js.map +1 -1
- package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
- package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
- package/dist/resource/formats/wav/core/helpers.js +1 -15
- package/dist/resource/formats/wav/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
- package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +69 -9
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +12 -3
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
- package/dist/resource/formats/webgl/core/helpers.js +39 -68
- package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
- package/dist/resource/formats/webgpu/core/helpers.js +4 -30
- package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
- package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
- package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
- package/dist/resource/formats/webm/core/helpers.js +1 -73
- package/dist/resource/formats/webm/core/helpers.js.map +1 -1
- package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
- package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
- package/dist/resource/formats/webp/core/helpers.js +1 -62
- package/dist/resource/formats/webp/core/helpers.js.map +1 -1
- package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
- package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
- package/dist/resource/formats/wem/core/bitStream.js +83 -106
- package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
- package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
- package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
- package/dist/resource/formats/wem/core/helpers.js +1 -15
- package/dist/resource/formats/wem/core/helpers.js.map +1 -1
- package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
- package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
- package/dist/resource/geometry/MeshDecalData.js +23 -25
- package/dist/resource/geometry/MeshDecalData.js.map +1 -1
- package/dist/resource/geometry/MeshDecalLodData.js +14 -23
- package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryRes.js +299 -284
- package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
- package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
- package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
- package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
- package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
- package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
- package/dist/resource/geometry/TriJointBinding.js +16 -24
- package/dist/resource/geometry/TriJointBinding.js.map +1 -1
- package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
- package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
- package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
- package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
- package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
- package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
- package/dist/resource/index.js +1 -1
- package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
- package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
- package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
- package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
- package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
- package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
- package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
- package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
- package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
- package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
- package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
- package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
- package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
- package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
- package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
- package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
- package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
- package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
- package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
- package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
- package/dist/resource/worker/protocol.js +18 -1
- package/dist/resource/worker/protocol.js.map +1 -1
- package/dist/sof/EveSOF.js +2 -222
- package/dist/sof/EveSOF.js.map +1 -1
- package/dist/sof/SofDocumentBuilder.js +205 -0
- package/dist/sof/SofDocumentBuilder.js.map +1 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
- package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
- package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
- package/dist/sof/faction/index.js +3 -1
- package/dist/sof/faction/index.js.map +1 -1
- package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
- package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
- package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
- package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
- package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
- package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
- package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
- package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
- package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
- package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
- package/dist/sof/generic/index.js +5 -1
- package/dist/sof/generic/index.js.map +1 -1
- package/dist/sof/index.js +23 -7
- package/dist/sof/index.js.map +1 -1
- package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
- package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
- package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
- package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
- package/dist/sof/pattern/index.js +2 -1
- package/dist/sof/pattern/index.js.map +1 -1
- package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
- package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
- package/dist/sof/shared/EveSOFDataArea.js +2 -13
- package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
- package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
- package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameter.js +2 -146
- package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
- package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
- package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
- package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
- package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
- package/dist/sof/shared/index.js +13 -4
- package/dist/sof/shared/index.js.map +1 -1
- package/dist/sof/sofDocumentValues.js +33 -0
- package/dist/sof/sofDocumentValues.js.map +1 -0
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
- package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
- package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
- package/dist/trinity/controllers/Tr2Controller.js +2 -1
- package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
- package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
- package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
- package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
- package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
- package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
- package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
- package/dist/trinity/controllers/index.js +5 -2
- package/dist/trinity/controllers/index.js.map +1 -1
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
- package/dist/trinity/core/ITr2Updateable.js +2 -1
- package/dist/trinity/core/ITr2Updateable.js.map +1 -1
- package/dist/trinity/core/Tr2Blitter.js +6 -3
- package/dist/trinity/core/Tr2Blitter.js.map +1 -1
- package/dist/trinity/core/Tr2Denoiser.js +256 -0
- package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
- package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
- package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
- package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
- package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
- package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
- package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
- package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
- package/dist/trinity/core/Tr2RenderUtils.js +20 -3
- package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
- package/dist/trinity/core/Tr2Renderer.js +146 -1
- package/dist/trinity/core/Tr2Renderer.js.map +1 -1
- package/dist/trinity/core/Tr2ShadowMap.js +135 -14
- package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
- package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
- package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
- package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
- package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
- package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
- package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
- package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
- package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
- package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
- package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
- package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
- package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
- package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
- package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
- package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
- package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
- package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
- package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
- package/dist/trinity/core/index.js +42 -15
- package/dist/trinity/core/index.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
- package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
- package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
- package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
- package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
- package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
- package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
- package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
- package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
- package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
- package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
- package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
- package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
- package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
- package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
- package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
- package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
- package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
- package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
- package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
- package/dist/trinity/core/variable/TriVariable.js +83 -83
- package/dist/trinity/core/variable/TriVariable.js.map +1 -1
- package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
- package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
- package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
- package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/IEveTransform.js +2 -1
- package/dist/trinity/eve/IEveTransform.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
- package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
- package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
- package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
- package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/trinity/eve/camera/EveCamera.js +1 -1
- package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
- package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
- package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
- package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/trinity/eve/child/EveChildContainer.js +141 -141
- package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
- package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
- package/dist/trinity/eve/child/EveChildMesh.js +218 -218
- package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
- package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
- package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
- package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTransform.js +5 -0
- package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTurret.js +7 -0
- package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
- package/dist/trinity/eve/index.js +10 -4
- package/dist/trinity/eve/index.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2Light.js +5 -0
- package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
- package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
- package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
- package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
- package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
- package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
- package/dist/trinity/generated/index.js +0 -1
- package/dist/trinity/generated/index.js.map +1 -1
- package/dist/trinity/generated/trinityCore/index.js +0 -1
- package/dist/trinity/generated/trinityCore/index.js.map +1 -1
- package/dist/trinity/index.js +59 -23
- package/dist/trinity/index.js.map +1 -1
- package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
- package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
- package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
- package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
- package/dist/trinity/particle/index.js +2 -1
- package/dist/trinity/particle/index.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
- package/dist/trinity/shader/Tr2Effect.js +131 -58
- package/dist/trinity/shader/Tr2Effect.js.map +1 -1
- package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
- package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
- package/dist/trinity/shader/Tr2Material.js +21 -4
- package/dist/trinity/shader/Tr2Material.js.map +1 -1
- package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
- package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
- package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
- package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
- package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
- package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
- package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
- package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
- package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
- package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
- package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
- package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
- package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
- package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
- package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
- package/dist/trinityal/index.js +22 -9
- package/dist/trinityal/index.js.map +1 -1
- package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
- package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
- package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
- package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
- package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
- package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
- package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
- package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
- package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
- package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
- package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
- package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
- package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
- package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
- package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
- package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
- package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
- package/dist/trinityal/stub/index.js +8 -4
- package/dist/trinityal/stub/index.js.map +1 -1
- package/dist/trinityal/vertexLayoutMatch.js +2 -2
- package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
- package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
- package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
- package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
- package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
- package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
- package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
- package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
- package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
- package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
- package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
- package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
- package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
- package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
- package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
- package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
- package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
- package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
- package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
- package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
- package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
- package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
- package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
- package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
- package/dist/trinityal/webgpu/internal.js +12 -11
- package/dist/trinityal/webgpu/internal.js.map +1 -1
- package/docs/audio/reference/classes/trinity.md +44 -34
- package/docs/character/architecture.md +276 -0
- package/docs/character/reference/character-appearance-plans.md +30 -66
- package/docs/character/reference/prepared-libraries.md +14 -30
- package/docs/global/reference/api.md +2 -1
- package/docs/global/reference/classes/README.md +53 -71
- package/docs/global/reference/classes/dropped.md +16 -0
- package/docs/resource/README.md +19 -15
- package/docs/resource/architecture.md +9 -2
- package/docs/resource/concepts/format-capabilities.md +124 -80
- package/docs/resource/concepts/shared-format-helpers.md +94 -0
- package/docs/resource/formats/README.md +230 -224
- package/docs/resource/formats/bitknit2.md +221 -0
- package/docs/resource/formats/carbon-effect-container.md +184 -269
- package/docs/resource/formats/gr2.md +6 -1
- package/docs/resource/formats/schemabound.md +28 -48
- package/docs/resource/formats/static.md +70 -97
- package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
- package/docs/resource/formats/webgl/decl-io.md +165 -256
- package/docs/resource/formats/webgl/memory-structured.md +64 -142
- package/docs/resource/formats/webgl/texture-sample.md +109 -138
- package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
- package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
- package/docs/resource/formats/webgpu/reference/api.md +64 -67
- package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +158 -345
- package/docs/resource/reference/classes/core.md +256 -236
- package/docs/resource/reference/classes/formats.md +1668 -1672
- package/docs/resource/reference/workers.md +4 -2
- package/docs/sof/reference/classes/core.md +1 -1
- package/docs/sof/reference/classes/faction.md +2 -2
- package/docs/sof/reference/classes/generic.md +4 -4
- package/docs/sof/reference/classes/pattern.md +1 -1
- package/docs/sof/reference/classes/shared.md +10 -10
- package/docs/trinity/architecture.md +55 -44
- package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
- package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
- package/docs/trinity/reference/classes/dropped.md +0 -189
- package/docs/trinity/reference/classes/eve-runtime.md +8 -8
- package/docs/trinity/reference/classes/generated.md +0 -10
- package/docs/trinity/reference/classes/particle.md +2 -2
- package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
- package/docs/trinity/reference/implementation-status.md +50 -75
- package/docs/trinity/reference/main-semantic-extraction.md +13 -17
- package/docs/trinityal/reference/classes/README.md +77 -27
- package/docs/trinityal/reference/classes/dropped.md +92 -0
- package/docs/trinityal/webgpu/README.md +3 -1
- package/docs/trinityal/webgpu/architecture.md +121 -228
- package/docs/trinityal/webgpu/reference/api.md +5 -5
- package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
- package/format-notices/gr2/NOTICE +18 -12
- package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
- package/package.json +4 -1
- package/dist/audio/trinity/audio/AudActionLog.js +0 -173
- package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
- package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
- package/dist/global/contracts/CjsScriptCallback.js +0 -94
- package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
- package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
- package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
- package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
- package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
- package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
- package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
- package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
- package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
- package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
- package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
- package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
- package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
- package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
- package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
- package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
- package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
- package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
- package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
- package/dist/trinity/core/rawData/constantLayout.js +0 -175
- package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
- package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
- package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
- package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
- package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
- package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
- package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
- package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
- package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
- package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
- package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
- package/dist/trinityal/Tr2SamplerDescription.js +0 -72
- package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
- package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
- package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
- package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
- package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
- package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
- package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
- package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
- package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
- package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
- package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
- package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
- package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
- package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
- package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
- package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
- package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
// The shared machinery behind the constant-data catalogs.
|
|
2
|
+
//
|
|
3
|
+
// C++ gets a struct's layout free from the type system, so Carbon never
|
|
4
|
+
// declares one; JavaScript has to. Two catalogs need the same declaration
|
|
5
|
+
// vocabulary and the same resolver - CjsPerObjectLayouts (per draw) and
|
|
6
|
+
// CjsPerFrameLayouts (per frame) - so it lives here rather than being forked.
|
|
7
|
+
//
|
|
8
|
+
// Carbon uploads both kinds by memcpy'ing the C++ struct straight into the
|
|
9
|
+
// constant buffer, so the C++ declaration order IS the byte layout the shader
|
|
10
|
+
// reads. Field ORDER and field SIZE are therefore the entire binding contract:
|
|
11
|
+
// renaming a field is safe, reordering or resizing one silently shifts every
|
|
12
|
+
// field after it.
|
|
13
|
+
//
|
|
14
|
+
// ONE CLASS, NOT A MODULE OF FREE FUNCTIONS. The vocabulary and the resolver
|
|
15
|
+
// belong to the same owner and are reached through it, so the two lookup tables
|
|
16
|
+
// that are nobody else's business - lanes per type, and the encoder kind per
|
|
17
|
+
// type - are private statics rather than a wider export surface.
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Declared C++ member types. String values rather than ordinals so a typo
|
|
21
|
+
* throws at lookup instead of silently packing wrong, and a layout dump reads
|
|
22
|
+
* `"matrix4"` rather than `3`.
|
|
23
|
+
*/
|
|
24
|
+
const TYPES = Object.freeze({
|
|
25
|
+
/** 16 floats. Stored transposed; written with SetAndTranspose. */
|
|
26
|
+
MATRIX4: "matrix4",
|
|
27
|
+
/** 4 floats. */
|
|
28
|
+
QUATERNION: "quaternion",
|
|
29
|
+
/** 4 floats. */
|
|
30
|
+
VECTOR4: "vector4",
|
|
31
|
+
/** 4 floats - Carbon `Color` (BlueVectorTypes.h:46: `float r, g, b, a`). */
|
|
32
|
+
COLOR: "color",
|
|
33
|
+
/** 3 floats. */
|
|
34
|
+
VECTOR3: "vector3",
|
|
35
|
+
/** 2 floats. */
|
|
36
|
+
VECTOR2: "vector2",
|
|
37
|
+
/** 1 float. */
|
|
38
|
+
FLOAT: "float",
|
|
39
|
+
/** 1 lane, bit-cast into the buffer's Uint32 view. */
|
|
40
|
+
UINT32: "uint32",
|
|
41
|
+
/** 1 lane, two's-complement bit-cast. */
|
|
42
|
+
INT32: "int32"
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The declaration vocabulary and the resolver for both constant-data catalogs.
|
|
47
|
+
*
|
|
48
|
+
* Statics only: it is never instantiated, because it owns no state. A catalog
|
|
49
|
+
* declares its groups, calls `BuildLayouts` once, and hands the result to
|
|
50
|
+
* `ToRawLayout` when RawData asks for a struct.
|
|
51
|
+
*/
|
|
52
|
+
class CjsConstantLayout {
|
|
53
|
+
/** Declared C++ member types. */
|
|
54
|
+
static Types = TYPES;
|
|
55
|
+
|
|
56
|
+
/** Which stages each buffer key binds to. */
|
|
57
|
+
static Stages = Object.freeze({
|
|
58
|
+
vs: Object.freeze(["vs"]),
|
|
59
|
+
ps: Object.freeze(["ps"]),
|
|
60
|
+
shared: Object.freeze(["vs", "ps"])
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
/** The neutral for a `vector4` field. */
|
|
64
|
+
static Zero4 = Object.freeze([0, 0, 0, 0]);
|
|
65
|
+
|
|
66
|
+
/** The neutral for a `matrix4` field. */
|
|
67
|
+
static Identity = Object.freeze([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
|
|
68
|
+
|
|
69
|
+
/** Float lanes per declared type. */
|
|
70
|
+
static #lanes = Object.freeze({
|
|
71
|
+
[TYPES.MATRIX4]: 16,
|
|
72
|
+
[TYPES.QUATERNION]: 4,
|
|
73
|
+
[TYPES.VECTOR4]: 4,
|
|
74
|
+
[TYPES.COLOR]: 4,
|
|
75
|
+
[TYPES.VECTOR3]: 3,
|
|
76
|
+
[TYPES.VECTOR2]: 2,
|
|
77
|
+
[TYPES.FLOAT]: 1,
|
|
78
|
+
[TYPES.UINT32]: 1,
|
|
79
|
+
[TYPES.INT32]: 1
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Declared type -> the encoder kind that writes its bytes. These are the
|
|
84
|
+
* string values of `RawDataType`, written literally rather than imported so
|
|
85
|
+
* this module stays free of a cycle (RawData imports the catalogs, which
|
|
86
|
+
* import this). Anything absent encodes as `"vector"`.
|
|
87
|
+
*/
|
|
88
|
+
static #encodings = Object.freeze({
|
|
89
|
+
[TYPES.MATRIX4]: "matrix",
|
|
90
|
+
[TYPES.UINT32]: "uint",
|
|
91
|
+
[TYPES.INT32]: "int"
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Resolves every group's buffers into flat, offset-bearing layouts, keyed by
|
|
96
|
+
* struct name. `owner` names the calling catalog so a thrown message points
|
|
97
|
+
* at the file to fix.
|
|
98
|
+
*/
|
|
99
|
+
static BuildLayouts(groups, owner) {
|
|
100
|
+
const layouts = new Map();
|
|
101
|
+
for (const [group, buffers] of Object.entries(groups)) {
|
|
102
|
+
for (const [key, buffer] of Object.entries(buffers)) {
|
|
103
|
+
if (layouts.has(buffer.struct)) {
|
|
104
|
+
throw new Error(`${owner}: duplicate struct name "${buffer.struct}"`);
|
|
105
|
+
}
|
|
106
|
+
layouts.set(buffer.struct, CjsConstantLayout.#ResolveLayout(group, key, buffer, owner));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return layouts;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* A resolved layout in the shape RawData consumes: float offsets keyed by
|
|
114
|
+
* name, plus the stride, stages, and the defaults to apply on allocation.
|
|
115
|
+
*
|
|
116
|
+
* A default on an array field is repeated across every element: the neutral
|
|
117
|
+
* for a slot - identity for an unused custom mask - applies to every slot,
|
|
118
|
+
* not just the first.
|
|
119
|
+
*/
|
|
120
|
+
static ToRawLayout(layout) {
|
|
121
|
+
const fields = {};
|
|
122
|
+
const defaults = [];
|
|
123
|
+
for (const field of layout.fields.values()) {
|
|
124
|
+
fields[field.name] = {
|
|
125
|
+
offset: field.offset,
|
|
126
|
+
size: field.size,
|
|
127
|
+
elements: field.count,
|
|
128
|
+
encoding: CjsConstantLayout.#encodings[field.type] ?? "vector"
|
|
129
|
+
};
|
|
130
|
+
if (field.default) {
|
|
131
|
+
defaults.push({
|
|
132
|
+
offset: field.offset,
|
|
133
|
+
values: field.count > 1 ? Array.from({
|
|
134
|
+
length: field.count
|
|
135
|
+
}, () => [...field.default]).flat() : [...field.default]
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return {
|
|
140
|
+
fields,
|
|
141
|
+
stride: layout.stride,
|
|
142
|
+
stages: layout.stages,
|
|
143
|
+
defaults
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/** Lays out one buffer, asserting Carbon's two register invariants. */
|
|
148
|
+
static #ResolveLayout(group, key, buffer, owner) {
|
|
149
|
+
const fields = new Map();
|
|
150
|
+
let offset = 0;
|
|
151
|
+
for (const [name, declared] of Object.entries(buffer.fields)) {
|
|
152
|
+
const lanes = CjsConstantLayout.#lanes[declared.type];
|
|
153
|
+
if (lanes === undefined) {
|
|
154
|
+
throw new Error(`${owner}: ${buffer.struct}.${name} has unknown type "${declared.type}"`);
|
|
155
|
+
}
|
|
156
|
+
const count = declared.count ?? 1;
|
|
157
|
+
|
|
158
|
+
// Carbon hand-pads these structs so no float4-sized member ever needs
|
|
159
|
+
// implicit padding. A catalog entry that breaks that is wrong, so it
|
|
160
|
+
// fails loud rather than silently inserting a gap.
|
|
161
|
+
if (lanes >= 4 && offset % 4) {
|
|
162
|
+
throw new Error(`${owner}: ${buffer.struct}.${name} would start at float ${offset}, ` + "which is not a register boundary");
|
|
163
|
+
}
|
|
164
|
+
fields.set(name, {
|
|
165
|
+
name,
|
|
166
|
+
type: declared.type,
|
|
167
|
+
offset,
|
|
168
|
+
size: lanes,
|
|
169
|
+
count,
|
|
170
|
+
default: declared.default ?? null,
|
|
171
|
+
isMatrix: declared.type === TYPES.MATRIX4,
|
|
172
|
+
isInteger: declared.type === TYPES.UINT32 || declared.type === TYPES.INT32
|
|
173
|
+
});
|
|
174
|
+
offset += lanes * count;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// Tr2PerObjectData.h:57 - "Size of per-object data must be a multiple of
|
|
178
|
+
// Vector4". The same holds for a per-frame buffer's registers. Reproduced
|
|
179
|
+
// so a bad catalog entry fails at build, not on screen.
|
|
180
|
+
if (offset % 4) {
|
|
181
|
+
throw new Error(`${owner}: ${buffer.struct} is ${offset} floats, not a multiple of Vector4`);
|
|
182
|
+
}
|
|
183
|
+
return {
|
|
184
|
+
struct: buffer.struct,
|
|
185
|
+
group,
|
|
186
|
+
key,
|
|
187
|
+
stages: CjsConstantLayout.Stages[key] ?? CjsConstantLayout.Stages.vs,
|
|
188
|
+
fields,
|
|
189
|
+
stride: offset,
|
|
190
|
+
registerCount: offset / 4
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
export { CjsConstantLayout };
|
|
196
|
+
//# sourceMappingURL=CjsConstantLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CjsConstantLayout.js","sources":["../../../../../src/trinity/core/rawData/CjsConstantLayout.js"],"sourcesContent":["// The shared machinery behind the constant-data catalogs.\n//\n// C++ gets a struct's layout free from the type system, so Carbon never\n// declares one; JavaScript has to. Two catalogs need the same declaration\n// vocabulary and the same resolver - CjsPerObjectLayouts (per draw) and\n// CjsPerFrameLayouts (per frame) - so it lives here rather than being forked.\n//\n// Carbon uploads both kinds by memcpy'ing the C++ struct straight into the\n// constant buffer, so the C++ declaration order IS the byte layout the shader\n// reads. Field ORDER and field SIZE are therefore the entire binding contract:\n// renaming a field is safe, reordering or resizing one silently shifts every\n// field after it.\n//\n// ONE CLASS, NOT A MODULE OF FREE FUNCTIONS. The vocabulary and the resolver\n// belong to the same owner and are reached through it, so the two lookup tables\n// that are nobody else's business - lanes per type, and the encoder kind per\n// type - are private statics rather than a wider export surface.\n\n\n/**\n * Declared C++ member types. String values rather than ordinals so a typo\n * throws at lookup instead of silently packing wrong, and a layout dump reads\n * `\"matrix4\"` rather than `3`.\n */\nconst TYPES = Object.freeze({\n /** 16 floats. Stored transposed; written with SetAndTranspose. */\n MATRIX4: \"matrix4\",\n\n /** 4 floats. */\n QUATERNION: \"quaternion\",\n\n /** 4 floats. */\n VECTOR4: \"vector4\",\n\n /** 4 floats - Carbon `Color` (BlueVectorTypes.h:46: `float r, g, b, a`). */\n COLOR: \"color\",\n\n /** 3 floats. */\n VECTOR3: \"vector3\",\n\n /** 2 floats. */\n VECTOR2: \"vector2\",\n\n /** 1 float. */\n FLOAT: \"float\",\n\n /** 1 lane, bit-cast into the buffer's Uint32 view. */\n UINT32: \"uint32\",\n\n /** 1 lane, two's-complement bit-cast. */\n INT32: \"int32\"\n});\n\n\n/**\n * The declaration vocabulary and the resolver for both constant-data catalogs.\n *\n * Statics only: it is never instantiated, because it owns no state. A catalog\n * declares its groups, calls `BuildLayouts` once, and hands the result to\n * `ToRawLayout` when RawData asks for a struct.\n */\nexport class CjsConstantLayout\n{\n\n /** Declared C++ member types. */\n static Types = TYPES;\n\n /** Which stages each buffer key binds to. */\n static Stages = Object.freeze({\n vs: Object.freeze([\"vs\"]),\n ps: Object.freeze([\"ps\"]),\n shared: Object.freeze([\"vs\", \"ps\"])\n });\n\n /** The neutral for a `vector4` field. */\n static Zero4 = Object.freeze([0, 0, 0, 0]);\n\n /** The neutral for a `matrix4` field. */\n static Identity = Object.freeze([\n 1, 0, 0, 0,\n 0, 1, 0, 0,\n 0, 0, 1, 0,\n 0, 0, 0, 1\n ]);\n\n /** Float lanes per declared type. */\n static #lanes = Object.freeze({\n [TYPES.MATRIX4]: 16,\n [TYPES.QUATERNION]: 4,\n [TYPES.VECTOR4]: 4,\n [TYPES.COLOR]: 4,\n [TYPES.VECTOR3]: 3,\n [TYPES.VECTOR2]: 2,\n [TYPES.FLOAT]: 1,\n [TYPES.UINT32]: 1,\n [TYPES.INT32]: 1\n });\n\n /**\n * Declared type -> the encoder kind that writes its bytes. These are the\n * string values of `RawDataType`, written literally rather than imported so\n * this module stays free of a cycle (RawData imports the catalogs, which\n * import this). Anything absent encodes as `\"vector\"`.\n */\n static #encodings = Object.freeze({\n [TYPES.MATRIX4]: \"matrix\",\n [TYPES.UINT32]: \"uint\",\n [TYPES.INT32]: \"int\"\n });\n\n /**\n * Resolves every group's buffers into flat, offset-bearing layouts, keyed by\n * struct name. `owner` names the calling catalog so a thrown message points\n * at the file to fix.\n */\n static BuildLayouts(groups, owner)\n {\n const layouts = new Map();\n\n for (const [group, buffers] of Object.entries(groups))\n {\n for (const [key, buffer] of Object.entries(buffers))\n {\n if (layouts.has(buffer.struct))\n {\n throw new Error(`${owner}: duplicate struct name \"${buffer.struct}\"`);\n }\n\n layouts.set(buffer.struct, CjsConstantLayout.#ResolveLayout(group, key, buffer, owner));\n }\n }\n\n return layouts;\n }\n\n /**\n * A resolved layout in the shape RawData consumes: float offsets keyed by\n * name, plus the stride, stages, and the defaults to apply on allocation.\n *\n * A default on an array field is repeated across every element: the neutral\n * for a slot - identity for an unused custom mask - applies to every slot,\n * not just the first.\n */\n static ToRawLayout(layout)\n {\n const fields = {};\n const defaults = [];\n\n for (const field of layout.fields.values())\n {\n fields[field.name] = {\n offset: field.offset,\n size: field.size,\n elements: field.count,\n encoding: CjsConstantLayout.#encodings[field.type] ?? \"vector\"\n };\n\n if (field.default)\n {\n defaults.push({\n offset: field.offset,\n values: field.count > 1\n ? Array.from({ length: field.count }, () => [ ...field.default ]).flat()\n : [ ...field.default ]\n });\n }\n }\n\n return { fields, stride: layout.stride, stages: layout.stages, defaults };\n }\n\n /** Lays out one buffer, asserting Carbon's two register invariants. */\n static #ResolveLayout(group, key, buffer, owner)\n {\n const fields = new Map();\n let offset = 0;\n\n for (const [name, declared] of Object.entries(buffer.fields))\n {\n const lanes = CjsConstantLayout.#lanes[declared.type];\n\n if (lanes === undefined)\n {\n throw new Error(`${owner}: ${buffer.struct}.${name} has unknown type \"${declared.type}\"`);\n }\n\n const count = declared.count ?? 1;\n\n // Carbon hand-pads these structs so no float4-sized member ever needs\n // implicit padding. A catalog entry that breaks that is wrong, so it\n // fails loud rather than silently inserting a gap.\n if (lanes >= 4 && offset % 4)\n {\n throw new Error(\n `${owner}: ${buffer.struct}.${name} would start at float ${offset}, `\n + \"which is not a register boundary\"\n );\n }\n\n fields.set(name, {\n name,\n type: declared.type,\n offset,\n size: lanes,\n count,\n default: declared.default ?? null,\n isMatrix: declared.type === TYPES.MATRIX4,\n isInteger: declared.type === TYPES.UINT32 || declared.type === TYPES.INT32\n });\n\n offset += lanes * count;\n }\n\n // Tr2PerObjectData.h:57 - \"Size of per-object data must be a multiple of\n // Vector4\". The same holds for a per-frame buffer's registers. Reproduced\n // so a bad catalog entry fails at build, not on screen.\n if (offset % 4)\n {\n throw new Error(\n `${owner}: ${buffer.struct} is ${offset} floats, not a multiple of Vector4`\n );\n }\n\n return {\n struct: buffer.struct,\n group,\n key,\n stages: CjsConstantLayout.Stages[key] ?? CjsConstantLayout.Stages.vs,\n fields,\n stride: offset,\n registerCount: offset / 4\n };\n }\n}\n"],"names":["TYPES","Object","freeze","MATRIX4","QUATERNION","VECTOR4","COLOR","VECTOR3","VECTOR2","FLOAT","UINT32","INT32","CjsConstantLayout","Types","Stages","vs","ps","shared","Zero4","Identity","BuildLayouts","groups","owner","layouts","Map","group","buffers","entries","key","buffer","has","struct","Error","set","ToRawLayout","layout","fields","defaults","field","values","name","offset","size","elements","count","encoding","type","default","push","Array","from","length","flat","stride","stages","#ResolveLayout","declared","lanes","undefined","isMatrix","isInteger","registerCount"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CjsConstantLayout } from './CjsConstantLayout.js';
|
|
2
2
|
|
|
3
3
|
// Per-frame constant-data layouts.
|
|
4
4
|
//
|
|
@@ -30,6 +30,11 @@ import { Types, IDENTITY, ZERO4, toRawLayout, buildLayouts } from './constantLay
|
|
|
30
30
|
// A shader reads whichever its scene binds; both start at the same register
|
|
31
31
|
// (Tr2Renderer::GetPerFrameVSStartRegister), which is why the names collide in
|
|
32
32
|
// HLSL but the layouts do not.
|
|
33
|
+
const {
|
|
34
|
+
Identity: IDENTITY,
|
|
35
|
+
Types,
|
|
36
|
+
Zero4: ZERO4
|
|
37
|
+
} = CjsConstantLayout;
|
|
33
38
|
|
|
34
39
|
/**
|
|
35
40
|
* EveSpaceScene.h:218-223. Carbon declares a `SunData` struct and both
|
|
@@ -488,7 +493,7 @@ class CjsPerFrameLayouts {
|
|
|
488
493
|
/** A layout in the shape RawData consumes. */
|
|
489
494
|
static ToRawLayout(struct) {
|
|
490
495
|
const layout = CjsPerFrameLayouts.Get(struct);
|
|
491
|
-
return layout ?
|
|
496
|
+
return layout ? CjsConstantLayout.ToRawLayout(layout) : null;
|
|
492
497
|
}
|
|
493
498
|
|
|
494
499
|
/** The group a struct belongs to, with its stage key, or null. */
|
|
@@ -513,7 +518,7 @@ class CjsPerFrameLayouts {
|
|
|
513
518
|
*/
|
|
514
519
|
static #Resolved() {
|
|
515
520
|
if (!CjsPerFrameLayouts.#layouts) {
|
|
516
|
-
CjsPerFrameLayouts.#layouts =
|
|
521
|
+
CjsPerFrameLayouts.#layouts = CjsConstantLayout.BuildLayouts(GROUPS, "CjsPerFrameLayouts");
|
|
517
522
|
}
|
|
518
523
|
return CjsPerFrameLayouts.#layouts;
|
|
519
524
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CjsPerFrameLayouts.js","sources":["../../../../../src/trinity/core/rawData/CjsPerFrameLayouts.js"],"sourcesContent":["// Per-frame constant-data layouts.\r\n//\r\n// The twin of CjsPerObjectLayouts, one tier up: these are the buffers bound\r\n// once per frame rather than once per draw. Every EVE shader's global input\r\n// list opens with `PerFrameVS;PerFramePS;` (ParserUtils.cpp:525-533 recognises\r\n// exactly those two names), so nothing can be bound without them.\r\n//\r\n// Same rules as the per-object catalog, for the same reason - Carbon memcpys\r\n// the C++ struct into the buffer, so declaration order IS the byte layout:\r\n//\r\n// vs - bound to the vertex stage (Carbon's perFrameVsMask also covers\r\n// cs/gs/hs/ds; see EveSpaceScene.cpp:824)\r\n// ps - bound to the pixel stage\r\n//\r\n// Every matrix here is TRANSPOSED except the two Carbon comments call out:\r\n// `ViewInverseTransposeMat` is stored UNtransposed, because the shader wants\r\n// column_major and the value wanted is already the transpose - so\r\n// transpose(transpose(m)) == m (EveSpaceScene.cpp:3023-3024, 3079-3080). See\r\n// the carbon-math-conventions skill.\r\n//\r\n// There are two families, and they are NOT interchangeable:\r\n//\r\n// Tr2PerFrame* - Tr2ConstantBufferFormats.h:53-92, the generic engine\r\n// block used by interiors, WoD baking, and primitives.\r\n// EveSpaceScene* - EveSpaceScene.h:240-327, the much larger space-scene\r\n// block, with shadow cascades and froxel fog.\r\n//\r\n// A shader reads whichever its scene binds; both start at the same register\r\n// (Tr2Renderer::GetPerFrameVSStartRegister), which is why the names collide in\r\n// HLSL but the layouts do not.\r\nimport { IDENTITY, Types, ZERO4, buildLayouts, toRawLayout } from \"./constantLayout.js\";\r\n\r\n\r\n/**\r\n * EveSpaceScene.h:218-223. Carbon declares a `SunData` struct and both\r\n * space-scene blocks hold it as a member named `Sun` (`:246`, `:314`), so the\r\n * field is `Sun.DirWorld`. The catalog resolves flat float offsets rather than\r\n * nested structs, but the NAME keeps the dot: collapsing it to `SunDirWorld`\r\n * invents an identifier Carbon does not have, and it disagreed with the dotted\r\n * form the WebGPU harness's bounded serializer already uses for the same field —\n * which surfaces as a bare `unknown field` from `RawData.Set` and costs real\r\n * time to trace.\r\n *\r\n * `DirWorld` is stored NEGATED and normalized - shaders work with the\r\n * direction TO the light (EveSpaceScene.cpp:3039).\r\n */\r\nconst SUN_DATA = Object.freeze({\r\n \"Sun.DirWorld\": { type: Types.VECTOR3 },\r\n \"Sun.unused_pad0\": { type: Types.FLOAT },\r\n \"Sun.DiffuseColor\": { type: Types.COLOR }\r\n});\r\n\r\n\r\n/** Tr2ShadowMap.h:15. */\r\nconst SHADOW_FRUSTUM_COUNT = 16;\r\n\r\n\r\n/** Tr2ConstantBufferFormats.h:53 - the generic per-frame vertex block. */\r\nexport const Tr2PerFrame = Object.freeze({\r\n vs: {\r\n struct: \"Tr2PerFrameVSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n sunDirWorld: { type: Types.VECTOR4 },\r\n sceneFogColor: { type: Types.COLOR },\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ProjectionMat: { type: Types.MATRIX4, default: IDENTITY }\r\n }\r\n },\r\n\r\n /** Tr2ConstantBufferFormats.h:73. */\r\n ps: {\r\n struct: \"Tr2PerFramePSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n sceneAmbientColor: { type: Types.COLOR },\r\n sceneFogColor: { type: Types.COLOR },\r\n sunDirWorld: { type: Types.VECTOR4 },\r\n sunDiffuseColor: { type: Types.COLOR },\r\n sunSpecularColor: { type: Types.COLOR },\r\n maxFogAmount: { type: Types.FLOAT },\r\n maxFogDistance: { type: Types.FLOAT },\r\n minFogDistance: { type: Types.FLOAT },\r\n\r\n /** +1 for normal RH culling, -1 for LH culling. */\r\n cullDirection: { type: Types.FLOAT },\r\n\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n shScale: { type: Types.FLOAT },\r\n shadowCount: { type: Types.FLOAT },\r\n invShadowSize: { type: Types.FLOAT },\r\n radius: { type: Types.FLOAT },\r\n\r\n /** xy - viewport width/height, zw - viewport offset. */\r\n viewPort: { type: Types.VECTOR4 },\r\n\r\n ViewProjInverse: { type: Types.MATRIX4, default: IDENTITY }\r\n }\r\n }\r\n});\r\n\r\n\r\n/**\r\n * Tr2ConstantBufferFormats.h:66 - the two-matrix block the debug renderer\r\n * binds in place of the full VS one (Tr2InteriorScene.cpp:856).\r\n */\r\nexport const Tr2PerFrameDebug = Object.freeze({\r\n vs: {\r\n struct: \"Tr2PerFrameVSDataDebug\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY }\r\n }\r\n }\r\n});\r\n\r\n\r\n/**\r\n * Tr2ConstantBufferFormats.h:10 - one register, bound by the shadow and SSAO\r\n * depth passes.\r\n */\r\nexport const Tr2PerFrameShadow = Object.freeze({\r\n ps: {\r\n struct: \"Tr2PerFrameShadowPSData\",\r\n fields: {\r\n /** The SSAO depth pass hijacks this to store zNear. */\r\n lightRadius: { type: Types.FLOAT },\r\n zFar: { type: Types.FLOAT },\r\n unused2: { type: Types.FLOAT },\r\n unused3: { type: Types.FLOAT }\r\n }\r\n }\r\n});\r\n\r\n\r\n/**\r\n * EveSpaceScene.h:300-327 / :240-294 - the space-scene per-frame blocks.\r\n *\r\n * Ten matrices lead the vertex block because a space frame needs the current\r\n * and previous view/projection pair (motion vectors) plus the shadow and\r\n * env-map transforms.\r\n */\r\nexport const EveSpaceScenePerFrame = Object.freeze({\r\n vs: {\r\n struct: \"EveSpaceScenePerFrameVSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ShadowViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ShadowViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n EnvMapRotationMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewProjectionLast: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewLast: { type: Types.MATRIX4, default: IDENTITY },\r\n ProjLast: { type: Types.MATRIX4, default: IDENTITY },\r\n\r\n // Sun data reaches the vertex stage too, so lighting that is cheap\r\n // enough can be done per-vertex rather than per-pixel.\r\n ...SUN_DATA,\r\n\r\n /** x = fogEnd/range, y = 1/range, z = fogMax. */\r\n FogFactors: { type: Types.VECTOR3 },\r\n pad: { type: Types.FLOAT },\r\n\r\n TargetResolution: { type: Types.VECTOR2 },\r\n FovXY: { type: Types.VECTOR2 },\r\n\r\n /** Reconstructs clip positions without the viewport adjustment. */\r\n ViewportAdjustment: { type: Types.VECTOR4, default: [1, 1, 1, 1] },\r\n\r\n Time: { type: Types.FLOAT },\r\n Upscaling: { type: Types.FLOAT, default: [1] },\r\n ViewportSize: { type: Types.VECTOR2 }\r\n }\r\n },\r\n\r\n ps: {\r\n struct: \"EveSpaceScenePerFramePSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n EnvMapRotationMat: { type: Types.MATRIX4, default: IDENTITY },\r\n\r\n ...SUN_DATA,\r\n\r\n AmbientColor: { type: Types.VECTOR3 },\r\n ReflectionIntensity: { type: Types.FLOAT },\r\n\r\n /** rgb = fog colour, a = fogMax. */\r\n FogColor: { type: Types.VECTOR4 },\r\n\r\n // ViewportOffsetSize\r\n ViewportOffset: { type: Types.VECTOR2 },\r\n ViewportSize: { type: Types.VECTOR2 },\r\n\r\n // RenderTargetData\r\n TargetResolution: { type: Types.VECTOR2 },\r\n\r\n /** Legacy; Carbon always writes 1 (EveSpaceScene.cpp:3138). */\r\n DepthMapSampleCount: { type: Types.FLOAT, default: [1] },\r\n Debug: { type: Types.FLOAT },\r\n\r\n ShadowMapSettings: { type: Types.VECTOR4, default: [1, 1, 0, 0] },\r\n\r\n // ShadowMapSettings2\r\n ShadowCameraRange: { type: Types.VECTOR2, default: [1, 0] },\r\n ShadowLightness: { type: Types.FLOAT },\r\n ShadowQuality: { type: Types.UINT32 },\r\n\r\n // ProjectionData\r\n ProjectionToView: { type: Types.VECTOR2 },\r\n FovXY: { type: Types.VECTOR2 },\r\n\r\n // MiscData\r\n Time: { type: Types.FLOAT },\r\n SceneMipLodBias: { type: Types.FLOAT },\r\n Upscaling: { type: Types.FLOAT, default: [1] },\r\n GammaBrightness: { type: Types.FLOAT },\r\n\r\n FrameIndex: { type: Types.UINT32 },\r\n\r\n /** 0 if off, 1 if on. */\r\n Jittering: { type: Types.UINT32 },\r\n\r\n /** For the dynamic-light shadow atlas. */\r\n InverseShadowMapAtlasSize: { type: Types.FLOAT },\r\n ShadowMapAtlasEntryMinSizeLog2: { type: Types.UINT32 },\r\n\r\n // Carbon writes 1000/10000/100000/1000000 every frame\r\n // (EveSpaceScene.cpp:3196-3199). No catalog default: the four\r\n // slices differ, and a catalog default is one value repeated.\r\n VolumetricSlices: { type: Types.FLOAT, count: 4 },\r\n\r\n /** x..w = the zFar value of each cascade split. */\r\n ShadowMapValues: { type: Types.VECTOR4, count: 4, default: ZERO4 },\r\n\r\n ShadowMatrixVal: {\r\n type: Types.MATRIX4,\r\n count: SHADOW_FRUSTUM_COUNT,\r\n default: IDENTITY\r\n },\r\n\r\n SplitInfo: { type: Types.VECTOR4 },\r\n ProjectionInverseMat: { type: Types.MATRIX4, default: IDENTITY },\r\n CascadeRanges: { type: Types.VECTOR4, count: 16, default: ZERO4 },\r\n\r\n // Tr2VolumetricsRenderer::FroxelPerFrameData, laid out inline\r\n // (Tr2VolumetricsRenderer.h:119-135). The renderer fills it.\r\n FroxelFogColor: { type: Types.VECTOR3 },\r\n FroxelBackgroundVisibility: { type: Types.FLOAT },\r\n FroxelBaseDensity: { type: Types.FLOAT },\r\n FroxelMaxDistance: { type: Types.FLOAT },\r\n FroxelMaxDistanceVisibility: { type: Types.FLOAT },\r\n FroxelEnvironmentIntensity: { type: Types.FLOAT },\r\n FroxelEnvironmentG: { type: Types.FLOAT },\r\n FroxelPad0: { type: Types.FLOAT },\r\n FroxelPad1: { type: Types.FLOAT },\r\n FroxelPad2: { type: Types.FLOAT },\r\n\r\n /** CcpMath::Sphere[2] - xyz centre, w radius. */\r\n FroxelPlanets: { type: Types.VECTOR4, count: 2, default: ZERO4 }\r\n }\r\n }\r\n});\r\n\r\n\r\nconst GROUPS = Object.freeze({\r\n Tr2PerFrame,\r\n Tr2PerFrameDebug,\r\n Tr2PerFrameShadow,\r\n EveSpaceScenePerFrame\r\n});\r\n\r\n\r\n/**\r\n * Resolved per-frame layouts, keyed by struct name. Offsets are FLOAT offsets\r\n * from the start of the buffer.\r\n *\r\n * Deliberately a sibling of CjsPerObjectLayouts rather than more entries in\r\n * it: the two tiers have different lifetimes, different owners (scene vs\r\n * renderable), and an engine binds them to different slots.\r\n */\r\nexport class CjsPerFrameLayouts\r\n{\r\n\r\n static Types = Types;\r\n\r\n static Groups = GROUPS;\r\n\r\n /** Tr2ShadowMap.h:15 - the cascade count ShadowMatrixVal is sized by. */\r\n static SHADOW_FRUSTUM_COUNT = SHADOW_FRUSTUM_COUNT;\r\n\r\n /** Resolved layouts by struct name, built once. */\r\n static #layouts = null;\r\n\r\n /**\r\n * The layout for one struct name, or null when it is not catalogued. A\r\n * caller must treat null as \"not covered\" and fail rather than guess.\r\n */\r\n static Get(struct)\r\n {\r\n return CjsPerFrameLayouts.#Resolved().get(struct) ?? null;\r\n }\r\n\r\n /** Every catalogued struct name. */\r\n static Names()\r\n {\r\n return [...CjsPerFrameLayouts.#Resolved().keys()];\r\n }\r\n\r\n /** A layout in the shape RawData consumes. */\r\n static ToRawLayout(struct)\r\n {\r\n const layout = CjsPerFrameLayouts.Get(struct);\r\n\r\n return layout ? toRawLayout(layout) : null;\r\n }\r\n\r\n /** The group a struct belongs to, with its stage key, or null. */\r\n static Find(struct)\r\n {\r\n for (const [group, buffers] of Object.entries(GROUPS))\r\n {\r\n for (const [key, buffer] of Object.entries(buffers))\r\n {\r\n if (buffer.struct === struct)\r\n {\r\n return { group, key, buffer };\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * The resolved layout map, built once on first use and cached.\r\n * @returns {Map} struct name -> resolved layout\r\n */\r\n static #Resolved()\r\n {\r\n if (!CjsPerFrameLayouts.#layouts)\r\n {\r\n CjsPerFrameLayouts.#layouts = buildLayouts(GROUPS, \"CjsPerFrameLayouts\");\r\n }\r\n\r\n return CjsPerFrameLayouts.#layouts;\r\n }\r\n\r\n}\r\n"],"names":["SUN_DATA","Object","freeze","type","Types","VECTOR3","FLOAT","COLOR","SHADOW_FRUSTUM_COUNT","Tr2PerFrame","vs","struct","fields","ViewInverseTransposeMat","MATRIX4","default","IDENTITY","sunDirWorld","VECTOR4","sceneFogColor","ViewProjectionMat","ViewMat","ProjectionMat","ps","sceneAmbientColor","sunDiffuseColor","sunSpecularColor","maxFogAmount","maxFogDistance","minFogDistance","cullDirection","shScale","shadowCount","invShadowSize","radius","viewPort","ViewProjInverse","Tr2PerFrameDebug","Tr2PerFrameShadow","lightRadius","zFar","unused2","unused3","EveSpaceScenePerFrame","ShadowViewMat","ShadowViewProjectionMat","EnvMapRotationMat","ViewProjectionLast","ViewLast","ProjLast","FogFactors","pad","TargetResolution","VECTOR2","FovXY","ViewportAdjustment","Time","Upscaling","ViewportSize","AmbientColor","ReflectionIntensity","FogColor","ViewportOffset","DepthMapSampleCount","Debug","ShadowMapSettings","ShadowCameraRange","ShadowLightness","ShadowQuality","UINT32","ProjectionToView","SceneMipLodBias","GammaBrightness","FrameIndex","Jittering","InverseShadowMapAtlasSize","ShadowMapAtlasEntryMinSizeLog2","VolumetricSlices","count","ShadowMapValues","ZERO4","ShadowMatrixVal","SplitInfo","ProjectionInverseMat","CascadeRanges","FroxelFogColor","FroxelBackgroundVisibility","FroxelBaseDensity","FroxelMaxDistance","FroxelMaxDistanceVisibility","FroxelEnvironmentIntensity","FroxelEnvironmentG","FroxelPad0","FroxelPad1","FroxelPad2","FroxelPlanets","GROUPS","CjsPerFrameLayouts","Groups","Get","get","Names","keys","ToRawLayout","layout","toRawLayout","Find","group","buffers","entries","key","buffer","#Resolved","buildLayouts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CjsPerFrameLayouts.js","sources":["../../../../../src/trinity/core/rawData/CjsPerFrameLayouts.js"],"sourcesContent":["// Per-frame constant-data layouts.\r\n//\r\n// The twin of CjsPerObjectLayouts, one tier up: these are the buffers bound\r\n// once per frame rather than once per draw. Every EVE shader's global input\r\n// list opens with `PerFrameVS;PerFramePS;` (ParserUtils.cpp:525-533 recognises\r\n// exactly those two names), so nothing can be bound without them.\r\n//\r\n// Same rules as the per-object catalog, for the same reason - Carbon memcpys\r\n// the C++ struct into the buffer, so declaration order IS the byte layout:\r\n//\r\n// vs - bound to the vertex stage (Carbon's perFrameVsMask also covers\r\n// cs/gs/hs/ds; see EveSpaceScene.cpp:824)\r\n// ps - bound to the pixel stage\r\n//\r\n// Every matrix here is TRANSPOSED except the two Carbon comments call out:\r\n// `ViewInverseTransposeMat` is stored UNtransposed, because the shader wants\r\n// column_major and the value wanted is already the transpose - so\r\n// transpose(transpose(m)) == m (EveSpaceScene.cpp:3023-3024, 3079-3080). See\r\n// the carbon-math-conventions skill.\r\n//\r\n// There are two families, and they are NOT interchangeable:\r\n//\r\n// Tr2PerFrame* - Tr2ConstantBufferFormats.h:53-92, the generic engine\r\n// block used by interiors, WoD baking, and primitives.\r\n// EveSpaceScene* - EveSpaceScene.h:240-327, the much larger space-scene\r\n// block, with shadow cascades and froxel fog.\r\n//\r\n// A shader reads whichever its scene binds; both start at the same register\r\n// (Tr2Renderer::GetPerFrameVSStartRegister), which is why the names collide in\r\n// HLSL but the layouts do not.\r\nimport { CjsConstantLayout } from \"./CjsConstantLayout.js\";\r\n\r\n\r\nconst { Identity: IDENTITY, Types, Zero4: ZERO4 } = CjsConstantLayout;\r\n\r\n\r\n/**\r\n * EveSpaceScene.h:218-223. Carbon declares a `SunData` struct and both\r\n * space-scene blocks hold it as a member named `Sun` (`:246`, `:314`), so the\r\n * field is `Sun.DirWorld`. The catalog resolves flat float offsets rather than\r\n * nested structs, but the NAME keeps the dot: collapsing it to `SunDirWorld`\r\n * invents an identifier Carbon does not have, and it disagreed with the dotted\r\n * form the WebGPU harness's bounded serializer already uses for the same field —\n * which surfaces as a bare `unknown field` from `RawData.Set` and costs real\r\n * time to trace.\r\n *\r\n * `DirWorld` is stored NEGATED and normalized - shaders work with the\r\n * direction TO the light (EveSpaceScene.cpp:3039).\r\n */\r\nconst SUN_DATA = Object.freeze({\r\n \"Sun.DirWorld\": { type: Types.VECTOR3 },\r\n \"Sun.unused_pad0\": { type: Types.FLOAT },\r\n \"Sun.DiffuseColor\": { type: Types.COLOR }\r\n});\r\n\r\n\r\n/** Tr2ShadowMap.h:15. */\r\nconst SHADOW_FRUSTUM_COUNT = 16;\r\n\r\n\r\n/** Tr2ConstantBufferFormats.h:53 - the generic per-frame vertex block. */\r\nexport const Tr2PerFrame = Object.freeze({\r\n vs: {\r\n struct: \"Tr2PerFrameVSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n sunDirWorld: { type: Types.VECTOR4 },\r\n sceneFogColor: { type: Types.COLOR },\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ProjectionMat: { type: Types.MATRIX4, default: IDENTITY }\r\n }\r\n },\r\n\r\n /** Tr2ConstantBufferFormats.h:73. */\r\n ps: {\r\n struct: \"Tr2PerFramePSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n sceneAmbientColor: { type: Types.COLOR },\r\n sceneFogColor: { type: Types.COLOR },\r\n sunDirWorld: { type: Types.VECTOR4 },\r\n sunDiffuseColor: { type: Types.COLOR },\r\n sunSpecularColor: { type: Types.COLOR },\r\n maxFogAmount: { type: Types.FLOAT },\r\n maxFogDistance: { type: Types.FLOAT },\r\n minFogDistance: { type: Types.FLOAT },\r\n\r\n /** +1 for normal RH culling, -1 for LH culling. */\r\n cullDirection: { type: Types.FLOAT },\r\n\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n shScale: { type: Types.FLOAT },\r\n shadowCount: { type: Types.FLOAT },\r\n invShadowSize: { type: Types.FLOAT },\r\n radius: { type: Types.FLOAT },\r\n\r\n /** xy - viewport width/height, zw - viewport offset. */\r\n viewPort: { type: Types.VECTOR4 },\r\n\r\n ViewProjInverse: { type: Types.MATRIX4, default: IDENTITY }\r\n }\r\n }\r\n});\r\n\r\n\r\n/**\r\n * Tr2ConstantBufferFormats.h:66 - the two-matrix block the debug renderer\r\n * binds in place of the full VS one (Tr2InteriorScene.cpp:856).\r\n */\r\nexport const Tr2PerFrameDebug = Object.freeze({\r\n vs: {\r\n struct: \"Tr2PerFrameVSDataDebug\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY }\r\n }\r\n }\r\n});\r\n\r\n\r\n/**\r\n * Tr2ConstantBufferFormats.h:10 - one register, bound by the shadow and SSAO\r\n * depth passes.\r\n */\r\nexport const Tr2PerFrameShadow = Object.freeze({\r\n ps: {\r\n struct: \"Tr2PerFrameShadowPSData\",\r\n fields: {\r\n /** The SSAO depth pass hijacks this to store zNear. */\r\n lightRadius: { type: Types.FLOAT },\r\n zFar: { type: Types.FLOAT },\r\n unused2: { type: Types.FLOAT },\r\n unused3: { type: Types.FLOAT }\r\n }\r\n }\r\n});\r\n\r\n\r\n/**\r\n * EveSpaceScene.h:300-327 / :240-294 - the space-scene per-frame blocks.\r\n *\r\n * Ten matrices lead the vertex block because a space frame needs the current\r\n * and previous view/projection pair (motion vectors) plus the shadow and\r\n * env-map transforms.\r\n */\r\nexport const EveSpaceScenePerFrame = Object.freeze({\r\n vs: {\r\n struct: \"EveSpaceScenePerFrameVSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ShadowViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ShadowViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n EnvMapRotationMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewProjectionLast: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewLast: { type: Types.MATRIX4, default: IDENTITY },\r\n ProjLast: { type: Types.MATRIX4, default: IDENTITY },\r\n\r\n // Sun data reaches the vertex stage too, so lighting that is cheap\r\n // enough can be done per-vertex rather than per-pixel.\r\n ...SUN_DATA,\r\n\r\n /** x = fogEnd/range, y = 1/range, z = fogMax. */\r\n FogFactors: { type: Types.VECTOR3 },\r\n pad: { type: Types.FLOAT },\r\n\r\n TargetResolution: { type: Types.VECTOR2 },\r\n FovXY: { type: Types.VECTOR2 },\r\n\r\n /** Reconstructs clip positions without the viewport adjustment. */\r\n ViewportAdjustment: { type: Types.VECTOR4, default: [1, 1, 1, 1] },\r\n\r\n Time: { type: Types.FLOAT },\r\n Upscaling: { type: Types.FLOAT, default: [1] },\r\n ViewportSize: { type: Types.VECTOR2 }\r\n }\r\n },\r\n\r\n ps: {\r\n struct: \"EveSpaceScenePerFramePSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n EnvMapRotationMat: { type: Types.MATRIX4, default: IDENTITY },\r\n\r\n ...SUN_DATA,\r\n\r\n AmbientColor: { type: Types.VECTOR3 },\r\n ReflectionIntensity: { type: Types.FLOAT },\r\n\r\n /** rgb = fog colour, a = fogMax. */\r\n FogColor: { type: Types.VECTOR4 },\r\n\r\n // ViewportOffsetSize\r\n ViewportOffset: { type: Types.VECTOR2 },\r\n ViewportSize: { type: Types.VECTOR2 },\r\n\r\n // RenderTargetData\r\n TargetResolution: { type: Types.VECTOR2 },\r\n\r\n /** Legacy; Carbon always writes 1 (EveSpaceScene.cpp:3138). */\r\n DepthMapSampleCount: { type: Types.FLOAT, default: [1] },\r\n Debug: { type: Types.FLOAT },\r\n\r\n ShadowMapSettings: { type: Types.VECTOR4, default: [1, 1, 0, 0] },\r\n\r\n // ShadowMapSettings2\r\n ShadowCameraRange: { type: Types.VECTOR2, default: [1, 0] },\r\n ShadowLightness: { type: Types.FLOAT },\r\n ShadowQuality: { type: Types.UINT32 },\r\n\r\n // ProjectionData\r\n ProjectionToView: { type: Types.VECTOR2 },\r\n FovXY: { type: Types.VECTOR2 },\r\n\r\n // MiscData\r\n Time: { type: Types.FLOAT },\r\n SceneMipLodBias: { type: Types.FLOAT },\r\n Upscaling: { type: Types.FLOAT, default: [1] },\r\n GammaBrightness: { type: Types.FLOAT },\r\n\r\n FrameIndex: { type: Types.UINT32 },\r\n\r\n /** 0 if off, 1 if on. */\r\n Jittering: { type: Types.UINT32 },\r\n\r\n /** For the dynamic-light shadow atlas. */\r\n InverseShadowMapAtlasSize: { type: Types.FLOAT },\r\n ShadowMapAtlasEntryMinSizeLog2: { type: Types.UINT32 },\r\n\r\n // Carbon writes 1000/10000/100000/1000000 every frame\r\n // (EveSpaceScene.cpp:3196-3199). No catalog default: the four\r\n // slices differ, and a catalog default is one value repeated.\r\n VolumetricSlices: { type: Types.FLOAT, count: 4 },\r\n\r\n /** x..w = the zFar value of each cascade split. */\r\n ShadowMapValues: { type: Types.VECTOR4, count: 4, default: ZERO4 },\r\n\r\n ShadowMatrixVal: {\r\n type: Types.MATRIX4,\r\n count: SHADOW_FRUSTUM_COUNT,\r\n default: IDENTITY\r\n },\r\n\r\n SplitInfo: { type: Types.VECTOR4 },\r\n ProjectionInverseMat: { type: Types.MATRIX4, default: IDENTITY },\r\n CascadeRanges: { type: Types.VECTOR4, count: 16, default: ZERO4 },\r\n\r\n // Tr2VolumetricsRenderer::FroxelPerFrameData, laid out inline\r\n // (Tr2VolumetricsRenderer.h:119-135). The renderer fills it.\r\n FroxelFogColor: { type: Types.VECTOR3 },\r\n FroxelBackgroundVisibility: { type: Types.FLOAT },\r\n FroxelBaseDensity: { type: Types.FLOAT },\r\n FroxelMaxDistance: { type: Types.FLOAT },\r\n FroxelMaxDistanceVisibility: { type: Types.FLOAT },\r\n FroxelEnvironmentIntensity: { type: Types.FLOAT },\r\n FroxelEnvironmentG: { type: Types.FLOAT },\r\n FroxelPad0: { type: Types.FLOAT },\r\n FroxelPad1: { type: Types.FLOAT },\r\n FroxelPad2: { type: Types.FLOAT },\r\n\r\n /** CcpMath::Sphere[2] - xyz centre, w radius. */\r\n FroxelPlanets: { type: Types.VECTOR4, count: 2, default: ZERO4 }\r\n }\r\n }\r\n});\r\n\r\n\r\nconst GROUPS = Object.freeze({\r\n Tr2PerFrame,\r\n Tr2PerFrameDebug,\r\n Tr2PerFrameShadow,\r\n EveSpaceScenePerFrame\r\n});\r\n\r\n\r\n/**\r\n * Resolved per-frame layouts, keyed by struct name. Offsets are FLOAT offsets\r\n * from the start of the buffer.\r\n *\r\n * Deliberately a sibling of CjsPerObjectLayouts rather than more entries in\r\n * it: the two tiers have different lifetimes, different owners (scene vs\r\n * renderable), and an engine binds them to different slots.\r\n */\r\nexport class CjsPerFrameLayouts\r\n{\r\n\r\n static Types = Types;\r\n\r\n static Groups = GROUPS;\r\n\r\n /** Tr2ShadowMap.h:15 - the cascade count ShadowMatrixVal is sized by. */\r\n static SHADOW_FRUSTUM_COUNT = SHADOW_FRUSTUM_COUNT;\r\n\r\n /** Resolved layouts by struct name, built once. */\r\n static #layouts = null;\r\n\r\n /**\r\n * The layout for one struct name, or null when it is not catalogued. A\r\n * caller must treat null as \"not covered\" and fail rather than guess.\r\n */\r\n static Get(struct)\r\n {\r\n return CjsPerFrameLayouts.#Resolved().get(struct) ?? null;\r\n }\r\n\r\n /** Every catalogued struct name. */\r\n static Names()\r\n {\r\n return [...CjsPerFrameLayouts.#Resolved().keys()];\r\n }\r\n\r\n /** A layout in the shape RawData consumes. */\r\n static ToRawLayout(struct)\r\n {\r\n const layout = CjsPerFrameLayouts.Get(struct);\r\n\r\n return layout ? CjsConstantLayout.ToRawLayout(layout) : null;\r\n }\r\n\r\n /** The group a struct belongs to, with its stage key, or null. */\r\n static Find(struct)\r\n {\r\n for (const [group, buffers] of Object.entries(GROUPS))\r\n {\r\n for (const [key, buffer] of Object.entries(buffers))\r\n {\r\n if (buffer.struct === struct)\r\n {\r\n return { group, key, buffer };\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * The resolved layout map, built once on first use and cached.\r\n * @returns {Map} struct name -> resolved layout\r\n */\r\n static #Resolved()\r\n {\r\n if (!CjsPerFrameLayouts.#layouts)\r\n {\r\n CjsPerFrameLayouts.#layouts = CjsConstantLayout.BuildLayouts(GROUPS, \"CjsPerFrameLayouts\");\r\n }\r\n\r\n return CjsPerFrameLayouts.#layouts;\r\n }\r\n\r\n}\r\n"],"names":["Identity","IDENTITY","Types","Zero4","ZERO4","CjsConstantLayout","SUN_DATA","Object","freeze","type","VECTOR3","FLOAT","COLOR","SHADOW_FRUSTUM_COUNT","Tr2PerFrame","vs","struct","fields","ViewInverseTransposeMat","MATRIX4","default","sunDirWorld","VECTOR4","sceneFogColor","ViewProjectionMat","ViewMat","ProjectionMat","ps","sceneAmbientColor","sunDiffuseColor","sunSpecularColor","maxFogAmount","maxFogDistance","minFogDistance","cullDirection","shScale","shadowCount","invShadowSize","radius","viewPort","ViewProjInverse","Tr2PerFrameDebug","Tr2PerFrameShadow","lightRadius","zFar","unused2","unused3","EveSpaceScenePerFrame","ShadowViewMat","ShadowViewProjectionMat","EnvMapRotationMat","ViewProjectionLast","ViewLast","ProjLast","FogFactors","pad","TargetResolution","VECTOR2","FovXY","ViewportAdjustment","Time","Upscaling","ViewportSize","AmbientColor","ReflectionIntensity","FogColor","ViewportOffset","DepthMapSampleCount","Debug","ShadowMapSettings","ShadowCameraRange","ShadowLightness","ShadowQuality","UINT32","ProjectionToView","SceneMipLodBias","GammaBrightness","FrameIndex","Jittering","InverseShadowMapAtlasSize","ShadowMapAtlasEntryMinSizeLog2","VolumetricSlices","count","ShadowMapValues","ShadowMatrixVal","SplitInfo","ProjectionInverseMat","CascadeRanges","FroxelFogColor","FroxelBackgroundVisibility","FroxelBaseDensity","FroxelMaxDistance","FroxelMaxDistanceVisibility","FroxelEnvironmentIntensity","FroxelEnvironmentG","FroxelPad0","FroxelPad1","FroxelPad2","FroxelPlanets","GROUPS","CjsPerFrameLayouts","Groups","Get","get","Names","keys","ToRawLayout","layout","Find","group","buffers","entries","key","buffer","#Resolved","BuildLayouts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA,MAAM;AAAEA,EAAAA,QAAQ,EAAEC,QAAQ;EAAEC,KAAK;AAAEC,EAAAA,KAAK,EAAEC;AAAM,CAAC,GAAGC,iBAAiB;;AAGrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAAC;AAC3B,EAAA,cAAc,EAAE;IAAEC,IAAI,EAAEP,KAAK,CAACQ;GAAS;AACvC,EAAA,iBAAiB,EAAE;IAAED,IAAI,EAAEP,KAAK,CAACS;GAAO;AACxC,EAAA,kBAAkB,EAAE;IAAEF,IAAI,EAAEP,KAAK,CAACU;AAAM;AAC5C,CAAC,CAAC;;AAGF;AACA,MAAMC,oBAAoB,GAAG,EAAE;;AAG/B;MACaC,WAAW,GAAGP,MAAM,CAACC,MAAM,CAAC;AACrCO,EAAAA,EAAE,EAAE;AACAC,IAAAA,MAAM,EAAE,mBAAmB;AAC3BC,IAAAA,MAAM,EAAE;AACJC,MAAAA,uBAAuB,EAAE;QAAET,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnEoB,MAAAA,WAAW,EAAE;QAAEZ,IAAI,EAAEP,KAAK,CAACoB;OAAS;AACpCC,MAAAA,aAAa,EAAE;QAAEd,IAAI,EAAEP,KAAK,CAACU;OAAO;AACpCY,MAAAA,iBAAiB,EAAE;QAAEf,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAC7DwB,MAAAA,OAAO,EAAE;QAAEhB,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnDyB,MAAAA,aAAa,EAAE;QAAEjB,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;AAAS;AAC5D;GACH;AAED;AACA0B,EAAAA,EAAE,EAAE;AACAX,IAAAA,MAAM,EAAE,mBAAmB;AAC3BC,IAAAA,MAAM,EAAE;AACJC,MAAAA,uBAAuB,EAAE;QAAET,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnE2B,MAAAA,iBAAiB,EAAE;QAAEnB,IAAI,EAAEP,KAAK,CAACU;OAAO;AACxCW,MAAAA,aAAa,EAAE;QAAEd,IAAI,EAAEP,KAAK,CAACU;OAAO;AACpCS,MAAAA,WAAW,EAAE;QAAEZ,IAAI,EAAEP,KAAK,CAACoB;OAAS;AACpCO,MAAAA,eAAe,EAAE;QAAEpB,IAAI,EAAEP,KAAK,CAACU;OAAO;AACtCkB,MAAAA,gBAAgB,EAAE;QAAErB,IAAI,EAAEP,KAAK,CAACU;OAAO;AACvCmB,MAAAA,YAAY,EAAE;QAAEtB,IAAI,EAAEP,KAAK,CAACS;OAAO;AACnCqB,MAAAA,cAAc,EAAE;QAAEvB,IAAI,EAAEP,KAAK,CAACS;OAAO;AACrCsB,MAAAA,cAAc,EAAE;QAAExB,IAAI,EAAEP,KAAK,CAACS;OAAO;AAErC;AACAuB,MAAAA,aAAa,EAAE;QAAEzB,IAAI,EAAEP,KAAK,CAACS;OAAO;AAEpCa,MAAAA,iBAAiB,EAAE;QAAEf,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAC7DkC,MAAAA,OAAO,EAAE;QAAE1B,IAAI,EAAEP,KAAK,CAACS;OAAO;AAC9ByB,MAAAA,WAAW,EAAE;QAAE3B,IAAI,EAAEP,KAAK,CAACS;OAAO;AAClC0B,MAAAA,aAAa,EAAE;QAAE5B,IAAI,EAAEP,KAAK,CAACS;OAAO;AACpC2B,MAAAA,MAAM,EAAE;QAAE7B,IAAI,EAAEP,KAAK,CAACS;OAAO;AAE7B;AACA4B,MAAAA,QAAQ,EAAE;QAAE9B,IAAI,EAAEP,KAAK,CAACoB;OAAS;AAEjCkB,MAAAA,eAAe,EAAE;QAAE/B,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;AAAS;AAC9D;AACJ;AACJ,CAAC;;AAGD;AACA;AACA;AACA;MACawC,gBAAgB,GAAGlC,MAAM,CAACC,MAAM,CAAC;AAC1CO,EAAAA,EAAE,EAAE;AACAC,IAAAA,MAAM,EAAE,wBAAwB;AAChCC,IAAAA,MAAM,EAAE;AACJC,MAAAA,uBAAuB,EAAE;QAAET,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnEuB,MAAAA,iBAAiB,EAAE;QAAEf,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;AAAS;AAChE;AACJ;AACJ,CAAC;;AAGD;AACA;AACA;AACA;MACayC,iBAAiB,GAAGnC,MAAM,CAACC,MAAM,CAAC;AAC3CmB,EAAAA,EAAE,EAAE;AACAX,IAAAA,MAAM,EAAE,yBAAyB;AACjCC,IAAAA,MAAM,EAAE;AACJ;AACA0B,MAAAA,WAAW,EAAE;QAAElC,IAAI,EAAEP,KAAK,CAACS;OAAO;AAClCiC,MAAAA,IAAI,EAAE;QAAEnC,IAAI,EAAEP,KAAK,CAACS;OAAO;AAC3BkC,MAAAA,OAAO,EAAE;QAAEpC,IAAI,EAAEP,KAAK,CAACS;OAAO;AAC9BmC,MAAAA,OAAO,EAAE;QAAErC,IAAI,EAAEP,KAAK,CAACS;AAAM;AACjC;AACJ;AACJ,CAAC;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;MACaoC,qBAAqB,GAAGxC,MAAM,CAACC,MAAM,CAAC;AAC/CO,EAAAA,EAAE,EAAE;AACAC,IAAAA,MAAM,EAAE,6BAA6B;AACrCC,IAAAA,MAAM,EAAE;AACJC,MAAAA,uBAAuB,EAAE;QAAET,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnEuB,MAAAA,iBAAiB,EAAE;QAAEf,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAC7DwB,MAAAA,OAAO,EAAE;QAAEhB,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnDyB,MAAAA,aAAa,EAAE;QAAEjB,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACzD+C,MAAAA,aAAa,EAAE;QAAEvC,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACzDgD,MAAAA,uBAAuB,EAAE;QAAExC,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnEiD,MAAAA,iBAAiB,EAAE;QAAEzC,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAC7DkD,MAAAA,kBAAkB,EAAE;QAAE1C,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAC9DmD,MAAAA,QAAQ,EAAE;QAAE3C,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACpDoD,MAAAA,QAAQ,EAAE;QAAE5C,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAEpD;AACA;AACA,MAAA,GAAGK,QAAQ;AAEX;AACAgD,MAAAA,UAAU,EAAE;QAAE7C,IAAI,EAAEP,KAAK,CAACQ;OAAS;AACnC6C,MAAAA,GAAG,EAAE;QAAE9C,IAAI,EAAEP,KAAK,CAACS;OAAO;AAE1B6C,MAAAA,gBAAgB,EAAE;QAAE/C,IAAI,EAAEP,KAAK,CAACuD;OAAS;AACzCC,MAAAA,KAAK,EAAE;QAAEjD,IAAI,EAAEP,KAAK,CAACuD;OAAS;AAE9B;AACAE,MAAAA,kBAAkB,EAAE;QAAElD,IAAI,EAAEP,KAAK,CAACoB,OAAO;QAAEF,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;OAAG;AAElEwC,MAAAA,IAAI,EAAE;QAAEnD,IAAI,EAAEP,KAAK,CAACS;OAAO;AAC3BkD,MAAAA,SAAS,EAAE;QAAEpD,IAAI,EAAEP,KAAK,CAACS,KAAK;QAAES,OAAO,EAAE,CAAC,CAAC;OAAG;AAC9C0C,MAAAA,YAAY,EAAE;QAAErD,IAAI,EAAEP,KAAK,CAACuD;AAAQ;AACxC;GACH;AAED9B,EAAAA,EAAE,EAAE;AACAX,IAAAA,MAAM,EAAE,6BAA6B;AACrCC,IAAAA,MAAM,EAAE;AACJC,MAAAA,uBAAuB,EAAE;QAAET,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnEwB,MAAAA,OAAO,EAAE;QAAEhB,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnDiD,MAAAA,iBAAiB,EAAE;QAAEzC,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAE7D,MAAA,GAAGK,QAAQ;AAEXyD,MAAAA,YAAY,EAAE;QAAEtD,IAAI,EAAEP,KAAK,CAACQ;OAAS;AACrCsD,MAAAA,mBAAmB,EAAE;QAAEvD,IAAI,EAAEP,KAAK,CAACS;OAAO;AAE1C;AACAsD,MAAAA,QAAQ,EAAE;QAAExD,IAAI,EAAEP,KAAK,CAACoB;OAAS;AAEjC;AACA4C,MAAAA,cAAc,EAAE;QAAEzD,IAAI,EAAEP,KAAK,CAACuD;OAAS;AACvCK,MAAAA,YAAY,EAAE;QAAErD,IAAI,EAAEP,KAAK,CAACuD;OAAS;AAErC;AACAD,MAAAA,gBAAgB,EAAE;QAAE/C,IAAI,EAAEP,KAAK,CAACuD;OAAS;AAEzC;AACAU,MAAAA,mBAAmB,EAAE;QAAE1D,IAAI,EAAEP,KAAK,CAACS,KAAK;QAAES,OAAO,EAAE,CAAC,CAAC;OAAG;AACxDgD,MAAAA,KAAK,EAAE;QAAE3D,IAAI,EAAEP,KAAK,CAACS;OAAO;AAE5B0D,MAAAA,iBAAiB,EAAE;QAAE5D,IAAI,EAAEP,KAAK,CAACoB,OAAO;QAAEF,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;OAAG;AAEjE;AACAkD,MAAAA,iBAAiB,EAAE;QAAE7D,IAAI,EAAEP,KAAK,CAACuD,OAAO;AAAErC,QAAAA,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;OAAG;AAC3DmD,MAAAA,eAAe,EAAE;QAAE9D,IAAI,EAAEP,KAAK,CAACS;OAAO;AACtC6D,MAAAA,aAAa,EAAE;QAAE/D,IAAI,EAAEP,KAAK,CAACuE;OAAQ;AAErC;AACAC,MAAAA,gBAAgB,EAAE;QAAEjE,IAAI,EAAEP,KAAK,CAACuD;OAAS;AACzCC,MAAAA,KAAK,EAAE;QAAEjD,IAAI,EAAEP,KAAK,CAACuD;OAAS;AAE9B;AACAG,MAAAA,IAAI,EAAE;QAAEnD,IAAI,EAAEP,KAAK,CAACS;OAAO;AAC3BgE,MAAAA,eAAe,EAAE;QAAElE,IAAI,EAAEP,KAAK,CAACS;OAAO;AACtCkD,MAAAA,SAAS,EAAE;QAAEpD,IAAI,EAAEP,KAAK,CAACS,KAAK;QAAES,OAAO,EAAE,CAAC,CAAC;OAAG;AAC9CwD,MAAAA,eAAe,EAAE;QAAEnE,IAAI,EAAEP,KAAK,CAACS;OAAO;AAEtCkE,MAAAA,UAAU,EAAE;QAAEpE,IAAI,EAAEP,KAAK,CAACuE;OAAQ;AAElC;AACAK,MAAAA,SAAS,EAAE;QAAErE,IAAI,EAAEP,KAAK,CAACuE;OAAQ;AAEjC;AACAM,MAAAA,yBAAyB,EAAE;QAAEtE,IAAI,EAAEP,KAAK,CAACS;OAAO;AAChDqE,MAAAA,8BAA8B,EAAE;QAAEvE,IAAI,EAAEP,KAAK,CAACuE;OAAQ;AAEtD;AACA;AACA;AACAQ,MAAAA,gBAAgB,EAAE;QAAExE,IAAI,EAAEP,KAAK,CAACS,KAAK;AAAEuE,QAAAA,KAAK,EAAE;OAAG;AAEjD;AACAC,MAAAA,eAAe,EAAE;QAAE1E,IAAI,EAAEP,KAAK,CAACoB,OAAO;AAAE4D,QAAAA,KAAK,EAAE,CAAC;AAAE9D,QAAAA,OAAO,EAAEhB;OAAO;AAElEgF,MAAAA,eAAe,EAAE;QACb3E,IAAI,EAAEP,KAAK,CAACiB,OAAO;AACnB+D,QAAAA,KAAK,EAAErE,oBAAoB;AAC3BO,QAAAA,OAAO,EAAEnB;OACZ;AAEDoF,MAAAA,SAAS,EAAE;QAAE5E,IAAI,EAAEP,KAAK,CAACoB;OAAS;AAClCgE,MAAAA,oBAAoB,EAAE;QAAE7E,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAChEsF,MAAAA,aAAa,EAAE;QAAE9E,IAAI,EAAEP,KAAK,CAACoB,OAAO;AAAE4D,QAAAA,KAAK,EAAE,EAAE;AAAE9D,QAAAA,OAAO,EAAEhB;OAAO;AAEjE;AACA;AACAoF,MAAAA,cAAc,EAAE;QAAE/E,IAAI,EAAEP,KAAK,CAACQ;OAAS;AACvC+E,MAAAA,0BAA0B,EAAE;QAAEhF,IAAI,EAAEP,KAAK,CAACS;OAAO;AACjD+E,MAAAA,iBAAiB,EAAE;QAAEjF,IAAI,EAAEP,KAAK,CAACS;OAAO;AACxCgF,MAAAA,iBAAiB,EAAE;QAAElF,IAAI,EAAEP,KAAK,CAACS;OAAO;AACxCiF,MAAAA,2BAA2B,EAAE;QAAEnF,IAAI,EAAEP,KAAK,CAACS;OAAO;AAClDkF,MAAAA,0BAA0B,EAAE;QAAEpF,IAAI,EAAEP,KAAK,CAACS;OAAO;AACjDmF,MAAAA,kBAAkB,EAAE;QAAErF,IAAI,EAAEP,KAAK,CAACS;OAAO;AACzCoF,MAAAA,UAAU,EAAE;QAAEtF,IAAI,EAAEP,KAAK,CAACS;OAAO;AACjCqF,MAAAA,UAAU,EAAE;QAAEvF,IAAI,EAAEP,KAAK,CAACS;OAAO;AACjCsF,MAAAA,UAAU,EAAE;QAAExF,IAAI,EAAEP,KAAK,CAACS;OAAO;AAEjC;AACAuF,MAAAA,aAAa,EAAE;QAAEzF,IAAI,EAAEP,KAAK,CAACoB,OAAO;AAAE4D,QAAAA,KAAK,EAAE,CAAC;AAAE9D,QAAAA,OAAO,EAAEhB;AAAM;AACnE;AACJ;AACJ,CAAC;AAGD,MAAM+F,MAAM,GAAG5F,MAAM,CAACC,MAAM,CAAC;EACzBM,WAAW;EACX2B,gBAAgB;EAChBC,iBAAiB;AACjBK,EAAAA;AACJ,CAAC,CAAC;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMqD,kBAAkB,CAC/B;EAEI,OAAOlG,KAAK,GAAGA,KAAK;EAEpB,OAAOmG,MAAM,GAAGF,MAAM;;AAEtB;EACA,OAAOtF,oBAAoB,GAAGA,oBAAoB;;AAElD;EACA,OAAO,QAAQ,GAAG,IAAI;;AAEtB;AACJ;AACA;AACA;EACI,OAAOyF,GAAGA,CAACtF,MAAM,EACjB;AACI,IAAA,OAAOoF,kBAAkB,CAAC,SAAS,EAAE,CAACG,GAAG,CAACvF,MAAM,CAAC,IAAI,IAAI;AAC7D,EAAA;;AAEA;EACA,OAAOwF,KAAKA,GACZ;AACI,IAAA,OAAO,CAAC,GAAGJ,kBAAkB,CAAC,SAAS,EAAE,CAACK,IAAI,EAAE,CAAC;AACrD,EAAA;;AAEA;EACA,OAAOC,WAAWA,CAAC1F,MAAM,EACzB;AACI,IAAA,MAAM2F,MAAM,GAAGP,kBAAkB,CAACE,GAAG,CAACtF,MAAM,CAAC;IAE7C,OAAO2F,MAAM,GAAGtG,iBAAiB,CAACqG,WAAW,CAACC,MAAM,CAAC,GAAG,IAAI;AAChE,EAAA;;AAEA;EACA,OAAOC,IAAIA,CAAC5F,MAAM,EAClB;AACI,IAAA,KAAK,MAAM,CAAC6F,KAAK,EAAEC,OAAO,CAAC,IAAIvG,MAAM,CAACwG,OAAO,CAACZ,MAAM,CAAC,EACrD;AACI,MAAA,KAAK,MAAM,CAACa,GAAG,EAAEC,MAAM,CAAC,IAAI1G,MAAM,CAACwG,OAAO,CAACD,OAAO,CAAC,EACnD;AACI,QAAA,IAAIG,MAAM,CAACjG,MAAM,KAAKA,MAAM,EAC5B;UACI,OAAO;YAAE6F,KAAK;YAAEG,GAAG;AAAEC,YAAAA;WAAQ;AACjC,QAAA;AACJ,MAAA;AACJ,IAAA;AAEA,IAAA,OAAO,IAAI;AACf,EAAA;;AAEA;AACJ;AACA;AACA;EACI,OAAO,SAASC,GAChB;AACI,IAAA,IAAI,CAACd,kBAAkB,CAAC,QAAQ,EAChC;MACIA,kBAAkB,CAAC,QAAQ,GAAG/F,iBAAiB,CAAC8G,YAAY,CAAChB,MAAM,EAAE,oBAAoB,CAAC;AAC9F,IAAA;IAEA,OAAOC,kBAAkB,CAAC,QAAQ;AACtC,EAAA;AAEJ;;;;"}
|