@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 @@
|
|
|
1
|
+
{"version":3,"file":"EveSpaceObjectDecal.js","sources":["../../../../../src/eve/attachment/decal/EveSpaceObjectDecal.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\EveSpaceObjectDecal.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\EveSpaceObjectDecal.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\EveSpaceObjectDecal_Blue.cpp\r\nimport { box3 } from \"@carbonenginejs/runtime-utils/box3\";\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { IEveSpaceObject2ParentData } from \"../../spaceObject/IEveSpaceObject2ParentData.js\";\r\nimport { TriBatchType } from \"../../../generated/trinityCore/enums.js\";\r\n\r\n\r\n/**\r\n * A decal projected onto a parent hull, owning its oriented projection matrix,\r\n * optional bone attachment, per-LOD triangle index lists and screen-size\r\n * visibility ramp.\r\n */\r\n@type.define({ className: \"EveSpaceObjectDecal\", family: \"eve/attachment/decal\" })\r\nexport class EveSpaceObjectDecal extends CjsModel\r\n{\r\n /**\r\n * Establishes Carbon's opaque decal batch type after schema initialization,\r\n * because the schema's legacy TriBatchType default is 0.\r\n */\r\n constructor()\r\n {\r\n super();\r\n // The schema's legacy TriBatchType default is 0. Carbon's decal default is\r\n // the opaque batch (1), so establish it after model/schema initialization.\r\n this.batchType = 1;\r\n }\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.read\r\n @type.int32\r\n @schema.enum(\"TriBatchType\")\r\n batchType = 1;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n position = vec3.create();\r\n\r\n @io.persist\r\n @type.float32\r\n minScreenSize = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.quat\r\n rotation = quat.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n scaling = vec3.fromValues(1, 1, 1);\r\n\r\n @io.persist\r\n @type.int32\r\n parentBoneIndex = -1;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n decalEffect = null;\r\n\r\n @io.readwrite\r\n @type.boolean\r\n display = true;\r\n\r\n // SOF-authored per-LOD triangle indices; persisted so the values\r\n // interchange reproduces Carbon's hidden decal geometry selection.\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.array(\"unknown\")\r\n staticIndexBuffers = [];\r\n\r\n #decalMatrix = mat4.create();\r\n\r\n #inverseDecalMatrix = mat4.create();\r\n\r\n #priority = 0;\r\n\r\n /** m_parentData (EveSpaceObjectDecal.h:178) - copied by value from the\r\n * owning space object each frame; zeroed with an identity transform by\r\n * Carbon's constructor (cpp:56-57). Runtime state, never persisted. */\r\n #parentData = new IEveSpaceObject2ParentData();\r\n\r\n /** m_parentBoneMatrix (h:190) - the animated parent bone this decal rides,\r\n * identity until SetBoneMatrix supplies one. */\r\n #parentBoneMatrix = mat4.create();\r\n\r\n /** m_isVisible (h:204) - a float, not a bool: the non-LOD paths set exactly\r\n * 0 or 1 while the LOD path writes a 0..1 fade ramp (cpp:119-176). */\r\n #isVisible = 0;\r\n\r\n /** m_minBounds / m_maxBounds (h:215) - the geometry mesh bounds an instanced\r\n * decal measures instead of the unit cube. Stamped by the loader. */\r\n #minBounds = vec3.create();\r\n\r\n #maxBounds = vec3.create();\r\n\r\n /** m_instanceData (h:212) - non-null selects the instanced visibility path.\r\n * The instance buffer itself is engine-owned; the graph only needs to know\r\n * whether one is attached. */\r\n #instanceData = null;\r\n\r\n /** Carbon m_invParentBoneMatrix (h:191) is declared but never assigned; the\r\n * value the shader sees is recomputed per fill (cpp:366), so this port keeps\r\n * no member for it. */\r\n #inverseParentBoneMatrix = mat4.create();\r\n\r\n #shLightingScratch = new Float32Array(IEveSpaceObject2ParentData.SH_COEFFICIENT_COUNT * 4);\r\n\r\n /**\r\n * Property form of HasStaticIndexBuffers: whether any LOD carries decal\r\n * triangle indices.\r\n */\r\n get hasStaticIndexBuffers()\r\n {\r\n return this.HasStaticIndexBuffers();\r\n }\r\n\r\n /**\r\n * Builds the decal matrix and its inverse from the authored position, rotation\r\n * and scaling; returns false when the composed matrix is not invertible.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n return this.#updateDecalMatrix();\r\n }\r\n\r\n /**\r\n * Rebuilds the decal matrix and its inverse after an authored placement\r\n * change.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n OnModified(_options = {})\r\n {\r\n this.#updateDecalMatrix();\r\n return true;\r\n }\r\n\r\n /**\r\n * Copies another decal's authored description - name, display, placement, bone\r\n * index, minimum screen size, effect and batch type - and rebuilds the decal\r\n * matrix; the per-LOD index buffers are not copied. Returns false when source\r\n * is missing.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n CopyFrom(source)\r\n {\r\n if (!source) return false;\r\n this.name = String(source.name ?? \"\");\r\n this.display = !!source.display;\r\n vec3.copy(this.position, source.position || EveSpaceObjectDecal.#zero);\r\n quat.copy(this.rotation, source.rotation || EveSpaceObjectDecal.#identityRotation);\r\n vec3.copy(this.scaling, source.scaling || EveSpaceObjectDecal.#one);\r\n this.parentBoneIndex = Number(source.parentBoneIndex) | 0;\r\n this.minScreenSize = Number(source.minScreenSize) || 0;\r\n this.decalEffect = source.decalEffect ?? null;\r\n this.batchType = Number(source.batchType) | 0;\r\n return this.#updateDecalMatrix();\r\n }\r\n\r\n /**\r\n * Copies the authored decal position into the caller-owned out vector and\r\n * returns it.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetPosition(out = vec3.create())\r\n {\r\n return vec3.copy(out, this.position);\r\n }\r\n\r\n /**\r\n * Sets the authored decal position and rebuilds the decal matrix; a missing\r\n * value is taken as the origin.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetPosition(value)\r\n {\r\n vec3.copy(this.position, value || EveSpaceObjectDecal.#zero);\r\n return this.#updateDecalMatrix();\r\n }\r\n\r\n /**\r\n * Copies the authored decal rotation into the caller-owned out quaternion and\r\n * returns it.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetRotation(out = quat.create())\r\n {\r\n return quat.copy(out, this.rotation);\r\n }\r\n\r\n /**\r\n * Sets the authored decal rotation and rebuilds the decal matrix; a missing\r\n * value is taken as the identity rotation.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetRotation(value)\r\n {\r\n quat.copy(this.rotation, value || EveSpaceObjectDecal.#identityRotation);\r\n return this.#updateDecalMatrix();\r\n }\r\n\r\n /**\r\n * Copies the authored decal scaling into the caller-owned out vector and\r\n * returns it.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetScaling(out = vec3.create())\r\n {\r\n return vec3.copy(out, this.scaling);\r\n }\r\n\r\n /**\r\n * Copies the decal's projection matrix into out; the value is only current as\r\n * of the last Initialize, OnModified or placement setter.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetDecalMatrix(out = mat4.create())\r\n {\r\n return mat4.copy(out, this.#decalMatrix);\r\n }\r\n\r\n /**\r\n * Copies the inverse of the decal's projection matrix into out, which is what\r\n * maps hull-space positions into the decal's unit cube.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetInverseDecalMatrix(out = mat4.create())\r\n {\r\n return mat4.copy(out, this.#inverseDecalMatrix);\r\n }\r\n\r\n /**\r\n * Sets the authored decal scaling and rebuilds the decal matrix; a missing\r\n * value is taken as unit scale.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetScaling(value)\r\n {\r\n vec3.copy(this.scaling, value || EveSpaceObjectDecal.#one);\r\n return this.#updateDecalMatrix();\r\n }\r\n\r\n /**\r\n * The parent mesh bone the decal rides, or -1 when it rides the hull transform\r\n * directly.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetBoneIndex()\r\n {\r\n return this.parentBoneIndex;\r\n }\r\n\r\n /**\r\n * Sets the parent mesh bone the decal rides; the bone matrix itself is only\r\n * picked up on the next SetBoneMatrix.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetBoneIndex(index)\r\n {\r\n this.parentBoneIndex = Number(index) | 0;\r\n return true;\r\n }\r\n\r\n /**\r\n * Replaces the SOF-authored triangle index lists, one array per LOD, coercing\r\n * each entry to an unsigned integer.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetIndices(indices)\r\n {\r\n this.staticIndexBuffers = Array.from(indices || [], lod => Array.from(lod || [], value => Number(value) >>> 0));\r\n return true;\r\n }\r\n\r\n /**\r\n * The per-LOD triangle index lists as fresh copies, so a caller cannot mutate\r\n * the stored buffers.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetStaticIndexBuffers()\r\n {\r\n return this.staticIndexBuffers.map(lod => lod.slice());\r\n }\r\n\r\n /**\r\n * Whether any LOD carries triangle indices; a decal without them has no\r\n * geometry to draw.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n HasStaticIndexBuffers()\r\n {\r\n return this.staticIndexBuffers.some(lod => lod.length > 0);\r\n }\r\n\r\n /** The triangle count per LOD, being each index list's length divided by three. */\r\n @carbon.method\r\n @impl.adapted\r\n GetDecalPrimitiveCounts()\r\n {\r\n return this.staticIndexBuffers.map(lod => Math.trunc(lod.length / 3));\r\n }\r\n\r\n /**\r\n * Sets the LOD threshold in screen pixels below which UpdateVisibility culls\r\n * the decal; zero disables the test and makes the decal always visible.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetMinScreenSize(value)\r\n {\r\n this.minScreenSize = Number(value) || 0;\r\n return true;\r\n }\r\n\r\n /** Sets the effect that draws the decal; a decal without one is never visible. */\r\n @carbon.method\r\n @impl.adapted\r\n SetEffect(effect)\r\n {\r\n this.decalEffect = effect ?? null;\r\n return true;\r\n }\r\n\r\n /**\r\n * Sets a shader option on the decal effect; returns false when no effect that\r\n * accepts options is attached.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetShaderOption(name, value)\r\n {\r\n if (!this.decalEffect?.SetOption) return false;\r\n this.decalEffect.SetOption(name, value);\r\n return true;\r\n }\r\n\r\n /**\r\n * Sets the TriBatchType the decal submits under, overriding the opaque default\r\n * the constructor establishes.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetBatchType(value)\r\n {\r\n this.batchType = Number(value) | 0;\r\n return true;\r\n }\r\n\r\n /**\r\n * Sets the draw priority the engine sorts decals on; the value is runtime-only\r\n * and never persisted.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetPriority(value)\r\n {\r\n this.#priority = Number(value) >>> 0;\r\n return true;\r\n }\r\n\r\n /** Carbon EveSpaceObjectDecal::SetBoneMatrix (cpp:475-491): expands the\r\n * parent's Float4x3 mesh bone at m_parentBoneIndex into the 4x4 bone matrix.\r\n * A -1 index or an out-of-range index leaves the identity in place. */\r\n @carbon.method\r\n @impl.implemented\r\n SetBoneMatrix(boneMatrices, boneMatrixCount)\r\n {\r\n if (this.parentBoneIndex === -1 || this.parentBoneIndex >= boneMatrixCount)\r\n {\r\n return false;\r\n }\r\n\r\n const bone = boneMatrices?.[this.parentBoneIndex];\r\n if (!bone) return false;\r\n\r\n // Float4x3 is COLUMN-stride on the shared byte layout: each packed row is\r\n // (v0, v4, v8, v12) of the logical matrix (math skill gotcha 7), so the\r\n // expansion writes the transpose of the three packed rows back into the\r\n // 4x4 basis and leaves the last column as identity.\r\n const out = this.#parentBoneMatrix;\r\n for (let row = 0; row < 3; row++)\r\n {\r\n out[row] = bone[row * 4 + 0];\r\n out[4 + row] = bone[row * 4 + 1];\r\n out[8 + row] = bone[row * 4 + 2];\r\n out[12 + row] = bone[row * 4 + 3];\r\n }\r\n out[3] = 0;\r\n out[7] = 0;\r\n out[11] = 0;\r\n out[15] = 1;\r\n\r\n return true;\r\n }\r\n\r\n /** Carbon copies the parent data by value at the two points UpdateVisibility\r\n * accepts the decal (cpp:145, cpp:178). shLighting is a borrowed pointer into\r\n * the parent's own PS data, so it is carried by reference exactly as Carbon\r\n * carries the pointer. */\r\n #CopyParentData(parentData)\r\n {\r\n if (this.#parentData.SetValues) this.#parentData.SetValues(parentData);\r\n else Object.assign(this.#parentData, parentData);\r\n\r\n this.#parentData.shLighting = parentData.shLighting ?? null;\r\n }\r\n\r\n /**\r\n * Carbon EveSpaceObjectDecal::UpdateVisibility (cpp:117-179).\r\n *\r\n * `m_isVisible` is a FLOAT: zero when culled, one when no minimum screen\r\n * size is authored, otherwise a 0..1 fade ramp that reaches the shader as\r\n * displayData.y. The ramp has no lower clamp because the below-minimum case\r\n * already returned.\r\n *\r\n * On every cull path Carbon leaves m_parentData STALE - only the visibility\r\n * is cleared - so the copy happens solely on the accept paths.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(updateContext, parentData)\r\n {\r\n this.#isVisible = 0;\r\n\r\n if (!this.display || !this.decalEffect || !parentData) return false;\r\n\r\n if (!(this.minScreenSize > 0))\r\n {\r\n this.#isVisible = 1;\r\n this.#CopyParentData(parentData);\r\n return true;\r\n }\r\n\r\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum ?? null;\r\n if (!frustum) return false;\r\n\r\n // Carbon (row-vector): m_parentBoneMatrix * parentData->transform - the\r\n // bone applies first, so the gl operands swap.\r\n const worldDecalMatrix = mat4.multiply(\r\n EveSpaceObjectDecal.#worldDecalScratch,\r\n parentData.transform,\r\n this.#parentBoneMatrix\r\n );\r\n const bounds = box3.set(EveSpaceObjectDecal.#boundsScratch, -1, -1, -1, 1, 1, 1);\r\n\r\n if (this.#instanceData)\r\n {\r\n // Instanced decals measure the geometry mesh bounds instead of the unit\r\n // cube (cpp:135-155). Carbon transforms only the two CORNERS here (not\r\n // the eight, as it does below), so this is vec3, not box3.transformMat4.\r\n // Carbon transforms only the two CORNERS here (not the eight, as it does\r\n // below). A mirroring transform swaps them, which Carbon leaves inverted\r\n // and box3 would read as EMPTY, so the pair is accumulated as points -\r\n // ordering it. The eight-corner transform below is indifferent to order,\r\n // so this only affects the mirrored-decal early-outs (parity note\r\n // divergence 7).\r\n const corner = EveSpaceObjectDecal.#pointScratch;\r\n box3.empty(bounds);\r\n vec3.transformMat4(corner, this.#minBounds, worldDecalMatrix);\r\n box3.addPoint(bounds, bounds, corner);\r\n vec3.transformMat4(corner, this.#maxBounds, worldDecalMatrix);\r\n box3.addPoint(bounds, bounds, corner);\r\n\r\n if (box3.containsPoint(bounds, frustum.viewPos))\r\n {\r\n this.#isVisible = 1;\r\n this.#CopyParentData(parentData);\r\n return true;\r\n }\r\n\r\n if (!frustum.IsBoxVisible?.(bounds))\r\n {\r\n return false;\r\n }\r\n\r\n // Measure from the closest point of the box rather than its centre, so a\r\n // long box does not lod out while one end is near the camera.\r\n const offset = box3.getClampedPoint(\r\n EveSpaceObjectDecal.#pointScratch,\r\n bounds,\r\n frustum.viewPos\r\n );\r\n vec3.subtract(offset, offset, frustum.viewPos);\r\n mat4.multiply(\r\n worldDecalMatrix,\r\n mat4.fromTranslation(EveSpaceObjectDecal.#offsetScratch, offset),\r\n worldDecalMatrix\r\n );\r\n }\r\n\r\n // Carbon: m_decalMatrix * worldDecalMatrix - the decal applies first.\r\n mat4.multiply(worldDecalMatrix, worldDecalMatrix, this.#decalMatrix);\r\n box3.transformMat4(bounds, bounds, worldDecalMatrix);\r\n\r\n // Carbon's sphere is the box's circumscribing sphere: the centre of the\r\n // transformed box and HALF ITS FULL DIAGONAL (cpp:159-160).\r\n const center = EveSpaceObjectDecal.#pointScratch;\r\n const radius = box3.toPositionRadius(bounds, center);\r\n const pixelSize = frustum.GetPixelSizeAccrossEst(center, radius);\r\n const modifiedMinScreen = this.minScreenSize * (updateContext?.GetLodFactor?.() ?? 1);\r\n\r\n if (pixelSize < modifiedMinScreen) return false;\r\n\r\n this.#isVisible = Math.min((pixelSize - modifiedMinScreen) / (modifiedMinScreen * 0.5), 1);\r\n this.#CopyParentData(parentData);\r\n return true;\r\n }\r\n\r\n /** The visibility fade Carbon writes to displayData.y; 0 when lodded out. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon reads the m_isVisible member directly; JavaScript exposes the private runtime value through an accessor.\")\r\n GetVisibility()\r\n {\r\n return this.#isVisible;\r\n }\r\n\r\n /** Carbon EveSpaceObjectDecal::HasTransparentBatches (cpp:241-244). */\r\n @carbon.method\r\n @impl.implemented\r\n HasTransparentBatches()\r\n {\r\n return true;\r\n }\r\n\r\n /** Carbon EveSpaceObjectDecal::GetSortValue (cpp:337-340). */\r\n @carbon.method\r\n @impl.implemented\r\n GetSortValue()\r\n {\r\n return 1;\r\n }\r\n\r\n /** Carbon ITr2Pickable::GetID is inline on the decal (h:113-116) and returns\r\n * the object itself; the area id selects nothing on this class. */\r\n @carbon.method\r\n @impl.implemented\r\n GetID(_areaId)\r\n {\r\n return this;\r\n }\r\n\r\n /**\r\n * Carbon EveSpaceObjectDecal::GetPerObjectData (cpp:346-386): the\r\n * EveDecalPerObjectData composite - a DecalVSPerObjectData +\r\n * DecalPSPerObjectData pair uploaded as TWO constant buffers (cpp:975-976).\r\n * Here that is two Allocs returned as a { vs, ps } record.\r\n *\r\n * SetAndTranspose performs Carbon's Transpose. Carbon computes the two\r\n * inverses FROM the already-transposed matrices; because Inverse(M-transpose)\r\n * equals Inverse(M)-transpose (carbon-math-conventions F2), inverting the\r\n * logical matrix and letting the encoder transpose produces byte-identical\r\n * output with one transpose less work.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetPerObjectData(accumulator)\r\n {\r\n const vs = accumulator.Alloc(\"DecalVSPerObjectData\");\r\n const ps = accumulator.Alloc(\"DecalPSPerObjectData\");\r\n const parentData = this.#parentData;\r\n\r\n vs.SetAndTranspose(\"worldMatrix\", parentData.transform);\r\n // cpp:358 inverts the transposed world matrix in place; by F2 that is the\r\n // transpose of the logical inverse, so this is the same bytes.\r\n mat4.invert(this.#inverseParentBoneMatrix, parentData.transform);\r\n vs.SetAndTranspose(\"invWorldMatrix\", this.#inverseParentBoneMatrix);\r\n\r\n vs.SetAndTranspose(\"decalMatrix\", this.#decalMatrix);\r\n vs.SetAndTranspose(\"inverseDecalMatrix\", this.#inverseDecalMatrix);\r\n vs.SetAndTranspose(\"parentBoneMatrix\", this.#parentBoneMatrix);\r\n\r\n // cpp:366 - Inverse(Transpose(m_parentBoneMatrix)), recomputed per fill;\r\n // Carbon never reads its own m_invParentBoneMatrix member. Same F2\r\n // identity as above.\r\n mat4.invert(this.#inverseParentBoneMatrix, this.#parentBoneMatrix);\r\n vs.SetAndTranspose(\"invParentBoneMatrix\", this.#inverseParentBoneMatrix);\r\n\r\n // cpp:374 - killCount is a uint widened to float; isVisible is the 0..1\r\n // visibility ramp; z and w are reserved literals.\r\n ps.Set(\"displayData\", [parentData.killCount, this.#isVisible, 0, 0]);\r\n ps.Set(\"shipData\", parentData.shipData);\r\n ps.Set(\"clipData\", [\r\n parentData.clipSphereCenter[0],\r\n parentData.clipSphereCenter[1],\r\n parentData.clipSphereCenter[2],\r\n parentData.clipRadiusSq\r\n ]);\r\n ps.Set(\"clipRadius2Sq\", [parentData.clipRadius2Sq]);\r\n\r\n // cpp:376-383 - copy the parent's seven packed coefficients, or zero the\r\n // whole block when the parent supplied none. m_unused stays unwritten.\r\n const coefficients = this.#shLightingScratch;\r\n coefficients.fill(0);\r\n const shLighting = parentData.shLighting;\r\n if (shLighting)\r\n {\r\n for (let index = 0; index < coefficients.length && index < shLighting.length; index++)\r\n {\r\n coefficients[index] = shLighting[index];\r\n }\r\n }\r\n ps.Set(\"shLightingCoefficients\", coefficients);\r\n\r\n return { vs, ps };\r\n }\r\n\r\n /** Carbon EveSpaceObjectDecal::GetBatches (cpp:250-331) submits the packed\r\n * decal index buffers against the device geometry resource. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetBatches(_batches, _batchType, _perObjectData, _reason)\r\n {\r\n throw new Error(\"EveSpaceObjectDecal.GetBatches is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon EveSpaceObjectDecal::GetPickingBatches (cpp:919-926) forwards to\r\n * GetBatches once the attachment pick-type mask passes. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetPickingBatches(_batches, _pickTypes, _perObjectData)\r\n {\r\n throw new Error(\"EveSpaceObjectDecal.GetPickingBatches is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /**\r\n * Recomposes the decal matrix from the authored rotation, position and scaling\r\n * and inverts it; returns whether the inverse existed.\r\n */\r\n #updateDecalMatrix()\r\n {\r\n mat4.fromRotationTranslationScale(this.#decalMatrix, this.rotation, this.position, this.scaling);\r\n return !!mat4.invert(this.#inverseDecalMatrix, this.#decalMatrix);\r\n }\r\n\r\n /** Per-frame scratch - UpdateVisibility must not allocate. */\r\n static #boundsScratch = box3.create();\r\n\r\n static #worldDecalScratch = mat4.create();\r\n\r\n static #offsetScratch = mat4.create();\r\n\r\n static #pointScratch = vec3.create();\r\n\r\n static #zero = vec3.create();\r\n\r\n static #one = vec3.fromValues(1, 1, 1);\r\n\r\n static #identityRotation = quat.create();\r\n\r\n static TriBatchType = TriBatchType;\r\n\r\n}\r\n"],"names":["_EveSpaceObjectDecal","_identity","EveSpaceObjectDecal","CjsModel","e","_init_name","_init_extra_name","_init_batchType","_init_extra_batchType","_init_position","_init_extra_position","_init_minScreenSize","_init_extra_minScreenSize","_init_rotation","_init_extra_rotation","_init_scaling","_init_extra_scaling","_init_parentBoneIndex","_init_extra_parentBoneIndex","_init_decalEffect","_init_extra_decalEffect","_init_display","_init_extra_display","_init_staticIndexBuffers","_init_extra_staticIndexBuffers","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","read","int32","schema","enum","notify","vec3","float32","quat","rebuild","objectRef","readwrite","boolean","array","carbon","method","impl","adapted","implemented","reason","notImplemented","constructor","batchType","name","position","create","minScreenSize","rotation","scaling","fromValues","parentBoneIndex","decalEffect","display","staticIndexBuffers","mat4","IEveSpaceObject2ParentData","Float32Array","SH_COEFFICIENT_COUNT","hasStaticIndexBuffers","HasStaticIndexBuffers","Initialize","OnModified","_options","CopyFrom","source","String","copy","Number","GetPosition","out","SetPosition","value","GetRotation","SetRotation","GetScaling","GetDecalMatrix","GetInverseDecalMatrix","SetScaling","GetBoneIndex","SetBoneIndex","index","SetIndices","indices","Array","from","lod","GetStaticIndexBuffers","map","slice","some","length","GetDecalPrimitiveCounts","Math","trunc","SetMinScreenSize","SetEffect","effect","SetShaderOption","SetOption","SetBatchType","SetPriority","SetBoneMatrix","boneMatrices","boneMatrixCount","bone","row","#CopyParentData","parentData","SetValues","Object","assign","shLighting","UpdateVisibility","updateContext","frustum","GetFrustum","worldDecalMatrix","multiply","transform","bounds","box3","set","corner","empty","transformMat4","addPoint","containsPoint","viewPos","IsBoxVisible","offset","getClampedPoint","subtract","fromTranslation","center","radius","toPositionRadius","pixelSize","GetPixelSizeAccrossEst","modifiedMinScreen","GetLodFactor","min","GetVisibility","HasTransparentBatches","GetSortValue","GetID","_areaId","GetPerObjectData","accumulator","vs","Alloc","ps","SetAndTranspose","invert","Set","killCount","shipData","clipSphereCenter","clipRadiusSq","clipRadius2Sq","coefficients","fill","GetBatches","_batches","_batchType","_perObjectData","_reason","Error","GetPickingBatches","_pickTypes","#updateDecalMatrix","fromRotationTranslationScale","TriBatchType"],"mappings":"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"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
-
import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '
|
|
1
|
+
import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { box3 } from '@carbonenginejs/runtime-utils/box3';
|
|
2
3
|
import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
|
|
3
4
|
import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
|
|
4
|
-
import { EveEntity as _EveEntity } from '
|
|
5
|
+
import { EveEntity as _EveEntity } from '../../EveEntity.js';
|
|
5
6
|
import { EveHazeSetLight as _EveHazeSetLight } from './EveHazeSetLight.js';
|
|
6
|
-
import { EveComponentType } from '
|
|
7
|
-
import { Tr2Light as _Tr2Light } from '
|
|
8
|
-
import { MatrixCopyFrom3x4, AsPerPointLightData, CreateLightRecord } from '
|
|
7
|
+
import { EveComponentType } from '../../EveComponentTypes.js';
|
|
8
|
+
import { Tr2Light as _Tr2Light } from '../../lights/Tr2Light.js';
|
|
9
|
+
import { MatrixCopyFrom3x4, AsPerPointLightData, CreateLightRecord } from '../../lights/lightConversion.js';
|
|
10
|
+
import { CreateItemSetBoundingBoxes, GetItemSetAabb } from '../itemSetBounds.js';
|
|
9
11
|
|
|
10
12
|
let _initProto, _initClass, _init_effect, _init_extra_effect, _init_display, _init_extra_display, _init_name, _init_extra_name, _init_hazes, _init_extra_hazes, _init_lights, _init_extra_lights;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* A hull's authored haze volumes, owning their per-bone bounds and the point
|
|
16
|
+
* lights the haze emits.
|
|
17
|
+
*/
|
|
11
18
|
let _EveHazeSet;
|
|
12
19
|
new class extends _identity {
|
|
13
20
|
static [class EveHazeSet extends _EveEntity {
|
|
@@ -18,7 +25,7 @@ new class extends _identity {
|
|
|
18
25
|
} = _applyDecs2311(this, [type.define({
|
|
19
26
|
className: "EveHazeSet",
|
|
20
27
|
family: "eve/attachment/haze"
|
|
21
|
-
})], [[[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.objectRef("Tr2Effect")], 16, "effect"], [[io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.string], 16, "name"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.list("EveHazeSetItem")], 16, "hazes"], [[io, io.persist, void 0, type.list("EveHazeSetLight")], 16, "lights"], [[carbon, carbon.method, impl, impl.implemented], 18, "Setup"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted], 18, "Rebuild"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddHazeItem"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddLightFromSOF"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateLights"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Profile-index packing is by-reference per lightConversion.js conventions.")], 18, "GetLights"]], 0, void 0, _EveEntity));
|
|
28
|
+
})], [[[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.objectRef("Tr2Effect")], 16, "effect"], [[io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.string], 16, "name"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.list("EveHazeSetItem")], 16, "hazes"], [[io, io.persist, void 0, type.list("EveHazeSetLight")], 16, "lights"], [[carbon, carbon.method, impl, impl.implemented], 18, "Setup"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted], 18, "Rebuild"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddHazeItem"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddLightFromSOF"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateLights"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Profile-index packing is by-reference per lightConversion.js conventions.")], 18, "GetLights"]], 0, void 0, _EveEntity));
|
|
22
29
|
}
|
|
23
30
|
effect = (_initProto(this), _init_effect(this, null));
|
|
24
31
|
display = (_init_extra_effect(this), _init_display(this, true));
|
|
@@ -27,33 +34,82 @@ new class extends _identity {
|
|
|
27
34
|
lights = (_init_extra_hazes(this), _init_lights(this, []));
|
|
28
35
|
#rebuildRevision = (_init_extra_lights(this), 0);
|
|
29
36
|
|
|
37
|
+
/** m_aabb - the union of every haze that rides the parent transform. */
|
|
38
|
+
#staticBounds = box3.create();
|
|
39
|
+
|
|
40
|
+
/** m_boundingBoxes - [{ boneIndex, bounds }], ascending. */
|
|
41
|
+
#boneBounds = [];
|
|
42
|
+
|
|
30
43
|
/** Carbon m_activationStrength (ctor 0, EveHazeSet.cpp:66) and
|
|
31
44
|
* m_boosterGain (ctor `false` = 0.0f, cpp:67 - a float initialized with a
|
|
32
45
|
* bool, verbatim quirk). Lights are BLACK until UpdateLights runs. */
|
|
33
46
|
#activationStrength = 0;
|
|
34
47
|
#boosterGain = 0;
|
|
48
|
+
|
|
49
|
+
/** Sets the effect that draws the haze volumes. */
|
|
35
50
|
Setup(effect) {
|
|
36
51
|
this.effect = effect ?? null;
|
|
37
52
|
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Runs the first Rebuild so the set has bounds before its first visibility
|
|
56
|
+
* test.
|
|
57
|
+
*/
|
|
38
58
|
Initialize() {
|
|
39
59
|
this.Rebuild();
|
|
40
60
|
return true;
|
|
41
61
|
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Recomputes the item-set bounds and marks the packed geometry stale; a haze
|
|
65
|
+
* set has no skinned flag, so every bone-indexed haze always gets its own box.
|
|
66
|
+
*/
|
|
42
67
|
Rebuild() {
|
|
43
68
|
// Carbon rebuilds packed haze vertices and static bounds here. The
|
|
44
69
|
// backend-neutral runtime keeps the authored graph and invalidates the
|
|
45
70
|
// renderer-facing revision without allocating device resources.
|
|
46
71
|
this.#rebuildRevision++;
|
|
47
72
|
this.__state.rebuild.add("packedGeometry");
|
|
73
|
+
// Carbon rebuilds the item-set bounds here too (cpp:247), passing
|
|
74
|
+
// skinned=TRUE unconditionally: a haze set has no skinned flag, so every
|
|
75
|
+
// bone-indexed haze gets its own box.
|
|
76
|
+
CreateItemSetBoundingBoxes(this.#staticBounds, this.#boneBounds, true, this.hazes);
|
|
48
77
|
}
|
|
78
|
+
|
|
79
|
+
/** Carbon EveHazeSet::UpdateVisibility (cpp:208-218). Unlike the other sets
|
|
80
|
+
* this one has no GetAabb of its own and never gates the bone count, because
|
|
81
|
+
* its bounds are always built skinned. */
|
|
82
|
+
UpdateVisibility(updateContext, parentTransform, bones = null, boneCount = 0) {
|
|
83
|
+
const aabb = GetItemSetAabb(_EveHazeSet.#aabbScratch, this.#staticBounds, this.#boneBounds, bones, boneCount);
|
|
84
|
+
if (box3.isEmpty(aabb)) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
box3.transformMat4(aabb, aabb, parentTransform);
|
|
88
|
+
return !!updateContext?.GetFrustum?.()?.IsBoxVisible(aabb);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Appends an authored haze item; the bounds only pick it up on the next
|
|
93
|
+
* Rebuild.
|
|
94
|
+
*/
|
|
49
95
|
AddHazeItem(item) {
|
|
50
96
|
this.hazes.push(item);
|
|
51
97
|
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Sets a shader option on the haze effect, doing nothing when no effect that
|
|
101
|
+
* accepts options is attached.
|
|
102
|
+
*/
|
|
52
103
|
SetShaderOption(name, value) {
|
|
53
104
|
if (this.effect && typeof this.effect.SetOption === "function") {
|
|
54
105
|
this.effect.SetOption(name, value);
|
|
55
106
|
}
|
|
56
107
|
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Converts a SOF-authored light description into an EveHazeSetLight and
|
|
111
|
+
* appends it to the set.
|
|
112
|
+
*/
|
|
57
113
|
AddLightFromSOF(light) {
|
|
58
114
|
this.lights.push(_EveHazeSetLight.FromSOF(light));
|
|
59
115
|
}
|
|
@@ -113,7 +169,10 @@ new class extends _identity {
|
|
|
113
169
|
lightManager?.AddLight?.(record);
|
|
114
170
|
}
|
|
115
171
|
}
|
|
172
|
+
|
|
173
|
+
/** Per-frame scratch - UpdateVisibility must not allocate. */
|
|
116
174
|
}];
|
|
175
|
+
#aabbScratch = box3.create();
|
|
117
176
|
#features = {
|
|
118
177
|
parentBrightness: 0,
|
|
119
178
|
parentScale: 1
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EveHazeSet.js","sources":["../../../../../src/eve/attachment/haze/EveHazeSet.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveHazeSet.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveHazeSet.cpp\r\nimport { box3 } from \"@carbonenginejs/runtime-utils/box3\";\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveEntity } from \"../../EveEntity.js\";\r\nimport { EveHazeSetLight } from \"./EveHazeSetLight.js\";\r\nimport { EveComponentType } from \"../../EveComponentTypes.js\";\r\nimport { Tr2Light } from \"../../lights/Tr2Light.js\";\r\nimport { AsPerPointLightData, CreateLightRecord, MatrixCopyFrom3x4 } from \"../../lights/lightConversion.js\";\r\nimport { CreateItemSetBoundingBoxes, GetItemSetAabb } from \"../itemSetBounds.js\";\r\n\r\n\r\n/**\r\n * A hull's authored haze volumes, owning their per-bone bounds and the point\r\n * lights the haze emits.\r\n */\r\n@type.define({ className: \"EveHazeSet\", family: \"eve/attachment/haze\" })\r\nexport class EveHazeSet extends EveEntity\r\n{\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effect = null;\r\n\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.list(\"EveHazeSetItem\")\r\n hazes = [];\r\n\r\n @io.persist\r\n @type.list(\"EveHazeSetLight\")\r\n lights = [];\r\n\r\n #rebuildRevision = 0;\r\n\r\n /** m_aabb - the union of every haze that rides the parent transform. */\r\n #staticBounds = box3.create();\r\n\r\n /** m_boundingBoxes - [{ boneIndex, bounds }], ascending. */\r\n #boneBounds = [];\r\n\r\n /** Carbon m_activationStrength (ctor 0, EveHazeSet.cpp:66) and\r\n * m_boosterGain (ctor `false` = 0.0f, cpp:67 - a float initialized with a\r\n * bool, verbatim quirk). Lights are BLACK until UpdateLights runs. */\r\n #activationStrength = 0;\r\n\r\n #boosterGain = 0;\r\n\r\n /** Sets the effect that draws the haze volumes. */\r\n @carbon.method\r\n @impl.implemented\r\n Setup(effect)\r\n {\r\n this.effect = effect ?? null;\r\n }\r\n\r\n /**\r\n * Runs the first Rebuild so the set has bounds before its first visibility\r\n * test.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n this.Rebuild();\r\n return true;\r\n }\r\n\r\n /**\r\n * Recomputes the item-set bounds and marks the packed geometry stale; a haze\r\n * set has no skinned flag, so every bone-indexed haze always gets its own box.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Rebuild()\r\n {\r\n // Carbon rebuilds packed haze vertices and static bounds here. The\r\n // backend-neutral runtime keeps the authored graph and invalidates the\r\n // renderer-facing revision without allocating device resources.\r\n this.#rebuildRevision++;\r\n this.__state.rebuild.add(\"packedGeometry\");\r\n // Carbon rebuilds the item-set bounds here too (cpp:247), passing\r\n // skinned=TRUE unconditionally: a haze set has no skinned flag, so every\r\n // bone-indexed haze gets its own box.\r\n CreateItemSetBoundingBoxes(this.#staticBounds, this.#boneBounds, true, this.hazes);\r\n }\r\n\r\n /** Carbon EveHazeSet::UpdateVisibility (cpp:208-218). Unlike the other sets\r\n * this one has no GetAabb of its own and never gates the bone count, because\r\n * its bounds are always built skinned. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(updateContext, parentTransform, bones = null, boneCount = 0)\r\n {\r\n const aabb = GetItemSetAabb(\r\n EveHazeSet.#aabbScratch,\r\n this.#staticBounds,\r\n this.#boneBounds,\r\n bones,\r\n boneCount\r\n );\r\n if (box3.isEmpty(aabb))\r\n {\r\n return false;\r\n }\r\n\r\n box3.transformMat4(aabb, aabb, parentTransform);\r\n return !!updateContext?.GetFrustum?.()?.IsBoxVisible(aabb);\r\n }\r\n\r\n /**\r\n * Appends an authored haze item; the bounds only pick it up on the next\r\n * Rebuild.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n AddHazeItem(item)\r\n {\r\n this.hazes.push(item);\r\n }\r\n\r\n /**\r\n * Sets a shader option on the haze effect, doing nothing when no effect that\r\n * accepts options is attached.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetShaderOption(name, value)\r\n {\r\n if (this.effect && typeof this.effect.SetOption === \"function\")\r\n {\r\n this.effect.SetOption(name, value);\r\n }\r\n }\r\n\r\n /**\r\n * Converts a SOF-authored light description into an EveHazeSetLight and\r\n * appends it to the set.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n AddLightFromSOF(light)\r\n {\r\n this.lights.push(EveHazeSetLight.FromSOF(light));\r\n }\r\n\r\n /** Carbon EveHazeSet::RegisterComponents (cpp:394-401): LightOwner when\r\n * lights are authored. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.lights.length)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n }\r\n\r\n /** Carbon EveHazeSet::UpdateLights (cpp:219-239): the shared packed-set\r\n * bone pattern (boneIndex > 0 only; column-stride Float4x3 unpack; 4th\r\n * column zeroed, [15] = 1; boneMatrix *= parentTransform - Carbon\r\n * row-vector, bone FIRST: gl operands SWAP; else copy the parent). Stamps\r\n * BOTH activationStrength and boosterGain (cpp:237-238). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateLights(parentTransform, bones, boneCount, activationStrength, boosterGain = 0)\r\n {\r\n for (const light of this.lights)\r\n {\r\n const boneIndex = light.lightData.boneIndex;\r\n if (bones && boneIndex > 0 && boneIndex < boneCount)\r\n {\r\n MatrixCopyFrom3x4(light.boneMatrix, bones, boneIndex);\r\n light.boneMatrix[3] = 0;\r\n light.boneMatrix[7] = 0;\r\n light.boneMatrix[11] = 0;\r\n light.boneMatrix[15] = 1;\r\n // Carbon (row-vector): boneMatrix * parentTransform - bone first.\r\n mat4.multiply(light.boneMatrix, parentTransform, light.boneMatrix);\r\n }\r\n else\r\n {\r\n mat4.copy(light.boneMatrix, parentTransform);\r\n }\r\n }\r\n this.#activationStrength = Number(activationStrength) || 0;\r\n this.#boosterGain = Number(boosterGain) || 0;\r\n }\r\n\r\n /** Carbon EveHazeSet::GetLights (cpp:403-418): parentBrightness is set\r\n * INSIDE the loop (cpp:409) because boosterGainInfluence lights multiply\r\n * it by the booster gain (cpp:410-413); point conversion on the bone\r\n * matrix; no blink/fade, no gates. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Profile-index packing is by-reference per lightConversion.js conventions.\")\r\n GetLights(lightManager)\r\n {\r\n const features = EveHazeSet.#features;\r\n features.parentScale = 1;\r\n const quality = lightManager?.GetCurrentSpaceSceneShadowQuality?.() ?? 0;\r\n const record = EveHazeSet.#lightRecord;\r\n\r\n for (const light of this.lights)\r\n {\r\n features.parentBrightness = this.#activationStrength;\r\n if (light.boosterGainInfluence)\r\n {\r\n features.parentBrightness *= this.#boosterGain;\r\n }\r\n AsPerPointLightData(record, light.lightData, light.boneMatrix, features, quality);\r\n record.lightType = Tr2Light.POINT_LIGHT;\r\n record.lightData = light.lightData;\r\n record.lightProfile = light.lightProfile;\r\n record.owner = this;\r\n lightManager?.AddLight?.(record);\r\n }\r\n }\r\n\r\n /** Per-frame scratch - UpdateVisibility must not allocate. */\r\n static #aabbScratch = box3.create();\r\n\r\n static #features = { parentBrightness: 0, parentScale: 1 };\r\n\r\n static #lightRecord = CreateLightRecord();\r\n}\r\n"],"names":["_EveHazeSet","_identity","EveHazeSet","EveEntity","e","_init_effect","_init_extra_effect","_init_display","_init_extra_display","_init_name","_init_extra_name","_init_hazes","_init_extra_hazes","_init_lights","_init_extra_lights","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","objectRef","boolean","string","list","carbon","method","impl","implemented","adapted","reason","effect","display","name","hazes","lights","box3","create","Setup","Initialize","Rebuild","__state","add","CreateItemSetBoundingBoxes","UpdateVisibility","updateContext","parentTransform","bones","boneCount","aabb","GetItemSetAabb","isEmpty","transformMat4","GetFrustum","IsBoxVisible","AddHazeItem","item","push","SetShaderOption","value","SetOption","AddLightFromSOF","light","EveHazeSetLight","FromSOF","RegisterComponents","registry","GetComponentRegistry","length","RegisterComponent","EveComponentType","LightOwner","UpdateLights","activationStrength","boosterGain","boneIndex","lightData","MatrixCopyFrom3x4","boneMatrix","mat4","multiply","copy","Number","GetLights","lightManager","features","parentScale","quality","GetCurrentSpaceSceneShadowQuality","record","parentBrightness","boosterGainInfluence","AsPerPointLightData","lightType","Tr2Light","POINT_LIGHT","lightProfile","owner","AddLight","CreateLightRecord","constructor"],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { CjsModel } from '@carbonenginejs/runtime-utils/model';
|
|
3
|
+
import { box3 } from '@carbonenginejs/runtime-utils/box3';
|
|
4
|
+
import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
|
|
5
|
+
import { quat } from '@carbonenginejs/runtime-utils/quat';
|
|
6
|
+
import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
|
|
7
|
+
import { vec4 } from '@carbonenginejs/runtime-utils/vec4';
|
|
8
|
+
import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
|
|
9
|
+
|
|
10
|
+
let _initProto, _initClass, _init_color, _init_extra_color, _init_rotation, _init_extra_rotation, _init_scaling, _init_extra_scaling, _init_name, _init_extra_name, _init_boneIndex, _init_extra_boneIndex, _init_position, _init_extra_position, _init_hazeData, _init_extra_hazeData;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* One authored haze volume: its bone attachment, placement, colour and the
|
|
14
|
+
* four-component haze shaping data.
|
|
15
|
+
*/
|
|
16
|
+
let _EveHazeSetItem;
|
|
17
|
+
new class extends _identity {
|
|
18
|
+
static [class EveHazeSetItem extends CjsModel {
|
|
19
|
+
static {
|
|
20
|
+
({
|
|
21
|
+
e: [_init_color, _init_extra_color, _init_rotation, _init_extra_rotation, _init_scaling, _init_extra_scaling, _init_name, _init_extra_name, _init_boneIndex, _init_extra_boneIndex, _init_position, _init_extra_position, _init_hazeData, _init_extra_hazeData, _initProto],
|
|
22
|
+
c: [_EveHazeSetItem, _initClass]
|
|
23
|
+
} = _applyDecs2311(this, [type.define({
|
|
24
|
+
className: "EveHazeSetItem",
|
|
25
|
+
family: "eve/attachment/haze"
|
|
26
|
+
})], [[[io, io.persist, type, type.color], 16, "color"], [[io, io.persist, type, type.quat], 16, "rotation"], [[io, io.persist, type, type.vec3], 16, "scaling"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.int32], 16, "boneIndex"], [[io, io.persist, type, type.vec3], 16, "position"], [[io, io.persist, type, type.vec4], 16, "hazeData"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon returns AxisAlignedBox by value; JavaScript fills a caller-supplied box3.")], 18, "GetBounds"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoneIndex"]], 0, void 0, CjsModel));
|
|
27
|
+
}
|
|
28
|
+
constructor(...args) {
|
|
29
|
+
super(...args);
|
|
30
|
+
_init_extra_hazeData(this);
|
|
31
|
+
}
|
|
32
|
+
color = (_initProto(this), _init_color(this, vec4.fromValues(1, 1, 1, 1)));
|
|
33
|
+
rotation = (_init_extra_color(this), _init_rotation(this, quat.create()));
|
|
34
|
+
scaling = (_init_extra_rotation(this), _init_scaling(this, vec3.fromValues(1, 1, 1)));
|
|
35
|
+
name = (_init_extra_scaling(this), _init_name(this, ""));
|
|
36
|
+
boneIndex = (_init_extra_name(this), _init_boneIndex(this, 0));
|
|
37
|
+
position = (_init_extra_boneIndex(this), _init_position(this, vec3.create()));
|
|
38
|
+
hazeData = (_init_extra_position(this), _init_hazeData(this, vec4.fromValues(4, 0.2, 2, 0)));
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Fills the caller-owned out box with the haze's authored source box - which
|
|
42
|
+
* reaches to z 5 rather than 0.5, because a haze extends well beyond its
|
|
43
|
+
* placement - transformed by its rotation, position and scaling.
|
|
44
|
+
*/
|
|
45
|
+
GetBounds(out) {
|
|
46
|
+
// Carbon (row-vector): TransformationMatrix(scaling, rotation, position).
|
|
47
|
+
const transform = mat4.fromRotationTranslationScale(_EveHazeSetItem.#transform, this.rotation, this.position, this.scaling);
|
|
48
|
+
return box3.transformMat4(out, _EveHazeSetItem.#bounds, transform);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/** The parent bone this haze volume rides. */
|
|
52
|
+
GetBoneIndex() {
|
|
53
|
+
return this.boneIndex;
|
|
54
|
+
}
|
|
55
|
+
}];
|
|
56
|
+
#bounds = box3.fromValues(-0.5, -0.5, -0.5, 0.5, 0.5, 5);
|
|
57
|
+
#transform = mat4.create();
|
|
58
|
+
constructor() {
|
|
59
|
+
super(_EveHazeSetItem), _initClass();
|
|
60
|
+
}
|
|
61
|
+
}();
|
|
62
|
+
|
|
63
|
+
export { _EveHazeSetItem as EveHazeSetItem };
|
|
64
|
+
//# sourceMappingURL=EveHazeSetItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EveHazeSetItem.js","sources":["../../../../../src/eve/attachment/haze/EveHazeSetItem.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveHazeSetItem.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveHazeSetItem.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveHazeSetItem_Blue.cpp\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { box3 } from \"@carbonenginejs/runtime-utils/box3\";\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\n\r\n/**\r\n * One authored haze volume: its bone attachment, placement, colour and the\r\n * four-component haze shaping data.\r\n */\r\n@type.define({ className: \"EveHazeSetItem\", family: \"eve/attachment/haze\" })\r\nexport class EveHazeSetItem extends CjsModel\r\n{\r\n @io.persist\r\n @type.color\r\n color = vec4.fromValues(1, 1, 1, 1);\r\n\r\n @io.persist\r\n @type.quat\r\n rotation = quat.create();\r\n\r\n @io.persist\r\n @type.vec3\r\n scaling = vec3.fromValues(1, 1, 1);\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.int32\r\n boneIndex = 0;\r\n\r\n @io.persist\r\n @type.vec3\r\n position = vec3.create();\r\n\r\n @io.persist\r\n @type.vec4\r\n hazeData = vec4.fromValues(4, 0.2, 2, 0);\r\n\r\n /**\r\n * Fills the caller-owned out box with the haze's authored source box - which\r\n * reaches to z 5 rather than 0.5, because a haze extends well beyond its\r\n * placement - transformed by its rotation, position and scaling.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon returns AxisAlignedBox by value; JavaScript fills a caller-supplied box3.\")\r\n GetBounds(out)\r\n {\r\n // Carbon (row-vector): TransformationMatrix(scaling, rotation, position).\r\n const transform = mat4.fromRotationTranslationScale(\r\n EveHazeSetItem.#transform,\r\n this.rotation,\r\n this.position,\r\n this.scaling\r\n );\r\n return box3.transformMat4(out, EveHazeSetItem.#bounds, transform);\r\n }\r\n\r\n /** The parent bone this haze volume rides. */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoneIndex()\r\n {\r\n return this.boneIndex;\r\n }\r\n\r\n static #bounds = box3.fromValues(-0.5, -0.5, -0.5, 0.5, 0.5, 5);\r\n\r\n static #transform = mat4.create();\r\n}\r\n"],"names":["_EveHazeSetItem","_identity","EveHazeSetItem","CjsModel","e","_init_color","_init_extra_color","_init_rotation","_init_extra_rotation","_init_scaling","_init_extra_scaling","_init_name","_init_extra_name","_init_boneIndex","_init_extra_boneIndex","_init_position","_init_extra_position","_init_hazeData","_init_extra_hazeData","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","color","quat","vec3","string","int32","vec4","carbon","method","impl","adapted","reason","implemented","constructor","args","fromValues","rotation","create","scaling","name","boneIndex","position","hazeData","GetBounds","out","transform","mat4","fromRotationTranslationScale","box3","transformMat4","GetBoneIndex"],"mappings":"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"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import { applyDecs2311 as _applyDecs2311 } from '
|
|
1
|
+
import { applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { CjsModel } from '@carbonenginejs/runtime-utils/model';
|
|
3
3
|
import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
|
|
4
4
|
import { io, type } from '@carbonenginejs/runtime-utils/schema';
|
|
5
|
-
import { CjsLightData as _CjsLightData } from '
|
|
5
|
+
import { CjsLightData as _CjsLightData } from '../../lights/CjsLightData.js';
|
|
6
6
|
|
|
7
7
|
let _initClass, _init_lightData, _init_extra_lightData, _init_lightProfile, _init_extra_lightProfile, _init_index, _init_extra_index, _init_boosterGainInfluence, _init_extra_boosterGainInfluence, _init_boneMatrix, _init_extra_boneMatrix, _init_lightProfilePath, _init_extra_lightProfilePath;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The light one haze item contributes, carrying its booster-gain influence flag,
|
|
11
|
+
* light profile and the bone matrix resolved for it each frame.
|
|
12
|
+
*/
|
|
8
13
|
let _EveHazeSetLight;
|
|
9
14
|
class EveHazeSetLight extends CjsModel {
|
|
10
15
|
static {
|
|
@@ -26,6 +31,12 @@ class EveHazeSetLight extends CjsModel {
|
|
|
26
31
|
boosterGainInfluence = (_init_extra_index(this), _init_boosterGainInfluence(this, false));
|
|
27
32
|
boneMatrix = (_init_extra_boosterGainInfluence(this), _init_boneMatrix(this, mat4.create()));
|
|
28
33
|
lightProfilePath = (_init_extra_boneMatrix(this), _init_lightProfilePath(this, ""));
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Builds a haze light from a SOF-authored description, taking the light
|
|
37
|
+
* profile path from the description or, failing that, from the light data's
|
|
38
|
+
* texture path.
|
|
39
|
+
*/
|
|
29
40
|
static FromSOF(value) {
|
|
30
41
|
const values = value ?? {};
|
|
31
42
|
return _EveHazeSetLight.from({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EveHazeSetLight.js","sources":["../../../../../src/eve/attachment/haze/EveHazeSetLight.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveHazeSet.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveHazeSet.cpp\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { CjsLightData } from \"../../lights/CjsLightData.js\";\r\n\r\n\r\n/**\r\n * The light one haze item contributes, carrying its booster-gain influence flag,\r\n * light profile and the bone matrix resolved for it each frame.\r\n */\r\n@type.define({ className: \"EveHazeSetLight\", family: \"eve/attachment/haze\" })\r\nexport class EveHazeSetLight extends CjsModel\r\n{\r\n @io.owned\r\n @type.struct(\"CjsLightData\")\r\n lightData = new CjsLightData();\r\n\r\n @type.objectRef(\"Tr2LightProfileRes\")\r\n lightProfile = null;\r\n\r\n @type.uint32\r\n index = 0;\r\n\r\n @type.boolean\r\n boosterGainInfluence = false;\r\n\r\n @type.mat4\r\n boneMatrix = mat4.create();\r\n\r\n @type.string\r\n lightProfilePath = \"\";\r\n\r\n /**\r\n * Builds a haze light from a SOF-authored description, taking the light\r\n * profile path from the description or, failing that, from the light data's\r\n * texture path.\r\n */\r\n static FromSOF(value)\r\n {\r\n const values = value ?? {};\r\n return EveHazeSetLight.from({\r\n ...values,\r\n lightProfilePath: String(values.lightProfilePath ?? values.lightData?.texturePath ?? \"\")\r\n });\r\n }\r\n}\r\n"],"names":["_EveHazeSetLight","EveHazeSetLight","CjsModel","e","_init_lightData","_init_extra_lightData","_init_lightProfile","_init_extra_lightProfile","_init_index","_init_extra_index","_init_boosterGainInfluence","_init_extra_boosterGainInfluence","_init_boneMatrix","_init_extra_boneMatrix","_init_lightProfilePath","_init_extra_lightProfilePath","c","_initClass","_applyDecs","type","define","className","family","io","owned","struct","objectRef","uint32","boolean","mat4","string","constructor","args","lightData","CjsLightData","lightProfile","index","boosterGainInfluence","boneMatrix","create","lightProfilePath","FromSOF","value","values","from","String","texturePath"],"mappings":";;;;;;;;AAQA;AACA;AACA;AACA;AAHA,IAAAA;AAIA,MAAAC,eAAA,SACqCC,QAAQ,CAC7C;AAAA,EAAA;AAAA,IAAA,CAAA;MAAAC,CAAA,EAAA,CAAAC,eAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,WAAA,EAAAC,iBAAA,EAAAC,0BAAA,EAAAC,gCAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,4BAAA,CAAA;MAAAC,CAAA,EAAA,CAAAhB,gBAAA,EAAAiB,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,iBAAiB;AAAEC,MAAAA,MAAM,EAAE;KAAuB,CAAC,MAG1EC,EAAE,EAAFA,EAAE,CAACC,KAAK,UACRL,IAAI,CAACM,MAAM,CAAC,cAAc,CAAC,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAG3BN,IAAI,CAACO,SAAS,CAAC,oBAAoB,CAAC,EAAA,CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAGpCP,IAAI,EAAJA,IAAI,CAACQ,MAAM,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAGXR,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAGZT,IAAI,EAAJA,IAAI,CAACU,IAAI,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAGTV,IAAI,EAAJA,IAAI,CAACW,MAAM,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAlBuB5B,QAAQ,CAAA;AAAA;AAAA6B,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAjB,4BAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAI3CkB,EAAAA,SAAS,GAAA7B,eAAA,CAAA,IAAA,EAAG,IAAI8B,aAAY,EAAE,CAAA;AAG9BC,EAAAA,YAAY,IAAA9B,qBAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,IAAI,CAAA;AAGnB8B,EAAAA,KAAK,IAAA7B,wBAAA,CAAA,IAAA,CAAA,EAAAC,WAAA,OAAG,CAAC,CAAA;AAGT6B,EAAAA,oBAAoB,IAAA5B,iBAAA,CAAA,IAAA,CAAA,EAAAC,0BAAA,OAAG,KAAK,CAAA;EAG5B4B,UAAU,IAAA3B,gCAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAGiB,IAAI,CAACU,MAAM,EAAE,CAAA;AAG1BC,EAAAA,gBAAgB,IAAA3B,sBAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,EAAE,CAAA;;AAErB;AACF;AACA;AACA;AACA;EACE,OAAO2B,OAAOA,CAACC,KAAK,EACpB;AACE,IAAA,MAAMC,MAAM,GAAGD,KAAK,IAAI,EAAE;IAC1B,OAAOzC,gBAAe,CAAC2C,IAAI,CAAC;AAC1B,MAAA,GAAGD,MAAM;AACTH,MAAAA,gBAAgB,EAAEK,MAAM,CAACF,MAAM,CAACH,gBAAgB,IAAIG,MAAM,CAACV,SAAS,EAAEa,WAAW,IAAI,EAAE;AACzF,KAAC,CAAC;AACJ,EAAA;AAAC,EAAA;IAAA7B,UAAA,EAAA;AAAA;AACH;;;;"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { box3 } from '@carbonenginejs/runtime-utils/box3';
|
|
2
|
+
import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
|
|
3
|
+
import { sph3 } from '@carbonenginejs/runtime-utils/sph3';
|
|
4
|
+
import { MatrixCopyFrom3x4 } from '../lights/lightConversion.js';
|
|
5
|
+
|
|
6
|
+
// Source: E:\carbonengine\trinity\trinity\Utilities\BoundingBox.h (CreateItemSetBoundingBoxes)
|
|
7
|
+
// Source: E:\carbonengine\trinity\trinity\Utilities\BoundingBox.cpp (GetItemSetAabb)
|
|
8
|
+
//
|
|
9
|
+
// The bounds pair every packed attachment set keeps: one static box for the
|
|
10
|
+
// items that ride the parent transform, and one box per BONE for the items that
|
|
11
|
+
// ride an animated bone. Carbon templates the builder over the item iterator
|
|
12
|
+
// and keys the bone boxes with a std::map (so they come out ascending); the
|
|
13
|
+
// port takes an item array and sorts to match.
|
|
14
|
+
//
|
|
15
|
+
// Item bounds are read through the item's own GetBounds(out), which fills a
|
|
16
|
+
// box3. Carbon types this per set - a Sphere for sprites, an AxisAlignedBox for
|
|
17
|
+
// haze/plane/spotlight - but every consumer immediately Includes it into a box,
|
|
18
|
+
// so the port converts at the source and keeps one contract here. A foreign
|
|
19
|
+
// duck that returns a packed sph3 or a { min, max } pair is still accepted.
|
|
20
|
+
//
|
|
21
|
+
// All box math is core-math: nothing here re-implements union, transform, or
|
|
22
|
+
// sphere-to-box.
|
|
23
|
+
const ITEM_BOUNDS = box3.create();
|
|
24
|
+
const BONE_MATRIX = mat4.create();
|
|
25
|
+
const BONE_BOUNDS = box3.create();
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Reads one item's authored bounds as a box3. A sph3 becomes its enclosing box,
|
|
29
|
+
* which is what Carbon's `AxisAlignedBox::Include(Sphere)` does.
|
|
30
|
+
* @param {box3} out
|
|
31
|
+
* @param {Object} item - a GetBounds(out) duck
|
|
32
|
+
* @returns {box3|null} out, or null when the item has no usable bounds
|
|
33
|
+
*/
|
|
34
|
+
function ReadItemBounds(out, item) {
|
|
35
|
+
if (!item?.GetBounds) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const bounds = item.GetBounds(out);
|
|
39
|
+
if (bounds?.length === 6) {
|
|
40
|
+
return bounds === out ? out : box3.copy(out, bounds);
|
|
41
|
+
}
|
|
42
|
+
if (bounds?.length === 4) {
|
|
43
|
+
return box3.fromPositionRadius(out, bounds, sph3.radius(bounds));
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// The pre-box3 duck shape ({ min, max }) some sets still return.
|
|
47
|
+
if (bounds?.min && bounds?.max) {
|
|
48
|
+
return box3.fromBounds(out, bounds.min, bounds.max);
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Carbon CreateItemSetBoundingBoxes (BoundingBox.h:60-91): splits a set's items
|
|
55
|
+
* into one static box plus one box per bone. An unskinned set, or an item with
|
|
56
|
+
* a negative bone index, lands in the static box - Carbon groups ALL of those
|
|
57
|
+
* together regardless of bone.
|
|
58
|
+
*
|
|
59
|
+
* `staticBounds` and `boneBounds` are the caller's own storage (Carbon's
|
|
60
|
+
* `m_aabb` and `m_boundingBoxes` members); both are cleared first. Bone entries
|
|
61
|
+
* are `{ boneIndex, bounds }` in ascending bone order, and their boxes are
|
|
62
|
+
* reused across rebuilds where the count allows.
|
|
63
|
+
*
|
|
64
|
+
* @param {box3} staticBounds - receives the unskinned union
|
|
65
|
+
* @param {Array} boneBounds - receives [{ boneIndex, bounds }], ascending
|
|
66
|
+
* @param {Boolean} skinned
|
|
67
|
+
* @param {Array} items - GetBounds/GetBoneIndex ducks
|
|
68
|
+
* @returns {Array} boneBounds
|
|
69
|
+
*/
|
|
70
|
+
function CreateItemSetBoundingBoxes(staticBounds, boneBounds, skinned, items) {
|
|
71
|
+
box3.empty(staticBounds);
|
|
72
|
+
const byBone = new Map();
|
|
73
|
+
for (const item of items ?? []) {
|
|
74
|
+
const bounds = ReadItemBounds(ITEM_BOUNDS, item);
|
|
75
|
+
if (!bounds) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
const boneIndex = item.GetBoneIndex ? item.GetBoneIndex() : -1;
|
|
79
|
+
if (skinned && boneIndex >= 0) {
|
|
80
|
+
const existing = byBone.get(boneIndex);
|
|
81
|
+
if (existing) {
|
|
82
|
+
box3.union(existing, existing, bounds);
|
|
83
|
+
} else {
|
|
84
|
+
byBone.set(boneIndex, box3.clone(bounds));
|
|
85
|
+
}
|
|
86
|
+
} else {
|
|
87
|
+
// Carbon groups every unskinned item into one box, bone index or not.
|
|
88
|
+
box3.union(staticBounds, staticBounds, bounds);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
boneBounds.length = 0;
|
|
92
|
+
for (const boneIndex of [...byBone.keys()].sort((a, b) => a - b)) {
|
|
93
|
+
boneBounds.push({
|
|
94
|
+
boneIndex,
|
|
95
|
+
bounds: byBone.get(boneIndex)
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
return boneBounds;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Carbon GetItemSetAabb (BoundingBox.cpp:815-834): the static box unioned with
|
|
103
|
+
* every bone box, each transformed by its bone when the caller supplied one.
|
|
104
|
+
*
|
|
105
|
+
* A bone index at or beyond `boneCount` contributes its box UNTRANSFORMED -
|
|
106
|
+
* Carbon's else branch, not a skip - so a set whose bones have not arrived yet
|
|
107
|
+
* still reports bounds in the parent's space.
|
|
108
|
+
*
|
|
109
|
+
* @param {box3} out
|
|
110
|
+
* @param {box3} staticBounds
|
|
111
|
+
* @param {Array} boneBounds - [{ boneIndex, bounds }]
|
|
112
|
+
* @param {Float32Array} [bones] - flat Float4x3 list, stride 12
|
|
113
|
+
* @param {Number} [boneCount]
|
|
114
|
+
* @returns {box3} out
|
|
115
|
+
*/
|
|
116
|
+
function GetItemSetAabb(out, staticBounds, boneBounds, bones = null, boneCount = 0) {
|
|
117
|
+
box3.copy(out, staticBounds);
|
|
118
|
+
for (const entry of boneBounds ?? []) {
|
|
119
|
+
if (bones && entry.boneIndex < boneCount) {
|
|
120
|
+
MatrixCopyFrom3x4(BONE_MATRIX, bones, entry.boneIndex);
|
|
121
|
+
box3.transformMat4(BONE_BOUNDS, entry.bounds, BONE_MATRIX);
|
|
122
|
+
box3.union(out, out, BONE_BOUNDS);
|
|
123
|
+
} else {
|
|
124
|
+
box3.union(out, out, entry.bounds);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return out;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export { CreateItemSetBoundingBoxes, GetItemSetAabb };
|
|
131
|
+
//# sourceMappingURL=itemSetBounds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"itemSetBounds.js","sources":["../../../../src/eve/attachment/itemSetBounds.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Utilities\\BoundingBox.h (CreateItemSetBoundingBoxes)\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Utilities\\BoundingBox.cpp (GetItemSetAabb)\r\n//\r\n// The bounds pair every packed attachment set keeps: one static box for the\r\n// items that ride the parent transform, and one box per BONE for the items that\r\n// ride an animated bone. Carbon templates the builder over the item iterator\r\n// and keys the bone boxes with a std::map (so they come out ascending); the\r\n// port takes an item array and sorts to match.\r\n//\r\n// Item bounds are read through the item's own GetBounds(out), which fills a\r\n// box3. Carbon types this per set - a Sphere for sprites, an AxisAlignedBox for\r\n// haze/plane/spotlight - but every consumer immediately Includes it into a box,\r\n// so the port converts at the source and keeps one contract here. A foreign\r\n// duck that returns a packed sph3 or a { min, max } pair is still accepted.\r\n//\r\n// All box math is core-math: nothing here re-implements union, transform, or\r\n// sphere-to-box.\r\nimport { box3 } from \"@carbonenginejs/runtime-utils/box3\";\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { sph3 } from \"@carbonenginejs/runtime-utils/sph3\";\r\nimport { MatrixCopyFrom3x4 } from \"../lights/lightConversion.js\";\r\n\r\n\r\nconst ITEM_BOUNDS = box3.create();\r\nconst BONE_MATRIX = mat4.create();\r\nconst BONE_BOUNDS = box3.create();\r\n\r\n/**\r\n * Reads one item's authored bounds as a box3. A sph3 becomes its enclosing box,\r\n * which is what Carbon's `AxisAlignedBox::Include(Sphere)` does.\r\n * @param {box3} out\r\n * @param {Object} item - a GetBounds(out) duck\r\n * @returns {box3|null} out, or null when the item has no usable bounds\r\n */\r\nfunction ReadItemBounds(out, item)\r\n{\r\n if (!item?.GetBounds)\r\n {\r\n return null;\r\n }\r\n\r\n const bounds = item.GetBounds(out);\r\n\r\n if (bounds?.length === 6)\r\n {\r\n return bounds === out ? out : box3.copy(out, bounds);\r\n }\r\n\r\n if (bounds?.length === 4)\r\n {\r\n return box3.fromPositionRadius(out, bounds, sph3.radius(bounds));\r\n }\r\n\r\n // The pre-box3 duck shape ({ min, max }) some sets still return.\r\n if (bounds?.min && bounds?.max)\r\n {\r\n return box3.fromBounds(out, bounds.min, bounds.max);\r\n }\r\n\r\n return null;\r\n}\r\n\r\n/**\r\n * Carbon CreateItemSetBoundingBoxes (BoundingBox.h:60-91): splits a set's items\r\n * into one static box plus one box per bone. An unskinned set, or an item with\r\n * a negative bone index, lands in the static box - Carbon groups ALL of those\r\n * together regardless of bone.\r\n *\r\n * `staticBounds` and `boneBounds` are the caller's own storage (Carbon's\r\n * `m_aabb` and `m_boundingBoxes` members); both are cleared first. Bone entries\r\n * are `{ boneIndex, bounds }` in ascending bone order, and their boxes are\r\n * reused across rebuilds where the count allows.\r\n *\r\n * @param {box3} staticBounds - receives the unskinned union\r\n * @param {Array} boneBounds - receives [{ boneIndex, bounds }], ascending\r\n * @param {Boolean} skinned\r\n * @param {Array} items - GetBounds/GetBoneIndex ducks\r\n * @returns {Array} boneBounds\r\n */\r\nexport function CreateItemSetBoundingBoxes(staticBounds, boneBounds, skinned, items)\r\n{\r\n box3.empty(staticBounds);\r\n\r\n const byBone = new Map();\r\n\r\n for (const item of items ?? [])\r\n {\r\n const bounds = ReadItemBounds(ITEM_BOUNDS, item);\r\n if (!bounds)\r\n {\r\n continue;\r\n }\r\n\r\n const boneIndex = item.GetBoneIndex ? item.GetBoneIndex() : -1;\r\n\r\n if (skinned && boneIndex >= 0)\r\n {\r\n const existing = byBone.get(boneIndex);\r\n if (existing)\r\n {\r\n box3.union(existing, existing, bounds);\r\n }\r\n else\r\n {\r\n byBone.set(boneIndex, box3.clone(bounds));\r\n }\r\n }\r\n else\r\n {\r\n // Carbon groups every unskinned item into one box, bone index or not.\r\n box3.union(staticBounds, staticBounds, bounds);\r\n }\r\n }\r\n\r\n boneBounds.length = 0;\r\n for (const boneIndex of [...byBone.keys()].sort((a, b) => a - b))\r\n {\r\n boneBounds.push({ boneIndex, bounds: byBone.get(boneIndex) });\r\n }\r\n\r\n return boneBounds;\r\n}\r\n\r\n/**\r\n * Carbon GetItemSetAabb (BoundingBox.cpp:815-834): the static box unioned with\r\n * every bone box, each transformed by its bone when the caller supplied one.\r\n *\r\n * A bone index at or beyond `boneCount` contributes its box UNTRANSFORMED -\r\n * Carbon's else branch, not a skip - so a set whose bones have not arrived yet\r\n * still reports bounds in the parent's space.\r\n *\r\n * @param {box3} out\r\n * @param {box3} staticBounds\r\n * @param {Array} boneBounds - [{ boneIndex, bounds }]\r\n * @param {Float32Array} [bones] - flat Float4x3 list, stride 12\r\n * @param {Number} [boneCount]\r\n * @returns {box3} out\r\n */\r\nexport function GetItemSetAabb(out, staticBounds, boneBounds, bones = null, boneCount = 0)\r\n{\r\n box3.copy(out, staticBounds);\r\n\r\n for (const entry of boneBounds ?? [])\r\n {\r\n if (bones && entry.boneIndex < boneCount)\r\n {\r\n MatrixCopyFrom3x4(BONE_MATRIX, bones, entry.boneIndex);\r\n box3.transformMat4(BONE_BOUNDS, entry.bounds, BONE_MATRIX);\r\n box3.union(out, out, BONE_BOUNDS);\r\n }\r\n else\r\n {\r\n box3.union(out, out, entry.bounds);\r\n }\r\n }\r\n\r\n return out;\r\n}\r\n"],"names":["ITEM_BOUNDS","box3","create","BONE_MATRIX","mat4","BONE_BOUNDS","ReadItemBounds","out","item","GetBounds","bounds","length","copy","fromPositionRadius","sph3","radius","min","max","fromBounds","CreateItemSetBoundingBoxes","staticBounds","boneBounds","skinned","items","empty","byBone","Map","boneIndex","GetBoneIndex","existing","get","union","set","clone","keys","sort","a","b","push","GetItemSetAabb","bones","boneCount","entry","MatrixCopyFrom3x4","transformMat4"],"mappings":"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"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '
|
|
1
|
+
import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { CjsModel } from '@carbonenginejs/runtime-utils/model';
|
|
3
3
|
import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
|
|
4
4
|
import { io, type, schema } from '@carbonenginejs/runtime-utils/schema';
|
|
5
|
-
import { CjsLightData as _CjsLightData } from '
|
|
5
|
+
import { CjsLightData as _CjsLightData } from '../../lights/CjsLightData.js';
|
|
6
6
|
|
|
7
7
|
let _initClass, _init_lightData, _init_extra_lightData, _init_saturation, _init_extra_saturation, _init_lightProfile, _init_extra_lightProfile, _init_fadeType, _init_extra_fadeType, _init_blinkPhase, _init_extra_blinkPhase, _init_blinkRate, _init_extra_blinkRate, _init_index, _init_extra_index, _init_boneMatrix, _init_extra_boneMatrix, _init_lightProfilePath, _init_extra_lightProfilePath;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The light one plane contributes, carrying its saturation, blink rate and
|
|
11
|
+
* phase, fade type, light profile and the bone matrix resolved for it each
|
|
12
|
+
* frame.
|
|
13
|
+
*/
|
|
8
14
|
let _EvePlaneLight;
|
|
9
15
|
new class extends _identity {
|
|
10
16
|
static [class EvePlaneLight extends CjsModel {
|
|
@@ -30,6 +36,12 @@ new class extends _identity {
|
|
|
30
36
|
index = (_init_extra_blinkRate(this), _init_index(this, 0));
|
|
31
37
|
boneMatrix = (_init_extra_index(this), _init_boneMatrix(this, mat4.create()));
|
|
32
38
|
lightProfilePath = (_init_extra_boneMatrix(this), _init_lightProfilePath(this, ""));
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Builds a plane light from a SOF-authored description, taking the light
|
|
42
|
+
* profile path from the description or, failing that, from the light data's
|
|
43
|
+
* texture path.
|
|
44
|
+
*/
|
|
33
45
|
static FromSOF(value) {
|
|
34
46
|
const values = value ?? {};
|
|
35
47
|
return _EvePlaneLight.from({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvePlaneLight.js","sources":["../../../../../src/eve/attachment/plane/EvePlaneLight.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EvePlaneSet.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EvePlaneSet.cpp\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { CjsLightData } from \"../../lights/CjsLightData.js\";\r\n\r\n\r\n/**\r\n * The light one plane contributes, carrying its saturation, blink rate and\r\n * phase, fade type, light profile and the bone matrix resolved for it each\r\n * frame.\r\n */\r\n@type.define({ className: \"EvePlaneLight\", family: \"eve/attachment/planes\" })\r\nexport class EvePlaneLight extends CjsModel\r\n{\r\n static FadeType = Object.freeze({\r\n FT_NONE: 0,\r\n FT_BLINK: 1,\r\n FT_FADEIN: 2,\r\n FT_FADEOUT: 3,\r\n FT_FADEINOUT: 4\r\n });\r\n\r\n static FT_NONE = 0;\r\n static FT_BLINK = 1;\r\n static FT_FADEIN = 2;\r\n static FT_FADEOUT = 3;\r\n static FT_FADEINOUT = 4;\r\n\r\n @io.owned\r\n @type.struct(\"CjsLightData\")\r\n lightData = new CjsLightData();\r\n\r\n @type.float32\r\n saturation = 1;\r\n\r\n @type.objectRef(\"Tr2LightProfileRes\")\r\n lightProfile = null;\r\n\r\n @type.int32\r\n @schema.enum(\"FadeType\")\r\n fadeType = EvePlaneLight.FT_NONE;\r\n\r\n @type.float32\r\n blinkPhase = 0;\r\n\r\n @type.float32\r\n blinkRate = 0;\r\n\r\n @type.uint32\r\n index = 0;\r\n\r\n @type.mat4\r\n boneMatrix = mat4.create();\r\n\r\n @type.string\r\n lightProfilePath = \"\";\r\n\r\n /**\r\n * Builds a plane light from a SOF-authored description, taking the light\r\n * profile path from the description or, failing that, from the light data's\r\n * texture path.\r\n */\r\n static FromSOF(value)\r\n {\r\n const values = value ?? {};\r\n return EvePlaneLight.from({\r\n ...values,\r\n lightProfilePath: String(values.lightProfilePath ?? values.lightData?.texturePath ?? \"\")\r\n });\r\n }\r\n}\r\n"],"names":["_EvePlaneLight","_identity","EvePlaneLight","CjsModel","e","_init_lightData","_init_extra_lightData","_init_saturation","_init_extra_saturation","_init_lightProfile","_init_extra_lightProfile","_init_fadeType","_init_extra_fadeType","_init_blinkPhase","_init_extra_blinkPhase","_init_blinkRate","_init_extra_blinkRate","_init_index","_init_extra_index","_init_boneMatrix","_init_extra_boneMatrix","_init_lightProfilePath","_init_extra_lightProfilePath","c","_initClass","_applyDecs","type","define","className","family","io","owned","struct","float32","objectRef","int32","schema","enum","uint32","mat4","string","constructor","args","lightData","CjsLightData","saturation","lightProfile","fadeType","FT_NONE","blinkPhase","blinkRate","index","boneMatrix","create","lightProfilePath","FromSOF","value","values","from","String","texturePath","FadeType","Object","freeze","FT_BLINK","FT_FADEIN","FT_FADEOUT","FT_FADEINOUT"],"mappings":"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"}
|