@carbonenginejs/runtime 0.1.0-alpha.0 → 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -125
- package/dist/audio/index.js +8 -1
- package/dist/audio/index.js.map +1 -1
- package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js +84 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js +14 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js +26 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js +27 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js +27 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js +25 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js +26 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js +58 -0
- package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js.map +1 -0
- package/dist/audio/trinity/audio/AudManager.js +1 -1
- package/dist/audio/trinity/audio/AudManager.js.map +1 -1
- package/dist/audio/trinity/audio/{AudObstructionOcclusion.js → AudObstructionOcclusion/AudObstructionOcclusion.js} +8 -52
- package/dist/audio/trinity/audio/AudObstructionOcclusion/AudObstructionOcclusion.js.map +1 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js +17 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js.map +1 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js +46 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js.map +1 -0
- package/dist/audio/trinity/index.js +8 -1
- package/dist/audio/trinity/index.js.map +1 -1
- package/dist/character/CjsCharacterAppearanceConstruction.js +5 -0
- package/dist/character/CjsCharacterAppearanceConstruction.js.map +1 -1
- package/dist/character/CjsCharacterAppearanceManager.js +14 -0
- package/dist/character/CjsCharacterAppearanceManager.js.map +1 -1
- package/dist/character/CjsCharacterFoundationConstruction.js +5 -0
- package/dist/character/CjsCharacterFoundationConstruction.js.map +1 -1
- package/dist/character/CjsCharacterTexturePolicy.js +5 -0
- package/dist/character/CjsCharacterTexturePolicy.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesAppearanceAL.js +17 -0
- package/dist/character/gles/CjsCharacterGlesAppearanceAL.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js +2 -0
- package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js +5 -0
- package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js +5 -0
- package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesMorphDeformation.js +2 -0
- package/dist/character/gles/CjsCharacterGlesMorphDeformation.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js +5 -0
- package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js +5 -0
- package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js.map +1 -1
- package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js +9 -0
- package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js.map +1 -1
- package/dist/global/blue/CjsScriptCallback.js +142 -0
- package/dist/global/blue/CjsScriptCallback.js.map +1 -0
- package/dist/global/blue/index.js +2 -0
- package/dist/global/blue/index.js.map +1 -0
- package/dist/global/consts/renderContext/formats.js +51 -1
- package/dist/global/consts/renderContext/formats.js.map +1 -1
- package/dist/global/consts/renderContext/index.js +2 -2
- package/dist/global/consts/renderContext/renderStates.js +16 -1
- package/dist/global/consts/renderContext/renderStates.js.map +1 -1
- package/dist/global/contracts/index.js +0 -1
- package/dist/global/contracts/index.js.map +1 -1
- package/dist/global/index.js +4 -3
- package/dist/global/index.js.map +1 -1
- package/dist/global/math/index.js +2 -0
- package/dist/global/math/index.js.map +1 -1
- package/dist/global/math/mesh.js +70 -16
- package/dist/global/math/mesh.js.map +1 -1
- package/dist/global/math/noise.js +47 -68
- package/dist/global/math/noise.js.map +1 -1
- package/dist/global/math/pool.js +18 -3
- package/dist/global/math/pool.js.map +1 -1
- package/dist/global/math/random.js +52 -0
- package/dist/global/math/random.js.map +1 -0
- package/dist/global/math/tri3.js +18 -4
- package/dist/global/math/tri3.js.map +1 -1
- package/dist/global/utils/bytes.js +22 -4
- package/dist/global/utils/bytes.js.map +1 -1
- package/dist/global/utils/checksum.js +80 -0
- package/dist/global/utils/checksum.js.map +1 -0
- package/dist/global/utils/errors/CjsCancellationError.js +36 -0
- package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
- package/dist/global/utils/errors/CjsError.js +21 -52
- package/dist/global/utils/errors/CjsError.js.map +1 -1
- package/dist/global/utils/errors/abort.js +1 -1
- package/dist/global/utils/errors/abort.js.map +1 -1
- package/dist/global/utils/errors/index.js +2 -1
- package/dist/global/utils/errors/index.js.map +1 -1
- package/dist/global/utils/index.js +4 -2
- package/dist/global/utils/index.js.map +1 -1
- package/dist/index.js +95 -35
- package/dist/index.js.map +1 -1
- package/dist/input/Tr2MainWindow.js +7 -9
- package/dist/input/Tr2MainWindow.js.map +1 -1
- package/dist/resource/CjsResMan.js +33 -39
- package/dist/resource/CjsResMan.js.map +1 -1
- package/dist/resource/CjsResource.js +19 -5
- package/dist/resource/CjsResource.js.map +1 -1
- package/dist/resource/audio/AudioGeometryResData.js +22 -27
- package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
- package/dist/resource/audio/CjsAudioRes.js +4 -5
- package/dist/resource/audio/CjsAudioRes.js.map +1 -1
- package/dist/resource/format/CjsBitReader.js +263 -0
- package/dist/resource/format/CjsBitReader.js.map +1 -0
- package/dist/resource/format/CjsByteReader.js +130 -125
- package/dist/resource/format/CjsByteReader.js.map +1 -1
- package/dist/resource/format/CjsFormat.js +11 -4
- package/dist/resource/format/CjsFormat.js.map +1 -1
- package/dist/resource/format/CjsFormatError.js +37 -1
- package/dist/resource/format/CjsFormatError.js.map +1 -1
- package/dist/resource/format/CjsResourceProbe.js +41 -37
- package/dist/resource/format/CjsResourceProbe.js.map +1 -1
- package/dist/resource/format/carbonRecordGuard.js +33 -0
- package/dist/resource/format/carbonRecordGuard.js.map +1 -0
- package/dist/resource/format/imageSignatures.js +202 -0
- package/dist/resource/format/imageSignatures.js.map +1 -0
- package/dist/resource/format/index.js +2 -1
- package/dist/resource/format/index.js.map +1 -1
- package/dist/resource/format/jsonPolicies.js +180 -0
- package/dist/resource/format/jsonPolicies.js.map +1 -0
- package/dist/resource/formats/black/core/helpers.js +18 -29
- package/dist/resource/formats/black/core/helpers.js.map +1 -1
- package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
- package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
- package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
- package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
- package/dist/resource/formats/bnk/core/busNodes.js +2 -1
- package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
- package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
- package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
- package/dist/resource/formats/bnk/core/eventAction.js +15 -93
- package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
- package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
- package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
- package/dist/resource/formats/bnk/core/helpers.js +2 -48
- package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
- package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
- package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
- package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
- package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
- package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
- package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
- package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
- package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
- package/dist/resource/formats/cmf/core/binary.js +54 -60
- package/dist/resource/formats/cmf/core/binary.js.map +1 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
- package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/resource/formats/dds/core/bc6h.js +16 -18
- package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
- package/dist/resource/formats/dds/core/bc7.js +28 -24
- package/dist/resource/formats/dds/core/bc7.js.map +1 -1
- package/dist/resource/formats/dds/core/helpers.js +7 -133
- package/dist/resource/formats/dds/core/helpers.js.map +1 -1
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
- package/dist/resource/formats/dxbc/core/helpers.js +4 -32
- package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
- package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
- package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
- package/dist/resource/formats/fbx/core/helpers.js +18 -12
- package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
- package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
- package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
- package/dist/resource/formats/flac/core/helpers.js +1 -62
- package/dist/resource/formats/flac/core/helpers.js.map +1 -1
- package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
- package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
- package/dist/resource/formats/gif/core/helpers.js +1 -63
- package/dist/resource/formats/gif/core/helpers.js.map +1 -1
- package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
- package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
- package/dist/resource/formats/gltf/core/helpers.js +3 -19
- package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
- package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
- package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
- package/dist/resource/formats/gr2/core/container.js +1 -10
- package/dist/resource/formats/gr2/core/container.js.map +1 -1
- package/dist/resource/formats/gr2/core/helpers.js +24 -35
- package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
- package/dist/resource/formats/gr2/core/shared.js +193 -189
- package/dist/resource/formats/gr2/core/shared.js.map +1 -1
- package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
- package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
- package/dist/resource/formats/hlsl/core/helpers.js +1 -30
- package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
- package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
- package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
- package/dist/resource/formats/jpeg/core/helpers.js +7 -134
- package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
- package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
- package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
- package/dist/resource/formats/mp3/core/helpers.js +1 -64
- package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
- package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
- package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
- package/dist/resource/formats/mp4/core/helpers.js +1 -73
- package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
- package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
- package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
- package/dist/resource/formats/obj/core/helpers.js +93 -115
- package/dist/resource/formats/obj/core/helpers.js.map +1 -1
- package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
- package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
- package/dist/resource/formats/ogg/core/helpers.js +1 -15
- package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
- package/dist/resource/formats/ogg/core/vorbis.js +138 -144
- package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
- package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
- package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
- package/dist/resource/formats/png/CjsPngFormat.js +5 -3
- package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
- package/dist/resource/formats/png/core/helpers.js +13 -152
- package/dist/resource/formats/png/core/helpers.js.map +1 -1
- package/dist/resource/formats/png/core/writer.js +3 -27
- package/dist/resource/formats/png/core/writer.js.map +1 -1
- package/dist/resource/formats/red/core/helpers.js +19 -29
- package/dist/resource/formats/red/core/helpers.js.map +1 -1
- package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
- package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
- package/dist/resource/formats/stl/core/helpers.js +44 -66
- package/dist/resource/formats/stl/core/helpers.js.map +1 -1
- package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
- package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
- package/dist/resource/formats/tga/core/helpers.js +7 -153
- package/dist/resource/formats/tga/core/helpers.js.map +1 -1
- package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
- package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
- package/dist/resource/formats/vta/core/helpers.js +1 -17
- package/dist/resource/formats/vta/core/helpers.js.map +1 -1
- package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
- package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
- package/dist/resource/formats/wav/core/helpers.js +1 -15
- package/dist/resource/formats/wav/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
- package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +52 -4
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
- package/dist/resource/formats/webgl/core/helpers.js +39 -68
- package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
- package/dist/resource/formats/webgpu/core/helpers.js +4 -30
- package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
- package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
- package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
- package/dist/resource/formats/webm/core/helpers.js +1 -73
- package/dist/resource/formats/webm/core/helpers.js.map +1 -1
- package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
- package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
- package/dist/resource/formats/webp/core/helpers.js +1 -62
- package/dist/resource/formats/webp/core/helpers.js.map +1 -1
- package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
- package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
- package/dist/resource/formats/wem/core/bitStream.js +83 -106
- package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
- package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
- package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
- package/dist/resource/formats/wem/core/helpers.js +1 -15
- package/dist/resource/formats/wem/core/helpers.js.map +1 -1
- package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
- package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
- package/dist/resource/geometry/MeshDecalData.js +23 -25
- package/dist/resource/geometry/MeshDecalData.js.map +1 -1
- package/dist/resource/geometry/MeshDecalLodData.js +14 -23
- package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryRes.js +299 -284
- package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
- package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
- package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
- package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
- package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
- package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
- package/dist/resource/geometry/TriJointBinding.js +16 -24
- package/dist/resource/geometry/TriJointBinding.js.map +1 -1
- package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
- package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
- package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
- package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
- package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
- package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
- package/dist/resource/index.js +1 -1
- package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
- package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
- package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
- package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
- package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
- package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
- package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
- package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
- package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
- package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
- package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
- package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
- package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
- package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
- package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
- package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
- package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
- package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
- package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
- package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
- package/dist/resource/worker/protocol.js +18 -1
- package/dist/resource/worker/protocol.js.map +1 -1
- package/dist/sof/EveSOF.js +2 -222
- package/dist/sof/EveSOF.js.map +1 -1
- package/dist/sof/SofDocumentBuilder.js +205 -0
- package/dist/sof/SofDocumentBuilder.js.map +1 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
- package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
- package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
- package/dist/sof/faction/index.js +3 -1
- package/dist/sof/faction/index.js.map +1 -1
- package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
- package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
- package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
- package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
- package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
- package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
- package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
- package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
- package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
- package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
- package/dist/sof/generic/index.js +5 -1
- package/dist/sof/generic/index.js.map +1 -1
- package/dist/sof/index.js +23 -7
- package/dist/sof/index.js.map +1 -1
- package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
- package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
- package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
- package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
- package/dist/sof/pattern/index.js +2 -1
- package/dist/sof/pattern/index.js.map +1 -1
- package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
- package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
- package/dist/sof/shared/EveSOFDataArea.js +2 -13
- package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
- package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
- package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameter.js +2 -146
- package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
- package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
- package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
- package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
- package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
- package/dist/sof/shared/index.js +13 -4
- package/dist/sof/shared/index.js.map +1 -1
- package/dist/sof/sofDocumentValues.js +33 -0
- package/dist/sof/sofDocumentValues.js.map +1 -0
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
- package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
- package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
- package/dist/trinity/controllers/Tr2Controller.js +2 -1
- package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
- package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
- package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
- package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
- package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
- package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
- package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
- package/dist/trinity/controllers/index.js +5 -2
- package/dist/trinity/controllers/index.js.map +1 -1
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
- package/dist/trinity/core/ITr2Updateable.js +2 -1
- package/dist/trinity/core/ITr2Updateable.js.map +1 -1
- package/dist/trinity/core/Tr2Blitter.js +6 -3
- package/dist/trinity/core/Tr2Blitter.js.map +1 -1
- package/dist/trinity/core/Tr2Denoiser.js +256 -0
- package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
- package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
- package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
- package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
- package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
- package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
- package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
- package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
- package/dist/trinity/core/Tr2RenderUtils.js +20 -3
- package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
- package/dist/trinity/core/Tr2Renderer.js +146 -1
- package/dist/trinity/core/Tr2Renderer.js.map +1 -1
- package/dist/trinity/core/Tr2ShadowMap.js +135 -14
- package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
- package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
- package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
- package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
- package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
- package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
- package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
- package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
- package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
- package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
- package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
- package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
- package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
- package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
- package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
- package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
- package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
- package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
- package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
- package/dist/trinity/core/index.js +42 -15
- package/dist/trinity/core/index.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
- package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
- package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
- package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
- package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
- package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
- package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
- package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
- package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
- package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
- package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
- package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
- package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
- package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
- package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
- package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
- package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
- package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
- package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
- package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
- package/dist/trinity/core/variable/TriVariable.js +83 -83
- package/dist/trinity/core/variable/TriVariable.js.map +1 -1
- package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
- package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
- package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
- package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/IEveTransform.js +2 -1
- package/dist/trinity/eve/IEveTransform.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
- package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
- package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
- package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
- package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/trinity/eve/camera/EveCamera.js +1 -1
- package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
- package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
- package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
- package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/trinity/eve/child/EveChildContainer.js +141 -141
- package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
- package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
- package/dist/trinity/eve/child/EveChildMesh.js +218 -218
- package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
- package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
- package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
- package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTransform.js +5 -0
- package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTurret.js +7 -0
- package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
- package/dist/trinity/eve/index.js +10 -4
- package/dist/trinity/eve/index.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2Light.js +5 -0
- package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
- package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
- package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
- package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
- package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
- package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
- package/dist/trinity/generated/index.js +0 -1
- package/dist/trinity/generated/index.js.map +1 -1
- package/dist/trinity/generated/trinityCore/index.js +0 -1
- package/dist/trinity/generated/trinityCore/index.js.map +1 -1
- package/dist/trinity/index.js +59 -23
- package/dist/trinity/index.js.map +1 -1
- package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
- package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
- package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
- package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
- package/dist/trinity/particle/index.js +2 -1
- package/dist/trinity/particle/index.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
- package/dist/trinity/shader/Tr2Effect.js +131 -58
- package/dist/trinity/shader/Tr2Effect.js.map +1 -1
- package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
- package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
- package/dist/trinity/shader/Tr2Material.js +21 -4
- package/dist/trinity/shader/Tr2Material.js.map +1 -1
- package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
- package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
- package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
- package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
- package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
- package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
- package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
- package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
- package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
- package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
- package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
- package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
- package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
- package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
- package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
- package/dist/trinityal/index.js +22 -9
- package/dist/trinityal/index.js.map +1 -1
- package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
- package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
- package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
- package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
- package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
- package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
- package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
- package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
- package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
- package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
- package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
- package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
- package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
- package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
- package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
- package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
- package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
- package/dist/trinityal/stub/index.js +8 -4
- package/dist/trinityal/stub/index.js.map +1 -1
- package/dist/trinityal/vertexLayoutMatch.js +2 -2
- package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
- package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
- package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
- package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
- package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
- package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
- package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
- package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
- package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
- package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
- package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
- package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
- package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
- package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
- package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
- package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
- package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
- package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
- package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
- package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
- package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
- package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
- package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
- package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
- package/dist/trinityal/webgpu/internal.js +12 -11
- package/dist/trinityal/webgpu/internal.js.map +1 -1
- package/docs/audio/reference/classes/trinity.md +44 -34
- package/docs/character/architecture.md +276 -0
- package/docs/character/reference/character-appearance-plans.md +30 -66
- package/docs/character/reference/prepared-libraries.md +14 -30
- package/docs/global/reference/api.md +2 -1
- package/docs/global/reference/classes/README.md +53 -71
- package/docs/global/reference/classes/dropped.md +16 -0
- package/docs/resource/README.md +19 -15
- package/docs/resource/architecture.md +9 -2
- package/docs/resource/concepts/format-capabilities.md +124 -80
- package/docs/resource/concepts/shared-format-helpers.md +94 -0
- package/docs/resource/formats/README.md +230 -224
- package/docs/resource/formats/bitknit2.md +221 -0
- package/docs/resource/formats/carbon-effect-container.md +184 -269
- package/docs/resource/formats/gr2.md +6 -1
- package/docs/resource/formats/schemabound.md +28 -48
- package/docs/resource/formats/static.md +70 -97
- package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
- package/docs/resource/formats/webgl/decl-io.md +165 -256
- package/docs/resource/formats/webgl/memory-structured.md +64 -142
- package/docs/resource/formats/webgl/texture-sample.md +109 -138
- package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
- package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
- package/docs/resource/formats/webgpu/reference/api.md +64 -67
- package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +104 -260
- package/docs/resource/reference/classes/core.md +256 -236
- package/docs/resource/reference/classes/formats.md +1668 -1672
- package/docs/resource/reference/workers.md +4 -2
- package/docs/sof/reference/classes/core.md +1 -1
- package/docs/sof/reference/classes/faction.md +2 -2
- package/docs/sof/reference/classes/generic.md +4 -4
- package/docs/sof/reference/classes/pattern.md +1 -1
- package/docs/sof/reference/classes/shared.md +10 -10
- package/docs/trinity/architecture.md +55 -44
- package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
- package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
- package/docs/trinity/reference/classes/dropped.md +0 -189
- package/docs/trinity/reference/classes/eve-runtime.md +8 -8
- package/docs/trinity/reference/classes/generated.md +0 -10
- package/docs/trinity/reference/classes/particle.md +2 -2
- package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
- package/docs/trinity/reference/implementation-status.md +50 -75
- package/docs/trinity/reference/main-semantic-extraction.md +13 -17
- package/docs/trinityal/reference/classes/README.md +77 -27
- package/docs/trinityal/reference/classes/dropped.md +82 -0
- package/docs/trinityal/webgpu/README.md +3 -1
- package/docs/trinityal/webgpu/architecture.md +121 -228
- package/docs/trinityal/webgpu/reference/api.md +5 -5
- package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
- package/format-notices/gr2/NOTICE +18 -12
- package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
- package/package.json +4 -1
- package/dist/audio/trinity/audio/AudActionLog.js +0 -173
- package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
- package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
- package/dist/global/contracts/CjsScriptCallback.js +0 -94
- package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
- package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
- package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
- package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
- package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
- package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
- package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
- package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
- package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
- package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
- package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
- package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
- package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
- package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
- package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
- package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
- package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
- package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
- package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
- package/dist/trinity/core/rawData/constantLayout.js +0 -175
- package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
- package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
- package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
- package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
- package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
- package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
- package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
- package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
- package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
- package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
- package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
- package/dist/trinityal/Tr2SamplerDescription.js +0 -72
- package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
- package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
- package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
- package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
- package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
- package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
- package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
- package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
- package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
- package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
- package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
- package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
- package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
- package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
- package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
- package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
- package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2GpuSharedEmitter.js","sources":["../../../../../src/trinity/particle/emitter/Tr2GpuSharedEmitter.js"],"sourcesContent":["// Source: trinity/trinity/Particle/Tr2GpuSharedEmitter.h\r\n// Source: trinity/trinity/Particle/Tr2GpuSharedEmitter.cpp\r\n// Source: trinity/trinity/Particle/Tr2GpuSharedEmitter_Blue.cpp\r\n// Source: trinity/trinity/Particle/Tr2GpuParticleSystem.h\r\nimport { color } from \"#math/color\";\nimport { vec3 } from \"#math/vec3\";\r\nimport { CjsModel } from \"#model\";\r\nimport { carbon, impl, io, type } from \"#schema\";\nimport { withITr2GenericEmitter } from \"../ITr2GenericEmitter.js\";\n\r\n\r\n/**\r\n * Authored parameters of a GPU particle emitter: emission cone and rate,\r\n * particle lifetime and speed range, size and colour ramp, and the drag,\r\n * turbulence and gravity terms the simulation applies.\r\n */\r\n@type.define({ className: \"Tr2GpuSharedEmitter\", family: \"particle\" })\r\nexport class Tr2GpuSharedEmitter extends withITr2GenericEmitter(CjsModel)\n{\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.boolean\r\n continuousEmitter = true;\r\n\r\n @io.persist\r\n @type.float32\r\n rate = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n emissionDensity = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n maxEmissionDensity = 10000;\r\n\r\n @io.persist\r\n @type.float32\r\n maxDisplacement = 1000;\r\n\r\n @io.persist\r\n @type.vec3\r\n position = vec3.create();\r\n\r\n @io.persist\r\n @type.vec3\r\n direction = vec3.fromValues(0, 1, 0);\r\n\r\n @io.persist\r\n @type.float32\r\n angle = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n innerAngle = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n radius = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n inheritVelocity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n minSpeed = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n maxSpeed = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n minLifeTime = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n maxLifeTime = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n sizes = vec3.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n sizeVariance = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n color0 = color.createLinear();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n color1 = color.createLinear();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n color2 = color.createLinear();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n color3 = color.createLinear();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.uint32\r\n textureIndex = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n colorMidpoint = 0.5;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n velocityStretchRotation = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n drag = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n turbulenceAmplitude = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.uint32\r\n turbulenceFrequency = 1;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n gravity = 0;\r\n\r\n #enabled = true;\r\n\r\n #previousTime = -1;\r\n\r\n #revision = 0;\r\n\r\n /**\r\n * Bumps the revision so a renderer holding this emitter rebuilds from it;\r\n * there are no GPU resources to create here.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n this.#revision++;\r\n return true;\r\n }\r\n\r\n /**\r\n * Bumps the revision so a renderer holding this emitter picks up the changed\r\n * parameters.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n OnModified()\r\n {\r\n this.#revision++;\r\n return true;\r\n }\r\n\r\n /**\r\n * Turns emission on or off; disabling also clears the spawn-time cursor so\r\n * re-enabling restarts timing instead of catching up on the idle interval.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Enable(value)\r\n {\r\n this.#enabled = !!value;\r\n if (!this.#enabled) this.#previousTime = -1;\r\n }\r\n\r\n /** Reports whether this emitter is currently emitting. */\r\n @carbon.method\r\n @impl.adapted\r\n IsEnabled()\r\n {\r\n return this.#enabled;\r\n }\r\n\r\n /** Sets the emission cone axis in place, treating a missing value as zero. */\r\n @carbon.method\r\n @impl.adapted\r\n SetDirection(value)\r\n {\r\n vec3.copy(this.direction, value || Tr2GpuSharedEmitter.#zero3);\r\n }\r\n\r\n /** Sets the emitter origin in place, treating a missing value as zero. */\r\n @carbon.method\r\n @impl.adapted\r\n SetPosition(value)\r\n {\r\n vec3.copy(this.position, value || Tr2GpuSharedEmitter.#zero3);\r\n }\r\n\r\n /**\r\n * Projects Carbon's emitter and particle-parameter structs onto the schema-backed fields in one batched, event-free update followed by a single UpdateValues.\r\n * @param {object} emitterData emission shape and speed range; missing members fall back to the current values\r\n * @param {object} paramsData per-particle parameters; colors may be supplied either as a colors array or as color0..color3\r\n * attractorStrength is only forwarded on subclasses that declare it.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Projects Carbon's setup structs onto the schema-backed editor fields; renderer-only spawn history and transformed parameters remain adapter-owned.\")\r\n Setup(rate, emitterData, paramsData)\r\n {\r\n const emitter = emitterData || {};\r\n const parameters = paramsData || {};\r\n const colors = parameters.colors || [];\r\n const values = {\r\n rate,\r\n radius: emitter.radius,\r\n angle: emitter.angle,\r\n innerAngle: emitter.innerAngle,\r\n minSpeed: emitter.minSpeed,\r\n maxSpeed: emitter.maxSpeed,\r\n minLifeTime: parameters.minLifeTime,\r\n maxLifeTime: parameters.maxLifeTime,\r\n textureIndex: parameters.textureIndex,\r\n colorMidpoint: parameters.colorMidpoint ?? 0.5,\r\n color0: colors[0] ?? parameters.color0,\r\n color1: colors[1] ?? parameters.color1,\r\n color2: colors[2] ?? parameters.color2,\r\n color3: colors[3] ?? parameters.color3,\r\n sizes: parameters.sizes,\r\n sizeVariance: parameters.sizeVariance,\r\n drag: parameters.drag,\r\n turbulenceAmplitude: parameters.turbulenceAmplitude,\r\n turbulenceFrequency: parameters.turbulenceFrequency ?? 1,\r\n gravity: parameters.gravity,\r\n velocityStretchRotation: parameters.velocityStretchRotation\r\n };\r\n if (\"attractorStrength\" in this)\r\n {\r\n values.attractorStrength = parameters.attractorStrength;\r\n }\r\n\r\n this.SetValues(values, { source: this, skipEvents: true, skipUpdate: true });\r\n this.UpdateValues({ source: this, skipEvents: true });\r\n }\r\n\r\n /**\r\n * Returns the counter bumped by Initialize and OnModified, which a renderer\r\n * compares against its own copy to detect parameter changes.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetRevision()\n {\n return this.#revision;\n }\n\n /** Carbon's GPU emitter thread-safety hook is intentionally empty. */\n @impl.noop\n SetThreadSafeFlag()\n {\n }\n\r\n static #zero3 = vec3.create();\r\n}\r\n"],"names":["_Tr2GpuSharedEmitter","_identity","Tr2GpuSharedEmitter","_withITr2GenericEmitt","withITr2GenericEmitter","CjsModel","e","_init_name","_init_extra_name","_init_continuousEmitter","_init_extra_continuousEmitter","_init_rate","_init_extra_rate","_init_emissionDensity","_init_extra_emissionDensity","_init_maxEmissionDensity","_init_extra_maxEmissionDensity","_init_maxDisplacement","_init_extra_maxDisplacement","_init_position","_init_extra_position","_init_direction","_init_extra_direction","_init_angle","_init_extra_angle","_init_innerAngle","_init_extra_innerAngle","_init_radius","_init_extra_radius","_init_inheritVelocity","_init_extra_inheritVelocity","_init_minSpeed","_init_extra_minSpeed","_init_maxSpeed","_init_extra_maxSpeed","_init_minLifeTime","_init_extra_minLifeTime","_init_maxLifeTime","_init_extra_maxLifeTime","_init_sizes","_init_extra_sizes","_init_sizeVariance","_init_extra_sizeVariance","_init_color","_init_extra_color","_init_color2","_init_extra_color2","_init_color3","_init_extra_color3","_init_color4","_init_extra_color4","_init_textureIndex","_init_extra_textureIndex","_init_colorMidpoint","_init_extra_colorMidpoint","_init_velocityStretchRotation","_init_extra_velocityStretchRotation","_init_drag","_init_extra_drag","_init_turbulenceAmplitude","_init_extra_turbulenceAmplitude","_init_turbulenceFrequency","_init_extra_turbulenceFrequency","_init_gravity","_init_extra_gravity","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","boolean","float32","vec3","notify","color","uint32","carbon","method","impl","adapted","reason","noop","name","continuousEmitter","rate","emissionDensity","maxEmissionDensity","maxDisplacement","position","create","direction","fromValues","angle","innerAngle","radius","inheritVelocity","minSpeed","maxSpeed","minLifeTime","maxLifeTime","sizes","sizeVariance","color0","createLinear","color1","color2","color3","textureIndex","colorMidpoint","velocityStretchRotation","drag","turbulenceAmplitude","turbulenceFrequency","gravity","Initialize","OnModified","Enable","value","IsEnabled","SetDirection","copy","SetPosition","Setup","emitterData","paramsData","emitter","parameters","colors","values","attractorStrength","SetValues","source","skipEvents","skipUpdate","UpdateValues","GetRevision","SetThreadSafeFlag","constructor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tr2GpuSharedEmitter.js","sources":["../../../../../src/trinity/particle/emitter/Tr2GpuSharedEmitter.js"],"sourcesContent":["// Source: trinity/trinity/Particle/Tr2GpuSharedEmitter.h\n// Source: trinity/trinity/Particle/Tr2GpuSharedEmitter.cpp\n// Source: trinity/trinity/Particle/Tr2GpuSharedEmitter_Blue.cpp\n// Source: trinity/trinity/Particle/Tr2GpuParticleSystem.h\nimport { color } from \"#math/color\";\nimport { vec3 } from \"#math/vec3\";\nimport { CjsModel } from \"#model\";\nimport { carbon, impl, io, type } from \"#schema\";\nimport { withITr2GenericEmitter } from \"../ITr2GenericEmitter/index.js\";\n\n\n/**\n * Authored parameters of a GPU particle emitter: emission cone and rate,\n * particle lifetime and speed range, size and colour ramp, and the drag,\n * turbulence and gravity terms the simulation applies.\n */\n@type.define({ className: \"Tr2GpuSharedEmitter\", family: \"particle\" })\nexport class Tr2GpuSharedEmitter extends withITr2GenericEmitter(CjsModel)\n{\n @io.persist\n @type.string\n name = \"\";\n\n @io.persist\n @type.boolean\n continuousEmitter = true;\n\n @io.persist\n @type.float32\n rate = 0;\n\n @io.persist\n @type.float32\n emissionDensity = 0;\n\n @io.persist\n @type.float32\n maxEmissionDensity = 10000;\n\n @io.persist\n @type.float32\n maxDisplacement = 1000;\n\n @io.persist\n @type.vec3\n position = vec3.create();\n\n @io.persist\n @type.vec3\n direction = vec3.fromValues(0, 1, 0);\n\n @io.persist\n @type.float32\n angle = 0;\n\n @io.persist\n @type.float32\n innerAngle = 0;\n\n @io.persist\n @type.float32\n radius = 0;\n\n @io.persist\n @type.float32\n inheritVelocity = 1;\n\n @io.persist\n @type.float32\n minSpeed = 0;\n\n @io.persist\n @type.float32\n maxSpeed = 0;\n\n @io.notify\n @io.persist\n @type.float32\n minLifeTime = 0;\n\n @io.notify\n @io.persist\n @type.float32\n maxLifeTime = 0;\n\n @io.notify\n @io.persist\n @type.vec3\n sizes = vec3.create();\n\n @io.notify\n @io.persist\n @type.float32\n sizeVariance = 0;\n\n @io.notify\n @io.persist\n @type.color\n color0 = color.createLinear();\n\n @io.notify\n @io.persist\n @type.color\n color1 = color.createLinear();\n\n @io.notify\n @io.persist\n @type.color\n color2 = color.createLinear();\n\n @io.notify\n @io.persist\n @type.color\n color3 = color.createLinear();\n\n @io.notify\n @io.persist\n @type.uint32\n textureIndex = 0;\n\n @io.notify\n @io.persist\n @type.float32\n colorMidpoint = 0.5;\n\n @io.notify\n @io.persist\n @type.float32\n velocityStretchRotation = 0;\n\n @io.notify\n @io.persist\n @type.float32\n drag = 0;\n\n @io.notify\n @io.persist\n @type.float32\n turbulenceAmplitude = 0;\n\n @io.notify\n @io.persist\n @type.uint32\n turbulenceFrequency = 1;\n\n @io.notify\n @io.persist\n @type.float32\n gravity = 0;\n\n #enabled = true;\n\n #previousTime = -1;\n\n #revision = 0;\n\n /**\n * Bumps the revision so a renderer holding this emitter rebuilds from it;\n * there are no GPU resources to create here.\n */\n @carbon.method\n @impl.adapted\n Initialize()\n {\n this.#revision++;\n return true;\n }\n\n /**\n * Bumps the revision so a renderer holding this emitter picks up the changed\n * parameters.\n */\n @carbon.method\n @impl.adapted\n OnModified()\n {\n this.#revision++;\n return true;\n }\n\n /**\n * Turns emission on or off; disabling also clears the spawn-time cursor so\n * re-enabling restarts timing instead of catching up on the idle interval.\n */\n @carbon.method\n @impl.adapted\n Enable(value)\n {\n this.#enabled = !!value;\n if (!this.#enabled) this.#previousTime = -1;\n }\n\n /** Reports whether this emitter is currently emitting. */\n @carbon.method\n @impl.adapted\n IsEnabled()\n {\n return this.#enabled;\n }\n\n /** Sets the emission cone axis in place, treating a missing value as zero. */\n @carbon.method\n @impl.adapted\n SetDirection(value)\n {\n vec3.copy(this.direction, value || Tr2GpuSharedEmitter.#zero3);\n }\n\n /** Sets the emitter origin in place, treating a missing value as zero. */\n @carbon.method\n @impl.adapted\n SetPosition(value)\n {\n vec3.copy(this.position, value || Tr2GpuSharedEmitter.#zero3);\n }\n\n /**\n * Projects Carbon's emitter and particle-parameter structs onto the schema-backed fields in one batched, event-free update followed by a single UpdateValues.\n * @param {object} emitterData emission shape and speed range; missing members fall back to the current values\n * @param {object} paramsData per-particle parameters; colors may be supplied either as a colors array or as color0..color3\n * attractorStrength is only forwarded on subclasses that declare it.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Projects Carbon's setup structs onto the schema-backed editor fields; renderer-only spawn history and transformed parameters remain adapter-owned.\")\n Setup(rate, emitterData, paramsData)\n {\n const emitter = emitterData || {};\n const parameters = paramsData || {};\n const colors = parameters.colors || [];\n const values = {\n rate,\n radius: emitter.radius,\n angle: emitter.angle,\n innerAngle: emitter.innerAngle,\n minSpeed: emitter.minSpeed,\n maxSpeed: emitter.maxSpeed,\n minLifeTime: parameters.minLifeTime,\n maxLifeTime: parameters.maxLifeTime,\n textureIndex: parameters.textureIndex,\n colorMidpoint: parameters.colorMidpoint ?? 0.5,\n color0: colors[0] ?? parameters.color0,\n color1: colors[1] ?? parameters.color1,\n color2: colors[2] ?? parameters.color2,\n color3: colors[3] ?? parameters.color3,\n sizes: parameters.sizes,\n sizeVariance: parameters.sizeVariance,\n drag: parameters.drag,\n turbulenceAmplitude: parameters.turbulenceAmplitude,\n turbulenceFrequency: parameters.turbulenceFrequency ?? 1,\n gravity: parameters.gravity,\n velocityStretchRotation: parameters.velocityStretchRotation\n };\n if (\"attractorStrength\" in this)\n {\n values.attractorStrength = parameters.attractorStrength;\n }\n\n this.SetValues(values, { source: this, skipEvents: true, skipUpdate: true });\n this.UpdateValues({ source: this, skipEvents: true });\n }\n\n /**\n * Returns the counter bumped by Initialize and OnModified, which a renderer\n * compares against its own copy to detect parameter changes.\n */\n @carbon.method\n @impl.adapted\n GetRevision()\n {\n return this.#revision;\n }\n\n /** Carbon's GPU emitter thread-safety hook is intentionally empty. */\n @impl.noop\n SetThreadSafeFlag()\n {\n }\n\n static #zero3 = vec3.create();\n}\n"],"names":["_Tr2GpuSharedEmitter","_identity","Tr2GpuSharedEmitter","_withITr2GenericEmitt","withITr2GenericEmitter","CjsModel","e","_init_name","_init_extra_name","_init_continuousEmitter","_init_extra_continuousEmitter","_init_rate","_init_extra_rate","_init_emissionDensity","_init_extra_emissionDensity","_init_maxEmissionDensity","_init_extra_maxEmissionDensity","_init_maxDisplacement","_init_extra_maxDisplacement","_init_position","_init_extra_position","_init_direction","_init_extra_direction","_init_angle","_init_extra_angle","_init_innerAngle","_init_extra_innerAngle","_init_radius","_init_extra_radius","_init_inheritVelocity","_init_extra_inheritVelocity","_init_minSpeed","_init_extra_minSpeed","_init_maxSpeed","_init_extra_maxSpeed","_init_minLifeTime","_init_extra_minLifeTime","_init_maxLifeTime","_init_extra_maxLifeTime","_init_sizes","_init_extra_sizes","_init_sizeVariance","_init_extra_sizeVariance","_init_color","_init_extra_color","_init_color2","_init_extra_color2","_init_color3","_init_extra_color3","_init_color4","_init_extra_color4","_init_textureIndex","_init_extra_textureIndex","_init_colorMidpoint","_init_extra_colorMidpoint","_init_velocityStretchRotation","_init_extra_velocityStretchRotation","_init_drag","_init_extra_drag","_init_turbulenceAmplitude","_init_extra_turbulenceAmplitude","_init_turbulenceFrequency","_init_extra_turbulenceFrequency","_init_gravity","_init_extra_gravity","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","boolean","float32","vec3","notify","color","uint32","carbon","method","impl","adapted","reason","noop","name","continuousEmitter","rate","emissionDensity","maxEmissionDensity","maxDisplacement","position","create","direction","fromValues","angle","innerAngle","radius","inheritVelocity","minSpeed","maxSpeed","minLifeTime","maxLifeTime","sizes","sizeVariance","color0","createLinear","color1","color2","color3","textureIndex","colorMidpoint","velocityStretchRotation","drag","turbulenceAmplitude","turbulenceFrequency","gravity","Initialize","OnModified","Enable","value","IsEnabled","SetDirection","copy","SetPosition","Setup","emitterData","paramsData","emitter","parameters","colors","values","attractorStrength","SetValues","source","skipEvents","skipUpdate","UpdateValues","GetRevision","SetThreadSafeFlag","constructor"],"mappings":";;;;;;;;;;;AAWA;AACA;AACA;AACA;AACA;AAJA,IAAAA;AAAA,IAAA,cAAAC,SAAA,CAAA;EAAA,QAKA,MAAAC,mBAAA,UAAAC,qBAAA,GACyCC,sBAAsB,CAACC,QAAQ,CAAC,EACzE;AAAA,IAAA;AAAA,MAAA,CAAA;QAAAC,CAAA,EAAA,CAAAC,UAAA,EAAAC,gBAAA,EAAAC,uBAAA,EAAAC,6BAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,wBAAA,EAAAC,8BAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,WAAA,EAAAC,iBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,WAAA,EAAAC,iBAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,WAAA,EAAAC,iBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,mBAAA,EAAAC,yBAAA,EAAAC,6BAAA,EAAAC,mCAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,yBAAA,EAAAC,+BAAA,EAAAC,yBAAA,EAAAC,+BAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,UAAA,CAAA;QAAAC,CAAA,EAAA,CAAAlE,oBAAA,EAAAmE,UAAA;AAAA,OAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,qBAAqB;AAAEC,QAAAA,MAAM,EAAE;AAAW,OAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAGnEC,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACM,MAAM,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAGXF,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACO,OAAO,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAGZH,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACS,IAAI,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAGTL,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACS,IAAI,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAGTL,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,oBAGZJ,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACM,MAAM,EACTN,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACM,MAAM,EACTN,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACM,MAAM,EACTN,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACS,IAAI,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAGTL,EAAE,EAAFA,EAAE,CAACM,MAAM,EACTN,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACM,MAAM,EACTN,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACW,KAAK,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAGVP,EAAE,EAAFA,EAAE,CAACM,MAAM,EACTN,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACW,KAAK,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAGVP,EAAE,EAAFA,EAAE,CAACM,MAAM,EACTN,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACW,KAAK,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAGVP,EAAE,EAAFA,EAAE,CAACM,MAAM,EACTN,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACW,KAAK,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAGVP,EAAE,EAAFA,EAAE,CAACM,MAAM,EACTN,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACY,MAAM,0BAGXR,EAAE,EAAFA,EAAE,CAACM,MAAM,EACTN,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACM,MAAM,EACTN,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACM,MAAM,EACTN,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACM,MAAM,EACTN,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAGZJ,EAAE,EAAFA,EAAE,CAACM,MAAM,EACTN,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACY,MAAM,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAGXR,EAAE,EAAFA,EAAE,CAACM,MAAM,EACTN,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAaZK,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAWZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAWZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAQZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAOZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAOZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAYZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,oJAAoJ,CAAC,mBA0CjKJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAOZD,IAAI,EAAJA,IAAI,CAACG,IAAI,yCAAApF,qBAAA,CAAA;AAAA;AA7PVqF,IAAAA,IAAI,IAAAvB,UAAA,CAAA,IAAA,CAAA,EAAA1D,UAAA,OAAG,EAAE,CAAA;AAITkF,IAAAA,iBAAiB,IAAAjF,gBAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,OAAG,IAAI,CAAA;AAIxBiF,IAAAA,IAAI,IAAAhF,6BAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,CAAC,CAAA;AAIRgF,IAAAA,eAAe,IAAA/E,gBAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,OAAG,CAAC,CAAA;AAInB+E,IAAAA,kBAAkB,IAAA9E,2BAAA,CAAA,IAAA,CAAA,EAAAC,wBAAA,OAAG,KAAK,CAAA;AAI1B8E,IAAAA,eAAe,IAAA7E,8BAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,OAAG,IAAI,CAAA;IAItB6E,QAAQ,IAAA5E,2BAAA,CAAA,IAAA,CAAA,EAAAC,cAAA,OAAG2D,IAAI,CAACiB,MAAM,EAAE,CAAA;AAIxBC,IAAAA,SAAS,IAAA5E,oBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAGyD,IAAI,CAACmB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAIpCC,IAAAA,KAAK,IAAA5E,qBAAA,CAAA,IAAA,CAAA,EAAAC,WAAA,OAAG,CAAC,CAAA;AAIT4E,IAAAA,UAAU,IAAA3E,iBAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAG,CAAC,CAAA;AAId2E,IAAAA,MAAM,IAAA1E,sBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,CAAC,CAAA;AAIV0E,IAAAA,eAAe,IAAAzE,kBAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,OAAG,CAAC,CAAA;AAInByE,IAAAA,QAAQ,IAAAxE,2BAAA,CAAA,IAAA,CAAA,EAAAC,cAAA,OAAG,CAAC,CAAA;AAIZwE,IAAAA,QAAQ,IAAAvE,oBAAA,CAAA,IAAA,CAAA,EAAAC,cAAA,OAAG,CAAC,CAAA;AAKZuE,IAAAA,WAAW,IAAAtE,oBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,CAAC,CAAA;AAKfsE,IAAAA,WAAW,IAAArE,uBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,CAAC,CAAA;IAKfqE,KAAK,IAAApE,uBAAA,CAAA,IAAA,CAAA,EAAAC,WAAA,OAAGuC,IAAI,CAACiB,MAAM,EAAE,CAAA;AAKrBY,IAAAA,YAAY,IAAAnE,iBAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,CAAC,CAAA;IAKhBmE,MAAM,IAAAlE,wBAAA,CAAA,IAAA,CAAA,EAAAC,WAAA,OAAGqC,KAAK,CAAC6B,YAAY,EAAE,CAAA;IAK7BC,MAAM,IAAAlE,iBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAGmC,KAAK,CAAC6B,YAAY,EAAE,CAAA;IAK7BE,MAAM,IAAAjE,kBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAGiC,KAAK,CAAC6B,YAAY,EAAE,CAAA;IAK7BG,MAAM,IAAAhE,kBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG+B,KAAK,CAAC6B,YAAY,EAAE,CAAA;AAK7BI,IAAAA,YAAY,IAAA/D,kBAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,CAAC,CAAA;AAKhB+D,IAAAA,aAAa,IAAA9D,wBAAA,CAAA,IAAA,CAAA,EAAAC,mBAAA,OAAG,GAAG,CAAA;AAKnB8D,IAAAA,uBAAuB,IAAA7D,yBAAA,CAAA,IAAA,CAAA,EAAAC,6BAAA,OAAG,CAAC,CAAA;AAK3B6D,IAAAA,IAAI,IAAA5D,mCAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,CAAC,CAAA;AAKR4D,IAAAA,mBAAmB,IAAA3D,gBAAA,CAAA,IAAA,CAAA,EAAAC,yBAAA,OAAG,CAAC,CAAA;AAKvB2D,IAAAA,mBAAmB,IAAA1D,+BAAA,CAAA,IAAA,CAAA,EAAAC,yBAAA,OAAG,CAAC,CAAA;AAKvB0D,IAAAA,OAAO,IAAAzD,+BAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,CAAC,CAAA;AAEX,IAAA,QAAQ,IAAAC,mBAAA,CAAA,IAAA,CAAA,EAAG,IAAI;IAEf,aAAa,GAAG,EAAE;IAElB,SAAS,GAAG,CAAC;;AAEb;AACF;AACA;AACA;AAGEwD,IAAAA,UAAUA,GACV;MACE,IAAI,CAAC,SAAS,EAAE;AAChB,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;AAGEC,IAAAA,UAAUA,GACV;MACE,IAAI,CAAC,SAAS,EAAE;AAChB,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;IAGEC,MAAMA,CAACC,KAAK,EACZ;AACE,MAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAACA,KAAK;AACvB,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,GAAG,EAAE;AAC7C,IAAA;;AAEA;AAGAC,IAAAA,SAASA,GACT;MACE,OAAO,IAAI,CAAC,QAAQ;AACtB,IAAA;;AAEA;IAGAC,YAAYA,CAACF,KAAK,EAClB;AACE7C,MAAAA,IAAI,CAACgD,IAAI,CAAC,IAAI,CAAC9B,SAAS,EAAE2B,KAAK,IAAIzH,oBAAmB,CAAC,MAAM,CAAC;AAChE,IAAA;;AAEA;IAGA6H,WAAWA,CAACJ,KAAK,EACjB;AACE7C,MAAAA,IAAI,CAACgD,IAAI,CAAC,IAAI,CAAChC,QAAQ,EAAE6B,KAAK,IAAIzH,oBAAmB,CAAC,MAAM,CAAC;AAC/D,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AAIE8H,IAAAA,KAAKA,CAACtC,IAAI,EAAEuC,WAAW,EAAEC,UAAU,EACnC;AACE,MAAA,MAAMC,OAAO,GAAGF,WAAW,IAAI,EAAE;AACjC,MAAA,MAAMG,UAAU,GAAGF,UAAU,IAAI,EAAE;AACnC,MAAA,MAAMG,MAAM,GAAGD,UAAU,CAACC,MAAM,IAAI,EAAE;AACtC,MAAA,MAAMC,MAAM,GAAG;QACb5C,IAAI;QACJU,MAAM,EAAE+B,OAAO,CAAC/B,MAAM;QACtBF,KAAK,EAAEiC,OAAO,CAACjC,KAAK;QACpBC,UAAU,EAAEgC,OAAO,CAAChC,UAAU;QAC9BG,QAAQ,EAAE6B,OAAO,CAAC7B,QAAQ;QAC1BC,QAAQ,EAAE4B,OAAO,CAAC5B,QAAQ;QAC1BC,WAAW,EAAE4B,UAAU,CAAC5B,WAAW;QACnCC,WAAW,EAAE2B,UAAU,CAAC3B,WAAW;QACnCQ,YAAY,EAAEmB,UAAU,CAACnB,YAAY;AACrCC,QAAAA,aAAa,EAAEkB,UAAU,CAAClB,aAAa,IAAI,GAAG;QAC9CN,MAAM,EAAEyB,MAAM,CAAC,CAAC,CAAC,IAAID,UAAU,CAACxB,MAAM;QACtCE,MAAM,EAAEuB,MAAM,CAAC,CAAC,CAAC,IAAID,UAAU,CAACtB,MAAM;QACtCC,MAAM,EAAEsB,MAAM,CAAC,CAAC,CAAC,IAAID,UAAU,CAACrB,MAAM;QACtCC,MAAM,EAAEqB,MAAM,CAAC,CAAC,CAAC,IAAID,UAAU,CAACpB,MAAM;QACtCN,KAAK,EAAE0B,UAAU,CAAC1B,KAAK;QACvBC,YAAY,EAAEyB,UAAU,CAACzB,YAAY;QACrCS,IAAI,EAAEgB,UAAU,CAAChB,IAAI;QACrBC,mBAAmB,EAAEe,UAAU,CAACf,mBAAmB;AACnDC,QAAAA,mBAAmB,EAAEc,UAAU,CAACd,mBAAmB,IAAI,CAAC;QACxDC,OAAO,EAAEa,UAAU,CAACb,OAAO;QAC3BJ,uBAAuB,EAAEiB,UAAU,CAACjB;OACrC;MACD,IAAI,mBAAmB,IAAI,IAAI,EAC/B;AACEmB,QAAAA,MAAM,CAACC,iBAAiB,GAAGH,UAAU,CAACG,iBAAiB;AACzD,MAAA;AAEA,MAAA,IAAI,CAACC,SAAS,CAACF,MAAM,EAAE;AAAEG,QAAAA,MAAM,EAAE,IAAI;AAAEC,QAAAA,UAAU,EAAE,IAAI;AAAEC,QAAAA,UAAU,EAAE;AAAK,OAAC,CAAC;MAC5E,IAAI,CAACC,YAAY,CAAC;AAAEH,QAAAA,MAAM,EAAE,IAAI;AAAEC,QAAAA,UAAU,EAAE;AAAK,OAAC,CAAC;AACvD,IAAA;;AAEA;AACF;AACA;AACA;AAGEG,IAAAA,WAAWA,GACX;MACE,OAAO,IAAI,CAAC,SAAS;AACvB,IAAA;;AAEA;IAEAC,iBAAiBA,GACjB,CACA;GAGD;AADQ,EAAA,MAAM,GAAGhE,IAAI,CAACiB,MAAM,EAAE;EAACgD,WAAAA,GAAA;IAAA,KAAA,CAAA/I,oBAAA,GAAAmE,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { type, io, carbon, impl } from '#schema';
|
|
3
3
|
import { CjsModel } from '#model';
|
|
4
|
-
import
|
|
4
|
+
import '../ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js';
|
|
5
|
+
import { withITr2GenericEmitter } from '../ITr2GenericEmitter/ITr2GenericEmitter.js';
|
|
5
6
|
|
|
6
7
|
var _withITr2GenericEmitt;
|
|
7
8
|
let _initProto, _initClass, _init_hasSpawnedParticles, _init_extra_hasSpawnedParticles, _init_name, _init_extra_name, _init_geometryResource, _init_extra_geometryResource, _init_meshIndex, _init_extra_meshIndex, _init_particleSystem, _init_extra_particleSystem, _init_geometryResourcePath, _init_extra_geometryResourcePath;
|
|
@@ -77,9 +78,9 @@ class Tr2StaticEmitter extends (_withITr2GenericEmitt = withITr2GenericEmitter(C
|
|
|
77
78
|
return spawned;
|
|
78
79
|
}
|
|
79
80
|
|
|
80
|
-
/**
|
|
81
|
-
* IInitialize.Initialize (Tr2StaticEmitter.cpp:35-48): Carbon starts the
|
|
82
|
-
* geometry resource fetch and propagates the thread-safe contract.
|
|
81
|
+
/**
|
|
82
|
+
* IInitialize.Initialize (Tr2StaticEmitter.cpp:35-48): Carbon starts the
|
|
83
|
+
* geometry resource fetch and propagates the thread-safe contract.
|
|
83
84
|
*/
|
|
84
85
|
Initialize() {
|
|
85
86
|
if (this.particleSystem && this.#isThreadSafe) {
|
|
@@ -88,10 +89,10 @@ class Tr2StaticEmitter extends (_withITr2GenericEmitt = withITr2GenericEmitter(C
|
|
|
88
89
|
return true;
|
|
89
90
|
}
|
|
90
91
|
|
|
91
|
-
/**
|
|
92
|
-
* INotify.OnModified (Tr2StaticEmitter.cpp:60-76): geometry path changes
|
|
93
|
-
* restart the resource fetch (host-owned here); particle-system changes
|
|
94
|
-
* re-propagate the thread-safe contract.
|
|
92
|
+
/**
|
|
93
|
+
* INotify.OnModified (Tr2StaticEmitter.cpp:60-76): geometry path changes
|
|
94
|
+
* restart the resource fetch (host-owned here); particle-system changes
|
|
95
|
+
* re-propagate the thread-safe contract.
|
|
95
96
|
*/
|
|
96
97
|
OnModified(propertyName) {
|
|
97
98
|
if ((!propertyName || propertyName === "particleSystem") && this.#isThreadSafe && this.particleSystem) {
|
|
@@ -106,12 +107,12 @@ class Tr2StaticEmitter extends (_withITr2GenericEmitt = withITr2GenericEmitter(C
|
|
|
106
107
|
if (this.particleSystem) this.particleSystem.SetThreadSafeFlag();
|
|
107
108
|
}
|
|
108
109
|
|
|
109
|
-
/**
|
|
110
|
-
* Both Carbon SpawnParticles overloads are empty for the static emitter -
|
|
111
|
-
* it only spawns once from Update (Tr2StaticEmitter.cpp:293-308).
|
|
110
|
+
/**
|
|
111
|
+
* Both Carbon SpawnParticles overloads are empty for the static emitter -
|
|
112
|
+
* it only spawns once from Update (Tr2StaticEmitter.cpp:293-308).
|
|
112
113
|
*/
|
|
113
|
-
/**
|
|
114
|
-
* Does nothing: a static emitter spawns only during Update, never in response to a per-particle spawn call.
|
|
114
|
+
/**
|
|
115
|
+
* Does nothing: a static emitter spawns only during Update, never in response to a per-particle spawn call.
|
|
115
116
|
*/
|
|
116
117
|
SpawnParticles(_a, _b, _c, _d, _e, _f) {}
|
|
117
118
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2StaticEmitter.js","sources":["../../../../../src/trinity/particle/emitter/Tr2StaticEmitter.js"],"sourcesContent":["// Source: trinity/trinity/Particle/Tr2StaticEmitter.h\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl, io, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport { withITr2GenericEmitter } from \"../ITr2GenericEmitter.js\";\n\r\n/** A one-shot particle emitter that spawns particles from a geometry resource's baked emission points on first update. */\r\n@type.define({ className: \"Tr2StaticEmitter\", family: \"particle\" })\r\nexport class Tr2StaticEmitter extends withITr2GenericEmitter(CjsModel)\n{\r\n\r\n #isThreadSafe = false;\r\n\r\n /** Carbon's internal one-shot spawn state. */\r\n @type.boolean\r\n hasSpawnedParticles = false;\r\n\r\n /** m_name (std::string) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n /** m_geometryResource (TriGrannyResPtr) [READ] */\r\n @io.read\r\n @type.objectRef(\"TriGrannyRes\")\r\n geometryResource = null;\r\n\r\n /** m_meshIndex (uint32_t) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.uint32\r\n meshIndex = 0;\r\n\r\n /** m_particleSystem (Tr2ParticleSystemPtr) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.model(\"Tr2ParticleSystem\")\r\n particleSystem = null;\r\n\r\n /** m_geometryResourcePath (std::string) [READWRITE, NOTIFY, PERSIST] */\r\n @io.notify\r\n @io.persist\r\n @type.string\r\n geometryResourcePath = \"\";\r\n\r\n /** Carbon method Spawn (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n /**\r\n * Resets the one-shot spawn flag so the emitter spawns again on the next update.\r\n */\r\n @impl.implemented\r\n Spawn()\r\n {\r\n this.hasSpawnedParticles = false;\r\n }\r\n\r\n /** Carbon method ForceSpawn -> DoSpawn (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Accepts decoded particle rows or a host geometry SpawnParticles adapter; native CMF/Granny vertex-buffer mapping remains resource-owned.\")\r\n ForceSpawn()\r\n {\r\n if (!this.particleSystem?.isValid || !this.geometryResource)\r\n {\r\n return false;\r\n }\r\n if (typeof this.geometryResource.SpawnParticles === \"function\")\r\n {\r\n this.particleSystem.ClearParticles();\r\n const result = this.geometryResource.SpawnParticles(this.particleSystem, this.meshIndex);\r\n this.hasSpawnedParticles = result !== false;\r\n return result;\r\n }\r\n const source = this.geometryResource.GetPayload?.() ?? this.geometryResource;\r\n const meshes = source?.meshes ?? source?.Meshes ?? [];\r\n const mesh = meshes[this.meshIndex] ?? null;\r\n const particles = mesh?.particles ?? mesh?.Particles ?? source?.particles ?? source?.Particles;\r\n if (!Array.isArray(particles))\r\n {\r\n return false;\r\n }\r\n this.particleSystem.ClearParticles();\r\n let spawned = 0;\r\n for (const particle of particles)\r\n {\r\n if (this.particleSystem.SpawnParticle(particle) === null)\n {\r\n break;\r\n }\r\n spawned++;\r\n }\r\n this.hasSpawnedParticles = true;\r\n return spawned;\r\n }\r\n\r\n /**\r\n * IInitialize.Initialize (Tr2StaticEmitter.cpp:35-48): Carbon starts the\r\n * geometry resource fetch and propagates the thread-safe contract.\r\n */\r\n @impl.adapted\r\n @impl.reason(\"Resource streaming is host-owned in the browser; geometryResource arrives via the loader, so only the thread-safe propagation is mirrored.\")\r\n Initialize()\r\n {\r\n if (this.particleSystem && this.#isThreadSafe)\r\n {\r\n this.particleSystem.SetThreadSafeFlag();\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * INotify.OnModified (Tr2StaticEmitter.cpp:60-76): geometry path changes\r\n * restart the resource fetch (host-owned here); particle-system changes\r\n * re-propagate the thread-safe contract.\r\n */\r\n @impl.adapted\r\n @impl.reason(\"Geometry reloads are host-owned; only Carbon's particle-system thread-safe propagation applies on the CPU side.\")\r\n OnModified(propertyName)\r\n {\r\n if ((!propertyName || propertyName === \"particleSystem\") && this.#isThreadSafe && this.particleSystem)\r\n {\r\n this.particleSystem.SetThreadSafeFlag();\n }\r\n return true;\r\n }\r\n\r\n /** ITr2GenericEmitter.SetThreadSafeFlag (Tr2StaticEmitter.cpp:83-90). */\r\n @impl.adapted\r\n /**\r\n * Marks the emitter thread-safe and propagates the flag to its particle system.\r\n */\r\n @impl.reason(\"JavaScript updates are single-threaded; the flag is retained and propagated only for Carbon contract parity.\")\r\n SetThreadSafeFlag()\r\n {\r\n this.#isThreadSafe = true;\r\n if (this.particleSystem) this.particleSystem.SetThreadSafeFlag();\n }\r\n\r\n /**\r\n * Both Carbon SpawnParticles overloads are empty for the static emitter -\r\n * it only spawns once from Update (Tr2StaticEmitter.cpp:293-308).\r\n */\r\n @impl.noop\r\n /**\r\n * Does nothing: a static emitter spawns only during Update, never in response to a per-particle spawn call.\r\n */\r\n SpawnParticles(_a, _b, _c, _d, _e, _f)\r\n {\r\n }\r\n\r\n /** ITr2GenericEmitter.Update (Tr2StaticEmitter.cpp:274-280): one-shot spawn. */\r\n @impl.adapted\r\n Update(_updateArguments)\r\n {\r\n return this.hasSpawnedParticles ? false : this.ForceSpawn();\r\n }\r\n\r\n}\r\n"],"names":["_Tr2StaticEmitter","Tr2StaticEmitter","_withITr2GenericEmitt","withITr2GenericEmitter","CjsModel","e","_init_hasSpawnedParticles","_init_extra_hasSpawnedParticles","_init_name","_init_extra_name","_init_geometryResource","_init_extra_geometryResource","_init_meshIndex","_init_extra_meshIndex","_init_particleSystem","_init_extra_particleSystem","_init_geometryResourcePath","_init_extra_geometryResourcePath","_initProto","c","_initClass","_applyDecs","type","define","className","family","boolean","io","persist","string","read","objectRef","uint32","notify","model","carbon","method","impl","implemented","adapted","reason","noop","constructor","args","hasSpawnedParticles","name","geometryResource","meshIndex","particleSystem","geometryResourcePath","Spawn","ForceSpawn","isValid","SpawnParticles","ClearParticles","result","source","GetPayload","meshes","Meshes","mesh","particles","Particles","Array","isArray","spawned","particle","SpawnParticle","Initialize","SetThreadSafeFlag","OnModified","propertyName","_a","_b","_c","_d","_e","_f","Update","_updateArguments"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tr2StaticEmitter.js","sources":["../../../../../src/trinity/particle/emitter/Tr2StaticEmitter.js"],"sourcesContent":["// Source: trinity/trinity/Particle/Tr2StaticEmitter.h\n// Hand-maintained from Carbon source, promoted out of generated intake.\nimport { carbon, impl, io, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport { withITr2GenericEmitter } from \"../ITr2GenericEmitter/index.js\";\n\n/** A one-shot particle emitter that spawns particles from a geometry resource's baked emission points on first update. */\n@type.define({ className: \"Tr2StaticEmitter\", family: \"particle\" })\nexport class Tr2StaticEmitter extends withITr2GenericEmitter(CjsModel)\n{\n\n #isThreadSafe = false;\n\n /** Carbon's internal one-shot spawn state. */\n @type.boolean\n hasSpawnedParticles = false;\n\n /** m_name (std::string) [READWRITE, PERSIST] */\n @io.persist\n @type.string\n name = \"\";\n\n /** m_geometryResource (TriGrannyResPtr) [READ] */\n @io.read\n @type.objectRef(\"TriGrannyRes\")\n geometryResource = null;\n\n /** m_meshIndex (uint32_t) [READWRITE, PERSIST] */\n @io.persist\n @type.uint32\n meshIndex = 0;\n\n /** m_particleSystem (Tr2ParticleSystemPtr) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.model(\"Tr2ParticleSystem\")\n particleSystem = null;\n\n /** m_geometryResourcePath (std::string) [READWRITE, NOTIFY, PERSIST] */\n @io.notify\n @io.persist\n @type.string\n geometryResourcePath = \"\";\n\n /** Carbon method Spawn (MAP_METHOD_AND_WRAP). */\n @carbon.method\n /**\n * Resets the one-shot spawn flag so the emitter spawns again on the next update.\n */\n @impl.implemented\n Spawn()\n {\n this.hasSpawnedParticles = false;\n }\n\n /** Carbon method ForceSpawn -> DoSpawn (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Accepts decoded particle rows or a host geometry SpawnParticles adapter; native CMF/Granny vertex-buffer mapping remains resource-owned.\")\n ForceSpawn()\n {\n if (!this.particleSystem?.isValid || !this.geometryResource)\n {\n return false;\n }\n if (typeof this.geometryResource.SpawnParticles === \"function\")\n {\n this.particleSystem.ClearParticles();\n const result = this.geometryResource.SpawnParticles(this.particleSystem, this.meshIndex);\n this.hasSpawnedParticles = result !== false;\n return result;\n }\n const source = this.geometryResource.GetPayload?.() ?? this.geometryResource;\n const meshes = source?.meshes ?? source?.Meshes ?? [];\n const mesh = meshes[this.meshIndex] ?? null;\n const particles = mesh?.particles ?? mesh?.Particles ?? source?.particles ?? source?.Particles;\n if (!Array.isArray(particles))\n {\n return false;\n }\n this.particleSystem.ClearParticles();\n let spawned = 0;\n for (const particle of particles)\n {\n if (this.particleSystem.SpawnParticle(particle) === null)\n {\n break;\n }\n spawned++;\n }\n this.hasSpawnedParticles = true;\n return spawned;\n }\n\n /**\n * IInitialize.Initialize (Tr2StaticEmitter.cpp:35-48): Carbon starts the\n * geometry resource fetch and propagates the thread-safe contract.\n */\n @impl.adapted\n @impl.reason(\"Resource streaming is host-owned in the browser; geometryResource arrives via the loader, so only the thread-safe propagation is mirrored.\")\n Initialize()\n {\n if (this.particleSystem && this.#isThreadSafe)\n {\n this.particleSystem.SetThreadSafeFlag();\n }\n return true;\n }\n\n /**\n * INotify.OnModified (Tr2StaticEmitter.cpp:60-76): geometry path changes\n * restart the resource fetch (host-owned here); particle-system changes\n * re-propagate the thread-safe contract.\n */\n @impl.adapted\n @impl.reason(\"Geometry reloads are host-owned; only Carbon's particle-system thread-safe propagation applies on the CPU side.\")\n OnModified(propertyName)\n {\n if ((!propertyName || propertyName === \"particleSystem\") && this.#isThreadSafe && this.particleSystem)\n {\n this.particleSystem.SetThreadSafeFlag();\n }\n return true;\n }\n\n /** ITr2GenericEmitter.SetThreadSafeFlag (Tr2StaticEmitter.cpp:83-90). */\n @impl.adapted\n /**\n * Marks the emitter thread-safe and propagates the flag to its particle system.\n */\n @impl.reason(\"JavaScript updates are single-threaded; the flag is retained and propagated only for Carbon contract parity.\")\n SetThreadSafeFlag()\n {\n this.#isThreadSafe = true;\n if (this.particleSystem) this.particleSystem.SetThreadSafeFlag();\n }\n\n /**\n * Both Carbon SpawnParticles overloads are empty for the static emitter -\n * it only spawns once from Update (Tr2StaticEmitter.cpp:293-308).\n */\n @impl.noop\n /**\n * Does nothing: a static emitter spawns only during Update, never in response to a per-particle spawn call.\n */\n SpawnParticles(_a, _b, _c, _d, _e, _f)\n {\n }\n\n /** ITr2GenericEmitter.Update (Tr2StaticEmitter.cpp:274-280): one-shot spawn. */\n @impl.adapted\n Update(_updateArguments)\n {\n return this.hasSpawnedParticles ? false : this.ForceSpawn();\n }\n\n}\n"],"names":["_Tr2StaticEmitter","Tr2StaticEmitter","_withITr2GenericEmitt","withITr2GenericEmitter","CjsModel","e","_init_hasSpawnedParticles","_init_extra_hasSpawnedParticles","_init_name","_init_extra_name","_init_geometryResource","_init_extra_geometryResource","_init_meshIndex","_init_extra_meshIndex","_init_particleSystem","_init_extra_particleSystem","_init_geometryResourcePath","_init_extra_geometryResourcePath","_initProto","c","_initClass","_applyDecs","type","define","className","family","boolean","io","persist","string","read","objectRef","uint32","notify","model","carbon","method","impl","implemented","adapted","reason","noop","constructor","args","hasSpawnedParticles","name","geometryResource","meshIndex","particleSystem","geometryResourcePath","Spawn","ForceSpawn","isValid","SpawnParticles","ClearParticles","result","source","GetPayload","meshes","Meshes","mesh","particles","Particles","Array","isArray","spawned","particle","SpawnParticle","Initialize","SetThreadSafeFlag","OnModified","propertyName","_a","_b","_c","_d","_e","_f","Update","_updateArguments"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { Tr2ParticleSystem } from './Tr2ParticleSystem.js';
|
|
2
|
-
export {
|
|
2
|
+
export { ITr2GenericEmitterUpdateArguments } from './ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js';
|
|
3
|
+
export { ITr2GenericEmitter, withITr2GenericEmitter } from './ITr2GenericEmitter/ITr2GenericEmitter.js';
|
|
3
4
|
export { ITr2AttributeGenerator } from './attribute/ITr2AttributeGenerator.js';
|
|
4
5
|
export { Tr2CapsuleShapeAttributeGenerator } from './attribute/Tr2CapsuleShapeAttributeGenerator.js';
|
|
5
6
|
export { Tr2ConsecutiveIntegerAttributeGenerator } from './attribute/Tr2ConsecutiveIntegerAttributeGenerator.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -35,7 +35,13 @@ class TriStepPushRenderTarget extends _TriRenderStep {
|
|
|
35
35
|
* TriStepPopRenderTarget in the same job or the job's stack guard unwinds it.
|
|
36
36
|
*/
|
|
37
37
|
Execute(_realTime, _simTime, renderContext) {
|
|
38
|
-
|
|
38
|
+
// CARBON BRANCHES BETWEEN TWO OVERLOADS HERE (`cpp:13-24`), and the
|
|
39
|
+
// difference is not cosmetic: with a target it binds one, without it calls
|
|
40
|
+
// the slot-only form that saves the slot and binds NOTHING. Passing a null
|
|
41
|
+
// target through would instead bind an empty texture and clear the slot,
|
|
42
|
+
// which is a third thing - the one Tr2ShadowMap actually wants.
|
|
43
|
+
const esm = renderContext.GetEffectStateManager();
|
|
44
|
+
if (this.renderTarget) esm.PushRenderTarget(this.renderTarget, this.slot);else esm.PushRenderTarget(undefined, this.slot);
|
|
39
45
|
return _TriRenderJob.StepResult.RS_OK;
|
|
40
46
|
}
|
|
41
47
|
static {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriStepPushRenderTarget.js","sources":["../../../../../src/trinity/renderJob/step/TriStepPushRenderTarget.js"],"sourcesContent":["// Source: trinity/trinity/RenderJob/TriStepPushRenderTarget.h\n// Source: trinity/trinity/RenderJob/TriStepPushRenderTarget.cpp\nimport { carbon, impl, io, type } from \"#schema\";\nimport { TriRenderStep } from \"./TriRenderStep.js\";\nimport { TriRenderJob } from \"../TriRenderJob.js\";\n\n\n/** Step that pushes a render target onto the render context's stack for a given slot. */\n@type.define({ className: \"TriStepPushRenderTarget\", family: \"renderJob\" })\nexport class TriStepPushRenderTarget extends TriRenderStep\n{\n @io.readwrite\n @type.uint32\n slot = 0;\n\n @io.readwrite\n @type.objectRef(\"Tr2RenderTarget\")\n renderTarget = null;\n\n /** Stores the render target and the slot it is pushed for. */\n @carbon.method\n @impl.adapted\n __init__(renderTarget = null, slot = 0)\n {\n this.renderTarget = renderTarget ?? null;\n this.slot = Number(slot) >>> 0;\n }\n\n /**\n * Pushes the render target for its slot; every push needs a matching\n * TriStepPopRenderTarget in the same job or the job's stack guard unwinds it.\n */\n @carbon.method\n @impl.implemented\n Execute(_realTime, _simTime, renderContext)\n {\n renderContext.GetEffectStateManager().PushRenderTarget(this.renderTarget, this.slot);\n return TriRenderJob.StepResult.RS_OK;\n }\n}\n"],"names":["_TriStepPushRenderTar","TriStepPushRenderTarget","TriRenderStep","e","_init_slot","_init_extra_slot","_init_renderTarget","_init_extra_renderTarget","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","readwrite","uint32","objectRef","carbon","method","impl","adapted","implemented","constructor","args","slot","renderTarget","__init__","Number","Execute","_realTime","_simTime","renderContext","GetEffectStateManager","PushRenderTarget","TriRenderJob","StepResult","RS_OK"],"mappings":";;;;;;;AAOA;AAAA,IAAAA;AACA,MAAAC,uBAAA,SAC6CC,cAAa,CAC1D;AAAA,EAAA;AAAA,IAAA,CAAA;MAAAC,CAAA,EAAA,CAAAC,UAAA,EAAAC,gBAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAAT,qBAAA,EAAAU,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,yBAAyB;AAAEC,MAAAA,MAAM,EAAE;KAAa,CAAC,MAGxEC,EAAE,EAAFA,EAAE,CAACC,SAAS,EACZL,IAAI,EAAJA,IAAI,CAACM,MAAM,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAGXF,EAAE,EAAFA,EAAE,CAACC,SAAS,EAAA,MAAA,EACZL,IAAI,CAACO,SAAS,CAAC,iBAAiB,CAAC,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAIjCC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAWZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAxB0BtB,cAAa,CAAA;AAAA;AAAAuB,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAnB,wBAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAIxDoB,EAAAA,IAAI,IAAAnB,UAAA,CAAA,IAAA,CAAA,EAAAJ,UAAA,OAAG,CAAC,CAAA;AAIRwB,EAAAA,YAAY,IAAAvB,gBAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,IAAI,CAAA;;AAEnB;EAGAuB,QAAQA,CAACD,YAAY,GAAG,IAAI,EAAED,IAAI,GAAG,CAAC,EACtC;AACE,IAAA,IAAI,CAACC,YAAY,GAAGA,YAAY,IAAI,IAAI;IACxC,IAAI,CAACD,IAAI,GAAGG,MAAM,CAACH,IAAI,CAAC,KAAK,CAAC;AAChC,EAAA;;AAEA;AACF;AACA;AACA;AAGEI,EAAAA,OAAOA,CAACC,SAAS,EAAEC,QAAQ,EAAEC,aAAa,EAC1C;
|
|
1
|
+
{"version":3,"file":"TriStepPushRenderTarget.js","sources":["../../../../../src/trinity/renderJob/step/TriStepPushRenderTarget.js"],"sourcesContent":["// Source: trinity/trinity/RenderJob/TriStepPushRenderTarget.h\n// Source: trinity/trinity/RenderJob/TriStepPushRenderTarget.cpp\nimport { carbon, impl, io, type } from \"#schema\";\nimport { TriRenderStep } from \"./TriRenderStep.js\";\nimport { TriRenderJob } from \"../TriRenderJob.js\";\n\n\n/** Step that pushes a render target onto the render context's stack for a given slot. */\n@type.define({ className: \"TriStepPushRenderTarget\", family: \"renderJob\" })\nexport class TriStepPushRenderTarget extends TriRenderStep\n{\n @io.readwrite\n @type.uint32\n slot = 0;\n\n @io.readwrite\n @type.objectRef(\"Tr2RenderTarget\")\n renderTarget = null;\n\n /** Stores the render target and the slot it is pushed for. */\n @carbon.method\n @impl.adapted\n __init__(renderTarget = null, slot = 0)\n {\n this.renderTarget = renderTarget ?? null;\n this.slot = Number(slot) >>> 0;\n }\n\n /**\n * Pushes the render target for its slot; every push needs a matching\n * TriStepPopRenderTarget in the same job or the job's stack guard unwinds it.\n */\n @carbon.method\n @impl.implemented\n Execute(_realTime, _simTime, renderContext)\n {\n // CARBON BRANCHES BETWEEN TWO OVERLOADS HERE (`cpp:13-24`), and the\n // difference is not cosmetic: with a target it binds one, without it calls\n // the slot-only form that saves the slot and binds NOTHING. Passing a null\n // target through would instead bind an empty texture and clear the slot,\n // which is a third thing - the one Tr2ShadowMap actually wants.\n const esm = renderContext.GetEffectStateManager();\n\n if (this.renderTarget) esm.PushRenderTarget(this.renderTarget, this.slot);\n else esm.PushRenderTarget(undefined, this.slot);\n return TriRenderJob.StepResult.RS_OK;\n }\n}\n"],"names":["_TriStepPushRenderTar","TriStepPushRenderTarget","TriRenderStep","e","_init_slot","_init_extra_slot","_init_renderTarget","_init_extra_renderTarget","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","readwrite","uint32","objectRef","carbon","method","impl","adapted","implemented","constructor","args","slot","renderTarget","__init__","Number","Execute","_realTime","_simTime","renderContext","esm","GetEffectStateManager","PushRenderTarget","undefined","TriRenderJob","StepResult","RS_OK"],"mappings":";;;;;;;AAOA;AAAA,IAAAA;AACA,MAAAC,uBAAA,SAC6CC,cAAa,CAC1D;AAAA,EAAA;AAAA,IAAA,CAAA;MAAAC,CAAA,EAAA,CAAAC,UAAA,EAAAC,gBAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAAT,qBAAA,EAAAU,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,yBAAyB;AAAEC,MAAAA,MAAM,EAAE;KAAa,CAAC,MAGxEC,EAAE,EAAFA,EAAE,CAACC,SAAS,EACZL,IAAI,EAAJA,IAAI,CAACM,MAAM,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAGXF,EAAE,EAAFA,EAAE,CAACC,SAAS,EAAA,MAAA,EACZL,IAAI,CAACO,SAAS,CAAC,iBAAiB,CAAC,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAIjCC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAWZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAxB0BtB,cAAa,CAAA;AAAA;AAAAuB,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAnB,wBAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAIxDoB,EAAAA,IAAI,IAAAnB,UAAA,CAAA,IAAA,CAAA,EAAAJ,UAAA,OAAG,CAAC,CAAA;AAIRwB,EAAAA,YAAY,IAAAvB,gBAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,IAAI,CAAA;;AAEnB;EAGAuB,QAAQA,CAACD,YAAY,GAAG,IAAI,EAAED,IAAI,GAAG,CAAC,EACtC;AACE,IAAA,IAAI,CAACC,YAAY,GAAGA,YAAY,IAAI,IAAI;IACxC,IAAI,CAACD,IAAI,GAAGG,MAAM,CAACH,IAAI,CAAC,KAAK,CAAC;AAChC,EAAA;;AAEA;AACF;AACA;AACA;AAGEI,EAAAA,OAAOA,CAACC,SAAS,EAAEC,QAAQ,EAAEC,aAAa,EAC1C;AACE;AACA;AACA;AACA;AACA;AACA,IAAA,MAAMC,GAAG,GAAGD,aAAa,CAACE,qBAAqB,EAAE;IAEjD,IAAI,IAAI,CAACR,YAAY,EAAEO,GAAG,CAACE,gBAAgB,CAAC,IAAI,CAACT,YAAY,EAAE,IAAI,CAACD,IAAI,CAAC,CAAC,KACrEQ,GAAG,CAACE,gBAAgB,CAACC,SAAS,EAAE,IAAI,CAACX,IAAI,CAAC;AAC/C,IAAA,OAAOY,aAAY,CAACC,UAAU,CAACC,KAAK;AACtC,EAAA;AAAC,EAAA;IAAA/B,UAAA,EAAA;AAAA;AACH;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { io, type, carbon, impl, CjsSchema } from '#schema';
|
|
3
|
+
import { Tr2ResourceSetDescriptionAL, Tr2RegisterMapAL } from '#trinityal';
|
|
3
4
|
import { Tr2Material as _Tr2Material } from './Tr2Material.js';
|
|
4
5
|
import { vec4 } from '#math/vec4';
|
|
5
6
|
import { Tr2ConstantEffectParameter as _Tr2ConstantEffectPar } from './parameter/Tr2ConstantEffectParameter.js';
|
|
@@ -15,6 +16,7 @@ import { GetEffectPathDefaults, NormalizeResourcePath, ResolveEffectPath } from
|
|
|
15
16
|
import { Tr2EffectStateManager as _Tr2EffectStateManage } from './Tr2EffectStateManager.js';
|
|
16
17
|
import { Tr2ShaderOption as _Tr2ShaderOption } from './reflection/Tr2ShaderOption.js';
|
|
17
18
|
import { Tr2SamplerOverride as _Tr2SamplerOverride } from './sampler/Tr2SamplerOverride.js';
|
|
19
|
+
import { Tr2RuntimeTextureParameter as _Tr2RuntimeTexturePar } from './parameter/Tr2RuntimeTextureParameter.js';
|
|
18
20
|
import { Tr2Vector2Parameter as _Tr2Vector2Parameter } from './parameter/Tr2Vector2Parameter.js';
|
|
19
21
|
import { Tr2Vector3Parameter as _Tr2Vector3Parameter } from './parameter/Tr2Vector3Parameter.js';
|
|
20
22
|
import { Tr2Vector4Parameter as _Tr2Vector4Parameter } from './parameter/Tr2Vector4Parameter.js';
|
|
@@ -26,7 +28,7 @@ import { CjsParameter } from './parameter/CjsParameter.js';
|
|
|
26
28
|
import { ResourceFlags } from './parameter/ITr2EffectValue.js';
|
|
27
29
|
import { Tr2VariableStore as _Tr2VariableStore } from '../core/variable/Tr2VariableStore.js';
|
|
28
30
|
|
|
29
|
-
let _initProto, _initClass, _init_effectFilePath, _init_extra_effectFilePath, _init_options, _init_extra_options, _init_name, _init_extra_name, _init_constParameters, _init_extra_constParameters, _init_parameters, _init_extra_parameters, _init_resources, _init_extra_resources, _init_effectResource, _init_extra_effectResource, _init_actualEffectFilePath, _init_extra_actualEffectFilePath, _init_samplerOverrides, _init_extra_samplerOverrides;
|
|
31
|
+
let _initProto, _initClass, _init_effectFilePath, _init_extra_effectFilePath, _init_options, _init_extra_options, _init_name, _init_extra_name, _init_constParameters, _init_extra_constParameters, _init_parameters, _init_extra_parameters, _init_resources, _init_extra_resources, _init_effectResource, _init_extra_effectResource, _init_actualEffectFilePath, _init_extra_actualEffectFilePath, _init_samplerOverrides, _init_extra_samplerOverrides, _call_BuildParametersForPasses;
|
|
30
32
|
function requireShader(shader) {
|
|
31
33
|
if (!(shader instanceof Tr2Shader)) {
|
|
32
34
|
throw new TypeError("Shader reflection must be a Tr2Shader.");
|
|
@@ -34,19 +36,106 @@ function requireShader(shader) {
|
|
|
34
36
|
return shader;
|
|
35
37
|
}
|
|
36
38
|
|
|
39
|
+
/** Whether a value is a texture rather than a number or vector. */
|
|
40
|
+
function IsTextureLike(value) {
|
|
41
|
+
return typeof value === "object" && value !== null && typeof value.length !== "number" && (typeof value.IsValid === "function" || typeof value.GetTexture === "function");
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Carbon's overload set, resolved by value (`Tr2Effect.h:93-100`).
|
|
46
|
+
*
|
|
47
|
+
* Each width has its own parameter class, matching Carbon's overload per type.
|
|
48
|
+
*/
|
|
49
|
+
function ParameterClassFor(value) {
|
|
50
|
+
if (typeof value === "number") return _Tr2FloatParameter;
|
|
51
|
+
if (typeof value?.length !== "number") return null;
|
|
52
|
+
if (value.length === 2) return _Tr2Vector2Parameter;
|
|
53
|
+
if (value.length === 3) return _Tr2Vector3Parameter;
|
|
54
|
+
if (value.length === 4) return _Tr2Vector4Parameter;
|
|
55
|
+
if (value.length === 16) return _Tr2Matrix4Parameter;
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/** A readable kind for the refusal message. */
|
|
60
|
+
function describe(value) {
|
|
61
|
+
if (value === undefined) return "undefined";
|
|
62
|
+
if (typeof value?.length === "number") return `a ${value.length}-component value`;
|
|
63
|
+
return typeof value;
|
|
64
|
+
}
|
|
65
|
+
|
|
37
66
|
/** Owns the mutable effect facade: shader path and options, authored parameters and resources, sampler overrides, variable-store resolution, and rebuild state. */
|
|
38
67
|
let _Tr2Effect;
|
|
39
68
|
new class extends _identity {
|
|
40
69
|
static [class Tr2Effect extends _Tr2Material {
|
|
41
70
|
static {
|
|
42
71
|
({
|
|
43
|
-
e: [_init_effectFilePath, _init_extra_effectFilePath, _init_options, _init_extra_options, _init_name, _init_extra_name, _init_constParameters, _init_extra_constParameters, _init_parameters, _init_extra_parameters, _init_resources, _init_extra_resources, _init_effectResource, _init_extra_effectResource, _init_actualEffectFilePath, _init_extra_actualEffectFilePath, _init_samplerOverrides, _init_extra_samplerOverrides, _initProto],
|
|
72
|
+
e: [_call_BuildParametersForPasses, _init_effectFilePath, _init_extra_effectFilePath, _init_options, _init_extra_options, _init_name, _init_extra_name, _init_constParameters, _init_extra_constParameters, _init_parameters, _init_extra_parameters, _init_resources, _init_extra_resources, _init_effectResource, _init_extra_effectResource, _init_actualEffectFilePath, _init_extra_actualEffectFilePath, _init_samplerOverrides, _init_extra_samplerOverrides, _initProto],
|
|
44
73
|
c: [_Tr2Effect, _initClass]
|
|
45
74
|
} = _applyDecs2311(this, [type.define({
|
|
46
75
|
className: "Tr2Effect",
|
|
47
76
|
family: "shader"
|
|
48
|
-
})], [[[io, io.notify, void 0, io.rebuild("pipeline"), io, io.always, io, io.persist, type, type.string], 16, "effectFilePath"], [[void 0, io.rebuild("pipeline"), io, io.persist, void 0, type.list("Tr2ShaderOption")], 16, "options"], [[io, io.persist, type, type.string], 16, "name"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("Tr2ConstantEffectParameter")], 16, "constParameters"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("ITriEffectParameter")], 16, "parameters"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("ITriEffectResourceParameter")], 16, "resources"], [[io, io.read, void 0, type.objectRef("Tr2EffectRes")], 16, "effectResource"], [[io, io.read, type, type.string], 16, "actualEffectFilePath"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("Tr2SamplerOverride")], 16, "samplerOverrides"], [[carbon, carbon.method, impl, impl.adapted], 18, "RebuildCachedData"], [[carbon, carbon.method, impl, impl.implemented], 18, "RebuildCachedDataAsync"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetVariableStore"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetVariableStore"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetConstParameters"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetHashValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetParameterAnnotations"], [[carbon, carbon.method, impl, impl.adapted], 18, "PopulateParameters"], [[carbon, carbon.method, impl, impl.implemented], 18, "EndUpdate"], [[carbon, carbon.method, impl, impl.adapted], 18, "PruneParameters"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsParameterUsedByTechnique"], [[carbon, carbon.method, impl, impl.implemented], 18, "StartUpdate"], [[
|
|
77
|
+
})], [[[io, io.notify, void 0, io.rebuild("pipeline"), io, io.always, io, io.persist, type, type.string], 16, "effectFilePath"], [[void 0, io.rebuild("pipeline"), io, io.persist, void 0, type.list("Tr2ShaderOption")], 16, "options"], [[io, io.persist, type, type.string], 16, "name"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("Tr2ConstantEffectParameter")], 16, "constParameters"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("ITriEffectParameter")], 16, "parameters"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("ITriEffectResourceParameter")], 16, "resources"], [[io, io.read, void 0, type.objectRef("Tr2EffectRes")], 16, "effectResource"], [[io, io.read, type, type.string], 16, "actualEffectFilePath"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("Tr2SamplerOverride")], 16, "samplerOverrides"], [[carbon, carbon.method, impl, impl.adapted], 18, "RebuildCachedData"], [[carbon, carbon.method, impl, impl.implemented], 18, "RebuildCachedDataAsync"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetVariableStore"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetVariableStore"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetConstParameters"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetHashValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetParameterAnnotations"], [[carbon, carbon.method, impl, impl.adapted], 18, "PopulateParameters"], [[carbon, carbon.method, impl, impl.implemented], 18, "EndUpdate"], [[carbon, carbon.method, impl, impl.adapted], 18, "PruneParameters"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsParameterUsedByTechnique"], [[carbon, carbon.method, impl, impl.implemented], 18, "StartUpdate"], [[impl, impl.adapted, void 0, impl.reason("Device-free JS reflection supplies stage signatures in authored order; pass descriptions allocate their map here and sampler states are seeded by the applying context.")], 18, "BuildParametersForPasses", function () {
|
|
78
|
+
// Carbon's `m_parametersForPasses.clear()` (Tr2Effect.cpp:693) tears down
|
|
79
|
+
// value members: each stage's constant buffer and each pass's resource
|
|
80
|
+
// set die with it. Ours are device objects behind handles, so they are
|
|
81
|
+
// destroyed by name before the array is dropped - otherwise every rebuild
|
|
82
|
+
// leaked one GPUBuffer per stage.
|
|
83
|
+
for (const technique of this.parametersForPasses ?? []) {
|
|
84
|
+
for (const pass of technique?.passes ?? []) {
|
|
85
|
+
for (const stageInput of pass?.stageInput ?? []) stageInput?.constantBuffer?.Destroy();
|
|
86
|
+
pass?.resourceSet?.Destroy();
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
this.parametersForPasses = [];
|
|
90
|
+
const techniques = this.shader?.GetEffect?.()?.techniques ?? [];
|
|
91
|
+
for (const technique of techniques) {
|
|
92
|
+
const inputs = new _Tr2EffectTechniqueIn();
|
|
93
|
+
for (const pass of technique?.passes ?? []) {
|
|
94
|
+
const passParameters = new _Tr2EffectPassParamet();
|
|
95
|
+
|
|
96
|
+
// Carbon builds the map from stage signatures before material writes
|
|
97
|
+
// (Tr2EffectDescription.cpp:617-646; Tr2Effect.cpp:708). Our device-free
|
|
98
|
+
// reflection keeps sampler metadata; states are seeded by the applying
|
|
99
|
+
// context, as documented on Tr2Material.SeedSamplers.
|
|
100
|
+
const stages = [];
|
|
101
|
+
const signatures = [];
|
|
102
|
+
const ordered = pass.stageOrder?.length ? pass.stageOrder : pass.stageInputs.map((_, stage) => stage);
|
|
103
|
+
for (const stage of ordered) {
|
|
104
|
+
if (!pass.stageInputs[stage]?.exists) continue;
|
|
105
|
+
stages.push(stage);
|
|
106
|
+
signatures.push(pass.stageInputs[stage].signature);
|
|
107
|
+
}
|
|
108
|
+
passParameters.resourceSetDesc = new Tr2ResourceSetDescriptionAL({
|
|
109
|
+
registers: new Tr2RegisterMapAL({
|
|
110
|
+
stages,
|
|
111
|
+
signatures
|
|
112
|
+
})
|
|
113
|
+
});
|
|
114
|
+
passParameters.resourceSetHash = 0;
|
|
115
|
+
passParameters.resourceSetDirty = true;
|
|
116
|
+
passParameters.compatibleWithGdr = true;
|
|
117
|
+
const stageInputs = pass?.stageInputs ?? [];
|
|
118
|
+
for (let stageType = 0; stageType < stageInputs.length; stageType += 1) {
|
|
119
|
+
const stage = stageInputs[stageType];
|
|
120
|
+
if (!stage?.exists) continue;
|
|
121
|
+
|
|
122
|
+
// A stage Carbon's GDR path cannot express: anything but vertex,
|
|
123
|
+
// pixel or compute (Tr2Effect.cpp:723-726).
|
|
124
|
+
if (stageType !== ShaderStageType.VERTEX_SHADER && stageType !== ShaderStageType.PIXEL_SHADER && stageType !== ShaderStageType.COMPUTE_SHADER) {
|
|
125
|
+
passParameters.compatibleWithGdr = false;
|
|
126
|
+
}
|
|
127
|
+
this.#MapPassParameters(stage, passParameters.stageInput[stageType], passParameters);
|
|
128
|
+
this.#MapPassResources(stage.resources, passParameters.stageInput[stageType].textures, passParameters);
|
|
129
|
+
this.#MapPassResources(stage.uavs, passParameters.stageInput[stageType].uavs, passParameters);
|
|
130
|
+
}
|
|
131
|
+
if (!passParameters.compatibleWithGdr) this.compatibleWithGdr = false;
|
|
132
|
+
inputs.passes.push(passParameters);
|
|
133
|
+
}
|
|
134
|
+
this.parametersForPasses.push(inputs);
|
|
135
|
+
}
|
|
136
|
+
}], [[carbon, carbon.method, impl, impl.adapted], 18, "SetResourceTexture2D"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("JS explicitly rebuilds the cached CPU effect data after Carbon's Vector4 parameter reuse-or-append policy because plain array mutation has no Blue list notification.")], 18, "SetParameter"]], 0, _ => #BuildParametersForPasses in _, _Tr2Material));
|
|
49
137
|
}
|
|
138
|
+
#BuildParametersForPasses = _call_BuildParametersForPasses;
|
|
50
139
|
/** m_effectFilePath (std::string) [READWRITE, PERSIST, NOTIFY] */
|
|
51
140
|
effectFilePath = (_initProto(this), _init_effectFilePath(this, ""));
|
|
52
141
|
|
|
@@ -260,58 +349,6 @@ new class extends _identity {
|
|
|
260
349
|
*
|
|
261
350
|
* @returns {void}
|
|
262
351
|
*/
|
|
263
|
-
#BuildParametersForPasses() {
|
|
264
|
-
// Carbon's `m_parametersForPasses.clear()` (Tr2Effect.cpp:693) tears down
|
|
265
|
-
// value members: each stage's constant buffer and each pass's resource
|
|
266
|
-
// set die with it. Ours are device objects behind handles, so they are
|
|
267
|
-
// destroyed by name before the array is dropped - otherwise every rebuild
|
|
268
|
-
// leaked one GPUBuffer per stage.
|
|
269
|
-
for (const technique of this.parametersForPasses ?? []) {
|
|
270
|
-
for (const pass of technique?.passes ?? []) {
|
|
271
|
-
for (const stageInput of pass?.stageInput ?? []) stageInput?.constantBuffer?.Destroy();
|
|
272
|
-
pass?.resourceSet?.Destroy();
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
this.parametersForPasses = [];
|
|
276
|
-
const techniques = this.shader?.GetEffect?.()?.techniques ?? [];
|
|
277
|
-
for (const technique of techniques) {
|
|
278
|
-
const inputs = new _Tr2EffectTechniqueIn();
|
|
279
|
-
for (const pass of technique?.passes ?? []) {
|
|
280
|
-
const passParameters = new _Tr2EffectPassParamet();
|
|
281
|
-
|
|
282
|
-
// THE READER'S DESCRIPTION IS NOT THIS DESCRIPTION, and assigning it
|
|
283
|
-
// here was the bug. `pass.resourceSetDesc` off the reflection is an
|
|
284
|
-
// `HlslResourceSetDescription` - samplers and D3D12 heap views, no
|
|
285
|
-
// `SetSrv`, no `ClearResources` - while this field is Carbon's
|
|
286
|
-
// `Tr2ResourceSetDescriptionAL`, which the pass parameters construct
|
|
287
|
-
// for themselves and `UpdateResourceSetDesc` fills at bind time.
|
|
288
|
-
//
|
|
289
|
-
// Carbon copies a description here because ITS reflection carries the
|
|
290
|
-
// same type; ours does not, so there is nothing to copy. Removed
|
|
291
|
-
// 2026-09-05; see /docs/research/graphics-path-review-2026-09-05.md.
|
|
292
|
-
passParameters.resourceSetHash = 0;
|
|
293
|
-
passParameters.resourceSetDirty = true;
|
|
294
|
-
passParameters.compatibleWithGdr = true;
|
|
295
|
-
const stageInputs = pass?.stageInputs ?? [];
|
|
296
|
-
for (let stageType = 0; stageType < stageInputs.length; stageType += 1) {
|
|
297
|
-
const stage = stageInputs[stageType];
|
|
298
|
-
if (!stage?.exists) continue;
|
|
299
|
-
|
|
300
|
-
// A stage Carbon's GDR path cannot express: anything but vertex,
|
|
301
|
-
// pixel or compute (Tr2Effect.cpp:723-726).
|
|
302
|
-
if (stageType !== ShaderStageType.VERTEX_SHADER && stageType !== ShaderStageType.PIXEL_SHADER && stageType !== ShaderStageType.COMPUTE_SHADER) {
|
|
303
|
-
passParameters.compatibleWithGdr = false;
|
|
304
|
-
}
|
|
305
|
-
this.#MapPassParameters(stage, passParameters.stageInput[stageType], passParameters);
|
|
306
|
-
this.#MapPassResources(stage.resources, passParameters.stageInput[stageType].textures, passParameters);
|
|
307
|
-
this.#MapPassResources(stage.uavs, passParameters.stageInput[stageType].uavs, passParameters);
|
|
308
|
-
}
|
|
309
|
-
if (!passParameters.compatibleWithGdr) this.compatibleWithGdr = false;
|
|
310
|
-
inputs.passes.push(passParameters);
|
|
311
|
-
}
|
|
312
|
-
this.parametersForPasses.push(inputs);
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
352
|
|
|
316
353
|
/**
|
|
317
354
|
* Maps one stage's authored constants onto byte offsets in its CPU mirror
|
|
@@ -763,12 +800,28 @@ new class extends _identity {
|
|
|
763
800
|
* Sets one named dynamic parameter. Carbon exposes this singular facade and
|
|
764
801
|
* smart-light meshes use it while stamping their resolved group color.
|
|
765
802
|
*/
|
|
766
|
-
SetParameter(name, value) {
|
|
803
|
+
SetParameter(name, value, uavMipLevel = 0) {
|
|
767
804
|
const parameterName = String(name ?? "");
|
|
805
|
+
|
|
806
|
+
// A TEXTURE IS NOT A PARAMETER HERE, it is a resource, so Carbon's texture
|
|
807
|
+
// overload (`Tr2Effect.h:94`) routes to the runtime texture slot instead.
|
|
808
|
+
// Null clears it, which is what Carbon's `Tr2TextureAL{}` does.
|
|
809
|
+
if (value === null || IsTextureLike(value)) {
|
|
810
|
+
return this.#SetTextureParameter(parameterName, value, uavMipLevel);
|
|
811
|
+
}
|
|
812
|
+
const Parameter = ParameterClassFor(value);
|
|
813
|
+
if (!Parameter) {
|
|
814
|
+
throw new TypeError(`Tr2Effect.SetParameter: no Carbon overload takes ${describe(value)} for "${parameterName}"`);
|
|
815
|
+
}
|
|
768
816
|
const existing = CjsParameter.findByName(this.parameters, parameterName);
|
|
769
|
-
let parameter = existing instanceof
|
|
817
|
+
let parameter = existing instanceof Parameter ? existing : null;
|
|
770
818
|
if (!parameter) {
|
|
771
|
-
parameter
|
|
819
|
+
// A same-name parameter of the WRONG TYPE is left in place and a new one
|
|
820
|
+
// appended. That looks like a bug and is Carbon's behaviour - pinned by
|
|
821
|
+
// `smart mesh uses the real effect Vector4 facade and preserves Carbon
|
|
822
|
+
// wrong-type append`. Removing the old one is a silent behaviour change
|
|
823
|
+
// for anything still holding a reference to it.
|
|
824
|
+
parameter = new Parameter();
|
|
772
825
|
parameter.name = parameterName;
|
|
773
826
|
this.parameters.push(parameter);
|
|
774
827
|
}
|
|
@@ -776,6 +829,26 @@ new class extends _identity {
|
|
|
776
829
|
this.RebuildCachedDataInternal();
|
|
777
830
|
}
|
|
778
831
|
|
|
832
|
+
/** Carbon's texture overload: a named slot fed by a live texture. */
|
|
833
|
+
#SetTextureParameter(parameterName, texture, uavMipLevel) {
|
|
834
|
+
const existing = this.GetResourceByName(parameterName);
|
|
835
|
+
if (existing instanceof _Tr2RuntimeTexturePar) {
|
|
836
|
+
existing.SetTextureProvider(texture);
|
|
837
|
+
existing.SetUavMipLevel(uavMipLevel);
|
|
838
|
+
this.RebuildCachedDataInternal();
|
|
839
|
+
return;
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
// A null texture still CREATES the slot, which is Carbon's else branch
|
|
843
|
+
// (cpp:2093-2099) and is load-bearing: Tr2ShadowMap's constructor declares
|
|
844
|
+
// its two texture slots by setting them to an empty texture (cpp:41-42).
|
|
845
|
+
// Skipping that would leave the effect without slots it expects to have.
|
|
846
|
+
const parameter = new _Tr2RuntimeTexturePar();
|
|
847
|
+
parameter.Create(parameterName, texture, uavMipLevel);
|
|
848
|
+
this.AddResource(parameter);
|
|
849
|
+
this.RebuildCachedDataInternal();
|
|
850
|
+
}
|
|
851
|
+
|
|
779
852
|
/** Merges texture resources by unique name from res path strings. */
|
|
780
853
|
SetTextures(values = {}) {
|
|
781
854
|
let updated = false;
|