@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":"EveBoosterSet2.js","sources":["../../../../../../src/trinity/eve/attachment/booster/EveBoosterSet2.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Attachments/EveBoosterSet2.h\r\n// Source: trinity/trinity/Eve/SpaceObject/Attachments/EveBoosterSet2.cpp\r\n// Source: trinity/trinity/Eve/SpaceObject/Attachments/EveBoosterSet2_Blue.cpp\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { sph3 } from \"#math/sph3\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { CjsModel } from \"#model\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { EveEntity } from \"../../EveEntity.js\";\r\nimport { EveBoosterSet2Renderable } from \"./EveBoosterSet2Renderable.js\";\r\nimport { EveComponentType } from \"../../EveComponentTypes.js\";\r\nimport {\r\n AddBoosterLights,\r\n CreateBoosterFlares,\r\n GenerateBoosterLightPhase\r\n} from \"./boosterUtilities.js\";\r\n\r\n\r\n/**\r\n * One authored booster placement: its local transform, functionality inputs,\r\n * atlas slots, light scale and whether it emits a trail.\r\n */\r\n@type.define({ className: \"EveBoosterSet2Item\", family: \"eve/attachment/boosters\" })\r\nexport class EveBoosterSet2Item extends CjsModel\r\n{\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.mat4\r\n transform = mat4.create();\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.vec4\r\n functionality = vec4.fromValues(0, 1, 1, 1);\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.boolean\r\n hasTrail = true;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.uint32\r\n atlasIndex0 = 0;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.uint32\r\n atlasIndex1 = 0;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.float32\r\n lightScale = 1;\r\n}\r\n\r\n\r\n/**\r\n * Owns a hull's authored booster placements and derives from them the glow\r\n * flares, trails, set bounding sphere and flickering point lights that its\r\n * renderable instances draw.\r\n */\r\n@type.define({ className: \"EveBoosterSet2\", family: \"eve/attachment/boosters\" })\r\nexport class EveBoosterSet2 extends EveEntity\r\n{\r\n\r\n /** m_flareLodEnabled (bool) [READWRITE, NOTIFY] */\r\n @io.notify\r\n @io.readwrite\r\n @type.boolean\r\n flareLodEnabled = true;\r\n\r\n /** m_staticTrailLength (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"staticTrailOffsets\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n staticTrailLength = 0;\r\n\r\n /** m_trailsStaticOffsets[0] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets0 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[1] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets1 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[2] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets2 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[3] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets3 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[4] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets4 = vec3.create();\r\n\r\n /** m_lightOffset (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightOffset = 0;\r\n\r\n /** m_lightFlickerAmplitude (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightFlickerAmplitude = 0;\r\n\r\n /** m_lightFlickerFrequency (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightFlickerFrequency = 0;\r\n\r\n /** m_lightRadius (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightRadius = 0;\r\n\r\n /** m_lightColor (Color) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.color\r\n lightColor = vec4.create();\r\n\r\n /** m_lightWarpRadius (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightWarpRadius = 0;\r\n\r\n /** m_lightWarpColor (Color) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.color\r\n lightWarpColor = vec4.create();\r\n\r\n /** m_display (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n /** m_alwaysOnIntensity (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n alwaysOnIntensity = 1;\r\n\r\n /** m_warpGlowColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n warpGlowColor = vec4.create();\r\n\r\n /** m_glowColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n glowColor = vec4.create();\r\n\r\n /** m_haloColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n haloColor = vec4.create();\r\n\r\n /** m_warpHaloColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n warpHaloColor = vec4.create();\r\n\r\n /** m_effectFar (Tr2EffectPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effectFar = null;\r\n\r\n /** m_effect (Tr2EffectPtr) [READWRITE, PERSIST] */\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effect = null;\r\n\r\n /** m_boosterRenderables (PEveBoosterSet2RenderableVector) [READ] */\r\n @io.read\r\n @type.list(\"EveBoosterSet2Renderable\")\r\n instances = [];\r\n\r\n /** m_maxVel (float) [READWRITE] */\r\n @io.readwrite\r\n @type.float32\r\n maxVel = 250;\r\n\r\n /** m_glowScale (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n glowScale = 1;\r\n\r\n /** m_symHaloScale (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n symHaloScale = 1;\r\n\r\n /** m_haloScaleX (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n haloScaleX = 1;\r\n\r\n /** m_haloScaleY (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n haloScaleY = 1;\r\n\r\n /** m_trailsSmoothing (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n trailsSmoothing = 10;\r\n\r\n /** m_glows (EveSpriteSetPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.objectRef(\"EveSpriteSet\")\r\n glows = null;\r\n\r\n /** m_maxSize (float) [READ] */\r\n @io.read\r\n @type.float32\r\n maxSize = 0;\r\n\r\n /** m_boosterBoundingSphere.xyz (Vector4) [READ] */\r\n @io.read\r\n @type.vec3\r\n boosterBoundingSphereCenter = vec3.create();\r\n\r\n /** m_boosterBoundingSphere.w (float) [READ] */\r\n @io.read\r\n @type.float32\r\n boosterBoundingSphereRadius = 0;\r\n\r\n /** m_warpIntensity (float) [READWRITE] */\r\n @io.readwrite\r\n @type.float32\r\n warpIntensity = 0;\r\n\r\n /** m_physicsUpdate (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n physicsUpdate = true;\r\n\r\n /** m_destinyUpdate (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n destinyUpdate = true;\r\n\r\n /** m_alwaysOn (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n alwaysOn = false;\r\n\r\n /** m_trails (EveTrailsSetPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.objectRef(\"EveTrailsSet\")\r\n trails = null;\r\n\r\n @io.flag(\"items\")\r\n @io.rebuild(\"packedGeometry\")\r\n @io.notify\r\n @io.persist\r\n @type.list(\"EveBoosterSet2Item\")\r\n items = [];\r\n\r\n #singleBoosters = [];\r\n\r\n #revision = 0;\r\n\r\n /** m_glowsVisible (cpp:682) - starts visible, recomputed by UpdateVisibility. */\r\n #glowsVisible = true;\r\n\r\n /**\r\n * Derives the runtime boosters, flares and trails from the authored items and\r\n * binds every renderable instance back to this set.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n EveBoosterSet2.#RebuildItems(this);\r\n for (const renderable of this.instances)\r\n {\r\n renderable?.SetBoosterSet?.(this);\r\n }\r\n this.#revision++;\r\n return true;\r\n }\r\n\r\n /**\r\n * Applies whichever of the items, staticTrailOffsets and flares rebuild flags\r\n * a property change raised, rebuilding only what that flag covers, and bumps\r\n * the revision.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n OnModified(_options = {})\r\n {\r\n const flags = this.__state.flags;\r\n if (flags.has(\"items\"))\r\n {\r\n EveBoosterSet2.#RebuildItems(this);\r\n }\r\n if (flags.has(\"staticTrailOffsets\"))\r\n {\r\n EveBoosterSet2.#UpdateStaticTrailOffsets(this);\r\n }\r\n if (flags.delete(\"flares\") && this.glows)\r\n {\r\n this.glows.Clear();\r\n for (const booster of this.#singleBoosters)\r\n {\r\n CreateBoosterFlares(this.glows, booster.transform, EveBoosterSet2.#GetFlareParams(this));\r\n }\r\n this.glows.Rebuild?.();\r\n }\r\n this.#revision++;\r\n return true;\r\n }\r\n\r\n /**\r\n * Resizes the renderable instance list - one instance per ship drawing this\r\n * booster set - keeping at least one, and rebinds every instance; returns the\r\n * resulting count.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetCount(count)\r\n {\r\n const requested = Math.trunc(Number(count));\r\n const target = Number.isFinite(requested) ? Math.max(1, requested) : 1;\r\n if (this.instances.length > target)\r\n {\r\n this.instances.length = target;\r\n }\r\n while (this.instances.length < target)\r\n {\r\n const renderable = new EveBoosterSet2Renderable();\r\n renderable.SetBoosterSet(this);\r\n this.instances.push(renderable);\r\n }\r\n for (const renderable of this.instances)\r\n {\r\n renderable?.SetBoosterSet?.(this);\r\n }\r\n this.#revision++;\r\n return this.instances.length;\r\n }\r\n\r\n /**\r\n * Updates one renderable instance from the parent's transform, speed,\r\n * acceleration and rotation, creating the first instance when the set has\r\n * none; returns false when boosterInstance is out of range.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Update(\r\n deltaTime,\r\n time,\r\n parentMatrix = mat4.create(),\r\n parentSpeed = 0,\r\n parentAcceleration = EveBoosterSet2.#zero,\r\n parentRotation = EveBoosterSet2.#identityRotation,\r\n boosterInstance = 0\r\n )\r\n {\r\n if (!this.instances.length)\r\n {\r\n this.SetCount(1);\r\n }\r\n const index = Number(boosterInstance) >>> 0;\r\n if (index >= this.instances.length)\r\n {\r\n return false;\r\n }\r\n this.instances[index]?.Update(\r\n deltaTime,\r\n time,\r\n parentMatrix,\r\n parentSpeed,\r\n parentAcceleration,\r\n parentRotation\r\n );\r\n return true;\r\n }\r\n\r\n /**\r\n * Advances every instance's trail spline and then the trail set itself;\r\n * returns false when no trail set is attached.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n UpdateTrails(deltaTime, time)\r\n {\r\n if (!this.trails)\r\n {\r\n return false;\r\n }\r\n let updated = false;\r\n for (const renderable of this.instances)\r\n {\r\n updated = renderable?.UpdateTrails?.(deltaTime, time) || updated;\r\n }\r\n this.trails.Update(time);\r\n return updated;\r\n }\r\n\r\n /**\r\n * Drops the authored items along with everything derived from them - runtime\r\n * boosters, glows, trails, bounding sphere and max size.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Clear()\r\n {\r\n this.items.length = 0;\r\n EveBoosterSet2.#ClearRuntimeItems(this);\r\n this.#revision++;\r\n }\r\n\r\n /**\r\n * Appends an authored booster placement and immediately derives its runtime\r\n * booster, flares and trail; returns the new item's index and throws a\r\n * TypeError when localMatrix is not sixteen values.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Add(\r\n localMatrix,\r\n functionality,\r\n hasTrail,\r\n atlasIndex0,\r\n atlasIndex1,\r\n lightScale = 1\r\n )\r\n {\r\n if (!localMatrix || localMatrix.length !== 16)\r\n {\r\n throw new TypeError(\"EveBoosterSet2 transforms must contain 16 values\");\r\n }\r\n const item = new EveBoosterSet2Item();\r\n mat4.copy(item.transform, localMatrix);\r\n vec4.copy(item.functionality, functionality ?? EveBoosterSet2.#defaultFunctionality);\r\n item.hasTrail = !!hasTrail;\r\n item.atlasIndex0 = Number(atlasIndex0) >>> 0;\r\n item.atlasIndex1 = Number(atlasIndex1) >>> 0;\r\n item.lightScale = Number(lightScale) || 0;\r\n this.items.push(item);\r\n EveBoosterSet2.#AddRuntimeItem(this, item);\r\n this.#revision++;\r\n return this.items.length - 1;\r\n }\r\n\r\n /**\r\n * Empties the derived booster records, glows and trails and resets the set\r\n * bounding sphere and max size, leaving the authored items alone.\r\n */\r\n static #ClearRuntimeItems(owner)\r\n {\r\n owner.#singleBoosters.length = 0;\r\n owner.glows?.Clear();\r\n owner.trails?.Clear();\r\n vec3.set(owner.boosterBoundingSphereCenter, 0, 0, 0);\r\n owner.boosterBoundingSphereRadius = 0;\r\n owner.maxSize = 0;\r\n }\r\n\r\n /**\r\n * Discards the derived state and re-derives it from every authored item, then\r\n * clears both the items and flares rebuild flags.\r\n */\r\n static #RebuildItems(owner)\r\n {\r\n EveBoosterSet2.#ClearRuntimeItems(owner);\r\n for (const item of owner.items)\r\n {\r\n EveBoosterSet2.#AddRuntimeItem(owner, item);\r\n }\r\n owner.__state.flags.delete(\"items\");\r\n owner.__state.flags.delete(\"flares\");\r\n }\r\n\r\n /**\r\n * Derives one runtime booster from an authored item - scale from the larger of\r\n * the transform's X and Y basis lengths, a light position pushed back along -Z\r\n * by lightOffset, and a random light flicker phase - then creates its flares\r\n * and its trail (offset back half a unit along the booster axis), and grows\r\n * the set bounding sphere and max size.\r\n */\r\n static #AddRuntimeItem(owner, item)\r\n {\r\n const transform = mat4.clone(item.transform);\r\n const scale = Math.max(\r\n Math.hypot(transform[0], transform[1], transform[2]),\r\n Math.hypot(transform[4], transform[5], transform[6])\r\n );\r\n const lightPosition = vec3.transformMat4(\r\n vec3.create(),\r\n [0, 0, -owner.lightOffset],\r\n transform\r\n );\r\n const booster = {\r\n transform,\r\n functionality: vec4.clone(item.functionality),\r\n lightPosition,\r\n lightRadius: scale * item.lightScale,\r\n lightPhase: GenerateBoosterLightPhase(),\r\n atlasIndex0: item.atlasIndex0,\r\n atlasIndex1: item.atlasIndex1,\r\n hasTrail: item.hasTrail\r\n };\r\n owner.#singleBoosters.push(booster);\r\n\r\n if (owner.glows)\r\n {\r\n CreateBoosterFlares(owner.glows, booster.transform, EveBoosterSet2.#GetFlareParams(owner));\r\n }\r\n if (owner.trails && item.hasTrail)\r\n {\r\n const trailTransform = mat4.clone(transform);\r\n trailTransform[12] -= trailTransform[8] * 0.5;\r\n trailTransform[13] -= trailTransform[9] * 0.5;\r\n trailTransform[14] -= trailTransform[10] * 0.5;\r\n owner.trails.Add?.(trailTransform, scale);\r\n }\r\n\r\n EveBoosterSet2.#UpdateBoundingSphere(owner, transform.subarray(12, 15));\r\n owner.maxSize = Math.max(owner.maxSize, scale);\r\n }\r\n\r\n /**\r\n * Sets the whole flare description in one call: glow and halo scales with\r\n * their normal and warp colours, plus the always-on flag.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetData(\r\n glowScale,\r\n glowColor,\r\n warpGlowColor,\r\n symHaloScale,\r\n haloScaleX,\r\n haloScaleY,\r\n haloColor,\r\n warpHaloColor,\r\n alwaysOn\r\n )\r\n {\r\n this.glowScale = Number(glowScale);\r\n vec4.copy(this.glowColor, glowColor);\r\n vec4.copy(this.warpGlowColor, warpGlowColor);\r\n this.symHaloScale = Number(symHaloScale);\r\n this.haloScaleX = Number(haloScaleX);\r\n this.haloScaleY = Number(haloScaleY);\r\n vec4.copy(this.haloColor, haloColor);\r\n vec4.copy(this.warpHaloColor, warpHaloColor);\r\n this.alwaysOn = !!alwaysOn;\r\n }\r\n\r\n /**\r\n * Sets the whole booster point-light description in one call: light offset,\r\n * flicker amplitude and frequency, and the normal and warp radius and colour.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetLightData(offset, flickerAmplitude, flickerFrequency, radius, color, warpRadius, warpColor)\r\n {\r\n this.lightOffset = Number(offset);\r\n this.lightFlickerAmplitude = Number(flickerAmplitude);\r\n this.lightFlickerFrequency = Number(flickerFrequency);\r\n this.lightRadius = Number(radius);\r\n vec4.copy(this.lightColor, color);\r\n this.lightWarpRadius = Number(warpRadius);\r\n vec4.copy(this.lightWarpColor, warpColor);\r\n }\r\n\r\n /**\r\n * Sets the near and far booster effects; the renderable's boosterHighLod flag\r\n * picks between them at draw time.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetEffect(effect, effectFar)\r\n {\r\n this.effect = effect ?? null;\r\n this.effectFar = effectFar ?? null;\r\n }\r\n\r\n /**\r\n * Attaches the sprite set that the per-booster flares are added to; without\r\n * one no flares are created.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetGlow(glow)\r\n {\r\n this.glows = glow ?? null;\r\n }\r\n\r\n /**\r\n * Attaches the trails set that per-booster trails are added to; without one no\r\n * trails are created.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetTrail(trail)\r\n {\r\n this.trails = trail ?? null;\r\n }\r\n\r\n /**\r\n * The intensity of one renderable instance, or the mean across every instance\r\n * when no index is given; zero when the set has no instances.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetBoosterIntensity(index = null)\r\n {\r\n if (index !== null && index !== undefined)\r\n {\r\n return this.instances[Number(index) >>> 0]?.GetIntensity?.() ?? 0;\r\n }\r\n if (!this.instances.length)\r\n {\r\n return 0;\r\n }\r\n let intensity = 0;\r\n for (const renderable of this.instances)\r\n {\r\n intensity += renderable?.GetIntensity?.() ?? 0;\r\n }\r\n return intensity / this.instances.length;\r\n }\r\n\r\n /** The union of every renderable's world bounding sphere. Carbon has no\r\n * set-level equivalent (each renderable answers for itself); `out` is\r\n * required so a caller can keep its own scratch. An empty set leaves `out`\r\n * empty (sph3 radius -1) rather than reporting a zero-radius sphere at the\r\n * origin. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Set-level aggregate with no Carbon counterpart; sph3.union replaces a hand-rolled merge.\")\r\n GetBoundingSphere(out)\r\n {\r\n sph3.empty(out);\r\n for (const renderable of this.instances)\r\n {\r\n if (renderable?.GetBoundingSphere)\r\n {\r\n renderable.GetBoundingSphere(EveBoosterSet2.#sphereScratch);\r\n sph3.union(out, out, EveBoosterSet2.#sphereScratch);\r\n }\r\n }\r\n return out;\r\n }\r\n\r\n /**\r\n * The derived runtime boosters as deep copies - transform, functionality,\r\n * light position, radius and phase, atlas indices and trail flag - safe for an\r\n * adapter to keep.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetBoosterData()\r\n {\r\n return this.#singleBoosters.map(booster => ({\r\n transform: mat4.clone(booster.transform),\r\n functionality: vec4.clone(booster.functionality),\r\n lightPosition: vec3.clone(booster.lightPosition),\r\n lightRadius: booster.lightRadius,\r\n lightPhase: booster.lightPhase,\r\n atlasIndex0: booster.atlasIndex0,\r\n atlasIndex1: booster.atlasIndex1,\r\n hasTrail: booster.hasTrail\r\n }));\r\n }\r\n\r\n /**\r\n * A counter bumped whenever the authored items or the instance list change, so\r\n * an adapter can tell its packed data is stale.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetRevision()\r\n {\r\n return this.#revision;\r\n }\r\n\r\n /** Carbon EveBoosterSet2::UpdateVisibility (cpp:1096-1116): a display gate,\r\n * then per-renderable LOD, then ONE glow test - the loop breaks on the first\r\n * renderable whose glow sprite set is on screen, so `glowsVisible` is a\r\n * whole-set flag, not per booster.\r\n *\r\n * The glow test is EveSpriteSet::UpdateVisibility - a transformed item-set\r\n * AABB against the frustum. A foreign glow duck without that method is taken\r\n * as visible rather than culled; the flare is still gated per renderable by\r\n * `boostersVisible` (cpp:1264). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"A glow duck lacking UpdateVisibility is treated as visible rather than culled.\")\r\n UpdateVisibility(updateContext)\r\n {\r\n this.#glowsVisible = false;\r\n if (!this.display)\r\n {\r\n return false;\r\n }\r\n\r\n for (const renderable of this.instances)\r\n {\r\n renderable?.UpdateVisibility(updateContext);\r\n }\r\n\r\n if (this.glows)\r\n {\r\n for (const renderable of this.instances)\r\n {\r\n const transform = renderable?.GetParentTransform?.();\r\n if (!transform)\r\n {\r\n continue;\r\n }\r\n // cpp:1109 passes nullptr bones deliberately, and it is not a deferral:\r\n // booster glows are tied to the booster LOCATORS, so each glow is placed\r\n // by its renderable's parent transform (the locator placement) rather\r\n // than by a bone index. There is nothing for a bone palette to resolve.\r\n const visible = this.glows.UpdateVisibility\r\n ? this.glows.UpdateVisibility(updateContext, transform, null, 0)\r\n : true;\r\n if (visible)\r\n {\r\n this.#glowsVisible = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return this.#glowsVisible;\r\n }\r\n\r\n /** Whether any booster glow sprite passed the last UpdateVisibility. Carbon\r\n * reads m_glowsVisible directly in AddToQuadRenderer (cpp:1257); the quad\r\n * renderer is engine-side here, so the flag is exposed instead. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's mutable member read becomes an accessor; the quad renderer that consumes it is engine-owned.\")\r\n GetGlowsVisible()\r\n {\r\n return this.#glowsVisible;\r\n }\r\n\r\n /** Carbon EveBoosterSet2::GetRenderables (cpp:1130-1145): gated on display\r\n * AND on the set owning an effect, then delegated to each renderable's own\r\n * visibility. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n if (!this.display || !this.effect)\r\n {\r\n return out;\r\n }\r\n for (const renderable of this.instances)\r\n {\r\n renderable?.GetRenderables(out);\r\n }\r\n return out;\r\n }\r\n\r\n /** Carbon EveBoosterSet2::RegisterComponents (cpp:1272-1279): unconditional\r\n * LightOwner leaf self-registration. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n }\r\n\r\n /** Carbon EveBoosterSet2::GetLights (cpp:1287-1319): NO display gate\r\n * (registration is unconditional too) - the effective gates are both light\r\n * radii <= 0 (cpp:1289) and per-renderable overallIntensity <= 0\r\n * (cpp:1296). Per renderable: warp blend of radius factor and color\r\n * (clamped warpIntensity, cpp:1301-1304 - the COLOR blend itself is\r\n * unclamped 4-component lerp); per single booster: the shared 128-entry\r\n * random noise table drives a flicker of 1 +/- amplitude around the\r\n * interpolated noise (cpp:1308-1312), and AddPointLight submits the\r\n * booster light position under the renderable's parent transform\r\n * (TransformCoord - single matrix, no composition) with radius *\r\n * radiusFactor and color * flicker (the 3-arg overload: innerRadius 0,\r\n * FLAG_DEFAULT - manager-side). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2Renderer::GetAnimationTime relocates onto the light-manager duck (GetAnimationTime, default 0); the g_lightNoise table is module state filled with Math.random (Carbon fills it with rand()/RAND_MAX - random either way).\")\r\n GetLights(lightManager)\r\n {\r\n if (this.lightRadius <= 0 && this.lightWarpRadius <= 0)\r\n {\r\n return;\r\n }\r\n if (!lightManager)\r\n {\r\n return;\r\n }\r\n\r\n const time = lightManager.GetAnimationTime() ?? 0;\r\n // Carbon EveBoosterSet2.cpp:1186: radii deliberately UNSCALED here (the\r\n // child booster set pre-multiplies by its parent scale; this class does\r\n // not - do not unify).\r\n const params = {\r\n lightRadius: this.lightRadius,\r\n lightColor: this.lightColor,\r\n lightWarpRadius: this.lightWarpRadius,\r\n lightWarpColor: this.lightWarpColor,\r\n lightFlickerAmplitude: this.lightFlickerAmplitude,\r\n lightFlickerFrequency: this.lightFlickerFrequency\r\n };\r\n\r\n for (const renderable of this.instances)\r\n {\r\n if (!renderable || renderable.overallIntensity <= 0)\r\n {\r\n continue;\r\n }\r\n const transform = renderable.GetParentTransform?.();\r\n if (!transform)\r\n {\r\n continue;\r\n }\r\n AddBoosterLights(\r\n lightManager, this.#singleBoosters, transform,\r\n renderable.overallIntensity, this.warpIntensity, params, time);\r\n }\r\n }\r\n\r\n /**\r\n * The flare parameters CreateBoosterFlares consumes, in Carbon's\r\n * EveBoosterFlareParams shape (EveBoosterSet2.cpp:739-742).\r\n */\r\n static #GetFlareParams(owner)\r\n {\r\n return {\r\n warpGlowColor: owner.warpGlowColor,\r\n glowScale: owner.glowScale,\r\n glowColor: owner.glowColor,\r\n haloScaleX: owner.haloScaleX,\r\n haloScaleY: owner.haloScaleY,\r\n symHaloScale: owner.symHaloScale,\r\n haloColor: owner.haloColor,\r\n warpHaloColor: owner.warpHaloColor\r\n };\r\n }\r\n\r\n /**\r\n * Grows the set bounding sphere just far enough to include one booster\r\n * position, leaving it unchanged when the position already falls inside.\r\n */\r\n static #UpdateBoundingSphere(owner, position)\r\n {\r\n const delta = vec3.subtract(vec3.create(), position, owner.boosterBoundingSphereCenter);\r\n const distance = vec3.length(delta);\r\n const radius = owner.boosterBoundingSphereRadius;\r\n if (distance * distance <= radius * radius + 1e-4 || !distance)\r\n {\r\n return;\r\n }\r\n vec3.scaleAndAdd(\r\n owner.boosterBoundingSphereCenter,\r\n owner.boosterBoundingSphereCenter,\r\n delta,\r\n 0.5 * (1 - radius / distance)\r\n );\r\n owner.boosterBoundingSphereRadius = 0.5 * (radius + distance);\r\n }\r\n\r\n /**\r\n * Redistributes the five static trail control offsets evenly backwards along\r\n * -Z across staticTrailLength and clears the staticTrailOffsets flag.\r\n */\r\n static #UpdateStaticTrailOffsets(owner)\r\n {\r\n owner.__state.flags.delete(\"staticTrailOffsets\");\r\n const step = owner.staticTrailLength / 4;\r\n const offsets = [\r\n owner.trailsStaticOffsets0,\r\n owner.trailsStaticOffsets1,\r\n owner.trailsStaticOffsets2,\r\n owner.trailsStaticOffsets3,\r\n owner.trailsStaticOffsets4\r\n ];\r\n for (let index = 0; index < offsets.length; index++)\r\n {\r\n vec3.set(offsets[index], 0, 0, -step * index);\r\n }\r\n }\r\n\r\n static #sphereScratch = sph3.create();\r\n\r\n static #zero = Object.freeze([0, 0, 0]);\r\n\r\n static #identityRotation = Object.freeze([0, 0, 0, 1]);\r\n\r\n static #defaultFunctionality = Object.freeze([0, 1, 1, 1]);\r\n\r\n static Shape = Object.freeze({\r\n STAR: 0,\r\n BOX: 1,\r\n SHAPE_COUNT: 2\r\n });\r\n\r\n}\r\n"],"names":["_EveBoosterSet2Item","EveBoosterSet2Item","CjsModel","e","_init_transform","_init_extra_transform","_init_functionality","_init_extra_functionality","_init_hasTrail","_init_extra_hasTrail","_init_atlasIndex","_init_extra_atlasIndex","_init_atlasIndex2","_init_extra_atlasIndex2","_init_lightScale","_init_extra_lightScale","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","mat4","vec4","boolean","uint32","float32","constructor","args","transform","create","functionality","fromValues","hasTrail","atlasIndex0","atlasIndex1","lightScale","_EveBoosterSet","_identity","EveBoosterSet2","EveEntity","_init_flareLodEnabled","_init_extra_flareLodEnabled","_init_staticTrailLength","_init_extra_staticTrailLength","_init_trailsStaticOffsets","_init_extra_trailsStaticOffsets","_init_trailsStaticOffsets2","_init_extra_trailsStaticOffsets2","_init_trailsStaticOffsets3","_init_extra_trailsStaticOffsets3","_init_trailsStaticOffsets4","_init_extra_trailsStaticOffsets4","_init_trailsStaticOffsets5","_init_extra_trailsStaticOffsets5","_init_lightOffset","_init_extra_lightOffset","_init_lightFlickerAmplitude","_init_extra_lightFlickerAmplitude","_init_lightFlickerFrequency","_init_extra_lightFlickerFrequency","_init_lightRadius","_init_extra_lightRadius","_init_lightColor","_init_extra_lightColor","_init_lightWarpRadius","_init_extra_lightWarpRadius","_init_lightWarpColor","_init_extra_lightWarpColor","_init_display","_init_extra_display","_init_alwaysOnIntensity","_init_extra_alwaysOnIntensity","_init_warpGlowColor","_init_extra_warpGlowColor","_init_glowColor","_init_extra_glowColor","_init_haloColor","_init_extra_haloColor","_init_warpHaloColor","_init_extra_warpHaloColor","_init_effectFar","_init_extra_effectFar","_init_effect","_init_extra_effect","_init_instances","_init_extra_instances","_init_maxVel","_init_extra_maxVel","_init_glowScale","_init_extra_glowScale","_init_symHaloScale","_init_extra_symHaloScale","_init_haloScaleX","_init_extra_haloScaleX","_init_haloScaleY","_init_extra_haloScaleY","_init_trailsSmoothing","_init_extra_trailsSmoothing","_init_glows","_init_extra_glows","_init_maxSize","_init_extra_maxSize","_init_boosterBoundingSphereCenter","_init_extra_boosterBoundingSphereCenter","_init_boosterBoundingSphereRadius","_init_extra_boosterBoundingSphereRadius","_init_warpIntensity","_init_extra_warpIntensity","_init_physicsUpdate","_init_extra_physicsUpdate","_init_destinyUpdate","_init_extra_destinyUpdate","_init_alwaysOn","_init_extra_alwaysOn","_init_trails","_init_extra_trails","_init_items","_init_extra_items","_initProto","_initClass2","notify","readwrite","flag","vec3","color","objectRef","read","list","carbon","method","impl","adapted","implemented","reason","_ClearRuntimeItems","owner","length","glows","Clear","trails","set","boosterBoundingSphereCenter","boosterBoundingSphereRadius","maxSize","_AddRuntimeItem","item","clone","scale","Math","max","hypot","lightPosition","transformMat4","lightOffset","booster","lightRadius","lightPhase","GenerateBoosterLightPhase","push","CreateBoosterFlares","trailTransform","Add","subarray","flareLodEnabled","staticTrailLength","trailsStaticOffsets0","trailsStaticOffsets1","trailsStaticOffsets2","trailsStaticOffsets3","trailsStaticOffsets4","lightFlickerAmplitude","lightFlickerFrequency","lightColor","lightWarpRadius","lightWarpColor","display","alwaysOnIntensity","warpGlowColor","glowColor","haloColor","warpHaloColor","effectFar","effect","instances","maxVel","glowScale","symHaloScale","haloScaleX","haloScaleY","trailsSmoothing","warpIntensity","physicsUpdate","destinyUpdate","alwaysOn","items","Initialize","renderable","SetBoosterSet","OnModified","_options","flags","__state","has","delete","Rebuild","SetCount","count","requested","trunc","Number","target","isFinite","EveBoosterSet2Renderable","Update","deltaTime","time","parentMatrix","parentSpeed","parentAcceleration","parentRotation","boosterInstance","index","UpdateTrails","updated","localMatrix","TypeError","copy","SetData","SetLightData","offset","flickerAmplitude","flickerFrequency","radius","warpRadius","warpColor","SetEffect","SetGlow","glow","SetTrail","trail","GetBoosterIntensity","undefined","GetIntensity","intensity","GetBoundingSphere","out","sph3","empty","union","GetBoosterData","map","GetRevision","UpdateVisibility","updateContext","GetParentTransform","visible","GetGlowsVisible","GetRenderables","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","GetLights","lightManager","GetAnimationTime","params","overallIntensity","AddBoosterLights","#ClearRuntimeItems","_0","apply","arguments","#RebuildItems","#AddRuntimeItem","_1","#GetFlareParams","#UpdateBoundingSphere","position","delta","subtract","distance","scaleAndAdd","#UpdateStaticTrailOffsets","step","offsets","Object","freeze","Shape","STAR","BOX","SHAPE_COUNT"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EveBoosterSet2.js","sources":["../../../../../../src/trinity/eve/attachment/booster/EveBoosterSet2.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Attachments/EveBoosterSet2.h\n// Source: trinity/trinity/Eve/SpaceObject/Attachments/EveBoosterSet2.cpp\n// Source: trinity/trinity/Eve/SpaceObject/Attachments/EveBoosterSet2_Blue.cpp\nimport { mat4 } from \"#math/mat4\";\nimport { sph3 } from \"#math/sph3\";\nimport { vec3 } from \"#math/vec3\";\nimport { vec4 } from \"#math/vec4\";\nimport { carbon, impl, io, type } from \"#schema\";\nimport { EveEntity } from \"../../EveEntity.js\";\nimport { EveBoosterSet2Item } from \"./EveBoosterSet2Item.js\";\nimport { EveBoosterSet2Renderable } from \"./EveBoosterSet2Renderable.js\";\nimport { EveComponentType } from \"../../EveComponentTypes.js\";\nimport {\n AddBoosterLights,\n CreateBoosterFlares,\n GenerateBoosterLightPhase\n} from \"./boosterUtilities.js\";\n\n\n/**\n * Owns a hull's authored booster placements and derives from them the glow\n * flares, trails, set bounding sphere and flickering point lights that its\n * renderable instances draw.\n */\n@type.define({ className: \"EveBoosterSet2\", family: \"eve/attachment/boosters\" })\nexport class EveBoosterSet2 extends EveEntity\n{\n\n /** m_flareLodEnabled (bool) [READWRITE, NOTIFY] */\n @io.notify\n @io.readwrite\n @type.boolean\n flareLodEnabled = true;\n\n /** m_staticTrailLength (float) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"staticTrailOffsets\")\n @io.notify\n @io.persist\n @type.float32\n staticTrailLength = 0;\n\n /** m_trailsStaticOffsets[0] (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n trailsStaticOffsets0 = vec3.create();\n\n /** m_trailsStaticOffsets[1] (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n trailsStaticOffsets1 = vec3.create();\n\n /** m_trailsStaticOffsets[2] (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n trailsStaticOffsets2 = vec3.create();\n\n /** m_trailsStaticOffsets[3] (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n trailsStaticOffsets3 = vec3.create();\n\n /** m_trailsStaticOffsets[4] (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n trailsStaticOffsets4 = vec3.create();\n\n /** m_lightOffset (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n lightOffset = 0;\n\n /** m_lightFlickerAmplitude (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n lightFlickerAmplitude = 0;\n\n /** m_lightFlickerFrequency (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n lightFlickerFrequency = 0;\n\n /** m_lightRadius (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n lightRadius = 0;\n\n /** m_lightColor (Color) [READWRITE, PERSIST] */\n @io.persist\n @type.color\n lightColor = vec4.create();\n\n /** m_lightWarpRadius (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n lightWarpRadius = 0;\n\n /** m_lightWarpColor (Color) [READWRITE, PERSIST] */\n @io.persist\n @type.color\n lightWarpColor = vec4.create();\n\n /** m_display (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n display = true;\n\n /** m_alwaysOnIntensity (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n alwaysOnIntensity = 1;\n\n /** m_warpGlowColor (Color) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.color\n warpGlowColor = vec4.create();\n\n /** m_glowColor (Color) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.color\n glowColor = vec4.create();\n\n /** m_haloColor (Color) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.color\n haloColor = vec4.create();\n\n /** m_warpHaloColor (Color) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.color\n warpHaloColor = vec4.create();\n\n /** m_effectFar (Tr2EffectPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.objectRef(\"Tr2Effect\")\n effectFar = null;\n\n /** m_effect (Tr2EffectPtr) [READWRITE, PERSIST] */\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.objectRef(\"Tr2Effect\")\n effect = null;\n\n /** m_boosterRenderables (PEveBoosterSet2RenderableVector) [READ] */\n @io.read\n @type.list(\"EveBoosterSet2Renderable\")\n instances = [];\n\n /** m_maxVel (float) [READWRITE] */\n @io.readwrite\n @type.float32\n maxVel = 250;\n\n /** m_glowScale (float) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.float32\n glowScale = 1;\n\n /** m_symHaloScale (float) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.float32\n symHaloScale = 1;\n\n /** m_haloScaleX (float) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.float32\n haloScaleX = 1;\n\n /** m_haloScaleY (float) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.float32\n haloScaleY = 1;\n\n /** m_trailsSmoothing (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n trailsSmoothing = 10;\n\n /** m_glows (EveSpriteSetPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.objectRef(\"EveSpriteSet\")\n glows = null;\n\n /** m_maxSize (float) [READ] */\n @io.read\n @type.float32\n maxSize = 0;\n\n /** m_boosterBoundingSphere.xyz (Vector4) [READ] */\n @io.read\n @type.vec3\n boosterBoundingSphereCenter = vec3.create();\n\n /** m_boosterBoundingSphere.w (float) [READ] */\n @io.read\n @type.float32\n boosterBoundingSphereRadius = 0;\n\n /** m_warpIntensity (float) [READWRITE] */\n @io.readwrite\n @type.float32\n warpIntensity = 0;\n\n /** m_physicsUpdate (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n physicsUpdate = true;\n\n /** m_destinyUpdate (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n destinyUpdate = true;\n\n /** m_alwaysOn (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n alwaysOn = false;\n\n /** m_trails (EveTrailsSetPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.objectRef(\"EveTrailsSet\")\n trails = null;\n\n @io.flag(\"items\")\n @io.rebuild(\"packedGeometry\")\n @io.notify\n @io.persist\n @type.list(\"EveBoosterSet2Item\")\n items = [];\n\n #singleBoosters = [];\n\n #revision = 0;\n\n /** m_glowsVisible (cpp:682) - starts visible, recomputed by UpdateVisibility. */\n #glowsVisible = true;\n\n /**\n * Derives the runtime boosters, flares and trails from the authored items and\n * binds every renderable instance back to this set.\n */\n @carbon.method\n @impl.adapted\n Initialize()\n {\n EveBoosterSet2.#RebuildItems(this);\n for (const renderable of this.instances)\n {\n renderable?.SetBoosterSet?.(this);\n }\n this.#revision++;\n return true;\n }\n\n /**\n * Applies whichever of the items, staticTrailOffsets and flares rebuild flags\n * a property change raised, rebuilding only what that flag covers, and bumps\n * the revision.\n */\n @carbon.method\n @impl.adapted\n OnModified(_options = {})\n {\n const flags = this.__state.flags;\n if (flags.has(\"items\"))\n {\n EveBoosterSet2.#RebuildItems(this);\n }\n if (flags.has(\"staticTrailOffsets\"))\n {\n EveBoosterSet2.#UpdateStaticTrailOffsets(this);\n }\n if (flags.delete(\"flares\") && this.glows)\n {\n this.glows.Clear();\n for (const booster of this.#singleBoosters)\n {\n CreateBoosterFlares(this.glows, booster.transform, EveBoosterSet2.#GetFlareParams(this));\n }\n this.glows.Rebuild?.();\n }\n this.#revision++;\n return true;\n }\n\n /**\n * Resizes the renderable instance list - one instance per ship drawing this\n * booster set - keeping at least one, and rebinds every instance; returns the\n * resulting count.\n */\n @carbon.method\n @impl.implemented\n SetCount(count)\n {\n const requested = Math.trunc(Number(count));\n const target = Number.isFinite(requested) ? Math.max(1, requested) : 1;\n if (this.instances.length > target)\n {\n this.instances.length = target;\n }\n while (this.instances.length < target)\n {\n const renderable = new EveBoosterSet2Renderable();\n renderable.SetBoosterSet(this);\n this.instances.push(renderable);\n }\n for (const renderable of this.instances)\n {\n renderable?.SetBoosterSet?.(this);\n }\n this.#revision++;\n return this.instances.length;\n }\n\n /**\n * Updates one renderable instance from the parent's transform, speed,\n * acceleration and rotation, creating the first instance when the set has\n * none; returns false when boosterInstance is out of range.\n */\n @carbon.method\n @impl.adapted\n Update(\n deltaTime,\n time,\n parentMatrix = mat4.create(),\n parentSpeed = 0,\n parentAcceleration = EveBoosterSet2.#zero,\n parentRotation = EveBoosterSet2.#identityRotation,\n boosterInstance = 0\n )\n {\n if (!this.instances.length)\n {\n this.SetCount(1);\n }\n const index = Number(boosterInstance) >>> 0;\n if (index >= this.instances.length)\n {\n return false;\n }\n this.instances[index]?.Update(\n deltaTime,\n time,\n parentMatrix,\n parentSpeed,\n parentAcceleration,\n parentRotation\n );\n return true;\n }\n\n /**\n * Advances every instance's trail spline and then the trail set itself;\n * returns false when no trail set is attached.\n */\n @carbon.method\n @impl.adapted\n UpdateTrails(deltaTime, time)\n {\n if (!this.trails)\n {\n return false;\n }\n let updated = false;\n for (const renderable of this.instances)\n {\n updated = renderable?.UpdateTrails?.(deltaTime, time) || updated;\n }\n this.trails.Update(time);\n return updated;\n }\n\n /**\n * Drops the authored items along with everything derived from them - runtime\n * boosters, glows, trails, bounding sphere and max size.\n */\n @carbon.method\n @impl.adapted\n Clear()\n {\n this.items.length = 0;\n EveBoosterSet2.#ClearRuntimeItems(this);\n this.#revision++;\n }\n\n /**\n * Appends an authored booster placement and immediately derives its runtime\n * booster, flares and trail; returns the new item's index and throws a\n * TypeError when localMatrix is not sixteen values.\n */\n @carbon.method\n @impl.adapted\n Add(\n localMatrix,\n functionality,\n hasTrail,\n atlasIndex0,\n atlasIndex1,\n lightScale = 1\n )\n {\n if (!localMatrix || localMatrix.length !== 16)\n {\n throw new TypeError(\"EveBoosterSet2 transforms must contain 16 values\");\n }\n const item = new EveBoosterSet2Item();\n mat4.copy(item.transform, localMatrix);\n vec4.copy(item.functionality, functionality ?? EveBoosterSet2.#defaultFunctionality);\n item.hasTrail = !!hasTrail;\n item.atlasIndex0 = Number(atlasIndex0) >>> 0;\n item.atlasIndex1 = Number(atlasIndex1) >>> 0;\n item.lightScale = Number(lightScale) || 0;\n this.items.push(item);\n EveBoosterSet2.#AddRuntimeItem(this, item);\n this.#revision++;\n return this.items.length - 1;\n }\n\n /**\n * Empties the derived booster records, glows and trails and resets the set\n * bounding sphere and max size, leaving the authored items alone.\n */\n static #ClearRuntimeItems(owner)\n {\n owner.#singleBoosters.length = 0;\n owner.glows?.Clear();\n owner.trails?.Clear();\n vec3.set(owner.boosterBoundingSphereCenter, 0, 0, 0);\n owner.boosterBoundingSphereRadius = 0;\n owner.maxSize = 0;\n }\n\n /**\n * Discards the derived state and re-derives it from every authored item, then\n * clears both the items and flares rebuild flags.\n */\n static #RebuildItems(owner)\n {\n EveBoosterSet2.#ClearRuntimeItems(owner);\n for (const item of owner.items)\n {\n EveBoosterSet2.#AddRuntimeItem(owner, item);\n }\n owner.__state.flags.delete(\"items\");\n owner.__state.flags.delete(\"flares\");\n }\n\n /**\n * Derives one runtime booster from an authored item - scale from the larger of\n * the transform's X and Y basis lengths, a light position pushed back along -Z\n * by lightOffset, and a random light flicker phase - then creates its flares\n * and its trail (offset back half a unit along the booster axis), and grows\n * the set bounding sphere and max size.\n */\n static #AddRuntimeItem(owner, item)\n {\n const transform = mat4.clone(item.transform);\n const scale = Math.max(\n Math.hypot(transform[0], transform[1], transform[2]),\n Math.hypot(transform[4], transform[5], transform[6])\n );\n const lightPosition = vec3.transformMat4(\n vec3.create(),\n [0, 0, -owner.lightOffset],\n transform\n );\n const booster = {\n transform,\n functionality: vec4.clone(item.functionality),\n lightPosition,\n lightRadius: scale * item.lightScale,\n lightPhase: GenerateBoosterLightPhase(),\n atlasIndex0: item.atlasIndex0,\n atlasIndex1: item.atlasIndex1,\n hasTrail: item.hasTrail\n };\n owner.#singleBoosters.push(booster);\n\n if (owner.glows)\n {\n CreateBoosterFlares(owner.glows, booster.transform, EveBoosterSet2.#GetFlareParams(owner));\n }\n if (owner.trails && item.hasTrail)\n {\n const trailTransform = mat4.clone(transform);\n trailTransform[12] -= trailTransform[8] * 0.5;\n trailTransform[13] -= trailTransform[9] * 0.5;\n trailTransform[14] -= trailTransform[10] * 0.5;\n owner.trails.Add?.(trailTransform, scale);\n }\n\n EveBoosterSet2.#UpdateBoundingSphere(owner, transform.subarray(12, 15));\n owner.maxSize = Math.max(owner.maxSize, scale);\n }\n\n /**\n * Sets the whole flare description in one call: glow and halo scales with\n * their normal and warp colours, plus the always-on flag.\n */\n @carbon.method\n @impl.implemented\n SetData(\n glowScale,\n glowColor,\n warpGlowColor,\n symHaloScale,\n haloScaleX,\n haloScaleY,\n haloColor,\n warpHaloColor,\n alwaysOn\n )\n {\n this.glowScale = Number(glowScale);\n vec4.copy(this.glowColor, glowColor);\n vec4.copy(this.warpGlowColor, warpGlowColor);\n this.symHaloScale = Number(symHaloScale);\n this.haloScaleX = Number(haloScaleX);\n this.haloScaleY = Number(haloScaleY);\n vec4.copy(this.haloColor, haloColor);\n vec4.copy(this.warpHaloColor, warpHaloColor);\n this.alwaysOn = !!alwaysOn;\n }\n\n /**\n * Sets the whole booster point-light description in one call: light offset,\n * flicker amplitude and frequency, and the normal and warp radius and colour.\n */\n @carbon.method\n @impl.implemented\n SetLightData(offset, flickerAmplitude, flickerFrequency, radius, color, warpRadius, warpColor)\n {\n this.lightOffset = Number(offset);\n this.lightFlickerAmplitude = Number(flickerAmplitude);\n this.lightFlickerFrequency = Number(flickerFrequency);\n this.lightRadius = Number(radius);\n vec4.copy(this.lightColor, color);\n this.lightWarpRadius = Number(warpRadius);\n vec4.copy(this.lightWarpColor, warpColor);\n }\n\n /**\n * Sets the near and far booster effects; the renderable's boosterHighLod flag\n * picks between them at draw time.\n */\n @carbon.method\n @impl.implemented\n SetEffect(effect, effectFar)\n {\n this.effect = effect ?? null;\n this.effectFar = effectFar ?? null;\n }\n\n /**\n * Attaches the sprite set that the per-booster flares are added to; without\n * one no flares are created.\n */\n @carbon.method\n @impl.implemented\n SetGlow(glow)\n {\n this.glows = glow ?? null;\n }\n\n /**\n * Attaches the trails set that per-booster trails are added to; without one no\n * trails are created.\n */\n @carbon.method\n @impl.implemented\n SetTrail(trail)\n {\n this.trails = trail ?? null;\n }\n\n /**\n * The intensity of one renderable instance, or the mean across every instance\n * when no index is given; zero when the set has no instances.\n */\n @carbon.method\n @impl.adapted\n GetBoosterIntensity(index = null)\n {\n if (index !== null && index !== undefined)\n {\n return this.instances[Number(index) >>> 0]?.GetIntensity?.() ?? 0;\n }\n if (!this.instances.length)\n {\n return 0;\n }\n let intensity = 0;\n for (const renderable of this.instances)\n {\n intensity += renderable?.GetIntensity?.() ?? 0;\n }\n return intensity / this.instances.length;\n }\n\n /** The union of every renderable's world bounding sphere. Carbon has no\n * set-level equivalent (each renderable answers for itself); `out` is\n * required so a caller can keep its own scratch. An empty set leaves `out`\n * empty (sph3 radius -1) rather than reporting a zero-radius sphere at the\n * origin. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Set-level aggregate with no Carbon counterpart; sph3.union replaces a hand-rolled merge.\")\n GetBoundingSphere(out)\n {\n sph3.empty(out);\n for (const renderable of this.instances)\n {\n if (renderable?.GetBoundingSphere)\n {\n renderable.GetBoundingSphere(EveBoosterSet2.#sphereScratch);\n sph3.union(out, out, EveBoosterSet2.#sphereScratch);\n }\n }\n return out;\n }\n\n /**\n * The derived runtime boosters as deep copies - transform, functionality,\n * light position, radius and phase, atlas indices and trail flag - safe for an\n * adapter to keep.\n */\n @carbon.method\n @impl.adapted\n GetBoosterData()\n {\n return this.#singleBoosters.map(booster => ({\n transform: mat4.clone(booster.transform),\n functionality: vec4.clone(booster.functionality),\n lightPosition: vec3.clone(booster.lightPosition),\n lightRadius: booster.lightRadius,\n lightPhase: booster.lightPhase,\n atlasIndex0: booster.atlasIndex0,\n atlasIndex1: booster.atlasIndex1,\n hasTrail: booster.hasTrail\n }));\n }\n\n /**\n * A counter bumped whenever the authored items or the instance list change, so\n * an adapter can tell its packed data is stale.\n */\n @carbon.method\n @impl.implemented\n GetRevision()\n {\n return this.#revision;\n }\n\n /** Carbon EveBoosterSet2::UpdateVisibility (cpp:1096-1116): a display gate,\n * then per-renderable LOD, then ONE glow test - the loop breaks on the first\n * renderable whose glow sprite set is on screen, so `glowsVisible` is a\n * whole-set flag, not per booster.\n *\n * The glow test is EveSpriteSet::UpdateVisibility - a transformed item-set\n * AABB against the frustum. A foreign glow duck without that method is taken\n * as visible rather than culled; the flare is still gated per renderable by\n * `boostersVisible` (cpp:1264). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"A glow duck lacking UpdateVisibility is treated as visible rather than culled.\")\n UpdateVisibility(updateContext)\n {\n this.#glowsVisible = false;\n if (!this.display)\n {\n return false;\n }\n\n for (const renderable of this.instances)\n {\n renderable?.UpdateVisibility(updateContext);\n }\n\n if (this.glows)\n {\n for (const renderable of this.instances)\n {\n const transform = renderable?.GetParentTransform?.();\n if (!transform)\n {\n continue;\n }\n // cpp:1109 passes nullptr bones deliberately, and it is not a deferral:\n // booster glows are tied to the booster LOCATORS, so each glow is placed\n // by its renderable's parent transform (the locator placement) rather\n // than by a bone index. There is nothing for a bone palette to resolve.\n const visible = this.glows.UpdateVisibility\n ? this.glows.UpdateVisibility(updateContext, transform, null, 0)\n : true;\n if (visible)\n {\n this.#glowsVisible = true;\n break;\n }\n }\n }\n\n return this.#glowsVisible;\n }\n\n /** Whether any booster glow sprite passed the last UpdateVisibility. Carbon\n * reads m_glowsVisible directly in AddToQuadRenderer (cpp:1257); the quad\n * renderer is engine-side here, so the flag is exposed instead. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon's mutable member read becomes an accessor; the quad renderer that consumes it is engine-owned.\")\n GetGlowsVisible()\n {\n return this.#glowsVisible;\n }\n\n /** Carbon EveBoosterSet2::GetRenderables (cpp:1130-1145): gated on display\n * AND on the set owning an effect, then delegated to each renderable's own\n * visibility. */\n @carbon.method\n @impl.implemented\n GetRenderables(out = [])\n {\n if (!this.display || !this.effect)\n {\n return out;\n }\n for (const renderable of this.instances)\n {\n renderable?.GetRenderables(out);\n }\n return out;\n }\n\n /** Carbon EveBoosterSet2::RegisterComponents (cpp:1272-1279): unconditional\n * LightOwner leaf self-registration. */\n @carbon.method\n @impl.implemented\n RegisterComponents()\n {\n const registry = this.GetComponentRegistry();\n if (registry)\n {\n registry.RegisterComponent(EveComponentType.LightOwner, this);\n }\n }\n\n /** Carbon EveBoosterSet2::GetLights (cpp:1287-1319): NO display gate\n * (registration is unconditional too) - the effective gates are both light\n * radii <= 0 (cpp:1289) and per-renderable overallIntensity <= 0\n * (cpp:1296). Per renderable: warp blend of radius factor and color\n * (clamped warpIntensity, cpp:1301-1304 - the COLOR blend itself is\n * unclamped 4-component lerp); per single booster: the shared 128-entry\n * random noise table drives a flicker of 1 +/- amplitude around the\n * interpolated noise (cpp:1308-1312), and AddPointLight submits the\n * booster light position under the renderable's parent transform\n * (TransformCoord - single matrix, no composition) with radius *\n * radiusFactor and color * flicker (the 3-arg overload: innerRadius 0,\n * FLAG_DEFAULT - manager-side). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Tr2Renderer::GetAnimationTime relocates onto the light-manager duck (GetAnimationTime, default 0); the g_lightNoise table is module state filled with Math.random (Carbon fills it with rand()/RAND_MAX - random either way).\")\n GetLights(lightManager)\n {\n if (this.lightRadius <= 0 && this.lightWarpRadius <= 0)\n {\n return;\n }\n if (!lightManager)\n {\n return;\n }\n\n const time = lightManager.GetAnimationTime() ?? 0;\n // Carbon EveBoosterSet2.cpp:1186: radii deliberately UNSCALED here (the\n // child booster set pre-multiplies by its parent scale; this class does\n // not - do not unify).\n const params = {\n lightRadius: this.lightRadius,\n lightColor: this.lightColor,\n lightWarpRadius: this.lightWarpRadius,\n lightWarpColor: this.lightWarpColor,\n lightFlickerAmplitude: this.lightFlickerAmplitude,\n lightFlickerFrequency: this.lightFlickerFrequency\n };\n\n for (const renderable of this.instances)\n {\n if (!renderable || renderable.overallIntensity <= 0)\n {\n continue;\n }\n const transform = renderable.GetParentTransform?.();\n if (!transform)\n {\n continue;\n }\n AddBoosterLights(\n lightManager, this.#singleBoosters, transform,\n renderable.overallIntensity, this.warpIntensity, params, time);\n }\n }\n\n /**\n * The flare parameters CreateBoosterFlares consumes, in Carbon's\n * EveBoosterFlareParams shape (EveBoosterSet2.cpp:739-742).\n */\n static #GetFlareParams(owner)\n {\n return {\n warpGlowColor: owner.warpGlowColor,\n glowScale: owner.glowScale,\n glowColor: owner.glowColor,\n haloScaleX: owner.haloScaleX,\n haloScaleY: owner.haloScaleY,\n symHaloScale: owner.symHaloScale,\n haloColor: owner.haloColor,\n warpHaloColor: owner.warpHaloColor\n };\n }\n\n /**\n * Grows the set bounding sphere just far enough to include one booster\n * position, leaving it unchanged when the position already falls inside.\n */\n static #UpdateBoundingSphere(owner, position)\n {\n const delta = vec3.subtract(vec3.create(), position, owner.boosterBoundingSphereCenter);\n const distance = vec3.length(delta);\n const radius = owner.boosterBoundingSphereRadius;\n if (distance * distance <= radius * radius + 1e-4 || !distance)\n {\n return;\n }\n vec3.scaleAndAdd(\n owner.boosterBoundingSphereCenter,\n owner.boosterBoundingSphereCenter,\n delta,\n 0.5 * (1 - radius / distance)\n );\n owner.boosterBoundingSphereRadius = 0.5 * (radius + distance);\n }\n\n /**\n * Redistributes the five static trail control offsets evenly backwards along\n * -Z across staticTrailLength and clears the staticTrailOffsets flag.\n */\n static #UpdateStaticTrailOffsets(owner)\n {\n owner.__state.flags.delete(\"staticTrailOffsets\");\n const step = owner.staticTrailLength / 4;\n const offsets = [\n owner.trailsStaticOffsets0,\n owner.trailsStaticOffsets1,\n owner.trailsStaticOffsets2,\n owner.trailsStaticOffsets3,\n owner.trailsStaticOffsets4\n ];\n for (let index = 0; index < offsets.length; index++)\n {\n vec3.set(offsets[index], 0, 0, -step * index);\n }\n }\n\n static #sphereScratch = sph3.create();\n\n static #zero = Object.freeze([0, 0, 0]);\n\n static #identityRotation = Object.freeze([0, 0, 0, 1]);\n\n static #defaultFunctionality = Object.freeze([0, 1, 1, 1]);\n\n static Shape = Object.freeze({\n STAR: 0,\n BOX: 1,\n SHAPE_COUNT: 2\n });\n\n}\n"],"names":["_EveBoosterSet","_identity","EveBoosterSet2","EveEntity","e","_init_flareLodEnabled","_init_extra_flareLodEnabled","_init_staticTrailLength","_init_extra_staticTrailLength","_init_trailsStaticOffsets","_init_extra_trailsStaticOffsets","_init_trailsStaticOffsets2","_init_extra_trailsStaticOffsets2","_init_trailsStaticOffsets3","_init_extra_trailsStaticOffsets3","_init_trailsStaticOffsets4","_init_extra_trailsStaticOffsets4","_init_trailsStaticOffsets5","_init_extra_trailsStaticOffsets5","_init_lightOffset","_init_extra_lightOffset","_init_lightFlickerAmplitude","_init_extra_lightFlickerAmplitude","_init_lightFlickerFrequency","_init_extra_lightFlickerFrequency","_init_lightRadius","_init_extra_lightRadius","_init_lightColor","_init_extra_lightColor","_init_lightWarpRadius","_init_extra_lightWarpRadius","_init_lightWarpColor","_init_extra_lightWarpColor","_init_display","_init_extra_display","_init_alwaysOnIntensity","_init_extra_alwaysOnIntensity","_init_warpGlowColor","_init_extra_warpGlowColor","_init_glowColor","_init_extra_glowColor","_init_haloColor","_init_extra_haloColor","_init_warpHaloColor","_init_extra_warpHaloColor","_init_effectFar","_init_extra_effectFar","_init_effect","_init_extra_effect","_init_instances","_init_extra_instances","_init_maxVel","_init_extra_maxVel","_init_glowScale","_init_extra_glowScale","_init_symHaloScale","_init_extra_symHaloScale","_init_haloScaleX","_init_extra_haloScaleX","_init_haloScaleY","_init_extra_haloScaleY","_init_trailsSmoothing","_init_extra_trailsSmoothing","_init_glows","_init_extra_glows","_init_maxSize","_init_extra_maxSize","_init_boosterBoundingSphereCenter","_init_extra_boosterBoundingSphereCenter","_init_boosterBoundingSphereRadius","_init_extra_boosterBoundingSphereRadius","_init_warpIntensity","_init_extra_warpIntensity","_init_physicsUpdate","_init_extra_physicsUpdate","_init_destinyUpdate","_init_extra_destinyUpdate","_init_alwaysOn","_init_extra_alwaysOn","_init_trails","_init_extra_trails","_init_items","_init_extra_items","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","readwrite","boolean","flag","persist","float32","vec3","color","objectRef","rebuild","read","list","carbon","method","impl","adapted","implemented","reason","_ClearRuntimeItems","owner","length","glows","Clear","trails","set","boosterBoundingSphereCenter","boosterBoundingSphereRadius","maxSize","_AddRuntimeItem","item","transform","mat4","clone","scale","Math","max","hypot","lightPosition","transformMat4","create","lightOffset","booster","functionality","vec4","lightRadius","lightScale","lightPhase","GenerateBoosterLightPhase","atlasIndex0","atlasIndex1","hasTrail","push","CreateBoosterFlares","trailTransform","Add","subarray","flareLodEnabled","staticTrailLength","trailsStaticOffsets0","trailsStaticOffsets1","trailsStaticOffsets2","trailsStaticOffsets3","trailsStaticOffsets4","lightFlickerAmplitude","lightFlickerFrequency","lightColor","lightWarpRadius","lightWarpColor","display","alwaysOnIntensity","warpGlowColor","glowColor","haloColor","warpHaloColor","effectFar","effect","instances","maxVel","glowScale","symHaloScale","haloScaleX","haloScaleY","trailsSmoothing","warpIntensity","physicsUpdate","destinyUpdate","alwaysOn","items","Initialize","renderable","SetBoosterSet","OnModified","_options","flags","__state","has","delete","Rebuild","SetCount","count","requested","trunc","Number","target","isFinite","EveBoosterSet2Renderable","Update","deltaTime","time","parentMatrix","parentSpeed","parentAcceleration","parentRotation","boosterInstance","index","UpdateTrails","updated","localMatrix","TypeError","EveBoosterSet2Item","copy","SetData","SetLightData","offset","flickerAmplitude","flickerFrequency","radius","warpRadius","warpColor","SetEffect","SetGlow","glow","SetTrail","trail","GetBoosterIntensity","undefined","GetIntensity","intensity","GetBoundingSphere","out","sph3","empty","union","GetBoosterData","map","GetRevision","UpdateVisibility","updateContext","GetParentTransform","visible","GetGlowsVisible","GetRenderables","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","GetLights","lightManager","GetAnimationTime","params","overallIntensity","AddBoosterLights","#ClearRuntimeItems","_0","apply","arguments","#RebuildItems","#AddRuntimeItem","_1","#GetFlareParams","#UpdateBoundingSphere","position","delta","subtract","distance","scaleAndAdd","#UpdateStaticTrailOffsets","step","offsets","Object","freeze","Shape","STAR","BOX","SHAPE_COUNT","constructor"],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { applyDecs2311 as _applyDecs2311 } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { mat4 } from '#math/mat4';
|
|
3
|
+
import { vec4 } from '#math/vec4';
|
|
4
|
+
import { CjsModel } from '#model';
|
|
5
|
+
import { io, type } from '#schema';
|
|
6
|
+
|
|
7
|
+
let _initClass, _init_transform, _init_extra_transform, _init_functionality, _init_extra_functionality, _init_hasTrail, _init_extra_hasTrail, _init_atlasIndex, _init_extra_atlasIndex, _init_atlasIndex2, _init_extra_atlasIndex2, _init_lightScale, _init_extra_lightScale;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* One authored booster placement: its local transform, functionality inputs,
|
|
11
|
+
* atlas slots, light scale and whether it emits a trail.
|
|
12
|
+
*/
|
|
13
|
+
let _EveBoosterSet2Item;
|
|
14
|
+
class EveBoosterSet2Item extends CjsModel {
|
|
15
|
+
static {
|
|
16
|
+
({
|
|
17
|
+
e: [_init_transform, _init_extra_transform, _init_functionality, _init_extra_functionality, _init_hasTrail, _init_extra_hasTrail, _init_atlasIndex, _init_extra_atlasIndex, _init_atlasIndex2, _init_extra_atlasIndex2, _init_lightScale, _init_extra_lightScale],
|
|
18
|
+
c: [_EveBoosterSet2Item, _initClass]
|
|
19
|
+
} = _applyDecs2311(this, [type.define({
|
|
20
|
+
className: "EveBoosterSet2Item",
|
|
21
|
+
family: "eve/attachment/boosters"
|
|
22
|
+
})], [[[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.mat4], 16, "transform"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.vec4], 16, "functionality"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.boolean], 16, "hasTrail"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.uint32], 16, "atlasIndex0"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.uint32], 16, "atlasIndex1"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.float32], 16, "lightScale"]], 0, void 0, CjsModel));
|
|
23
|
+
}
|
|
24
|
+
constructor(...args) {
|
|
25
|
+
super(...args);
|
|
26
|
+
_init_extra_lightScale(this);
|
|
27
|
+
}
|
|
28
|
+
transform = _init_transform(this, mat4.create());
|
|
29
|
+
functionality = (_init_extra_transform(this), _init_functionality(this, vec4.fromValues(0, 1, 1, 1)));
|
|
30
|
+
hasTrail = (_init_extra_functionality(this), _init_hasTrail(this, true));
|
|
31
|
+
atlasIndex0 = (_init_extra_hasTrail(this), _init_atlasIndex(this, 0));
|
|
32
|
+
atlasIndex1 = (_init_extra_atlasIndex(this), _init_atlasIndex2(this, 0));
|
|
33
|
+
lightScale = (_init_extra_atlasIndex2(this), _init_lightScale(this, 1));
|
|
34
|
+
static {
|
|
35
|
+
_initClass();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { _EveBoosterSet2Item as EveBoosterSet2Item };
|
|
40
|
+
//# sourceMappingURL=EveBoosterSet2Item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EveBoosterSet2Item.js","sources":["../../../../../../src/trinity/eve/attachment/booster/EveBoosterSet2Item.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Attachments/EveBoosterSet2.h\n//\n// NOT A CARBON CLASS. Its six fields are the argument list of\n// EveBoosterSet2::Add( const Matrix*, const Vector4*, bool hasTrail, uint32_t\n// atlasIndex0, uint32_t atlasIndex1, float lightScale ) in declaration order.\n// Carbon adds boosters imperatively and keeps only the DERIVED\n// EveBoosterSet2::SingleBoosterData (which carries light position, radius and\n// phase instead, and neither hasTrail nor lightScale). We need the AUTHORED\n// placements to survive a values round trip, so the call's arguments are held\n// as a record. The name is ours and reads as though Carbon had an Item type;\n// it does not.\nimport { mat4 } from \"#math/mat4\";\nimport { vec4 } from \"#math/vec4\";\nimport { CjsModel } from \"#model\";\nimport { io, type } from \"#schema\";\n\n/**\n * One authored booster placement: its local transform, functionality inputs,\n * atlas slots, light scale and whether it emits a trail.\n */\n@type.define({ className: \"EveBoosterSet2Item\", family: \"eve/attachment/boosters\" })\nexport class EveBoosterSet2Item extends CjsModel\n{\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.mat4\n transform = mat4.create();\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.vec4\n functionality = vec4.fromValues(0, 1, 1, 1);\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.boolean\n hasTrail = true;\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.uint32\n atlasIndex0 = 0;\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.uint32\n atlasIndex1 = 0;\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.float32\n lightScale = 1;\n}\n"],"names":["_EveBoosterSet2Item","EveBoosterSet2Item","CjsModel","e","_init_transform","_init_extra_transform","_init_functionality","_init_extra_functionality","_init_hasTrail","_init_extra_hasTrail","_init_atlasIndex","_init_extra_atlasIndex","_init_atlasIndex2","_init_extra_atlasIndex2","_init_lightScale","_init_extra_lightScale","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","mat4","vec4","boolean","uint32","float32","constructor","args","transform","create","functionality","fromValues","hasTrail","atlasIndex0","atlasIndex1","lightScale"],"mappings":"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"}
|
|
@@ -251,7 +251,7 @@ new class extends _identity {
|
|
|
251
251
|
* and therefore the DEPTH pixel-size formula, not the Est one.
|
|
252
252
|
* No lodFactor is applied anywhere here; Carbon does not apply one either. */
|
|
253
253
|
UpdateVisibility(updateContext) {
|
|
254
|
-
const frustum = updateContext?.GetFrustum
|
|
254
|
+
const frustum = updateContext?.GetFrustum();
|
|
255
255
|
if (!frustum || !this.#boosterSet) {
|
|
256
256
|
return false;
|
|
257
257
|
}
|