@carbonenginejs/runtime-trinity 0.6.0 → 0.8.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 +342 -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 +143 -5
- 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/CjsPerFrameLayouts.js +517 -0
- package/dist/trinityCore/rawData/CjsPerFrameLayouts.js.map +1 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +790 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
- package/dist/trinityCore/rawData/RawData.js +323 -39
- 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/trinityCore/rawData/constantLayout.js +175 -0
- package/dist/trinityCore/rawData/constantLayout.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 +34 -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
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { CjsModel } from '@carbonenginejs/runtime-utils/model';
|
|
3
|
+
import { TriBatchType } from '@carbonenginejs/runtime-utils/graphics';
|
|
4
|
+
import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
|
|
5
|
+
import { BELIST_LOADING, BELIST_EVENTMASK, BELIST_UNLOADSTART, BELIST_REMOVED, BELIST_INSERTED } from '../../controllers/contracts.js';
|
|
6
|
+
|
|
7
|
+
let _initProto, _initClass, _init_name, _init_extra_name, _init_controllers, _init_extra_controllers, _init_curveSet, _init_extra_curveSet, _init_additiveEffects, _init_extra_additiveEffects, _init_decalEffects, _init_extra_decalEffects, _init_distortionEffects, _init_extra_distortionEffects, _init_opaqueEffects, _init_extra_opaqueEffects, _init_transparentEffects, _init_extra_transparentEffects, _init_update, _init_extra_update, _init_display, _init_extra_display;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Named overlay pass attached to a mesh, holding one effect list per batch type
|
|
11
|
+
* together with the curve set and controllers that animate them.
|
|
12
|
+
*/
|
|
13
|
+
let _EveMeshOverlayEffect;
|
|
14
|
+
new class extends _identity {
|
|
15
|
+
static [class EveMeshOverlayEffect extends CjsModel {
|
|
16
|
+
static {
|
|
17
|
+
({
|
|
18
|
+
e: [_init_name, _init_extra_name, _init_controllers, _init_extra_controllers, _init_curveSet, _init_extra_curveSet, _init_additiveEffects, _init_extra_additiveEffects, _init_decalEffects, _init_extra_decalEffects, _init_distortionEffects, _init_extra_distortionEffects, _init_opaqueEffects, _init_extra_opaqueEffects, _init_transparentEffects, _init_extra_transparentEffects, _init_update, _init_extra_update, _init_display, _init_extra_display, _initProto],
|
|
19
|
+
c: [_EveMeshOverlayEffect, _initClass]
|
|
20
|
+
} = _applyDecs2311(this, [type.define({
|
|
21
|
+
className: "EveMeshOverlayEffect",
|
|
22
|
+
family: "eve/overlays"
|
|
23
|
+
})], [[[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, void 0, type.list("ITr2Controller")], 16, "controllers"], [[io, io.persist, void 0, type.model("TriCurveSet")], 16, "curveSet"], [[io, io.persist, void 0, type.list("Tr2Effect")], 16, "additiveEffects"], [[io, io.persist, void 0, type.list("Tr2Effect")], 16, "decalEffects"], [[io, io.persist, void 0, type.list("Tr2Effect")], 16, "distortionEffects"], [[io, io.persist, void 0, type.list("Tr2Effect")], 16, "opaqueEffects"], [[io, io.persist, void 0, type.list("Tr2Effect")], 16, "transparentEffects"], [[io, io.readwrite, type, type.boolean], 16, "update"], [[io, io.readwrite, type, type.boolean], 16, "display"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reports success through a bool out-parameter; JavaScript returns null for unsupported or hidden batches.")], 18, "GetEffects"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetType"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasTransparentArea"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Blue root locking is represented by the hydrated JavaScript object identity.")], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Plain JavaScript arrays do not raise Blue IList notifications; callers forward the equivalent event explicitly.")], 18, "OnListModified"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetControllerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "HandleControllerEvent"], [[carbon, carbon.method, impl, impl.implemented], 18, "StartControllers"], [[carbon, carbon.method, impl, impl.implemented], 18, "PlayCurveSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "StopCurveSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetCurveSetDuration"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRangeDuration"], [[carbon, carbon.method, impl, impl.implemented], 18, "Update"]], 0, void 0, CjsModel));
|
|
24
|
+
}
|
|
25
|
+
constructor(...args) {
|
|
26
|
+
super(...args);
|
|
27
|
+
_init_extra_display(this);
|
|
28
|
+
}
|
|
29
|
+
name = (_initProto(this), _init_name(this, ""));
|
|
30
|
+
controllers = (_init_extra_name(this), _init_controllers(this, []));
|
|
31
|
+
curveSet = (_init_extra_controllers(this), _init_curveSet(this, null));
|
|
32
|
+
additiveEffects = (_init_extra_curveSet(this), _init_additiveEffects(this, []));
|
|
33
|
+
decalEffects = (_init_extra_additiveEffects(this), _init_decalEffects(this, []));
|
|
34
|
+
distortionEffects = (_init_extra_decalEffects(this), _init_distortionEffects(this, []));
|
|
35
|
+
opaqueEffects = (_init_extra_distortionEffects(this), _init_opaqueEffects(this, []));
|
|
36
|
+
transparentEffects = (_init_extra_opaqueEffects(this), _init_transparentEffects(this, []));
|
|
37
|
+
update = (_init_extra_transparentEffects(this), _init_update(this, true));
|
|
38
|
+
display = (_init_extra_update(this), _init_display(this, true));
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Returns the effect list for a batch type, or null when the overlay is hidden
|
|
42
|
+
* or the batch type has no list of its own.
|
|
43
|
+
*/
|
|
44
|
+
GetEffects(batchType) {
|
|
45
|
+
if (!this.display) return null;
|
|
46
|
+
switch (batchType) {
|
|
47
|
+
case TriBatchType.TRIBATCHTYPE_OPAQUE:
|
|
48
|
+
return this.opaqueEffects;
|
|
49
|
+
case TriBatchType.TRIBATCHTYPE_DECAL:
|
|
50
|
+
return this.decalEffects;
|
|
51
|
+
case TriBatchType.TRIBATCHTYPE_TRANSPARENT:
|
|
52
|
+
return this.transparentEffects;
|
|
53
|
+
case TriBatchType.TRIBATCHTYPE_ADDITIVE:
|
|
54
|
+
return this.additiveEffects;
|
|
55
|
+
case TriBatchType.TRIBATCHTYPE_DISTORTION:
|
|
56
|
+
return this.distortionEffects;
|
|
57
|
+
default:
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Reports whether the overlay applies to the opaque batch alone or to all
|
|
64
|
+
* batches, given the batch type being queried.
|
|
65
|
+
*/
|
|
66
|
+
GetType(batchType) {
|
|
67
|
+
return batchType === TriBatchType.TRIBATCHTYPE_OPAQUE ? _EveMeshOverlayEffect.OverlayType.TYPE_OPAQUEONLY : _EveMeshOverlayEffect.OverlayType.TYPE_ALL;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Reports whether the overlay contributes any transparent effects, which
|
|
72
|
+
* decides whether it needs a transparent pass.
|
|
73
|
+
*/
|
|
74
|
+
HasTransparentArea() {
|
|
75
|
+
return this.transparentEffects.length > 0;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** Sets a shader option on every effect across all five batch lists. */
|
|
79
|
+
SetShaderOption(name, value) {
|
|
80
|
+
for (const effects of this.#effectLists()) {
|
|
81
|
+
for (const effect of effects) effect?.SetOption?.(name, value);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Links each controller that is not already linked to this overlay so it can
|
|
87
|
+
* resolve the overlay's variables; always succeeds.
|
|
88
|
+
*/
|
|
89
|
+
Initialize() {
|
|
90
|
+
for (const controller of this.controllers) {
|
|
91
|
+
if (!controller?.IsLinked?.()) controller?.Link?.(this);
|
|
92
|
+
}
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Applies a Blue list notification for the controller list: links inserted
|
|
98
|
+
* controllers, unlinks removed ones and unlinks all of them on unload start;
|
|
99
|
+
* loading events and notifications for any other list are ignored.
|
|
100
|
+
*/
|
|
101
|
+
OnListModified(event, _key = 0, _key2 = 0, value = null, list = this.controllers) {
|
|
102
|
+
if (list !== this.controllers || (event & BELIST_LOADING) !== 0) return;
|
|
103
|
+
switch (event & BELIST_EVENTMASK) {
|
|
104
|
+
case BELIST_INSERTED:
|
|
105
|
+
value?.Link?.(this);
|
|
106
|
+
break;
|
|
107
|
+
case BELIST_REMOVED:
|
|
108
|
+
value?.Unlink?.();
|
|
109
|
+
break;
|
|
110
|
+
case BELIST_UNLOADSTART:
|
|
111
|
+
for (const controller of this.controllers) controller?.Unlink?.();
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/** Forwards a named variable value to every controller. */
|
|
117
|
+
SetControllerVariable(name, value) {
|
|
118
|
+
for (const controller of this.controllers) controller?.SetVariable?.(name, value);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/** Forwards a named event to every controller. */
|
|
122
|
+
HandleControllerEvent(name) {
|
|
123
|
+
for (const controller of this.controllers) controller?.HandleEvent?.(name);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/** Starts every controller attached to the overlay. */
|
|
127
|
+
StartControllers() {
|
|
128
|
+
for (const controller of this.controllers) controller?.Start?.();
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Plays the overlay's curve set when its name matches: a named time range
|
|
133
|
+
* plays that range, otherwise the range is reset and the set plays from the
|
|
134
|
+
* start; a name that does not match is ignored.
|
|
135
|
+
*/
|
|
136
|
+
PlayCurveSet(name, rangeName = "") {
|
|
137
|
+
const curveSet = this.#matchingCurveSet(name);
|
|
138
|
+
if (!curveSet) return;
|
|
139
|
+
if (rangeName) curveSet.PlayTimeRange?.(rangeName);else {
|
|
140
|
+
curveSet.ResetTimeRange?.();
|
|
141
|
+
curveSet.Play?.();
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Stops the overlay's curve set when its name matches, and does nothing
|
|
147
|
+
* otherwise.
|
|
148
|
+
*/
|
|
149
|
+
StopCurveSet(name) {
|
|
150
|
+
this.#matchingCurveSet(name)?.Stop?.();
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Returns the longest curve duration in the named curve set, or 0 when the
|
|
155
|
+
* name does not match the overlay's set.
|
|
156
|
+
*/
|
|
157
|
+
GetCurveSetDuration(name) {
|
|
158
|
+
return Math.max(0, Number(this.#matchingCurveSet(name)?.GetMaxCurveDuration?.() ?? 0));
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Returns the duration of a named time range within the named curve set, or 0
|
|
163
|
+
* when either name does not match.
|
|
164
|
+
*/
|
|
165
|
+
GetRangeDuration(name, rangeName) {
|
|
166
|
+
return Math.max(0, Number(this.#matchingCurveSet(name)?.GetRangeDuration?.(rangeName) ?? 0));
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Advances the curve set with the supplied real and simulation times and steps
|
|
171
|
+
* every controller, matching Carbon's fixed 0.5 controller step; skipped
|
|
172
|
+
* entirely when updates are disabled or no curve set is assigned.
|
|
173
|
+
*/
|
|
174
|
+
Update(realTime, simTime) {
|
|
175
|
+
if (!this.update || !this.curveSet) return;
|
|
176
|
+
this.curveSet.Update?.(realTime, simTime);
|
|
177
|
+
for (const controller of this.controllers) controller?.Update?.(0.5);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Returns the five per-batch effect lists so callers can apply an operation to
|
|
182
|
+
* every effect the overlay owns.
|
|
183
|
+
*/
|
|
184
|
+
#effectLists() {
|
|
185
|
+
return [this.opaqueEffects, this.decalEffects, this.transparentEffects, this.additiveEffects, this.distortionEffects];
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Returns the owned curve set when its name matches the requested one,
|
|
190
|
+
* otherwise null.
|
|
191
|
+
*/
|
|
192
|
+
#matchingCurveSet(name) {
|
|
193
|
+
const curveSet = this.curveSet;
|
|
194
|
+
return curveSet?.GetName?.() === name ? curveSet : null;
|
|
195
|
+
}
|
|
196
|
+
}];
|
|
197
|
+
OverlayType = Object.freeze({
|
|
198
|
+
TYPE_OPAQUEONLY: 0,
|
|
199
|
+
TYPE_ALL: 1,
|
|
200
|
+
TYPE_COUNT: 2
|
|
201
|
+
});
|
|
202
|
+
constructor() {
|
|
203
|
+
super(_EveMeshOverlayEffect), _initClass();
|
|
204
|
+
}
|
|
205
|
+
}();
|
|
206
|
+
|
|
207
|
+
export { _EveMeshOverlayEffect as EveMeshOverlayEffect };
|
|
208
|
+
//# sourceMappingURL=EveMeshOverlayEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EveMeshOverlayEffect.js","sources":["../../../../src/eve/overlays/EveMeshOverlayEffect.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\EveMeshOverlayEffect.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\EveMeshOverlayEffect.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\EveMeshOverlayEffect_Blue.cpp\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { TriBatchType } from \"@carbonenginejs/runtime-utils/graphics\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport {\r\n BELIST_EVENTMASK,\r\n BELIST_INSERTED,\r\n BELIST_LOADING,\r\n BELIST_REMOVED,\r\n BELIST_UNLOADSTART\r\n} from \"../../controllers/contracts.js\";\r\n\r\n\r\n/**\r\n * Named overlay pass attached to a mesh, holding one effect list per batch type\r\n * together with the curve set and controllers that animate them.\r\n */\r\n@type.define({ className: \"EveMeshOverlayEffect\", family: \"eve/overlays\" })\r\nexport class EveMeshOverlayEffect extends CjsModel\r\n{\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.list(\"ITr2Controller\")\r\n controllers = [];\r\n\r\n @io.persist\r\n @type.model(\"TriCurveSet\")\r\n curveSet = null;\r\n\r\n @io.persist\r\n @type.list(\"Tr2Effect\")\r\n additiveEffects = [];\r\n\r\n @io.persist\r\n @type.list(\"Tr2Effect\")\r\n decalEffects = [];\r\n\r\n @io.persist\r\n @type.list(\"Tr2Effect\")\r\n distortionEffects = [];\r\n\r\n @io.persist\r\n @type.list(\"Tr2Effect\")\r\n opaqueEffects = [];\r\n\r\n @io.persist\r\n @type.list(\"Tr2Effect\")\r\n transparentEffects = [];\r\n\r\n @io.readwrite\r\n @type.boolean\r\n update = true;\r\n\r\n @io.readwrite\r\n @type.boolean\r\n display = true;\r\n\r\n /**\r\n * Returns the effect list for a batch type, or null when the overlay is hidden\r\n * or the batch type has no list of its own.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon reports success through a bool out-parameter; JavaScript returns null for unsupported or hidden batches.\")\r\n GetEffects(batchType)\r\n {\r\n if (!this.display) return null;\r\n\r\n switch (batchType)\r\n {\r\n case TriBatchType.TRIBATCHTYPE_OPAQUE: return this.opaqueEffects;\r\n case TriBatchType.TRIBATCHTYPE_DECAL: return this.decalEffects;\r\n case TriBatchType.TRIBATCHTYPE_TRANSPARENT: return this.transparentEffects;\r\n case TriBatchType.TRIBATCHTYPE_ADDITIVE: return this.additiveEffects;\r\n case TriBatchType.TRIBATCHTYPE_DISTORTION: return this.distortionEffects;\r\n default: return null;\r\n }\r\n }\r\n\r\n /**\r\n * Reports whether the overlay applies to the opaque batch alone or to all\r\n * batches, given the batch type being queried.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetType(batchType)\r\n {\r\n return batchType === TriBatchType.TRIBATCHTYPE_OPAQUE\r\n ? EveMeshOverlayEffect.OverlayType.TYPE_OPAQUEONLY\r\n : EveMeshOverlayEffect.OverlayType.TYPE_ALL;\r\n }\r\n\r\n /**\r\n * Reports whether the overlay contributes any transparent effects, which\r\n * decides whether it needs a transparent pass.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n HasTransparentArea()\r\n {\r\n return this.transparentEffects.length > 0;\r\n }\r\n\r\n /** Sets a shader option on every effect across all five batch lists. */\r\n @carbon.method\r\n @impl.implemented\r\n SetShaderOption(name, value)\r\n {\r\n for (const effects of this.#effectLists())\r\n {\r\n for (const effect of effects) effect?.SetOption?.(name, value);\r\n }\r\n }\r\n\r\n /**\r\n * Links each controller that is not already linked to this overlay so it can\r\n * resolve the overlay's variables; always succeeds.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Blue root locking is represented by the hydrated JavaScript object identity.\")\r\n Initialize()\r\n {\r\n for (const controller of this.controllers)\r\n {\r\n if (!controller?.IsLinked?.()) controller?.Link?.(this);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Applies a Blue list notification for the controller list: links inserted\r\n * controllers, unlinks removed ones and unlinks all of them on unload start;\r\n * loading events and notifications for any other list are ignored.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Plain JavaScript arrays do not raise Blue IList notifications; callers forward the equivalent event explicitly.\")\r\n OnListModified(event, _key = 0, _key2 = 0, value = null, list = this.controllers)\r\n {\r\n if (list !== this.controllers || (event & BELIST_LOADING) !== 0) return;\r\n\r\n switch (event & BELIST_EVENTMASK)\r\n {\r\n case BELIST_INSERTED:\r\n value?.Link?.(this);\r\n break;\r\n case BELIST_REMOVED:\r\n value?.Unlink?.();\r\n break;\r\n case BELIST_UNLOADSTART:\r\n for (const controller of this.controllers) controller?.Unlink?.();\r\n break;\r\n }\r\n }\r\n\r\n /** Forwards a named variable value to every controller. */\r\n @carbon.method\r\n @impl.implemented\r\n SetControllerVariable(name, value)\r\n {\r\n for (const controller of this.controllers) controller?.SetVariable?.(name, value);\r\n }\r\n\r\n /** Forwards a named event to every controller. */\r\n @carbon.method\r\n @impl.implemented\r\n HandleControllerEvent(name)\r\n {\r\n for (const controller of this.controllers) controller?.HandleEvent?.(name);\r\n }\r\n\r\n /** Starts every controller attached to the overlay. */\r\n @carbon.method\r\n @impl.implemented\r\n StartControllers()\r\n {\r\n for (const controller of this.controllers) controller?.Start?.();\r\n }\r\n\r\n /**\r\n * Plays the overlay's curve set when its name matches: a named time range\r\n * plays that range, otherwise the range is reset and the set plays from the\r\n * start; a name that does not match is ignored.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n PlayCurveSet(name, rangeName = \"\")\r\n {\r\n const curveSet = this.#matchingCurveSet(name);\r\n if (!curveSet) return;\r\n if (rangeName) curveSet.PlayTimeRange?.(rangeName);\r\n else\r\n {\r\n curveSet.ResetTimeRange?.();\r\n curveSet.Play?.();\r\n }\r\n }\r\n\r\n /**\r\n * Stops the overlay's curve set when its name matches, and does nothing\r\n * otherwise.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n StopCurveSet(name)\r\n {\r\n this.#matchingCurveSet(name)?.Stop?.();\r\n }\r\n\r\n /**\r\n * Returns the longest curve duration in the named curve set, or 0 when the\r\n * name does not match the overlay's set.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetCurveSetDuration(name)\r\n {\r\n return Math.max(0, Number(this.#matchingCurveSet(name)?.GetMaxCurveDuration?.() ?? 0));\r\n }\r\n\r\n /**\r\n * Returns the duration of a named time range within the named curve set, or 0\r\n * when either name does not match.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetRangeDuration(name, rangeName)\r\n {\r\n return Math.max(0, Number(this.#matchingCurveSet(name)?.GetRangeDuration?.(rangeName) ?? 0));\r\n }\r\n\r\n /**\r\n * Advances the curve set with the supplied real and simulation times and steps\r\n * every controller, matching Carbon's fixed 0.5 controller step; skipped\r\n * entirely when updates are disabled or no curve set is assigned.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Update(realTime, simTime)\r\n {\r\n if (!this.update || !this.curveSet) return;\r\n this.curveSet.Update?.(realTime, simTime);\r\n for (const controller of this.controllers) controller?.Update?.(0.5);\r\n }\r\n\r\n /**\r\n * Returns the five per-batch effect lists so callers can apply an operation to\r\n * every effect the overlay owns.\r\n */\r\n #effectLists()\r\n {\r\n return [\r\n this.opaqueEffects,\r\n this.decalEffects,\r\n this.transparentEffects,\r\n this.additiveEffects,\r\n this.distortionEffects\r\n ];\r\n }\r\n\r\n /**\r\n * Returns the owned curve set when its name matches the requested one,\r\n * otherwise null.\r\n */\r\n #matchingCurveSet(name)\r\n {\r\n const curveSet = this.curveSet;\r\n return curveSet?.GetName?.() === name ? curveSet : null;\r\n }\r\n\r\n static OverlayType = Object.freeze({\r\n TYPE_OPAQUEONLY: 0,\r\n TYPE_ALL: 1,\r\n TYPE_COUNT: 2\r\n });\r\n}\r\n"],"names":["_EveMeshOverlayEffect","_identity","EveMeshOverlayEffect","CjsModel","e","_init_name","_init_extra_name","_init_controllers","_init_extra_controllers","_init_curveSet","_init_extra_curveSet","_init_additiveEffects","_init_extra_additiveEffects","_init_decalEffects","_init_extra_decalEffects","_init_distortionEffects","_init_extra_distortionEffects","_init_opaqueEffects","_init_extra_opaqueEffects","_init_transparentEffects","_init_extra_transparentEffects","_init_update","_init_extra_update","_init_display","_init_extra_display","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","list","model","readwrite","boolean","carbon","method","impl","adapted","reason","implemented","constructor","args","name","controllers","curveSet","additiveEffects","decalEffects","distortionEffects","opaqueEffects","transparentEffects","update","display","GetEffects","batchType","TriBatchType","TRIBATCHTYPE_OPAQUE","TRIBATCHTYPE_DECAL","TRIBATCHTYPE_TRANSPARENT","TRIBATCHTYPE_ADDITIVE","TRIBATCHTYPE_DISTORTION","GetType","OverlayType","TYPE_OPAQUEONLY","TYPE_ALL","HasTransparentArea","length","SetShaderOption","value","effects","effect","SetOption","Initialize","controller","IsLinked","Link","OnListModified","event","_key","_key2","BELIST_LOADING","BELIST_EVENTMASK","BELIST_INSERTED","BELIST_REMOVED","Unlink","BELIST_UNLOADSTART","SetControllerVariable","SetVariable","HandleControllerEvent","HandleEvent","StartControllers","Start","PlayCurveSet","rangeName","PlayTimeRange","ResetTimeRange","Play","StopCurveSet","Stop","GetCurveSetDuration","Math","max","Number","GetMaxCurveDuration","GetRangeDuration","Update","realTime","simTime","#effectLists","#matchingCurveSet","GetName","Object","freeze","TYPE_COUNT"],"mappings":";;;;;;;;AAeA;AACA;AACA;AACA;AAHA,IAAAA;AAAA,IAAA,cAAAC,SAAA,CAAA;AAAA,EAAA,QAIA,MAAAC,oBAAA,SAC0CC,QAAQ,CAClD;AAAA,IAAA;AAAA,MAAA,CAAA;AAAAC,QAAAA,CAAA,GAAAC,UAAA,EAAAC,gBAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,uBAAA,EAAAC,6BAAA,EAAAC,mBAAA,EAAAC,yBAAA,EAAAC,wBAAA,EAAAC,8BAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,UAAA,CAAA;QAAAC,CAAA,EAAA,CAAA1B,qBAAA,EAAA2B,UAAA;AAAA,OAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,sBAAsB;AAAEC,QAAAA,MAAM,EAAE;AAAe,OAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAGxEC,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACM,MAAM,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAGXF,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACO,IAAI,CAAC,gBAAgB,CAAC,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAG3BH,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACQ,KAAK,CAAC,aAAa,CAAC,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAGzBJ,EAAE,EAAFA,EAAE,CAACC,OAAO,UACVL,IAAI,CAACO,IAAI,CAAC,WAAW,CAAC,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAGtBH,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACO,IAAI,CAAC,WAAW,CAAC,0BAGtBH,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACO,IAAI,CAAC,WAAW,CAAC,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAGtBH,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACO,IAAI,CAAC,WAAW,CAAC,CAAA,EAAA,EAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAGtBH,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACO,IAAI,CAAC,WAAW,CAAC,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAGtBH,EAAE,EAAFA,EAAE,CAACK,SAAS,EACZT,IAAI,EAAJA,IAAI,CAACU,OAAO,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAGZN,EAAE,EAAFA,EAAE,CAACK,SAAS,EACZT,IAAI,EAAJA,IAAI,CAACU,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAOZC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,UACZD,IAAI,CAACE,MAAM,CAAC,iHAAiH,CAAC,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAoB9HJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAYhBL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,WAAW,gCAOhBL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAahBL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,8EAA8E,CAAC,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAe3FJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,iHAAiH,CAAC,4BAoB9HJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAOhBL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAOhBL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAWhBL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAiBhBL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,WAAW,0BAUhBL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAUhBL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAWhBL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,WAAW,8BA/NuB1C,QAAQ,CAAA;AAAA;AAAA2C,IAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,MAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;MAAAvB,mBAAA,CAAA,IAAA,CAAA;AAAA,IAAA;AAIhDwB,IAAAA,IAAI,IAAAvB,UAAA,CAAA,IAAA,CAAA,EAAApB,UAAA,OAAG,EAAE,CAAA;AAIT4C,IAAAA,WAAW,IAAA3C,gBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,EAAE,CAAA;AAIhB2C,IAAAA,QAAQ,IAAA1C,uBAAA,CAAA,IAAA,CAAA,EAAAC,cAAA,OAAG,IAAI,CAAA;AAIf0C,IAAAA,eAAe,IAAAzC,oBAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,OAAG,EAAE,CAAA;AAIpByC,IAAAA,YAAY,IAAAxC,2BAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,EAAE,CAAA;AAIjBwC,IAAAA,iBAAiB,IAAAvC,wBAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,OAAG,EAAE,CAAA;AAItBuC,IAAAA,aAAa,IAAAtC,6BAAA,CAAA,IAAA,CAAA,EAAAC,mBAAA,OAAG,EAAE,CAAA;AAIlBsC,IAAAA,kBAAkB,IAAArC,yBAAA,CAAA,IAAA,CAAA,EAAAC,wBAAA,OAAG,EAAE,CAAA;AAIvBqC,IAAAA,MAAM,IAAApC,8BAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,IAAI,CAAA;AAIboC,IAAAA,OAAO,IAAAnC,kBAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,IAAI,CAAA;;AAEd;AACF;AACA;AACA;IAIEmC,UAAUA,CAACC,SAAS,EACpB;AACE,MAAA,IAAI,CAAC,IAAI,CAACF,OAAO,EAAE,OAAO,IAAI;AAE9B,MAAA,QAAQE,SAAS;QAEf,KAAKC,YAAY,CAACC,mBAAmB;UAAE,OAAO,IAAI,CAACP,aAAa;QAChE,KAAKM,YAAY,CAACE,kBAAkB;UAAE,OAAO,IAAI,CAACV,YAAY;QAC9D,KAAKQ,YAAY,CAACG,wBAAwB;UAAE,OAAO,IAAI,CAACR,kBAAkB;QAC1E,KAAKK,YAAY,CAACI,qBAAqB;UAAE,OAAO,IAAI,CAACb,eAAe;QACpE,KAAKS,YAAY,CAACK,uBAAuB;UAAE,OAAO,IAAI,CAACZ,iBAAiB;AACxE,QAAA;AAAS,UAAA,OAAO,IAAI;AACtB;AACF,IAAA;;AAEA;AACF;AACA;AACA;IAGEa,OAAOA,CAACP,SAAS,EACjB;AACE,MAAA,OAAOA,SAAS,KAAKC,YAAY,CAACC,mBAAmB,GACjD3D,qBAAoB,CAACiE,WAAW,CAACC,eAAe,GAChDlE,qBAAoB,CAACiE,WAAW,CAACE,QAAQ;AAC/C,IAAA;;AAEA;AACF;AACA;AACA;AAGEC,IAAAA,kBAAkBA,GAClB;AACE,MAAA,OAAO,IAAI,CAACf,kBAAkB,CAACgB,MAAM,GAAG,CAAC;AAC3C,IAAA;;AAEA;AAGAC,IAAAA,eAAeA,CAACxB,IAAI,EAAEyB,KAAK,EAC3B;MACE,KAAK,MAAMC,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,EACzC;AACE,QAAA,KAAK,MAAMC,MAAM,IAAID,OAAO,EAAEC,MAAM,EAAEC,SAAS,GAAG5B,IAAI,EAAEyB,KAAK,CAAC;AAChE,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AACA;AAIEI,IAAAA,UAAUA,GACV;AACE,MAAA,KAAK,MAAMC,UAAU,IAAI,IAAI,CAAC7B,WAAW,EACzC;AACE,QAAA,IAAI,CAAC6B,UAAU,EAAEC,QAAQ,IAAI,EAAED,UAAU,EAAEE,IAAI,GAAG,IAAI,CAAC;AACzD,MAAA;AACA,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;AACA;IAIEC,cAAcA,CAACC,KAAK,EAAEC,IAAI,GAAG,CAAC,EAAEC,KAAK,GAAG,CAAC,EAAEX,KAAK,GAAG,IAAI,EAAErC,IAAI,GAAG,IAAI,CAACa,WAAW,EAChF;AACE,MAAA,IAAIb,IAAI,KAAK,IAAI,CAACa,WAAW,IAAI,CAACiC,KAAK,GAAGG,cAAc,MAAM,CAAC,EAAE;MAEjE,QAAQH,KAAK,GAAGI,gBAAgB;AAE9B,QAAA,KAAKC,eAAe;AAClBd,UAAAA,KAAK,EAAEO,IAAI,GAAG,IAAI,CAAC;AACnB,UAAA;AACF,QAAA,KAAKQ,cAAc;UACjBf,KAAK,EAAEgB,MAAM,IAAI;AACjB,UAAA;AACF,QAAA,KAAKC,kBAAkB;UACrB,KAAK,MAAMZ,UAAU,IAAI,IAAI,CAAC7B,WAAW,EAAE6B,UAAU,EAAEW,MAAM,IAAI;AACjE,UAAA;AACJ;AACF,IAAA;;AAEA;AAGAE,IAAAA,qBAAqBA,CAAC3C,IAAI,EAAEyB,KAAK,EACjC;AACE,MAAA,KAAK,MAAMK,UAAU,IAAI,IAAI,CAAC7B,WAAW,EAAE6B,UAAU,EAAEc,WAAW,GAAG5C,IAAI,EAAEyB,KAAK,CAAC;AACnF,IAAA;;AAEA;IAGAoB,qBAAqBA,CAAC7C,IAAI,EAC1B;AACE,MAAA,KAAK,MAAM8B,UAAU,IAAI,IAAI,CAAC7B,WAAW,EAAE6B,UAAU,EAAEgB,WAAW,GAAG9C,IAAI,CAAC;AAC5E,IAAA;;AAEA;AAGA+C,IAAAA,gBAAgBA,GAChB;MACE,KAAK,MAAMjB,UAAU,IAAI,IAAI,CAAC7B,WAAW,EAAE6B,UAAU,EAAEkB,KAAK,IAAI;AAClE,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEC,IAAAA,YAAYA,CAACjD,IAAI,EAAEkD,SAAS,GAAG,EAAE,EACjC;MACE,MAAMhD,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAACF,IAAI,CAAC;MAC7C,IAAI,CAACE,QAAQ,EAAE;MACf,IAAIgD,SAAS,EAAEhD,QAAQ,CAACiD,aAAa,GAAGD,SAAS,CAAC,CAAC,KAEnD;QACEhD,QAAQ,CAACkD,cAAc,IAAI;QAC3BlD,QAAQ,CAACmD,IAAI,IAAI;AACnB,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AACA;IAGEC,YAAYA,CAACtD,IAAI,EACjB;MACE,IAAI,CAAC,iBAAiB,CAACA,IAAI,CAAC,EAAEuD,IAAI,IAAI;AACxC,IAAA;;AAEA;AACF;AACA;AACA;IAGEC,mBAAmBA,CAACxD,IAAI,EACxB;MACE,OAAOyD,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC3D,IAAI,CAAC,EAAE4D,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC;AACxF,IAAA;;AAEA;AACF;AACA;AACA;AAGEC,IAAAA,gBAAgBA,CAAC7D,IAAI,EAAEkD,SAAS,EAChC;MACE,OAAOO,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC3D,IAAI,CAAC,EAAE6D,gBAAgB,GAAGX,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9F,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEY,IAAAA,MAAMA,CAACC,QAAQ,EAAEC,OAAO,EACxB;MACE,IAAI,CAAC,IAAI,CAACxD,MAAM,IAAI,CAAC,IAAI,CAACN,QAAQ,EAAE;MACpC,IAAI,CAACA,QAAQ,CAAC4D,MAAM,GAAGC,QAAQ,EAAEC,OAAO,CAAC;AACzC,MAAA,KAAK,MAAMlC,UAAU,IAAI,IAAI,CAAC7B,WAAW,EAAE6B,UAAU,EAAEgC,MAAM,GAAG,GAAG,CAAC;AACtE,IAAA;;AAEA;AACF;AACA;AACA;IACE,YAAYG,GACZ;MACE,OAAO,CACL,IAAI,CAAC3D,aAAa,EAClB,IAAI,CAACF,YAAY,EACjB,IAAI,CAACG,kBAAkB,EACvB,IAAI,CAACJ,eAAe,EACpB,IAAI,CAACE,iBAAiB,CACvB;AACH,IAAA;;AAEA;AACF;AACA;AACA;IACE,iBAAiB6D,CAAClE,IAAI,EACtB;AACE,MAAA,MAAME,QAAQ,GAAG,IAAI,CAACA,QAAQ;MAC9B,OAAOA,QAAQ,EAAEiE,OAAO,IAAI,KAAKnE,IAAI,GAAGE,QAAQ,GAAG,IAAI;AACzD,IAAA;GAOD;AALQiB,EAAAA,WAAW,GAAGiD,MAAM,CAACC,MAAM,CAAC;AACjCjD,IAAAA,eAAe,EAAE,CAAC;AAClBC,IAAAA,QAAQ,EAAE,CAAC;AACXiD,IAAAA,UAAU,EAAE;AACd,GAAC,CAAC;EAACxE,WAAAA,GAAA;IAAA,KAAA,CAAA9C,qBAAA,GAAA2B,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { applyDecs2311 as _applyDecs2311 } from '
|
|
1
|
+
import { applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { type } from '@carbonenginejs/runtime-utils/schema';
|
|
3
|
-
import { Tr2ParticleDirectForce as _Tr2ParticleDirectFor } from '
|
|
3
|
+
import { Tr2ParticleDirectForce as _Tr2ParticleDirectFor } from '../../../particle/Tr2ParticleDirectForce.js';
|
|
4
4
|
|
|
5
5
|
let _initClass;
|
|
6
6
|
|
|
7
|
-
/**
|
|
8
|
-
* Blue alias of Tr2ParticleDirectForce - Carbon registers the Eve name with
|
|
9
|
-
* zero attributes of its own and chains the whole exposure to the Tr2 class.
|
|
7
|
+
/**
|
|
8
|
+
* Blue alias of Tr2ParticleDirectForce - Carbon registers the Eve name with
|
|
9
|
+
* zero attributes of its own and chains the whole exposure to the Tr2 class.
|
|
10
10
|
*/
|
|
11
11
|
let _EveParticleDirectFor;
|
|
12
12
|
class EveParticleDirectForce extends _Tr2ParticleDirectFor {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EveParticleDirectForce.js","sources":["../../../../../src/eve/particles/force/EveParticleDirectForce.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveParticleDirectForce.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveParticleDirectForce_Blue.cpp\r\nimport { type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { Tr2ParticleDirectForce } from \"../../../particle/Tr2ParticleDirectForce.js\";\r\n\r\n\r\n/**\r\n * Blue alias of Tr2ParticleDirectForce - Carbon registers the Eve name with\r\n * zero attributes of its own and chains the whole exposure to the Tr2 class.\r\n */\r\n@type.define({ className: \"EveParticleDirectForce\", family: \"eve\" })\r\nexport class EveParticleDirectForce extends Tr2ParticleDirectForce\r\n{\r\n}\r\n"],"names":["_EveParticleDirectFor","EveParticleDirectForce","Tr2ParticleDirectForce","_initClass","_applyDecs","type","define","className","family","c"],"mappings":";;;;;;AAMA;AACA;AACA;AACA;AAHA,IAAAA;AAIA,MAAAC,sBAAA,SAC4CC,qBAAsB,CAClE;AAAA,EAAA;IAAA,CAAAF,qBAAA,EAAAG,UAAA,CAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,wBAAwB;AAAEC,MAAAA,MAAM,EAAE;AAAM,KAAC,CAAC,CAAA,EAAA,EAAA,EAAA,CAAA,EAAA,MAAA,EACxBN,qBAAsB,CAAA,CAAAO,CAAA;AAAA;AAAA,EAAA;IAAAN,UAAA,EAAA;AAAA;AAElE;;;;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { applyDecs2311 as _applyDecs2311 } from '
|
|
1
|
+
import { applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { type } from '@carbonenginejs/runtime-utils/schema';
|
|
3
|
-
import { Tr2ParticleDragForce as _Tr2ParticleDragForce } from '
|
|
3
|
+
import { Tr2ParticleDragForce as _Tr2ParticleDragForce } from '../../../particle/Tr2ParticleDragForce.js';
|
|
4
4
|
|
|
5
5
|
let _initClass;
|
|
6
6
|
|
|
7
|
-
/**
|
|
8
|
-
* Blue alias of Tr2ParticleDragForce - Carbon registers the Eve name with
|
|
9
|
-
* zero attributes of its own and chains the whole exposure to the Tr2 class.
|
|
7
|
+
/**
|
|
8
|
+
* Blue alias of Tr2ParticleDragForce - Carbon registers the Eve name with
|
|
9
|
+
* zero attributes of its own and chains the whole exposure to the Tr2 class.
|
|
10
10
|
*/
|
|
11
11
|
let _EveParticleDragForce;
|
|
12
12
|
class EveParticleDragForce extends _Tr2ParticleDragForce {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EveParticleDragForce.js","sources":["../../../../../src/eve/particles/force/EveParticleDragForce.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveParticleDragForce.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveParticleDragForce_Blue.cpp\r\nimport { type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { Tr2ParticleDragForce } from \"../../../particle/Tr2ParticleDragForce.js\";\r\n\r\n\r\n/**\r\n * Blue alias of Tr2ParticleDragForce - Carbon registers the Eve name with\r\n * zero attributes of its own and chains the whole exposure to the Tr2 class.\r\n */\r\n@type.define({ className: \"EveParticleDragForce\", family: \"eve\" })\r\nexport class EveParticleDragForce extends Tr2ParticleDragForce\r\n{\r\n}\r\n"],"names":["_EveParticleDragForce","EveParticleDragForce","Tr2ParticleDragForce","_initClass","_applyDecs","type","define","className","family","c"],"mappings":";;;;;;AAMA;AACA;AACA;AACA;AAHA,IAAAA;AAIA,MAAAC,oBAAA,SAC0CC,qBAAoB,CAC9D;AAAA,EAAA;IAAA,CAAAF,qBAAA,EAAAG,UAAA,CAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,sBAAsB;AAAEC,MAAAA,MAAM,EAAE;AAAM,KAAC,CAAC,CAAA,EAAA,EAAA,EAAA,CAAA,EAAA,MAAA,EACxBN,qBAAoB,CAAA,CAAAO,CAAA;AAAA;AAAA,EAAA;IAAAN,UAAA,EAAA;AAAA;AAE9D;;;;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { applyDecs2311 as _applyDecs2311 } from '
|
|
1
|
+
import { applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { type } from '@carbonenginejs/runtime-utils/schema';
|
|
3
|
-
import { Tr2ParticleSpring as _Tr2ParticleSpring } from '
|
|
3
|
+
import { Tr2ParticleSpring as _Tr2ParticleSpring } from '../../../particle/Tr2ParticleSpring.js';
|
|
4
4
|
|
|
5
5
|
let _initClass;
|
|
6
6
|
|
|
7
|
-
/**
|
|
8
|
-
* Blue alias of Tr2ParticleSpring - Carbon registers the Eve name (from the
|
|
9
|
-
* ...SpringAttractor source files) with zero attributes of its own and chains
|
|
10
|
-
* the whole exposure to the Tr2 class.
|
|
7
|
+
/**
|
|
8
|
+
* Blue alias of Tr2ParticleSpring - Carbon registers the Eve name (from the
|
|
9
|
+
* ...SpringAttractor source files) with zero attributes of its own and chains
|
|
10
|
+
* the whole exposure to the Tr2 class.
|
|
11
11
|
*/
|
|
12
12
|
let _EveParticleSpring;
|
|
13
13
|
class EveParticleSpring extends _Tr2ParticleSpring {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EveParticleSpring.js","sources":["../../../../../src/eve/particles/force/EveParticleSpring.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveParticleSpringAttractor.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveParticleSpringAttractor_Blue.cpp\r\nimport { type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { Tr2ParticleSpring } from \"../../../particle/Tr2ParticleSpring.js\";\r\n\r\n\r\n/**\r\n * Blue alias of Tr2ParticleSpring - Carbon registers the Eve name (from the\r\n * ...SpringAttractor source files) with zero attributes of its own and chains\r\n * the whole exposure to the Tr2 class.\r\n */\r\n@type.define({ className: \"EveParticleSpring\", family: \"eve\" })\r\nexport class EveParticleSpring extends Tr2ParticleSpring\r\n{\r\n}\r\n"],"names":["_EveParticleSpring","EveParticleSpring","Tr2ParticleSpring","_initClass","_applyDecs","type","define","className","family","c"],"mappings":";;;;;;AAMA;AACA;AACA;AACA;AACA;AAJA,IAAAA;AAKA,MAAAC,iBAAA,SACuCC,kBAAiB,CACxD;AAAA,EAAA;IAAA,CAAAF,kBAAA,EAAAG,UAAA,CAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,mBAAmB;AAAEC,MAAAA,MAAM,EAAE;AAAM,KAAC,CAAC,CAAA,EAAA,EAAA,EAAA,CAAA,EAAA,MAAA,EACxBN,kBAAiB,CAAA,CAAAO,CAAA;AAAA;AAAA,EAAA;IAAAN,UAAA,EAAA;AAAA;AAExD;;;;"}
|
|
@@ -7,13 +7,15 @@ import { vec4 } from '@carbonenginejs/runtime-utils/vec4';
|
|
|
7
7
|
|
|
8
8
|
let _initProto, _initClass, _init_clusters, _init_extra_clusters, _init_centerOfClusters, _init_extra_centerOfClusters, _init_boundingSphere, _init_extra_boundingSphere, _init_clusterParticleDensityAdjust, _init_extra_clusterParticleDensityAdjust, _init_estimatedSize, _init_extra_estimatedSize, _init_clusterParticleDensity, _init_extra_clusterParticleDensity, _init_maxSize, _init_extra_maxSize, _init_minSize, _init_extra_minSize, _init_mesh, _init_extra_mesh, _init_maxParticleCount, _init_extra_maxParticleCount, _init_visible, _init_extra_visible;
|
|
9
9
|
|
|
10
|
-
/** Carbon PARTICLE_CLUSTER_MIN_SIZE (EveSceneStaticParticles.cpp:14, a
|
|
11
|
-
* file-scope const - NOT in the header): the pixel-size floor, scaled by the
|
|
10
|
+
/** Carbon PARTICLE_CLUSTER_MIN_SIZE (EveSceneStaticParticles.cpp:14, a
|
|
11
|
+
* file-scope const - NOT in the header): the pixel-size floor, scaled by the
|
|
12
12
|
* context lodFactor, below which the cluster system is invisible. */
|
|
13
13
|
const PARTICLE_CLUSTER_MIN_SIZE = 100;
|
|
14
14
|
|
|
15
15
|
// Packed (x, y, z, radius) world-space cull-sphere scratch.
|
|
16
16
|
const SPHERE_SCRATCH = vec4.create();
|
|
17
|
+
const DEBUG_CENTER_SCRATCH = vec3.create();
|
|
18
|
+
const OFFSET_SCRATCH = vec3.create();
|
|
17
19
|
function createRandom(seed) {
|
|
18
20
|
let state = seed >>> 0 || 0x6d2b79f5;
|
|
19
21
|
return () => {
|
|
@@ -26,7 +28,11 @@ function randomGauss(random, deviation) {
|
|
|
26
28
|
return deviation * Math.pow(-2 * Math.log(first), 0.75) * Math.cos(random() * Math.PI * 2);
|
|
27
29
|
}
|
|
28
30
|
|
|
29
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* A scene-scale field of static particle clusters, held as CPU instance rows
|
|
33
|
+
* around a double-precision aggregate origin and drawn through a single
|
|
34
|
+
* instanced mesh.
|
|
35
|
+
*/
|
|
30
36
|
let _EveSceneStaticPartic;
|
|
31
37
|
class EveSceneStaticParticles extends CjsModel {
|
|
32
38
|
static {
|
|
@@ -36,7 +42,7 @@ class EveSceneStaticParticles extends CjsModel {
|
|
|
36
42
|
} = _applyDecs2311(this, [type.define({
|
|
37
43
|
className: "EveSceneStaticParticles",
|
|
38
44
|
family: "eve/scene"
|
|
39
|
-
})], [[type.list("ClusterData"), 0, "clusters"], [type.rawStruct("Vector3d"), 0, "centerOfClusters"], [[type, type.vec4], 16, "boundingSphere"], [[io, io.read, type, type.float32], 16, "clusterParticleDensityAdjust"], [[io, io.read, type, type.float32], 16, "estimatedSize"], [[io, io.readwrite, type, type.float32], 16, "clusterParticleDensity"], [[io, io.readwrite, type, type.float32], 16, "maxSize"], [[io, io.readwrite, type, type.float32], 16, "minSize"], [[io, io.readwrite, void 0, type.objectRef("Tr2InstancedMesh")], 16, "mesh"], [[io, io.readwrite, type, type.uint64], 16, "maxParticleCount"], [[io, io.read, type, type.boolean], 16, "visible"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Tr2Renderer::IsLowQuality relocates onto the update-context duck (lowQuality, default false).")], 18, "Update"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Tr2Renderer::IsLowQuality relocates onto the update-context duck (lowQuality, default false).")], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsVisible"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The estimatedSize LOD select is engine-resolved at realization; the delegation structure is ported.")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Constant-buffer layout/packing is engine-owned; Trinity Allocs the record from the accumulator's store and Sets the logical world/lastWorld by name (the store transposes per the engine layout). Both fields are fully CPU-filled, so no object backref is needed.")], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasTransparentBatches"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetSortValue"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddCluster"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Builds Carbon's CPU instance rows and bounds; a deterministic local PRNG replaces Carbon's process-global C rand state.")], 18, "Rebuild"], [[carbon, carbon.method, impl, impl.adapted], 18, "ClearClusters"]], 0, void 0, CjsModel));
|
|
45
|
+
})], [[type.list("ClusterData"), 0, "clusters"], [type.rawStruct("Vector3d"), 0, "centerOfClusters"], [[type, type.vec4], 16, "boundingSphere"], [[io, io.read, type, type.float32], 16, "clusterParticleDensityAdjust"], [[io, io.read, type, type.float32], 16, "estimatedSize"], [[io, io.readwrite, type, type.float32], 16, "clusterParticleDensity"], [[io, io.readwrite, type, type.float32], 16, "maxSize"], [[io, io.readwrite, type, type.float32], 16, "minSize"], [[io, io.readwrite, void 0, type.objectRef("Tr2InstancedMesh")], 16, "mesh"], [[io, io.readwrite, type, type.uint64], 16, "maxParticleCount"], [[io, io.read, type, type.boolean], 16, "visible"], [[carbon, carbon.method, impl, impl.implemented], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Tr2Renderer::IsLowQuality relocates onto the update-context duck (lowQuality, default false).")], 18, "Update"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Tr2Renderer::IsLowQuality relocates onto the update-context duck (lowQuality, default false).")], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsVisible"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The estimatedSize LOD select is engine-resolved at realization; the delegation structure is ported.")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Constant-buffer layout/packing is engine-owned; Trinity Allocs the record from the accumulator's store and Sets the logical world/lastWorld by name (the store transposes per the engine layout). Both fields are fully CPU-filled, so no object backref is needed.")], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasTransparentBatches"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetSortValue"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Tr2DebugRendererOptions is represented by an injected Set-like option bag.")], 18, "GetDebugOptions"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("ITr2DebugRenderer2 is an injected engine-owned capability; its Effect::Wireframe value is retained as 0.")], 18, "RenderDebugInfo"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's native ClusterData/Vector3d value is represented by a plain record with a Float64Array position.")], 18, "AddCluster"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Builds Carbon's CPU instance rows and bounds; a deterministic local PRNG replaces Carbon's process-global C rand state, and boolean success plus safe empty-cluster cleanup replace Carbon's void native buffer path.")], 18, "Rebuild"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon QueryInterface<Tr2RuntimeInstanceData> becomes the portable instance-resource duck exposed by the mesh.")], 18, "ClearClusters"]], 0, void 0, CjsModel));
|
|
40
46
|
}
|
|
41
47
|
/** Carbon ClusterData records retained on the CPU. */
|
|
42
48
|
clusters = (_initProto(this), _init_clusters(this, []));
|
|
@@ -71,23 +77,28 @@ class EveSceneStaticParticles extends CjsModel {
|
|
|
71
77
|
/** m_visible (bool) [READ] */
|
|
72
78
|
visible = (_init_extra_maxParticleCount(this), _init_visible(this, false));
|
|
73
79
|
|
|
74
|
-
/** m_worldMatrix (EveSceneStaticParticles.h:93; ctor identity, cpp:27) -
|
|
80
|
+
/** m_worldMatrix (EveSceneStaticParticles.h:93; ctor identity, cpp:27) -
|
|
75
81
|
* the camera-relative placement stamped by Update. */
|
|
76
82
|
worldMatrix = (_init_extra_visible(this), mat4.create());
|
|
77
83
|
|
|
78
|
-
/** m_lastWorldMatrix (h:94; ctor identity, cpp:28) - the previous frame's
|
|
84
|
+
/** m_lastWorldMatrix (h:94; ctor identity, cpp:28) - the previous frame's
|
|
79
85
|
* placement, consumed by GetPerObjectData for motion vectors. */
|
|
80
86
|
lastWorldMatrix = mat4.create();
|
|
81
87
|
|
|
82
|
-
/** m_center (h:95; ctor zero, cpp:24) - the world-space sphere center
|
|
88
|
+
/** m_center (h:95; ctor zero, cpp:24) - the world-space sphere center
|
|
83
89
|
* stamped by Update. */
|
|
84
90
|
center = vec3.create();
|
|
85
91
|
|
|
86
|
-
/** Carbon
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
92
|
+
/** Carbon's post-hydration initializer has no additional work. */
|
|
93
|
+
Initialize() {
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/** Carbon EveSceneStaticParticles::Update (cpp:90-105): the same
|
|
98
|
+
* low-quality/clusters/mesh triple early-out as UpdateVisibility; stashes
|
|
99
|
+
* the previous world matrix, rebuilds the camera-relative translation from
|
|
100
|
+
* the DOUBLE-precision offset centerOfClusters - origin (narrowed to
|
|
101
|
+
* float32 per component only when it enters the matrix, Carbon's
|
|
91
102
|
* float(offset.x) casts), and stamps the world-space sphere center. */
|
|
92
103
|
Update(updateContext) {
|
|
93
104
|
if ((updateContext?.lowQuality ?? updateContext?.device?.lowQuality) === true || this.clusters.length === 0 || !this.mesh) {
|
|
@@ -97,18 +108,19 @@ class EveSceneStaticParticles extends CjsModel {
|
|
|
97
108
|
const origin = updateContext?.GetOrigin?.();
|
|
98
109
|
// Double-precision subtraction (Carbon Vector3d, cpp:100), narrowed per
|
|
99
110
|
// component at the matrix boundary (cpp:102).
|
|
100
|
-
|
|
111
|
+
vec3.set(OFFSET_SCRATCH, Math.fround(this.centerOfClusters[0] - (origin?.[0] ?? 0)), Math.fround(this.centerOfClusters[1] - (origin?.[1] ?? 0)), Math.fround(this.centerOfClusters[2] - (origin?.[2] ?? 0)));
|
|
112
|
+
mat4.fromTranslation(this.worldMatrix, OFFSET_SCRATCH);
|
|
101
113
|
vec3.transformMat4(this.center, this.boundingSphere, this.worldMatrix);
|
|
102
114
|
}
|
|
103
115
|
|
|
104
|
-
/** Carbon EveSceneStaticParticles::UpdateVisibility (cpp:107-123): visible
|
|
105
|
-
* is stamped false first (so a quality toggle / cleared clusters drop the
|
|
106
|
-
* system the same frame); the pixel size is measured on the UNTRANSLATED
|
|
107
|
-
* LOCAL bounding sphere (cpp:117) while the inside test and the frustum
|
|
108
|
-
* test use the world-space center - Carbon's asymmetry, preserved; the
|
|
109
|
-
* camera being inside the cluster sphere bypasses BOTH the frustum test
|
|
110
|
-
* and the size gate; the size gate is strict > against
|
|
111
|
-
* PARTICLE_CLUSTER_MIN_SIZE * lodFactor. estimatedSize is stamped even
|
|
116
|
+
/** Carbon EveSceneStaticParticles::UpdateVisibility (cpp:107-123): visible
|
|
117
|
+
* is stamped false first (so a quality toggle / cleared clusters drop the
|
|
118
|
+
* system the same frame); the pixel size is measured on the UNTRANSLATED
|
|
119
|
+
* LOCAL bounding sphere (cpp:117) while the inside test and the frustum
|
|
120
|
+
* test use the world-space center - Carbon's asymmetry, preserved; the
|
|
121
|
+
* camera being inside the cluster sphere bypasses BOTH the frustum test
|
|
122
|
+
* and the size gate; the size gate is strict > against
|
|
123
|
+
* PARTICLE_CLUSTER_MIN_SIZE * lodFactor. estimatedSize is stamped even
|
|
112
124
|
* when invisible - GetBatches consumes it as the LOD size (cpp:139). */
|
|
113
125
|
UpdateVisibility(updateContext) {
|
|
114
126
|
this.visible = false;
|
|
@@ -129,8 +141,8 @@ class EveSceneStaticParticles extends CjsModel {
|
|
|
129
141
|
this.visible = inBoundingSphere || this.IsVisible(updateContext) && estimatedSizeWithinBounds;
|
|
130
142
|
}
|
|
131
143
|
|
|
132
|
-
/** Carbon EveSceneStaticParticles::IsVisible (cpp:170-174): the world-space
|
|
133
|
-
* center with the local radius through the ONE-ARG IsSphereVisible - the
|
|
144
|
+
/** Carbon EveSceneStaticParticles::IsVisible (cpp:170-174): the world-space
|
|
145
|
+
* center with the local radius through the ONE-ARG IsSphereVisible - the
|
|
134
146
|
* back-plane-ignored TriFrustum quirk applies (cullBackPlane false). */
|
|
135
147
|
IsVisible(updateContext) {
|
|
136
148
|
const frustum = updateContext?.GetFrustum?.();
|
|
@@ -141,8 +153,8 @@ class EveSceneStaticParticles extends CjsModel {
|
|
|
141
153
|
return frustum.IsSphereVisible(SPHERE_SCRATCH) === true;
|
|
142
154
|
}
|
|
143
155
|
|
|
144
|
-
/** Carbon EveSceneStaticParticles::GetRenderables (cpp:129-135): pushes the
|
|
145
|
-
* object ITSELF when visible; the frustum parameter is deliberately unused
|
|
156
|
+
/** Carbon EveSceneStaticParticles::GetRenderables (cpp:129-135): pushes the
|
|
157
|
+
* object ITSELF when visible; the frustum parameter is deliberately unused
|
|
146
158
|
* (kept for the scene call-site contract, EveSpaceScene.cpp:1504-1507). */
|
|
147
159
|
GetRenderables(_frustum, out = []) {
|
|
148
160
|
if (this.visible) {
|
|
@@ -151,27 +163,30 @@ class EveSceneStaticParticles extends CjsModel {
|
|
|
151
163
|
return out;
|
|
152
164
|
}
|
|
153
165
|
|
|
154
|
-
/** Carbon EveSceneStaticParticles::GetBatches (cpp:137-140): the mesh's
|
|
155
|
-
* areas of the requested type with the stamped estimatedSize as the LOD
|
|
166
|
+
/** Carbon EveSceneStaticParticles::GetBatches (cpp:137-140): the mesh's
|
|
167
|
+
* areas of the requested type with the stamped estimatedSize as the LOD
|
|
156
168
|
* screen size (engine-resolved at realization in the GPU-free model). */
|
|
157
169
|
GetBatches(batches, batchType, perObjectData, _reason) {
|
|
158
|
-
|
|
170
|
+
const areas = this.mesh?.GetAreas?.(batchType) ?? batchType;
|
|
171
|
+
return this.mesh?.GetBatches?.(batches, areas, perObjectData, this.estimatedSize) === true;
|
|
159
172
|
}
|
|
160
173
|
|
|
161
|
-
/** Carbon EveSceneStaticParticles::GetShadowBatches (cpp:142-145): the
|
|
174
|
+
/** Carbon EveSceneStaticParticles::GetShadowBatches (cpp:142-145): the
|
|
162
175
|
* particle clusters never cast shadows. */
|
|
163
176
|
GetShadowBatches(_batches, _perObjectData, _shadowPixelSize) {
|
|
164
177
|
return false;
|
|
165
178
|
}
|
|
166
179
|
|
|
167
|
-
/** Carbon EveSceneStaticParticles::GetPerObjectData (cpp:147-158): the
|
|
168
|
-
* world/lastWorld pair (HLSL packing transposes of single matrices - no
|
|
169
|
-
* composition)
|
|
170
|
-
* reference. */
|
|
180
|
+
/** Carbon EveSceneStaticParticles::GetPerObjectData (cpp:147-158): the
|
|
181
|
+
* world/lastWorld pair (HLSL packing transposes of single matrices - no
|
|
182
|
+
* composition). */
|
|
171
183
|
GetPerObjectData(accumulator) {
|
|
172
|
-
const data = accumulator
|
|
173
|
-
data
|
|
174
|
-
|
|
184
|
+
const data = accumulator?.Alloc?.("EveSceneStaticParticlesPerObjectData");
|
|
185
|
+
if (!data) {
|
|
186
|
+
return null;
|
|
187
|
+
}
|
|
188
|
+
data.SetAndTranspose("world", this.worldMatrix);
|
|
189
|
+
data.SetAndTranspose("lastWorld", this.lastWorldMatrix);
|
|
175
190
|
return data;
|
|
176
191
|
}
|
|
177
192
|
|
|
@@ -185,6 +200,25 @@ class EveSceneStaticParticles extends CjsModel {
|
|
|
185
200
|
return 0;
|
|
186
201
|
}
|
|
187
202
|
|
|
203
|
+
/** Adds Carbon's sole debug option to a Set-like option bag. */
|
|
204
|
+
GetDebugOptions(options = new Set()) {
|
|
205
|
+
if (options?.add) {
|
|
206
|
+
options.add("Bounding Sphere");
|
|
207
|
+
} else {
|
|
208
|
+
options?.insert?.("Bounding Sphere");
|
|
209
|
+
}
|
|
210
|
+
return options;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/** Draws the transformed cluster bounds through the injected debug renderer. */
|
|
214
|
+
RenderDebugInfo(renderer) {
|
|
215
|
+
if (!renderer?.HasOption?.(this, "Bounding Sphere")) {
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
vec3.transformMat4(DEBUG_CENTER_SCRATCH, this.boundingSphere, this.worldMatrix);
|
|
219
|
+
renderer.DrawSphere?.(this, DEBUG_CENTER_SCRATCH, this.boundingSphere[3], 10, 0, 0xffffff00);
|
|
220
|
+
}
|
|
221
|
+
|
|
188
222
|
/** Carbon method AddCluster (MAP_METHOD_AND_WRAP). */
|
|
189
223
|
AddCluster(position, radius, color1, color2, randomSeed) {
|
|
190
224
|
this.clusters.push({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EveSceneStaticParticles.js","sources":["../../../../../src/eve/particles/static/EveSceneStaticParticles.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\r\n// trinity/trinity/Eve/Renderable/EveSceneStaticParticles.h\r\n// trinity/trinity/Eve/Renderable/EveSceneStaticParticles.cpp\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\r\n\r\n/** Carbon PARTICLE_CLUSTER_MIN_SIZE (EveSceneStaticParticles.cpp:14, a\r\n * file-scope const - NOT in the header): the pixel-size floor, scaled by the\r\n * context lodFactor, below which the cluster system is invisible. */\r\nexport const PARTICLE_CLUSTER_MIN_SIZE = 100;\r\n\r\n// Packed (x, y, z, radius) world-space cull-sphere scratch.\r\nconst SPHERE_SCRATCH = vec4.create();\r\nconst DEBUG_CENTER_SCRATCH = vec3.create();\r\nconst OFFSET_SCRATCH = vec3.create();\r\n\r\n\r\nfunction createRandom(seed)\r\n{\r\n let state = (seed >>> 0) || 0x6d2b79f5;\r\n return () =>\r\n {\r\n state = (Math.imul(state, 1664525) + 1013904223) >>> 0;\r\n return state / 0xffffffff;\r\n };\r\n}\r\n\r\n\r\nfunction randomGauss(random, deviation)\r\n{\r\n const first = Math.max(random(), 1e-100);\r\n return deviation * Math.pow(-2 * Math.log(first), 0.75) * Math.cos(random() * Math.PI * 2);\r\n}\r\n\r\n/**\r\n * A scene-scale field of static particle clusters, held as CPU instance rows\r\n * around a double-precision aggregate origin and drawn through a single\r\n * instanced mesh.\r\n */\r\n@type.define({ className: \"EveSceneStaticParticles\", family: \"eve/scene\" })\r\nexport class EveSceneStaticParticles extends CjsModel\r\n{\r\n\r\n /** Carbon ClusterData records retained on the CPU. */\r\n @type.list(\"ClusterData\")\r\n clusters = [];\r\n\r\n /** Double-precision aggregate origin used for camera-relative placement. */\r\n @type.rawStruct(\"Vector3d\")\r\n centerOfClusters = new Float64Array(3);\r\n\r\n /** Local particle bounds rebuilt with the CPU instance data. */\r\n @type.vec4\r\n boundingSphere = new Float32Array(4);\r\n\r\n /** m_clusterParticleDensityAdjust (float) [READ] */\r\n @io.read\r\n @type.float32\r\n clusterParticleDensityAdjust = 1;\r\n\r\n /** m_estimatedSize (float) [READ] */\r\n @io.read\r\n @type.float32\r\n estimatedSize = 0;\r\n\r\n /** m_clusterParticleDensity (float) [READWRITE] */\r\n @io.readwrite\r\n @type.float32\r\n clusterParticleDensity = 100;\r\n\r\n /** m_maxSize (float) [READWRITE] */\r\n @io.readwrite\r\n @type.float32\r\n maxSize = 200;\r\n\r\n /** m_minSize (float) [READWRITE] */\r\n @io.readwrite\r\n @type.float32\r\n minSize = 5;\r\n\r\n /** m_mesh (Tr2InstancedMeshPtr) [READWRITE] */\r\n @io.readwrite\r\n @type.objectRef(\"Tr2InstancedMesh\")\r\n mesh = null;\r\n\r\n /** m_maxParticleCount (size_t) [READWRITE] */\r\n @io.readwrite\r\n @type.uint64\r\n maxParticleCount = 100000;\r\n\r\n /** m_visible (bool) [READ] */\r\n @io.read\r\n @type.boolean\r\n visible = false;\r\n\r\n /** m_worldMatrix (EveSceneStaticParticles.h:93; ctor identity, cpp:27) -\r\n * the camera-relative placement stamped by Update. */\r\n worldMatrix = mat4.create();\r\n\r\n /** m_lastWorldMatrix (h:94; ctor identity, cpp:28) - the previous frame's\r\n * placement, consumed by GetPerObjectData for motion vectors. */\r\n lastWorldMatrix = mat4.create();\r\n\r\n /** m_center (h:95; ctor zero, cpp:24) - the world-space sphere center\r\n * stamped by Update. */\r\n center = vec3.create();\r\n\r\n /** Carbon's post-hydration initializer has no additional work. */\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n return true;\r\n }\r\n\r\n /** Carbon EveSceneStaticParticles::Update (cpp:90-105): the same\r\n * low-quality/clusters/mesh triple early-out as UpdateVisibility; stashes\r\n * the previous world matrix, rebuilds the camera-relative translation from\r\n * the DOUBLE-precision offset centerOfClusters - origin (narrowed to\r\n * float32 per component only when it enters the matrix, Carbon's\r\n * float(offset.x) casts), and stamps the world-space sphere center. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2Renderer::IsLowQuality relocates onto the update-context duck (lowQuality, default false).\")\r\n Update(updateContext)\r\n {\r\n if ((updateContext?.lowQuality ?? updateContext?.device?.lowQuality) === true ||\r\n this.clusters.length === 0 || !this.mesh)\r\n {\r\n return;\r\n }\r\n\r\n mat4.copy(this.lastWorldMatrix, this.worldMatrix);\r\n const origin = updateContext?.GetOrigin?.();\r\n // Double-precision subtraction (Carbon Vector3d, cpp:100), narrowed per\r\n // component at the matrix boundary (cpp:102).\r\n vec3.set(\r\n OFFSET_SCRATCH,\r\n Math.fround(this.centerOfClusters[0] - (origin?.[0] ?? 0)),\r\n Math.fround(this.centerOfClusters[1] - (origin?.[1] ?? 0)),\r\n Math.fround(this.centerOfClusters[2] - (origin?.[2] ?? 0))\r\n );\r\n mat4.fromTranslation(this.worldMatrix, OFFSET_SCRATCH);\r\n vec3.transformMat4(this.center, this.boundingSphere, this.worldMatrix);\r\n }\r\n\r\n /** Carbon EveSceneStaticParticles::UpdateVisibility (cpp:107-123): visible\r\n * is stamped false first (so a quality toggle / cleared clusters drop the\r\n * system the same frame); the pixel size is measured on the UNTRANSLATED\r\n * LOCAL bounding sphere (cpp:117) while the inside test and the frustum\r\n * test use the world-space center - Carbon's asymmetry, preserved; the\r\n * camera being inside the cluster sphere bypasses BOTH the frustum test\r\n * and the size gate; the size gate is strict > against\r\n * PARTICLE_CLUSTER_MIN_SIZE * lodFactor. estimatedSize is stamped even\r\n * when invisible - GetBatches consumes it as the LOD size (cpp:139). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2Renderer::IsLowQuality relocates onto the update-context duck (lowQuality, default false).\")\r\n UpdateVisibility(updateContext)\r\n {\r\n this.visible = false;\r\n if ((updateContext?.lowQuality ?? updateContext?.device?.lowQuality) === true ||\r\n this.clusters.length === 0 || !this.mesh)\r\n {\r\n return;\r\n }\r\n const frustum = updateContext?.GetFrustum?.();\r\n if (!frustum)\r\n {\r\n return;\r\n }\r\n this.estimatedSize = frustum.GetPixelSizeAccross(this.boundingSphere);\r\n\r\n const estimatedSizeWithinBounds =\r\n this.estimatedSize > PARTICLE_CLUSTER_MIN_SIZE * (updateContext?.GetLodFactor?.() ?? 1);\r\n const viewPos = frustum.viewPos ?? frustum.m_viewPos;\r\n const dx = this.center[0] - (viewPos?.[0] ?? 0);\r\n const dy = this.center[1] - (viewPos?.[1] ?? 0);\r\n const dz = this.center[2] - (viewPos?.[2] ?? 0);\r\n const inBoundingSphere =\r\n dx * dx + dy * dy + dz * dz <= this.boundingSphere[3] * this.boundingSphere[3];\r\n\r\n this.visible = inBoundingSphere || (this.IsVisible(updateContext) && estimatedSizeWithinBounds);\r\n }\r\n\r\n /** Carbon EveSceneStaticParticles::IsVisible (cpp:170-174): the world-space\r\n * center with the local radius through the ONE-ARG IsSphereVisible - the\r\n * back-plane-ignored TriFrustum quirk applies (cullBackPlane false). */\r\n @carbon.method\r\n @impl.implemented\r\n IsVisible(updateContext)\r\n {\r\n const frustum = updateContext?.GetFrustum?.();\r\n if (!frustum)\r\n {\r\n return false;\r\n }\r\n vec4.set(SPHERE_SCRATCH, this.center[0], this.center[1], this.center[2], this.boundingSphere[3]);\r\n return frustum.IsSphereVisible(SPHERE_SCRATCH) === true;\r\n }\r\n\r\n /** Carbon EveSceneStaticParticles::GetRenderables (cpp:129-135): pushes the\r\n * object ITSELF when visible; the frustum parameter is deliberately unused\r\n * (kept for the scene call-site contract, EveSpaceScene.cpp:1504-1507). */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(_frustum, out = [])\r\n {\r\n if (this.visible)\r\n {\r\n out.push(this);\r\n }\r\n return out;\r\n }\r\n\r\n /** Carbon EveSceneStaticParticles::GetBatches (cpp:137-140): the mesh's\r\n * areas of the requested type with the stamped estimatedSize as the LOD\r\n * screen size (engine-resolved at realization in the GPU-free model). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The estimatedSize LOD select is engine-resolved at realization; the delegation structure is ported.\")\r\n GetBatches(batches, batchType, perObjectData, _reason)\r\n {\r\n const areas = this.mesh?.GetAreas?.(batchType) ?? batchType;\r\n return this.mesh?.GetBatches?.(batches, areas, perObjectData, this.estimatedSize) === true;\r\n }\r\n\r\n /** Carbon EveSceneStaticParticles::GetShadowBatches (cpp:142-145): the\r\n * particle clusters never cast shadows. */\r\n @carbon.method\r\n @impl.implemented\r\n GetShadowBatches(_batches, _perObjectData, _shadowPixelSize)\r\n {\r\n return false;\r\n }\r\n\r\n /** Carbon EveSceneStaticParticles::GetPerObjectData (cpp:147-158): the\r\n * world/lastWorld pair (HLSL packing transposes of single matrices - no\r\n * composition). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Constant-buffer layout/packing is engine-owned; Trinity Allocs the record from the accumulator's store and Sets the logical world/lastWorld by name (the store transposes per the engine layout). Both fields are fully CPU-filled, so no object backref is needed.\")\r\n GetPerObjectData(accumulator)\r\n {\r\n const data = accumulator?.Alloc?.(\"EveSceneStaticParticlesPerObjectData\");\r\n if (!data)\r\n {\r\n return null;\r\n }\r\n data.SetAndTranspose(\"world\", this.worldMatrix);\r\n data.SetAndTranspose(\"lastWorld\", this.lastWorldMatrix);\r\n return data;\r\n }\r\n\r\n /** Carbon EveSceneStaticParticles::HasTransparentBatches (cpp:160-163). */\r\n @carbon.method\r\n @impl.implemented\r\n HasTransparentBatches()\r\n {\r\n return false;\r\n }\r\n\r\n /** Carbon EveSceneStaticParticles::GetSortValue (cpp:165-168). */\r\n @carbon.method\r\n @impl.implemented\r\n GetSortValue()\r\n {\r\n return 0;\r\n }\r\n\r\n /** Adds Carbon's sole debug option to a Set-like option bag. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2DebugRendererOptions is represented by an injected Set-like option bag.\")\r\n GetDebugOptions(options = new Set())\r\n {\r\n if (options?.add)\r\n {\r\n options.add(\"Bounding Sphere\");\r\n }\r\n else\r\n {\r\n options?.insert?.(\"Bounding Sphere\");\r\n }\r\n return options;\r\n }\r\n\r\n /** Draws the transformed cluster bounds through the injected debug renderer. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"ITr2DebugRenderer2 is an injected engine-owned capability; its Effect::Wireframe value is retained as 0.\")\r\n RenderDebugInfo(renderer)\r\n {\r\n if (!renderer?.HasOption?.(this, \"Bounding Sphere\"))\r\n {\r\n return;\r\n }\r\n vec3.transformMat4(DEBUG_CENTER_SCRATCH, this.boundingSphere, this.worldMatrix);\r\n renderer.DrawSphere?.(\r\n this,\r\n DEBUG_CENTER_SCRATCH,\r\n this.boundingSphere[3],\r\n 10,\r\n 0,\r\n 0xffffff00\r\n );\r\n }\r\n\r\n /** Carbon method AddCluster (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's native ClusterData/Vector3d value is represented by a plain record with a Float64Array position.\")\r\n AddCluster(position, radius, color1, color2, randomSeed)\r\n {\r\n this.clusters.push({\r\n position: new Float64Array(position),\r\n radius,\r\n color1: vec4.clone(color1),\r\n color2: vec4.clone(color2),\r\n randomSeed: randomSeed >>> 0\r\n });\r\n }\r\n\r\n /** Carbon method Rebuild (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Builds Carbon's CPU instance rows and bounds; a deterministic local PRNG replaces Carbon's process-global C rand state, and boolean success plus safe empty-cluster cleanup replace Carbon's void native buffer path.\")\r\n Rebuild()\r\n {\r\n const instanceData = this.mesh?.GetInstanceGeometryResource?.();\r\n if (!instanceData?.SetElementLayout || !instanceData?.SetData)\r\n {\r\n return false;\r\n }\r\n if (this.clusters.length === 0)\r\n {\r\n instanceData.DestroyData?.();\r\n this.centerOfClusters.fill(0);\r\n this.boundingSphere.fill(0);\r\n return true;\r\n }\r\n\r\n this.centerOfClusters.fill(0);\r\n for (const cluster of this.clusters)\r\n {\r\n this.centerOfClusters[0] += cluster.position[0];\r\n this.centerOfClusters[1] += cluster.position[1];\r\n this.centerOfClusters[2] += cluster.position[2];\r\n }\r\n for (let axis = 0; axis < 3; axis++)\r\n {\r\n this.centerOfClusters[axis] /= this.clusters.length;\r\n }\r\n\r\n let unadjustedCount = 0;\r\n for (const cluster of this.clusters)\r\n {\r\n unadjustedCount += Math.max(0, Math.trunc(this.clusterParticleDensity * cluster.radius));\r\n }\r\n const maximum = Math.max(0, Number(this.maxParticleCount));\r\n this.clusterParticleDensityAdjust = unadjustedCount > maximum && unadjustedCount > 0\r\n ? maximum / unadjustedCount\r\n : 1;\r\n\r\n const rows = [];\r\n for (let clusterIndex = 0; clusterIndex < this.clusters.length; clusterIndex++)\r\n {\r\n const cluster = this.clusters[clusterIndex];\r\n const count = Math.max(0, Math.trunc(this.clusterParticleDensityAdjust * this.clusterParticleDensity * cluster.radius));\r\n const deviation = Math.min(cluster.radius, 2000);\r\n const relative = vec3.fromValues(\r\n cluster.position[0] - this.centerOfClusters[0],\r\n cluster.position[1] - this.centerOfClusters[1],\r\n cluster.position[2] - this.centerOfClusters[2]\r\n );\r\n const random = createRandom(cluster.randomSeed || clusterIndex + 1);\r\n\r\n for (let index = 0; index < count; index++)\r\n {\r\n const offset = vec3.fromValues(\r\n randomGauss(random, 2 * deviation),\r\n randomGauss(random, deviation),\r\n randomGauss(random, 2 * deviation)\r\n );\r\n const length = vec3.length(offset);\r\n const position = vec3.clone(relative);\r\n vec3.add(position, position, offset);\r\n if (length > 0)\r\n {\r\n vec3.scaleAndAdd(position, position, offset, cluster.radius / length);\r\n }\r\n\r\n const mix = random();\r\n const color = vec4.create();\r\n for (let channel = 0; channel < 4; channel++)\r\n {\r\n color[channel] = cluster.color1[channel] + (cluster.color2[channel] - cluster.color1[channel]) * mix;\r\n }\r\n color[3] = count > 0 ? index / count : 0;\r\n const size = random() * Math.min(cluster.radius / 10, this.maxSize) + this.minSize;\r\n rows.push([position, size, color]);\r\n }\r\n }\r\n\r\n instanceData.SetElementLayout([\r\n { usage: \"POSITION\", usageIndex: 0, type: \"FLOAT32_3\", name: \"position\" },\r\n { usage: \"TEXCOORD\", usageIndex: 0, type: \"FLOAT32_1\", name: \"size\" },\r\n { usage: \"TEXCOORD\", usageIndex: 1, type: \"FLOAT32_4\", name: \"color\" }\r\n ]);\r\n instanceData.SetData(rows);\r\n instanceData.UpdateBoundingBox?.();\r\n instanceData.UpdateData?.();\r\n\r\n const bounds = instanceData.GetBoundingBox?.();\r\n if (bounds?.min && bounds?.max)\r\n {\r\n this.mesh.SetBoundingBox?.(bounds.min, bounds.max);\r\n for (let axis = 0; axis < 3; axis++)\r\n {\r\n this.boundingSphere[axis] = (bounds.min[axis] + bounds.max[axis]) * 0.5;\r\n }\r\n this.boundingSphere[3] = Math.hypot(\r\n bounds.max[0] - bounds.min[0],\r\n bounds.max[1] - bounds.min[1],\r\n bounds.max[2] - bounds.min[2]\r\n ) * 0.5;\r\n }\r\n return true;\r\n }\r\n\r\n /** Carbon method ClearClusters (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon QueryInterface<Tr2RuntimeInstanceData> becomes the portable instance-resource duck exposed by the mesh.\")\r\n ClearClusters()\r\n {\r\n this.clusters.length = 0;\r\n this.mesh?.GetInstanceGeometryResource?.()?.DestroyData?.();\r\n }\r\n\r\n}\r\n"],"names":["PARTICLE_CLUSTER_MIN_SIZE","SPHERE_SCRATCH","vec4","create","DEBUG_CENTER_SCRATCH","vec3","OFFSET_SCRATCH","createRandom","seed","state","Math","imul","randomGauss","random","deviation","first","max","pow","log","cos","PI","_EveSceneStaticPartic","EveSceneStaticParticles","CjsModel","e","_init_clusters","_init_extra_clusters","_init_centerOfClusters","_init_extra_centerOfClusters","_init_boundingSphere","_init_extra_boundingSphere","_init_clusterParticleDensityAdjust","_init_extra_clusterParticleDensityAdjust","_init_estimatedSize","_init_extra_estimatedSize","_init_clusterParticleDensity","_init_extra_clusterParticleDensity","_init_maxSize","_init_extra_maxSize","_init_minSize","_init_extra_minSize","_init_mesh","_init_extra_mesh","_init_maxParticleCount","_init_extra_maxParticleCount","_init_visible","_init_extra_visible","_initProto","c","_initClass","_applyDecs","type","define","className","family","list","rawStruct","io","read","float32","readwrite","objectRef","uint64","boolean","carbon","method","impl","implemented","adapted","reason","clusters","centerOfClusters","Float64Array","boundingSphere","Float32Array","clusterParticleDensityAdjust","estimatedSize","clusterParticleDensity","maxSize","minSize","mesh","maxParticleCount","visible","worldMatrix","mat4","lastWorldMatrix","center","Initialize","Update","updateContext","lowQuality","device","length","copy","origin","GetOrigin","set","fround","fromTranslation","transformMat4","UpdateVisibility","frustum","GetFrustum","GetPixelSizeAccross","estimatedSizeWithinBounds","GetLodFactor","viewPos","m_viewPos","dx","dy","dz","inBoundingSphere","IsVisible","IsSphereVisible","GetRenderables","_frustum","out","push","GetBatches","batches","batchType","perObjectData","_reason","areas","GetAreas","GetShadowBatches","_batches","_perObjectData","_shadowPixelSize","GetPerObjectData","accumulator","data","Alloc","SetAndTranspose","HasTransparentBatches","GetSortValue","GetDebugOptions","options","Set","add","insert","RenderDebugInfo","renderer","HasOption","DrawSphere","AddCluster","position","radius","color1","color2","randomSeed","clone","Rebuild","instanceData","GetInstanceGeometryResource","SetElementLayout","SetData","DestroyData","fill","cluster","axis","unadjustedCount","trunc","maximum","Number","rows","clusterIndex","count","min","relative","fromValues","index","offset","scaleAndAdd","mix","color","channel","size","usage","usageIndex","name","UpdateBoundingBox","UpdateData","bounds","GetBoundingBox","SetBoundingBox","hypot","ClearClusters"],"mappings":";;;;;;;;;AASA;AACA;AACA;AACO,MAAMA,yBAAyB,GAAG;;AAEzC;AACA,MAAMC,cAAc,GAAGC,IAAI,CAACC,MAAM,EAAE;AACpC,MAAMC,oBAAoB,GAAGC,IAAI,CAACF,MAAM,EAAE;AAC1C,MAAMG,cAAc,GAAGD,IAAI,CAACF,MAAM,EAAE;AAGpC,SAASI,YAAYA,CAACC,IAAI,EAC1B;AACE,EAAA,IAAIC,KAAK,GAAID,IAAI,KAAK,CAAC,IAAK,UAAU;AACtC,EAAA,OAAO,MACP;AACEC,IAAAA,KAAK,GAAIC,IAAI,CAACC,IAAI,CAACF,KAAK,EAAE,OAAO,CAAC,GAAG,UAAU,KAAM,CAAC;IACtD,OAAOA,KAAK,GAAG,UAAU;EAC3B,CAAC;AACH;AAGA,SAASG,WAAWA,CAACC,MAAM,EAAEC,SAAS,EACtC;EACE,MAAMC,KAAK,GAAGL,IAAI,CAACM,GAAG,CAACH,MAAM,EAAE,EAAE,MAAM,CAAC;AACxC,EAAA,OAAOC,SAAS,GAAGJ,IAAI,CAACO,GAAG,CAAC,EAAE,GAAGP,IAAI,CAACQ,GAAG,CAACH,KAAK,CAAC,EAAE,IAAI,CAAC,GAAGL,IAAI,CAACS,GAAG,CAACN,MAAM,EAAE,GAAGH,IAAI,CAACU,EAAE,GAAG,CAAC,CAAC;AAC5F;;AAEA;AACA;AACA;AACA;AACA;AAJA,IAAAC;AAKA,MAAAC,uBAAA,SAC6CC,QAAQ,CACrD;AAAA,EAAA;AAAA,IAAA,CAAA;MAAAC,CAAA,EAAA,CAAAC,cAAA,EAAAC,oBAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,oBAAA,EAAAC,0BAAA,EAAAC,kCAAA,EAAAC,wCAAA,EAAAC,mBAAA,EAAAC,yBAAA,EAAAC,4BAAA,EAAAC,kCAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAA3B,qBAAA,EAAA4B,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,yBAAyB;AAAEC,MAAAA,MAAM,EAAE;AAAY,KAAC,CAAC,CAAA,EAAA,CAAA,CAKxEH,IAAI,CAACI,IAAI,CAAC,aAAa,CAAC,EAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAIxBJ,IAAI,CAACK,SAAS,CAAC,UAAU,CAAC,EAAA,CAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAI1BL,IAAI,EAAJA,IAAI,CAACjD,IAAI,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAITuD,EAAE,EAAFA,EAAE,CAACC,IAAI,EACPP,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,8BAAA,CAAA,EAAA,CAAA,CAIZF,EAAE,EAAFA,EAAE,CAACC,IAAI,EACPP,IAAI,EAAJA,IAAI,CAACQ,OAAO,2BAIZF,EAAE,EAAFA,EAAE,CAACG,SAAS,EACZT,IAAI,EAAJA,IAAI,CAACQ,OAAO,oCAIZF,EAAE,EAAFA,EAAE,CAACG,SAAS,EACZT,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAIZF,EAAE,EAAFA,EAAE,CAACG,SAAS,EACZT,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAIZF,EAAE,EAAFA,EAAE,CAACG,SAAS,EAAA,MAAA,EACZT,IAAI,CAACU,SAAS,CAAC,kBAAkB,CAAC,kBAIlCJ,EAAE,EAAFA,EAAE,CAACG,SAAS,EACZT,IAAI,EAAJA,IAAI,CAACW,MAAM,8BAIXL,EAAE,EAAFA,EAAE,CAACC,IAAI,EACPP,IAAI,EAAJA,IAAI,CAACY,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAgBZC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAYhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,+FAA+F,CAAC,oBAgC5GL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,+FAA+F,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CA+B5GL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAehBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAahBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,qGAAqG,CAAC,wBASlHL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,8BAShBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,qQAAqQ,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAclRL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,mCAOhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,0BAOhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,4EAA4E,CAAC,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAezFL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,UACZF,IAAI,CAACG,MAAM,CAAC,0GAA0G,CAAC,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAmBvHL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,2GAA2G,CAAC,wBAaxHL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,UACZF,IAAI,CAACG,MAAM,CAAC,uNAAuN,CAAC,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAyGpOL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,gHAAgH,CAAC,qCAzYnF9C,QAAQ,CAAA;AAAA;AAGnD;AAEA+C,EAAAA,QAAQ,IAAAvB,UAAA,CAAA,IAAA,CAAA,EAAAtB,cAAA,OAAG,EAAE,CAAA;;AAEb;EAEA8C,gBAAgB,IAAA7C,oBAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,IAAI6C,YAAY,CAAC,CAAC,CAAC,CAAA;;AAEtC;EAEAC,cAAc,IAAA7C,4BAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAG,IAAI6C,YAAY,CAAC,CAAC,CAAC,CAAA;;AAEpC;AAGAC,EAAAA,4BAA4B,IAAA7C,0BAAA,CAAA,IAAA,CAAA,EAAAC,kCAAA,OAAG,CAAC,CAAA;;AAEhC;AAGA6C,EAAAA,aAAa,IAAA5C,wCAAA,CAAA,IAAA,CAAA,EAAAC,mBAAA,OAAG,CAAC,CAAA;;AAEjB;AAGA4C,EAAAA,sBAAsB,IAAA3C,yBAAA,CAAA,IAAA,CAAA,EAAAC,4BAAA,OAAG,GAAG,CAAA;;AAE5B;AAGA2C,EAAAA,OAAO,IAAA1C,kCAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,GAAG,CAAA;;AAEb;AAGA0C,EAAAA,OAAO,IAAAzC,mBAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,CAAC,CAAA;;AAEX;AAGAyC,EAAAA,IAAI,IAAAxC,mBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,IAAI,CAAA;;AAEX;AAGAwC,EAAAA,gBAAgB,IAAAvC,gBAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,MAAM,CAAA;;AAEzB;AAGAuC,EAAAA,OAAO,IAAAtC,4BAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,KAAK,CAAA;;AAEf;AACF;AACEsC,EAAAA,WAAW,IAAArC,mBAAA,CAAA,IAAA,CAAA,EAAGsC,IAAI,CAACjF,MAAM,EAAE;;AAE3B;AACF;AACEkF,EAAAA,eAAe,GAAGD,IAAI,CAACjF,MAAM,EAAE;;AAE/B;AACF;AACEmF,EAAAA,MAAM,GAAGjF,IAAI,CAACF,MAAM,EAAE;;AAEtB;AAGAoF,EAAAA,UAAUA,GACV;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EAIEC,MAAMA,CAACC,aAAa,EACpB;IACE,IAAI,CAACA,aAAa,EAAEC,UAAU,IAAID,aAAa,EAAEE,MAAM,EAAED,UAAU,MAAM,IAAI,IAC3E,IAAI,CAACpB,QAAQ,CAACsB,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAACZ,IAAI,EAC1C;AACE,MAAA;AACF,IAAA;IAEAI,IAAI,CAACS,IAAI,CAAC,IAAI,CAACR,eAAe,EAAE,IAAI,CAACF,WAAW,CAAC;AACjD,IAAA,MAAMW,MAAM,GAAGL,aAAa,EAAEM,SAAS,IAAI;AAC3C;AACA;AACA1F,IAAAA,IAAI,CAAC2F,GAAG,CACN1F,cAAc,EACdI,IAAI,CAACuF,MAAM,CAAC,IAAI,CAAC1B,gBAAgB,CAAC,CAAC,CAAC,IAAIuB,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAC1DpF,IAAI,CAACuF,MAAM,CAAC,IAAI,CAAC1B,gBAAgB,CAAC,CAAC,CAAC,IAAIuB,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAC1DpF,IAAI,CAACuF,MAAM,CAAC,IAAI,CAAC1B,gBAAgB,CAAC,CAAC,CAAC,IAAIuB,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAC3D,CAAC;IACDV,IAAI,CAACc,eAAe,CAAC,IAAI,CAACf,WAAW,EAAE7E,cAAc,CAAC;AACtDD,IAAAA,IAAI,CAAC8F,aAAa,CAAC,IAAI,CAACb,MAAM,EAAE,IAAI,CAACb,cAAc,EAAE,IAAI,CAACU,WAAW,CAAC;AACxE,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAIEiB,gBAAgBA,CAACX,aAAa,EAC9B;IACE,IAAI,CAACP,OAAO,GAAG,KAAK;IACpB,IAAI,CAACO,aAAa,EAAEC,UAAU,IAAID,aAAa,EAAEE,MAAM,EAAED,UAAU,MAAM,IAAI,IAC3E,IAAI,CAACpB,QAAQ,CAACsB,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAACZ,IAAI,EAC1C;AACE,MAAA;AACF,IAAA;AACA,IAAA,MAAMqB,OAAO,GAAGZ,aAAa,EAAEa,UAAU,IAAI;IAC7C,IAAI,CAACD,OAAO,EACZ;AACE,MAAA;AACF,IAAA;IACA,IAAI,CAACzB,aAAa,GAAGyB,OAAO,CAACE,mBAAmB,CAAC,IAAI,CAAC9B,cAAc,CAAC;AAErE,IAAA,MAAM+B,yBAAyB,GAC7B,IAAI,CAAC5B,aAAa,GAAG5E,yBAAyB,IAAIyF,aAAa,EAAEgB,YAAY,IAAI,IAAI,CAAC,CAAC;IACzF,MAAMC,OAAO,GAAGL,OAAO,CAACK,OAAO,IAAIL,OAAO,CAACM,SAAS;AACpD,IAAA,MAAMC,EAAE,GAAG,IAAI,CAACtB,MAAM,CAAC,CAAC,CAAC,IAAIoB,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/C,IAAA,MAAMG,EAAE,GAAG,IAAI,CAACvB,MAAM,CAAC,CAAC,CAAC,IAAIoB,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/C,IAAA,MAAMI,EAAE,GAAG,IAAI,CAACxB,MAAM,CAAC,CAAC,CAAC,IAAIoB,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAMK,gBAAgB,GACpBH,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE,IAAI,IAAI,CAACrC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAACA,cAAc,CAAC,CAAC,CAAC;AAEhF,IAAA,IAAI,CAACS,OAAO,GAAG6B,gBAAgB,IAAK,IAAI,CAACC,SAAS,CAACvB,aAAa,CAAC,IAAIe,yBAA0B;AACjG,EAAA;;AAEA;AACF;AACA;EAGEQ,SAASA,CAACvB,aAAa,EACvB;AACE,IAAA,MAAMY,OAAO,GAAGZ,aAAa,EAAEa,UAAU,IAAI;IAC7C,IAAI,CAACD,OAAO,EACZ;AACE,MAAA,OAAO,KAAK;AACd,IAAA;AACAnG,IAAAA,IAAI,CAAC8F,GAAG,CAAC/F,cAAc,EAAE,IAAI,CAACqF,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAACA,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAACA,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAACb,cAAc,CAAC,CAAC,CAAC,CAAC;AAChG,IAAA,OAAO4B,OAAO,CAACY,eAAe,CAAChH,cAAc,CAAC,KAAK,IAAI;AACzD,EAAA;;AAEA;AACF;AACA;AAGEiH,EAAAA,cAAcA,CAACC,QAAQ,EAAEC,GAAG,GAAG,EAAE,EACjC;IACE,IAAI,IAAI,CAAClC,OAAO,EAChB;AACEkC,MAAAA,GAAG,CAACC,IAAI,CAAC,IAAI,CAAC;AAChB,IAAA;AACA,IAAA,OAAOD,GAAG;AACZ,EAAA;;AAEA;AACF;AACA;EAIEE,UAAUA,CAACC,OAAO,EAAEC,SAAS,EAAEC,aAAa,EAAEC,OAAO,EACrD;IACE,MAAMC,KAAK,GAAG,IAAI,CAAC3C,IAAI,EAAE4C,QAAQ,GAAGJ,SAAS,CAAC,IAAIA,SAAS;AAC3D,IAAA,OAAO,IAAI,CAACxC,IAAI,EAAEsC,UAAU,GAAGC,OAAO,EAAEI,KAAK,EAAEF,aAAa,EAAE,IAAI,CAAC7C,aAAa,CAAC,KAAK,IAAI;AAC5F,EAAA;;AAEA;AACF;AAGEiD,EAAAA,gBAAgBA,CAACC,QAAQ,EAAEC,cAAc,EAAEC,gBAAgB,EAC3D;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAEA;AACF;AACA;EAIEC,gBAAgBA,CAACC,WAAW,EAC5B;AACE,IAAA,MAAMC,IAAI,GAAGD,WAAW,EAAEE,KAAK,GAAG,sCAAsC,CAAC;IACzE,IAAI,CAACD,IAAI,EACT;AACE,MAAA,OAAO,IAAI;AACb,IAAA;IACAA,IAAI,CAACE,eAAe,CAAC,OAAO,EAAE,IAAI,CAAClD,WAAW,CAAC;IAC/CgD,IAAI,CAACE,eAAe,CAAC,WAAW,EAAE,IAAI,CAAChD,eAAe,CAAC;AACvD,IAAA,OAAO8C,IAAI;AACb,EAAA;;AAEA;AAGAG,EAAAA,qBAAqBA,GACrB;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAEA;AAGAC,EAAAA,YAAYA,GACZ;AACE,IAAA,OAAO,CAAC;AACV,EAAA;;AAEA;AAIAC,EAAAA,eAAeA,CAACC,OAAO,GAAG,IAAIC,GAAG,EAAE,EACnC;IACE,IAAID,OAAO,EAAEE,GAAG,EAChB;AACEF,MAAAA,OAAO,CAACE,GAAG,CAAC,iBAAiB,CAAC;AAChC,IAAA,CAAC,MAED;AACEF,MAAAA,OAAO,EAAEG,MAAM,GAAG,iBAAiB,CAAC;AACtC,IAAA;AACA,IAAA,OAAOH,OAAO;AAChB,EAAA;;AAEA;EAIAI,eAAeA,CAACC,QAAQ,EACxB;IACE,IAAI,CAACA,QAAQ,EAAEC,SAAS,GAAG,IAAI,EAAE,iBAAiB,CAAC,EACnD;AACE,MAAA;AACF,IAAA;AACA1I,IAAAA,IAAI,CAAC8F,aAAa,CAAC/F,oBAAoB,EAAE,IAAI,CAACqE,cAAc,EAAE,IAAI,CAACU,WAAW,CAAC;AAC/E2D,IAAAA,QAAQ,CAACE,UAAU,GACjB,IAAI,EACJ5I,oBAAoB,EACpB,IAAI,CAACqE,cAAc,CAAC,CAAC,CAAC,EACtB,EAAE,EACF,CAAC,EACD,UACF,CAAC;AACH,EAAA;;AAEA;EAIAwE,UAAUA,CAACC,QAAQ,EAAEC,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,UAAU,EACvD;AACE,IAAA,IAAI,CAAChF,QAAQ,CAAC+C,IAAI,CAAC;AACjB6B,MAAAA,QAAQ,EAAE,IAAI1E,YAAY,CAAC0E,QAAQ,CAAC;MACpCC,MAAM;AACNC,MAAAA,MAAM,EAAElJ,IAAI,CAACqJ,KAAK,CAACH,MAAM,CAAC;AAC1BC,MAAAA,MAAM,EAAEnJ,IAAI,CAACqJ,KAAK,CAACF,MAAM,CAAC;MAC1BC,UAAU,EAAEA,UAAU,KAAK;AAC7B,KAAC,CAAC;AACJ,EAAA;;AAEA;AAIAE,EAAAA,OAAOA,GACP;IACE,MAAMC,YAAY,GAAG,IAAI,CAACzE,IAAI,EAAE0E,2BAA2B,IAAI;IAC/D,IAAI,CAACD,YAAY,EAAEE,gBAAgB,IAAI,CAACF,YAAY,EAAEG,OAAO,EAC7D;AACE,MAAA,OAAO,KAAK;AACd,IAAA;AACA,IAAA,IAAI,IAAI,CAACtF,QAAQ,CAACsB,MAAM,KAAK,CAAC,EAC9B;MACE6D,YAAY,CAACI,WAAW,IAAI;AAC5B,MAAA,IAAI,CAACtF,gBAAgB,CAACuF,IAAI,CAAC,CAAC,CAAC;AAC7B,MAAA,IAAI,CAACrF,cAAc,CAACqF,IAAI,CAAC,CAAC,CAAC;AAC3B,MAAA,OAAO,IAAI;AACb,IAAA;AAEA,IAAA,IAAI,CAACvF,gBAAgB,CAACuF,IAAI,CAAC,CAAC,CAAC;AAC7B,IAAA,KAAK,MAAMC,OAAO,IAAI,IAAI,CAACzF,QAAQ,EACnC;MACE,IAAI,CAACC,gBAAgB,CAAC,CAAC,CAAC,IAAIwF,OAAO,CAACb,QAAQ,CAAC,CAAC,CAAC;MAC/C,IAAI,CAAC3E,gBAAgB,CAAC,CAAC,CAAC,IAAIwF,OAAO,CAACb,QAAQ,CAAC,CAAC,CAAC;MAC/C,IAAI,CAAC3E,gBAAgB,CAAC,CAAC,CAAC,IAAIwF,OAAO,CAACb,QAAQ,CAAC,CAAC,CAAC;AACjD,IAAA;IACA,KAAK,IAAIc,IAAI,GAAG,CAAC,EAAEA,IAAI,GAAG,CAAC,EAAEA,IAAI,EAAE,EACnC;MACE,IAAI,CAACzF,gBAAgB,CAACyF,IAAI,CAAC,IAAI,IAAI,CAAC1F,QAAQ,CAACsB,MAAM;AACrD,IAAA;IAEA,IAAIqE,eAAe,GAAG,CAAC;AACvB,IAAA,KAAK,MAAMF,OAAO,IAAI,IAAI,CAACzF,QAAQ,EACnC;AACE2F,MAAAA,eAAe,IAAIvJ,IAAI,CAACM,GAAG,CAAC,CAAC,EAAEN,IAAI,CAACwJ,KAAK,CAAC,IAAI,CAACrF,sBAAsB,GAAGkF,OAAO,CAACZ,MAAM,CAAC,CAAC;AAC1F,IAAA;AACA,IAAA,MAAMgB,OAAO,GAAGzJ,IAAI,CAACM,GAAG,CAAC,CAAC,EAAEoJ,MAAM,CAAC,IAAI,CAACnF,gBAAgB,CAAC,CAAC;AAC1D,IAAA,IAAI,CAACN,4BAA4B,GAAGsF,eAAe,GAAGE,OAAO,IAAIF,eAAe,GAAG,CAAC,GAChFE,OAAO,GAAGF,eAAe,GACzB,CAAC;IAEL,MAAMI,IAAI,GAAG,EAAE;AACf,IAAA,KAAK,IAAIC,YAAY,GAAG,CAAC,EAAEA,YAAY,GAAG,IAAI,CAAChG,QAAQ,CAACsB,MAAM,EAAE0E,YAAY,EAAE,EAC9E;AACE,MAAA,MAAMP,OAAO,GAAG,IAAI,CAACzF,QAAQ,CAACgG,YAAY,CAAC;MAC3C,MAAMC,KAAK,GAAG7J,IAAI,CAACM,GAAG,CAAC,CAAC,EAAEN,IAAI,CAACwJ,KAAK,CAAC,IAAI,CAACvF,4BAA4B,GAAG,IAAI,CAACE,sBAAsB,GAAGkF,OAAO,CAACZ,MAAM,CAAC,CAAC;MACvH,MAAMrI,SAAS,GAAGJ,IAAI,CAAC8J,GAAG,CAACT,OAAO,CAACZ,MAAM,EAAE,IAAI,CAAC;MAChD,MAAMsB,QAAQ,GAAGpK,IAAI,CAACqK,UAAU,CAC9BX,OAAO,CAACb,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC3E,gBAAgB,CAAC,CAAC,CAAC,EAC9CwF,OAAO,CAACb,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC3E,gBAAgB,CAAC,CAAC,CAAC,EAC9CwF,OAAO,CAACb,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC3E,gBAAgB,CAAC,CAAC,CAC/C,CAAC;MACD,MAAM1D,MAAM,GAAGN,YAAY,CAACwJ,OAAO,CAACT,UAAU,IAAIgB,YAAY,GAAG,CAAC,CAAC;MAEnE,KAAK,IAAIK,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGJ,KAAK,EAAEI,KAAK,EAAE,EAC1C;AACE,QAAA,MAAMC,MAAM,GAAGvK,IAAI,CAACqK,UAAU,CAC5B9J,WAAW,CAACC,MAAM,EAAE,CAAC,GAAGC,SAAS,CAAC,EAClCF,WAAW,CAACC,MAAM,EAAEC,SAAS,CAAC,EAC9BF,WAAW,CAACC,MAAM,EAAE,CAAC,GAAGC,SAAS,CACnC,CAAC;AACD,QAAA,MAAM8E,MAAM,GAAGvF,IAAI,CAACuF,MAAM,CAACgF,MAAM,CAAC;AAClC,QAAA,MAAM1B,QAAQ,GAAG7I,IAAI,CAACkJ,KAAK,CAACkB,QAAQ,CAAC;QACrCpK,IAAI,CAACsI,GAAG,CAACO,QAAQ,EAAEA,QAAQ,EAAE0B,MAAM,CAAC;QACpC,IAAIhF,MAAM,GAAG,CAAC,EACd;AACEvF,UAAAA,IAAI,CAACwK,WAAW,CAAC3B,QAAQ,EAAEA,QAAQ,EAAE0B,MAAM,EAAEb,OAAO,CAACZ,MAAM,GAAGvD,MAAM,CAAC;AACvE,QAAA;AAEA,QAAA,MAAMkF,GAAG,GAAGjK,MAAM,EAAE;AACpB,QAAA,MAAMkK,KAAK,GAAG7K,IAAI,CAACC,MAAM,EAAE;QAC3B,KAAK,IAAI6K,OAAO,GAAG,CAAC,EAAEA,OAAO,GAAG,CAAC,EAAEA,OAAO,EAAE,EAC5C;UACED,KAAK,CAACC,OAAO,CAAC,GAAGjB,OAAO,CAACX,MAAM,CAAC4B,OAAO,CAAC,GAAG,CAACjB,OAAO,CAACV,MAAM,CAAC2B,OAAO,CAAC,GAAGjB,OAAO,CAACX,MAAM,CAAC4B,OAAO,CAAC,IAAIF,GAAG;AACtG,QAAA;AACAC,QAAAA,KAAK,CAAC,CAAC,CAAC,GAAGR,KAAK,GAAG,CAAC,GAAGI,KAAK,GAAGJ,KAAK,GAAG,CAAC;QACxC,MAAMU,IAAI,GAAGpK,MAAM,EAAE,GAAGH,IAAI,CAAC8J,GAAG,CAACT,OAAO,CAACZ,MAAM,GAAG,EAAE,EAAE,IAAI,CAACrE,OAAO,CAAC,GAAG,IAAI,CAACC,OAAO;QAClFsF,IAAI,CAAChD,IAAI,CAAC,CAAC6B,QAAQ,EAAE+B,IAAI,EAAEF,KAAK,CAAC,CAAC;AACpC,MAAA;AACF,IAAA;IAEAtB,YAAY,CAACE,gBAAgB,CAAC,CAC5B;AAAEuB,MAAAA,KAAK,EAAE,UAAU;AAAEC,MAAAA,UAAU,EAAE,CAAC;AAAEhI,MAAAA,IAAI,EAAE,WAAW;AAAEiI,MAAAA,IAAI,EAAE;AAAW,KAAC,EACzE;AAAEF,MAAAA,KAAK,EAAE,UAAU;AAAEC,MAAAA,UAAU,EAAE,CAAC;AAAEhI,MAAAA,IAAI,EAAE,WAAW;AAAEiI,MAAAA,IAAI,EAAE;AAAO,KAAC,EACrE;AAAEF,MAAAA,KAAK,EAAE,UAAU;AAAEC,MAAAA,UAAU,EAAE,CAAC;AAAEhI,MAAAA,IAAI,EAAE,WAAW;AAAEiI,MAAAA,IAAI,EAAE;AAAQ,KAAC,CACvE,CAAC;AACF3B,IAAAA,YAAY,CAACG,OAAO,CAACS,IAAI,CAAC;IAC1BZ,YAAY,CAAC4B,iBAAiB,IAAI;IAClC5B,YAAY,CAAC6B,UAAU,IAAI;AAE3B,IAAA,MAAMC,MAAM,GAAG9B,YAAY,CAAC+B,cAAc,IAAI;AAC9C,IAAA,IAAID,MAAM,EAAEf,GAAG,IAAIe,MAAM,EAAEvK,GAAG,EAC9B;AACE,MAAA,IAAI,CAACgE,IAAI,CAACyG,cAAc,GAAGF,MAAM,CAACf,GAAG,EAAEe,MAAM,CAACvK,GAAG,CAAC;MAClD,KAAK,IAAIgJ,IAAI,GAAG,CAAC,EAAEA,IAAI,GAAG,CAAC,EAAEA,IAAI,EAAE,EACnC;QACE,IAAI,CAACvF,cAAc,CAACuF,IAAI,CAAC,GAAG,CAACuB,MAAM,CAACf,GAAG,CAACR,IAAI,CAAC,GAAGuB,MAAM,CAACvK,GAAG,CAACgJ,IAAI,CAAC,IAAI,GAAG;AACzE,MAAA;MACA,IAAI,CAACvF,cAAc,CAAC,CAAC,CAAC,GAAG/D,IAAI,CAACgL,KAAK,CACjCH,MAAM,CAACvK,GAAG,CAAC,CAAC,CAAC,GAAGuK,MAAM,CAACf,GAAG,CAAC,CAAC,CAAC,EAC7Be,MAAM,CAACvK,GAAG,CAAC,CAAC,CAAC,GAAGuK,MAAM,CAACf,GAAG,CAAC,CAAC,CAAC,EAC7Be,MAAM,CAACvK,GAAG,CAAC,CAAC,CAAC,GAAGuK,MAAM,CAACf,GAAG,CAAC,CAAC,CAC9B,CAAC,GAAG,GAAG;AACT,IAAA;AACA,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AAIAmB,EAAAA,aAAaA,GACb;AACE,IAAA,IAAI,CAACrH,QAAQ,CAACsB,MAAM,GAAG,CAAC;IACxB,IAAI,CAACZ,IAAI,EAAE0E,2BAA2B,IAAI,EAAEG,WAAW,IAAI;AAC7D,EAAA;AAAC,EAAA;IAAA5G,UAAA,EAAA;AAAA;AAEH;;;;"}
|