@carbonenginejs/runtime-trinity 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -243
- package/dist/controllers/CjsControllerExpressionProgram.js +157 -0
- package/dist/controllers/CjsControllerExpressionProgram.js.map +1 -1
- package/dist/controllers/ITr2ControllerAction.js +57 -0
- package/dist/controllers/ITr2ControllerAction.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateCurveSet.js +10 -0
- package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateValue.js +26 -0
- package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
- package/dist/controllers/Tr2ActionBindRTPC.js +11 -0
- package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
- package/dist/controllers/Tr2ActionCallback.js +5 -0
- package/dist/controllers/Tr2ActionCallback.js.map +1 -1
- package/dist/controllers/Tr2ActionChildEffect.js +63 -0
- package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
- package/dist/controllers/Tr2ActionOverlay.js +68 -0
- package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayCurveSet.js +16 -0
- package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js +29 -0
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
- package/dist/controllers/Tr2ActionPlaySound.js +11 -0
- package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
- package/dist/controllers/Tr2ActionPython.js +11 -0
- package/dist/controllers/Tr2ActionPython.js.map +1 -1
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js +17 -0
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js +5 -0
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +5 -0
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioSwitch.js +5 -0
- package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +23 -0
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
- package/dist/controllers/Tr2ActionSetShaderOption.js +5 -0
- package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
- package/dist/controllers/Tr2ActionSetValue.js +35 -0
- package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
- package/dist/controllers/Tr2ActionSpawnParticles.js +10 -0
- package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/controllers/Tr2BindingPoint.js +67 -0
- package/dist/controllers/Tr2BindingPoint.js.map +1 -1
- package/dist/controllers/Tr2Controller.js +37 -0
- package/dist/controllers/Tr2Controller.js.map +1 -1
- package/dist/controllers/Tr2ControllerEventHandler.js +10 -0
- package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
- package/dist/controllers/Tr2ControllerExpression.js +17 -0
- package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
- package/dist/controllers/Tr2ControllerFloatVariable.js +6 -0
- package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
- package/dist/controllers/Tr2ControllerReference.js +11 -0
- package/dist/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/controllers/Tr2StateMachine.js +17 -0
- package/dist/controllers/Tr2StateMachine.js.map +1 -1
- package/dist/controllers/Tr2StateMachineState.js +47 -0
- package/dist/controllers/Tr2StateMachineState.js.map +1 -1
- package/dist/controllers/Tr2StateMachineTransition.js +29 -0
- package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
- package/dist/controllers/Tr2SyncToAnimation.js +5 -0
- package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
- package/dist/controllers/Tr2TimelineController.js +61 -0
- package/dist/controllers/Tr2TimelineController.js.map +1 -1
- package/dist/controllers/contracts.js +24 -1
- package/dist/controllers/contracts.js.map +1 -1
- package/dist/controllers/index.js +1 -1
- package/dist/curves/CjsGrannyCurves.js +150 -0
- package/dist/curves/CjsGrannyCurves.js.map +1 -1
- package/dist/curves/Tr2BoneMatrixCurve.js +23 -0
- package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
- package/dist/curves/Tr2CameraFollowCurveKey.js +6 -0
- package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2CurveColor.js +6 -0
- package/dist/curves/Tr2CurveColor.js.map +1 -1
- package/dist/curves/Tr2CurveColorMixer.js +6 -0
- package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
- package/dist/curves/Tr2CurveCombiner.js +5 -0
- package/dist/curves/Tr2CurveCombiner.js.map +1 -1
- package/dist/curves/Tr2CurveConstant.js +16 -0
- package/dist/curves/Tr2CurveConstant.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotation.js +5 -0
- package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotationExpression.js +66 -0
- package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternion.js +5 -0
- package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternionKey.js +5 -0
- package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
- package/dist/curves/Tr2CurveRandomAxisRotation.js +28 -0
- package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/curves/Tr2CurveScalar.js +35 -0
- package/dist/curves/Tr2CurveScalar.js.map +1 -1
- package/dist/curves/Tr2CurveScalarExpression.js +11 -0
- package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
- package/dist/curves/Tr2CurveScalarKey.js +6 -0
- package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
- package/dist/curves/Tr2CurveSetRange.js +5 -0
- package/dist/curves/Tr2CurveSetRange.js.map +1 -1
- package/dist/curves/Tr2CurveVector2.js +5 -0
- package/dist/curves/Tr2CurveVector2.js.map +1 -1
- package/dist/curves/Tr2CurveVector3.js +5 -0
- package/dist/curves/Tr2CurveVector3.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Expression.js +71 -0
- package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Lerp.js +6 -0
- package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
- package/dist/curves/Tr2DistanceTracker.js +6 -0
- package/dist/curves/Tr2DistanceTracker.js.map +1 -1
- package/dist/curves/Tr2FollowCurve.js +6 -0
- package/dist/curves/Tr2FollowCurve.js.map +1 -1
- package/dist/curves/Tr2GrannyEventTrack.js +5 -0
- package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTrack.js +6 -0
- package/dist/curves/Tr2GrannyTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTransformTrack.js +6 -0
- package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyVectorTrack.js +5 -0
- package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
- package/dist/curves/Tr2MatrixKey.js +5 -0
- package/dist/curves/Tr2MatrixKey.js.map +1 -1
- package/dist/curves/Tr2ObjectFollowCurveKey.js +6 -0
- package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2QuaternionLerpCurve.js +6 -0
- package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
- package/dist/curves/Tr2RotationAdapter.js +6 -0
- package/dist/curves/Tr2RotationAdapter.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKey.js +18 -0
- package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKeyCurve.js +23 -0
- package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
- package/dist/curves/Tr2ScalarFader.js +11 -0
- package/dist/curves/Tr2ScalarFader.js.map +1 -1
- package/dist/curves/Tr2TranslationAdapter.js +6 -0
- package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
- package/dist/curves/TriColorSequencer.js +6 -0
- package/dist/curves/TriColorSequencer.js.map +1 -1
- package/dist/curves/TriCurveSet.js +23 -0
- package/dist/curves/TriCurveSet.js.map +1 -1
- package/dist/curves/TriEventCurve.js +23 -0
- package/dist/curves/TriEventCurve.js.map +1 -1
- package/dist/curves/TriEventKey.js +5 -0
- package/dist/curves/TriEventKey.js.map +1 -1
- package/dist/curves/TriPerlinCurve.js +30 -0
- package/dist/curves/TriPerlinCurve.js.map +1 -1
- package/dist/curves/TriVectorSequencer.js +6 -0
- package/dist/curves/TriVectorSequencer.js.map +1 -1
- package/dist/eve/AudioGameObject.js +89 -1
- package/dist/eve/AudioGameObject.js.map +1 -1
- package/dist/eve/BackAndForthData.js +7 -0
- package/dist/eve/BackAndForthData.js.map +1 -1
- package/dist/eve/CjsDistributionRandom.js +6 -0
- package/dist/eve/CjsDistributionRandom.js.map +1 -1
- package/dist/eve/CjsEveThrottleableState.js +11 -0
- package/dist/eve/CjsEveThrottleableState.js.map +1 -1
- package/dist/eve/EveChildUpdateParams.js +7 -0
- package/dist/eve/EveChildUpdateParams.js.map +1 -1
- package/dist/eve/EveComponentTypes.js.map +1 -1
- package/dist/eve/EveCustomMask.js +58 -27
- package/dist/eve/EveCustomMask.js.map +1 -1
- package/dist/eve/EveDistanceField.js +84 -0
- package/dist/eve/EveDistanceField.js.map +1 -1
- package/dist/eve/EveEntity.js +138 -0
- package/dist/eve/EveEntity.js.map +1 -0
- package/dist/eve/EveImpactOverlay.js +61 -0
- package/dist/eve/EveImpactOverlay.js.map +1 -1
- package/dist/eve/EveLODHelper.js +17 -13
- package/dist/eve/EveLODHelper.js.map +1 -1
- package/dist/eve/EveLineData.js +2 -0
- package/dist/eve/EveLineData.js.map +1 -1
- package/dist/eve/EveThrottleable.js +11 -0
- package/dist/eve/EveThrottleable.js.map +1 -1
- package/dist/eve/FollowASplineData.js +7 -0
- package/dist/eve/FollowASplineData.js.map +1 -1
- package/dist/eve/FormationData.js +6 -0
- package/dist/eve/FormationData.js.map +1 -1
- package/dist/eve/InertiaData.js +7 -0
- package/dist/eve/InertiaData.js.map +1 -1
- package/dist/eve/PlacementDataWithIdentifier.js +7 -0
- package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
- package/dist/eve/PlayFXData.js +7 -0
- package/dist/eve/PlayFXData.js.map +1 -1
- package/dist/eve/SeekTargetData.js +7 -0
- package/dist/eve/SeekTargetData.js.map +1 -1
- package/dist/eve/{EveSpaceObjectAttachmentUtils.js → attachment/EveSpaceObjectAttachmentUtils.js} +11 -11
- package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
- package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
- package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
- package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +13 -2
- package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
- package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
- package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
- package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +204 -35
- package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
- package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +205 -12
- package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
- package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +49 -1
- package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
- package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
- package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
- package/dist/eve/{EveHazeSet.js → attachment/haze/EveHazeSet.js} +65 -6
- package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
- package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
- package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
- package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +13 -2
- package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
- package/dist/eve/attachment/itemSetBounds.js +131 -0
- package/dist/eve/attachment/itemSetBounds.js.map +1 -0
- package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +14 -2
- package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
- package/dist/eve/{EvePlaneSet.js → attachment/plane/EvePlaneSet.js} +119 -7
- package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
- package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
- package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
- package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +13 -2
- package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
- package/dist/eve/{EveSpotlightSet.js → attachment/spotlight/EveSpotlightSet.js} +86 -6
- package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
- package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +14 -2
- package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
- package/dist/eve/{EveSpriteLineSet.js → attachment/sprite/EveSpriteLineSet.js} +69 -7
- package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
- package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +29 -4
- package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
- package/dist/eve/{EveSpriteSet.js → attachment/sprite/EveSpriteSet.js} +87 -8
- package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
- package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +23 -26
- package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js +184 -2
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretSet.js +236 -7
- package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretTarget.js +112 -0
- package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/eve/camera/EveCamera.js +644 -0
- package/dist/eve/camera/EveCamera.js.map +1 -0
- package/dist/eve/child/EveChildAudio.js +63 -0
- package/dist/eve/child/EveChildAudio.js.map +1 -1
- package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
- package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
- package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +41 -3
- package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
- package/dist/eve/child/EveChildContainer.js +175 -16
- package/dist/eve/child/EveChildContainer.js.map +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
- package/dist/eve/child/EveChildFogVolume.js +72 -0
- package/dist/eve/child/EveChildFogVolume.js.map +1 -1
- package/dist/eve/child/EveChildInheritProperties.js +17 -0
- package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
- package/dist/eve/child/EveChildInstancedMeshes.js +211 -1
- package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
- package/dist/eve/child/EveChildLightingOverride.js +74 -0
- package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
- package/dist/{generated/eve → eve}/child/EveChildLink.js +17 -16
- package/dist/eve/child/EveChildLink.js.map +1 -0
- package/dist/eve/child/EveChildMesh.js +351 -105
- package/dist/eve/child/EveChildMesh.js.map +1 -1
- package/dist/eve/child/EveChildSpherePin.js +108 -0
- package/dist/eve/child/EveChildSpherePin.js.map +1 -0
- package/dist/eve/child/EveChildTransform.js +44 -1
- package/dist/eve/child/EveChildTransform.js.map +1 -1
- package/dist/eve/child/IEveSpaceObjectChild.js +5 -0
- package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
- package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
- package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
- package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
- package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
- package/dist/eve/child/behaviors/Wander.js +99 -0
- package/dist/eve/child/behaviors/Wander.js.map +1 -0
- package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
- package/dist/eve/child/behaviors/enums.js.map +1 -0
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
- package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +8 -2
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
- package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +9 -7
- package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
- package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
- package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
- package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +3 -3
- package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js +65 -0
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
- package/dist/eve/child/lineSetPaths/EveCircle.js +63 -0
- package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +24 -16
- package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +22 -19
- package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
- package/dist/eve/child/modifiers/EveChildModifierBooster.js +6 -0
- package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHalo.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +6 -0
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierSRT.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +31 -17
- package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +16 -14
- package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +11 -4
- package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +12 -12
- package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +6 -6
- package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +12 -12
- package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +8 -8
- package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +17 -17
- package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +7 -7
- package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +7 -7
- package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +17 -17
- package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +132 -3
- package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +12 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +9 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +12 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
- package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +16 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +31 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +34 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +14 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +19 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +25 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +17 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
- package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +44 -2
- package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
- package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
- package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
- package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
- package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
- package/dist/eve/index.js +117 -47
- package/dist/eve/index.js.map +1 -1
- package/dist/eve/lights/CjsLightData.js +7 -0
- package/dist/eve/lights/CjsLightData.js.map +1 -1
- package/dist/eve/lights/Tr2Light.js +41 -0
- package/dist/eve/lights/Tr2Light.js.map +1 -1
- package/dist/eve/lights/Tr2PointLight.js +5 -0
- package/dist/eve/lights/Tr2PointLight.js.map +1 -1
- package/dist/eve/lights/Tr2SpotLight.js +5 -0
- package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
- package/dist/eve/lights/Tr2TexturedPointLight.js +10 -0
- package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
- package/dist/eve/lights/lightConversion.js +29 -27
- package/dist/eve/lights/lightConversion.js.map +1 -1
- package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +20 -1
- package/dist/eve/locator/EveLocator2.js.map +1 -0
- package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +43 -1
- package/dist/eve/locator/EveLocatorSets.js.map +1 -0
- package/dist/eve/{Locator.js → locator/Locator.js} +6 -1
- package/dist/eve/locator/Locator.js.map +1 -0
- package/dist/eve/{LocatorData.js → locator/LocatorData.js} +3 -1
- package/dist/eve/locator/LocatorData.js.map +1 -0
- package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
- package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
- package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +5 -5
- package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
- package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +5 -5
- package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
- package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +6 -6
- package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
- package/dist/{generated/eve/scene → eve/particles/static}/EveSceneStaticParticles.js +70 -36
- package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
- package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
- package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js +76 -0
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +85 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +91 -0
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +36 -0
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch.js +158 -9
- package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch2.js +121 -12
- package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch3.js +261 -8
- package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/eve/scene/EveSpaceScene.js +56 -6
- package/dist/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +24 -1
- package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
- package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +74 -2
- package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
- package/dist/eve/scene/picking/EvePickingContext.js +61 -0
- package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
- package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
- package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
- package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
- package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +19 -19
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +19 -19
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +12 -12
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +12 -12
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +30 -30
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +9 -9
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +23 -23
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
- package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +26 -1
- package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +17 -1
- package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +21 -5
- package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
- package/dist/eve/socket/EveSocketParameterFilePath.js +5 -5
- package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
- package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +17 -1
- package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +17 -1
- package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +42 -2
- package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
- package/dist/eve/spaceObject/EveEffectRoot2.js +58 -31
- package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
- package/dist/eve/spaceObject/EveMissile.js +49 -1
- package/dist/eve/spaceObject/EveMissile.js.map +1 -1
- package/dist/eve/spaceObject/EveMissileWarhead.js +100 -1
- package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
- package/dist/eve/spaceObject/EveMobile.js +104 -0
- package/dist/eve/spaceObject/EveMobile.js.map +1 -1
- package/dist/eve/spaceObject/EveRootTransform.js +17 -0
- package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
- package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +32 -12
- package/dist/eve/spaceObject/EveShip2.js.map +1 -0
- package/dist/eve/spaceObject/EveSpaceObject2.js +726 -199
- package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/eve/spaceObject/EveTransform.js +100 -4
- package/dist/eve/spaceObject/EveTransform.js.map +1 -1
- package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
- package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
- package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
- package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
- package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
- package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
- package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
- package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
- package/dist/{generated/eve/spaceObject → eve/spaceObject/planet}/EvePlanet.js +2 -2
- package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
- package/dist/{generated/eve → eve}/spaceObject/swarm/EveSwarmRenderable.js +102 -64
- package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
- package/dist/eve/ui/EveEllipseDefinition.js +15 -0
- package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
- package/dist/eve/ui/EveEllipseSet.js +42 -0
- package/dist/eve/ui/EveEllipseSet.js.map +1 -1
- package/dist/{generated/eve → eve}/ui/EveSpherePin.js +76 -11
- package/dist/eve/ui/EveSpherePin.js.map +1 -0
- package/dist/eve/ui/EveSprite2dBracket.js +5 -0
- package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
- package/dist/eve/ui/EveUiObject.js +11 -0
- package/dist/eve/ui/EveUiObject.js.map +1 -1
- package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +67 -6
- package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
- package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
- package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
- package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +22 -2
- package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
- package/dist/eve/virtualCamera/EveVirtualCamera.js +152 -0
- package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +65 -0
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +19 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +29 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +15 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +38 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +18 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +11 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +14 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +16 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +36 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +36 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +11 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +37 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
- package/dist/eve/volume/EveBoxVolume.js +59 -0
- package/dist/eve/volume/EveBoxVolume.js.map +1 -1
- package/dist/eve/volume/EveEllipsoidVolume.js +54 -0
- package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
- package/dist/eve/volume/EveSphereVolume.js +34 -0
- package/dist/eve/volume/EveSphereVolume.js.map +1 -1
- package/dist/generated/eve/child/EveChildCloud2.js +138 -138
- package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/generated/eve/child/EveChildParticleSystem.js +10 -4
- package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/generated/eve/child/EveChildSocket.js +1 -1
- package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BackAndForth.js +14 -17
- package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js +2 -2
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +26 -29
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
- package/dist/generated/eve/child/behaviors/FollowASpline.js +13 -17
- package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
- package/dist/generated/eve/child/behaviors/PlayFX.js +14 -14
- package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
- package/dist/generated/eve/child/behaviors/index.js +0 -6
- package/dist/generated/eve/child/behaviors/index.js.map +1 -1
- package/dist/generated/eve/child/index.js +0 -23
- package/dist/generated/eve/child/index.js.map +1 -1
- package/dist/generated/eve/effect/index.js +0 -3
- package/dist/generated/eve/effect/index.js.map +1 -1
- package/dist/generated/eve/index.js +0 -88
- package/dist/generated/eve/index.js.map +1 -1
- package/dist/generated/eve/scene/index.js +0 -6
- package/dist/generated/eve/scene/index.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +20 -20
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
- package/dist/generated/eve/smartLights/index.js +0 -8
- package/dist/generated/eve/smartLights/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/index.js +0 -4
- package/dist/generated/eve/spaceObject/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +11 -11
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
- package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
- package/dist/generated/eve/ui/index.js +0 -4
- package/dist/generated/eve/ui/index.js.map +1 -1
- package/dist/generated/index.js +0 -93
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/trinityCore/index.js +0 -5
- package/dist/generated/trinityCore/index.js.map +1 -1
- package/dist/index.js +130 -155
- package/dist/index.js.map +1 -1
- package/dist/particle/Tr2GpuSharedEmitter.js +39 -0
- package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/particle/Tr2GpuUniqueEmitter.js +5 -0
- package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
- package/dist/particle/Tr2ParticleAttractorForce.js +10 -0
- package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDirectForce.js +7 -0
- package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDragForce.js +7 -0
- package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleElementDeclaration.js +5 -0
- package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
- package/dist/particle/Tr2ParticleFluidDragForce.js +10 -0
- package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleSpring.js +10 -0
- package/dist/particle/Tr2ParticleSpring.js.map +1 -1
- package/dist/particle/Tr2ParticleVortexForce.js +10 -0
- package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
- package/dist/particle/particleElementBinding.js +12 -0
- package/dist/particle/particleElementBinding.js.map +1 -1
- package/dist/postProcess/Tr2PPBloomEffect.js +6 -0
- package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +16 -0
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPGenericEffect.js +7 -0
- package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTaaEffect.js +10 -0
- package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTonemappingEffect.js +5 -0
- package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess.js +5 -0
- package/dist/postProcess/Tr2PostProcess.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess2.js +147 -0
- package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
- package/dist/postProcess/Tr2PostProcessAttributes.js +89 -0
- package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
- package/dist/renderJob/Tr2RenderJobs.js +34 -0
- package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
- package/dist/renderJob/TriRenderJob.js +59 -0
- package/dist/renderJob/TriRenderJob.js.map +1 -1
- package/dist/renderJob/TriRenderStep.js +20 -0
- package/dist/renderJob/TriRenderStep.js.map +1 -1
- package/dist/renderJob/TriStepClear.js +18 -0
- package/dist/renderJob/TriStepClear.js.map +1 -1
- package/dist/renderJob/TriStepCopyRenderTarget.js +51 -0
- package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepEnableWireframeMode.js +9 -0
- package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
- package/dist/renderJob/TriStepGenerateMipMaps.js +9 -0
- package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
- package/dist/renderJob/TriStepPopDepthStencil.js +6 -0
- package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPopProjection.js +6 -0
- package/dist/renderJob/TriStepPopProjection.js.map +1 -1
- package/dist/renderJob/TriStepPopRenderTarget.js +12 -0
- package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPopViewTransform.js +6 -0
- package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPopViewport.js +6 -0
- package/dist/renderJob/TriStepPopViewport.js.map +1 -1
- package/dist/renderJob/TriStepPresentSwapChain.js +12 -0
- package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
- package/dist/renderJob/TriStepPushDepthStencil.js +17 -0
- package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPushProjection.js +6 -0
- package/dist/renderJob/TriStepPushProjection.js.map +1 -1
- package/dist/renderJob/TriStepPushRenderTarget.js +9 -0
- package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPushViewTransform.js +6 -0
- package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPushViewport.js +6 -0
- package/dist/renderJob/TriStepPushViewport.js.map +1 -1
- package/dist/renderJob/TriStepRemoteSync.js +17 -0
- package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
- package/dist/renderJob/TriStepResolve.js +13 -0
- package/dist/renderJob/TriStepResolve.js.map +1 -1
- package/dist/renderJob/TriStepRunJob.js +12 -0
- package/dist/renderJob/TriStepRunJob.js.map +1 -1
- package/dist/renderJob/TriStepSetDepthStencil.js +12 -0
- package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepSetProjection.js +14 -0
- package/dist/renderJob/TriStepSetProjection.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderState.js +20 -0
- package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderTarget.js +12 -0
- package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepSetStdRndStates.js +18 -0
- package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
- package/dist/renderJob/TriStepSetView.js +29 -2
- package/dist/renderJob/TriStepSetView.js.map +1 -1
- package/dist/renderJob/TriStepSetViewport.js +17 -0
- package/dist/renderJob/TriStepSetViewport.js.map +1 -1
- package/dist/renderJob/TriStepSetVisualizationMode.js +19 -0
- package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
- package/dist/shader/Tr2Effect.js +217 -2
- package/dist/shader/Tr2Effect.js.map +1 -1
- package/dist/shader/Tr2Material.js +41 -0
- package/dist/shader/Tr2Material.js.map +1 -1
- package/dist/shader/index.js +1 -11
- package/dist/shader/index.js.map +1 -1
- package/dist/shader/material/Tr2EffectLibraryParameters.js +7 -0
- package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
- package/dist/shader/material/Tr2EffectPassParameters.js +23 -0
- package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
- package/dist/shader/material/Tr2MaterialStageInput.js +15 -0
- package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
- package/dist/shader/parameter/CjsParameter.js +94 -0
- package/dist/shader/parameter/CjsParameter.js.map +1 -1
- package/dist/shader/parameter/CjsVectorParameter.js +20 -0
- package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2FloatParameter.js +53 -0
- package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js +39 -0
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Matrix4Parameter.js +54 -0
- package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +54 -0
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js +35 -0
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector2Parameter.js +86 -0
- package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector3Parameter.js +95 -0
- package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector4Parameter.js +105 -0
- package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
- package/dist/shader/parameter/TriFloatArrayParameter.js +26 -0
- package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
- package/dist/shader/parameter/TriTextureParameter.js +84 -0
- package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
- package/dist/shader/parameter/TriTransformParameter.js +2 -0
- package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
- package/dist/shader/parameter/TriVariableParameter.js +38 -0
- package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
- package/dist/shader/parameter/TriVector4.js +2 -0
- package/dist/shader/parameter/TriVector4.js.map +1 -1
- package/dist/shader/reflection/Tr2ShaderOption.js +6 -1
- package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
- package/dist/shader/support/CjsVariableStore.js +140 -0
- package/dist/shader/support/CjsVariableStore.js.map +1 -1
- package/dist/shader/support/Tr2ShaderBuffer.js +15 -0
- package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
- package/dist/trinityCore/CjsBatchManager.js +62 -2
- package/dist/trinityCore/CjsBatchManager.js.map +1 -1
- package/dist/trinityCore/GrannyBoneOffset.js +51 -0
- package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
- package/dist/trinityCore/ITriRenderBatchAccumulator.js +65 -3
- package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/Tr2DirectInstanceData.js +19 -0
- package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2ExpressionTermInfo.js +21 -0
- package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
- package/dist/trinityCore/Tr2GpuBuffer.js +5 -0
- package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
- package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +137 -8
- package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
- package/dist/trinityCore/Tr2InstancedMesh.js +52 -0
- package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
- package/dist/trinityCore/Tr2MaterialParameterStore.js +5 -0
- package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
- package/dist/trinityCore/Tr2Mesh.js +37 -0
- package/dist/trinityCore/Tr2Mesh.js.map +1 -1
- package/dist/trinityCore/Tr2MeshArea.js +78 -0
- package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
- package/dist/trinityCore/Tr2MeshBase.js +98 -2
- package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
- package/dist/trinityCore/Tr2PerObjectData.js +10 -0
- package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
- package/dist/trinityCore/Tr2PickType.js +33 -0
- package/dist/trinityCore/Tr2PickType.js.map +1 -0
- package/dist/trinityCore/Tr2RenderBatch.js +137 -0
- package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
- package/dist/trinityCore/Tr2RenderContext.js +271 -0
- package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
- package/dist/trinityCore/Tr2RuntimeInstanceData.js +179 -0
- package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2ShLightingManager.js +397 -0
- package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
- package/dist/trinityCore/Tr2VariableStore.js +26 -0
- package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
- package/dist/trinityCore/Tr2VisibilityResults.js +5 -0
- package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
- package/dist/trinityCore/TriDevice.js +5 -0
- package/dist/trinityCore/TriDevice.js.map +1 -1
- package/dist/trinityCore/TriFrustum.js +21 -14
- package/dist/trinityCore/TriFrustum.js.map +1 -1
- package/dist/trinityCore/TriObserverLocal.js +43 -0
- package/dist/trinityCore/TriObserverLocal.js.map +1 -1
- package/dist/trinityCore/TriProjection.js +86 -32
- package/dist/trinityCore/TriProjection.js.map +1 -1
- package/dist/trinityCore/TriRect.js +12 -0
- package/dist/trinityCore/TriRect.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchAccumulator.js +46 -0
- package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchMap.js +39 -2
- package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
- package/dist/trinityCore/TriSettings.js +38 -0
- package/dist/trinityCore/TriSettings.js.map +1 -1
- package/dist/trinityCore/TriVariable.js +30 -0
- package/dist/trinityCore/TriVariable.js.map +1 -1
- package/dist/trinityCore/TriView.js +16 -1
- package/dist/trinityCore/TriView.js.map +1 -1
- package/dist/trinityCore/TriViewport.js +12 -0
- package/dist/trinityCore/TriViewport.js.map +1 -1
- package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +1 -1
- package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
- package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
- package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
- package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
- package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
- package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +30 -6
- package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
- package/dist/trinityCore/binding/TriValueBinding.js +648 -0
- package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
- package/dist/trinityCore/index.js +11 -4
- package/dist/trinityCore/index.js.map +1 -1
- package/dist/trinityCore/pickRay.js +84 -0
- package/dist/trinityCore/pickRay.js.map +1 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +931 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
- package/dist/trinityCore/rawData/RawData.js +294 -38
- package/dist/trinityCore/rawData/RawData.js.map +1 -1
- package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
- package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
- package/dist/utilities/Range.js +53 -0
- package/dist/utilities/Range.js.map +1 -1
- package/docs/README.md +88 -0
- package/docs/architecture.md +162 -0
- package/docs/concepts/eve-runtime-behavior.md +86 -0
- package/docs/concepts/generated-class-lifecycle.md +116 -0
- package/docs/reference/api.md +76 -0
- package/docs/reference/classes/eve-runtime.md +106 -0
- package/docs/reference/classes/trinity-core.md +26 -0
- package/docs/reference/implementation-status.md +104 -0
- package/docs/reference/main-semantic-extraction.md +104 -0
- package/package.json +33 -24
- package/dist/eve/DecalVSPerObjectData.js +0 -34
- package/dist/eve/DecalVSPerObjectData.js.map +0 -1
- package/dist/eve/EveBannerItem.js +0 -43
- package/dist/eve/EveBannerItem.js.map +0 -1
- package/dist/eve/EveBannerLight.js.map +0 -1
- package/dist/eve/EveBannerSet.js +0 -190
- package/dist/eve/EveBannerSet.js.map +0 -1
- package/dist/eve/EveBasicPerObjectData.js +0 -31
- package/dist/eve/EveBasicPerObjectData.js.map +0 -1
- package/dist/eve/EveBoosterSet2.js.map +0 -1
- package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
- package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
- package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
- package/dist/eve/EveHazeSet.js.map +0 -1
- package/dist/eve/EveHazeSetLight.js.map +0 -1
- package/dist/eve/EveLocator2.js.map +0 -1
- package/dist/eve/EveLocatorSets.js.map +0 -1
- package/dist/eve/EveParticleDirectForce.js.map +0 -1
- package/dist/eve/EveParticleDragForce.js.map +0 -1
- package/dist/eve/EveParticleSpring.js.map +0 -1
- package/dist/eve/EvePerObjectPSData.js +0 -29
- package/dist/eve/EvePerObjectPSData.js.map +0 -1
- package/dist/eve/EvePerObjectVSData.js +0 -29
- package/dist/eve/EvePerObjectVSData.js.map +0 -1
- package/dist/eve/EvePlaneLight.js.map +0 -1
- package/dist/eve/EvePlaneSet.js.map +0 -1
- package/dist/eve/EvePlaneSetItem.js +0 -45
- package/dist/eve/EvePlaneSetItem.js.map +0 -1
- package/dist/eve/EveSpaceObjectAttachmentUtils.js.map +0 -1
- package/dist/eve/EveSpaceObjectDecal.js +0 -150
- package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
- package/dist/eve/EveSpaceObjectPSData.js +0 -73
- package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
- package/dist/eve/EveSpaceObjectVSData.js +0 -79
- package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
- package/dist/eve/EveSpacePerObjectData.js +0 -97
- package/dist/eve/EveSpacePerObjectData.js.map +0 -1
- package/dist/eve/EveSpherePinPerObjectData.js +0 -37
- package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
- package/dist/eve/EveSpotlightLight.js.map +0 -1
- package/dist/eve/EveSpotlightSet.js.map +0 -1
- package/dist/eve/EveSpriteLight.js.map +0 -1
- package/dist/eve/EveSpriteLineSet.js.map +0 -1
- package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
- package/dist/eve/EveSpriteSet.js.map +0 -1
- package/dist/eve/EveTrailsSet.js.map +0 -1
- package/dist/eve/Locator.js.map +0 -1
- package/dist/eve/LocatorData.js.map +0 -1
- package/dist/eve/ProcessLifetimeData.js.map +0 -1
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
- package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
- package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
- package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
- package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
- package/dist/generated/eve/EveCamera.js +0 -264
- package/dist/generated/eve/EveCamera.js.map +0 -1
- package/dist/generated/eve/EveEntity.js +0 -81
- package/dist/generated/eve/EveEntity.js.map +0 -1
- package/dist/generated/eve/attachment/decal/index.js +0 -2
- package/dist/generated/eve/attachment/decal/index.js.map +0 -1
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/haze/index.js +0 -2
- package/dist/generated/eve/attachment/haze/index.js.map +0 -1
- package/dist/generated/eve/attachment/index.js +0 -5
- package/dist/generated/eve/attachment/index.js.map +0 -1
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/spotlights/index.js +0 -2
- package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
- package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/sprites/index.js +0 -2
- package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/enums.js +0 -32
- package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/index.js +0 -2
- package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
- package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
- package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
- package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
- package/dist/generated/eve/child/EveChildLink.js.map +0 -1
- package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
- package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
- package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
- package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
- package/dist/generated/eve/child/behaviors/Wander.js +0 -92
- package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
- package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
- package/dist/generated/eve/child/modifiers/index.js +0 -5
- package/dist/generated/eve/child/modifiers/index.js.map +0 -1
- package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
- package/dist/generated/eve/child/procedural/index.js +0 -10
- package/dist/generated/eve/child/procedural/index.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/index.js +0 -9
- package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
- package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
- package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
- package/dist/generated/eve/distribution/index.js +0 -19
- package/dist/generated/eve/distribution/index.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
- package/dist/generated/eve/distribution/placement/index.js +0 -4
- package/dist/generated/eve/distribution/placement/index.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
- package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/index.js +0 -7
- package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
- package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
- package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
- package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
- package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
- package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
- package/dist/generated/eve/fxAttributes/index.js +0 -3
- package/dist/generated/eve/fxAttributes/index.js.map +0 -1
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
- package/dist/generated/eve/overlays/index.js +0 -2
- package/dist/generated/eve/overlays/index.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/index.js +0 -5
- package/dist/generated/eve/perObjectData/index.js.map +0 -1
- package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
- package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
- package/dist/generated/eve/scene/EvePickingContext.js +0 -43
- package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
- package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
- package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
- package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
- package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
- package/dist/generated/eve/socket/index.js +0 -10
- package/dist/generated/eve/socket/index.js.map +0 -1
- package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
- package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
- package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
- package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
- package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
- package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
- package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
- package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
- package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
- package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
- package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
- package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
- package/dist/generated/trinityCore/TriValueBinding.js +0 -249
- package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
- package/dist/shader/Tr2Shader.js +0 -150
- package/dist/shader/Tr2Shader.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
- package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
- package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
- package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
- package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectResource.js +0 -63
- package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
- package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
- package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
- package/dist/shader/reflection/Tr2Pass.js +0 -46
- package/dist/shader/reflection/Tr2Pass.js.map +0 -1
- package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
- package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
- package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
- package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
- package/dist/trinityCore/rawData/RawDataStore.js +0 -232
- package/dist/trinityCore/rawData/RawDataStore.js.map +0 -1
- /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
- /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
|
@@ -5,14 +5,19 @@ import { sph3 } from '@carbonenginejs/runtime-utils/sph3';
|
|
|
5
5
|
import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
|
|
6
6
|
import { vec4 } from '@carbonenginejs/runtime-utils/vec4';
|
|
7
7
|
import { io, type, impl, carbon, schema } from '@carbonenginejs/runtime-utils/schema';
|
|
8
|
-
import { EveEntity as _EveEntity } from '
|
|
8
|
+
import { EveEntity as _EveEntity } from '../EveEntity.js';
|
|
9
9
|
import { EveChildUpdateParams as _EveChildUpdateParams } from '../EveChildUpdateParams.js';
|
|
10
|
-
import { Tr2Lod } from '
|
|
11
|
-
import {
|
|
12
|
-
import { EveSpaceObjectVSData as _EveSpaceObjectVSData } from '../EveSpaceObjectVSData.js';
|
|
10
|
+
import { Tr2Lod } from '@carbonenginejs/runtime-utils/const/trinity';
|
|
11
|
+
import { RawData } from '../../trinityCore/rawData/RawData.js';
|
|
13
12
|
import { EveComponentType } from '../EveComponentTypes.js';
|
|
14
13
|
|
|
15
14
|
let _initProto, _initClass, _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;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* A standalone effect root: curve-driven placement plus the effect children,
|
|
18
|
+
* lights, controllers, curve sets and observers that make up an effect not
|
|
19
|
+
* attached to a hull.
|
|
20
|
+
*/
|
|
16
21
|
let _EveEffectRoot;
|
|
17
22
|
new class extends _identity {
|
|
18
23
|
static [class EveEffectRoot2 extends _EveEntity {
|
|
@@ -23,7 +28,7 @@ new class extends _identity {
|
|
|
23
28
|
} = _applyDecs2311(this, [type.define({
|
|
24
29
|
className: "EveEffectRoot2",
|
|
25
30
|
family: "eve/spaceObject"
|
|
26
|
-
})], [[[io, io.persist, void 0, type.list("IEveSpaceObjectChild")], 16, "effectChildren"], [[io, io.read, type, type.float32], 16, "estimatedSize"], [[io, io.read, type, type.int32, void 0, schema.enum("Tr2Lod")], 16, "lodLevel"], [[io, io.notify, io, io.readwrite, type, type.boolean], 16, "mute"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.boolean], 16, "dynamicLOD"], [[io, io.persist, type, type.vec3], 16, "scaling"], [[io, io.persist, type, type.quat], 16, "rotation"], [[io, io.persist, type, type.vec3], 16, "translation"], [[io, io.persist, type, type.float32], 16, "duration"], [[io, io.persist, type, type.color], 16, "secondaryLightingEmissiveColor"], [[io, io.persist, void 0, type.list("TriCurveSet")], 16, "curveSets"], [[io, io.persist, void 0, type.list("Tr2Light")], 16, "lights"], [[io, io.persist, void 0, type.list("Tr2ExternalParameter")], 16, "externalParameters"], [[io, io.persist, void 0, type.list("ITr2Controller")], 16, "controllers"], [[io, io.persist, void 0, type.list("TriObserverLocal")], 16, "observers"], [[io, io.persist, void 0, type.model("ITriQuaternionFunction")], 16, "rotationCurve"], [[io, io.persist, type, type.float32], 16, "secondaryLightingSphereRadius"], [[impl, impl.adapted, void 0, impl.reason("The schema scanner omits MAPFLOATARRAYSIZE; Carbon exposes the three persisted center components separately from radius."), io, io.persist, type, type.vec3], 16, "boundingSphereCenter"], [[io, io.persist, type, type.float32], 16, "boundingSphereRadius"], [[io, io.persist, void 0, type.model("ITriVectorFunction")], 16, "modelTranslationCurve"], [[io, io.persist, void 0, type.model("ITriQuaternionFunction")], 16, "modelRotationCurve"], [[io, io.persist, void 0, type.model("ITriVectorFunction")], 16, "translationCurve"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Blue root locking is represented by the hydrated JavaScript object identity.")], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Plain JavaScript arrays have no Blue IList notifications, so insertion behavior is explicit.")], 18, "AddController"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Plain JavaScript arrays have no Blue IList notifications, so removal behavior is explicit.")], 18, "RemoveController"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon task and lock ownership is omitted; child update parameters retain the source graph contract.")], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Controller and child work is forwarded synchronously through the GPU-free graph instead of Carbon task groups.")], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Frustum and threshold state is supplied by the explicit update context rather than renderer globals.")], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateControllers"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphereRadius"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Curve outputs use CarbonEngineJS's time-first, output-second convention.")], 18, "UpdateWorldTransform"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses an out-last signature for output parameters.")], 18, "UpdateModelCenterWorldPosition"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses an out-last signature for output parameters.")], 18, "GetModelCenterWorldPosition"], [[carbon, carbon.method, impl, impl.noop], 18, "GetLocalBoundingBox"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS returns the caller-owned output matrix.")], 18, "GetLocalToWorldTransform"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's protected member access becomes a copying accessor; JS has no protected fields and the live buffer stays private.")], 18, "GetWorldTransform"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The quad renderer is an injected engine-owned capability.")], 18, "RegisterWithQuadRenderer"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The quad renderer is an injected engine-owned capability.")], 18, "AddQuadsToQuadRenderer"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The light manager is an injected engine-owned capability.")], 18, "GetLights"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddLight"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearLights"], [[carbon, carbon.method, impl, impl.
|
|
31
|
+
})], [[[io, io.persist, void 0, type.list("IEveSpaceObjectChild")], 16, "effectChildren"], [[io, io.read, type, type.float32], 16, "estimatedSize"], [[io, io.read, type, type.int32, void 0, schema.enum("Tr2Lod")], 16, "lodLevel"], [[io, io.notify, io, io.readwrite, type, type.boolean], 16, "mute"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.boolean], 16, "dynamicLOD"], [[io, io.persist, type, type.vec3], 16, "scaling"], [[io, io.persist, type, type.quat], 16, "rotation"], [[io, io.persist, type, type.vec3], 16, "translation"], [[io, io.persist, type, type.float32], 16, "duration"], [[io, io.persist, type, type.color], 16, "secondaryLightingEmissiveColor"], [[io, io.persist, void 0, type.list("TriCurveSet")], 16, "curveSets"], [[io, io.persist, void 0, type.list("Tr2Light")], 16, "lights"], [[io, io.persist, void 0, type.list("Tr2ExternalParameter")], 16, "externalParameters"], [[io, io.persist, void 0, type.list("ITr2Controller")], 16, "controllers"], [[io, io.persist, void 0, type.list("TriObserverLocal")], 16, "observers"], [[io, io.persist, void 0, type.model("ITriQuaternionFunction")], 16, "rotationCurve"], [[io, io.persist, type, type.float32], 16, "secondaryLightingSphereRadius"], [[impl, impl.adapted, void 0, impl.reason("The schema scanner omits MAPFLOATARRAYSIZE; Carbon exposes the three persisted center components separately from radius."), io, io.persist, type, type.vec3], 16, "boundingSphereCenter"], [[io, io.persist, type, type.float32], 16, "boundingSphereRadius"], [[io, io.persist, void 0, type.model("ITriVectorFunction")], 16, "modelTranslationCurve"], [[io, io.persist, void 0, type.model("ITriQuaternionFunction")], 16, "modelRotationCurve"], [[io, io.persist, void 0, type.model("ITriVectorFunction")], 16, "translationCurve"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Blue root locking is represented by the hydrated JavaScript object identity.")], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Plain JavaScript arrays have no Blue IList notifications, so insertion behavior is explicit.")], 18, "AddController"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Plain JavaScript arrays have no Blue IList notifications, so removal behavior is explicit.")], 18, "RemoveController"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon task and lock ownership is omitted; child update parameters retain the source graph contract.")], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Controller and child work is forwarded synchronously through the GPU-free graph instead of Carbon task groups.")], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Frustum and threshold state is supplied by the explicit update context rather than renderer globals.")], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateControllers"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphereRadius"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Curve outputs use CarbonEngineJS's time-first, output-second convention.")], 18, "UpdateWorldTransform"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses an out-last signature for output parameters.")], 18, "UpdateModelCenterWorldPosition"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses an out-last signature for output parameters.")], 18, "GetModelCenterWorldPosition"], [[carbon, carbon.method, impl, impl.noop], 18, "GetLocalBoundingBox"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS returns the caller-owned output matrix.")], 18, "GetLocalToWorldTransform"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's protected member access becomes a copying accessor; JS has no protected fields and the live buffer stays private.")], 18, "GetWorldTransform"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The quad renderer is an injected engine-owned capability.")], 18, "RegisterWithQuadRenderer"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The quad renderer is an injected engine-owned capability.")], 18, "AddQuadsToQuadRenderer"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The light manager is an injected engine-owned capability.")], 18, "GetLights"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddLight"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearLights"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectStructs"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The SH lighting manager is injected; Trinity owns only the authored source values.")], 18, "RegisterSecondaryLightSource"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The SH lighting manager is injected; Trinity owns only the authored source values.")], 18, "UnregisterSecondaryLightSource"], [[carbon, carbon.method, impl, impl.implemented], 18, "Start"], [[carbon, carbon.method, impl, impl.implemented], 18, "Stop"], [[carbon, carbon.method, impl, impl.noop], 18, "GetDamageLocatorCount"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses output parameters last and returns the targetable validity flag.")], 18, "GetDamageLocatorPosition"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses output parameters last and returns the targetable validity flag.")], 18, "GetDamageLocatorDirection"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses an out-last signature for output parameters.")], 18, "GetImpactPosition"], [[carbon, carbon.method, impl, impl.noop], 18, "HasImpactConfigurationShield"], [[carbon, carbon.method, impl, impl.noop], 18, "GetClosestDamageLocatorIndex"], [[carbon, carbon.method, impl, impl.noop], 18, "GetGoodDamageLocatorIndex"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRadius"], [[carbon, carbon.method, impl, impl.noop], 18, "CreateImpact"], [[carbon, carbon.method, impl, impl.noop], 18, "UpdateImpact"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS returns the caller-owned output vector.")], 18, "GetWorldPosition"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS returns the caller-owned output quaternion.")], 18, "GetWorldRotation"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMissPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetChildren"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "PlayCurveSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "StopCurveSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateCurveSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetCurveSetDuration"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRangeDuration"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The debug renderer/options collection is an injected engine-owned capability.")], 18, "GetDebugOptions"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The debug renderer is an injected engine-owned capability.")], 18, "RenderDebugInfo"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetControllerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "HandleControllerEvent"], [[carbon, carbon.method, impl, impl.implemented], 18, "StartControllers"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetEffectChildByName"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Plain JavaScript arrays have no Blue IList notifications, so insertion behavior is explicit.")], 18, "AddToEffectChildrenList"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Plain JavaScript arrays have no Blue IList notifications, so removal behavior is explicit.")], 18, "RemoveFromEffectChildrenList"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.implemented], 18, "FindSoundEmitter"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddObserver"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The explicit setter replaces Carbon's Blue field-notify callback.")], 18, "SetMute"], [[carbon, carbon.method, impl, impl.implemented], 18, "FreezeHighDetailMesh"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetProceduralContainerVariable"]], 0, void 0, _EveEntity));
|
|
27
32
|
}
|
|
28
33
|
/** m_effectChildren (PIEveSpaceObjectChildVector) [READ, PERSIST] */
|
|
29
34
|
effectChildren = (_initProto(this), _init_effectChildren(this, []));
|
|
@@ -261,10 +266,10 @@ new class extends _identity {
|
|
|
261
266
|
return mat4.copy(out, this.#lastUpdateMatrix);
|
|
262
267
|
}
|
|
263
268
|
|
|
264
|
-
/** Protected-equivalent read of Carbon's m_worldTransform
|
|
265
|
-
* (EveEffectRoot2.h:219, protected) - the detached root transform
|
|
266
|
-
* UpdateWorldTransform evaluates, WITHOUT the local SRT composition that
|
|
267
|
-
* GetLocalToWorldTransform's #lastUpdateMatrix carries. EvePlanet reads the
|
|
269
|
+
/** Protected-equivalent read of Carbon's m_worldTransform
|
|
270
|
+
* (EveEffectRoot2.h:219, protected) - the detached root transform
|
|
271
|
+
* UpdateWorldTransform evaluates, WITHOUT the local SRT composition that
|
|
272
|
+
* GetLocalToWorldTransform's #lastUpdateMatrix carries. EvePlanet reads the
|
|
268
273
|
* member directly for the z-only depth-prepass drive (EvePlanet.cpp:137). */
|
|
269
274
|
GetWorldTransform(out = mat4.create()) {
|
|
270
275
|
return mat4.copy(out, this.#worldTransform);
|
|
@@ -281,7 +286,7 @@ new class extends _identity {
|
|
|
281
286
|
for (const child of this.effectChildren) child?.AddQuadsToQuadRenderer?.(frustum, quadRenderer);
|
|
282
287
|
}
|
|
283
288
|
|
|
284
|
-
/** Carbon EveEffectRoot2::RegisterComponents (cpp:496-513): LightOwner when
|
|
289
|
+
/** Carbon EveEffectRoot2::RegisterComponents (cpp:496-513): LightOwner when
|
|
285
290
|
* lights are authored, then forwards the effect children. Gate m_display. */
|
|
286
291
|
RegisterComponents() {
|
|
287
292
|
const registry = this.GetComponentRegistry();
|
|
@@ -295,8 +300,8 @@ new class extends _identity {
|
|
|
295
300
|
}
|
|
296
301
|
}
|
|
297
302
|
|
|
298
|
-
/** Carbon EveEffectRoot2::UnRegisterComponents (cpp:515-528): forwards the
|
|
299
|
-
* effect children only (own components were already removed by
|
|
303
|
+
/** Carbon EveEffectRoot2::UnRegisterComponents (cpp:515-528): forwards the
|
|
304
|
+
* effect children only (own components were already removed by
|
|
300
305
|
* EveEntity::UnRegister, EveEntity.cpp:90); no display re-check. */
|
|
301
306
|
UnRegisterComponents() {
|
|
302
307
|
const registry = this.GetComponentRegistry();
|
|
@@ -326,17 +331,21 @@ new class extends _identity {
|
|
|
326
331
|
this.lights.length = 0;
|
|
327
332
|
}
|
|
328
333
|
|
|
329
|
-
/**
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
334
|
+
/**
|
|
335
|
+
* Carbon EveEffectRoot2::GetPerObjectStructs (cpp:463-478): zeroes both
|
|
336
|
+
* records, then sets activation strength and bounding-sphere radius to 1. An
|
|
337
|
+
* effect root carries no hull values of its own, so a child parented to one
|
|
338
|
+
* inherits neutral data rather than nothing.
|
|
339
|
+
* @returns {{vs: RawData, ps: RawData}}
|
|
340
|
+
*/
|
|
341
|
+
GetPerObjectStructs(vsData = RawData.create("EveSpaceObjectVSData"), psData = RawData.create("EveSpaceObjectPSData")) {
|
|
342
|
+
vsData.Zero();
|
|
343
|
+
psData.Zero();
|
|
344
|
+
vsData.Set("shipData", _EveEffectRoot.#neutralShipData);
|
|
345
|
+
psData.Set("shipData", _EveEffectRoot.#neutralShipData);
|
|
337
346
|
return {
|
|
338
|
-
vsData,
|
|
339
|
-
psData
|
|
347
|
+
vs: vsData,
|
|
348
|
+
ps: psData
|
|
340
349
|
};
|
|
341
350
|
}
|
|
342
351
|
|
|
@@ -631,6 +640,12 @@ new class extends _identity {
|
|
|
631
640
|
SetProceduralContainerVariable(name, value) {
|
|
632
641
|
for (const child of this.effectChildren) child?.SetProceduralContainerVariable?.(name, value);
|
|
633
642
|
}
|
|
643
|
+
|
|
644
|
+
/**
|
|
645
|
+
* Builds the per-frame child update parameters naming this root as the
|
|
646
|
+
* space-object parent, carrying its display state and a copy of the current
|
|
647
|
+
* root matrix.
|
|
648
|
+
*/
|
|
634
649
|
#CreateChildUpdateParams() {
|
|
635
650
|
const params = new _EveChildUpdateParams();
|
|
636
651
|
params.spaceObjectParent = this;
|
|
@@ -638,6 +653,26 @@ new class extends _identity {
|
|
|
638
653
|
mat4.copy(params.localToWorldTransform, this.#lastUpdateMatrix);
|
|
639
654
|
return params;
|
|
640
655
|
}
|
|
656
|
+
|
|
657
|
+
/**
|
|
658
|
+
* Replays every stored controller variable onto a newly added controller or
|
|
659
|
+
* effect child through the named setter, so late additions start with the same
|
|
660
|
+
* state.
|
|
661
|
+
*/
|
|
662
|
+
|
|
663
|
+
/**
|
|
664
|
+
* Reads a numeric value from the update context, preferring a getter method
|
|
665
|
+
* and falling back to the named properties, and yields 0 when nothing supplies
|
|
666
|
+
* it.
|
|
667
|
+
*/
|
|
668
|
+
|
|
669
|
+
/**
|
|
670
|
+
* Samples a curve into out through whichever of Update or GetValueAt it
|
|
671
|
+
* exposes, writing the fallback when there is no curve and copying back curves
|
|
672
|
+
* that return a new array instead of filling out.
|
|
673
|
+
*/
|
|
674
|
+
|
|
675
|
+
/** Carbon's neutral hull data: full activation, unit bounding radius. */
|
|
641
676
|
}];
|
|
642
677
|
#ApplyControllerVariables(target, variables, methodName) {
|
|
643
678
|
const setter = target?.[methodName];
|
|
@@ -666,15 +701,7 @@ new class extends _identity {
|
|
|
666
701
|
}
|
|
667
702
|
return out;
|
|
668
703
|
}
|
|
669
|
-
#
|
|
670
|
-
for (const [name, value] of Object.entries(record)) {
|
|
671
|
-
if (typeof value === "number") record[name] = 0;else if (ArrayBuffer.isView(value)) value.fill(0);else if (Array.isArray(value)) {
|
|
672
|
-
for (let index = 0; index < value.length; index++) {
|
|
673
|
-
if (typeof value[index] === "number") value[index] = 0;else if (ArrayBuffer.isView(value[index])) value[index].fill(0);
|
|
674
|
-
}
|
|
675
|
-
}
|
|
676
|
-
}
|
|
677
|
-
}
|
|
704
|
+
#neutralShipData = Object.freeze([0, 1, 0, 1]);
|
|
678
705
|
#identity = mat4.create();
|
|
679
706
|
#centerTransform = mat4.create();
|
|
680
707
|
#localSphere = vec4.create();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EveEffectRoot2.js","sources":["../../../../src/eve/spaceObject/EveEffectRoot2.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveEffectRoot2.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveEffectRoot2.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveEffectRoot2_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\r\nimport { sph3 } from \"@carbonenginejs/runtime-utils/sph3\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\r\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveEntity } from \"../../generated/eve/EveEntity.js\";\r\nimport { EveChildUpdateParams } from \"../EveChildUpdateParams.js\";\r\nimport { EveLODHelper, Tr2Lod } from \"../EveLODHelper.js\";\r\nimport { EveSpaceObjectPSData } from \"../EveSpaceObjectPSData.js\";\r\nimport { EveSpaceObjectVSData } from \"../EveSpaceObjectVSData.js\";\r\nimport { EveComponentType } from \"../EveComponentTypes.js\";\r\n\r\n\r\n@type.define({ className: \"EveEffectRoot2\", family: \"eve/spaceObject\" })\r\nexport class EveEffectRoot2 extends 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 @schema.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);\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 /** Effect roots do not expose a local AABB in Carbon. */\r\n @carbon.method\r\n @impl.noop\r\n GetLocalBoundingBox(_min, _max)\r\n {\r\n return false;\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 /** 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 /** 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 /** Initializes the portable child-facing space-object records. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Native constant-buffer structs are represented by GPU-free value records.\")\r\n GetPerObjectStructs(vsData = new EveSpaceObjectVSData(), psData = new EveSpaceObjectPSData())\r\n {\r\n EveEffectRoot2.#ZeroNumericRecord(vsData);\r\n EveEffectRoot2.#ZeroNumericRecord(psData);\r\n vsData.shipData[1] = 1;\r\n vsData.shipData[3] = 1;\r\n psData.shipData[1] = 1;\r\n psData.shipData[3] = 1;\r\n return { vsData, 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)\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?.Update?.(time, time);\r\n }\r\n for (const child of this.effectChildren) child?.UpdateCurveSet?.(target, time);\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 #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 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 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 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 static #ZeroNumericRecord(record)\r\n {\r\n for (const [name, value] of Object.entries(record))\r\n {\r\n if (typeof value === \"number\") record[name] = 0;\r\n else if (ArrayBuffer.isView(value)) value.fill(0);\r\n else if (Array.isArray(value))\r\n {\r\n for (let index = 0; index < value.length; index++)\r\n {\r\n if (typeof value[index] === \"number\") value[index] = 0;\r\n else if (ArrayBuffer.isView(value[index])) value[index].fill(0);\r\n }\r\n }\r\n }\r\n }\r\n\r\n static #identity = mat4.create();\r\n static #centerTransform = mat4.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","io","persist","list","read","float32","int32","schema","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","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","_min","_max","GetLocalToWorldTransform","copy","GetWorldTransform","RegisterWithQuadRenderer","quadRenderer","AddQuadsToQuadRenderer","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","Register","UnRegisterComponents","UnRegister","GetLights","lightManager","transform","scale","hypot","light","AddLight","ClearLights","GetPerObjectStructs","vsData","EveSpaceObjectVSData","psData","EveSpaceObjectPSData","shipData","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","max","GetMaxCurveDuration","GetRangeDuration","GetDebugOptions","options","Set","add","RenderDebugInfo","renderer","HasOption","DrawSphere","SetControllerVariable","value","key","next","SetVariable","HandleControllerEvent","eventName","HandleEvent","StartControllers","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","#ZeroNumericRecord","record","Object","entries","fill","constructor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EveEffectRoot2.js","sources":["../../../../src/eve/spaceObject/EveEffectRoot2.js"],"sourcesContent":["// Source: trinity/trinity/Eve/EveEffectRoot2.h\n// Source: trinity/trinity/Eve/EveEffectRoot2.cpp\n// Source: trinity/trinity/Eve/EveEffectRoot2_Blue.cpp\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\nimport { sph3 } from \"@carbonenginejs/runtime-utils/sph3\";\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { EveEntity } from \"../EveEntity.js\";\nimport { EveChildUpdateParams } from \"../EveChildUpdateParams.js\";\nimport { EveLODHelper, Tr2Lod } from \"../EveLODHelper.js\";\nimport { RawData } from \"../../trinityCore/rawData/RawData.js\";\nimport { EveComponentType } from \"../EveComponentTypes.js\";\n\n\n/**\n * A standalone effect root: curve-driven placement plus the effect children,\n * lights, controllers, curve sets and observers that make up an effect not\n * attached to a hull.\n */\n@type.define({ className: \"EveEffectRoot2\", family: \"eve/spaceObject\" })\nexport class EveEffectRoot2 extends EveEntity\n{\n\n /** m_effectChildren (PIEveSpaceObjectChildVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"IEveSpaceObjectChild\")\n effectChildren = [];\n\n /** m_estimatedSize (float) [READ] */\n @io.read\n @type.float32\n estimatedSize = 0;\n\n /** m_lodLevel (Tr2Lod - enum Tr2Lod) [READ] */\n @io.read\n @type.int32\n @schema.enum(\"Tr2Lod\")\n lodLevel = Tr2Lod.TR2_LOD_HIGH;\n\n /** m_mute (bool) [READWRITE, NOTIFY] */\n @io.notify\n @io.readwrite\n @type.boolean\n mute = false;\n\n /** m_display (bool) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.boolean\n display = true;\n\n /** m_name (std::string) [READWRITE, PERSIST] */\n @io.persist\n @type.string\n name = \"\";\n\n /** m_dynamicLODSelection (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n dynamicLOD = false;\n\n /** m_scaling (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n scaling = vec3.fromValues(1, 1, 1);\n\n /** m_rotation (Quaternion) [READWRITE, PERSIST] */\n @io.persist\n @type.quat\n rotation = quat.create();\n\n /** m_translation (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n translation = vec3.create();\n\n /** m_effectDuration (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n duration = -1;\n\n /** m_secondaryLightingEmissiveColor (Color) [READWRITE, PERSIST] */\n @io.persist\n @type.color\n secondaryLightingEmissiveColor = vec4.create();\n\n /** m_curveSets (PTriCurveSetVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"TriCurveSet\")\n curveSets = [];\n\n /** m_lights (PTr2LightVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"Tr2Light\")\n lights = [];\n\n /** m_externalParameters (PTr2ExternalParameterVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"Tr2ExternalParameter\")\n externalParameters = [];\n\n /** m_controllers (PITr2ControllerVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"ITr2Controller\")\n controllers = [];\n\n /** m_observers (PTriObserverLocalVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"TriObserverLocal\")\n observers = [];\n\n /** m_ballRotation (ITriQuaternionFunctionPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"ITriQuaternionFunction\")\n rotationCurve = null;\n\n /** m_secondaryLightingSphereRadiusLocal (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n secondaryLightingSphereRadius = 0.5;\n\n /** m_boundingSphere.xyz, exposed by Carbon's MAPFLOATARRAYSIZE Blue mapping. */\n @impl.adapted\n @impl.reason(\"The schema scanner omits MAPFLOATARRAYSIZE; Carbon exposes the three persisted center components separately from radius.\")\n @io.persist\n @type.vec3\n boundingSphereCenter = vec3.create();\n\n /** m_boundingSphere.w (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n boundingSphereRadius = 0;\n\n /** m_modelTranslation (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"ITriVectorFunction\")\n modelTranslationCurve = null;\n\n /** m_modelRotation (ITriQuaternionFunctionPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"ITriQuaternionFunction\")\n modelRotationCurve = null;\n\n /** m_ballPosition (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"ITriVectorFunction\")\n translationCurve = null;\n\n #changeLOD = true;\n #controllerVariables = new Map();\n #lastUpdateMatrix = mat4.create();\n #localTransform = mat4.create();\n #secondaryLightingSphereRadiusWorld = 0.5;\n #worldTransform = mat4.create();\n\n /** Links authored controllers after graph hydration. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Blue root locking is represented by the hydrated JavaScript object identity.\")\n Initialize()\n {\n for (const controller of this.controllers)\n {\n if (!controller?.IsLinked?.()) controller?.Link?.(this);\n EveEffectRoot2.#ApplyControllerVariables(controller, this.#controllerVariables, \"SetVariable\");\n }\n return true;\n }\n\n /** Adds and initializes a controller through Carbon's list-notify behavior. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Plain JavaScript arrays have no Blue IList notifications, so insertion behavior is explicit.\")\n AddController(controller)\n {\n this.controllers.push(controller);\n if (!controller?.IsLinked?.()) controller?.Link?.(this);\n EveEffectRoot2.#ApplyControllerVariables(controller, this.#controllerVariables, \"SetVariable\");\n return controller;\n }\n\n /** Removes and unlinks a controller through Carbon's list-notify behavior. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Plain JavaScript arrays have no Blue IList notifications, so removal behavior is explicit.\")\n RemoveController(controller)\n {\n const index = this.controllers.indexOf(controller);\n if (index === -1) return false;\n this.controllers.splice(index, 1);\n controller?.Unlink?.();\n return true;\n }\n\n /** Evaluates root curves and updates children that require synchronous placement. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon task and lock ownership is omitted; child update parameters retain the source graph contract.\")\n UpdateSyncronous(updateContext = null)\n {\n const time = EveEffectRoot2.#GetContextValue(updateContext, \"GetTime\", \"currentTime\", \"time\");\n this.UpdateWorldTransform(time);\n mat4.fromRotationTranslationScale(this.#localTransform, this.rotation, this.translation, this.scaling);\n // Carbon (row-vector): m_localTransform * m_worldTransform - local first.\n mat4.multiply(this.#lastUpdateMatrix, this.#worldTransform, this.#localTransform);\n this.#secondaryLightingSphereRadiusWorld = this.secondaryLightingSphereRadius *\n (this.scaling[0] + this.scaling[1] + this.scaling[2]) / 3;\n\n for (const observer of this.observers) observer?.Update?.(this.#lastUpdateMatrix);\n if (this.effectChildren.length)\n {\n const params = this.#CreateChildUpdateParams();\n for (const child of this.effectChildren) child?.UpdateSyncronous?.(updateContext, params);\n }\n return true;\n }\n\n /** Advances controllers, root curve sets, and effect children. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Controller and child work is forwarded synchronously through the GPU-free graph instead of Carbon task groups.\")\n UpdateAsyncronous(updateContext = null)\n {\n let frequency = 0;\n if (this.display)\n {\n if (this.dynamicLOD)\n {\n const threshold = EveEffectRoot2.#GetContextValue(updateContext, \"GetHighDetailThreshold\", \"highDetailThreshold\");\n if (threshold > 0) frequency = Math.min(1, this.estimatedSize / threshold);\n }\n else\n {\n frequency = 0.5;\n }\n }\n\n this.UpdateControllers(frequency);\n const time = EveEffectRoot2.#GetContextValue(updateContext, \"GetTime\", \"currentTime\", \"time\");\n for (const curveSet of this.curveSets) curveSet?.Update?.(time, time);\n if (this.effectChildren.length)\n {\n const params = this.#CreateChildUpdateParams();\n params.controllerUpdateFrequency = frequency;\n for (const child of this.effectChildren) child?.UpdateAsyncronous?.(updateContext, params);\n }\n return frequency;\n }\n\n /** Updates dynamic LOD and forwards visibility to the effect children. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Frustum and threshold state is supplied by the explicit update context rather than renderer globals.\")\n UpdateVisibility(updateContext = null, parentTransform = EveEffectRoot2.#identity)\n {\n if (!this.display) return false;\n if (this.dynamicLOD)\n {\n this.GetBoundingSphere(EveEffectRoot2.#localSphere);\n sph3.transformMat4(EveEffectRoot2.#worldSphere, EveEffectRoot2.#localSphere, this.#worldTransform);\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\n if (frustum?.IsSphereVisible?.(EveEffectRoot2.#worldSphere) !== false)\n {\n this.estimatedSize = Number(frustum?.GetPixelSizeAccross?.(EveEffectRoot2.#worldSphere) ?? this.estimatedSize) || 0;\n }\n\n const oldLod = this.lodLevel;\n this.lodLevel = Tr2Lod.TR2_LOD_LOW;\n const medium = EveEffectRoot2.#GetContextValue(updateContext, \"GetMediumDetailThreshold\", \"mediumDetailThreshold\");\n const low = EveEffectRoot2.#GetContextValue(updateContext, \"GetLowDetailThreshold\", \"lowDetailThreshold\");\n if (this.estimatedSize >= medium) this.lodLevel = Tr2Lod.TR2_LOD_HIGH;\n else if (this.estimatedSize >= low) this.lodLevel = Tr2Lod.TR2_LOD_MEDIUM;\n this.#changeLOD ||= oldLod !== this.lodLevel;\n }\n\n for (const child of this.effectChildren)\n {\n child?.UpdateVisibility?.(updateContext, parentTransform, this.lodLevel);\n }\n return true;\n }\n\n /** Collects child renderables after applying a pending LOD change. */\n @carbon.method\n @impl.implemented\n GetRenderables(out = [])\n {\n if (!this.display) return out;\n if (this.#changeLOD)\n {\n this.#changeLOD = false;\n for (const child of this.effectChildren) child?.ChangeLOD?.(this.lodLevel);\n }\n for (const child of this.effectChildren) child?.GetRenderables?.(out);\n return out;\n }\n\n /** Advances every controller at the selected detail frequency. */\n @carbon.method\n @impl.implemented\n UpdateControllers(updateFrequency)\n {\n for (const controller of this.controllers) controller?.Update?.(updateFrequency);\n }\n\n /** Returns the authored local bounding sphere. */\n @carbon.method\n @impl.implemented\n GetBoundingSphere(out = vec4.create())\n {\n vec4.set(\n out,\n this.boundingSphereCenter[0],\n this.boundingSphereCenter[1],\n this.boundingSphereCenter[2],\n this.boundingSphereRadius\n );\n return true;\n }\n\n /** Returns the authored bounding-sphere radius. */\n @carbon.method\n @impl.implemented\n GetBoundingSphereRadius()\n {\n return this.boundingSphereRadius;\n }\n\n /** Evaluates the ball/model curves into the detached root transform. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Curve outputs use CarbonEngineJS's time-first, output-second convention.\")\n UpdateWorldTransform(time)\n {\n EveEffectRoot2.#UpdateCurve(this.translationCurve, time, EveEffectRoot2.#translation, EveEffectRoot2.#zero);\n EveEffectRoot2.#UpdateCurve(this.rotationCurve, time, EveEffectRoot2.#rotation, EveEffectRoot2.#identityRotation);\n if (this.modelRotationCurve)\n {\n EveEffectRoot2.#UpdateCurve(this.modelRotationCurve, time, EveEffectRoot2.#modelRotation, EveEffectRoot2.#identityRotation);\n // Carbon (row-vector): rotation = modelRotation * rotation - model first.\n quat.multiply(EveEffectRoot2.#rotation, EveEffectRoot2.#rotation, EveEffectRoot2.#modelRotation);\n }\n\n mat4.fromRotationTranslation(this.#worldTransform, EveEffectRoot2.#rotation, EveEffectRoot2.#translation);\n if (this.modelTranslationCurve)\n {\n EveEffectRoot2.#UpdateCurve(this.modelTranslationCurve, time, EveEffectRoot2.#modelTranslation, EveEffectRoot2.#zero);\n vec3.transformMat4(EveEffectRoot2.#modelTranslation, EveEffectRoot2.#modelTranslation, this.#worldTransform);\n this.#worldTransform[12] = EveEffectRoot2.#modelTranslation[0];\n this.#worldTransform[13] = EveEffectRoot2.#modelTranslation[1];\n this.#worldTransform[14] = EveEffectRoot2.#modelTranslation[2];\n }\n return this.#worldTransform;\n }\n\n /** Updates and returns the model-center world position. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"CarbonEngineJS uses an out-last signature for output parameters.\")\n UpdateModelCenterWorldPosition(time, out = vec3.create())\n {\n this.UpdateWorldTransform(time);\n mat4.fromRotationTranslationScale(this.#localTransform, this.rotation, this.translation, this.scaling);\n // Carbon (row-vector): currentTransform * m_worldTransform - local first.\n mat4.multiply(EveEffectRoot2.#centerTransform, this.#worldTransform, this.#localTransform);\n return vec3.transformMat4(out, this.boundingSphereCenter, EveEffectRoot2.#centerTransform);\n }\n\n /** Returns the last model-center world position without advancing curves. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"CarbonEngineJS uses an out-last signature for output parameters.\")\n GetModelCenterWorldPosition(out = vec3.create())\n {\n return vec3.transformMat4(out, this.boundingSphereCenter, this.#lastUpdateMatrix);\n }\n\n /** Effect roots do not expose a local AABB in Carbon. */\n @carbon.method\n @impl.noop\n GetLocalBoundingBox(_min, _max)\n {\n return false;\n }\n\n /** Returns the last composed local-to-world transform. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"CarbonEngineJS returns the caller-owned output matrix.\")\n GetLocalToWorldTransform(out = mat4.create())\n {\n return mat4.copy(out, this.#lastUpdateMatrix);\n }\n\n /** Protected-equivalent read of Carbon's m_worldTransform\n * (EveEffectRoot2.h:219, protected) - the detached root transform\n * UpdateWorldTransform evaluates, WITHOUT the local SRT composition that\n * GetLocalToWorldTransform's #lastUpdateMatrix carries. EvePlanet reads the\n * member directly for the z-only depth-prepass drive (EvePlanet.cpp:137). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon's protected member access becomes a copying accessor; JS has no protected fields and the live buffer stays private.\")\n GetWorldTransform(out = mat4.create())\n {\n return mat4.copy(out, this.#worldTransform);\n }\n\n /** Registers every child with an injected quad renderer. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"The quad renderer is an injected engine-owned capability.\")\n RegisterWithQuadRenderer(quadRenderer)\n {\n for (const child of this.effectChildren) child?.RegisterWithQuadRenderer?.(quadRenderer);\n }\n\n /** Adds visible child quads to an injected renderer. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"The quad renderer is an injected engine-owned capability.\")\n AddQuadsToQuadRenderer(frustum, quadRenderer)\n {\n if (!this.display) return;\n for (const child of this.effectChildren) child?.AddQuadsToQuadRenderer?.(frustum, quadRenderer);\n }\n\n /** Carbon EveEffectRoot2::RegisterComponents (cpp:496-513): LightOwner when\n * lights are authored, then forwards the effect children. Gate m_display. */\n @carbon.method\n @impl.implemented\n RegisterComponents()\n {\n const registry = this.GetComponentRegistry();\n if (registry && this.display)\n {\n if (this.lights.length)\n {\n registry.RegisterComponent(EveComponentType.LightOwner, this);\n }\n for (const child of this.effectChildren)\n {\n child?.Register?.(registry);\n }\n }\n }\n\n /** Carbon EveEffectRoot2::UnRegisterComponents (cpp:515-528): forwards the\n * effect children only (own components were already removed by\n * EveEntity::UnRegister, EveEntity.cpp:90); no display re-check. */\n @carbon.method\n @impl.implemented\n UnRegisterComponents()\n {\n const registry = this.GetComponentRegistry();\n if (registry)\n {\n for (const child of this.effectChildren)\n {\n child?.UnRegister?.(registry);\n }\n }\n }\n\n /** Adds authored lights using the effect's composed placement and average scale. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"The light manager is an injected engine-owned capability.\")\n GetLights(lightManager)\n {\n if (!this.display) return;\n const transform = this.#lastUpdateMatrix;\n const scale = (\n Math.hypot(transform[0], transform[1], transform[2]) +\n Math.hypot(transform[4], transform[5], transform[6]) +\n Math.hypot(transform[8], transform[9], transform[10])\n ) / 3;\n for (const light of this.lights) light?.AddLight?.(lightManager, transform, scale);\n }\n\n /** Adds an authored light. */\n @carbon.method\n @impl.implemented\n AddLight(light)\n {\n this.lights.push(light);\n return light;\n }\n\n /** Removes all authored lights. */\n @carbon.method\n @impl.implemented\n ClearLights()\n {\n this.lights.length = 0;\n }\n\n /**\n * Carbon EveEffectRoot2::GetPerObjectStructs (cpp:463-478): zeroes both\n * records, then sets activation strength and bounding-sphere radius to 1. An\n * effect root carries no hull values of its own, so a child parented to one\n * inherits neutral data rather than nothing.\n * @returns {{vs: RawData, ps: RawData}}\n */\n @carbon.method\n @impl.implemented\n GetPerObjectStructs(vsData = RawData.create(\"EveSpaceObjectVSData\"), psData = RawData.create(\"EveSpaceObjectPSData\"))\n {\n vsData.Zero();\n psData.Zero();\n vsData.Set(\"shipData\", EveEffectRoot2.#neutralShipData);\n psData.Set(\"shipData\", EveEffectRoot2.#neutralShipData);\n\n return { vs: vsData, ps: psData };\n }\n\n /** Registers this root as a secondary light source with an injected manager. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"The SH lighting manager is injected; Trinity owns only the authored source values.\")\n RegisterSecondaryLightSource(manager)\n {\n return manager?.RegisterSecondaryLightSource?.(\n this.#worldTransform.subarray(12, 15),\n this.#secondaryLightingSphereRadiusWorld,\n EveEffectRoot2.#noAlbedo,\n this.secondaryLightingEmissiveColor\n );\n }\n\n /** Unregisters this root from an injected secondary-light manager. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"The SH lighting manager is injected; Trinity owns only the authored source values.\")\n UnregisterSecondaryLightSource(manager)\n {\n return manager?.UnregisterSecondaryLightSource?.(this.#worldTransform.subarray(12, 15));\n }\n\n /** Plays root and child-owned curve sets. */\n @carbon.method\n @impl.implemented\n Start()\n {\n for (const curveSet of this.curveSets) curveSet?.Play?.();\n for (const child of this.effectChildren)\n {\n if (child?.PlayAllCurveSets) child.PlayAllCurveSets();\n else child?.PlayCurveSets?.();\n }\n }\n\n /** Stops root and child-owned curve sets. */\n @carbon.method\n @impl.implemented\n Stop()\n {\n for (const curveSet of this.curveSets) curveSet?.Stop?.();\n for (const child of this.effectChildren)\n {\n if (child?.StopAllCurveSets) child.StopAllCurveSets();\n else child?.StopCurveSets?.();\n }\n }\n\n /** Effect roots have no damage locators. */\n @carbon.method\n @impl.noop\n GetDamageLocatorCount()\n {\n return 0;\n }\n\n /** Returns the detached root translation as the sole target point. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"CarbonEngineJS uses output parameters last and returns the targetable validity flag.\")\n GetDamageLocatorPosition(_index, _inWorldSpace, out = vec3.create())\n {\n vec3.set(out, this.#worldTransform[12], this.#worldTransform[13], this.#worldTransform[14]);\n return true;\n }\n\n /** Returns Carbon's constant +Y target direction. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"CarbonEngineJS uses output parameters last and returns the targetable validity flag.\")\n GetDamageLocatorDirection(_index, _inWorldSpace, out = vec3.create())\n {\n vec3.set(out, 0, 1, 0);\n return true;\n }\n\n /** Tests whether a projectile has reached the root target point. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"CarbonEngineJS uses an out-last signature for output parameters.\")\n GetImpactPosition(locator, _posPrev, posNow, epsilon, out = vec3.create())\n {\n this.GetDamageLocatorPosition(locator, true, out);\n return vec3.squaredDistance(posNow, out) < Number(epsilon);\n }\n\n /** Effect roots never use shield impact geometry. */\n @carbon.method\n @impl.noop\n HasImpactConfigurationShield()\n {\n return false;\n }\n\n /** Effect roots use their only target point. */\n @carbon.method\n @impl.noop\n GetClosestDamageLocatorIndex(_position)\n {\n return 0;\n }\n\n /** Effect roots use their only target point. */\n @carbon.method\n @impl.noop\n GetGoodDamageLocatorIndex(_position)\n {\n return 0;\n }\n\n /** Returns the authored target radius. */\n @carbon.method\n @impl.implemented\n GetRadius()\n {\n return this.boundingSphereRadius;\n }\n\n /** Effect roots do not create attached impact overlays. */\n @carbon.method\n @impl.noop\n CreateImpact(_damageLocatorIndex, _direction, _lifeTime, _size)\n {\n return -1;\n }\n\n /** Effect roots do not update attached impact overlays. */\n @carbon.method\n @impl.noop\n UpdateImpact(_out, _direction, _impactIndex)\n {\n return false;\n }\n\n /** Returns the detached root world position. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"CarbonEngineJS returns the caller-owned output vector.\")\n GetWorldPosition(out = vec3.create())\n {\n return vec3.set(out, this.#worldTransform[12], this.#worldTransform[13], this.#worldTransform[14]);\n }\n\n /** Returns the authored local rotation composed with the detached root rotation. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"CarbonEngineJS returns the caller-owned output quaternion.\")\n GetWorldRotation(out = quat.create())\n {\n mat4.getRotation(EveEffectRoot2.#worldRotation, this.#worldTransform);\n // Carbon (row-vector): m_rotation * RotationQuaternion(world) - local first.\n quat.multiply(out, EveEffectRoot2.#worldRotation, this.rotation);\n return quat.normalize(out, out);\n }\n\n /** Computes a miss point just outside the root's spherical silhouette. */\n @carbon.method\n @impl.implemented\n GetMissPosition(hit, source, out = vec3.create())\n {\n this.GetDamageLocatorPosition(-1, true, out);\n if (!hit || !source) return out;\n vec3.subtract(EveEffectRoot2.#missOffset, hit, out);\n vec3.subtract(EveEffectRoot2.#missDirection, hit, source);\n const directionLength = vec3.length(EveEffectRoot2.#missDirection);\n if (directionLength) vec3.scale(EveEffectRoot2.#missDirection, EveEffectRoot2.#missDirection, 1 / directionLength);\n vec3.scaleAndAdd(\n EveEffectRoot2.#missOffset,\n EveEffectRoot2.#missOffset,\n EveEffectRoot2.#missDirection,\n -vec3.dot(EveEffectRoot2.#missDirection, EveEffectRoot2.#missOffset)\n );\n const offsetLength = vec3.length(EveEffectRoot2.#missOffset);\n if (offsetLength) vec3.scale(EveEffectRoot2.#missOffset, EveEffectRoot2.#missOffset, 1 / offsetLength);\n return vec3.scaleAndAdd(out, out, EveEffectRoot2.#missOffset, this.boundingSphereRadius * 1.125);\n }\n\n /** Returns the owned effect-child list. */\n @carbon.method\n @impl.implemented\n GetChildren()\n {\n return this.effectChildren;\n }\n\n /** Decomposes a matrix into the authored local SRT fields. */\n @carbon.method\n @impl.implemented\n SetTransform(transform)\n {\n mat4.getScaling(this.scaling, transform);\n mat4.getRotation(this.rotation, transform);\n mat4.getTranslation(this.translation, transform);\n }\n\n /** Plays matching root and child curve sets. */\n @carbon.method\n @impl.implemented\n PlayCurveSet(name, rangeName = \"\")\n {\n const target = String(name ?? \"\");\n for (const curveSet of this.curveSets)\n {\n if ((curveSet?.GetName?.() ?? curveSet?.name) !== target) continue;\n if (rangeName) curveSet?.PlayTimeRange?.(rangeName);\n else\n {\n curveSet?.ResetTimeRange?.();\n curveSet?.Play?.();\n }\n }\n for (const child of this.effectChildren) child?.PlayCurveSet?.(target, rangeName);\n }\n\n /** Stops matching root and child curve sets. */\n @carbon.method\n @impl.implemented\n StopCurveSet(name)\n {\n const target = String(name ?? \"\");\n for (const curveSet of this.curveSets)\n {\n if ((curveSet?.GetName?.() ?? curveSet?.name) === target) curveSet?.Stop?.();\n }\n for (const child of this.effectChildren) child?.StopCurveSet?.(target);\n }\n\n /** Samples matching root and child curve sets at an explicit time. */\n @carbon.method\n @impl.implemented\n UpdateCurveSet(name, time)\n {\n const target = String(name ?? \"\");\n for (const curveSet of this.curveSets)\n {\n if ((curveSet?.GetName?.() ?? curveSet?.name) === target) curveSet?.Update?.(time, time);\n }\n for (const child of this.effectChildren) child?.UpdateCurveSet?.(target, time);\n }\n\n /** Returns the maximum duration of matching root and child curve sets. */\n @carbon.method\n @impl.implemented\n GetCurveSetDuration(name)\n {\n const target = String(name ?? \"\");\n let duration = 0;\n for (const curveSet of this.curveSets)\n {\n if ((curveSet?.GetName?.() ?? curveSet?.name) === target)\n {\n duration = Math.max(duration, Number(curveSet?.GetMaxCurveDuration?.() ?? 0));\n }\n }\n for (const child of this.effectChildren)\n {\n duration = Math.max(duration, Number(child?.GetCurveSetDuration?.(target) ?? 0));\n }\n return duration;\n }\n\n /** Returns the maximum named range duration in matching root and child sets. */\n @carbon.method\n @impl.implemented\n GetRangeDuration(name, rangeName)\n {\n const target = String(name ?? \"\");\n let duration = 0;\n for (const curveSet of this.curveSets)\n {\n if ((curveSet?.GetName?.() ?? curveSet?.name) === target)\n {\n duration = Math.max(duration, Number(curveSet?.GetRangeDuration?.(rangeName) ?? 0));\n }\n }\n for (const child of this.effectChildren)\n {\n duration = Math.max(duration, Number(child?.GetRangeDuration?.(target, rangeName) ?? 0));\n }\n return duration;\n }\n\n /** Collects the Carbon debug-option names and child options. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"The debug renderer/options collection is an injected engine-owned capability.\")\n GetDebugOptions(options = new Set())\n {\n options.add?.(\"Bounding Sphere\");\n options.add?.(\"Lights\");\n for (const observer of this.observers) observer?.GetDebugOptions?.(options);\n for (const child of this.effectChildren) child?.GetDebugOptions?.(options);\n return options;\n }\n\n /** Forwards root debug geometry to an injected debug renderer. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"The debug renderer is an injected engine-owned capability.\")\n RenderDebugInfo(renderer)\n {\n if (renderer?.HasOption?.(this, \"Bounding Sphere\"))\n {\n renderer?.DrawSphere?.(this, this.boundingSphereCenter, this.boundingSphereRadius, 8, \"wireframe\", 0xffff00ff);\n }\n for (const child of this.effectChildren) child?.RenderDebugInfo?.(renderer);\n if (renderer?.HasOption?.(this, \"Lights\"))\n {\n for (const light of this.lights) light?.RenderDebugInfo?.(renderer, this.#worldTransform);\n }\n for (const observer of this.observers) observer?.RenderDebugInfo?.(renderer);\n }\n\n /** Stores and propagates a controller variable to current and future members. */\n @carbon.method\n @impl.implemented\n SetControllerVariable(name, value)\n {\n const key = String(name ?? \"\");\n const next = Number(value);\n this.#controllerVariables.set(key, next);\n for (const controller of this.controllers) controller?.SetVariable?.(key, next);\n for (const child of this.effectChildren) child?.SetControllerVariable?.(key, next);\n }\n\n /** Propagates an event to controllers and effect children. */\n @carbon.method\n @impl.implemented\n HandleControllerEvent(name)\n {\n const eventName = String(name ?? \"\");\n for (const controller of this.controllers) controller?.HandleEvent?.(eventName);\n for (const child of this.effectChildren) child?.HandleControllerEvent?.(eventName);\n }\n\n /** Starts controllers on the root and its effect children. */\n @carbon.method\n @impl.implemented\n StartControllers()\n {\n for (const controller of this.controllers) controller?.Start?.();\n for (const child of this.effectChildren) child?.StartControllers?.();\n }\n\n /** Finds a named direct effect child. */\n @carbon.method\n @impl.implemented\n GetEffectChildByName(name)\n {\n const target = String(name ?? \"\");\n for (const child of this.effectChildren)\n {\n if ((child?.GetName?.() ?? child?.name ?? \"\") === target) return child;\n }\n return null;\n }\n\n /** Adds and initializes an effect child through Carbon's list-notify behavior. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Plain JavaScript arrays have no Blue IList notifications, so insertion behavior is explicit.\")\n AddToEffectChildrenList(child)\n {\n this.effectChildren.push(child);\n EveEffectRoot2.#ApplyControllerVariables(child, this.#controllerVariables, \"SetControllerVariable\");\n child?.StartControllers?.();\n return child;\n }\n\n /** Removes an effect child. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Plain JavaScript arrays have no Blue IList notifications, so removal behavior is explicit.\")\n RemoveFromEffectChildrenList(child)\n {\n const index = this.effectChildren.indexOf(child);\n if (index === -1) return false;\n this.effectChildren.splice(index, 1);\n return true;\n }\n\n /** Applies a shader option to every effect child. */\n @carbon.method\n @impl.implemented\n SetShaderOption(name, value)\n {\n for (const child of this.effectChildren) child?.SetShaderOption?.(name, value);\n }\n\n /** Finds a named observer or child-owned sound emitter. */\n @carbon.method\n @impl.implemented\n FindSoundEmitter(name)\n {\n const target = String(name ?? \"\");\n for (const observer of this.observers)\n {\n if ((observer?.name ?? \"\") === target)\n {\n return typeof observer.GetObserver === \"function\" ? observer.GetObserver() : observer.observer ?? null;\n }\n }\n for (const child of this.effectChildren)\n {\n const emitter = child?.FindSoundEmitter?.(target);\n if (emitter) return emitter;\n }\n return null;\n }\n\n /** Adds a placement observer. */\n @carbon.method\n @impl.implemented\n AddObserver(observer)\n {\n this.observers.push(observer);\n return observer;\n }\n\n /** Applies the mute state to effect children and placement observers. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"The explicit setter replaces Carbon's Blue field-notify callback.\")\n SetMute(isMute)\n {\n this.mute = !!isMute;\n for (const child of this.effectChildren) child?.SetMute?.(this.mute);\n for (const observer of this.observers) observer?.SetMute?.(this.mute);\n }\n\n /** Freezes every child at Carbon's high-detail LOD. */\n @carbon.method\n @impl.implemented\n FreezeHighDetailMesh()\n {\n this.lodLevel = Tr2Lod.TR2_LOD_HIGH;\n this.#changeLOD = false;\n for (const child of this.effectChildren) child?.ChangeLOD?.(this.lodLevel);\n }\n\n /** Propagates a procedural-container variable to every effect child. */\n @carbon.method\n @impl.implemented\n SetProceduralContainerVariable(name, value)\n {\n for (const child of this.effectChildren) child?.SetProceduralContainerVariable?.(name, value);\n }\n\n /**\n * Builds the per-frame child update parameters naming this root as the\n * space-object parent, carrying its display state and a copy of the current\n * root matrix.\n */\n #CreateChildUpdateParams()\n {\n const params = new EveChildUpdateParams();\n params.spaceObjectParent = this;\n params.isVisible = this.display;\n mat4.copy(params.localToWorldTransform, this.#lastUpdateMatrix);\n return params;\n }\n\n /**\n * Replays every stored controller variable onto a newly added controller or\n * effect child through the named setter, so late additions start with the same\n * state.\n */\n static #ApplyControllerVariables(target, variables, methodName)\n {\n const setter = target?.[methodName];\n if (typeof setter !== \"function\") return;\n for (const [name, value] of variables) setter.call(target, name, value);\n }\n\n /**\n * Reads a numeric value from the update context, preferring a getter method\n * and falling back to the named properties, and yields 0 when nothing supplies\n * it.\n */\n static #GetContextValue(context, methodName, ...propertyNames)\n {\n const method = context?.[methodName];\n if (typeof method === \"function\") return Number(method.call(context)) || 0;\n for (const propertyName of propertyNames)\n {\n if (context?.[propertyName] !== undefined && context?.[propertyName] !== null)\n {\n return Number(context[propertyName]) || 0;\n }\n }\n return 0;\n }\n\n /**\n * Samples a curve into out through whichever of Update or GetValueAt it\n * exposes, writing the fallback when there is no curve and copying back curves\n * that return a new array instead of filling out.\n */\n static #UpdateCurve(curve, time, out, fallback)\n {\n if (!curve)\n {\n for (let index = 0; index < out.length; index++) out[index] = fallback[index];\n return out;\n }\n let result;\n if (typeof curve.Update === \"function\") result = curve.Update(time, out);\n else if (typeof curve.GetValueAt === \"function\") result = curve.GetValueAt(time, out);\n if ((Array.isArray(result) || ArrayBuffer.isView(result)) && result !== out)\n {\n for (let index = 0; index < out.length; index++) out[index] = result[index];\n }\n return out;\n }\n\n /** Carbon's neutral hull data: full activation, unit bounding radius. */\n static #neutralShipData = Object.freeze([ 0, 1, 0, 1 ]);\n\n static #identity = mat4.create();\n static #centerTransform = mat4.create();\n static #localSphere = vec4.create();\n static #worldSphere = vec4.create();\n static #zero = vec3.create();\n static #translation = vec3.create();\n static #modelTranslation = vec3.create();\n static #missOffset = vec3.create();\n static #missDirection = vec3.create();\n static #identityRotation = quat.create();\n static #rotation = quat.create();\n static #modelRotation = quat.create();\n static #worldRotation = quat.create();\n static #noAlbedo = vec4.create();\n\n static Tr2Lod = Tr2Lod;\n\n}\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","io","persist","list","read","float32","int32","schema","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","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","_min","_max","GetLocalToWorldTransform","copy","GetWorldTransform","RegisterWithQuadRenderer","quadRenderer","AddQuadsToQuadRenderer","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","Register","UnRegisterComponents","UnRegister","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","max","GetMaxCurveDuration","GetRangeDuration","GetDebugOptions","options","add","RenderDebugInfo","renderer","HasOption","DrawSphere","SetControllerVariable","value","key","next","SetVariable","HandleControllerEvent","eventName","HandleEvent","StartControllers","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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"}
|