@carbonenginejs/runtime 0.1.0-alpha.2 → 0.1.0-alpha.4
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/NOTICE +5 -4
- package/dist/audio/generated/audio/AudEventKey.js +2 -2
- package/dist/audio/generated/audio/AudEventKey.js.map +1 -1
- package/dist/audio/generated/audio/AudSettings.js +2 -2
- package/dist/audio/generated/audio/AudSettings.js.map +1 -1
- package/dist/audio/index.js +1 -1
- package/dist/audio/trinity/audio/AudEmitter.js +4 -5
- package/dist/audio/trinity/audio/AudEmitter.js.map +1 -1
- package/dist/audio/trinity/audio/AudEventCurve.js +14 -14
- package/dist/audio/trinity/audio/AudEventCurve.js.map +1 -1
- package/dist/audio/trinity/audio/AudGameObjResource.js +13 -25
- package/dist/audio/trinity/audio/AudGameObjResource.js.map +1 -1
- package/dist/audio/trinity/audio/AudManager.js +2 -2
- package/dist/audio/trinity/audio/AudManager.js.map +1 -1
- package/dist/audio/trinity/audio/AudParameter.js +7 -11
- package/dist/audio/trinity/audio/AudParameter.js.map +1 -1
- package/dist/audio/trinity/audio/AudUIPlayer.js +2 -2
- package/dist/audio/trinity/audio/AudUIPlayer.js.map +1 -1
- package/dist/audio/trinity/audio/AudioCurveSetDriver.js +2 -2
- package/dist/audio/trinity/audio/AudioCurveSetDriver.js.map +1 -1
- package/dist/audio/trinity/audio/StretchAudio.js +2 -2
- package/dist/audio/trinity/audio/StretchAudio.js.map +1 -1
- package/dist/audio/trinity/index.js +1 -1
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js +2 -2
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js.map +1 -1
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js +2 -2
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js.map +1 -1
- package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js +1 -37
- package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ColorCurve.js +2 -2
- package/dist/character/incarna/curves/Tr2ColorCurve.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ColorKey.js +2 -2
- package/dist/character/incarna/curves/Tr2ColorKey.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ScalarCurve.js +2 -2
- package/dist/character/incarna/curves/Tr2ScalarCurve.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ScalarKey.js +2 -2
- package/dist/character/incarna/curves/Tr2ScalarKey.js.map +1 -1
- package/dist/character/incarna/interior/Tr2InteriorCell.js +2 -2
- package/dist/character/incarna/interior/Tr2InteriorCell.js.map +1 -1
- package/dist/character/library/CjsCharacterLibrary.js +9 -16
- package/dist/character/library/CjsCharacterLibrary.js.map +1 -1
- package/dist/character/library/CjsCharacterLibraryDocuments.js +20 -4
- package/dist/character/library/CjsCharacterLibraryDocuments.js.map +1 -1
- package/dist/character/model/CjsCharacterRecord.js +2 -2
- package/dist/character/model/CjsCharacterRecord.js.map +1 -1
- package/dist/character/model/activity/CjsCharacterArchetype.js +2 -2
- package/dist/character/model/activity/CjsCharacterArchetype.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterColorLocation.js +2 -2
- package/dist/character/model/appearance/CjsCharacterColorLocation.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterColorName.js +2 -2
- package/dist/character/model/appearance/CjsCharacterColorName.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterColorSelection.js +2 -2
- package/dist/character/model/appearance/CjsCharacterColorSelection.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterSculptSelection.js +2 -2
- package/dist/character/model/appearance/CjsCharacterSculptSelection.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterSculptingLocation.js +2 -2
- package/dist/character/model/appearance/CjsCharacterSculptingLocation.js.map +1 -1
- package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js +2 -2
- package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterColorValue.js +2 -2
- package/dist/character/model/catalog/CjsCharacterColorValue.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterDefinition.js +2 -2
- package/dist/character/model/catalog/CjsCharacterDefinition.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterMaterialProfile.js +2 -2
- package/dist/character/model/catalog/CjsCharacterMaterialProfile.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterModifierReference.js +2 -2
- package/dist/character/model/catalog/CjsCharacterModifierReference.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartMetadata.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartMetadata.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartModelBundle.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartModelBundle.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartSource.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartSource.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartType.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartType.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterProjectionProfile.js +2 -2
- package/dist/character/model/catalog/CjsCharacterProjectionProfile.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterRecipeEntry.js +2 -2
- package/dist/character/model/catalog/CjsCharacterRecipeEntry.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterRecipeProfile.js +2 -2
- package/dist/character/model/catalog/CjsCharacterRecipeProfile.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterTextureMetadata.js +2 -2
- package/dist/character/model/catalog/CjsCharacterTextureMetadata.js.map +1 -1
- package/dist/character/model/composition/CjsCharacterModifierLocation.js +2 -2
- package/dist/character/model/composition/CjsCharacterModifierLocation.js.map +1 -1
- package/dist/character/model/composition/CjsCharacterModifierSelection.js +2 -2
- package/dist/character/model/composition/CjsCharacterModifierSelection.js.map +1 -1
- package/dist/character/model/creation/CjsCharacterPaperdoll.js +2 -2
- package/dist/character/model/creation/CjsCharacterPaperdoll.js.map +1 -1
- package/dist/character/model/demographics/CjsCharacterAncestry.js +2 -2
- package/dist/character/model/demographics/CjsCharacterAncestry.js.map +1 -1
- package/dist/character/model/demographics/CjsCharacterBloodline.js +2 -2
- package/dist/character/model/demographics/CjsCharacterBloodline.js.map +1 -1
- package/dist/character/model/demographics/CjsCharacterRace.js +2 -2
- package/dist/character/model/demographics/CjsCharacterRace.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceBinding.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceBinding.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceLayer.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceLayer.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearancePlan.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearancePlan.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceSelection.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceSelection.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterBindingAlpha.js +2 -2
- package/dist/character/model/planning/CjsCharacterBindingAlpha.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCompositionInput.js +2 -2
- package/dist/character/model/planning/CjsCharacterCompositionInput.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCompositionPass.js +2 -2
- package/dist/character/model/planning/CjsCharacterCompositionPass.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCompositionTarget.js +2 -2
- package/dist/character/model/planning/CjsCharacterCompositionTarget.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCoverage.js +2 -2
- package/dist/character/model/planning/CjsCharacterCoverage.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js +2 -2
- package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterOrigin.js +2 -2
- package/dist/character/model/planning/CjsCharacterOrigin.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterResolvedPart.js +2 -2
- package/dist/character/model/planning/CjsCharacterResolvedPart.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterTextureAsset.js +2 -2
- package/dist/character/model/planning/CjsCharacterTextureAsset.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterTextureChannel.js +2 -2
- package/dist/character/model/planning/CjsCharacterTextureChannel.js.map +1 -1
- package/dist/character/model/resources/CjsCharacterPortraitResource.js +2 -2
- package/dist/character/model/resources/CjsCharacterPortraitResource.js.map +1 -1
- package/dist/character/model/resources/CjsCharacterResource.js +2 -2
- package/dist/character/model/resources/CjsCharacterResource.js.map +1 -1
- package/dist/character/trinity/interior/Tr2IntSkinnedObject.js +6 -5
- package/dist/character/trinity/interior/Tr2IntSkinnedObject.js.map +1 -1
- package/dist/character/trinity/interior/Tr2InteriorLightSource.js +2 -2
- package/dist/character/trinity/interior/Tr2InteriorLightSource.js.map +1 -1
- package/dist/character/trinity/interior/Tr2InteriorPlaceable.js +4 -5
- package/dist/character/trinity/interior/Tr2InteriorPlaceable.js.map +1 -1
- package/dist/character/trinity/interior/Tr2InteriorScene.js +2 -2
- package/dist/character/trinity/interior/Tr2InteriorScene.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js +2 -2
- package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2GStateParameter.js +2 -2
- package/dist/character/trinity/trinityCore/Tr2GStateParameter.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2Model.js +2 -2
- package/dist/character/trinity/trinityCore/Tr2Model.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js +21 -10
- package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js +64 -57
- package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js.map +1 -1
- package/dist/character/trinity/wod/WodBakingScene.js +2 -2
- package/dist/character/trinity/wod/WodBakingScene.js.map +1 -1
- package/dist/core/CjsLibrary.js +32 -685
- package/dist/core/CjsLibrary.js.map +1 -1
- package/dist/core/index.js +1 -2
- package/dist/core/index.js.map +1 -1
- package/dist/global/blue/BeInfo.js +95 -0
- package/dist/global/blue/BeInfo.js.map +1 -0
- package/dist/global/blue/CcpDateTime.js +53 -0
- package/dist/global/blue/CcpDateTime.js.map +1 -0
- package/dist/global/blue/CcpTime.js +148 -0
- package/dist/global/blue/CcpTime.js.map +1 -0
- package/dist/global/blue/CjsBlueOS.js +301 -0
- package/dist/global/blue/CjsBlueOS.js.map +1 -0
- package/dist/global/blue/CjsBluePaths.js +97 -0
- package/dist/global/blue/CjsBluePaths.js.map +1 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js +29 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js.map +1 -0
- package/dist/global/blue/IBlueEvents.js +34 -0
- package/dist/global/blue/IBlueEvents.js.map +1 -0
- package/dist/global/blue/IBlueOS.js +132 -0
- package/dist/global/blue/IBlueOS.js.map +1 -0
- package/dist/global/blue/IBluePaths.js +72 -0
- package/dist/global/blue/IBluePaths.js.map +1 -0
- package/dist/global/blue/IBlueResMan.js +93 -0
- package/dist/global/blue/IBlueResMan.js.map +1 -0
- package/dist/global/blue/IBlueResManNotifications.js +51 -0
- package/dist/global/blue/IBlueResManNotifications.js.map +1 -0
- package/dist/global/blue/ICatchupTicks.js +25 -0
- package/dist/global/blue/ICatchupTicks.js.map +1 -0
- package/dist/global/blue/IInitialize.js +47 -0
- package/dist/global/blue/IInitialize.js.map +1 -0
- package/dist/global/blue/IListNotify.js +44 -0
- package/dist/global/blue/IListNotify.js.map +1 -0
- package/dist/global/blue/INotify.js +65 -0
- package/dist/global/blue/INotify.js.map +1 -0
- package/dist/global/blue/ISimTimeRebaseNotify.js +28 -0
- package/dist/global/blue/ISimTimeRebaseNotify.js.map +1 -0
- package/dist/global/blue/IVariableTicker.js +24 -0
- package/dist/global/blue/IVariableTicker.js.map +1 -0
- package/dist/global/blue/blue.js +61 -0
- package/dist/global/blue/blue.js.map +1 -0
- package/dist/global/blue/enums/CjsBlueEnumRegistry.js +173 -0
- package/dist/global/blue/enums/CjsBlueEnumRegistry.js.map +1 -0
- package/dist/global/blue/index.js +19 -0
- package/dist/global/blue/index.js.map +1 -1
- package/dist/global/blue/registerTrinityEnums.js +43 -0
- package/dist/global/blue/registerTrinityEnums.js.map +1 -0
- package/dist/global/compose/abstract.js +81 -0
- package/dist/global/compose/abstract.js.map +1 -0
- package/dist/global/compose/interface.js +131 -26
- package/dist/global/compose/interface.js.map +1 -1
- package/dist/global/compose/notify.js +10 -1
- package/dist/global/compose/notify.js.map +1 -1
- package/dist/global/compose/values.js +116 -53
- package/dist/global/compose/values.js.map +1 -1
- package/dist/global/consts/blue.js +73 -0
- package/dist/global/consts/blue.js.map +1 -0
- package/dist/global/consts/graphics/index.js +1 -1
- package/dist/global/consts/graphics/trinityEnums.js +19 -7
- package/dist/global/consts/graphics/trinityEnums.js.map +1 -1
- package/dist/global/consts/index.js +2 -1
- package/dist/global/consts/index.js.map +1 -1
- package/dist/global/consts/trinity.js.map +1 -1
- package/dist/global/contracts/ITr2BoundingBox.js +1 -34
- package/dist/global/contracts/ITr2BoundingBox.js.map +1 -1
- package/dist/global/contracts/ITr2RenderNode.js +1 -27
- package/dist/global/contracts/ITr2RenderNode.js.map +1 -1
- package/dist/global/contracts/index.js +2 -4
- package/dist/global/contracts/index.js.map +1 -1
- package/dist/global/index.js +23 -5
- package/dist/global/index.js.map +1 -1
- package/dist/global/model/CjsModel.js +82 -99
- package/dist/global/model/CjsModel.js.map +1 -1
- package/dist/global/model/CjsModelState.js +0 -15
- package/dist/global/model/CjsModelState.js.map +1 -1
- package/dist/global/model/document/CjsDocumentHydrator.js +5 -1
- package/dist/global/model/document/CjsDocumentHydrator.js.map +1 -1
- package/dist/global/model/index.js +1 -1
- package/dist/global/schema/CjsSchema.js +275 -69
- package/dist/global/schema/CjsSchema.js.map +1 -1
- package/dist/global/schema/hydration.js +10 -8
- package/dist/global/schema/hydration.js.map +1 -1
- package/dist/global/schema/index.js +4 -3
- package/dist/global/schema/index.js.map +1 -1
- package/dist/global/schema/types/carbonTypes.js +1 -1
- package/dist/global/schema/types/carbonTypes.js.map +1 -1
- package/dist/global/utils/bytes.js +2 -0
- package/dist/global/utils/bytes.js.map +1 -1
- package/dist/global/utils/path.js +30 -1
- package/dist/global/utils/path.js.map +1 -1
- package/dist/index.js +59 -24
- package/dist/index.js.map +1 -1
- package/dist/resource/CjsResMan.js +206 -43
- package/dist/resource/CjsResMan.js.map +1 -1
- package/dist/resource/CjsResource.js +4 -1
- package/dist/resource/CjsResource.js.map +1 -1
- package/dist/resource/format/CjsBlueReader.js +8 -2
- package/dist/resource/format/CjsBlueReader.js.map +1 -1
- package/dist/resource/format/CjsResourceProbe.js +15 -16
- package/dist/resource/format/CjsResourceProbe.js.map +1 -1
- package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js +132 -75
- package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js.map +1 -1
- package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js +26 -0
- package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js.map +1 -1
- package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js +2 -1
- package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js.map +1 -1
- package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js +4 -0
- package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js.map +1 -0
- package/dist/resource/formats/black/core/blackDefinitions.js +1 -1
- package/dist/resource/formats/black/core/blackDefinitions.js.map +1 -1
- package/dist/resource/formats/black/core/blackSchema.js +1 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js +50 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/resource/formats/dds/core/helpers.js +51 -5
- package/dist/resource/formats/dds/core/helpers.js.map +1 -1
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js +94 -0
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js.map +1 -0
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js +189 -0
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js.map +1 -0
- package/dist/resource/formats/fsd/64/readers/index.js +2 -0
- package/dist/resource/formats/fsd/64/readers/index.js.map +1 -1
- package/dist/resource/formats/hlsl/core/detailMapFamily.js +18 -92
- package/dist/resource/formats/hlsl/core/detailMapFamily.js.map +1 -1
- package/dist/resource/formats/hlsl/core/textureArrayFamilies.js +285 -0
- package/dist/resource/formats/hlsl/core/textureArrayFamilies.js.map +1 -0
- package/dist/resource/formats/pickle/CjsPickleFormat.js +34 -14
- package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js +60 -451
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js +407 -0
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js.map +1 -0
- package/dist/resource/formats/pickle/core/pickleCommon.js +671 -0
- package/dist/resource/formats/pickle/core/pickleCommon.js.map +1 -0
- package/dist/resource/formats/red/core/blackDefinitions.js +1 -1
- package/dist/resource/formats/webgl/core/effectPackage.js +85 -7
- package/dist/resource/formats/webgl/core/effectPackage.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +666 -565
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
- package/dist/resource/formats/webgl/core/glslBackendBodySet.js +4 -4
- package/dist/resource/formats/webgl/core/glslBackendBodySet.js.map +1 -1
- package/dist/resource/formats/webgl/core/helpers.js +2 -2
- package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
- package/dist/resource/geometry/TriGeometryRes.js +61 -7
- package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +11 -11
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
- package/dist/resource/index.js +11 -0
- package/dist/resource/index.js.map +1 -1
- package/dist/resource/shader/Tr2EffectRes.js +2 -3
- package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialArea.js +3 -3
- package/dist/resource/shader/Tr2MaterialArea.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialMesh.js +2 -2
- package/dist/resource/shader/Tr2MaterialMesh.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialRes.js +3 -3
- package/dist/resource/shader/Tr2MaterialRes.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js +2 -2
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js +2 -2
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +4 -4
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
- package/dist/resource/texture/SolidColorTextureConstructor.js +46 -0
- package/dist/resource/texture/SolidColorTextureConstructor.js.map +1 -0
- package/dist/resource/texture/Tr2ImageRes.js +3 -4
- package/dist/resource/texture/Tr2ImageRes.js.map +1 -1
- package/dist/resource/texture/Tr2TextureLodManager.js +0 -1
- package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePackChannel.js +4 -4
- package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipeline.js +3 -4
- package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +5 -5
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +3 -3
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +2 -2
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js +6 -6
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
- package/dist/resource/texture/TriTextureRes.js +65 -21
- package/dist/resource/texture/TriTextureRes.js.map +1 -1
- package/dist/resource/texture/index.js +2 -0
- package/dist/resource/texture/index.js.map +1 -1
- package/dist/resource/texture/solidColorTexture.js +111 -0
- package/dist/resource/texture/solidColorTexture.js.map +1 -0
- package/dist/resource/video/AudioMetadata.js +41 -0
- package/dist/resource/video/AudioMetadata.js.map +1 -0
- package/dist/resource/video/IAudioSink.js +51 -0
- package/dist/resource/video/IAudioSink.js.map +1 -0
- package/dist/resource/video/IEncodedFrame.js +52 -0
- package/dist/resource/video/IEncodedFrame.js.map +1 -0
- package/dist/resource/video/IVideoContainerParser.js +70 -0
- package/dist/resource/video/IVideoContainerParser.js.map +1 -0
- package/dist/resource/video/IVideoDecoder.js +36 -0
- package/dist/resource/video/IVideoDecoder.js.map +1 -0
- package/dist/resource/video/PcmFrame.js +33 -0
- package/dist/resource/video/PcmFrame.js.map +1 -0
- package/dist/resource/video/VideoFrame.js +45 -0
- package/dist/resource/video/VideoFrame.js.map +1 -0
- package/dist/resource/video/VideoMetadata.js +34 -0
- package/dist/resource/video/VideoMetadata.js.map +1 -0
- package/dist/resource/video/enums.js +30 -0
- package/dist/resource/video/enums.js.map +1 -0
- package/dist/sof/EveSOF.js +176 -176
- package/dist/sof/EveSOF.js.map +1 -1
- package/dist/sof/EveSOFDNA.js +5 -1
- package/dist/sof/EveSOFDNA.js.map +1 -1
- package/dist/sof/EveSOFData.js +2 -2
- package/dist/sof/EveSOFData.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFaction.js +2 -2
- package/dist/sof/faction/EveSOFDataFaction.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionChild.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionChild.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionColorSet.js +189 -3
- package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionHullArea.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionHullArea.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionPlaneSet.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionPlaneSet.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGeneric.js +234 -230
- package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericDamage.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericDamage.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericDecalShader.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericDecalShader.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericHullCategory.js +27 -23
- package/dist/sof/generic/EveSOFDataGenericHullCategory.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericHullDamage.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericHullDamage.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericShader.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericShader.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericString.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericString.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericSwarm.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericSwarm.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericVariant.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericVariant.js.map +1 -1
- package/dist/sof/generic/EveSOFDataVisibilityGroup.js +2 -2
- package/dist/sof/generic/EveSOFDataVisibilityGroup.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHull.js +56 -3
- package/dist/sof/hull/EveSOFDataHull.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullAnimation.js +2 -2
- package/dist/sof/hull/EveSOFDataHullAnimation.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullArea.js +58 -54
- package/dist/sof/hull/EveSOFDataHullArea.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBanner.js +109 -3
- package/dist/sof/hull/EveSOFDataHullBanner.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBannerLight.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBannerLight.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBannerSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBannerSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBannerSetItem.js +109 -3
- package/dist/sof/hull/EveSOFDataHullBannerSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBooster.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBooster.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBoosterItem.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBoosterItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullChild.js +55 -50
- package/dist/sof/hull/EveSOFDataHullChild.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullChildSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullChildSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullChildSetItem.js +51 -46
- package/dist/sof/hull/EveSOFDataHullChildSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullController.js +2 -2
- package/dist/sof/hull/EveSOFDataHullController.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullDecalSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullDecalSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullDecalSetItem.js +45 -3
- package/dist/sof/hull/EveSOFDataHullDecalSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullHazeSet.js +21 -3
- package/dist/sof/hull/EveSOFDataHullHazeSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullHazeSetItem.js +47 -43
- package/dist/sof/hull/EveSOFDataHullHazeSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLightSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSetItem.js +4 -2
- package/dist/sof/hull/EveSOFDataHullLightSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLocator.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLocator.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLocatorSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLocatorSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullPlaneSet.js +29 -3
- package/dist/sof/hull/EveSOFDataHullPlaneSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js +81 -75
- package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSoundEmitter.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSoundEmitter.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpotlightSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSpotlightSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js +45 -41
- package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js +70 -66
- package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSpriteSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js +45 -41
- package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js +2 -2
- package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js.map +1 -1
- package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js +2 -2
- package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionBucket.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionBucket.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js +35 -3
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js.map +1 -1
- package/dist/sof/layout/EveSOFDataLayout.js +2 -2
- package/dist/sof/layout/EveSOFDataLayout.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPattern.js +2 -2
- package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternLayer.js +60 -3
- package/dist/sof/pattern/EveSOFDataPatternLayer.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js +23 -3
- package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternPerHull.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternPerHull.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternTransform.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternTransform.js.map +1 -1
- package/dist/sof/race/EveSOFDataRace.js +46 -42
- package/dist/sof/race/EveSOFDataRace.js.map +1 -1
- package/dist/sof/race/EveSOFDataRaceDamage.js +2 -2
- package/dist/sof/race/EveSOFDataRaceDamage.js.map +1 -1
- package/dist/sof/shared/CjsExternalRef.js +2 -2
- package/dist/sof/shared/CjsExternalRef.js.map +1 -1
- package/dist/sof/shared/EveSOFDNADescriptor.js +2 -2
- package/dist/sof/shared/EveSOFDNADescriptor.js.map +1 -1
- package/dist/sof/shared/EveSOFDataArea.js +61 -3
- package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
- package/dist/sof/shared/EveSOFDataAreaMaterial.js +4 -2
- package/dist/sof/shared/EveSOFDataAreaMaterial.js.map +1 -1
- package/dist/sof/shared/EveSOFDataBlinkType.js +48 -8
- package/dist/sof/shared/EveSOFDataBlinkType.js.map +1 -1
- package/dist/sof/shared/EveSOFDataBooster.js +2 -2
- package/dist/sof/shared/EveSOFDataBooster.js.map +1 -1
- package/dist/sof/shared/EveSOFDataBoosterShape.js +2 -2
- package/dist/sof/shared/EveSOFDataBoosterShape.js.map +1 -1
- package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js +2 -2
- package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js.map +1 -1
- package/dist/sof/shared/EveSOFDataInstancedMesh.js +40 -3
- package/dist/sof/shared/EveSOFDataInstancedMesh.js.map +1 -1
- package/dist/sof/shared/EveSOFDataLogo.js +2 -2
- package/dist/sof/shared/EveSOFDataLogo.js.map +1 -1
- package/dist/sof/shared/EveSOFDataLogoSet.js +33 -3
- package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
- package/dist/sof/shared/EveSOFDataMaterial.js +2 -2
- package/dist/sof/shared/EveSOFDataMaterial.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameter.js +2 -2
- package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterBool.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterColor.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterFloat.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterInt.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterVector2.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterVector3.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -1
- package/dist/sof/shared/EveSOFDataPointLightAttachment.js +2 -2
- package/dist/sof/shared/EveSOFDataPointLightAttachment.js.map +1 -1
- package/dist/sof/shared/EveSOFDataSpotLightAttachment.js +2 -2
- package/dist/sof/shared/EveSOFDataSpotLightAttachment.js.map +1 -1
- package/dist/sof/shared/EveSOFDataTexture.js +2 -2
- package/dist/sof/shared/EveSOFDataTexture.js.map +1 -1
- package/dist/sof/shared/EveSOFDataTransform.js +2 -2
- package/dist/sof/shared/EveSOFDataTransform.js.map +1 -1
- package/dist/sof/shared/EveSofDataMeshInstance.js +2 -2
- package/dist/sof/shared/EveSofDataMeshInstance.js.map +1 -1
- package/dist/sof/sofDocumentValues.js +9 -0
- package/dist/sof/sofDocumentValues.js.map +1 -1
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +2 -25
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -1
- package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js +2 -72
- package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -1
- package/dist/trinity/controllers/ITr2ControllerOwner.js +1 -36
- package/dist/trinity/controllers/ITr2ControllerOwner.js.map +1 -1
- package/dist/trinity/controllers/Tr2Controller.js +4 -5
- package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
- package/dist/trinity/controllers/Tr2ControllerEventHandler.js +2 -2
- package/dist/trinity/controllers/Tr2ControllerEventHandler.js.map +1 -1
- package/dist/trinity/controllers/Tr2ControllerReference.js +9 -17
- package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/trinity/controllers/Tr2SyncToAnimation.js +4 -5
- package/dist/trinity/controllers/Tr2SyncToAnimation.js.map +1 -1
- package/dist/trinity/controllers/action/ITr2ControllerAction.js +1 -28
- package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js +9 -7
- package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js +11 -9
- package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js +9 -7
- package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionCallback.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionCallback.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionChildEffect.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionChildEffect.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionOverlay.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionOverlay.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js +13 -9
- package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPlaySound.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionPlaySound.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPython.js +6 -6
- package/dist/trinity/controllers/action/Tr2ActionPython.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js +8 -17
- package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetValue.js +11 -9
- package/dist/trinity/controllers/action/Tr2ActionSetValue.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/trinity/controllers/contracts.js +27 -19
- package/dist/trinity/controllers/contracts.js.map +1 -1
- package/dist/trinity/controllers/expression/Tr2BindingPoint.js +6 -15
- package/dist/trinity/controllers/expression/Tr2BindingPoint.js.map +1 -1
- package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js +2 -2
- package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js.map +1 -1
- package/dist/trinity/controllers/expression/expressionRuntime.js +136 -0
- package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -1
- package/dist/trinity/controllers/index.js +6 -6
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +1 -24
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
- package/dist/trinity/controllers/state/Tr2StateMachine.js +4 -6
- package/dist/trinity/controllers/state/Tr2StateMachine.js.map +1 -1
- package/dist/trinity/controllers/state/Tr2StateMachineState.js +6 -6
- package/dist/trinity/controllers/state/Tr2StateMachineState.js.map +1 -1
- package/dist/trinity/controllers/state/Tr2StateMachineTransition.js +12 -9
- package/dist/trinity/controllers/state/Tr2StateMachineTransition.js.map +1 -1
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js +5 -6
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
- package/dist/trinity/core/ITr2Renderable.js +1 -49
- package/dist/trinity/core/ITr2Renderable.js.map +1 -1
- package/dist/trinity/core/ITr2Updateable.js +1 -22
- package/dist/trinity/core/ITr2Updateable.js.map +1 -1
- package/dist/trinity/core/ITriReroutable.js +56 -0
- package/dist/trinity/core/ITriReroutable.js.map +1 -0
- package/dist/trinity/core/Tr2Denoiser.js +2 -2
- package/dist/trinity/core/Tr2Denoiser.js.map +1 -1
- package/dist/trinity/core/Tr2MaterialParameterStore.js +2 -2
- package/dist/trinity/core/Tr2MaterialParameterStore.js.map +1 -1
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js +2 -2
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -1
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +1 -1
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -1
- package/dist/trinity/core/Tr2Renderer.js +161 -4
- package/dist/trinity/core/Tr2Renderer.js.map +1 -1
- package/dist/trinity/core/Tr2ShadowMap.js +3 -3
- package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
- package/dist/trinity/core/Tr2StreamingBitmapSaver.js +2 -2
- package/dist/trinity/core/Tr2StreamingBitmapSaver.js.map +1 -1
- package/dist/trinity/core/Tr2Transform.js +4 -5
- package/dist/trinity/core/Tr2Transform.js.map +1 -1
- package/dist/trinity/core/animation/Tr2GrannyAnimation.js +2 -2
- package/dist/trinity/core/animation/Tr2GrannyAnimation.js.map +1 -1
- package/dist/trinity/core/animation/Tr2TextureAnimation.js +2 -2
- package/dist/trinity/core/animation/Tr2TextureAnimation.js.map +1 -1
- package/dist/trinity/core/animation/TriRigidOrientation.js +2 -2
- package/dist/trinity/core/animation/TriRigidOrientation.js.map +1 -1
- package/dist/trinity/core/animation/TriTorque.js +2 -2
- package/dist/trinity/core/animation/TriTorque.js.map +1 -1
- package/dist/trinity/core/batch/CjsBatchManager.js +15 -50
- package/dist/trinity/core/batch/CjsBatchManager.js.map +1 -1
- package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js +12 -14
- package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -1
- package/dist/trinity/core/binding/Tr2BindingVector3.js +2 -2
- package/dist/trinity/core/binding/Tr2BindingVector3.js.map +1 -1
- package/dist/trinity/core/binding/Tr2DynamicBinding.js +6 -20
- package/dist/trinity/core/binding/Tr2DynamicBinding.js.map +1 -1
- package/dist/trinity/core/binding/Tr2ExternalParameter.js +3 -6
- package/dist/trinity/core/binding/Tr2ExternalParameter.js.map +1 -1
- package/dist/trinity/core/binding/Tr2PyValueBinding.js +2 -2
- package/dist/trinity/core/binding/Tr2PyValueBinding.js.map +1 -1
- package/dist/trinity/core/binding/TriValueBinding.js +50 -24
- package/dist/trinity/core/binding/TriValueBinding.js.map +1 -1
- package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js +0 -6
- package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js.map +1 -1
- package/dist/trinity/core/context/CjsTrinityStepExecutor.js +7 -10
- package/dist/trinity/core/context/CjsTrinityStepExecutor.js.map +1 -1
- package/dist/trinity/core/context/Tr2RenderContext.js +74 -116
- package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
- package/dist/trinity/core/device/Tr2DepthStencil.js +2 -2
- package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
- package/dist/trinity/core/device/Tr2GpuBuffer.js +2 -2
- package/dist/trinity/core/device/Tr2GpuBuffer.js.map +1 -1
- package/dist/trinity/core/device/Tr2RenderTarget.js +2 -2
- package/dist/trinity/core/device/Tr2RenderTarget.js.map +1 -1
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js +2 -2
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -1
- package/dist/trinity/core/device/Tr2SwapChain.js +2 -2
- package/dist/trinity/core/device/Tr2SwapChain.js.map +1 -1
- package/dist/trinity/core/device/TriDevice.js +576 -37
- package/dist/trinity/core/device/TriDevice.js.map +1 -1
- package/dist/trinity/core/device/gTriDev.js +49 -0
- package/dist/trinity/core/device/gTriDev.js.map +1 -0
- package/dist/trinity/core/index.js +9 -5
- package/dist/trinity/core/index.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2KelvinColor.js +2 -2
- package/dist/trinity/core/lighting/Tr2KelvinColor.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js +7 -17
- package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2ShLightingManager.js +2 -2
- package/dist/trinity/core/lighting/Tr2ShLightingManager.js.map +1 -1
- package/dist/trinity/core/line/Tr2BoundingLineSet.js +2 -2
- package/dist/trinity/core/line/Tr2BoundingLineSet.js.map +1 -1
- package/dist/trinity/core/line/Tr2CurveLineSet.js +10 -7
- package/dist/trinity/core/line/Tr2CurveLineSet.js.map +1 -1
- package/dist/trinity/core/line/Tr2LineGraph.js +2 -2
- package/dist/trinity/core/line/Tr2LineGraph.js.map +1 -1
- package/dist/trinity/core/line/Tr2PrimitiveSet.js +4 -5
- package/dist/trinity/core/line/Tr2PrimitiveSet.js.map +1 -1
- package/dist/trinity/core/line/TriLineSet.js +2 -2
- package/dist/trinity/core/line/TriLineSet.js.map +1 -1
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js +1 -37
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -1
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js +1 -34
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +5 -6
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2InstancedMesh.js +2 -2
- package/dist/trinity/core/mesh/Tr2InstancedMesh.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2Mesh.js +288 -183
- package/dist/trinity/core/mesh/Tr2Mesh.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2MeshArea.js +32 -3
- package/dist/trinity/core/mesh/Tr2MeshArea.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2MeshBase.js +58 -8
- package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +141 -142
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js +2 -2
- package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js.map +1 -1
- package/dist/trinity/core/procedural/GradientTextureConstructor.js +62 -0
- package/dist/trinity/core/procedural/GradientTextureConstructor.js.map +1 -0
- package/dist/trinity/core/procedural/gradientTexture.js +196 -0
- package/dist/trinity/core/procedural/gradientTexture.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -1
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +5 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -1
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +2 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -1
- package/dist/trinity/core/tool/Tr2ManipulationTool.js +2 -2
- package/dist/trinity/core/tool/Tr2ManipulationTool.js.map +1 -1
- package/dist/trinity/core/tool/Tr2RotationTool.js +2 -2
- package/dist/trinity/core/tool/Tr2RotationTool.js.map +1 -1
- package/dist/trinity/core/tool/Tr2ScalingTool.js +2 -2
- package/dist/trinity/core/tool/Tr2ScalingTool.js.map +1 -1
- package/dist/trinity/core/tool/Tr2TranslationTool.js +2 -2
- package/dist/trinity/core/tool/Tr2TranslationTool.js.map +1 -1
- package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js +2 -2
- package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js.map +1 -1
- package/dist/trinity/core/variable/TriFloat.js +2 -2
- package/dist/trinity/core/variable/TriFloat.js.map +1 -1
- package/dist/trinity/core/variable/TriObserverLocal.js +2 -2
- package/dist/trinity/core/variable/TriObserverLocal.js.map +1 -1
- package/dist/trinity/core/variable/TriVariable.js +2 -2
- package/dist/trinity/core/variable/TriVariable.js.map +1 -1
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js +2 -0
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -1
- package/dist/trinity/core/view/TriProjection.js +2 -2
- package/dist/trinity/core/view/TriProjection.js.map +1 -1
- package/dist/trinity/core/view/TriRect.js +2 -2
- package/dist/trinity/core/view/TriRect.js.map +1 -1
- package/dist/trinity/core/view/TriView.js +2 -2
- package/dist/trinity/core/view/TriView.js.map +1 -1
- package/dist/trinity/core/view/TriViewport.js +2 -2
- package/dist/trinity/core/view/TriViewport.js.map +1 -1
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +3 -3
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
- package/dist/trinity/curves/Tr2CurveSetRange.js +2 -2
- package/dist/trinity/curves/Tr2CurveSetRange.js.map +1 -1
- package/dist/trinity/curves/TriCurveSet.js +2 -2
- package/dist/trinity/curves/TriCurveSet.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveColor.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveColor.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveColorMixer.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveColorMixer.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveCombiner.js +3 -3
- package/dist/trinity/curves/curve/Tr2CurveCombiner.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveConstant.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveConstant.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveQuaternion.js +3 -3
- package/dist/trinity/curves/curve/Tr2CurveQuaternion.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveScalar.js +3 -3
- package/dist/trinity/curves/curve/Tr2CurveScalar.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector2.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector2.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector3.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector3.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2DistanceTracker.js +5 -5
- package/dist/trinity/curves/curve/Tr2DistanceTracker.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2FollowCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2FollowCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2RotationAdapter.js +2 -2
- package/dist/trinity/curves/curve/Tr2RotationAdapter.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2ScalarFader.js +2 -2
- package/dist/trinity/curves/curve/Tr2ScalarFader.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2TranslationAdapter.js +2 -2
- package/dist/trinity/curves/curve/Tr2TranslationAdapter.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js +2 -2
- package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js.map +1 -1
- package/dist/trinity/curves/curve/TriColorSequencer.js +18 -18
- package/dist/trinity/curves/curve/TriColorSequencer.js.map +1 -1
- package/dist/trinity/curves/curve/TriEventCurve.js +51 -51
- package/dist/trinity/curves/curve/TriEventCurve.js.map +1 -1
- package/dist/trinity/curves/curve/TriPerlinCurve.js +2 -2
- package/dist/trinity/curves/curve/TriPerlinCurve.js.map +1 -1
- package/dist/trinity/curves/curve/TriVectorSequencer.js +36 -36
- package/dist/trinity/curves/curve/TriVectorSequencer.js.map +1 -1
- package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js +2 -2
- package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js.map +1 -1
- package/dist/trinity/curves/key/Tr2MatrixKey.js +2 -2
- package/dist/trinity/curves/key/Tr2MatrixKey.js.map +1 -1
- package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js +2 -2
- package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js.map +1 -1
- package/dist/trinity/curves/key/Tr2ScalarExprKey.js +28 -24
- package/dist/trinity/curves/key/Tr2ScalarExprKey.js.map +1 -1
- package/dist/trinity/curves/key/TriEventKey.js +2 -2
- package/dist/trinity/curves/key/TriEventKey.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyEventTrack.js +2 -2
- package/dist/trinity/curves/track/Tr2GrannyEventTrack.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyTrack.js +9 -4
- package/dist/trinity/curves/track/Tr2GrannyTrack.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js +2 -2
- package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js +2 -2
- package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js.map +1 -1
- package/dist/trinity/eve/AudioGameObject.js +6 -8
- package/dist/trinity/eve/AudioGameObject.js.map +1 -1
- package/dist/trinity/eve/EveCustomMask.js +2 -2
- package/dist/trinity/eve/EveCustomMask.js.map +1 -1
- package/dist/trinity/eve/EveDistanceField.js +6 -4
- package/dist/trinity/eve/EveDistanceField.js.map +1 -1
- package/dist/trinity/eve/EveImpactOverlay.js +2 -2
- package/dist/trinity/eve/EveImpactOverlay.js.map +1 -1
- package/dist/trinity/eve/EveThrottleable.js +2 -2
- package/dist/trinity/eve/EveThrottleable.js.map +1 -1
- package/dist/trinity/eve/EveTriggerVolume.js +4 -5
- package/dist/trinity/eve/EveTriggerVolume.js.map +1 -1
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js +1 -23
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
- package/dist/trinity/eve/IEveSpaceObject2.js +1 -24
- package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/IEveTransform.js +1 -22
- package/dist/trinity/eve/IEveTransform.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerItem.js +2 -2
- package/dist/trinity/eve/attachment/banner/EveBannerItem.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerLight.js +2 -2
- package/dist/trinity/eve/attachment/banner/EveBannerLight.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js +20 -3
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +127 -122
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +5 -5
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +4 -5
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveTrailsSet.js +4 -2
- package/dist/trinity/eve/attachment/booster/EveTrailsSet.js.map +1 -1
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +169 -155
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js +3 -3
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js +2 -2
- package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js +2 -2
- package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneLight.js +2 -2
- package/dist/trinity/eve/attachment/plane/EvePlaneLight.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +10 -4
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js +3 -2
- package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js +2 -2
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +3 -3
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js +2 -2
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js +2 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +4 -4
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js +2 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +5 -5
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js +2 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js +7 -4
- package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +177 -144
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js +2 -2
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/trinity/eve/camera/EveCamera.js +5 -11
- package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
- package/dist/trinity/eve/child/EveChildAudio.js +4 -5
- package/dist/trinity/eve/child/EveChildAudio.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBehaviorSystem.js +5 -6
- package/dist/trinity/eve/child/EveChildBehaviorSystem.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBoosterSet.js +6 -6
- package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBulletStorm.js +4 -5
- package/dist/trinity/eve/child/EveChildBulletStorm.js.map +1 -1
- package/dist/trinity/eve/child/EveChildCloud.js +5 -6
- package/dist/trinity/eve/child/EveChildCloud.js.map +1 -1
- package/dist/trinity/eve/child/EveChildCloud2.js +166 -166
- package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/trinity/eve/child/EveChildContainer.js +235 -169
- package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildEffectPropagator.js +9 -9
- package/dist/trinity/eve/child/EveChildEffectPropagator.js.map +1 -1
- package/dist/trinity/eve/child/EveChildExplosion.js +11 -7
- package/dist/trinity/eve/child/EveChildExplosion.js.map +1 -1
- package/dist/trinity/eve/child/EveChildFogVolume.js +2 -2
- package/dist/trinity/eve/child/EveChildFogVolume.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInheritProperties.js +2 -2
- package/dist/trinity/eve/child/EveChildInheritProperties.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstanceContainer.js +2 -2
- package/dist/trinity/eve/child/EveChildInstanceContainer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js +11 -7
- package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +2 -2
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +2 -2
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +2 -2
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js +4 -5
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -1
- package/dist/trinity/eve/child/EveChildLightingOverride.js +4 -5
- package/dist/trinity/eve/child/EveChildLightingOverride.js.map +1 -1
- package/dist/trinity/eve/child/EveChildLineSet.js +4 -5
- package/dist/trinity/eve/child/EveChildLineSet.js.map +1 -1
- package/dist/trinity/eve/child/EveChildLink.js +2 -2
- package/dist/trinity/eve/child/EveChildLink.js.map +1 -1
- package/dist/trinity/eve/child/EveChildMesh.js +315 -229
- package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +2 -2
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js +2 -2
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -1
- package/dist/trinity/eve/child/EveChildParticleSphere.js +4 -5
- package/dist/trinity/eve/child/EveChildParticleSphere.js.map +1 -1
- package/dist/trinity/eve/child/EveChildParticleSystem.js +36 -36
- package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPlug.js +60 -14
- package/dist/trinity/eve/child/EveChildPlug.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPostProcessVolume.js +2 -2
- package/dist/trinity/eve/child/EveChildPostProcessVolume.js.map +1 -1
- package/dist/trinity/eve/child/EveChildQuad.js +4 -5
- package/dist/trinity/eve/child/EveChildQuad.js.map +1 -1
- package/dist/trinity/eve/child/EveChildRef.js +2 -2
- package/dist/trinity/eve/child/EveChildRef.js.map +1 -1
- package/dist/trinity/eve/child/EveChildSocket.js +2 -2
- package/dist/trinity/eve/child/EveChildSocket.js.map +1 -1
- package/dist/trinity/eve/child/EveChildSpherePin.js +4 -4
- package/dist/trinity/eve/child/EveChildSpherePin.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTurret.js +4 -4
- package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
- package/dist/trinity/eve/child/EveCloudVolumeBall.js +2 -2
- package/dist/trinity/eve/child/EveCloudVolumeBall.js.map +1 -1
- package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js +6 -6
- package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
- package/dist/trinity/eve/child/EveSpaceObjectChild.js +2 -2
- package/dist/trinity/eve/child/EveSpaceObjectChild.js.map +1 -1
- package/dist/trinity/eve/child/IEveLightingOverride.js +1 -23
- package/dist/trinity/eve/child/IEveLightingOverride.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Allign.js +2 -2
- package/dist/trinity/eve/child/behaviors/Allign.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/ApproachGroup.js +2 -2
- package/dist/trinity/eve/child/behaviors/ApproachGroup.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/BackAndForth.js +2 -2
- package/dist/trinity/eve/child/behaviors/BackAndForth.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/BehaviorGroup.js +4 -4
- package/dist/trinity/eve/child/behaviors/BehaviorGroup.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js +2 -2
- package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js +2 -2
- package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/DroneAvoidance.js +2 -2
- package/dist/trinity/eve/child/behaviors/DroneAvoidance.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/FollowASpline.js +2 -2
- package/dist/trinity/eve/child/behaviors/FollowASpline.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Formation.js +2 -2
- package/dist/trinity/eve/child/behaviors/Formation.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/InclusionVolume.js +2 -2
- package/dist/trinity/eve/child/behaviors/InclusionVolume.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Inertia.js +2 -2
- package/dist/trinity/eve/child/behaviors/Inertia.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/PlayFX.js +2 -2
- package/dist/trinity/eve/child/behaviors/PlayFX.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/SeekTarget.js +2 -2
- package/dist/trinity/eve/child/behaviors/SeekTarget.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/SpawnDrones.js +2 -2
- package/dist/trinity/eve/child/behaviors/SpawnDrones.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Wander.js +2 -2
- package/dist/trinity/eve/child/behaviors/Wander.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js +2 -2
- package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js +2 -2
- package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -1
- package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js +8 -8
- package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
- package/dist/trinity/eve/child/lineSetPaths/EveCircle.js +8 -8
- package/dist/trinity/eve/child/lineSetPaths/EveCircle.js.map +1 -1
- package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js +2 -2
- package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
- package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js +5 -6
- package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +3 -3
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +3 -3
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js +2 -2
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +3 -3
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
- package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js +2 -2
- package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +2 -2
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +2 -2
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +2 -2
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +2 -2
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +4 -4
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +2 -2
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
- package/dist/trinity/eve/effect/lensflare/EveLensflare.js +4 -5
- package/dist/trinity/eve/effect/lensflare/EveLensflare.js.map +1 -1
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js +4 -5
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js.map +1 -1
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js +4 -4
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -1
- package/dist/trinity/eve/index.js +4 -4
- package/dist/trinity/eve/lights/Tr2FactionLight.js +5 -6
- package/dist/trinity/eve/lights/Tr2FactionLight.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2Light.js +37 -9
- package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2PointLight.js +2 -2
- package/dist/trinity/eve/lights/Tr2PointLight.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2SpotLight.js +2 -2
- package/dist/trinity/eve/lights/Tr2SpotLight.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2TexturedPointLight.js +29 -31
- package/dist/trinity/eve/lights/Tr2TexturedPointLight.js.map +1 -1
- package/dist/trinity/eve/locator/EveLocator2.js +2 -2
- package/dist/trinity/eve/locator/EveLocator2.js.map +1 -1
- package/dist/trinity/eve/locator/EveLocatorSets.js +13 -4
- package/dist/trinity/eve/locator/EveLocatorSets.js.map +1 -1
- package/dist/trinity/eve/locator/Locator.js +2 -2
- package/dist/trinity/eve/locator/Locator.js.map +1 -1
- package/dist/trinity/eve/overlays/EveDamageOverlay.js +2 -2
- package/dist/trinity/eve/overlays/EveDamageOverlay.js.map +1 -1
- package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js +2 -2
- package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +5 -6
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js +4 -5
- package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js +2 -2
- package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js +2 -2
- package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch.js +6 -6
- package/dist/trinity/eve/renderable/stretch/EveStretch.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js +10 -8
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js +4 -5
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceScene.js +2 -2
- package/dist/trinity/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js +2 -2
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
- package/dist/trinity/eve/scene/components/EveComponentRegistry.js +3 -3
- package/dist/trinity/eve/scene/components/EveComponentRegistry.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js +6 -7
- package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js +2 -2
- package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js +4 -8
- package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightMesh.js +7 -4
- package/dist/trinity/eve/smartLights/EveSmartLightMesh.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js +25 -15
- package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightQuad.js +4 -9
- package/dist/trinity/eve/smartLights/EveSmartLightQuad.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js +2 -2
- package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +2 -3
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +10 -18
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +4 -9
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterBool.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterBool.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterColor.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterColor.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterFloat.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterFloat.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterInt.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterInt.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterString.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterString.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterVector2.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterVector2.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterVector3.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterVector3.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterVector4.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterVector4.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveEffectRoot2.js +20 -17
- package/dist/trinity/eve/spaceObject/EveEffectRoot2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveMissile.js +2 -2
- package/dist/trinity/eve/spaceObject/EveMissile.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveMissileWarhead.js +2 -2
- package/dist/trinity/eve/spaceObject/EveMissileWarhead.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveMobile.js +2 -2
- package/dist/trinity/eve/spaceObject/EveMobile.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveRootTransform.js +2 -2
- package/dist/trinity/eve/spaceObject/EveRootTransform.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveShip2.js +2 -2
- package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +539 -432
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveTransform.js +7 -7
- package/dist/trinity/eve/spaceObject/EveTransform.js.map +1 -1
- package/dist/trinity/eve/spaceObject/IEveSpaceObject2ParentData.js +44 -52
- package/dist/trinity/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -1
- package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +2 -2
- package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -1
- package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +2 -2
- package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -1
- package/dist/trinity/eve/spaceObject/planet/EvePlanet.js +2 -2
- package/dist/trinity/eve/spaceObject/planet/EvePlanet.js.map +1 -1
- package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js +2 -2
- package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js +7 -8
- package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
- package/dist/trinity/eve/ui/EveConnector.js +2 -2
- package/dist/trinity/eve/ui/EveConnector.js.map +1 -1
- package/dist/trinity/eve/ui/EveEllipseDefinition.js +2 -2
- package/dist/trinity/eve/ui/EveEllipseDefinition.js.map +1 -1
- package/dist/trinity/eve/ui/EveEllipseSet.js +36 -6
- package/dist/trinity/eve/ui/EveEllipseSet.js.map +1 -1
- package/dist/trinity/eve/ui/EveLineContainer.js +4 -5
- package/dist/trinity/eve/ui/EveLineContainer.js.map +1 -1
- package/dist/trinity/eve/ui/EveProjectBracket.js +11 -3
- package/dist/trinity/eve/ui/EveProjectBracket.js.map +1 -1
- package/dist/trinity/eve/ui/EveSpherePin.js +6 -7
- package/dist/trinity/eve/ui/EveSpherePin.js.map +1 -1
- package/dist/trinity/eve/ui/EveSprite2dBracket.js +2 -2
- package/dist/trinity/eve/ui/EveSprite2dBracket.js.map +1 -1
- package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js +2 -2
- package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
- package/dist/trinity/eve/ui/EveTacticalOverlay.js +6 -24
- package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
- package/dist/trinity/eve/ui/EveUiObject.js +2 -2
- package/dist/trinity/eve/ui/EveUiObject.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +4 -5
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveLineSet.js +6 -7
- package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +2 -2
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -1
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +8 -9
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js +2 -2
- package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js +2 -2
- package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +4 -4
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +4 -4
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +2 -2
- package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
- package/dist/trinity/eve/volume/EveBoxVolume.js +44 -44
- package/dist/trinity/eve/volume/EveBoxVolume.js.map +1 -1
- package/dist/trinity/eve/volume/EveEllipsoidVolume.js +2 -2
- package/dist/trinity/eve/volume/EveEllipsoidVolume.js.map +1 -1
- package/dist/trinity/eve/volume/EveSphereVolume.js +5 -6
- package/dist/trinity/eve/volume/EveSphereVolume.js.map +1 -1
- package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js +2 -2
- package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
- package/dist/trinity/generated/eve/effect/EveOccluder.js +2 -2
- package/dist/trinity/generated/eve/effect/EveOccluder.js.map +1 -1
- package/dist/trinity/generated/eve/effect/EveStarfield.js +2 -2
- package/dist/trinity/generated/eve/effect/EveStarfield.js.map +1 -1
- package/dist/trinity/generated/font/Tr2FontManager.js +2 -2
- package/dist/trinity/generated/font/Tr2FontManager.js.map +1 -1
- package/dist/trinity/generated/font/Tr2FontMeasurer.js +2 -2
- package/dist/trinity/generated/font/Tr2FontMeasurer.js.map +1 -1
- package/dist/trinity/generated/font/Tr2SBitWrapper.js +2 -2
- package/dist/trinity/generated/font/Tr2SBitWrapper.js.map +1 -1
- package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js +2 -2
- package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
- package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js +2 -2
- package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2SSSSS.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2SSSSS.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
- package/dist/trinity/index.js +23 -16
- package/dist/trinity/index.js.map +1 -1
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js +1 -31
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -1
- package/dist/trinity/particle/Tr2ParticleSystem.js +51 -52
- package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js +2 -2
- package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js.map +1 -1
- package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js +13 -3
- package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js.map +1 -1
- package/dist/trinity/particle/constraint/Tr2SphereConstraint.js +2 -2
- package/dist/trinity/particle/constraint/Tr2SphereConstraint.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementData.js +22 -8
- package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js +13 -25
- package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js +38 -3
- package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +26 -27
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +4 -5
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js +2 -2
- package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +17 -18
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ForceSphereVolume.js +2 -2
- package/dist/trinity/particle/force/Tr2ForceSphereVolume.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleDirectForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleDirectForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleDragForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleDragForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleSpring.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleSpring.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleVortexForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleVortexForce.js.map +1 -1
- package/dist/trinity/particle/index.js +1 -1
- package/dist/trinity/postProcess/Tr2PostProcess.js +2 -2
- package/dist/trinity/postProcess/Tr2PostProcess.js.map +1 -1
- package/dist/trinity/postProcess/Tr2PostProcess2.js +2 -2
- package/dist/trinity/postProcess/Tr2PostProcess2.js.map +1 -1
- package/dist/trinity/postProcess/Tr2PostProcessAttributes.js +2 -2
- package/dist/trinity/postProcess/Tr2PostProcessAttributes.js.map +1 -1
- package/dist/trinity/postProcess/Tr2PostProcessRenderer.js +4 -4
- package/dist/trinity/postProcess/Tr2PostProcessRenderer.js.map +1 -1
- package/dist/trinity/postProcess/Tr2SSAO.js +4 -4
- package/dist/trinity/postProcess/Tr2SSAO.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js.map +1 -1
- package/dist/trinity/renderJob/Tr2RenderJobs.js +5 -5
- package/dist/trinity/renderJob/Tr2RenderJobs.js.map +1 -1
- package/dist/trinity/renderJob/TriRenderJob.js +4 -4
- package/dist/trinity/renderJob/TriRenderJob.js.map +1 -1
- package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js +4 -5
- package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js.map +1 -1
- package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js +4 -5
- package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js.map +1 -1
- package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js +2 -2
- package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js.map +1 -1
- package/dist/trinity/renderJob/step/TriRenderStep.js +2 -2
- package/dist/trinity/renderJob/step/TriRenderStep.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepClear.js +2 -2
- package/dist/trinity/renderJob/step/TriStepClear.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepClearUav.js +2 -2
- package/dist/trinity/renderJob/step/TriStepClearUav.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js +2 -2
- package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js +2 -2
- package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js +2 -2
- package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderAtlas.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderAtlas.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderDebug.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderDebug.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderEffect.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderEffect.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderFps.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderFps.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderObject.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderObject.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderPass.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderPass.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderScene.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderScene.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderTexture.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderTexture.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepResolve.js +2 -2
- package/dist/trinity/renderJob/step/TriStepResolve.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRunComputeShader.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRunComputeShader.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRunJob.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRunJob.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetProjection.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetProjection.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetRenderState.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetRenderState.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetVariableStore.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetVariableStore.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetView.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetView.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetViewport.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetViewport.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepTestBlocking.js +2 -2
- package/dist/trinity/renderJob/step/TriStepTestBlocking.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepToggleCubemap.js +2 -2
- package/dist/trinity/renderJob/step/TriStepToggleCubemap.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepUpdate.js +2 -2
- package/dist/trinity/renderJob/step/TriStepUpdate.js.map +1 -1
- package/dist/trinity/shader/Tr2DataTextureManager.js +9 -9
- package/dist/trinity/shader/Tr2DataTextureManager.js.map +1 -1
- package/dist/trinity/shader/Tr2Effect.js +370 -347
- package/dist/trinity/shader/Tr2Effect.js.map +1 -1
- package/dist/trinity/shader/Tr2Material.js +5 -5
- package/dist/trinity/shader/Tr2Material.js.map +1 -1
- package/dist/trinity/shader/Tr2ShaderBuffer.js +3 -4
- package/dist/trinity/shader/Tr2ShaderBuffer.js.map +1 -1
- package/dist/trinity/shader/index.js +3 -0
- package/dist/trinity/shader/index.js.map +1 -1
- package/dist/trinity/shader/parameter/CjsParameter.js +202 -185
- package/dist/trinity/shader/parameter/CjsParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/CjsVectorParameter.js +2 -2
- package/dist/trinity/shader/parameter/CjsVectorParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/ITriEffectParameter.js +56 -0
- package/dist/trinity/shader/parameter/ITriEffectParameter.js.map +1 -0
- package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js +31 -0
- package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js.map +1 -0
- package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js +43 -0
- package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js.map +1 -0
- package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js +17 -5
- package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2FloatParameter.js +46 -45
- package/dist/trinity/shader/parameter/Tr2FloatParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +14 -12
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js +33 -32
- package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js +11 -10
- package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js +55 -53
- package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js +49 -48
- package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js +52 -51
- package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js +56 -55
- package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriFloatArrayParameter.js +8 -8
- package/dist/trinity/shader/parameter/TriFloatArrayParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriTextureParameter.js +27 -22
- package/dist/trinity/shader/parameter/TriTextureParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriTransformParameter.js +27 -27
- package/dist/trinity/shader/parameter/TriTransformParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriVariableParameter.js +53 -54
- package/dist/trinity/shader/parameter/TriVariableParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriVector4.js +2 -2
- package/dist/trinity/shader/parameter/TriVector4.js.map +1 -1
- package/dist/trinity/shader/reflection/Tr2ShaderOption.js +4 -2
- package/dist/trinity/shader/reflection/Tr2ShaderOption.js.map +1 -1
- package/dist/trinity/shader/sampler/Tr2SamplerOverride.js +11 -2
- package/dist/trinity/shader/sampler/Tr2SamplerOverride.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js +8 -9
- package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dScene.js +4 -4
- package/dist/trinity/sprite2d/Tr2Sprite2dScene.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js +2 -2
- package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
- package/dist/trinity/ui/Tr2PresentParameters.js +2 -2
- package/dist/trinity/ui/Tr2PresentParameters.js.map +1 -1
- package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js +3 -3
- package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js.map +1 -1
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
- package/docs/core/README.md +38 -38
- package/docs/core/architecture.md +6 -5
- package/docs/core/reference/api.md +0 -10
- package/docs/core/reference/classes/README.md +57 -67
- package/docs/global/architecture.md +1 -3
- package/docs/global/blue-enums.md +115 -0
- package/docs/global/concepts/model-lifecycle.md +177 -182
- package/docs/global/core-types/README.md +394 -317
- package/docs/global/reference/api.md +2 -2
- package/docs/global/reference/classes/README.md +355 -205
- package/docs/global/reference/classes/dropped.md +40 -0
- package/docs/resource/architecture.md +152 -112
- package/docs/resource/concepts/resource-lifecycle.md +21 -15
- package/docs/resource/formats/geometry-interchange.md +50 -0
- package/docs/resource/formats/pickle.md +126 -100
- package/docs/resource/formats/provenance.md +15 -9
- package/docs/resource/formats/webgl/carbon-constant-layouts.md +98 -232
- package/docs/resource/formats/webgl/decl-io.md +241 -397
- package/docs/resource/formats/webgl/memory-structured.md +91 -128
- package/docs/resource/formats/webgl/texture-sample.md +306 -469
- package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +278 -530
- package/docs/resource/reference/classes/README.md +3 -1
- package/docs/resource/reference/classes/dropped.md +21 -1
- package/docs/resource/reference/classes/formats.md +33 -0
- package/docs/resource/reference/classes/texture.md +11 -1
- package/docs/resource/reference/classes/video.md +92 -0
- package/docs/resource/reference/events.md +10 -9
- package/docs/resource/reference/motherlode-cache.md +24 -11
- package/docs/resource/reference/queues.md +30 -1
- package/docs/trinity/README.md +5 -5
- package/docs/trinity/architecture.md +355 -344
- package/docs/trinity/concepts/eve-runtime-behavior.md +1 -1
- package/docs/trinity/reference/api.md +19 -7
- package/docs/trinity/reference/classes/dropped.md +2 -11
- package/docs/trinity/reference/classes/eve-runtime.md +1 -1
- package/docs/trinity/reference/classes/trinity-core.md +1672 -1622
- package/docs/trinity/reference/implementation-status.md +92 -92
- package/package.json +2 -1
- package/dist/core/CjsFrameDriver.js +0 -109
- package/dist/core/CjsFrameDriver.js.map +0 -1
- package/dist/global/contracts/CjsFrameLifecycle.js +0 -49
- package/dist/global/contracts/CjsFrameLifecycle.js.map +0 -1
- package/dist/global/contracts/CjsInstancedMeshManager.js +0 -58
- package/dist/global/contracts/CjsInstancedMeshManager.js.map +0 -1
- package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js +0 -4
- package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EveEffectRoot2.js","sources":["../../../../../src/trinity/eve/spaceObject/EveEffectRoot2.js"],"sourcesContent":["// Source: trinity/trinity/Eve/EveEffectRoot2.h\r\n// Source: trinity/trinity/Eve/EveEffectRoot2.cpp\r\n// Source: trinity/trinity/Eve/EveEffectRoot2_Blue.cpp\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { withIEveSpaceObject2 } from \"../IEveSpaceObject2.js\";\r\nimport { box3 } from \"#math/box3\";\r\nimport { quat } from \"#math/quat\";\r\nimport { sph3 } from \"#math/sph3\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { withITr2BoundingBox } from \"#contracts\";\r\nimport { EveEntity } from \"../EveEntity.js\";\r\nimport { EveChildUpdateParams } from \"../EveChildUpdateParams.js\";\r\nimport { EveLODHelper, Tr2Lod } from \"../EveLODHelper.js\";\r\nimport { RawData } from \"../../core/rawData/RawData.js\";\r\nimport { EveComponentType } from \"../EveComponentTypes.js\";\r\nimport {\r\n BELIST_EVENTMASK,\r\n BELIST_INSERTED,\r\n BELIST_LOADING,\r\n BELIST_REMOVED,\r\n BELIST_UNLOADSTART\r\n} from \"../../controllers/contracts.js\";\r\n\r\n\r\n/**\r\n * A standalone effect root: curve-driven placement plus the effect children,\r\n * lights, controllers, curve sets and observers that make up an effect not\r\n * attached to a hull.\r\n */\r\n@type.define({ className: \"EveEffectRoot2\", family: \"eve/spaceObject\" })\r\nexport class EveEffectRoot2 extends withIEveSpaceObject2(withITr2BoundingBox(EveEntity))\r\n{\r\n\r\n /** m_effectChildren (PIEveSpaceObjectChildVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"IEveSpaceObjectChild\")\r\n effectChildren = [];\r\n\r\n /** m_estimatedSize (float) [READ] */\r\n @io.read\r\n @type.float32\r\n estimatedSize = 0;\r\n\r\n /** m_lodLevel (Tr2Lod - enum Tr2Lod) [READ] */\r\n @io.read\r\n @type.int32\r\n @type.enum(\"Tr2Lod\")\r\n lodLevel = Tr2Lod.TR2_LOD_HIGH;\r\n\r\n /** m_mute (bool) [READWRITE, NOTIFY] */\r\n @io.notify\r\n @io.readwrite\r\n @type.boolean\r\n mute = false;\r\n\r\n /** m_display (bool) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n /** m_name (std::string) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n /** m_dynamicLODSelection (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n dynamicLOD = false;\r\n\r\n /** m_scaling (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n scaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_rotation (Quaternion) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.quat\r\n rotation = quat.create();\r\n\r\n /** m_translation (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n translation = vec3.create();\r\n\r\n /** m_effectDuration (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n duration = -1;\r\n\r\n /** m_secondaryLightingEmissiveColor (Color) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.color\r\n secondaryLightingEmissiveColor = vec4.create();\r\n\r\n /** m_curveSets (PTriCurveSetVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"TriCurveSet\")\r\n curveSets = [];\r\n\r\n /** m_lights (PTr2LightVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"Tr2Light\")\r\n lights = [];\r\n\r\n /** m_externalParameters (PTr2ExternalParameterVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"Tr2ExternalParameter\")\r\n externalParameters = [];\r\n\r\n /** m_controllers (PITr2ControllerVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"ITr2Controller\")\r\n controllers = [];\r\n\r\n /** m_observers (PTriObserverLocalVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"TriObserverLocal\")\r\n observers = [];\r\n\r\n /** m_ballRotation (ITriQuaternionFunctionPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"ITriQuaternionFunction\")\r\n rotationCurve = null;\r\n\r\n /** m_secondaryLightingSphereRadiusLocal (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n secondaryLightingSphereRadius = 0.5;\r\n\r\n /** m_boundingSphere.xyz, exposed by Carbon's MAPFLOATARRAYSIZE Blue mapping. */\r\n @impl.adapted\r\n @impl.reason(\"The schema scanner omits MAPFLOATARRAYSIZE; Carbon exposes the three persisted center components separately from radius.\")\r\n @io.persist\r\n @type.vec3\r\n boundingSphereCenter = vec3.create();\r\n\r\n /** m_boundingSphere.w (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n boundingSphereRadius = 0;\r\n\r\n /** m_modelTranslation (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"ITriVectorFunction\")\r\n modelTranslationCurve = null;\r\n\r\n /** m_modelRotation (ITriQuaternionFunctionPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"ITriQuaternionFunction\")\r\n modelRotationCurve = null;\r\n\r\n /** m_ballPosition (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"ITriVectorFunction\")\r\n translationCurve = null;\r\n\r\n #changeLOD = true;\r\n #controllerVariables = new Map();\r\n #lastUpdateMatrix = mat4.create();\r\n #localTransform = mat4.create();\r\n #secondaryLightingSphereRadiusWorld = 0.5;\r\n #worldTransform = mat4.create();\r\n\r\n /** Links authored controllers after graph hydration. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Blue root locking is represented by the hydrated JavaScript object identity.\")\r\n Initialize()\r\n {\r\n for (const controller of this.controllers)\r\n {\r\n if (!controller?.IsLinked()) controller?.Link(this);\r\n EveEffectRoot2.#ApplyControllerVariables(controller, this.#controllerVariables, \"SetVariable\");\r\n }\r\n return true;\r\n }\r\n\r\n /** Adds and initializes a controller through Carbon's list-notify behavior. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Plain JavaScript arrays have no Blue IList notifications, so insertion behavior is explicit.\")\r\n AddController(controller)\r\n {\r\n this.controllers.push(controller);\r\n if (!controller?.IsLinked()) controller?.Link(this);\r\n EveEffectRoot2.#ApplyControllerVariables(controller, this.#controllerVariables, \"SetVariable\");\r\n return controller;\r\n }\r\n\r\n /** Removes and unlinks a controller through Carbon's list-notify behavior. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Plain JavaScript arrays have no Blue IList notifications, so removal behavior is explicit.\")\r\n RemoveController(controller)\r\n {\r\n const index = this.controllers.indexOf(controller);\r\n if (index === -1) return false;\r\n this.controllers.splice(index, 1);\r\n controller?.Unlink();\r\n return true;\r\n }\r\n\r\n /** Evaluates root curves and updates children that require synchronous placement. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon task and lock ownership is omitted; child update parameters retain the source graph contract.\")\r\n UpdateSyncronous(updateContext = null)\r\n {\r\n const time = EveEffectRoot2.#GetContextValue(updateContext, \"GetTime\", \"currentTime\", \"time\");\r\n this.UpdateWorldTransform(time);\r\n mat4.fromRotationTranslationScale(this.#localTransform, this.rotation, this.translation, this.scaling);\r\n // Carbon (row-vector): m_localTransform * m_worldTransform - local first.\r\n mat4.multiply(this.#lastUpdateMatrix, this.#worldTransform, this.#localTransform);\r\n this.#secondaryLightingSphereRadiusWorld = this.secondaryLightingSphereRadius *\r\n (this.scaling[0] + this.scaling[1] + this.scaling[2]) / 3;\r\n\r\n for (const observer of this.observers) observer?.Update(this.#lastUpdateMatrix);\r\n if (this.effectChildren.length)\r\n {\r\n const params = this.#CreateChildUpdateParams();\r\n for (const child of this.effectChildren) child?.UpdateSyncronous(updateContext, params);\r\n }\r\n return true;\r\n }\r\n\r\n /** Advances controllers, root curve sets, and effect children. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Controller and child work is forwarded synchronously through the GPU-free graph instead of Carbon task groups.\")\r\n UpdateAsyncronous(updateContext = null)\r\n {\r\n let frequency = 0;\r\n if (this.display)\r\n {\r\n if (this.dynamicLOD)\r\n {\r\n const threshold = EveEffectRoot2.#GetContextValue(updateContext, \"GetHighDetailThreshold\", \"highDetailThreshold\");\r\n if (threshold > 0) frequency = Math.min(1, this.estimatedSize / threshold);\r\n }\r\n else\r\n {\r\n frequency = 0.5;\r\n }\r\n }\r\n\r\n this.UpdateControllers(frequency);\r\n const time = EveEffectRoot2.#GetContextValue(updateContext, \"GetTime\", \"currentTime\", \"time\");\r\n for (const curveSet of this.curveSets) curveSet.Update(time, time, updateContext.renderContext);\r\n if (this.effectChildren.length)\r\n {\r\n const params = this.#CreateChildUpdateParams();\r\n params.controllerUpdateFrequency = frequency;\r\n for (const child of this.effectChildren) child?.UpdateAsyncronous(updateContext, params);\r\n }\r\n return frequency;\r\n }\r\n\r\n /** Updates dynamic LOD and forwards visibility to the effect children. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Frustum and threshold state is supplied by the explicit update context rather than renderer globals.\")\r\n UpdateVisibility(updateContext = null, parentTransform = EveEffectRoot2.#identity)\r\n {\r\n if (!this.display) return false;\r\n if (this.dynamicLOD)\r\n {\r\n this.GetBoundingSphere(EveEffectRoot2.#localSphere);\r\n sph3.transformMat4(EveEffectRoot2.#worldSphere, EveEffectRoot2.#localSphere, this.#worldTransform);\r\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\r\n if (frustum?.IsSphereVisible(EveEffectRoot2.#worldSphere) !== false)\r\n {\r\n this.estimatedSize = Number(frustum?.GetPixelSizeAccross?.(EveEffectRoot2.#worldSphere) ?? this.estimatedSize) || 0;\r\n }\r\n\r\n const oldLod = this.lodLevel;\r\n this.lodLevel = Tr2Lod.TR2_LOD_LOW;\r\n const medium = EveEffectRoot2.#GetContextValue(updateContext, \"GetMediumDetailThreshold\", \"mediumDetailThreshold\");\r\n const low = EveEffectRoot2.#GetContextValue(updateContext, \"GetLowDetailThreshold\", \"lowDetailThreshold\");\r\n if (this.estimatedSize >= medium) this.lodLevel = Tr2Lod.TR2_LOD_HIGH;\r\n else if (this.estimatedSize >= low) this.lodLevel = Tr2Lod.TR2_LOD_MEDIUM;\r\n this.#changeLOD ||= oldLod !== this.lodLevel;\r\n }\r\n\r\n for (const child of this.effectChildren)\r\n {\r\n child?.UpdateVisibility(updateContext, parentTransform, this.lodLevel);\r\n }\r\n return true;\r\n }\r\n\r\n /** Collects child renderables after applying a pending LOD change. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n if (!this.display) return out;\r\n if (this.#changeLOD)\r\n {\r\n this.#changeLOD = false;\r\n for (const child of this.effectChildren) child?.ChangeLOD?.(this.lodLevel);\r\n }\r\n for (const child of this.effectChildren) child?.GetRenderables(out);\r\n return out;\r\n }\r\n\r\n /** Advances every controller at the selected detail frequency. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateControllers(updateFrequency)\r\n {\r\n for (const controller of this.controllers) controller?.Update(updateFrequency);\r\n }\r\n\r\n /** Returns the authored local bounding sphere. */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n vec4.set(\r\n out,\r\n this.boundingSphereCenter[0],\r\n this.boundingSphereCenter[1],\r\n this.boundingSphereCenter[2],\r\n this.boundingSphereRadius\r\n );\r\n return true;\r\n }\r\n\r\n /** Returns the authored bounding-sphere radius. */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphereRadius()\r\n {\r\n return this.boundingSphereRadius;\r\n }\r\n\r\n /** Evaluates the ball/model curves into the detached root transform. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Curve outputs use CarbonEngineJS's time-first, output-second convention.\")\r\n UpdateWorldTransform(time)\r\n {\r\n EveEffectRoot2.#UpdateCurve(this.translationCurve, time, EveEffectRoot2.#translation, EveEffectRoot2.#zero);\r\n EveEffectRoot2.#UpdateCurve(this.rotationCurve, time, EveEffectRoot2.#rotation, EveEffectRoot2.#identityRotation);\r\n if (this.modelRotationCurve)\r\n {\r\n EveEffectRoot2.#UpdateCurve(this.modelRotationCurve, time, EveEffectRoot2.#modelRotation, EveEffectRoot2.#identityRotation);\r\n // Carbon (row-vector): rotation = modelRotation * rotation - model first.\r\n quat.multiply(EveEffectRoot2.#rotation, EveEffectRoot2.#rotation, EveEffectRoot2.#modelRotation);\r\n }\r\n\r\n mat4.fromRotationTranslation(this.#worldTransform, EveEffectRoot2.#rotation, EveEffectRoot2.#translation);\r\n if (this.modelTranslationCurve)\r\n {\r\n EveEffectRoot2.#UpdateCurve(this.modelTranslationCurve, time, EveEffectRoot2.#modelTranslation, EveEffectRoot2.#zero);\r\n vec3.transformMat4(EveEffectRoot2.#modelTranslation, EveEffectRoot2.#modelTranslation, this.#worldTransform);\r\n this.#worldTransform[12] = EveEffectRoot2.#modelTranslation[0];\r\n this.#worldTransform[13] = EveEffectRoot2.#modelTranslation[1];\r\n this.#worldTransform[14] = EveEffectRoot2.#modelTranslation[2];\r\n }\r\n return this.#worldTransform;\r\n }\r\n\r\n /** Updates and returns the model-center world position. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses an out-last signature for output parameters.\")\r\n UpdateModelCenterWorldPosition(time, out = vec3.create())\r\n {\r\n this.UpdateWorldTransform(time);\r\n mat4.fromRotationTranslationScale(this.#localTransform, this.rotation, this.translation, this.scaling);\r\n // Carbon (row-vector): currentTransform * m_worldTransform - local first.\r\n mat4.multiply(EveEffectRoot2.#centerTransform, this.#worldTransform, this.#localTransform);\r\n return vec3.transformMat4(out, this.boundingSphereCenter, EveEffectRoot2.#centerTransform);\r\n }\r\n\r\n /** Returns the last model-center world position without advancing curves. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses an out-last signature for output parameters.\")\r\n GetModelCenterWorldPosition(out = vec3.create())\r\n {\r\n return vec3.transformMat4(out, this.boundingSphereCenter, this.#lastUpdateMatrix);\r\n }\r\n\r\n /** Writes the authored sphere's local axis-aligned bounds when its radius is valid. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalBoundingBox(min, max)\r\n {\r\n if (this.boundingSphereRadius <= 0) return false;\r\n const radius = this.boundingSphereRadius;\r\n vec3.set(\r\n min,\r\n this.boundingSphereCenter[0] - radius,\r\n this.boundingSphereCenter[1] - radius,\r\n this.boundingSphereCenter[2] - radius\r\n );\r\n vec3.set(\r\n max,\r\n this.boundingSphereCenter[0] + radius,\r\n this.boundingSphereCenter[1] + radius,\r\n this.boundingSphereCenter[2] + radius\r\n );\r\n return true;\r\n }\r\n\r\n /** Returns the last composed local-to-world transform. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS returns the caller-owned output matrix.\")\r\n GetLocalToWorldTransform(out = mat4.create())\r\n {\r\n return mat4.copy(out, this.#lastUpdateMatrix);\r\n }\r\n\r\n /** Writes the authored sphere's bounds transformed by the last composed root matrix. */\r\n @carbon.method\r\n @impl.implemented\r\n GetWorldBoundingBox(min, max)\r\n {\r\n if (!this.GetLocalBoundingBox(min, max)) return false;\r\n const bounds = EveEffectRoot2.#bounds;\r\n box3.fromBounds(bounds, min, max);\r\n box3.transformMat4(bounds, bounds, this.#lastUpdateMatrix);\r\n vec3.set(min, bounds[0], bounds[1], bounds[2]);\r\n vec3.set(max, bounds[3], bounds[4], bounds[5]);\r\n return true;\r\n }\r\n\r\n /** Reports whether the authored sphere can currently supply a bounding box. */\r\n @carbon.method\r\n @impl.implemented\r\n IsBoundingBoxReady()\r\n {\r\n return this.boundingSphereRadius > 0;\r\n }\r\n\r\n /** Protected-equivalent read of Carbon's m_worldTransform\r\n * (EveEffectRoot2.h:219, protected) - the detached root transform\r\n * UpdateWorldTransform evaluates, WITHOUT the local SRT composition that\r\n * GetLocalToWorldTransform's #lastUpdateMatrix carries. EvePlanet reads the\r\n * member directly for the z-only depth-prepass drive (EvePlanet.cpp:137). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's protected member access becomes a copying accessor; JS has no protected fields and the live buffer stays private.\")\r\n GetWorldTransform(out = mat4.create())\r\n {\r\n return mat4.copy(out, this.#worldTransform);\r\n }\r\n\r\n /** Registers every child with an injected quad renderer. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The quad renderer is an injected engine-owned capability.\")\r\n RegisterWithQuadRenderer(quadRenderer)\r\n {\r\n for (const child of this.effectChildren) child?.RegisterWithQuadRenderer?.(quadRenderer);\r\n }\r\n\r\n /** Adds visible child quads to an injected renderer. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The quad renderer is an injected engine-owned capability.\")\r\n AddQuadsToQuadRenderer(frustum, quadRenderer)\r\n {\r\n if (!this.display) return;\r\n for (const child of this.effectChildren) child?.AddQuadsToQuadRenderer?.(frustum, quadRenderer);\r\n }\r\n\r\n /** Carbon EveEffectRoot2::RegisterComponents (cpp:496-513): LightOwner when\r\n * lights are authored, then forwards the effect children. Gate m_display. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.display)\r\n {\r\n if (this.lights.length)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n for (const child of this.effectChildren)\r\n {\r\n child?.Register(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveEffectRoot2::UnRegisterComponents (cpp:515-528): forwards the\r\n * effect children only (own components were already removed by\r\n * EveEntity::UnRegister, EveEntity.cpp:90); no display re-check. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const child of this.effectChildren)\r\n {\r\n child?.UnRegister(registry);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Carbon OnListModified (EveEffectRoot2.cpp:88-193), branch for branch,\r\n * dispatched by list identity. Controllers: insert links and replays the\r\n * recorded controller variables, remove unlinks, unload-start unlinks\r\n * everything. Effect children: insert takes ownership, replays variables,\r\n * starts controllers and registers the entity when this root is in a\r\n * registry; remove unregisters and clears ownership; unload-start does\r\n * both for every child (Carbon's UNLOADSTART case falls through into an\r\n * empty default - no break, cpp:168 - which changes nothing and is not\r\n * reproduced as a bug, just noted). Lights: the FIRST insert registers\r\n * this root as a LightOwner component and the LAST removal (or\r\n * unload-start) unregisters it - the same size-edge rule\r\n * RegisterComponents applies at registration time.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n OnListModified(event, _key = 0, _key2 = 0, value = null, list = null)\r\n {\r\n const masked = event & BELIST_EVENTMASK;\r\n\r\n if (list === this.controllers && (event & BELIST_LOADING) === 0)\r\n {\r\n switch (masked)\r\n {\r\n case BELIST_INSERTED:\r\n if (value)\r\n {\r\n value.Link(this);\r\n EveEffectRoot2.#ApplyControllerVariables(value, this.#controllerVariables, \"SetVariable\");\r\n }\r\n break;\r\n case BELIST_REMOVED:\r\n if (value) value.Unlink();\r\n break;\r\n case BELIST_UNLOADSTART:\r\n for (const controller of this.controllers) controller?.Unlink();\r\n break;\r\n default:\r\n break;\r\n }\r\n return;\r\n }\r\n\r\n if (list === this.effectChildren && (event & BELIST_LOADING) === 0)\r\n {\r\n const registry = this.IsInRegistry() ? this.GetComponentRegistry() : null;\r\n switch (masked)\r\n {\r\n case BELIST_INSERTED:\r\n if (value)\r\n {\r\n value.SetOwner(this);\r\n EveEffectRoot2.#ApplyControllerVariables(value, this.#controllerVariables, \"SetControllerVariable\");\r\n value.StartControllers();\r\n if (registry) value.Register(registry);\r\n }\r\n break;\r\n case BELIST_REMOVED:\r\n if (value)\r\n {\r\n if (registry) value.UnRegister(registry);\r\n value.SetOwner(null);\r\n }\r\n break;\r\n case BELIST_UNLOADSTART:\r\n for (const child of this.effectChildren)\r\n {\r\n if (registry) child?.UnRegister(registry);\r\n child?.SetOwner(null);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n return;\r\n }\r\n\r\n if (list === this.lights)\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (!registry) return;\r\n if (masked === BELIST_UNLOADSTART || (masked === BELIST_REMOVED && this.lights.length === 0))\r\n {\r\n registry.UnRegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n else if (masked === BELIST_INSERTED && this.lights.length === 1)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n }\r\n }\r\n\r\n /** Adds authored lights using the effect's composed placement and average scale. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The light manager is an injected engine-owned capability.\")\r\n GetLights(lightManager)\r\n {\r\n if (!this.display) return;\r\n const transform = this.#lastUpdateMatrix;\r\n const scale = (\r\n Math.hypot(transform[0], transform[1], transform[2]) +\r\n Math.hypot(transform[4], transform[5], transform[6]) +\r\n Math.hypot(transform[8], transform[9], transform[10])\r\n ) / 3;\r\n for (const light of this.lights) light?.AddLight(lightManager, transform, scale);\r\n }\r\n\r\n /** Adds an authored light. */\r\n @carbon.method\r\n @impl.implemented\r\n AddLight(light)\r\n {\r\n this.lights.push(light);\r\n return light;\r\n }\r\n\r\n /** Removes all authored lights. */\r\n @carbon.method\r\n @impl.implemented\r\n ClearLights()\r\n {\r\n this.lights.length = 0;\r\n }\r\n\r\n /**\r\n * Carbon EveEffectRoot2::GetPerObjectStructs (cpp:463-478): zeroes both\r\n * records, then sets activation strength and bounding-sphere radius to 1. An\r\n * effect root carries no hull values of its own, so a child parented to one\r\n * inherits neutral data rather than nothing.\r\n * @returns {{vs: RawData, ps: RawData}}\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetPerObjectStructs(vsData = RawData.create(\"EveSpaceObjectVSData\"), psData = RawData.create(\"EveSpaceObjectPSData\"))\r\n {\r\n vsData.Zero();\r\n psData.Zero();\r\n vsData.Set(\"shipData\", EveEffectRoot2.#neutralShipData);\r\n psData.Set(\"shipData\", EveEffectRoot2.#neutralShipData);\r\n\r\n return { vs: vsData, ps: psData };\r\n }\r\n\r\n /** Registers this root as a secondary light source with an injected manager. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The SH lighting manager is injected; Trinity owns only the authored source values.\")\r\n RegisterSecondaryLightSource(manager)\r\n {\r\n return manager?.RegisterSecondaryLightSource?.(\r\n this.#worldTransform.subarray(12, 15),\r\n this.#secondaryLightingSphereRadiusWorld,\r\n EveEffectRoot2.#noAlbedo,\r\n this.secondaryLightingEmissiveColor\r\n );\r\n }\r\n\r\n /** Unregisters this root from an injected secondary-light manager. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The SH lighting manager is injected; Trinity owns only the authored source values.\")\r\n UnregisterSecondaryLightSource(manager)\r\n {\r\n return manager?.UnregisterSecondaryLightSource?.(this.#worldTransform.subarray(12, 15));\r\n }\r\n\r\n /** Plays root and child-owned curve sets. */\r\n @carbon.method\r\n @impl.implemented\r\n Start()\r\n {\r\n for (const curveSet of this.curveSets) curveSet?.Play();\r\n for (const child of this.effectChildren)\r\n {\r\n if (child?.PlayAllCurveSets) child.PlayAllCurveSets();\r\n else child?.PlayCurveSets?.();\r\n }\r\n }\r\n\r\n /** Stops root and child-owned curve sets. */\r\n @carbon.method\r\n @impl.implemented\r\n Stop()\r\n {\r\n for (const curveSet of this.curveSets) curveSet?.Stop();\r\n for (const child of this.effectChildren)\r\n {\r\n if (child?.StopAllCurveSets) child.StopAllCurveSets();\r\n else child?.StopCurveSets?.();\r\n }\r\n }\r\n\r\n /** Effect roots have no damage locators. */\r\n @carbon.method\r\n @impl.noop\r\n GetDamageLocatorCount()\r\n {\r\n return 0;\r\n }\r\n\r\n /** Returns the detached root translation as the sole target point. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses output parameters last and returns the targetable validity flag.\")\r\n GetDamageLocatorPosition(_index, _inWorldSpace, out = vec3.create())\r\n {\r\n vec3.set(out, this.#worldTransform[12], this.#worldTransform[13], this.#worldTransform[14]);\r\n return true;\r\n }\r\n\r\n /** Returns Carbon's constant +Y target direction. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses output parameters last and returns the targetable validity flag.\")\r\n GetDamageLocatorDirection(_index, _inWorldSpace, out = vec3.create())\r\n {\r\n vec3.set(out, 0, 1, 0);\r\n return true;\r\n }\r\n\r\n /** Tests whether a projectile has reached the root target point. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses an out-last signature for output parameters.\")\r\n GetImpactPosition(locator, _posPrev, posNow, epsilon, out = vec3.create())\r\n {\r\n this.GetDamageLocatorPosition(locator, true, out);\r\n return vec3.squaredDistance(posNow, out) < Number(epsilon);\r\n }\r\n\r\n /** Effect roots never use shield impact geometry. */\r\n @carbon.method\r\n @impl.noop\r\n HasImpactConfigurationShield()\r\n {\r\n return false;\r\n }\r\n\r\n /** Effect roots use their only target point. */\r\n @carbon.method\r\n @impl.noop\r\n GetClosestDamageLocatorIndex(_position)\r\n {\r\n return 0;\r\n }\r\n\r\n /** Effect roots use their only target point. */\r\n @carbon.method\r\n @impl.noop\r\n GetGoodDamageLocatorIndex(_position)\r\n {\r\n return 0;\r\n }\r\n\r\n /** Returns the authored target radius. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRadius()\r\n {\r\n return this.boundingSphereRadius;\r\n }\r\n\r\n /** Effect roots do not create attached impact overlays. */\r\n @carbon.method\r\n @impl.noop\r\n CreateImpact(_damageLocatorIndex, _direction, _lifeTime, _size)\r\n {\r\n return -1;\r\n }\r\n\r\n /** Effect roots do not update attached impact overlays. */\r\n @carbon.method\r\n @impl.noop\r\n UpdateImpact(_out, _direction, _impactIndex)\r\n {\r\n return false;\r\n }\r\n\r\n /** Returns the detached root world position. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS returns the caller-owned output vector.\")\r\n GetWorldPosition(out = vec3.create())\r\n {\r\n return vec3.set(out, this.#worldTransform[12], this.#worldTransform[13], this.#worldTransform[14]);\r\n }\r\n\r\n /** Returns the authored local rotation composed with the detached root rotation. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS returns the caller-owned output quaternion.\")\r\n GetWorldRotation(out = quat.create())\r\n {\r\n mat4.getRotation(EveEffectRoot2.#worldRotation, this.#worldTransform);\r\n // Carbon (row-vector): m_rotation * RotationQuaternion(world) - local first.\r\n quat.multiply(out, EveEffectRoot2.#worldRotation, this.rotation);\r\n return quat.normalize(out, out);\r\n }\r\n\r\n /** Computes a miss point just outside the root's spherical silhouette. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMissPosition(hit, source, out = vec3.create())\r\n {\r\n this.GetDamageLocatorPosition(-1, true, out);\r\n if (!hit || !source) return out;\r\n vec3.subtract(EveEffectRoot2.#missOffset, hit, out);\r\n vec3.subtract(EveEffectRoot2.#missDirection, hit, source);\r\n const directionLength = vec3.length(EveEffectRoot2.#missDirection);\r\n if (directionLength) vec3.scale(EveEffectRoot2.#missDirection, EveEffectRoot2.#missDirection, 1 / directionLength);\r\n vec3.scaleAndAdd(\r\n EveEffectRoot2.#missOffset,\r\n EveEffectRoot2.#missOffset,\r\n EveEffectRoot2.#missDirection,\r\n -vec3.dot(EveEffectRoot2.#missDirection, EveEffectRoot2.#missOffset)\r\n );\r\n const offsetLength = vec3.length(EveEffectRoot2.#missOffset);\r\n if (offsetLength) vec3.scale(EveEffectRoot2.#missOffset, EveEffectRoot2.#missOffset, 1 / offsetLength);\r\n return vec3.scaleAndAdd(out, out, EveEffectRoot2.#missOffset, this.boundingSphereRadius * 1.125);\r\n }\r\n\r\n /** Returns the owned effect-child list. */\r\n @carbon.method\r\n @impl.implemented\r\n GetChildren()\r\n {\r\n return this.effectChildren;\r\n }\r\n\r\n /** Decomposes a matrix into the authored local SRT fields. */\r\n @carbon.method\r\n @impl.implemented\r\n SetTransform(transform)\r\n {\r\n mat4.getScaling(this.scaling, transform);\r\n mat4.getRotation(this.rotation, transform);\r\n mat4.getTranslation(this.translation, transform);\r\n }\r\n\r\n /** Plays matching root and child curve sets. */\r\n @carbon.method\r\n @impl.implemented\r\n PlayCurveSet(name, rangeName = \"\")\r\n {\r\n const target = String(name ?? \"\");\r\n for (const curveSet of this.curveSets)\r\n {\r\n if ((curveSet?.GetName() ?? curveSet?.name) !== target) continue;\r\n if (rangeName) curveSet?.PlayTimeRange?.(rangeName);\r\n else\r\n {\r\n curveSet?.ResetTimeRange();\r\n curveSet?.Play();\r\n }\r\n }\r\n for (const child of this.effectChildren) child?.PlayCurveSet?.(target, rangeName);\r\n }\r\n\r\n /** Stops matching root and child curve sets. */\r\n @carbon.method\r\n @impl.implemented\r\n StopCurveSet(name)\r\n {\r\n const target = String(name ?? \"\");\r\n for (const curveSet of this.curveSets)\r\n {\r\n if ((curveSet?.GetName() ?? curveSet?.name) === target) curveSet?.Stop();\r\n }\r\n for (const child of this.effectChildren) child?.StopCurveSet?.(target);\r\n }\r\n\r\n /** Samples matching root and child curve sets at an explicit time. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateCurveSet(name, time, renderContext = null)\r\n {\r\n const target = String(name ?? \"\");\r\n for (const curveSet of this.curveSets)\r\n {\r\n if (curveSet.GetName() === target) curveSet.Update(time, time, renderContext);\r\n }\r\n for (const child of this.effectChildren) child?.UpdateCurveSet?.(target, time, renderContext);\r\n }\r\n\r\n /** Returns the maximum duration of matching root and child curve sets. */\r\n @carbon.method\r\n @impl.implemented\r\n GetCurveSetDuration(name)\r\n {\r\n const target = String(name ?? \"\");\r\n let duration = 0;\r\n for (const curveSet of this.curveSets)\r\n {\r\n if ((curveSet?.GetName() ?? curveSet?.name) === target)\r\n {\r\n duration = Math.max(duration, Number(curveSet?.GetMaxCurveDuration?.() ?? 0));\r\n }\r\n }\r\n for (const child of this.effectChildren)\r\n {\r\n duration = Math.max(duration, Number(child?.GetCurveSetDuration?.(target) ?? 0));\r\n }\r\n return duration;\r\n }\r\n\r\n /** Returns the maximum named range duration in matching root and child sets. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRangeDuration(name, rangeName)\r\n {\r\n const target = String(name ?? \"\");\r\n let duration = 0;\r\n for (const curveSet of this.curveSets)\r\n {\r\n if ((curveSet?.GetName() ?? curveSet?.name) === target)\r\n {\r\n duration = Math.max(duration, Number(curveSet?.GetRangeDuration(rangeName) ?? 0));\r\n }\r\n }\r\n for (const child of this.effectChildren)\r\n {\r\n duration = Math.max(duration, Number(child?.GetRangeDuration?.(target, rangeName) ?? 0));\r\n }\r\n return duration;\r\n }\r\n\r\n /** Collects the Carbon debug-option names and child options. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The debug renderer/options collection is an injected engine-owned capability.\")\r\n GetDebugOptions(options = new Set())\r\n {\r\n options.add?.(\"Bounding Sphere\");\r\n options.add?.(\"Lights\");\r\n for (const observer of this.observers) observer?.GetDebugOptions?.(options);\r\n for (const child of this.effectChildren) child?.GetDebugOptions?.(options);\r\n return options;\r\n }\r\n\r\n /** Forwards root debug geometry to an injected debug renderer. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The debug renderer is an injected engine-owned capability.\")\r\n RenderDebugInfo(renderer)\r\n {\r\n if (renderer?.HasOption?.(this, \"Bounding Sphere\"))\r\n {\r\n renderer?.DrawSphere?.(this, this.boundingSphereCenter, this.boundingSphereRadius, 8, \"wireframe\", 0xffff00ff);\r\n }\r\n for (const child of this.effectChildren) child?.RenderDebugInfo?.(renderer);\r\n if (renderer?.HasOption?.(this, \"Lights\"))\r\n {\r\n for (const light of this.lights) light?.RenderDebugInfo?.(renderer, this.#worldTransform);\r\n }\r\n for (const observer of this.observers) observer?.RenderDebugInfo?.(renderer);\r\n }\r\n\r\n /** Stores and propagates a controller variable to current and future members. */\r\n @carbon.method\r\n @impl.implemented\r\n SetControllerVariable(name, value)\r\n {\r\n const key = String(name ?? \"\");\r\n const next = Number(value);\r\n this.#controllerVariables.set(key, next);\r\n for (const controller of this.controllers) controller?.SetVariable(key, next);\r\n for (const child of this.effectChildren) child?.SetControllerVariable(key, next);\r\n }\r\n\r\n /** Propagates an event to controllers and effect children. */\r\n @carbon.method\r\n @impl.implemented\r\n HandleControllerEvent(name)\r\n {\r\n const eventName = String(name ?? \"\");\r\n for (const controller of this.controllers) controller?.HandleEvent(eventName);\r\n for (const child of this.effectChildren) child?.HandleControllerEvent(eventName);\r\n }\r\n\r\n /** Starts controllers on the root and its effect children. */\r\n @carbon.method\r\n @impl.implemented\r\n StartControllers()\r\n {\r\n for (const controller of this.controllers) controller?.Start();\r\n for (const child of this.effectChildren) child?.StartControllers();\r\n }\r\n\r\n /** Finds a named direct effect child. */\r\n @carbon.method\r\n @impl.implemented\r\n GetEffectChildByName(name)\r\n {\r\n const target = String(name ?? \"\");\r\n for (const child of this.effectChildren)\r\n {\r\n if ((child?.GetName?.() ?? child?.name ?? \"\") === target) return child;\r\n }\r\n return null;\r\n }\r\n\r\n /** Adds and initializes an effect child through Carbon's list-notify behavior. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Plain JavaScript arrays have no Blue IList notifications, so insertion behavior is explicit.\")\r\n AddToEffectChildrenList(child)\r\n {\r\n this.effectChildren.push(child);\r\n EveEffectRoot2.#ApplyControllerVariables(child, this.#controllerVariables, \"SetControllerVariable\");\r\n child?.StartControllers();\r\n return child;\r\n }\r\n\r\n /** Removes an effect child. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Plain JavaScript arrays have no Blue IList notifications, so removal behavior is explicit.\")\r\n RemoveFromEffectChildrenList(child)\r\n {\r\n const index = this.effectChildren.indexOf(child);\r\n if (index === -1) return false;\r\n this.effectChildren.splice(index, 1);\r\n return true;\r\n }\r\n\r\n /** Applies a shader option to every effect child. */\r\n @carbon.method\r\n @impl.implemented\r\n SetShaderOption(name, value)\r\n {\r\n for (const child of this.effectChildren) child?.SetShaderOption?.(name, value);\r\n }\r\n\r\n /** Finds a named observer or child-owned sound emitter. */\r\n @carbon.method\r\n @impl.implemented\r\n FindSoundEmitter(name)\r\n {\r\n const target = String(name ?? \"\");\r\n for (const observer of this.observers)\r\n {\r\n if ((observer?.name ?? \"\") === target)\r\n {\r\n return typeof observer.GetObserver === \"function\" ? observer.GetObserver() : observer.observer ?? null;\r\n }\r\n }\r\n for (const child of this.effectChildren)\r\n {\r\n const emitter = child?.FindSoundEmitter?.(target);\r\n if (emitter) return emitter;\r\n }\r\n return null;\r\n }\r\n\r\n /** Adds a placement observer. */\r\n @carbon.method\r\n @impl.implemented\r\n AddObserver(observer)\r\n {\r\n this.observers.push(observer);\r\n return observer;\r\n }\r\n\r\n /** Applies the mute state to effect children and placement observers. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The explicit setter replaces Carbon's Blue field-notify callback.\")\r\n SetMute(isMute)\r\n {\r\n this.mute = !!isMute;\r\n for (const child of this.effectChildren) child?.SetMute?.(this.mute);\r\n for (const observer of this.observers) observer?.SetMute(this.mute);\r\n }\r\n\r\n /** Freezes every child at Carbon's high-detail LOD. */\r\n @carbon.method\r\n @impl.implemented\r\n FreezeHighDetailMesh()\r\n {\r\n this.lodLevel = Tr2Lod.TR2_LOD_HIGH;\r\n this.#changeLOD = false;\r\n for (const child of this.effectChildren) child?.ChangeLOD?.(this.lodLevel);\r\n }\r\n\r\n /** Propagates a procedural-container variable to every effect child. */\r\n @carbon.method\r\n @impl.implemented\r\n SetProceduralContainerVariable(name, value)\r\n {\r\n for (const child of this.effectChildren) child?.SetProceduralContainerVariable?.(name, value);\r\n }\r\n\r\n /**\r\n * Builds the per-frame child update parameters naming this root as the\r\n * space-object parent, carrying its display state and a copy of the current\r\n * root matrix.\r\n */\r\n #CreateChildUpdateParams()\r\n {\r\n const params = new EveChildUpdateParams();\r\n params.spaceObjectParent = this;\r\n params.isVisible = this.display;\r\n mat4.copy(params.localToWorldTransform, this.#lastUpdateMatrix);\r\n return params;\r\n }\r\n\r\n /**\r\n * Replays every stored controller variable onto a newly added controller or\r\n * effect child through the named setter, so late additions start with the same\r\n * state.\r\n */\r\n static #ApplyControllerVariables(target, variables, methodName)\r\n {\r\n const setter = target?.[methodName];\r\n if (typeof setter !== \"function\") return;\r\n for (const [name, value] of variables) setter.call(target, name, value);\r\n }\r\n\r\n /**\r\n * Reads a numeric value from the update context, preferring a getter method\r\n * and falling back to the named properties, and yields 0 when nothing supplies\r\n * it.\r\n */\r\n static #GetContextValue(context, methodName, ...propertyNames)\r\n {\r\n const method = context?.[methodName];\r\n if (typeof method === \"function\") return Number(method.call(context)) || 0;\r\n for (const propertyName of propertyNames)\r\n {\r\n if (context?.[propertyName] !== undefined && context?.[propertyName] !== null)\r\n {\r\n return Number(context[propertyName]) || 0;\r\n }\r\n }\r\n return 0;\r\n }\r\n\r\n /**\r\n * Samples a curve into out through whichever of Update or GetValueAt it\r\n * exposes, writing the fallback when there is no curve and copying back curves\r\n * that return a new array instead of filling out.\r\n */\r\n static #UpdateCurve(curve, time, out, fallback)\r\n {\r\n if (!curve)\r\n {\r\n for (let index = 0; index < out.length; index++) out[index] = fallback[index];\r\n return out;\r\n }\r\n let result;\r\n if (typeof curve.Update === \"function\") result = curve.Update(time, out);\r\n else if (typeof curve.GetValueAt === \"function\") result = curve.GetValueAt(time, out);\r\n if ((Array.isArray(result) || ArrayBuffer.isView(result)) && result !== out)\r\n {\r\n for (let index = 0; index < out.length; index++) out[index] = result[index];\r\n }\r\n return out;\r\n }\r\n\r\n /** Carbon's neutral hull data: full activation, unit bounding radius. */\r\n static #neutralShipData = Object.freeze([ 0, 1, 0, 1 ]);\r\n\r\n static #identity = mat4.create();\r\n static #centerTransform = mat4.create();\r\n static #bounds = box3.create();\r\n static #localSphere = vec4.create();\r\n static #worldSphere = vec4.create();\r\n static #zero = vec3.create();\r\n static #translation = vec3.create();\r\n static #modelTranslation = vec3.create();\r\n static #missOffset = vec3.create();\r\n static #missDirection = vec3.create();\r\n static #identityRotation = quat.create();\r\n static #rotation = quat.create();\r\n static #modelRotation = quat.create();\r\n static #worldRotation = quat.create();\r\n static #noAlbedo = vec4.create();\r\n\r\n static Tr2Lod = Tr2Lod;\r\n\r\n}\r\n"],"names":["_EveEffectRoot","_identity","EveEffectRoot2","_withIEveSpaceObject","withIEveSpaceObject2","withITr2BoundingBox","EveEntity","e","_init_effectChildren","_init_extra_effectChildren","_init_estimatedSize","_init_extra_estimatedSize","_init_lodLevel","_init_extra_lodLevel","_init_mute","_init_extra_mute","_init_display","_init_extra_display","_init_name","_init_extra_name","_init_dynamicLOD","_init_extra_dynamicLOD","_init_scaling","_init_extra_scaling","_init_rotation","_init_extra_rotation","_init_translation","_init_extra_translation","_init_duration","_init_extra_duration","_init_secondaryLightingEmissiveColor","_init_extra_secondaryLightingEmissiveColor","_init_curveSets","_init_extra_curveSets","_init_lights","_init_extra_lights","_init_externalParameters","_init_extra_externalParameters","_init_controllers","_init_extra_controllers","_init_observers","_init_extra_observers","_init_rotationCurve","_init_extra_rotationCurve","_init_secondaryLightingSphereRadius","_init_extra_secondaryLightingSphereRadius","_init_boundingSphereCenter","_init_extra_boundingSphereCenter","_init_boundingSphereRadius","_init_extra_boundingSphereRadius","_init_modelTranslationCurve","_init_extra_modelTranslationCurve","_init_modelRotationCurve","_init_extra_modelRotationCurve","_init_translationCurve","_init_extra_translationCurve","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","list","read","float32","int32","enum","notify","readwrite","boolean","string","vec3","quat","color","model","impl","adapted","reason","carbon","method","implemented","noop","effectChildren","estimatedSize","lodLevel","Tr2Lod","TR2_LOD_HIGH","mute","display","name","dynamicLOD","scaling","fromValues","rotation","create","translation","duration","secondaryLightingEmissiveColor","vec4","curveSets","lights","externalParameters","controllers","observers","rotationCurve","secondaryLightingSphereRadius","boundingSphereCenter","boundingSphereRadius","modelTranslationCurve","modelRotationCurve","translationCurve","Map","mat4","Initialize","controller","IsLinked","Link","AddController","push","RemoveController","index","indexOf","splice","Unlink","UpdateSyncronous","updateContext","time","UpdateWorldTransform","fromRotationTranslationScale","multiply","observer","Update","length","params","child","UpdateAsyncronous","frequency","threshold","Math","min","UpdateControllers","curveSet","renderContext","controllerUpdateFrequency","UpdateVisibility","parentTransform","GetBoundingSphere","sph3","transformMat4","frustum","GetFrustum","IsSphereVisible","Number","GetPixelSizeAccross","oldLod","TR2_LOD_LOW","medium","low","TR2_LOD_MEDIUM","GetRenderables","out","ChangeLOD","updateFrequency","set","GetBoundingSphereRadius","fromRotationTranslation","UpdateModelCenterWorldPosition","GetModelCenterWorldPosition","GetLocalBoundingBox","max","radius","GetLocalToWorldTransform","copy","GetWorldBoundingBox","bounds","box3","fromBounds","IsBoundingBoxReady","GetWorldTransform","RegisterWithQuadRenderer","quadRenderer","AddQuadsToQuadRenderer","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","Register","UnRegisterComponents","UnRegister","OnListModified","event","_key","_key2","value","masked","BELIST_EVENTMASK","BELIST_LOADING","BELIST_INSERTED","BELIST_REMOVED","BELIST_UNLOADSTART","IsInRegistry","SetOwner","StartControllers","UnRegisterComponent","GetLights","lightManager","transform","scale","hypot","light","AddLight","ClearLights","GetPerObjectStructs","vsData","RawData","psData","Zero","Set","vs","ps","RegisterSecondaryLightSource","manager","subarray","UnregisterSecondaryLightSource","Start","Play","PlayAllCurveSets","PlayCurveSets","Stop","StopAllCurveSets","StopCurveSets","GetDamageLocatorCount","GetDamageLocatorPosition","_index","_inWorldSpace","GetDamageLocatorDirection","GetImpactPosition","locator","_posPrev","posNow","epsilon","squaredDistance","HasImpactConfigurationShield","GetClosestDamageLocatorIndex","_position","GetGoodDamageLocatorIndex","GetRadius","CreateImpact","_damageLocatorIndex","_direction","_lifeTime","_size","UpdateImpact","_out","_impactIndex","GetWorldPosition","GetWorldRotation","getRotation","normalize","GetMissPosition","hit","source","subtract","directionLength","scaleAndAdd","dot","offsetLength","GetChildren","SetTransform","getScaling","getTranslation","PlayCurveSet","rangeName","target","String","GetName","PlayTimeRange","ResetTimeRange","StopCurveSet","UpdateCurveSet","GetCurveSetDuration","GetMaxCurveDuration","GetRangeDuration","GetDebugOptions","options","add","RenderDebugInfo","renderer","HasOption","DrawSphere","SetControllerVariable","key","next","SetVariable","HandleControllerEvent","eventName","HandleEvent","GetEffectChildByName","AddToEffectChildrenList","RemoveFromEffectChildrenList","SetShaderOption","FindSoundEmitter","GetObserver","emitter","AddObserver","SetMute","isMute","FreezeHighDetailMesh","SetProceduralContainerVariable","#CreateChildUpdateParams","EveChildUpdateParams","spaceObjectParent","isVisible","localToWorldTransform","#ApplyControllerVariables","variables","methodName","setter","call","#GetContextValue","context","propertyNames","propertyName","undefined","#UpdateCurve","curve","fallback","result","GetValueAt","Array","isArray","ArrayBuffer","isView","Object","freeze","constructor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EveEffectRoot2.js","sources":["../../../../../src/trinity/eve/spaceObject/EveEffectRoot2.js"],"sourcesContent":["// Source: trinity/trinity/Eve/EveEffectRoot2.h\r\n// Source: trinity/trinity/Eve/EveEffectRoot2.cpp\r\n// Source: trinity/trinity/Eve/EveEffectRoot2_Blue.cpp\r\nimport \"../../../global/blue/registerTrinityEnums.js\";\r\nimport { CjsModel } from \"#model\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { IEveSpaceObject2 } from \"../IEveSpaceObject2.js\";\r\nimport { box3 } from \"#math/box3\";\r\nimport { quat } from \"#math/quat\";\r\nimport { sph3 } from \"#math/sph3\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { ITr2BoundingBox } from \"#contracts\";\r\nimport { EveEntity } from \"../EveEntity.js\";\r\nimport { EveChildUpdateParams } from \"../EveChildUpdateParams.js\";\r\nimport { EveLODHelper, Tr2Lod } from \"../EveLODHelper.js\";\r\nimport { RawData } from \"../../core/rawData/RawData.js\";\r\nimport { EveComponentType } from \"../EveComponentTypes.js\";\r\nimport {\r\n BELIST_EVENTMASK,\r\n BELIST_INSERTED,\r\n BELIST_LOADING,\r\n BELIST_REMOVED,\r\n BELIST_UNLOADSTART\r\n} from \"../../controllers/contracts.js\";\r\n\r\n\r\n/**\r\n * A standalone effect root: curve-driven placement plus the effect children,\r\n * lights, controllers, curve sets and observers that make up an effect not\r\n * attached to a hull.\r\n */\r\n@type.define({ className: \"EveEffectRoot2\", family: \"eve/spaceObject\" })\r\n@carbon.inherit(ITr2BoundingBox, IEveSpaceObject2)\r\nexport class EveEffectRoot2 extends EveEntity\r\n{\r\n\r\n /** m_effectChildren (PIEveSpaceObjectChildVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"IEveSpaceObjectChild\")\r\n effectChildren = [];\r\n\r\n /** m_estimatedSize (float) [READ] */\r\n @edit.read\r\n @type.float32\r\n estimatedSize = 0;\r\n\r\n /** m_lodLevel (Tr2Lod - enum Tr2Lod) [READ] */\r\n @edit.read\r\n @type.int32\r\n @type.enum(\"trinity.Tr2Lod\")\r\n lodLevel = Tr2Lod.TR2_LOD_HIGH;\r\n\r\n /** m_mute (bool) [READWRITE, NOTIFY] */\r\n @edit.notify\r\n @edit.readwrite\r\n @type.boolean\r\n mute = false;\r\n\r\n /** m_display (bool) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.boolean\r\n display = true;\r\n\r\n /** m_name (std::string) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.string\r\n name = \"\";\r\n\r\n /** m_dynamicLODSelection (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n dynamicLOD = false;\r\n\r\n /** m_scaling (Vector3) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.vec3\r\n scaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_rotation (Quaternion) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.quat\r\n rotation = quat.create();\r\n\r\n /** m_translation (Vector3) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.vec3\r\n translation = vec3.create();\r\n\r\n /** m_effectDuration (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n duration = -1;\r\n\r\n /** m_secondaryLightingEmissiveColor (Color) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.color\r\n secondaryLightingEmissiveColor = vec4.create();\r\n\r\n /** m_curveSets (PTriCurveSetVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"TriCurveSet\")\r\n curveSets = [];\r\n\r\n /** m_lights (PTr2LightVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"Tr2Light\")\r\n lights = [];\r\n\r\n /** m_externalParameters (PTr2ExternalParameterVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"Tr2ExternalParameter\")\r\n externalParameters = [];\r\n\r\n /** m_controllers (PITr2ControllerVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"ITr2Controller\")\r\n controllers = [];\r\n\r\n /** m_observers (PTriObserverLocalVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"TriObserverLocal\")\r\n observers = [];\r\n\r\n /** m_ballRotation (ITriQuaternionFunctionPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"ITriQuaternionFunction\")\r\n rotationCurve = null;\r\n\r\n /** m_secondaryLightingSphereRadiusLocal (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n secondaryLightingSphereRadius = 0.5;\r\n\r\n /** m_boundingSphere.xyz, exposed by Carbon's MAPFLOATARRAYSIZE Blue mapping. */\r\n @impl.adapted\r\n @impl.reason(\"The schema scanner omits MAPFLOATARRAYSIZE; Carbon exposes the three persisted center components separately from radius.\")\r\n @edit.persist\r\n @type.vec3\r\n boundingSphereCenter = vec3.create();\r\n\r\n /** m_boundingSphere.w (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n boundingSphereRadius = 0;\r\n\r\n /** m_modelTranslation (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"ITriVectorFunction\")\r\n modelTranslationCurve = null;\r\n\r\n /** m_modelRotation (ITriQuaternionFunctionPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"ITriQuaternionFunction\")\r\n modelRotationCurve = null;\r\n\r\n /** m_ballPosition (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"ITriVectorFunction\")\r\n translationCurve = null;\r\n\r\n #changeLOD = true;\r\n #controllerVariables = new Map();\r\n #lastUpdateMatrix = mat4.create();\r\n #localTransform = mat4.create();\r\n #secondaryLightingSphereRadiusWorld = 0.5;\r\n #worldTransform = mat4.create();\r\n\r\n /** Links authored controllers after graph hydration. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Blue root locking is represented by the hydrated JavaScript object identity.\")\r\n Initialize()\r\n {\r\n for (const controller of this.controllers)\r\n {\r\n if (!controller?.IsLinked()) controller?.Link(this);\r\n EveEffectRoot2.#ApplyControllerVariables(controller, this.#controllerVariables, \"SetVariable\");\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Adds a controller. The linking and variable replay are NOT done here:\r\n * Carbon's list notifies its owner and OnListModified's INSERTED arm does\r\n * them (EveEffectRoot2.cpp:94-102), which is what the managed child\r\n * mutation reproduces.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"A JavaScript array has no notify slot, so the owner drives the notification through CjsModel.addChild rather than the list driving it.\")\r\n AddController(controller)\r\n {\r\n CjsModel.addChild(this, \"controllers\", controller);\r\n return controller;\r\n }\r\n\r\n /**\r\n * Removes a controller. The unlink is OnListModified's REMOVED arm\r\n * (EveEffectRoot2.cpp:104-109), not this method's business.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"A JavaScript array has no notify slot, so the owner drives the notification through CjsModel.removeChild rather than the list driving it.\")\r\n RemoveController(controller)\r\n {\r\n return CjsModel.removeChild(this, \"controllers\", controller);\r\n }\r\n\r\n /** Evaluates root curves and updates children that require synchronous placement. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon task and lock ownership is omitted; child update parameters retain the source graph contract.\")\r\n UpdateSyncronous(updateContext = null)\r\n {\r\n const time = EveEffectRoot2.#GetContextValue(updateContext, \"GetTime\", \"currentTime\", \"time\");\r\n this.UpdateWorldTransform(time);\r\n mat4.fromRotationTranslationScale(this.#localTransform, this.rotation, this.translation, this.scaling);\r\n // Carbon (row-vector): m_localTransform * m_worldTransform - local first.\r\n mat4.multiply(this.#lastUpdateMatrix, this.#worldTransform, this.#localTransform);\r\n this.#secondaryLightingSphereRadiusWorld = this.secondaryLightingSphereRadius *\r\n (this.scaling[0] + this.scaling[1] + this.scaling[2]) / 3;\r\n\r\n for (const observer of this.observers) observer?.Update(this.#lastUpdateMatrix);\r\n if (this.effectChildren.length)\r\n {\r\n const params = this.#CreateChildUpdateParams();\r\n for (const child of this.effectChildren) child?.UpdateSyncronous(updateContext, params);\r\n }\r\n return true;\r\n }\r\n\r\n /** Advances controllers, root curve sets, and effect children. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Controller and child work is forwarded synchronously through the GPU-free graph instead of Carbon task groups.\")\r\n UpdateAsyncronous(updateContext = null)\r\n {\r\n let frequency = 0;\r\n if (this.display)\r\n {\r\n if (this.dynamicLOD)\r\n {\r\n const threshold = EveEffectRoot2.#GetContextValue(updateContext, \"GetHighDetailThreshold\", \"highDetailThreshold\");\r\n if (threshold > 0) frequency = Math.min(1, this.estimatedSize / threshold);\r\n }\r\n else\r\n {\r\n frequency = 0.5;\r\n }\r\n }\r\n\r\n this.UpdateControllers(frequency);\r\n const time = EveEffectRoot2.#GetContextValue(updateContext, \"GetTime\", \"currentTime\", \"time\");\r\n for (const curveSet of this.curveSets) curveSet.Update(time, time, updateContext.renderContext);\r\n if (this.effectChildren.length)\r\n {\r\n const params = this.#CreateChildUpdateParams();\r\n params.controllerUpdateFrequency = frequency;\r\n for (const child of this.effectChildren) child?.UpdateAsyncronous(updateContext, params);\r\n }\r\n return frequency;\r\n }\r\n\r\n /** Updates dynamic LOD and forwards visibility to the effect children. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Frustum and threshold state is supplied by the explicit update context rather than renderer globals.\")\r\n UpdateVisibility(updateContext = null, parentTransform = EveEffectRoot2.#identity)\r\n {\r\n if (!this.display) return false;\r\n if (this.dynamicLOD)\r\n {\r\n this.GetBoundingSphere(EveEffectRoot2.#localSphere);\r\n sph3.transformMat4(EveEffectRoot2.#worldSphere, EveEffectRoot2.#localSphere, this.#worldTransform);\r\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\r\n if (frustum?.IsSphereVisible(EveEffectRoot2.#worldSphere) !== false)\r\n {\r\n this.estimatedSize = Number(frustum?.GetPixelSizeAccross?.(EveEffectRoot2.#worldSphere) ?? this.estimatedSize) || 0;\r\n }\r\n\r\n const oldLod = this.lodLevel;\r\n this.lodLevel = Tr2Lod.TR2_LOD_LOW;\r\n const medium = EveEffectRoot2.#GetContextValue(updateContext, \"GetMediumDetailThreshold\", \"mediumDetailThreshold\");\r\n const low = EveEffectRoot2.#GetContextValue(updateContext, \"GetLowDetailThreshold\", \"lowDetailThreshold\");\r\n if (this.estimatedSize >= medium) this.lodLevel = Tr2Lod.TR2_LOD_HIGH;\r\n else if (this.estimatedSize >= low) this.lodLevel = Tr2Lod.TR2_LOD_MEDIUM;\r\n this.#changeLOD ||= oldLod !== this.lodLevel;\r\n }\r\n\r\n for (const child of this.effectChildren)\r\n {\r\n child?.UpdateVisibility(updateContext, parentTransform, this.lodLevel);\r\n }\r\n return true;\r\n }\r\n\r\n /** Collects child renderables after applying a pending LOD change. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n if (!this.display) return out;\r\n if (this.#changeLOD)\r\n {\r\n this.#changeLOD = false;\r\n for (const child of this.effectChildren) child?.ChangeLOD?.(this.lodLevel);\r\n }\r\n for (const child of this.effectChildren) child?.GetRenderables(out);\r\n return out;\r\n }\r\n\r\n /** Advances every controller at the selected detail frequency. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateControllers(updateFrequency)\r\n {\r\n for (const controller of this.controllers) controller?.Update(updateFrequency);\r\n }\r\n\r\n /** Returns the authored local bounding sphere. */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n vec4.set(\r\n out,\r\n this.boundingSphereCenter[0],\r\n this.boundingSphereCenter[1],\r\n this.boundingSphereCenter[2],\r\n this.boundingSphereRadius\r\n );\r\n return true;\r\n }\r\n\r\n /** Returns the authored bounding-sphere radius. */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphereRadius()\r\n {\r\n return this.boundingSphereRadius;\r\n }\r\n\r\n /** Evaluates the ball/model curves into the detached root transform. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Curve outputs use CarbonEngineJS's time-first, output-second convention.\")\r\n UpdateWorldTransform(time)\r\n {\r\n EveEffectRoot2.#UpdateCurve(this.translationCurve, time, EveEffectRoot2.#translation, EveEffectRoot2.#zero);\r\n EveEffectRoot2.#UpdateCurve(this.rotationCurve, time, EveEffectRoot2.#rotation, EveEffectRoot2.#identityRotation);\r\n if (this.modelRotationCurve)\r\n {\r\n EveEffectRoot2.#UpdateCurve(this.modelRotationCurve, time, EveEffectRoot2.#modelRotation, EveEffectRoot2.#identityRotation);\r\n // Carbon (row-vector): rotation = modelRotation * rotation - model first.\r\n quat.multiply(EveEffectRoot2.#rotation, EveEffectRoot2.#rotation, EveEffectRoot2.#modelRotation);\r\n }\r\n\r\n mat4.fromRotationTranslation(this.#worldTransform, EveEffectRoot2.#rotation, EveEffectRoot2.#translation);\r\n if (this.modelTranslationCurve)\r\n {\r\n EveEffectRoot2.#UpdateCurve(this.modelTranslationCurve, time, EveEffectRoot2.#modelTranslation, EveEffectRoot2.#zero);\r\n vec3.transformMat4(EveEffectRoot2.#modelTranslation, EveEffectRoot2.#modelTranslation, this.#worldTransform);\r\n this.#worldTransform[12] = EveEffectRoot2.#modelTranslation[0];\r\n this.#worldTransform[13] = EveEffectRoot2.#modelTranslation[1];\r\n this.#worldTransform[14] = EveEffectRoot2.#modelTranslation[2];\r\n }\r\n return this.#worldTransform;\r\n }\r\n\r\n /** Updates and returns the model-center world position. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses an out-last signature for output parameters.\")\r\n UpdateModelCenterWorldPosition(time, out = vec3.create())\r\n {\r\n this.UpdateWorldTransform(time);\r\n mat4.fromRotationTranslationScale(this.#localTransform, this.rotation, this.translation, this.scaling);\r\n // Carbon (row-vector): currentTransform * m_worldTransform - local first.\r\n mat4.multiply(EveEffectRoot2.#centerTransform, this.#worldTransform, this.#localTransform);\r\n return vec3.transformMat4(out, this.boundingSphereCenter, EveEffectRoot2.#centerTransform);\r\n }\r\n\r\n /** Returns the last model-center world position without advancing curves. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses an out-last signature for output parameters.\")\r\n GetModelCenterWorldPosition(out = vec3.create())\r\n {\r\n return vec3.transformMat4(out, this.boundingSphereCenter, this.#lastUpdateMatrix);\r\n }\r\n\r\n /** Writes the authored sphere's local axis-aligned bounds when its radius is valid. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalBoundingBox(min, max)\r\n {\r\n if (this.boundingSphereRadius <= 0) return false;\r\n const radius = this.boundingSphereRadius;\r\n vec3.set(\r\n min,\r\n this.boundingSphereCenter[0] - radius,\r\n this.boundingSphereCenter[1] - radius,\r\n this.boundingSphereCenter[2] - radius\r\n );\r\n vec3.set(\r\n max,\r\n this.boundingSphereCenter[0] + radius,\r\n this.boundingSphereCenter[1] + radius,\r\n this.boundingSphereCenter[2] + radius\r\n );\r\n return true;\r\n }\r\n\r\n /** Returns the last composed local-to-world transform. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS returns the caller-owned output matrix.\")\r\n GetLocalToWorldTransform(out = mat4.create())\r\n {\r\n return mat4.copy(out, this.#lastUpdateMatrix);\r\n }\r\n\r\n /** Writes the authored sphere's bounds transformed by the last composed root matrix. */\r\n @carbon.method\r\n @impl.implemented\r\n GetWorldBoundingBox(min, max)\r\n {\r\n if (!this.GetLocalBoundingBox(min, max)) return false;\r\n const bounds = EveEffectRoot2.#bounds;\r\n box3.fromBounds(bounds, min, max);\r\n box3.transformMat4(bounds, bounds, this.#lastUpdateMatrix);\r\n vec3.set(min, bounds[0], bounds[1], bounds[2]);\r\n vec3.set(max, bounds[3], bounds[4], bounds[5]);\r\n return true;\r\n }\r\n\r\n /** Reports whether the authored sphere can currently supply a bounding box. */\r\n @carbon.method\r\n @impl.implemented\r\n IsBoundingBoxReady()\r\n {\r\n return this.boundingSphereRadius > 0;\r\n }\r\n\r\n /** Protected-equivalent read of Carbon's m_worldTransform\r\n * (EveEffectRoot2.h:219, protected) - the detached root transform\r\n * UpdateWorldTransform evaluates, WITHOUT the local SRT composition that\r\n * GetLocalToWorldTransform's #lastUpdateMatrix carries. EvePlanet reads the\r\n * member directly for the z-only depth-prepass drive (EvePlanet.cpp:137). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's protected member access becomes a copying accessor; JS has no protected fields and the live buffer stays private.\")\r\n GetWorldTransform(out = mat4.create())\r\n {\r\n return mat4.copy(out, this.#worldTransform);\r\n }\r\n\r\n /** Registers every child with an injected quad renderer. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The quad renderer is an injected engine-owned capability.\")\r\n RegisterWithQuadRenderer(quadRenderer)\r\n {\r\n for (const child of this.effectChildren) child?.RegisterWithQuadRenderer?.(quadRenderer);\r\n }\r\n\r\n /** Adds visible child quads to an injected renderer. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The quad renderer is an injected engine-owned capability.\")\r\n AddQuadsToQuadRenderer(frustum, quadRenderer)\r\n {\r\n if (!this.display) return;\r\n for (const child of this.effectChildren) child?.AddQuadsToQuadRenderer?.(frustum, quadRenderer);\r\n }\r\n\r\n /** Carbon EveEffectRoot2::RegisterComponents (cpp:496-513): LightOwner when\r\n * lights are authored, then forwards the effect children. Gate m_display. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.display)\r\n {\r\n if (this.lights.length)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n for (const child of this.effectChildren)\r\n {\r\n child?.Register(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveEffectRoot2::UnRegisterComponents (cpp:515-528): forwards the\r\n * effect children only (own components were already removed by\r\n * EveEntity::UnRegister, EveEntity.cpp:90); no display re-check. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const child of this.effectChildren)\r\n {\r\n child?.UnRegister(registry);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Carbon OnListModified (EveEffectRoot2.cpp:88-193), branch for branch,\r\n * dispatched by list identity. Controllers: insert links and replays the\r\n * recorded controller variables, remove unlinks, unload-start unlinks\r\n * everything. Effect children: insert takes ownership, replays variables,\r\n * starts controllers and registers the entity when this root is in a\r\n * registry; remove unregisters and clears ownership; unload-start does\r\n * both for every child (Carbon's UNLOADSTART case falls through into an\r\n * empty default - no break, cpp:168 - which changes nothing and is not\r\n * reproduced as a bug, just noted). Lights: the FIRST insert registers\r\n * this root as a LightOwner component and the LAST removal (or\r\n * unload-start) unregisters it - the same size-edge rule\r\n * RegisterComponents applies at registration time.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n OnListModified(event, _key = 0, _key2 = 0, value = null, list = null)\r\n {\r\n const masked = event & BELIST_EVENTMASK;\r\n\r\n if (list === this.controllers && (event & BELIST_LOADING) === 0)\r\n {\r\n switch (masked)\r\n {\r\n case BELIST_INSERTED:\r\n if (value)\r\n {\r\n value.Link(this);\r\n EveEffectRoot2.#ApplyControllerVariables(value, this.#controllerVariables, \"SetVariable\");\r\n }\r\n break;\r\n case BELIST_REMOVED:\r\n if (value) value.Unlink();\r\n break;\r\n case BELIST_UNLOADSTART:\r\n for (const controller of this.controllers) controller.Unlink();\r\n break;\r\n default:\r\n break;\r\n }\r\n return;\r\n }\r\n\r\n if (list === this.effectChildren && (event & BELIST_LOADING) === 0)\r\n {\r\n const registry = this.IsInRegistry() ? this.GetComponentRegistry() : null;\r\n switch (masked)\r\n {\r\n case BELIST_INSERTED:\r\n if (value)\r\n {\r\n value.SetOwner(this);\r\n EveEffectRoot2.#ApplyControllerVariables(value, this.#controllerVariables, \"SetControllerVariable\");\r\n value.StartControllers();\r\n if (registry) value.Register(registry);\r\n }\r\n break;\r\n case BELIST_REMOVED:\r\n if (value)\r\n {\r\n if (registry) value.UnRegister(registry);\r\n value.SetOwner(null);\r\n }\r\n break;\r\n case BELIST_UNLOADSTART:\r\n for (const child of this.effectChildren)\r\n {\r\n if (registry) child?.UnRegister(registry);\r\n child?.SetOwner(null);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n return;\r\n }\r\n\r\n if (list === this.lights)\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (!registry) return;\r\n if (masked === BELIST_UNLOADSTART || (masked === BELIST_REMOVED && this.lights.length === 0))\r\n {\r\n registry.UnRegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n else if (masked === BELIST_INSERTED && this.lights.length === 1)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n }\r\n }\r\n\r\n /** Adds authored lights using the effect's composed placement and average scale. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The light manager is an injected engine-owned capability.\")\r\n GetLights(lightManager)\r\n {\r\n if (!this.display) return;\r\n const transform = this.#lastUpdateMatrix;\r\n const scale = (\r\n Math.hypot(transform[0], transform[1], transform[2]) +\r\n Math.hypot(transform[4], transform[5], transform[6]) +\r\n Math.hypot(transform[8], transform[9], transform[10])\r\n ) / 3;\r\n for (const light of this.lights) light?.AddLight(lightManager, transform, scale);\r\n }\r\n\r\n /** Adds an authored light. */\r\n @carbon.method\r\n @impl.implemented\r\n AddLight(light)\r\n {\r\n this.lights.push(light);\r\n return light;\r\n }\r\n\r\n /** Removes all authored lights. */\r\n @carbon.method\r\n @impl.implemented\r\n ClearLights()\r\n {\r\n this.lights.length = 0;\r\n }\r\n\r\n /**\r\n * Carbon EveEffectRoot2::GetPerObjectStructs (cpp:463-478): zeroes both\r\n * records, then sets activation strength and bounding-sphere radius to 1. An\r\n * effect root carries no hull values of its own, so a child parented to one\r\n * inherits neutral data rather than nothing.\r\n * @returns {{vs: RawData, ps: RawData}}\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetPerObjectStructs(vsData = RawData.create(\"EveSpaceObjectVSData\"), psData = RawData.create(\"EveSpaceObjectPSData\"))\r\n {\r\n vsData.Zero();\r\n psData.Zero();\r\n vsData.Set(\"shipData\", EveEffectRoot2.#neutralShipData);\r\n psData.Set(\"shipData\", EveEffectRoot2.#neutralShipData);\r\n\r\n return { vs: vsData, ps: psData };\r\n }\r\n\r\n /** Registers this root as a secondary light source with an injected manager. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The SH lighting manager is injected; Trinity owns only the authored source values.\")\r\n RegisterSecondaryLightSource(manager)\r\n {\r\n return manager?.RegisterSecondaryLightSource?.(\r\n this.#worldTransform.subarray(12, 15),\r\n this.#secondaryLightingSphereRadiusWorld,\r\n EveEffectRoot2.#noAlbedo,\r\n this.secondaryLightingEmissiveColor\r\n );\r\n }\r\n\r\n /** Unregisters this root from an injected secondary-light manager. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The SH lighting manager is injected; Trinity owns only the authored source values.\")\r\n UnregisterSecondaryLightSource(manager)\r\n {\r\n return manager?.UnregisterSecondaryLightSource?.(this.#worldTransform.subarray(12, 15));\r\n }\r\n\r\n /** Plays root and child-owned curve sets. */\r\n @carbon.method\r\n @impl.implemented\r\n Start()\r\n {\r\n for (const curveSet of this.curveSets) curveSet?.Play();\r\n for (const child of this.effectChildren)\r\n {\r\n if (child?.PlayAllCurveSets) child.PlayAllCurveSets();\r\n else child?.PlayCurveSets?.();\r\n }\r\n }\r\n\r\n /** Stops root and child-owned curve sets. */\r\n @carbon.method\r\n @impl.implemented\r\n Stop()\r\n {\r\n for (const curveSet of this.curveSets) curveSet?.Stop();\r\n for (const child of this.effectChildren)\r\n {\r\n if (child?.StopAllCurveSets) child.StopAllCurveSets();\r\n else child?.StopCurveSets?.();\r\n }\r\n }\r\n\r\n /** Effect roots have no damage locators. */\r\n @carbon.method\r\n @impl.noop\r\n GetDamageLocatorCount()\r\n {\r\n return 0;\r\n }\r\n\r\n /** Returns the detached root translation as the sole target point. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses output parameters last and returns the targetable validity flag.\")\r\n GetDamageLocatorPosition(_index, _inWorldSpace, out = vec3.create())\r\n {\r\n vec3.set(out, this.#worldTransform[12], this.#worldTransform[13], this.#worldTransform[14]);\r\n return true;\r\n }\r\n\r\n /** Returns Carbon's constant +Y target direction. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses output parameters last and returns the targetable validity flag.\")\r\n GetDamageLocatorDirection(_index, _inWorldSpace, out = vec3.create())\r\n {\r\n vec3.set(out, 0, 1, 0);\r\n return true;\r\n }\r\n\r\n /** Tests whether a projectile has reached the root target point. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses an out-last signature for output parameters.\")\r\n GetImpactPosition(locator, _posPrev, posNow, epsilon, out = vec3.create())\r\n {\r\n this.GetDamageLocatorPosition(locator, true, out);\r\n return vec3.squaredDistance(posNow, out) < Number(epsilon);\r\n }\r\n\r\n /** Effect roots never use shield impact geometry. */\r\n @carbon.method\r\n @impl.noop\r\n HasImpactConfigurationShield()\r\n {\r\n return false;\r\n }\r\n\r\n /** Effect roots use their only target point. */\r\n @carbon.method\r\n @impl.noop\r\n GetClosestDamageLocatorIndex(_position)\r\n {\r\n return 0;\r\n }\r\n\r\n /** Effect roots use their only target point. */\r\n @carbon.method\r\n @impl.noop\r\n GetGoodDamageLocatorIndex(_position)\r\n {\r\n return 0;\r\n }\r\n\r\n /** Returns the authored target radius. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRadius()\r\n {\r\n return this.boundingSphereRadius;\r\n }\r\n\r\n /** Effect roots do not create attached impact overlays. */\r\n @carbon.method\r\n @impl.noop\r\n CreateImpact(_damageLocatorIndex, _direction, _lifeTime, _size)\r\n {\r\n return -1;\r\n }\r\n\r\n /** Effect roots do not update attached impact overlays. */\r\n @carbon.method\r\n @impl.noop\r\n UpdateImpact(_out, _direction, _impactIndex)\r\n {\r\n return false;\r\n }\r\n\r\n /** Returns the detached root world position. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS returns the caller-owned output vector.\")\r\n GetWorldPosition(out = vec3.create())\r\n {\r\n return vec3.set(out, this.#worldTransform[12], this.#worldTransform[13], this.#worldTransform[14]);\r\n }\r\n\r\n /** Returns the authored local rotation composed with the detached root rotation. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS returns the caller-owned output quaternion.\")\r\n GetWorldRotation(out = quat.create())\r\n {\r\n mat4.getRotation(EveEffectRoot2.#worldRotation, this.#worldTransform);\r\n // Carbon (row-vector): m_rotation * RotationQuaternion(world) - local first.\r\n quat.multiply(out, EveEffectRoot2.#worldRotation, this.rotation);\r\n return quat.normalize(out, out);\r\n }\r\n\r\n /** Computes a miss point just outside the root's spherical silhouette. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMissPosition(hit, source, out = vec3.create())\r\n {\r\n this.GetDamageLocatorPosition(-1, true, out);\r\n if (!hit || !source) return out;\r\n vec3.subtract(EveEffectRoot2.#missOffset, hit, out);\r\n vec3.subtract(EveEffectRoot2.#missDirection, hit, source);\r\n const directionLength = vec3.length(EveEffectRoot2.#missDirection);\r\n if (directionLength) vec3.scale(EveEffectRoot2.#missDirection, EveEffectRoot2.#missDirection, 1 / directionLength);\r\n vec3.scaleAndAdd(\r\n EveEffectRoot2.#missOffset,\r\n EveEffectRoot2.#missOffset,\r\n EveEffectRoot2.#missDirection,\r\n -vec3.dot(EveEffectRoot2.#missDirection, EveEffectRoot2.#missOffset)\r\n );\r\n const offsetLength = vec3.length(EveEffectRoot2.#missOffset);\r\n if (offsetLength) vec3.scale(EveEffectRoot2.#missOffset, EveEffectRoot2.#missOffset, 1 / offsetLength);\r\n return vec3.scaleAndAdd(out, out, EveEffectRoot2.#missOffset, this.boundingSphereRadius * 1.125);\r\n }\r\n\r\n /** Returns the owned effect-child list. */\r\n @carbon.method\r\n @impl.implemented\r\n GetChildren()\r\n {\r\n return this.effectChildren;\r\n }\r\n\r\n /** Decomposes a matrix into the authored local SRT fields. */\r\n @carbon.method\r\n @impl.implemented\r\n SetTransform(transform)\r\n {\r\n mat4.getScaling(this.scaling, transform);\r\n mat4.getRotation(this.rotation, transform);\r\n mat4.getTranslation(this.translation, transform);\r\n }\r\n\r\n /** Plays matching root and child curve sets. */\r\n @carbon.method\r\n @impl.implemented\r\n PlayCurveSet(name, rangeName = \"\")\r\n {\r\n const target = String(name ?? \"\");\r\n for (const curveSet of this.curveSets)\r\n {\r\n if ((curveSet?.GetName() ?? curveSet?.name) !== target) continue;\r\n if (rangeName) curveSet?.PlayTimeRange?.(rangeName);\r\n else\r\n {\r\n curveSet?.ResetTimeRange();\r\n curveSet?.Play();\r\n }\r\n }\r\n for (const child of this.effectChildren) child?.PlayCurveSet?.(target, rangeName);\r\n }\r\n\r\n /** Stops matching root and child curve sets. */\r\n @carbon.method\r\n @impl.implemented\r\n StopCurveSet(name)\r\n {\r\n const target = String(name ?? \"\");\r\n for (const curveSet of this.curveSets)\r\n {\r\n if ((curveSet?.GetName() ?? curveSet?.name) === target) curveSet?.Stop();\r\n }\r\n for (const child of this.effectChildren) child?.StopCurveSet?.(target);\r\n }\r\n\r\n /** Samples matching root and child curve sets at an explicit time. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateCurveSet(name, time, renderContext = null)\r\n {\r\n const target = String(name ?? \"\");\r\n for (const curveSet of this.curveSets)\r\n {\r\n if (curveSet.GetName() === target) curveSet.Update(time, time, renderContext);\r\n }\r\n for (const child of this.effectChildren) child?.UpdateCurveSet?.(target, time, renderContext);\r\n }\r\n\r\n /** Returns the maximum duration of matching root and child curve sets. */\r\n @carbon.method\r\n @impl.implemented\r\n GetCurveSetDuration(name)\r\n {\r\n const target = String(name ?? \"\");\r\n let duration = 0;\r\n for (const curveSet of this.curveSets)\r\n {\r\n if ((curveSet?.GetName() ?? curveSet?.name) === target)\r\n {\r\n duration = Math.max(duration, Number(curveSet?.GetMaxCurveDuration?.() ?? 0));\r\n }\r\n }\r\n for (const child of this.effectChildren)\r\n {\r\n duration = Math.max(duration, Number(child?.GetCurveSetDuration?.(target) ?? 0));\r\n }\r\n return duration;\r\n }\r\n\r\n /** Returns the maximum named range duration in matching root and child sets. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRangeDuration(name, rangeName)\r\n {\r\n const target = String(name ?? \"\");\r\n let duration = 0;\r\n for (const curveSet of this.curveSets)\r\n {\r\n if ((curveSet?.GetName() ?? curveSet?.name) === target)\r\n {\r\n duration = Math.max(duration, Number(curveSet?.GetRangeDuration(rangeName) ?? 0));\r\n }\r\n }\r\n for (const child of this.effectChildren)\r\n {\r\n duration = Math.max(duration, Number(child?.GetRangeDuration?.(target, rangeName) ?? 0));\r\n }\r\n return duration;\r\n }\r\n\r\n /** Collects the Carbon debug-option names and child options. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The debug renderer/options collection is an injected engine-owned capability.\")\r\n GetDebugOptions(options = new Set())\r\n {\r\n options.add?.(\"Bounding Sphere\");\r\n options.add?.(\"Lights\");\r\n for (const observer of this.observers) observer?.GetDebugOptions?.(options);\r\n for (const child of this.effectChildren) child?.GetDebugOptions?.(options);\r\n return options;\r\n }\r\n\r\n /** Forwards root debug geometry to an injected debug renderer. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The debug renderer is an injected engine-owned capability.\")\r\n RenderDebugInfo(renderer)\r\n {\r\n if (renderer?.HasOption?.(this, \"Bounding Sphere\"))\r\n {\r\n renderer?.DrawSphere?.(this, this.boundingSphereCenter, this.boundingSphereRadius, 8, \"wireframe\", 0xffff00ff);\r\n }\r\n for (const child of this.effectChildren) child?.RenderDebugInfo?.(renderer);\r\n if (renderer?.HasOption?.(this, \"Lights\"))\r\n {\r\n for (const light of this.lights) light?.RenderDebugInfo?.(renderer, this.#worldTransform);\r\n }\r\n for (const observer of this.observers) observer?.RenderDebugInfo?.(renderer);\r\n }\r\n\r\n /** Stores and propagates a controller variable to current and future members. */\r\n @carbon.method\r\n @impl.implemented\r\n SetControllerVariable(name, value)\r\n {\r\n const key = String(name ?? \"\");\r\n const next = Number(value);\r\n this.#controllerVariables.set(key, next);\r\n for (const controller of this.controllers) controller?.SetVariable(key, next);\r\n for (const child of this.effectChildren) child?.SetControllerVariable(key, next);\r\n }\r\n\r\n /** Propagates an event to controllers and effect children. */\r\n @carbon.method\r\n @impl.implemented\r\n HandleControllerEvent(name)\r\n {\r\n const eventName = String(name ?? \"\");\r\n for (const controller of this.controllers) controller?.HandleEvent(eventName);\r\n for (const child of this.effectChildren) child?.HandleControllerEvent(eventName);\r\n }\r\n\r\n /** Starts controllers on the root and its effect children. */\r\n @carbon.method\r\n @impl.implemented\r\n StartControllers()\r\n {\r\n for (const controller of this.controllers) controller?.Start();\r\n for (const child of this.effectChildren) child?.StartControllers();\r\n }\r\n\r\n /** Finds a named direct effect child. */\r\n @carbon.method\r\n @impl.implemented\r\n GetEffectChildByName(name)\r\n {\r\n const target = String(name ?? \"\");\r\n for (const child of this.effectChildren)\r\n {\r\n if ((child?.GetName?.() ?? child?.name ?? \"\") === target) return child;\r\n }\r\n return null;\r\n }\r\n\r\n /** Adds and initializes an effect child through Carbon's list-notify behavior. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Plain JavaScript arrays have no Blue IList notifications, so insertion behavior is explicit.\")\r\n AddToEffectChildrenList(child)\r\n {\r\n this.effectChildren.push(child);\r\n EveEffectRoot2.#ApplyControllerVariables(child, this.#controllerVariables, \"SetControllerVariable\");\r\n child?.StartControllers();\r\n return child;\r\n }\r\n\r\n /** Removes an effect child. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Plain JavaScript arrays have no Blue IList notifications, so removal behavior is explicit.\")\r\n RemoveFromEffectChildrenList(child)\r\n {\r\n const index = this.effectChildren.indexOf(child);\r\n if (index === -1) return false;\r\n this.effectChildren.splice(index, 1);\r\n return true;\r\n }\r\n\r\n /** Applies a shader option to every effect child. */\r\n @carbon.method\r\n @impl.implemented\r\n SetShaderOption(name, value)\r\n {\r\n for (const child of this.effectChildren) child?.SetShaderOption?.(name, value);\r\n }\r\n\r\n /** Finds a named observer or child-owned sound emitter. */\r\n @carbon.method\r\n @impl.implemented\r\n FindSoundEmitter(name)\r\n {\r\n const target = String(name ?? \"\");\r\n for (const observer of this.observers)\r\n {\r\n if ((observer?.name ?? \"\") === target)\r\n {\r\n return typeof observer.GetObserver === \"function\" ? observer.GetObserver() : observer.observer ?? null;\r\n }\r\n }\r\n for (const child of this.effectChildren)\r\n {\r\n const emitter = child?.FindSoundEmitter?.(target);\r\n if (emitter) return emitter;\r\n }\r\n return null;\r\n }\r\n\r\n /** Adds a placement observer. */\r\n @carbon.method\r\n @impl.implemented\r\n AddObserver(observer)\r\n {\r\n this.observers.push(observer);\r\n return observer;\r\n }\r\n\r\n /** Applies the mute state to effect children and placement observers. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The explicit setter replaces Carbon's Blue field-notify callback.\")\r\n SetMute(isMute)\r\n {\r\n this.mute = !!isMute;\r\n for (const child of this.effectChildren) child?.SetMute?.(this.mute);\r\n for (const observer of this.observers) observer?.SetMute(this.mute);\r\n }\r\n\r\n /** Freezes every child at Carbon's high-detail LOD. */\r\n @carbon.method\r\n @impl.implemented\r\n FreezeHighDetailMesh()\r\n {\r\n this.lodLevel = Tr2Lod.TR2_LOD_HIGH;\r\n this.#changeLOD = false;\r\n for (const child of this.effectChildren) child?.ChangeLOD?.(this.lodLevel);\r\n }\r\n\r\n /** Propagates a procedural-container variable to every effect child. */\r\n @carbon.method\r\n @impl.implemented\r\n SetProceduralContainerVariable(name, value)\r\n {\r\n for (const child of this.effectChildren) child?.SetProceduralContainerVariable?.(name, value);\r\n }\r\n\r\n /**\r\n * Builds the per-frame child update parameters naming this root as the\r\n * space-object parent, carrying its display state and a copy of the current\r\n * root matrix.\r\n */\r\n #CreateChildUpdateParams()\r\n {\r\n const params = new EveChildUpdateParams();\r\n params.spaceObjectParent = this;\r\n params.isVisible = this.display;\r\n mat4.copy(params.localToWorldTransform, this.#lastUpdateMatrix);\r\n return params;\r\n }\r\n\r\n /**\r\n * Replays every stored controller variable onto a newly added controller or\r\n * effect child through the named setter, so late additions start with the same\r\n * state.\r\n */\r\n static #ApplyControllerVariables(target, variables, methodName)\r\n {\r\n const setter = target?.[methodName];\r\n if (typeof setter !== \"function\") return;\r\n for (const [name, value] of variables) setter.call(target, name, value);\r\n }\r\n\r\n /**\r\n * Reads a numeric value from the update context, preferring a getter method\r\n * and falling back to the named properties, and yields 0 when nothing supplies\r\n * it.\r\n */\r\n static #GetContextValue(context, methodName, ...propertyNames)\r\n {\r\n const method = context?.[methodName];\r\n if (typeof method === \"function\") return Number(method.call(context)) || 0;\r\n for (const propertyName of propertyNames)\r\n {\r\n if (context?.[propertyName] !== undefined && context?.[propertyName] !== null)\r\n {\r\n return Number(context[propertyName]) || 0;\r\n }\r\n }\r\n return 0;\r\n }\r\n\r\n /**\r\n * Samples a curve into out through whichever of Update or GetValueAt it\r\n * exposes, writing the fallback when there is no curve and copying back curves\r\n * that return a new array instead of filling out.\r\n */\r\n static #UpdateCurve(curve, time, out, fallback)\r\n {\r\n if (!curve)\r\n {\r\n for (let index = 0; index < out.length; index++) out[index] = fallback[index];\r\n return out;\r\n }\r\n let result;\r\n if (typeof curve.Update === \"function\") result = curve.Update(time, out);\r\n else if (typeof curve.GetValueAt === \"function\") result = curve.GetValueAt(time, out);\r\n if ((Array.isArray(result) || ArrayBuffer.isView(result)) && result !== out)\r\n {\r\n for (let index = 0; index < out.length; index++) out[index] = result[index];\r\n }\r\n return out;\r\n }\r\n\r\n /** Carbon's neutral hull data: full activation, unit bounding radius. */\r\n static #neutralShipData = Object.freeze([ 0, 1, 0, 1 ]);\r\n\r\n static #identity = mat4.create();\r\n static #centerTransform = mat4.create();\r\n static #bounds = box3.create();\r\n static #localSphere = vec4.create();\r\n static #worldSphere = vec4.create();\r\n static #zero = vec3.create();\r\n static #translation = vec3.create();\r\n static #modelTranslation = vec3.create();\r\n static #missOffset = vec3.create();\r\n static #missDirection = vec3.create();\r\n static #identityRotation = quat.create();\r\n static #rotation = quat.create();\r\n static #modelRotation = quat.create();\r\n static #worldRotation = quat.create();\r\n static #noAlbedo = vec4.create();\r\n\r\n static Tr2Lod = Tr2Lod;\r\n\r\n}\r\n"],"names":["_EveEffectRoot","_identity","EveEffectRoot2","EveEntity","e","_init_effectChildren","_init_extra_effectChildren","_init_estimatedSize","_init_extra_estimatedSize","_init_lodLevel","_init_extra_lodLevel","_init_mute","_init_extra_mute","_init_display","_init_extra_display","_init_name","_init_extra_name","_init_dynamicLOD","_init_extra_dynamicLOD","_init_scaling","_init_extra_scaling","_init_rotation","_init_extra_rotation","_init_translation","_init_extra_translation","_init_duration","_init_extra_duration","_init_secondaryLightingEmissiveColor","_init_extra_secondaryLightingEmissiveColor","_init_curveSets","_init_extra_curveSets","_init_lights","_init_extra_lights","_init_externalParameters","_init_extra_externalParameters","_init_controllers","_init_extra_controllers","_init_observers","_init_extra_observers","_init_rotationCurve","_init_extra_rotationCurve","_init_secondaryLightingSphereRadius","_init_extra_secondaryLightingSphereRadius","_init_boundingSphereCenter","_init_extra_boundingSphereCenter","_init_boundingSphereRadius","_init_extra_boundingSphereRadius","_init_modelTranslationCurve","_init_extra_modelTranslationCurve","_init_modelRotationCurve","_init_extra_modelRotationCurve","_init_translationCurve","_init_extra_translationCurve","_initProto","c","_initClass","_applyDecs","type","define","className","family","carbon","inherit","ITr2BoundingBox","IEveSpaceObject2","edit","persist","list","read","float32","int32","enum","notify","readwrite","boolean","string","vec3","quat","color","model","impl","adapted","reason","method","implemented","noop","effectChildren","estimatedSize","lodLevel","Tr2Lod","TR2_LOD_HIGH","mute","display","name","dynamicLOD","scaling","fromValues","rotation","create","translation","duration","secondaryLightingEmissiveColor","vec4","curveSets","lights","externalParameters","controllers","observers","rotationCurve","secondaryLightingSphereRadius","boundingSphereCenter","boundingSphereRadius","modelTranslationCurve","modelRotationCurve","translationCurve","Map","mat4","Initialize","controller","IsLinked","Link","AddController","CjsModel","addChild","RemoveController","removeChild","UpdateSyncronous","updateContext","time","UpdateWorldTransform","fromRotationTranslationScale","multiply","observer","Update","length","params","child","UpdateAsyncronous","frequency","threshold","Math","min","UpdateControllers","curveSet","renderContext","controllerUpdateFrequency","UpdateVisibility","parentTransform","GetBoundingSphere","sph3","transformMat4","frustum","GetFrustum","IsSphereVisible","Number","GetPixelSizeAccross","oldLod","TR2_LOD_LOW","medium","low","TR2_LOD_MEDIUM","GetRenderables","out","ChangeLOD","updateFrequency","set","GetBoundingSphereRadius","fromRotationTranslation","UpdateModelCenterWorldPosition","GetModelCenterWorldPosition","GetLocalBoundingBox","max","radius","GetLocalToWorldTransform","copy","GetWorldBoundingBox","bounds","box3","fromBounds","IsBoundingBoxReady","GetWorldTransform","RegisterWithQuadRenderer","quadRenderer","AddQuadsToQuadRenderer","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","Register","UnRegisterComponents","UnRegister","OnListModified","event","_key","_key2","value","masked","BELIST_EVENTMASK","BELIST_LOADING","BELIST_INSERTED","BELIST_REMOVED","Unlink","BELIST_UNLOADSTART","IsInRegistry","SetOwner","StartControllers","UnRegisterComponent","GetLights","lightManager","transform","scale","hypot","light","AddLight","push","ClearLights","GetPerObjectStructs","vsData","RawData","psData","Zero","Set","vs","ps","RegisterSecondaryLightSource","manager","subarray","UnregisterSecondaryLightSource","Start","Play","PlayAllCurveSets","PlayCurveSets","Stop","StopAllCurveSets","StopCurveSets","GetDamageLocatorCount","GetDamageLocatorPosition","_index","_inWorldSpace","GetDamageLocatorDirection","GetImpactPosition","locator","_posPrev","posNow","epsilon","squaredDistance","HasImpactConfigurationShield","GetClosestDamageLocatorIndex","_position","GetGoodDamageLocatorIndex","GetRadius","CreateImpact","_damageLocatorIndex","_direction","_lifeTime","_size","UpdateImpact","_out","_impactIndex","GetWorldPosition","GetWorldRotation","getRotation","normalize","GetMissPosition","hit","source","subtract","directionLength","scaleAndAdd","dot","offsetLength","GetChildren","SetTransform","getScaling","getTranslation","PlayCurveSet","rangeName","target","String","GetName","PlayTimeRange","ResetTimeRange","StopCurveSet","UpdateCurveSet","GetCurveSetDuration","GetMaxCurveDuration","GetRangeDuration","GetDebugOptions","options","add","RenderDebugInfo","renderer","HasOption","DrawSphere","SetControllerVariable","key","next","SetVariable","HandleControllerEvent","eventName","HandleEvent","GetEffectChildByName","AddToEffectChildrenList","RemoveFromEffectChildrenList","index","indexOf","splice","SetShaderOption","FindSoundEmitter","GetObserver","emitter","AddObserver","SetMute","isMute","FreezeHighDetailMesh","SetProceduralContainerVariable","#CreateChildUpdateParams","EveChildUpdateParams","spaceObjectParent","isVisible","localToWorldTransform","#ApplyControllerVariables","variables","methodName","setter","call","#GetContextValue","context","propertyNames","propertyName","undefined","#UpdateCurve","curve","fallback","result","GetValueAt","Array","isArray","ArrayBuffer","isView","Object","freeze","constructor"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { quat } from '#math/quat';
|
|
|
4
4
|
import { sph3 } from '#math/sph3';
|
|
5
5
|
import { vec3 } from '#math/vec3';
|
|
6
6
|
import { vec4 } from '#math/vec4';
|
|
7
|
-
import {
|
|
7
|
+
import { edit, type, carbon, impl } from '#schema';
|
|
8
8
|
import { EveLODHelper } from '../EveLODHelper.js';
|
|
9
9
|
import { EveSpaceObject2 as _EveSpaceObject } from './EveSpaceObject2.js';
|
|
10
10
|
import { EveMissileWarhead as _EveMissileWarhead } from './EveMissileWarhead.js';
|
|
@@ -26,7 +26,7 @@ new class extends _identity {
|
|
|
26
26
|
} = _applyDecs2311(this, [type.define({
|
|
27
27
|
className: "EveMissile",
|
|
28
28
|
family: "eve/spaceObject"
|
|
29
|
-
})], [[[
|
|
29
|
+
})], [[[edit, edit.persist, void 0, type.list("EveMissileWarhead")], 16, "warheads"], [[edit, edit.readwrite, type, type.boolean], 16, "updateWarheads"], [[edit, edit.readwrite, void 0, type.objectRef("ITriTargetable")], 16, "target"], [[edit, edit.readwrite, type, type.float32], 16, "targetRadius"], [[edit, edit.readwrite, void 0, type.rawStruct("BlueScriptCallback")], 16, "explosionCallback"], [[carbon, carbon.method, impl, impl.implemented], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "Start"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Targetable output parameters and curve samples use the org-standard out-last convention; CPU flight behavior remains source-faithful.")], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "RebuildMissileBoundingSphere"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The missile owns no renderable; its warheads publish their own backend-neutral records.")], 18, "GetPerObjectData"]], 0, void 0, _EveSpaceObject));
|
|
30
30
|
}
|
|
31
31
|
warheads = (_initProto(this), _init_warheads(this, []));
|
|
32
32
|
updateWarheads = (_init_extra_warheads(this), _init_updateWarheads(this, true));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EveMissile.js","sources":["../../../../../src/trinity/eve/spaceObject/EveMissile.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/EveMissile.h\r\n// Source: trinity/trinity/Eve/SpaceObject/EveMissile.cpp\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { quat } from \"#math/quat\";\r\nimport { sph3 } from \"#math/sph3\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { EveLODHelper, Tr2Lod } from \"../EveLODHelper.js\";\r\nimport { EveSpaceObject2 } from \"./EveSpaceObject2.js\";\r\nimport { EveMissileWarhead } from \"./EveMissileWarhead.js\";\r\n\r\n\r\n/**\r\n * A missile in flight: the curve-driven ball path plus the warheads that ride\r\n * it, own the targeting state and supply all of its renderables and bounds.\r\n */\r\n@type.define({ className: \"EveMissile\", family: \"eve/spaceObject\" })\r\nexport class EveMissile extends EveSpaceObject2\r\n{\r\n @io.persist @type.list(\"EveMissileWarhead\") warheads = [];\r\n @io.readwrite @type.boolean updateWarheads = true;\r\n @io.readwrite @type.objectRef(\"ITriTargetable\") target = null;\r\n @io.readwrite @type.float32 targetRadius = 0;\r\n @io.readwrite @type.rawStruct(\"BlueScriptCallback\") explosionCallback = null;\r\n\r\n #inheritedStartVelocity = vec3.create();\r\n #inheritedVelocity = vec3.create();\r\n #time = 0;\r\n #estimatedTotalAliveTime = 1;\r\n #lastValidSpeed = 0;\r\n\r\n /**\r\n * Runs the base initialization and silences all warhead particle emitting\r\n * until launch.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n super.Initialize();\r\n for (const warhead of this.warheads) warhead?.EnableParticleEmitting?.(false);\r\n return true;\r\n }\r\n\r\n /**\r\n * Arms the missile for a new flight: latches the launching ship's velocity and\r\n * the estimated flying time, resets the flight clock, and silences warhead\r\n * emitting.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Start(shipVelocity, estimatedFlyingTime)\r\n {\r\n vec3.copy(this.#inheritedVelocity, shipVelocity ?? EveMissile.#zero);\r\n this.#estimatedTotalAliveTime = Number(estimatedFlyingTime) || 0;\r\n for (const warhead of this.warheads) warhead?.EnableParticleEmitting?.(false);\r\n this.#time = 0;\r\n vec3.copy(this.#inheritedStartVelocity, this.#inheritedVelocity);\r\n this.#lastValidSpeed = 0;\r\n }\r\n\r\n /**\r\n * Samples the flight path and its derivative to keep the estimated\r\n * time-to-target current, then for each live warhead advances the state\r\n * machine, hands it the target locator offset in missile space, integrates its\r\n * flight and fires the explosion callback on detonation, and finally rebuilds\r\n * the missile bounding sphere from the warheads.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Targetable output parameters and curve samples use the org-standard out-last convention; CPU flight behavior remains source-faithful.\")\r\n UpdateSyncronous(context)\r\n {\r\n super.UpdateSyncronous(context);\r\n const time = Number(context?.GetTime?.() ?? context?.currentTime ?? context?.time ?? 0);\r\n const deltaTime = Number(context?.GetDeltaT?.() ?? context?.deltaTime ?? context?.deltaT ?? 0);\r\n mat4.identity(EveMissile.#inverseBallRotation);\r\n if (this.rotationCurve)\r\n {\r\n sampleCurve(this.rotationCurve, time, EveMissile.#ballRotation, EveMissile.#identityRotation);\r\n quat.invert(EveMissile.#ballRotation, EveMissile.#ballRotation);\r\n mat4.fromQuat(EveMissile.#inverseBallRotation, EveMissile.#ballRotation);\r\n }\r\n this.#time += deltaTime;\r\n vec3.set(EveMissile.#missilePosition, 0, 0, 0);\r\n vec3.set(EveMissile.#missileVelocity, 0, 0, 0);\r\n if (this.translationCurve && this.target)\r\n {\r\n sampleCurve(this.translationCurve, time, EveMissile.#missilePosition, EveMissile.#zero);\r\n sampleDerivative(this.translationCurve, time, EveMissile.#missileVelocity);\r\n this.target.GetDamageLocatorPosition?.(-1, true, EveMissile.#targetPosition);\r\n const speed = vec3.length(EveMissile.#missileVelocity);\r\n if (speed > 0)\r\n {\r\n this.#estimatedTotalAliveTime = this.#time + (vec3.distance(EveMissile.#missilePosition, EveMissile.#targetPosition) - this.targetRadius) / speed;\r\n this.#lastValidSpeed = speed;\r\n }\r\n else if (this.#lastValidSpeed > 0)\r\n {\r\n vec3.subtract(EveMissile.#missileVelocity, EveMissile.#missilePosition, EveMissile.#targetPosition);\r\n const length = vec3.length(EveMissile.#missileVelocity);\r\n if (length) vec3.scale(EveMissile.#missileVelocity, EveMissile.#missileVelocity, this.#lastValidSpeed / length);\r\n }\r\n }\r\n\r\n vec3.copy(EveMissile.#worldPosition, this.GetWorldPosition());\r\n const originShift = context?.GetOriginShift?.() ?? context?.originShift ?? EveMissile.#zero;\r\n for (const warhead of this.warheads)\r\n {\r\n if (!warhead) continue;\r\n const event = warhead.UpdateState(deltaTime, this.#estimatedTotalAliveTime, this.target);\r\n if (warhead.GetState() !== EveMissileWarhead.State.STATE_DEAD)\r\n {\r\n vec3.copy(EveMissile.#locatorPosition, EveMissile.#worldPosition);\r\n if (this.target) this.target.GetDamageLocatorPosition?.(warhead.GetTargetLocator(), true, EveMissile.#locatorPosition);\r\n vec3.subtract(EveMissile.#locatorOffset, EveMissile.#locatorPosition, EveMissile.#worldPosition);\r\n vec3.transformMat4(EveMissile.#locatorOffset, EveMissile.#locatorOffset, EveMissile.#inverseBallRotation);\r\n mat4.fromTranslation(EveMissile.#locatorTransform, EveMissile.#locatorOffset);\r\n warhead.UpdateEndTransform(EveMissile.#locatorTransform, event === EveMissileWarhead.StateChangeEvent.EVT_SWITCH_TARGET);\r\n if (this.updateWarheads)\r\n {\r\n warhead.UpdateWarhead(deltaTime, this.#estimatedTotalAliveTime, EveMissile.#missileVelocity, this.#inheritedVelocity, EveMissile.#inverseBallRotation, this.worldTransform, originShift);\r\n }\r\n warhead.Update(context);\r\n }\r\n const impactEvent = warhead.CheckImpact(deltaTime, this.#estimatedTotalAliveTime, this.target);\r\n if (impactEvent === EveMissileWarhead.StateChangeEvent.EVT_EXPLODE) callExplosionCallback(this.explosionCallback, warhead.GetWarheadID());\r\n }\r\n this.RebuildMissileBoundingSphere();\r\n return true;\r\n }\r\n\r\n /**\r\n * Runs each warhead's visibility pass against the missile world transform\r\n * composed with that warhead's offset, and merges the warheads' LOD levels\r\n * into the missile's.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(context, _parentTransform = EveMissile.#identity)\r\n {\r\n for (const warhead of this.warheads)\r\n {\r\n if (!warhead) continue;\r\n mat4.multiply(EveMissile.#warheadTransform, this.worldTransform, warhead.GetCurrentOffsetTransform());\r\n warhead.UpdateVisibility(context, EveMissile.#warheadTransform);\r\n this.lodLevel = EveLODHelper.MergeLOD(this.lodLevel, warhead.GetLODLevel?.() ?? Tr2Lod.TR2_LOD_UNSPECIFIED);\r\n }\r\n return true;\r\n }\r\n\r\n /** Collects only the warheads' renderables - the missile itself owns no mesh. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n for (const warhead of this.warheads) warhead?.GetRenderables(out);\r\n return out;\r\n }\r\n\r\n /**\r\n * Writes the missile's world-space bounding sphere, built from the\r\n * warhead-derived local sphere and the missile world transform.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n vec4.set(EveMissile.#localSphere, this.boundingSphereCenter[0], this.boundingSphereCenter[1], this.boundingSphereCenter[2], this.boundingSphereRadius);\r\n sph3.transformMat4(out, EveMissile.#localSphere, this.worldTransform);\r\n return true;\r\n }\r\n\r\n /**\r\n * Recomputes the missile's local bounding sphere as the union of its warheads'\r\n * local spheres.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n RebuildMissileBoundingSphere()\r\n {\r\n vec4.set(EveMissile.#mergedSphere, 0, 0, 0, 0);\r\n for (const warhead of this.warheads)\r\n {\r\n if (!warhead?.GetLocalBoundingSphere?.(EveMissile.#warheadSphere)) continue;\r\n sph3.union(EveMissile.#mergedSphere, EveMissile.#mergedSphere, EveMissile.#warheadSphere);\r\n }\r\n vec3.set(this.boundingSphereCenter, EveMissile.#mergedSphere[0], EveMissile.#mergedSphere[1], EveMissile.#mergedSphere[2]);\r\n this.boundingSphereRadius = EveMissile.#mergedSphere[3];\r\n return true;\r\n }\r\n\r\n /**\r\n * Returns null: the missile owns no renderable, so each warhead publishes its\r\n * own per-object record.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The missile owns no renderable; its warheads publish their own backend-neutral records.\")\r\n GetPerObjectData()\r\n {\r\n return null;\r\n }\r\n\r\n static #zero = vec3.create();\r\n static #identity = mat4.create();\r\n static #identityRotation = quat.create();\r\n static #ballRotation = quat.create();\r\n static #inverseBallRotation = mat4.create();\r\n static #missilePosition = vec3.create();\r\n static #missileVelocity = vec3.create();\r\n static #targetPosition = vec3.create();\r\n static #worldPosition = vec3.create();\r\n static #locatorPosition = vec3.create();\r\n static #locatorOffset = vec3.create();\r\n static #locatorTransform = mat4.create();\r\n static #warheadTransform = mat4.create();\r\n static #localSphere = vec4.create();\r\n static #warheadSphere = vec4.create();\r\n static #mergedSphere = vec4.create();\r\n}\r\n\r\nfunction sampleCurve(curve, time, out, fallback)\r\n{\r\n const value = curve?.GetValueAt?.(time, out) ?? curve?.Update?.(time, out);\r\n if (value?.length >= out.length && value !== out) out.set(value);\r\n else if (value === undefined && !curve?.GetValueAt && !curve?.Update) out.set(fallback);\r\n return out;\r\n}\r\n\r\nfunction sampleDerivative(curve, time, out)\r\n{\r\n const value = curve?.GetValueDotAt?.(time, out);\r\n if (value?.length >= 3 && value !== out) vec3.copy(out, value);\r\n else if (!curve?.GetValueDotAt) vec3.set(out, 0, 0, 0);\r\n return out;\r\n}\r\n\r\nfunction callExplosionCallback(callback, id)\r\n{\r\n if (typeof callback === \"function\") callback(id);\r\n else callback?.CallVoid?.(id);\r\n}\r\n"],"names":["_EveMissile","_identity","EveMissile","EveSpaceObject2","e","_init_warheads","_init_extra_warheads","_init_updateWarheads","_init_extra_updateWarheads","_init_target","_init_extra_target","_init_targetRadius","_init_extra_targetRadius","_init_explosionCallback","_init_extra_explosionCallback","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","list","readwrite","boolean","objectRef","float32","rawStruct","carbon","method","impl","implemented","adapted","reason","warheads","updateWarheads","target","targetRadius","explosionCallback","vec3","create","Initialize","warhead","EnableParticleEmitting","Start","shipVelocity","estimatedFlyingTime","copy","Number","UpdateSyncronous","context","time","GetTime","currentTime","deltaTime","GetDeltaT","deltaT","mat4","identity","rotationCurve","sampleCurve","quat","invert","fromQuat","set","translationCurve","sampleDerivative","GetDamageLocatorPosition","speed","length","distance","subtract","scale","GetWorldPosition","originShift","GetOriginShift","event","UpdateState","GetState","EveMissileWarhead","State","STATE_DEAD","GetTargetLocator","transformMat4","fromTranslation","UpdateEndTransform","StateChangeEvent","EVT_SWITCH_TARGET","UpdateWarhead","worldTransform","Update","impactEvent","CheckImpact","EVT_EXPLODE","callExplosionCallback","GetWarheadID","RebuildMissileBoundingSphere","UpdateVisibility","_parentTransform","multiply","GetCurrentOffsetTransform","lodLevel","EveLODHelper","MergeLOD","GetLODLevel","Tr2Lod","TR2_LOD_UNSPECIFIED","GetRenderables","out","GetBoundingSphere","vec4","boundingSphereCenter","boundingSphereRadius","sph3","GetLocalBoundingSphere","union","GetPerObjectData","constructor","curve","fallback","value","GetValueAt","undefined","GetValueDotAt","callback","id","CallVoid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EveMissile.js","sources":["../../../../../src/trinity/eve/spaceObject/EveMissile.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/EveMissile.h\r\n// Source: trinity/trinity/Eve/SpaceObject/EveMissile.cpp\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { quat } from \"#math/quat\";\r\nimport { sph3 } from \"#math/sph3\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { EveLODHelper, Tr2Lod } from \"../EveLODHelper.js\";\r\nimport { EveSpaceObject2 } from \"./EveSpaceObject2.js\";\r\nimport { EveMissileWarhead } from \"./EveMissileWarhead.js\";\r\n\r\n\r\n/**\r\n * A missile in flight: the curve-driven ball path plus the warheads that ride\r\n * it, own the targeting state and supply all of its renderables and bounds.\r\n */\r\n@type.define({ className: \"EveMissile\", family: \"eve/spaceObject\" })\r\nexport class EveMissile extends EveSpaceObject2\r\n{\r\n @edit.persist @type.list(\"EveMissileWarhead\") warheads = [];\r\n @edit.readwrite @type.boolean updateWarheads = true;\r\n @edit.readwrite @type.objectRef(\"ITriTargetable\") target = null;\r\n @edit.readwrite @type.float32 targetRadius = 0;\r\n @edit.readwrite @type.rawStruct(\"BlueScriptCallback\") explosionCallback = null;\r\n\r\n #inheritedStartVelocity = vec3.create();\r\n #inheritedVelocity = vec3.create();\r\n #time = 0;\r\n #estimatedTotalAliveTime = 1;\r\n #lastValidSpeed = 0;\r\n\r\n /**\r\n * Runs the base initialization and silences all warhead particle emitting\r\n * until launch.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n super.Initialize();\r\n for (const warhead of this.warheads) warhead?.EnableParticleEmitting?.(false);\r\n return true;\r\n }\r\n\r\n /**\r\n * Arms the missile for a new flight: latches the launching ship's velocity and\r\n * the estimated flying time, resets the flight clock, and silences warhead\r\n * emitting.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Start(shipVelocity, estimatedFlyingTime)\r\n {\r\n vec3.copy(this.#inheritedVelocity, shipVelocity ?? EveMissile.#zero);\r\n this.#estimatedTotalAliveTime = Number(estimatedFlyingTime) || 0;\r\n for (const warhead of this.warheads) warhead?.EnableParticleEmitting?.(false);\r\n this.#time = 0;\r\n vec3.copy(this.#inheritedStartVelocity, this.#inheritedVelocity);\r\n this.#lastValidSpeed = 0;\r\n }\r\n\r\n /**\r\n * Samples the flight path and its derivative to keep the estimated\r\n * time-to-target current, then for each live warhead advances the state\r\n * machine, hands it the target locator offset in missile space, integrates its\r\n * flight and fires the explosion callback on detonation, and finally rebuilds\r\n * the missile bounding sphere from the warheads.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Targetable output parameters and curve samples use the org-standard out-last convention; CPU flight behavior remains source-faithful.\")\r\n UpdateSyncronous(context)\r\n {\r\n super.UpdateSyncronous(context);\r\n const time = Number(context?.GetTime?.() ?? context?.currentTime ?? context?.time ?? 0);\r\n const deltaTime = Number(context?.GetDeltaT?.() ?? context?.deltaTime ?? context?.deltaT ?? 0);\r\n mat4.identity(EveMissile.#inverseBallRotation);\r\n if (this.rotationCurve)\r\n {\r\n sampleCurve(this.rotationCurve, time, EveMissile.#ballRotation, EveMissile.#identityRotation);\r\n quat.invert(EveMissile.#ballRotation, EveMissile.#ballRotation);\r\n mat4.fromQuat(EveMissile.#inverseBallRotation, EveMissile.#ballRotation);\r\n }\r\n this.#time += deltaTime;\r\n vec3.set(EveMissile.#missilePosition, 0, 0, 0);\r\n vec3.set(EveMissile.#missileVelocity, 0, 0, 0);\r\n if (this.translationCurve && this.target)\r\n {\r\n sampleCurve(this.translationCurve, time, EveMissile.#missilePosition, EveMissile.#zero);\r\n sampleDerivative(this.translationCurve, time, EveMissile.#missileVelocity);\r\n this.target.GetDamageLocatorPosition?.(-1, true, EveMissile.#targetPosition);\r\n const speed = vec3.length(EveMissile.#missileVelocity);\r\n if (speed > 0)\r\n {\r\n this.#estimatedTotalAliveTime = this.#time + (vec3.distance(EveMissile.#missilePosition, EveMissile.#targetPosition) - this.targetRadius) / speed;\r\n this.#lastValidSpeed = speed;\r\n }\r\n else if (this.#lastValidSpeed > 0)\r\n {\r\n vec3.subtract(EveMissile.#missileVelocity, EveMissile.#missilePosition, EveMissile.#targetPosition);\r\n const length = vec3.length(EveMissile.#missileVelocity);\r\n if (length) vec3.scale(EveMissile.#missileVelocity, EveMissile.#missileVelocity, this.#lastValidSpeed / length);\r\n }\r\n }\r\n\r\n vec3.copy(EveMissile.#worldPosition, this.GetWorldPosition());\r\n const originShift = context?.GetOriginShift?.() ?? context?.originShift ?? EveMissile.#zero;\r\n for (const warhead of this.warheads)\r\n {\r\n if (!warhead) continue;\r\n const event = warhead.UpdateState(deltaTime, this.#estimatedTotalAliveTime, this.target);\r\n if (warhead.GetState() !== EveMissileWarhead.State.STATE_DEAD)\r\n {\r\n vec3.copy(EveMissile.#locatorPosition, EveMissile.#worldPosition);\r\n if (this.target) this.target.GetDamageLocatorPosition?.(warhead.GetTargetLocator(), true, EveMissile.#locatorPosition);\r\n vec3.subtract(EveMissile.#locatorOffset, EveMissile.#locatorPosition, EveMissile.#worldPosition);\r\n vec3.transformMat4(EveMissile.#locatorOffset, EveMissile.#locatorOffset, EveMissile.#inverseBallRotation);\r\n mat4.fromTranslation(EveMissile.#locatorTransform, EveMissile.#locatorOffset);\r\n warhead.UpdateEndTransform(EveMissile.#locatorTransform, event === EveMissileWarhead.StateChangeEvent.EVT_SWITCH_TARGET);\r\n if (this.updateWarheads)\r\n {\r\n warhead.UpdateWarhead(deltaTime, this.#estimatedTotalAliveTime, EveMissile.#missileVelocity, this.#inheritedVelocity, EveMissile.#inverseBallRotation, this.worldTransform, originShift);\r\n }\r\n warhead.Update(context);\r\n }\r\n const impactEvent = warhead.CheckImpact(deltaTime, this.#estimatedTotalAliveTime, this.target);\r\n if (impactEvent === EveMissileWarhead.StateChangeEvent.EVT_EXPLODE) callExplosionCallback(this.explosionCallback, warhead.GetWarheadID());\r\n }\r\n this.RebuildMissileBoundingSphere();\r\n return true;\r\n }\r\n\r\n /**\r\n * Runs each warhead's visibility pass against the missile world transform\r\n * composed with that warhead's offset, and merges the warheads' LOD levels\r\n * into the missile's.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(context, _parentTransform = EveMissile.#identity)\r\n {\r\n for (const warhead of this.warheads)\r\n {\r\n if (!warhead) continue;\r\n mat4.multiply(EveMissile.#warheadTransform, this.worldTransform, warhead.GetCurrentOffsetTransform());\r\n warhead.UpdateVisibility(context, EveMissile.#warheadTransform);\r\n this.lodLevel = EveLODHelper.MergeLOD(this.lodLevel, warhead.GetLODLevel?.() ?? Tr2Lod.TR2_LOD_UNSPECIFIED);\r\n }\r\n return true;\r\n }\r\n\r\n /** Collects only the warheads' renderables - the missile itself owns no mesh. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n for (const warhead of this.warheads) warhead?.GetRenderables(out);\r\n return out;\r\n }\r\n\r\n /**\r\n * Writes the missile's world-space bounding sphere, built from the\r\n * warhead-derived local sphere and the missile world transform.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n vec4.set(EveMissile.#localSphere, this.boundingSphereCenter[0], this.boundingSphereCenter[1], this.boundingSphereCenter[2], this.boundingSphereRadius);\r\n sph3.transformMat4(out, EveMissile.#localSphere, this.worldTransform);\r\n return true;\r\n }\r\n\r\n /**\r\n * Recomputes the missile's local bounding sphere as the union of its warheads'\r\n * local spheres.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n RebuildMissileBoundingSphere()\r\n {\r\n vec4.set(EveMissile.#mergedSphere, 0, 0, 0, 0);\r\n for (const warhead of this.warheads)\r\n {\r\n if (!warhead?.GetLocalBoundingSphere?.(EveMissile.#warheadSphere)) continue;\r\n sph3.union(EveMissile.#mergedSphere, EveMissile.#mergedSphere, EveMissile.#warheadSphere);\r\n }\r\n vec3.set(this.boundingSphereCenter, EveMissile.#mergedSphere[0], EveMissile.#mergedSphere[1], EveMissile.#mergedSphere[2]);\r\n this.boundingSphereRadius = EveMissile.#mergedSphere[3];\r\n return true;\r\n }\r\n\r\n /**\r\n * Returns null: the missile owns no renderable, so each warhead publishes its\r\n * own per-object record.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The missile owns no renderable; its warheads publish their own backend-neutral records.\")\r\n GetPerObjectData()\r\n {\r\n return null;\r\n }\r\n\r\n static #zero = vec3.create();\r\n static #identity = mat4.create();\r\n static #identityRotation = quat.create();\r\n static #ballRotation = quat.create();\r\n static #inverseBallRotation = mat4.create();\r\n static #missilePosition = vec3.create();\r\n static #missileVelocity = vec3.create();\r\n static #targetPosition = vec3.create();\r\n static #worldPosition = vec3.create();\r\n static #locatorPosition = vec3.create();\r\n static #locatorOffset = vec3.create();\r\n static #locatorTransform = mat4.create();\r\n static #warheadTransform = mat4.create();\r\n static #localSphere = vec4.create();\r\n static #warheadSphere = vec4.create();\r\n static #mergedSphere = vec4.create();\r\n}\r\n\r\nfunction sampleCurve(curve, time, out, fallback)\r\n{\r\n const value = curve?.GetValueAt?.(time, out) ?? curve?.Update?.(time, out);\r\n if (value?.length >= out.length && value !== out) out.set(value);\r\n else if (value === undefined && !curve?.GetValueAt && !curve?.Update) out.set(fallback);\r\n return out;\r\n}\r\n\r\nfunction sampleDerivative(curve, time, out)\r\n{\r\n const value = curve?.GetValueDotAt?.(time, out);\r\n if (value?.length >= 3 && value !== out) vec3.copy(out, value);\r\n else if (!curve?.GetValueDotAt) vec3.set(out, 0, 0, 0);\r\n return out;\r\n}\r\n\r\nfunction callExplosionCallback(callback, id)\r\n{\r\n if (typeof callback === \"function\") callback(id);\r\n else callback?.CallVoid?.(id);\r\n}\r\n"],"names":["_EveMissile","_identity","EveMissile","EveSpaceObject2","e","_init_warheads","_init_extra_warheads","_init_updateWarheads","_init_extra_updateWarheads","_init_target","_init_extra_target","_init_targetRadius","_init_extra_targetRadius","_init_explosionCallback","_init_extra_explosionCallback","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","persist","list","readwrite","boolean","objectRef","float32","rawStruct","carbon","method","impl","implemented","adapted","reason","warheads","updateWarheads","target","targetRadius","explosionCallback","vec3","create","Initialize","warhead","EnableParticleEmitting","Start","shipVelocity","estimatedFlyingTime","copy","Number","UpdateSyncronous","context","time","GetTime","currentTime","deltaTime","GetDeltaT","deltaT","mat4","identity","rotationCurve","sampleCurve","quat","invert","fromQuat","set","translationCurve","sampleDerivative","GetDamageLocatorPosition","speed","length","distance","subtract","scale","GetWorldPosition","originShift","GetOriginShift","event","UpdateState","GetState","EveMissileWarhead","State","STATE_DEAD","GetTargetLocator","transformMat4","fromTranslation","UpdateEndTransform","StateChangeEvent","EVT_SWITCH_TARGET","UpdateWarhead","worldTransform","Update","impactEvent","CheckImpact","EVT_EXPLODE","callExplosionCallback","GetWarheadID","RebuildMissileBoundingSphere","UpdateVisibility","_parentTransform","multiply","GetCurrentOffsetTransform","lodLevel","EveLODHelper","MergeLOD","GetLODLevel","Tr2Lod","TR2_LOD_UNSPECIFIED","GetRenderables","out","GetBoundingSphere","vec4","boundingSphereCenter","boundingSphereRadius","sph3","GetLocalBoundingSphere","union","GetPerObjectData","constructor","curve","fallback","value","GetValueAt","undefined","GetValueDotAt","callback","id","CallVoid"],"mappings":"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"}
|