@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":"EveSpriteSet.js","sources":["../../../../../../src/trinity/eve/attachment/sprite/EveSpriteSet.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Attachments/Sets/EveSpriteSet.h\r\n// Source: trinity/trinity/Eve/SpaceObject/Attachments/Sets/EveSpriteSet.cpp\r\nimport { box3 } from \"#math/box3\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { IEveSpaceObjectAttachment } from \"../IEveSpaceObjectAttachment.js\";\r\nimport { EveSpriteLight } from \"./EveSpriteLight.js\";\r\nimport { EveSpriteSetItem } from \"./EveSpriteSetItem.js\";\r\nimport { EveComponentType } from \"../../EveComponentTypes.js\";\r\nimport { Blink } from \"../EveSpaceObjectAttachmentUtils.js\";\r\nimport { CreateItemSetBoundingBoxes, GetItemSetAabb } from \"../itemSetBounds.js\";\r\nimport { Tr2Light } from \"../../lights/Tr2Light.js\";\r\nimport { AsPerPointLightData, CreateLightRecord, MatrixCopyFrom3x4 } from \"../../lights/lightConversion.js\";\r\nimport { TriBatchType } from \"#consts/graphics\";\r\nimport { num } from \"#math/num\";\r\nimport { Tr2VertexDefinition } from \"../../../core/vertex/Tr2VertexDefinition.js\";\r\n\r\n// Carbon PoolVertex (EveSpriteSet.h:56-70): 32 bytes -\r\n// position float3 @0; TEXCOORD0 half4 @12 = activation, blinkPhase,\r\n// blinkRate, minScale; TEXCOORD1 half2 @20 = maxScale, falloff;\r\n// COLOR0 @24; COLOR1 (warp) @28.\r\nconst POOL_VERTEX_SIZE = 32;\r\n\r\n// Carbon PoolVertex::GetDefinition (EveSpriteSet.cpp:18-33), built the way\r\n// Carbon builds it - through Tr2VertexDefinition.Add with its automatic\r\n// per-stream offsets, which land exactly on the struct layout above.\r\nconst POOL_VERTEX_DEFINITION = new Tr2VertexDefinition();\r\nPOOL_VERTEX_DEFINITION.Add(\"FLOAT32_1\", \"TEXCOORD\", 5);\r\nPOOL_VERTEX_DEFINITION.Add(\"FLOAT32_3\", \"POSITION\", 0, 1, 1);\r\nPOOL_VERTEX_DEFINITION.Add(\"FLOAT16_4\", \"TEXCOORD\", 0, 1, 1);\r\nPOOL_VERTEX_DEFINITION.Add(\"FLOAT16_2\", \"TEXCOORD\", 1, 1, 1);\r\nPOOL_VERTEX_DEFINITION.Add(\"UBYTE_4_NORM\", \"COLOR\", 0, 1, 1);\r\nPOOL_VERTEX_DEFINITION.Add(\"UBYTE_4_NORM\", \"COLOR\", 1, 1, 1);\r\n\r\n/** One float colour channel as the byte Carbon's uint32 Color carries. */\r\nfunction colorByte(value)\r\n{\r\n return Math.min(255, Math.max(0, Math.round(Number(value) * 255))) | 0;\r\n}\r\n\r\n\r\n/**\r\n * A hull's authored blinking sprites, owning their static and per-bone bounds\r\n * and the point lights the sprites emit.\r\n */\r\n@type.define({ className: \"EveSpriteSet\", family: \"eve/attachment/sprites\" })\r\nexport class EveSpriteSet extends IEveSpaceObjectAttachment\r\n{\r\n @io.rebuild(\"packedGeometry\")\r\n @io.notify\r\n @io.persist\r\n @type.list(\"EveSpriteSetItem\")\r\n sprites = [];\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.notify\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effect = null;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.boolean\r\n skinned = false;\r\n\r\n @io.persist\r\n @type.float32\r\n intensity = 1;\r\n\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n @io.persist\r\n @type.list(\"EveSpriteLight\")\r\n lights = [];\r\n\r\n #rebuildRevision = 0;\r\n\r\n /** m_aabb (h:140) - the union of every unskinned sprite's bounds. */\r\n #staticBounds = box3.create();\r\n\r\n /** m_boundingBoxes (h:142) - [{ boneIndex, bounds }], ascending. */\r\n #boneBounds = [];\r\n\r\n /** Carbon m_activationStrength (ctor default 0, EveSpriteSet.cpp:67 - NOT\r\n * 1: packed-set lights are BLACK until the owner's update calls\r\n * UpdateLights). */\r\n #activationStrength = 0;\r\n\r\n // Carbon m_effectHash / m_buffer / m_spriteData (h:126-134): the quad\r\n // renderer key and the persistent instance buffer Rebuild packs and the\r\n // submission paths mutate in place.\r\n #effectKey = 0;\r\n\r\n #poolBuffer = new Uint8Array(0);\r\n\r\n #poolView = null;\r\n\r\n #spriteData = [];\r\n\r\n static #positionScratch = vec3.create();\r\n\r\n static #boneScratch = mat4.create();\r\n\r\n /**\r\n * Drops every sprite and every light; the bounds only follow on the next\r\n * Rebuild.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Clear()\r\n {\r\n this.sprites.length = 0;\r\n this.lights.length = 0;\r\n }\r\n\r\n /** Carbon EveSpriteSet::UpdateLights (cpp:142-161): per light - only\r\n * boneIndex > 0 takes the bone path (bone 0 can NEVER drive a packed-set\r\n * light; contrast Tr2Light::SetBoneMatrix's >= 0): the Float4x3 bone is\r\n * unpacked column-stride, the 4th column zeroed with [15] = 1, then\r\n * boneMatrix *= parentTransform - Carbon row-vector, bone FIRST, so the\r\n * gl-matrix operands SWAP; otherwise boneMatrix = parentTransform. Stamps\r\n * the activation strength (boosterGain is accepted but unused by sprites). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateLights(parentTransform, bones, boneCount, activationStrength, _boosterGain = 0)\r\n {\r\n for (const light of this.lights)\r\n {\r\n const boneIndex = light.lightData.boneIndex;\r\n if (bones && boneIndex > 0 && boneIndex < boneCount)\r\n {\r\n MatrixCopyFrom3x4(light.boneMatrix, bones, boneIndex);\r\n light.boneMatrix[3] = 0;\r\n light.boneMatrix[7] = 0;\r\n light.boneMatrix[11] = 0;\r\n light.boneMatrix[15] = 1;\r\n // Carbon (row-vector): boneMatrix * parentTransform - bone first.\r\n mat4.multiply(light.boneMatrix, parentTransform, light.boneMatrix);\r\n }\r\n else\r\n {\r\n mat4.copy(light.boneMatrix, parentTransform);\r\n }\r\n }\r\n this.#activationStrength = Number(activationStrength) || 0;\r\n }\r\n\r\n /**\r\n * Appends a sprite and returns the stored item, accepting either a ready-made item on its own or a position plus one of two argument forms.\r\n * @param {object|vec3} positionOrItem An existing sprite item, or the sprite position.\r\n * @param {...*} args Either (scale, color, warpColor) for a non-blinking sprite, or (blinkRate, blinkPhase, minScale, maxScale, falloff, color, warpColor).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Add(positionOrItem, ...args)\r\n {\r\n if (positionOrItem && !ArrayBuffer.isView(positionOrItem) && !Array.isArray(positionOrItem) && args.length === 0)\r\n {\r\n this.sprites.push(positionOrItem);\r\n return positionOrItem;\r\n }\r\n\r\n const item = new EveSpriteSetItem();\r\n vec3.copy(item.position, positionOrItem ?? vec3.create());\r\n if (args.length === 3)\r\n {\r\n const [scale, color, warpColor] = args;\r\n item.blinkRate = 0;\r\n item.blinkPhase = 0;\r\n item.minScale = Number(scale);\r\n item.maxScale = Number(scale);\r\n item.falloff = 0;\r\n vec4.copy(item.color, color);\r\n vec4.copy(item.warpColor, warpColor);\r\n }\r\n else\r\n {\r\n const [blinkRate = 0, blinkPhase = 0, minScale = 1, maxScale = 1, falloff = 0, color = [1, 1, 1, 1], warpColor = [1, 1, 1, 1]] = args;\r\n item.blinkRate = Number(blinkRate);\r\n item.blinkPhase = Number(blinkPhase);\r\n item.minScale = Number(minScale);\r\n item.maxScale = Number(maxScale);\r\n item.falloff = Number(falloff);\r\n vec4.copy(item.color, color);\r\n vec4.copy(item.warpColor, warpColor);\r\n }\r\n item.boneIndex = 0;\r\n this.sprites.push(item);\r\n return item;\r\n }\r\n\r\n /** The live sprite item list, not a copy. */\r\n @carbon.method\r\n @impl.implemented\r\n GetSprites()\r\n {\r\n return this.sprites;\r\n }\r\n\r\n /** The authored set name, which SOF uses to match this set to its DNA entry. */\r\n @carbon.method\r\n @impl.implemented\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n /** Sets the authored set name, coercing null or undefined to an empty string. */\r\n @carbon.method\r\n @impl.implemented\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n /** The effect that draws the sprites. */\r\n @carbon.method\r\n @impl.implemented\r\n GetEffect()\r\n {\r\n return this.effect;\r\n }\r\n\r\n /** Sets the effect that draws the sprites. */\r\n @carbon.method\r\n @impl.implemented\r\n SetEffect(effect)\r\n {\r\n this.effect = effect ?? null;\r\n }\r\n\r\n /**\r\n * Sets whether the sprites ride skeleton bones, which is what decides if\r\n * GetAabb consults the caller's bone list at all.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetSkinned(skinned)\r\n {\r\n this.skinned = !!skinned;\r\n }\r\n\r\n /**\r\n * Recomputes the static and per-bone bounds from the authored sprites and\r\n * marks the packed geometry stale.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Rebuild()\r\n {\r\n this.#rebuildRevision++;\r\n this.__state.rebuild.add(\"packedGeometry\");\r\n\r\n // Carbon Rebuild (cpp:300-343): refresh the effect key, pack every\r\n // authored sprite into the persistent PoolVertex buffer, mirror the\r\n // positions and bone indices, then the bounds. Carbon's colour packing\r\n // is a B/R byte swap of the uint32 ARGB Color (cpp:319-327) - which in\r\n // little-endian byte terms is simply r,g,b,a written in order.\r\n // `activation` (@12) stays zero: the submission paths stamp it per\r\n // frame (cpp:214-218 / cpp:109-121).\r\n if (this.effect)\r\n {\r\n this.#effectKey = Number(this.effect.GetHashValue()) >>> 0;\r\n }\r\n\r\n const n = this.sprites.length;\r\n if (this.#poolBuffer.length !== n * POOL_VERTEX_SIZE)\r\n {\r\n this.#poolBuffer = new Uint8Array(n * POOL_VERTEX_SIZE);\r\n this.#poolView = new DataView(this.#poolBuffer.buffer);\r\n }\r\n this.#spriteData.length = n;\r\n for (let i = 0; i < n; i++)\r\n {\r\n const sprite = this.sprites[i];\r\n const base = i * POOL_VERTEX_SIZE;\r\n const view = this.#poolView;\r\n view.setFloat32(base, sprite.position[0], true);\r\n view.setFloat32(base + 4, sprite.position[1], true);\r\n view.setFloat32(base + 8, sprite.position[2], true);\r\n view.setUint16(base + 12, 0, true); // activation - per frame\r\n view.setUint16(base + 14, num.toHalfFloat(sprite.blinkPhase), true);\r\n view.setUint16(base + 16, num.toHalfFloat(sprite.blinkRate), true);\r\n view.setUint16(base + 18, num.toHalfFloat(sprite.minScale), true);\r\n view.setUint16(base + 20, num.toHalfFloat(sprite.maxScale), true);\r\n view.setUint16(base + 22, num.toHalfFloat(sprite.falloff), true);\r\n for (let c = 0; c < 4; c++)\r\n {\r\n this.#poolBuffer[base + 24 + c] = colorByte(sprite.color[c]);\r\n this.#poolBuffer[base + 28 + c] = colorByte(sprite.warpColor[c]);\r\n }\r\n this.#spriteData[i] = {\r\n position: sprite.position,\r\n boneIndex: sprite.boneIndex | 0\r\n };\r\n }\r\n\r\n // Carbon rebuilds the item-set bounds at the tail of the same pack\r\n // (cpp:342).\r\n CreateItemSetBoundingBoxes(this.#staticBounds, this.#boneBounds, this.skinned, this.sprites);\r\n }\r\n\r\n /**\r\n * Carbon RegisterWithQuadRenderer (cpp:168-171): one additive-batch\r\n * registration keyed by the effect hash. RegisterEffect is\r\n * idempotent-by-key, so an effect-option change needs the key refreshed\r\n * (Rebuild does) and this called again - exactly Carbon's SetShaderOption\r\n * flow (cpp:430-438), whose singleton reach is engine-owned here.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterWithQuadRenderer(quadRenderer)\r\n {\r\n if (!this.effect) return;\r\n this.#effectKey = Number(this.effect.GetHashValue()) >>> 0;\r\n quadRenderer.RegisterEffect(\r\n this.#effectKey,\r\n TriBatchType.TRIBATCHTYPE_ADDITIVE,\r\n POOL_VERTEX_SIZE,\r\n 1,\r\n POOL_VERTEX_DEFINITION,\r\n this.effect\r\n );\r\n }\r\n\r\n /**\r\n * Carbon AddToQuadRenderer (cpp:173-219): move every sprite position into\r\n * world space (through its bone when skinned and the bone exists, else\r\n * directly), stamp activation * intensity as a half into every instance,\r\n * and hand the exact bytes to the quad renderer. boosterGain is accepted\r\n * and unused, as in Carbon.\r\n *\r\n * @param {object} quadRenderer Tr2QuadRenderer.\r\n * @param {Float32Array} parentTransform World matrix.\r\n * @param {number} activation Activation strength.\r\n * @param {number} _boosterGain Accepted for signature parity (cpp:174).\r\n * @param {Float32Array} [bones] Flat Float4x3 list, stride 12.\r\n * @param {number} [boneCount] Bones available.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n AddToQuadRenderer(quadRenderer, parentTransform, activation, _boosterGain = 0, bones = null, boneCount = 0)\r\n {\r\n if (!this.display || this.#spriteData.length === 0) return;\r\n\r\n const n = this.#spriteData.length;\r\n if (!this.skinned || !bones)\r\n {\r\n this.#TransformPositions(parentTransform);\r\n }\r\n else\r\n {\r\n const position = EveSpriteSet.#positionScratch;\r\n const bone = EveSpriteSet.#boneScratch;\r\n for (let i = 0; i < n; i++)\r\n {\r\n const data = this.#spriteData[i];\r\n if (data.boneIndex < boneCount)\r\n {\r\n MatrixCopyFrom3x4(bone, bones, data.boneIndex);\r\n vec3.transformMat4(position, data.position, bone);\r\n vec3.transformMat4(position, position, parentTransform);\r\n }\r\n else\r\n {\r\n vec3.transformMat4(position, data.position, parentTransform);\r\n }\r\n this.#WritePosition(i, position);\r\n }\r\n }\r\n\r\n const activation16 = num.toHalfFloat(Math.fround(activation * this.intensity));\r\n for (let i = 0; i < n; i++)\r\n {\r\n this.#poolView.setUint16(i * POOL_VERTEX_SIZE + 12, activation16, true);\r\n }\r\n quadRenderer.AddQuads(this.#effectKey, this.#poolBuffer, this.sprites.length);\r\n }\r\n\r\n /**\r\n * Carbon AddBoosterGlowToQuadRenderer (cpp:83-124): world-transform the\r\n * positions, then repurpose the instance halves - activation/blinkRate/\r\n * falloff carry the world Z axis (transform[8..10], Carbon GetZ) - and\r\n * overwrite both colours' alpha bytes with the gains. The overwrites are\r\n * DESTRUCTIVE in the shared persistent buffer, exactly as Carbon's: a set\r\n * serves either path each frame, and whichever runs repacks it.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n AddBoosterGlowToQuadRenderer(quadRenderer, world, boosterGain, warpIntensity)\r\n {\r\n if (!this.display || this.#spriteData.length === 0) return;\r\n\r\n this.#TransformPositions(world);\r\n\r\n const\r\n zDirX = num.toHalfFloat(world[8]),\r\n zDirY = num.toHalfFloat(world[9]),\r\n zDirZ = num.toHalfFloat(world[10]),\r\n gain = Math.min(Math.trunc(boosterGain * 255), 255),\r\n warp = Math.min(Math.trunc(warpIntensity * 255), 255);\r\n\r\n for (let i = 0; i < this.#spriteData.length; i++)\r\n {\r\n const base = i * POOL_VERTEX_SIZE;\r\n this.#poolView.setUint16(base + 12, zDirX, true); // activation slot\r\n this.#poolView.setUint16(base + 16, zDirY, true); // blinkRate slot\r\n this.#poolView.setUint16(base + 22, zDirZ, true); // falloff slot\r\n this.#poolBuffer[base + 27] = gain;\r\n this.#poolBuffer[base + 31] = warp;\r\n }\r\n quadRenderer.AddQuads(this.#effectKey, this.#poolBuffer, this.sprites.length);\r\n }\r\n\r\n /** Carbon PoolVertex::GetDefinition (cpp:18-33), the instance layout. */\r\n static getDefinition()\r\n {\r\n return POOL_VERTEX_DEFINITION;\r\n }\r\n\r\n /** The unskinned XMVector3TransformCoordStream (cpp:184-191 / cpp:101-107). */\r\n #TransformPositions(transform)\r\n {\r\n const position = EveSpriteSet.#positionScratch;\r\n for (let i = 0; i < this.#spriteData.length; i++)\r\n {\r\n vec3.transformMat4(position, this.#spriteData[i].position, transform);\r\n this.#WritePosition(i, position);\r\n }\r\n }\r\n\r\n #WritePosition(index, position)\r\n {\r\n const base = index * POOL_VERTEX_SIZE;\r\n this.#poolView.setFloat32(base, position[0], true);\r\n this.#poolView.setFloat32(base + 4, position[1], true);\r\n this.#poolView.setFloat32(base + 8, position[2], true);\r\n }\r\n\r\n /** Carbon EveSpriteSet::GetAabb (cpp:163-166): the item-set bounds, with the\r\n * bone list forwarded only when the set is skinned. */\r\n @carbon.method\r\n @impl.implemented\r\n GetAabb(out, bones = null, boneCount = 0)\r\n {\r\n return GetItemSetAabb(\r\n out,\r\n this.#staticBounds,\r\n this.#boneBounds,\r\n bones,\r\n this.skinned ? boneCount : 0\r\n );\r\n }\r\n\r\n /** Carbon EveSpriteSet::UpdateVisibility (cpp:130-140): an uninitialized set\r\n * is NOT visible; otherwise its bounds move into world space and take the\r\n * frustum box test. No LOD and no display gate - Carbon tests display at draw\r\n * time, not here. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(updateContext, parentTransform, bones = null, boneCount = 0)\r\n {\r\n const aabb = this.GetAabb(EveSpriteSet.#aabbScratch, bones, boneCount);\r\n if (box3.isEmpty(aabb))\r\n {\r\n return false;\r\n }\r\n\r\n box3.transformMat4(aabb, aabb, parentTransform);\r\n return !!updateContext?.GetFrustum?.()?.IsBoxVisible(aabb);\r\n }\r\n\r\n /**\r\n * Runs the first Rebuild so the set has bounds before its first visibility\r\n * test.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n this.Rebuild();\r\n return true;\r\n }\r\n\r\n /**\r\n * Converts a SOF-authored light description into an EveSpriteLight and appends\r\n * it to the set.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n AddLightFromSOF(light)\r\n {\r\n this.lights.push(EveSpriteLight.FromSOF(light));\r\n }\r\n\r\n /** Carbon EveSpriteSet::RegisterComponents (cpp:445-452): LightOwner when\r\n * lights are authored. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.lights.length)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n }\r\n\r\n /** Carbon EveSpriteSet::GetLights (cpp:454-469): parentBrightness =\r\n * activationStrength once before the loop; per light the point conversion\r\n * on the bone matrix, then Blink scales BOTH radius and innerRadius AFTER\r\n * conversion (cpp:464-466). No gates - registration covers presence. The\r\n * profile rides the record by reference (Carbon: GetTextureIndex() with NO\r\n * +1, unlike Tr2Light::AddLight - the asymmetry is moot by-reference but\r\n * recorded). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2Renderer::GetAnimationTime relocates onto the light-manager duck (GetAnimationTime, default 0); profile-index packing is by-reference per lightConversion.js.\")\r\n GetLights(lightManager)\r\n {\r\n const features = EveSpriteSet.#features;\r\n features.parentBrightness = this.#activationStrength;\r\n features.parentScale = 1;\r\n const time = lightManager?.GetAnimationTime() ?? 0;\r\n const quality = lightManager?.GetCurrentSpaceSceneShadowQuality() ?? 0;\r\n const record = EveSpriteSet.#lightRecord;\r\n\r\n for (const light of this.lights)\r\n {\r\n AsPerPointLightData(record, light.lightData, light.boneMatrix, features, quality);\r\n const blinkScale = Blink(time, light.blinkRate, light.blinkPhase, light.minScale, light.maxScale);\r\n record.radius *= blinkScale;\r\n record.innerRadius *= blinkScale;\r\n record.lightType = Tr2Light.POINT_LIGHT;\r\n record.lightData = light.lightData;\r\n record.lightProfile = light.lightProfile;\r\n record.owner = this;\r\n lightManager?.AddLight(record);\r\n }\r\n }\r\n\r\n /** Per-frame scratch - UpdateVisibility must not allocate. */\r\n static #aabbScratch = box3.create();\r\n\r\n static #features = { parentBrightness: 0, parentScale: 1 };\r\n\r\n static #lightRecord = CreateLightRecord();\r\n}\r\n"],"names":["POOL_VERTEX_SIZE","POOL_VERTEX_DEFINITION","Tr2VertexDefinition","Add","colorByte","value","Math","min","max","round","Number","_EveSpriteSet","_identity","EveSpriteSet","IEveSpaceObjectAttachment","e","_init_sprites","_init_extra_sprites","_init_name","_init_extra_name","_init_effect","_init_extra_effect","_init_skinned","_init_extra_skinned","_init_intensity","_init_extra_intensity","_init_display","_init_extra_display","_init_lights","_init_extra_lights","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","notify","persist","list","string","objectRef","boolean","float32","carbon","method","impl","implemented","adapted","reason","sprites","name","effect","skinned","intensity","display","lights","box3","create","Uint8Array","Clear","length","UpdateLights","parentTransform","bones","boneCount","activationStrength","_boosterGain","light","boneIndex","lightData","MatrixCopyFrom3x4","boneMatrix","mat4","multiply","copy","positionOrItem","args","ArrayBuffer","isView","Array","isArray","push","item","EveSpriteSetItem","vec3","position","scale","color","warpColor","blinkRate","blinkPhase","minScale","maxScale","falloff","vec4","GetSprites","GetName","SetName","String","GetEffect","SetEffect","SetSkinned","Rebuild","__state","add","GetHashValue","n","DataView","buffer","i","sprite","base","view","setFloat32","setUint16","num","toHalfFloat","CreateItemSetBoundingBoxes","RegisterWithQuadRenderer","quadRenderer","RegisterEffect","TriBatchType","TRIBATCHTYPE_ADDITIVE","AddToQuadRenderer","activation","bone","data","transformMat4","activation16","fround","AddQuads","AddBoosterGlowToQuadRenderer","world","boosterGain","warpIntensity","zDirX","zDirY","zDirZ","gain","trunc","warp","getDefinition","#TransformPositions","transform","#WritePosition","index","GetAabb","out","GetItemSetAabb","UpdateVisibility","updateContext","aabb","isEmpty","GetFrustum","IsBoxVisible","Initialize","AddLightFromSOF","EveSpriteLight","FromSOF","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","GetLights","lightManager","features","parentBrightness","parentScale","time","GetAnimationTime","quality","GetCurrentSpaceSceneShadowQuality","record","AsPerPointLightData","blinkScale","Blink","radius","innerRadius","lightType","Tr2Light","POINT_LIGHT","lightProfile","owner","AddLight","CreateLightRecord","constructor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EveSpriteSet.js","sources":["../../../../../../src/trinity/eve/attachment/sprite/EveSpriteSet.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Attachments/Sets/EveSpriteSet.h\r\n// Source: trinity/trinity/Eve/SpaceObject/Attachments/Sets/EveSpriteSet.cpp\r\nimport { box3 } from \"#math/box3\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { IEveSpaceObjectAttachment } from \"../IEveSpaceObjectAttachment.js\";\r\nimport { EveSpriteLight } from \"./EveSpriteLight.js\";\r\nimport { EveSpriteSetItem } from \"./EveSpriteSetItem.js\";\r\nimport { EveComponentType } from \"../../EveComponentTypes.js\";\r\nimport { Blink } from \"../EveSpaceObjectAttachmentUtils.js\";\r\nimport { CreateItemSetBoundingBoxes, GetItemSetAabb } from \"../itemSetBounds.js\";\r\nimport { Tr2Light } from \"../../lights/Tr2Light.js\";\r\nimport { AsPerPointLightData, CreateLightRecord, MatrixCopyFrom3x4 } from \"../../lights/lightConversion.js\";\r\nimport { TriBatchType } from \"#consts/graphics\";\r\nimport { num } from \"#math/num\";\r\nimport { Tr2VertexDefinition } from \"../../../core/vertex/Tr2VertexDefinition/index.js\";\r\n\r\n// Carbon PoolVertex (EveSpriteSet.h:56-70): 32 bytes -\r\n// position float3 @0; TEXCOORD0 half4 @12 = activation, blinkPhase,\r\n// blinkRate, minScale; TEXCOORD1 half2 @20 = maxScale, falloff;\r\n// COLOR0 @24; COLOR1 (warp) @28.\r\nconst POOL_VERTEX_SIZE = 32;\r\n\r\n// Carbon PoolVertex::GetDefinition (EveSpriteSet.cpp:18-33), built the way\r\n// Carbon builds it - through Tr2VertexDefinition.Add with its automatic\r\n// per-stream offsets, which land exactly on the struct layout above.\r\nconst POOL_VERTEX_DEFINITION = new Tr2VertexDefinition();\r\nPOOL_VERTEX_DEFINITION.Add(\"FLOAT32_1\", \"TEXCOORD\", 5);\r\nPOOL_VERTEX_DEFINITION.Add(\"FLOAT32_3\", \"POSITION\", 0, 1, 1);\r\nPOOL_VERTEX_DEFINITION.Add(\"FLOAT16_4\", \"TEXCOORD\", 0, 1, 1);\r\nPOOL_VERTEX_DEFINITION.Add(\"FLOAT16_2\", \"TEXCOORD\", 1, 1, 1);\r\nPOOL_VERTEX_DEFINITION.Add(\"UBYTE_4_NORM\", \"COLOR\", 0, 1, 1);\r\nPOOL_VERTEX_DEFINITION.Add(\"UBYTE_4_NORM\", \"COLOR\", 1, 1, 1);\r\n\r\n/** One float colour channel as the byte Carbon's uint32 Color carries. */\r\nfunction colorByte(value)\r\n{\r\n return Math.min(255, Math.max(0, Math.round(Number(value) * 255))) | 0;\r\n}\r\n\r\n\r\n/**\r\n * A hull's authored blinking sprites, owning their static and per-bone bounds\r\n * and the point lights the sprites emit.\r\n */\r\n@type.define({ className: \"EveSpriteSet\", family: \"eve/attachment/sprites\" })\r\nexport class EveSpriteSet extends IEveSpaceObjectAttachment\r\n{\r\n @io.rebuild(\"packedGeometry\")\r\n @io.notify\r\n @io.persist\r\n @type.list(\"EveSpriteSetItem\")\r\n sprites = [];\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.notify\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effect = null;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.boolean\r\n skinned = false;\r\n\r\n @io.persist\r\n @type.float32\r\n intensity = 1;\r\n\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n @io.persist\r\n @type.list(\"EveSpriteLight\")\r\n lights = [];\r\n\r\n #rebuildRevision = 0;\r\n\r\n /** m_aabb (h:140) - the union of every unskinned sprite's bounds. */\r\n #staticBounds = box3.create();\r\n\r\n /** m_boundingBoxes (h:142) - [{ boneIndex, bounds }], ascending. */\r\n #boneBounds = [];\r\n\r\n /** Carbon m_activationStrength (ctor default 0, EveSpriteSet.cpp:67 - NOT\r\n * 1: packed-set lights are BLACK until the owner's update calls\r\n * UpdateLights). */\r\n #activationStrength = 0;\r\n\r\n // Carbon m_effectHash / m_buffer / m_spriteData (h:126-134): the quad\r\n // renderer key and the persistent instance buffer Rebuild packs and the\r\n // submission paths mutate in place.\r\n #effectKey = 0;\r\n\r\n #poolBuffer = new Uint8Array(0);\r\n\r\n #poolView = null;\r\n\r\n #spriteData = [];\r\n\r\n static #positionScratch = vec3.create();\r\n\r\n static #boneScratch = mat4.create();\r\n\r\n /**\r\n * Drops every sprite and every light; the bounds only follow on the next\r\n * Rebuild.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Clear()\r\n {\r\n this.sprites.length = 0;\r\n this.lights.length = 0;\r\n }\r\n\r\n /** Carbon EveSpriteSet::UpdateLights (cpp:142-161): per light - only\r\n * boneIndex > 0 takes the bone path (bone 0 can NEVER drive a packed-set\r\n * light; contrast Tr2Light::SetBoneMatrix's >= 0): the Float4x3 bone is\r\n * unpacked column-stride, the 4th column zeroed with [15] = 1, then\r\n * boneMatrix *= parentTransform - Carbon row-vector, bone FIRST, so the\r\n * gl-matrix operands SWAP; otherwise boneMatrix = parentTransform. Stamps\r\n * the activation strength (boosterGain is accepted but unused by sprites). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateLights(parentTransform, bones, boneCount, activationStrength, _boosterGain = 0)\r\n {\r\n for (const light of this.lights)\r\n {\r\n const boneIndex = light.lightData.boneIndex;\r\n if (bones && boneIndex > 0 && boneIndex < boneCount)\r\n {\r\n MatrixCopyFrom3x4(light.boneMatrix, bones, boneIndex);\r\n light.boneMatrix[3] = 0;\r\n light.boneMatrix[7] = 0;\r\n light.boneMatrix[11] = 0;\r\n light.boneMatrix[15] = 1;\r\n // Carbon (row-vector): boneMatrix * parentTransform - bone first.\r\n mat4.multiply(light.boneMatrix, parentTransform, light.boneMatrix);\r\n }\r\n else\r\n {\r\n mat4.copy(light.boneMatrix, parentTransform);\r\n }\r\n }\r\n this.#activationStrength = Number(activationStrength) || 0;\r\n }\r\n\r\n /**\r\n * Appends a sprite and returns the stored item, accepting either a ready-made item on its own or a position plus one of two argument forms.\r\n * @param {object|vec3} positionOrItem An existing sprite item, or the sprite position.\r\n * @param {...*} args Either (scale, color, warpColor) for a non-blinking sprite, or (blinkRate, blinkPhase, minScale, maxScale, falloff, color, warpColor).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Add(positionOrItem, ...args)\r\n {\r\n if (positionOrItem && !ArrayBuffer.isView(positionOrItem) && !Array.isArray(positionOrItem) && args.length === 0)\r\n {\r\n this.sprites.push(positionOrItem);\r\n return positionOrItem;\r\n }\r\n\r\n const item = new EveSpriteSetItem();\r\n vec3.copy(item.position, positionOrItem ?? vec3.create());\r\n if (args.length === 3)\r\n {\r\n const [scale, color, warpColor] = args;\r\n item.blinkRate = 0;\r\n item.blinkPhase = 0;\r\n item.minScale = Number(scale);\r\n item.maxScale = Number(scale);\r\n item.falloff = 0;\r\n vec4.copy(item.color, color);\r\n vec4.copy(item.warpColor, warpColor);\r\n }\r\n else\r\n {\r\n const [blinkRate = 0, blinkPhase = 0, minScale = 1, maxScale = 1, falloff = 0, color = [1, 1, 1, 1], warpColor = [1, 1, 1, 1]] = args;\r\n item.blinkRate = Number(blinkRate);\r\n item.blinkPhase = Number(blinkPhase);\r\n item.minScale = Number(minScale);\r\n item.maxScale = Number(maxScale);\r\n item.falloff = Number(falloff);\r\n vec4.copy(item.color, color);\r\n vec4.copy(item.warpColor, warpColor);\r\n }\r\n item.boneIndex = 0;\r\n this.sprites.push(item);\r\n return item;\r\n }\r\n\r\n /** The live sprite item list, not a copy. */\r\n @carbon.method\r\n @impl.implemented\r\n GetSprites()\r\n {\r\n return this.sprites;\r\n }\r\n\r\n /** The authored set name, which SOF uses to match this set to its DNA entry. */\r\n @carbon.method\r\n @impl.implemented\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n /** Sets the authored set name, coercing null or undefined to an empty string. */\r\n @carbon.method\r\n @impl.implemented\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n /** The effect that draws the sprites. */\r\n @carbon.method\r\n @impl.implemented\r\n GetEffect()\r\n {\r\n return this.effect;\r\n }\r\n\r\n /** Sets the effect that draws the sprites. */\r\n @carbon.method\r\n @impl.implemented\r\n SetEffect(effect)\r\n {\r\n this.effect = effect ?? null;\r\n }\r\n\r\n /**\r\n * Sets whether the sprites ride skeleton bones, which is what decides if\r\n * GetAabb consults the caller's bone list at all.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetSkinned(skinned)\r\n {\r\n this.skinned = !!skinned;\r\n }\r\n\r\n /**\r\n * Recomputes the static and per-bone bounds from the authored sprites and\r\n * marks the packed geometry stale.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Rebuild()\r\n {\r\n this.#rebuildRevision++;\r\n this.__state.rebuild.add(\"packedGeometry\");\r\n\r\n // Carbon Rebuild (cpp:300-343): refresh the effect key, pack every\r\n // authored sprite into the persistent PoolVertex buffer, mirror the\r\n // positions and bone indices, then the bounds. Carbon's colour packing\r\n // is a B/R byte swap of the uint32 ARGB Color (cpp:319-327) - which in\r\n // little-endian byte terms is simply r,g,b,a written in order.\r\n // `activation` (@12) stays zero: the submission paths stamp it per\r\n // frame (cpp:214-218 / cpp:109-121).\r\n if (this.effect)\r\n {\r\n this.#effectKey = Number(this.effect.GetHashValue()) >>> 0;\r\n }\r\n\r\n const n = this.sprites.length;\r\n if (this.#poolBuffer.length !== n * POOL_VERTEX_SIZE)\r\n {\r\n this.#poolBuffer = new Uint8Array(n * POOL_VERTEX_SIZE);\r\n this.#poolView = new DataView(this.#poolBuffer.buffer);\r\n }\r\n this.#spriteData.length = n;\r\n for (let i = 0; i < n; i++)\r\n {\r\n const sprite = this.sprites[i];\r\n const base = i * POOL_VERTEX_SIZE;\r\n const view = this.#poolView;\r\n view.setFloat32(base, sprite.position[0], true);\r\n view.setFloat32(base + 4, sprite.position[1], true);\r\n view.setFloat32(base + 8, sprite.position[2], true);\r\n view.setUint16(base + 12, 0, true); // activation - per frame\r\n view.setUint16(base + 14, num.toHalfFloat(sprite.blinkPhase), true);\r\n view.setUint16(base + 16, num.toHalfFloat(sprite.blinkRate), true);\r\n view.setUint16(base + 18, num.toHalfFloat(sprite.minScale), true);\r\n view.setUint16(base + 20, num.toHalfFloat(sprite.maxScale), true);\r\n view.setUint16(base + 22, num.toHalfFloat(sprite.falloff), true);\r\n for (let c = 0; c < 4; c++)\r\n {\r\n this.#poolBuffer[base + 24 + c] = colorByte(sprite.color[c]);\r\n this.#poolBuffer[base + 28 + c] = colorByte(sprite.warpColor[c]);\r\n }\r\n this.#spriteData[i] = {\r\n position: sprite.position,\r\n boneIndex: sprite.boneIndex | 0\r\n };\r\n }\r\n\r\n // Carbon rebuilds the item-set bounds at the tail of the same pack\r\n // (cpp:342).\r\n CreateItemSetBoundingBoxes(this.#staticBounds, this.#boneBounds, this.skinned, this.sprites);\r\n }\r\n\r\n /**\r\n * Carbon RegisterWithQuadRenderer (cpp:168-171): one additive-batch\r\n * registration keyed by the effect hash. RegisterEffect is\r\n * idempotent-by-key, so an effect-option change needs the key refreshed\r\n * (Rebuild does) and this called again - exactly Carbon's SetShaderOption\r\n * flow (cpp:430-438), whose singleton reach is engine-owned here.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterWithQuadRenderer(quadRenderer)\r\n {\r\n if (!this.effect) return;\r\n this.#effectKey = Number(this.effect.GetHashValue()) >>> 0;\r\n quadRenderer.RegisterEffect(\r\n this.#effectKey,\r\n TriBatchType.TRIBATCHTYPE_ADDITIVE,\r\n POOL_VERTEX_SIZE,\r\n 1,\r\n POOL_VERTEX_DEFINITION,\r\n this.effect\r\n );\r\n }\r\n\r\n /**\r\n * Carbon AddToQuadRenderer (cpp:173-219): move every sprite position into\r\n * world space (through its bone when skinned and the bone exists, else\r\n * directly), stamp activation * intensity as a half into every instance,\r\n * and hand the exact bytes to the quad renderer. boosterGain is accepted\r\n * and unused, as in Carbon.\r\n *\r\n * @param {object} quadRenderer Tr2QuadRenderer.\r\n * @param {Float32Array} parentTransform World matrix.\r\n * @param {number} activation Activation strength.\r\n * @param {number} _boosterGain Accepted for signature parity (cpp:174).\r\n * @param {Float32Array} [bones] Flat Float4x3 list, stride 12.\r\n * @param {number} [boneCount] Bones available.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n AddToQuadRenderer(quadRenderer, parentTransform, activation, _boosterGain = 0, bones = null, boneCount = 0)\r\n {\r\n if (!this.display || this.#spriteData.length === 0) return;\r\n\r\n const n = this.#spriteData.length;\r\n if (!this.skinned || !bones)\r\n {\r\n this.#TransformPositions(parentTransform);\r\n }\r\n else\r\n {\r\n const position = EveSpriteSet.#positionScratch;\r\n const bone = EveSpriteSet.#boneScratch;\r\n for (let i = 0; i < n; i++)\r\n {\r\n const data = this.#spriteData[i];\r\n if (data.boneIndex < boneCount)\r\n {\r\n MatrixCopyFrom3x4(bone, bones, data.boneIndex);\r\n vec3.transformMat4(position, data.position, bone);\r\n vec3.transformMat4(position, position, parentTransform);\r\n }\r\n else\r\n {\r\n vec3.transformMat4(position, data.position, parentTransform);\r\n }\r\n this.#WritePosition(i, position);\r\n }\r\n }\r\n\r\n const activation16 = num.toHalfFloat(Math.fround(activation * this.intensity));\r\n for (let i = 0; i < n; i++)\r\n {\r\n this.#poolView.setUint16(i * POOL_VERTEX_SIZE + 12, activation16, true);\r\n }\r\n quadRenderer.AddQuads(this.#effectKey, this.#poolBuffer, this.sprites.length);\r\n }\r\n\r\n /**\r\n * Carbon AddBoosterGlowToQuadRenderer (cpp:83-124): world-transform the\r\n * positions, then repurpose the instance halves - activation/blinkRate/\r\n * falloff carry the world Z axis (transform[8..10], Carbon GetZ) - and\r\n * overwrite both colours' alpha bytes with the gains. The overwrites are\r\n * DESTRUCTIVE in the shared persistent buffer, exactly as Carbon's: a set\r\n * serves either path each frame, and whichever runs repacks it.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n AddBoosterGlowToQuadRenderer(quadRenderer, world, boosterGain, warpIntensity)\r\n {\r\n if (!this.display || this.#spriteData.length === 0) return;\r\n\r\n this.#TransformPositions(world);\r\n\r\n const\r\n zDirX = num.toHalfFloat(world[8]),\r\n zDirY = num.toHalfFloat(world[9]),\r\n zDirZ = num.toHalfFloat(world[10]),\r\n gain = Math.min(Math.trunc(boosterGain * 255), 255),\r\n warp = Math.min(Math.trunc(warpIntensity * 255), 255);\r\n\r\n for (let i = 0; i < this.#spriteData.length; i++)\r\n {\r\n const base = i * POOL_VERTEX_SIZE;\r\n this.#poolView.setUint16(base + 12, zDirX, true); // activation slot\r\n this.#poolView.setUint16(base + 16, zDirY, true); // blinkRate slot\r\n this.#poolView.setUint16(base + 22, zDirZ, true); // falloff slot\r\n this.#poolBuffer[base + 27] = gain;\r\n this.#poolBuffer[base + 31] = warp;\r\n }\r\n quadRenderer.AddQuads(this.#effectKey, this.#poolBuffer, this.sprites.length);\r\n }\r\n\r\n /** Carbon PoolVertex::GetDefinition (cpp:18-33), the instance layout. */\r\n static getDefinition()\r\n {\r\n return POOL_VERTEX_DEFINITION;\r\n }\r\n\r\n /** The unskinned XMVector3TransformCoordStream (cpp:184-191 / cpp:101-107). */\r\n #TransformPositions(transform)\r\n {\r\n const position = EveSpriteSet.#positionScratch;\r\n for (let i = 0; i < this.#spriteData.length; i++)\r\n {\r\n vec3.transformMat4(position, this.#spriteData[i].position, transform);\r\n this.#WritePosition(i, position);\r\n }\r\n }\r\n\r\n /** Writes one sprite position as three little-endian floats in the vertex pool. */\r\n #WritePosition(index, position)\r\n {\r\n const base = index * POOL_VERTEX_SIZE;\r\n this.#poolView.setFloat32(base, position[0], true);\r\n this.#poolView.setFloat32(base + 4, position[1], true);\r\n this.#poolView.setFloat32(base + 8, position[2], true);\r\n }\r\n\r\n /** Carbon EveSpriteSet::GetAabb (cpp:163-166): the item-set bounds, with the\r\n * bone list forwarded only when the set is skinned. */\r\n @carbon.method\r\n @impl.implemented\r\n GetAabb(out, bones = null, boneCount = 0)\r\n {\r\n return GetItemSetAabb(\r\n out,\r\n this.#staticBounds,\r\n this.#boneBounds,\r\n bones,\r\n this.skinned ? boneCount : 0\r\n );\r\n }\r\n\r\n /** Carbon EveSpriteSet::UpdateVisibility (cpp:130-140): an uninitialized set\r\n * is NOT visible; otherwise its bounds move into world space and take the\r\n * frustum box test. No LOD and no display gate - Carbon tests display at draw\r\n * time, not here. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(updateContext, parentTransform, bones = null, boneCount = 0)\r\n {\r\n const aabb = this.GetAabb(EveSpriteSet.#aabbScratch, bones, boneCount);\r\n if (box3.isEmpty(aabb))\r\n {\r\n return false;\r\n }\r\n\r\n box3.transformMat4(aabb, aabb, parentTransform);\r\n return !!updateContext?.GetFrustum()?.IsBoxVisible(aabb);\r\n }\r\n\r\n /**\r\n * Runs the first Rebuild so the set has bounds before its first visibility\r\n * test.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n this.Rebuild();\r\n return true;\r\n }\r\n\r\n /**\r\n * Converts a SOF-authored light description into an EveSpriteLight and appends\r\n * it to the set.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n AddLightFromSOF(light)\r\n {\r\n this.lights.push(EveSpriteLight.FromSOF(light));\r\n }\r\n\r\n /** Carbon EveSpriteSet::RegisterComponents (cpp:445-452): LightOwner when\r\n * lights are authored. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.lights.length)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n }\r\n\r\n /** Carbon EveSpriteSet::GetLights (cpp:454-469): parentBrightness =\r\n * activationStrength once before the loop; per light the point conversion\r\n * on the bone matrix, then Blink scales BOTH radius and innerRadius AFTER\r\n * conversion (cpp:464-466). No gates - registration covers presence. The\r\n * profile rides the record by reference (Carbon: GetTextureIndex() with NO\r\n * +1, unlike Tr2Light::AddLight - the asymmetry is moot by-reference but\r\n * recorded). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2Renderer::GetAnimationTime relocates onto the light-manager duck (GetAnimationTime, default 0); profile-index packing is by-reference per lightConversion.js.\")\r\n GetLights(lightManager)\r\n {\r\n const features = EveSpriteSet.#features;\r\n features.parentBrightness = this.#activationStrength;\r\n features.parentScale = 1;\r\n const time = lightManager?.GetAnimationTime() ?? 0;\r\n const quality = lightManager?.GetCurrentSpaceSceneShadowQuality() ?? 0;\r\n const record = EveSpriteSet.#lightRecord;\r\n\r\n for (const light of this.lights)\r\n {\r\n AsPerPointLightData(record, light.lightData, light.boneMatrix, features, quality);\r\n const blinkScale = Blink(time, light.blinkRate, light.blinkPhase, light.minScale, light.maxScale);\r\n record.radius *= blinkScale;\r\n record.innerRadius *= blinkScale;\r\n record.lightType = Tr2Light.POINT_LIGHT;\r\n record.lightData = light.lightData;\r\n record.lightProfile = light.lightProfile;\r\n record.owner = this;\r\n lightManager?.AddLight(record);\r\n }\r\n }\r\n\r\n /** Per-frame scratch - UpdateVisibility must not allocate. */\r\n static #aabbScratch = box3.create();\r\n\r\n static #features = { parentBrightness: 0, parentScale: 1 };\r\n\r\n static #lightRecord = CreateLightRecord();\r\n}\r\n"],"names":["POOL_VERTEX_SIZE","POOL_VERTEX_DEFINITION","Tr2VertexDefinition","Add","colorByte","value","Math","min","max","round","Number","_EveSpriteSet","_identity","EveSpriteSet","IEveSpaceObjectAttachment","e","_init_sprites","_init_extra_sprites","_init_name","_init_extra_name","_init_effect","_init_extra_effect","_init_skinned","_init_extra_skinned","_init_intensity","_init_extra_intensity","_init_display","_init_extra_display","_init_lights","_init_extra_lights","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","notify","persist","list","string","objectRef","boolean","float32","carbon","method","impl","implemented","adapted","reason","sprites","name","effect","skinned","intensity","display","lights","box3","create","Uint8Array","Clear","length","UpdateLights","parentTransform","bones","boneCount","activationStrength","_boosterGain","light","boneIndex","lightData","MatrixCopyFrom3x4","boneMatrix","mat4","multiply","copy","positionOrItem","args","ArrayBuffer","isView","Array","isArray","push","item","EveSpriteSetItem","vec3","position","scale","color","warpColor","blinkRate","blinkPhase","minScale","maxScale","falloff","vec4","GetSprites","GetName","SetName","String","GetEffect","SetEffect","SetSkinned","Rebuild","__state","add","GetHashValue","n","DataView","buffer","i","sprite","base","view","setFloat32","setUint16","num","toHalfFloat","CreateItemSetBoundingBoxes","RegisterWithQuadRenderer","quadRenderer","RegisterEffect","TriBatchType","TRIBATCHTYPE_ADDITIVE","AddToQuadRenderer","activation","bone","data","transformMat4","activation16","fround","AddQuads","AddBoosterGlowToQuadRenderer","world","boosterGain","warpIntensity","zDirX","zDirY","zDirZ","gain","trunc","warp","getDefinition","#TransformPositions","transform","#WritePosition","index","GetAabb","out","GetItemSetAabb","UpdateVisibility","updateContext","aabb","isEmpty","GetFrustum","IsBoxVisible","Initialize","AddLightFromSOF","EveSpriteLight","FromSOF","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","GetLights","lightManager","features","parentBrightness","parentScale","time","GetAnimationTime","quality","GetCurrentSpaceSceneShadowQuality","record","AsPerPointLightData","blinkScale","Blink","radius","innerRadius","lightType","Tr2Light","POINT_LIGHT","lightProfile","owner","AddLight","CreateLightRecord","constructor"],"mappings":"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"}
|