@carbonenginejs/runtime-trinity 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -243
- package/dist/controllers/CjsControllerExpressionProgram.js +157 -0
- package/dist/controllers/CjsControllerExpressionProgram.js.map +1 -1
- package/dist/controllers/ITr2ControllerAction.js +57 -0
- package/dist/controllers/ITr2ControllerAction.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateCurveSet.js +12 -2
- package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateValue.js +28 -2
- package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
- package/dist/controllers/Tr2ActionBindRTPC.js +13 -2
- package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
- package/dist/controllers/Tr2ActionCallback.js +7 -2
- package/dist/controllers/Tr2ActionCallback.js.map +1 -1
- package/dist/controllers/Tr2ActionChildEffect.js +65 -2
- package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
- package/dist/controllers/Tr2ActionOverlay.js +70 -2
- package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayCurveSet.js +18 -2
- package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js +31 -2
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
- package/dist/controllers/Tr2ActionPlaySound.js +13 -2
- package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
- package/dist/controllers/Tr2ActionPython.js +13 -2
- package/dist/controllers/Tr2ActionPython.js.map +1 -1
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js +21 -4
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js +7 -2
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +7 -2
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioSwitch.js +7 -2
- package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +25 -2
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
- package/dist/controllers/Tr2ActionSetShaderOption.js +7 -2
- package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
- package/dist/controllers/Tr2ActionSetValue.js +37 -2
- package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
- package/dist/controllers/Tr2ActionSpawnParticles.js +12 -2
- package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/controllers/Tr2BindingPoint.js +71 -4
- package/dist/controllers/Tr2BindingPoint.js.map +1 -1
- package/dist/controllers/Tr2Controller.js +39 -2
- package/dist/controllers/Tr2Controller.js.map +1 -1
- package/dist/controllers/Tr2ControllerEventHandler.js +12 -2
- package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
- package/dist/controllers/Tr2ControllerExpression.js +19 -2
- package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
- package/dist/controllers/Tr2ControllerFloatVariable.js +8 -2
- package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
- package/dist/controllers/Tr2ControllerReference.js +13 -2
- package/dist/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/controllers/Tr2StateMachine.js +19 -2
- package/dist/controllers/Tr2StateMachine.js.map +1 -1
- package/dist/controllers/Tr2StateMachineState.js +49 -2
- package/dist/controllers/Tr2StateMachineState.js.map +1 -1
- package/dist/controllers/Tr2StateMachineTransition.js +31 -2
- package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
- package/dist/controllers/Tr2SyncToAnimation.js +7 -2
- package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
- package/dist/controllers/Tr2TimelineController.js +63 -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/controllers/contracts.js +24 -1
- package/dist/controllers/contracts.js.map +1 -1
- package/dist/controllers/index.js +1 -1
- package/dist/curves/CjsGrannyCurves.js +151 -1
- package/dist/curves/CjsGrannyCurves.js.map +1 -1
- package/dist/curves/Tr2BoneMatrixCurve.js +27 -4
- package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
- package/dist/curves/Tr2CameraFollowCurveKey.js +9 -3
- package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2CurveColor.js +10 -4
- package/dist/curves/Tr2CurveColor.js.map +1 -1
- package/dist/curves/Tr2CurveColorMixer.js +10 -4
- package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
- package/dist/curves/Tr2CurveCombiner.js +8 -3
- package/dist/curves/Tr2CurveCombiner.js.map +1 -1
- package/dist/curves/Tr2CurveConstant.js +22 -6
- package/dist/curves/Tr2CurveConstant.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotation.js +8 -3
- package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotationExpression.js +69 -3
- package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternion.js +8 -3
- package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternionKey.js +8 -3
- package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
- package/dist/curves/Tr2CurveRandomAxisRotation.js +31 -3
- package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/curves/Tr2CurveScalar.js +40 -5
- package/dist/curves/Tr2CurveScalar.js.map +1 -1
- package/dist/curves/Tr2CurveScalarExpression.js +13 -2
- package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
- package/dist/curves/Tr2CurveScalarKey.js +8 -2
- package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
- package/dist/curves/Tr2CurveSetRange.js +7 -2
- package/dist/curves/Tr2CurveSetRange.js.map +1 -1
- package/dist/curves/Tr2CurveVector2.js +8 -3
- package/dist/curves/Tr2CurveVector2.js.map +1 -1
- package/dist/curves/Tr2CurveVector3.js +8 -3
- package/dist/curves/Tr2CurveVector3.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Expression.js +74 -3
- package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Lerp.js +9 -3
- package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
- package/dist/curves/Tr2DistanceTracker.js +9 -3
- package/dist/curves/Tr2DistanceTracker.js.map +1 -1
- package/dist/curves/Tr2FollowCurve.js +9 -3
- package/dist/curves/Tr2FollowCurve.js.map +1 -1
- package/dist/curves/Tr2GrannyEventTrack.js +6 -1
- package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTrack.js +8 -2
- package/dist/curves/Tr2GrannyTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTransformTrack.js +9 -3
- package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyVectorTrack.js +6 -1
- package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
- package/dist/curves/Tr2MatrixKey.js +8 -3
- package/dist/curves/Tr2MatrixKey.js.map +1 -1
- package/dist/curves/Tr2ObjectFollowCurveKey.js +10 -4
- package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2QuaternionLerpCurve.js +10 -4
- package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
- package/dist/curves/Tr2RotationAdapter.js +9 -3
- package/dist/curves/Tr2RotationAdapter.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKey.js +21 -3
- package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKeyCurve.js +27 -4
- package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
- package/dist/curves/Tr2ScalarFader.js +14 -3
- package/dist/curves/Tr2ScalarFader.js.map +1 -1
- package/dist/curves/Tr2TranslationAdapter.js +10 -4
- package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
- package/dist/curves/TriColorSequencer.js +10 -4
- package/dist/curves/TriColorSequencer.js.map +1 -1
- package/dist/curves/TriCurveSet.js +25 -2
- package/dist/curves/TriCurveSet.js.map +1 -1
- package/dist/curves/TriEventCurve.js +25 -2
- package/dist/curves/TriEventCurve.js.map +1 -1
- package/dist/curves/TriEventKey.js +7 -2
- package/dist/curves/TriEventKey.js.map +1 -1
- package/dist/curves/TriPerlinCurve.js +33 -3
- package/dist/curves/TriPerlinCurve.js.map +1 -1
- package/dist/curves/TriVectorSequencer.js +10 -4
- package/dist/curves/TriVectorSequencer.js.map +1 -1
- package/dist/eve/AudioGameObject.js +95 -7
- package/dist/eve/AudioGameObject.js.map +1 -1
- package/dist/eve/BackAndForthData.js +10 -3
- package/dist/eve/BackAndForthData.js.map +1 -1
- package/dist/eve/CjsDistributionRandom.js +6 -0
- package/dist/eve/CjsDistributionRandom.js.map +1 -1
- package/dist/eve/CjsEveThrottleableState.js +11 -0
- package/dist/eve/CjsEveThrottleableState.js.map +1 -1
- package/dist/eve/EveChildUpdateParams.js +11 -4
- package/dist/eve/EveChildUpdateParams.js.map +1 -1
- package/dist/eve/EveComponentTypes.js.map +1 -1
- package/dist/eve/EveCustomMask.js +64 -33
- package/dist/eve/EveCustomMask.js.map +1 -1
- package/dist/eve/EveDistanceField.js +87 -3
- package/dist/eve/EveDistanceField.js.map +1 -1
- package/dist/eve/EveEntity.js +138 -0
- package/dist/eve/EveEntity.js.map +1 -0
- package/dist/eve/EveImpactOverlay.js +64 -3
- package/dist/eve/EveImpactOverlay.js.map +1 -1
- package/dist/eve/EveLODHelper.js +17 -13
- package/dist/eve/EveLODHelper.js.map +1 -1
- package/dist/eve/EveLineData.js +6 -4
- package/dist/eve/EveLineData.js.map +1 -1
- package/dist/eve/EveThrottleable.js +13 -2
- package/dist/eve/EveThrottleable.js.map +1 -1
- package/dist/eve/EveUpdateContext.js +3 -3
- package/dist/eve/EveUpdateContext.js.map +1 -1
- package/dist/eve/FollowASplineData.js +9 -2
- package/dist/eve/FollowASplineData.js.map +1 -1
- package/dist/eve/FormationData.js +8 -2
- package/dist/eve/FormationData.js.map +1 -1
- package/dist/eve/InertiaData.js +10 -3
- package/dist/eve/InertiaData.js.map +1 -1
- package/dist/eve/PlacementDataWithIdentifier.js +11 -4
- package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
- package/dist/eve/PlayFXData.js +10 -3
- package/dist/eve/PlayFXData.js.map +1 -1
- package/dist/eve/SeekTargetData.js +10 -3
- package/dist/eve/SeekTargetData.js.map +1 -1
- package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js +105 -0
- package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
- package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
- package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
- package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +16 -5
- package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
- package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
- package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
- package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +267 -46
- package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
- package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +216 -15
- package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
- package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +52 -4
- package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
- package/dist/eve/attachment/decal/DecalMeshCache.js +2 -2
- package/dist/eve/attachment/decal/DecalMeshCache.js.map +1 -1
- package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
- package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
- package/dist/eve/attachment/haze/EveHazeSet.js +187 -0
- package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
- package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
- package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
- package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +16 -5
- package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
- package/dist/eve/attachment/itemSetBounds.js +131 -0
- package/dist/eve/attachment/itemSetBounds.js.map +1 -0
- package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +17 -5
- package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
- package/dist/eve/attachment/plane/EvePlaneSet.js +303 -0
- package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
- package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
- package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
- package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +16 -5
- package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSet.js +235 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
- package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +17 -5
- package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
- package/dist/eve/attachment/sprite/EveSpriteLineSet.js +192 -0
- package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
- package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +34 -9
- package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
- package/dist/eve/attachment/sprite/EveSpriteSet.js +255 -0
- package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
- package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +28 -31
- package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js +187 -5
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretSet.js +333 -19
- package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretTarget.js +115 -3
- package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/eve/camera/EveCamera.js +644 -0
- package/dist/eve/camera/EveCamera.js.map +1 -0
- package/dist/eve/child/EveChildAudio.js +67 -4
- package/dist/eve/child/EveChildAudio.js.map +1 -1
- package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
- package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
- package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +46 -8
- package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
- package/dist/eve/child/EveChildContainer.js +181 -22
- package/dist/eve/child/EveChildContainer.js.map +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js +5 -5
- package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
- package/dist/eve/child/EveChildFogVolume.js +76 -4
- package/dist/eve/child/EveChildFogVolume.js.map +1 -1
- package/dist/eve/child/EveChildInheritProperties.js +20 -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 +485 -23
- package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
- package/dist/eve/child/EveChildLightingOverride.js +78 -4
- package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
- package/dist/{generated/eve → eve}/child/EveChildLink.js +23 -22
- package/dist/eve/child/EveChildLink.js.map +1 -0
- package/dist/eve/child/EveChildMesh.js +366 -111
- package/dist/eve/child/EveChildMesh.js.map +1 -1
- package/dist/eve/child/EveChildSpherePin.js +108 -0
- package/dist/eve/child/EveChildSpherePin.js.map +1 -0
- package/dist/eve/child/EveChildTransform.js +48 -5
- 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 +7 -2
- package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
- package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
- package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
- package/dist/eve/child/behaviors/DroneAgent.js +5 -5
- package/dist/eve/child/behaviors/DroneAgent.js.map +1 -1
- package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
- package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
- package/dist/eve/child/behaviors/Wander.js +99 -0
- package/dist/eve/child/behaviors/Wander.js.map +1 -0
- package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
- package/dist/eve/child/behaviors/enums.js.map +1 -0
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
- package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +10 -4
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
- package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +11 -9
- package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
- package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
- package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
- package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +6 -6
- package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js +82 -8
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
- package/dist/eve/child/lineSetPaths/EveCircle.js +82 -8
- package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +27 -19
- package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +8 -3
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +26 -23
- package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
- package/dist/eve/child/modifiers/EveChildModifierBooster.js +10 -4
- package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +12 -6
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHalo.js +9 -4
- package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +10 -4
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierSRT.js +10 -5
- package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +36 -22
- package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
- package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js +2 -2
- package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +19 -17
- package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +15 -8
- package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +14 -14
- package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +8 -8
- package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +14 -14
- package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +10 -10
- package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +19 -19
- package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +9 -9
- package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +9 -9
- package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +19 -19
- package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +136 -7
- package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +14 -3
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +13 -5
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +16 -5
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
- package/dist/eve/distribution/attributeModifiers/InitialPlacement.js +2 -2
- package/dist/eve/distribution/attributeModifiers/InitialPlacement.js.map +1 -1
- package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +18 -5
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +33 -5
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +38 -7
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +16 -4
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +16 -5
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +17 -6
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +16 -5
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +21 -3
- package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +27 -3
- package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +19 -3
- package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +24 -5
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +23 -4
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +23 -4
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
- package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +81 -9
- package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
- package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
- package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
- package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
- package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
- package/dist/eve/index.js +118 -46
- package/dist/eve/index.js.map +1 -1
- package/dist/eve/lights/CjsLightData.js +12 -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 +130 -4
- package/dist/eve/lights/Tr2Light.js.map +1 -1
- package/dist/eve/lights/Tr2PointLight.js +9 -4
- package/dist/eve/lights/Tr2PointLight.js.map +1 -1
- package/dist/eve/lights/Tr2SpotLight.js +9 -4
- package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
- package/dist/eve/lights/Tr2TexturedPointLight.js +11 -1
- package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
- package/dist/eve/lights/lightConversion.js +196 -0
- package/dist/eve/lights/lightConversion.js.map +1 -0
- package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +23 -4
- package/dist/eve/locator/EveLocator2.js.map +1 -0
- package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +46 -4
- package/dist/eve/locator/EveLocatorSets.js.map +1 -0
- package/dist/eve/{Locator.js → locator/Locator.js} +10 -5
- package/dist/eve/locator/Locator.js.map +1 -0
- package/dist/eve/{LocatorData.js → locator/LocatorData.js} +7 -5
- package/dist/eve/locator/LocatorData.js.map +1 -0
- package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
- package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
- package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +6 -6
- package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
- package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +6 -6
- package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
- package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +7 -7
- package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
- package/dist/eve/particles/static/EveSceneStaticParticles.js +326 -0
- package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
- package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
- package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js +78 -2
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +88 -4
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +95 -4
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +40 -4
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch.js +162 -13
- package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch2.js +125 -16
- package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch3.js +265 -12
- package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/eve/scene/EveSpaceScene.js +62 -12
- package/dist/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +26 -3
- package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
- package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +76 -4
- package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
- package/dist/eve/scene/picking/EvePickingContext.js +61 -0
- package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
- package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
- package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
- package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
- package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +20 -20
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +21 -21
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +14 -14
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +13 -13
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +32 -32
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +11 -11
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +25 -25
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
- package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +28 -3
- package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +18 -2
- package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +23 -7
- package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
- package/dist/eve/socket/EveSocketParameterFilePath.js +6 -6
- package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
- package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +18 -2
- package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +18 -2
- package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +44 -4
- package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +19 -3
- package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +19 -3
- package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +19 -3
- package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
- package/dist/eve/spaceObject/EveEffectRoot2.js +69 -33
- package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
- package/dist/eve/spaceObject/EveMissile.js +55 -7
- package/dist/eve/spaceObject/EveMissile.js.map +1 -1
- package/dist/eve/spaceObject/EveMissileWarhead.js +112 -16
- package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
- package/dist/eve/spaceObject/EveMobile.js +107 -3
- package/dist/eve/spaceObject/EveMobile.js.map +1 -1
- package/dist/eve/spaceObject/EveRootTransform.js +21 -4
- package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
- package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +34 -14
- package/dist/eve/spaceObject/EveShip2.js.map +1 -0
- package/dist/eve/spaceObject/EveSpaceObject2.js +747 -205
- 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 +124 -24
- package/dist/eve/spaceObject/EveTransform.js.map +1 -1
- package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
- package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
- package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
- package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
- package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
- package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
- package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
- package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
- package/dist/eve/spaceObject/planet/EvePlanet.js +63 -0
- package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
- package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js +225 -0
- package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
- 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 +18 -3
- package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
- package/dist/eve/ui/EveEllipseSet.js +44 -2
- package/dist/eve/ui/EveEllipseSet.js.map +1 -1
- package/dist/eve/ui/EveSpherePin.js +159 -0
- package/dist/eve/ui/EveSpherePin.js.map +1 -0
- package/dist/eve/ui/EveSprite2dBracket.js +9 -4
- package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
- package/dist/eve/ui/EveUiObject.js +12 -1
- package/dist/eve/ui/EveUiObject.js.map +1 -1
- package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +71 -10
- package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
- package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
- package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
- package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +24 -4
- package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
- package/dist/eve/virtualCamera/EveVirtualCamera.js +158 -6
- package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +67 -2
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +18 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +21 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +18 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +30 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +16 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +42 -4
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +19 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +20 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +22 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +22 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +13 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +16 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +18 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +23 -3
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +38 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +38 -2
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +12 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +39 -2
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
- package/dist/eve/volume/EveBoxVolume.js +63 -4
- package/dist/eve/volume/EveBoxVolume.js.map +1 -1
- package/dist/eve/volume/EveEllipsoidVolume.js +58 -4
- package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
- package/dist/eve/volume/EveSphereVolume.js +37 -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/child/EveChildCloud.js +5 -5
- package/dist/generated/eve/child/EveChildCloud.js.map +1 -1
- package/dist/generated/eve/child/EveChildCloud2.js +759 -48
- package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/generated/eve/child/EveChildExplosion.js +4 -4
- package/dist/generated/eve/child/EveChildExplosion.js.map +1 -1
- package/dist/generated/eve/child/EveChildInstanceContainer.js +1 -1
- 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/EveChildParticleSphere.js +3 -3
- package/dist/generated/eve/child/EveChildParticleSphere.js.map +1 -1
- package/dist/generated/eve/child/EveChildParticleSystem.js +16 -10
- package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/generated/eve/child/EveChildPlug.js +1 -1
- package/dist/generated/eve/child/EveChildPlug.js.map +1 -1
- package/dist/generated/eve/child/EveChildPostProcessVolume.js +4 -4
- 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 +1 -1
- package/dist/generated/eve/child/EveChildRef.js.map +1 -1
- package/dist/generated/eve/child/EveChildSocket.js +2 -2
- package/dist/generated/eve/child/EveChildSocket.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 +18 -21
- package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js +7 -7
- 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/DroneAvoidance.js +3 -3
- package/dist/generated/eve/child/behaviors/DroneAvoidance.js.map +1 -1
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +29 -32
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
- package/dist/generated/eve/child/behaviors/FollowASpline.js +16 -20
- 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/Inertia.js +4 -4
- package/dist/generated/eve/child/behaviors/Inertia.js.map +1 -1
- package/dist/generated/eve/child/behaviors/PlayFX.js +16 -16
- package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js +4 -4
- 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/index.js +0 -6
- package/dist/generated/eve/child/behaviors/index.js.map +1 -1
- package/dist/generated/eve/child/index.js +0 -23
- package/dist/generated/eve/child/index.js.map +1 -1
- package/dist/generated/eve/child/lineSetPaths/EveLineChildContainer.js +1 -1
- package/dist/generated/eve/child/lineSetPaths/EveLineChildContainer.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/effect/index.js +0 -3
- package/dist/generated/eve/effect/index.js.map +1 -1
- package/dist/generated/eve/index.js +0 -88
- package/dist/generated/eve/index.js.map +1 -1
- package/dist/generated/eve/lights/Tr2FactionLight.js +4 -4
- package/dist/generated/eve/lights/Tr2FactionLight.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/EveSpaceSceneRenderDriver.js +3 -3
- package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
- package/dist/generated/eve/scene/index.js +0 -6
- package/dist/generated/eve/scene/index.js.map +1 -1
- package/dist/generated/eve/smartLights/EveChildSmartLightSet.js +2 -2
- 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 +23 -23
- 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 +6 -6
- 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/index.js +0 -8
- package/dist/generated/eve/smartLights/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/index.js +0 -4
- package/dist/generated/eve/spaceObject/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +194 -173
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
- package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
- package/dist/generated/eve/ui/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/EveProjectBracket.js +4 -4
- package/dist/generated/eve/ui/EveProjectBracket.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/index.js +0 -4
- package/dist/generated/eve/ui/index.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 +0 -93
- package/dist/generated/index.js.map +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/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/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/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/index.js +0 -5
- package/dist/generated/trinityCore/index.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 +131 -152
- package/dist/index.js.map +1 -1
- package/dist/particle/Tr2GpuSharedEmitter.js +43 -4
- package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/particle/Tr2GpuUniqueEmitter.js +7 -2
- package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
- package/dist/particle/Tr2ParticleAttractorForce.js +13 -3
- package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDirectForce.js +10 -3
- package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDragForce.js +10 -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 +7 -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 +13 -3
- package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleSpring.js +13 -3
- package/dist/particle/Tr2ParticleSpring.js.map +1 -1
- package/dist/particle/Tr2ParticleVortexForce.js +13 -3
- package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
- package/dist/particle/particleElementBinding.js +12 -0
- package/dist/particle/particleElementBinding.js.map +1 -1
- package/dist/postProcess/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 +8 -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 +17 -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 +8 -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 +11 -1
- package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTonemappingEffect.js +6 -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 +7 -2
- package/dist/postProcess/Tr2PostProcess.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess2.js +149 -2
- package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
- package/dist/postProcess/Tr2PostProcessAttributes.js +94 -5
- package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
- package/dist/renderJob/Tr2RenderJobs.js +36 -2
- package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
- package/dist/renderJob/TriRenderJob.js +61 -2
- package/dist/renderJob/TriRenderJob.js.map +1 -1
- package/dist/renderJob/TriRenderStep.js +22 -2
- package/dist/renderJob/TriRenderStep.js.map +1 -1
- package/dist/renderJob/TriStepClear.js +20 -2
- package/dist/renderJob/TriStepClear.js.map +1 -1
- package/dist/renderJob/TriStepCopyRenderTarget.js +52 -1
- package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepEnableWireframeMode.js +10 -1
- package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
- package/dist/renderJob/TriStepGenerateMipMaps.js +10 -1
- package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
- package/dist/renderJob/TriStepPopDepthStencil.js +7 -1
- package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPopProjection.js +7 -1
- package/dist/renderJob/TriStepPopProjection.js.map +1 -1
- package/dist/renderJob/TriStepPopRenderTarget.js +13 -1
- package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPopViewTransform.js +7 -1
- package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPopViewport.js +7 -1
- package/dist/renderJob/TriStepPopViewport.js.map +1 -1
- package/dist/renderJob/TriStepPresentSwapChain.js +13 -1
- package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
- package/dist/renderJob/TriStepPushDepthStencil.js +18 -1
- package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPushProjection.js +7 -1
- package/dist/renderJob/TriStepPushProjection.js.map +1 -1
- package/dist/renderJob/TriStepPushRenderTarget.js +10 -1
- package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPushViewTransform.js +7 -1
- package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPushViewport.js +7 -1
- package/dist/renderJob/TriStepPushViewport.js.map +1 -1
- package/dist/renderJob/TriStepRemoteSync.js +18 -1
- package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
- package/dist/renderJob/TriStepResolve.js +14 -1
- package/dist/renderJob/TriStepResolve.js.map +1 -1
- package/dist/renderJob/TriStepRunJob.js +13 -1
- package/dist/renderJob/TriStepRunJob.js.map +1 -1
- package/dist/renderJob/TriStepSetDepthStencil.js +13 -1
- package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepSetProjection.js +15 -1
- package/dist/renderJob/TriStepSetProjection.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderState.js +22 -2
- package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderTarget.js +13 -1
- package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepSetStdRndStates.js +19 -1
- package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
- package/dist/renderJob/TriStepSetView.js +30 -3
- package/dist/renderJob/TriStepSetView.js.map +1 -1
- package/dist/renderJob/TriStepSetViewport.js +18 -1
- package/dist/renderJob/TriStepSetViewport.js.map +1 -1
- package/dist/renderJob/TriStepSetVisualizationMode.js +20 -1
- package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
- package/dist/shader/Tr2Effect.js +219 -4
- package/dist/shader/Tr2Effect.js.map +1 -1
- package/dist/shader/Tr2Material.js +43 -2
- package/dist/shader/Tr2Material.js.map +1 -1
- package/dist/shader/index.js +1 -11
- package/dist/shader/index.js.map +1 -1
- package/dist/shader/material/Tr2EffectLibraryParameters.js +9 -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 +25 -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 +17 -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 +95 -1
- package/dist/shader/parameter/CjsParameter.js.map +1 -1
- package/dist/shader/parameter/CjsVectorParameter.js +20 -0
- package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2ConstantEffectParameter.js +2 -2
- package/dist/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2FloatParameter.js +54 -1
- package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js +41 -2
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Matrix4Parameter.js +56 -2
- package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +55 -1
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js +36 -1
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector2Parameter.js +89 -3
- package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector3Parameter.js +98 -3
- package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector4Parameter.js +108 -3
- package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
- package/dist/shader/parameter/TriFloatArrayParameter.js +27 -1
- package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
- package/dist/shader/parameter/TriTextureParameter.js +86 -2
- package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
- package/dist/shader/parameter/TriTransformParameter.js +29 -6
- package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
- package/dist/shader/parameter/TriVariableParameter.js +40 -2
- package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
- package/dist/shader/parameter/TriVector4.js +5 -3
- package/dist/shader/parameter/TriVector4.js.map +1 -1
- package/dist/shader/reflection/Tr2ShaderOption.js +8 -3
- 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/support/CjsVariableStore.js +140 -0
- package/dist/shader/support/CjsVariableStore.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 +17 -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 +67 -1
- package/dist/trinityCore/CjsBatchManager.js.map +1 -1
- package/dist/trinityCore/GrannyBoneOffset.js +56 -5
- package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
- package/dist/trinityCore/ITriRenderBatchAccumulator.js +90 -2
- package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/Tr2DepthStencil.js +3 -3
- package/dist/trinityCore/Tr2DepthStencil.js.map +1 -1
- package/dist/trinityCore/Tr2DirectInstanceData.js +22 -3
- package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2ExpressionTermInfo.js +23 -2
- package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
- package/dist/trinityCore/Tr2GpuBuffer.js +8 -3
- package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
- package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +143 -14
- package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
- package/dist/trinityCore/Tr2InstancedMesh.js +54 -2
- package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
- package/dist/trinityCore/Tr2MaterialParameterStore.js +7 -2
- package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
- package/dist/trinityCore/Tr2Mesh.js +38 -1
- package/dist/trinityCore/Tr2Mesh.js.map +1 -1
- package/dist/trinityCore/Tr2MeshArea.js +80 -2
- package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
- package/dist/trinityCore/Tr2MeshBase.js +101 -5
- package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
- package/dist/trinityCore/Tr2PerObjectData.js +10 -0
- package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
- package/dist/trinityCore/Tr2PickType.js +33 -0
- package/dist/trinityCore/Tr2PickType.js.map +1 -0
- package/dist/trinityCore/Tr2PrimaryRenderContext.js +2 -2
- package/dist/trinityCore/Tr2PrimaryRenderContext.js.map +1 -1
- package/dist/trinityCore/Tr2RenderBatch.js +139 -2
- package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
- package/dist/trinityCore/Tr2RenderContext.js +275 -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 +182 -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/Tr2ShLightingManager.js +397 -0
- package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
- package/dist/trinityCore/Tr2SwapChain.js +2 -2
- package/dist/trinityCore/Tr2SwapChain.js.map +1 -1
- package/dist/trinityCore/Tr2VariableStore.js +28 -2
- package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
- package/dist/trinityCore/Tr2VisibilityResults.js +9 -4
- package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
- package/dist/trinityCore/TriDevice.js +8 -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 +24 -17
- package/dist/trinityCore/TriFrustum.js.map +1 -1
- package/dist/trinityCore/TriFrustumOrtho.js +2 -2
- package/dist/trinityCore/TriFrustumOrtho.js.map +1 -1
- package/dist/trinityCore/TriObserverLocal.js +46 -3
- package/dist/trinityCore/TriObserverLocal.js.map +1 -1
- package/dist/trinityCore/TriProjection.js +88 -34
- package/dist/trinityCore/TriProjection.js.map +1 -1
- package/dist/trinityCore/TriRect.js +14 -2
- package/dist/trinityCore/TriRect.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchAccumulator.js +48 -2
- package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchMap.js +47 -1
- package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
- package/dist/trinityCore/TriSettings.js +40 -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 +32 -2
- package/dist/trinityCore/TriVariable.js.map +1 -1
- package/dist/trinityCore/TriView.js +19 -4
- package/dist/trinityCore/TriView.js.map +1 -1
- package/dist/trinityCore/TriViewport.js +14 -2
- package/dist/trinityCore/TriViewport.js.map +1 -1
- package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +4 -4
- package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
- package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
- package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
- package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
- package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
- package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +31 -7
- package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
- package/dist/trinityCore/binding/TriValueBinding.js +648 -0
- package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
- package/dist/trinityCore/index.js +11 -2
- package/dist/trinityCore/index.js.map +1 -1
- package/dist/trinityCore/pickRay.js +84 -0
- package/dist/trinityCore/pickRay.js.map +1 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +931 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
- package/dist/trinityCore/rawData/RawData.js +434 -0
- package/dist/trinityCore/rawData/RawData.js.map +1 -0
- package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
- package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
- package/dist/ui/Tr2PresentParameters.js +2 -2
- package/dist/ui/Tr2PresentParameters.js.map +1 -1
- package/dist/utilities/Range.js +55 -2
- package/dist/utilities/Range.js.map +1 -1
- package/docs/README.md +88 -0
- package/docs/architecture.md +162 -0
- package/docs/concepts/eve-runtime-behavior.md +86 -0
- package/docs/concepts/generated-class-lifecycle.md +116 -0
- package/docs/reference/api.md +76 -0
- package/docs/reference/classes/eve-runtime.md +106 -0
- package/docs/reference/classes/trinity-core.md +26 -0
- package/docs/reference/implementation-status.md +104 -0
- package/docs/reference/main-semantic-extraction.md +104 -0
- package/package.json +33 -26
- package/dist/eve/DecalVSPerObjectData.js +0 -34
- package/dist/eve/DecalVSPerObjectData.js.map +0 -1
- package/dist/eve/EveBannerItem.js +0 -43
- package/dist/eve/EveBannerItem.js.map +0 -1
- package/dist/eve/EveBannerLight.js.map +0 -1
- package/dist/eve/EveBannerSet.js +0 -109
- package/dist/eve/EveBannerSet.js.map +0 -1
- package/dist/eve/EveBasicPerObjectData.js +0 -31
- package/dist/eve/EveBasicPerObjectData.js.map +0 -1
- package/dist/eve/EveBoosterSet2.js.map +0 -1
- package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
- package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
- package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
- package/dist/eve/EveHazeSet.js +0 -72
- package/dist/eve/EveHazeSet.js.map +0 -1
- package/dist/eve/EveHazeSetLight.js.map +0 -1
- package/dist/eve/EveLocator2.js.map +0 -1
- package/dist/eve/EveLocatorSets.js.map +0 -1
- package/dist/eve/EveParticleDirectForce.js.map +0 -1
- package/dist/eve/EveParticleDragForce.js.map +0 -1
- package/dist/eve/EveParticleSpring.js.map +0 -1
- package/dist/eve/EvePerObjectPSData.js +0 -29
- package/dist/eve/EvePerObjectPSData.js.map +0 -1
- package/dist/eve/EvePerObjectVSData.js +0 -29
- package/dist/eve/EvePerObjectVSData.js.map +0 -1
- package/dist/eve/EvePlaneLight.js.map +0 -1
- package/dist/eve/EvePlaneSet.js +0 -104
- package/dist/eve/EvePlaneSet.js.map +0 -1
- package/dist/eve/EvePlaneSetItem.js +0 -45
- package/dist/eve/EvePlaneSetItem.js.map +0 -1
- package/dist/eve/EveSpaceObjectDecal.js +0 -150
- package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
- package/dist/eve/EveSpaceObjectPSData.js +0 -73
- package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
- package/dist/eve/EveSpaceObjectVSData.js +0 -79
- package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
- package/dist/eve/EveSpacePerObjectData.js +0 -97
- package/dist/eve/EveSpacePerObjectData.js.map +0 -1
- package/dist/eve/EveSpherePinPerObjectData.js +0 -37
- package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
- package/dist/eve/EveSpotlightLight.js.map +0 -1
- package/dist/eve/EveSpotlightSet.js +0 -98
- package/dist/eve/EveSpotlightSet.js.map +0 -1
- package/dist/eve/EveSpriteLight.js.map +0 -1
- package/dist/eve/EveSpriteLineSet.js +0 -74
- package/dist/eve/EveSpriteLineSet.js.map +0 -1
- package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
- package/dist/eve/EveSpriteSet.js +0 -115
- package/dist/eve/EveSpriteSet.js.map +0 -1
- package/dist/eve/EveTrailsSet.js.map +0 -1
- package/dist/eve/Locator.js.map +0 -1
- package/dist/eve/LocatorData.js.map +0 -1
- package/dist/eve/ProcessLifetimeData.js.map +0 -1
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
- package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
- package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
- package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
- package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
- package/dist/generated/eve/EveCamera.js +0 -264
- package/dist/generated/eve/EveCamera.js.map +0 -1
- package/dist/generated/eve/EveEntity.js +0 -81
- package/dist/generated/eve/EveEntity.js.map +0 -1
- package/dist/generated/eve/attachment/decal/index.js +0 -2
- package/dist/generated/eve/attachment/decal/index.js.map +0 -1
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/haze/index.js +0 -2
- package/dist/generated/eve/attachment/haze/index.js.map +0 -1
- package/dist/generated/eve/attachment/index.js +0 -5
- package/dist/generated/eve/attachment/index.js.map +0 -1
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/spotlights/index.js +0 -2
- package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
- package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/sprites/index.js +0 -2
- package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/enums.js +0 -32
- package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/index.js +0 -2
- package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
- package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
- package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
- package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
- package/dist/generated/eve/child/EveChildLink.js.map +0 -1
- package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
- package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
- package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
- package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
- package/dist/generated/eve/child/behaviors/Wander.js +0 -92
- package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
- package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
- package/dist/generated/eve/child/modifiers/index.js +0 -5
- package/dist/generated/eve/child/modifiers/index.js.map +0 -1
- package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
- package/dist/generated/eve/child/procedural/index.js +0 -10
- package/dist/generated/eve/child/procedural/index.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/index.js +0 -9
- package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
- package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
- package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
- package/dist/generated/eve/distribution/index.js +0 -19
- package/dist/generated/eve/distribution/index.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
- package/dist/generated/eve/distribution/placement/index.js +0 -4
- package/dist/generated/eve/distribution/placement/index.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
- package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/index.js +0 -7
- package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
- package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
- package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
- package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
- package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
- package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
- package/dist/generated/eve/fxAttributes/index.js +0 -3
- package/dist/generated/eve/fxAttributes/index.js.map +0 -1
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
- package/dist/generated/eve/overlays/index.js +0 -2
- package/dist/generated/eve/overlays/index.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/index.js +0 -5
- package/dist/generated/eve/perObjectData/index.js.map +0 -1
- package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
- package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
- package/dist/generated/eve/scene/EvePickingContext.js +0 -43
- package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
- package/dist/generated/eve/scene/EveSceneStaticParticles.js +0 -173
- package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
- package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
- package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
- package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
- package/dist/generated/eve/socket/index.js +0 -10
- package/dist/generated/eve/socket/index.js.map +0 -1
- package/dist/generated/eve/spaceObject/EvePlanet.js +0 -47
- package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
- package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js +0 -129
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
- package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
- package/dist/generated/eve/ui/EveSpherePin.js +0 -94
- package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
- package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
- package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
- package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
- package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
- package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
- package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
- package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
- package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
- package/dist/generated/trinityCore/TriValueBinding.js +0 -249
- package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
- package/dist/shader/Tr2Shader.js +0 -150
- package/dist/shader/Tr2Shader.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
- package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
- package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
- package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
- package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectResource.js +0 -63
- package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
- package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
- package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
- package/dist/shader/reflection/Tr2Pass.js +0 -46
- package/dist/shader/reflection/Tr2Pass.js.map +0 -1
- package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
- package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
- package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
- package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
- /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
- /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
|
@@ -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\r\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/FollowASpline.h\r\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/FollowASpline.cpp\r\n// Generated by format-carbon carbon-class --emit. Verify against eve/child/behaviors/FollowASpline.json.\r\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { TunnelGroupType } from \"../../../../eve/child/behaviors/enums.js\";\r\n\r\n// Module scratch for the per-agent loop (behavior updates run sequentially).\r\nconst DIST = vec3.create();\r\nconst TARGET_VECTOR = vec3.create();\r\nconst VECTOR_BETWEEN = vec3.create();\r\nconst VECTOR_PROJ = vec3.create();\r\nconst OFFSET = vec3.create();\r\nconst TARGET_NORMALIZED = vec3.create();\r\nconst BLEND_VECTOR = vec3.create();\r\nconst DESIRED_NORMALIZED = vec3.create();\r\nconst PULL_FORCE = vec3.create();\r\nconst FORCE_OFFSET = vec3.create();\r\nconst NO_FORCES = [];\r\n\r\n/** FollowASpline (eve/child/behaviors) - generated from schema shapeHash b9e40b05.... */\r\n@type.define({ className: \"FollowASpline\", family: \"eve/child/behaviors\" })\r\nexport class FollowASpline extends CjsModel\r\n{\r\n\r\n /** Flattened CPU tunnel references used by the behavior system. */\r\n @type.list(\"SplineTunnel\")\r\n privateTunnels = [];\r\n\r\n @type.boolean\r\n shouldReassignTunnelIDs = true;\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n behaviorPriority = 0;\r\n\r\n /** m_tunnelGroupType (TunnelGroupType - enum TunnelGroupType) [READWRITE, PERSIST, ENUM] */\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"TunnelGroupType\")\r\n tunnelGroupType = 2;\r\n\r\n /** m_splineTunnels (PSplineTunnelGroupVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"SplineTunnelGroup\")\r\n splineTunnels = [];\r\n\r\n /** m_smoothPullFactor (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n smoothPullFactor = 0.8;\r\n\r\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n behaviorWeight = 600;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n /** m_cornerSmoothener (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n cornerSmoothener = 0.8;\r\n\r\n // Carbon m_frameCounter/m_framesBetweenUpdates/m_lastPullForces/\r\n // m_targetPointVector/m_desiredVector runtime state.\r\n #frameCounter = 0;\r\n\r\n #framesBetweenUpdates = 11;\r\n\r\n #lastPullForces = [];\r\n\r\n #targetPointVector = [];\r\n\r\n #desiredVector = vec3.create();\r\n\r\n #returnForces = [];\r\n\r\n /** Carbon FollowASpline::GetProcessPriority (cpp:32-35). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /** Carbon FollowASpline::OnModified (cpp:26-30). */\r\n @carbon.method\r\n @impl.implemented\r\n OnModified(_value = null)\r\n {\r\n this.remapTunnels();\r\n return true;\r\n }\r\n\r\n /** Per-agent scratch record count (Carbon sizeof(FollowASplineData)). */\r\n @carbon.method\r\n @impl.adapted\r\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'.\")\r\n GetScratchMemorySize()\r\n {\r\n return 1;\r\n }\r\n\r\n /** Fresh per-agent scratch record (Carbon FollowASplineData placement init). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\r\n InitializeScratch()\r\n {\r\n return {\r\n tunnelLock: -1,\r\n tunnelPoint: 0\r\n };\r\n }\r\n\r\n /**\r\n * Pulls unassigned agents into tunnel entrances, steers locked agents along\r\n * their tunnel points, and replays cached pull forces on skip frames\r\n * (Carbon CalculateBehavior, cpp:201-293).\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array} scratchData - per-agent FollowASplineData records\r\n * @param {Number} _deltaTime\r\n * @param {Object} group - owning BehaviorGroup\r\n * @param {Object} system - owning EveChildBehaviorSystem\r\n * @param {Array} _dronesInSearchRadius - unused\r\n * @returns {Array} debug force pairs when group.collectForces is on\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Debug force pairs are only collected when group.collectForces is set, keeping the per-agent loop allocation-free.\")\r\n CalculateBehavior(agents, scratchData, _deltaTime, group, system, _dronesInSearchRadius)\r\n {\r\n if (!this.enabled)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n if (this.#frameCounter >= this.#framesBetweenUpdates)\r\n {\r\n this.#frameCounter = 0;\r\n }\r\n else\r\n {\r\n this.#frameCounter++;\r\n }\r\n\r\n const forceVectors = this.#returnForces;\r\n forceVectors.length = 0;\r\n\r\n if (this.#frameCounter === 0)\r\n {\r\n if (this.shouldReassignTunnelIDs)\r\n {\r\n // JS has no Blue list notify, so the local tunnel list refreshes here\r\n // before the system tunnels are prepended (Carbon relies on\r\n // OnListModified having filled m_privateTunnels already).\r\n this.remapTunnels();\r\n this.#ReassignTunnelIDsAndAddSystemTunnels(system);\r\n group.InitializeGeometryResource(); // reset all agents\r\n return forceVectors;\r\n }\r\n\r\n this.#targetPointVector.length = 0;\r\n\r\n let pullCount = 0;\r\n for (let c = 0; c < agents.length; c++)\r\n {\r\n const drone = agents[c];\r\n const data = scratchData?.[c];\r\n if (!data)\r\n {\r\n continue;\r\n }\r\n\r\n vec3.set(this.#desiredVector, 0, 0, 0);\r\n let rampingForce = 1;\r\n\r\n if (data.tunnelLock === -1)\r\n {\r\n rampingForce = this.#ProcessTunnelEntrances(drone, this.privateTunnels, data);\r\n }\r\n\r\n // tunnelLock can change in ProcessTunnelEntrances so if->else is not\r\n // equivalent\r\n if (data.tunnelLock !== -1)\r\n {\r\n if (this.#ProcessAssignedTunnel(drone, this.privateTunnels, group, data))\r\n {\r\n // If process returns true we update all the drones as a unit and\r\n // skip if they are in a Formation\r\n if (this.#CheckForAndUpdateFormation(agents, group, scratchData, data.tunnelLock, data.tunnelPoint))\r\n {\r\n // all drones have been updated so we break\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const pullForce = this.#PullForceAt(pullCount);\r\n pullCount++;\r\n\r\n if (vec3.squaredLength(this.#desiredVector) === 0)\r\n {\r\n vec3.set(pullForce, 0, 0, 0);\r\n continue;\r\n }\r\n\r\n vec3.normalize(PULL_FORCE, this.#desiredVector);\r\n if (group.collectForces)\r\n {\r\n vec3.scale(FORCE_OFFSET, PULL_FORCE, group.GetBoundingSphereRadius());\r\n forceVectors.push(vec3.add(vec3.create(), drone.position, FORCE_OFFSET));\r\n }\r\n vec3.scale(PULL_FORCE, PULL_FORCE, this.behaviorWeight * rampingForce);\r\n if (group.collectForces)\r\n {\r\n forceVectors.push(vec3.clone(PULL_FORCE));\r\n }\r\n vec3.add(drone.acceleration, drone.acceleration, PULL_FORCE);\r\n vec3.copy(pullForce, PULL_FORCE);\r\n }\r\n this.#lastPullForces.length = pullCount;\r\n }\r\n else\r\n {\r\n if (this.#lastPullForces.length === 0)\r\n {\r\n return forceVectors;\r\n }\r\n let c = 0;\r\n for (const agent of agents)\r\n {\r\n if (c >= this.#lastPullForces.length)\r\n {\r\n break;\r\n }\r\n const pullForce = this.#lastPullForces[c];\r\n vec3.add(agent.acceleration, agent.acceleration, pullForce);\r\n\r\n if (group.collectForces && vec3.squaredLength(pullForce) > 0)\r\n {\r\n vec3.normalize(FORCE_OFFSET, pullForce);\r\n vec3.scale(FORCE_OFFSET, FORCE_OFFSET, group.GetBoundingSphereRadius());\r\n forceVectors.push(vec3.add(vec3.create(), agent.position, FORCE_OFFSET));\r\n forceVectors.push(vec3.clone(pullForce));\r\n }\r\n c++;\r\n }\r\n }\r\n return forceVectors;\r\n }\r\n\r\n /** Carbon method remapTunnels -> UpdateTunnelRegistry (cpp:319-335). */\r\n @carbon.method\r\n @impl.adapted\r\n remapTunnels()\r\n {\r\n this.privateTunnels.length = 0;\r\n for (const group of this.splineTunnels)\r\n {\r\n const tunnels = group?.GetTunnels?.() ?? group?.tunnels;\r\n if (Array.isArray(tunnels))\r\n {\r\n this.privateTunnels.push(...tunnels);\r\n }\r\n }\r\n this.shouldReassignTunnelIDs = true;\r\n return this.privateTunnels;\r\n }\r\n\r\n // Prepends the system-wide tunnels and reassigns sequential IDs (Carbon\r\n // ReassignTunnelIDsAndAddSystemTunnels, cpp:337-370).\r\n #ReassignTunnelIDsAndAddSystemTunnels(system)\r\n {\r\n const tunnels = system.GetTunnels?.() ?? [];\r\n\r\n for (const tunnel of tunnels)\r\n {\r\n this.privateTunnels.unshift(tunnel);\r\n }\r\n\r\n let id = 0;\r\n\r\n if (tunnels.length !== 0)\r\n {\r\n id = tunnels[tunnels.length - 1].tunnelID;\r\n }\r\n\r\n if (this.privateTunnels.length === 0)\r\n {\r\n this.shouldReassignTunnelIDs = false;\r\n return;\r\n }\r\n\r\n for (const tunnel of this.privateTunnels)\r\n {\r\n tunnel.tunnelID = id;\r\n id++;\r\n }\r\n\r\n this.shouldReassignTunnelIDs = false;\r\n }\r\n\r\n // Pull-in test against the tunnel entrance spheres (Carbon\r\n // ProcessTunnelEntrances, cpp:70-104). Returns the ramping force and may\r\n // lock the agent to a tunnel; mutates this.#desiredVector.\r\n #ProcessTunnelEntrances(agent, tunnels, data)\r\n {\r\n // not associated with a tunnel\r\n for (const tunnel of tunnels)\r\n {\r\n if (tunnel.tunnelGroupType !== TunnelGroupType.OTHER_TUNNELS)\r\n {\r\n return 0;\r\n }\r\n\r\n if (tunnel.splinePoints.length === 0)\r\n {\r\n continue;\r\n }\r\n\r\n vec3.subtract(DIST, tunnel.splinePoints[0].pos, agent.position);\r\n const length = vec3.length(DIST);\r\n if (length < tunnel.pointOfNoReturnSize)\r\n {\r\n data.tunnelLock = tunnel.tunnelID;\r\n data.tunnelPoint = 0;\r\n }\r\n else if (length < tunnel.pullSize)\r\n {\r\n if (tunnel.pullSize === tunnel.pointOfNoReturnSize)\r\n {\r\n continue;\r\n }\r\n\r\n // normalize the distance between outer and inner spheres to increase\r\n // pull-strength\r\n let mod = (length - tunnel.pointOfNoReturnSize) / (tunnel.pullSize - tunnel.pointOfNoReturnSize);\r\n mod = 1 - Math.max(0, Math.min(mod, 1));\r\n vec3.copy(this.#desiredVector, DIST);\r\n return Math.min(1, Math.max(0, 1 - this.smoothPullFactor + this.smoothPullFactor * mod));\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n // Steers a locked agent along its tunnel (Carbon ProcessAssignedTunnel,\r\n // cpp:107-189). Returns true when the tunnel state advanced; mutates the\r\n // scratch record and this.#desiredVector.\r\n #ProcessAssignedTunnel(agent, tunnels, group, data)\r\n {\r\n if (data.tunnelLock > tunnels.length)\r\n {\r\n return false;\r\n }\r\n\r\n const tunnel = tunnels[data.tunnelLock];\r\n const points = tunnel?.splinePoints;\r\n if (!points || points.length === 0)\r\n {\r\n return false;\r\n }\r\n\r\n const pointID = data.tunnelPoint;\r\n const point = points[pointID];\r\n if (!point)\r\n {\r\n return false;\r\n }\r\n\r\n vec3.subtract(TARGET_VECTOR, point.pos, agent.position);\r\n\r\n // Carbon compares against *begin()/*end() by value; the intent is the\r\n // first/last spline point.\r\n if (pointID === 0)\r\n {\r\n vec3.copy(VECTOR_BETWEEN, point.rot);\r\n }\r\n else\r\n {\r\n vec3.copy(VECTOR_BETWEEN, points[pointID - 1].rot);\r\n }\r\n\r\n const lengthBetweenPoints = vec3.length(VECTOR_BETWEEN);\r\n\r\n if (lengthBetweenPoints !== 0)\r\n {\r\n // an offset is added to the target point so they don't all follow the\r\n // same line\r\n const dotProd = vec3.dot(TARGET_VECTOR, VECTOR_BETWEEN);\r\n vec3.scale(VECTOR_PROJ, VECTOR_BETWEEN, dotProd / (lengthBetweenPoints * lengthBetweenPoints));\r\n vec3.subtract(OFFSET, VECTOR_PROJ, TARGET_VECTOR);\r\n vec3.normalize(OFFSET, OFFSET);\r\n vec3.scaleAndAdd(TARGET_VECTOR, TARGET_VECTOR, OFFSET, tunnel.cylWidth / 2);\r\n }\r\n\r\n // Carbon records every target point for debug rendering; the JS port only\r\n // collects them in debug (collectForces) mode to keep the loop\r\n // allocation-free.\r\n if (group.collectForces)\r\n {\r\n this.#targetPointVector.push(vec3.add(vec3.create(), TARGET_VECTOR, agent.position));\r\n }\r\n\r\n if (pointID === points.length - 1)\r\n {\r\n vec3.copy(this.#desiredVector, point.rot);\r\n\r\n // the Dot product is positive if the agent is facing the target point\r\n if (vec3.dot(TARGET_VECTOR, agent.rotation) < 0)\r\n {\r\n data.tunnelLock = -1;\r\n data.tunnelPoint = 0;\r\n return true;\r\n }\r\n }\r\n else\r\n {\r\n const lengthFromShip = vec3.length(TARGET_VECTOR);\r\n\r\n let blendingMod = 0;\r\n\r\n if (lengthBetweenPoints !== 0)\r\n {\r\n blendingMod = Math.min(1, Math.max(0, (lengthBetweenPoints - lengthFromShip) / lengthBetweenPoints));\r\n blendingMod = blendingMod * blendingMod;\r\n }\r\n this.cornerSmoothener = Math.min(1, Math.max(0, this.cornerSmoothener));\r\n vec3.normalize(TARGET_NORMALIZED, TARGET_VECTOR);\r\n vec3.add(BLEND_VECTOR, point.rot, TARGET_VECTOR);\r\n vec3.normalize(BLEND_VECTOR, BLEND_VECTOR);\r\n vec3.scale(this.#desiredVector, TARGET_NORMALIZED, this.cornerSmoothener * (1 - blendingMod));\r\n vec3.scaleAndAdd(this.#desiredVector, this.#desiredVector, BLEND_VECTOR, (1 - this.cornerSmoothener) * blendingMod);\r\n vec3.normalize(DESIRED_NORMALIZED, this.#desiredVector);\r\n if (vec3.dot(TARGET_NORMALIZED, DESIRED_NORMALIZED) < this.cornerSmoothener)\r\n {\r\n vec3.copy(this.#desiredVector, TARGET_VECTOR);\r\n }\r\n\r\n if ((lengthFromShip - group.GetBoundingSphereRadius()) < tunnel.cylWidth / 1.5)\r\n {\r\n data.tunnelPoint++;\r\n return true;\r\n }\r\n\r\n // rework into cylinder collision\r\n if (lengthFromShip > (group.GetBoundingSphereRadius() + lengthBetweenPoints * 1.5) &&\r\n vec3.dot(TARGET_VECTOR, VECTOR_BETWEEN) < 0)\r\n {\r\n data.tunnelLock = -1;\r\n data.tunnelPoint = 0;\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n // When the group is in Formation, locks every drone to the same tunnel\r\n // point so they advance as a unit (Carbon CheckForAndUpdateFormation,\r\n // cpp:295-317).\r\n #CheckForAndUpdateFormation(agents, group, scratchData, tunnel, tunnelPoint)\r\n {\r\n const formation = group.GetBehaviorByName(\"Formation\");\r\n\r\n if (formation && formation.InFormation?.())\r\n {\r\n for (let c = 0; c < agents.length; c++)\r\n {\r\n const data = scratchData?.[c];\r\n if (data)\r\n {\r\n data.tunnelLock = tunnel;\r\n data.tunnelPoint = tunnelPoint;\r\n }\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n // Reuses (or grows) the cached pull-force slot for one agent index.\r\n #PullForceAt(index)\r\n {\r\n let force = this.#lastPullForces[index];\r\n if (!force)\r\n {\r\n force = vec3.create();\r\n this.#lastPullForces[index] = force;\r\n }\r\n return force;\r\n }\r\n\r\n static TunnelGroupType = TunnelGroupType;\r\n\r\n}\r\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","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,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/
|
|
3
|
-
import { EveEntity as _EveEntity } from '
|
|
4
|
-
import { vec3 } from '@carbonenginejs/
|
|
2
|
+
import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
|
|
3
|
+
import { EveEntity as _EveEntity } from '../../../../eve/EveEntity.js';
|
|
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
|
|
|
@@ -74,17 +74,17 @@ class PlayFX extends _EveEntity {
|
|
|
74
74
|
this.#stop = !!state;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
/**
|
|
78
|
-
* Drives one cloned firing effect per agent: starts firing when the agent
|
|
79
|
-
* arrives (agent.playFX), aims it in world space, and stops it after m_sec
|
|
80
|
-
* seconds (Carbon CalculateBehavior, cpp:45-139).
|
|
81
|
-
* @param {Array} agents - DroneAgent records
|
|
82
|
-
* @param {Array} scratchData - per-agent PlayFXData records
|
|
83
|
-
* @param {Number} _deltaTime
|
|
84
|
-
* @param {Object} group - owning BehaviorGroup
|
|
85
|
-
* @param {Object} system - owning EveChildBehaviorSystem
|
|
86
|
-
* @param {Array} _dronesInSearchRadius - unused
|
|
87
|
-
* @returns {Array} empty (as Carbon)
|
|
77
|
+
/**
|
|
78
|
+
* Drives one cloned firing effect per agent: starts firing when the agent
|
|
79
|
+
* arrives (agent.playFX), aims it in world space, and stops it after m_sec
|
|
80
|
+
* seconds (Carbon CalculateBehavior, cpp:45-139).
|
|
81
|
+
* @param {Array} agents - DroneAgent records
|
|
82
|
+
* @param {Array} scratchData - per-agent PlayFXData records
|
|
83
|
+
* @param {Number} _deltaTime
|
|
84
|
+
* @param {Object} group - owning BehaviorGroup
|
|
85
|
+
* @param {Object} system - owning EveChildBehaviorSystem
|
|
86
|
+
* @param {Array} _dronesInSearchRadius - unused
|
|
87
|
+
* @returns {Array} empty (as Carbon)
|
|
88
88
|
*/
|
|
89
89
|
CalculateBehavior(agents, scratchData, _deltaTime, group, system, _dronesInSearchRadius) {
|
|
90
90
|
if (this.behaviorWeight <= 0 || !this.enabled) {
|
|
@@ -204,11 +204,11 @@ class PlayFX extends _EveEntity {
|
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
-
/** Carbon method RegisterWithQuadRenderer (cpp:239-245) - quad renderer
|
|
207
|
+
/** Carbon method RegisterWithQuadRenderer (cpp:239-245) - quad renderer
|
|
208
208
|
* registration seam; the firing effect elements own the real quads. */
|
|
209
209
|
RegisterWithQuadRenderer(_quadRenderer) {}
|
|
210
210
|
|
|
211
|
-
/** Carbon method AddQuadsToQuadRenderer (cpp:253-259) - quad renderer
|
|
211
|
+
/** Carbon method AddQuadsToQuadRenderer (cpp:253-259) - quad renderer
|
|
212
212
|
* submission seam; the firing effect elements own the real quads. */
|
|
213
213
|
AddQuadsToQuadRenderer(_frustum, _quadRenderer) {}
|
|
214
214
|
|
|
@@ -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\r\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/PlayFX.h\r\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/PlayFX.cpp\r\n// Generated by format-carbon carbon-class --emit. Verify against eve/child/behaviors/PlayFX.json.\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveEntity } from \"../../../../eve/EveEntity.js\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\n\r\n// Module scratch for the per-agent loop (behavior updates run sequentially).\r\nconst OFFSET_EFFECT = vec3.create();\r\nconst OFFSET_EFFECT_WS = vec3.create();\r\nconst AGENT_TARGET_WS = vec3.create();\r\nconst NO_FORCES = [];\r\n\r\n/** PlayFX (eve/child/behaviors) - generated from schema shapeHash 06aaa1da.... */\r\n@type.define({ className: \"PlayFX\", family: \"eve/child/behaviors\" })\r\nexport class PlayFX extends EveEntity\r\n{\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n behaviorPriority = 0;\r\n\r\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n behaviorWeight = 20;\r\n\r\n /** m_firingEffect (IEveFiringEffectElementPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"IEveFiringEffectElement\")\r\n firingEffect = null;\r\n\r\n /** m_firingEffects (PIEveFiringEffectElementVector) [READ] */\r\n @io.read\r\n @type.list(\"IEveFiringEffectElement\")\r\n generatedFiringEffects = [];\r\n\r\n /** m_sec (int32_t) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.int32\r\n sec = 1;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n // Carbon m_count/m_stop runtime state.\r\n #count = 0;\r\n\r\n #stop = false;\r\n\r\n /** Carbon PlayFX::GetProcessPriority (cpp:25-28). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /** Carbon PlayFX::GetBehaviorName (cpp:30-33). */\r\n @carbon.method\r\n @impl.implemented\r\n GetBehaviorName()\r\n {\r\n return \"PlayFX\";\r\n }\r\n\r\n /** Per-agent scratch record count (Carbon sizeof(PlayFXData)). */\r\n @carbon.method\r\n @impl.adapted\r\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'.\")\r\n GetScratchMemorySize()\r\n {\r\n return 1;\r\n }\r\n\r\n /** Fresh per-agent scratch record (Carbon PlayFXData placement init). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\r\n InitializeScratch()\r\n {\r\n return {\r\n effectPlaying: false,\r\n droneArrived: false,\r\n oldTarget: vec3.create()\r\n };\r\n }\r\n\r\n /** Carbon IBehavior::UpdateState override (h:55-58). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateState(state)\r\n {\r\n this.#stop = !!state;\r\n }\r\n\r\n /**\r\n * Drives one cloned firing effect per agent: starts firing when the agent\r\n * arrives (agent.playFX), aims it in world space, and stops it after m_sec\r\n * seconds (Carbon CalculateBehavior, cpp:45-139).\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array} scratchData - per-agent PlayFXData records\r\n * @param {Number} _deltaTime\r\n * @param {Object} group - owning BehaviorGroup\r\n * @param {Object} system - owning EveChildBehaviorSystem\r\n * @param {Array} _dronesInSearchRadius - unused\r\n * @returns {Array} empty (as Carbon)\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's Be::Time 100ns clock maps to Date.now seconds against agent.fxStartTime; the firing effect elements are duck-typed.\")\r\n CalculateBehavior(agents, scratchData, _deltaTime, group, system, _dronesInSearchRadius)\r\n {\r\n if (this.behaviorWeight <= 0 || !this.enabled)\r\n {\r\n for (const fx of this.generatedFiringEffects)\r\n {\r\n fx?.StopFiring?.();\r\n }\r\n return NO_FORCES;\r\n }\r\n\r\n if (this.firingEffect === null)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n // If the drone count is 0 the count is not updated so this is needed\r\n if (this.generatedFiringEffects.length === 0)\r\n {\r\n this.#count = 0;\r\n }\r\n\r\n if (this.#count !== agents.length)\r\n {\r\n this.#CheckCount(agents.length);\r\n }\r\n\r\n const worldTransform = system.GetWorldTransform();\r\n const limit = Math.min(agents.length, this.generatedFiringEffects.length);\r\n\r\n // This behavior activates when the drone has arrived near its locator\r\n for (let c = 0; c < limit; c++)\r\n {\r\n const agent = agents[c];\r\n const firingEffect = this.generatedFiringEffects[c];\r\n const data = scratchData?.[c];\r\n if (!data || !firingEffect)\r\n {\r\n continue;\r\n }\r\n\r\n if (this.#stop)\r\n {\r\n data.droneArrived = false;\r\n }\r\n\r\n // Make sure the effect isn't showing when loading everything up\r\n if (data.droneArrived === false)\r\n {\r\n firingEffect.SetDisplay?.(false);\r\n }\r\n\r\n // Drone has arrived at its target so play the effect\r\n if (agent.playFX && !data.effectPlaying)\r\n {\r\n if (data.droneArrived === false)\r\n {\r\n data.droneArrived = true;\r\n firingEffect.SetDisplay?.(true);\r\n }\r\n\r\n firingEffect.StartFiring?.(0);\r\n data.effectPlaying = true;\r\n }\r\n\r\n vec3.normalize(OFFSET_EFFECT, agent.targetDirection);\r\n vec3.scale(OFFSET_EFFECT, OFFSET_EFFECT, group.GetBoundingSphereRadius());\r\n vec3.add(OFFSET_EFFECT, OFFSET_EFFECT, agent.position);\r\n\r\n // Set the effect's pos to world space\r\n vec3.transformMat4(OFFSET_EFFECT_WS, OFFSET_EFFECT, worldTransform);\r\n\r\n // Without this the drone would start shooting at the new target because\r\n // of the cooldown of the effect\r\n if (vec3.squaredLength(data.oldTarget) !== 0)\r\n {\r\n firingEffect.SetFiringTransform?.(OFFSET_EFFECT_WS, data.oldTarget);\r\n }\r\n\r\n if (data.effectPlaying)\r\n {\r\n vec3.transformMat4(AGENT_TARGET_WS, agent.target, worldTransform);\r\n firingEffect.SetFiringTransform?.(OFFSET_EFFECT_WS, AGENT_TARGET_WS);\r\n\r\n const elapsed = Date.now() / 1000 - agent.fxStartTime;\r\n if (elapsed > this.sec)\r\n {\r\n firingEffect.StopFiring?.();\r\n data.effectPlaying = false;\r\n agent.playFX = false;\r\n vec3.copy(data.oldTarget, AGENT_TARGET_WS);\r\n vec3.set(agent.target, 0, 0, 0);\r\n }\r\n }\r\n }\r\n\r\n return NO_FORCES;\r\n }\r\n\r\n /** Carbon PlayFX::UpdateAsyncronous (cpp:141-148). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateAsyncronous(updateContext, parentTransform)\r\n {\r\n for (const fx of this.generatedFiringEffects)\r\n {\r\n fx?.UpdateEffectAsync?.(updateContext);\r\n fx?.UpdateVisibility?.(updateContext, parentTransform);\r\n }\r\n }\r\n\r\n /** Carbon PlayFX::UpdateSyncronous (cpp:150-156). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSyncronous(updateContext)\r\n {\r\n for (const fx of this.generatedFiringEffects)\r\n {\r\n fx?.UpdateEffectSync?.(updateContext);\r\n }\r\n }\r\n\r\n /** Carbon PlayFX::GetRenderables (cpp:158-164). */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(renderables = [])\r\n {\r\n for (const fx of this.generatedFiringEffects)\r\n {\r\n fx?.GetRenderables?.(renderables);\r\n }\r\n return renderables;\r\n }\r\n\r\n /** Carbon PlayFX::RegisterComponents (cpp:202-215). */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const fx of this.generatedFiringEffects)\r\n {\r\n fx?.Register?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon PlayFX::UnRegisterComponents (cpp:217-230). */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const fx of this.generatedFiringEffects)\r\n {\r\n fx?.UnRegister?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon method RegisterWithQuadRenderer (cpp:239-245) - quad renderer\r\n * registration seam; the firing effect elements own the real quads. */\r\n @carbon.method\r\n @impl.noop\r\n RegisterWithQuadRenderer(_quadRenderer)\r\n {\r\n }\r\n\r\n /** Carbon method AddQuadsToQuadRenderer (cpp:253-259) - quad renderer\r\n * submission seam; the firing effect elements own the real quads. */\r\n @carbon.method\r\n @impl.noop\r\n AddQuadsToQuadRenderer(_frustum, _quadRenderer)\r\n {\r\n }\r\n\r\n // Grows or shrinks the cloned firing-effect list to the agent count (Carbon\r\n // CheckCount, cpp:262-299; BeClasses->CloneTo maps to CjsModel.Clone).\r\n #CheckCount(agentSize)\r\n {\r\n if (this.#count > agentSize)\r\n {\r\n const diff = this.#count - agentSize;\r\n for (let i = 0; i < diff; i++)\r\n {\r\n this.generatedFiringEffects.pop();\r\n }\r\n this.#count = agentSize;\r\n }\r\n else if (agentSize > this.#count)\r\n {\r\n if (this.firingEffect === null)\r\n {\r\n return;\r\n }\r\n\r\n const diff = agentSize - this.#count;\r\n for (let i = 0; i < diff; i++)\r\n {\r\n const newFx = this.firingEffect.Clone?.();\r\n if (!newFx)\r\n {\r\n return;\r\n }\r\n this.generatedFiringEffects.push(newFx);\r\n }\r\n this.#count = agentSize;\r\n }\r\n }\r\n\r\n}\r\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,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 { vec3 } from '@carbonenginejs/
|
|
5
|
-
import { EveLocatorSets as _EveLocatorSets } from '../../../../eve/EveLocatorSets.js';
|
|
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
|
+
import { EveLocatorSets as _EveLocatorSets } from '../../../../eve/locator/EveLocatorSets.js';
|
|
6
6
|
|
|
7
7
|
let _initProto, _initClass, _init_behaviorPriority, _init_extra_behaviorPriority, _init_behaviorWeight, _init_extra_behaviorWeight, _init_distFromOrigin, _init_extra_distFromOrigin, _init_arrivedRadius, _init_extra_arrivedRadius, _init_slowDownRadius, _init_extra_slowDownRadius, _init_target, _init_extra_target, _init_firstSpawnAtRandomPlaces, _init_extra_firstSpawnAtRandomPlaces, _init_onFirstDroneArrivedCallback, _init_extra_onFirstDroneArrivedCallback, _init_totalRepairTime, _init_extra_totalRepairTime, _init_secondsToTurn, _init_extra_secondsToTurn, _init_locatorSetName, _init_extra_locatorSetName, _init_locatorSet, _init_extra_locatorSet, _init_exit, _init_extra_exit, _init_repair, _init_extra_repair, _init_enabled, _init_extra_enabled;
|
|
8
8
|
|