@carbonenginejs/runtime-trinity 0.4.3 → 0.6.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/dist/controllers/Tr2ActionAnimateCurveSet.js +2 -2
- package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateValue.js +2 -2
- package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
- package/dist/controllers/Tr2ActionBindRTPC.js +2 -2
- package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
- package/dist/controllers/Tr2ActionCallback.js +2 -2
- package/dist/controllers/Tr2ActionCallback.js.map +1 -1
- package/dist/controllers/Tr2ActionChildEffect.js +2 -2
- package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
- package/dist/controllers/Tr2ActionOverlay.js +2 -2
- package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayCurveSet.js +2 -2
- package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js +2 -2
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
- package/dist/controllers/Tr2ActionPlaySound.js +2 -2
- package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
- package/dist/controllers/Tr2ActionPython.js +2 -2
- package/dist/controllers/Tr2ActionPython.js.map +1 -1
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js +4 -4
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js +2 -2
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +2 -2
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioSwitch.js +2 -2
- package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +2 -2
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
- package/dist/controllers/Tr2ActionSetShaderOption.js +2 -2
- package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
- package/dist/controllers/Tr2ActionSetValue.js +2 -2
- package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
- package/dist/controllers/Tr2ActionSpawnParticles.js +2 -2
- package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/controllers/Tr2BindingPoint.js +4 -4
- package/dist/controllers/Tr2BindingPoint.js.map +1 -1
- package/dist/controllers/Tr2Controller.js +2 -2
- package/dist/controllers/Tr2Controller.js.map +1 -1
- package/dist/controllers/Tr2ControllerEventHandler.js +2 -2
- package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
- package/dist/controllers/Tr2ControllerExpression.js +2 -2
- package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
- package/dist/controllers/Tr2ControllerFloatVariable.js +2 -2
- package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
- package/dist/controllers/Tr2ControllerReference.js +2 -2
- package/dist/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/controllers/Tr2StateMachine.js +2 -2
- package/dist/controllers/Tr2StateMachine.js.map +1 -1
- package/dist/controllers/Tr2StateMachineState.js +2 -2
- package/dist/controllers/Tr2StateMachineState.js.map +1 -1
- package/dist/controllers/Tr2StateMachineTransition.js +2 -2
- package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
- package/dist/controllers/Tr2SyncToAnimation.js +2 -2
- package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
- package/dist/controllers/Tr2TimelineController.js +2 -2
- package/dist/controllers/Tr2TimelineController.js.map +1 -1
- package/dist/controllers/Tr2TimelineEntry.js +2 -2
- package/dist/controllers/Tr2TimelineEntry.js.map +1 -1
- package/dist/curves/CjsGrannyCurves.js +13 -14
- package/dist/curves/CjsGrannyCurves.js.map +1 -1
- package/dist/curves/Tr2BoneMatrixCurve.js +4 -4
- package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
- package/dist/curves/Tr2CameraFollowCurveKey.js +3 -3
- package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2CurveColor.js +4 -4
- package/dist/curves/Tr2CurveColor.js.map +1 -1
- package/dist/curves/Tr2CurveColorMixer.js +4 -4
- package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
- package/dist/curves/Tr2CurveCombiner.js +3 -3
- package/dist/curves/Tr2CurveCombiner.js.map +1 -1
- package/dist/curves/Tr2CurveConstant.js +6 -6
- package/dist/curves/Tr2CurveConstant.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotation.js +3 -3
- package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotationExpression.js +3 -3
- package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternion.js +3 -3
- package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternionKey.js +3 -3
- package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
- package/dist/curves/Tr2CurveRandomAxisRotation.js +3 -3
- package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/curves/Tr2CurveScalar.js +5 -5
- package/dist/curves/Tr2CurveScalar.js.map +1 -1
- package/dist/curves/Tr2CurveScalarExpression.js +2 -2
- package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
- package/dist/curves/Tr2CurveScalarKey.js +2 -2
- package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
- package/dist/curves/Tr2CurveSetRange.js +2 -2
- package/dist/curves/Tr2CurveSetRange.js.map +1 -1
- package/dist/curves/Tr2CurveVector2.js +3 -3
- package/dist/curves/Tr2CurveVector2.js.map +1 -1
- package/dist/curves/Tr2CurveVector3.js +3 -3
- package/dist/curves/Tr2CurveVector3.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Expression.js +3 -3
- package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Lerp.js +3 -3
- package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
- package/dist/curves/Tr2DistanceTracker.js +3 -3
- package/dist/curves/Tr2DistanceTracker.js.map +1 -1
- package/dist/curves/Tr2FollowCurve.js +3 -3
- package/dist/curves/Tr2FollowCurve.js.map +1 -1
- package/dist/curves/Tr2GrannyEventTrack.js +1 -1
- package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTrack.js +2 -2
- package/dist/curves/Tr2GrannyTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTransformTrack.js +3 -3
- package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyVectorTrack.js +1 -1
- package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
- package/dist/curves/Tr2MatrixKey.js +3 -3
- package/dist/curves/Tr2MatrixKey.js.map +1 -1
- package/dist/curves/Tr2ObjectFollowCurveKey.js +4 -4
- package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2QuaternionLerpCurve.js +4 -4
- package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
- package/dist/curves/Tr2RotationAdapter.js +3 -3
- package/dist/curves/Tr2RotationAdapter.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKey.js +3 -3
- package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKeyCurve.js +4 -4
- package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
- package/dist/curves/Tr2ScalarFader.js +3 -3
- package/dist/curves/Tr2ScalarFader.js.map +1 -1
- package/dist/curves/Tr2TranslationAdapter.js +4 -4
- package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
- package/dist/curves/TriColorSequencer.js +4 -4
- package/dist/curves/TriColorSequencer.js.map +1 -1
- package/dist/curves/TriCurveSet.js +2 -2
- package/dist/curves/TriCurveSet.js.map +1 -1
- package/dist/curves/TriEventCurve.js +2 -2
- package/dist/curves/TriEventCurve.js.map +1 -1
- package/dist/curves/TriEventKey.js +2 -2
- package/dist/curves/TriEventKey.js.map +1 -1
- package/dist/curves/TriPerlinCurve.js +3 -3
- package/dist/curves/TriPerlinCurve.js.map +1 -1
- package/dist/curves/TriVectorSequencer.js +4 -4
- package/dist/curves/TriVectorSequencer.js.map +1 -1
- package/dist/eve/AudioGameObject.js +6 -6
- package/dist/eve/AudioGameObject.js.map +1 -1
- package/dist/eve/BackAndForthData.js +3 -3
- package/dist/eve/BackAndForthData.js.map +1 -1
- package/dist/eve/DecalVSPerObjectData.js +3 -3
- package/dist/eve/DecalVSPerObjectData.js.map +1 -1
- package/dist/eve/EveBannerItem.js +4 -4
- package/dist/eve/EveBannerItem.js.map +1 -1
- package/dist/eve/EveBannerLight.js +3 -3
- package/dist/eve/EveBannerLight.js.map +1 -1
- package/dist/eve/EveBannerSet.js +104 -4
- package/dist/eve/EveBannerSet.js.map +1 -1
- package/dist/eve/EveBasicPerObjectData.js +3 -3
- package/dist/eve/EveBasicPerObjectData.js.map +1 -1
- package/dist/eve/EveBoosterSet2.js +76 -6
- package/dist/eve/EveBoosterSet2.js.map +1 -1
- package/dist/eve/EveBoosterSet2Renderable.js +15 -7
- package/dist/eve/EveBoosterSet2Renderable.js.map +1 -1
- package/dist/eve/EveChildSpherePinPerObjectData.js +5 -5
- package/dist/eve/EveChildSpherePinPerObjectData.js.map +1 -1
- package/dist/eve/EveChildUpdateParams.js +4 -4
- package/dist/eve/EveChildUpdateParams.js.map +1 -1
- package/dist/eve/EveComponentTypes.js +116 -0
- package/dist/eve/EveComponentTypes.js.map +1 -0
- package/dist/eve/EveCustomMask.js +6 -6
- package/dist/eve/EveCustomMask.js.map +1 -1
- package/dist/eve/EveDistanceField.js +3 -3
- package/dist/eve/EveDistanceField.js.map +1 -1
- package/dist/eve/EveHazeSet.js +118 -45
- package/dist/eve/EveHazeSet.js.map +1 -1
- package/dist/eve/EveHazeSetLight.js +3 -3
- package/dist/eve/EveHazeSetLight.js.map +1 -1
- package/dist/eve/EveImpactOverlay.js +3 -3
- package/dist/eve/EveImpactOverlay.js.map +1 -1
- package/dist/eve/EveLineData.js +4 -4
- package/dist/eve/EveLineData.js.map +1 -1
- package/dist/eve/EveLocator2.js +3 -3
- package/dist/eve/EveLocator2.js.map +1 -1
- package/dist/eve/EveLocatorSets.js +3 -3
- package/dist/eve/EveLocatorSets.js.map +1 -1
- package/dist/eve/EveParticleDirectForce.js +1 -1
- package/dist/eve/EveParticleDirectForce.js.map +1 -1
- package/dist/eve/EveParticleDragForce.js +1 -1
- package/dist/eve/EveParticleDragForce.js.map +1 -1
- package/dist/eve/EveParticleSpring.js +1 -1
- package/dist/eve/EveParticleSpring.js.map +1 -1
- package/dist/eve/EvePerObjectPSData.js +3 -3
- package/dist/eve/EvePerObjectPSData.js.map +1 -1
- package/dist/eve/EvePerObjectVSData.js +3 -3
- package/dist/eve/EvePerObjectVSData.js.map +1 -1
- package/dist/eve/EvePlaneLight.js +3 -3
- package/dist/eve/EvePlaneLight.js.map +1 -1
- package/dist/eve/EvePlaneSet.js +179 -74
- package/dist/eve/EvePlaneSet.js.map +1 -1
- package/dist/eve/EvePlaneSetItem.js +5 -5
- package/dist/eve/EvePlaneSetItem.js.map +1 -1
- package/dist/eve/EveSpaceObjectAttachmentUtils.js +105 -0
- package/dist/eve/EveSpaceObjectAttachmentUtils.js.map +1 -0
- package/dist/eve/EveSpaceObjectDecal.js +5 -5
- package/dist/eve/EveSpaceObjectDecal.js.map +1 -1
- package/dist/eve/EveSpaceObjectPSData.js +5 -5
- package/dist/eve/EveSpaceObjectPSData.js.map +1 -1
- package/dist/eve/EveSpaceObjectVSData.js +4 -4
- package/dist/eve/EveSpaceObjectVSData.js.map +1 -1
- package/dist/eve/EveSpacePerObjectData.js +5 -5
- package/dist/eve/EveSpacePerObjectData.js.map +1 -1
- package/dist/eve/EveSpherePinPerObjectData.js +5 -5
- package/dist/eve/EveSpherePinPerObjectData.js.map +1 -1
- package/dist/eve/EveSpotlightLight.js +3 -3
- package/dist/eve/EveSpotlightLight.js.map +1 -1
- package/dist/eve/EveSpotlightSet.js +144 -70
- package/dist/eve/EveSpotlightSet.js.map +1 -1
- package/dist/eve/EveSpriteLight.js +3 -3
- package/dist/eve/EveSpriteLight.js.map +1 -1
- package/dist/eve/EveSpriteLineSet.js +120 -47
- package/dist/eve/EveSpriteLineSet.js.map +1 -1
- package/dist/eve/EveSpriteLineSetItem.js +5 -5
- package/dist/eve/EveSpriteLineSetItem.js.map +1 -1
- package/dist/eve/EveSpriteSet.js +164 -86
- package/dist/eve/EveSpriteSet.js.map +1 -1
- package/dist/eve/EveThrottleable.js +2 -2
- package/dist/eve/EveThrottleable.js.map +1 -1
- package/dist/eve/EveTrailsSet.js +3 -3
- package/dist/eve/EveTrailsSet.js.map +1 -1
- package/dist/eve/EveUpdateContext.js +198 -34
- package/dist/eve/EveUpdateContext.js.map +1 -1
- package/dist/eve/FollowASplineData.js +2 -2
- package/dist/eve/FollowASplineData.js.map +1 -1
- package/dist/eve/FormationData.js +2 -2
- package/dist/eve/FormationData.js.map +1 -1
- package/dist/eve/InertiaData.js +3 -3
- package/dist/eve/InertiaData.js.map +1 -1
- package/dist/eve/Locator.js +4 -4
- package/dist/eve/Locator.js.map +1 -1
- package/dist/eve/LocatorData.js +4 -4
- package/dist/eve/LocatorData.js.map +1 -1
- package/dist/eve/PlacementDataWithIdentifier.js +4 -4
- package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
- package/dist/eve/PlayFXData.js +3 -3
- package/dist/eve/PlayFXData.js.map +1 -1
- package/dist/eve/ProcessLifetimeData.js +2 -2
- package/dist/eve/ProcessLifetimeData.js.map +1 -1
- package/dist/eve/SeekTargetData.js +3 -3
- package/dist/eve/SeekTargetData.js.map +1 -1
- package/dist/eve/attachment/decal/DecalMeshCache.js +2 -2
- package/dist/eve/attachment/decal/DecalMeshCache.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js +26 -4
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretSet.js +133 -6
- package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js +4 -4
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js +5 -5
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretTarget.js +3 -3
- package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/eve/child/EveChildAudio.js +4 -4
- package/dist/eve/child/EveChildAudio.js.map +1 -1
- package/dist/eve/child/EveChildContainer.js +101 -66
- package/dist/eve/child/EveChildContainer.js.map +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js +4 -4
- package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
- package/dist/eve/child/EveChildFogVolume.js +18 -5
- package/dist/eve/child/EveChildFogVolume.js.map +1 -1
- package/dist/eve/child/EveChildInheritProperties.js +3 -3
- package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
- package/dist/eve/child/EveChildInstanceTransform.js +4 -4
- package/dist/eve/child/EveChildInstanceTransform.js.map +1 -1
- package/dist/eve/child/EveChildInstancedMeshes.js +305 -11
- package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
- package/dist/eve/child/EveChildLightingOverride.js +18 -5
- package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
- package/dist/eve/child/EveChildMesh.js +137 -87
- package/dist/eve/child/EveChildMesh.js.map +1 -1
- package/dist/eve/child/EveChildTransform.js +31 -21
- package/dist/eve/child/EveChildTransform.js.map +1 -1
- package/dist/eve/child/EveCloudVolumeBall.js +4 -4
- package/dist/eve/child/EveCloudVolumeBall.js.map +1 -1
- package/dist/eve/child/IEveSpaceObjectChild.js +2 -2
- package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
- package/dist/eve/child/behaviors/DroneAgent.js +5 -5
- package/dist/eve/child/behaviors/DroneAgent.js.map +1 -1
- package/dist/eve/child/behaviors/SplineTunnel.js +2 -2
- package/dist/eve/child/behaviors/SplineTunnel.js.map +1 -1
- package/dist/eve/child/behaviors/SplineTunnelPoint.js +3 -3
- package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +1 -1
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js +17 -8
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
- package/dist/eve/child/lineSetPaths/EveCircle.js +19 -8
- package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +3 -3
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierBooster.js +4 -4
- package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +7 -6
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHalo.js +4 -4
- package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +4 -4
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierSRT.js +5 -5
- package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js +2 -2
- package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js.map +1 -1
- package/dist/eve/distribution/attributeModifiers/InitialPlacement.js +2 -2
- package/dist/eve/distribution/attributeModifiers/InitialPlacement.js.map +1 -1
- package/dist/eve/index.js +5 -1
- package/dist/eve/index.js.map +1 -1
- package/dist/eve/lights/CjsLightData.js +5 -5
- package/dist/eve/lights/CjsLightData.js.map +1 -1
- package/dist/eve/lights/LightFeatures.js +2 -2
- package/dist/eve/lights/LightFeatures.js.map +1 -1
- package/dist/eve/lights/Tr2Light.js +89 -4
- package/dist/eve/lights/Tr2Light.js.map +1 -1
- package/dist/eve/lights/Tr2PointLight.js +4 -4
- package/dist/eve/lights/Tr2PointLight.js.map +1 -1
- package/dist/eve/lights/Tr2SpotLight.js +4 -4
- package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
- package/dist/eve/lights/Tr2TexturedPointLight.js +1 -1
- package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
- package/dist/eve/lights/lightConversion.js +194 -0
- package/dist/eve/lights/lightConversion.js.map +1 -0
- package/dist/eve/perObjectData/DecalPSPerObjectData.js +4 -4
- package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +1 -1
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +4 -4
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -1
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +2 -2
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +1 -1
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +2 -2
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +1 -1
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js +2 -2
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +17 -4
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +4 -4
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +4 -4
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch.js +15 -5
- package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch2.js +18 -5
- package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch3.js +28 -5
- package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/eve/scene/EveSpaceScene.js +448 -21
- package/dist/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/eve/socket/EveSocketParameterFilePath.js +1 -1
- package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
- package/dist/eve/spaceObject/EveEffectRoot2.js +43 -7
- package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
- package/dist/eve/spaceObject/EveMissile.js +6 -6
- package/dist/eve/spaceObject/EveMissile.js.map +1 -1
- package/dist/eve/spaceObject/EveMissileWarhead.js +13 -16
- package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
- package/dist/eve/spaceObject/EveMobile.js +28 -4
- package/dist/eve/spaceObject/EveMobile.js.map +1 -1
- package/dist/eve/spaceObject/EveRootTransform.js +4 -4
- package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
- package/dist/eve/spaceObject/EveSpaceObject2.js +82 -9
- package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/eve/spaceObject/EveStation2.js +1 -1
- package/dist/eve/spaceObject/EveStation2.js.map +1 -1
- package/dist/eve/spaceObject/EveTransform.js +27 -23
- package/dist/eve/spaceObject/EveTransform.js.map +1 -1
- package/dist/eve/spaceObject/swarm/SwarmVehicle.js +4 -4
- package/dist/eve/spaceObject/swarm/SwarmVehicle.js.map +1 -1
- package/dist/eve/spaceObject/swarm/SwarmVehicleDebug.js +3 -3
- package/dist/eve/spaceObject/swarm/SwarmVehicleDebug.js.map +1 -1
- package/dist/eve/ui/EveEllipseDefinition.js +3 -3
- package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
- package/dist/eve/ui/EveEllipseSet.js +2 -2
- package/dist/eve/ui/EveEllipseSet.js.map +1 -1
- package/dist/eve/ui/EveSprite2dBracket.js +4 -4
- package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
- package/dist/eve/ui/EveUiObject.js +1 -1
- package/dist/eve/ui/EveUiObject.js.map +1 -1
- package/dist/eve/virtualCamera/EveVirtualCamera.js +6 -6
- package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +2 -2
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +4 -4
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +3 -3
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +2 -2
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +2 -2
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
- package/dist/eve/volume/EveBoxVolume.js +4 -4
- package/dist/eve/volume/EveBoxVolume.js.map +1 -1
- package/dist/eve/volume/EveEllipsoidVolume.js +4 -4
- package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
- package/dist/eve/volume/EveSphereVolume.js +3 -3
- package/dist/eve/volume/EveSphereVolume.js.map +1 -1
- package/dist/generated/curves/Tr2VectorFunctionModifier.js +3 -3
- package/dist/generated/curves/Tr2VectorFunctionModifier.js.map +1 -1
- package/dist/generated/eve/EveCamera.js +4 -4
- package/dist/generated/eve/EveCamera.js.map +1 -1
- package/dist/generated/eve/EveEntity.js +2 -2
- package/dist/generated/eve/EveEntity.js.map +1 -1
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +5 -5
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +1 -1
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +5 -5
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +1 -1
- package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js +4 -4
- package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +1 -1
- package/dist/generated/eve/child/EveChildBehaviorSystem.js +2 -2
- package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +1 -1
- package/dist/generated/eve/child/EveChildBulletStorm.js +5 -5
- package/dist/generated/eve/child/EveChildBulletStorm.js.map +1 -1
- package/dist/generated/eve/child/EveChildCloud.js +5 -5
- package/dist/generated/eve/child/EveChildCloud.js.map +1 -1
- package/dist/generated/eve/child/EveChildCloud2.js +805 -11
- package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/generated/eve/child/EveChildExplosion.js +21 -5
- package/dist/generated/eve/child/EveChildExplosion.js.map +1 -1
- package/dist/generated/eve/child/EveChildInstanceContainer.js +30 -2
- package/dist/generated/eve/child/EveChildInstanceContainer.js.map +1 -1
- package/dist/generated/eve/child/EveChildInstanceMeshRenderer.js +3 -3
- package/dist/generated/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
- package/dist/generated/eve/child/EveChildLineSet.js +2 -2
- package/dist/generated/eve/child/EveChildLineSet.js.map +1 -1
- package/dist/generated/eve/child/EveChildLink.js +6 -6
- package/dist/generated/eve/child/EveChildLink.js.map +1 -1
- package/dist/generated/eve/child/EveChildParticleSphere.js +3 -3
- package/dist/generated/eve/child/EveChildParticleSphere.js.map +1 -1
- package/dist/generated/eve/child/EveChildParticleSystem.js +38 -30
- package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/generated/eve/child/EveChildPlug.js +24 -2
- package/dist/generated/eve/child/EveChildPlug.js.map +1 -1
- package/dist/generated/eve/child/EveChildPostProcessVolume.js +31 -18
- package/dist/generated/eve/child/EveChildPostProcessVolume.js.map +1 -1
- package/dist/generated/eve/child/EveChildQuad.js +5 -5
- package/dist/generated/eve/child/EveChildQuad.js.map +1 -1
- package/dist/generated/eve/child/EveChildRef.js +18 -2
- package/dist/generated/eve/child/EveChildRef.js.map +1 -1
- package/dist/generated/eve/child/EveChildSocket.js +18 -2
- package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
- package/dist/generated/eve/child/EveChildSpherePin.js +3 -3
- package/dist/generated/eve/child/EveChildSpherePin.js.map +1 -1
- package/dist/generated/eve/child/EveCloudEditableVolume.js +2 -2
- package/dist/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
- package/dist/generated/eve/child/EveCloudVolumeTextureParameter.js +2 -2
- package/dist/generated/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
- package/dist/generated/eve/child/IEveLightingOverride.js +2 -2
- package/dist/generated/eve/child/IEveLightingOverride.js.map +1 -1
- package/dist/generated/eve/child/behaviors/Allign.js +3 -3
- package/dist/generated/eve/child/behaviors/Allign.js.map +1 -1
- package/dist/generated/eve/child/behaviors/ApproachGroup.js +3 -3
- package/dist/generated/eve/child/behaviors/ApproachGroup.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BackAndForth.js +4 -4
- package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js +48 -45
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js +5 -5
- package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +3 -3
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
- package/dist/generated/eve/child/behaviors/DroneAvoidance.js +3 -3
- package/dist/generated/eve/child/behaviors/DroneAvoidance.js.map +1 -1
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +3 -3
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
- package/dist/generated/eve/child/behaviors/FollowASpline.js +3 -3
- package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
- package/dist/generated/eve/child/behaviors/Formation.js +4 -4
- package/dist/generated/eve/child/behaviors/Formation.js.map +1 -1
- package/dist/generated/eve/child/behaviors/InclusionVolume.js +3 -3
- package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +1 -1
- package/dist/generated/eve/child/behaviors/Inertia.js +4 -4
- package/dist/generated/eve/child/behaviors/Inertia.js.map +1 -1
- package/dist/generated/eve/child/behaviors/PlayFX.js +2 -2
- package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js +4 -4
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js +3 -3
- package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SpawnDrones.js +4 -4
- package/dist/generated/eve/child/behaviors/SpawnDrones.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +3 -3
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +1 -1
- package/dist/generated/eve/child/behaviors/Wander.js +4 -4
- package/dist/generated/eve/child/behaviors/Wander.js.map +1 -1
- package/dist/generated/eve/child/lineSetPaths/EveLineChildContainer.js +1 -1
- package/dist/generated/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js +3 -3
- package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js +4 -4
- package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js +5 -5
- package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +3 -3
- package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
- package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js +57 -53
- package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
- package/dist/generated/eve/distribution/EveBaseDistributionMethod.js +4 -4
- package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +2 -2
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +4 -4
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +4 -4
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +2 -2
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +2 -2
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +4 -4
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +2 -2
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +3 -3
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +4 -4
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +3 -3
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js +2 -2
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +2 -2
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js +2 -2
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +4 -4
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +3 -3
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +3 -3
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
- package/dist/generated/eve/effect/EveLensflare.js +38 -8
- package/dist/generated/eve/effect/EveLensflare.js.map +1 -1
- package/dist/generated/eve/effect/EveMultiEffect.js +2 -2
- package/dist/generated/eve/effect/EveMultiEffect.js.map +1 -1
- package/dist/generated/eve/effect/EveMultiEffectParameter.js +2 -2
- package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +1 -1
- package/dist/generated/eve/effect/EveOccluder.js +2 -2
- package/dist/generated/eve/effect/EveOccluder.js.map +1 -1
- package/dist/generated/eve/effect/EveStarfield.js +2 -2
- package/dist/generated/eve/effect/EveStarfield.js.map +1 -1
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +3 -3
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +1 -1
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +4 -4
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -1
- package/dist/generated/eve/index.js +1 -1
- package/dist/generated/eve/lights/Tr2FactionLight.js +4 -4
- package/dist/generated/eve/lights/Tr2FactionLight.js.map +1 -1
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +2 -2
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +4 -4
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +1 -1
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +4 -4
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -1
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +2 -2
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +1 -1
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +3 -3
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -1
- package/dist/generated/eve/scene/EveComponentCollection.js +2 -2
- package/dist/generated/eve/scene/EveComponentCollection.js.map +1 -1
- package/dist/generated/eve/scene/EveComponentRegistry.js +13 -2
- package/dist/generated/eve/scene/EveComponentRegistry.js.map +1 -1
- package/dist/generated/eve/scene/EvePendingPickingReadback.js +2 -2
- package/dist/generated/eve/scene/EvePendingPickingReadback.js.map +1 -1
- package/dist/generated/eve/scene/EvePickingContext.js +2 -2
- package/dist/generated/eve/scene/EvePickingContext.js.map +1 -1
- package/dist/generated/eve/scene/EveSceneStaticParticles.js +129 -10
- package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +1 -1
- package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js +3 -3
- package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
- package/dist/generated/eve/scene/TriShadowFrustum.js +75 -23
- package/dist/generated/eve/scene/TriShadowFrustum.js.map +1 -1
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +130 -28
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +1 -1
- package/dist/generated/eve/scene/index.js +1 -1
- package/dist/generated/eve/smartLights/EveChildSmartLightSet.js +39 -26
- package/dist/generated/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js +3 -3
- package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +3 -3
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightMesh.js +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightMesh.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +34 -33
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightQuad.js +6 -6
- package/dist/generated/eve/smartLights/EveSmartLightQuad.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +2 -2
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +2 -2
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +2 -2
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +2 -2
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +2 -2
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterBindingBase.js +2 -2
- package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterBool.js +1 -1
- package/dist/generated/eve/socket/EveSocketParameterBool.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterColor.js +2 -2
- package/dist/generated/eve/socket/EveSocketParameterColor.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterFloat.js +1 -1
- package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterInt.js +1 -1
- package/dist/generated/eve/socket/EveSocketParameterInt.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterString.js +2 -2
- package/dist/generated/eve/socket/EveSocketParameterString.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterVector2.js +2 -2
- package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterVector3.js +2 -2
- package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterVector4.js +2 -2
- package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +1 -1
- package/dist/generated/eve/spaceObject/EvePlanet.js +54 -38
- package/dist/generated/eve/spaceObject/EvePlanet.js.map +1 -1
- package/dist/generated/eve/spaceObject/EveShip2.js +42 -22
- package/dist/generated/eve/spaceObject/EveShip2.js.map +1 -1
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +2 -2
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +197 -149
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js +90 -5
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
- package/dist/generated/eve/ui/EveConnector.js +4 -4
- package/dist/generated/eve/ui/EveConnector.js.map +1 -1
- package/dist/generated/eve/ui/EveCurveLineSet.js +2 -2
- package/dist/generated/eve/ui/EveCurveLineSet.js.map +1 -1
- package/dist/generated/eve/ui/EveLineContainer.js +2 -2
- package/dist/generated/eve/ui/EveLineContainer.js.map +1 -1
- package/dist/generated/eve/ui/EveLineSet.js +4 -4
- package/dist/generated/eve/ui/EveLineSet.js.map +1 -1
- package/dist/generated/eve/ui/EveProjectBracket.js +4 -4
- package/dist/generated/eve/ui/EveProjectBracket.js.map +1 -1
- package/dist/generated/eve/ui/EveSpherePin.js +5 -5
- package/dist/generated/eve/ui/EveSpherePin.js.map +1 -1
- package/dist/generated/eve/ui/EveSprite2dBracketRenderer.js +2 -2
- package/dist/generated/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
- package/dist/generated/eve/ui/EveTacticalOverlay.js +4 -4
- package/dist/generated/eve/ui/EveTacticalOverlay.js.map +1 -1
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +3 -3
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +1 -1
- package/dist/generated/eve/ui/EveTacticalTrails.js +2 -2
- package/dist/generated/eve/ui/EveTacticalTrails.js.map +1 -1
- package/dist/generated/font/Tr2FontManager.js +2 -2
- package/dist/generated/font/Tr2FontManager.js.map +1 -1
- package/dist/generated/font/Tr2FontMeasurer.js +2 -2
- package/dist/generated/font/Tr2FontMeasurer.js.map +1 -1
- package/dist/generated/font/Tr2SBitWrapper.js +2 -2
- package/dist/generated/font/Tr2SBitWrapper.js.map +1 -1
- package/dist/generated/index.js +1 -1
- package/dist/generated/particle/ITr2GenericEmitter.js +4 -4
- package/dist/generated/particle/ITr2GenericEmitter.js.map +1 -1
- package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js +4 -4
- package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js +3 -3
- package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2DynamicEmitter.js +2 -2
- package/dist/generated/particle/Tr2DynamicEmitter.js.map +1 -1
- package/dist/generated/particle/Tr2ElementBlendConstraint.js +3 -3
- package/dist/generated/particle/Tr2ElementBlendConstraint.js.map +1 -1
- package/dist/generated/particle/Tr2ForceSphereVolume.js +3 -3
- package/dist/generated/particle/Tr2ForceSphereVolume.js.map +1 -1
- package/dist/generated/particle/Tr2GpuParticleSystem.js +2 -2
- package/dist/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
- package/dist/generated/particle/Tr2ParticleSystem.js +3 -3
- package/dist/generated/particle/Tr2ParticleSystem.js.map +1 -1
- package/dist/generated/particle/Tr2ParticleTurbulenceForce.js +5 -5
- package/dist/generated/particle/Tr2ParticleTurbulenceForce.js.map +1 -1
- package/dist/generated/particle/Tr2PlaneConstraint.js +4 -4
- package/dist/generated/particle/Tr2PlaneConstraint.js.map +1 -1
- package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js +2 -2
- package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js +3 -3
- package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js +3 -3
- package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2SphereConstraint.js +4 -4
- package/dist/generated/particle/Tr2SphereConstraint.js.map +1 -1
- package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js +4 -4
- package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2StaticEmitter.js +2 -2
- package/dist/generated/particle/Tr2StaticEmitter.js.map +1 -1
- package/dist/generated/postProcess/Tr2PostProcessRenderer.js +2 -2
- package/dist/generated/postProcess/Tr2PostProcessRenderer.js.map +1 -1
- package/dist/generated/raytracing/Tr2RaytracingGeometry.js +3 -3
- package/dist/generated/raytracing/Tr2RaytracingGeometry.js.map +1 -1
- package/dist/generated/raytracing/Tr2RaytracingManager.js +2 -2
- package/dist/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
- package/dist/generated/raytracing/Tr2RaytracingMesh.js +2 -2
- package/dist/generated/raytracing/Tr2RaytracingMesh.js.map +1 -1
- package/dist/generated/raytracing/Tr2RaytracingPipelineStateManager.js +2 -2
- package/dist/generated/raytracing/Tr2RaytracingPipelineStateManager.js.map +1 -1
- package/dist/generated/renderJob/Tr2RenderNodeEffect.js +2 -2
- package/dist/generated/renderJob/Tr2RenderNodeEffect.js.map +1 -1
- package/dist/generated/renderJob/Tr2RenderNodeSprite2dScene.js +2 -2
- package/dist/generated/renderJob/Tr2RenderNodeSprite2dScene.js.map +1 -1
- package/dist/generated/renderJob/Tr2StepExecuteRenderNode.js +1 -1
- package/dist/generated/renderJob/Tr2StepExecuteRenderNode.js.map +1 -1
- package/dist/generated/renderJob/TriStepClearUav.js +2 -2
- package/dist/generated/renderJob/TriStepClearUav.js.map +1 -1
- package/dist/generated/renderJob/TriStepFilterVisibilityResults.js +1 -1
- package/dist/generated/renderJob/TriStepFilterVisibilityResults.js.map +1 -1
- package/dist/generated/renderJob/TriStepPythonCB.js +1 -1
- package/dist/generated/renderJob/TriStepPythonCB.js.map +1 -1
- package/dist/generated/renderJob/TriStepRemoteUpdate.js +1 -1
- package/dist/generated/renderJob/TriStepRemoteUpdate.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderAtlas.js +3 -3
- package/dist/generated/renderJob/TriStepRenderAtlas.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderDebug.js +2 -2
- package/dist/generated/renderJob/TriStepRenderDebug.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderEffect.js +2 -2
- package/dist/generated/renderJob/TriStepRenderEffect.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderFps.js +1 -1
- package/dist/generated/renderJob/TriStepRenderFps.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderLineGraph.js +1 -1
- package/dist/generated/renderJob/TriStepRenderLineGraph.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderObject.js +1 -1
- package/dist/generated/renderJob/TriStepRenderObject.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderPass.js +1 -1
- package/dist/generated/renderJob/TriStepRenderPass.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderScene.js +1 -1
- package/dist/generated/renderJob/TriStepRenderScene.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderSceneDebug.js +1 -1
- package/dist/generated/renderJob/TriStepRenderSceneDebug.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderTexture.js +2 -2
- package/dist/generated/renderJob/TriStepRenderTexture.js.map +1 -1
- package/dist/generated/renderJob/TriStepRunComputeShader.js +1 -1
- package/dist/generated/renderJob/TriStepRunComputeShader.js.map +1 -1
- package/dist/generated/renderJob/TriStepSetDebugRenderer.js +1 -1
- package/dist/generated/renderJob/TriStepSetDebugRenderer.js.map +1 -1
- package/dist/generated/renderJob/TriStepSetUpscalingContextID.js +1 -1
- package/dist/generated/renderJob/TriStepSetUpscalingContextID.js.map +1 -1
- package/dist/generated/renderJob/TriStepSetVariableStore.js +1 -1
- package/dist/generated/renderJob/TriStepSetVariableStore.js.map +1 -1
- package/dist/generated/renderJob/TriStepTestBlocking.js +1 -1
- package/dist/generated/renderJob/TriStepTestBlocking.js.map +1 -1
- package/dist/generated/renderJob/TriStepToggleCubemap.js +1 -1
- package/dist/generated/renderJob/TriStepToggleCubemap.js.map +1 -1
- package/dist/generated/renderJob/TriStepUpdate.js +1 -1
- package/dist/generated/renderJob/TriStepUpdate.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2d.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
- package/dist/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dContainer.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dContainerBase.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dDisplayList.js +4 -4
- package/dist/generated/sprite2d/Tr2Sprite2dDisplayList.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dFrame.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
- package/dist/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dLine.js +3 -3
- package/dist/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js +3 -3
- package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dPickingMask.js +2 -2
- package/dist/generated/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js +4 -4
- package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dRenderJob.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dScene.js +6 -6
- package/dist/generated/sprite2d/Tr2Sprite2dScene.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dStretch.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dStretchVertical.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dTextObject.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dTexture.js +3 -3
- package/dist/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dTransform.js +2 -2
- package/dist/generated/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dVertex.js +2 -2
- package/dist/generated/sprite2d/Tr2Sprite2dVertex.js.map +1 -1
- package/dist/generated/sprite2d/Tr2SpriteObject.js +3 -3
- package/dist/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
- package/dist/generated/sprite2d/Tr2SpriteObjectBase.js +2 -2
- package/dist/generated/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
- package/dist/generated/sprite2d/Tr2TexturedSpriteObject.js +1 -1
- package/dist/generated/sprite2d/Tr2TexturedSpriteObject.js.map +1 -1
- package/dist/generated/trinityCore/ITr2FroxelFogSettings.js +2 -2
- package/dist/generated/trinityCore/ITr2FroxelFogSettings.js.map +1 -1
- package/dist/generated/trinityCore/ITr2ImpostorSource.js +3 -3
- package/dist/generated/trinityCore/ITr2ImpostorSource.js.map +1 -1
- package/dist/generated/trinityCore/ITr2InstanceData.js +2 -2
- package/dist/generated/trinityCore/ITr2InstanceData.js.map +1 -1
- package/dist/generated/trinityCore/Tr2AtlasTexture.js +2 -2
- package/dist/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
- package/dist/generated/trinityCore/Tr2BoundingLineSet.js +2 -2
- package/dist/generated/trinityCore/Tr2BoundingLineSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2CurveLineSet.js +5 -5
- package/dist/generated/trinityCore/Tr2CurveLineSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2DebugRenderer.js +4 -4
- package/dist/generated/trinityCore/Tr2DebugRenderer.js.map +1 -1
- package/dist/generated/trinityCore/Tr2Denoiser.js +2 -2
- package/dist/generated/trinityCore/Tr2Denoiser.js.map +1 -1
- package/dist/generated/trinityCore/Tr2DynamicBinding.js +2 -2
- package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ExternalParameter.js +2 -2
- package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +1 -1
- package/dist/generated/trinityCore/Tr2GpuProfiler.js +2 -2
- package/dist/generated/trinityCore/Tr2GpuProfiler.js.map +1 -1
- package/dist/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
- package/dist/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
- package/dist/generated/trinityCore/Tr2GrannyAnimation.js +6 -6
- package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +1 -1
- package/dist/generated/trinityCore/Tr2GrannyPrimitiveSet.js +1 -1
- package/dist/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2HostBitmap.js +3 -3
- package/dist/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ImpostorManager.js +2 -2
- package/dist/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
- package/dist/generated/trinityCore/Tr2KelvinColor.js +2 -2
- package/dist/generated/trinityCore/Tr2KelvinColor.js.map +1 -1
- package/dist/generated/trinityCore/Tr2LineGraph.js +3 -3
- package/dist/generated/trinityCore/Tr2LineGraph.js.map +1 -1
- package/dist/generated/trinityCore/Tr2LineSet.js +3 -3
- package/dist/generated/trinityCore/Tr2LineSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ManipulationTool.js +5 -5
- package/dist/generated/trinityCore/Tr2ManipulationTool.js.map +1 -1
- package/dist/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
- package/dist/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
- package/dist/generated/trinityCore/Tr2PrimitiveSet.js +4 -4
- package/dist/generated/trinityCore/Tr2PrimitiveSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2PrimitiveText.js +3 -3
- package/dist/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ProjectBoundingBoxBracket.js +2 -2
- package/dist/generated/trinityCore/Tr2ProjectBoundingBoxBracket.js.map +1 -1
- package/dist/generated/trinityCore/Tr2QuadRenderer.js +2 -2
- package/dist/generated/trinityCore/Tr2QuadRenderer.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ReflectionProbe.js +4 -4
- package/dist/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
- package/dist/generated/trinityCore/Tr2RingBuffer.js +2 -2
- package/dist/generated/trinityCore/Tr2RingBuffer.js.map +1 -1
- package/dist/generated/trinityCore/Tr2RotationTool.js +2 -2
- package/dist/generated/trinityCore/Tr2RotationTool.js.map +1 -1
- package/dist/generated/trinityCore/Tr2SSAO.js +2 -2
- package/dist/generated/trinityCore/Tr2SSAO.js.map +1 -1
- package/dist/generated/trinityCore/Tr2SSSSS.js +3 -3
- package/dist/generated/trinityCore/Tr2SSSSS.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ScalingTool.js +3 -3
- package/dist/generated/trinityCore/Tr2ScalingTool.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ShLightingManager.js +2 -2
- package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ShadowMap.js +2 -2
- package/dist/generated/trinityCore/Tr2ShadowMap.js.map +1 -1
- package/dist/generated/trinityCore/Tr2SolidSet.js +3 -3
- package/dist/generated/trinityCore/Tr2SolidSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2StreamingBitmapSaver.js +3 -3
- package/dist/generated/trinityCore/Tr2StreamingBitmapSaver.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TextureAnimation.js +2 -2
- package/dist/generated/trinityCore/Tr2TextureAnimation.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TextureArray.js +3 -3
- package/dist/generated/trinityCore/Tr2TextureArray.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TextureAtlas.js +3 -3
- package/dist/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
- package/dist/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TextureReference.js +2 -2
- package/dist/generated/trinityCore/Tr2TextureReference.js.map +1 -1
- package/dist/generated/trinityCore/Tr2Transform.js +5 -5
- package/dist/generated/trinityCore/Tr2Transform.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TransientTextureReference.js +2 -2
- package/dist/generated/trinityCore/Tr2TransientTextureReference.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TranslationTool.js +2 -2
- package/dist/generated/trinityCore/Tr2TranslationTool.js.map +1 -1
- package/dist/generated/trinityCore/Tr2VolumetricsRenderer.js +2 -2
- package/dist/generated/trinityCore/Tr2VolumetricsRenderer.js.map +1 -1
- package/dist/generated/trinityCore/TriLineSet.js +4 -4
- package/dist/generated/trinityCore/TriLineSet.js.map +1 -1
- package/dist/generated/trinityCore/TriRigidOrientation.js +4 -4
- package/dist/generated/trinityCore/TriRigidOrientation.js.map +1 -1
- package/dist/generated/trinityCore/TriValueBinding.js +3 -3
- package/dist/generated/trinityCore/TriValueBinding.js.map +1 -1
- package/dist/generated/utilities/Float4x3.js +2 -2
- package/dist/generated/utilities/Float4x3.js.map +1 -1
- package/dist/generated/utilities/Obb.js +3 -3
- package/dist/generated/utilities/Obb.js.map +1 -1
- package/dist/generated/utilities/Tr2MaterialBoundsAdjustment.js +2 -2
- package/dist/generated/utilities/Tr2MaterialBoundsAdjustment.js.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/particle/Tr2GpuSharedEmitter.js +4 -4
- package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/particle/Tr2GpuUniqueEmitter.js +2 -2
- package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
- package/dist/particle/Tr2ParticleAttractorForce.js +3 -3
- package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDirectForce.js +3 -3
- package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDragForce.js +3 -3
- package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleElementData.js +2 -2
- package/dist/particle/Tr2ParticleElementData.js.map +1 -1
- package/dist/particle/Tr2ParticleElementDeclaration.js +2 -2
- package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
- package/dist/particle/Tr2ParticleElementDeclarationName.js +2 -2
- package/dist/particle/Tr2ParticleElementDeclarationName.js.map +1 -1
- package/dist/particle/Tr2ParticleFluidDragForce.js +3 -3
- package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleSpring.js +3 -3
- package/dist/particle/Tr2ParticleSpring.js.map +1 -1
- package/dist/particle/Tr2ParticleVortexForce.js +3 -3
- package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
- package/dist/postProcess/BlurContext.js +2 -2
- package/dist/postProcess/BlurContext.js.map +1 -1
- package/dist/postProcess/GaussianData.js +4 -4
- package/dist/postProcess/GaussianData.js.map +1 -1
- package/dist/postProcess/Tr2PPBloomEffect.js +2 -2
- package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPColorCorrectionEffect.js +2 -2
- package/dist/postProcess/Tr2PPColorCorrectionEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +1 -1
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPDesaturateEffect.js +1 -1
- package/dist/postProcess/Tr2PPDesaturateEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPDynamicExposureEffect.js +1 -1
- package/dist/postProcess/Tr2PPDynamicExposureEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPEffect.js +2 -2
- package/dist/postProcess/Tr2PPEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPFadeEffect.js +2 -2
- package/dist/postProcess/Tr2PPFadeEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPFilmGrainEffect.js +1 -1
- package/dist/postProcess/Tr2PPFilmGrainEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPFogEffect.js +4 -4
- package/dist/postProcess/Tr2PPFogEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPGenericEffect.js +1 -1
- package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPGodRaysEffect.js +2 -2
- package/dist/postProcess/Tr2PPGodRaysEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPLutEffect.js +1 -1
- package/dist/postProcess/Tr2PPLutEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPSignalLossEffect.js +1 -1
- package/dist/postProcess/Tr2PPSignalLossEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTaaEffect.js +1 -1
- package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTonemappingEffect.js +1 -1
- package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPVignetteEffect.js +3 -3
- package/dist/postProcess/Tr2PPVignetteEffect.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess.js +2 -2
- package/dist/postProcess/Tr2PostProcess.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess2.js +2 -2
- package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
- package/dist/postProcess/Tr2PostProcessAttributes.js +5 -5
- package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
- package/dist/renderJob/Tr2RenderJobs.js +2 -2
- package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
- package/dist/renderJob/TriRenderJob.js +2 -2
- package/dist/renderJob/TriRenderJob.js.map +1 -1
- package/dist/renderJob/TriRenderStep.js +2 -2
- package/dist/renderJob/TriRenderStep.js.map +1 -1
- package/dist/renderJob/TriStepClear.js +2 -2
- package/dist/renderJob/TriStepClear.js.map +1 -1
- package/dist/renderJob/TriStepCopyRenderTarget.js +1 -1
- package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepEnableWireframeMode.js +1 -1
- package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
- package/dist/renderJob/TriStepGenerateMipMaps.js +1 -1
- package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
- package/dist/renderJob/TriStepPopDepthStencil.js +1 -1
- package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPopProjection.js +1 -1
- package/dist/renderJob/TriStepPopProjection.js.map +1 -1
- package/dist/renderJob/TriStepPopRenderTarget.js +1 -1
- package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPopViewTransform.js +1 -1
- package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPopViewport.js +1 -1
- package/dist/renderJob/TriStepPopViewport.js.map +1 -1
- package/dist/renderJob/TriStepPresentSwapChain.js +1 -1
- package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
- package/dist/renderJob/TriStepPushDepthStencil.js +1 -1
- package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPushProjection.js +1 -1
- package/dist/renderJob/TriStepPushProjection.js.map +1 -1
- package/dist/renderJob/TriStepPushRenderTarget.js +1 -1
- package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPushViewTransform.js +1 -1
- package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPushViewport.js +1 -1
- package/dist/renderJob/TriStepPushViewport.js.map +1 -1
- package/dist/renderJob/TriStepRemoteSync.js +1 -1
- package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
- package/dist/renderJob/TriStepResolve.js +1 -1
- package/dist/renderJob/TriStepResolve.js.map +1 -1
- package/dist/renderJob/TriStepRunJob.js +1 -1
- package/dist/renderJob/TriStepRunJob.js.map +1 -1
- package/dist/renderJob/TriStepSetDepthStencil.js +1 -1
- package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepSetProjection.js +1 -1
- package/dist/renderJob/TriStepSetProjection.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderState.js +2 -2
- package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderTarget.js +1 -1
- package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepSetStdRndStates.js +1 -1
- package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
- package/dist/renderJob/TriStepSetView.js +1 -1
- package/dist/renderJob/TriStepSetView.js.map +1 -1
- package/dist/renderJob/TriStepSetViewport.js +1 -1
- package/dist/renderJob/TriStepSetViewport.js.map +1 -1
- package/dist/renderJob/TriStepSetVisualizationMode.js +1 -1
- package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
- package/dist/shader/Tr2Effect.js +2 -2
- package/dist/shader/Tr2Effect.js.map +1 -1
- package/dist/shader/Tr2Material.js +2 -2
- package/dist/shader/Tr2Material.js.map +1 -1
- package/dist/shader/Tr2Shader.js +2 -2
- package/dist/shader/Tr2Shader.js.map +1 -1
- package/dist/shader/material/Tr2EffectLibraryParameters.js +2 -2
- package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
- package/dist/shader/material/Tr2EffectParam.js +2 -2
- package/dist/shader/material/Tr2EffectParam.js.map +1 -1
- package/dist/shader/material/Tr2EffectPassParameters.js +2 -2
- package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
- package/dist/shader/material/Tr2EffectTechniqueInputs.js +2 -2
- package/dist/shader/material/Tr2EffectTechniqueInputs.js.map +1 -1
- package/dist/shader/material/Tr2MaterialStageInput.js +2 -2
- package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
- package/dist/shader/material/Tr2SharedConstantBuffers.js +2 -2
- package/dist/shader/material/Tr2SharedConstantBuffers.js.map +1 -1
- package/dist/shader/parameter/CjsParameter.js +1 -1
- package/dist/shader/parameter/CjsParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2ConstantEffectParameter.js +2 -2
- package/dist/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2FloatParameter.js +1 -1
- package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Matrix4Parameter.js +2 -2
- package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +1 -1
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js +1 -1
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector2Parameter.js +3 -3
- package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector3Parameter.js +3 -3
- package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector4Parameter.js +3 -3
- package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
- package/dist/shader/parameter/TriFloatArrayParameter.js +1 -1
- package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
- package/dist/shader/parameter/TriTextureParameter.js +2 -2
- package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
- package/dist/shader/parameter/TriTransformParameter.js +27 -6
- package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
- package/dist/shader/parameter/TriVariableParameter.js +2 -2
- package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
- package/dist/shader/parameter/TriVector4.js +3 -3
- package/dist/shader/parameter/TriVector4.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectConstant.js +2 -2
- package/dist/shader/reflection/Tr2EffectConstant.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectDefine.js +2 -2
- package/dist/shader/reflection/Tr2EffectDefine.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectDescription.js +2 -2
- package/dist/shader/reflection/Tr2EffectDescription.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectLibrary.js +2 -2
- package/dist/shader/reflection/Tr2EffectLibrary.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +2 -2
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectResource.js +2 -2
- package/dist/shader/reflection/Tr2EffectResource.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectStageInput.js +2 -2
- package/dist/shader/reflection/Tr2EffectStageInput.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectTechnique.js +2 -2
- package/dist/shader/reflection/Tr2EffectTechnique.js.map +1 -1
- package/dist/shader/reflection/Tr2Pass.js +2 -2
- package/dist/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/shader/reflection/Tr2ShaderOption.js +2 -2
- package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
- package/dist/shader/sampler/Tr2SamplerOverride.js +2 -2
- package/dist/shader/sampler/Tr2SamplerOverride.js.map +1 -1
- package/dist/shader/sampler/Tr2SamplerOverrideData.js +2 -2
- package/dist/shader/sampler/Tr2SamplerOverrideData.js.map +1 -1
- package/dist/shader/sampler/Tr2SamplerSetup.js +2 -2
- package/dist/shader/sampler/Tr2SamplerSetup.js.map +1 -1
- package/dist/shader/support/Tr2DataTextureManager.js +2 -2
- package/dist/shader/support/Tr2DataTextureManager.js.map +1 -1
- package/dist/shader/support/Tr2EffectStateManager.js +2 -2
- package/dist/shader/support/Tr2EffectStateManager.js.map +1 -1
- package/dist/shader/support/Tr2ShaderBuffer.js +2 -2
- package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
- package/dist/sprite2d/Tr2Sprite2dClipRect.js +2 -2
- package/dist/sprite2d/Tr2Sprite2dClipRect.js.map +1 -1
- package/dist/sprite2d/Tr2Sprite2dD3DVertex.js +2 -2
- package/dist/sprite2d/Tr2Sprite2dD3DVertex.js.map +1 -1
- package/dist/sprite2d/Tr2Sprite2dLineTraceVertex.js +4 -4
- package/dist/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
- package/dist/sprite2d/Tr2Sprite2dTriangle.js +2 -2
- package/dist/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
- package/dist/sprite2d/Tr2Sprite2dVertexBase.js +5 -5
- package/dist/sprite2d/Tr2Sprite2dVertexBase.js.map +1 -1
- package/dist/trinityCore/CjsBatchManager.js +7 -1
- package/dist/trinityCore/CjsBatchManager.js.map +1 -1
- package/dist/trinityCore/GrannyBoneOffset.js +5 -5
- package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
- package/dist/trinityCore/ITriRenderBatchAccumulator.js +28 -2
- package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/Tr2BindingVector3.js +3 -3
- package/dist/trinityCore/Tr2BindingVector3.js.map +1 -1
- package/dist/trinityCore/Tr2DepthStencil.js +3 -3
- package/dist/trinityCore/Tr2DepthStencil.js.map +1 -1
- package/dist/trinityCore/Tr2DirectInstanceData.js +3 -3
- package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2ExpressionTermInfo.js +2 -2
- package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
- package/dist/trinityCore/Tr2GpuBuffer.js +3 -3
- package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
- package/dist/trinityCore/Tr2InstancedMesh.js +2 -2
- package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
- package/dist/trinityCore/Tr2MaterialParameterStore.js +2 -2
- package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
- package/dist/trinityCore/Tr2Mesh.js +1 -1
- package/dist/trinityCore/Tr2Mesh.js.map +1 -1
- package/dist/trinityCore/Tr2MeshArea.js +2 -2
- package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
- package/dist/trinityCore/Tr2MeshBase.js +3 -3
- package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
- package/dist/trinityCore/Tr2PrimaryRenderContext.js +2 -2
- package/dist/trinityCore/Tr2PrimaryRenderContext.js.map +1 -1
- package/dist/trinityCore/Tr2PyValueBinding.js +2 -2
- package/dist/trinityCore/Tr2PyValueBinding.js.map +1 -1
- package/dist/trinityCore/Tr2RenderBatch.js +2 -2
- package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
- package/dist/trinityCore/Tr2RenderContext.js +4 -4
- package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
- package/dist/trinityCore/Tr2RenderTarget.js +3 -3
- package/dist/trinityCore/Tr2RenderTarget.js.map +1 -1
- package/dist/trinityCore/Tr2RuntimeGpuBuffer.js +2 -2
- package/dist/trinityCore/Tr2RuntimeGpuBuffer.js.map +1 -1
- package/dist/trinityCore/Tr2RuntimeInstanceData.js +3 -3
- package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2SerializedMorphAnimation.js +2 -2
- package/dist/trinityCore/Tr2SerializedMorphAnimation.js.map +1 -1
- package/dist/trinityCore/Tr2SwapChain.js +2 -2
- package/dist/trinityCore/Tr2SwapChain.js.map +1 -1
- package/dist/trinityCore/Tr2VariableStore.js +2 -2
- package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
- package/dist/trinityCore/Tr2VisibilityResults.js +4 -4
- package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
- package/dist/trinityCore/TriDevice.js +3 -3
- package/dist/trinityCore/TriDevice.js.map +1 -1
- package/dist/trinityCore/TriFloat.js +2 -2
- package/dist/trinityCore/TriFloat.js.map +1 -1
- package/dist/trinityCore/TriFrustum.js +374 -0
- package/dist/trinityCore/TriFrustum.js.map +1 -0
- package/dist/trinityCore/TriFrustumOrtho.js +158 -0
- package/dist/trinityCore/TriFrustumOrtho.js.map +1 -0
- package/dist/trinityCore/TriObserverLocal.js +3 -3
- package/dist/trinityCore/TriObserverLocal.js.map +1 -1
- package/dist/trinityCore/TriProjection.js +3 -3
- package/dist/trinityCore/TriProjection.js.map +1 -1
- package/dist/trinityCore/TriRect.js +2 -2
- package/dist/trinityCore/TriRect.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchAccumulator.js +2 -2
- package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchMap.js +10 -1
- package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
- package/dist/trinityCore/TriSettings.js +2 -2
- package/dist/trinityCore/TriSettings.js.map +1 -1
- package/dist/trinityCore/TriTorque.js +4 -4
- package/dist/trinityCore/TriTorque.js.map +1 -1
- package/dist/trinityCore/TriVariable.js +2 -2
- package/dist/trinityCore/TriVariable.js.map +1 -1
- package/dist/trinityCore/TriView.js +3 -3
- package/dist/trinityCore/TriView.js.map +1 -1
- package/dist/trinityCore/TriViewport.js +2 -2
- package/dist/trinityCore/TriViewport.js.map +1 -1
- package/dist/trinityCore/index.js +4 -0
- package/dist/trinityCore/index.js.map +1 -1
- package/dist/trinityCore/rawData/RawData.js +178 -0
- package/dist/trinityCore/rawData/RawData.js.map +1 -0
- package/dist/trinityCore/rawData/RawDataStore.js +232 -0
- package/dist/trinityCore/rawData/RawDataStore.js.map +1 -0
- package/dist/ui/Tr2PresentParameters.js +2 -2
- package/dist/ui/Tr2PresentParameters.js.map +1 -1
- package/dist/utilities/Range.js +2 -2
- package/dist/utilities/Range.js.map +1 -1
- package/package.json +2 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FollowASpline.js","sources":["../../../../../../src/generated/eve/child/behaviors/FollowASpline.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/FollowASpline.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/FollowASpline.cpp\n// Generated by format-carbon carbon-class --emit. Verify against eve/child/behaviors/FollowASpline.json.\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/core-types/schema\";\nimport { CjsModel } from \"@carbonenginejs/core-types/model\";\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\nimport { TunnelGroupType } from \"./enums.js\";\n\n// Module scratch for the per-agent loop (behavior updates run sequentially).\nconst DIST = vec3.create();\nconst TARGET_VECTOR = vec3.create();\nconst VECTOR_BETWEEN = vec3.create();\nconst VECTOR_PROJ = vec3.create();\nconst OFFSET = vec3.create();\nconst TARGET_NORMALIZED = vec3.create();\nconst BLEND_VECTOR = vec3.create();\nconst DESIRED_NORMALIZED = vec3.create();\nconst PULL_FORCE = vec3.create();\nconst FORCE_OFFSET = vec3.create();\nconst NO_FORCES = [];\n\n/** FollowASpline (eve/child/behaviors) - generated from schema shapeHash b9e40b05.... */\n@type.define({ className: \"FollowASpline\", family: \"eve/child/behaviors\" })\nexport class FollowASpline extends CjsModel\n{\n\n /** Flattened CPU tunnel references used by the behavior system. */\n @type.list(\"SplineTunnel\")\n privateTunnels = [];\n\n @type.boolean\n shouldReassignTunnelIDs = true;\n\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\n @io.notify\n @io.persist\n @type.int32\n behaviorPriority = 0;\n\n /** m_tunnelGroupType (TunnelGroupType - enum TunnelGroupType) [READWRITE, PERSIST, ENUM] */\n @io.persist\n @type.int32\n @schema.enum(\"TunnelGroupType\")\n tunnelGroupType = 2;\n\n /** m_splineTunnels (PSplineTunnelGroupVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"SplineTunnelGroup\")\n splineTunnels = [];\n\n /** m_smoothPullFactor (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n smoothPullFactor = 0.8;\n\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n behaviorWeight = 600;\n\n /** m_enabled (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n enabled = true;\n\n /** m_cornerSmoothener (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n cornerSmoothener = 0.8;\n\n // Carbon m_frameCounter/m_framesBetweenUpdates/m_lastPullForces/\n // m_targetPointVector/m_desiredVector runtime state.\n #frameCounter = 0;\n\n #framesBetweenUpdates = 11;\n\n #lastPullForces = [];\n\n #targetPointVector = [];\n\n #desiredVector = vec3.create();\n\n #returnForces = [];\n\n /** Carbon FollowASpline::GetProcessPriority (cpp:32-35). */\n @carbon.method\n @impl.implemented\n GetProcessPriority()\n {\n return this.behaviorPriority;\n }\n\n /** Carbon FollowASpline::OnModified (cpp:26-30). */\n @carbon.method\n @impl.implemented\n OnModified(_value = null)\n {\n this.remapTunnels();\n return true;\n }\n\n /** Per-agent scratch record count (Carbon sizeof(FollowASplineData)). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\n GetScratchMemorySize()\n {\n return 1;\n }\n\n /** Fresh per-agent scratch record (Carbon FollowASplineData placement init). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\n InitializeScratch()\n {\n return {\n tunnelLock: -1,\n tunnelPoint: 0\n };\n }\n\n /**\n * Pulls unassigned agents into tunnel entrances, steers locked agents along\n * their tunnel points, and replays cached pull forces on skip frames\n * (Carbon CalculateBehavior, cpp:201-293).\n * @param {Array} agents - DroneAgent records\n * @param {Array} scratchData - per-agent FollowASplineData records\n * @param {Number} _deltaTime\n * @param {Object} group - owning BehaviorGroup\n * @param {Object} system - owning EveChildBehaviorSystem\n * @param {Array} _dronesInSearchRadius - unused\n * @returns {Array} debug force pairs when group.collectForces is on\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Debug force pairs are only collected when group.collectForces is set, keeping the per-agent loop allocation-free.\")\n CalculateBehavior(agents, scratchData, _deltaTime, group, system, _dronesInSearchRadius)\n {\n if (!this.enabled)\n {\n return NO_FORCES;\n }\n\n if (this.#frameCounter >= this.#framesBetweenUpdates)\n {\n this.#frameCounter = 0;\n }\n else\n {\n this.#frameCounter++;\n }\n\n const forceVectors = this.#returnForces;\n forceVectors.length = 0;\n\n if (this.#frameCounter === 0)\n {\n if (this.shouldReassignTunnelIDs)\n {\n // JS has no Blue list notify, so the local tunnel list refreshes here\n // before the system tunnels are prepended (Carbon relies on\n // OnListModified having filled m_privateTunnels already).\n this.remapTunnels();\n this.#ReassignTunnelIDsAndAddSystemTunnels(system);\n group.InitializeGeometryResource(); // reset all agents\n return forceVectors;\n }\n\n this.#targetPointVector.length = 0;\n\n let pullCount = 0;\n for (let c = 0; c < agents.length; c++)\n {\n const drone = agents[c];\n const data = scratchData?.[c];\n if (!data)\n {\n continue;\n }\n\n vec3.set(this.#desiredVector, 0, 0, 0);\n let rampingForce = 1;\n\n if (data.tunnelLock === -1)\n {\n rampingForce = this.#ProcessTunnelEntrances(drone, this.privateTunnels, data);\n }\n\n // tunnelLock can change in ProcessTunnelEntrances so if->else is not\n // equivalent\n if (data.tunnelLock !== -1)\n {\n if (this.#ProcessAssignedTunnel(drone, this.privateTunnels, group, data))\n {\n // If process returns true we update all the drones as a unit and\n // skip if they are in a Formation\n if (this.#CheckForAndUpdateFormation(agents, group, scratchData, data.tunnelLock, data.tunnelPoint))\n {\n // all drones have been updated so we break\n break;\n }\n }\n }\n\n const pullForce = this.#PullForceAt(pullCount);\n pullCount++;\n\n if (vec3.squaredLength(this.#desiredVector) === 0)\n {\n vec3.set(pullForce, 0, 0, 0);\n continue;\n }\n\n vec3.normalize(PULL_FORCE, this.#desiredVector);\n if (group.collectForces)\n {\n vec3.scale(FORCE_OFFSET, PULL_FORCE, group.GetBoundingSphereRadius());\n forceVectors.push(vec3.add(vec3.create(), drone.position, FORCE_OFFSET));\n }\n vec3.scale(PULL_FORCE, PULL_FORCE, this.behaviorWeight * rampingForce);\n if (group.collectForces)\n {\n forceVectors.push(vec3.clone(PULL_FORCE));\n }\n vec3.add(drone.acceleration, drone.acceleration, PULL_FORCE);\n vec3.copy(pullForce, PULL_FORCE);\n }\n this.#lastPullForces.length = pullCount;\n }\n else\n {\n if (this.#lastPullForces.length === 0)\n {\n return forceVectors;\n }\n let c = 0;\n for (const agent of agents)\n {\n if (c >= this.#lastPullForces.length)\n {\n break;\n }\n const pullForce = this.#lastPullForces[c];\n vec3.add(agent.acceleration, agent.acceleration, pullForce);\n\n if (group.collectForces && vec3.squaredLength(pullForce) > 0)\n {\n vec3.normalize(FORCE_OFFSET, pullForce);\n vec3.scale(FORCE_OFFSET, FORCE_OFFSET, group.GetBoundingSphereRadius());\n forceVectors.push(vec3.add(vec3.create(), agent.position, FORCE_OFFSET));\n forceVectors.push(vec3.clone(pullForce));\n }\n c++;\n }\n }\n return forceVectors;\n }\n\n /** Carbon method remapTunnels -> UpdateTunnelRegistry (cpp:319-335). */\n @carbon.method\n @impl.adapted\n remapTunnels()\n {\n this.privateTunnels.length = 0;\n for (const group of this.splineTunnels)\n {\n const tunnels = group?.GetTunnels?.() ?? group?.tunnels;\n if (Array.isArray(tunnels))\n {\n this.privateTunnels.push(...tunnels);\n }\n }\n this.shouldReassignTunnelIDs = true;\n return this.privateTunnels;\n }\n\n // Prepends the system-wide tunnels and reassigns sequential IDs (Carbon\n // ReassignTunnelIDsAndAddSystemTunnels, cpp:337-370).\n #ReassignTunnelIDsAndAddSystemTunnels(system)\n {\n const tunnels = system.GetTunnels?.() ?? [];\n\n for (const tunnel of tunnels)\n {\n this.privateTunnels.unshift(tunnel);\n }\n\n let id = 0;\n\n if (tunnels.length !== 0)\n {\n id = tunnels[tunnels.length - 1].tunnelID;\n }\n\n if (this.privateTunnels.length === 0)\n {\n this.shouldReassignTunnelIDs = false;\n return;\n }\n\n for (const tunnel of this.privateTunnels)\n {\n tunnel.tunnelID = id;\n id++;\n }\n\n this.shouldReassignTunnelIDs = false;\n }\n\n // Pull-in test against the tunnel entrance spheres (Carbon\n // ProcessTunnelEntrances, cpp:70-104). Returns the ramping force and may\n // lock the agent to a tunnel; mutates this.#desiredVector.\n #ProcessTunnelEntrances(agent, tunnels, data)\n {\n // not associated with a tunnel\n for (const tunnel of tunnels)\n {\n if (tunnel.tunnelGroupType !== TunnelGroupType.OTHER_TUNNELS)\n {\n return 0;\n }\n\n if (tunnel.splinePoints.length === 0)\n {\n continue;\n }\n\n vec3.subtract(DIST, tunnel.splinePoints[0].pos, agent.position);\n const length = vec3.length(DIST);\n if (length < tunnel.pointOfNoReturnSize)\n {\n data.tunnelLock = tunnel.tunnelID;\n data.tunnelPoint = 0;\n }\n else if (length < tunnel.pullSize)\n {\n if (tunnel.pullSize === tunnel.pointOfNoReturnSize)\n {\n continue;\n }\n\n // normalize the distance between outer and inner spheres to increase\n // pull-strength\n let mod = (length - tunnel.pointOfNoReturnSize) / (tunnel.pullSize - tunnel.pointOfNoReturnSize);\n mod = 1 - Math.max(0, Math.min(mod, 1));\n vec3.copy(this.#desiredVector, DIST);\n return Math.min(1, Math.max(0, 1 - this.smoothPullFactor + this.smoothPullFactor * mod));\n }\n }\n return 1;\n }\n\n // Steers a locked agent along its tunnel (Carbon ProcessAssignedTunnel,\n // cpp:107-189). Returns true when the tunnel state advanced; mutates the\n // scratch record and this.#desiredVector.\n #ProcessAssignedTunnel(agent, tunnels, group, data)\n {\n if (data.tunnelLock > tunnels.length)\n {\n return false;\n }\n\n const tunnel = tunnels[data.tunnelLock];\n const points = tunnel?.splinePoints;\n if (!points || points.length === 0)\n {\n return false;\n }\n\n const pointID = data.tunnelPoint;\n const point = points[pointID];\n if (!point)\n {\n return false;\n }\n\n vec3.subtract(TARGET_VECTOR, point.pos, agent.position);\n\n // Carbon compares against *begin()/*end() by value; the intent is the\n // first/last spline point.\n if (pointID === 0)\n {\n vec3.copy(VECTOR_BETWEEN, point.rot);\n }\n else\n {\n vec3.copy(VECTOR_BETWEEN, points[pointID - 1].rot);\n }\n\n const lengthBetweenPoints = vec3.length(VECTOR_BETWEEN);\n\n if (lengthBetweenPoints !== 0)\n {\n // an offset is added to the target point so they don't all follow the\n // same line\n const dotProd = vec3.dot(TARGET_VECTOR, VECTOR_BETWEEN);\n vec3.scale(VECTOR_PROJ, VECTOR_BETWEEN, dotProd / (lengthBetweenPoints * lengthBetweenPoints));\n vec3.subtract(OFFSET, VECTOR_PROJ, TARGET_VECTOR);\n vec3.normalize(OFFSET, OFFSET);\n vec3.scaleAndAdd(TARGET_VECTOR, TARGET_VECTOR, OFFSET, tunnel.cylWidth / 2);\n }\n\n // Carbon records every target point for debug rendering; the JS port only\n // collects them in debug (collectForces) mode to keep the loop\n // allocation-free.\n if (group.collectForces)\n {\n this.#targetPointVector.push(vec3.add(vec3.create(), TARGET_VECTOR, agent.position));\n }\n\n if (pointID === points.length - 1)\n {\n vec3.copy(this.#desiredVector, point.rot);\n\n // the Dot product is positive if the agent is facing the target point\n if (vec3.dot(TARGET_VECTOR, agent.rotation) < 0)\n {\n data.tunnelLock = -1;\n data.tunnelPoint = 0;\n return true;\n }\n }\n else\n {\n const lengthFromShip = vec3.length(TARGET_VECTOR);\n\n let blendingMod = 0;\n\n if (lengthBetweenPoints !== 0)\n {\n blendingMod = Math.min(1, Math.max(0, (lengthBetweenPoints - lengthFromShip) / lengthBetweenPoints));\n blendingMod = blendingMod * blendingMod;\n }\n this.cornerSmoothener = Math.min(1, Math.max(0, this.cornerSmoothener));\n vec3.normalize(TARGET_NORMALIZED, TARGET_VECTOR);\n vec3.add(BLEND_VECTOR, point.rot, TARGET_VECTOR);\n vec3.normalize(BLEND_VECTOR, BLEND_VECTOR);\n vec3.scale(this.#desiredVector, TARGET_NORMALIZED, this.cornerSmoothener * (1 - blendingMod));\n vec3.scaleAndAdd(this.#desiredVector, this.#desiredVector, BLEND_VECTOR, (1 - this.cornerSmoothener) * blendingMod);\n vec3.normalize(DESIRED_NORMALIZED, this.#desiredVector);\n if (vec3.dot(TARGET_NORMALIZED, DESIRED_NORMALIZED) < this.cornerSmoothener)\n {\n vec3.copy(this.#desiredVector, TARGET_VECTOR);\n }\n\n if ((lengthFromShip - group.GetBoundingSphereRadius()) < tunnel.cylWidth / 1.5)\n {\n data.tunnelPoint++;\n return true;\n }\n\n // rework into cylinder collision\n if (lengthFromShip > (group.GetBoundingSphereRadius() + lengthBetweenPoints * 1.5) &&\n vec3.dot(TARGET_VECTOR, VECTOR_BETWEEN) < 0)\n {\n data.tunnelLock = -1;\n data.tunnelPoint = 0;\n return true;\n }\n }\n return false;\n }\n\n // When the group is in Formation, locks every drone to the same tunnel\n // point so they advance as a unit (Carbon CheckForAndUpdateFormation,\n // cpp:295-317).\n #CheckForAndUpdateFormation(agents, group, scratchData, tunnel, tunnelPoint)\n {\n const formation = group.GetBehaviorByName(\"Formation\");\n\n if (formation && formation.InFormation?.())\n {\n for (let c = 0; c < agents.length; c++)\n {\n const data = scratchData?.[c];\n if (data)\n {\n data.tunnelLock = tunnel;\n data.tunnelPoint = tunnelPoint;\n }\n }\n return true;\n }\n return false;\n }\n\n // Reuses (or grows) the cached pull-force slot for one agent index.\n #PullForceAt(index)\n {\n let force = this.#lastPullForces[index];\n if (!force)\n {\n force = vec3.create();\n this.#lastPullForces[index] = force;\n }\n return force;\n }\n\n static TunnelGroupType = Object.freeze({\n EXIT_TUNNELS: 0,\n ENTRANCE_TUNNELS: 1,\n OTHER_TUNNELS: 2,\n });\n\n}\n"],"names":["DIST","vec3","create","TARGET_VECTOR","VECTOR_BETWEEN","VECTOR_PROJ","OFFSET","TARGET_NORMALIZED","BLEND_VECTOR","DESIRED_NORMALIZED","PULL_FORCE","FORCE_OFFSET","NO_FORCES","_FollowASpline","_identity","FollowASpline","CjsModel","e","_init_privateTunnels","_init_extra_privateTunnels","_init_shouldReassignTunnelIDs","_init_extra_shouldReassignTunnelIDs","_init_behaviorPriority","_init_extra_behaviorPriority","_init_tunnelGroupType","_init_extra_tunnelGroupType","_init_splineTunnels","_init_extra_splineTunnels","_init_smoothPullFactor","_init_extra_smoothPullFactor","_init_behaviorWeight","_init_extra_behaviorWeight","_init_enabled","_init_extra_enabled","_init_cornerSmoothener","_init_extra_cornerSmoothener","_initProto","c","_initClass","_applyDecs","type","define","className","family","list","boolean","io","notify","persist","int32","schema","enum","float32","carbon","method","impl","implemented","adapted","reason","privateTunnels","shouldReassignTunnelIDs","behaviorPriority","tunnelGroupType","splineTunnels","smoothPullFactor","behaviorWeight","enabled","cornerSmoothener","GetProcessPriority","OnModified","_value","remapTunnels","GetScratchMemorySize","InitializeScratch","tunnelLock","tunnelPoint","CalculateBehavior","agents","scratchData","_deltaTime","group","system","_dronesInSearchRadius","forceVectors","length","InitializeGeometryResource","pullCount","drone","data","set","rampingForce","pullForce","squaredLength","normalize","collectForces","scale","GetBoundingSphereRadius","push","add","position","clone","acceleration","copy","agent","tunnels","GetTunnels","Array","isArray","#ReassignTunnelIDsAndAddSystemTunnels","tunnel","unshift","id","tunnelID","#ProcessTunnelEntrances","TunnelGroupType","OTHER_TUNNELS","splinePoints","subtract","pos","pointOfNoReturnSize","pullSize","mod","Math","max","min","#ProcessAssignedTunnel","points","pointID","point","rot","lengthBetweenPoints","dotProd","dot","scaleAndAdd","cylWidth","rotation","lengthFromShip","blendingMod","#CheckForAndUpdateFormation","formation","GetBehaviorByName","InFormation","#PullForceAt","index","force","Object","freeze","EXIT_TUNNELS","ENTRANCE_TUNNELS","constructor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FollowASpline.js","sources":["../../../../../../src/generated/eve/child/behaviors/FollowASpline.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/FollowASpline.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/FollowASpline.cpp\n// Generated by format-carbon carbon-class --emit. Verify against eve/child/behaviors/FollowASpline.json.\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\nimport { TunnelGroupType } from \"./enums.js\";\n\n// Module scratch for the per-agent loop (behavior updates run sequentially).\nconst DIST = vec3.create();\nconst TARGET_VECTOR = vec3.create();\nconst VECTOR_BETWEEN = vec3.create();\nconst VECTOR_PROJ = vec3.create();\nconst OFFSET = vec3.create();\nconst TARGET_NORMALIZED = vec3.create();\nconst BLEND_VECTOR = vec3.create();\nconst DESIRED_NORMALIZED = vec3.create();\nconst PULL_FORCE = vec3.create();\nconst FORCE_OFFSET = vec3.create();\nconst NO_FORCES = [];\n\n/** FollowASpline (eve/child/behaviors) - generated from schema shapeHash b9e40b05.... */\n@type.define({ className: \"FollowASpline\", family: \"eve/child/behaviors\" })\nexport class FollowASpline extends CjsModel\n{\n\n /** Flattened CPU tunnel references used by the behavior system. */\n @type.list(\"SplineTunnel\")\n privateTunnels = [];\n\n @type.boolean\n shouldReassignTunnelIDs = true;\n\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\n @io.notify\n @io.persist\n @type.int32\n behaviorPriority = 0;\n\n /** m_tunnelGroupType (TunnelGroupType - enum TunnelGroupType) [READWRITE, PERSIST, ENUM] */\n @io.persist\n @type.int32\n @schema.enum(\"TunnelGroupType\")\n tunnelGroupType = 2;\n\n /** m_splineTunnels (PSplineTunnelGroupVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"SplineTunnelGroup\")\n splineTunnels = [];\n\n /** m_smoothPullFactor (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n smoothPullFactor = 0.8;\n\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n behaviorWeight = 600;\n\n /** m_enabled (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n enabled = true;\n\n /** m_cornerSmoothener (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n cornerSmoothener = 0.8;\n\n // Carbon m_frameCounter/m_framesBetweenUpdates/m_lastPullForces/\n // m_targetPointVector/m_desiredVector runtime state.\n #frameCounter = 0;\n\n #framesBetweenUpdates = 11;\n\n #lastPullForces = [];\n\n #targetPointVector = [];\n\n #desiredVector = vec3.create();\n\n #returnForces = [];\n\n /** Carbon FollowASpline::GetProcessPriority (cpp:32-35). */\n @carbon.method\n @impl.implemented\n GetProcessPriority()\n {\n return this.behaviorPriority;\n }\n\n /** Carbon FollowASpline::OnModified (cpp:26-30). */\n @carbon.method\n @impl.implemented\n OnModified(_value = null)\n {\n this.remapTunnels();\n return true;\n }\n\n /** Per-agent scratch record count (Carbon sizeof(FollowASplineData)). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\n GetScratchMemorySize()\n {\n return 1;\n }\n\n /** Fresh per-agent scratch record (Carbon FollowASplineData placement init). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\n InitializeScratch()\n {\n return {\n tunnelLock: -1,\n tunnelPoint: 0\n };\n }\n\n /**\n * Pulls unassigned agents into tunnel entrances, steers locked agents along\n * their tunnel points, and replays cached pull forces on skip frames\n * (Carbon CalculateBehavior, cpp:201-293).\n * @param {Array} agents - DroneAgent records\n * @param {Array} scratchData - per-agent FollowASplineData records\n * @param {Number} _deltaTime\n * @param {Object} group - owning BehaviorGroup\n * @param {Object} system - owning EveChildBehaviorSystem\n * @param {Array} _dronesInSearchRadius - unused\n * @returns {Array} debug force pairs when group.collectForces is on\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Debug force pairs are only collected when group.collectForces is set, keeping the per-agent loop allocation-free.\")\n CalculateBehavior(agents, scratchData, _deltaTime, group, system, _dronesInSearchRadius)\n {\n if (!this.enabled)\n {\n return NO_FORCES;\n }\n\n if (this.#frameCounter >= this.#framesBetweenUpdates)\n {\n this.#frameCounter = 0;\n }\n else\n {\n this.#frameCounter++;\n }\n\n const forceVectors = this.#returnForces;\n forceVectors.length = 0;\n\n if (this.#frameCounter === 0)\n {\n if (this.shouldReassignTunnelIDs)\n {\n // JS has no Blue list notify, so the local tunnel list refreshes here\n // before the system tunnels are prepended (Carbon relies on\n // OnListModified having filled m_privateTunnels already).\n this.remapTunnels();\n this.#ReassignTunnelIDsAndAddSystemTunnels(system);\n group.InitializeGeometryResource(); // reset all agents\n return forceVectors;\n }\n\n this.#targetPointVector.length = 0;\n\n let pullCount = 0;\n for (let c = 0; c < agents.length; c++)\n {\n const drone = agents[c];\n const data = scratchData?.[c];\n if (!data)\n {\n continue;\n }\n\n vec3.set(this.#desiredVector, 0, 0, 0);\n let rampingForce = 1;\n\n if (data.tunnelLock === -1)\n {\n rampingForce = this.#ProcessTunnelEntrances(drone, this.privateTunnels, data);\n }\n\n // tunnelLock can change in ProcessTunnelEntrances so if->else is not\n // equivalent\n if (data.tunnelLock !== -1)\n {\n if (this.#ProcessAssignedTunnel(drone, this.privateTunnels, group, data))\n {\n // If process returns true we update all the drones as a unit and\n // skip if they are in a Formation\n if (this.#CheckForAndUpdateFormation(agents, group, scratchData, data.tunnelLock, data.tunnelPoint))\n {\n // all drones have been updated so we break\n break;\n }\n }\n }\n\n const pullForce = this.#PullForceAt(pullCount);\n pullCount++;\n\n if (vec3.squaredLength(this.#desiredVector) === 0)\n {\n vec3.set(pullForce, 0, 0, 0);\n continue;\n }\n\n vec3.normalize(PULL_FORCE, this.#desiredVector);\n if (group.collectForces)\n {\n vec3.scale(FORCE_OFFSET, PULL_FORCE, group.GetBoundingSphereRadius());\n forceVectors.push(vec3.add(vec3.create(), drone.position, FORCE_OFFSET));\n }\n vec3.scale(PULL_FORCE, PULL_FORCE, this.behaviorWeight * rampingForce);\n if (group.collectForces)\n {\n forceVectors.push(vec3.clone(PULL_FORCE));\n }\n vec3.add(drone.acceleration, drone.acceleration, PULL_FORCE);\n vec3.copy(pullForce, PULL_FORCE);\n }\n this.#lastPullForces.length = pullCount;\n }\n else\n {\n if (this.#lastPullForces.length === 0)\n {\n return forceVectors;\n }\n let c = 0;\n for (const agent of agents)\n {\n if (c >= this.#lastPullForces.length)\n {\n break;\n }\n const pullForce = this.#lastPullForces[c];\n vec3.add(agent.acceleration, agent.acceleration, pullForce);\n\n if (group.collectForces && vec3.squaredLength(pullForce) > 0)\n {\n vec3.normalize(FORCE_OFFSET, pullForce);\n vec3.scale(FORCE_OFFSET, FORCE_OFFSET, group.GetBoundingSphereRadius());\n forceVectors.push(vec3.add(vec3.create(), agent.position, FORCE_OFFSET));\n forceVectors.push(vec3.clone(pullForce));\n }\n c++;\n }\n }\n return forceVectors;\n }\n\n /** Carbon method remapTunnels -> UpdateTunnelRegistry (cpp:319-335). */\n @carbon.method\n @impl.adapted\n remapTunnels()\n {\n this.privateTunnels.length = 0;\n for (const group of this.splineTunnels)\n {\n const tunnels = group?.GetTunnels?.() ?? group?.tunnels;\n if (Array.isArray(tunnels))\n {\n this.privateTunnels.push(...tunnels);\n }\n }\n this.shouldReassignTunnelIDs = true;\n return this.privateTunnels;\n }\n\n // Prepends the system-wide tunnels and reassigns sequential IDs (Carbon\n // ReassignTunnelIDsAndAddSystemTunnels, cpp:337-370).\n #ReassignTunnelIDsAndAddSystemTunnels(system)\n {\n const tunnels = system.GetTunnels?.() ?? [];\n\n for (const tunnel of tunnels)\n {\n this.privateTunnels.unshift(tunnel);\n }\n\n let id = 0;\n\n if (tunnels.length !== 0)\n {\n id = tunnels[tunnels.length - 1].tunnelID;\n }\n\n if (this.privateTunnels.length === 0)\n {\n this.shouldReassignTunnelIDs = false;\n return;\n }\n\n for (const tunnel of this.privateTunnels)\n {\n tunnel.tunnelID = id;\n id++;\n }\n\n this.shouldReassignTunnelIDs = false;\n }\n\n // Pull-in test against the tunnel entrance spheres (Carbon\n // ProcessTunnelEntrances, cpp:70-104). Returns the ramping force and may\n // lock the agent to a tunnel; mutates this.#desiredVector.\n #ProcessTunnelEntrances(agent, tunnels, data)\n {\n // not associated with a tunnel\n for (const tunnel of tunnels)\n {\n if (tunnel.tunnelGroupType !== TunnelGroupType.OTHER_TUNNELS)\n {\n return 0;\n }\n\n if (tunnel.splinePoints.length === 0)\n {\n continue;\n }\n\n vec3.subtract(DIST, tunnel.splinePoints[0].pos, agent.position);\n const length = vec3.length(DIST);\n if (length < tunnel.pointOfNoReturnSize)\n {\n data.tunnelLock = tunnel.tunnelID;\n data.tunnelPoint = 0;\n }\n else if (length < tunnel.pullSize)\n {\n if (tunnel.pullSize === tunnel.pointOfNoReturnSize)\n {\n continue;\n }\n\n // normalize the distance between outer and inner spheres to increase\n // pull-strength\n let mod = (length - tunnel.pointOfNoReturnSize) / (tunnel.pullSize - tunnel.pointOfNoReturnSize);\n mod = 1 - Math.max(0, Math.min(mod, 1));\n vec3.copy(this.#desiredVector, DIST);\n return Math.min(1, Math.max(0, 1 - this.smoothPullFactor + this.smoothPullFactor * mod));\n }\n }\n return 1;\n }\n\n // Steers a locked agent along its tunnel (Carbon ProcessAssignedTunnel,\n // cpp:107-189). Returns true when the tunnel state advanced; mutates the\n // scratch record and this.#desiredVector.\n #ProcessAssignedTunnel(agent, tunnels, group, data)\n {\n if (data.tunnelLock > tunnels.length)\n {\n return false;\n }\n\n const tunnel = tunnels[data.tunnelLock];\n const points = tunnel?.splinePoints;\n if (!points || points.length === 0)\n {\n return false;\n }\n\n const pointID = data.tunnelPoint;\n const point = points[pointID];\n if (!point)\n {\n return false;\n }\n\n vec3.subtract(TARGET_VECTOR, point.pos, agent.position);\n\n // Carbon compares against *begin()/*end() by value; the intent is the\n // first/last spline point.\n if (pointID === 0)\n {\n vec3.copy(VECTOR_BETWEEN, point.rot);\n }\n else\n {\n vec3.copy(VECTOR_BETWEEN, points[pointID - 1].rot);\n }\n\n const lengthBetweenPoints = vec3.length(VECTOR_BETWEEN);\n\n if (lengthBetweenPoints !== 0)\n {\n // an offset is added to the target point so they don't all follow the\n // same line\n const dotProd = vec3.dot(TARGET_VECTOR, VECTOR_BETWEEN);\n vec3.scale(VECTOR_PROJ, VECTOR_BETWEEN, dotProd / (lengthBetweenPoints * lengthBetweenPoints));\n vec3.subtract(OFFSET, VECTOR_PROJ, TARGET_VECTOR);\n vec3.normalize(OFFSET, OFFSET);\n vec3.scaleAndAdd(TARGET_VECTOR, TARGET_VECTOR, OFFSET, tunnel.cylWidth / 2);\n }\n\n // Carbon records every target point for debug rendering; the JS port only\n // collects them in debug (collectForces) mode to keep the loop\n // allocation-free.\n if (group.collectForces)\n {\n this.#targetPointVector.push(vec3.add(vec3.create(), TARGET_VECTOR, agent.position));\n }\n\n if (pointID === points.length - 1)\n {\n vec3.copy(this.#desiredVector, point.rot);\n\n // the Dot product is positive if the agent is facing the target point\n if (vec3.dot(TARGET_VECTOR, agent.rotation) < 0)\n {\n data.tunnelLock = -1;\n data.tunnelPoint = 0;\n return true;\n }\n }\n else\n {\n const lengthFromShip = vec3.length(TARGET_VECTOR);\n\n let blendingMod = 0;\n\n if (lengthBetweenPoints !== 0)\n {\n blendingMod = Math.min(1, Math.max(0, (lengthBetweenPoints - lengthFromShip) / lengthBetweenPoints));\n blendingMod = blendingMod * blendingMod;\n }\n this.cornerSmoothener = Math.min(1, Math.max(0, this.cornerSmoothener));\n vec3.normalize(TARGET_NORMALIZED, TARGET_VECTOR);\n vec3.add(BLEND_VECTOR, point.rot, TARGET_VECTOR);\n vec3.normalize(BLEND_VECTOR, BLEND_VECTOR);\n vec3.scale(this.#desiredVector, TARGET_NORMALIZED, this.cornerSmoothener * (1 - blendingMod));\n vec3.scaleAndAdd(this.#desiredVector, this.#desiredVector, BLEND_VECTOR, (1 - this.cornerSmoothener) * blendingMod);\n vec3.normalize(DESIRED_NORMALIZED, this.#desiredVector);\n if (vec3.dot(TARGET_NORMALIZED, DESIRED_NORMALIZED) < this.cornerSmoothener)\n {\n vec3.copy(this.#desiredVector, TARGET_VECTOR);\n }\n\n if ((lengthFromShip - group.GetBoundingSphereRadius()) < tunnel.cylWidth / 1.5)\n {\n data.tunnelPoint++;\n return true;\n }\n\n // rework into cylinder collision\n if (lengthFromShip > (group.GetBoundingSphereRadius() + lengthBetweenPoints * 1.5) &&\n vec3.dot(TARGET_VECTOR, VECTOR_BETWEEN) < 0)\n {\n data.tunnelLock = -1;\n data.tunnelPoint = 0;\n return true;\n }\n }\n return false;\n }\n\n // When the group is in Formation, locks every drone to the same tunnel\n // point so they advance as a unit (Carbon CheckForAndUpdateFormation,\n // cpp:295-317).\n #CheckForAndUpdateFormation(agents, group, scratchData, tunnel, tunnelPoint)\n {\n const formation = group.GetBehaviorByName(\"Formation\");\n\n if (formation && formation.InFormation?.())\n {\n for (let c = 0; c < agents.length; c++)\n {\n const data = scratchData?.[c];\n if (data)\n {\n data.tunnelLock = tunnel;\n data.tunnelPoint = tunnelPoint;\n }\n }\n return true;\n }\n return false;\n }\n\n // Reuses (or grows) the cached pull-force slot for one agent index.\n #PullForceAt(index)\n {\n let force = this.#lastPullForces[index];\n if (!force)\n {\n force = vec3.create();\n this.#lastPullForces[index] = force;\n }\n return force;\n }\n\n static TunnelGroupType = Object.freeze({\n EXIT_TUNNELS: 0,\n ENTRANCE_TUNNELS: 1,\n OTHER_TUNNELS: 2,\n });\n\n}\n"],"names":["DIST","vec3","create","TARGET_VECTOR","VECTOR_BETWEEN","VECTOR_PROJ","OFFSET","TARGET_NORMALIZED","BLEND_VECTOR","DESIRED_NORMALIZED","PULL_FORCE","FORCE_OFFSET","NO_FORCES","_FollowASpline","_identity","FollowASpline","CjsModel","e","_init_privateTunnels","_init_extra_privateTunnels","_init_shouldReassignTunnelIDs","_init_extra_shouldReassignTunnelIDs","_init_behaviorPriority","_init_extra_behaviorPriority","_init_tunnelGroupType","_init_extra_tunnelGroupType","_init_splineTunnels","_init_extra_splineTunnels","_init_smoothPullFactor","_init_extra_smoothPullFactor","_init_behaviorWeight","_init_extra_behaviorWeight","_init_enabled","_init_extra_enabled","_init_cornerSmoothener","_init_extra_cornerSmoothener","_initProto","c","_initClass","_applyDecs","type","define","className","family","list","boolean","io","notify","persist","int32","schema","enum","float32","carbon","method","impl","implemented","adapted","reason","privateTunnels","shouldReassignTunnelIDs","behaviorPriority","tunnelGroupType","splineTunnels","smoothPullFactor","behaviorWeight","enabled","cornerSmoothener","GetProcessPriority","OnModified","_value","remapTunnels","GetScratchMemorySize","InitializeScratch","tunnelLock","tunnelPoint","CalculateBehavior","agents","scratchData","_deltaTime","group","system","_dronesInSearchRadius","forceVectors","length","InitializeGeometryResource","pullCount","drone","data","set","rampingForce","pullForce","squaredLength","normalize","collectForces","scale","GetBoundingSphereRadius","push","add","position","clone","acceleration","copy","agent","tunnels","GetTunnels","Array","isArray","#ReassignTunnelIDsAndAddSystemTunnels","tunnel","unshift","id","tunnelID","#ProcessTunnelEntrances","TunnelGroupType","OTHER_TUNNELS","splinePoints","subtract","pos","pointOfNoReturnSize","pullSize","mod","Math","max","min","#ProcessAssignedTunnel","points","pointID","point","rot","lengthBetweenPoints","dotProd","dot","scaleAndAdd","cylWidth","rotation","lengthFromShip","blendingMod","#CheckForAndUpdateFormation","formation","GetBehaviorByName","InFormation","#PullForceAt","index","force","Object","freeze","EXIT_TUNNELS","ENTRANCE_TUNNELS","constructor"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { applyDecs2311 as _applyDecs2311 } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import { io, type, carbon, impl } from '@carbonenginejs/
|
|
3
|
-
import { CjsModel } from '@carbonenginejs/
|
|
4
|
-
import { quat } from '@carbonenginejs/
|
|
5
|
-
import { vec3 } from '@carbonenginejs/
|
|
2
|
+
import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
|
|
3
|
+
import { CjsModel } from '@carbonenginejs/runtime-utils/model';
|
|
4
|
+
import { quat } from '@carbonenginejs/runtime-utils/quat';
|
|
5
|
+
import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
|
|
6
6
|
|
|
7
7
|
let _initProto, _initClass, _init_behaviorPriority, _init_extra_behaviorPriority, _init_behaviorWeight, _init_extra_behaviorWeight, _init_inFormation, _init_extra_inFormation, _init_maxFormationVelocityScaler, _init_extra_maxFormationVelocityScaler, _init_stubbornness, _init_extra_stubbornness, _init_enabled, _init_extra_enabled, _init_framesBetweenUpdates, _init_extra_framesBetweenUpdates;
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Formation.js","sources":["../../../../../../src/generated/eve/child/behaviors/Formation.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/Formation.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/Formation.cpp\n// Generated by format-carbon carbon-class --emit. Verify against eve/child/behaviors/Formation.json.\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { CjsModel } from \"@carbonenginejs/core-types/model\";\nimport { quat } from \"@carbonenginejs/core-math/quat\";\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\n\n// Module scratch for the per-agent loops (behavior updates run sequentially).\nconst ACCEL_NORMALIZED = vec3.create();\nconst GROUP_ALIGNMENT = vec3.create();\nconst SLOT_VECTOR = vec3.create();\nconst TARGET_DIR = vec3.create();\nconst UP_AXIS = vec3.fromValues(0, 1, 0);\nconst ROTATION_AXIS = vec3.create();\nconst ROTATION_QUAT = quat.create();\nconst FORMATION_ACCELERATION = vec3.create();\nconst NO_FORCES = [];\n\n// Carbon ClampLength: in-place clamp of a vec3 to a maximum length.\nfunction ClampLength(value, maxLength)\n{\n const lengthSq = vec3.squaredLength(value);\n if (lengthSq > maxLength * maxLength && lengthSq > 0)\n {\n vec3.scale(value, value, maxLength / Math.sqrt(lengthSq));\n }\n return value;\n}\n\n/** Formation (eve/child/behaviors) - generated from schema shapeHash dd236194.... */\n@type.define({ className: \"Formation\", family: \"eve/child/behaviors\" })\nexport class Formation extends CjsModel\n{\n\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\n @io.notify\n @io.persist\n @type.int32\n behaviorPriority = 0;\n\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n behaviorWeight = 300;\n\n /** m_inFormation (bool) [READ] */\n @io.read\n @type.boolean\n inFormation = false;\n\n /** m_maxFormationVelocityScaler (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n maxFormationVelocityScaler = 0.85;\n\n /** m_stubbornness (int32_t) [READWRITE, PERSIST] */\n @io.persist\n @type.int32\n stubbornness = 3;\n\n /** m_enabled (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n enabled = true;\n\n /** m_framesBetweenUpdates (int32_t) [READWRITE, PERSIST] */\n @io.persist\n @type.int32\n framesBetweenUpdates = 15;\n\n // Carbon runtime state: the slot grid (vec3 offsets from the formation\n // centre), its reservation flags, and the frame/consistency counters.\n #formationGrid = [];\n\n #formationGridReserver = [];\n\n #formationPosition = vec3.create();\n\n #formationSpeed = vec3.create();\n\n #formationAcceleration = vec3.create();\n\n #lastFormationAcceleration = vec3.create();\n\n #isFormalizing = false;\n\n #frameCounter = 0;\n\n #stubbornnessCounter = 0;\n\n /** Carbon Formation::GetProcessPriority (cpp:43-46). */\n @carbon.method\n @impl.implemented\n GetProcessPriority()\n {\n return this.behaviorPriority;\n }\n\n /** Carbon Formation::GetBehaviorName (cpp:48-51). */\n @carbon.method\n @impl.implemented\n GetBehaviorName()\n {\n return \"Formation\";\n }\n\n /** Per-agent scratch record count (Carbon sizeof(FormationData)). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\n GetScratchMemorySize()\n {\n return 1;\n }\n\n /** Fresh per-agent scratch record (Carbon FormationData placement init). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\n InitializeScratch()\n {\n return {\n assignedSlot: -1\n };\n }\n\n /** Carbon Formation::InFormation (cpp:53-56). */\n @carbon.method\n @impl.implemented\n InFormation()\n {\n return this.inFormation;\n }\n\n /** Carbon Formation::Reset (cpp:261-264). */\n @carbon.method\n @impl.implemented\n Reset()\n {\n this.#BreakFormation();\n }\n\n /**\n * Consistency-gated formation state machine: checks whether the agents keep\n * agreeing on a direction, forms/breaks the grid accordingly, and drives\n * agents to their assigned slots while formed (Carbon CalculateBehavior,\n * cpp:58-125).\n * @param {Array} agents - DroneAgent records\n * @param {Array} scratchData - per-agent FormationData records\n * @param {Number} deltaTime\n * @param {Object} group - owning BehaviorGroup\n * @param {Object} _system - owning EveChildBehaviorSystem\n * @param {Array} _dronesInSearchRadius - unused\n * @returns {Array} empty (as Carbon)\n */\n @carbon.method\n @impl.implemented\n CalculateBehavior(agents, scratchData, deltaTime, group, _system, _dronesInSearchRadius)\n {\n if (!this.enabled)\n {\n return NO_FORCES;\n }\n\n if (this.#frameCounter >= this.framesBetweenUpdates)\n {\n // we'll do a check\n if (this.#CheckIfFormalizing(agents, scratchData))\n {\n // we only enable formation if the check passes a few times in a row\n if (!this.inFormation && this.#stubbornnessCounter >= this.stubbornness)\n {\n this.#InitializeFormation(agents, scratchData, group.GetBoundingSphereRadius());\n }\n else\n {\n if (this.#isFormalizing === true)\n {\n this.#stubbornnessCounter++;\n }\n else\n {\n this.#stubbornnessCounter = 0;\n }\n\n this.#isFormalizing = true;\n }\n }\n else\n {\n if (this.inFormation && this.#stubbornnessCounter >= this.stubbornness)\n {\n this.#BreakFormation();\n }\n else\n {\n if (this.#isFormalizing === true)\n {\n this.#stubbornnessCounter++;\n }\n else\n {\n this.#stubbornnessCounter = 0;\n }\n\n this.#isFormalizing = false;\n }\n }\n }\n else\n {\n this.#frameCounter++;\n }\n\n if (this.inFormation)\n {\n this.#UpdateFormation(deltaTime, group);\n this.#UpdateAgents(agents, scratchData, group.GetBoundingSphereRadius());\n }\n\n return NO_FORCES;\n }\n\n // Tests whether the agents are being dragged the same way, only accounting\n // for behaviors that ran before this one (Carbon CheckIfFormalizing,\n // cpp:127-170).\n #CheckIfFormalizing(agents, scratchData)\n {\n if (agents.length === 0)\n {\n return false;\n }\n\n let disagreeingDrones = 0;\n vec3.normalize(GROUP_ALIGNMENT, agents[0].acceleration);\n vec3.set(this.#formationAcceleration, 0, 0, 0);\n\n for (let c = 0; c < agents.length; c++)\n {\n const agent = agents[c];\n const data = scratchData?.[c];\n vec3.normalize(ACCEL_NORMALIZED, agent.acceleration);\n\n if (!(vec3.dot(ACCEL_NORMALIZED, GROUP_ALIGNMENT) > 0))\n {\n if (this.inFormation)\n {\n const slot = this.#formationGrid[data?.assignedSlot ?? -1];\n if (slot)\n {\n vec3.add(SLOT_VECTOR, this.#formationPosition, slot);\n vec3.subtract(SLOT_VECTOR, SLOT_VECTOR, agent.position);\n vec3.normalize(SLOT_VECTOR, SLOT_VECTOR);\n if (vec3.dot(ACCEL_NORMALIZED, SLOT_VECTOR) < 0)\n {\n disagreeingDrones++;\n }\n }\n }\n else\n {\n disagreeingDrones++;\n vec3.lerp(GROUP_ALIGNMENT, GROUP_ALIGNMENT, ACCEL_NORMALIZED, 0.5);\n }\n }\n\n vec3.add(this.#formationAcceleration, this.#formationAcceleration, ACCEL_NORMALIZED);\n }\n\n if (disagreeingDrones >= 0.1 * agents.length)\n {\n return false;\n }\n\n return true;\n }\n\n // Finds the centre point, builds the slot grid, and assigns each agent its\n // nearest free slot (Carbon InitializeFormation, cpp:172-195).\n #InitializeFormation(agents, scratchData, radius)\n {\n if (agents.length === 0)\n {\n return;\n }\n\n vec3.set(this.#formationPosition, 0, 0, 0);\n vec3.set(TARGET_DIR, 0, 0, 0);\n\n for (const agent of agents)\n {\n vec3.add(this.#formationPosition, this.#formationPosition, agent.position);\n vec3.add(TARGET_DIR, TARGET_DIR, agent.acceleration);\n }\n\n vec3.scale(this.#formationPosition, this.#formationPosition, 1 / agents.length);\n\n this.#CreateFormationGrid(agents, TARGET_DIR, radius);\n this.#AssignSlots(agents, scratchData);\n\n this.inFormation = true;\n }\n\n // Builds a square slot grid facing the group's pull direction (Carbon\n // CreateFormationGrid, cpp:197-225). Grid slots are allocated here - a\n // formation-creation event, not the per-frame path.\n #CreateFormationGrid(agents, targetDir, radius)\n {\n targetDir[1] = this.#formationPosition[1];\n vec3.normalize(targetDir, targetDir);\n\n const angle = vec3.angle(UP_AXIS, targetDir);\n quat.setAxisAngle(ROTATION_QUAT, UP_AXIS, angle);\n\n this.#formationGrid.length = 0;\n this.#formationGridReserver.length = 0;\n\n let num = agents.length;\n num = Math.floor(Math.sqrt(num - 1)) + 1;\n\n for (let i = 0; i < num; i++)\n {\n for (let j = 0; j < num; j++)\n {\n const r = 2.5 * radius;\n const slot = vec3.fromValues((-(num / 2) + i) * r, 0, (-(num / 2) + j) * r);\n vec3.transformQuat(slot, slot, ROTATION_QUAT);\n this.#formationGrid.push(slot);\n this.#formationGridReserver.push(false);\n }\n }\n }\n\n // Nearest-free-slot assignment (Carbon AssignSlots, cpp:227-258).\n #AssignSlots(agents, scratchData)\n {\n for (let c = 0; c < agents.length; c++)\n {\n const agent = agents[c];\n const data = scratchData?.[c];\n let nearestSlot = -1;\n let closestLength = 0;\n for (let index = 0; index < this.#formationGrid.length; index++)\n {\n if (!this.#formationGridReserver[index])\n {\n vec3.add(SLOT_VECTOR, this.#formationPosition, this.#formationGrid[index]);\n vec3.subtract(SLOT_VECTOR, agent.position, SLOT_VECTOR);\n const lengthToSlot = vec3.squaredLength(SLOT_VECTOR);\n if (nearestSlot === -1 || lengthToSlot < closestLength)\n {\n nearestSlot = index;\n closestLength = lengthToSlot;\n }\n }\n }\n if (nearestSlot !== -1)\n {\n this.#formationGridReserver[nearestSlot] = true;\n if (data)\n {\n data.assignedSlot = nearestSlot;\n }\n }\n }\n }\n\n // Carbon BreakFormation (cpp:266-277).\n #BreakFormation()\n {\n vec3.set(this.#formationPosition, 0, 0, 0);\n vec3.set(this.#formationSpeed, 0, 0, 0);\n vec3.set(this.#lastFormationAcceleration, 0, 0, 0);\n vec3.set(this.#formationAcceleration, 0, 0, 0);\n this.#isFormalizing = false;\n this.inFormation = false;\n this.#formationGrid.length = 0;\n this.#formationGridReserver.length = 0;\n }\n\n // Moves the formation centre like a single ship (Carbon UpdateFormation,\n // cpp:279-294).\n #UpdateFormation(deltaTime, group)\n {\n vec3.copy(FORMATION_ACCELERATION, this.#formationAcceleration);\n\n this.#CalculateFormationInertia(FORMATION_ACCELERATION, deltaTime);\n\n vec3.add(this.#formationSpeed, this.#formationSpeed, FORMATION_ACCELERATION);\n ClampLength(this.#formationSpeed, group.GetMaxVelocity() * this.maxFormationVelocityScaler);\n\n vec3.scaleAndAdd(this.#formationPosition, this.#formationPosition, this.#formationSpeed, deltaTime);\n }\n\n // Limits the formation's angular speed and rotates the whole grid with it\n // (Carbon calculateFormationInertia, cpp:296-325).\n #CalculateFormationInertia(acceleration, deltaTime)\n {\n vec3.normalize(ACCEL_NORMALIZED, acceleration);\n\n if (vec3.squaredLength(this.#lastFormationAcceleration) !== 0)\n {\n vec3.cross(ROTATION_AXIS, this.#lastFormationAcceleration, ACCEL_NORMALIZED);\n vec3.normalize(ROTATION_AXIS, ROTATION_AXIS);\n if (vec3.length(ROTATION_AXIS) === 0)\n {\n vec3.set(ROTATION_AXIS, 0, 1, 0);\n }\n let angle = vec3.angle(this.#lastFormationAcceleration, ACCEL_NORMALIZED);\n const step = (0.1 + 2 / Math.max(1, this.#formationGrid.length)) * deltaTime;\n angle = Math.min(angle, step);\n\n if (angle > 0)\n {\n quat.setAxisAngle(ROTATION_QUAT, ROTATION_AXIS, angle);\n // Carbon rotates last frame's (unit) formation acceleration into the\n // working acceleration (TriVectorRotateQuaternion, cpp:314-315).\n vec3.transformQuat(acceleration, this.#lastFormationAcceleration, ROTATION_QUAT);\n\n for (const slot of this.#formationGrid)\n {\n vec3.transformQuat(slot, slot, ROTATION_QUAT);\n }\n }\n }\n vec3.normalize(this.#lastFormationAcceleration, acceleration);\n }\n\n // Damps the other behaviors and pulls each agent toward its slot (Carbon\n // UpdateAgents, cpp:327-347).\n #UpdateAgents(agents, scratchData, radius)\n {\n const radiusSq = radius * radius;\n for (let c = 0; c < agents.length; c++)\n {\n const agent = agents[c];\n const data = scratchData?.[c];\n const slot = this.#formationGrid[data?.assignedSlot ?? -1];\n if (!slot)\n {\n continue;\n }\n\n vec3.scale(agent.acceleration, agent.acceleration, 0.5); // reduce the effect of former behaviors\n\n vec3.add(SLOT_VECTOR, this.#formationPosition, slot);\n vec3.subtract(SLOT_VECTOR, SLOT_VECTOR, agent.position);\n\n const distToSlot = vec3.squaredLength(SLOT_VECTOR);\n\n if (distToSlot < 2 * radiusSq)\n {\n // drones can slow down based on dist to target\n const damping = 0.5 + 0.5 * Math.min(Math.max(distToSlot / radiusSq - 0.5 * radius, 0), 1);\n vec3.scale(agent.velocity, agent.velocity, damping);\n }\n\n vec3.normalize(SLOT_VECTOR, SLOT_VECTOR);\n vec3.scaleAndAdd(agent.acceleration, agent.acceleration, SLOT_VECTOR, this.behaviorWeight);\n }\n }\n\n}\n"],"names":["ACCEL_NORMALIZED","vec3","create","GROUP_ALIGNMENT","SLOT_VECTOR","TARGET_DIR","UP_AXIS","fromValues","ROTATION_AXIS","ROTATION_QUAT","quat","FORMATION_ACCELERATION","NO_FORCES","ClampLength","value","maxLength","lengthSq","squaredLength","scale","Math","sqrt","_Formation","Formation","CjsModel","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_behaviorWeight","_init_extra_behaviorWeight","_init_inFormation","_init_extra_inFormation","_init_maxFormationVelocityScaler","_init_extra_maxFormationVelocityScaler","_init_stubbornness","_init_extra_stubbornness","_init_enabled","_init_extra_enabled","_init_framesBetweenUpdates","_init_extra_framesBetweenUpdates","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","float32","read","boolean","carbon","method","impl","implemented","adapted","reason","behaviorPriority","behaviorWeight","inFormation","maxFormationVelocityScaler","stubbornness","enabled","framesBetweenUpdates","GetProcessPriority","GetBehaviorName","GetScratchMemorySize","InitializeScratch","assignedSlot","InFormation","Reset","CalculateBehavior","agents","scratchData","deltaTime","group","_system","_dronesInSearchRadius","GetBoundingSphereRadius","#CheckIfFormalizing","length","disagreeingDrones","normalize","acceleration","set","agent","data","dot","slot","add","subtract","position","lerp","#InitializeFormation","radius","#CreateFormationGrid","targetDir","angle","setAxisAngle","num","floor","i","j","r","transformQuat","push","#AssignSlots","nearestSlot","closestLength","index","lengthToSlot","#BreakFormation","#UpdateFormation","copy","GetMaxVelocity","scaleAndAdd","#CalculateFormationInertia","cross","step","max","min","#UpdateAgents","radiusSq","distToSlot","damping","velocity"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Formation.js","sources":["../../../../../../src/generated/eve/child/behaviors/Formation.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/Formation.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/Formation.cpp\n// Generated by format-carbon carbon-class --emit. Verify against eve/child/behaviors/Formation.json.\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\n\n// Module scratch for the per-agent loops (behavior updates run sequentially).\nconst ACCEL_NORMALIZED = vec3.create();\nconst GROUP_ALIGNMENT = vec3.create();\nconst SLOT_VECTOR = vec3.create();\nconst TARGET_DIR = vec3.create();\nconst UP_AXIS = vec3.fromValues(0, 1, 0);\nconst ROTATION_AXIS = vec3.create();\nconst ROTATION_QUAT = quat.create();\nconst FORMATION_ACCELERATION = vec3.create();\nconst NO_FORCES = [];\n\n// Carbon ClampLength: in-place clamp of a vec3 to a maximum length.\nfunction ClampLength(value, maxLength)\n{\n const lengthSq = vec3.squaredLength(value);\n if (lengthSq > maxLength * maxLength && lengthSq > 0)\n {\n vec3.scale(value, value, maxLength / Math.sqrt(lengthSq));\n }\n return value;\n}\n\n/** Formation (eve/child/behaviors) - generated from schema shapeHash dd236194.... */\n@type.define({ className: \"Formation\", family: \"eve/child/behaviors\" })\nexport class Formation extends CjsModel\n{\n\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\n @io.notify\n @io.persist\n @type.int32\n behaviorPriority = 0;\n\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n behaviorWeight = 300;\n\n /** m_inFormation (bool) [READ] */\n @io.read\n @type.boolean\n inFormation = false;\n\n /** m_maxFormationVelocityScaler (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n maxFormationVelocityScaler = 0.85;\n\n /** m_stubbornness (int32_t) [READWRITE, PERSIST] */\n @io.persist\n @type.int32\n stubbornness = 3;\n\n /** m_enabled (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n enabled = true;\n\n /** m_framesBetweenUpdates (int32_t) [READWRITE, PERSIST] */\n @io.persist\n @type.int32\n framesBetweenUpdates = 15;\n\n // Carbon runtime state: the slot grid (vec3 offsets from the formation\n // centre), its reservation flags, and the frame/consistency counters.\n #formationGrid = [];\n\n #formationGridReserver = [];\n\n #formationPosition = vec3.create();\n\n #formationSpeed = vec3.create();\n\n #formationAcceleration = vec3.create();\n\n #lastFormationAcceleration = vec3.create();\n\n #isFormalizing = false;\n\n #frameCounter = 0;\n\n #stubbornnessCounter = 0;\n\n /** Carbon Formation::GetProcessPriority (cpp:43-46). */\n @carbon.method\n @impl.implemented\n GetProcessPriority()\n {\n return this.behaviorPriority;\n }\n\n /** Carbon Formation::GetBehaviorName (cpp:48-51). */\n @carbon.method\n @impl.implemented\n GetBehaviorName()\n {\n return \"Formation\";\n }\n\n /** Per-agent scratch record count (Carbon sizeof(FormationData)). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\n GetScratchMemorySize()\n {\n return 1;\n }\n\n /** Fresh per-agent scratch record (Carbon FormationData placement init). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\n InitializeScratch()\n {\n return {\n assignedSlot: -1\n };\n }\n\n /** Carbon Formation::InFormation (cpp:53-56). */\n @carbon.method\n @impl.implemented\n InFormation()\n {\n return this.inFormation;\n }\n\n /** Carbon Formation::Reset (cpp:261-264). */\n @carbon.method\n @impl.implemented\n Reset()\n {\n this.#BreakFormation();\n }\n\n /**\n * Consistency-gated formation state machine: checks whether the agents keep\n * agreeing on a direction, forms/breaks the grid accordingly, and drives\n * agents to their assigned slots while formed (Carbon CalculateBehavior,\n * cpp:58-125).\n * @param {Array} agents - DroneAgent records\n * @param {Array} scratchData - per-agent FormationData records\n * @param {Number} deltaTime\n * @param {Object} group - owning BehaviorGroup\n * @param {Object} _system - owning EveChildBehaviorSystem\n * @param {Array} _dronesInSearchRadius - unused\n * @returns {Array} empty (as Carbon)\n */\n @carbon.method\n @impl.implemented\n CalculateBehavior(agents, scratchData, deltaTime, group, _system, _dronesInSearchRadius)\n {\n if (!this.enabled)\n {\n return NO_FORCES;\n }\n\n if (this.#frameCounter >= this.framesBetweenUpdates)\n {\n // we'll do a check\n if (this.#CheckIfFormalizing(agents, scratchData))\n {\n // we only enable formation if the check passes a few times in a row\n if (!this.inFormation && this.#stubbornnessCounter >= this.stubbornness)\n {\n this.#InitializeFormation(agents, scratchData, group.GetBoundingSphereRadius());\n }\n else\n {\n if (this.#isFormalizing === true)\n {\n this.#stubbornnessCounter++;\n }\n else\n {\n this.#stubbornnessCounter = 0;\n }\n\n this.#isFormalizing = true;\n }\n }\n else\n {\n if (this.inFormation && this.#stubbornnessCounter >= this.stubbornness)\n {\n this.#BreakFormation();\n }\n else\n {\n if (this.#isFormalizing === true)\n {\n this.#stubbornnessCounter++;\n }\n else\n {\n this.#stubbornnessCounter = 0;\n }\n\n this.#isFormalizing = false;\n }\n }\n }\n else\n {\n this.#frameCounter++;\n }\n\n if (this.inFormation)\n {\n this.#UpdateFormation(deltaTime, group);\n this.#UpdateAgents(agents, scratchData, group.GetBoundingSphereRadius());\n }\n\n return NO_FORCES;\n }\n\n // Tests whether the agents are being dragged the same way, only accounting\n // for behaviors that ran before this one (Carbon CheckIfFormalizing,\n // cpp:127-170).\n #CheckIfFormalizing(agents, scratchData)\n {\n if (agents.length === 0)\n {\n return false;\n }\n\n let disagreeingDrones = 0;\n vec3.normalize(GROUP_ALIGNMENT, agents[0].acceleration);\n vec3.set(this.#formationAcceleration, 0, 0, 0);\n\n for (let c = 0; c < agents.length; c++)\n {\n const agent = agents[c];\n const data = scratchData?.[c];\n vec3.normalize(ACCEL_NORMALIZED, agent.acceleration);\n\n if (!(vec3.dot(ACCEL_NORMALIZED, GROUP_ALIGNMENT) > 0))\n {\n if (this.inFormation)\n {\n const slot = this.#formationGrid[data?.assignedSlot ?? -1];\n if (slot)\n {\n vec3.add(SLOT_VECTOR, this.#formationPosition, slot);\n vec3.subtract(SLOT_VECTOR, SLOT_VECTOR, agent.position);\n vec3.normalize(SLOT_VECTOR, SLOT_VECTOR);\n if (vec3.dot(ACCEL_NORMALIZED, SLOT_VECTOR) < 0)\n {\n disagreeingDrones++;\n }\n }\n }\n else\n {\n disagreeingDrones++;\n vec3.lerp(GROUP_ALIGNMENT, GROUP_ALIGNMENT, ACCEL_NORMALIZED, 0.5);\n }\n }\n\n vec3.add(this.#formationAcceleration, this.#formationAcceleration, ACCEL_NORMALIZED);\n }\n\n if (disagreeingDrones >= 0.1 * agents.length)\n {\n return false;\n }\n\n return true;\n }\n\n // Finds the centre point, builds the slot grid, and assigns each agent its\n // nearest free slot (Carbon InitializeFormation, cpp:172-195).\n #InitializeFormation(agents, scratchData, radius)\n {\n if (agents.length === 0)\n {\n return;\n }\n\n vec3.set(this.#formationPosition, 0, 0, 0);\n vec3.set(TARGET_DIR, 0, 0, 0);\n\n for (const agent of agents)\n {\n vec3.add(this.#formationPosition, this.#formationPosition, agent.position);\n vec3.add(TARGET_DIR, TARGET_DIR, agent.acceleration);\n }\n\n vec3.scale(this.#formationPosition, this.#formationPosition, 1 / agents.length);\n\n this.#CreateFormationGrid(agents, TARGET_DIR, radius);\n this.#AssignSlots(agents, scratchData);\n\n this.inFormation = true;\n }\n\n // Builds a square slot grid facing the group's pull direction (Carbon\n // CreateFormationGrid, cpp:197-225). Grid slots are allocated here - a\n // formation-creation event, not the per-frame path.\n #CreateFormationGrid(agents, targetDir, radius)\n {\n targetDir[1] = this.#formationPosition[1];\n vec3.normalize(targetDir, targetDir);\n\n const angle = vec3.angle(UP_AXIS, targetDir);\n quat.setAxisAngle(ROTATION_QUAT, UP_AXIS, angle);\n\n this.#formationGrid.length = 0;\n this.#formationGridReserver.length = 0;\n\n let num = agents.length;\n num = Math.floor(Math.sqrt(num - 1)) + 1;\n\n for (let i = 0; i < num; i++)\n {\n for (let j = 0; j < num; j++)\n {\n const r = 2.5 * radius;\n const slot = vec3.fromValues((-(num / 2) + i) * r, 0, (-(num / 2) + j) * r);\n vec3.transformQuat(slot, slot, ROTATION_QUAT);\n this.#formationGrid.push(slot);\n this.#formationGridReserver.push(false);\n }\n }\n }\n\n // Nearest-free-slot assignment (Carbon AssignSlots, cpp:227-258).\n #AssignSlots(agents, scratchData)\n {\n for (let c = 0; c < agents.length; c++)\n {\n const agent = agents[c];\n const data = scratchData?.[c];\n let nearestSlot = -1;\n let closestLength = 0;\n for (let index = 0; index < this.#formationGrid.length; index++)\n {\n if (!this.#formationGridReserver[index])\n {\n vec3.add(SLOT_VECTOR, this.#formationPosition, this.#formationGrid[index]);\n vec3.subtract(SLOT_VECTOR, agent.position, SLOT_VECTOR);\n const lengthToSlot = vec3.squaredLength(SLOT_VECTOR);\n if (nearestSlot === -1 || lengthToSlot < closestLength)\n {\n nearestSlot = index;\n closestLength = lengthToSlot;\n }\n }\n }\n if (nearestSlot !== -1)\n {\n this.#formationGridReserver[nearestSlot] = true;\n if (data)\n {\n data.assignedSlot = nearestSlot;\n }\n }\n }\n }\n\n // Carbon BreakFormation (cpp:266-277).\n #BreakFormation()\n {\n vec3.set(this.#formationPosition, 0, 0, 0);\n vec3.set(this.#formationSpeed, 0, 0, 0);\n vec3.set(this.#lastFormationAcceleration, 0, 0, 0);\n vec3.set(this.#formationAcceleration, 0, 0, 0);\n this.#isFormalizing = false;\n this.inFormation = false;\n this.#formationGrid.length = 0;\n this.#formationGridReserver.length = 0;\n }\n\n // Moves the formation centre like a single ship (Carbon UpdateFormation,\n // cpp:279-294).\n #UpdateFormation(deltaTime, group)\n {\n vec3.copy(FORMATION_ACCELERATION, this.#formationAcceleration);\n\n this.#CalculateFormationInertia(FORMATION_ACCELERATION, deltaTime);\n\n vec3.add(this.#formationSpeed, this.#formationSpeed, FORMATION_ACCELERATION);\n ClampLength(this.#formationSpeed, group.GetMaxVelocity() * this.maxFormationVelocityScaler);\n\n vec3.scaleAndAdd(this.#formationPosition, this.#formationPosition, this.#formationSpeed, deltaTime);\n }\n\n // Limits the formation's angular speed and rotates the whole grid with it\n // (Carbon calculateFormationInertia, cpp:296-325).\n #CalculateFormationInertia(acceleration, deltaTime)\n {\n vec3.normalize(ACCEL_NORMALIZED, acceleration);\n\n if (vec3.squaredLength(this.#lastFormationAcceleration) !== 0)\n {\n vec3.cross(ROTATION_AXIS, this.#lastFormationAcceleration, ACCEL_NORMALIZED);\n vec3.normalize(ROTATION_AXIS, ROTATION_AXIS);\n if (vec3.length(ROTATION_AXIS) === 0)\n {\n vec3.set(ROTATION_AXIS, 0, 1, 0);\n }\n let angle = vec3.angle(this.#lastFormationAcceleration, ACCEL_NORMALIZED);\n const step = (0.1 + 2 / Math.max(1, this.#formationGrid.length)) * deltaTime;\n angle = Math.min(angle, step);\n\n if (angle > 0)\n {\n quat.setAxisAngle(ROTATION_QUAT, ROTATION_AXIS, angle);\n // Carbon rotates last frame's (unit) formation acceleration into the\n // working acceleration (TriVectorRotateQuaternion, cpp:314-315).\n vec3.transformQuat(acceleration, this.#lastFormationAcceleration, ROTATION_QUAT);\n\n for (const slot of this.#formationGrid)\n {\n vec3.transformQuat(slot, slot, ROTATION_QUAT);\n }\n }\n }\n vec3.normalize(this.#lastFormationAcceleration, acceleration);\n }\n\n // Damps the other behaviors and pulls each agent toward its slot (Carbon\n // UpdateAgents, cpp:327-347).\n #UpdateAgents(agents, scratchData, radius)\n {\n const radiusSq = radius * radius;\n for (let c = 0; c < agents.length; c++)\n {\n const agent = agents[c];\n const data = scratchData?.[c];\n const slot = this.#formationGrid[data?.assignedSlot ?? -1];\n if (!slot)\n {\n continue;\n }\n\n vec3.scale(agent.acceleration, agent.acceleration, 0.5); // reduce the effect of former behaviors\n\n vec3.add(SLOT_VECTOR, this.#formationPosition, slot);\n vec3.subtract(SLOT_VECTOR, SLOT_VECTOR, agent.position);\n\n const distToSlot = vec3.squaredLength(SLOT_VECTOR);\n\n if (distToSlot < 2 * radiusSq)\n {\n // drones can slow down based on dist to target\n const damping = 0.5 + 0.5 * Math.min(Math.max(distToSlot / radiusSq - 0.5 * radius, 0), 1);\n vec3.scale(agent.velocity, agent.velocity, damping);\n }\n\n vec3.normalize(SLOT_VECTOR, SLOT_VECTOR);\n vec3.scaleAndAdd(agent.acceleration, agent.acceleration, SLOT_VECTOR, this.behaviorWeight);\n }\n }\n\n}\n"],"names":["ACCEL_NORMALIZED","vec3","create","GROUP_ALIGNMENT","SLOT_VECTOR","TARGET_DIR","UP_AXIS","fromValues","ROTATION_AXIS","ROTATION_QUAT","quat","FORMATION_ACCELERATION","NO_FORCES","ClampLength","value","maxLength","lengthSq","squaredLength","scale","Math","sqrt","_Formation","Formation","CjsModel","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_behaviorWeight","_init_extra_behaviorWeight","_init_inFormation","_init_extra_inFormation","_init_maxFormationVelocityScaler","_init_extra_maxFormationVelocityScaler","_init_stubbornness","_init_extra_stubbornness","_init_enabled","_init_extra_enabled","_init_framesBetweenUpdates","_init_extra_framesBetweenUpdates","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","float32","read","boolean","carbon","method","impl","implemented","adapted","reason","behaviorPriority","behaviorWeight","inFormation","maxFormationVelocityScaler","stubbornness","enabled","framesBetweenUpdates","GetProcessPriority","GetBehaviorName","GetScratchMemorySize","InitializeScratch","assignedSlot","InFormation","Reset","CalculateBehavior","agents","scratchData","deltaTime","group","_system","_dronesInSearchRadius","GetBoundingSphereRadius","#CheckIfFormalizing","length","disagreeingDrones","normalize","acceleration","set","agent","data","dot","slot","add","subtract","position","lerp","#InitializeFormation","radius","#CreateFormationGrid","targetDir","angle","setAxisAngle","num","floor","i","j","r","transformQuat","push","#AssignSlots","nearestSlot","closestLength","index","lengthToSlot","#BreakFormation","#UpdateFormation","copy","GetMaxVelocity","scaleAndAdd","#CalculateFormationInertia","cross","step","max","min","#UpdateAgents","radiusSq","distToSlot","damping","velocity"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { applyDecs2311 as _applyDecs2311 } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import { io, type, carbon, impl } from '@carbonenginejs/
|
|
3
|
-
import { CjsModel } from '@carbonenginejs/
|
|
4
|
-
import { vec3 } from '@carbonenginejs/
|
|
2
|
+
import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
|
|
3
|
+
import { CjsModel } from '@carbonenginejs/runtime-utils/model';
|
|
4
|
+
import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
|
|
5
5
|
|
|
6
6
|
let _initProto, _initClass, _init_behaviorPriority, _init_extra_behaviorPriority, _init_inclusionVolumes, _init_extra_inclusionVolumes, _init_behaviorWeight, _init_extra_behaviorWeight, _init_enabled, _init_extra_enabled, _init_framesBetweenUpdates, _init_extra_framesBetweenUpdates;
|
|
7
7
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InclusionVolume.js","sources":["../../../../../../src/generated/eve/child/behaviors/InclusionVolume.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/InclusionVolume.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/InclusionVolume.cpp\n// Generated by format-carbon carbon-class --emit. Verify against eve/child/behaviors/InclusionVolume.json.\nimport { carbon, impl, io, type } from \"@carbonenginejs/
|
|
1
|
+
{"version":3,"file":"InclusionVolume.js","sources":["../../../../../../src/generated/eve/child/behaviors/InclusionVolume.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/InclusionVolume.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/InclusionVolume.cpp\n// Generated by format-carbon carbon-class --emit. Verify against eve/child/behaviors/InclusionVolume.json.\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\n\n// Module scratch for the per-agent loop (behavior updates run sequentially).\nconst FORCE = vec3.create();\nconst NORMALIZED_FORCE = vec3.create();\nconst FORCE_OFFSET = vec3.create();\nconst NO_FORCES = [];\n\n/** InclusionVolume (eve/child/behaviors) - generated from schema shapeHash 19708e2d.... */\n@type.define({ className: \"InclusionVolume\", family: \"eve/child/behaviors\" })\nexport class InclusionVolume extends CjsModel\n{\n\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\n @io.notify\n @io.persist\n @type.int32\n behaviorPriority = 0;\n\n /** m_inclusionVolumes (PIEveVolumeVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"IEveVolume\")\n inclusionVolumes = [];\n\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n behaviorWeight = 60;\n\n /** m_enabled (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n enabled = true;\n\n /** m_framesBetweenUpdates (int32_t) [READWRITE, PERSIST] */\n @io.persist\n @type.int32\n framesBetweenUpdates = 11;\n\n // Per-frame cache of the inclusion volume centres, prefetched so the\n // per-agent loop stays allocation-free.\n #volumeCenters = [];\n\n #returnForces = [];\n\n /** Carbon InclusionVolume::GetProcessPriority (cpp:21-24). */\n @carbon.method\n @impl.implemented\n GetProcessPriority()\n {\n return this.behaviorPriority;\n }\n\n /**\n * Pulls each agent back toward the inclusion volumes when it drifts into\n * their falloff shell; fully-inside agents feel no force (Carbon\n * CalculateBehavior, cpp:26-69).\n * @param {Array} agents - DroneAgent records\n * @param {Array|null} _scratchData - unused (no scratch)\n * @param {Number} _deltaTime\n * @param {Object} group - owning BehaviorGroup\n * @param {Object} _system - owning EveChildBehaviorSystem\n * @param {Array} _dronesInSearchRadius - unused\n * @returns {Array} debug force pairs when group.collectForces is on\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon pushes a debug force pair for every agent unconditionally; the JS port collects them only when group.collectForces is set to keep the per-agent loop allocation-free.\")\n CalculateBehavior(agents, _scratchData, _deltaTime, group, _system, _dronesInSearchRadius)\n {\n if (!this.enabled)\n {\n return NO_FORCES;\n }\n\n const returnForces = this.#returnForces;\n returnForces.length = 0;\n\n const centers = this.#volumeCenters;\n centers.length = 0;\n for (const volume of this.inclusionVolumes)\n {\n centers.push(volume?.GetBoundingSphere?.()?.center ?? null);\n }\n\n for (const agent of agents)\n {\n vec3.set(FORCE, 0, 0, 0);\n vec3.set(NORMALIZED_FORCE, 0, 0, 0);\n\n for (let i = 0; i < this.inclusionVolumes.length; i++)\n {\n const status = Number(this.inclusionVolumes[i]?.GetIntensity?.(agent.position) ?? 0);\n\n if (status === 1)\n {\n vec3.set(FORCE, 0, 0, 0);\n vec3.set(NORMALIZED_FORCE, 0, 0, 0);\n break;\n }\n else if (status > 0 && centers[i])\n {\n vec3.subtract(NORMALIZED_FORCE, centers[i], agent.position);\n vec3.normalize(NORMALIZED_FORCE, NORMALIZED_FORCE);\n vec3.scale(FORCE, NORMALIZED_FORCE, this.behaviorWeight);\n }\n }\n\n vec3.add(agent.acceleration, agent.acceleration, FORCE);\n\n if (group.collectForces)\n {\n vec3.scale(FORCE_OFFSET, NORMALIZED_FORCE, group.GetBoundingSphereRadius());\n returnForces.push(vec3.add(vec3.create(), agent.position, FORCE_OFFSET));\n returnForces.push(vec3.clone(FORCE));\n }\n }\n return returnForces;\n }\n\n}\n"],"names":["FORCE","vec3","create","NORMALIZED_FORCE","FORCE_OFFSET","NO_FORCES","_InclusionVolume","InclusionVolume","CjsModel","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_inclusionVolumes","_init_extra_inclusionVolumes","_init_behaviorWeight","_init_extra_behaviorWeight","_init_enabled","_init_extra_enabled","_init_framesBetweenUpdates","_init_extra_framesBetweenUpdates","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","list","float32","boolean","carbon","method","impl","implemented","adapted","reason","behaviorPriority","inclusionVolumes","behaviorWeight","enabled","framesBetweenUpdates","GetProcessPriority","CalculateBehavior","agents","_scratchData","_deltaTime","group","_system","_dronesInSearchRadius","returnForces","length","centers","volume","push","GetBoundingSphere","center","agent","set","i","status","Number","GetIntensity","position","subtract","normalize","scale","add","acceleration","collectForces","GetBoundingSphereRadius","clone"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { applyDecs2311 as _applyDecs2311 } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import { io, type, carbon, impl } from '@carbonenginejs/
|
|
3
|
-
import { CjsModel } from '@carbonenginejs/
|
|
4
|
-
import { quat } from '@carbonenginejs/
|
|
5
|
-
import { vec3 } from '@carbonenginejs/
|
|
2
|
+
import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
|
|
3
|
+
import { CjsModel } from '@carbonenginejs/runtime-utils/model';
|
|
4
|
+
import { quat } from '@carbonenginejs/runtime-utils/quat';
|
|
5
|
+
import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
|
|
6
6
|
|
|
7
7
|
let _initProto, _initClass, _init_behaviorPriority, _init_extra_behaviorPriority, _init_minInertiaWeight, _init_extra_minInertiaWeight, _init_maxRotationSpeed, _init_extra_maxRotationSpeed, _init_maxAcceleration, _init_extra_maxAcceleration, _init_enabled, _init_extra_enabled;
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Inertia.js","sources":["../../../../../../src/generated/eve/child/behaviors/Inertia.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/Inertia.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/Inertia.cpp\n// Generated by format-carbon carbon-class --emit. Verify against eve/child/behaviors/Inertia.json.\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { CjsModel } from \"@carbonenginejs/core-types/model\";\nimport { quat } from \"@carbonenginejs/core-math/quat\";\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\n\n// Module scratch for the per-agent loop (behavior updates run sequentially).\nconst LAST_ACCEL_NORMALIZED = vec3.create();\nconst ACCEL_NORMALIZED = vec3.create();\nconst ROTATION_AXIS = vec3.create();\nconst ROTATION_QUAT = quat.create();\nconst NO_FORCES = [];\n\n// Carbon ClampLength: in-place clamp of a vec3 to a maximum length.\nfunction ClampLength(value, maxLength)\n{\n const lengthSq = vec3.squaredLength(value);\n if (lengthSq > maxLength * maxLength && lengthSq > 0)\n {\n vec3.scale(value, value, maxLength / Math.sqrt(lengthSq));\n }\n return value;\n}\n\n/** Inertia (eve/child/behaviors) - generated from schema shapeHash 80109d01.... */\n@type.define({ className: \"Inertia\", family: \"eve/child/behaviors\" })\nexport class Inertia extends CjsModel\n{\n\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\n @io.notify\n @io.persist\n @type.int32\n behaviorPriority = 0;\n\n /** m_minInertiaWeight (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n minInertiaWeight = 0.1;\n\n /** m_maxRotationSpeed (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n maxRotationSpeed = 3.14;\n\n /** m_maxAcceleration (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n maxAcceleration = 60;\n\n /** m_enabled (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n enabled = true;\n\n #returnForces = [];\n\n /** Carbon Inertia::GetProcessPriority (cpp:20-23). */\n @carbon.method\n @impl.implemented\n GetProcessPriority()\n {\n return this.behaviorPriority;\n }\n\n /** Per-agent scratch record count (Carbon sizeof(InertiaData)). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\n GetScratchMemorySize()\n {\n return 1;\n }\n\n /** Fresh per-agent scratch record (Carbon InertiaData placement init). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\n InitializeScratch()\n {\n return {\n agentAccel: vec3.create(),\n inertiaWeight: 0\n };\n }\n\n /**\n * Turns the accumulated acceleration toward last frame's direction at a\n * limited angular speed and blends its magnitude by the agent's remaining\n * headroom (Carbon CalculateBehavior, cpp:35-82).\n * @param {Array} agents - DroneAgent records\n * @param {Array} scratchData - per-agent InertiaData records\n * @param {Number} deltaTime\n * @param {Object} group - owning BehaviorGroup\n * @param {Object} _system - owning EveChildBehaviorSystem\n * @param {Array} _dronesInSearchRadius - unused\n * @returns {Array} debug forces when group.collectForces is on\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon pushes the adjusted acceleration into the debug vector unconditionally; the JS port collects it only when group.collectForces is set to keep the per-agent loop allocation-free.\")\n CalculateBehavior(agents, scratchData, deltaTime, group, _system, _dronesInSearchRadius)\n {\n if (!this.enabled)\n {\n return NO_FORCES;\n }\n\n const returnForces = this.#returnForces;\n returnForces.length = 0;\n\n for (let c = 0; c < agents.length; c++)\n {\n const agent = agents[c];\n const data = scratchData?.[c];\n if (!data)\n {\n continue;\n }\n\n vec3.normalize(LAST_ACCEL_NORMALIZED, data.agentAccel);\n const lastAccelLength = vec3.length(data.agentAccel);\n vec3.normalize(ACCEL_NORMALIZED, agent.acceleration);\n const accelLength = vec3.length(agent.acceleration);\n\n if (vec3.squaredLength(LAST_ACCEL_NORMALIZED) !== 0 && this.maxRotationSpeed > 0)\n {\n vec3.cross(ROTATION_AXIS, LAST_ACCEL_NORMALIZED, ACCEL_NORMALIZED);\n vec3.normalize(ROTATION_AXIS, ROTATION_AXIS);\n if (vec3.length(ROTATION_AXIS) === 0)\n {\n vec3.set(ROTATION_AXIS, 0, 1, 0);\n }\n let angle = vec3.angle(LAST_ACCEL_NORMALIZED, ACCEL_NORMALIZED);\n const step = this.maxRotationSpeed * deltaTime;\n angle = Math.min(angle, step);\n if (angle > 0)\n {\n quat.setAxisAngle(ROTATION_QUAT, ROTATION_AXIS, angle);\n // Carbon rotates last frame's unit acceleration into the agent's\n // acceleration (TriVectorRotateQuaternion, cpp:65-67).\n vec3.transformQuat(agent.acceleration, LAST_ACCEL_NORMALIZED, ROTATION_QUAT);\n }\n\n const agentVelocityLength = vec3.length(agent.velocity);\n\n data.inertiaWeight = group.GetMaxVelocity() - agentVelocityLength;\n data.inertiaWeight = Math.min(Math.max(data.inertiaWeight, 0.1), group.GetMaxVelocity());\n\n const blended = lastAccelLength + (accelLength - lastAccelLength) * (data.inertiaWeight * deltaTime);\n vec3.normalize(agent.acceleration, agent.acceleration);\n vec3.scale(agent.acceleration, agent.acceleration, blended);\n ClampLength(agent.acceleration, this.maxAcceleration);\n\n if (group.collectForces)\n {\n returnForces.push(vec3.clone(agent.acceleration));\n }\n }\n vec3.copy(data.agentAccel, agent.acceleration);\n }\n return returnForces;\n }\n\n}\n"],"names":["LAST_ACCEL_NORMALIZED","vec3","create","ACCEL_NORMALIZED","ROTATION_AXIS","ROTATION_QUAT","quat","NO_FORCES","ClampLength","value","maxLength","lengthSq","squaredLength","scale","Math","sqrt","_Inertia","Inertia","CjsModel","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_minInertiaWeight","_init_extra_minInertiaWeight","_init_maxRotationSpeed","_init_extra_maxRotationSpeed","_init_maxAcceleration","_init_extra_maxAcceleration","_init_enabled","_init_extra_enabled","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","float32","boolean","carbon","method","impl","implemented","adapted","reason","behaviorPriority","minInertiaWeight","maxRotationSpeed","maxAcceleration","enabled","GetProcessPriority","GetScratchMemorySize","InitializeScratch","agentAccel","inertiaWeight","CalculateBehavior","agents","scratchData","deltaTime","group","_system","_dronesInSearchRadius","returnForces","length","agent","data","normalize","lastAccelLength","acceleration","accelLength","cross","set","angle","step","min","setAxisAngle","transformQuat","agentVelocityLength","velocity","GetMaxVelocity","max","blended","collectForces","push","clone","copy"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Inertia.js","sources":["../../../../../../src/generated/eve/child/behaviors/Inertia.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/Inertia.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/Inertia.cpp\n// Generated by format-carbon carbon-class --emit. Verify against eve/child/behaviors/Inertia.json.\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\n\n// Module scratch for the per-agent loop (behavior updates run sequentially).\nconst LAST_ACCEL_NORMALIZED = vec3.create();\nconst ACCEL_NORMALIZED = vec3.create();\nconst ROTATION_AXIS = vec3.create();\nconst ROTATION_QUAT = quat.create();\nconst NO_FORCES = [];\n\n// Carbon ClampLength: in-place clamp of a vec3 to a maximum length.\nfunction ClampLength(value, maxLength)\n{\n const lengthSq = vec3.squaredLength(value);\n if (lengthSq > maxLength * maxLength && lengthSq > 0)\n {\n vec3.scale(value, value, maxLength / Math.sqrt(lengthSq));\n }\n return value;\n}\n\n/** Inertia (eve/child/behaviors) - generated from schema shapeHash 80109d01.... */\n@type.define({ className: \"Inertia\", family: \"eve/child/behaviors\" })\nexport class Inertia extends CjsModel\n{\n\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\n @io.notify\n @io.persist\n @type.int32\n behaviorPriority = 0;\n\n /** m_minInertiaWeight (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n minInertiaWeight = 0.1;\n\n /** m_maxRotationSpeed (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n maxRotationSpeed = 3.14;\n\n /** m_maxAcceleration (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n maxAcceleration = 60;\n\n /** m_enabled (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n enabled = true;\n\n #returnForces = [];\n\n /** Carbon Inertia::GetProcessPriority (cpp:20-23). */\n @carbon.method\n @impl.implemented\n GetProcessPriority()\n {\n return this.behaviorPriority;\n }\n\n /** Per-agent scratch record count (Carbon sizeof(InertiaData)). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\n GetScratchMemorySize()\n {\n return 1;\n }\n\n /** Fresh per-agent scratch record (Carbon InertiaData placement init). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\n InitializeScratch()\n {\n return {\n agentAccel: vec3.create(),\n inertiaWeight: 0\n };\n }\n\n /**\n * Turns the accumulated acceleration toward last frame's direction at a\n * limited angular speed and blends its magnitude by the agent's remaining\n * headroom (Carbon CalculateBehavior, cpp:35-82).\n * @param {Array} agents - DroneAgent records\n * @param {Array} scratchData - per-agent InertiaData records\n * @param {Number} deltaTime\n * @param {Object} group - owning BehaviorGroup\n * @param {Object} _system - owning EveChildBehaviorSystem\n * @param {Array} _dronesInSearchRadius - unused\n * @returns {Array} debug forces when group.collectForces is on\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon pushes the adjusted acceleration into the debug vector unconditionally; the JS port collects it only when group.collectForces is set to keep the per-agent loop allocation-free.\")\n CalculateBehavior(agents, scratchData, deltaTime, group, _system, _dronesInSearchRadius)\n {\n if (!this.enabled)\n {\n return NO_FORCES;\n }\n\n const returnForces = this.#returnForces;\n returnForces.length = 0;\n\n for (let c = 0; c < agents.length; c++)\n {\n const agent = agents[c];\n const data = scratchData?.[c];\n if (!data)\n {\n continue;\n }\n\n vec3.normalize(LAST_ACCEL_NORMALIZED, data.agentAccel);\n const lastAccelLength = vec3.length(data.agentAccel);\n vec3.normalize(ACCEL_NORMALIZED, agent.acceleration);\n const accelLength = vec3.length(agent.acceleration);\n\n if (vec3.squaredLength(LAST_ACCEL_NORMALIZED) !== 0 && this.maxRotationSpeed > 0)\n {\n vec3.cross(ROTATION_AXIS, LAST_ACCEL_NORMALIZED, ACCEL_NORMALIZED);\n vec3.normalize(ROTATION_AXIS, ROTATION_AXIS);\n if (vec3.length(ROTATION_AXIS) === 0)\n {\n vec3.set(ROTATION_AXIS, 0, 1, 0);\n }\n let angle = vec3.angle(LAST_ACCEL_NORMALIZED, ACCEL_NORMALIZED);\n const step = this.maxRotationSpeed * deltaTime;\n angle = Math.min(angle, step);\n if (angle > 0)\n {\n quat.setAxisAngle(ROTATION_QUAT, ROTATION_AXIS, angle);\n // Carbon rotates last frame's unit acceleration into the agent's\n // acceleration (TriVectorRotateQuaternion, cpp:65-67).\n vec3.transformQuat(agent.acceleration, LAST_ACCEL_NORMALIZED, ROTATION_QUAT);\n }\n\n const agentVelocityLength = vec3.length(agent.velocity);\n\n data.inertiaWeight = group.GetMaxVelocity() - agentVelocityLength;\n data.inertiaWeight = Math.min(Math.max(data.inertiaWeight, 0.1), group.GetMaxVelocity());\n\n const blended = lastAccelLength + (accelLength - lastAccelLength) * (data.inertiaWeight * deltaTime);\n vec3.normalize(agent.acceleration, agent.acceleration);\n vec3.scale(agent.acceleration, agent.acceleration, blended);\n ClampLength(agent.acceleration, this.maxAcceleration);\n\n if (group.collectForces)\n {\n returnForces.push(vec3.clone(agent.acceleration));\n }\n }\n vec3.copy(data.agentAccel, agent.acceleration);\n }\n return returnForces;\n }\n\n}\n"],"names":["LAST_ACCEL_NORMALIZED","vec3","create","ACCEL_NORMALIZED","ROTATION_AXIS","ROTATION_QUAT","quat","NO_FORCES","ClampLength","value","maxLength","lengthSq","squaredLength","scale","Math","sqrt","_Inertia","Inertia","CjsModel","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_minInertiaWeight","_init_extra_minInertiaWeight","_init_maxRotationSpeed","_init_extra_maxRotationSpeed","_init_maxAcceleration","_init_extra_maxAcceleration","_init_enabled","_init_extra_enabled","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","float32","boolean","carbon","method","impl","implemented","adapted","reason","behaviorPriority","minInertiaWeight","maxRotationSpeed","maxAcceleration","enabled","GetProcessPriority","GetScratchMemorySize","InitializeScratch","agentAccel","inertiaWeight","CalculateBehavior","agents","scratchData","deltaTime","group","_system","_dronesInSearchRadius","returnForces","length","agent","data","normalize","lastAccelLength","acceleration","accelLength","cross","set","angle","step","min","setAxisAngle","transformQuat","agentVelocityLength","velocity","GetMaxVelocity","max","blended","collectForces","push","clone","copy"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { applyDecs2311 as _applyDecs2311 } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import { io, type, carbon, impl } from '@carbonenginejs/
|
|
2
|
+
import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
|
|
3
3
|
import { EveEntity as _EveEntity } from '../../EveEntity.js';
|
|
4
|
-
import { vec3 } from '@carbonenginejs/
|
|
4
|
+
import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
|
|
5
5
|
|
|
6
6
|
let _initProto, _initClass, _init_behaviorPriority, _init_extra_behaviorPriority, _init_behaviorWeight, _init_extra_behaviorWeight, _init_firingEffect, _init_extra_firingEffect, _init_generatedFiringEffects, _init_extra_generatedFiringEffects, _init_sec, _init_extra_sec, _init_enabled, _init_extra_enabled;
|
|
7
7
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayFX.js","sources":["../../../../../../src/generated/eve/child/behaviors/PlayFX.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/PlayFX.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/PlayFX.cpp\n// Generated by format-carbon carbon-class --emit. Verify against eve/child/behaviors/PlayFX.json.\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { EveEntity } from \"../../EveEntity.js\";\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\n\n// Module scratch for the per-agent loop (behavior updates run sequentially).\nconst OFFSET_EFFECT = vec3.create();\nconst OFFSET_EFFECT_WS = vec3.create();\nconst AGENT_TARGET_WS = vec3.create();\nconst NO_FORCES = [];\n\n/** PlayFX (eve/child/behaviors) - generated from schema shapeHash 06aaa1da.... */\n@type.define({ className: \"PlayFX\", family: \"eve/child/behaviors\" })\nexport class PlayFX extends EveEntity\n{\n\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\n @io.notify\n @io.persist\n @type.int32\n behaviorPriority = 0;\n\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n behaviorWeight = 20;\n\n /** m_firingEffect (IEveFiringEffectElementPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"IEveFiringEffectElement\")\n firingEffect = null;\n\n /** m_firingEffects (PIEveFiringEffectElementVector) [READ] */\n @io.read\n @type.list(\"IEveFiringEffectElement\")\n generatedFiringEffects = [];\n\n /** m_sec (int32_t) [READWRITE, PERSIST] */\n @io.persist\n @type.int32\n sec = 1;\n\n /** m_enabled (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n enabled = true;\n\n // Carbon m_count/m_stop runtime state.\n #count = 0;\n\n #stop = false;\n\n /** Carbon PlayFX::GetProcessPriority (cpp:25-28). */\n @carbon.method\n @impl.implemented\n GetProcessPriority()\n {\n return this.behaviorPriority;\n }\n\n /** Carbon PlayFX::GetBehaviorName (cpp:30-33). */\n @carbon.method\n @impl.implemented\n GetBehaviorName()\n {\n return \"PlayFX\";\n }\n\n /** Per-agent scratch record count (Carbon sizeof(PlayFXData)). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\n GetScratchMemorySize()\n {\n return 1;\n }\n\n /** Fresh per-agent scratch record (Carbon PlayFXData placement init). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\n InitializeScratch()\n {\n return {\n effectPlaying: false,\n droneArrived: false,\n oldTarget: vec3.create()\n };\n }\n\n /** Carbon IBehavior::UpdateState override (h:55-58). */\n @carbon.method\n @impl.implemented\n UpdateState(state)\n {\n this.#stop = !!state;\n }\n\n /**\n * Drives one cloned firing effect per agent: starts firing when the agent\n * arrives (agent.playFX), aims it in world space, and stops it after m_sec\n * seconds (Carbon CalculateBehavior, cpp:45-139).\n * @param {Array} agents - DroneAgent records\n * @param {Array} scratchData - per-agent PlayFXData records\n * @param {Number} _deltaTime\n * @param {Object} group - owning BehaviorGroup\n * @param {Object} system - owning EveChildBehaviorSystem\n * @param {Array} _dronesInSearchRadius - unused\n * @returns {Array} empty (as Carbon)\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon's Be::Time 100ns clock maps to Date.now seconds against agent.fxStartTime; the firing effect elements are duck-typed.\")\n CalculateBehavior(agents, scratchData, _deltaTime, group, system, _dronesInSearchRadius)\n {\n if (this.behaviorWeight <= 0 || !this.enabled)\n {\n for (const fx of this.generatedFiringEffects)\n {\n fx?.StopFiring?.();\n }\n return NO_FORCES;\n }\n\n if (this.firingEffect === null)\n {\n return NO_FORCES;\n }\n\n // If the drone count is 0 the count is not updated so this is needed\n if (this.generatedFiringEffects.length === 0)\n {\n this.#count = 0;\n }\n\n if (this.#count !== agents.length)\n {\n this.#CheckCount(agents.length);\n }\n\n const worldTransform = system.GetWorldTransform();\n const limit = Math.min(agents.length, this.generatedFiringEffects.length);\n\n // This behavior activates when the drone has arrived near its locator\n for (let c = 0; c < limit; c++)\n {\n const agent = agents[c];\n const firingEffect = this.generatedFiringEffects[c];\n const data = scratchData?.[c];\n if (!data || !firingEffect)\n {\n continue;\n }\n\n if (this.#stop)\n {\n data.droneArrived = false;\n }\n\n // Make sure the effect isn't showing when loading everything up\n if (data.droneArrived === false)\n {\n firingEffect.SetDisplay?.(false);\n }\n\n // Drone has arrived at its target so play the effect\n if (agent.playFX && !data.effectPlaying)\n {\n if (data.droneArrived === false)\n {\n data.droneArrived = true;\n firingEffect.SetDisplay?.(true);\n }\n\n firingEffect.StartFiring?.(0);\n data.effectPlaying = true;\n }\n\n vec3.normalize(OFFSET_EFFECT, agent.targetDirection);\n vec3.scale(OFFSET_EFFECT, OFFSET_EFFECT, group.GetBoundingSphereRadius());\n vec3.add(OFFSET_EFFECT, OFFSET_EFFECT, agent.position);\n\n // Set the effect's pos to world space\n vec3.transformMat4(OFFSET_EFFECT_WS, OFFSET_EFFECT, worldTransform);\n\n // Without this the drone would start shooting at the new target because\n // of the cooldown of the effect\n if (vec3.squaredLength(data.oldTarget) !== 0)\n {\n firingEffect.SetFiringTransform?.(OFFSET_EFFECT_WS, data.oldTarget);\n }\n\n if (data.effectPlaying)\n {\n vec3.transformMat4(AGENT_TARGET_WS, agent.target, worldTransform);\n firingEffect.SetFiringTransform?.(OFFSET_EFFECT_WS, AGENT_TARGET_WS);\n\n const elapsed = Date.now() / 1000 - agent.fxStartTime;\n if (elapsed > this.sec)\n {\n firingEffect.StopFiring?.();\n data.effectPlaying = false;\n agent.playFX = false;\n vec3.copy(data.oldTarget, AGENT_TARGET_WS);\n vec3.set(agent.target, 0, 0, 0);\n }\n }\n }\n\n return NO_FORCES;\n }\n\n /** Carbon PlayFX::UpdateAsyncronous (cpp:141-148). */\n @carbon.method\n @impl.implemented\n UpdateAsyncronous(updateContext, parentTransform)\n {\n for (const fx of this.generatedFiringEffects)\n {\n fx?.UpdateEffectAsync?.(updateContext);\n fx?.UpdateVisibility?.(updateContext, parentTransform);\n }\n }\n\n /** Carbon PlayFX::UpdateSyncronous (cpp:150-156). */\n @carbon.method\n @impl.implemented\n UpdateSyncronous(updateContext)\n {\n for (const fx of this.generatedFiringEffects)\n {\n fx?.UpdateEffectSync?.(updateContext);\n }\n }\n\n /** Carbon PlayFX::GetRenderables (cpp:158-164). */\n @carbon.method\n @impl.implemented\n GetRenderables(renderables = [])\n {\n for (const fx of this.generatedFiringEffects)\n {\n fx?.GetRenderables?.(renderables);\n }\n return renderables;\n }\n\n /** Carbon PlayFX::RegisterComponents (cpp:202-215). */\n @carbon.method\n @impl.implemented\n RegisterComponents()\n {\n const registry = this.GetComponentRegistry();\n if (registry)\n {\n for (const fx of this.generatedFiringEffects)\n {\n fx?.Register?.(registry);\n }\n }\n }\n\n /** Carbon PlayFX::UnRegisterComponents (cpp:217-230). */\n @carbon.method\n @impl.implemented\n UnRegisterComponents()\n {\n const registry = this.GetComponentRegistry();\n if (registry)\n {\n for (const fx of this.generatedFiringEffects)\n {\n fx?.UnRegister?.(registry);\n }\n }\n }\n\n /** Carbon method RegisterWithQuadRenderer (cpp:239-245) - quad renderer\n * registration seam; the firing effect elements own the real quads. */\n @carbon.method\n @impl.noop\n RegisterWithQuadRenderer(_quadRenderer)\n {\n }\n\n /** Carbon method AddQuadsToQuadRenderer (cpp:253-259) - quad renderer\n * submission seam; the firing effect elements own the real quads. */\n @carbon.method\n @impl.noop\n AddQuadsToQuadRenderer(_frustum, _quadRenderer)\n {\n }\n\n // Grows or shrinks the cloned firing-effect list to the agent count (Carbon\n // CheckCount, cpp:262-299; BeClasses->CloneTo maps to CjsModel.Clone).\n #CheckCount(agentSize)\n {\n if (this.#count > agentSize)\n {\n const diff = this.#count - agentSize;\n for (let i = 0; i < diff; i++)\n {\n this.generatedFiringEffects.pop();\n }\n this.#count = agentSize;\n }\n else if (agentSize > this.#count)\n {\n if (this.firingEffect === null)\n {\n return;\n }\n\n const diff = agentSize - this.#count;\n for (let i = 0; i < diff; i++)\n {\n const newFx = this.firingEffect.Clone?.();\n if (!newFx)\n {\n return;\n }\n this.generatedFiringEffects.push(newFx);\n }\n this.#count = agentSize;\n }\n }\n\n}\n"],"names":["OFFSET_EFFECT","vec3","create","OFFSET_EFFECT_WS","AGENT_TARGET_WS","NO_FORCES","_PlayFX","PlayFX","EveEntity","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_behaviorWeight","_init_extra_behaviorWeight","_init_firingEffect","_init_extra_firingEffect","_init_generatedFiringEffects","_init_extra_generatedFiringEffects","_init_sec","_init_extra_sec","_init_enabled","_init_extra_enabled","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","float32","model","read","list","boolean","carbon","method","impl","implemented","adapted","reason","noop","behaviorPriority","behaviorWeight","firingEffect","generatedFiringEffects","sec","enabled","GetProcessPriority","GetBehaviorName","GetScratchMemorySize","InitializeScratch","effectPlaying","droneArrived","oldTarget","UpdateState","state","CalculateBehavior","agents","scratchData","_deltaTime","group","system","_dronesInSearchRadius","fx","StopFiring","length","worldTransform","GetWorldTransform","limit","Math","min","agent","data","SetDisplay","playFX","StartFiring","normalize","targetDirection","scale","GetBoundingSphereRadius","add","position","transformMat4","squaredLength","SetFiringTransform","target","elapsed","Date","now","fxStartTime","copy","set","UpdateAsyncronous","updateContext","parentTransform","UpdateEffectAsync","UpdateVisibility","UpdateSyncronous","UpdateEffectSync","GetRenderables","renderables","RegisterComponents","registry","GetComponentRegistry","Register","UnRegisterComponents","UnRegister","RegisterWithQuadRenderer","_quadRenderer","AddQuadsToQuadRenderer","_frustum","#CheckCount","agentSize","diff","i","pop","newFx","Clone","push"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlayFX.js","sources":["../../../../../../src/generated/eve/child/behaviors/PlayFX.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/PlayFX.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/PlayFX.cpp\n// Generated by format-carbon carbon-class --emit. Verify against eve/child/behaviors/PlayFX.json.\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { EveEntity } from \"../../EveEntity.js\";\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\n\n// Module scratch for the per-agent loop (behavior updates run sequentially).\nconst OFFSET_EFFECT = vec3.create();\nconst OFFSET_EFFECT_WS = vec3.create();\nconst AGENT_TARGET_WS = vec3.create();\nconst NO_FORCES = [];\n\n/** PlayFX (eve/child/behaviors) - generated from schema shapeHash 06aaa1da.... */\n@type.define({ className: \"PlayFX\", family: \"eve/child/behaviors\" })\nexport class PlayFX extends EveEntity\n{\n\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\n @io.notify\n @io.persist\n @type.int32\n behaviorPriority = 0;\n\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n behaviorWeight = 20;\n\n /** m_firingEffect (IEveFiringEffectElementPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"IEveFiringEffectElement\")\n firingEffect = null;\n\n /** m_firingEffects (PIEveFiringEffectElementVector) [READ] */\n @io.read\n @type.list(\"IEveFiringEffectElement\")\n generatedFiringEffects = [];\n\n /** m_sec (int32_t) [READWRITE, PERSIST] */\n @io.persist\n @type.int32\n sec = 1;\n\n /** m_enabled (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n enabled = true;\n\n // Carbon m_count/m_stop runtime state.\n #count = 0;\n\n #stop = false;\n\n /** Carbon PlayFX::GetProcessPriority (cpp:25-28). */\n @carbon.method\n @impl.implemented\n GetProcessPriority()\n {\n return this.behaviorPriority;\n }\n\n /** Carbon PlayFX::GetBehaviorName (cpp:30-33). */\n @carbon.method\n @impl.implemented\n GetBehaviorName()\n {\n return \"PlayFX\";\n }\n\n /** Per-agent scratch record count (Carbon sizeof(PlayFXData)). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\n GetScratchMemorySize()\n {\n return 1;\n }\n\n /** Fresh per-agent scratch record (Carbon PlayFXData placement init). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\n InitializeScratch()\n {\n return {\n effectPlaying: false,\n droneArrived: false,\n oldTarget: vec3.create()\n };\n }\n\n /** Carbon IBehavior::UpdateState override (h:55-58). */\n @carbon.method\n @impl.implemented\n UpdateState(state)\n {\n this.#stop = !!state;\n }\n\n /**\n * Drives one cloned firing effect per agent: starts firing when the agent\n * arrives (agent.playFX), aims it in world space, and stops it after m_sec\n * seconds (Carbon CalculateBehavior, cpp:45-139).\n * @param {Array} agents - DroneAgent records\n * @param {Array} scratchData - per-agent PlayFXData records\n * @param {Number} _deltaTime\n * @param {Object} group - owning BehaviorGroup\n * @param {Object} system - owning EveChildBehaviorSystem\n * @param {Array} _dronesInSearchRadius - unused\n * @returns {Array} empty (as Carbon)\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon's Be::Time 100ns clock maps to Date.now seconds against agent.fxStartTime; the firing effect elements are duck-typed.\")\n CalculateBehavior(agents, scratchData, _deltaTime, group, system, _dronesInSearchRadius)\n {\n if (this.behaviorWeight <= 0 || !this.enabled)\n {\n for (const fx of this.generatedFiringEffects)\n {\n fx?.StopFiring?.();\n }\n return NO_FORCES;\n }\n\n if (this.firingEffect === null)\n {\n return NO_FORCES;\n }\n\n // If the drone count is 0 the count is not updated so this is needed\n if (this.generatedFiringEffects.length === 0)\n {\n this.#count = 0;\n }\n\n if (this.#count !== agents.length)\n {\n this.#CheckCount(agents.length);\n }\n\n const worldTransform = system.GetWorldTransform();\n const limit = Math.min(agents.length, this.generatedFiringEffects.length);\n\n // This behavior activates when the drone has arrived near its locator\n for (let c = 0; c < limit; c++)\n {\n const agent = agents[c];\n const firingEffect = this.generatedFiringEffects[c];\n const data = scratchData?.[c];\n if (!data || !firingEffect)\n {\n continue;\n }\n\n if (this.#stop)\n {\n data.droneArrived = false;\n }\n\n // Make sure the effect isn't showing when loading everything up\n if (data.droneArrived === false)\n {\n firingEffect.SetDisplay?.(false);\n }\n\n // Drone has arrived at its target so play the effect\n if (agent.playFX && !data.effectPlaying)\n {\n if (data.droneArrived === false)\n {\n data.droneArrived = true;\n firingEffect.SetDisplay?.(true);\n }\n\n firingEffect.StartFiring?.(0);\n data.effectPlaying = true;\n }\n\n vec3.normalize(OFFSET_EFFECT, agent.targetDirection);\n vec3.scale(OFFSET_EFFECT, OFFSET_EFFECT, group.GetBoundingSphereRadius());\n vec3.add(OFFSET_EFFECT, OFFSET_EFFECT, agent.position);\n\n // Set the effect's pos to world space\n vec3.transformMat4(OFFSET_EFFECT_WS, OFFSET_EFFECT, worldTransform);\n\n // Without this the drone would start shooting at the new target because\n // of the cooldown of the effect\n if (vec3.squaredLength(data.oldTarget) !== 0)\n {\n firingEffect.SetFiringTransform?.(OFFSET_EFFECT_WS, data.oldTarget);\n }\n\n if (data.effectPlaying)\n {\n vec3.transformMat4(AGENT_TARGET_WS, agent.target, worldTransform);\n firingEffect.SetFiringTransform?.(OFFSET_EFFECT_WS, AGENT_TARGET_WS);\n\n const elapsed = Date.now() / 1000 - agent.fxStartTime;\n if (elapsed > this.sec)\n {\n firingEffect.StopFiring?.();\n data.effectPlaying = false;\n agent.playFX = false;\n vec3.copy(data.oldTarget, AGENT_TARGET_WS);\n vec3.set(agent.target, 0, 0, 0);\n }\n }\n }\n\n return NO_FORCES;\n }\n\n /** Carbon PlayFX::UpdateAsyncronous (cpp:141-148). */\n @carbon.method\n @impl.implemented\n UpdateAsyncronous(updateContext, parentTransform)\n {\n for (const fx of this.generatedFiringEffects)\n {\n fx?.UpdateEffectAsync?.(updateContext);\n fx?.UpdateVisibility?.(updateContext, parentTransform);\n }\n }\n\n /** Carbon PlayFX::UpdateSyncronous (cpp:150-156). */\n @carbon.method\n @impl.implemented\n UpdateSyncronous(updateContext)\n {\n for (const fx of this.generatedFiringEffects)\n {\n fx?.UpdateEffectSync?.(updateContext);\n }\n }\n\n /** Carbon PlayFX::GetRenderables (cpp:158-164). */\n @carbon.method\n @impl.implemented\n GetRenderables(renderables = [])\n {\n for (const fx of this.generatedFiringEffects)\n {\n fx?.GetRenderables?.(renderables);\n }\n return renderables;\n }\n\n /** Carbon PlayFX::RegisterComponents (cpp:202-215). */\n @carbon.method\n @impl.implemented\n RegisterComponents()\n {\n const registry = this.GetComponentRegistry();\n if (registry)\n {\n for (const fx of this.generatedFiringEffects)\n {\n fx?.Register?.(registry);\n }\n }\n }\n\n /** Carbon PlayFX::UnRegisterComponents (cpp:217-230). */\n @carbon.method\n @impl.implemented\n UnRegisterComponents()\n {\n const registry = this.GetComponentRegistry();\n if (registry)\n {\n for (const fx of this.generatedFiringEffects)\n {\n fx?.UnRegister?.(registry);\n }\n }\n }\n\n /** Carbon method RegisterWithQuadRenderer (cpp:239-245) - quad renderer\n * registration seam; the firing effect elements own the real quads. */\n @carbon.method\n @impl.noop\n RegisterWithQuadRenderer(_quadRenderer)\n {\n }\n\n /** Carbon method AddQuadsToQuadRenderer (cpp:253-259) - quad renderer\n * submission seam; the firing effect elements own the real quads. */\n @carbon.method\n @impl.noop\n AddQuadsToQuadRenderer(_frustum, _quadRenderer)\n {\n }\n\n // Grows or shrinks the cloned firing-effect list to the agent count (Carbon\n // CheckCount, cpp:262-299; BeClasses->CloneTo maps to CjsModel.Clone).\n #CheckCount(agentSize)\n {\n if (this.#count > agentSize)\n {\n const diff = this.#count - agentSize;\n for (let i = 0; i < diff; i++)\n {\n this.generatedFiringEffects.pop();\n }\n this.#count = agentSize;\n }\n else if (agentSize > this.#count)\n {\n if (this.firingEffect === null)\n {\n return;\n }\n\n const diff = agentSize - this.#count;\n for (let i = 0; i < diff; i++)\n {\n const newFx = this.firingEffect.Clone?.();\n if (!newFx)\n {\n return;\n }\n this.generatedFiringEffects.push(newFx);\n }\n this.#count = agentSize;\n }\n }\n\n}\n"],"names":["OFFSET_EFFECT","vec3","create","OFFSET_EFFECT_WS","AGENT_TARGET_WS","NO_FORCES","_PlayFX","PlayFX","EveEntity","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_behaviorWeight","_init_extra_behaviorWeight","_init_firingEffect","_init_extra_firingEffect","_init_generatedFiringEffects","_init_extra_generatedFiringEffects","_init_sec","_init_extra_sec","_init_enabled","_init_extra_enabled","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","float32","model","read","list","boolean","carbon","method","impl","implemented","adapted","reason","noop","behaviorPriority","behaviorWeight","firingEffect","generatedFiringEffects","sec","enabled","GetProcessPriority","GetBehaviorName","GetScratchMemorySize","InitializeScratch","effectPlaying","droneArrived","oldTarget","UpdateState","state","CalculateBehavior","agents","scratchData","_deltaTime","group","system","_dronesInSearchRadius","fx","StopFiring","length","worldTransform","GetWorldTransform","limit","Math","min","agent","data","SetDisplay","playFX","StartFiring","normalize","targetDirection","scale","GetBoundingSphereRadius","add","position","transformMat4","squaredLength","SetFiringTransform","target","elapsed","Date","now","fxStartTime","copy","set","UpdateAsyncronous","updateContext","parentTransform","UpdateEffectAsync","UpdateVisibility","UpdateSyncronous","UpdateEffectSync","GetRenderables","renderables","RegisterComponents","registry","GetComponentRegistry","Register","UnRegisterComponents","UnRegister","RegisterWithQuadRenderer","_quadRenderer","AddQuadsToQuadRenderer","_frustum","#CheckCount","agentSize","diff","i","pop","newFx","Clone","push"],"mappings":"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"}
|