@carbonenginejs/runtime-trinity 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/controllers/Tr2ActionAnimateCurveSet.js +2 -2
- package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateValue.js +2 -2
- package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
- package/dist/controllers/Tr2ActionBindRTPC.js +2 -2
- package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
- package/dist/controllers/Tr2ActionCallback.js +2 -2
- package/dist/controllers/Tr2ActionCallback.js.map +1 -1
- package/dist/controllers/Tr2ActionChildEffect.js +2 -2
- package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
- package/dist/controllers/Tr2ActionOverlay.js +2 -2
- package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayCurveSet.js +2 -2
- package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js +2 -2
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
- package/dist/controllers/Tr2ActionPlaySound.js +2 -2
- package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
- package/dist/controllers/Tr2ActionPython.js +2 -2
- package/dist/controllers/Tr2ActionPython.js.map +1 -1
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js +4 -4
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js +2 -2
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +2 -2
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioSwitch.js +2 -2
- package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +2 -2
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
- package/dist/controllers/Tr2ActionSetShaderOption.js +2 -2
- package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
- package/dist/controllers/Tr2ActionSetValue.js +2 -2
- package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
- package/dist/controllers/Tr2ActionSpawnParticles.js +2 -2
- package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/controllers/Tr2BindingPoint.js +4 -4
- package/dist/controllers/Tr2BindingPoint.js.map +1 -1
- package/dist/controllers/Tr2Controller.js +2 -2
- package/dist/controllers/Tr2Controller.js.map +1 -1
- package/dist/controllers/Tr2ControllerEventHandler.js +2 -2
- package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
- package/dist/controllers/Tr2ControllerExpression.js +2 -2
- package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
- package/dist/controllers/Tr2ControllerFloatVariable.js +2 -2
- package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
- package/dist/controllers/Tr2ControllerReference.js +2 -2
- package/dist/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/controllers/Tr2StateMachine.js +2 -2
- package/dist/controllers/Tr2StateMachine.js.map +1 -1
- package/dist/controllers/Tr2StateMachineState.js +2 -2
- package/dist/controllers/Tr2StateMachineState.js.map +1 -1
- package/dist/controllers/Tr2StateMachineTransition.js +2 -2
- package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
- package/dist/controllers/Tr2SyncToAnimation.js +2 -2
- package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
- package/dist/controllers/Tr2TimelineController.js +2 -2
- package/dist/controllers/Tr2TimelineController.js.map +1 -1
- package/dist/controllers/Tr2TimelineEntry.js +2 -2
- package/dist/controllers/Tr2TimelineEntry.js.map +1 -1
- package/dist/curves/CjsGrannyCurves.js +1 -1
- package/dist/curves/CjsGrannyCurves.js.map +1 -1
- package/dist/curves/Tr2BoneMatrixCurve.js +4 -4
- package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
- package/dist/curves/Tr2CameraFollowCurveKey.js +3 -3
- package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2CurveColor.js +4 -4
- package/dist/curves/Tr2CurveColor.js.map +1 -1
- package/dist/curves/Tr2CurveColorMixer.js +4 -4
- package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
- package/dist/curves/Tr2CurveCombiner.js +3 -3
- package/dist/curves/Tr2CurveCombiner.js.map +1 -1
- package/dist/curves/Tr2CurveConstant.js +6 -6
- package/dist/curves/Tr2CurveConstant.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotation.js +3 -3
- package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotationExpression.js +3 -3
- package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternion.js +3 -3
- package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternionKey.js +3 -3
- package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
- package/dist/curves/Tr2CurveRandomAxisRotation.js +3 -3
- package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/curves/Tr2CurveScalar.js +5 -5
- package/dist/curves/Tr2CurveScalar.js.map +1 -1
- package/dist/curves/Tr2CurveScalarExpression.js +2 -2
- package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
- package/dist/curves/Tr2CurveScalarKey.js +2 -2
- package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
- package/dist/curves/Tr2CurveSetRange.js +2 -2
- package/dist/curves/Tr2CurveSetRange.js.map +1 -1
- package/dist/curves/Tr2CurveVector2.js +3 -3
- package/dist/curves/Tr2CurveVector2.js.map +1 -1
- package/dist/curves/Tr2CurveVector3.js +3 -3
- package/dist/curves/Tr2CurveVector3.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Expression.js +3 -3
- package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Lerp.js +3 -3
- package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
- package/dist/curves/Tr2DistanceTracker.js +3 -3
- package/dist/curves/Tr2DistanceTracker.js.map +1 -1
- package/dist/curves/Tr2FollowCurve.js +3 -3
- package/dist/curves/Tr2FollowCurve.js.map +1 -1
- package/dist/curves/Tr2GrannyEventTrack.js +1 -1
- package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTrack.js +2 -2
- package/dist/curves/Tr2GrannyTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTransformTrack.js +3 -3
- package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyVectorTrack.js +1 -1
- package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
- package/dist/curves/Tr2MatrixKey.js +3 -3
- package/dist/curves/Tr2MatrixKey.js.map +1 -1
- package/dist/curves/Tr2ObjectFollowCurveKey.js +4 -4
- package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2QuaternionLerpCurve.js +4 -4
- package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
- package/dist/curves/Tr2RotationAdapter.js +3 -3
- package/dist/curves/Tr2RotationAdapter.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKey.js +3 -3
- package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKeyCurve.js +4 -4
- package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
- package/dist/curves/Tr2ScalarFader.js +3 -3
- package/dist/curves/Tr2ScalarFader.js.map +1 -1
- package/dist/curves/Tr2TranslationAdapter.js +4 -4
- package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
- package/dist/curves/TriColorSequencer.js +4 -4
- package/dist/curves/TriColorSequencer.js.map +1 -1
- package/dist/curves/TriCurveSet.js +2 -2
- package/dist/curves/TriCurveSet.js.map +1 -1
- package/dist/curves/TriEventCurve.js +2 -2
- package/dist/curves/TriEventCurve.js.map +1 -1
- package/dist/curves/TriEventKey.js +2 -2
- package/dist/curves/TriEventKey.js.map +1 -1
- package/dist/curves/TriPerlinCurve.js +3 -3
- package/dist/curves/TriPerlinCurve.js.map +1 -1
- package/dist/curves/TriVectorSequencer.js +4 -4
- package/dist/curves/TriVectorSequencer.js.map +1 -1
- package/dist/eve/AudioGameObject.js +6 -6
- package/dist/eve/AudioGameObject.js.map +1 -1
- package/dist/eve/BackAndForthData.js +3 -3
- package/dist/eve/BackAndForthData.js.map +1 -1
- package/dist/eve/DecalVSPerObjectData.js +3 -3
- package/dist/eve/DecalVSPerObjectData.js.map +1 -1
- package/dist/eve/EveBannerItem.js +4 -4
- package/dist/eve/EveBannerItem.js.map +1 -1
- package/dist/eve/EveBannerLight.js +3 -3
- package/dist/eve/EveBannerLight.js.map +1 -1
- package/dist/eve/EveBannerSet.js +91 -10
- package/dist/eve/EveBannerSet.js.map +1 -1
- package/dist/eve/EveBasicPerObjectData.js +3 -3
- package/dist/eve/EveBasicPerObjectData.js.map +1 -1
- package/dist/eve/EveBoosterSet2.js +64 -12
- package/dist/eve/EveBoosterSet2.js.map +1 -1
- package/dist/eve/EveBoosterSet2Renderable.js +15 -7
- package/dist/eve/EveBoosterSet2Renderable.js.map +1 -1
- package/dist/eve/EveChildSpherePinPerObjectData.js +5 -5
- package/dist/eve/EveChildSpherePinPerObjectData.js.map +1 -1
- package/dist/eve/EveChildUpdateParams.js +4 -4
- package/dist/eve/EveChildUpdateParams.js.map +1 -1
- package/dist/eve/EveCustomMask.js +6 -6
- package/dist/eve/EveCustomMask.js.map +1 -1
- package/dist/eve/EveDistanceField.js +3 -3
- package/dist/eve/EveDistanceField.js.map +1 -1
- package/dist/eve/EveHazeSet.js +114 -58
- package/dist/eve/EveHazeSet.js.map +1 -1
- package/dist/eve/EveHazeSetLight.js +3 -3
- package/dist/eve/EveHazeSetLight.js.map +1 -1
- package/dist/eve/EveImpactOverlay.js +3 -3
- package/dist/eve/EveImpactOverlay.js.map +1 -1
- package/dist/eve/EveLineData.js +4 -4
- package/dist/eve/EveLineData.js.map +1 -1
- package/dist/eve/EveLocator2.js +3 -3
- package/dist/eve/EveLocator2.js.map +1 -1
- package/dist/eve/EveLocatorSets.js +3 -3
- package/dist/eve/EveLocatorSets.js.map +1 -1
- package/dist/eve/EveParticleDirectForce.js +1 -1
- package/dist/eve/EveParticleDirectForce.js.map +1 -1
- package/dist/eve/EveParticleDragForce.js +1 -1
- package/dist/eve/EveParticleDragForce.js.map +1 -1
- package/dist/eve/EveParticleSpring.js +1 -1
- package/dist/eve/EveParticleSpring.js.map +1 -1
- package/dist/eve/EvePerObjectPSData.js +3 -3
- package/dist/eve/EvePerObjectPSData.js.map +1 -1
- package/dist/eve/EvePerObjectVSData.js +3 -3
- package/dist/eve/EvePerObjectVSData.js.map +1 -1
- package/dist/eve/EvePlaneLight.js +3 -3
- package/dist/eve/EvePlaneLight.js.map +1 -1
- package/dist/eve/EvePlaneSet.js +177 -90
- package/dist/eve/EvePlaneSet.js.map +1 -1
- package/dist/eve/EvePlaneSetItem.js +5 -5
- package/dist/eve/EvePlaneSetItem.js.map +1 -1
- package/dist/eve/EveSpaceObjectAttachmentUtils.js +105 -0
- package/dist/eve/EveSpaceObjectAttachmentUtils.js.map +1 -0
- package/dist/eve/EveSpaceObjectDecal.js +5 -5
- package/dist/eve/EveSpaceObjectDecal.js.map +1 -1
- package/dist/eve/EveSpaceObjectPSData.js +5 -5
- package/dist/eve/EveSpaceObjectPSData.js.map +1 -1
- package/dist/eve/EveSpaceObjectVSData.js +4 -4
- package/dist/eve/EveSpaceObjectVSData.js.map +1 -1
- package/dist/eve/EveSpacePerObjectData.js +5 -5
- package/dist/eve/EveSpacePerObjectData.js.map +1 -1
- package/dist/eve/EveSpherePinPerObjectData.js +5 -5
- package/dist/eve/EveSpherePinPerObjectData.js.map +1 -1
- package/dist/eve/EveSpotlightLight.js +3 -3
- package/dist/eve/EveSpotlightLight.js.map +1 -1
- package/dist/eve/EveSpotlightSet.js +141 -84
- package/dist/eve/EveSpotlightSet.js.map +1 -1
- package/dist/eve/EveSpriteLight.js +3 -3
- package/dist/eve/EveSpriteLight.js.map +1 -1
- package/dist/eve/EveSpriteLineSet.js +116 -60
- package/dist/eve/EveSpriteLineSet.js.map +1 -1
- package/dist/eve/EveSpriteLineSetItem.js +5 -5
- package/dist/eve/EveSpriteLineSetItem.js.map +1 -1
- package/dist/eve/EveSpriteSet.js +160 -99
- package/dist/eve/EveSpriteSet.js.map +1 -1
- package/dist/eve/EveThrottleable.js +2 -2
- package/dist/eve/EveThrottleable.js.map +1 -1
- package/dist/eve/EveTrailsSet.js +3 -3
- package/dist/eve/EveTrailsSet.js.map +1 -1
- package/dist/eve/EveUpdateContext.js +3 -3
- package/dist/eve/EveUpdateContext.js.map +1 -1
- package/dist/eve/FollowASplineData.js +2 -2
- package/dist/eve/FollowASplineData.js.map +1 -1
- package/dist/eve/FormationData.js +2 -2
- package/dist/eve/FormationData.js.map +1 -1
- package/dist/eve/InertiaData.js +3 -3
- package/dist/eve/InertiaData.js.map +1 -1
- package/dist/eve/Locator.js +4 -4
- package/dist/eve/Locator.js.map +1 -1
- package/dist/eve/LocatorData.js +4 -4
- package/dist/eve/LocatorData.js.map +1 -1
- package/dist/eve/PlacementDataWithIdentifier.js +4 -4
- package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
- package/dist/eve/PlayFXData.js +3 -3
- package/dist/eve/PlayFXData.js.map +1 -1
- package/dist/eve/ProcessLifetimeData.js +2 -2
- package/dist/eve/ProcessLifetimeData.js.map +1 -1
- package/dist/eve/SeekTargetData.js +3 -3
- package/dist/eve/SeekTargetData.js.map +1 -1
- package/dist/eve/attachment/decal/DecalMeshCache.js +2 -2
- package/dist/eve/attachment/decal/DecalMeshCache.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js +3 -3
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretSet.js +104 -19
- package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js +4 -4
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js +5 -5
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretTarget.js +3 -3
- package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/eve/child/EveChildAudio.js +4 -4
- package/dist/eve/child/EveChildAudio.js.map +1 -1
- package/dist/eve/child/EveChildContainer.js +6 -6
- package/dist/eve/child/EveChildContainer.js.map +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js +4 -4
- package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
- package/dist/eve/child/EveChildFogVolume.js +4 -4
- package/dist/eve/child/EveChildFogVolume.js.map +1 -1
- package/dist/eve/child/EveChildInheritProperties.js +3 -3
- package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
- package/dist/eve/child/EveChildInstanceTransform.js +4 -4
- package/dist/eve/child/EveChildInstanceTransform.js.map +1 -1
- package/dist/eve/child/EveChildInstancedMeshes.js +273 -21
- package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
- package/dist/eve/child/EveChildLightingOverride.js +4 -4
- package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
- package/dist/eve/child/EveChildMesh.js +23 -14
- package/dist/eve/child/EveChildMesh.js.map +1 -1
- package/dist/eve/child/EveChildTransform.js +4 -4
- package/dist/eve/child/EveChildTransform.js.map +1 -1
- package/dist/eve/child/EveCloudVolumeBall.js +4 -4
- package/dist/eve/child/EveCloudVolumeBall.js.map +1 -1
- package/dist/eve/child/IEveSpaceObjectChild.js +2 -2
- package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
- package/dist/eve/child/behaviors/DroneAgent.js +5 -5
- package/dist/eve/child/behaviors/DroneAgent.js.map +1 -1
- package/dist/eve/child/behaviors/SplineTunnel.js +2 -2
- package/dist/eve/child/behaviors/SplineTunnel.js.map +1 -1
- package/dist/eve/child/behaviors/SplineTunnelPoint.js +3 -3
- package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +1 -1
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js +17 -8
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
- package/dist/eve/child/lineSetPaths/EveCircle.js +19 -8
- package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +3 -3
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierBooster.js +4 -4
- package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +7 -6
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHalo.js +4 -4
- package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +4 -4
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierSRT.js +5 -5
- package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js +2 -2
- package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js.map +1 -1
- package/dist/eve/distribution/attributeModifiers/InitialPlacement.js +2 -2
- package/dist/eve/distribution/attributeModifiers/InitialPlacement.js.map +1 -1
- package/dist/eve/index.js +3 -1
- package/dist/eve/index.js.map +1 -1
- package/dist/eve/lights/CjsLightData.js +5 -5
- package/dist/eve/lights/CjsLightData.js.map +1 -1
- package/dist/eve/lights/LightFeatures.js +2 -2
- package/dist/eve/lights/LightFeatures.js.map +1 -1
- package/dist/eve/lights/Tr2Light.js +89 -4
- package/dist/eve/lights/Tr2Light.js.map +1 -1
- package/dist/eve/lights/Tr2PointLight.js +4 -4
- package/dist/eve/lights/Tr2PointLight.js.map +1 -1
- package/dist/eve/lights/Tr2SpotLight.js +4 -4
- package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
- package/dist/eve/lights/Tr2TexturedPointLight.js +1 -1
- package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
- package/dist/eve/lights/lightConversion.js +194 -0
- package/dist/eve/lights/lightConversion.js.map +1 -0
- package/dist/eve/perObjectData/DecalPSPerObjectData.js +4 -4
- package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +1 -1
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +4 -4
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -1
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +2 -2
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +1 -1
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +2 -2
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +1 -1
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js +2 -2
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +3 -3
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +4 -4
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +4 -4
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch.js +4 -4
- package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch2.js +4 -4
- package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch3.js +4 -4
- package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/eve/scene/EveSpaceScene.js +6 -6
- package/dist/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/eve/socket/EveSocketParameterFilePath.js +1 -1
- package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
- package/dist/eve/spaceObject/EveEffectRoot2.js +16 -7
- package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
- package/dist/eve/spaceObject/EveMissile.js +6 -6
- package/dist/eve/spaceObject/EveMissile.js.map +1 -1
- package/dist/eve/spaceObject/EveMissileWarhead.js +13 -16
- package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
- package/dist/eve/spaceObject/EveMobile.js +3 -3
- package/dist/eve/spaceObject/EveMobile.js.map +1 -1
- package/dist/eve/spaceObject/EveRootTransform.js +4 -4
- package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
- package/dist/eve/spaceObject/EveSpaceObject2.js +30 -15
- package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/eve/spaceObject/EveStation2.js +1 -1
- package/dist/eve/spaceObject/EveStation2.js.map +1 -1
- package/dist/eve/spaceObject/EveTransform.js +27 -23
- package/dist/eve/spaceObject/EveTransform.js.map +1 -1
- package/dist/eve/spaceObject/swarm/SwarmVehicle.js +4 -4
- package/dist/eve/spaceObject/swarm/SwarmVehicle.js.map +1 -1
- package/dist/eve/spaceObject/swarm/SwarmVehicleDebug.js +3 -3
- package/dist/eve/spaceObject/swarm/SwarmVehicleDebug.js.map +1 -1
- package/dist/eve/ui/EveEllipseDefinition.js +3 -3
- package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
- package/dist/eve/ui/EveEllipseSet.js +2 -2
- package/dist/eve/ui/EveEllipseSet.js.map +1 -1
- package/dist/eve/ui/EveSprite2dBracket.js +4 -4
- package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
- package/dist/eve/ui/EveUiObject.js +1 -1
- package/dist/eve/ui/EveUiObject.js.map +1 -1
- package/dist/eve/virtualCamera/EveVirtualCamera.js +6 -6
- package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +2 -2
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +4 -4
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +3 -3
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +2 -2
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +2 -2
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +2 -2
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
- package/dist/eve/volume/EveBoxVolume.js +4 -4
- package/dist/eve/volume/EveBoxVolume.js.map +1 -1
- package/dist/eve/volume/EveEllipsoidVolume.js +4 -4
- package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
- package/dist/eve/volume/EveSphereVolume.js +3 -3
- package/dist/eve/volume/EveSphereVolume.js.map +1 -1
- package/dist/generated/curves/Tr2VectorFunctionModifier.js +3 -3
- package/dist/generated/curves/Tr2VectorFunctionModifier.js.map +1 -1
- package/dist/generated/eve/EveCamera.js +4 -4
- package/dist/generated/eve/EveCamera.js.map +1 -1
- package/dist/generated/eve/EveEntity.js +2 -2
- package/dist/generated/eve/EveEntity.js.map +1 -1
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +5 -5
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +1 -1
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +5 -5
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +1 -1
- package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js +4 -4
- package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +1 -1
- package/dist/generated/eve/child/EveChildBehaviorSystem.js +2 -2
- package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +1 -1
- package/dist/generated/eve/child/EveChildBulletStorm.js +5 -5
- package/dist/generated/eve/child/EveChildBulletStorm.js.map +1 -1
- package/dist/generated/eve/child/EveChildCloud.js +5 -5
- package/dist/generated/eve/child/EveChildCloud.js.map +1 -1
- package/dist/generated/eve/child/EveChildCloud2.js +763 -52
- package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/generated/eve/child/EveChildExplosion.js +4 -4
- package/dist/generated/eve/child/EveChildExplosion.js.map +1 -1
- package/dist/generated/eve/child/EveChildInstanceContainer.js +1 -1
- package/dist/generated/eve/child/EveChildInstanceContainer.js.map +1 -1
- package/dist/generated/eve/child/EveChildInstanceMeshRenderer.js +3 -3
- package/dist/generated/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
- package/dist/generated/eve/child/EveChildLineSet.js +2 -2
- package/dist/generated/eve/child/EveChildLineSet.js.map +1 -1
- package/dist/generated/eve/child/EveChildLink.js +6 -6
- package/dist/generated/eve/child/EveChildLink.js.map +1 -1
- package/dist/generated/eve/child/EveChildParticleSphere.js +3 -3
- package/dist/generated/eve/child/EveChildParticleSphere.js.map +1 -1
- package/dist/generated/eve/child/EveChildParticleSystem.js +6 -6
- package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/generated/eve/child/EveChildPlug.js +1 -1
- package/dist/generated/eve/child/EveChildPlug.js.map +1 -1
- package/dist/generated/eve/child/EveChildPostProcessVolume.js +4 -4
- package/dist/generated/eve/child/EveChildPostProcessVolume.js.map +1 -1
- package/dist/generated/eve/child/EveChildQuad.js +5 -5
- package/dist/generated/eve/child/EveChildQuad.js.map +1 -1
- package/dist/generated/eve/child/EveChildRef.js +1 -1
- package/dist/generated/eve/child/EveChildRef.js.map +1 -1
- package/dist/generated/eve/child/EveChildSocket.js +1 -1
- package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
- package/dist/generated/eve/child/EveChildSpherePin.js +3 -3
- package/dist/generated/eve/child/EveChildSpherePin.js.map +1 -1
- package/dist/generated/eve/child/EveCloudEditableVolume.js +2 -2
- package/dist/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
- package/dist/generated/eve/child/EveCloudVolumeTextureParameter.js +2 -2
- package/dist/generated/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
- package/dist/generated/eve/child/IEveLightingOverride.js +2 -2
- package/dist/generated/eve/child/IEveLightingOverride.js.map +1 -1
- package/dist/generated/eve/child/behaviors/Allign.js +3 -3
- package/dist/generated/eve/child/behaviors/Allign.js.map +1 -1
- package/dist/generated/eve/child/behaviors/ApproachGroup.js +3 -3
- package/dist/generated/eve/child/behaviors/ApproachGroup.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BackAndForth.js +4 -4
- package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js +5 -5
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js +5 -5
- package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +3 -3
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
- package/dist/generated/eve/child/behaviors/DroneAvoidance.js +3 -3
- package/dist/generated/eve/child/behaviors/DroneAvoidance.js.map +1 -1
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +3 -3
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
- package/dist/generated/eve/child/behaviors/FollowASpline.js +3 -3
- package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
- package/dist/generated/eve/child/behaviors/Formation.js +4 -4
- package/dist/generated/eve/child/behaviors/Formation.js.map +1 -1
- package/dist/generated/eve/child/behaviors/InclusionVolume.js +3 -3
- package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +1 -1
- package/dist/generated/eve/child/behaviors/Inertia.js +4 -4
- package/dist/generated/eve/child/behaviors/Inertia.js.map +1 -1
- package/dist/generated/eve/child/behaviors/PlayFX.js +2 -2
- package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js +4 -4
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js +3 -3
- package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SpawnDrones.js +4 -4
- package/dist/generated/eve/child/behaviors/SpawnDrones.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +3 -3
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +1 -1
- package/dist/generated/eve/child/behaviors/Wander.js +4 -4
- package/dist/generated/eve/child/behaviors/Wander.js.map +1 -1
- package/dist/generated/eve/child/lineSetPaths/EveLineChildContainer.js +1 -1
- package/dist/generated/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js +3 -3
- package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js +4 -4
- package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js +5 -5
- package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +3 -3
- package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
- package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js +4 -4
- package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js +2 -2
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
- package/dist/generated/eve/distribution/EveBaseDistributionMethod.js +4 -4
- package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +2 -2
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +4 -4
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +4 -4
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +2 -2
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +2 -2
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +4 -4
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +2 -2
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +3 -3
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +4 -4
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +3 -3
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js +2 -2
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +2 -2
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js +2 -2
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +4 -4
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +3 -3
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +3 -3
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
- package/dist/generated/eve/effect/EveLensflare.js +38 -8
- package/dist/generated/eve/effect/EveLensflare.js.map +1 -1
- package/dist/generated/eve/effect/EveMultiEffect.js +2 -2
- package/dist/generated/eve/effect/EveMultiEffect.js.map +1 -1
- package/dist/generated/eve/effect/EveMultiEffectParameter.js +2 -2
- package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +1 -1
- package/dist/generated/eve/effect/EveOccluder.js +2 -2
- package/dist/generated/eve/effect/EveOccluder.js.map +1 -1
- package/dist/generated/eve/effect/EveStarfield.js +2 -2
- package/dist/generated/eve/effect/EveStarfield.js.map +1 -1
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +3 -3
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +1 -1
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +4 -4
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -1
- package/dist/generated/eve/index.js +1 -1
- package/dist/generated/eve/lights/Tr2FactionLight.js +4 -4
- package/dist/generated/eve/lights/Tr2FactionLight.js.map +1 -1
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +2 -2
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +4 -4
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +1 -1
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +4 -4
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -1
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +2 -2
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +1 -1
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +3 -3
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -1
- package/dist/generated/eve/scene/EveComponentCollection.js +2 -2
- package/dist/generated/eve/scene/EveComponentCollection.js.map +1 -1
- package/dist/generated/eve/scene/EveComponentRegistry.js +2 -2
- package/dist/generated/eve/scene/EveComponentRegistry.js.map +1 -1
- package/dist/generated/eve/scene/EvePendingPickingReadback.js +2 -2
- package/dist/generated/eve/scene/EvePendingPickingReadback.js.map +1 -1
- package/dist/generated/eve/scene/EvePickingContext.js +2 -2
- package/dist/generated/eve/scene/EvePickingContext.js.map +1 -1
- package/dist/generated/eve/scene/EveSceneStaticParticles.js +129 -10
- package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +1 -1
- package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js +3 -3
- package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
- package/dist/generated/eve/scene/TriShadowFrustum.js +3 -3
- package/dist/generated/eve/scene/TriShadowFrustum.js.map +1 -1
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +3 -3
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +1 -1
- package/dist/generated/eve/scene/index.js +1 -1
- package/dist/generated/eve/smartLights/EveChildSmartLightSet.js +2 -2
- package/dist/generated/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js +3 -3
- package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +3 -3
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightMesh.js +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightMesh.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +5 -5
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightQuad.js +6 -6
- package/dist/generated/eve/smartLights/EveSmartLightQuad.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +2 -2
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +2 -2
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +2 -2
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +2 -2
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +2 -2
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterBindingBase.js +2 -2
- package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterBool.js +1 -1
- package/dist/generated/eve/socket/EveSocketParameterBool.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterColor.js +2 -2
- package/dist/generated/eve/socket/EveSocketParameterColor.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterFloat.js +1 -1
- package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterInt.js +1 -1
- package/dist/generated/eve/socket/EveSocketParameterInt.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterString.js +2 -2
- package/dist/generated/eve/socket/EveSocketParameterString.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterVector2.js +2 -2
- package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterVector3.js +2 -2
- package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterVector4.js +2 -2
- package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +1 -1
- package/dist/generated/eve/spaceObject/EvePlanet.js +54 -38
- package/dist/generated/eve/spaceObject/EvePlanet.js.map +1 -1
- package/dist/generated/eve/spaceObject/EveShip2.js +3 -3
- package/dist/generated/eve/spaceObject/EveShip2.js.map +1 -1
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +2 -2
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +192 -171
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js +74 -16
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
- package/dist/generated/eve/ui/EveConnector.js +4 -4
- package/dist/generated/eve/ui/EveConnector.js.map +1 -1
- package/dist/generated/eve/ui/EveCurveLineSet.js +2 -2
- package/dist/generated/eve/ui/EveCurveLineSet.js.map +1 -1
- package/dist/generated/eve/ui/EveLineContainer.js +2 -2
- package/dist/generated/eve/ui/EveLineContainer.js.map +1 -1
- package/dist/generated/eve/ui/EveLineSet.js +4 -4
- package/dist/generated/eve/ui/EveLineSet.js.map +1 -1
- package/dist/generated/eve/ui/EveProjectBracket.js +4 -4
- package/dist/generated/eve/ui/EveProjectBracket.js.map +1 -1
- package/dist/generated/eve/ui/EveSpherePin.js +5 -5
- package/dist/generated/eve/ui/EveSpherePin.js.map +1 -1
- package/dist/generated/eve/ui/EveSprite2dBracketRenderer.js +2 -2
- package/dist/generated/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
- package/dist/generated/eve/ui/EveTacticalOverlay.js +4 -4
- package/dist/generated/eve/ui/EveTacticalOverlay.js.map +1 -1
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +3 -3
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +1 -1
- package/dist/generated/eve/ui/EveTacticalTrails.js +2 -2
- package/dist/generated/eve/ui/EveTacticalTrails.js.map +1 -1
- package/dist/generated/font/Tr2FontManager.js +2 -2
- package/dist/generated/font/Tr2FontManager.js.map +1 -1
- package/dist/generated/font/Tr2FontMeasurer.js +2 -2
- package/dist/generated/font/Tr2FontMeasurer.js.map +1 -1
- package/dist/generated/font/Tr2SBitWrapper.js +2 -2
- package/dist/generated/font/Tr2SBitWrapper.js.map +1 -1
- package/dist/generated/index.js +1 -1
- package/dist/generated/particle/ITr2GenericEmitter.js +4 -4
- package/dist/generated/particle/ITr2GenericEmitter.js.map +1 -1
- package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js +4 -4
- package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js +3 -3
- package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2DynamicEmitter.js +2 -2
- package/dist/generated/particle/Tr2DynamicEmitter.js.map +1 -1
- package/dist/generated/particle/Tr2ElementBlendConstraint.js +3 -3
- package/dist/generated/particle/Tr2ElementBlendConstraint.js.map +1 -1
- package/dist/generated/particle/Tr2ForceSphereVolume.js +3 -3
- package/dist/generated/particle/Tr2ForceSphereVolume.js.map +1 -1
- package/dist/generated/particle/Tr2GpuParticleSystem.js +2 -2
- package/dist/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
- package/dist/generated/particle/Tr2ParticleSystem.js +3 -3
- package/dist/generated/particle/Tr2ParticleSystem.js.map +1 -1
- package/dist/generated/particle/Tr2ParticleTurbulenceForce.js +5 -5
- package/dist/generated/particle/Tr2ParticleTurbulenceForce.js.map +1 -1
- package/dist/generated/particle/Tr2PlaneConstraint.js +4 -4
- package/dist/generated/particle/Tr2PlaneConstraint.js.map +1 -1
- package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js +2 -2
- package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js +3 -3
- package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js +3 -3
- package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2SphereConstraint.js +4 -4
- package/dist/generated/particle/Tr2SphereConstraint.js.map +1 -1
- package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js +4 -4
- package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2StaticEmitter.js +2 -2
- package/dist/generated/particle/Tr2StaticEmitter.js.map +1 -1
- package/dist/generated/postProcess/Tr2PostProcessRenderer.js +2 -2
- package/dist/generated/postProcess/Tr2PostProcessRenderer.js.map +1 -1
- package/dist/generated/raytracing/Tr2RaytracingGeometry.js +3 -3
- package/dist/generated/raytracing/Tr2RaytracingGeometry.js.map +1 -1
- package/dist/generated/raytracing/Tr2RaytracingManager.js +2 -2
- package/dist/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
- package/dist/generated/raytracing/Tr2RaytracingMesh.js +2 -2
- package/dist/generated/raytracing/Tr2RaytracingMesh.js.map +1 -1
- package/dist/generated/raytracing/Tr2RaytracingPipelineStateManager.js +2 -2
- package/dist/generated/raytracing/Tr2RaytracingPipelineStateManager.js.map +1 -1
- package/dist/generated/renderJob/Tr2RenderNodeEffect.js +2 -2
- package/dist/generated/renderJob/Tr2RenderNodeEffect.js.map +1 -1
- package/dist/generated/renderJob/Tr2RenderNodeSprite2dScene.js +2 -2
- package/dist/generated/renderJob/Tr2RenderNodeSprite2dScene.js.map +1 -1
- package/dist/generated/renderJob/Tr2StepExecuteRenderNode.js +1 -1
- package/dist/generated/renderJob/Tr2StepExecuteRenderNode.js.map +1 -1
- package/dist/generated/renderJob/TriStepClearUav.js +2 -2
- package/dist/generated/renderJob/TriStepClearUav.js.map +1 -1
- package/dist/generated/renderJob/TriStepFilterVisibilityResults.js +1 -1
- package/dist/generated/renderJob/TriStepFilterVisibilityResults.js.map +1 -1
- package/dist/generated/renderJob/TriStepPythonCB.js +1 -1
- package/dist/generated/renderJob/TriStepPythonCB.js.map +1 -1
- package/dist/generated/renderJob/TriStepRemoteUpdate.js +1 -1
- package/dist/generated/renderJob/TriStepRemoteUpdate.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderAtlas.js +3 -3
- package/dist/generated/renderJob/TriStepRenderAtlas.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderDebug.js +2 -2
- package/dist/generated/renderJob/TriStepRenderDebug.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderEffect.js +2 -2
- package/dist/generated/renderJob/TriStepRenderEffect.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderFps.js +1 -1
- package/dist/generated/renderJob/TriStepRenderFps.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderLineGraph.js +1 -1
- package/dist/generated/renderJob/TriStepRenderLineGraph.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderObject.js +1 -1
- package/dist/generated/renderJob/TriStepRenderObject.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderPass.js +1 -1
- package/dist/generated/renderJob/TriStepRenderPass.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderScene.js +1 -1
- package/dist/generated/renderJob/TriStepRenderScene.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderSceneDebug.js +1 -1
- package/dist/generated/renderJob/TriStepRenderSceneDebug.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderTexture.js +2 -2
- package/dist/generated/renderJob/TriStepRenderTexture.js.map +1 -1
- package/dist/generated/renderJob/TriStepRunComputeShader.js +1 -1
- package/dist/generated/renderJob/TriStepRunComputeShader.js.map +1 -1
- package/dist/generated/renderJob/TriStepSetDebugRenderer.js +1 -1
- package/dist/generated/renderJob/TriStepSetDebugRenderer.js.map +1 -1
- package/dist/generated/renderJob/TriStepSetUpscalingContextID.js +1 -1
- package/dist/generated/renderJob/TriStepSetUpscalingContextID.js.map +1 -1
- package/dist/generated/renderJob/TriStepSetVariableStore.js +1 -1
- package/dist/generated/renderJob/TriStepSetVariableStore.js.map +1 -1
- package/dist/generated/renderJob/TriStepTestBlocking.js +1 -1
- package/dist/generated/renderJob/TriStepTestBlocking.js.map +1 -1
- package/dist/generated/renderJob/TriStepToggleCubemap.js +1 -1
- package/dist/generated/renderJob/TriStepToggleCubemap.js.map +1 -1
- package/dist/generated/renderJob/TriStepUpdate.js +1 -1
- package/dist/generated/renderJob/TriStepUpdate.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2d.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
- package/dist/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dContainer.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dContainerBase.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dDisplayList.js +4 -4
- package/dist/generated/sprite2d/Tr2Sprite2dDisplayList.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dFrame.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
- package/dist/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dLine.js +3 -3
- package/dist/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js +3 -3
- package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dPickingMask.js +2 -2
- package/dist/generated/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js +4 -4
- package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dRenderJob.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dScene.js +6 -6
- package/dist/generated/sprite2d/Tr2Sprite2dScene.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dStretch.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dStretchVertical.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dTextObject.js +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dTexture.js +3 -3
- package/dist/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dTransform.js +2 -2
- package/dist/generated/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dVertex.js +2 -2
- package/dist/generated/sprite2d/Tr2Sprite2dVertex.js.map +1 -1
- package/dist/generated/sprite2d/Tr2SpriteObject.js +3 -3
- package/dist/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
- package/dist/generated/sprite2d/Tr2SpriteObjectBase.js +2 -2
- package/dist/generated/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
- package/dist/generated/sprite2d/Tr2TexturedSpriteObject.js +1 -1
- package/dist/generated/sprite2d/Tr2TexturedSpriteObject.js.map +1 -1
- package/dist/generated/trinityCore/ITr2FroxelFogSettings.js +2 -2
- package/dist/generated/trinityCore/ITr2FroxelFogSettings.js.map +1 -1
- package/dist/generated/trinityCore/ITr2ImpostorSource.js +3 -3
- package/dist/generated/trinityCore/ITr2ImpostorSource.js.map +1 -1
- package/dist/generated/trinityCore/ITr2InstanceData.js +2 -2
- package/dist/generated/trinityCore/ITr2InstanceData.js.map +1 -1
- package/dist/generated/trinityCore/Tr2AtlasTexture.js +2 -2
- package/dist/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
- package/dist/generated/trinityCore/Tr2BoundingLineSet.js +2 -2
- package/dist/generated/trinityCore/Tr2BoundingLineSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2CurveLineSet.js +5 -5
- package/dist/generated/trinityCore/Tr2CurveLineSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2DebugRenderer.js +4 -4
- package/dist/generated/trinityCore/Tr2DebugRenderer.js.map +1 -1
- package/dist/generated/trinityCore/Tr2Denoiser.js +2 -2
- package/dist/generated/trinityCore/Tr2Denoiser.js.map +1 -1
- package/dist/generated/trinityCore/Tr2DynamicBinding.js +2 -2
- package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ExternalParameter.js +2 -2
- package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +1 -1
- package/dist/generated/trinityCore/Tr2GpuProfiler.js +2 -2
- package/dist/generated/trinityCore/Tr2GpuProfiler.js.map +1 -1
- package/dist/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
- package/dist/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
- package/dist/generated/trinityCore/Tr2GrannyAnimation.js +6 -6
- package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +1 -1
- package/dist/generated/trinityCore/Tr2GrannyPrimitiveSet.js +1 -1
- package/dist/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2HostBitmap.js +3 -3
- package/dist/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ImpostorManager.js +2 -2
- package/dist/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
- package/dist/generated/trinityCore/Tr2KelvinColor.js +2 -2
- package/dist/generated/trinityCore/Tr2KelvinColor.js.map +1 -1
- package/dist/generated/trinityCore/Tr2LineGraph.js +3 -3
- package/dist/generated/trinityCore/Tr2LineGraph.js.map +1 -1
- package/dist/generated/trinityCore/Tr2LineSet.js +3 -3
- package/dist/generated/trinityCore/Tr2LineSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ManipulationTool.js +5 -5
- package/dist/generated/trinityCore/Tr2ManipulationTool.js.map +1 -1
- package/dist/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
- package/dist/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
- package/dist/generated/trinityCore/Tr2PrimitiveSet.js +4 -4
- package/dist/generated/trinityCore/Tr2PrimitiveSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2PrimitiveText.js +3 -3
- package/dist/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ProjectBoundingBoxBracket.js +2 -2
- package/dist/generated/trinityCore/Tr2ProjectBoundingBoxBracket.js.map +1 -1
- package/dist/generated/trinityCore/Tr2QuadRenderer.js +2 -2
- package/dist/generated/trinityCore/Tr2QuadRenderer.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ReflectionProbe.js +4 -4
- package/dist/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
- package/dist/generated/trinityCore/Tr2RingBuffer.js +2 -2
- package/dist/generated/trinityCore/Tr2RingBuffer.js.map +1 -1
- package/dist/generated/trinityCore/Tr2RotationTool.js +2 -2
- package/dist/generated/trinityCore/Tr2RotationTool.js.map +1 -1
- package/dist/generated/trinityCore/Tr2SSAO.js +2 -2
- package/dist/generated/trinityCore/Tr2SSAO.js.map +1 -1
- package/dist/generated/trinityCore/Tr2SSSSS.js +3 -3
- package/dist/generated/trinityCore/Tr2SSSSS.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ScalingTool.js +3 -3
- package/dist/generated/trinityCore/Tr2ScalingTool.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ShLightingManager.js +2 -2
- package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ShadowMap.js +2 -2
- package/dist/generated/trinityCore/Tr2ShadowMap.js.map +1 -1
- package/dist/generated/trinityCore/Tr2SolidSet.js +3 -3
- package/dist/generated/trinityCore/Tr2SolidSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2StreamingBitmapSaver.js +3 -3
- package/dist/generated/trinityCore/Tr2StreamingBitmapSaver.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TextureAnimation.js +2 -2
- package/dist/generated/trinityCore/Tr2TextureAnimation.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TextureArray.js +3 -3
- package/dist/generated/trinityCore/Tr2TextureArray.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TextureAtlas.js +3 -3
- package/dist/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
- package/dist/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TextureReference.js +2 -2
- package/dist/generated/trinityCore/Tr2TextureReference.js.map +1 -1
- package/dist/generated/trinityCore/Tr2Transform.js +5 -5
- package/dist/generated/trinityCore/Tr2Transform.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TransientTextureReference.js +2 -2
- package/dist/generated/trinityCore/Tr2TransientTextureReference.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TranslationTool.js +2 -2
- package/dist/generated/trinityCore/Tr2TranslationTool.js.map +1 -1
- package/dist/generated/trinityCore/Tr2VolumetricsRenderer.js +2 -2
- package/dist/generated/trinityCore/Tr2VolumetricsRenderer.js.map +1 -1
- package/dist/generated/trinityCore/TriLineSet.js +4 -4
- package/dist/generated/trinityCore/TriLineSet.js.map +1 -1
- package/dist/generated/trinityCore/TriRigidOrientation.js +4 -4
- package/dist/generated/trinityCore/TriRigidOrientation.js.map +1 -1
- package/dist/generated/trinityCore/TriValueBinding.js +3 -3
- package/dist/generated/trinityCore/TriValueBinding.js.map +1 -1
- package/dist/generated/utilities/Float4x3.js +2 -2
- package/dist/generated/utilities/Float4x3.js.map +1 -1
- package/dist/generated/utilities/Obb.js +3 -3
- package/dist/generated/utilities/Obb.js.map +1 -1
- package/dist/generated/utilities/Tr2MaterialBoundsAdjustment.js +2 -2
- package/dist/generated/utilities/Tr2MaterialBoundsAdjustment.js.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/particle/Tr2GpuSharedEmitter.js +4 -4
- package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/particle/Tr2GpuUniqueEmitter.js +2 -2
- package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
- package/dist/particle/Tr2ParticleAttractorForce.js +3 -3
- package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDirectForce.js +3 -3
- package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDragForce.js +3 -3
- package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleElementData.js +2 -2
- package/dist/particle/Tr2ParticleElementData.js.map +1 -1
- package/dist/particle/Tr2ParticleElementDeclaration.js +2 -2
- package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
- package/dist/particle/Tr2ParticleElementDeclarationName.js +2 -2
- package/dist/particle/Tr2ParticleElementDeclarationName.js.map +1 -1
- package/dist/particle/Tr2ParticleFluidDragForce.js +3 -3
- package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleSpring.js +3 -3
- package/dist/particle/Tr2ParticleSpring.js.map +1 -1
- package/dist/particle/Tr2ParticleVortexForce.js +3 -3
- package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
- package/dist/postProcess/BlurContext.js +2 -2
- package/dist/postProcess/BlurContext.js.map +1 -1
- package/dist/postProcess/GaussianData.js +4 -4
- package/dist/postProcess/GaussianData.js.map +1 -1
- package/dist/postProcess/Tr2PPBloomEffect.js +2 -2
- package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPColorCorrectionEffect.js +2 -2
- package/dist/postProcess/Tr2PPColorCorrectionEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +1 -1
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPDesaturateEffect.js +1 -1
- package/dist/postProcess/Tr2PPDesaturateEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPDynamicExposureEffect.js +1 -1
- package/dist/postProcess/Tr2PPDynamicExposureEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPEffect.js +2 -2
- package/dist/postProcess/Tr2PPEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPFadeEffect.js +2 -2
- package/dist/postProcess/Tr2PPFadeEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPFilmGrainEffect.js +1 -1
- package/dist/postProcess/Tr2PPFilmGrainEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPFogEffect.js +4 -4
- package/dist/postProcess/Tr2PPFogEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPGenericEffect.js +1 -1
- package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPGodRaysEffect.js +2 -2
- package/dist/postProcess/Tr2PPGodRaysEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPLutEffect.js +1 -1
- package/dist/postProcess/Tr2PPLutEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPSignalLossEffect.js +1 -1
- package/dist/postProcess/Tr2PPSignalLossEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTaaEffect.js +1 -1
- package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTonemappingEffect.js +1 -1
- package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPVignetteEffect.js +3 -3
- package/dist/postProcess/Tr2PPVignetteEffect.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess.js +2 -2
- package/dist/postProcess/Tr2PostProcess.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess2.js +2 -2
- package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
- package/dist/postProcess/Tr2PostProcessAttributes.js +5 -5
- package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
- package/dist/renderJob/Tr2RenderJobs.js +2 -2
- package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
- package/dist/renderJob/TriRenderJob.js +2 -2
- package/dist/renderJob/TriRenderJob.js.map +1 -1
- package/dist/renderJob/TriRenderStep.js +2 -2
- package/dist/renderJob/TriRenderStep.js.map +1 -1
- package/dist/renderJob/TriStepClear.js +2 -2
- package/dist/renderJob/TriStepClear.js.map +1 -1
- package/dist/renderJob/TriStepCopyRenderTarget.js +1 -1
- package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepEnableWireframeMode.js +1 -1
- package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
- package/dist/renderJob/TriStepGenerateMipMaps.js +1 -1
- package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
- package/dist/renderJob/TriStepPopDepthStencil.js +1 -1
- package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPopProjection.js +1 -1
- package/dist/renderJob/TriStepPopProjection.js.map +1 -1
- package/dist/renderJob/TriStepPopRenderTarget.js +1 -1
- package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPopViewTransform.js +1 -1
- package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPopViewport.js +1 -1
- package/dist/renderJob/TriStepPopViewport.js.map +1 -1
- package/dist/renderJob/TriStepPresentSwapChain.js +1 -1
- package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
- package/dist/renderJob/TriStepPushDepthStencil.js +1 -1
- package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPushProjection.js +1 -1
- package/dist/renderJob/TriStepPushProjection.js.map +1 -1
- package/dist/renderJob/TriStepPushRenderTarget.js +1 -1
- package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPushViewTransform.js +1 -1
- package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPushViewport.js +1 -1
- package/dist/renderJob/TriStepPushViewport.js.map +1 -1
- package/dist/renderJob/TriStepRemoteSync.js +1 -1
- package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
- package/dist/renderJob/TriStepResolve.js +1 -1
- package/dist/renderJob/TriStepResolve.js.map +1 -1
- package/dist/renderJob/TriStepRunJob.js +1 -1
- package/dist/renderJob/TriStepRunJob.js.map +1 -1
- package/dist/renderJob/TriStepSetDepthStencil.js +1 -1
- package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepSetProjection.js +1 -1
- package/dist/renderJob/TriStepSetProjection.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderState.js +2 -2
- package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderTarget.js +1 -1
- package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepSetStdRndStates.js +1 -1
- package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
- package/dist/renderJob/TriStepSetView.js +1 -1
- package/dist/renderJob/TriStepSetView.js.map +1 -1
- package/dist/renderJob/TriStepSetViewport.js +1 -1
- package/dist/renderJob/TriStepSetViewport.js.map +1 -1
- package/dist/renderJob/TriStepSetVisualizationMode.js +1 -1
- package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
- package/dist/shader/Tr2Effect.js +2 -2
- package/dist/shader/Tr2Effect.js.map +1 -1
- package/dist/shader/Tr2Material.js +2 -2
- package/dist/shader/Tr2Material.js.map +1 -1
- package/dist/shader/Tr2Shader.js +2 -2
- package/dist/shader/Tr2Shader.js.map +1 -1
- package/dist/shader/material/Tr2EffectLibraryParameters.js +2 -2
- package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
- package/dist/shader/material/Tr2EffectParam.js +2 -2
- package/dist/shader/material/Tr2EffectParam.js.map +1 -1
- package/dist/shader/material/Tr2EffectPassParameters.js +2 -2
- package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
- package/dist/shader/material/Tr2EffectTechniqueInputs.js +2 -2
- package/dist/shader/material/Tr2EffectTechniqueInputs.js.map +1 -1
- package/dist/shader/material/Tr2MaterialStageInput.js +2 -2
- package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
- package/dist/shader/material/Tr2SharedConstantBuffers.js +2 -2
- package/dist/shader/material/Tr2SharedConstantBuffers.js.map +1 -1
- package/dist/shader/parameter/CjsParameter.js +1 -1
- package/dist/shader/parameter/CjsParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2ConstantEffectParameter.js +2 -2
- package/dist/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2FloatParameter.js +1 -1
- package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Matrix4Parameter.js +2 -2
- package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +1 -1
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js +1 -1
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector2Parameter.js +3 -3
- package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector3Parameter.js +3 -3
- package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector4Parameter.js +3 -3
- package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
- package/dist/shader/parameter/TriFloatArrayParameter.js +1 -1
- package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
- package/dist/shader/parameter/TriTextureParameter.js +2 -2
- package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
- package/dist/shader/parameter/TriTransformParameter.js +27 -6
- package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
- package/dist/shader/parameter/TriVariableParameter.js +2 -2
- package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
- package/dist/shader/parameter/TriVector4.js +3 -3
- package/dist/shader/parameter/TriVector4.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectConstant.js +2 -2
- package/dist/shader/reflection/Tr2EffectConstant.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectDefine.js +2 -2
- package/dist/shader/reflection/Tr2EffectDefine.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectDescription.js +2 -2
- package/dist/shader/reflection/Tr2EffectDescription.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectLibrary.js +2 -2
- package/dist/shader/reflection/Tr2EffectLibrary.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +2 -2
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectResource.js +2 -2
- package/dist/shader/reflection/Tr2EffectResource.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectStageInput.js +2 -2
- package/dist/shader/reflection/Tr2EffectStageInput.js.map +1 -1
- package/dist/shader/reflection/Tr2EffectTechnique.js +2 -2
- package/dist/shader/reflection/Tr2EffectTechnique.js.map +1 -1
- package/dist/shader/reflection/Tr2Pass.js +2 -2
- package/dist/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/shader/reflection/Tr2ShaderOption.js +2 -2
- package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
- package/dist/shader/sampler/Tr2SamplerOverride.js +2 -2
- package/dist/shader/sampler/Tr2SamplerOverride.js.map +1 -1
- package/dist/shader/sampler/Tr2SamplerOverrideData.js +2 -2
- package/dist/shader/sampler/Tr2SamplerOverrideData.js.map +1 -1
- package/dist/shader/sampler/Tr2SamplerSetup.js +2 -2
- package/dist/shader/sampler/Tr2SamplerSetup.js.map +1 -1
- package/dist/shader/support/Tr2DataTextureManager.js +2 -2
- package/dist/shader/support/Tr2DataTextureManager.js.map +1 -1
- package/dist/shader/support/Tr2EffectStateManager.js +2 -2
- package/dist/shader/support/Tr2EffectStateManager.js.map +1 -1
- package/dist/shader/support/Tr2ShaderBuffer.js +2 -2
- package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
- package/dist/sprite2d/Tr2Sprite2dClipRect.js +2 -2
- package/dist/sprite2d/Tr2Sprite2dClipRect.js.map +1 -1
- package/dist/sprite2d/Tr2Sprite2dD3DVertex.js +2 -2
- package/dist/sprite2d/Tr2Sprite2dD3DVertex.js.map +1 -1
- package/dist/sprite2d/Tr2Sprite2dLineTraceVertex.js +4 -4
- package/dist/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
- package/dist/sprite2d/Tr2Sprite2dTriangle.js +2 -2
- package/dist/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
- package/dist/sprite2d/Tr2Sprite2dVertexBase.js +5 -5
- package/dist/sprite2d/Tr2Sprite2dVertexBase.js.map +1 -1
- package/dist/trinityCore/CjsBatchManager.js +7 -1
- package/dist/trinityCore/CjsBatchManager.js.map +1 -1
- package/dist/trinityCore/GrannyBoneOffset.js +5 -5
- package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
- package/dist/trinityCore/ITriRenderBatchAccumulator.js +28 -2
- package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/Tr2BindingVector3.js +3 -3
- package/dist/trinityCore/Tr2BindingVector3.js.map +1 -1
- package/dist/trinityCore/Tr2DepthStencil.js +3 -3
- package/dist/trinityCore/Tr2DepthStencil.js.map +1 -1
- package/dist/trinityCore/Tr2DirectInstanceData.js +3 -3
- package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2ExpressionTermInfo.js +2 -2
- package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
- package/dist/trinityCore/Tr2GpuBuffer.js +3 -3
- package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
- package/dist/trinityCore/Tr2InstancedMesh.js +2 -2
- package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
- package/dist/trinityCore/Tr2MaterialParameterStore.js +2 -2
- package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
- package/dist/trinityCore/Tr2Mesh.js +1 -1
- package/dist/trinityCore/Tr2Mesh.js.map +1 -1
- package/dist/trinityCore/Tr2MeshArea.js +2 -2
- package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
- package/dist/trinityCore/Tr2MeshBase.js +3 -3
- package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
- package/dist/trinityCore/Tr2PrimaryRenderContext.js +2 -2
- package/dist/trinityCore/Tr2PrimaryRenderContext.js.map +1 -1
- package/dist/trinityCore/Tr2PyValueBinding.js +2 -2
- package/dist/trinityCore/Tr2PyValueBinding.js.map +1 -1
- package/dist/trinityCore/Tr2RenderBatch.js +2 -2
- package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
- package/dist/trinityCore/Tr2RenderContext.js +4 -4
- package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
- package/dist/trinityCore/Tr2RenderTarget.js +3 -3
- package/dist/trinityCore/Tr2RenderTarget.js.map +1 -1
- package/dist/trinityCore/Tr2RuntimeGpuBuffer.js +2 -2
- package/dist/trinityCore/Tr2RuntimeGpuBuffer.js.map +1 -1
- package/dist/trinityCore/Tr2RuntimeInstanceData.js +3 -3
- package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2SerializedMorphAnimation.js +2 -2
- package/dist/trinityCore/Tr2SerializedMorphAnimation.js.map +1 -1
- package/dist/trinityCore/Tr2SwapChain.js +2 -2
- package/dist/trinityCore/Tr2SwapChain.js.map +1 -1
- package/dist/trinityCore/Tr2VariableStore.js +2 -2
- package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
- package/dist/trinityCore/Tr2VisibilityResults.js +4 -4
- package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
- package/dist/trinityCore/TriDevice.js +3 -3
- package/dist/trinityCore/TriDevice.js.map +1 -1
- package/dist/trinityCore/TriFloat.js +2 -2
- package/dist/trinityCore/TriFloat.js.map +1 -1
- package/dist/trinityCore/TriFrustum.js +3 -3
- package/dist/trinityCore/TriFrustum.js.map +1 -1
- package/dist/trinityCore/TriFrustumOrtho.js +2 -2
- package/dist/trinityCore/TriFrustumOrtho.js.map +1 -1
- package/dist/trinityCore/TriObserverLocal.js +3 -3
- package/dist/trinityCore/TriObserverLocal.js.map +1 -1
- package/dist/trinityCore/TriProjection.js +3 -3
- package/dist/trinityCore/TriProjection.js.map +1 -1
- package/dist/trinityCore/TriRect.js +2 -2
- package/dist/trinityCore/TriRect.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchAccumulator.js +2 -2
- package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchMap.js +10 -1
- package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
- package/dist/trinityCore/TriSettings.js +2 -2
- package/dist/trinityCore/TriSettings.js.map +1 -1
- package/dist/trinityCore/TriTorque.js +4 -4
- package/dist/trinityCore/TriTorque.js.map +1 -1
- package/dist/trinityCore/TriVariable.js +2 -2
- package/dist/trinityCore/TriVariable.js.map +1 -1
- package/dist/trinityCore/TriView.js +3 -3
- package/dist/trinityCore/TriView.js.map +1 -1
- package/dist/trinityCore/TriViewport.js +2 -2
- package/dist/trinityCore/TriViewport.js.map +1 -1
- package/dist/trinityCore/index.js +2 -0
- package/dist/trinityCore/index.js.map +1 -1
- package/dist/trinityCore/rawData/RawData.js +178 -0
- package/dist/trinityCore/rawData/RawData.js.map +1 -0
- package/dist/trinityCore/rawData/RawDataStore.js +232 -0
- package/dist/trinityCore/rawData/RawDataStore.js.map +1 -0
- package/dist/ui/Tr2PresentParameters.js +2 -2
- package/dist/ui/Tr2PresentParameters.js.map +1 -1
- package/dist/utilities/Range.js +2 -2
- package/dist/utilities/Range.js.map +1 -1
- package/package.json +2 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EveChildLightingOverride.js","sources":["../../../../src/eve/child/EveChildLightingOverride.js"],"sourcesContent":["// Ported/adapted from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildLightingOverride.h\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildLightingOverride.cpp\r\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\r\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\r\nimport { impl, io, schema, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveChildTransform } from \"./EveChildTransform.js\";\r\nimport { EveComponentType } from \"../EveComponentTypes.js\";\r\n\r\n\r\n@type.define({ className: \"EveChildLightingOverride\", family: \"eve/child\" })\r\nexport class EveChildLightingOverride extends EveChildTransform\r\n{\r\n #overrideIntensity = 0;\r\n #boundingSphere = { center: vec3.create(), radius: 0, initialized: false };\r\n\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Priority\")\r\n priority = 2;\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.float32\r\n backgroundIntensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n intensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n reflectionIntensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n sunIntensity = 1;\r\n\r\n @io.persist\r\n @type.color\r\n sunColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n @io.persist\r\n @type.list(\"IEveVolume\")\r\n volumes = [];\r\n\r\n /** Carbon EveChildLightingOverride::RegisterComponents (cpp:47-50):\r\n * unconditional EveLightingOverride leaf self-registration. Carbon's\r\n * UnRegisterComponents (cpp:52-55) only removes this same component, which\r\n * EveEntity::UnRegister already did via UnRegisterAllComponents\r\n * (EveEntity.cpp:90), so the JS un-side keeps the base no-op. */\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n registry.RegisterComponent(EveComponentType.EveLightingOverride, this);\r\n }\r\n }\r\n\r\n @impl.implemented\r\n GetOverrides()\r\n {\r\n return {\r\n priority: this.priority,\r\n intensity: this.#overrideIntensity,\r\n value: {\r\n sunColor: vec4.clone(this.sunColor),\r\n sunIntensity: this.sunIntensity,\r\n backgroundIntensity: this.backgroundIntensity,\r\n reflectionIntensity: this.reflectionIntensity\r\n }\r\n };\r\n }\r\n\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n @impl.adapted\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n vec4.set(out, this.#boundingSphere.center[0], this.#boundingSphere.center[1], this.#boundingSphere.center[2], this.#boundingSphere.radius);\r\n return true;\r\n }\r\n\r\n UpdateSyncronous(_updateContext, _params)\r\n {\r\n }\r\n\r\n @impl.adapted\r\n UpdateAsyncronous(updateContext, params = {})\r\n {\r\n this.UpdateTransform(params.localToWorldTransform ?? mat4.create());\r\n this.#RebuildBoundingSphere();\r\n\r\n if (this.volumes.length === 0)\r\n {\r\n this.#overrideIntensity = this.intensity;\r\n return;\r\n }\r\n\r\n this.#overrideIntensity = 0;\r\n const viewPosition = updateContext?.renderContext?.GetViewPosition?.();\r\n const inverse = mat4.invert(mat4.create(), this.worldTransform);\r\n if (!viewPosition || !inverse || !this.#boundingSphere.initialized) return;\r\n const localView = vec3.transformMat4(vec3.create(), viewPosition, inverse);\r\n if (vec3.distance(localView, this.#boundingSphere.center) > this.#boundingSphere.radius) return;\r\n\r\n for (const volume of this.volumes)\r\n {\r\n this.#overrideIntensity = Math.max(this.#overrideIntensity, Number(volume?.GetIntensity?.(localView)) || 0);\r\n if (this.#overrideIntensity >= 1) break;\r\n }\r\n this.#overrideIntensity *= this.intensity;\r\n }\r\n\r\n GetLocalToWorldTransform(out = mat4.create())\r\n {\r\n return mat4.copy(out, this.worldTransform);\r\n }\r\n\r\n Setup(scale, rotation, translation, lowestLodVisible)\r\n {\r\n return super.Setup(scale, rotation, translation, lowestLodVisible);\r\n }\r\n\r\n IsAlwaysOn()\r\n {\r\n return true;\r\n }\r\n\r\n Initialize()\r\n {\r\n this.#RebuildBoundingSphere();\r\n return true;\r\n }\r\n\r\n UpdateVisibility(_updateContext, _parentTransform, _parentLod)\r\n {\r\n }\r\n\r\n GetRenderables(_renderables)\r\n {\r\n }\r\n\r\n ChangeLOD(_lod)\r\n {\r\n }\r\n\r\n static Priority = Object.freeze({\r\n SCENE_DEFAULT_PRIORITY: 0,\r\n LOW_PRIORITY: 1,\r\n MEDIUM_PRIORITY: 2,\r\n HIGH_PRIORITY: 3,\r\n UI_PRIORITY: 4,\r\n PRIORITY_COUNT: 5\r\n });\r\n\r\n #RebuildBoundingSphere()\r\n {\r\n const target = this.#boundingSphere;\r\n vec3.set(target.center, 0, 0, 0);\r\n target.radius = 0;\r\n target.initialized = false;\r\n\r\n for (const volume of this.volumes)\r\n {\r\n const sphere = volume?.GetBoundingSphere?.();\r\n if (!sphere?.center || !Number.isFinite(sphere.radius) || sphere.radius < 0) continue;\r\n if (!target.initialized)\r\n {\r\n vec3.copy(target.center, sphere.center);\r\n target.radius = sphere.radius;\r\n target.initialized = true;\r\n continue;\r\n }\r\n EveChildLightingOverride.#UnionSphere(target, sphere);\r\n }\r\n }\r\n\r\n static #UnionSphere(target, sphere)\r\n {\r\n const delta = vec3.subtract(vec3.create(), sphere.center, target.center);\r\n const distance = vec3.length(delta);\r\n if (distance + sphere.radius <= target.radius) return;\r\n if (distance + target.radius <= sphere.radius)\r\n {\r\n vec3.copy(target.center, sphere.center);\r\n target.radius = sphere.radius;\r\n return;\r\n }\r\n if (distance === 0)\r\n {\r\n target.radius = Math.max(target.radius, sphere.radius);\r\n return;\r\n }\r\n const radius = (target.radius + sphere.radius + distance) * 0.5;\r\n vec3.scaleAndAdd(target.center, target.center, delta, (radius - target.radius) / distance);\r\n target.radius = radius;\r\n }\r\n}\r\n"],"names":["_EveChildLightingOver","_identity","EveChildLightingOverride","EveChildTransform","e","_init_priority","_init_extra_priority","_init_name","_init_extra_name","_init_backgroundIntensity","_init_extra_backgroundIntensity","_init_intensity","_init_extra_intensity","_init_reflectionIntensity","_init_extra_reflectionIntensity","_init_sunIntensity","_init_extra_sunIntensity","_init_sunColor","_init_extra_sunColor","_init_volumes","_init_extra_volumes","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","int32","schema","enum","string","float32","color","list","impl","implemented","adapted","constructor","args","center","vec3","create","radius","initialized","priority","name","backgroundIntensity","intensity","reflectionIntensity","sunIntensity","sunColor","vec4","fromValues","volumes","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","EveLightingOverride","GetOverrides","value","clone","GetName","SetName","String","GetBoundingSphere","out","set","UpdateSyncronous","_updateContext","_params","UpdateAsyncronous","updateContext","params","UpdateTransform","localToWorldTransform","mat4","length","viewPosition","renderContext","GetViewPosition","inverse","invert","worldTransform","localView","transformMat4","distance","volume","Math","max","Number","GetIntensity","GetLocalToWorldTransform","copy","Setup","scale","rotation","translation","lowestLodVisible","IsAlwaysOn","Initialize","UpdateVisibility","_parentTransform","_parentLod","GetRenderables","_renderables","ChangeLOD","_lod","#RebuildBoundingSphere","target","sphere","isFinite","Priority","Object","freeze","SCENE_DEFAULT_PRIORITY","LOW_PRIORITY","MEDIUM_PRIORITY","HIGH_PRIORITY","UI_PRIORITY","PRIORITY_COUNT","#UnionSphere","delta","subtract","scaleAndAdd"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EveChildLightingOverride.js","sources":["../../../../src/eve/child/EveChildLightingOverride.js"],"sourcesContent":["// Ported/adapted from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildLightingOverride.h\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildLightingOverride.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\r\nimport { impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveChildTransform } from \"./EveChildTransform.js\";\r\nimport { EveComponentType } from \"../EveComponentTypes.js\";\r\n\r\n\r\n@type.define({ className: \"EveChildLightingOverride\", family: \"eve/child\" })\r\nexport class EveChildLightingOverride extends EveChildTransform\r\n{\r\n #overrideIntensity = 0;\r\n #boundingSphere = { center: vec3.create(), radius: 0, initialized: false };\r\n\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Priority\")\r\n priority = 2;\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.float32\r\n backgroundIntensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n intensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n reflectionIntensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n sunIntensity = 1;\r\n\r\n @io.persist\r\n @type.color\r\n sunColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n @io.persist\r\n @type.list(\"IEveVolume\")\r\n volumes = [];\r\n\r\n /** Carbon EveChildLightingOverride::RegisterComponents (cpp:47-50):\r\n * unconditional EveLightingOverride leaf self-registration. Carbon's\r\n * UnRegisterComponents (cpp:52-55) only removes this same component, which\r\n * EveEntity::UnRegister already did via UnRegisterAllComponents\r\n * (EveEntity.cpp:90), so the JS un-side keeps the base no-op. */\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n registry.RegisterComponent(EveComponentType.EveLightingOverride, this);\r\n }\r\n }\r\n\r\n @impl.implemented\r\n GetOverrides()\r\n {\r\n return {\r\n priority: this.priority,\r\n intensity: this.#overrideIntensity,\r\n value: {\r\n sunColor: vec4.clone(this.sunColor),\r\n sunIntensity: this.sunIntensity,\r\n backgroundIntensity: this.backgroundIntensity,\r\n reflectionIntensity: this.reflectionIntensity\r\n }\r\n };\r\n }\r\n\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n @impl.adapted\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n vec4.set(out, this.#boundingSphere.center[0], this.#boundingSphere.center[1], this.#boundingSphere.center[2], this.#boundingSphere.radius);\r\n return true;\r\n }\r\n\r\n UpdateSyncronous(_updateContext, _params)\r\n {\r\n }\r\n\r\n @impl.adapted\r\n UpdateAsyncronous(updateContext, params = {})\r\n {\r\n this.UpdateTransform(params.localToWorldTransform ?? mat4.create());\r\n this.#RebuildBoundingSphere();\r\n\r\n if (this.volumes.length === 0)\r\n {\r\n this.#overrideIntensity = this.intensity;\r\n return;\r\n }\r\n\r\n this.#overrideIntensity = 0;\r\n const viewPosition = updateContext?.renderContext?.GetViewPosition?.();\r\n const inverse = mat4.invert(mat4.create(), this.worldTransform);\r\n if (!viewPosition || !inverse || !this.#boundingSphere.initialized) return;\r\n const localView = vec3.transformMat4(vec3.create(), viewPosition, inverse);\r\n if (vec3.distance(localView, this.#boundingSphere.center) > this.#boundingSphere.radius) return;\r\n\r\n for (const volume of this.volumes)\r\n {\r\n this.#overrideIntensity = Math.max(this.#overrideIntensity, Number(volume?.GetIntensity?.(localView)) || 0);\r\n if (this.#overrideIntensity >= 1) break;\r\n }\r\n this.#overrideIntensity *= this.intensity;\r\n }\r\n\r\n GetLocalToWorldTransform(out = mat4.create())\r\n {\r\n return mat4.copy(out, this.worldTransform);\r\n }\r\n\r\n Setup(scale, rotation, translation, lowestLodVisible)\r\n {\r\n return super.Setup(scale, rotation, translation, lowestLodVisible);\r\n }\r\n\r\n IsAlwaysOn()\r\n {\r\n return true;\r\n }\r\n\r\n Initialize()\r\n {\r\n this.#RebuildBoundingSphere();\r\n return true;\r\n }\r\n\r\n UpdateVisibility(_updateContext, _parentTransform, _parentLod)\r\n {\r\n }\r\n\r\n GetRenderables(_renderables)\r\n {\r\n }\r\n\r\n ChangeLOD(_lod)\r\n {\r\n }\r\n\r\n static Priority = Object.freeze({\r\n SCENE_DEFAULT_PRIORITY: 0,\r\n LOW_PRIORITY: 1,\r\n MEDIUM_PRIORITY: 2,\r\n HIGH_PRIORITY: 3,\r\n UI_PRIORITY: 4,\r\n PRIORITY_COUNT: 5\r\n });\r\n\r\n #RebuildBoundingSphere()\r\n {\r\n const target = this.#boundingSphere;\r\n vec3.set(target.center, 0, 0, 0);\r\n target.radius = 0;\r\n target.initialized = false;\r\n\r\n for (const volume of this.volumes)\r\n {\r\n const sphere = volume?.GetBoundingSphere?.();\r\n if (!sphere?.center || !Number.isFinite(sphere.radius) || sphere.radius < 0) continue;\r\n if (!target.initialized)\r\n {\r\n vec3.copy(target.center, sphere.center);\r\n target.radius = sphere.radius;\r\n target.initialized = true;\r\n continue;\r\n }\r\n EveChildLightingOverride.#UnionSphere(target, sphere);\r\n }\r\n }\r\n\r\n static #UnionSphere(target, sphere)\r\n {\r\n const delta = vec3.subtract(vec3.create(), sphere.center, target.center);\r\n const distance = vec3.length(delta);\r\n if (distance + sphere.radius <= target.radius) return;\r\n if (distance + target.radius <= sphere.radius)\r\n {\r\n vec3.copy(target.center, sphere.center);\r\n target.radius = sphere.radius;\r\n return;\r\n }\r\n if (distance === 0)\r\n {\r\n target.radius = Math.max(target.radius, sphere.radius);\r\n return;\r\n }\r\n const radius = (target.radius + sphere.radius + distance) * 0.5;\r\n vec3.scaleAndAdd(target.center, target.center, delta, (radius - target.radius) / distance);\r\n target.radius = radius;\r\n }\r\n}\r\n"],"names":["_EveChildLightingOver","_identity","EveChildLightingOverride","EveChildTransform","e","_init_priority","_init_extra_priority","_init_name","_init_extra_name","_init_backgroundIntensity","_init_extra_backgroundIntensity","_init_intensity","_init_extra_intensity","_init_reflectionIntensity","_init_extra_reflectionIntensity","_init_sunIntensity","_init_extra_sunIntensity","_init_sunColor","_init_extra_sunColor","_init_volumes","_init_extra_volumes","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","int32","schema","enum","string","float32","color","list","impl","implemented","adapted","constructor","args","center","vec3","create","radius","initialized","priority","name","backgroundIntensity","intensity","reflectionIntensity","sunIntensity","sunColor","vec4","fromValues","volumes","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","EveLightingOverride","GetOverrides","value","clone","GetName","SetName","String","GetBoundingSphere","out","set","UpdateSyncronous","_updateContext","_params","UpdateAsyncronous","updateContext","params","UpdateTransform","localToWorldTransform","mat4","length","viewPosition","renderContext","GetViewPosition","inverse","invert","worldTransform","localView","transformMat4","distance","volume","Math","max","Number","GetIntensity","GetLocalToWorldTransform","copy","Setup","scale","rotation","translation","lowestLodVisible","IsAlwaysOn","Initialize","UpdateVisibility","_parentTransform","_parentLod","GetRenderables","_renderables","ChangeLOD","_lod","#RebuildBoundingSphere","target","sphere","isFinite","Priority","Object","freeze","SCENE_DEFAULT_PRIORITY","LOW_PRIORITY","MEDIUM_PRIORITY","HIGH_PRIORITY","UI_PRIORITY","PRIORITY_COUNT","#UnionSphere","delta","subtract","scaleAndAdd"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import { mat4 } from '@carbonenginejs/
|
|
3
|
-
import { quat } from '@carbonenginejs/
|
|
4
|
-
import { sph3 } from '@carbonenginejs/
|
|
5
|
-
import { vec3 } from '@carbonenginejs/
|
|
6
|
-
import { vec4 } from '@carbonenginejs/
|
|
7
|
-
import { io, type, carbon, impl, schema } from '@carbonenginejs/
|
|
8
|
-
import { TriBatchType } from '@carbonenginejs/runtime-
|
|
2
|
+
import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
|
|
3
|
+
import { quat } from '@carbonenginejs/runtime-utils/quat';
|
|
4
|
+
import { sph3 } from '@carbonenginejs/runtime-utils/sph3';
|
|
5
|
+
import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
|
|
6
|
+
import { vec4 } from '@carbonenginejs/runtime-utils/vec4';
|
|
7
|
+
import { io, type, carbon, impl, schema } from '@carbonenginejs/runtime-utils/schema';
|
|
8
|
+
import { TriBatchType } from '@carbonenginejs/runtime-utils/graphics';
|
|
9
9
|
import { EveChildTransform as _EveChildTransform, applyTransformModifiers } from './EveChildTransform.js';
|
|
10
10
|
import { Origin } from '../../generated/eve/child/enums.js';
|
|
11
11
|
import { ReflectionMode } from '../../generated/eve/enums.js';
|
|
@@ -39,7 +39,7 @@ new class extends _identity {
|
|
|
39
39
|
} = _applyDecs2311(this, [type.define({
|
|
40
40
|
className: "EveChildMesh",
|
|
41
41
|
family: "eve/child"
|
|
42
|
-
})], [[[io, io.notify, io, io.persist, type, type.int32, void 0, schema.enum("ReflectionMode")], 16, "reflectionMode"], [[io, io.persist, void 0, type.list("IEveChildTransformModifier")], 16, "transformModifiers"], [[io, io.read, type, type.mat4], 16, "worldTransform"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "display"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "castShadow"], [[io, io.notify, io, io.persist, void 0, type.objectRef("Tr2MeshBase")], 16, "mesh"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.quat], 16, "rotation"], [[io, io.persist, type, type.vec3], 16, "translation"], [[io, io.persist, type, type.vec3], 16, "scaling"], [[io, io.persist, type, type.mat4], 16, "localTransform"], [[io, io.persist, void 0, type.list("EveSpaceObjectDecal")], 16, "decals"], [[io, io.persist, type, type.boolean], 16, "staticTransform"], [[io, io.notify, io, io.persist, void 0, type.objectRef("Tr2GrannyAnimation")], 16, "animationUpdater"], [[io, io.persist, void 0, type.list("IEveSpaceObjectAttachment")], 16, "attachments"], [[io, io.persist, void 0, type.list("Tr2Light")], 16, "lights"], [[io, io.persist, type, type.int32, void 0, schema.enum("Tr2Lod")], 16, "lowestLodVisible"], [[io, io.persist, type, type.float32], 16, "minScreenSize"], [[io, io.persist, type, type.float32], 16, "sortValueOffset"], [[io, io.persist, type, type.float32], 16, "sortValueScale"], [[io, io.read, type, type.float32], 16, "currentScreenSize"], [[io, io.read, type, type.float32], 16, "currentInstanceScreenSize"], [[io, io.persist, type, type.boolean], 16, "useSRT"], [[io, io.persist, type, type.boolean], 16, "updateAnimation"], [[io, io.persist, type, type.int32, void 0, schema.enum("Origin")], 16, "origin"], [[void 0, io.rebuild("instanceBuffer"), io, io.persist, void 0, type.array("mat4")], 16, "instanceTransforms"], [[io, io.persist, type, type.string], 16, "sofDna"], [[io, io.persist, type, type.string], 16, "sofParentHullName"], [[io, io.persist, type, type.string], 16, "sofLocatorSetName"], [[io, io.persist, type, type.string], 16, "sofLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "Setup"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetInstanceTransforms"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetInstanceTransforms"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetMesh"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetOrigin"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetScale"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetReflectionMode"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetCastShadow"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetMinScreenSize"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocalToWorldTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddTransformModifier"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddDecal"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddAttachment"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearAttachments"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddLight"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearLights"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsAlwaysOn"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMorphTargetNames"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMorphTargetWeight"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMorphTargetWeight"], [[impl, impl.adapted], 18, "UpdateMorphAnimationBuffer"], [[impl, impl.adapted], 18, "GetMorphTargets"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetSofSourceLocator"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Audio-geometry registration is engine-owned and the animationUpdater branches await the JS animation seam; nothing else remains in Carbon's body.")], 18, "UpdateSyncronous"], [[carbon, carbon.method, void 0, carbon.contextual(["camera"]), impl, impl.adapted], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Bone-fed decal/attachment bounds await the animation seam and the raytracing refresh is engine-owned; the LOD/screen-size math is ported.")], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The decal mesh cache is engine-owned (null placeholder); collection structure is ported.")], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasTransparentBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Frustum and threshold arrive via the duck-typed update context instead of renderer state.")], 18, "IsVisible"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Screen-size LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("shadowPixelSize LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.")], 18, "GetShadowBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reads the Tr2Renderer view-position global; the relocated camera state arrives via the threaded render context.")], 18, "GetSortValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowPerObjectData"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Persistent VS/PS device buffers and bone/morph ring offsets are engine-owned; the record carries the object reference the engine serializer consumes.")], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Overload dispatch by argument shape and a length-1 out array replace C++ overloading and the float& out-param; the shadow math is ported.")], 18, "IsCastingShadow"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChangeLOD"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.
|
|
42
|
+
})], [[[io, io.notify, io, io.persist, type, type.int32, void 0, schema.enum("ReflectionMode")], 16, "reflectionMode"], [[io, io.persist, void 0, type.list("IEveChildTransformModifier")], 16, "transformModifiers"], [[io, io.read, type, type.mat4], 16, "worldTransform"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "display"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "castShadow"], [[io, io.notify, io, io.persist, void 0, type.objectRef("Tr2MeshBase")], 16, "mesh"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.quat], 16, "rotation"], [[io, io.persist, type, type.vec3], 16, "translation"], [[io, io.persist, type, type.vec3], 16, "scaling"], [[io, io.persist, type, type.mat4], 16, "localTransform"], [[io, io.persist, void 0, type.list("EveSpaceObjectDecal")], 16, "decals"], [[io, io.persist, type, type.boolean], 16, "staticTransform"], [[io, io.notify, io, io.persist, void 0, type.objectRef("Tr2GrannyAnimation")], 16, "animationUpdater"], [[io, io.persist, void 0, type.list("IEveSpaceObjectAttachment")], 16, "attachments"], [[io, io.persist, void 0, type.list("Tr2Light")], 16, "lights"], [[io, io.persist, type, type.int32, void 0, schema.enum("Tr2Lod")], 16, "lowestLodVisible"], [[io, io.persist, type, type.float32], 16, "minScreenSize"], [[io, io.persist, type, type.float32], 16, "sortValueOffset"], [[io, io.persist, type, type.float32], 16, "sortValueScale"], [[io, io.read, type, type.float32], 16, "currentScreenSize"], [[io, io.read, type, type.float32], 16, "currentInstanceScreenSize"], [[io, io.persist, type, type.boolean], 16, "useSRT"], [[io, io.persist, type, type.boolean], 16, "updateAnimation"], [[io, io.persist, type, type.int32, void 0, schema.enum("Origin")], 16, "origin"], [[void 0, io.rebuild("instanceBuffer"), io, io.persist, void 0, type.array("mat4")], 16, "instanceTransforms"], [[io, io.persist, type, type.string], 16, "sofDna"], [[io, io.persist, type, type.string], 16, "sofParentHullName"], [[io, io.persist, type, type.string], 16, "sofLocatorSetName"], [[io, io.persist, type, type.string], 16, "sofLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "Setup"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetInstanceTransforms"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetInstanceTransforms"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetMesh"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetOrigin"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetScale"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetReflectionMode"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetCastShadow"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetMinScreenSize"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocalToWorldTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddTransformModifier"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddDecal"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddAttachment"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearAttachments"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddLight"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearLights"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsAlwaysOn"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMorphTargetNames"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMorphTargetWeight"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMorphTargetWeight"], [[impl, impl.adapted], 18, "UpdateMorphAnimationBuffer"], [[impl, impl.adapted], 18, "GetMorphTargets"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetSofSourceLocator"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Audio-geometry registration is engine-owned and the animationUpdater branches await the JS animation seam; nothing else remains in Carbon's body.")], 18, "UpdateSyncronous"], [[carbon, carbon.method, void 0, carbon.contextual(["camera"]), impl, impl.adapted], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Bone-fed decal/attachment bounds await the animation seam and the raytracing refresh is engine-owned; the LOD/screen-size math is ported.")], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The decal mesh cache is engine-owned (null placeholder); collection structure is ported.")], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasTransparentBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Frustum and threshold arrive via the duck-typed update context instead of renderer state.")], 18, "IsVisible"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Screen-size LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("shadowPixelSize LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.")], 18, "GetShadowBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reads the Tr2Renderer view-position global; the relocated camera state arrives via the threaded render context.")], 18, "GetSortValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowPerObjectData"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Persistent VS/PS device buffers and bone/morph ring offsets are engine-owned; the record carries the object reference the engine serializer consumes.")], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Overload dispatch by argument shape and a length-1 out array replace C++ overloading and the float& out-param; the shadow math is ported.")], 18, "IsCastingShadow"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChangeLOD"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("GetBoneTransforms (cpp:1285-1307) rides the granny animation updater - awaits the JS animation seam; (null, 0) is passed per the file's UpdateAsyncronous convention.")], 18, "GetLights"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetPickingBatches"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "InitializeAnimation"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "BakeMorphs"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "UnbakeMorphs"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "IsMeshBaked"]], 0, void 0, _EveChildTransform));
|
|
43
43
|
}
|
|
44
44
|
constructor(...args) {
|
|
45
45
|
super(...args);
|
|
@@ -663,12 +663,21 @@ new class extends _identity {
|
|
|
663
663
|
}
|
|
664
664
|
}
|
|
665
665
|
|
|
666
|
-
/** Carbon EveChildMesh::GetLights (cpp:1638-
|
|
667
|
-
*
|
|
668
|
-
*
|
|
669
|
-
*
|
|
670
|
-
|
|
671
|
-
|
|
666
|
+
/** Carbon EveChildMesh::GetLights (cpp:1638-1652): BOTH gates (empty
|
|
667
|
+
* lights and display, cpp:1640 - unlike EveSpaceObject2's display-only),
|
|
668
|
+
* then per light AddLight(manager, worldTransform, 1, bones, boneCount)
|
|
669
|
+
* FOLLOWED by SetBrightnessMultiplier(m_activationStrength) - the
|
|
670
|
+
* one-frame-lag order is contract (the submission uses the multiplier
|
|
671
|
+
* stamped on the previous pass; the first pass uses the Tr2Light default
|
|
672
|
+
* 1). */
|
|
673
|
+
GetLights(lightManager) {
|
|
674
|
+
if (!this.lights.length || !this.display) {
|
|
675
|
+
return;
|
|
676
|
+
}
|
|
677
|
+
for (const light of this.lights) {
|
|
678
|
+
light?.AddLight?.(lightManager, this.worldTransform, 1, null, 0);
|
|
679
|
+
light?.SetBrightnessMultiplier?.(this.#activationStrength);
|
|
680
|
+
}
|
|
672
681
|
}
|
|
673
682
|
|
|
674
683
|
/** Carbon EveChildMesh::GetPickingBatches (cpp:862-889) maps Tr2PickTypes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EveChildMesh.js","sources":["../../../../src/eve/child/EveChildMesh.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildMesh.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildMesh.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildMesh_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\r\nimport { quat } from \"@carbonenginejs/core-math/quat\";\r\nimport { sph3 } from \"@carbonenginejs/core-math/sph3\";\r\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\r\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { TriBatchType } from \"@carbonenginejs/runtime-const/graphics\";\r\nimport { EveChildTransform, applyTransformModifiers } from \"./EveChildTransform.js\";\r\nimport { Origin } from \"../../generated/eve/child/enums.js\";\r\nimport { ReflectionMode } from \"../../generated/eve/enums.js\";\r\nimport { EveComponentType, ShouldReflect } from \"../EveComponentTypes.js\";\r\nimport { Tr2RenderReason } from \"../../generated/trinityCore/enums.js\";\r\nimport { Tr2Lod } from \"../EveLODHelper.js\";\r\nimport { Tr2PerObjectData } from \"../../trinityCore/Tr2PerObjectData.js\";\r\n\r\n// Module scratch for the hot per-frame visibility/shadow paths (allocation\r\n// rules: copy-into, never allocate per call; child updates run sequentially so\r\n// the scratch is non-reentrant by construction).\r\nconst INVERSE_WORLD_SCRATCH = mat4.create();\r\nconst LOCAL_VIEW_SCRATCH = vec3.create();\r\nconst INSTANCE_SPHERE_SCRATCH = vec4.create();\r\nconst SHADOW_SPHERE_SCRATCH = vec4.create();\r\nconst BOX_CORNER_SCRATCH = vec3.create();\r\nconst BOX_QUERY_SCRATCH = { min: vec3.create(), max: vec3.create() };\r\nconst ZERO_VEC3 = vec3.create();\r\n\r\n\r\n@type.define({ className: \"EveChildMesh\", family: \"eve/child\" })\r\nexport class EveChildMesh extends EveChildTransform\r\n{\r\n #isMorphsBaked = false;\r\n\r\n #morphAnimationBuffer = [];\r\n\r\n #morphAnimationOffsets = {\r\n runtimeEvaluatedOffset: 0,\r\n runtimeEvaluatedCount: 0,\r\n bakedOffset: 0,\r\n bakedCount: 0,\r\n allCount: 0\r\n };\r\n\r\n // Carbon m_isVisible/m_instancesVisible/m_hasUpdated/m_activationStrength:\r\n // runtime-only frame state (never persisted; Carbon keeps them out of the\r\n // Blue surface too).\r\n #isVisible = false;\r\n\r\n #instancesVisible = false;\r\n\r\n #hasUpdated = false;\r\n\r\n #activationStrength = 1;\r\n\r\n // Carbon m_worldBoundingBox/m_worldBoundingSphere: world-space bounds\r\n // refreshed by UpdateAsyncronous; the sphere is invalid while radius <= 0.\r\n #worldBoundsMin = vec3.create();\r\n\r\n #worldBoundsMax = vec3.create();\r\n\r\n #worldBoundsValid = false;\r\n\r\n #worldBoundingSphere = vec4.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"ReflectionMode\")\r\n reflectionMode = 3;\r\n\r\n @io.persist\r\n @type.list(\"IEveChildTransformModifier\")\r\n transformModifiers = [];\r\n\r\n @io.read\r\n @type.mat4\r\n worldTransform = mat4.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n castShadow = false;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.objectRef(\"Tr2MeshBase\")\r\n mesh = null;\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\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 translation = vec3.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.mat4\r\n localTransform = mat4.create();\r\n\r\n @io.persist\r\n @type.list(\"EveSpaceObjectDecal\")\r\n decals = [];\r\n\r\n @io.persist\r\n @type.boolean\r\n staticTransform = false;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.objectRef(\"Tr2GrannyAnimation\")\r\n animationUpdater = null;\r\n\r\n @io.persist\r\n @type.list(\"IEveSpaceObjectAttachment\")\r\n attachments = [];\r\n\r\n @io.persist\r\n @type.list(\"Tr2Light\")\r\n lights = [];\r\n\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Tr2Lod\")\r\n lowestLodVisible = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n minScreenSize = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n sortValueOffset = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n sortValueScale = 1;\r\n\r\n @io.read\r\n @type.float32\r\n currentScreenSize = -1;\r\n\r\n @io.read\r\n @type.float32\r\n currentInstanceScreenSize = -1;\r\n\r\n @io.persist\r\n @type.boolean\r\n useSRT = true;\r\n\r\n @io.persist\r\n @type.boolean\r\n updateAnimation = true;\r\n\r\n // SOF-authored placement/instance values; persisted so the values\r\n // interchange reproduces Carbon's hidden child placement state.\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Origin\")\r\n origin = 0;\r\n\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.array(\"mat4\")\r\n instanceTransforms = [];\r\n\r\n @io.persist\r\n @type.string\r\n sofDna = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofParentHullName = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofLocatorSetName = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofLocatorIndex = \"\";\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n if (this.staticTransform)\r\n {\r\n this.RebuildLocalTransform();\r\n }\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n Setup(scale = null, rotation = null, translation = null, lowestLodVisible = null)\r\n {\r\n super.Setup(scale, rotation, translation, lowestLodVisible);\r\n if (lowestLodVisible !== null && lowestLodVisible !== undefined)\r\n {\r\n this.lowestLodVisible = Number(lowestLodVisible) | 0;\r\n }\r\n return this.localTransform;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetInstanceTransforms(instances)\r\n {\r\n const next = [];\r\n for (const transform of instances ?? [])\r\n {\r\n if (!transform || transform.length !== 16)\r\n {\r\n throw new TypeError(\"EveChildMesh instance transforms must contain 16 values\");\r\n }\r\n next.push(mat4.clone(transform));\r\n }\r\n this.instanceTransforms = next;\r\n return this.instanceTransforms;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetInstanceTransforms()\r\n {\r\n return this.instanceTransforms;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetMesh(mesh)\r\n {\r\n this.mesh = mesh ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetOrigin(origin)\r\n {\r\n this.origin = Number(origin) | 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetScale(scale)\r\n {\r\n vec3.copy(this.scaling, scale);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetReflectionMode(mode)\r\n {\r\n this.reflectionMode = Number(mode) | 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetCastShadow(castShadow)\r\n {\r\n this.castShadow = !!castShadow;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetMinScreenSize(minScreenSize)\r\n {\r\n this.minScreenSize = Number(minScreenSize);\r\n }\r\n\r\n /** Carbon EveChildMesh::GetLocalToWorldTransform (cpp:1047-1050); the\r\n * optional out follows the EveChildInstancedMeshes copy-out shape. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalToWorldTransform(out = null)\r\n {\r\n if (out)\r\n {\r\n return mat4.copy(out, this.worldTransform);\r\n }\r\n return this.worldTransform;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddTransformModifier(modifier)\r\n {\r\n this.transformModifiers.push(modifier);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddDecal(decal)\r\n {\r\n this.decals.push(decal);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddAttachment(attachment)\r\n {\r\n this.attachments.push(attachment);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n ClearAttachments()\r\n {\r\n this.attachments.length = 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddLight(light)\r\n {\r\n this.lights.push(light);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n ClearLights()\r\n {\r\n this.lights.length = 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n IsAlwaysOn()\r\n {\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetShaderOption(name, value)\r\n {\r\n this.mesh?.SetShaderOption?.(name, value);\r\n for (const decal of this.decals)\r\n {\r\n decal?.SetShaderOption?.(name, value);\r\n }\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.SetShaderOption?.(name, value);\r\n }\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetMorphTargetNames()\r\n {\r\n return this.mesh?.GetMorphTargetNames?.() ?? [];\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetMorphTargetWeight(name, weight)\r\n {\r\n this.mesh?.SetMorphTargetWeight?.(name, weight);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetMorphTargetWeight(name)\r\n {\r\n return this.mesh?.GetMorphTargetWeight?.(name) ?? 0;\r\n }\r\n\r\n /** Rebuilds the source-backed indexed morph buffer from manual and animation weights. */\r\n @impl.adapted\r\n UpdateMorphAnimationBuffer()\r\n {\r\n const names = this.mesh?.GetMorphTargetNames?.();\r\n\r\n this.#morphAnimationOffsets = {\r\n runtimeEvaluatedOffset: 0,\r\n runtimeEvaluatedCount: 0,\r\n bakedOffset: 0,\r\n bakedCount: 0,\r\n allCount: 0\r\n };\r\n\r\n if (!Array.isArray(names))\r\n {\r\n this.#morphAnimationBuffer = [];\r\n return 0;\r\n }\r\n\r\n const manual = this.mesh?.GetMorphAnimations?.();\r\n const records = names.map((name, index) => ({\r\n index,\r\n weight: ReadMorphWeight(\r\n ReadNamedMorph(manual, name) ?? this.mesh?.GetMorphTargetWeight?.(name) ?? 0,\r\n name,\r\n \"mesh\"\r\n ),\r\n baked: !!(this.mesh?.IsBakedMorph?.(index)\r\n ?? this.mesh?.GetBakedMorphTarget?.(name)\r\n ?? false)\r\n }));\r\n\r\n if (this.animationUpdater?.IsInitialized?.())\r\n {\r\n const animated = this.animationUpdater.GetMorphAnimations?.();\r\n\r\n for (const record of records)\r\n {\r\n const name = names[record.index];\r\n const value = ReadNamedMorph(animated, name);\r\n\r\n if (value !== undefined)\r\n {\r\n record.weight = ReadMorphWeight(value, name, \"animation\");\r\n }\r\n }\r\n }\r\n\r\n const runtime = [];\r\n const baked = [];\r\n const inactive = [];\r\n\r\n for (const record of records)\r\n {\r\n if (record.weight >= 0.001)\r\n {\r\n (record.baked ? baked : runtime).push(record);\r\n }\r\n else\r\n {\r\n inactive.push(record);\r\n }\r\n }\r\n\r\n this.#morphAnimationBuffer = [ ...runtime, ...baked, ...inactive ];\r\n this.#morphAnimationOffsets.runtimeEvaluatedCount = runtime.length;\r\n this.#morphAnimationOffsets.bakedOffset = runtime.length;\r\n this.#morphAnimationOffsets.bakedCount = baked.length;\r\n this.#morphAnimationOffsets.allCount = runtime.length + baked.length;\r\n return this.#morphAnimationOffsets.allCount;\r\n }\r\n\r\n /** Returns detached active indexed morph records for the native filter. */\r\n @impl.adapted\r\n GetMorphTargets(filter = 2)\r\n {\r\n const normalized = NormalizeMorphFilter(filter);\r\n let offset = 0;\r\n let count = 0;\r\n\r\n if (normalized === 2)\r\n {\r\n count = this.#morphAnimationOffsets.allCount;\r\n }\r\n else if (normalized === 0)\r\n {\r\n offset = this.#isMorphsBaked\r\n ? this.#morphAnimationOffsets.runtimeEvaluatedOffset\r\n : 0;\r\n count = this.#isMorphsBaked\r\n ? this.#morphAnimationOffsets.runtimeEvaluatedCount\r\n : this.#morphAnimationOffsets.allCount;\r\n }\r\n else\r\n {\r\n offset = this.#morphAnimationOffsets.bakedOffset;\r\n count = this.#morphAnimationOffsets.bakedCount;\r\n }\r\n\r\n return this.#morphAnimationBuffer.slice(offset, offset + count)\r\n .map(value => ({ index: value.index, weight: value.weight }));\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetSofSourceLocator()\r\n {\r\n return null;\r\n }\r\n\r\n /**\r\n * Sync-side frame update (Carbon EveChildMesh::UpdateSyncronous,\r\n * cpp:1002-1045). Carbon's body is entirely audio-geometry registration\r\n * (cpp:1004-1010, 1044 - engine/audio-owned, omitted) plus animationUpdater\r\n * re-binding and PrePhysicsAnimation stepping (cpp:1011-1042 - skipped: the\r\n * JS animation seam is absent, there is no Tr2GrannyAnimation runtime), so\r\n * the port is a documented frame-contract no-op.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Audio-geometry registration is engine-owned and the animationUpdater branches await the JS animation seam; nothing else remains in Carbon's body.\")\r\n UpdateSyncronous(_updateContext, _params)\r\n {\r\n }\r\n\r\n /**\r\n * Per-frame async update (Carbon EveChildMesh::UpdateAsyncronous,\r\n * cpp:903-1000): rebuild the world transform from the parent, fold the\r\n * transform modifiers over it, store the activation strength, refresh the\r\n * attachment lights, the morph buffer, and the world bounds. The GPU ring\r\n * buffer advance/per-object-data invalidation (cpp:905-909), audio geometry\r\n * (cpp:920-930), parent VS/PS struct refresh (cpp:932-960), and the skinned\r\n * GetBounds overload are not modelled, hence @impl.adapted.\r\n * @param {Object} updateContext - frame context (EveUpdateContext), threaded to modifiers\r\n * @param {EveChildUpdateParams} params - localToWorldTransform + boneCount/bones\r\n * @returns {Float32Array} worldTransform\r\n */\r\n @carbon.method\r\n @carbon.contextual([\"camera\"])\r\n @impl.adapted\r\n UpdateAsyncronous(updateContext, params)\r\n {\r\n const parentTransform = params?.localToWorldTransform;\r\n\r\n if (parentTransform && parentTransform.length === 16)\r\n {\r\n this.UpdateTransform(parentTransform);\r\n }\r\n\r\n applyTransformModifiers(\r\n this,\r\n updateContext,\r\n params?.boneCount ?? 0,\r\n params?.bones ?? null\r\n );\r\n\r\n this.#activationStrength = Number(params?.activationStrength ?? 1);\r\n\r\n // Carbon (cpp:962-970): attachments refresh their lights from the updated\r\n // world transform. Bones come from GetBoneTransforms (animationUpdater) -\r\n // null until the JS animation seam exists.\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.UpdateLights?.(this.worldTransform, null, 0, this.#activationStrength, 0);\r\n }\r\n\r\n this.UpdateMorphAnimationBuffer();\r\n\r\n // Carbon (cpp:974-997): world AABB from the mesh bounds, world sphere\r\n // enclosing it. The skinned GetBounds overload (animation transforms +\r\n // morph targets, cpp:977-982) awaits the animation seam; Tr2MeshBase::\r\n // GetBounds itself is a recorded gap (CARBON-PARITY-REVIEW-2026-07-23.md\r\n // section 2.3), hence the duck call (Tr2InstancedMesh implements it).\r\n this.#worldBoundsValid = false;\r\n const bounds = this.mesh?.GetBounds?.();\r\n\r\n if (bounds?.min && bounds?.max)\r\n {\r\n this.#worldBoundsMin[0] = this.#worldBoundsMin[1] = this.#worldBoundsMin[2] = Infinity;\r\n this.#worldBoundsMax[0] = this.#worldBoundsMax[1] = this.#worldBoundsMax[2] = -Infinity;\r\n for (let index = 0; index < 8; index++)\r\n {\r\n vec3.set(\r\n BOX_CORNER_SCRATCH,\r\n index & 1 ? bounds.max[0] : bounds.min[0],\r\n index & 2 ? bounds.max[1] : bounds.min[1],\r\n index & 4 ? bounds.max[2] : bounds.min[2]\r\n );\r\n vec3.transformMat4(BOX_CORNER_SCRATCH, BOX_CORNER_SCRATCH, this.worldTransform);\r\n vec3.min(this.#worldBoundsMin, this.#worldBoundsMin, BOX_CORNER_SCRATCH);\r\n vec3.max(this.#worldBoundsMax, this.#worldBoundsMax, BOX_CORNER_SCRATCH);\r\n }\r\n this.#worldBoundsValid = true;\r\n sph3.fromBounds(this.#worldBoundingSphere, this.#worldBoundsMin, this.#worldBoundsMax);\r\n }\r\n else\r\n {\r\n sph3.set(this.#worldBoundingSphere, 0, 0, 0, 0);\r\n }\r\n\r\n this.#hasUpdated = true;\r\n return this.worldTransform;\r\n }\r\n\r\n /**\r\n * Frame visibility + LOD state (Carbon EveChildMesh::UpdateVisibility,\r\n * cpp:366-463): screen size via the frustum, invLodFactor scaling, the\r\n * minScreenSize/lowestLodVisible gates, the per-instance visibility gate,\r\n * and the attachment/decal visibility fan-out. Carbon recomputes the local\r\n * mesh bounds here (cpp:380-394) but consumes only the world sphere/box\r\n * computed in UpdateAsyncronous, so the dead recompute is skipped. The\r\n * raytracing branch (cpp:450-462) is engine-owned and omitted.\r\n * @param {Object} updateContext - frame context (frustum + invLodFactor ducks)\r\n * @param {Float32Array} _parentTransform\r\n * @param {Number} parentLod - parent Tr2Lod level\r\n * @returns {Boolean} isVisible\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Bone-fed decal/attachment bounds await the animation seam and the raytracing refresh is engine-owned; the LOD/screen-size math is ported.\")\r\n UpdateVisibility(updateContext, _parentTransform = null, parentLod = Tr2Lod.TR2_LOD_HIGH)\r\n {\r\n this.#isVisible = false;\r\n this.currentScreenSize = -1;\r\n this.#instancesVisible = false;\r\n this.currentInstanceScreenSize = -1;\r\n\r\n if (!this.#hasUpdated)\r\n {\r\n return false;\r\n }\r\n\r\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\r\n const invLodFactor = Number(updateContext?.GetInvLodFactor?.() ?? updateContext?.invLodFactor) || 1;\r\n\r\n if (this.mesh)\r\n {\r\n this.currentScreenSize = Number(frustum?.GetPixelSizeAccross?.(this.#worldBoundingSphere) ?? Infinity) || 0;\r\n\r\n // Cached Tr2InstancedMesh downcast in Carbon (m_instancedMesh); the JS\r\n // port duck-types the instanced surface instead.\r\n const instanced = typeof this.mesh.GetInstanceBoundsClosestToPoint === \"function\";\r\n let instanceBounds = null;\r\n\r\n if (instanced)\r\n {\r\n // Carbon: TransformCoord(frustum.m_viewPos, Inverse(m_worldTransform))\r\n // - a single-matrix point transform (no composition; TransformCoord\r\n // maps to vec3.transformMat4 unchanged per the math conventions).\r\n if (!mat4.invert(INVERSE_WORLD_SCRATCH, this.worldTransform))\r\n {\r\n mat4.identity(INVERSE_WORLD_SCRATCH);\r\n }\r\n const viewPos = frustum?.m_viewPos ?? frustum?.viewPos ?? frustum?.GetViewPosition?.() ?? ZERO_VEC3;\r\n vec3.transformMat4(LOCAL_VIEW_SCRATCH, viewPos, INVERSE_WORLD_SCRATCH);\r\n instanceBounds = this.mesh.GetInstanceBoundsClosestToPoint(LOCAL_VIEW_SCRATCH);\r\n }\r\n\r\n if (instanceBounds)\r\n {\r\n // Carbon: instanceBounds.Transform(m_worldTransform) - single-matrix\r\n // sphere transform, ported via sph3.transformMat4.\r\n sph3.set(\r\n INSTANCE_SPHERE_SCRATCH,\r\n instanceBounds.center[0],\r\n instanceBounds.center[1],\r\n instanceBounds.center[2],\r\n instanceBounds.radius\r\n );\r\n sph3.transformMat4(INSTANCE_SPHERE_SCRATCH, INSTANCE_SPHERE_SCRATCH, this.worldTransform);\r\n this.currentInstanceScreenSize = Number(frustum?.GetPixelSizeAccross?.(INSTANCE_SPHERE_SCRATCH) ?? Infinity) || 0;\r\n this.mesh.UseWithScreenSize?.(this.currentInstanceScreenSize, INSTANCE_SPHERE_SCRATCH[3]);\r\n }\r\n else\r\n {\r\n // Carbon uses std::numeric_limits<float>::max(); Infinity keeps the\r\n // instance gate permanently open the same way.\r\n this.currentInstanceScreenSize = Infinity;\r\n this.mesh.UseWithScreenSize?.(this.currentScreenSize, this.#worldBoundingSphere[3]);\r\n }\r\n\r\n this.currentScreenSize *= invLodFactor;\r\n this.currentInstanceScreenSize *= invLodFactor;\r\n\r\n BOX_QUERY_SCRATCH.min = this.#worldBoundsMin;\r\n BOX_QUERY_SCRATCH.max = this.#worldBoundsMax;\r\n const boxVisible = this.#worldBoundsValid &&\r\n (frustum?.IsBoxVisible ? !!frustum.IsBoxVisible(BOX_QUERY_SCRATCH) : true);\r\n\r\n if (boxVisible)\r\n {\r\n this.#isVisible = parentLod >= this.lowestLodVisible && this.currentScreenSize >= this.minScreenSize;\r\n this.#instancesVisible = this.#isVisible &&\r\n this.currentInstanceScreenSize >= EveChildMesh.#instanceScreenSizeThreshold;\r\n }\r\n }\r\n\r\n // Carbon (cpp:427-435): attachments always refresh visibility; bones from\r\n // GetBoneTransforms await the animation seam.\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.UpdateVisibility?.(updateContext, this.worldTransform, null, 0);\r\n }\r\n\r\n if (this.#isVisible)\r\n {\r\n for (const decal of this.decals)\r\n {\r\n // Carbon (cpp:441-446) feeds animated bone matrices to the decal first\r\n // - skipped until the JS animation seam exists. Carbon passes\r\n // &m_parentData (per-object shading struct, GPU seam); the owning\r\n // child stands in as the duck-typed parent.\r\n decal?.UpdateVisibility?.(updateContext, this);\r\n }\r\n }\r\n\r\n return this.#isVisible;\r\n }\r\n\r\n /**\r\n * Collects this child (and its decals) as renderables (Carbon\r\n * EveChildMesh::GetRenderables, cpp:571-616): instanced meshes contribute\r\n * only while the per-instance gate passed; decals ride along through their\r\n * duck-typed renderable collectors (mesh cache is engine-owned, passed null\r\n * as in EveSpaceObject2.GetRenderables).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The decal mesh cache is engine-owned (null placeholder); collection structure is ported.\")\r\n GetRenderables(out = [])\r\n {\r\n if (!this.#isVisible)\r\n {\r\n return out;\r\n }\r\n\r\n const instanced = typeof this.mesh?.GetInstanceBoundsClosestToPoint === \"function\";\r\n\r\n if (instanced)\r\n {\r\n if (this.#instancesVisible)\r\n {\r\n out.push(this);\r\n if (this.decals.length && this.mesh.GetGeometryResource?.())\r\n {\r\n for (const decal of this.decals)\r\n {\r\n decal?.GetInstancedRenderables?.(out, null, this.mesh, this.currentInstanceScreenSize);\r\n }\r\n }\r\n }\r\n }\r\n else\r\n {\r\n out.push(this);\r\n const geometryResource = this.mesh?.GetGeometryResource?.();\r\n if (this.decals.length && geometryResource)\r\n {\r\n for (const decal of this.decals)\r\n {\r\n decal?.GetRenderables?.(out, null, geometryResource, this.currentScreenSize);\r\n }\r\n }\r\n }\r\n\r\n return out;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetBoundingSphere (cpp:618-627): the realized world\r\n * sphere, valid only after an update produced bounds (radius > 0). */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(out = vec4.create(), _query = 0)\r\n {\r\n if (this.#worldBoundingSphere[3] > 0)\r\n {\r\n vec4.copy(out, this.#worldBoundingSphere);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::HasTransparentBatches (cpp:629-637). */\r\n @carbon.method\r\n @impl.implemented\r\n HasTransparentBatches()\r\n {\r\n if (this.display && this.mesh)\r\n {\r\n return (this.mesh.GetAreas?.(TriBatchType.TRIBATCHTYPE_TRANSPARENT)?.length ?? 0) > 0;\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::IsVisible (cpp:639-650): sphere-in-frustum plus the\r\n * estimated pixel size against the context visibility threshold. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Frustum and threshold arrive via the duck-typed update context instead of renderer state.\")\r\n IsVisible(updateContext)\r\n {\r\n if (this.#worldBoundingSphere[3] > 0)\r\n {\r\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\r\n if (frustum?.IsSphereVisible?.(this.#worldBoundingSphere) !== false)\r\n {\r\n const method = frustum?.GetPixelSizeAccrossEst ?? frustum?.GetPixelSizeAccross;\r\n const size = Number(typeof method === \"function\" ? method.call(frustum, this.#worldBoundingSphere) : 0) || 0;\r\n const threshold = Number(updateContext?.GetVisibilityThreshold?.() ?? updateContext?.visibilityThreshold) || 0;\r\n return size >= threshold;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetBatches (cpp:652-670): the mesh delegates per\r\n * batch type and activated attachments recurse. Carbon also passes\r\n * min(currentInstanceScreenSize, currentScreenSize) for LOD selection and a\r\n * reverse-winding flag from Determinant(m_worldTransform) < 0; both are\r\n * resolved by the engine at batch realization in the GPU-free port.\r\n * Returns whether any batch was committed (JS addition; Carbon returns\r\n * void). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Screen-size LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.\")\r\n GetBatches(batches, batchType, perObjectData, reason = Tr2RenderReason.TR2RENDERREASON_NORMAL)\r\n {\r\n if (!this.display)\r\n {\r\n return false;\r\n }\r\n\r\n let committed = false;\r\n\r\n if (this.mesh)\r\n {\r\n committed = this.mesh.GetBatches(batches, this.mesh.GetAreas(batchType), perObjectData) === true;\r\n }\r\n\r\n if (this.#activationStrength !== 0)\r\n {\r\n for (const attachment of this.attachments)\r\n {\r\n committed = attachment?.GetBatches?.(batches, batchType, perObjectData, reason) === true || committed;\r\n }\r\n }\r\n\r\n return committed;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetShadowBatches (cpp:672-681): the OPAQUE areas\r\n * only, gated on display/mesh/hasUpdated. shadowPixelSize and the\r\n * reverse-winding flag are engine-resolved at realization. Returns whether\r\n * any batch was committed (JS addition; Carbon returns void). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"shadowPixelSize LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.\")\r\n GetShadowBatches(batches, perObjectData, _shadowPixelSize)\r\n {\r\n if (this.display && this.mesh && this.#hasUpdated)\r\n {\r\n return this.mesh.GetBatches(batches, this.mesh.GetAreas(TriBatchType.TRIBATCHTYPE_OPAQUE), perObjectData) === true;\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetSortValue (cpp:787-792): view distance scaled by\r\n * sortValueScale plus sortValueOffset. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon reads the Tr2Renderer view-position global; the relocated camera state arrives via the threaded render context.\")\r\n GetSortValue(renderContext = null)\r\n {\r\n const viewPosition = renderContext?.GetViewPosition?.();\r\n const x = (viewPosition?.[0] ?? 0) - this.worldTransform[12];\r\n const y = (viewPosition?.[1] ?? 0) - this.worldTransform[13];\r\n const z = (viewPosition?.[2] ?? 0) - this.worldTransform[14];\r\n return Math.hypot(x, y, z) * this.sortValueScale + this.sortValueOffset;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetShadowPerObjectData (cpp:794-797) forwards the\r\n * shadow pass to the same per-object record. */\r\n @carbon.method\r\n @impl.implemented\r\n GetShadowPerObjectData(accumulator = null)\r\n {\r\n return this.GetPerObjectData(accumulator);\r\n }\r\n\r\n /** Carbon EveChildMesh::GetPerObjectData (cpp:799-843) uploads bone/morph\r\n * ring-buffer offsets and allocates Tr2PerObjectDataWithPersistentBuffers;\r\n * those fills are GPU ring-buffer state, so the GPU-free record carries the\r\n * live object reference for the engine serializer to pull current values at\r\n * realization (mirrors EveSpaceObject2.GetPerObjectData). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Persistent VS/PS device buffers and bone/morph ring offsets are engine-owned; the record carries the object reference the engine serializer consumes.\")\r\n GetPerObjectData(accumulator = null)\r\n {\r\n const data = typeof accumulator?.Allocate === \"function\"\r\n ? accumulator.Allocate(Tr2PerObjectData)\r\n : new Tr2PerObjectData();\r\n data.object = this;\r\n return data;\r\n }\r\n\r\n /**\r\n * Carbon's two IsCastingShadow overloads, dispatched on the second argument:\r\n * a position vector (length >= 3) selects the sphere-overlap overload\r\n * (cpp:338-364); anything else is the shadow-frustum overload (cpp:295-336),\r\n * whose Carbon out-param float& sizeInShadow becomes the optional trailing\r\n * length-1 array (out-params last).\r\n * @param {Object} cameraFrustum\r\n * @param {Object|Float32Array} shadowFrustumOrPosition\r\n * @param {Number} renderReasonOrRadius\r\n * @param {Array|Number} sizeInShadowOutOrRenderReason\r\n * @returns {Boolean}\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Overload dispatch by argument shape and a length-1 out array replace C++ overloading and the float& out-param; the shadow math is ported.\")\r\n IsCastingShadow(cameraFrustum, shadowFrustumOrPosition, renderReasonOrRadius, sizeInShadowOutOrRenderReason = null)\r\n {\r\n if (!this.display || !this.castShadow || !this.#hasUpdated)\r\n {\r\n return false;\r\n }\r\n\r\n const positionOverload = typeof shadowFrustumOrPosition?.length === \"number\" &&\r\n shadowFrustumOrPosition.length >= 3;\r\n const renderReason = positionOverload\r\n ? Number(sizeInShadowOutOrRenderReason ?? Tr2RenderReason.TR2RENDERREASON_NORMAL)\r\n : Number(renderReasonOrRadius ?? Tr2RenderReason.TR2RENDERREASON_NORMAL);\r\n\r\n if (renderReason === Tr2RenderReason.TR2RENDERREASON_REFLECTION &&\r\n !ShouldReflect(this.reflectionMode))\r\n {\r\n return false;\r\n }\r\n\r\n if (positionOverload)\r\n {\r\n // Carbon (cpp:338-364): squared distance between the world sphere and\r\n // the query sphere against their combined radius.\r\n if (!this.GetBoundingSphere(SHADOW_SPHERE_SCRATCH))\r\n {\r\n return false;\r\n }\r\n const position = shadowFrustumOrPosition;\r\n const radius = Number(renderReasonOrRadius) || 0;\r\n const dx = SHADOW_SPHERE_SCRATCH[0] - position[0];\r\n const dy = SHADOW_SPHERE_SCRATCH[1] - position[1];\r\n const dz = SHADOW_SPHERE_SCRATCH[2] - position[2];\r\n const combined = radius + SHADOW_SPHERE_SCRATCH[3];\r\n return dx * dx + dy * dy + dz * dz - combined * combined < 0;\r\n }\r\n\r\n // Carbon (cpp:295-336): shadow-frustum visibility, then the size in the\r\n // shadow map from the instance sphere nearest the shadow eye (falling back\r\n // to the whole world sphere).\r\n const shadowFrustum = shadowFrustumOrPosition;\r\n const sizeOut = sizeInShadowOutOrRenderReason;\r\n if (sizeOut)\r\n {\r\n sizeOut[0] = 0;\r\n }\r\n\r\n if (this.#worldBoundingSphere[3] <= 0)\r\n {\r\n return false;\r\n }\r\n\r\n let sizeInShadow = 0;\r\n if (shadowFrustum?.IsVisible?.(cameraFrustum, this.#worldBoundingSphere))\r\n {\r\n let sphere = this.#worldBoundingSphere;\r\n if (typeof this.mesh?.GetInstanceBoundsClosestToPoint === \"function\")\r\n {\r\n // Carbon: TransformCoord(shadowFrustum.GetEyePos(), Inverse(\r\n // m_worldTransform)) - single-matrix point transform (no composition).\r\n if (!mat4.invert(INVERSE_WORLD_SCRATCH, this.worldTransform))\r\n {\r\n mat4.identity(INVERSE_WORLD_SCRATCH);\r\n }\r\n const eyePos = shadowFrustum?.GetEyePos?.() ?? ZERO_VEC3;\r\n vec3.transformMat4(LOCAL_VIEW_SCRATCH, eyePos, INVERSE_WORLD_SCRATCH);\r\n const instanceBounds = this.mesh.GetInstanceBoundsClosestToPoint(LOCAL_VIEW_SCRATCH);\r\n if (instanceBounds)\r\n {\r\n // Carbon: instanceBounds.Transform(m_worldTransform) - single-matrix\r\n // sphere transform.\r\n sph3.set(\r\n INSTANCE_SPHERE_SCRATCH,\r\n instanceBounds.center[0],\r\n instanceBounds.center[1],\r\n instanceBounds.center[2],\r\n instanceBounds.radius\r\n );\r\n sph3.transformMat4(INSTANCE_SPHERE_SCRATCH, INSTANCE_SPHERE_SCRATCH, this.worldTransform);\r\n sphere = INSTANCE_SPHERE_SCRATCH;\r\n }\r\n }\r\n sizeInShadow = Number(shadowFrustum?.GetSizeInShadow?.(sphere)) || 0;\r\n }\r\n\r\n if (sizeOut)\r\n {\r\n sizeOut[0] = sizeInShadow;\r\n }\r\n return sizeInShadow > 5;\r\n }\r\n\r\n /** Carbon EveChildMesh::ChangeLOD (cpp:1052-1054) is an intentional no-op. */\r\n @carbon.method\r\n @impl.implemented\r\n ChangeLOD(_lod)\r\n {\r\n }\r\n\r\n /** Carbon EveChildMesh::RegisterComponents (cpp:239-269): LightOwner when\r\n * lights are authored; ReflectionRenderable (ShouldReflect) and ShadowCaster\r\n * (castShadow) only when a mesh is present; then forwards the attachments.\r\n * Gate m_display. \"MeshMorph\" stays OUT-OF-BAND: Carbon registers it at\r\n * baked-morph need inside BakeMorphs (cpp:1404-1409), not here - the JS\r\n * BakeMorphs stub is the site that would register it when the GPU morph\r\n * bake is ported. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.display)\r\n {\r\n if (this.lights.length)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n\r\n if (this.mesh !== null)\r\n {\r\n if (ShouldReflect(this.reflectionMode))\r\n {\r\n registry.RegisterComponent(EveComponentType.ReflectionRenderable, this);\r\n }\r\n if (this.castShadow)\r\n {\r\n registry.RegisterComponent(EveComponentType.ShadowCaster, this);\r\n }\r\n }\r\n\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.Register?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildMesh::UnRegisterComponents (cpp:275-290): forwards the\r\n * attachments only (own components were already removed by\r\n * EveEntity::UnRegister, EveEntity.cpp:90); no display re-check.\r\n * UnregisterAudioGeometry (cpp:277) is audio-engine-owned and unported. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.UnRegister?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildMesh::GetLights (cpp:1638-1667): submits m_lights to the\r\n * light manager. Awaits the LightOwner consumption pass (Tr2LightManager\r\n * submission is unported); presence satisfies the \"LightOwner\" duck\r\n * contract. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetLights(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.GetLights is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon EveChildMesh::GetPickingBatches (cpp:862-889) maps Tr2PickTypes\r\n * flags onto batch-type collections with transparent/additive special\r\n * casing; the pick-type flag enum is not yet ported, so the surface fails\r\n * loudly rather than mis-collecting. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetPickingBatches(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.GetPickingBatches is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon EveChildMesh::InitializeAnimation (cpp:217-232) wires the\r\n * animationUpdater to the mesh geometry resource; awaits the JS animation\r\n * seam (no Tr2GrannyAnimation runtime). */\r\n @carbon.method\r\n @impl.notImplemented\r\n InitializeAnimation(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.InitializeAnimation is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon BakeMorphs runs the merge-morphs GPU compute pass; GPU-owned. */\r\n @carbon.method\r\n @impl.notImplemented\r\n BakeMorphs(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.BakeMorphs is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon UnbakeMorphs releases the baked-morph GPU allocation; GPU-owned. */\r\n @carbon.method\r\n @impl.notImplemented\r\n UnbakeMorphs(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.UnbakeMorphs is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon IsMeshBaked reads the baked-morph GPU allocation state; GPU-owned. */\r\n @carbon.method\r\n @impl.notImplemented\r\n IsMeshBaked(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.IsMeshBaked is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n // Carbon s_instanceScreenSizeThreshold (EveChildMesh.cpp:22).\r\n static #instanceScreenSizeThreshold = 1;\r\n\r\n static Origin = Origin;\r\n\r\n static ReflectionMode = ReflectionMode;\r\n\r\n static Tr2Lod = Tr2Lod;\r\n\r\n}\r\n\r\nfunction ReadNamedMorph(values, name)\r\n{\r\n if (values instanceof Map)\r\n {\r\n return values.has(name) ? values.get(name) : undefined;\r\n }\r\n\r\n if (values && typeof values === \"object\" && Object.hasOwn(values, name))\r\n {\r\n return values[name];\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction ReadMorphWeight(value, name, source)\r\n{\r\n const weight = Number(value && typeof value === \"object\" ? value.weight : value);\r\n\r\n if (!Number.isFinite(weight))\r\n {\r\n throw new TypeError(`EveChildMesh ${source} morph target \"${name}\" weight must be finite`);\r\n }\r\n\r\n return weight;\r\n}\r\n\r\nfunction NormalizeMorphFilter(value)\r\n{\r\n if (typeof value === \"string\")\r\n {\r\n const normalized = value.toLowerCase();\r\n if (normalized === \"runtime\" || normalized === \"runtime_evaluated\") return 0;\r\n if (normalized === \"baked\") return 1;\r\n if (normalized === \"all\") return 2;\r\n }\r\n\r\n const filter = Number(value);\r\n if (filter === 0 || filter === 1 || filter === 2) return filter;\r\n throw new TypeError(`Unsupported EveChildMesh morph target filter \"${value}\"`);\r\n}\r\n"],"names":["INVERSE_WORLD_SCRATCH","mat4","create","LOCAL_VIEW_SCRATCH","vec3","INSTANCE_SPHERE_SCRATCH","vec4","SHADOW_SPHERE_SCRATCH","BOX_CORNER_SCRATCH","BOX_QUERY_SCRATCH","min","max","ZERO_VEC3","_EveChildMesh","_identity","EveChildMesh","EveChildTransform","e","_init_reflectionMode","_init_extra_reflectionMode","_init_transformModifiers","_init_extra_transformModifiers","_init_worldTransform","_init_extra_worldTransform","_init_display","_init_extra_display","_init_castShadow","_init_extra_castShadow","_init_mesh","_init_extra_mesh","_init_name","_init_extra_name","_init_rotation","_init_extra_rotation","_init_translation","_init_extra_translation","_init_scaling","_init_extra_scaling","_init_localTransform","_init_extra_localTransform","_init_decals","_init_extra_decals","_init_staticTransform","_init_extra_staticTransform","_init_animationUpdater","_init_extra_animationUpdater","_init_attachments","_init_extra_attachments","_init_lights","_init_extra_lights","_init_lowestLodVisible","_init_extra_lowestLodVisible","_init_minScreenSize","_init_extra_minScreenSize","_init_sortValueOffset","_init_extra_sortValueOffset","_init_sortValueScale","_init_extra_sortValueScale","_init_currentScreenSize","_init_extra_currentScreenSize","_init_currentInstanceScreenSize","_init_extra_currentInstanceScreenSize","_init_useSRT","_init_extra_useSRT","_init_updateAnimation","_init_extra_updateAnimation","_init_origin","_init_extra_origin","_init_instanceTransforms","_init_extra_instanceTransforms","_init_sofDna","_init_extra_sofDna","_init_sofParentHullName","_init_extra_sofParentHullName","_init_sofLocatorSetName","_init_extra_sofLocatorSetName","_init_sofLocatorIndex","_init_extra_sofLocatorIndex","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","schema","enum","list","read","boolean","objectRef","string","quat","float32","rebuild","array","carbon","method","impl","adapted","implemented","reason","contextual","notImplemented","constructor","args","runtimeEvaluatedOffset","runtimeEvaluatedCount","bakedOffset","bakedCount","allCount","reflectionMode","transformModifiers","worldTransform","display","castShadow","mesh","name","rotation","translation","scaling","fromValues","localTransform","decals","staticTransform","animationUpdater","attachments","lights","lowestLodVisible","minScreenSize","sortValueOffset","sortValueScale","currentScreenSize","currentInstanceScreenSize","useSRT","updateAnimation","origin","instanceTransforms","sofDna","sofParentHullName","sofLocatorSetName","sofLocatorIndex","Initialize","RebuildLocalTransform","Setup","scale","undefined","Number","SetInstanceTransforms","instances","next","transform","length","TypeError","push","clone","GetInstanceTransforms","SetMesh","SetOrigin","SetScale","copy","SetReflectionMode","mode","SetCastShadow","SetMinScreenSize","GetLocalToWorldTransform","out","GetName","SetName","String","AddTransformModifier","modifier","AddDecal","decal","AddAttachment","attachment","ClearAttachments","AddLight","light","ClearLights","IsAlwaysOn","SetShaderOption","value","GetMorphTargetNames","SetMorphTargetWeight","weight","GetMorphTargetWeight","UpdateMorphAnimationBuffer","names","Array","isArray","manual","GetMorphAnimations","records","map","index","ReadMorphWeight","ReadNamedMorph","baked","IsBakedMorph","GetBakedMorphTarget","IsInitialized","animated","record","runtime","inactive","GetMorphTargets","filter","normalized","NormalizeMorphFilter","offset","count","slice","GetSofSourceLocator","UpdateSyncronous","_updateContext","_params","UpdateAsyncronous","updateContext","params","parentTransform","localToWorldTransform","UpdateTransform","applyTransformModifiers","boneCount","bones","activationStrength","UpdateLights","bounds","GetBounds","Infinity","set","transformMat4","sph3","fromBounds","UpdateVisibility","_parentTransform","parentLod","Tr2Lod","TR2_LOD_HIGH","frustum","GetFrustum","invLodFactor","GetInvLodFactor","GetPixelSizeAccross","instanced","GetInstanceBoundsClosestToPoint","instanceBounds","invert","identity","viewPos","m_viewPos","GetViewPosition","center","radius","UseWithScreenSize","boxVisible","IsBoxVisible","GetRenderables","GetGeometryResource","GetInstancedRenderables","geometryResource","GetBoundingSphere","_query","HasTransparentBatches","GetAreas","TriBatchType","TRIBATCHTYPE_TRANSPARENT","IsVisible","IsSphereVisible","GetPixelSizeAccrossEst","size","call","threshold","GetVisibilityThreshold","visibilityThreshold","GetBatches","batches","batchType","perObjectData","Tr2RenderReason","TR2RENDERREASON_NORMAL","committed","GetShadowBatches","_shadowPixelSize","TRIBATCHTYPE_OPAQUE","GetSortValue","renderContext","viewPosition","x","y","z","Math","hypot","GetShadowPerObjectData","accumulator","GetPerObjectData","data","Allocate","Tr2PerObjectData","object","IsCastingShadow","cameraFrustum","shadowFrustumOrPosition","renderReasonOrRadius","sizeInShadowOutOrRenderReason","positionOverload","renderReason","TR2RENDERREASON_REFLECTION","ShouldReflect","position","dx","dy","dz","combined","shadowFrustum","sizeOut","sizeInShadow","sphere","eyePos","GetEyePos","GetSizeInShadow","ChangeLOD","_lod","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","ReflectionRenderable","ShadowCaster","Register","UnRegisterComponents","UnRegister","GetLights","_args","Error","GetPickingBatches","InitializeAnimation","BakeMorphs","UnbakeMorphs","IsMeshBaked","Origin","ReflectionMode","values","Map","has","get","Object","hasOwn","source","isFinite","toLowerCase"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EveChildMesh.js","sources":["../../../../src/eve/child/EveChildMesh.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildMesh.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildMesh.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildMesh_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\r\nimport { sph3 } from \"@carbonenginejs/runtime-utils/sph3\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\r\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { TriBatchType } from \"@carbonenginejs/runtime-utils/graphics\";\r\nimport { EveChildTransform, applyTransformModifiers } from \"./EveChildTransform.js\";\r\nimport { Origin } from \"../../generated/eve/child/enums.js\";\r\nimport { ReflectionMode } from \"../../generated/eve/enums.js\";\r\nimport { EveComponentType, ShouldReflect } from \"../EveComponentTypes.js\";\r\nimport { Tr2RenderReason } from \"../../generated/trinityCore/enums.js\";\r\nimport { Tr2Lod } from \"../EveLODHelper.js\";\r\nimport { Tr2PerObjectData } from \"../../trinityCore/Tr2PerObjectData.js\";\r\n\r\n// Module scratch for the hot per-frame visibility/shadow paths (allocation\r\n// rules: copy-into, never allocate per call; child updates run sequentially so\r\n// the scratch is non-reentrant by construction).\r\nconst INVERSE_WORLD_SCRATCH = mat4.create();\r\nconst LOCAL_VIEW_SCRATCH = vec3.create();\r\nconst INSTANCE_SPHERE_SCRATCH = vec4.create();\r\nconst SHADOW_SPHERE_SCRATCH = vec4.create();\r\nconst BOX_CORNER_SCRATCH = vec3.create();\r\nconst BOX_QUERY_SCRATCH = { min: vec3.create(), max: vec3.create() };\r\nconst ZERO_VEC3 = vec3.create();\r\n\r\n\r\n@type.define({ className: \"EveChildMesh\", family: \"eve/child\" })\r\nexport class EveChildMesh extends EveChildTransform\r\n{\r\n #isMorphsBaked = false;\r\n\r\n #morphAnimationBuffer = [];\r\n\r\n #morphAnimationOffsets = {\r\n runtimeEvaluatedOffset: 0,\r\n runtimeEvaluatedCount: 0,\r\n bakedOffset: 0,\r\n bakedCount: 0,\r\n allCount: 0\r\n };\r\n\r\n // Carbon m_isVisible/m_instancesVisible/m_hasUpdated/m_activationStrength:\r\n // runtime-only frame state (never persisted; Carbon keeps them out of the\r\n // Blue surface too).\r\n #isVisible = false;\r\n\r\n #instancesVisible = false;\r\n\r\n #hasUpdated = false;\r\n\r\n #activationStrength = 1;\r\n\r\n // Carbon m_worldBoundingBox/m_worldBoundingSphere: world-space bounds\r\n // refreshed by UpdateAsyncronous; the sphere is invalid while radius <= 0.\r\n #worldBoundsMin = vec3.create();\r\n\r\n #worldBoundsMax = vec3.create();\r\n\r\n #worldBoundsValid = false;\r\n\r\n #worldBoundingSphere = vec4.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"ReflectionMode\")\r\n reflectionMode = 3;\r\n\r\n @io.persist\r\n @type.list(\"IEveChildTransformModifier\")\r\n transformModifiers = [];\r\n\r\n @io.read\r\n @type.mat4\r\n worldTransform = mat4.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n castShadow = false;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.objectRef(\"Tr2MeshBase\")\r\n mesh = null;\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\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 translation = vec3.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.mat4\r\n localTransform = mat4.create();\r\n\r\n @io.persist\r\n @type.list(\"EveSpaceObjectDecal\")\r\n decals = [];\r\n\r\n @io.persist\r\n @type.boolean\r\n staticTransform = false;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.objectRef(\"Tr2GrannyAnimation\")\r\n animationUpdater = null;\r\n\r\n @io.persist\r\n @type.list(\"IEveSpaceObjectAttachment\")\r\n attachments = [];\r\n\r\n @io.persist\r\n @type.list(\"Tr2Light\")\r\n lights = [];\r\n\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Tr2Lod\")\r\n lowestLodVisible = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n minScreenSize = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n sortValueOffset = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n sortValueScale = 1;\r\n\r\n @io.read\r\n @type.float32\r\n currentScreenSize = -1;\r\n\r\n @io.read\r\n @type.float32\r\n currentInstanceScreenSize = -1;\r\n\r\n @io.persist\r\n @type.boolean\r\n useSRT = true;\r\n\r\n @io.persist\r\n @type.boolean\r\n updateAnimation = true;\r\n\r\n // SOF-authored placement/instance values; persisted so the values\r\n // interchange reproduces Carbon's hidden child placement state.\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Origin\")\r\n origin = 0;\r\n\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.array(\"mat4\")\r\n instanceTransforms = [];\r\n\r\n @io.persist\r\n @type.string\r\n sofDna = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofParentHullName = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofLocatorSetName = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofLocatorIndex = \"\";\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n if (this.staticTransform)\r\n {\r\n this.RebuildLocalTransform();\r\n }\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n Setup(scale = null, rotation = null, translation = null, lowestLodVisible = null)\r\n {\r\n super.Setup(scale, rotation, translation, lowestLodVisible);\r\n if (lowestLodVisible !== null && lowestLodVisible !== undefined)\r\n {\r\n this.lowestLodVisible = Number(lowestLodVisible) | 0;\r\n }\r\n return this.localTransform;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetInstanceTransforms(instances)\r\n {\r\n const next = [];\r\n for (const transform of instances ?? [])\r\n {\r\n if (!transform || transform.length !== 16)\r\n {\r\n throw new TypeError(\"EveChildMesh instance transforms must contain 16 values\");\r\n }\r\n next.push(mat4.clone(transform));\r\n }\r\n this.instanceTransforms = next;\r\n return this.instanceTransforms;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetInstanceTransforms()\r\n {\r\n return this.instanceTransforms;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetMesh(mesh)\r\n {\r\n this.mesh = mesh ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetOrigin(origin)\r\n {\r\n this.origin = Number(origin) | 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetScale(scale)\r\n {\r\n vec3.copy(this.scaling, scale);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetReflectionMode(mode)\r\n {\r\n this.reflectionMode = Number(mode) | 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetCastShadow(castShadow)\r\n {\r\n this.castShadow = !!castShadow;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetMinScreenSize(minScreenSize)\r\n {\r\n this.minScreenSize = Number(minScreenSize);\r\n }\r\n\r\n /** Carbon EveChildMesh::GetLocalToWorldTransform (cpp:1047-1050); the\r\n * optional out follows the EveChildInstancedMeshes copy-out shape. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalToWorldTransform(out = null)\r\n {\r\n if (out)\r\n {\r\n return mat4.copy(out, this.worldTransform);\r\n }\r\n return this.worldTransform;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddTransformModifier(modifier)\r\n {\r\n this.transformModifiers.push(modifier);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddDecal(decal)\r\n {\r\n this.decals.push(decal);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddAttachment(attachment)\r\n {\r\n this.attachments.push(attachment);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n ClearAttachments()\r\n {\r\n this.attachments.length = 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddLight(light)\r\n {\r\n this.lights.push(light);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n ClearLights()\r\n {\r\n this.lights.length = 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n IsAlwaysOn()\r\n {\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetShaderOption(name, value)\r\n {\r\n this.mesh?.SetShaderOption?.(name, value);\r\n for (const decal of this.decals)\r\n {\r\n decal?.SetShaderOption?.(name, value);\r\n }\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.SetShaderOption?.(name, value);\r\n }\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetMorphTargetNames()\r\n {\r\n return this.mesh?.GetMorphTargetNames?.() ?? [];\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetMorphTargetWeight(name, weight)\r\n {\r\n this.mesh?.SetMorphTargetWeight?.(name, weight);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetMorphTargetWeight(name)\r\n {\r\n return this.mesh?.GetMorphTargetWeight?.(name) ?? 0;\r\n }\r\n\r\n /** Rebuilds the source-backed indexed morph buffer from manual and animation weights. */\r\n @impl.adapted\r\n UpdateMorphAnimationBuffer()\r\n {\r\n const names = this.mesh?.GetMorphTargetNames?.();\r\n\r\n this.#morphAnimationOffsets = {\r\n runtimeEvaluatedOffset: 0,\r\n runtimeEvaluatedCount: 0,\r\n bakedOffset: 0,\r\n bakedCount: 0,\r\n allCount: 0\r\n };\r\n\r\n if (!Array.isArray(names))\r\n {\r\n this.#morphAnimationBuffer = [];\r\n return 0;\r\n }\r\n\r\n const manual = this.mesh?.GetMorphAnimations?.();\r\n const records = names.map((name, index) => ({\r\n index,\r\n weight: ReadMorphWeight(\r\n ReadNamedMorph(manual, name) ?? this.mesh?.GetMorphTargetWeight?.(name) ?? 0,\r\n name,\r\n \"mesh\"\r\n ),\r\n baked: !!(this.mesh?.IsBakedMorph?.(index)\r\n ?? this.mesh?.GetBakedMorphTarget?.(name)\r\n ?? false)\r\n }));\r\n\r\n if (this.animationUpdater?.IsInitialized?.())\r\n {\r\n const animated = this.animationUpdater.GetMorphAnimations?.();\r\n\r\n for (const record of records)\r\n {\r\n const name = names[record.index];\r\n const value = ReadNamedMorph(animated, name);\r\n\r\n if (value !== undefined)\r\n {\r\n record.weight = ReadMorphWeight(value, name, \"animation\");\r\n }\r\n }\r\n }\r\n\r\n const runtime = [];\r\n const baked = [];\r\n const inactive = [];\r\n\r\n for (const record of records)\r\n {\r\n if (record.weight >= 0.001)\r\n {\r\n (record.baked ? baked : runtime).push(record);\r\n }\r\n else\r\n {\r\n inactive.push(record);\r\n }\r\n }\r\n\r\n this.#morphAnimationBuffer = [ ...runtime, ...baked, ...inactive ];\r\n this.#morphAnimationOffsets.runtimeEvaluatedCount = runtime.length;\r\n this.#morphAnimationOffsets.bakedOffset = runtime.length;\r\n this.#morphAnimationOffsets.bakedCount = baked.length;\r\n this.#morphAnimationOffsets.allCount = runtime.length + baked.length;\r\n return this.#morphAnimationOffsets.allCount;\r\n }\r\n\r\n /** Returns detached active indexed morph records for the native filter. */\r\n @impl.adapted\r\n GetMorphTargets(filter = 2)\r\n {\r\n const normalized = NormalizeMorphFilter(filter);\r\n let offset = 0;\r\n let count = 0;\r\n\r\n if (normalized === 2)\r\n {\r\n count = this.#morphAnimationOffsets.allCount;\r\n }\r\n else if (normalized === 0)\r\n {\r\n offset = this.#isMorphsBaked\r\n ? this.#morphAnimationOffsets.runtimeEvaluatedOffset\r\n : 0;\r\n count = this.#isMorphsBaked\r\n ? this.#morphAnimationOffsets.runtimeEvaluatedCount\r\n : this.#morphAnimationOffsets.allCount;\r\n }\r\n else\r\n {\r\n offset = this.#morphAnimationOffsets.bakedOffset;\r\n count = this.#morphAnimationOffsets.bakedCount;\r\n }\r\n\r\n return this.#morphAnimationBuffer.slice(offset, offset + count)\r\n .map(value => ({ index: value.index, weight: value.weight }));\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetSofSourceLocator()\r\n {\r\n return null;\r\n }\r\n\r\n /**\r\n * Sync-side frame update (Carbon EveChildMesh::UpdateSyncronous,\r\n * cpp:1002-1045). Carbon's body is entirely audio-geometry registration\r\n * (cpp:1004-1010, 1044 - engine/audio-owned, omitted) plus animationUpdater\r\n * re-binding and PrePhysicsAnimation stepping (cpp:1011-1042 - skipped: the\r\n * JS animation seam is absent, there is no Tr2GrannyAnimation runtime), so\r\n * the port is a documented frame-contract no-op.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Audio-geometry registration is engine-owned and the animationUpdater branches await the JS animation seam; nothing else remains in Carbon's body.\")\r\n UpdateSyncronous(_updateContext, _params)\r\n {\r\n }\r\n\r\n /**\r\n * Per-frame async update (Carbon EveChildMesh::UpdateAsyncronous,\r\n * cpp:903-1000): rebuild the world transform from the parent, fold the\r\n * transform modifiers over it, store the activation strength, refresh the\r\n * attachment lights, the morph buffer, and the world bounds. The GPU ring\r\n * buffer advance/per-object-data invalidation (cpp:905-909), audio geometry\r\n * (cpp:920-930), parent VS/PS struct refresh (cpp:932-960), and the skinned\r\n * GetBounds overload are not modelled, hence @impl.adapted.\r\n * @param {Object} updateContext - frame context (EveUpdateContext), threaded to modifiers\r\n * @param {EveChildUpdateParams} params - localToWorldTransform + boneCount/bones\r\n * @returns {Float32Array} worldTransform\r\n */\r\n @carbon.method\r\n @carbon.contextual([\"camera\"])\r\n @impl.adapted\r\n UpdateAsyncronous(updateContext, params)\r\n {\r\n const parentTransform = params?.localToWorldTransform;\r\n\r\n if (parentTransform && parentTransform.length === 16)\r\n {\r\n this.UpdateTransform(parentTransform);\r\n }\r\n\r\n applyTransformModifiers(\r\n this,\r\n updateContext,\r\n params?.boneCount ?? 0,\r\n params?.bones ?? null\r\n );\r\n\r\n this.#activationStrength = Number(params?.activationStrength ?? 1);\r\n\r\n // Carbon (cpp:962-970): attachments refresh their lights from the updated\r\n // world transform. Bones come from GetBoneTransforms (animationUpdater) -\r\n // null until the JS animation seam exists.\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.UpdateLights?.(this.worldTransform, null, 0, this.#activationStrength, 0);\r\n }\r\n\r\n this.UpdateMorphAnimationBuffer();\r\n\r\n // Carbon (cpp:974-997): world AABB from the mesh bounds, world sphere\r\n // enclosing it. The skinned GetBounds overload (animation transforms +\r\n // morph targets, cpp:977-982) awaits the animation seam; Tr2MeshBase::\r\n // GetBounds itself is a recorded gap (CARBON-PARITY-REVIEW-2026-07-23.md\r\n // section 2.3), hence the duck call (Tr2InstancedMesh implements it).\r\n this.#worldBoundsValid = false;\r\n const bounds = this.mesh?.GetBounds?.();\r\n\r\n if (bounds?.min && bounds?.max)\r\n {\r\n this.#worldBoundsMin[0] = this.#worldBoundsMin[1] = this.#worldBoundsMin[2] = Infinity;\r\n this.#worldBoundsMax[0] = this.#worldBoundsMax[1] = this.#worldBoundsMax[2] = -Infinity;\r\n for (let index = 0; index < 8; index++)\r\n {\r\n vec3.set(\r\n BOX_CORNER_SCRATCH,\r\n index & 1 ? bounds.max[0] : bounds.min[0],\r\n index & 2 ? bounds.max[1] : bounds.min[1],\r\n index & 4 ? bounds.max[2] : bounds.min[2]\r\n );\r\n vec3.transformMat4(BOX_CORNER_SCRATCH, BOX_CORNER_SCRATCH, this.worldTransform);\r\n vec3.min(this.#worldBoundsMin, this.#worldBoundsMin, BOX_CORNER_SCRATCH);\r\n vec3.max(this.#worldBoundsMax, this.#worldBoundsMax, BOX_CORNER_SCRATCH);\r\n }\r\n this.#worldBoundsValid = true;\r\n sph3.fromBounds(this.#worldBoundingSphere, this.#worldBoundsMin, this.#worldBoundsMax);\r\n }\r\n else\r\n {\r\n sph3.set(this.#worldBoundingSphere, 0, 0, 0, 0);\r\n }\r\n\r\n this.#hasUpdated = true;\r\n return this.worldTransform;\r\n }\r\n\r\n /**\r\n * Frame visibility + LOD state (Carbon EveChildMesh::UpdateVisibility,\r\n * cpp:366-463): screen size via the frustum, invLodFactor scaling, the\r\n * minScreenSize/lowestLodVisible gates, the per-instance visibility gate,\r\n * and the attachment/decal visibility fan-out. Carbon recomputes the local\r\n * mesh bounds here (cpp:380-394) but consumes only the world sphere/box\r\n * computed in UpdateAsyncronous, so the dead recompute is skipped. The\r\n * raytracing branch (cpp:450-462) is engine-owned and omitted.\r\n * @param {Object} updateContext - frame context (frustum + invLodFactor ducks)\r\n * @param {Float32Array} _parentTransform\r\n * @param {Number} parentLod - parent Tr2Lod level\r\n * @returns {Boolean} isVisible\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Bone-fed decal/attachment bounds await the animation seam and the raytracing refresh is engine-owned; the LOD/screen-size math is ported.\")\r\n UpdateVisibility(updateContext, _parentTransform = null, parentLod = Tr2Lod.TR2_LOD_HIGH)\r\n {\r\n this.#isVisible = false;\r\n this.currentScreenSize = -1;\r\n this.#instancesVisible = false;\r\n this.currentInstanceScreenSize = -1;\r\n\r\n if (!this.#hasUpdated)\r\n {\r\n return false;\r\n }\r\n\r\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\r\n const invLodFactor = Number(updateContext?.GetInvLodFactor?.() ?? updateContext?.invLodFactor) || 1;\r\n\r\n if (this.mesh)\r\n {\r\n this.currentScreenSize = Number(frustum?.GetPixelSizeAccross?.(this.#worldBoundingSphere) ?? Infinity) || 0;\r\n\r\n // Cached Tr2InstancedMesh downcast in Carbon (m_instancedMesh); the JS\r\n // port duck-types the instanced surface instead.\r\n const instanced = typeof this.mesh.GetInstanceBoundsClosestToPoint === \"function\";\r\n let instanceBounds = null;\r\n\r\n if (instanced)\r\n {\r\n // Carbon: TransformCoord(frustum.m_viewPos, Inverse(m_worldTransform))\r\n // - a single-matrix point transform (no composition; TransformCoord\r\n // maps to vec3.transformMat4 unchanged per the math conventions).\r\n if (!mat4.invert(INVERSE_WORLD_SCRATCH, this.worldTransform))\r\n {\r\n mat4.identity(INVERSE_WORLD_SCRATCH);\r\n }\r\n const viewPos = frustum?.m_viewPos ?? frustum?.viewPos ?? frustum?.GetViewPosition?.() ?? ZERO_VEC3;\r\n vec3.transformMat4(LOCAL_VIEW_SCRATCH, viewPos, INVERSE_WORLD_SCRATCH);\r\n instanceBounds = this.mesh.GetInstanceBoundsClosestToPoint(LOCAL_VIEW_SCRATCH);\r\n }\r\n\r\n if (instanceBounds)\r\n {\r\n // Carbon: instanceBounds.Transform(m_worldTransform) - single-matrix\r\n // sphere transform, ported via sph3.transformMat4.\r\n sph3.set(\r\n INSTANCE_SPHERE_SCRATCH,\r\n instanceBounds.center[0],\r\n instanceBounds.center[1],\r\n instanceBounds.center[2],\r\n instanceBounds.radius\r\n );\r\n sph3.transformMat4(INSTANCE_SPHERE_SCRATCH, INSTANCE_SPHERE_SCRATCH, this.worldTransform);\r\n this.currentInstanceScreenSize = Number(frustum?.GetPixelSizeAccross?.(INSTANCE_SPHERE_SCRATCH) ?? Infinity) || 0;\r\n this.mesh.UseWithScreenSize?.(this.currentInstanceScreenSize, INSTANCE_SPHERE_SCRATCH[3]);\r\n }\r\n else\r\n {\r\n // Carbon uses std::numeric_limits<float>::max(); Infinity keeps the\r\n // instance gate permanently open the same way.\r\n this.currentInstanceScreenSize = Infinity;\r\n this.mesh.UseWithScreenSize?.(this.currentScreenSize, this.#worldBoundingSphere[3]);\r\n }\r\n\r\n this.currentScreenSize *= invLodFactor;\r\n this.currentInstanceScreenSize *= invLodFactor;\r\n\r\n BOX_QUERY_SCRATCH.min = this.#worldBoundsMin;\r\n BOX_QUERY_SCRATCH.max = this.#worldBoundsMax;\r\n const boxVisible = this.#worldBoundsValid &&\r\n (frustum?.IsBoxVisible ? !!frustum.IsBoxVisible(BOX_QUERY_SCRATCH) : true);\r\n\r\n if (boxVisible)\r\n {\r\n this.#isVisible = parentLod >= this.lowestLodVisible && this.currentScreenSize >= this.minScreenSize;\r\n this.#instancesVisible = this.#isVisible &&\r\n this.currentInstanceScreenSize >= EveChildMesh.#instanceScreenSizeThreshold;\r\n }\r\n }\r\n\r\n // Carbon (cpp:427-435): attachments always refresh visibility; bones from\r\n // GetBoneTransforms await the animation seam.\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.UpdateVisibility?.(updateContext, this.worldTransform, null, 0);\r\n }\r\n\r\n if (this.#isVisible)\r\n {\r\n for (const decal of this.decals)\r\n {\r\n // Carbon (cpp:441-446) feeds animated bone matrices to the decal first\r\n // - skipped until the JS animation seam exists. Carbon passes\r\n // &m_parentData (per-object shading struct, GPU seam); the owning\r\n // child stands in as the duck-typed parent.\r\n decal?.UpdateVisibility?.(updateContext, this);\r\n }\r\n }\r\n\r\n return this.#isVisible;\r\n }\r\n\r\n /**\r\n * Collects this child (and its decals) as renderables (Carbon\r\n * EveChildMesh::GetRenderables, cpp:571-616): instanced meshes contribute\r\n * only while the per-instance gate passed; decals ride along through their\r\n * duck-typed renderable collectors (mesh cache is engine-owned, passed null\r\n * as in EveSpaceObject2.GetRenderables).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The decal mesh cache is engine-owned (null placeholder); collection structure is ported.\")\r\n GetRenderables(out = [])\r\n {\r\n if (!this.#isVisible)\r\n {\r\n return out;\r\n }\r\n\r\n const instanced = typeof this.mesh?.GetInstanceBoundsClosestToPoint === \"function\";\r\n\r\n if (instanced)\r\n {\r\n if (this.#instancesVisible)\r\n {\r\n out.push(this);\r\n if (this.decals.length && this.mesh.GetGeometryResource?.())\r\n {\r\n for (const decal of this.decals)\r\n {\r\n decal?.GetInstancedRenderables?.(out, null, this.mesh, this.currentInstanceScreenSize);\r\n }\r\n }\r\n }\r\n }\r\n else\r\n {\r\n out.push(this);\r\n const geometryResource = this.mesh?.GetGeometryResource?.();\r\n if (this.decals.length && geometryResource)\r\n {\r\n for (const decal of this.decals)\r\n {\r\n decal?.GetRenderables?.(out, null, geometryResource, this.currentScreenSize);\r\n }\r\n }\r\n }\r\n\r\n return out;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetBoundingSphere (cpp:618-627): the realized world\r\n * sphere, valid only after an update produced bounds (radius > 0). */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(out = vec4.create(), _query = 0)\r\n {\r\n if (this.#worldBoundingSphere[3] > 0)\r\n {\r\n vec4.copy(out, this.#worldBoundingSphere);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::HasTransparentBatches (cpp:629-637). */\r\n @carbon.method\r\n @impl.implemented\r\n HasTransparentBatches()\r\n {\r\n if (this.display && this.mesh)\r\n {\r\n return (this.mesh.GetAreas?.(TriBatchType.TRIBATCHTYPE_TRANSPARENT)?.length ?? 0) > 0;\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::IsVisible (cpp:639-650): sphere-in-frustum plus the\r\n * estimated pixel size against the context visibility threshold. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Frustum and threshold arrive via the duck-typed update context instead of renderer state.\")\r\n IsVisible(updateContext)\r\n {\r\n if (this.#worldBoundingSphere[3] > 0)\r\n {\r\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\r\n if (frustum?.IsSphereVisible?.(this.#worldBoundingSphere) !== false)\r\n {\r\n const method = frustum?.GetPixelSizeAccrossEst ?? frustum?.GetPixelSizeAccross;\r\n const size = Number(typeof method === \"function\" ? method.call(frustum, this.#worldBoundingSphere) : 0) || 0;\r\n const threshold = Number(updateContext?.GetVisibilityThreshold?.() ?? updateContext?.visibilityThreshold) || 0;\r\n return size >= threshold;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetBatches (cpp:652-670): the mesh delegates per\r\n * batch type and activated attachments recurse. Carbon also passes\r\n * min(currentInstanceScreenSize, currentScreenSize) for LOD selection and a\r\n * reverse-winding flag from Determinant(m_worldTransform) < 0; both are\r\n * resolved by the engine at batch realization in the GPU-free port.\r\n * Returns whether any batch was committed (JS addition; Carbon returns\r\n * void). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Screen-size LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.\")\r\n GetBatches(batches, batchType, perObjectData, reason = Tr2RenderReason.TR2RENDERREASON_NORMAL)\r\n {\r\n if (!this.display)\r\n {\r\n return false;\r\n }\r\n\r\n let committed = false;\r\n\r\n if (this.mesh)\r\n {\r\n committed = this.mesh.GetBatches(batches, this.mesh.GetAreas(batchType), perObjectData) === true;\r\n }\r\n\r\n if (this.#activationStrength !== 0)\r\n {\r\n for (const attachment of this.attachments)\r\n {\r\n committed = attachment?.GetBatches?.(batches, batchType, perObjectData, reason) === true || committed;\r\n }\r\n }\r\n\r\n return committed;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetShadowBatches (cpp:672-681): the OPAQUE areas\r\n * only, gated on display/mesh/hasUpdated. shadowPixelSize and the\r\n * reverse-winding flag are engine-resolved at realization. Returns whether\r\n * any batch was committed (JS addition; Carbon returns void). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"shadowPixelSize LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.\")\r\n GetShadowBatches(batches, perObjectData, _shadowPixelSize)\r\n {\r\n if (this.display && this.mesh && this.#hasUpdated)\r\n {\r\n return this.mesh.GetBatches(batches, this.mesh.GetAreas(TriBatchType.TRIBATCHTYPE_OPAQUE), perObjectData) === true;\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetSortValue (cpp:787-792): view distance scaled by\r\n * sortValueScale plus sortValueOffset. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon reads the Tr2Renderer view-position global; the relocated camera state arrives via the threaded render context.\")\r\n GetSortValue(renderContext = null)\r\n {\r\n const viewPosition = renderContext?.GetViewPosition?.();\r\n const x = (viewPosition?.[0] ?? 0) - this.worldTransform[12];\r\n const y = (viewPosition?.[1] ?? 0) - this.worldTransform[13];\r\n const z = (viewPosition?.[2] ?? 0) - this.worldTransform[14];\r\n return Math.hypot(x, y, z) * this.sortValueScale + this.sortValueOffset;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetShadowPerObjectData (cpp:794-797) forwards the\r\n * shadow pass to the same per-object record. */\r\n @carbon.method\r\n @impl.implemented\r\n GetShadowPerObjectData(accumulator = null)\r\n {\r\n return this.GetPerObjectData(accumulator);\r\n }\r\n\r\n /** Carbon EveChildMesh::GetPerObjectData (cpp:799-843) uploads bone/morph\r\n * ring-buffer offsets and allocates Tr2PerObjectDataWithPersistentBuffers;\r\n * those fills are GPU ring-buffer state, so the GPU-free record carries the\r\n * live object reference for the engine serializer to pull current values at\r\n * realization (mirrors EveSpaceObject2.GetPerObjectData). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Persistent VS/PS device buffers and bone/morph ring offsets are engine-owned; the record carries the object reference the engine serializer consumes.\")\r\n GetPerObjectData(accumulator = null)\r\n {\r\n const data = typeof accumulator?.Allocate === \"function\"\r\n ? accumulator.Allocate(Tr2PerObjectData)\r\n : new Tr2PerObjectData();\r\n data.object = this;\r\n return data;\r\n }\r\n\r\n /**\r\n * Carbon's two IsCastingShadow overloads, dispatched on the second argument:\r\n * a position vector (length >= 3) selects the sphere-overlap overload\r\n * (cpp:338-364); anything else is the shadow-frustum overload (cpp:295-336),\r\n * whose Carbon out-param float& sizeInShadow becomes the optional trailing\r\n * length-1 array (out-params last).\r\n * @param {Object} cameraFrustum\r\n * @param {Object|Float32Array} shadowFrustumOrPosition\r\n * @param {Number} renderReasonOrRadius\r\n * @param {Array|Number} sizeInShadowOutOrRenderReason\r\n * @returns {Boolean}\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Overload dispatch by argument shape and a length-1 out array replace C++ overloading and the float& out-param; the shadow math is ported.\")\r\n IsCastingShadow(cameraFrustum, shadowFrustumOrPosition, renderReasonOrRadius, sizeInShadowOutOrRenderReason = null)\r\n {\r\n if (!this.display || !this.castShadow || !this.#hasUpdated)\r\n {\r\n return false;\r\n }\r\n\r\n const positionOverload = typeof shadowFrustumOrPosition?.length === \"number\" &&\r\n shadowFrustumOrPosition.length >= 3;\r\n const renderReason = positionOverload\r\n ? Number(sizeInShadowOutOrRenderReason ?? Tr2RenderReason.TR2RENDERREASON_NORMAL)\r\n : Number(renderReasonOrRadius ?? Tr2RenderReason.TR2RENDERREASON_NORMAL);\r\n\r\n if (renderReason === Tr2RenderReason.TR2RENDERREASON_REFLECTION &&\r\n !ShouldReflect(this.reflectionMode))\r\n {\r\n return false;\r\n }\r\n\r\n if (positionOverload)\r\n {\r\n // Carbon (cpp:338-364): squared distance between the world sphere and\r\n // the query sphere against their combined radius.\r\n if (!this.GetBoundingSphere(SHADOW_SPHERE_SCRATCH))\r\n {\r\n return false;\r\n }\r\n const position = shadowFrustumOrPosition;\r\n const radius = Number(renderReasonOrRadius) || 0;\r\n const dx = SHADOW_SPHERE_SCRATCH[0] - position[0];\r\n const dy = SHADOW_SPHERE_SCRATCH[1] - position[1];\r\n const dz = SHADOW_SPHERE_SCRATCH[2] - position[2];\r\n const combined = radius + SHADOW_SPHERE_SCRATCH[3];\r\n return dx * dx + dy * dy + dz * dz - combined * combined < 0;\r\n }\r\n\r\n // Carbon (cpp:295-336): shadow-frustum visibility, then the size in the\r\n // shadow map from the instance sphere nearest the shadow eye (falling back\r\n // to the whole world sphere).\r\n const shadowFrustum = shadowFrustumOrPosition;\r\n const sizeOut = sizeInShadowOutOrRenderReason;\r\n if (sizeOut)\r\n {\r\n sizeOut[0] = 0;\r\n }\r\n\r\n if (this.#worldBoundingSphere[3] <= 0)\r\n {\r\n return false;\r\n }\r\n\r\n let sizeInShadow = 0;\r\n if (shadowFrustum?.IsVisible?.(cameraFrustum, this.#worldBoundingSphere))\r\n {\r\n let sphere = this.#worldBoundingSphere;\r\n if (typeof this.mesh?.GetInstanceBoundsClosestToPoint === \"function\")\r\n {\r\n // Carbon: TransformCoord(shadowFrustum.GetEyePos(), Inverse(\r\n // m_worldTransform)) - single-matrix point transform (no composition).\r\n if (!mat4.invert(INVERSE_WORLD_SCRATCH, this.worldTransform))\r\n {\r\n mat4.identity(INVERSE_WORLD_SCRATCH);\r\n }\r\n const eyePos = shadowFrustum?.GetEyePos?.() ?? ZERO_VEC3;\r\n vec3.transformMat4(LOCAL_VIEW_SCRATCH, eyePos, INVERSE_WORLD_SCRATCH);\r\n const instanceBounds = this.mesh.GetInstanceBoundsClosestToPoint(LOCAL_VIEW_SCRATCH);\r\n if (instanceBounds)\r\n {\r\n // Carbon: instanceBounds.Transform(m_worldTransform) - single-matrix\r\n // sphere transform.\r\n sph3.set(\r\n INSTANCE_SPHERE_SCRATCH,\r\n instanceBounds.center[0],\r\n instanceBounds.center[1],\r\n instanceBounds.center[2],\r\n instanceBounds.radius\r\n );\r\n sph3.transformMat4(INSTANCE_SPHERE_SCRATCH, INSTANCE_SPHERE_SCRATCH, this.worldTransform);\r\n sphere = INSTANCE_SPHERE_SCRATCH;\r\n }\r\n }\r\n sizeInShadow = Number(shadowFrustum?.GetSizeInShadow?.(sphere)) || 0;\r\n }\r\n\r\n if (sizeOut)\r\n {\r\n sizeOut[0] = sizeInShadow;\r\n }\r\n return sizeInShadow > 5;\r\n }\r\n\r\n /** Carbon EveChildMesh::ChangeLOD (cpp:1052-1054) is an intentional no-op. */\r\n @carbon.method\r\n @impl.implemented\r\n ChangeLOD(_lod)\r\n {\r\n }\r\n\r\n /** Carbon EveChildMesh::RegisterComponents (cpp:239-269): LightOwner when\r\n * lights are authored; ReflectionRenderable (ShouldReflect) and ShadowCaster\r\n * (castShadow) only when a mesh is present; then forwards the attachments.\r\n * Gate m_display. \"MeshMorph\" stays OUT-OF-BAND: Carbon registers it at\r\n * baked-morph need inside BakeMorphs (cpp:1404-1409), not here - the JS\r\n * BakeMorphs stub is the site that would register it when the GPU morph\r\n * bake is ported. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.display)\r\n {\r\n if (this.lights.length)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n\r\n if (this.mesh !== null)\r\n {\r\n if (ShouldReflect(this.reflectionMode))\r\n {\r\n registry.RegisterComponent(EveComponentType.ReflectionRenderable, this);\r\n }\r\n if (this.castShadow)\r\n {\r\n registry.RegisterComponent(EveComponentType.ShadowCaster, this);\r\n }\r\n }\r\n\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.Register?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildMesh::UnRegisterComponents (cpp:275-290): forwards the\r\n * attachments only (own components were already removed by\r\n * EveEntity::UnRegister, EveEntity.cpp:90); no display re-check.\r\n * UnregisterAudioGeometry (cpp:277) is audio-engine-owned and unported. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.UnRegister?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildMesh::GetLights (cpp:1638-1652): BOTH gates (empty\r\n * lights and display, cpp:1640 - unlike EveSpaceObject2's display-only),\r\n * then per light AddLight(manager, worldTransform, 1, bones, boneCount)\r\n * FOLLOWED by SetBrightnessMultiplier(m_activationStrength) - the\r\n * one-frame-lag order is contract (the submission uses the multiplier\r\n * stamped on the previous pass; the first pass uses the Tr2Light default\r\n * 1). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"GetBoneTransforms (cpp:1285-1307) rides the granny animation updater - awaits the JS animation seam; (null, 0) is passed per the file's UpdateAsyncronous convention.\")\r\n GetLights(lightManager)\r\n {\r\n if (!this.lights.length || !this.display)\r\n {\r\n return;\r\n }\r\n for (const light of this.lights)\r\n {\r\n light?.AddLight?.(lightManager, this.worldTransform, 1, null, 0);\r\n light?.SetBrightnessMultiplier?.(this.#activationStrength);\r\n }\r\n }\r\n\r\n /** Carbon EveChildMesh::GetPickingBatches (cpp:862-889) maps Tr2PickTypes\r\n * flags onto batch-type collections with transparent/additive special\r\n * casing; the pick-type flag enum is not yet ported, so the surface fails\r\n * loudly rather than mis-collecting. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetPickingBatches(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.GetPickingBatches is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon EveChildMesh::InitializeAnimation (cpp:217-232) wires the\r\n * animationUpdater to the mesh geometry resource; awaits the JS animation\r\n * seam (no Tr2GrannyAnimation runtime). */\r\n @carbon.method\r\n @impl.notImplemented\r\n InitializeAnimation(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.InitializeAnimation is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon BakeMorphs runs the merge-morphs GPU compute pass; GPU-owned. */\r\n @carbon.method\r\n @impl.notImplemented\r\n BakeMorphs(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.BakeMorphs is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon UnbakeMorphs releases the baked-morph GPU allocation; GPU-owned. */\r\n @carbon.method\r\n @impl.notImplemented\r\n UnbakeMorphs(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.UnbakeMorphs is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon IsMeshBaked reads the baked-morph GPU allocation state; GPU-owned. */\r\n @carbon.method\r\n @impl.notImplemented\r\n IsMeshBaked(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.IsMeshBaked is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n // Carbon s_instanceScreenSizeThreshold (EveChildMesh.cpp:22).\r\n static #instanceScreenSizeThreshold = 1;\r\n\r\n static Origin = Origin;\r\n\r\n static ReflectionMode = ReflectionMode;\r\n\r\n static Tr2Lod = Tr2Lod;\r\n\r\n}\r\n\r\nfunction ReadNamedMorph(values, name)\r\n{\r\n if (values instanceof Map)\r\n {\r\n return values.has(name) ? values.get(name) : undefined;\r\n }\r\n\r\n if (values && typeof values === \"object\" && Object.hasOwn(values, name))\r\n {\r\n return values[name];\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction ReadMorphWeight(value, name, source)\r\n{\r\n const weight = Number(value && typeof value === \"object\" ? value.weight : value);\r\n\r\n if (!Number.isFinite(weight))\r\n {\r\n throw new TypeError(`EveChildMesh ${source} morph target \"${name}\" weight must be finite`);\r\n }\r\n\r\n return weight;\r\n}\r\n\r\nfunction NormalizeMorphFilter(value)\r\n{\r\n if (typeof value === \"string\")\r\n {\r\n const normalized = value.toLowerCase();\r\n if (normalized === \"runtime\" || normalized === \"runtime_evaluated\") return 0;\r\n if (normalized === \"baked\") return 1;\r\n if (normalized === \"all\") return 2;\r\n }\r\n\r\n const filter = Number(value);\r\n if (filter === 0 || filter === 1 || filter === 2) return filter;\r\n throw new TypeError(`Unsupported EveChildMesh morph target filter \"${value}\"`);\r\n}\r\n"],"names":["INVERSE_WORLD_SCRATCH","mat4","create","LOCAL_VIEW_SCRATCH","vec3","INSTANCE_SPHERE_SCRATCH","vec4","SHADOW_SPHERE_SCRATCH","BOX_CORNER_SCRATCH","BOX_QUERY_SCRATCH","min","max","ZERO_VEC3","_EveChildMesh","_identity","EveChildMesh","EveChildTransform","e","_init_reflectionMode","_init_extra_reflectionMode","_init_transformModifiers","_init_extra_transformModifiers","_init_worldTransform","_init_extra_worldTransform","_init_display","_init_extra_display","_init_castShadow","_init_extra_castShadow","_init_mesh","_init_extra_mesh","_init_name","_init_extra_name","_init_rotation","_init_extra_rotation","_init_translation","_init_extra_translation","_init_scaling","_init_extra_scaling","_init_localTransform","_init_extra_localTransform","_init_decals","_init_extra_decals","_init_staticTransform","_init_extra_staticTransform","_init_animationUpdater","_init_extra_animationUpdater","_init_attachments","_init_extra_attachments","_init_lights","_init_extra_lights","_init_lowestLodVisible","_init_extra_lowestLodVisible","_init_minScreenSize","_init_extra_minScreenSize","_init_sortValueOffset","_init_extra_sortValueOffset","_init_sortValueScale","_init_extra_sortValueScale","_init_currentScreenSize","_init_extra_currentScreenSize","_init_currentInstanceScreenSize","_init_extra_currentInstanceScreenSize","_init_useSRT","_init_extra_useSRT","_init_updateAnimation","_init_extra_updateAnimation","_init_origin","_init_extra_origin","_init_instanceTransforms","_init_extra_instanceTransforms","_init_sofDna","_init_extra_sofDna","_init_sofParentHullName","_init_extra_sofParentHullName","_init_sofLocatorSetName","_init_extra_sofLocatorSetName","_init_sofLocatorIndex","_init_extra_sofLocatorIndex","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","schema","enum","list","read","boolean","objectRef","string","quat","float32","rebuild","array","carbon","method","impl","adapted","implemented","reason","contextual","notImplemented","constructor","args","runtimeEvaluatedOffset","runtimeEvaluatedCount","bakedOffset","bakedCount","allCount","reflectionMode","transformModifiers","worldTransform","display","castShadow","mesh","name","rotation","translation","scaling","fromValues","localTransform","decals","staticTransform","animationUpdater","attachments","lights","lowestLodVisible","minScreenSize","sortValueOffset","sortValueScale","currentScreenSize","currentInstanceScreenSize","useSRT","updateAnimation","origin","instanceTransforms","sofDna","sofParentHullName","sofLocatorSetName","sofLocatorIndex","Initialize","RebuildLocalTransform","Setup","scale","undefined","Number","SetInstanceTransforms","instances","next","transform","length","TypeError","push","clone","GetInstanceTransforms","SetMesh","SetOrigin","SetScale","copy","SetReflectionMode","mode","SetCastShadow","SetMinScreenSize","GetLocalToWorldTransform","out","GetName","SetName","String","AddTransformModifier","modifier","AddDecal","decal","AddAttachment","attachment","ClearAttachments","AddLight","light","ClearLights","IsAlwaysOn","SetShaderOption","value","GetMorphTargetNames","SetMorphTargetWeight","weight","GetMorphTargetWeight","UpdateMorphAnimationBuffer","names","Array","isArray","manual","GetMorphAnimations","records","map","index","ReadMorphWeight","ReadNamedMorph","baked","IsBakedMorph","GetBakedMorphTarget","IsInitialized","animated","record","runtime","inactive","GetMorphTargets","filter","normalized","NormalizeMorphFilter","offset","count","slice","GetSofSourceLocator","UpdateSyncronous","_updateContext","_params","UpdateAsyncronous","updateContext","params","parentTransform","localToWorldTransform","UpdateTransform","applyTransformModifiers","boneCount","bones","activationStrength","UpdateLights","bounds","GetBounds","Infinity","set","transformMat4","sph3","fromBounds","UpdateVisibility","_parentTransform","parentLod","Tr2Lod","TR2_LOD_HIGH","frustum","GetFrustum","invLodFactor","GetInvLodFactor","GetPixelSizeAccross","instanced","GetInstanceBoundsClosestToPoint","instanceBounds","invert","identity","viewPos","m_viewPos","GetViewPosition","center","radius","UseWithScreenSize","boxVisible","IsBoxVisible","GetRenderables","GetGeometryResource","GetInstancedRenderables","geometryResource","GetBoundingSphere","_query","HasTransparentBatches","GetAreas","TriBatchType","TRIBATCHTYPE_TRANSPARENT","IsVisible","IsSphereVisible","GetPixelSizeAccrossEst","size","call","threshold","GetVisibilityThreshold","visibilityThreshold","GetBatches","batches","batchType","perObjectData","Tr2RenderReason","TR2RENDERREASON_NORMAL","committed","GetShadowBatches","_shadowPixelSize","TRIBATCHTYPE_OPAQUE","GetSortValue","renderContext","viewPosition","x","y","z","Math","hypot","GetShadowPerObjectData","accumulator","GetPerObjectData","data","Allocate","Tr2PerObjectData","object","IsCastingShadow","cameraFrustum","shadowFrustumOrPosition","renderReasonOrRadius","sizeInShadowOutOrRenderReason","positionOverload","renderReason","TR2RENDERREASON_REFLECTION","ShouldReflect","position","dx","dy","dz","combined","shadowFrustum","sizeOut","sizeInShadow","sphere","eyePos","GetEyePos","GetSizeInShadow","ChangeLOD","_lod","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","ReflectionRenderable","ShadowCaster","Register","UnRegisterComponents","UnRegister","GetLights","lightManager","SetBrightnessMultiplier","GetPickingBatches","_args","Error","InitializeAnimation","BakeMorphs","UnbakeMorphs","IsMeshBaked","Origin","ReflectionMode","values","Map","has","get","Object","hasOwn","source","isFinite","toLowerCase"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import { mat4 } from '@carbonenginejs/
|
|
3
|
-
import { quat } from '@carbonenginejs/
|
|
4
|
-
import { vec3 } from '@carbonenginejs/
|
|
5
|
-
import { type, carbon, impl } from '@carbonenginejs/
|
|
2
|
+
import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
|
|
3
|
+
import { quat } from '@carbonenginejs/runtime-utils/quat';
|
|
4
|
+
import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
|
|
5
|
+
import { type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
|
|
6
6
|
import { EveEntity as _EveEntity } from '../../generated/eve/EveEntity.js';
|
|
7
7
|
|
|
8
8
|
let _initProto, _initClass, _init_translation, _init_extra_translation, _init_scaling, _init_extra_scaling, _init_rotation, _init_extra_rotation, _init_localTransform, _init_extra_localTransform, _init_worldTransform, _init_extra_worldTransform, _init_staticTransform, _init_extra_staticTransform, _init_useSRT, _init_extra_useSRT, _init_useStaticRotation, _init_extra_useStaticRotation, _init_useStaticScale, _init_extra_useStaticScale;
|