@carbonenginejs/runtime-trinity 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -243
- package/dist/controllers/CjsControllerExpressionProgram.js +157 -0
- package/dist/controllers/CjsControllerExpressionProgram.js.map +1 -1
- package/dist/controllers/ITr2ControllerAction.js +57 -0
- package/dist/controllers/ITr2ControllerAction.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateCurveSet.js +10 -0
- package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateValue.js +26 -0
- package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
- package/dist/controllers/Tr2ActionBindRTPC.js +11 -0
- package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
- package/dist/controllers/Tr2ActionCallback.js +5 -0
- package/dist/controllers/Tr2ActionCallback.js.map +1 -1
- package/dist/controllers/Tr2ActionChildEffect.js +63 -0
- package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
- package/dist/controllers/Tr2ActionOverlay.js +68 -0
- package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayCurveSet.js +16 -0
- package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js +29 -0
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
- package/dist/controllers/Tr2ActionPlaySound.js +11 -0
- package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
- package/dist/controllers/Tr2ActionPython.js +11 -0
- package/dist/controllers/Tr2ActionPython.js.map +1 -1
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js +17 -0
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js +5 -0
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +5 -0
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioSwitch.js +5 -0
- package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +23 -0
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
- package/dist/controllers/Tr2ActionSetShaderOption.js +5 -0
- package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
- package/dist/controllers/Tr2ActionSetValue.js +35 -0
- package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
- package/dist/controllers/Tr2ActionSpawnParticles.js +10 -0
- package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/controllers/Tr2BindingPoint.js +67 -0
- package/dist/controllers/Tr2BindingPoint.js.map +1 -1
- package/dist/controllers/Tr2Controller.js +37 -0
- package/dist/controllers/Tr2Controller.js.map +1 -1
- package/dist/controllers/Tr2ControllerEventHandler.js +10 -0
- package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
- package/dist/controllers/Tr2ControllerExpression.js +17 -0
- package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
- package/dist/controllers/Tr2ControllerFloatVariable.js +6 -0
- package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
- package/dist/controllers/Tr2ControllerReference.js +11 -0
- package/dist/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/controllers/Tr2StateMachine.js +17 -0
- package/dist/controllers/Tr2StateMachine.js.map +1 -1
- package/dist/controllers/Tr2StateMachineState.js +47 -0
- package/dist/controllers/Tr2StateMachineState.js.map +1 -1
- package/dist/controllers/Tr2StateMachineTransition.js +29 -0
- package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
- package/dist/controllers/Tr2SyncToAnimation.js +5 -0
- package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
- package/dist/controllers/Tr2TimelineController.js +61 -0
- package/dist/controllers/Tr2TimelineController.js.map +1 -1
- package/dist/controllers/contracts.js +24 -1
- package/dist/controllers/contracts.js.map +1 -1
- package/dist/controllers/index.js +1 -1
- package/dist/curves/CjsGrannyCurves.js +150 -0
- package/dist/curves/CjsGrannyCurves.js.map +1 -1
- package/dist/curves/Tr2BoneMatrixCurve.js +23 -0
- package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
- package/dist/curves/Tr2CameraFollowCurveKey.js +6 -0
- package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2CurveColor.js +6 -0
- package/dist/curves/Tr2CurveColor.js.map +1 -1
- package/dist/curves/Tr2CurveColorMixer.js +6 -0
- package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
- package/dist/curves/Tr2CurveCombiner.js +5 -0
- package/dist/curves/Tr2CurveCombiner.js.map +1 -1
- package/dist/curves/Tr2CurveConstant.js +16 -0
- package/dist/curves/Tr2CurveConstant.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotation.js +5 -0
- package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotationExpression.js +66 -0
- package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternion.js +5 -0
- package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternionKey.js +5 -0
- package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
- package/dist/curves/Tr2CurveRandomAxisRotation.js +28 -0
- package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/curves/Tr2CurveScalar.js +35 -0
- package/dist/curves/Tr2CurveScalar.js.map +1 -1
- package/dist/curves/Tr2CurveScalarExpression.js +11 -0
- package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
- package/dist/curves/Tr2CurveScalarKey.js +6 -0
- package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
- package/dist/curves/Tr2CurveSetRange.js +5 -0
- package/dist/curves/Tr2CurveSetRange.js.map +1 -1
- package/dist/curves/Tr2CurveVector2.js +5 -0
- package/dist/curves/Tr2CurveVector2.js.map +1 -1
- package/dist/curves/Tr2CurveVector3.js +5 -0
- package/dist/curves/Tr2CurveVector3.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Expression.js +71 -0
- package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Lerp.js +6 -0
- package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
- package/dist/curves/Tr2DistanceTracker.js +6 -0
- package/dist/curves/Tr2DistanceTracker.js.map +1 -1
- package/dist/curves/Tr2FollowCurve.js +6 -0
- package/dist/curves/Tr2FollowCurve.js.map +1 -1
- package/dist/curves/Tr2GrannyEventTrack.js +5 -0
- package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTrack.js +6 -0
- package/dist/curves/Tr2GrannyTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTransformTrack.js +6 -0
- package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyVectorTrack.js +5 -0
- package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
- package/dist/curves/Tr2MatrixKey.js +5 -0
- package/dist/curves/Tr2MatrixKey.js.map +1 -1
- package/dist/curves/Tr2ObjectFollowCurveKey.js +6 -0
- package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2QuaternionLerpCurve.js +6 -0
- package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
- package/dist/curves/Tr2RotationAdapter.js +6 -0
- package/dist/curves/Tr2RotationAdapter.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKey.js +18 -0
- package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKeyCurve.js +23 -0
- package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
- package/dist/curves/Tr2ScalarFader.js +11 -0
- package/dist/curves/Tr2ScalarFader.js.map +1 -1
- package/dist/curves/Tr2TranslationAdapter.js +6 -0
- package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
- package/dist/curves/TriColorSequencer.js +6 -0
- package/dist/curves/TriColorSequencer.js.map +1 -1
- package/dist/curves/TriCurveSet.js +23 -0
- package/dist/curves/TriCurveSet.js.map +1 -1
- package/dist/curves/TriEventCurve.js +23 -0
- package/dist/curves/TriEventCurve.js.map +1 -1
- package/dist/curves/TriEventKey.js +5 -0
- package/dist/curves/TriEventKey.js.map +1 -1
- package/dist/curves/TriPerlinCurve.js +30 -0
- package/dist/curves/TriPerlinCurve.js.map +1 -1
- package/dist/curves/TriVectorSequencer.js +6 -0
- package/dist/curves/TriVectorSequencer.js.map +1 -1
- package/dist/eve/AudioGameObject.js +89 -1
- package/dist/eve/AudioGameObject.js.map +1 -1
- package/dist/eve/BackAndForthData.js +7 -0
- package/dist/eve/BackAndForthData.js.map +1 -1
- package/dist/eve/CjsDistributionRandom.js +6 -0
- package/dist/eve/CjsDistributionRandom.js.map +1 -1
- package/dist/eve/CjsEveThrottleableState.js +11 -0
- package/dist/eve/CjsEveThrottleableState.js.map +1 -1
- package/dist/eve/EveChildUpdateParams.js +7 -0
- package/dist/eve/EveChildUpdateParams.js.map +1 -1
- package/dist/eve/EveComponentTypes.js.map +1 -1
- package/dist/eve/EveCustomMask.js +58 -27
- package/dist/eve/EveCustomMask.js.map +1 -1
- package/dist/eve/EveDistanceField.js +84 -0
- package/dist/eve/EveDistanceField.js.map +1 -1
- package/dist/eve/EveEntity.js +138 -0
- package/dist/eve/EveEntity.js.map +1 -0
- package/dist/eve/EveImpactOverlay.js +61 -0
- package/dist/eve/EveImpactOverlay.js.map +1 -1
- package/dist/eve/EveLODHelper.js +17 -13
- package/dist/eve/EveLODHelper.js.map +1 -1
- package/dist/eve/EveLineData.js +2 -0
- package/dist/eve/EveLineData.js.map +1 -1
- package/dist/eve/EveThrottleable.js +11 -0
- package/dist/eve/EveThrottleable.js.map +1 -1
- package/dist/eve/FollowASplineData.js +7 -0
- package/dist/eve/FollowASplineData.js.map +1 -1
- package/dist/eve/FormationData.js +6 -0
- package/dist/eve/FormationData.js.map +1 -1
- package/dist/eve/InertiaData.js +7 -0
- package/dist/eve/InertiaData.js.map +1 -1
- package/dist/eve/PlacementDataWithIdentifier.js +7 -0
- package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
- package/dist/eve/PlayFXData.js +7 -0
- package/dist/eve/PlayFXData.js.map +1 -1
- package/dist/eve/SeekTargetData.js +7 -0
- package/dist/eve/SeekTargetData.js.map +1 -1
- package/dist/eve/{EveSpaceObjectAttachmentUtils.js → attachment/EveSpaceObjectAttachmentUtils.js} +11 -11
- package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
- package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
- package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
- package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +13 -2
- package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
- package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
- package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
- package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +204 -35
- package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
- package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +205 -12
- package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
- package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +49 -1
- package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
- package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
- package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
- package/dist/eve/{EveHazeSet.js → attachment/haze/EveHazeSet.js} +65 -6
- package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
- package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
- package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
- package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +13 -2
- package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
- package/dist/eve/attachment/itemSetBounds.js +131 -0
- package/dist/eve/attachment/itemSetBounds.js.map +1 -0
- package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +14 -2
- package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
- package/dist/eve/{EvePlaneSet.js → attachment/plane/EvePlaneSet.js} +119 -7
- package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
- package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
- package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
- package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +13 -2
- package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
- package/dist/eve/{EveSpotlightSet.js → attachment/spotlight/EveSpotlightSet.js} +86 -6
- package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
- package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +14 -2
- package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
- package/dist/eve/{EveSpriteLineSet.js → attachment/sprite/EveSpriteLineSet.js} +69 -7
- package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
- package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +29 -4
- package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
- package/dist/eve/{EveSpriteSet.js → attachment/sprite/EveSpriteSet.js} +87 -8
- package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
- package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +23 -26
- package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js +184 -2
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretSet.js +236 -7
- package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretTarget.js +112 -0
- package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/eve/camera/EveCamera.js +644 -0
- package/dist/eve/camera/EveCamera.js.map +1 -0
- package/dist/eve/child/EveChildAudio.js +63 -0
- package/dist/eve/child/EveChildAudio.js.map +1 -1
- package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
- package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
- package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +41 -3
- package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
- package/dist/eve/child/EveChildContainer.js +175 -16
- package/dist/eve/child/EveChildContainer.js.map +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
- package/dist/eve/child/EveChildFogVolume.js +72 -0
- package/dist/eve/child/EveChildFogVolume.js.map +1 -1
- package/dist/eve/child/EveChildInheritProperties.js +17 -0
- package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
- package/dist/eve/child/EveChildInstancedMeshes.js +211 -1
- package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
- package/dist/eve/child/EveChildLightingOverride.js +74 -0
- package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
- package/dist/{generated/eve → eve}/child/EveChildLink.js +17 -16
- package/dist/eve/child/EveChildLink.js.map +1 -0
- package/dist/eve/child/EveChildMesh.js +351 -105
- package/dist/eve/child/EveChildMesh.js.map +1 -1
- package/dist/eve/child/EveChildSpherePin.js +108 -0
- package/dist/eve/child/EveChildSpherePin.js.map +1 -0
- package/dist/eve/child/EveChildTransform.js +44 -1
- package/dist/eve/child/EveChildTransform.js.map +1 -1
- package/dist/eve/child/IEveSpaceObjectChild.js +5 -0
- package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
- package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
- package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
- package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
- package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
- package/dist/eve/child/behaviors/Wander.js +99 -0
- package/dist/eve/child/behaviors/Wander.js.map +1 -0
- package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
- package/dist/eve/child/behaviors/enums.js.map +1 -0
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
- package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +8 -2
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
- package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +9 -7
- package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
- package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
- package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
- package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +3 -3
- package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js +65 -0
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
- package/dist/eve/child/lineSetPaths/EveCircle.js +63 -0
- package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +24 -16
- package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +22 -19
- package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
- package/dist/eve/child/modifiers/EveChildModifierBooster.js +6 -0
- package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHalo.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +6 -0
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierSRT.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +31 -17
- package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +16 -14
- package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +11 -4
- package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +12 -12
- package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +6 -6
- package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +12 -12
- package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +8 -8
- package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +17 -17
- package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +7 -7
- package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +7 -7
- package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +17 -17
- package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +132 -3
- package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +12 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +9 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +12 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
- package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +16 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +31 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +34 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +14 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +19 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +25 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +17 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
- package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +44 -2
- package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
- package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
- package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
- package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
- package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
- package/dist/eve/index.js +117 -47
- package/dist/eve/index.js.map +1 -1
- package/dist/eve/lights/CjsLightData.js +7 -0
- package/dist/eve/lights/CjsLightData.js.map +1 -1
- package/dist/eve/lights/Tr2Light.js +41 -0
- package/dist/eve/lights/Tr2Light.js.map +1 -1
- package/dist/eve/lights/Tr2PointLight.js +5 -0
- package/dist/eve/lights/Tr2PointLight.js.map +1 -1
- package/dist/eve/lights/Tr2SpotLight.js +5 -0
- package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
- package/dist/eve/lights/Tr2TexturedPointLight.js +10 -0
- package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
- package/dist/eve/lights/lightConversion.js +29 -27
- package/dist/eve/lights/lightConversion.js.map +1 -1
- package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +20 -1
- package/dist/eve/locator/EveLocator2.js.map +1 -0
- package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +43 -1
- package/dist/eve/locator/EveLocatorSets.js.map +1 -0
- package/dist/eve/{Locator.js → locator/Locator.js} +6 -1
- package/dist/eve/locator/Locator.js.map +1 -0
- package/dist/eve/{LocatorData.js → locator/LocatorData.js} +3 -1
- package/dist/eve/locator/LocatorData.js.map +1 -0
- package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
- package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
- package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +5 -5
- package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
- package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +5 -5
- package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
- package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +6 -6
- package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
- package/dist/{generated/eve/scene → eve/particles/static}/EveSceneStaticParticles.js +70 -36
- package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
- package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
- package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js +76 -0
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +85 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +91 -0
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +36 -0
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch.js +158 -9
- package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch2.js +121 -12
- package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch3.js +261 -8
- package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/eve/scene/EveSpaceScene.js +56 -6
- package/dist/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +24 -1
- package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
- package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +74 -2
- package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
- package/dist/eve/scene/picking/EvePickingContext.js +61 -0
- package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
- package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
- package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
- package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
- package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +19 -19
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +19 -19
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +12 -12
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +12 -12
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +30 -30
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +9 -9
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +23 -23
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
- package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +26 -1
- package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +17 -1
- package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +21 -5
- package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
- package/dist/eve/socket/EveSocketParameterFilePath.js +5 -5
- package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
- package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +17 -1
- package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +17 -1
- package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +42 -2
- package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
- package/dist/eve/spaceObject/EveEffectRoot2.js +58 -31
- package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
- package/dist/eve/spaceObject/EveMissile.js +49 -1
- package/dist/eve/spaceObject/EveMissile.js.map +1 -1
- package/dist/eve/spaceObject/EveMissileWarhead.js +100 -1
- package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
- package/dist/eve/spaceObject/EveMobile.js +104 -0
- package/dist/eve/spaceObject/EveMobile.js.map +1 -1
- package/dist/eve/spaceObject/EveRootTransform.js +17 -0
- package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
- package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +32 -12
- package/dist/eve/spaceObject/EveShip2.js.map +1 -0
- package/dist/eve/spaceObject/EveSpaceObject2.js +726 -199
- package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/eve/spaceObject/EveTransform.js +100 -4
- package/dist/eve/spaceObject/EveTransform.js.map +1 -1
- package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
- package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
- package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
- package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
- package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
- package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
- package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
- package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
- package/dist/{generated/eve/spaceObject → eve/spaceObject/planet}/EvePlanet.js +2 -2
- package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
- package/dist/{generated/eve → eve}/spaceObject/swarm/EveSwarmRenderable.js +102 -64
- package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
- package/dist/eve/ui/EveEllipseDefinition.js +15 -0
- package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
- package/dist/eve/ui/EveEllipseSet.js +42 -0
- package/dist/eve/ui/EveEllipseSet.js.map +1 -1
- package/dist/{generated/eve → eve}/ui/EveSpherePin.js +76 -11
- package/dist/eve/ui/EveSpherePin.js.map +1 -0
- package/dist/eve/ui/EveSprite2dBracket.js +5 -0
- package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
- package/dist/eve/ui/EveUiObject.js +11 -0
- package/dist/eve/ui/EveUiObject.js.map +1 -1
- package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +67 -6
- package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
- package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
- package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
- package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +22 -2
- package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
- package/dist/eve/virtualCamera/EveVirtualCamera.js +152 -0
- package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +65 -0
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +19 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +29 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +15 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +38 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +18 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +11 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +14 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +16 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +36 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +36 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +11 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +37 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
- package/dist/eve/volume/EveBoxVolume.js +59 -0
- package/dist/eve/volume/EveBoxVolume.js.map +1 -1
- package/dist/eve/volume/EveEllipsoidVolume.js +54 -0
- package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
- package/dist/eve/volume/EveSphereVolume.js +34 -0
- package/dist/eve/volume/EveSphereVolume.js.map +1 -1
- package/dist/generated/eve/child/EveChildCloud2.js +138 -138
- package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/generated/eve/child/EveChildParticleSystem.js +10 -4
- package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/generated/eve/child/EveChildSocket.js +1 -1
- package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BackAndForth.js +14 -17
- package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js +2 -2
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +26 -29
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
- package/dist/generated/eve/child/behaviors/FollowASpline.js +13 -17
- package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
- package/dist/generated/eve/child/behaviors/PlayFX.js +14 -14
- package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
- package/dist/generated/eve/child/behaviors/index.js +0 -6
- package/dist/generated/eve/child/behaviors/index.js.map +1 -1
- package/dist/generated/eve/child/index.js +0 -23
- package/dist/generated/eve/child/index.js.map +1 -1
- package/dist/generated/eve/effect/index.js +0 -3
- package/dist/generated/eve/effect/index.js.map +1 -1
- package/dist/generated/eve/index.js +0 -88
- package/dist/generated/eve/index.js.map +1 -1
- package/dist/generated/eve/scene/index.js +0 -6
- package/dist/generated/eve/scene/index.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +20 -20
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
- package/dist/generated/eve/smartLights/index.js +0 -8
- package/dist/generated/eve/smartLights/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/index.js +0 -4
- package/dist/generated/eve/spaceObject/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +11 -11
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
- package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
- package/dist/generated/eve/ui/index.js +0 -4
- package/dist/generated/eve/ui/index.js.map +1 -1
- package/dist/generated/index.js +0 -93
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/trinityCore/index.js +0 -5
- package/dist/generated/trinityCore/index.js.map +1 -1
- package/dist/index.js +130 -155
- package/dist/index.js.map +1 -1
- package/dist/particle/Tr2GpuSharedEmitter.js +39 -0
- package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/particle/Tr2GpuUniqueEmitter.js +5 -0
- package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
- package/dist/particle/Tr2ParticleAttractorForce.js +10 -0
- package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDirectForce.js +7 -0
- package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDragForce.js +7 -0
- package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleElementDeclaration.js +5 -0
- package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
- package/dist/particle/Tr2ParticleFluidDragForce.js +10 -0
- package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleSpring.js +10 -0
- package/dist/particle/Tr2ParticleSpring.js.map +1 -1
- package/dist/particle/Tr2ParticleVortexForce.js +10 -0
- package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
- package/dist/particle/particleElementBinding.js +12 -0
- package/dist/particle/particleElementBinding.js.map +1 -1
- package/dist/postProcess/Tr2PPBloomEffect.js +6 -0
- package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +16 -0
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPGenericEffect.js +7 -0
- package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTaaEffect.js +10 -0
- package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTonemappingEffect.js +5 -0
- package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess.js +5 -0
- package/dist/postProcess/Tr2PostProcess.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess2.js +147 -0
- package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
- package/dist/postProcess/Tr2PostProcessAttributes.js +89 -0
- package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
- package/dist/renderJob/Tr2RenderJobs.js +34 -0
- package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
- package/dist/renderJob/TriRenderJob.js +59 -0
- package/dist/renderJob/TriRenderJob.js.map +1 -1
- package/dist/renderJob/TriRenderStep.js +20 -0
- package/dist/renderJob/TriRenderStep.js.map +1 -1
- package/dist/renderJob/TriStepClear.js +18 -0
- package/dist/renderJob/TriStepClear.js.map +1 -1
- package/dist/renderJob/TriStepCopyRenderTarget.js +51 -0
- package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepEnableWireframeMode.js +9 -0
- package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
- package/dist/renderJob/TriStepGenerateMipMaps.js +9 -0
- package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
- package/dist/renderJob/TriStepPopDepthStencil.js +6 -0
- package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPopProjection.js +6 -0
- package/dist/renderJob/TriStepPopProjection.js.map +1 -1
- package/dist/renderJob/TriStepPopRenderTarget.js +12 -0
- package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPopViewTransform.js +6 -0
- package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPopViewport.js +6 -0
- package/dist/renderJob/TriStepPopViewport.js.map +1 -1
- package/dist/renderJob/TriStepPresentSwapChain.js +12 -0
- package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
- package/dist/renderJob/TriStepPushDepthStencil.js +17 -0
- package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPushProjection.js +6 -0
- package/dist/renderJob/TriStepPushProjection.js.map +1 -1
- package/dist/renderJob/TriStepPushRenderTarget.js +9 -0
- package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPushViewTransform.js +6 -0
- package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPushViewport.js +6 -0
- package/dist/renderJob/TriStepPushViewport.js.map +1 -1
- package/dist/renderJob/TriStepRemoteSync.js +17 -0
- package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
- package/dist/renderJob/TriStepResolve.js +13 -0
- package/dist/renderJob/TriStepResolve.js.map +1 -1
- package/dist/renderJob/TriStepRunJob.js +12 -0
- package/dist/renderJob/TriStepRunJob.js.map +1 -1
- package/dist/renderJob/TriStepSetDepthStencil.js +12 -0
- package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepSetProjection.js +14 -0
- package/dist/renderJob/TriStepSetProjection.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderState.js +20 -0
- package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderTarget.js +12 -0
- package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepSetStdRndStates.js +18 -0
- package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
- package/dist/renderJob/TriStepSetView.js +29 -2
- package/dist/renderJob/TriStepSetView.js.map +1 -1
- package/dist/renderJob/TriStepSetViewport.js +17 -0
- package/dist/renderJob/TriStepSetViewport.js.map +1 -1
- package/dist/renderJob/TriStepSetVisualizationMode.js +19 -0
- package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
- package/dist/shader/Tr2Effect.js +217 -2
- package/dist/shader/Tr2Effect.js.map +1 -1
- package/dist/shader/Tr2Material.js +41 -0
- package/dist/shader/Tr2Material.js.map +1 -1
- package/dist/shader/index.js +1 -11
- package/dist/shader/index.js.map +1 -1
- package/dist/shader/material/Tr2EffectLibraryParameters.js +7 -0
- package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
- package/dist/shader/material/Tr2EffectPassParameters.js +23 -0
- package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
- package/dist/shader/material/Tr2MaterialStageInput.js +15 -0
- package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
- package/dist/shader/parameter/CjsParameter.js +94 -0
- package/dist/shader/parameter/CjsParameter.js.map +1 -1
- package/dist/shader/parameter/CjsVectorParameter.js +20 -0
- package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2FloatParameter.js +53 -0
- package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js +39 -0
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Matrix4Parameter.js +54 -0
- package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +54 -0
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js +35 -0
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector2Parameter.js +86 -0
- package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector3Parameter.js +95 -0
- package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector4Parameter.js +105 -0
- package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
- package/dist/shader/parameter/TriFloatArrayParameter.js +26 -0
- package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
- package/dist/shader/parameter/TriTextureParameter.js +84 -0
- package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
- package/dist/shader/parameter/TriTransformParameter.js +2 -0
- package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
- package/dist/shader/parameter/TriVariableParameter.js +38 -0
- package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
- package/dist/shader/parameter/TriVector4.js +2 -0
- package/dist/shader/parameter/TriVector4.js.map +1 -1
- package/dist/shader/reflection/Tr2ShaderOption.js +6 -1
- package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
- package/dist/shader/support/CjsVariableStore.js +140 -0
- package/dist/shader/support/CjsVariableStore.js.map +1 -1
- package/dist/shader/support/Tr2ShaderBuffer.js +15 -0
- package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
- package/dist/trinityCore/CjsBatchManager.js +62 -2
- package/dist/trinityCore/CjsBatchManager.js.map +1 -1
- package/dist/trinityCore/GrannyBoneOffset.js +51 -0
- package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
- package/dist/trinityCore/ITriRenderBatchAccumulator.js +65 -3
- package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/Tr2DirectInstanceData.js +19 -0
- package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2ExpressionTermInfo.js +21 -0
- package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
- package/dist/trinityCore/Tr2GpuBuffer.js +5 -0
- package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
- package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +137 -8
- package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
- package/dist/trinityCore/Tr2InstancedMesh.js +52 -0
- package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
- package/dist/trinityCore/Tr2MaterialParameterStore.js +5 -0
- package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
- package/dist/trinityCore/Tr2Mesh.js +37 -0
- package/dist/trinityCore/Tr2Mesh.js.map +1 -1
- package/dist/trinityCore/Tr2MeshArea.js +78 -0
- package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
- package/dist/trinityCore/Tr2MeshBase.js +98 -2
- package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
- package/dist/trinityCore/Tr2PerObjectData.js +10 -0
- package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
- package/dist/trinityCore/Tr2PickType.js +33 -0
- package/dist/trinityCore/Tr2PickType.js.map +1 -0
- package/dist/trinityCore/Tr2RenderBatch.js +137 -0
- package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
- package/dist/trinityCore/Tr2RenderContext.js +271 -0
- package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
- package/dist/trinityCore/Tr2RuntimeInstanceData.js +179 -0
- package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2ShLightingManager.js +397 -0
- package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
- package/dist/trinityCore/Tr2VariableStore.js +26 -0
- package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
- package/dist/trinityCore/Tr2VisibilityResults.js +5 -0
- package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
- package/dist/trinityCore/TriDevice.js +5 -0
- package/dist/trinityCore/TriDevice.js.map +1 -1
- package/dist/trinityCore/TriFrustum.js +21 -14
- package/dist/trinityCore/TriFrustum.js.map +1 -1
- package/dist/trinityCore/TriObserverLocal.js +43 -0
- package/dist/trinityCore/TriObserverLocal.js.map +1 -1
- package/dist/trinityCore/TriProjection.js +86 -32
- package/dist/trinityCore/TriProjection.js.map +1 -1
- package/dist/trinityCore/TriRect.js +12 -0
- package/dist/trinityCore/TriRect.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchAccumulator.js +46 -0
- package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchMap.js +39 -2
- package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
- package/dist/trinityCore/TriSettings.js +38 -0
- package/dist/trinityCore/TriSettings.js.map +1 -1
- package/dist/trinityCore/TriVariable.js +30 -0
- package/dist/trinityCore/TriVariable.js.map +1 -1
- package/dist/trinityCore/TriView.js +16 -1
- package/dist/trinityCore/TriView.js.map +1 -1
- package/dist/trinityCore/TriViewport.js +12 -0
- package/dist/trinityCore/TriViewport.js.map +1 -1
- package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +1 -1
- package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
- package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
- package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
- package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
- package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
- package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +30 -6
- package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
- package/dist/trinityCore/binding/TriValueBinding.js +648 -0
- package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
- package/dist/trinityCore/index.js +11 -4
- package/dist/trinityCore/index.js.map +1 -1
- package/dist/trinityCore/pickRay.js +84 -0
- package/dist/trinityCore/pickRay.js.map +1 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +931 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
- package/dist/trinityCore/rawData/RawData.js +294 -38
- package/dist/trinityCore/rawData/RawData.js.map +1 -1
- package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
- package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
- package/dist/utilities/Range.js +53 -0
- package/dist/utilities/Range.js.map +1 -1
- package/docs/README.md +88 -0
- package/docs/architecture.md +162 -0
- package/docs/concepts/eve-runtime-behavior.md +86 -0
- package/docs/concepts/generated-class-lifecycle.md +116 -0
- package/docs/reference/api.md +76 -0
- package/docs/reference/classes/eve-runtime.md +106 -0
- package/docs/reference/classes/trinity-core.md +26 -0
- package/docs/reference/implementation-status.md +104 -0
- package/docs/reference/main-semantic-extraction.md +104 -0
- package/package.json +33 -24
- package/dist/eve/DecalVSPerObjectData.js +0 -34
- package/dist/eve/DecalVSPerObjectData.js.map +0 -1
- package/dist/eve/EveBannerItem.js +0 -43
- package/dist/eve/EveBannerItem.js.map +0 -1
- package/dist/eve/EveBannerLight.js.map +0 -1
- package/dist/eve/EveBannerSet.js +0 -190
- package/dist/eve/EveBannerSet.js.map +0 -1
- package/dist/eve/EveBasicPerObjectData.js +0 -31
- package/dist/eve/EveBasicPerObjectData.js.map +0 -1
- package/dist/eve/EveBoosterSet2.js.map +0 -1
- package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
- package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
- package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
- package/dist/eve/EveHazeSet.js.map +0 -1
- package/dist/eve/EveHazeSetLight.js.map +0 -1
- package/dist/eve/EveLocator2.js.map +0 -1
- package/dist/eve/EveLocatorSets.js.map +0 -1
- package/dist/eve/EveParticleDirectForce.js.map +0 -1
- package/dist/eve/EveParticleDragForce.js.map +0 -1
- package/dist/eve/EveParticleSpring.js.map +0 -1
- package/dist/eve/EvePerObjectPSData.js +0 -29
- package/dist/eve/EvePerObjectPSData.js.map +0 -1
- package/dist/eve/EvePerObjectVSData.js +0 -29
- package/dist/eve/EvePerObjectVSData.js.map +0 -1
- package/dist/eve/EvePlaneLight.js.map +0 -1
- package/dist/eve/EvePlaneSet.js.map +0 -1
- package/dist/eve/EvePlaneSetItem.js +0 -45
- package/dist/eve/EvePlaneSetItem.js.map +0 -1
- package/dist/eve/EveSpaceObjectAttachmentUtils.js.map +0 -1
- package/dist/eve/EveSpaceObjectDecal.js +0 -150
- package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
- package/dist/eve/EveSpaceObjectPSData.js +0 -73
- package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
- package/dist/eve/EveSpaceObjectVSData.js +0 -79
- package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
- package/dist/eve/EveSpacePerObjectData.js +0 -97
- package/dist/eve/EveSpacePerObjectData.js.map +0 -1
- package/dist/eve/EveSpherePinPerObjectData.js +0 -37
- package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
- package/dist/eve/EveSpotlightLight.js.map +0 -1
- package/dist/eve/EveSpotlightSet.js.map +0 -1
- package/dist/eve/EveSpriteLight.js.map +0 -1
- package/dist/eve/EveSpriteLineSet.js.map +0 -1
- package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
- package/dist/eve/EveSpriteSet.js.map +0 -1
- package/dist/eve/EveTrailsSet.js.map +0 -1
- package/dist/eve/Locator.js.map +0 -1
- package/dist/eve/LocatorData.js.map +0 -1
- package/dist/eve/ProcessLifetimeData.js.map +0 -1
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
- package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
- package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
- package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
- package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
- package/dist/generated/eve/EveCamera.js +0 -264
- package/dist/generated/eve/EveCamera.js.map +0 -1
- package/dist/generated/eve/EveEntity.js +0 -81
- package/dist/generated/eve/EveEntity.js.map +0 -1
- package/dist/generated/eve/attachment/decal/index.js +0 -2
- package/dist/generated/eve/attachment/decal/index.js.map +0 -1
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/haze/index.js +0 -2
- package/dist/generated/eve/attachment/haze/index.js.map +0 -1
- package/dist/generated/eve/attachment/index.js +0 -5
- package/dist/generated/eve/attachment/index.js.map +0 -1
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/spotlights/index.js +0 -2
- package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
- package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/sprites/index.js +0 -2
- package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/enums.js +0 -32
- package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/index.js +0 -2
- package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
- package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
- package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
- package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
- package/dist/generated/eve/child/EveChildLink.js.map +0 -1
- package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
- package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
- package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
- package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
- package/dist/generated/eve/child/behaviors/Wander.js +0 -92
- package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
- package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
- package/dist/generated/eve/child/modifiers/index.js +0 -5
- package/dist/generated/eve/child/modifiers/index.js.map +0 -1
- package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
- package/dist/generated/eve/child/procedural/index.js +0 -10
- package/dist/generated/eve/child/procedural/index.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/index.js +0 -9
- package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
- package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
- package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
- package/dist/generated/eve/distribution/index.js +0 -19
- package/dist/generated/eve/distribution/index.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
- package/dist/generated/eve/distribution/placement/index.js +0 -4
- package/dist/generated/eve/distribution/placement/index.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
- package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/index.js +0 -7
- package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
- package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
- package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
- package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
- package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
- package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
- package/dist/generated/eve/fxAttributes/index.js +0 -3
- package/dist/generated/eve/fxAttributes/index.js.map +0 -1
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
- package/dist/generated/eve/overlays/index.js +0 -2
- package/dist/generated/eve/overlays/index.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/index.js +0 -5
- package/dist/generated/eve/perObjectData/index.js.map +0 -1
- package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
- package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
- package/dist/generated/eve/scene/EvePickingContext.js +0 -43
- package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
- package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
- package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
- package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
- package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
- package/dist/generated/eve/socket/index.js +0 -10
- package/dist/generated/eve/socket/index.js.map +0 -1
- package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
- package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
- package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
- package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
- package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
- package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
- package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
- package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
- package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
- package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
- package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
- package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
- package/dist/generated/trinityCore/TriValueBinding.js +0 -249
- package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
- package/dist/shader/Tr2Shader.js +0 -150
- package/dist/shader/Tr2Shader.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
- package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
- package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
- package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
- package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectResource.js +0 -63
- package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
- package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
- package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
- package/dist/shader/reflection/Tr2Pass.js +0 -46
- package/dist/shader/reflection/Tr2Pass.js.map +0 -1
- package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
- package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
- package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
- package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
- package/dist/trinityCore/rawData/RawDataStore.js +0 -232
- package/dist/trinityCore/rawData/RawDataStore.js.map +0 -1
- /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
- /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
|
@@ -9,6 +9,12 @@ import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
|
|
|
9
9
|
import { EveChildTransform as _EveChildTransform } from '../EveChildTransform.js';
|
|
10
10
|
|
|
11
11
|
let _initProto, _initClass, _init_name, _init_extra_name, _init_display, _init_extra_display, _init_translation, _init_extra_translation, _init_rotation, _init_extra_rotation, _init_scaling, _init_extra_scaling, _init_isVisible, _init_extra_isVisible, _init_point, _init_extra_point, _init_point2, _init_extra_point2, _init_bezierPoint, _init_extra_bezierPoint, _init_completeness, _init_extra_completeness, _init_segments, _init_extra_segments, _init_segmentOffset, _init_extra_segmentOffset, _init_lineWidth, _init_extra_lineWidth, _init_scaleSegmentsByCompleteness, _init_extra_scaleSegmentsByCompleteness, _init_scaleEndpoints, _init_extra_scaleEndpoints, _init_billboardObjects, _init_extra_billboardObjects, _init_objectScale, _init_extra_objectScale, _init_movementSpeed, _init_extra_movementSpeed, _init_animValue, _init_extra_animValue;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Line-set path shaped as a quadratic Bezier: samples the curve between two
|
|
15
|
+
* endpoints through one control point and emits the resulting chain as line
|
|
16
|
+
* segments.
|
|
17
|
+
*/
|
|
12
18
|
let _EveBezierCurve;
|
|
13
19
|
new class extends _identity {
|
|
14
20
|
static [class EveBezierCurve extends _EveChildTransform {
|
|
@@ -45,10 +51,17 @@ new class extends _identity {
|
|
|
45
51
|
#boundingSphere = vec4.create();
|
|
46
52
|
#meshSize = 0;
|
|
47
53
|
#regeneratePoints = true;
|
|
54
|
+
|
|
55
|
+
/** Marks the point chain dirty so the first update regenerates it. */
|
|
48
56
|
Initialize() {
|
|
49
57
|
this.#regeneratePoints = true;
|
|
50
58
|
return true;
|
|
51
59
|
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Clamps completeness to 0..2, segments to 1..128 and segmentOffset to 0..1,
|
|
63
|
+
* then marks the point chain dirty.
|
|
64
|
+
*/
|
|
52
65
|
OnModified(_options = {}) {
|
|
53
66
|
this.completeness = Math.min(2, Math.max(0, this.completeness));
|
|
54
67
|
this.segments = Math.min(128, Math.max(1, this.segments));
|
|
@@ -56,6 +69,12 @@ new class extends _identity {
|
|
|
56
69
|
this.#regeneratePoints = true;
|
|
57
70
|
return true;
|
|
58
71
|
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Advances the scroll animation value by movementSpeed times the frame delta
|
|
75
|
+
* (wrapped into 0..1) and, when the points are dirty, regenerates them and the
|
|
76
|
+
* bounding sphere; returns whether a regeneration ran.
|
|
77
|
+
*/
|
|
59
78
|
Update(updateContext, _params = null) {
|
|
60
79
|
if (this.movementSpeed !== 0) {
|
|
61
80
|
this.animValue = (this.animValue + this.movementSpeed * _EveBezierCurve.#getDeltaT(updateContext)) % 1;
|
|
@@ -67,6 +86,11 @@ new class extends _identity {
|
|
|
67
86
|
this.CalculateBoundingSphere();
|
|
68
87
|
return true;
|
|
69
88
|
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Samples the quadratic Bezier into the point chain across the sub-range selected by completeness, shifted by segmentOffset, and refreshes the world transform. Does nothing when fewer than two segments are requested.
|
|
92
|
+
* @param {Float32Array} [parentTransform] - a non-identity matrix is used and cached, so later identity calls reuse the last real parent transform
|
|
93
|
+
*/
|
|
70
94
|
GeneratePoints(parentTransform = mat4.create()) {
|
|
71
95
|
const segmentCount = this.#getSegmentCount();
|
|
72
96
|
if (segmentCount <= 1) {
|
|
@@ -93,9 +117,16 @@ new class extends _identity {
|
|
|
93
117
|
this.#points = points;
|
|
94
118
|
this.#regeneratePoints = false;
|
|
95
119
|
}
|
|
120
|
+
|
|
121
|
+
/** Number of generated points; zero until GeneratePoints has run. */
|
|
96
122
|
GetPointCount() {
|
|
97
123
|
return this.#points.length;
|
|
98
124
|
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Recomputes the local bounding sphere around the three control points, padded by the mesh size of the billboard objects riding the path.
|
|
128
|
+
* @param {Number} [meshSize] - a non-zero value is remembered and reused on later zero-argument calls
|
|
129
|
+
*/
|
|
99
130
|
CalculateBoundingSphere(meshSize = 0, _reCalculateChildren = true) {
|
|
100
131
|
if (meshSize !== 0) {
|
|
101
132
|
this.#meshSize = meshSize;
|
|
@@ -106,9 +137,21 @@ new class extends _identity {
|
|
|
106
137
|
const radiusSquared = Math.max(vec3.squaredDistance(this.point1, center), vec3.squaredDistance(this.point2, center), vec3.squaredDistance(this.bezierPoint, center));
|
|
107
138
|
vec4.set(this.#boundingSphere, center[0], center[1], center[2], Math.sqrt(radiusSquared) + meshSize);
|
|
108
139
|
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Returns the cached bounding sphere moved through the path's local transform.
|
|
143
|
+
* @param {Float32Array} [out] - caller-owned; allocated when omitted
|
|
144
|
+
* @returns {Float32Array} out
|
|
145
|
+
*/
|
|
109
146
|
GetBoundingSphere(out = vec4.create()) {
|
|
110
147
|
return sph3.transformMat4(out, this.#boundingSphere, this.localTransform);
|
|
111
148
|
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Tests the bounding sphere, placed by the local transform under the given
|
|
152
|
+
* system location, against the frustum and stores the result in isVisible; a
|
|
153
|
+
* non-displayed path returns early and keeps its previous flag.
|
|
154
|
+
*/
|
|
112
155
|
UpdateVisibility(frustum, _parentLod = null, systemLocation = mat4.create()) {
|
|
113
156
|
if (!this.display) {
|
|
114
157
|
return;
|
|
@@ -119,6 +162,13 @@ new class extends _identity {
|
|
|
119
162
|
const sphere = sph3.transformMat4(vec4.create(), this.#boundingSphere, transform);
|
|
120
163
|
this.isVisible = !!frustum?.IsSphereVisible?.(sphere);
|
|
121
164
|
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Emits one straight line per segment into the line set (regenerating dirty
|
|
168
|
+
* points first), optionally animated at scrollSpeed; the wrap-around segment
|
|
169
|
+
* is skipped while completeness is below 1, and the last segment ends exactly
|
|
170
|
+
* on point2 rather than on an interpolated sample.
|
|
171
|
+
*/
|
|
122
172
|
AddLinesToSet(lineSet, color, animColor, scrollSpeed = 0) {
|
|
123
173
|
if (!this.display || !this.isVisible) {
|
|
124
174
|
return;
|
|
@@ -142,6 +192,11 @@ new class extends _identity {
|
|
|
142
192
|
}
|
|
143
193
|
}
|
|
144
194
|
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Rounded segment count, scaled down by how far completeness is from a full
|
|
198
|
+
* sweep when scaleSegmentsByCompleteness is set.
|
|
199
|
+
*/
|
|
145
200
|
#getSegmentCount() {
|
|
146
201
|
const completenessScale = 1 - Math.abs(this.completeness - 1);
|
|
147
202
|
return Math.trunc(this.scaleSegmentsByCompleteness ? (this.segments + 0.5) * completenessScale : this.segments + 0.5);
|
|
@@ -155,6 +210,16 @@ new class extends _identity {
|
|
|
155
210
|
UpdateBuffer(..._args) {
|
|
156
211
|
throw new Error("EveBezierCurve.UpdateBuffer is not implemented in CarbonEngineJS.");
|
|
157
212
|
}
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Frame delta read from the update-context duck (GetDeltaT() or .deltaT),
|
|
216
|
+
* falling back to 0 when neither is present or the value is not finite.
|
|
217
|
+
*/
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Returns a newly allocated vector holding the point moved through the given
|
|
221
|
+
* transform.
|
|
222
|
+
*/
|
|
158
223
|
}];
|
|
159
224
|
#identityMatrix = mat4.create();
|
|
160
225
|
#getDeltaT(context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EveBezierCurve.js","sources":["../../../../../src/eve/child/lineSetPaths/EveBezierCurve.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\LineSetPaths\\EveBezierCurve.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\LineSetPaths\\EveBezierCurve.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\LineSetPaths\\EveBezierCurve_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\r\nimport { sph3 } from \"@carbonenginejs/runtime-utils/sph3\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveChildTransform } from \"../EveChildTransform.js\";\r\n\r\n\r\n@type.define({\r\n className: \"EveBezierCurve\",\r\n family: \"eve/child/lineSetPaths\"\r\n})\r\nexport class EveBezierCurve extends EveChildTransform\r\n{\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n translation = vec3.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.quat\r\n rotation = quat.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n scaling = vec3.fromValues(1, 1, 1);\r\n\r\n @io.read\r\n @type.boolean\r\n isVisible = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n point1 = vec3.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n point2 = vec3.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n bezierPoint = vec3.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n completeness = 1;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n segments = 24;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n segmentOffset = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n lineWidth = 1;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n scaleSegmentsByCompleteness = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n scaleEndpoints = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n billboardObjects = true;\r\n\r\n @io.persist\r\n @type.vec3\r\n objectScale = vec3.fromValues(1, 1, 1);\r\n\r\n @io.persist\r\n @type.float32\r\n movementSpeed = 0;\r\n\r\n @io.read\r\n @type.float32\r\n animValue = 0;\r\n\r\n #points = [];\r\n\r\n #parentTransform = mat4.create();\r\n\r\n #boundingSphere = vec4.create();\r\n\r\n #meshSize = 0;\r\n\r\n #regeneratePoints = true;\r\n\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n this.#regeneratePoints = true;\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n OnModified(_options = {})\r\n {\r\n this.completeness = Math.min(2, Math.max(0, this.completeness));\r\n this.segments = Math.min(128, Math.max(1, this.segments));\r\n this.segmentOffset = Math.min(1, Math.max(0, this.segmentOffset));\r\n this.#regeneratePoints = true;\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Update(updateContext, _params = null)\r\n {\r\n if (this.movementSpeed !== 0)\r\n {\r\n this.animValue = (this.animValue + this.movementSpeed * EveBezierCurve.#getDeltaT(updateContext)) % 1;\r\n }\r\n if (!this.#regeneratePoints)\r\n {\r\n return false;\r\n }\r\n this.GeneratePoints();\r\n this.CalculateBoundingSphere();\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GeneratePoints(parentTransform = mat4.create())\r\n {\r\n const segmentCount = this.#getSegmentCount();\r\n if (segmentCount <= 1)\r\n {\r\n return;\r\n }\r\n if (!mat4.exactEquals(parentTransform, EveBezierCurve.#identityMatrix))\r\n {\r\n this.UpdateTransform(parentTransform);\r\n mat4.copy(this.#parentTransform, parentTransform);\r\n }\r\n else\r\n {\r\n this.UpdateTransform(this.#parentTransform);\r\n }\r\n const lower = Math.min(this.completeness, 1);\r\n const upper = Math.max(0, this.completeness - 1);\r\n const points = [];\r\n for (let i = 0; i < segmentCount; i++)\r\n {\r\n const sourceT = i / segmentCount + this.segmentOffset / segmentCount;\r\n const t = sourceT * (lower - upper) + upper;\r\n const inverse = 1 - t;\r\n const a = inverse * inverse;\r\n const b = 2 * inverse * t;\r\n const c = t * t;\r\n points.push(vec3.fromValues(\r\n a * this.point1[0] + b * this.bezierPoint[0] + c * this.point2[0],\r\n a * this.point1[1] + b * this.bezierPoint[1] + c * this.point2[1],\r\n a * this.point1[2] + b * this.bezierPoint[2] + c * this.point2[2]\r\n ));\r\n }\r\n this.#points = points;\r\n this.#regeneratePoints = false;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetPointCount()\r\n {\r\n return this.#points.length;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n CalculateBoundingSphere(meshSize = 0, _reCalculateChildren = true)\r\n {\r\n if (meshSize !== 0)\r\n {\r\n this.#meshSize = meshSize;\r\n }\r\n else if (this.#meshSize !== 0)\r\n {\r\n meshSize = this.#meshSize;\r\n }\r\n const center = vec3.scale(vec3.create(), vec3.add(vec3.create(), vec3.add(vec3.create(), this.point1, this.point2), this.bezierPoint), 1 / 3);\r\n const radiusSquared = Math.max(\r\n vec3.squaredDistance(this.point1, center),\r\n vec3.squaredDistance(this.point2, center),\r\n vec3.squaredDistance(this.bezierPoint, center)\r\n );\r\n vec4.set(this.#boundingSphere, center[0], center[1], center[2], Math.sqrt(radiusSquared) + meshSize);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n return sph3.transformMat4(out, this.#boundingSphere, this.localTransform);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n UpdateVisibility(frustum, _parentLod = null, systemLocation = mat4.create())\r\n {\r\n if (!this.display)\r\n {\r\n return;\r\n }\r\n this.isVisible = false;\r\n // Carbon (row-vector): m_localTransform * systemLocation - local first.\r\n const transform = mat4.multiply(mat4.create(), systemLocation, this.localTransform);\r\n const sphere = sph3.transformMat4(vec4.create(), this.#boundingSphere, transform);\r\n this.isVisible = !!frustum?.IsSphereVisible?.(sphere);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n AddLinesToSet(lineSet, color, animColor, scrollSpeed = 0)\r\n {\r\n if (!this.display || !this.isVisible)\r\n {\r\n return;\r\n }\r\n if (this.#regeneratePoints)\r\n {\r\n this.GeneratePoints();\r\n this.CalculateBoundingSphere();\r\n }\r\n const segmentCount = Math.min(this.#getSegmentCount(), this.#points.length);\r\n for (let i = 0; i < segmentCount; i++)\r\n {\r\n const next = (i + 1) % segmentCount;\r\n if (next === 0 && this.completeness < 1)\r\n {\r\n continue;\r\n }\r\n const start = EveBezierCurve.#transformPoint(this.#points[i], this.localTransform);\r\n const endPoint = next === 0 ? this.point2 : this.#points[next];\r\n const end = EveBezierCurve.#transformPoint(endPoint, this.localTransform);\r\n const id = lineSet.AddStraightLine(start, color, end, color, this.lineWidth);\r\n if (scrollSpeed !== 0)\r\n {\r\n lineSet.ChangeLineAnimation(id, animColor, scrollSpeed, 1);\r\n }\r\n }\r\n }\r\n\r\n #getSegmentCount()\r\n {\r\n const completenessScale = 1 - Math.abs(this.completeness - 1);\r\n return Math.trunc(this.scaleSegmentsByCompleteness ? (this.segments + 0.5) * completenessScale : this.segments + 0.5);\r\n }\r\n\r\n /** Carbon EveBezierCurve::UpdateBuffer (EveBezierCurve.cpp:207+,\r\n * pure-virtual on IEveLineSetPath.h:10): fills the billboard-object\r\n * instance buffer. The body carries real compositions (see the EveCircle\r\n * twin) - every one must swap operands per the carbon-math conventions\r\n * when this is ported. */\r\n @carbon.method\r\n @impl.notImplemented\r\n UpdateBuffer(..._args)\r\n {\r\n throw new Error(\"EveBezierCurve.UpdateBuffer is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n static #identityMatrix = mat4.create();\r\n\r\n static #getDeltaT(context)\r\n {\r\n const value = context?.GetDeltaT?.() ?? context?.deltaT ?? 0;\r\n return Number.isFinite(Number(value)) ? Number(value) : 0;\r\n }\r\n\r\n static #transformPoint(point, transform)\r\n {\r\n return vec3.transformMat4(vec3.create(), point, transform);\r\n }\r\n}\r\n"],"names":["_EveBezierCurve","_identity","EveBezierCurve","EveChildTransform","e","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_translation","_init_extra_translation","_init_rotation","_init_extra_rotation","_init_scaling","_init_extra_scaling","_init_isVisible","_init_extra_isVisible","_init_point","_init_extra_point","_init_point2","_init_extra_point2","_init_bezierPoint","_init_extra_bezierPoint","_init_completeness","_init_extra_completeness","_init_segments","_init_extra_segments","_init_segmentOffset","_init_extra_segmentOffset","_init_lineWidth","_init_extra_lineWidth","_init_scaleSegmentsByCompleteness","_init_extra_scaleSegmentsByCompleteness","_init_scaleEndpoints","_init_extra_scaleEndpoints","_init_billboardObjects","_init_extra_billboardObjects","_init_objectScale","_init_extra_objectScale","_init_movementSpeed","_init_extra_movementSpeed","_init_animValue","_init_extra_animValue","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","boolean","notify","vec3","quat","read","float32","carbon","method","impl","implemented","adapted","notImplemented","name","display","translation","create","rotation","scaling","fromValues","isVisible","point1","point2","bezierPoint","completeness","segments","segmentOffset","lineWidth","scaleSegmentsByCompleteness","scaleEndpoints","billboardObjects","objectScale","movementSpeed","animValue","mat4","vec4","Initialize","OnModified","_options","Math","min","max","Update","updateContext","_params","GeneratePoints","CalculateBoundingSphere","parentTransform","segmentCount","exactEquals","UpdateTransform","copy","lower","upper","points","i","sourceT","t","inverse","a","b","push","GetPointCount","length","meshSize","_reCalculateChildren","center","scale","add","radiusSquared","squaredDistance","set","sqrt","GetBoundingSphere","out","sph3","transformMat4","localTransform","UpdateVisibility","frustum","_parentLod","systemLocation","transform","multiply","sphere","IsSphereVisible","AddLinesToSet","lineSet","color","animColor","scrollSpeed","next","start","endPoint","end","id","AddStraightLine","ChangeLineAnimation","#getSegmentCount","completenessScale","abs","trunc","UpdateBuffer","_args","Error","#getDeltaT","context","value","GetDeltaT","deltaT","Number","isFinite","#transformPoint","point","constructor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EveBezierCurve.js","sources":["../../../../../src/eve/child/lineSetPaths/EveBezierCurve.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\LineSetPaths\\EveBezierCurve.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\LineSetPaths\\EveBezierCurve.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\LineSetPaths\\EveBezierCurve_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\r\nimport { sph3 } from \"@carbonenginejs/runtime-utils/sph3\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveChildTransform } from \"../EveChildTransform.js\";\r\n\r\n\r\n/**\r\n * Line-set path shaped as a quadratic Bezier: samples the curve between two\r\n * endpoints through one control point and emits the resulting chain as line\r\n * segments.\r\n */\r\n@type.define({\r\n className: \"EveBezierCurve\",\r\n family: \"eve/child/lineSetPaths\"\r\n})\r\nexport class EveBezierCurve extends EveChildTransform\r\n{\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n translation = vec3.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.quat\r\n rotation = quat.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n scaling = vec3.fromValues(1, 1, 1);\r\n\r\n @io.read\r\n @type.boolean\r\n isVisible = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n point1 = vec3.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n point2 = vec3.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n bezierPoint = vec3.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n completeness = 1;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n segments = 24;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n segmentOffset = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n lineWidth = 1;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n scaleSegmentsByCompleteness = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n scaleEndpoints = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n billboardObjects = true;\r\n\r\n @io.persist\r\n @type.vec3\r\n objectScale = vec3.fromValues(1, 1, 1);\r\n\r\n @io.persist\r\n @type.float32\r\n movementSpeed = 0;\r\n\r\n @io.read\r\n @type.float32\r\n animValue = 0;\r\n\r\n #points = [];\r\n\r\n #parentTransform = mat4.create();\r\n\r\n #boundingSphere = vec4.create();\r\n\r\n #meshSize = 0;\r\n\r\n #regeneratePoints = true;\r\n\r\n /** Marks the point chain dirty so the first update regenerates it. */\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n this.#regeneratePoints = true;\r\n return true;\r\n }\r\n\r\n /**\r\n * Clamps completeness to 0..2, segments to 1..128 and segmentOffset to 0..1,\r\n * then marks the point chain dirty.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n OnModified(_options = {})\r\n {\r\n this.completeness = Math.min(2, Math.max(0, this.completeness));\r\n this.segments = Math.min(128, Math.max(1, this.segments));\r\n this.segmentOffset = Math.min(1, Math.max(0, this.segmentOffset));\r\n this.#regeneratePoints = true;\r\n return true;\r\n }\r\n\r\n /**\r\n * Advances the scroll animation value by movementSpeed times the frame delta\r\n * (wrapped into 0..1) and, when the points are dirty, regenerates them and the\r\n * bounding sphere; returns whether a regeneration ran.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Update(updateContext, _params = null)\r\n {\r\n if (this.movementSpeed !== 0)\r\n {\r\n this.animValue = (this.animValue + this.movementSpeed * EveBezierCurve.#getDeltaT(updateContext)) % 1;\r\n }\r\n if (!this.#regeneratePoints)\r\n {\r\n return false;\r\n }\r\n this.GeneratePoints();\r\n this.CalculateBoundingSphere();\r\n return true;\r\n }\r\n\r\n /**\r\n * Samples the quadratic Bezier into the point chain across the sub-range selected by completeness, shifted by segmentOffset, and refreshes the world transform. Does nothing when fewer than two segments are requested.\r\n * @param {Float32Array} [parentTransform] - a non-identity matrix is used and cached, so later identity calls reuse the last real parent transform\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GeneratePoints(parentTransform = mat4.create())\r\n {\r\n const segmentCount = this.#getSegmentCount();\r\n if (segmentCount <= 1)\r\n {\r\n return;\r\n }\r\n if (!mat4.exactEquals(parentTransform, EveBezierCurve.#identityMatrix))\r\n {\r\n this.UpdateTransform(parentTransform);\r\n mat4.copy(this.#parentTransform, parentTransform);\r\n }\r\n else\r\n {\r\n this.UpdateTransform(this.#parentTransform);\r\n }\r\n const lower = Math.min(this.completeness, 1);\r\n const upper = Math.max(0, this.completeness - 1);\r\n const points = [];\r\n for (let i = 0; i < segmentCount; i++)\r\n {\r\n const sourceT = i / segmentCount + this.segmentOffset / segmentCount;\r\n const t = sourceT * (lower - upper) + upper;\r\n const inverse = 1 - t;\r\n const a = inverse * inverse;\r\n const b = 2 * inverse * t;\r\n const c = t * t;\r\n points.push(vec3.fromValues(\r\n a * this.point1[0] + b * this.bezierPoint[0] + c * this.point2[0],\r\n a * this.point1[1] + b * this.bezierPoint[1] + c * this.point2[1],\r\n a * this.point1[2] + b * this.bezierPoint[2] + c * this.point2[2]\r\n ));\r\n }\r\n this.#points = points;\r\n this.#regeneratePoints = false;\r\n }\r\n\r\n /** Number of generated points; zero until GeneratePoints has run. */\r\n @carbon.method\r\n @impl.adapted\r\n GetPointCount()\r\n {\r\n return this.#points.length;\r\n }\r\n\r\n /**\r\n * Recomputes the local bounding sphere around the three control points, padded by the mesh size of the billboard objects riding the path.\r\n * @param {Number} [meshSize] - a non-zero value is remembered and reused on later zero-argument calls\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n CalculateBoundingSphere(meshSize = 0, _reCalculateChildren = true)\r\n {\r\n if (meshSize !== 0)\r\n {\r\n this.#meshSize = meshSize;\r\n }\r\n else if (this.#meshSize !== 0)\r\n {\r\n meshSize = this.#meshSize;\r\n }\r\n const center = vec3.scale(vec3.create(), vec3.add(vec3.create(), vec3.add(vec3.create(), this.point1, this.point2), this.bezierPoint), 1 / 3);\r\n const radiusSquared = Math.max(\r\n vec3.squaredDistance(this.point1, center),\r\n vec3.squaredDistance(this.point2, center),\r\n vec3.squaredDistance(this.bezierPoint, center)\r\n );\r\n vec4.set(this.#boundingSphere, center[0], center[1], center[2], Math.sqrt(radiusSquared) + meshSize);\r\n }\r\n\r\n /**\r\n * Returns the cached bounding sphere moved through the path's local transform.\r\n * @param {Float32Array} [out] - caller-owned; allocated when omitted\r\n * @returns {Float32Array} out\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n return sph3.transformMat4(out, this.#boundingSphere, this.localTransform);\r\n }\r\n\r\n /**\r\n * Tests the bounding sphere, placed by the local transform under the given\r\n * system location, against the frustum and stores the result in isVisible; a\r\n * non-displayed path returns early and keeps its previous flag.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n UpdateVisibility(frustum, _parentLod = null, systemLocation = mat4.create())\r\n {\r\n if (!this.display)\r\n {\r\n return;\r\n }\r\n this.isVisible = false;\r\n // Carbon (row-vector): m_localTransform * systemLocation - local first.\r\n const transform = mat4.multiply(mat4.create(), systemLocation, this.localTransform);\r\n const sphere = sph3.transformMat4(vec4.create(), this.#boundingSphere, transform);\r\n this.isVisible = !!frustum?.IsSphereVisible?.(sphere);\r\n }\r\n\r\n /**\r\n * Emits one straight line per segment into the line set (regenerating dirty\r\n * points first), optionally animated at scrollSpeed; the wrap-around segment\r\n * is skipped while completeness is below 1, and the last segment ends exactly\r\n * on point2 rather than on an interpolated sample.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n AddLinesToSet(lineSet, color, animColor, scrollSpeed = 0)\r\n {\r\n if (!this.display || !this.isVisible)\r\n {\r\n return;\r\n }\r\n if (this.#regeneratePoints)\r\n {\r\n this.GeneratePoints();\r\n this.CalculateBoundingSphere();\r\n }\r\n const segmentCount = Math.min(this.#getSegmentCount(), this.#points.length);\r\n for (let i = 0; i < segmentCount; i++)\r\n {\r\n const next = (i + 1) % segmentCount;\r\n if (next === 0 && this.completeness < 1)\r\n {\r\n continue;\r\n }\r\n const start = EveBezierCurve.#transformPoint(this.#points[i], this.localTransform);\r\n const endPoint = next === 0 ? this.point2 : this.#points[next];\r\n const end = EveBezierCurve.#transformPoint(endPoint, this.localTransform);\r\n const id = lineSet.AddStraightLine(start, color, end, color, this.lineWidth);\r\n if (scrollSpeed !== 0)\r\n {\r\n lineSet.ChangeLineAnimation(id, animColor, scrollSpeed, 1);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Rounded segment count, scaled down by how far completeness is from a full\r\n * sweep when scaleSegmentsByCompleteness is set.\r\n */\r\n #getSegmentCount()\r\n {\r\n const completenessScale = 1 - Math.abs(this.completeness - 1);\r\n return Math.trunc(this.scaleSegmentsByCompleteness ? (this.segments + 0.5) * completenessScale : this.segments + 0.5);\r\n }\r\n\r\n /** Carbon EveBezierCurve::UpdateBuffer (EveBezierCurve.cpp:207+,\r\n * pure-virtual on IEveLineSetPath.h:10): fills the billboard-object\r\n * instance buffer. The body carries real compositions (see the EveCircle\r\n * twin) - every one must swap operands per the carbon-math conventions\r\n * when this is ported. */\r\n @carbon.method\r\n @impl.notImplemented\r\n UpdateBuffer(..._args)\r\n {\r\n throw new Error(\"EveBezierCurve.UpdateBuffer is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n static #identityMatrix = mat4.create();\r\n\r\n /**\r\n * Frame delta read from the update-context duck (GetDeltaT() or .deltaT),\r\n * falling back to 0 when neither is present or the value is not finite.\r\n */\r\n static #getDeltaT(context)\r\n {\r\n const value = context?.GetDeltaT?.() ?? context?.deltaT ?? 0;\r\n return Number.isFinite(Number(value)) ? Number(value) : 0;\r\n }\r\n\r\n /**\r\n * Returns a newly allocated vector holding the point moved through the given\r\n * transform.\r\n */\r\n static #transformPoint(point, transform)\r\n {\r\n return vec3.transformMat4(vec3.create(), point, transform);\r\n }\r\n}\r\n"],"names":["_EveBezierCurve","_identity","EveBezierCurve","EveChildTransform","e","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_translation","_init_extra_translation","_init_rotation","_init_extra_rotation","_init_scaling","_init_extra_scaling","_init_isVisible","_init_extra_isVisible","_init_point","_init_extra_point","_init_point2","_init_extra_point2","_init_bezierPoint","_init_extra_bezierPoint","_init_completeness","_init_extra_completeness","_init_segments","_init_extra_segments","_init_segmentOffset","_init_extra_segmentOffset","_init_lineWidth","_init_extra_lineWidth","_init_scaleSegmentsByCompleteness","_init_extra_scaleSegmentsByCompleteness","_init_scaleEndpoints","_init_extra_scaleEndpoints","_init_billboardObjects","_init_extra_billboardObjects","_init_objectScale","_init_extra_objectScale","_init_movementSpeed","_init_extra_movementSpeed","_init_animValue","_init_extra_animValue","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","boolean","notify","vec3","quat","read","float32","carbon","method","impl","implemented","adapted","notImplemented","name","display","translation","create","rotation","scaling","fromValues","isVisible","point1","point2","bezierPoint","completeness","segments","segmentOffset","lineWidth","scaleSegmentsByCompleteness","scaleEndpoints","billboardObjects","objectScale","movementSpeed","animValue","mat4","vec4","Initialize","OnModified","_options","Math","min","max","Update","updateContext","_params","GeneratePoints","CalculateBoundingSphere","parentTransform","segmentCount","exactEquals","UpdateTransform","copy","lower","upper","points","i","sourceT","t","inverse","a","b","push","GetPointCount","length","meshSize","_reCalculateChildren","center","scale","add","radiusSquared","squaredDistance","set","sqrt","GetBoundingSphere","out","sph3","transformMat4","localTransform","UpdateVisibility","frustum","_parentLod","systemLocation","transform","multiply","sphere","IsSphereVisible","AddLinesToSet","lineSet","color","animColor","scrollSpeed","next","start","endPoint","end","id","AddStraightLine","ChangeLineAnimation","#getSegmentCount","completenessScale","abs","trunc","UpdateBuffer","_args","Error","#getDeltaT","context","value","GetDeltaT","deltaT","Number","isFinite","#transformPoint","point","constructor"],"mappings":"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"}
|
|
@@ -9,6 +9,11 @@ import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
|
|
|
9
9
|
import { EveChildTransform as _EveChildTransform } from '../EveChildTransform.js';
|
|
10
10
|
|
|
11
11
|
let _initProto, _initClass, _init_name, _init_extra_name, _init_display, _init_extra_display, _init_translation, _init_extra_translation, _init_rotation, _init_extra_rotation, _init_scaling, _init_extra_scaling, _init_isVisible, _init_extra_isVisible, _init_circleRadius, _init_extra_circleRadius, _init_circleDistort, _init_extra_circleDistort, _init_numSegments, _init_extra_numSegments, _init_completeness, _init_extra_completeness, _init_startPoint, _init_extra_startPoint, _init_lineWidth, _init_extra_lineWidth, _init_scaleSegmentsByCompleteness, _init_extra_scaleSegmentsByCompleteness, _init_scaleEndpoints, _init_extra_scaleEndpoints, _init_billboardObjects, _init_extra_billboardObjects, _init_objectScale, _init_extra_objectScale, _init_movementSpeed, _init_extra_movementSpeed, _init_animValue, _init_extra_animValue;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Line-set path shaped as a ring: samples a circle of circleRadius, optionally
|
|
15
|
+
* distorted per quadrant, and emits the resulting chain as line segments.
|
|
16
|
+
*/
|
|
12
17
|
let _EveCircle;
|
|
13
18
|
new class extends _identity {
|
|
14
19
|
static [class EveCircle extends _EveChildTransform {
|
|
@@ -44,10 +49,17 @@ new class extends _identity {
|
|
|
44
49
|
#boundingSphere = vec4.create();
|
|
45
50
|
#meshSize = 0;
|
|
46
51
|
#regeneratePoints = true;
|
|
52
|
+
|
|
53
|
+
/** Marks the point chain dirty so the first update regenerates it. */
|
|
47
54
|
Initialize() {
|
|
48
55
|
this.#regeneratePoints = true;
|
|
49
56
|
return true;
|
|
50
57
|
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Clamps completeness to 0..2 and numSegments to 1..128, wraps startPoint into
|
|
61
|
+
* one turn, then marks the point chain dirty.
|
|
62
|
+
*/
|
|
51
63
|
OnModified(_options = {}) {
|
|
52
64
|
this.completeness = Math.min(2, Math.max(0, this.completeness));
|
|
53
65
|
this.numSegments = Math.min(128, Math.max(1, this.numSegments));
|
|
@@ -55,6 +67,12 @@ new class extends _identity {
|
|
|
55
67
|
this.#regeneratePoints = true;
|
|
56
68
|
return true;
|
|
57
69
|
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Advances the scroll animation value by movementSpeed times the frame delta
|
|
73
|
+
* (wrapped into 0..1) and, when the points are dirty, regenerates them and the
|
|
74
|
+
* bounding sphere; returns whether a regeneration ran.
|
|
75
|
+
*/
|
|
58
76
|
Update(updateContext, _params = null) {
|
|
59
77
|
if (this.movementSpeed !== 0) {
|
|
60
78
|
this.animValue = (this.animValue + this.movementSpeed * _EveCircle.#getDeltaT(updateContext)) % 1;
|
|
@@ -66,6 +84,11 @@ new class extends _identity {
|
|
|
66
84
|
this.CalculateBoundingSphere();
|
|
67
85
|
return true;
|
|
68
86
|
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Samples the ring into the point chain across the arc selected by completeness and startPoint, rotated by the animation value, with circleDistort applied as a per-quadrant Y offset; also refreshes the world transform. Does nothing when fewer than two segments are requested.
|
|
90
|
+
* @param {Float32Array} [parentTransform] - a non-identity matrix is used and cached, so later identity calls reuse the last real parent transform
|
|
91
|
+
*/
|
|
69
92
|
GeneratePoints(parentTransform = mat4.create()) {
|
|
70
93
|
const segmentCount = this.#getSegmentCount();
|
|
71
94
|
if (segmentCount <= 1) {
|
|
@@ -95,9 +118,16 @@ new class extends _identity {
|
|
|
95
118
|
this.#points = points;
|
|
96
119
|
this.#regeneratePoints = false;
|
|
97
120
|
}
|
|
121
|
+
|
|
122
|
+
/** Number of generated points; zero until GeneratePoints has run. */
|
|
98
123
|
GetPointCount() {
|
|
99
124
|
return this.#points.length;
|
|
100
125
|
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Sets the local bounding sphere to the origin with radius circleRadius + lineWidth + meshSize.
|
|
129
|
+
* @param {Number} [meshSize] - a non-zero value is remembered and reused on later zero-argument calls
|
|
130
|
+
*/
|
|
101
131
|
CalculateBoundingSphere(meshSize = 0, _reCalculateChildren = true) {
|
|
102
132
|
if (meshSize !== 0) {
|
|
103
133
|
this.#meshSize = meshSize;
|
|
@@ -106,9 +136,21 @@ new class extends _identity {
|
|
|
106
136
|
}
|
|
107
137
|
vec4.set(this.#boundingSphere, 0, 0, 0, this.circleRadius + this.lineWidth + meshSize);
|
|
108
138
|
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Returns the cached bounding sphere moved through the path's local transform.
|
|
142
|
+
* @param {Float32Array} [out] - caller-owned; allocated when omitted
|
|
143
|
+
* @returns {Float32Array} out
|
|
144
|
+
*/
|
|
109
145
|
GetBoundingSphere(out = vec4.create()) {
|
|
110
146
|
return sph3.transformMat4(out, this.#boundingSphere, this.localTransform);
|
|
111
147
|
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Tests the bounding sphere, placed by the local transform under the given
|
|
151
|
+
* system location, against the frustum and stores the result in isVisible; a
|
|
152
|
+
* non-displayed path returns early and keeps its previous flag.
|
|
153
|
+
*/
|
|
112
154
|
UpdateVisibility(frustum, _parentLod = null, systemLocation = mat4.create()) {
|
|
113
155
|
if (!this.display) {
|
|
114
156
|
return;
|
|
@@ -119,6 +161,12 @@ new class extends _identity {
|
|
|
119
161
|
const sphere = sph3.transformMat4(vec4.create(), this.#boundingSphere, transform);
|
|
120
162
|
this.isVisible = !!frustum?.IsSphereVisible?.(sphere);
|
|
121
163
|
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Emits one straight line per segment into the line set (regenerating dirty
|
|
167
|
+
* points first), optionally animated at scrollSpeed; the wrap-around segment
|
|
168
|
+
* closing the ring is skipped unless completeness is exactly 1.
|
|
169
|
+
*/
|
|
122
170
|
AddLinesToSet(lineSet, color, animColor, scrollSpeed = 0) {
|
|
123
171
|
if (!this.display || !this.isVisible) {
|
|
124
172
|
return;
|
|
@@ -141,6 +189,11 @@ new class extends _identity {
|
|
|
141
189
|
}
|
|
142
190
|
}
|
|
143
191
|
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Rounded segment count, scaled down by how far completeness is from a full
|
|
195
|
+
* sweep when scaleSegmentsByCompleteness is set.
|
|
196
|
+
*/
|
|
144
197
|
#getSegmentCount() {
|
|
145
198
|
const completenessScale = 1 - Math.abs(this.completeness - 1);
|
|
146
199
|
return Math.trunc(this.scaleSegmentsByCompleteness ? (this.numSegments + 0.5) * completenessScale : this.numSegments + 0.5);
|
|
@@ -156,6 +209,16 @@ new class extends _identity {
|
|
|
156
209
|
UpdateBuffer(..._args) {
|
|
157
210
|
throw new Error("EveCircle.UpdateBuffer is not implemented in CarbonEngineJS.");
|
|
158
211
|
}
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Frame delta read from the update-context duck (GetDeltaT() or .deltaT),
|
|
215
|
+
* falling back to 0 when neither is present or the value is not finite.
|
|
216
|
+
*/
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Returns a newly allocated vector holding the point moved through the given
|
|
220
|
+
* transform.
|
|
221
|
+
*/
|
|
159
222
|
}];
|
|
160
223
|
#identityMatrix = mat4.create();
|
|
161
224
|
#getDeltaT(context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EveCircle.js","sources":["../../../../../src/eve/child/lineSetPaths/EveCircle.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\LineSetPaths\\EveCircle.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\LineSetPaths\\EveCircle.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\LineSetPaths\\EveCircle_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\r\nimport { sph3 } from \"@carbonenginejs/runtime-utils/sph3\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveChildTransform } from \"../EveChildTransform.js\";\r\n\r\n\r\n@type.define({\r\n className: \"EveCircle\",\r\n family: \"eve/child/lineSetPaths\"\r\n})\r\nexport class EveCircle extends EveChildTransform\r\n{\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n translation = vec3.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.quat\r\n rotation = quat.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n scaling = vec3.fromValues(1, 1, 1);\r\n\r\n @io.read\r\n @type.boolean\r\n isVisible = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n circleRadius = 100;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec4\r\n circleDistort = vec4.fromValues(1, 0, 1, 0);\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n numSegments = 64;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n completeness = 1;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n startPoint = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n lineWidth = 1;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n scaleSegmentsByCompleteness = false;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n scaleEndpoints = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n billboardObjects = false;\r\n\r\n @io.persist\r\n @type.vec3\r\n objectScale = vec3.fromValues(1, 1, 1);\r\n\r\n @io.persist\r\n @type.float32\r\n movementSpeed = 0;\r\n\r\n @io.read\r\n @type.float32\r\n animValue = 0;\r\n\r\n #points = [];\r\n\r\n #parentTransform = mat4.create();\r\n\r\n #boundingSphere = vec4.create();\r\n\r\n #meshSize = 0;\r\n\r\n #regeneratePoints = true;\r\n\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n this.#regeneratePoints = true;\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n OnModified(_options = {})\r\n {\r\n this.completeness = Math.min(2, Math.max(0, this.completeness));\r\n this.numSegments = Math.min(128, Math.max(1, this.numSegments));\r\n this.startPoint %= 1;\r\n this.#regeneratePoints = true;\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Update(updateContext, _params = null)\r\n {\r\n if (this.movementSpeed !== 0)\r\n {\r\n this.animValue = (this.animValue + this.movementSpeed * EveCircle.#getDeltaT(updateContext)) % 1;\r\n }\r\n if (!this.#regeneratePoints)\r\n {\r\n return false;\r\n }\r\n this.GeneratePoints();\r\n this.CalculateBoundingSphere();\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GeneratePoints(parentTransform = mat4.create())\r\n {\r\n const segmentCount = this.#getSegmentCount();\r\n if (segmentCount <= 1)\r\n {\r\n return;\r\n }\r\n if (!mat4.exactEquals(parentTransform, EveCircle.#identityMatrix))\r\n {\r\n this.UpdateTransform(parentTransform);\r\n mat4.copy(this.#parentTransform, parentTransform);\r\n }\r\n else\r\n {\r\n this.UpdateTransform(this.#parentTransform);\r\n }\r\n const totalArc = (1 - Math.abs(this.completeness - 1)) * Math.PI * 2;\r\n const startOffset = this.startPoint * Math.PI * 2 + Math.max(this.completeness - 1, 0) * Math.PI * 2 + totalArc / (2 * segmentCount);\r\n const points = [];\r\n for (let i = 0; i < segmentCount; i++)\r\n {\r\n const location = startOffset + totalArc * (i / segmentCount + this.animValue / segmentCount);\r\n const sin = Math.sin(location);\r\n const cos = Math.cos(location);\r\n let y = 0;\r\n if (this.circleDistort[1] !== 0 || this.circleDistort[3] !== 0)\r\n {\r\n const distort1 = sin < 0 ? this.circleDistort[0] : this.circleDistort[2];\r\n const distort2 = cos < 0 ? this.circleDistort[3] : this.circleDistort[1];\r\n y = sin * sin * this.circleRadius * distort1 + cos * cos * this.circleRadius * distort2;\r\n }\r\n points.push(vec3.fromValues(cos * this.circleRadius, y, sin * this.circleRadius));\r\n }\r\n this.#points = points;\r\n this.#regeneratePoints = false;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetPointCount()\r\n {\r\n return this.#points.length;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n CalculateBoundingSphere(meshSize = 0, _reCalculateChildren = true)\r\n {\r\n if (meshSize !== 0)\r\n {\r\n this.#meshSize = meshSize;\r\n }\r\n else if (this.#meshSize !== 0)\r\n {\r\n meshSize = this.#meshSize;\r\n }\r\n vec4.set(this.#boundingSphere, 0, 0, 0, this.circleRadius + this.lineWidth + meshSize);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n return sph3.transformMat4(out, this.#boundingSphere, this.localTransform);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n UpdateVisibility(frustum, _parentLod = null, systemLocation = mat4.create())\r\n {\r\n if (!this.display)\r\n {\r\n return;\r\n }\r\n this.isVisible = false;\r\n // Carbon (row-vector): m_localTransform * systemLocation - local first.\r\n const transform = mat4.multiply(mat4.create(), systemLocation, this.localTransform);\r\n const sphere = sph3.transformMat4(vec4.create(), this.#boundingSphere, transform);\r\n this.isVisible = !!frustum?.IsSphereVisible?.(sphere);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n AddLinesToSet(lineSet, color, animColor, scrollSpeed = 0)\r\n {\r\n if (!this.display || !this.isVisible)\r\n {\r\n return;\r\n }\r\n if (this.#regeneratePoints)\r\n {\r\n this.GeneratePoints();\r\n this.CalculateBoundingSphere();\r\n }\r\n const segmentCount = Math.min(this.#getSegmentCount(), this.#points.length);\r\n for (let i = 0; i < segmentCount; i++)\r\n {\r\n const next = (i + 1) % segmentCount;\r\n if (this.completeness !== 1 && next === 0)\r\n {\r\n continue;\r\n }\r\n const start = EveCircle.#transformPoint(this.#points[i], this.localTransform);\r\n const end = EveCircle.#transformPoint(this.#points[next], this.localTransform);\r\n const id = lineSet.AddStraightLine(start, color, end, color, this.lineWidth);\r\n if (scrollSpeed !== 0)\r\n {\r\n lineSet.ChangeLineAnimation(id, animColor, scrollSpeed, 1);\r\n }\r\n }\r\n }\r\n\r\n #getSegmentCount()\r\n {\r\n const completenessScale = 1 - Math.abs(this.completeness - 1);\r\n return Math.trunc(this.scaleSegmentsByCompleteness ? (this.numSegments + 0.5) * completenessScale : this.numSegments + 0.5);\r\n }\r\n\r\n /** Carbon EveCircle::UpdateBuffer (EveCircle.cpp:209-266, pure-virtual on\r\n * IEveLineSetPath.h:10): fills the billboard-object instance buffer. The\r\n * body carries real compositions - TransformationMatrix(sizeMod *\r\n * objectScale, objRot, translation) * m_localTransform,\r\n * Decompose(m_localTransform * systemLocation), TransformCoord with an\r\n * inverse rotation, and a 12-float transposed pack - EVERY one of which\r\n * must swap operands per the carbon-math conventions when this is ported. */\r\n @carbon.method\r\n @impl.notImplemented\r\n UpdateBuffer(..._args)\r\n {\r\n throw new Error(\"EveCircle.UpdateBuffer is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n static #identityMatrix = mat4.create();\r\n\r\n static #getDeltaT(context)\r\n {\r\n const value = context?.GetDeltaT?.() ?? context?.deltaT ?? 0;\r\n return Number.isFinite(Number(value)) ? Number(value) : 0;\r\n }\r\n\r\n static #transformPoint(point, transform)\r\n {\r\n return vec3.transformMat4(vec3.create(), point, transform);\r\n }\r\n}\r\n"],"names":["_EveCircle","_identity","EveCircle","EveChildTransform","e","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_translation","_init_extra_translation","_init_rotation","_init_extra_rotation","_init_scaling","_init_extra_scaling","_init_isVisible","_init_extra_isVisible","_init_circleRadius","_init_extra_circleRadius","_init_circleDistort","_init_extra_circleDistort","_init_numSegments","_init_extra_numSegments","_init_completeness","_init_extra_completeness","_init_startPoint","_init_extra_startPoint","_init_lineWidth","_init_extra_lineWidth","_init_scaleSegmentsByCompleteness","_init_extra_scaleSegmentsByCompleteness","_init_scaleEndpoints","_init_extra_scaleEndpoints","_init_billboardObjects","_init_extra_billboardObjects","_init_objectScale","_init_extra_objectScale","_init_movementSpeed","_init_extra_movementSpeed","_init_animValue","_init_extra_animValue","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","boolean","notify","vec3","quat","read","float32","vec4","carbon","method","impl","implemented","adapted","notImplemented","name","display","translation","create","rotation","scaling","fromValues","isVisible","circleRadius","circleDistort","numSegments","completeness","startPoint","lineWidth","scaleSegmentsByCompleteness","scaleEndpoints","billboardObjects","objectScale","movementSpeed","animValue","mat4","Initialize","OnModified","_options","Math","min","max","Update","updateContext","_params","GeneratePoints","CalculateBoundingSphere","parentTransform","segmentCount","exactEquals","UpdateTransform","copy","totalArc","abs","PI","startOffset","points","i","location","sin","cos","y","distort1","distort2","push","GetPointCount","length","meshSize","_reCalculateChildren","set","GetBoundingSphere","out","sph3","transformMat4","localTransform","UpdateVisibility","frustum","_parentLod","systemLocation","transform","multiply","sphere","IsSphereVisible","AddLinesToSet","lineSet","color","animColor","scrollSpeed","next","start","end","id","AddStraightLine","ChangeLineAnimation","#getSegmentCount","completenessScale","trunc","UpdateBuffer","_args","Error","#getDeltaT","context","value","GetDeltaT","deltaT","Number","isFinite","#transformPoint","point","constructor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EveCircle.js","sources":["../../../../../src/eve/child/lineSetPaths/EveCircle.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\LineSetPaths\\EveCircle.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\LineSetPaths\\EveCircle.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\LineSetPaths\\EveCircle_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\r\nimport { sph3 } from \"@carbonenginejs/runtime-utils/sph3\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveChildTransform } from \"../EveChildTransform.js\";\r\n\r\n\r\n/**\r\n * Line-set path shaped as a ring: samples a circle of circleRadius, optionally\r\n * distorted per quadrant, and emits the resulting chain as line segments.\r\n */\r\n@type.define({\r\n className: \"EveCircle\",\r\n family: \"eve/child/lineSetPaths\"\r\n})\r\nexport class EveCircle extends EveChildTransform\r\n{\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n translation = vec3.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.quat\r\n rotation = quat.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n scaling = vec3.fromValues(1, 1, 1);\r\n\r\n @io.read\r\n @type.boolean\r\n isVisible = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n circleRadius = 100;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec4\r\n circleDistort = vec4.fromValues(1, 0, 1, 0);\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n numSegments = 64;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n completeness = 1;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n startPoint = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n lineWidth = 1;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n scaleSegmentsByCompleteness = false;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n scaleEndpoints = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n billboardObjects = false;\r\n\r\n @io.persist\r\n @type.vec3\r\n objectScale = vec3.fromValues(1, 1, 1);\r\n\r\n @io.persist\r\n @type.float32\r\n movementSpeed = 0;\r\n\r\n @io.read\r\n @type.float32\r\n animValue = 0;\r\n\r\n #points = [];\r\n\r\n #parentTransform = mat4.create();\r\n\r\n #boundingSphere = vec4.create();\r\n\r\n #meshSize = 0;\r\n\r\n #regeneratePoints = true;\r\n\r\n /** Marks the point chain dirty so the first update regenerates it. */\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n this.#regeneratePoints = true;\r\n return true;\r\n }\r\n\r\n /**\r\n * Clamps completeness to 0..2 and numSegments to 1..128, wraps startPoint into\r\n * one turn, then marks the point chain dirty.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n OnModified(_options = {})\r\n {\r\n this.completeness = Math.min(2, Math.max(0, this.completeness));\r\n this.numSegments = Math.min(128, Math.max(1, this.numSegments));\r\n this.startPoint %= 1;\r\n this.#regeneratePoints = true;\r\n return true;\r\n }\r\n\r\n /**\r\n * Advances the scroll animation value by movementSpeed times the frame delta\r\n * (wrapped into 0..1) and, when the points are dirty, regenerates them and the\r\n * bounding sphere; returns whether a regeneration ran.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Update(updateContext, _params = null)\r\n {\r\n if (this.movementSpeed !== 0)\r\n {\r\n this.animValue = (this.animValue + this.movementSpeed * EveCircle.#getDeltaT(updateContext)) % 1;\r\n }\r\n if (!this.#regeneratePoints)\r\n {\r\n return false;\r\n }\r\n this.GeneratePoints();\r\n this.CalculateBoundingSphere();\r\n return true;\r\n }\r\n\r\n /**\r\n * Samples the ring into the point chain across the arc selected by completeness and startPoint, rotated by the animation value, with circleDistort applied as a per-quadrant Y offset; also refreshes the world transform. Does nothing when fewer than two segments are requested.\r\n * @param {Float32Array} [parentTransform] - a non-identity matrix is used and cached, so later identity calls reuse the last real parent transform\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GeneratePoints(parentTransform = mat4.create())\r\n {\r\n const segmentCount = this.#getSegmentCount();\r\n if (segmentCount <= 1)\r\n {\r\n return;\r\n }\r\n if (!mat4.exactEquals(parentTransform, EveCircle.#identityMatrix))\r\n {\r\n this.UpdateTransform(parentTransform);\r\n mat4.copy(this.#parentTransform, parentTransform);\r\n }\r\n else\r\n {\r\n this.UpdateTransform(this.#parentTransform);\r\n }\r\n const totalArc = (1 - Math.abs(this.completeness - 1)) * Math.PI * 2;\r\n const startOffset = this.startPoint * Math.PI * 2 + Math.max(this.completeness - 1, 0) * Math.PI * 2 + totalArc / (2 * segmentCount);\r\n const points = [];\r\n for (let i = 0; i < segmentCount; i++)\r\n {\r\n const location = startOffset + totalArc * (i / segmentCount + this.animValue / segmentCount);\r\n const sin = Math.sin(location);\r\n const cos = Math.cos(location);\r\n let y = 0;\r\n if (this.circleDistort[1] !== 0 || this.circleDistort[3] !== 0)\r\n {\r\n const distort1 = sin < 0 ? this.circleDistort[0] : this.circleDistort[2];\r\n const distort2 = cos < 0 ? this.circleDistort[3] : this.circleDistort[1];\r\n y = sin * sin * this.circleRadius * distort1 + cos * cos * this.circleRadius * distort2;\r\n }\r\n points.push(vec3.fromValues(cos * this.circleRadius, y, sin * this.circleRadius));\r\n }\r\n this.#points = points;\r\n this.#regeneratePoints = false;\r\n }\r\n\r\n /** Number of generated points; zero until GeneratePoints has run. */\r\n @carbon.method\r\n @impl.adapted\r\n GetPointCount()\r\n {\r\n return this.#points.length;\r\n }\r\n\r\n /**\r\n * Sets the local bounding sphere to the origin with radius circleRadius + lineWidth + meshSize.\r\n * @param {Number} [meshSize] - a non-zero value is remembered and reused on later zero-argument calls\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n CalculateBoundingSphere(meshSize = 0, _reCalculateChildren = true)\r\n {\r\n if (meshSize !== 0)\r\n {\r\n this.#meshSize = meshSize;\r\n }\r\n else if (this.#meshSize !== 0)\r\n {\r\n meshSize = this.#meshSize;\r\n }\r\n vec4.set(this.#boundingSphere, 0, 0, 0, this.circleRadius + this.lineWidth + meshSize);\r\n }\r\n\r\n /**\r\n * Returns the cached bounding sphere moved through the path's local transform.\r\n * @param {Float32Array} [out] - caller-owned; allocated when omitted\r\n * @returns {Float32Array} out\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n return sph3.transformMat4(out, this.#boundingSphere, this.localTransform);\r\n }\r\n\r\n /**\r\n * Tests the bounding sphere, placed by the local transform under the given\r\n * system location, against the frustum and stores the result in isVisible; a\r\n * non-displayed path returns early and keeps its previous flag.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n UpdateVisibility(frustum, _parentLod = null, systemLocation = mat4.create())\r\n {\r\n if (!this.display)\r\n {\r\n return;\r\n }\r\n this.isVisible = false;\r\n // Carbon (row-vector): m_localTransform * systemLocation - local first.\r\n const transform = mat4.multiply(mat4.create(), systemLocation, this.localTransform);\r\n const sphere = sph3.transformMat4(vec4.create(), this.#boundingSphere, transform);\r\n this.isVisible = !!frustum?.IsSphereVisible?.(sphere);\r\n }\r\n\r\n /**\r\n * Emits one straight line per segment into the line set (regenerating dirty\r\n * points first), optionally animated at scrollSpeed; the wrap-around segment\r\n * closing the ring is skipped unless completeness is exactly 1.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n AddLinesToSet(lineSet, color, animColor, scrollSpeed = 0)\r\n {\r\n if (!this.display || !this.isVisible)\r\n {\r\n return;\r\n }\r\n if (this.#regeneratePoints)\r\n {\r\n this.GeneratePoints();\r\n this.CalculateBoundingSphere();\r\n }\r\n const segmentCount = Math.min(this.#getSegmentCount(), this.#points.length);\r\n for (let i = 0; i < segmentCount; i++)\r\n {\r\n const next = (i + 1) % segmentCount;\r\n if (this.completeness !== 1 && next === 0)\r\n {\r\n continue;\r\n }\r\n const start = EveCircle.#transformPoint(this.#points[i], this.localTransform);\r\n const end = EveCircle.#transformPoint(this.#points[next], this.localTransform);\r\n const id = lineSet.AddStraightLine(start, color, end, color, this.lineWidth);\r\n if (scrollSpeed !== 0)\r\n {\r\n lineSet.ChangeLineAnimation(id, animColor, scrollSpeed, 1);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Rounded segment count, scaled down by how far completeness is from a full\r\n * sweep when scaleSegmentsByCompleteness is set.\r\n */\r\n #getSegmentCount()\r\n {\r\n const completenessScale = 1 - Math.abs(this.completeness - 1);\r\n return Math.trunc(this.scaleSegmentsByCompleteness ? (this.numSegments + 0.5) * completenessScale : this.numSegments + 0.5);\r\n }\r\n\r\n /** Carbon EveCircle::UpdateBuffer (EveCircle.cpp:209-266, pure-virtual on\r\n * IEveLineSetPath.h:10): fills the billboard-object instance buffer. The\r\n * body carries real compositions - TransformationMatrix(sizeMod *\r\n * objectScale, objRot, translation) * m_localTransform,\r\n * Decompose(m_localTransform * systemLocation), TransformCoord with an\r\n * inverse rotation, and a 12-float transposed pack - EVERY one of which\r\n * must swap operands per the carbon-math conventions when this is ported. */\r\n @carbon.method\r\n @impl.notImplemented\r\n UpdateBuffer(..._args)\r\n {\r\n throw new Error(\"EveCircle.UpdateBuffer is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n static #identityMatrix = mat4.create();\r\n\r\n /**\r\n * Frame delta read from the update-context duck (GetDeltaT() or .deltaT),\r\n * falling back to 0 when neither is present or the value is not finite.\r\n */\r\n static #getDeltaT(context)\r\n {\r\n const value = context?.GetDeltaT?.() ?? context?.deltaT ?? 0;\r\n return Number.isFinite(Number(value)) ? Number(value) : 0;\r\n }\r\n\r\n /**\r\n * Returns a newly allocated vector holding the point moved through the given\r\n * transform.\r\n */\r\n static #transformPoint(point, transform)\r\n {\r\n return vec3.transformMat4(vec3.create(), point, transform);\r\n }\r\n}\r\n"],"names":["_EveCircle","_identity","EveCircle","EveChildTransform","e","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_translation","_init_extra_translation","_init_rotation","_init_extra_rotation","_init_scaling","_init_extra_scaling","_init_isVisible","_init_extra_isVisible","_init_circleRadius","_init_extra_circleRadius","_init_circleDistort","_init_extra_circleDistort","_init_numSegments","_init_extra_numSegments","_init_completeness","_init_extra_completeness","_init_startPoint","_init_extra_startPoint","_init_lineWidth","_init_extra_lineWidth","_init_scaleSegmentsByCompleteness","_init_extra_scaleSegmentsByCompleteness","_init_scaleEndpoints","_init_extra_scaleEndpoints","_init_billboardObjects","_init_extra_billboardObjects","_init_objectScale","_init_extra_objectScale","_init_movementSpeed","_init_extra_movementSpeed","_init_animValue","_init_extra_animValue","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","boolean","notify","vec3","quat","read","float32","vec4","carbon","method","impl","implemented","adapted","notImplemented","name","display","translation","create","rotation","scaling","fromValues","isVisible","circleRadius","circleDistort","numSegments","completeness","startPoint","lineWidth","scaleSegmentsByCompleteness","scaleEndpoints","billboardObjects","objectScale","movementSpeed","animValue","mat4","Initialize","OnModified","_options","Math","min","max","Update","updateContext","_params","GeneratePoints","CalculateBoundingSphere","parentTransform","segmentCount","exactEquals","UpdateTransform","copy","totalArc","abs","PI","startOffset","points","i","location","sin","cos","y","distort1","distort2","push","GetPointCount","length","meshSize","_reCalculateChildren","set","GetBoundingSphere","out","sph3","transformMat4","localTransform","UpdateVisibility","frustum","_parentLod","systemLocation","transform","multiply","sphere","IsSphereVisible","AddLinesToSet","lineSet","color","animColor","scrollSpeed","next","start","end","id","AddStraightLine","ChangeLineAnimation","#getSegmentCount","completenessScale","trunc","UpdateBuffer","_args","Error","#getDeltaT","context","value","GetDeltaT","deltaT","Number","isFinite","#transformPoint","point","constructor"],"mappings":"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"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '
|
|
1
|
+
import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
|
|
3
3
|
import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
|
|
4
4
|
import { CjsModel } from '@carbonenginejs/runtime-utils/model';
|
|
5
5
|
|
|
6
6
|
let _initProto, _initClass, _init_boneIndex, _init_extra_boneIndex;
|
|
7
7
|
|
|
8
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* Transform modifier that rigidly attaches a child to one bone of the parent's
|
|
10
|
+
* animation bone palette.
|
|
11
|
+
*/
|
|
9
12
|
let _EveChildModifierAtta;
|
|
10
13
|
new class extends _identity {
|
|
11
14
|
static [class EveChildModifierAttachToBone extends CjsModel {
|
|
@@ -22,22 +25,21 @@ new class extends _identity {
|
|
|
22
25
|
super(...args);
|
|
23
26
|
_init_extra_boneIndex(this);
|
|
24
27
|
}
|
|
25
|
-
/** m_boneIndex (int32_t) [READWRITE, PERSIST] */
|
|
26
28
|
boneIndex = (_initProto(this), _init_boneIndex(this, -1));
|
|
27
29
|
|
|
28
|
-
/**
|
|
29
|
-
* Composes the bone transform BEFORE the child transform (Carbon
|
|
30
|
-
* EveChildModifierAttachToBone.cpp: `boneMatrix * transform`, row-vector -
|
|
31
|
-
* bone first, so gl composes transform . bone). Bones arrive as the
|
|
32
|
-
* Float4x3 column-stride 12-float palette (skill gotcha 7:
|
|
33
|
-
* rows are (v0,v4,v8,v12) / (v1,v5,v9,v13) / (v2,v6,v10,v14)).
|
|
34
|
-
*
|
|
35
|
-
* @param {Object} _context - unused (not camera dependent)
|
|
36
|
-
* @param {Float32Array} transform - source (read only)
|
|
37
|
-
* @param {Number} boneCount
|
|
38
|
-
* @param {Float32Array|Array} bones - Float4x3 palette, 12 floats per bone
|
|
39
|
-
* @param {Float32Array} out - caller-owned; receives the result
|
|
40
|
-
* @returns {Float32Array} out
|
|
30
|
+
/**
|
|
31
|
+
* Composes the bone transform BEFORE the child transform (Carbon
|
|
32
|
+
* EveChildModifierAttachToBone.cpp: `boneMatrix * transform`, row-vector -
|
|
33
|
+
* bone first, so gl composes transform . bone). Bones arrive as the
|
|
34
|
+
* Float4x3 column-stride 12-float palette (skill gotcha 7:
|
|
35
|
+
* rows are (v0,v4,v8,v12) / (v1,v5,v9,v13) / (v2,v6,v10,v14)).
|
|
36
|
+
*
|
|
37
|
+
* @param {Object} _context - unused (not camera dependent)
|
|
38
|
+
* @param {Float32Array} transform - source (read only)
|
|
39
|
+
* @param {Number} boneCount
|
|
40
|
+
* @param {Float32Array|Array} bones - Float4x3 palette, 12 floats per bone
|
|
41
|
+
* @param {Float32Array} out - caller-owned; receives the result
|
|
42
|
+
* @returns {Float32Array} out
|
|
41
43
|
*/
|
|
42
44
|
ApplyTransform(_context, transform, boneCount = 0, bones = null, out) {
|
|
43
45
|
if (this.boneIndex < 0 || this.boneIndex >= boneCount || !bones) {
|
|
@@ -61,6 +63,12 @@ new class extends _identity {
|
|
|
61
63
|
// Carbon (row-vector): boneMatrix * transform - bone first.
|
|
62
64
|
return mat4.multiply(out, transform, bone);
|
|
63
65
|
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Selects which bone of the parent's palette the child follows; a negative
|
|
69
|
+
* index, or one past the palette length, leaves the incoming transform
|
|
70
|
+
* untouched.
|
|
71
|
+
*/
|
|
64
72
|
SetBoneIndex(index) {
|
|
65
73
|
this.boneIndex = Number(index) | 0;
|
|
66
74
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EveChildModifierAttachToBone.js","sources":["../../../../../src/eve/child/modifiers/EveChildModifierAttachToBone.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\TransformModifiers\\EveChildModifierAttachToBone.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\TransformModifiers\\EveChildModifierAttachToBone.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\TransformModifiers\\EveChildModifierAttachToBone_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\n\r\n/**\r\n * Transform modifier that rigidly attaches a child to one bone of the parent's\r\n * animation bone palette.\r\n */\r\n@type.define({ className: \"EveChildModifierAttachToBone\", family: \"eve/child/modifiers\" })\r\nexport class EveChildModifierAttachToBone extends CjsModel\r\n{\r\n @io.persist\r\n @type.int32\r\n boneIndex = -1;\r\n\r\n /**\r\n * Composes the bone transform BEFORE the child transform (Carbon\r\n * EveChildModifierAttachToBone.cpp: `boneMatrix * transform`, row-vector -\r\n * bone first, so gl composes transform . bone). Bones arrive as the\r\n * Float4x3 column-stride 12-float palette (skill gotcha 7:\r\n * rows are (v0,v4,v8,v12) / (v1,v5,v9,v13) / (v2,v6,v10,v14)).\r\n *\r\n * @param {Object} _context - unused (not camera dependent)\r\n * @param {Float32Array} transform - source (read only)\r\n * @param {Number} boneCount\r\n * @param {Float32Array|Array} bones - Float4x3 palette, 12 floats per bone\r\n * @param {Float32Array} out - caller-owned; receives the result\r\n * @returns {Float32Array} out\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n ApplyTransform(_context, transform, boneCount = 0, bones = null, out)\r\n {\r\n if (this.boneIndex < 0 || this.boneIndex >= boneCount || !bones)\r\n {\r\n return mat4.copy(out, transform);\r\n }\r\n const bone = EveChildModifierAttachToBone.#boneMatrix;\r\n const offset = this.boneIndex * 12;\r\n // TriMatrixCopyFrom3x4: Float4x3 row i holds column-stride components.\r\n bone[0] = bones[offset];\r\n bone[4] = bones[offset + 1];\r\n bone[8] = bones[offset + 2];\r\n bone[12] = bones[offset + 3];\r\n bone[1] = bones[offset + 4];\r\n bone[5] = bones[offset + 5];\r\n bone[9] = bones[offset + 6];\r\n bone[13] = bones[offset + 7];\r\n bone[2] = bones[offset + 8];\r\n bone[6] = bones[offset + 9];\r\n bone[10] = bones[offset + 10];\r\n bone[14] = bones[offset + 11];\r\n // Carbon (row-vector): boneMatrix * transform - bone first.\r\n return mat4.multiply(out, transform, bone);\r\n }\r\n\r\n /**\r\n * Selects which bone of the parent's palette the child follows; a negative\r\n * index, or one past the palette length, leaves the incoming transform\r\n * untouched.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetBoneIndex(index)\r\n {\r\n this.boneIndex = Number(index) | 0;\r\n }\r\n\r\n static #boneMatrix = mat4.create();\r\n\r\n}\r\n"],"names":["_EveChildModifierAtta","_identity","EveChildModifierAttachToBone","CjsModel","e","_init_boneIndex","_init_extra_boneIndex","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","int32","carbon","method","impl","implemented","constructor","args","boneIndex","ApplyTransform","_context","transform","boneCount","bones","out","mat4","copy","bone","offset","multiply","SetBoneIndex","index","Number","create"],"mappings":"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"}
|
|
@@ -5,6 +5,11 @@ import { carbon, impl, type } from '@carbonenginejs/runtime-utils/schema';
|
|
|
5
5
|
import { Billboard2D } from './EveChildModifierTransformCommon.js';
|
|
6
6
|
|
|
7
7
|
let _initProto, _initClass;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Transform modifier that aligns a child to the screen plane, leaving it facing
|
|
11
|
+
* the viewer whatever the camera does.
|
|
12
|
+
*/
|
|
8
13
|
let _EveChildModifierBill;
|
|
9
14
|
class EveChildModifierBillboard2D extends CjsModel {
|
|
10
15
|
static {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EveChildModifierBillboard2D.js","sources":["../../../../../src/eve/child/modifiers/EveChildModifierBillboard2D.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\TransformModifiers\\EveChildModifierBillboard2D.cpp\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { carbon, impl, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { Billboard2D } from \"./EveChildModifierTransformCommon.js\";\n\n\n@type.define({\n className: \"EveChildModifierBillboard2D\",\n family: \"eve/child/modifiers\"\n})\nexport class EveChildModifierBillboard2D extends CjsModel\n{\n /**\n * Screen-aligned billboard. Reproduces\n * EveChildModifierBillboard2D::ApplyTransform (Carbon), which forwards to the\n * shared Billboard2D helper.\n * @param {Object} context - frame context; reads context.renderContext\n * @param {Float32Array} transform - source (read only)\n * @param {Number} [boneCount] - Carbon signature parity, unused\n * @param {Float32Array} [bones] - Carbon signature parity, unused\n * @param {Float32Array} out - caller-owned; receives the result\n * @returns {Float32Array} out\n */\n @carbon.method\n @carbon.contextual([\"camera\"])\n @impl.implemented\n ApplyTransform(context, transform, boneCount, bones, out)\n {\n if (!context?.renderContext)\n {\n return mat4.copy(out, transform);\n }\n\n return Billboard2D(context, transform, out);\n }\n}\n"],"names":["_EveChildModifierBill","EveChildModifierBillboard2D","CjsModel","e","_initProto","c","_initClass","_applyDecs","type","define","className","family","carbon","method","contextual","impl","implemented","constructor","args","ApplyTransform","context","transform","boneCount","bones","out","renderContext","mat4","copy","Billboard2D"],"mappings":"
|
|
1
|
+
{"version":3,"file":"EveChildModifierBillboard2D.js","sources":["../../../../../src/eve/child/modifiers/EveChildModifierBillboard2D.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\TransformModifiers\\EveChildModifierBillboard2D.cpp\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { carbon, impl, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { Billboard2D } from \"./EveChildModifierTransformCommon.js\";\n\n\n/**\n * Transform modifier that aligns a child to the screen plane, leaving it facing\n * the viewer whatever the camera does.\n */\n@type.define({\n className: \"EveChildModifierBillboard2D\",\n family: \"eve/child/modifiers\"\n})\nexport class EveChildModifierBillboard2D extends CjsModel\n{\n /**\n * Screen-aligned billboard. Reproduces\n * EveChildModifierBillboard2D::ApplyTransform (Carbon), which forwards to the\n * shared Billboard2D helper.\n * @param {Object} context - frame context; reads context.renderContext\n * @param {Float32Array} transform - source (read only)\n * @param {Number} [boneCount] - Carbon signature parity, unused\n * @param {Float32Array} [bones] - Carbon signature parity, unused\n * @param {Float32Array} out - caller-owned; receives the result\n * @returns {Float32Array} out\n */\n @carbon.method\n @carbon.contextual([\"camera\"])\n @impl.implemented\n ApplyTransform(context, transform, boneCount, bones, out)\n {\n if (!context?.renderContext)\n {\n return mat4.copy(out, transform);\n }\n\n return Billboard2D(context, transform, out);\n }\n}\n"],"names":["_EveChildModifierBill","EveChildModifierBillboard2D","CjsModel","e","_initProto","c","_initClass","_applyDecs","type","define","className","family","carbon","method","contextual","impl","implemented","constructor","args","ApplyTransform","context","transform","boneCount","bones","out","renderContext","mat4","copy","Billboard2D"],"mappings":";;;;;;;;AAOA;AACA;AACA;AACA;AAHA,IAAAA;AAIA,MAAAC,2BAAA,SAIiDC,QAAQ,CACzD;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,GAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAAL,qBAAA,EAAAM,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CALCC,IAAI,CAACC,MAAM,CAAC;AACXC,MAAAA,SAAS,EAAE,6BAA6B;AACxCC,MAAAA,MAAM,EAAE;KACT,CAAC,MAcCC,MAAM,EAANA,MAAM,CAACC,MAAM,EAAA,MAAA,EACbD,MAAM,CAACE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAC7BC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAf8Bd,QAAQ,CAAA;AAAA;AAAAe,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAd,UAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAEvD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAIEe,cAAcA,CAACC,OAAO,EAAEC,SAAS,EAAEC,SAAS,EAAEC,KAAK,EAAEC,GAAG,EACxD;AACE,IAAA,IAAI,CAACJ,OAAO,EAAEK,aAAa,EAC3B;AACE,MAAA,OAAOC,IAAI,CAACC,IAAI,CAACH,GAAG,EAAEH,SAAS,CAAC;AAClC,IAAA;AAEA,IAAA,OAAOO,WAAW,CAACR,OAAO,EAAEC,SAAS,EAAEG,GAAG,CAAC;AAC7C,EAAA;AAAC,EAAA;IAAAlB,UAAA,EAAA;AAAA;AACH;;;;"}
|