@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
|
@@ -19,8 +19,14 @@ import { EveLODHelper } from '../EveLODHelper.js';
|
|
|
19
19
|
import { TriBatchType, ReflectionMode } from '#consts/graphics';
|
|
20
20
|
import { MatrixCopyFrom3x4 } from '../lights/lightConversion.js';
|
|
21
21
|
import { getBoneList } from '../../core/animation/Tr2GrannyAnimation.js';
|
|
22
|
-
import '../../core/rawData/Tr2PerObjectData.js';
|
|
23
|
-
import { TriRenderBatchAreaBlock
|
|
22
|
+
import '../../core/rawData/perObjectData/Tr2PerObjectData.js';
|
|
23
|
+
import { TriRenderBatchAreaBlock } from '../../core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js';
|
|
24
|
+
import { Tr2RenderBatch } from '../../core/batch/TriRenderBatch/Tr2RenderBatch.js';
|
|
25
|
+
import '../../core/batch/TriRenderBatch/DefaultKeyGenerator.js';
|
|
26
|
+
import '../../core/batch/TriRenderBatch/EffectKeyGenerator.js';
|
|
27
|
+
import '../../core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js';
|
|
28
|
+
import { Tr2RenderReason } from '../../generated/trinityCore/enums.js';
|
|
29
|
+
import '#consts/render-context';
|
|
24
30
|
import { Tr2EffectStateManager as _Tr2EffectStateManage } from '../../shader/Tr2EffectStateManager.js';
|
|
25
31
|
import { CarbonVertexElements } from '../../core/vertex/vertexUsage.js';
|
|
26
32
|
import { RawData } from '../../core/rawData/RawData.js';
|
|
@@ -32,7 +38,6 @@ import { EveLocatorSets as _EveLocatorSets, EveGetLocatorPose } from '../locator
|
|
|
32
38
|
import { Locator as _Locator } from '../locator/Locator.js';
|
|
33
39
|
import { TriPerlinCurve as _TriPerlinCurve } from '../../curves/curve/TriPerlinCurve.js';
|
|
34
40
|
import { withITr2Renderable } from '../../core/ITr2Renderable.js';
|
|
35
|
-
import { Tr2RenderReason } from '../../generated/trinityCore/enums.js';
|
|
36
41
|
import { Tr2Lod } from '#consts/trinity';
|
|
37
42
|
|
|
38
43
|
var _withIEveInheritPrope;
|
|
@@ -48,11 +53,11 @@ const TRANSPARENT_CENTER = vec3.create();
|
|
|
48
53
|
const OVERLAY_TYPE_OPAQUEONLY = 0;
|
|
49
54
|
const OVERLAY_TYPE_ALL = 1;
|
|
50
55
|
|
|
51
|
-
/**
|
|
52
|
-
* The hull of an EVE space object - its mesh, locators, locator sets, decals,
|
|
53
|
-
* attachments, lights, effect children, overlay effects, impact overlay and
|
|
54
|
-
* controllers - together with the curve-driven world transform, visibility, LOD
|
|
55
|
-
* and batch submission that drive them each frame.
|
|
56
|
+
/**
|
|
57
|
+
* The hull of an EVE space object - its mesh, locators, locator sets, decals,
|
|
58
|
+
* attachments, lights, effect children, overlay effects, impact overlay and
|
|
59
|
+
* controllers - together with the curve-driven world transform, visibility, LOD
|
|
60
|
+
* and batch submission that drive them each frame.
|
|
56
61
|
*/
|
|
57
62
|
let _EveSpaceObject;
|
|
58
63
|
new class extends _identity {
|
|
@@ -64,7 +69,7 @@ new class extends _identity {
|
|
|
64
69
|
} = _applyDecs2311(this, [type.define({
|
|
65
70
|
className: "EveSpaceObject2",
|
|
66
71
|
family: "eve/spaceObject"
|
|
67
|
-
})], [[[io, io.notify, io, io.persist, type, type.int32, void 0, type.enum("ReflectionMode")], 16, "reflectionMode"], [[io, io.persist, void 0, type.list("IEveSpaceObjectChild")], 16, "effectChildren"], [[io, io.persist, void 0, type.list("IEveTransform")], 16, "children"], [[io, io.notify, io, io.persist, type, type.string], 16, "name"], [[io, io.notify, io, io.readwrite, type, type.boolean], 16, "mute"], [[io, io.readwrite, void 0, type.objectRef("EveChildInheritProperties")], 16, "inheritProperties"], [[io, io.persist, void 0, type.list("EveCustomMask")], 16, "customMasks"], [[io, io.persist, void 0, type.list("EveMeshOverlayEffect")], 16, "overlayEffects"], [[io, io.read, void 0, type.objectRef("Tr2BindingVector3")], 16, "positionDelta"], [[io, io.read, type, type.int32, void 0, type.enum("Tr2Lod")], 16, "lodLevel"], [[io, io.persist, void 0, type.list("TriCurveSet")], 16, "curveSets"], [[io, io.readwrite, type, type.boolean], 16, "isPickable"], [[io, io.read, type, type.float32], 16, "estimatedPixelDiameter"], [[io, io.read, type, type.float32], 16, "estimatedPixelDiameterWithChildren"], [[io, io.read, type, type.vec3], 16, "generatedShapeEllipsoidCenter"], [[io, io.read, type, type.vec3], 16, "generatedShapeEllipsoidRadius"], [[io, io.read, void 0, type.objectRef("Tr2GrannyAnimation")], 16, "animationUpdater"], [[io, io.persist, type, type.string], 16, "dna"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "castShadow"], [[io, io.persist, type, type.boolean], 16, "isAnimated"], [[io, io.persist, type, type.boolean], 16, "dynamicBoundingSphereEnabled"], [[io, io.persist, void 0, type.list("IEveSpaceObjectAttachment")], 16, "attachments"], [[io, io.persist, void 0, type.list("EveSpaceObjectDecal")], 16, "decals"], [[io, io.notify, io, io.persist, void 0, type.list("Tr2Light")], 16, "lights"], [[io, io.persist, void 0, type.list("Tr2ExternalParameter")], 16, "externalParameters"], [[io, io.persist, void 0, type.list("ITr2Controller")], 16, "controllers"], [[io, io.persist, void 0, type.list("EveLocator2")], 16, "locators"], [[io, io.persist, void 0, type.objectRef("Tr2MeshBase")], 16, "mesh"], [[io, io.persist, void 0, type.objectRef("EveImpactOverlay")], 16, "impactOverlay"], [[io, io.persist, type, type.vec3], 16, "clipSphereCenter"], [[io, io.notify, io, io.readwrite, type, type.float32], 16, "clipSphereFactor2"], [[io, io.notify, io, io.readwrite, type, type.float32], 16, "clipSphereFactor"], [[io, io.persist, void 0, type.list("TriObserverLocal")], 16, "observers"], [[io, io.read, type, type.vec3], 16, "worldPosition"], [[io, io.persist, void 0, type.objectRef("ITriQuaternionFunction")], 16, "rotationCurve"], [[io, io.read, type, type.quat], 16, "worldRotation"], [[io, io.persist, type, type.float32], 16, "modelScale"], [[io, io.persist, void 0, type.list("EveLocatorSets")], 16, "locatorSets"], [[io, io.readwrite, type, type.float32], 16, "activationStrength"], [[io, io.readwrite, type, type.color], 16, "albedoColor"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.boolean], 16, "update"], [[io, io.read, type, type.float32], 16, "secondaryLightingSphereRadius"], [[io, io.persist, type, type.vec3], 16, "boundingSphereCenter"], [[io, io.notify, io, io.readwrite, type, type.float32], 16, "dirtLevel"], [[io, io.readwrite, type, type.vec4], 16, "customShaderData"], [[io, io.read, type, type.vec4], 16, "spaceObjectShipData"], [[io, io.read, type, type.int32], 16, "lastDamageLocatorHit"], [[io, io.notify, io, io.readwrite, type, type.boolean], 16, "damageLocatorAutoFilterEnabled"], [[io, io.persist, type, type.float32], 16, "boundingSphereRadius"], [[io, io.read, type, type.vec3], 16, "modelWorldPosition"], [[io, io.persist, void 0, type.objectRef("ITriVectorFunction")], 16, "modelTranslationCurve"], [[io, io.persist, void 0, type.objectRef("ITriQuaternionFunction")], 16, "modelRotationCurve"], [[io, io.persist, type, type.vec3], 16, "shapeEllipsoidCenter"], [[io, io.persist, type, type.vec3], 16, "shapeEllipsoidRadius"], [[io, io.persist, void 0, type.objectRef("ITriVectorFunction")], 16, "translationCurve"], [[io, io.read, type, type.mat4], 16, "worldTransform"], [[io, io.read, type, type.mat4], 16, "inverseWorldTransform"], [[io, io.read, type, type.mat4], 16, "lastWorldTransform"], [[io, io.read, type, type.vec3], 16, "worldVelocity"], [[io, io.readwrite, void 0, type.objectRef("ITr2AudGeometry")], 16, "audioGeometry"], [[type, type.boolean], 16, "isVisible"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMesh"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMesh"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetOverlayEffects"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddController"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddObserver"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetInheritProperties"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetEffectChildByName"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddToEffectChildrenList"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddLight"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearLights"], [[carbon, carbon.method, impl, impl.implemented], 18, "RemoveFromEffectChildrenList"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetModelRotationCurve"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetModelRotationCurve"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetModelTranslationCurve"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetModelTranslationCurve"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateWorldTransform"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The browser runtime refreshes the cache with world-transform updates instead of Carbon's renderer-side PrepareShaderData pass.")], 18, "UpdateWorldBounds"], [[carbon, carbon.method, impl, impl.implemented], 18, "PrepareShaderData"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateShLighting"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearShLighting"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetParentData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectStructs"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Native impostor, raytracing, and audio-emitter realization remain engine-owned; graph visibility and LOD state are preserved.")], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Impostor submission and decal mesh caches are engine-owned; Trinity returns the backend-neutral renderable graph.")], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Overlay area-block batches are deferred; the view position arrives via the appended render-context argument instead of Carbon's renderer global.")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon rebuilds from the geometry-resource notify callback; the GPU-free port rebuilds lazily on first batch use from the mesh areas alone.")], 18, "RebuildCachedData"], [[carbon, carbon.method, impl, impl.implemented], 18, "ReleaseCachedData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPickingBatches"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetID"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Realized-LOD draw args are engine-resolved from the geometry source descriptor; primitive-count gating happens at realization.")], 18, "GetShadowBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Overlay selection is fully represented in the CPU graph; realized-LOD draw arguments remain engine-owned.")], 18, "GetBatchesFromOverlayVector"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Portable mesh area access replaces Carbon's native mesh-area vectors.")], 18, "HasTransparentBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reads the Tr2Renderer view-position global; the relocated camera state arrives via the threaded render context.")], 18, "GetSortValue"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Trinity retains and fills persistent VS/PS RawData; the engine owns device buffers, GPU-derived offsets, upload, and binding.")], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowPerObjectData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLights"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The optional length-one array replaces Carbon's float& sizeInShadow out-parameter.")], 18, "IsCastingShadow"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "DisplayChildren"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetObserverTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocalToWorldTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetModelCenterWorldPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetWorldPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetWorldRotation"], [[carbon, carbon.method, impl, impl.implemented], 18, "FindSoundEmitter"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMute"], [[carbon, carbon.method, impl, impl.adapted], 18, "PlayAnimationEx"], [[carbon, carbon.method, impl, impl.adapted], 18, "CalculateSkinnedBoundingBoxFromTransform"], [[carbon, carbon.method, impl, impl.adapted], 18, "CalculateSkinnedBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "InvalidateMergedLocators"], [[carbon, carbon.method, impl, impl.adapted], 18, "EnsureChildLocatorMerged"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateDamageLocatorFilter"], [[carbon, carbon.method, impl, impl.implemented], 18, "RunDamageLocatorFilter"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearImpactDamage"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearAnimations"], [[carbon, carbon.method, impl, impl.implemented], 18, "CreateImpactFromPosition"], [[carbon, carbon.method, impl, impl.adapted], 18, "CreateImpact"], [[carbon, carbon.method, impl, impl.implemented], 18, "EndAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "FreezeHighDetailMesh"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDamageLocatorCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorsForSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "MergeToLocatorSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddLocatorSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearLocatorSets"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetCloseLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetGoodLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetDamageLocatorDirection"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS keeps output parameters last and returns a validity flag for targetable callers.")], 18, "GetDamageLocatorPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDamageLocatorBindPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetClosestDamageLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("TriRand is represented by Math.random; all locator scoring remains source-faithful.")], 18, "GetGoodDamageLocatorIndex"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRadius"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMissPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetImpactConfiguration"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetImpactOverlay"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetImpactOverlay"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasImpactConfigurationShield"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses an out-last signature; the ellipsoid intersection is otherwise source-faithful CPU math.")], 18, "GetImpactPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateImpact"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDamageLocator"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetTransformedDamageLocator"], [[carbon, carbon.method, impl, impl.adapted], 18, "IsImpostor"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorPositionFromSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorRotationFromSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "HandleControllerEvent"], [[carbon, carbon.method, impl, impl.adapted], 18, "PlayAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChainAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChainAnimationEx"], [[carbon, carbon.method, impl, impl.adapted], 18, "RebuildBoundingSphereInformation"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's CcpMath::Sphere is represented by core-math sph3; object-shaped center/radius input is accepted at adapter boundaries.")], 18, "SetBoundingSphereInformation"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetControllerVariables"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Geometry resources without multi-LOD support expose their sole browser LOD as index zero.")], 18, "GetLastUsedMeshLod"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetLocatorTransform"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetLocalBoundingBox"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetWorldBoundingBox"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsBoundingBoxReady"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("TriFrustum is supplied structurally by the active engine; both exact and estimated browser frustum methods are supported.")], 18, "EstimatePixelDiameter"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsInFrustum"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphereCenter"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphereRadius"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetBoneCount"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetImpactDamageState"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetImpactAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetControllerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetProceduralContainerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "StartControllers"], [[carbon, carbon.method, impl, impl.adapted], 18, "TransformLocators"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorInObjectSpace"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShapeEllipsoid"]], 0, void 0, _withIEveInheritPrope));
|
|
72
|
+
})], [[[io, io.notify, io, io.persist, type, type.int32, void 0, type.enum("ReflectionMode")], 16, "reflectionMode"], [[io, io.persist, void 0, type.list("IEveSpaceObjectChild")], 16, "effectChildren"], [[io, io.persist, void 0, type.list("IEveTransform")], 16, "children"], [[io, io.notify, io, io.persist, type, type.string], 16, "name"], [[io, io.notify, io, io.readwrite, type, type.boolean], 16, "mute"], [[io, io.readwrite, void 0, type.objectRef("EveChildInheritProperties")], 16, "inheritProperties"], [[io, io.persist, void 0, type.list("EveCustomMask")], 16, "customMasks"], [[io, io.persist, void 0, type.list("EveMeshOverlayEffect")], 16, "overlayEffects"], [[io, io.read, void 0, type.objectRef("Tr2BindingVector3")], 16, "positionDelta"], [[io, io.read, type, type.int32, void 0, type.enum("Tr2Lod")], 16, "lodLevel"], [[io, io.persist, void 0, type.list("TriCurveSet")], 16, "curveSets"], [[io, io.readwrite, type, type.boolean], 16, "isPickable"], [[io, io.read, type, type.float32], 16, "estimatedPixelDiameter"], [[io, io.read, type, type.float32], 16, "estimatedPixelDiameterWithChildren"], [[io, io.read, type, type.vec3], 16, "generatedShapeEllipsoidCenter"], [[io, io.read, type, type.vec3], 16, "generatedShapeEllipsoidRadius"], [[io, io.read, void 0, type.objectRef("Tr2GrannyAnimation")], 16, "animationUpdater"], [[io, io.persist, type, type.string], 16, "dna"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "castShadow"], [[io, io.persist, type, type.boolean], 16, "isAnimated"], [[io, io.persist, type, type.boolean], 16, "dynamicBoundingSphereEnabled"], [[io, io.persist, void 0, type.list("IEveSpaceObjectAttachment")], 16, "attachments"], [[io, io.persist, void 0, type.list("EveSpaceObjectDecal")], 16, "decals"], [[io, io.notify, io, io.persist, void 0, type.list("Tr2Light")], 16, "lights"], [[io, io.persist, void 0, type.list("Tr2ExternalParameter")], 16, "externalParameters"], [[io, io.persist, void 0, type.list("ITr2Controller")], 16, "controllers"], [[io, io.persist, void 0, type.list("EveLocator2")], 16, "locators"], [[io, io.persist, void 0, type.objectRef("Tr2MeshBase")], 16, "mesh"], [[io, io.persist, void 0, type.objectRef("EveImpactOverlay")], 16, "impactOverlay"], [[io, io.persist, type, type.vec3], 16, "clipSphereCenter"], [[io, io.notify, io, io.readwrite, type, type.float32], 16, "clipSphereFactor2"], [[io, io.notify, io, io.readwrite, type, type.float32], 16, "clipSphereFactor"], [[io, io.persist, void 0, type.list("TriObserverLocal")], 16, "observers"], [[io, io.read, type, type.vec3], 16, "worldPosition"], [[io, io.persist, void 0, type.objectRef("ITriQuaternionFunction")], 16, "rotationCurve"], [[io, io.read, type, type.quat], 16, "worldRotation"], [[io, io.persist, type, type.float32], 16, "modelScale"], [[io, io.persist, void 0, type.list("EveLocatorSets")], 16, "locatorSets"], [[io, io.readwrite, type, type.float32], 16, "activationStrength"], [[io, io.readwrite, type, type.color], 16, "albedoColor"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.boolean], 16, "update"], [[io, io.read, type, type.float32], 16, "secondaryLightingSphereRadius"], [[io, io.persist, type, type.vec3], 16, "boundingSphereCenter"], [[io, io.notify, io, io.readwrite, type, type.float32], 16, "dirtLevel"], [[io, io.readwrite, type, type.vec4], 16, "customShaderData"], [[io, io.read, type, type.vec4], 16, "spaceObjectShipData"], [[io, io.read, type, type.int32], 16, "lastDamageLocatorHit"], [[io, io.notify, io, io.readwrite, type, type.boolean], 16, "damageLocatorAutoFilterEnabled"], [[io, io.persist, type, type.float32], 16, "boundingSphereRadius"], [[io, io.read, type, type.vec3], 16, "modelWorldPosition"], [[io, io.persist, void 0, type.objectRef("ITriVectorFunction")], 16, "modelTranslationCurve"], [[io, io.persist, void 0, type.objectRef("ITriQuaternionFunction")], 16, "modelRotationCurve"], [[io, io.persist, type, type.vec3], 16, "shapeEllipsoidCenter"], [[io, io.persist, type, type.vec3], 16, "shapeEllipsoidRadius"], [[io, io.persist, void 0, type.objectRef("ITriVectorFunction")], 16, "translationCurve"], [[io, io.read, type, type.mat4], 16, "worldTransform"], [[io, io.read, type, type.mat4], 16, "inverseWorldTransform"], [[io, io.read, type, type.mat4], 16, "lastWorldTransform"], [[io, io.read, type, type.vec3], 16, "worldVelocity"], [[io, io.readwrite, void 0, type.objectRef("ITr2AudGeometry")], 16, "audioGeometry"], [[type, type.boolean], 16, "isVisible"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMesh"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMesh"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetOverlayEffects"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddController"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddObserver"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetInheritProperties"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetEffectChildByName"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddToEffectChildrenList"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddLight"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearLights"], [[carbon, carbon.method, impl, impl.implemented], 18, "RemoveFromEffectChildrenList"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetModelRotationCurve"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetModelRotationCurve"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetModelTranslationCurve"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetModelTranslationCurve"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateWorldTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateWorldBounds"], [[carbon, carbon.method, impl, impl.implemented], 18, "PrepareShaderData"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateShLighting"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearShLighting"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetParentData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectStructs"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Native impostor, raytracing, and audio-emitter realization remain engine-owned; graph visibility and LOD state are preserved.")], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Impostor submission and decal mesh caches are engine-owned; Trinity returns the backend-neutral renderable graph.")], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Overlay area-block batches are deferred; the view position arrives via the appended render-context argument instead of Carbon's renderer global.")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon rebuilds from the geometry-resource notify callback; the GPU-free port rebuilds lazily on first batch use from the mesh areas alone.")], 18, "RebuildCachedData"], [[carbon, carbon.method, impl, impl.implemented], 18, "ReleaseCachedData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPickingBatches"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetID"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Realized-LOD draw args are engine-resolved from the geometry source descriptor; primitive-count gating happens at realization.")], 18, "GetShadowBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Overlay selection is fully represented in the CPU graph; realized-LOD draw arguments remain engine-owned.")], 18, "GetBatchesFromOverlayVector"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Portable mesh area access replaces Carbon's native mesh-area vectors.")], 18, "HasTransparentBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reads the Tr2Renderer view-position global; the relocated camera state arrives via the threaded render context.")], 18, "GetSortValue"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Trinity retains and fills persistent VS/PS RawData; the engine owns device buffers, GPU-derived offsets, upload, and binding.")], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowPerObjectData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLights"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The optional length-one array replaces Carbon's float& sizeInShadow out-parameter.")], 18, "IsCastingShadow"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "DisplayChildren"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetObserverTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocalToWorldTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetModelCenterWorldPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetWorldPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetWorldRotation"], [[carbon, carbon.method, impl, impl.implemented], 18, "FindSoundEmitter"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMute"], [[carbon, carbon.method, impl, impl.adapted], 18, "PlayAnimationEx"], [[carbon, carbon.method, impl, impl.adapted], 18, "CalculateSkinnedBoundingBoxFromTransform"], [[carbon, carbon.method, impl, impl.adapted], 18, "CalculateSkinnedBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "InvalidateMergedLocators"], [[carbon, carbon.method, impl, impl.adapted], 18, "EnsureChildLocatorMerged"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateDamageLocatorFilter"], [[carbon, carbon.method, impl, impl.implemented], 18, "RunDamageLocatorFilter"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearImpactDamage"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearAnimations"], [[carbon, carbon.method, impl, impl.implemented], 18, "CreateImpactFromPosition"], [[carbon, carbon.method, impl, impl.adapted], 18, "CreateImpact"], [[carbon, carbon.method, impl, impl.implemented], 18, "EndAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "FreezeHighDetailMesh"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDamageLocatorCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorsForSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "MergeToLocatorSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddLocatorSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearLocatorSets"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetCloseLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetGoodLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetDamageLocatorDirection"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS keeps output parameters last and returns a validity flag for targetable callers.")], 18, "GetDamageLocatorPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDamageLocatorBindPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetClosestDamageLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("TriRand is represented by Math.random; all locator scoring remains source-faithful.")], 18, "GetGoodDamageLocatorIndex"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRadius"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMissPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetImpactConfiguration"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetImpactOverlay"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetImpactOverlay"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasImpactConfigurationShield"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses an out-last signature; the ellipsoid intersection is otherwise source-faithful CPU math.")], 18, "GetImpactPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateImpact"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDamageLocator"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetTransformedDamageLocator"], [[carbon, carbon.method, impl, impl.adapted], 18, "IsImpostor"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorPositionFromSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorRotationFromSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "HandleControllerEvent"], [[carbon, carbon.method, impl, impl.adapted], 18, "PlayAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChainAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChainAnimationEx"], [[carbon, carbon.method, impl, impl.adapted], 18, "RebuildBoundingSphereInformation"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's CcpMath::Sphere is represented by core-math sph3; object-shaped center/radius input is accepted at adapter boundaries.")], 18, "SetBoundingSphereInformation"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetControllerVariables"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Geometry resources without multi-LOD support expose their sole browser LOD as index zero.")], 18, "GetLastUsedMeshLod"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetLocatorTransform"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetLocalBoundingBox"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetWorldBoundingBox"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsBoundingBoxReady"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("TriFrustum is supplied structurally by the active engine; both exact and estimated browser frustum methods are supported.")], 18, "EstimatePixelDiameter"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsInFrustum"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphereCenter"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphereRadius"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetBoneCount"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetImpactDamageState"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetImpactAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetControllerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetProceduralContainerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "StartControllers"], [[carbon, carbon.method, impl, impl.adapted], 18, "TransformLocators"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorInObjectSpace"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShapeEllipsoid"]], 0, void 0, _withIEveInheritPrope));
|
|
68
73
|
}
|
|
69
74
|
/** m_reflectionMode (EntityComponents::ReflectionMode - enum ReflectionMode) [READWRITE, PERSIST, NOTIFY, ENUM] */
|
|
70
75
|
reflectionMode = (_initProto(this), _init_reflectionMode(this, 3));
|
|
@@ -204,10 +209,10 @@ new class extends _identity {
|
|
|
204
209
|
/** m_psData.customData (Vector4) [READWRITE] - script/SOF-driven custom shader data. */
|
|
205
210
|
customShaderData = (_init_extra_dirtLevel(this), _init_customShaderData(this, vec4.create()));
|
|
206
211
|
|
|
207
|
-
/**
|
|
208
|
-
* m_spaceObjectShipData (Vector4) [READ] - the packed shader ship data:
|
|
209
|
-
* .y activation strength, .z dirt level, .w bounding-sphere radius
|
|
210
|
-
* (PrepareShaderData, cpp:734-744). .x is authored elsewhere and left alone.
|
|
212
|
+
/**
|
|
213
|
+
* m_spaceObjectShipData (Vector4) [READ] - the packed shader ship data:
|
|
214
|
+
* .y activation strength, .z dirt level, .w bounding-sphere radius
|
|
215
|
+
* (PrepareShaderData, cpp:734-744). .x is authored elsewhere and left alone.
|
|
211
216
|
*/
|
|
212
217
|
spaceObjectShipData = (_init_extra_customShaderData(this), _init_spaceObjectShipData(this, vec4.create()));
|
|
213
218
|
|
|
@@ -253,7 +258,8 @@ new class extends _identity {
|
|
|
253
258
|
#dynamicBoundingSphere = sph3.set(sph3.create(), 0, 0, 0, -1);
|
|
254
259
|
|
|
255
260
|
// Carbon keeps the realized world sphere separate from the authored local
|
|
256
|
-
// sphere.
|
|
261
|
+
// sphere. UpdateWorldBounds refreshes it from PrepareShaderData, which is
|
|
262
|
+
// Carbon's only refresh point - so a reader sees one value for a whole frame.
|
|
257
263
|
#boundingSphereWorldRadius = -1;
|
|
258
264
|
|
|
259
265
|
// Carbon visibility and mesh LOD state are runtime-only renderer results.
|
|
@@ -293,10 +299,10 @@ new class extends _identity {
|
|
|
293
299
|
|
|
294
300
|
/** EVE_SPACEOBJECT_CUSTOWMASK_MAX (EveSpaceObject2.h:49) - custom-mask slots. */
|
|
295
301
|
|
|
296
|
-
/**
|
|
297
|
-
* Carbon g_secondaryLightingRadiusCutoffFactor (cpp:52), a registered engine
|
|
298
|
-
* setting defaulting to 0.3. It scales this hull's bounding radius into the
|
|
299
|
-
* cutoff below which a secondary light source is too small to matter.
|
|
302
|
+
/**
|
|
303
|
+
* Carbon g_secondaryLightingRadiusCutoffFactor (cpp:52), a registered engine
|
|
304
|
+
* setting defaulting to 0.3. It scales this hull's bounding radius into the
|
|
305
|
+
* cutoff below which a secondary light source is too small to matter.
|
|
300
306
|
*/
|
|
301
307
|
|
|
302
308
|
/** Scratch for the per-frame shader-data fill; never allocate in it. */
|
|
@@ -320,12 +326,12 @@ new class extends _identity {
|
|
|
320
326
|
this.mesh = mesh ?? null;
|
|
321
327
|
}
|
|
322
328
|
|
|
323
|
-
/**
|
|
324
|
-
* Links the authored controllers, pushes authored inherit properties down to
|
|
325
|
-
* the effect children and lights, and derives the impact overlay's damage
|
|
326
|
-
* locator count from the "damage" locator set - which Carbon does at build
|
|
327
|
-
* time - so a field-populated graph reaches the same live state as the
|
|
328
|
-
* authoring path.
|
|
329
|
+
/**
|
|
330
|
+
* Links the authored controllers, pushes authored inherit properties down to
|
|
331
|
+
* the effect children and lights, and derives the impact overlay's damage
|
|
332
|
+
* locator count from the "damage" locator set - which Carbon does at build
|
|
333
|
+
* time - so a field-populated graph reaches the same live state as the
|
|
334
|
+
* authoring path.
|
|
329
335
|
*/
|
|
330
336
|
Initialize() {
|
|
331
337
|
for (const controller of this.controllers) {
|
|
@@ -356,9 +362,9 @@ new class extends _identity {
|
|
|
356
362
|
return this.mesh;
|
|
357
363
|
}
|
|
358
364
|
|
|
359
|
-
/**
|
|
360
|
-
* Replaces the hull mesh; the cached area blocks are only rebuilt on the next
|
|
361
|
-
* batch call.
|
|
365
|
+
/**
|
|
366
|
+
* Replaces the hull mesh; the cached area blocks are only rebuilt on the next
|
|
367
|
+
* batch call.
|
|
362
368
|
*/
|
|
363
369
|
SetMesh(mesh) {
|
|
364
370
|
this.mesh = mesh ?? null;
|
|
@@ -369,9 +375,9 @@ new class extends _identity {
|
|
|
369
375
|
return this.overlayEffects;
|
|
370
376
|
}
|
|
371
377
|
|
|
372
|
-
/**
|
|
373
|
-
* Appends a controller, links it to this object when it is not already linked,
|
|
374
|
-
* and replays the current controller variables onto it.
|
|
378
|
+
/**
|
|
379
|
+
* Appends a controller, links it to this object when it is not already linked,
|
|
380
|
+
* and replays the current controller variables onto it.
|
|
375
381
|
*/
|
|
376
382
|
AddController(controller) {
|
|
377
383
|
this.controllers.push(controller);
|
|
@@ -382,20 +388,20 @@ new class extends _identity {
|
|
|
382
388
|
return controller;
|
|
383
389
|
}
|
|
384
390
|
|
|
385
|
-
/**
|
|
386
|
-
* Appends a placement observer, which is repositioned from the observer
|
|
387
|
-
* transform on every synchronous update; the observer is returned for
|
|
388
|
-
* chaining.
|
|
391
|
+
/**
|
|
392
|
+
* Appends a placement observer, which is repositioned from the observer
|
|
393
|
+
* transform on every synchronous update; the observer is returned for
|
|
394
|
+
* chaining.
|
|
389
395
|
*/
|
|
390
396
|
AddObserver(observer) {
|
|
391
397
|
this.observers.push(observer);
|
|
392
398
|
return observer;
|
|
393
399
|
}
|
|
394
400
|
|
|
395
|
-
/**
|
|
396
|
-
* Sets the colour set that effect children and lights inherit, creating the
|
|
397
|
-
* inherit-properties holder on first use, and pushes it to the existing
|
|
398
|
-
* children and lights.
|
|
401
|
+
/**
|
|
402
|
+
* Sets the colour set that effect children and lights inherit, creating the
|
|
403
|
+
* inherit-properties holder on first use, and pushes it to the existing
|
|
404
|
+
* children and lights.
|
|
399
405
|
*/
|
|
400
406
|
SetInheritProperties(colorSet) {
|
|
401
407
|
if (!this.inheritProperties) {
|
|
@@ -416,9 +422,9 @@ new class extends _identity {
|
|
|
416
422
|
}
|
|
417
423
|
}
|
|
418
424
|
|
|
419
|
-
/**
|
|
420
|
-
* Returns the first effect child with the given name, or null when none
|
|
421
|
-
* matches.
|
|
425
|
+
/**
|
|
426
|
+
* Returns the first effect child with the given name, or null when none
|
|
427
|
+
* matches.
|
|
422
428
|
*/
|
|
423
429
|
GetEffectChildByName(name) {
|
|
424
430
|
const target = String(name ?? "");
|
|
@@ -430,10 +436,10 @@ new class extends _identity {
|
|
|
430
436
|
return null;
|
|
431
437
|
}
|
|
432
438
|
|
|
433
|
-
/**
|
|
434
|
-
* Appends an effect child, first giving it the hull's inherited properties and
|
|
435
|
-
* then replaying the current controller variables onto it, so a late addition
|
|
436
|
-
* starts in the same state as the rest.
|
|
439
|
+
/**
|
|
440
|
+
* Appends an effect child, first giving it the hull's inherited properties and
|
|
441
|
+
* then replaying the current controller variables onto it, so a late addition
|
|
442
|
+
* starts in the same state as the rest.
|
|
437
443
|
*/
|
|
438
444
|
AddToEffectChildrenList(child) {
|
|
439
445
|
if (this.inheritProperties) {
|
|
@@ -454,17 +460,17 @@ new class extends _identity {
|
|
|
454
460
|
this.lights.push(light);
|
|
455
461
|
}
|
|
456
462
|
|
|
457
|
-
/**
|
|
458
|
-
* Drops every light from the hull; component registration is not revisited
|
|
459
|
-
* here.
|
|
463
|
+
/**
|
|
464
|
+
* Drops every light from the hull; component registration is not revisited
|
|
465
|
+
* here.
|
|
460
466
|
*/
|
|
461
467
|
ClearLights() {
|
|
462
468
|
this.lights.length = 0;
|
|
463
469
|
}
|
|
464
470
|
|
|
465
|
-
/**
|
|
466
|
-
* Removes an effect child, returning false when it is not attached to this
|
|
467
|
-
* hull.
|
|
471
|
+
/**
|
|
472
|
+
* Removes an effect child, returning false when it is not attached to this
|
|
473
|
+
* hull.
|
|
468
474
|
*/
|
|
469
475
|
RemoveFromEffectChildrenList(child) {
|
|
470
476
|
const index = this.effectChildren.indexOf(child);
|
|
@@ -477,9 +483,9 @@ new class extends _identity {
|
|
|
477
483
|
return true;
|
|
478
484
|
}
|
|
479
485
|
|
|
480
|
-
/**
|
|
481
|
-
* Sets the curve that rotates the model within the hull's ball rotation, or
|
|
482
|
-
* clears it when passed nothing.
|
|
486
|
+
/**
|
|
487
|
+
* Sets the curve that rotates the model within the hull's ball rotation, or
|
|
488
|
+
* clears it when passed nothing.
|
|
483
489
|
*/
|
|
484
490
|
SetModelRotationCurve(curve) {
|
|
485
491
|
this.modelRotationCurve = curve ?? null;
|
|
@@ -490,9 +496,9 @@ new class extends _identity {
|
|
|
490
496
|
return this.modelRotationCurve;
|
|
491
497
|
}
|
|
492
498
|
|
|
493
|
-
/**
|
|
494
|
-
* Sets the curve that offsets the model within the hull's ball position, or
|
|
495
|
-
* clears it when passed nothing.
|
|
499
|
+
/**
|
|
500
|
+
* Sets the curve that offsets the model within the hull's ball position, or
|
|
501
|
+
* clears it when passed nothing.
|
|
496
502
|
*/
|
|
497
503
|
SetModelTranslationCurve(curve) {
|
|
498
504
|
this.modelTranslationCurve = curve ?? null;
|
|
@@ -503,10 +509,10 @@ new class extends _identity {
|
|
|
503
509
|
return this.modelTranslationCurve;
|
|
504
510
|
}
|
|
505
511
|
|
|
506
|
-
/**
|
|
507
|
-
* Rebuilds the hull world transform for a frame from the ball position and rotation curves plus the optional model translation and rotation curves, applies modelScale as a uniform scale, then refreshes the inverse transform and the world bounds; the previous world transform is kept for motion vectors and the world velocity comes from the position curve's derivative.
|
|
508
|
-
* @param {number} time Frame time; repeating the previous call's time is a no-op.
|
|
509
|
-
* @returns {boolean} False when the transform had already been built for this time.
|
|
512
|
+
/**
|
|
513
|
+
* Rebuilds the hull world transform for a frame from the ball position and rotation curves plus the optional model translation and rotation curves, applies modelScale as a uniform scale, then refreshes the inverse transform and the world bounds; the previous world transform is kept for motion vectors and the world velocity comes from the position curve's derivative.
|
|
514
|
+
* @param {number} time Frame time; repeating the previous call's time is a no-op.
|
|
515
|
+
* @returns {boolean} False when the transform had already been built for this time.
|
|
510
516
|
*/
|
|
511
517
|
UpdateWorldTransform(time) {
|
|
512
518
|
const nextTime = Number(time) || 0;
|
|
@@ -557,13 +563,12 @@ new class extends _identity {
|
|
|
557
563
|
if (!mat4.invert(this.inverseWorldTransform, this.worldTransform)) {
|
|
558
564
|
mat4.identity(this.inverseWorldTransform);
|
|
559
565
|
}
|
|
560
|
-
this.UpdateWorldBounds();
|
|
561
566
|
return true;
|
|
562
567
|
}
|
|
563
568
|
|
|
564
|
-
/**
|
|
565
|
-
* Refreshes Carbon's realized world-space sphere from the dynamic skinned
|
|
566
|
-
* sphere when available, otherwise from the authored local sphere.
|
|
569
|
+
/**
|
|
570
|
+
* Refreshes Carbon's realized world-space sphere from the dynamic skinned
|
|
571
|
+
* sphere when available, otherwise from the authored local sphere.
|
|
567
572
|
*/
|
|
568
573
|
UpdateWorldBounds() {
|
|
569
574
|
const updater = this.animationUpdater;
|
|
@@ -572,21 +577,19 @@ new class extends _identity {
|
|
|
572
577
|
if (this.#dynamicBoundingSphere[3] > 0) {
|
|
573
578
|
vec3.transformMat4(this.modelWorldPosition, this.#dynamicBoundingSphere, this.worldTransform);
|
|
574
579
|
this.#boundingSphereWorldRadius = this.modelScale * this.#dynamicBoundingSphere[3];
|
|
575
|
-
return
|
|
580
|
+
return;
|
|
576
581
|
}
|
|
577
582
|
}
|
|
578
583
|
if (this.boundingSphereRadius > 0) {
|
|
579
584
|
vec3.transformMat4(this.modelWorldPosition, this.boundingSphereCenter, this.worldTransform);
|
|
580
585
|
this.#boundingSphereWorldRadius = this.modelScale * this.boundingSphereRadius;
|
|
581
|
-
return true;
|
|
582
586
|
}
|
|
583
|
-
return false;
|
|
584
587
|
}
|
|
585
588
|
|
|
586
|
-
/**
|
|
587
|
-
* Carbon EveSpaceObject2::PrepareShaderData (cpp:734-763): refreshes the
|
|
588
|
-
* world bounds, packs the ship data, and derives the clip-sphere dissolve
|
|
589
|
-
* values into the persistent per-object records.
|
|
589
|
+
/**
|
|
590
|
+
* Carbon EveSpaceObject2::PrepareShaderData (cpp:734-763): refreshes the
|
|
591
|
+
* world bounds, packs the ship data, and derives the clip-sphere dissolve
|
|
592
|
+
* values into the persistent per-object records.
|
|
590
593
|
*/
|
|
591
594
|
PrepareShaderData(updateContext = null) {
|
|
592
595
|
this.UpdateWorldBounds();
|
|
@@ -616,14 +619,14 @@ new class extends _identity {
|
|
|
616
619
|
this.#psData.Set("clipSphereFactor2", [this.clipSphereFactor2]);
|
|
617
620
|
}
|
|
618
621
|
|
|
619
|
-
/**
|
|
620
|
-
* Carbon EveSpaceObject2::UpdateShLighting (cpp:1411-1421): asks the scene's
|
|
621
|
-
* SH lighting manager for this hull's secondary-lighting coefficients, faded
|
|
622
|
-
* in across the low-detail threshold so a hull entering that range does not
|
|
623
|
-
* pop. The coefficients are cleared first, which is also what leaves the
|
|
624
|
-
* unwritten tail zero on the L1 path.
|
|
625
|
-
* @param {Object} manager - Tr2ShLightingManager
|
|
626
|
-
* @param {Object} [updateContext] - frame context, for the detail thresholds
|
|
622
|
+
/**
|
|
623
|
+
* Carbon EveSpaceObject2::UpdateShLighting (cpp:1411-1421): asks the scene's
|
|
624
|
+
* SH lighting manager for this hull's secondary-lighting coefficients, faded
|
|
625
|
+
* in across the low-detail threshold so a hull entering that range does not
|
|
626
|
+
* pop. The coefficients are cleared first, which is also what leaves the
|
|
627
|
+
* unwritten tail zero on the L1 path.
|
|
628
|
+
* @param {Object} manager - Tr2ShLightingManager
|
|
629
|
+
* @param {Object} [updateContext] - frame context, for the detail thresholds
|
|
627
630
|
*/
|
|
628
631
|
UpdateShLighting(manager, updateContext = null) {
|
|
629
632
|
const coefficients = this.#psData.Get("shLightingCoefficients");
|
|
@@ -639,21 +642,21 @@ new class extends _identity {
|
|
|
639
642
|
return true;
|
|
640
643
|
}
|
|
641
644
|
|
|
642
|
-
/**
|
|
643
|
-
* Carbon EveSpaceObject2::ClearShLighting (cpp:1423-1426): drops this hull's
|
|
644
|
-
* secondary-lighting contribution back to nothing.
|
|
645
|
+
/**
|
|
646
|
+
* Carbon EveSpaceObject2::ClearShLighting (cpp:1423-1426): drops this hull's
|
|
647
|
+
* secondary-lighting contribution back to nothing.
|
|
645
648
|
*/
|
|
646
649
|
ClearShLighting() {
|
|
647
650
|
this.#psData.Get("shLightingCoefficients").fill(0);
|
|
648
651
|
return true;
|
|
649
652
|
}
|
|
650
653
|
|
|
651
|
-
/**
|
|
652
|
-
* Carbon EveSpaceObject2::GetParentData (cpp:1872-1885): the values an
|
|
653
|
-
* attachment needs from its hull. `shLighting` is a LIVE view into the PS
|
|
654
|
-
* record, exactly as Carbon hands out a raw pointer into m_psData - an
|
|
655
|
-
* attachment reading it sees the hull's current coefficients.
|
|
656
|
-
* @param {Object} [out] - caller-owned record, refreshed in place
|
|
654
|
+
/**
|
|
655
|
+
* Carbon EveSpaceObject2::GetParentData (cpp:1872-1885): the values an
|
|
656
|
+
* attachment needs from its hull. `shLighting` is a LIVE view into the PS
|
|
657
|
+
* record, exactly as Carbon hands out a raw pointer into m_psData - an
|
|
658
|
+
* attachment reading it sees the hull's current coefficients.
|
|
659
|
+
* @param {Object} [out] - caller-owned record, refreshed in place
|
|
657
660
|
*/
|
|
658
661
|
GetParentData(out = new _IEveSpaceObject2Pare()) {
|
|
659
662
|
mat4.copy(out.transform, this.worldTransform);
|
|
@@ -670,11 +673,11 @@ new class extends _identity {
|
|
|
670
673
|
return out;
|
|
671
674
|
}
|
|
672
675
|
|
|
673
|
-
/**
|
|
674
|
-
* Carbon EveSpaceObject2::GetPerObjectStructs (cpp:1485-1490): hands a copy
|
|
675
|
-
* of both records to a caller, with the VS record's customData taken from the
|
|
676
|
-
* PS record as Carbon does.
|
|
677
|
-
* @returns {{vs: RawData, ps: RawData}} independent copies, not live records
|
|
676
|
+
/**
|
|
677
|
+
* Carbon EveSpaceObject2::GetPerObjectStructs (cpp:1485-1490): hands a copy
|
|
678
|
+
* of both records to a caller, with the VS record's customData taken from the
|
|
679
|
+
* PS record as Carbon does.
|
|
680
|
+
* @returns {{vs: RawData, ps: RawData}} independent copies, not live records
|
|
678
681
|
*/
|
|
679
682
|
GetPerObjectStructs(vsData = RawData.create("EveSpaceObjectVSData"), psData = RawData.create("EveSpaceObjectPSData")) {
|
|
680
683
|
vsData.CopyFrom(this.#vsData);
|
|
@@ -686,9 +689,9 @@ new class extends _identity {
|
|
|
686
689
|
};
|
|
687
690
|
}
|
|
688
691
|
|
|
689
|
-
/**
|
|
690
|
-
* Refreshes the world transform, then - when the update flag is on - places the observers, stamps the LOD-gated curve clock while advancing the overlay effects, runs the effect children's synchronous pass with the current placement, and updates the impact overlay; the overlay effects receive the context time as both clocks, as Carbon does.
|
|
691
|
-
* @returns {boolean} False when the update flag is off; the world transform is refreshed either way.
|
|
692
|
+
/**
|
|
693
|
+
* Refreshes the world transform, then - when the update flag is on - places the observers, stamps the LOD-gated curve clock while advancing the overlay effects, runs the effect children's synchronous pass with the current placement, and updates the impact overlay; the overlay effects receive the context time as both clocks, as Carbon does.
|
|
694
|
+
* @returns {boolean} False when the update flag is off; the world transform is refreshed either way.
|
|
692
695
|
*/
|
|
693
696
|
UpdateSyncronous(updateContext = null) {
|
|
694
697
|
const time = _EveSpaceObject.#GetContextValue(updateContext, "GetTime", "currentTime", "time");
|
|
@@ -729,9 +732,9 @@ new class extends _identity {
|
|
|
729
732
|
return true;
|
|
730
733
|
}
|
|
731
734
|
|
|
732
|
-
/**
|
|
733
|
-
* Runs the controllers at a frequency derived from the hull's estimated pixel diameter against the context's high-detail threshold, advances the object curve sets only on frames the synchronous LOD gate stamped, then updates the transform children, the effect children and the impact overlay.
|
|
734
|
-
* @returns {number} The controller update frequency in 0..1, which is also handed to the effect children; 0 when the hull is not visible or the update flag is off.
|
|
735
|
+
/**
|
|
736
|
+
* Runs the controllers at a frequency derived from the hull's estimated pixel diameter against the context's high-detail threshold, advances the object curve sets only on frames the synchronous LOD gate stamped, then updates the transform children, the effect children and the impact overlay.
|
|
737
|
+
* @returns {number} The controller update frequency in 0..1, which is also handed to the effect children; 0 when the hull is not visible or the update flag is off.
|
|
735
738
|
*/
|
|
736
739
|
UpdateAsyncronous(updateContext = null) {
|
|
737
740
|
if (!this.update) {
|
|
@@ -808,9 +811,9 @@ new class extends _identity {
|
|
|
808
811
|
return frequency;
|
|
809
812
|
}
|
|
810
813
|
|
|
811
|
-
/**
|
|
812
|
-
* Updates Carbon's visibility, pixel-size, and mesh-LOD state, then forwards
|
|
813
|
-
* visibility to the explicitly owned visual branches.
|
|
814
|
+
/**
|
|
815
|
+
* Updates Carbon's visibility, pixel-size, and mesh-LOD state, then forwards
|
|
816
|
+
* visibility to the explicitly owned visual branches.
|
|
814
817
|
*/
|
|
815
818
|
UpdateVisibility(updateContext = null, _parentTransform = _EveSpaceObject.#identityTransform) {
|
|
816
819
|
this.isVisible = false;
|
|
@@ -819,7 +822,6 @@ new class extends _identity {
|
|
|
819
822
|
if (!this.display) {
|
|
820
823
|
return false;
|
|
821
824
|
}
|
|
822
|
-
this.UpdateWorldBounds();
|
|
823
825
|
this.lodLevel = Tr2Lod.TR2_LOD_LOW;
|
|
824
826
|
this.#lodLevelWithChildren = Tr2Lod.TR2_LOD_LOW;
|
|
825
827
|
this.#impostorMode = false;
|
|
@@ -910,10 +912,10 @@ new class extends _identity {
|
|
|
910
912
|
return out;
|
|
911
913
|
}
|
|
912
914
|
|
|
913
|
-
/** Carbon ITr2Renderable contract (EveSpaceObject2.cpp:1097-1140): activated
|
|
914
|
-
* attachments recurse, the impact overlay contributes, the hull mesh delegates
|
|
915
|
-
* per batch type, and TRANSPARENT routes through the distance-sorted area
|
|
916
|
-
* path. GetBatchesFromOverlayVector (precomputed overlay area blocks) is
|
|
915
|
+
/** Carbon ITr2Renderable contract (EveSpaceObject2.cpp:1097-1140): activated
|
|
916
|
+
* attachments recurse, the impact overlay contributes, the hull mesh delegates
|
|
917
|
+
* per batch type, and TRANSPARENT routes through the distance-sorted area
|
|
918
|
+
* path. GetBatchesFromOverlayVector (precomputed overlay area blocks) is
|
|
917
919
|
* deferred with the overlay realization work. */
|
|
918
920
|
GetBatches(batches, batchType, perObjectData, reason, renderContext = null) {
|
|
919
921
|
if (!this.mesh) return false;
|
|
@@ -953,11 +955,11 @@ new class extends _identity {
|
|
|
953
955
|
// from the geometry resource when it exposes them; a failed lookup keeps
|
|
954
956
|
// Carbon's origin-center fallback.
|
|
955
957
|
|
|
956
|
-
/**
|
|
957
|
-
* Commits the mesh's transparent areas back-to-front, ordering them by the
|
|
958
|
-
* squared distance from the view position to each area's world-space
|
|
959
|
-
* bounding-box center and falling back to the object origin when the geometry
|
|
960
|
-
* resource cannot supply a box.
|
|
958
|
+
/**
|
|
959
|
+
* Commits the mesh's transparent areas back-to-front, ordering them by the
|
|
960
|
+
* squared distance from the view position to each area's world-space
|
|
961
|
+
* bounding-box center and falling back to the object origin when the geometry
|
|
962
|
+
* resource cannot supply a box.
|
|
961
963
|
*/
|
|
962
964
|
#GetSortedTransparentBatches(areas, batches, perObjectData, renderContext) {
|
|
963
965
|
const geometry = this.mesh.GetGeometryResource() ?? null;
|
|
@@ -995,10 +997,10 @@ new class extends _identity {
|
|
|
995
997
|
}
|
|
996
998
|
}
|
|
997
999
|
|
|
998
|
-
/** Rebuilds the cached overlay/shadow area-block lists from the current mesh
|
|
999
|
-
* (Carbon RebuildCachedData, EveSpaceObject2.cpp:2077-2097, triggered there by
|
|
1000
|
-
* the geometry-resource load callback). TYPE_ALL = shadow-casting OPAQUE +
|
|
1001
|
-
* TRANSPARENT + DECAL areas; TYPE_OPAQUEONLY = shadow-casting OPAQUE; the
|
|
1000
|
+
/** Rebuilds the cached overlay/shadow area-block lists from the current mesh
|
|
1001
|
+
* (Carbon RebuildCachedData, EveSpaceObject2.cpp:2077-2097, triggered there by
|
|
1002
|
+
* the geometry-resource load callback). TYPE_ALL = shadow-casting OPAQUE +
|
|
1003
|
+
* TRANSPARENT + DECAL areas; TYPE_OPAQUEONLY = shadow-casting OPAQUE; the
|
|
1002
1004
|
* shadow list groups OPAQUE areas by shared material. All coalesced. */
|
|
1003
1005
|
RebuildCachedData() {
|
|
1004
1006
|
this.ReleaseCachedData();
|
|
@@ -1018,9 +1020,9 @@ new class extends _identity {
|
|
|
1018
1020
|
this.#cachedAreaBlocksBuilt = true;
|
|
1019
1021
|
}
|
|
1020
1022
|
|
|
1021
|
-
/**
|
|
1022
|
-
* Drops the cached overlay and shadow area-block lists so the next batch call
|
|
1023
|
-
* rebuilds them from the current mesh.
|
|
1023
|
+
/**
|
|
1024
|
+
* Drops the cached overlay and shadow area-block lists so the next batch call
|
|
1025
|
+
* rebuilds them from the current mesh.
|
|
1024
1026
|
*/
|
|
1025
1027
|
ReleaseCachedData() {
|
|
1026
1028
|
for (const blocks of this.#overlayMeshAreaBlocks) {
|
|
@@ -1030,25 +1032,25 @@ new class extends _identity {
|
|
|
1030
1032
|
this.#cachedAreaBlocksBuilt = false;
|
|
1031
1033
|
}
|
|
1032
1034
|
|
|
1033
|
-
/**
|
|
1034
|
-
* Rebuilds the cached area blocks on first use when a mesh is attached; Carbon
|
|
1035
|
-
* instead rebuilds them from the geometry-resource load callback.
|
|
1035
|
+
/**
|
|
1036
|
+
* Rebuilds the cached area blocks on first use when a mesh is attached; Carbon
|
|
1037
|
+
* instead rebuilds them from the geometry-resource load callback.
|
|
1036
1038
|
*/
|
|
1037
1039
|
#EnsureCachedAreaBlocks() {
|
|
1038
1040
|
if (!this.#cachedAreaBlocksBuilt && this.mesh) this.RebuildCachedData();
|
|
1039
1041
|
}
|
|
1040
1042
|
|
|
1041
|
-
/**
|
|
1042
|
-
* Carbon EveSpaceObject2::GetPickingBatches (cpp:3645-3675): collects the
|
|
1043
|
-
* geometry a pick pass should test, by mask. It is ordinary batch collection
|
|
1044
|
-
* - the pick itself is an engine pass that renders these and reads IDs back.
|
|
1045
|
-
*
|
|
1046
|
-
* The OPAQUE bit deliberately pulls in the transparent and additive OVERLAY
|
|
1047
|
-
* effects too, so a cloaking hull stays pickable.
|
|
1048
|
-
*
|
|
1049
|
-
* @param {Object} batches - the picking accumulator
|
|
1050
|
-
* @param {Number} pickTypes - a Tr2PickType mask
|
|
1051
|
-
* @param {Object} perObjectData - this hull's per-object record
|
|
1043
|
+
/**
|
|
1044
|
+
* Carbon EveSpaceObject2::GetPickingBatches (cpp:3645-3675): collects the
|
|
1045
|
+
* geometry a pick pass should test, by mask. It is ordinary batch collection
|
|
1046
|
+
* - the pick itself is an engine pass that renders these and reads IDs back.
|
|
1047
|
+
*
|
|
1048
|
+
* The OPAQUE bit deliberately pulls in the transparent and additive OVERLAY
|
|
1049
|
+
* effects too, so a cloaking hull stays pickable.
|
|
1050
|
+
*
|
|
1051
|
+
* @param {Object} batches - the picking accumulator
|
|
1052
|
+
* @param {Number} pickTypes - a Tr2PickType mask
|
|
1053
|
+
* @param {Object} perObjectData - this hull's per-object record
|
|
1052
1054
|
*/
|
|
1053
1055
|
GetPickingBatches(batches, pickTypes = TR2_PICK_TYPE_DEFAULT, perObjectData = null) {
|
|
1054
1056
|
if (pickTypes & Tr2PickType.PICK_TYPE_PICKING) {
|
|
@@ -1077,20 +1079,20 @@ new class extends _identity {
|
|
|
1077
1079
|
return true;
|
|
1078
1080
|
}
|
|
1079
1081
|
|
|
1080
|
-
/**
|
|
1081
|
-
* Carbon EveSpaceObject2::GetID (cpp:3640-3643): a picked area resolves to
|
|
1082
|
-
* the hull itself, so the area index is deliberately ignored.
|
|
1083
|
-
* @param {Number} [_areaID] - the picked area, unused by this class
|
|
1084
|
-
* @returns {EveSpaceObject2} this
|
|
1082
|
+
/**
|
|
1083
|
+
* Carbon EveSpaceObject2::GetID (cpp:3640-3643): a picked area resolves to
|
|
1084
|
+
* the hull itself, so the area index is deliberately ignored.
|
|
1085
|
+
* @param {Number} [_areaID] - the picked area, unused by this class
|
|
1086
|
+
* @returns {EveSpaceObject2} this
|
|
1085
1087
|
*/
|
|
1086
1088
|
GetID(_areaID = 0) {
|
|
1087
1089
|
return this;
|
|
1088
1090
|
}
|
|
1089
1091
|
|
|
1090
|
-
/** Carbon GetShadowBatches (EveSpaceObject2.cpp:1143-1184): one batch per
|
|
1091
|
-
* cached shared-material OPAQUE area block, using the area's own material.
|
|
1092
|
-
* Carbon bakes realized-LOD draw args; the GPU-free port defers them to the
|
|
1093
|
-
* engine via the geometry source descriptor, so shadowPixelSize travels unused
|
|
1092
|
+
/** Carbon GetShadowBatches (EveSpaceObject2.cpp:1143-1184): one batch per
|
|
1093
|
+
* cached shared-material OPAQUE area block, using the area's own material.
|
|
1094
|
+
* Carbon bakes realized-LOD draw args; the GPU-free port defers them to the
|
|
1095
|
+
* engine via the geometry source descriptor, so shadowPixelSize travels unused
|
|
1094
1096
|
* until engine LOD selection consumes it. */
|
|
1095
1097
|
GetShadowBatches(batches, perObjectData, _shadowPixelSize) {
|
|
1096
1098
|
if (!this.mesh || this.mesh.display === false) return false;
|
|
@@ -1113,10 +1115,10 @@ new class extends _identity {
|
|
|
1113
1115
|
return committed;
|
|
1114
1116
|
}
|
|
1115
1117
|
|
|
1116
|
-
/** Carbon GetBatchesFromOverlayVector (EveSpaceObject2.cpp:1199-1285): the
|
|
1117
|
-
* impact overlay's armor-damage shader draws over the TYPE_ALL blocks at
|
|
1118
|
-
* maximum priority; each displayed overlay effect draws its per-batch-type
|
|
1119
|
-
* effects over its overlay-type blocks (OPAQUE -> TYPE_OPAQUEONLY, everything
|
|
1118
|
+
/** Carbon GetBatchesFromOverlayVector (EveSpaceObject2.cpp:1199-1285): the
|
|
1119
|
+
* impact overlay's armor-damage shader draws over the TYPE_ALL blocks at
|
|
1120
|
+
* maximum priority; each displayed overlay effect draws its per-batch-type
|
|
1121
|
+
* effects over its overlay-type blocks (OPAQUE -> TYPE_OPAQUEONLY, everything
|
|
1120
1122
|
* else -> TYPE_ALL). */
|
|
1121
1123
|
GetBatchesFromOverlayVector(batches, perObjectData, batchType, mesh) {
|
|
1122
1124
|
const impactEffect = this.impactOverlay?.GetArmorDamageShader?.(batchType) ?? null;
|
|
@@ -1161,10 +1163,10 @@ new class extends _identity {
|
|
|
1161
1163
|
return (batches.GetBatchCount?.() ?? 0) > committedBefore;
|
|
1162
1164
|
}
|
|
1163
1165
|
|
|
1164
|
-
/**
|
|
1165
|
-
* Builds and commits one render batch drawing a single cached area block with
|
|
1166
|
-
* the given material and optional priority, skipping the block when the
|
|
1167
|
-
* material yields no valid batch.
|
|
1166
|
+
/**
|
|
1167
|
+
* Builds and commits one render batch drawing a single cached area block with
|
|
1168
|
+
* the given material and optional priority, skipping the block when the
|
|
1169
|
+
* material yields no valid batch.
|
|
1168
1170
|
*/
|
|
1169
1171
|
#CommitBlockBatch(batches, material, geometry, meshIndex, block, perObjectData, priority, lod, vertexDeclaration) {
|
|
1170
1172
|
const batch = new Tr2RenderBatch();
|
|
@@ -1182,18 +1184,18 @@ new class extends _identity {
|
|
|
1182
1184
|
|
|
1183
1185
|
// EveMeshOverlayEffect::GetEffects (display-gated, per batch type).
|
|
1184
1186
|
|
|
1185
|
-
/**
|
|
1186
|
-
* Returns an overlay effect's display-gated effect list for a batch type, or
|
|
1187
|
-
* null when it contributes none.
|
|
1187
|
+
/**
|
|
1188
|
+
* Returns an overlay effect's display-gated effect list for a batch type, or
|
|
1189
|
+
* null when it contributes none.
|
|
1188
1190
|
*/
|
|
1189
1191
|
#OverlayEffectsFor(overlay, batchType) {
|
|
1190
1192
|
return overlay?.GetEffects?.(batchType) ?? null;
|
|
1191
1193
|
}
|
|
1192
1194
|
|
|
1193
|
-
/**
|
|
1194
|
-
* Reports whether the hull mesh has transparent areas or any overlay effect
|
|
1195
|
-
* does, which tells the renderer to route this object through the sorted
|
|
1196
|
-
* transparent pass.
|
|
1195
|
+
/**
|
|
1196
|
+
* Reports whether the hull mesh has transparent areas or any overlay effect
|
|
1197
|
+
* does, which tells the renderer to route this object through the sorted
|
|
1198
|
+
* transparent pass.
|
|
1197
1199
|
*/
|
|
1198
1200
|
HasTransparentBatches() {
|
|
1199
1201
|
if (!this.mesh) return false;
|
|
@@ -1204,9 +1206,9 @@ new class extends _identity {
|
|
|
1204
1206
|
return false;
|
|
1205
1207
|
}
|
|
1206
1208
|
|
|
1207
|
-
/**
|
|
1208
|
-
* Returns the distance from the render context's view position to the hull
|
|
1209
|
-
* world translation, used to order transparent renderables back-to-front.
|
|
1209
|
+
/**
|
|
1210
|
+
* Returns the distance from the render context's view position to the hull
|
|
1211
|
+
* world translation, used to order transparent renderables back-to-front.
|
|
1210
1212
|
*/
|
|
1211
1213
|
GetSortValue(renderContext = null) {
|
|
1212
1214
|
const viewPosition = renderContext?.GetViewPosition();
|
|
@@ -1216,9 +1218,9 @@ new class extends _identity {
|
|
|
1216
1218
|
return Math.hypot(x, y, z);
|
|
1217
1219
|
}
|
|
1218
1220
|
|
|
1219
|
-
/** Carbon allocates Tr2PerObjectDataWithPersistentBuffers<EveSpaceObject2>.
|
|
1220
|
-
* This port retains persistent VS/PS RawData and returns those records
|
|
1221
|
-
* directly. GPU-derived bone-ring offsets remain at their CPU defaults until
|
|
1221
|
+
/** Carbon allocates Tr2PerObjectDataWithPersistentBuffers<EveSpaceObject2>.
|
|
1222
|
+
* This port retains persistent VS/PS RawData and returns those records
|
|
1223
|
+
* directly. GPU-derived bone-ring offsets remain at their CPU defaults until
|
|
1222
1224
|
* an engine supplies them; other CPU-known values are already encoded. */
|
|
1223
1225
|
GetPerObjectData(_accumulator = null) {
|
|
1224
1226
|
// Carbon cpp:1437-1445: the bone ring is uploaded and its OFFSETS stamped
|
|
@@ -1242,13 +1244,13 @@ new class extends _identity {
|
|
|
1242
1244
|
return this.GetPerObjectData(accumulator);
|
|
1243
1245
|
}
|
|
1244
1246
|
|
|
1245
|
-
/** Carbon EveSpaceObject2::GetLights (cpp:3536-3555): display gate only
|
|
1246
|
-
* (no lights-empty early-out, unlike EveChildMesh), then per light
|
|
1247
|
-
* AddLight(manager, worldTransform, 1, bones, boneCount) FOLLOWED by
|
|
1248
|
-
* SetBrightnessMultiplier(m_activationStrength) - the order is contract:
|
|
1249
|
-
* the submission uses the multiplier stamped on the PREVIOUS pass (first
|
|
1250
|
-
* pass uses the Tr2Light default 1) - one frame of activation-strength
|
|
1251
|
-
* lag, preserved verbatim. cpp:3554's dead `DisplayChildren()` local is
|
|
1247
|
+
/** Carbon EveSpaceObject2::GetLights (cpp:3536-3555): display gate only
|
|
1248
|
+
* (no lights-empty early-out, unlike EveChildMesh), then per light
|
|
1249
|
+
* AddLight(manager, worldTransform, 1, bones, boneCount) FOLLOWED by
|
|
1250
|
+
* SetBrightnessMultiplier(m_activationStrength) - the order is contract:
|
|
1251
|
+
* the submission uses the multiplier stamped on the PREVIOUS pass (first
|
|
1252
|
+
* pass uses the Tr2Light default 1) - one frame of activation-strength
|
|
1253
|
+
* lag, preserved verbatim. cpp:3554's dead `DisplayChildren()` local is
|
|
1252
1254
|
* not ported. */
|
|
1253
1255
|
GetLights(lightManager) {
|
|
1254
1256
|
if (!this.display) {
|
|
@@ -1267,11 +1269,11 @@ new class extends _identity {
|
|
|
1267
1269
|
}
|
|
1268
1270
|
}
|
|
1269
1271
|
|
|
1270
|
-
/**
|
|
1271
|
-
* Carbon EveSpaceObject2::IsCastingShadow (cpp:2252-2274): applies the
|
|
1272
|
-
* display, world-sphere and reflection gates, then tests the realized sphere
|
|
1273
|
-
* against the supplied shadow frustum. Carbon's float& result is represented
|
|
1274
|
-
* by an optional length-one array.
|
|
1272
|
+
/**
|
|
1273
|
+
* Carbon EveSpaceObject2::IsCastingShadow (cpp:2252-2274): applies the
|
|
1274
|
+
* display, world-sphere and reflection gates, then tests the realized sphere
|
|
1275
|
+
* against the supplied shadow frustum. Carbon's float& result is represented
|
|
1276
|
+
* by an optional length-one array.
|
|
1275
1277
|
*/
|
|
1276
1278
|
IsCastingShadow(cameraFrustum, shadowFrustum, renderReason, sizeInShadowOut = null) {
|
|
1277
1279
|
if (!this.display || this.#boundingSphereWorldRadius <= 0) {
|
|
@@ -1294,9 +1296,9 @@ new class extends _identity {
|
|
|
1294
1296
|
return sizeInShadow > 15;
|
|
1295
1297
|
}
|
|
1296
1298
|
|
|
1297
|
-
/** Carbon EveSpaceObject2::RegisterComponents (cpp:3568-3609): registers its
|
|
1298
|
-
* own components and its children with the scene registration container "so
|
|
1299
|
-
* we don't have to traverse the tree every frame". RegisterAudioGeometry
|
|
1299
|
+
/** Carbon EveSpaceObject2::RegisterComponents (cpp:3568-3609): registers its
|
|
1300
|
+
* own components and its children with the scene registration container "so
|
|
1301
|
+
* we don't have to traverse the tree every frame". RegisterAudioGeometry
|
|
1300
1302
|
* (cpp:3572-3575) is audio-engine-owned and unported. Gate m_display. */
|
|
1301
1303
|
RegisterComponents() {
|
|
1302
1304
|
const registry = this.GetComponentRegistry();
|
|
@@ -1319,10 +1321,10 @@ new class extends _identity {
|
|
|
1319
1321
|
}
|
|
1320
1322
|
}
|
|
1321
1323
|
|
|
1322
|
-
/** Carbon EveSpaceObject2::UnRegisterComponents (cpp:3615-3638): forwards
|
|
1323
|
-
* the un-registration to the children only - EveEntity::UnRegister already
|
|
1324
|
-
* called UnRegisterAllComponents(this) first (EveEntity.cpp:90) - and does
|
|
1325
|
-
* not re-check display. UnregisterAudioGeometry (cpp:3617) is
|
|
1324
|
+
/** Carbon EveSpaceObject2::UnRegisterComponents (cpp:3615-3638): forwards
|
|
1325
|
+
* the un-registration to the children only - EveEntity::UnRegister already
|
|
1326
|
+
* called UnRegisterAllComponents(this) first (EveEntity.cpp:90) - and does
|
|
1327
|
+
* not re-check display. UnregisterAudioGeometry (cpp:3617) is
|
|
1326
1328
|
* audio-engine-owned and unported. */
|
|
1327
1329
|
UnRegisterComponents() {
|
|
1328
1330
|
const registry = this.GetComponentRegistry();
|
|
@@ -1336,25 +1338,25 @@ new class extends _identity {
|
|
|
1336
1338
|
}
|
|
1337
1339
|
}
|
|
1338
1340
|
|
|
1339
|
-
/**
|
|
1340
|
-
* Reports whether children and effect children should be shown; always true on
|
|
1341
|
-
* the base hull, subclasses gate it on activation state.
|
|
1341
|
+
/**
|
|
1342
|
+
* Reports whether children and effect children should be shown; always true on
|
|
1343
|
+
* the base hull, subclasses gate it on activation state.
|
|
1342
1344
|
*/
|
|
1343
1345
|
DisplayChildren() {
|
|
1344
1346
|
return true;
|
|
1345
1347
|
}
|
|
1346
1348
|
|
|
1347
|
-
/**
|
|
1348
|
-
* Returns the transform placement observers are attached to - the live hull
|
|
1349
|
-
* world transform.
|
|
1349
|
+
/**
|
|
1350
|
+
* Returns the transform placement observers are attached to - the live hull
|
|
1351
|
+
* world transform.
|
|
1350
1352
|
*/
|
|
1351
1353
|
GetObserverTransform() {
|
|
1352
1354
|
return this.worldTransform;
|
|
1353
1355
|
}
|
|
1354
1356
|
|
|
1355
|
-
/**
|
|
1356
|
-
* Returns the transform effect children are placed against - the live hull
|
|
1357
|
-
* world transform, not a copy.
|
|
1357
|
+
/**
|
|
1358
|
+
* Returns the transform effect children are placed against - the live hull
|
|
1359
|
+
* world transform, not a copy.
|
|
1358
1360
|
*/
|
|
1359
1361
|
GetLocalToWorldTransform() {
|
|
1360
1362
|
return this.worldTransform;
|
|
@@ -1365,26 +1367,26 @@ new class extends _identity {
|
|
|
1365
1367
|
vec3.transformMat4(out, this.boundingSphereCenter, this.worldTransform);
|
|
1366
1368
|
}
|
|
1367
1369
|
|
|
1368
|
-
/**
|
|
1369
|
-
* Returns the live curve-sampled ball position; the array is the object's own
|
|
1370
|
-
* field and is rewritten by the next transform update.
|
|
1370
|
+
/**
|
|
1371
|
+
* Returns the live curve-sampled ball position; the array is the object's own
|
|
1372
|
+
* field and is rewritten by the next transform update.
|
|
1371
1373
|
*/
|
|
1372
1374
|
GetWorldPosition() {
|
|
1373
1375
|
return this.worldPosition;
|
|
1374
1376
|
}
|
|
1375
1377
|
|
|
1376
|
-
/**
|
|
1377
|
-
* Returns the live curve-sampled ball rotation, which excludes the model
|
|
1378
|
-
* rotation curve; the quaternion is the object's own field and is rewritten by
|
|
1379
|
-
* the next transform update.
|
|
1378
|
+
/**
|
|
1379
|
+
* Returns the live curve-sampled ball rotation, which excludes the model
|
|
1380
|
+
* rotation curve; the quaternion is the object's own field and is rewritten by
|
|
1381
|
+
* the next transform update.
|
|
1380
1382
|
*/
|
|
1381
1383
|
GetWorldRotation() {
|
|
1382
1384
|
return this.worldRotation;
|
|
1383
1385
|
}
|
|
1384
1386
|
|
|
1385
|
-
/**
|
|
1386
|
-
* Finds a sound emitter by observer name on this hull and then recursively in
|
|
1387
|
-
* the effect children, returning null when no emitter carries the name.
|
|
1387
|
+
/**
|
|
1388
|
+
* Finds a sound emitter by observer name on this hull and then recursively in
|
|
1389
|
+
* the effect children, returning null when no emitter carries the name.
|
|
1388
1390
|
*/
|
|
1389
1391
|
FindSoundEmitter(name) {
|
|
1390
1392
|
const target = String(name ?? "");
|
|
@@ -1402,9 +1404,9 @@ new class extends _identity {
|
|
|
1402
1404
|
return null;
|
|
1403
1405
|
}
|
|
1404
1406
|
|
|
1405
|
-
/**
|
|
1406
|
-
* Sets the mute flag and pushes it to every effect child and placement
|
|
1407
|
-
* observer.
|
|
1407
|
+
/**
|
|
1408
|
+
* Sets the mute flag and pushes it to every effect child and placement
|
|
1409
|
+
* observer.
|
|
1408
1410
|
*/
|
|
1409
1411
|
SetMute(mute) {
|
|
1410
1412
|
this.mute = !!mute;
|
|
@@ -1416,19 +1418,19 @@ new class extends _identity {
|
|
|
1416
1418
|
}
|
|
1417
1419
|
}
|
|
1418
1420
|
|
|
1419
|
-
/**
|
|
1420
|
-
* Plays an animation with explicit loop, start, and speed settings
|
|
1421
|
-
* (Carbon PlayAnimationEx, MAP_METHOD_AND_WRAP_OPTIONAL_ARGS).
|
|
1421
|
+
/**
|
|
1422
|
+
* Plays an animation with explicit loop, start, and speed settings
|
|
1423
|
+
* (Carbon PlayAnimationEx, MAP_METHOD_AND_WRAP_OPTIONAL_ARGS).
|
|
1422
1424
|
*/
|
|
1423
1425
|
PlayAnimationEx(animName, loopCount, start, speed, clearWhenDone = true) {
|
|
1424
1426
|
this.#PlayAnimation(animName, true, loopCount, start, speed, clearWhenDone);
|
|
1425
1427
|
}
|
|
1426
1428
|
|
|
1427
|
-
/**
|
|
1428
|
-
* Calculates the skinned bounding box under a transform (CMF path: the
|
|
1429
|
-
* local box corners transformed with perspective divide). The granny path
|
|
1430
|
-
* is unported. Returns an inverted-empty { min, max } box when dynamic
|
|
1431
|
-
* bounds are disabled, as Carbon's BoundingBoxInitialize does.
|
|
1429
|
+
/**
|
|
1430
|
+
* Calculates the skinned bounding box under a transform (CMF path: the
|
|
1431
|
+
* local box corners transformed with perspective divide). The granny path
|
|
1432
|
+
* is unported. Returns an inverted-empty { min, max } box when dynamic
|
|
1433
|
+
* bounds are disabled, as Carbon's BoundingBoxInitialize does.
|
|
1432
1434
|
*/
|
|
1433
1435
|
CalculateSkinnedBoundingBoxFromTransform(transform) {
|
|
1434
1436
|
const min = vec3.fromValues(Infinity, Infinity, Infinity);
|
|
@@ -1452,10 +1454,10 @@ new class extends _identity {
|
|
|
1452
1454
|
};
|
|
1453
1455
|
}
|
|
1454
1456
|
|
|
1455
|
-
/**
|
|
1456
|
-
* Calculates the skinned bounding sphere (CMF path: the current bounding
|
|
1457
|
-
* sphere; granny path unported). Returns (0,0,0,-1) when dynamic bounds
|
|
1458
|
-
* are disabled.
|
|
1457
|
+
/**
|
|
1458
|
+
* Calculates the skinned bounding sphere (CMF path: the current bounding
|
|
1459
|
+
* sphere; granny path unported). Returns (0,0,0,-1) when dynamic bounds
|
|
1460
|
+
* are disabled.
|
|
1459
1461
|
*/
|
|
1460
1462
|
CalculateSkinnedBoundingSphere(out = vec4.create()) {
|
|
1461
1463
|
if (this.dynamicBoundingSphereEnabled && this.mesh?.GetGeometryResource()?.IsUsingCMF?.()) {
|
|
@@ -1474,9 +1476,9 @@ new class extends _identity {
|
|
|
1474
1476
|
}
|
|
1475
1477
|
}
|
|
1476
1478
|
|
|
1477
|
-
/**
|
|
1478
|
-
* Rebuilds the locator sets visible on this object from its own authored sets
|
|
1479
|
-
* plus the sets owned by child meshes and nested child containers.
|
|
1479
|
+
/**
|
|
1480
|
+
* Rebuilds the locator sets visible on this object from its own authored sets
|
|
1481
|
+
* plus the sets owned by child meshes and nested child containers.
|
|
1480
1482
|
*/
|
|
1481
1483
|
EnsureChildLocatorMerged() {
|
|
1482
1484
|
if (!this.#mergedLocatorSetsDirty) return;
|
|
@@ -1540,11 +1542,11 @@ new class extends _identity {
|
|
|
1540
1542
|
this.#damageFilterAreas.length = 0;
|
|
1541
1543
|
}
|
|
1542
1544
|
|
|
1543
|
-
/**
|
|
1544
|
-
* Collects prepared hull and child geometry and opens raycast sessions
|
|
1545
|
-
* (Carbon CollectOccluders, EveSpaceObject2.cpp:1960-2028): occluders carry
|
|
1546
|
-
* areaStart/areaCount ranges into the shared #damageFilterAreas pool, and
|
|
1547
|
-
* records with no matching areas are skipped rather than raycast whole.
|
|
1545
|
+
/**
|
|
1546
|
+
* Collects prepared hull and child geometry and opens raycast sessions
|
|
1547
|
+
* (Carbon CollectOccluders, EveSpaceObject2.cpp:1960-2028): occluders carry
|
|
1548
|
+
* areaStart/areaCount ranges into the shared #damageFilterAreas pool, and
|
|
1549
|
+
* records with no matching areas are skipped rather than raycast whole.
|
|
1548
1550
|
*/
|
|
1549
1551
|
#CollectDamageFilterOccluders() {
|
|
1550
1552
|
this.#damageFilterOccluders.length = 0;
|
|
@@ -1691,8 +1693,8 @@ new class extends _identity {
|
|
|
1691
1693
|
if (this.#damageFilterState === 0) this.#damageFilterState = 1;
|
|
1692
1694
|
}
|
|
1693
1695
|
|
|
1694
|
-
/**
|
|
1695
|
-
* Clears all impact and damage effects on the impact overlay.
|
|
1696
|
+
/**
|
|
1697
|
+
* Clears all impact and damage effects on the impact overlay.
|
|
1696
1698
|
*/
|
|
1697
1699
|
ClearImpactDamage() {
|
|
1698
1700
|
if (this.impactOverlay) this.impactOverlay.Clear();
|
|
@@ -1703,23 +1705,23 @@ new class extends _identity {
|
|
|
1703
1705
|
}
|
|
1704
1706
|
}
|
|
1705
1707
|
|
|
1706
|
-
/**
|
|
1707
|
-
* Clears all animations on the animation updater.
|
|
1708
|
+
/**
|
|
1709
|
+
* Clears all animations on the animation updater.
|
|
1708
1710
|
*/
|
|
1709
1711
|
ClearAnimations() {
|
|
1710
1712
|
this.animationUpdater?.ClearAnimations?.();
|
|
1711
1713
|
}
|
|
1712
1714
|
|
|
1713
|
-
/**
|
|
1714
|
-
* Creates an impact facing a position on the closest facing damage locator.
|
|
1715
|
+
/**
|
|
1716
|
+
* Creates an impact facing a position on the closest facing damage locator.
|
|
1715
1717
|
*/
|
|
1716
1718
|
CreateImpactFromPosition(position, direction, lifeTime, size) {
|
|
1717
1719
|
const closestDamageLocator = this.#GetClosestLocatorIndex(position, _EveSpaceObject.#damageLocatorSetName);
|
|
1718
1720
|
return this.CreateImpact(closestDamageLocator, direction, lifeTime, size);
|
|
1719
1721
|
}
|
|
1720
1722
|
|
|
1721
|
-
/**
|
|
1722
|
-
* Creates an impact effect on a damage locator through the impact overlay.
|
|
1723
|
+
/**
|
|
1724
|
+
* Creates an impact effect on a damage locator through the impact overlay.
|
|
1723
1725
|
*/
|
|
1724
1726
|
CreateImpact(damageLocatorIndex, direction, lifeTime, size) {
|
|
1725
1727
|
if (this.impactOverlay) {
|
|
@@ -1736,16 +1738,16 @@ new class extends _identity {
|
|
|
1736
1738
|
return -1;
|
|
1737
1739
|
}
|
|
1738
1740
|
|
|
1739
|
-
/**
|
|
1740
|
-
* Ends the current animation on the animation updater.
|
|
1741
|
+
/**
|
|
1742
|
+
* Ends the current animation on the animation updater.
|
|
1741
1743
|
*/
|
|
1742
1744
|
EndAnimation() {
|
|
1743
1745
|
this.animationUpdater?.EndAnimation?.();
|
|
1744
1746
|
}
|
|
1745
1747
|
|
|
1746
|
-
/**
|
|
1747
|
-
* Freezes LOD selection at the current mesh and marks decal geometry
|
|
1748
|
-
* frozen.
|
|
1748
|
+
/**
|
|
1749
|
+
* Freezes LOD selection at the current mesh and marks decal geometry
|
|
1750
|
+
* frozen.
|
|
1749
1751
|
*/
|
|
1750
1752
|
FreezeHighDetailMesh() {
|
|
1751
1753
|
this.#allowLodSelection = false;
|
|
@@ -1754,23 +1756,23 @@ new class extends _identity {
|
|
|
1754
1756
|
}
|
|
1755
1757
|
}
|
|
1756
1758
|
|
|
1757
|
-
/**
|
|
1758
|
-
* Gets the number of damage locators on this object.
|
|
1759
|
+
/**
|
|
1760
|
+
* Gets the number of damage locators on this object.
|
|
1759
1761
|
*/
|
|
1760
1762
|
GetDamageLocatorCount() {
|
|
1761
1763
|
return this.GetLocatorCount(_EveSpaceObject.#damageLocatorSetName);
|
|
1762
1764
|
}
|
|
1763
1765
|
|
|
1764
|
-
/**
|
|
1765
|
-
* Gets the number of locators in a named locator set.
|
|
1766
|
+
/**
|
|
1767
|
+
* Gets the number of locators in a named locator set.
|
|
1766
1768
|
*/
|
|
1767
1769
|
GetLocatorCount(locatorSetName) {
|
|
1768
1770
|
return this.#GetLocatorsForSet(locatorSetName)?.length ?? 0;
|
|
1769
1771
|
}
|
|
1770
1772
|
|
|
1771
|
-
/**
|
|
1772
|
-
* Gets the first locator list whose set has the requested Carbon name.
|
|
1773
|
-
* The returned list remains owned by the locator set.
|
|
1773
|
+
/**
|
|
1774
|
+
* Gets the first locator list whose set has the requested Carbon name.
|
|
1775
|
+
* The returned list remains owned by the locator set.
|
|
1774
1776
|
*/
|
|
1775
1777
|
GetLocatorsForSet(locatorSetName) {
|
|
1776
1778
|
return this.#GetLocatorsForSet(locatorSetName);
|
|
@@ -1804,9 +1806,9 @@ new class extends _identity {
|
|
|
1804
1806
|
this.InvalidateMergedLocators("structure");
|
|
1805
1807
|
}
|
|
1806
1808
|
|
|
1807
|
-
/**
|
|
1808
|
-
* Gets the closest locator in a set to a world position, ignoring locator
|
|
1809
|
-
* facing. Returns -1 when the set is missing or empty.
|
|
1809
|
+
/**
|
|
1810
|
+
* Gets the closest locator in a set to a world position, ignoring locator
|
|
1811
|
+
* facing. Returns -1 when the set is missing or empty.
|
|
1810
1812
|
*/
|
|
1811
1813
|
GetCloseLocatorIndex(position, locatorSetName) {
|
|
1812
1814
|
const locators = this.#GetLocatorsForSet(locatorSetName);
|
|
@@ -1830,19 +1832,19 @@ new class extends _identity {
|
|
|
1830
1832
|
return closestIndex;
|
|
1831
1833
|
}
|
|
1832
1834
|
|
|
1833
|
-
/**
|
|
1834
|
-
* Carbon's script surface maps GetGoodLocatorIndex to GetCloseLocatorIndex
|
|
1835
|
-
* (EveSpaceObject2_Blue.cpp); the internal randomized fit heuristic is not
|
|
1836
|
-
* script-exposed.
|
|
1835
|
+
/**
|
|
1836
|
+
* Carbon's script surface maps GetGoodLocatorIndex to GetCloseLocatorIndex
|
|
1837
|
+
* (EveSpaceObject2_Blue.cpp); the internal randomized fit heuristic is not
|
|
1838
|
+
* script-exposed.
|
|
1837
1839
|
*/
|
|
1838
1840
|
GetGoodLocatorIndex(position, locatorSetName) {
|
|
1839
1841
|
return this.GetCloseLocatorIndex(position, locatorSetName);
|
|
1840
1842
|
}
|
|
1841
1843
|
|
|
1842
|
-
/**
|
|
1843
|
-
* Gets the local direction of an indexed damage locator, (0,0,0) for
|
|
1844
|
-
* indices out of range (Carbon script GetDamageLocatorDirection maps to
|
|
1845
|
-
* GetDamageLocatorDirectionLocal).
|
|
1844
|
+
/**
|
|
1845
|
+
* Gets the local direction of an indexed damage locator, (0,0,0) for
|
|
1846
|
+
* indices out of range (Carbon script GetDamageLocatorDirection maps to
|
|
1847
|
+
* GetDamageLocatorDirectionLocal).
|
|
1846
1848
|
*/
|
|
1847
1849
|
GetDamageLocatorDirection(index, inWorldSpaceOrOut = vec3.create(), out = vec3.create()) {
|
|
1848
1850
|
const targetableCall = typeof inWorldSpaceOrOut === "boolean";
|
|
@@ -1871,10 +1873,10 @@ new class extends _identity {
|
|
|
1871
1873
|
return true;
|
|
1872
1874
|
}
|
|
1873
1875
|
|
|
1874
|
-
/**
|
|
1875
|
-
* Gets a damage locator's BIND position in object space - the merged set's
|
|
1876
|
-
* authored position, no animation (Carbon EveSpaceObject2.cpp:2785-2796).
|
|
1877
|
-
* Impact overlays seed decals here so they stay put on animated parts.
|
|
1876
|
+
/**
|
|
1877
|
+
* Gets a damage locator's BIND position in object space - the merged set's
|
|
1878
|
+
* authored position, no animation (Carbon EveSpaceObject2.cpp:2785-2796).
|
|
1879
|
+
* Impact overlays seed decals here so they stay put on animated parts.
|
|
1878
1880
|
*/
|
|
1879
1881
|
GetDamageLocatorBindPosition(index, out = vec3.create()) {
|
|
1880
1882
|
const locators = this.#GetLocatorsForSet(_EveSpaceObject.#damageLocatorSetName);
|
|
@@ -2015,9 +2017,9 @@ new class extends _identity {
|
|
|
2015
2017
|
return false;
|
|
2016
2018
|
}
|
|
2017
2019
|
|
|
2018
|
-
/**
|
|
2019
|
-
* Gets the local position of an indexed damage locator, (0,0,0) for
|
|
2020
|
-
* indices out of range.
|
|
2020
|
+
/**
|
|
2021
|
+
* Gets the local position of an indexed damage locator, (0,0,0) for
|
|
2022
|
+
* indices out of range.
|
|
2021
2023
|
*/
|
|
2022
2024
|
GetDamageLocator(index, out = vec3.create()) {
|
|
2023
2025
|
const locators = this.#GetLocatorsForSet(_EveSpaceObject.#damageLocatorSetName);
|
|
@@ -2029,9 +2031,9 @@ new class extends _identity {
|
|
|
2029
2031
|
return out;
|
|
2030
2032
|
}
|
|
2031
2033
|
|
|
2032
|
-
/**
|
|
2033
|
-
* Gets the world-space position of an indexed damage locator, (0,0,0) for
|
|
2034
|
-
* indices out of range (returned untransformed, as Carbon does).
|
|
2034
|
+
/**
|
|
2035
|
+
* Gets the world-space position of an indexed damage locator, (0,0,0) for
|
|
2036
|
+
* indices out of range (returned untransformed, as Carbon does).
|
|
2035
2037
|
*/
|
|
2036
2038
|
GetTransformedDamageLocator(index, out = vec3.create()) {
|
|
2037
2039
|
const locators = this.#GetLocatorsForSet(_EveSpaceObject.#damageLocatorSetName);
|
|
@@ -2043,18 +2045,18 @@ new class extends _identity {
|
|
|
2043
2045
|
return vec3.transformMat4(out, out, this.worldTransform);
|
|
2044
2046
|
}
|
|
2045
2047
|
|
|
2046
|
-
/**
|
|
2047
|
-
* Checks whether this object is in impostor mode. The impostor system that
|
|
2048
|
-
* raises the flag is unported, so this reports the default until then.
|
|
2048
|
+
/**
|
|
2049
|
+
* Checks whether this object is in impostor mode. The impostor system that
|
|
2050
|
+
* raises the flag is unported, so this reports the default until then.
|
|
2049
2051
|
*/
|
|
2050
2052
|
IsImpostor() {
|
|
2051
2053
|
return this.#impostorMode;
|
|
2052
2054
|
}
|
|
2053
2055
|
|
|
2054
|
-
/**
|
|
2055
|
-
* Gets a locator position from a named set. Out-of-range or missing-set
|
|
2056
|
-
* queries return the world translation in world space and (0,0,0) in
|
|
2057
|
-
* object space, as Carbon does.
|
|
2056
|
+
/**
|
|
2057
|
+
* Gets a locator position from a named set. Out-of-range or missing-set
|
|
2058
|
+
* queries return the world translation in world space and (0,0,0) in
|
|
2059
|
+
* object space, as Carbon does.
|
|
2058
2060
|
*/
|
|
2059
2061
|
GetLocatorPositionFromSet(index, inWorldSpace, locatorSetName, out = vec3.create()) {
|
|
2060
2062
|
const locators = this.#GetLocatorsForSet(locatorSetName);
|
|
@@ -2072,9 +2074,9 @@ new class extends _identity {
|
|
|
2072
2074
|
return out;
|
|
2073
2075
|
}
|
|
2074
2076
|
|
|
2075
|
-
/**
|
|
2076
|
-
* Gets a locator direction from a named set. Out-of-range or missing-set
|
|
2077
|
-
* queries return (0,1,0), as Carbon does.
|
|
2077
|
+
/**
|
|
2078
|
+
* Gets a locator direction from a named set. Out-of-range or missing-set
|
|
2079
|
+
* queries return (0,1,0), as Carbon does.
|
|
2078
2080
|
*/
|
|
2079
2081
|
GetLocatorRotationFromSet(index, inWorldSpace, locatorSetName, out = vec3.create()) {
|
|
2080
2082
|
const locators = this.#GetLocatorsForSet(locatorSetName);
|
|
@@ -2089,9 +2091,9 @@ new class extends _identity {
|
|
|
2089
2091
|
return out;
|
|
2090
2092
|
}
|
|
2091
2093
|
|
|
2092
|
-
/**
|
|
2093
|
-
* Raises a named controller event on this hull's controllers and forwards it
|
|
2094
|
-
* to the effect children and overlay effects.
|
|
2094
|
+
/**
|
|
2095
|
+
* Raises a named controller event on this hull's controllers and forwards it
|
|
2096
|
+
* to the effect children and overlay effects.
|
|
2095
2097
|
*/
|
|
2096
2098
|
HandleControllerEvent(name) {
|
|
2097
2099
|
const eventName = String(name ?? "");
|
|
@@ -2106,24 +2108,24 @@ new class extends _identity {
|
|
|
2106
2108
|
}
|
|
2107
2109
|
}
|
|
2108
2110
|
|
|
2109
|
-
/**
|
|
2110
|
-
* Plays an animation once, replacing the current one
|
|
2111
|
-
* (Carbon script PlayAnimation maps to PlayAnimationOnce).
|
|
2111
|
+
/**
|
|
2112
|
+
* Plays an animation once, replacing the current one
|
|
2113
|
+
* (Carbon script PlayAnimation maps to PlayAnimationOnce).
|
|
2112
2114
|
*/
|
|
2113
2115
|
PlayAnimation(animName) {
|
|
2114
2116
|
this.#PlayAnimation(animName, true, 1, 0, 1, true);
|
|
2115
2117
|
}
|
|
2116
2118
|
|
|
2117
|
-
/**
|
|
2118
|
-
* Chains an animation once after the current one (Carbon ChainAnimation).
|
|
2119
|
+
/**
|
|
2120
|
+
* Chains an animation once after the current one (Carbon ChainAnimation).
|
|
2119
2121
|
*/
|
|
2120
2122
|
ChainAnimation(animName) {
|
|
2121
2123
|
this.#PlayAnimation(animName, false, 1, 0, 1, true);
|
|
2122
2124
|
}
|
|
2123
2125
|
|
|
2124
|
-
/**
|
|
2125
|
-
* Chains an animation with explicit loop, start, and speed settings
|
|
2126
|
-
* (Carbon ChainAnimationEx).
|
|
2126
|
+
/**
|
|
2127
|
+
* Chains an animation with explicit loop, start, and speed settings
|
|
2128
|
+
* (Carbon ChainAnimationEx).
|
|
2127
2129
|
*/
|
|
2128
2130
|
ChainAnimationEx(animName, loopCount, start, speed) {
|
|
2129
2131
|
this.#PlayAnimation(animName, false, loopCount, start, speed, true);
|
|
@@ -2133,17 +2135,17 @@ new class extends _identity {
|
|
|
2133
2135
|
// into the animation updater, which owns playback state; a missing updater
|
|
2134
2136
|
// is a Carbon-faithful no-op.
|
|
2135
2137
|
|
|
2136
|
-
/**
|
|
2137
|
-
* Forwards a playback request to the animation updater, which owns all
|
|
2138
|
-
* animation state; a hull without an updater does nothing, as in Carbon.
|
|
2138
|
+
/**
|
|
2139
|
+
* Forwards a playback request to the animation updater, which owns all
|
|
2140
|
+
* animation state; a hull without an updater does nothing, as in Carbon.
|
|
2139
2141
|
*/
|
|
2140
2142
|
#PlayAnimation(animName, replace, loopCount, delay, speed, clearWhenDone) {
|
|
2141
2143
|
this.animationUpdater?.PlayAnimation?.(String(animName ?? ""), replace, loopCount, delay, speed, clearWhenDone);
|
|
2142
2144
|
}
|
|
2143
2145
|
|
|
2144
|
-
/**
|
|
2145
|
-
* Recalculates the authored bounding sphere from the mesh geometry
|
|
2146
|
-
* resource. Fails when no mesh or ready geometry resource is attached.
|
|
2146
|
+
/**
|
|
2147
|
+
* Recalculates the authored bounding sphere from the mesh geometry
|
|
2148
|
+
* resource. Fails when no mesh or ready geometry resource is attached.
|
|
2147
2149
|
*/
|
|
2148
2150
|
RebuildBoundingSphereInformation() {
|
|
2149
2151
|
const mesh = this.mesh;
|
|
@@ -2170,13 +2172,12 @@ new class extends _identity {
|
|
|
2170
2172
|
} else {
|
|
2171
2173
|
this.boundingSphereRadius = sph3.extract(sphere, this.boundingSphereCenter);
|
|
2172
2174
|
}
|
|
2173
|
-
this.UpdateWorldBounds();
|
|
2174
2175
|
return this;
|
|
2175
2176
|
}
|
|
2176
2177
|
|
|
2177
|
-
/**
|
|
2178
|
-
* Returns a plain-object snapshot of the controller variables currently
|
|
2179
|
-
* stamped on this hull.
|
|
2178
|
+
/**
|
|
2179
|
+
* Returns a plain-object snapshot of the controller variables currently
|
|
2180
|
+
* stamped on this hull.
|
|
2180
2181
|
*/
|
|
2181
2182
|
GetControllerVariables() {
|
|
2182
2183
|
return Object.fromEntries(this.#controllerVariables);
|
|
@@ -2190,11 +2191,11 @@ new class extends _identity {
|
|
|
2190
2191
|
return geometryResource.GetLodIndexForScreenSize?.(this.mesh?.GetMeshIndex?.() ?? 0, this.#meshScreenSize) ?? 0;
|
|
2191
2192
|
}
|
|
2192
2193
|
|
|
2193
|
-
/**
|
|
2194
|
-
* Gets a named locator's transform (Carbon script GetLocatorTransform maps
|
|
2195
|
-
* to GetEveLocatorTransform): the identity for unknown names, the animated
|
|
2196
|
-
* bone world transform when the animation updater resolves the name, else
|
|
2197
|
-
* the authored locator transform.
|
|
2194
|
+
/**
|
|
2195
|
+
* Gets a named locator's transform (Carbon script GetLocatorTransform maps
|
|
2196
|
+
* to GetEveLocatorTransform): the identity for unknown names, the animated
|
|
2197
|
+
* bone world transform when the animation updater resolves the name, else
|
|
2198
|
+
* the authored locator transform.
|
|
2198
2199
|
*/
|
|
2199
2200
|
GetLocatorTransform(name, out = mat4.create()) {
|
|
2200
2201
|
const target = String(name ?? "");
|
|
@@ -2214,11 +2215,11 @@ new class extends _identity {
|
|
|
2214
2215
|
return mat4.copy(out, locator.GetTransform());
|
|
2215
2216
|
}
|
|
2216
2217
|
|
|
2217
|
-
/**
|
|
2218
|
-
* Gets the local axis-aligned bounding box: dynamic skinned bounds when
|
|
2219
|
-
* enabled, else the mesh box, else the cached box (at worst it lags one
|
|
2220
|
-
* frame). With out arguments it fills them and returns true; without, it
|
|
2221
|
-
* returns { min, max }.
|
|
2218
|
+
/**
|
|
2219
|
+
* Gets the local axis-aligned bounding box: dynamic skinned bounds when
|
|
2220
|
+
* enabled, else the mesh box, else the cached box (at worst it lags one
|
|
2221
|
+
* frame). With out arguments it fills them and returns true; without, it
|
|
2222
|
+
* returns { min, max }.
|
|
2222
2223
|
*/
|
|
2223
2224
|
GetLocalBoundingBox(minBounds, maxBounds) {
|
|
2224
2225
|
const min = vec3.create();
|
|
@@ -2268,12 +2269,12 @@ new class extends _identity {
|
|
|
2268
2269
|
return geometryResource ? geometryResource.IsGood() : false;
|
|
2269
2270
|
}
|
|
2270
2271
|
|
|
2271
|
-
/**
|
|
2272
|
-
* Gets Carbon's realized world sphere, optionally accumulated with transform
|
|
2273
|
-
* and effect children when query is EVE_BOUNDS_WITH_CHILDREN.
|
|
2272
|
+
/**
|
|
2273
|
+
* Gets Carbon's realized world sphere, optionally accumulated with transform
|
|
2274
|
+
* and effect children when query is EVE_BOUNDS_WITH_CHILDREN.
|
|
2274
2275
|
*/
|
|
2275
2276
|
GetBoundingSphere(out = sph3.create(), query = 0) {
|
|
2276
|
-
if (
|
|
2277
|
+
if (this.boundingSphereRadius <= 0 && this.#dynamicBoundingSphere[3] <= 0) return false;
|
|
2277
2278
|
_EveSpaceObject.#SetSphere(out, this.modelWorldPosition, this.#boundingSphereWorldRadius);
|
|
2278
2279
|
if (!query || !this.DisplayChildren()) return true;
|
|
2279
2280
|
for (const child of this.children) {
|
|
@@ -2306,9 +2307,9 @@ new class extends _identity {
|
|
|
2306
2307
|
return this.#isInFrustum;
|
|
2307
2308
|
}
|
|
2308
2309
|
|
|
2309
|
-
/**
|
|
2310
|
-
* Gets the bounding sphere center, preferring the dynamic skinned sphere
|
|
2311
|
-
* when one is published.
|
|
2310
|
+
/**
|
|
2311
|
+
* Gets the bounding sphere center, preferring the dynamic skinned sphere
|
|
2312
|
+
* when one is published.
|
|
2312
2313
|
*/
|
|
2313
2314
|
GetBoundingSphereCenter(out = vec3.create()) {
|
|
2314
2315
|
if (this.#dynamicBoundingSphere[3] !== -1) {
|
|
@@ -2317,9 +2318,9 @@ new class extends _identity {
|
|
|
2317
2318
|
return vec3.copy(out, this.boundingSphereCenter);
|
|
2318
2319
|
}
|
|
2319
2320
|
|
|
2320
|
-
/**
|
|
2321
|
-
* Gets the model-scaled bounding sphere radius, preferring the dynamic
|
|
2322
|
-
* skinned sphere when one is published.
|
|
2321
|
+
/**
|
|
2322
|
+
* Gets the model-scaled bounding sphere radius, preferring the dynamic
|
|
2323
|
+
* skinned sphere when one is published.
|
|
2323
2324
|
*/
|
|
2324
2325
|
GetBoundingSphereRadius() {
|
|
2325
2326
|
if (this.#dynamicBoundingSphere[3] !== -1) {
|
|
@@ -2328,9 +2329,9 @@ new class extends _identity {
|
|
|
2328
2329
|
return this.modelScale * this.boundingSphereRadius;
|
|
2329
2330
|
}
|
|
2330
2331
|
|
|
2331
|
-
/**
|
|
2332
|
-
* Gets the number of mesh-bound bones. Carbon dereferences the animation
|
|
2333
|
-
* updater unchecked; CarbonEngineJS reports 0 when none is attached.
|
|
2332
|
+
/**
|
|
2333
|
+
* Gets the number of mesh-bound bones. Carbon dereferences the animation
|
|
2334
|
+
* updater unchecked; CarbonEngineJS reports 0 when none is attached.
|
|
2334
2335
|
*/
|
|
2335
2336
|
GetBoneCount() {
|
|
2336
2337
|
const updater = this.animationUpdater;
|
|
@@ -2346,10 +2347,10 @@ new class extends _identity {
|
|
|
2346
2347
|
return updater.GetMeshBindingBoneCount?.() ?? 0;
|
|
2347
2348
|
}
|
|
2348
2349
|
|
|
2349
|
-
/**
|
|
2350
|
-
* Pushes shield, armor and hull damage levels to the impact overlay and
|
|
2351
|
-
* mirrors them into the ShieldDamage, ArmorDamage and HullDamage controller
|
|
2352
|
-
* variables so bound effects follow.
|
|
2350
|
+
/**
|
|
2351
|
+
* Pushes shield, armor and hull damage levels to the impact overlay and
|
|
2352
|
+
* mirrors them into the ShieldDamage, ArmorDamage and HullDamage controller
|
|
2353
|
+
* variables so bound effects follow.
|
|
2353
2354
|
*/
|
|
2354
2355
|
SetImpactDamageState(shield, armor, hull, doCreateArmorImpacts = true) {
|
|
2355
2356
|
if (this.impactOverlay) {
|
|
@@ -2365,8 +2366,8 @@ new class extends _identity {
|
|
|
2365
2366
|
this.SetControllerVariable("HullDamage", hull);
|
|
2366
2367
|
}
|
|
2367
2368
|
|
|
2368
|
-
/**
|
|
2369
|
-
* Toggles a named impact-overlay animation (boosters, hardeners, ...).
|
|
2369
|
+
/**
|
|
2370
|
+
* Toggles a named impact-overlay animation (boosters, hardeners, ...).
|
|
2370
2371
|
*/
|
|
2371
2372
|
SetImpactAnimation(name, enable, duration) {
|
|
2372
2373
|
if (!this.impactOverlay) return;
|
|
@@ -2398,10 +2399,10 @@ new class extends _identity {
|
|
|
2398
2399
|
return overlay;
|
|
2399
2400
|
}
|
|
2400
2401
|
|
|
2401
|
-
/**
|
|
2402
|
-
* Stores a controller variable on the hull and pushes it to the controllers,
|
|
2403
|
-
* effect children and overlay effects; the stored value is replayed onto
|
|
2404
|
-
* controllers and children added later.
|
|
2402
|
+
/**
|
|
2403
|
+
* Stores a controller variable on the hull and pushes it to the controllers,
|
|
2404
|
+
* effect children and overlay effects; the stored value is replayed onto
|
|
2405
|
+
* controllers and children added later.
|
|
2405
2406
|
*/
|
|
2406
2407
|
SetControllerVariable(name, value) {
|
|
2407
2408
|
const key = String(name ?? "");
|
|
@@ -2418,9 +2419,9 @@ new class extends _identity {
|
|
|
2418
2419
|
}
|
|
2419
2420
|
}
|
|
2420
2421
|
|
|
2421
|
-
/**
|
|
2422
|
-
* Forwards a procedural-container variable to every effect child; the hull
|
|
2423
|
-
* itself keeps no copy.
|
|
2422
|
+
/**
|
|
2423
|
+
* Forwards a procedural-container variable to every effect child; the hull
|
|
2424
|
+
* itself keeps no copy.
|
|
2424
2425
|
*/
|
|
2425
2426
|
SetProceduralContainerVariable(name, value) {
|
|
2426
2427
|
for (const child of this.effectChildren) {
|
|
@@ -2428,9 +2429,9 @@ new class extends _identity {
|
|
|
2428
2429
|
}
|
|
2429
2430
|
}
|
|
2430
2431
|
|
|
2431
|
-
/**
|
|
2432
|
-
* Starts this hull's controllers and those of its effect children and overlay
|
|
2433
|
-
* effects.
|
|
2432
|
+
/**
|
|
2433
|
+
* Starts this hull's controllers and those of its effect children and overlay
|
|
2434
|
+
* effects.
|
|
2434
2435
|
*/
|
|
2435
2436
|
StartControllers() {
|
|
2436
2437
|
for (const controller of this.controllers) {
|
|
@@ -2444,13 +2445,13 @@ new class extends _identity {
|
|
|
2444
2445
|
}
|
|
2445
2446
|
}
|
|
2446
2447
|
|
|
2447
|
-
/**
|
|
2448
|
-
* Applies bone and model transforms to locators and returns
|
|
2449
|
-
* [position, rotation, boneIndex] tuples, as the Carbon script surface
|
|
2450
|
-
* does (TransformLocators maps to PyTransformLocators). Accepts either
|
|
2451
|
-
* locator records ({ position, direction, boneIndex }, Carbon's
|
|
2452
|
-
* LocatorStructureList shape) or the same [position, rotation, boneIndex]
|
|
2453
|
-
* tuple shape it returns.
|
|
2448
|
+
/**
|
|
2449
|
+
* Applies bone and model transforms to locators and returns
|
|
2450
|
+
* [position, rotation, boneIndex] tuples, as the Carbon script surface
|
|
2451
|
+
* does (TransformLocators maps to PyTransformLocators). Accepts either
|
|
2452
|
+
* locator records ({ position, direction, boneIndex }, Carbon's
|
|
2453
|
+
* LocatorStructureList shape) or the same [position, rotation, boneIndex]
|
|
2454
|
+
* tuple shape it returns.
|
|
2454
2455
|
*/
|
|
2455
2456
|
TransformLocators(locators = []) {
|
|
2456
2457
|
const result = [];
|
|
@@ -2479,10 +2480,10 @@ new class extends _identity {
|
|
|
2479
2480
|
// Carbon Blue TransformLocator: bone-attached records pick up the mesh
|
|
2480
2481
|
// bone matrix; without bone data the authored values pass through.
|
|
2481
2482
|
|
|
2482
|
-
/**
|
|
2483
|
-
* Applies the mesh bone matrix to a locator position and rotation for
|
|
2484
|
-
* bone-attached locators; the authored values pass through unchanged when
|
|
2485
|
-
* there is no usable bone data.
|
|
2483
|
+
/**
|
|
2484
|
+
* Applies the mesh bone matrix to a locator position and rotation for
|
|
2485
|
+
* bone-attached locators; the authored values pass through unchanged when
|
|
2486
|
+
* there is no usable bone data.
|
|
2486
2487
|
*/
|
|
2487
2488
|
#TransformLocator(position, rotation, boneIndex) {
|
|
2488
2489
|
const updater = this.animationUpdater;
|
|
@@ -2502,10 +2503,10 @@ new class extends _identity {
|
|
|
2502
2503
|
// origin (pure GetValueAt, no playback advance): translation adds, model
|
|
2503
2504
|
// rotation rotates the position and pre-multiplies.
|
|
2504
2505
|
|
|
2505
|
-
/**
|
|
2506
|
-
* Applies the model translation and rotation curves sampled at time 0 to a
|
|
2507
|
-
* locator position and rotation, matching Carbon's Blue locator surface, which
|
|
2508
|
-
* reads the curves without advancing playback.
|
|
2506
|
+
/**
|
|
2507
|
+
* Applies the model translation and rotation curves sampled at time 0 to a
|
|
2508
|
+
* locator position and rotation, matching Carbon's Blue locator surface, which
|
|
2509
|
+
* reads the curves without advancing playback.
|
|
2509
2510
|
*/
|
|
2510
2511
|
#ApplyModelTransform(position, rotation) {
|
|
2511
2512
|
if (this.modelTranslationCurve) {
|
|
@@ -2523,9 +2524,9 @@ new class extends _identity {
|
|
|
2523
2524
|
|
|
2524
2525
|
// Carbon GetLocatorsForSet: first set matching the name wins.
|
|
2525
2526
|
|
|
2526
|
-
/**
|
|
2527
|
-
* Returns the locator list of the first locator set carrying the name, or null
|
|
2528
|
-
* when no set matches; the list stays owned by the locator set.
|
|
2527
|
+
/**
|
|
2528
|
+
* Returns the locator list of the first locator set carrying the name, or null
|
|
2529
|
+
* when no set matches; the list stays owned by the locator set.
|
|
2529
2530
|
*/
|
|
2530
2531
|
#GetLocatorsForSet(locatorSetName) {
|
|
2531
2532
|
const target = String(locatorSetName ?? "");
|
|
@@ -2538,19 +2539,19 @@ new class extends _identity {
|
|
|
2538
2539
|
return null;
|
|
2539
2540
|
}
|
|
2540
2541
|
|
|
2541
|
-
/**
|
|
2542
|
-
* Writes a locator's object-space position and direction (Carbon
|
|
2543
|
-
* EveSpaceObject2.cpp:3751-3772, rewritten upstream by 3d988b1d).
|
|
2544
|
-
*
|
|
2545
|
-
* A merged damage locator (mergedDamageIndex >= 0, indexing the merged
|
|
2546
|
-
* damage set) delegates to the owning child's animated pose - the locator's
|
|
2547
|
-
* boneIndex addresses the CHILD's skeleton, never this object's - then
|
|
2548
|
-
* lifts the result through the range's childToObject transform; Carbon
|
|
2549
|
-
* normalizes the direction HERE but not in EveGetLocatorPose, and that
|
|
2550
|
-
* asymmetry is preserved. Every other locator resolves against this
|
|
2551
|
-
* object's own animation updater.
|
|
2552
|
-
*
|
|
2553
|
-
* Overridable on purpose: Carbon's EveSwarm overrides this.
|
|
2542
|
+
/**
|
|
2543
|
+
* Writes a locator's object-space position and direction (Carbon
|
|
2544
|
+
* EveSpaceObject2.cpp:3751-3772, rewritten upstream by 3d988b1d).
|
|
2545
|
+
*
|
|
2546
|
+
* A merged damage locator (mergedDamageIndex >= 0, indexing the merged
|
|
2547
|
+
* damage set) delegates to the owning child's animated pose - the locator's
|
|
2548
|
+
* boneIndex addresses the CHILD's skeleton, never this object's - then
|
|
2549
|
+
* lifts the result through the range's childToObject transform; Carbon
|
|
2550
|
+
* normalizes the direction HERE but not in EveGetLocatorPose, and that
|
|
2551
|
+
* asymmetry is preserved. Every other locator resolves against this
|
|
2552
|
+
* object's own animation updater.
|
|
2553
|
+
*
|
|
2554
|
+
* Overridable on purpose: Carbon's EveSwarm overrides this.
|
|
2554
2555
|
*/
|
|
2555
2556
|
GetLocatorInObjectSpace(outPosition, outDirection, locator, mergedDamageIndex = -1) {
|
|
2556
2557
|
if (mergedDamageIndex >= 0) {
|
|
@@ -2573,10 +2574,10 @@ new class extends _identity {
|
|
|
2573
2574
|
// Carbon GetClosestLocatorIndex: facing-gated closest search; 0 when the
|
|
2574
2575
|
// set is missing, -1 when no locator faces the position.
|
|
2575
2576
|
|
|
2576
|
-
/**
|
|
2577
|
-
* Returns the index of the nearest locator in a named set that faces the given
|
|
2578
|
-
* world position - 0 when the set is missing, -1 when no locator faces the
|
|
2579
|
-
* position.
|
|
2577
|
+
/**
|
|
2578
|
+
* Returns the index of the nearest locator in a named set that faces the given
|
|
2579
|
+
* world position - 0 when the set is missing, -1 when no locator faces the
|
|
2580
|
+
* position.
|
|
2580
2581
|
*/
|
|
2581
2582
|
#GetClosestLocatorIndex(position, locatorSetName) {
|
|
2582
2583
|
const locators = this.#GetLocatorsForSet(locatorSetName);
|
|
@@ -2603,9 +2604,9 @@ new class extends _identity {
|
|
|
2603
2604
|
return closestIndex;
|
|
2604
2605
|
}
|
|
2605
2606
|
|
|
2606
|
-
/**
|
|
2607
|
-
* Reports whether a locator faces a position, by testing that stepping the
|
|
2608
|
-
* object-space position back along the locator direction shortens it.
|
|
2607
|
+
/**
|
|
2608
|
+
* Reports whether a locator faces a position, by testing that stepping the
|
|
2609
|
+
* object-space position back along the locator direction shortens it.
|
|
2609
2610
|
*/
|
|
2610
2611
|
|
|
2611
2612
|
/** Rotates a direction by a matrix's rotation basis, ignoring its translation. */
|
|
@@ -2629,15 +2630,15 @@ new class extends _identity {
|
|
|
2629
2630
|
vec3.copy(this.generatedShapeEllipsoidRadius, outRadii);
|
|
2630
2631
|
}
|
|
2631
2632
|
|
|
2632
|
-
/**
|
|
2633
|
-
* Maps the negated dot product of a locator direction and an offset direction
|
|
2634
|
-
* onto Carbon's square-root fit score, the ranking used to pick a varied
|
|
2635
|
-
* damage locator.
|
|
2633
|
+
/**
|
|
2634
|
+
* Maps the negated dot product of a locator direction and an offset direction
|
|
2635
|
+
* onto Carbon's square-root fit score, the ranking used to pick a varied
|
|
2636
|
+
* damage locator.
|
|
2636
2637
|
*/
|
|
2637
2638
|
|
|
2638
|
-
/**
|
|
2639
|
-
* Intersects a ray with an axis-aligned ellipsoid in the ellipsoid's own space and writes the hit point into out.
|
|
2640
|
-
* @returns {number|null} The ray parameter at the hit, or null when the ray is degenerate or misses.
|
|
2639
|
+
/**
|
|
2640
|
+
* Intersects a ray with an axis-aligned ellipsoid in the ellipsoid's own space and writes the hit point into out.
|
|
2641
|
+
* @returns {number|null} The ray parameter at the hit, or null when the ray is degenerate or misses.
|
|
2641
2642
|
*/
|
|
2642
2643
|
|
|
2643
2644
|
/** Reports whether a point lies inside an axis-aligned ellipsoid. */
|
|
@@ -2645,42 +2646,42 @@ new class extends _identity {
|
|
|
2645
2646
|
// Mesh bone matrices come from the animation updater; only mat4-shaped
|
|
2646
2647
|
// entries are usable.
|
|
2647
2648
|
|
|
2648
|
-
/**
|
|
2649
|
-
* Unpacks one bone from the updater's palette into a mat4, or null when the
|
|
2650
|
-
* index is out of range.
|
|
2651
|
-
*
|
|
2652
|
-
* The palette is Carbon's storage - one contiguous Float4x3 buffer, stride
|
|
2653
|
-
* 12 - so a bone is expanded rather than borrowed. Carbon does the same at
|
|
2654
|
-
* every read site with TriMatrixCopyFrom3x4.
|
|
2649
|
+
/**
|
|
2650
|
+
* Unpacks one bone from the updater's palette into a mat4, or null when the
|
|
2651
|
+
* index is out of range.
|
|
2652
|
+
*
|
|
2653
|
+
* The palette is Carbon's storage - one contiguous Float4x3 buffer, stride
|
|
2654
|
+
* 12 - so a bone is expanded rather than borrowed. Carbon does the same at
|
|
2655
|
+
* every read site with TriMatrixCopyFrom3x4.
|
|
2655
2656
|
*/
|
|
2656
2657
|
|
|
2657
|
-
/**
|
|
2658
|
-
* Replays every stored controller variable onto a newly added controller or
|
|
2659
|
-
* effect child through the named setter, so late additions start with the same
|
|
2660
|
-
* state.
|
|
2658
|
+
/**
|
|
2659
|
+
* Replays every stored controller variable onto a newly added controller or
|
|
2660
|
+
* effect child through the named setter, so late additions start with the same
|
|
2661
|
+
* state.
|
|
2661
2662
|
*/
|
|
2662
2663
|
|
|
2663
|
-
/**
|
|
2664
|
-
* Samples a curve into out through whichever of Update or GetValueAt it
|
|
2665
|
-
* exposes, writing the fallback when there is no curve and copying back curves
|
|
2666
|
-
* that return a new array instead of filling out.
|
|
2664
|
+
/**
|
|
2665
|
+
* Samples a curve into out through whichever of Update or GetValueAt it
|
|
2666
|
+
* exposes, writing the fallback when there is no curve and copying back curves
|
|
2667
|
+
* that return a new array instead of filling out.
|
|
2667
2668
|
*/
|
|
2668
2669
|
|
|
2669
|
-
/**
|
|
2670
|
-
* Reads a numeric value from the update context, preferring a getter method
|
|
2671
|
-
* and falling back to the named properties, and yields 0 when nothing supplies
|
|
2672
|
-
* it.
|
|
2670
|
+
/**
|
|
2671
|
+
* Reads a numeric value from the update context, preferring a getter method
|
|
2672
|
+
* and falling back to the named properties, and yields 0 when nothing supplies
|
|
2673
|
+
* it.
|
|
2673
2674
|
*/
|
|
2674
2675
|
|
|
2675
|
-
/**
|
|
2676
|
-
* Returns a world sphere's on-screen diameter in pixels from the frustum's
|
|
2677
|
-
* exact query, or 0 when the frustum does not expose it.
|
|
2676
|
+
/**
|
|
2677
|
+
* Returns a world sphere's on-screen diameter in pixels from the frustum's
|
|
2678
|
+
* exact query, or 0 when the frustum does not expose it.
|
|
2678
2679
|
*/
|
|
2679
2680
|
|
|
2680
|
-
/**
|
|
2681
|
-
* Returns a world sphere's on-screen diameter in pixels, preferring the
|
|
2682
|
-
* frustum's cheaper estimated query and falling back to the exact one, or 0
|
|
2683
|
-
* when the frustum exposes neither.
|
|
2681
|
+
/**
|
|
2682
|
+
* Returns a world sphere's on-screen diameter in pixels, preferring the
|
|
2683
|
+
* frustum's cheaper estimated query and falling back to the exact one, or 0
|
|
2684
|
+
* when the frustum exposes neither.
|
|
2684
2685
|
*/
|
|
2685
2686
|
|
|
2686
2687
|
/** Writes a center and radius into a caller-owned sph3. */
|