@carbonenginejs/runtime-trinity 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -243
- package/dist/controllers/CjsControllerExpressionProgram.js +157 -0
- package/dist/controllers/CjsControllerExpressionProgram.js.map +1 -1
- package/dist/controllers/ITr2ControllerAction.js +57 -0
- package/dist/controllers/ITr2ControllerAction.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateCurveSet.js +10 -0
- package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateValue.js +26 -0
- package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
- package/dist/controllers/Tr2ActionBindRTPC.js +11 -0
- package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
- package/dist/controllers/Tr2ActionCallback.js +5 -0
- package/dist/controllers/Tr2ActionCallback.js.map +1 -1
- package/dist/controllers/Tr2ActionChildEffect.js +63 -0
- package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
- package/dist/controllers/Tr2ActionOverlay.js +68 -0
- package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayCurveSet.js +16 -0
- package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js +29 -0
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
- package/dist/controllers/Tr2ActionPlaySound.js +11 -0
- package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
- package/dist/controllers/Tr2ActionPython.js +11 -0
- package/dist/controllers/Tr2ActionPython.js.map +1 -1
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js +17 -0
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js +5 -0
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +5 -0
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioSwitch.js +5 -0
- package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +23 -0
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
- package/dist/controllers/Tr2ActionSetShaderOption.js +5 -0
- package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
- package/dist/controllers/Tr2ActionSetValue.js +35 -0
- package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
- package/dist/controllers/Tr2ActionSpawnParticles.js +10 -0
- package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/controllers/Tr2BindingPoint.js +67 -0
- package/dist/controllers/Tr2BindingPoint.js.map +1 -1
- package/dist/controllers/Tr2Controller.js +37 -0
- package/dist/controllers/Tr2Controller.js.map +1 -1
- package/dist/controllers/Tr2ControllerEventHandler.js +10 -0
- package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
- package/dist/controllers/Tr2ControllerExpression.js +17 -0
- package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
- package/dist/controllers/Tr2ControllerFloatVariable.js +6 -0
- package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
- package/dist/controllers/Tr2ControllerReference.js +11 -0
- package/dist/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/controllers/Tr2StateMachine.js +17 -0
- package/dist/controllers/Tr2StateMachine.js.map +1 -1
- package/dist/controllers/Tr2StateMachineState.js +47 -0
- package/dist/controllers/Tr2StateMachineState.js.map +1 -1
- package/dist/controllers/Tr2StateMachineTransition.js +29 -0
- package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
- package/dist/controllers/Tr2SyncToAnimation.js +5 -0
- package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
- package/dist/controllers/Tr2TimelineController.js +61 -0
- package/dist/controllers/Tr2TimelineController.js.map +1 -1
- package/dist/controllers/contracts.js +24 -1
- package/dist/controllers/contracts.js.map +1 -1
- package/dist/controllers/index.js +1 -1
- package/dist/curves/CjsGrannyCurves.js +150 -0
- package/dist/curves/CjsGrannyCurves.js.map +1 -1
- package/dist/curves/Tr2BoneMatrixCurve.js +23 -0
- package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
- package/dist/curves/Tr2CameraFollowCurveKey.js +6 -0
- package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2CurveColor.js +6 -0
- package/dist/curves/Tr2CurveColor.js.map +1 -1
- package/dist/curves/Tr2CurveColorMixer.js +6 -0
- package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
- package/dist/curves/Tr2CurveCombiner.js +5 -0
- package/dist/curves/Tr2CurveCombiner.js.map +1 -1
- package/dist/curves/Tr2CurveConstant.js +16 -0
- package/dist/curves/Tr2CurveConstant.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotation.js +5 -0
- package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotationExpression.js +66 -0
- package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternion.js +5 -0
- package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternionKey.js +5 -0
- package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
- package/dist/curves/Tr2CurveRandomAxisRotation.js +28 -0
- package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/curves/Tr2CurveScalar.js +35 -0
- package/dist/curves/Tr2CurveScalar.js.map +1 -1
- package/dist/curves/Tr2CurveScalarExpression.js +11 -0
- package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
- package/dist/curves/Tr2CurveScalarKey.js +6 -0
- package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
- package/dist/curves/Tr2CurveSetRange.js +5 -0
- package/dist/curves/Tr2CurveSetRange.js.map +1 -1
- package/dist/curves/Tr2CurveVector2.js +5 -0
- package/dist/curves/Tr2CurveVector2.js.map +1 -1
- package/dist/curves/Tr2CurveVector3.js +5 -0
- package/dist/curves/Tr2CurveVector3.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Expression.js +71 -0
- package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Lerp.js +6 -0
- package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
- package/dist/curves/Tr2DistanceTracker.js +6 -0
- package/dist/curves/Tr2DistanceTracker.js.map +1 -1
- package/dist/curves/Tr2FollowCurve.js +6 -0
- package/dist/curves/Tr2FollowCurve.js.map +1 -1
- package/dist/curves/Tr2GrannyEventTrack.js +5 -0
- package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTrack.js +6 -0
- package/dist/curves/Tr2GrannyTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTransformTrack.js +6 -0
- package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyVectorTrack.js +5 -0
- package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
- package/dist/curves/Tr2MatrixKey.js +5 -0
- package/dist/curves/Tr2MatrixKey.js.map +1 -1
- package/dist/curves/Tr2ObjectFollowCurveKey.js +6 -0
- package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2QuaternionLerpCurve.js +6 -0
- package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
- package/dist/curves/Tr2RotationAdapter.js +6 -0
- package/dist/curves/Tr2RotationAdapter.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKey.js +18 -0
- package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKeyCurve.js +23 -0
- package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
- package/dist/curves/Tr2ScalarFader.js +11 -0
- package/dist/curves/Tr2ScalarFader.js.map +1 -1
- package/dist/curves/Tr2TranslationAdapter.js +6 -0
- package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
- package/dist/curves/TriColorSequencer.js +6 -0
- package/dist/curves/TriColorSequencer.js.map +1 -1
- package/dist/curves/TriCurveSet.js +23 -0
- package/dist/curves/TriCurveSet.js.map +1 -1
- package/dist/curves/TriEventCurve.js +23 -0
- package/dist/curves/TriEventCurve.js.map +1 -1
- package/dist/curves/TriEventKey.js +5 -0
- package/dist/curves/TriEventKey.js.map +1 -1
- package/dist/curves/TriPerlinCurve.js +30 -0
- package/dist/curves/TriPerlinCurve.js.map +1 -1
- package/dist/curves/TriVectorSequencer.js +6 -0
- package/dist/curves/TriVectorSequencer.js.map +1 -1
- package/dist/eve/AudioGameObject.js +89 -1
- package/dist/eve/AudioGameObject.js.map +1 -1
- package/dist/eve/BackAndForthData.js +7 -0
- package/dist/eve/BackAndForthData.js.map +1 -1
- package/dist/eve/CjsDistributionRandom.js +6 -0
- package/dist/eve/CjsDistributionRandom.js.map +1 -1
- package/dist/eve/CjsEveThrottleableState.js +11 -0
- package/dist/eve/CjsEveThrottleableState.js.map +1 -1
- package/dist/eve/EveChildUpdateParams.js +7 -0
- package/dist/eve/EveChildUpdateParams.js.map +1 -1
- package/dist/eve/EveComponentTypes.js.map +1 -1
- package/dist/eve/EveCustomMask.js +58 -27
- package/dist/eve/EveCustomMask.js.map +1 -1
- package/dist/eve/EveDistanceField.js +84 -0
- package/dist/eve/EveDistanceField.js.map +1 -1
- package/dist/eve/EveEntity.js +138 -0
- package/dist/eve/EveEntity.js.map +1 -0
- package/dist/eve/EveImpactOverlay.js +61 -0
- package/dist/eve/EveImpactOverlay.js.map +1 -1
- package/dist/eve/EveLODHelper.js +17 -13
- package/dist/eve/EveLODHelper.js.map +1 -1
- package/dist/eve/EveLineData.js +2 -0
- package/dist/eve/EveLineData.js.map +1 -1
- package/dist/eve/EveThrottleable.js +11 -0
- package/dist/eve/EveThrottleable.js.map +1 -1
- package/dist/eve/FollowASplineData.js +7 -0
- package/dist/eve/FollowASplineData.js.map +1 -1
- package/dist/eve/FormationData.js +6 -0
- package/dist/eve/FormationData.js.map +1 -1
- package/dist/eve/InertiaData.js +7 -0
- package/dist/eve/InertiaData.js.map +1 -1
- package/dist/eve/PlacementDataWithIdentifier.js +7 -0
- package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
- package/dist/eve/PlayFXData.js +7 -0
- package/dist/eve/PlayFXData.js.map +1 -1
- package/dist/eve/SeekTargetData.js +7 -0
- package/dist/eve/SeekTargetData.js.map +1 -1
- package/dist/eve/{EveSpaceObjectAttachmentUtils.js → attachment/EveSpaceObjectAttachmentUtils.js} +11 -11
- package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
- package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
- package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
- package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +13 -2
- package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
- package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
- package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
- package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +204 -35
- package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
- package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +205 -12
- package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
- package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +49 -1
- package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
- package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
- package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
- package/dist/eve/{EveHazeSet.js → attachment/haze/EveHazeSet.js} +65 -6
- package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
- package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
- package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
- package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +13 -2
- package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
- package/dist/eve/attachment/itemSetBounds.js +131 -0
- package/dist/eve/attachment/itemSetBounds.js.map +1 -0
- package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +14 -2
- package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
- package/dist/eve/{EvePlaneSet.js → attachment/plane/EvePlaneSet.js} +119 -7
- package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
- package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
- package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
- package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +13 -2
- package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
- package/dist/eve/{EveSpotlightSet.js → attachment/spotlight/EveSpotlightSet.js} +86 -6
- package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
- package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +14 -2
- package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
- package/dist/eve/{EveSpriteLineSet.js → attachment/sprite/EveSpriteLineSet.js} +69 -7
- package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
- package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +29 -4
- package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
- package/dist/eve/{EveSpriteSet.js → attachment/sprite/EveSpriteSet.js} +87 -8
- package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
- package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +23 -26
- package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js +184 -2
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretSet.js +236 -7
- package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretTarget.js +112 -0
- package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/eve/camera/EveCamera.js +644 -0
- package/dist/eve/camera/EveCamera.js.map +1 -0
- package/dist/eve/child/EveChildAudio.js +63 -0
- package/dist/eve/child/EveChildAudio.js.map +1 -1
- package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
- package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
- package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +41 -3
- package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
- package/dist/eve/child/EveChildContainer.js +175 -16
- package/dist/eve/child/EveChildContainer.js.map +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
- package/dist/eve/child/EveChildFogVolume.js +72 -0
- package/dist/eve/child/EveChildFogVolume.js.map +1 -1
- package/dist/eve/child/EveChildInheritProperties.js +17 -0
- package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
- package/dist/eve/child/EveChildInstancedMeshes.js +211 -1
- package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
- package/dist/eve/child/EveChildLightingOverride.js +74 -0
- package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
- package/dist/{generated/eve → eve}/child/EveChildLink.js +17 -16
- package/dist/eve/child/EveChildLink.js.map +1 -0
- package/dist/eve/child/EveChildMesh.js +351 -105
- package/dist/eve/child/EveChildMesh.js.map +1 -1
- package/dist/eve/child/EveChildSpherePin.js +108 -0
- package/dist/eve/child/EveChildSpherePin.js.map +1 -0
- package/dist/eve/child/EveChildTransform.js +44 -1
- package/dist/eve/child/EveChildTransform.js.map +1 -1
- package/dist/eve/child/IEveSpaceObjectChild.js +5 -0
- package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
- package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
- package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
- package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
- package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
- package/dist/eve/child/behaviors/Wander.js +99 -0
- package/dist/eve/child/behaviors/Wander.js.map +1 -0
- package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
- package/dist/eve/child/behaviors/enums.js.map +1 -0
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
- package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +8 -2
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
- package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +9 -7
- package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
- package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
- package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
- package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +3 -3
- package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js +65 -0
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
- package/dist/eve/child/lineSetPaths/EveCircle.js +63 -0
- package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +24 -16
- package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +22 -19
- package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
- package/dist/eve/child/modifiers/EveChildModifierBooster.js +6 -0
- package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHalo.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +6 -0
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierSRT.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +31 -17
- package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +16 -14
- package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +11 -4
- package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +12 -12
- package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +6 -6
- package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +12 -12
- package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +8 -8
- package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +17 -17
- package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +7 -7
- package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +7 -7
- package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +17 -17
- package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +132 -3
- package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +12 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +9 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +12 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
- package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +16 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +31 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +34 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +14 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +19 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +25 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +17 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
- package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +44 -2
- package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
- package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
- package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
- package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
- package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
- package/dist/eve/index.js +117 -47
- package/dist/eve/index.js.map +1 -1
- package/dist/eve/lights/CjsLightData.js +7 -0
- package/dist/eve/lights/CjsLightData.js.map +1 -1
- package/dist/eve/lights/Tr2Light.js +41 -0
- package/dist/eve/lights/Tr2Light.js.map +1 -1
- package/dist/eve/lights/Tr2PointLight.js +5 -0
- package/dist/eve/lights/Tr2PointLight.js.map +1 -1
- package/dist/eve/lights/Tr2SpotLight.js +5 -0
- package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
- package/dist/eve/lights/Tr2TexturedPointLight.js +10 -0
- package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
- package/dist/eve/lights/lightConversion.js +29 -27
- package/dist/eve/lights/lightConversion.js.map +1 -1
- package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +20 -1
- package/dist/eve/locator/EveLocator2.js.map +1 -0
- package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +43 -1
- package/dist/eve/locator/EveLocatorSets.js.map +1 -0
- package/dist/eve/{Locator.js → locator/Locator.js} +6 -1
- package/dist/eve/locator/Locator.js.map +1 -0
- package/dist/eve/{LocatorData.js → locator/LocatorData.js} +3 -1
- package/dist/eve/locator/LocatorData.js.map +1 -0
- package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
- package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
- package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +5 -5
- package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
- package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +5 -5
- package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
- package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +6 -6
- package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
- package/dist/{generated/eve/scene → eve/particles/static}/EveSceneStaticParticles.js +70 -36
- package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
- package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
- package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js +76 -0
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +85 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +91 -0
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +36 -0
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch.js +158 -9
- package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch2.js +121 -12
- package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch3.js +261 -8
- package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/eve/scene/EveSpaceScene.js +342 -6
- package/dist/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +24 -1
- package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
- package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +74 -2
- package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
- package/dist/eve/scene/picking/EvePickingContext.js +61 -0
- package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
- package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
- package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
- package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
- package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +19 -19
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +19 -19
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +12 -12
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +12 -12
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +30 -30
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +9 -9
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +23 -23
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
- package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +26 -1
- package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +17 -1
- package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +21 -5
- package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
- package/dist/eve/socket/EveSocketParameterFilePath.js +5 -5
- package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
- package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +17 -1
- package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +17 -1
- package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +42 -2
- package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
- package/dist/eve/spaceObject/EveEffectRoot2.js +58 -31
- package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
- package/dist/eve/spaceObject/EveMissile.js +49 -1
- package/dist/eve/spaceObject/EveMissile.js.map +1 -1
- package/dist/eve/spaceObject/EveMissileWarhead.js +100 -1
- package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
- package/dist/eve/spaceObject/EveMobile.js +104 -0
- package/dist/eve/spaceObject/EveMobile.js.map +1 -1
- package/dist/eve/spaceObject/EveRootTransform.js +17 -0
- package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
- package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +32 -12
- package/dist/eve/spaceObject/EveShip2.js.map +1 -0
- package/dist/eve/spaceObject/EveSpaceObject2.js +726 -199
- package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/eve/spaceObject/EveTransform.js +143 -5
- package/dist/eve/spaceObject/EveTransform.js.map +1 -1
- package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
- package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
- package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
- package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
- package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
- package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
- package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
- package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
- package/dist/{generated/eve/spaceObject → eve/spaceObject/planet}/EvePlanet.js +2 -2
- package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
- package/dist/{generated/eve → eve}/spaceObject/swarm/EveSwarmRenderable.js +102 -64
- package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
- package/dist/eve/ui/EveEllipseDefinition.js +15 -0
- package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
- package/dist/eve/ui/EveEllipseSet.js +42 -0
- package/dist/eve/ui/EveEllipseSet.js.map +1 -1
- package/dist/{generated/eve → eve}/ui/EveSpherePin.js +76 -11
- package/dist/eve/ui/EveSpherePin.js.map +1 -0
- package/dist/eve/ui/EveSprite2dBracket.js +5 -0
- package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
- package/dist/eve/ui/EveUiObject.js +11 -0
- package/dist/eve/ui/EveUiObject.js.map +1 -1
- package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +67 -6
- package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
- package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
- package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
- package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +22 -2
- package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
- package/dist/eve/virtualCamera/EveVirtualCamera.js +152 -0
- package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +65 -0
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +19 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +29 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +15 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +38 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +18 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +11 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +14 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +16 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +36 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +36 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +11 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +37 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
- package/dist/eve/volume/EveBoxVolume.js +59 -0
- package/dist/eve/volume/EveBoxVolume.js.map +1 -1
- package/dist/eve/volume/EveEllipsoidVolume.js +54 -0
- package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
- package/dist/eve/volume/EveSphereVolume.js +34 -0
- package/dist/eve/volume/EveSphereVolume.js.map +1 -1
- package/dist/generated/eve/child/EveChildCloud2.js +138 -138
- package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/generated/eve/child/EveChildParticleSystem.js +10 -4
- package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/generated/eve/child/EveChildSocket.js +1 -1
- package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BackAndForth.js +14 -17
- package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js +2 -2
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +26 -29
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
- package/dist/generated/eve/child/behaviors/FollowASpline.js +13 -17
- package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
- package/dist/generated/eve/child/behaviors/PlayFX.js +14 -14
- package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
- package/dist/generated/eve/child/behaviors/index.js +0 -6
- package/dist/generated/eve/child/behaviors/index.js.map +1 -1
- package/dist/generated/eve/child/index.js +0 -23
- package/dist/generated/eve/child/index.js.map +1 -1
- package/dist/generated/eve/effect/index.js +0 -3
- package/dist/generated/eve/effect/index.js.map +1 -1
- package/dist/generated/eve/index.js +0 -88
- package/dist/generated/eve/index.js.map +1 -1
- package/dist/generated/eve/scene/index.js +0 -6
- package/dist/generated/eve/scene/index.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +20 -20
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
- package/dist/generated/eve/smartLights/index.js +0 -8
- package/dist/generated/eve/smartLights/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/index.js +0 -4
- package/dist/generated/eve/spaceObject/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +11 -11
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
- package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
- package/dist/generated/eve/ui/index.js +0 -4
- package/dist/generated/eve/ui/index.js.map +1 -1
- package/dist/generated/index.js +0 -93
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/trinityCore/index.js +0 -5
- package/dist/generated/trinityCore/index.js.map +1 -1
- package/dist/index.js +130 -155
- package/dist/index.js.map +1 -1
- package/dist/particle/Tr2GpuSharedEmitter.js +39 -0
- package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/particle/Tr2GpuUniqueEmitter.js +5 -0
- package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
- package/dist/particle/Tr2ParticleAttractorForce.js +10 -0
- package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDirectForce.js +7 -0
- package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDragForce.js +7 -0
- package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleElementDeclaration.js +5 -0
- package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
- package/dist/particle/Tr2ParticleFluidDragForce.js +10 -0
- package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleSpring.js +10 -0
- package/dist/particle/Tr2ParticleSpring.js.map +1 -1
- package/dist/particle/Tr2ParticleVortexForce.js +10 -0
- package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
- package/dist/particle/particleElementBinding.js +12 -0
- package/dist/particle/particleElementBinding.js.map +1 -1
- package/dist/postProcess/Tr2PPBloomEffect.js +6 -0
- package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +16 -0
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPGenericEffect.js +7 -0
- package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTaaEffect.js +10 -0
- package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTonemappingEffect.js +5 -0
- package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess.js +5 -0
- package/dist/postProcess/Tr2PostProcess.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess2.js +147 -0
- package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
- package/dist/postProcess/Tr2PostProcessAttributes.js +89 -0
- package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
- package/dist/renderJob/Tr2RenderJobs.js +34 -0
- package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
- package/dist/renderJob/TriRenderJob.js +59 -0
- package/dist/renderJob/TriRenderJob.js.map +1 -1
- package/dist/renderJob/TriRenderStep.js +20 -0
- package/dist/renderJob/TriRenderStep.js.map +1 -1
- package/dist/renderJob/TriStepClear.js +18 -0
- package/dist/renderJob/TriStepClear.js.map +1 -1
- package/dist/renderJob/TriStepCopyRenderTarget.js +51 -0
- package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepEnableWireframeMode.js +9 -0
- package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
- package/dist/renderJob/TriStepGenerateMipMaps.js +9 -0
- package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
- package/dist/renderJob/TriStepPopDepthStencil.js +6 -0
- package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPopProjection.js +6 -0
- package/dist/renderJob/TriStepPopProjection.js.map +1 -1
- package/dist/renderJob/TriStepPopRenderTarget.js +12 -0
- package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPopViewTransform.js +6 -0
- package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPopViewport.js +6 -0
- package/dist/renderJob/TriStepPopViewport.js.map +1 -1
- package/dist/renderJob/TriStepPresentSwapChain.js +12 -0
- package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
- package/dist/renderJob/TriStepPushDepthStencil.js +17 -0
- package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPushProjection.js +6 -0
- package/dist/renderJob/TriStepPushProjection.js.map +1 -1
- package/dist/renderJob/TriStepPushRenderTarget.js +9 -0
- package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPushViewTransform.js +6 -0
- package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPushViewport.js +6 -0
- package/dist/renderJob/TriStepPushViewport.js.map +1 -1
- package/dist/renderJob/TriStepRemoteSync.js +17 -0
- package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
- package/dist/renderJob/TriStepResolve.js +13 -0
- package/dist/renderJob/TriStepResolve.js.map +1 -1
- package/dist/renderJob/TriStepRunJob.js +12 -0
- package/dist/renderJob/TriStepRunJob.js.map +1 -1
- package/dist/renderJob/TriStepSetDepthStencil.js +12 -0
- package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepSetProjection.js +14 -0
- package/dist/renderJob/TriStepSetProjection.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderState.js +20 -0
- package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderTarget.js +12 -0
- package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepSetStdRndStates.js +18 -0
- package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
- package/dist/renderJob/TriStepSetView.js +29 -2
- package/dist/renderJob/TriStepSetView.js.map +1 -1
- package/dist/renderJob/TriStepSetViewport.js +17 -0
- package/dist/renderJob/TriStepSetViewport.js.map +1 -1
- package/dist/renderJob/TriStepSetVisualizationMode.js +19 -0
- package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
- package/dist/shader/Tr2Effect.js +217 -2
- package/dist/shader/Tr2Effect.js.map +1 -1
- package/dist/shader/Tr2Material.js +41 -0
- package/dist/shader/Tr2Material.js.map +1 -1
- package/dist/shader/index.js +1 -11
- package/dist/shader/index.js.map +1 -1
- package/dist/shader/material/Tr2EffectLibraryParameters.js +7 -0
- package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
- package/dist/shader/material/Tr2EffectPassParameters.js +23 -0
- package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
- package/dist/shader/material/Tr2MaterialStageInput.js +15 -0
- package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
- package/dist/shader/parameter/CjsParameter.js +94 -0
- package/dist/shader/parameter/CjsParameter.js.map +1 -1
- package/dist/shader/parameter/CjsVectorParameter.js +20 -0
- package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2FloatParameter.js +53 -0
- package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js +39 -0
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Matrix4Parameter.js +54 -0
- package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +54 -0
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js +35 -0
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector2Parameter.js +86 -0
- package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector3Parameter.js +95 -0
- package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector4Parameter.js +105 -0
- package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
- package/dist/shader/parameter/TriFloatArrayParameter.js +26 -0
- package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
- package/dist/shader/parameter/TriTextureParameter.js +84 -0
- package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
- package/dist/shader/parameter/TriTransformParameter.js +2 -0
- package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
- package/dist/shader/parameter/TriVariableParameter.js +38 -0
- package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
- package/dist/shader/parameter/TriVector4.js +2 -0
- package/dist/shader/parameter/TriVector4.js.map +1 -1
- package/dist/shader/reflection/Tr2ShaderOption.js +6 -1
- package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
- package/dist/shader/support/CjsVariableStore.js +140 -0
- package/dist/shader/support/CjsVariableStore.js.map +1 -1
- package/dist/shader/support/Tr2ShaderBuffer.js +15 -0
- package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
- package/dist/trinityCore/CjsBatchManager.js +62 -2
- package/dist/trinityCore/CjsBatchManager.js.map +1 -1
- package/dist/trinityCore/GrannyBoneOffset.js +51 -0
- package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
- package/dist/trinityCore/ITriRenderBatchAccumulator.js +65 -3
- package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/Tr2DirectInstanceData.js +19 -0
- package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2ExpressionTermInfo.js +21 -0
- package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
- package/dist/trinityCore/Tr2GpuBuffer.js +5 -0
- package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
- package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +137 -8
- package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
- package/dist/trinityCore/Tr2InstancedMesh.js +52 -0
- package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
- package/dist/trinityCore/Tr2MaterialParameterStore.js +5 -0
- package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
- package/dist/trinityCore/Tr2Mesh.js +37 -0
- package/dist/trinityCore/Tr2Mesh.js.map +1 -1
- package/dist/trinityCore/Tr2MeshArea.js +78 -0
- package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
- package/dist/trinityCore/Tr2MeshBase.js +98 -2
- package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
- package/dist/trinityCore/Tr2PerObjectData.js +10 -0
- package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
- package/dist/trinityCore/Tr2PickType.js +33 -0
- package/dist/trinityCore/Tr2PickType.js.map +1 -0
- package/dist/trinityCore/Tr2RenderBatch.js +137 -0
- package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
- package/dist/trinityCore/Tr2RenderContext.js +271 -0
- package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
- package/dist/trinityCore/Tr2RuntimeInstanceData.js +179 -0
- package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2ShLightingManager.js +397 -0
- package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
- package/dist/trinityCore/Tr2VariableStore.js +26 -0
- package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
- package/dist/trinityCore/Tr2VisibilityResults.js +5 -0
- package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
- package/dist/trinityCore/TriDevice.js +5 -0
- package/dist/trinityCore/TriDevice.js.map +1 -1
- package/dist/trinityCore/TriFrustum.js +21 -14
- package/dist/trinityCore/TriFrustum.js.map +1 -1
- package/dist/trinityCore/TriObserverLocal.js +43 -0
- package/dist/trinityCore/TriObserverLocal.js.map +1 -1
- package/dist/trinityCore/TriProjection.js +86 -32
- package/dist/trinityCore/TriProjection.js.map +1 -1
- package/dist/trinityCore/TriRect.js +12 -0
- package/dist/trinityCore/TriRect.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchAccumulator.js +46 -0
- package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchMap.js +39 -2
- package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
- package/dist/trinityCore/TriSettings.js +38 -0
- package/dist/trinityCore/TriSettings.js.map +1 -1
- package/dist/trinityCore/TriVariable.js +30 -0
- package/dist/trinityCore/TriVariable.js.map +1 -1
- package/dist/trinityCore/TriView.js +16 -1
- package/dist/trinityCore/TriView.js.map +1 -1
- package/dist/trinityCore/TriViewport.js +12 -0
- package/dist/trinityCore/TriViewport.js.map +1 -1
- package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +1 -1
- package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
- package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
- package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
- package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
- package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
- package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +30 -6
- package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
- package/dist/trinityCore/binding/TriValueBinding.js +648 -0
- package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
- package/dist/trinityCore/index.js +11 -4
- package/dist/trinityCore/index.js.map +1 -1
- package/dist/trinityCore/pickRay.js +84 -0
- package/dist/trinityCore/pickRay.js.map +1 -0
- package/dist/trinityCore/rawData/CjsPerFrameLayouts.js +517 -0
- package/dist/trinityCore/rawData/CjsPerFrameLayouts.js.map +1 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +790 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
- package/dist/trinityCore/rawData/RawData.js +323 -39
- package/dist/trinityCore/rawData/RawData.js.map +1 -1
- package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
- package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
- package/dist/trinityCore/rawData/constantLayout.js +175 -0
- package/dist/trinityCore/rawData/constantLayout.js.map +1 -0
- package/dist/utilities/Range.js +53 -0
- package/dist/utilities/Range.js.map +1 -1
- package/docs/README.md +88 -0
- package/docs/architecture.md +162 -0
- package/docs/concepts/eve-runtime-behavior.md +86 -0
- package/docs/concepts/generated-class-lifecycle.md +116 -0
- package/docs/reference/api.md +76 -0
- package/docs/reference/classes/eve-runtime.md +106 -0
- package/docs/reference/classes/trinity-core.md +26 -0
- package/docs/reference/implementation-status.md +104 -0
- package/docs/reference/main-semantic-extraction.md +104 -0
- package/package.json +34 -24
- package/dist/eve/DecalVSPerObjectData.js +0 -34
- package/dist/eve/DecalVSPerObjectData.js.map +0 -1
- package/dist/eve/EveBannerItem.js +0 -43
- package/dist/eve/EveBannerItem.js.map +0 -1
- package/dist/eve/EveBannerLight.js.map +0 -1
- package/dist/eve/EveBannerSet.js +0 -190
- package/dist/eve/EveBannerSet.js.map +0 -1
- package/dist/eve/EveBasicPerObjectData.js +0 -31
- package/dist/eve/EveBasicPerObjectData.js.map +0 -1
- package/dist/eve/EveBoosterSet2.js.map +0 -1
- package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
- package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
- package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
- package/dist/eve/EveHazeSet.js.map +0 -1
- package/dist/eve/EveHazeSetLight.js.map +0 -1
- package/dist/eve/EveLocator2.js.map +0 -1
- package/dist/eve/EveLocatorSets.js.map +0 -1
- package/dist/eve/EveParticleDirectForce.js.map +0 -1
- package/dist/eve/EveParticleDragForce.js.map +0 -1
- package/dist/eve/EveParticleSpring.js.map +0 -1
- package/dist/eve/EvePerObjectPSData.js +0 -29
- package/dist/eve/EvePerObjectPSData.js.map +0 -1
- package/dist/eve/EvePerObjectVSData.js +0 -29
- package/dist/eve/EvePerObjectVSData.js.map +0 -1
- package/dist/eve/EvePlaneLight.js.map +0 -1
- package/dist/eve/EvePlaneSet.js.map +0 -1
- package/dist/eve/EvePlaneSetItem.js +0 -45
- package/dist/eve/EvePlaneSetItem.js.map +0 -1
- package/dist/eve/EveSpaceObjectAttachmentUtils.js.map +0 -1
- package/dist/eve/EveSpaceObjectDecal.js +0 -150
- package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
- package/dist/eve/EveSpaceObjectPSData.js +0 -73
- package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
- package/dist/eve/EveSpaceObjectVSData.js +0 -79
- package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
- package/dist/eve/EveSpacePerObjectData.js +0 -97
- package/dist/eve/EveSpacePerObjectData.js.map +0 -1
- package/dist/eve/EveSpherePinPerObjectData.js +0 -37
- package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
- package/dist/eve/EveSpotlightLight.js.map +0 -1
- package/dist/eve/EveSpotlightSet.js.map +0 -1
- package/dist/eve/EveSpriteLight.js.map +0 -1
- package/dist/eve/EveSpriteLineSet.js.map +0 -1
- package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
- package/dist/eve/EveSpriteSet.js.map +0 -1
- package/dist/eve/EveTrailsSet.js.map +0 -1
- package/dist/eve/Locator.js.map +0 -1
- package/dist/eve/LocatorData.js.map +0 -1
- package/dist/eve/ProcessLifetimeData.js.map +0 -1
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
- package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
- package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
- package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
- package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
- package/dist/generated/eve/EveCamera.js +0 -264
- package/dist/generated/eve/EveCamera.js.map +0 -1
- package/dist/generated/eve/EveEntity.js +0 -81
- package/dist/generated/eve/EveEntity.js.map +0 -1
- package/dist/generated/eve/attachment/decal/index.js +0 -2
- package/dist/generated/eve/attachment/decal/index.js.map +0 -1
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/haze/index.js +0 -2
- package/dist/generated/eve/attachment/haze/index.js.map +0 -1
- package/dist/generated/eve/attachment/index.js +0 -5
- package/dist/generated/eve/attachment/index.js.map +0 -1
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/spotlights/index.js +0 -2
- package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
- package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/sprites/index.js +0 -2
- package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/enums.js +0 -32
- package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/index.js +0 -2
- package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
- package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
- package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
- package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
- package/dist/generated/eve/child/EveChildLink.js.map +0 -1
- package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
- package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
- package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
- package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
- package/dist/generated/eve/child/behaviors/Wander.js +0 -92
- package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
- package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
- package/dist/generated/eve/child/modifiers/index.js +0 -5
- package/dist/generated/eve/child/modifiers/index.js.map +0 -1
- package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
- package/dist/generated/eve/child/procedural/index.js +0 -10
- package/dist/generated/eve/child/procedural/index.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/index.js +0 -9
- package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
- package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
- package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
- package/dist/generated/eve/distribution/index.js +0 -19
- package/dist/generated/eve/distribution/index.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
- package/dist/generated/eve/distribution/placement/index.js +0 -4
- package/dist/generated/eve/distribution/placement/index.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
- package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/index.js +0 -7
- package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
- package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
- package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
- package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
- package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
- package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
- package/dist/generated/eve/fxAttributes/index.js +0 -3
- package/dist/generated/eve/fxAttributes/index.js.map +0 -1
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
- package/dist/generated/eve/overlays/index.js +0 -2
- package/dist/generated/eve/overlays/index.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/index.js +0 -5
- package/dist/generated/eve/perObjectData/index.js.map +0 -1
- package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
- package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
- package/dist/generated/eve/scene/EvePickingContext.js +0 -43
- package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
- package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
- package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
- package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
- package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
- package/dist/generated/eve/socket/index.js +0 -10
- package/dist/generated/eve/socket/index.js.map +0 -1
- package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
- package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
- package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
- package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
- package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
- package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
- package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
- package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
- package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
- package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
- package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
- package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
- package/dist/generated/trinityCore/TriValueBinding.js +0 -249
- package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
- package/dist/shader/Tr2Shader.js +0 -150
- package/dist/shader/Tr2Shader.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
- package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
- package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
- package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
- package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectResource.js +0 -63
- package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
- package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
- package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
- package/dist/shader/reflection/Tr2Pass.js +0 -46
- package/dist/shader/reflection/Tr2Pass.js.map +0 -1
- package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
- package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
- package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
- package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
- package/dist/trinityCore/rawData/RawDataStore.js +0 -232
- package/dist/trinityCore/rawData/RawDataStore.js.map +0 -1
- /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
- /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
|
@@ -3,6 +3,11 @@ import { CjsModel } from '@carbonenginejs/runtime-utils/model';
|
|
|
3
3
|
import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
|
|
4
4
|
|
|
5
5
|
let _initProto, _initClass, _init_name, _init_extra_name, _init_display, _init_extra_display, _init_index, _init_extra_index, _init_count, _init_extra_count, _init_reversed, _init_extra_reversed, _init_useSHLighting, _init_extra_useSHLighting, _init_effect, _init_extra_effect, _init_castsShadows, _init_extra_castsShadows, _init_generateDepthArea, _init_extra_generateDepthArea, _init_minLod, _init_extra_minLod;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* One drawable range of a mesh: the index and count of geometry groups plus the
|
|
9
|
+
* effect, shadow, depth and LOD state that decide how the range is batched.
|
|
10
|
+
*/
|
|
6
11
|
let _Tr2MeshArea;
|
|
7
12
|
class Tr2MeshArea extends CjsModel {
|
|
8
13
|
static {
|
|
@@ -27,6 +32,7 @@ class Tr2MeshArea extends CjsModel {
|
|
|
27
32
|
// setters. The JS values path has no setter side channel, so they are
|
|
28
33
|
// schema-backed here so SOF-authored shadow/depth/LOD state survives
|
|
29
34
|
// values exchange. Without them every area defaults to shadow-casting.
|
|
35
|
+
|
|
30
36
|
/** m_castsShadows - per-batch-type shadow participation (SOF-stamped). */
|
|
31
37
|
castsShadows = (_init_extra_effect(this), _init_castsShadows(this, true));
|
|
32
38
|
|
|
@@ -41,75 +47,147 @@ class Tr2MeshArea extends CjsModel {
|
|
|
41
47
|
|
|
42
48
|
/** m_jointMappingAnimRig - shared joint mapping owned by the parent mesh. */
|
|
43
49
|
#jointMappingAnimRig = null;
|
|
50
|
+
|
|
51
|
+
/** First geometry group of the area's range. */
|
|
44
52
|
GetIndex() {
|
|
45
53
|
return this.index;
|
|
46
54
|
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Sets the first geometry group, coerced to a signed integer; schedules the
|
|
58
|
+
* batches rebuild.
|
|
59
|
+
*/
|
|
47
60
|
SetIndex(value) {
|
|
48
61
|
this.index = Number(value) | 0;
|
|
49
62
|
}
|
|
63
|
+
|
|
64
|
+
/** Number of geometry groups in the area's range. */
|
|
50
65
|
GetCount() {
|
|
51
66
|
return this.count;
|
|
52
67
|
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Sets the group count, coerced to a signed integer; schedules the batches
|
|
71
|
+
* rebuild.
|
|
72
|
+
*/
|
|
53
73
|
SetCount(value) {
|
|
54
74
|
this.count = Number(value) | 0;
|
|
55
75
|
}
|
|
76
|
+
|
|
77
|
+
/** Whether the area is drawn; a hidden area emits no batch. */
|
|
56
78
|
GetDisplay() {
|
|
57
79
|
return this.display;
|
|
58
80
|
}
|
|
81
|
+
|
|
82
|
+
/** Shows or hides the area. */
|
|
59
83
|
SetDisplay(value) {
|
|
60
84
|
this.display = !!value;
|
|
61
85
|
}
|
|
86
|
+
|
|
87
|
+
/** Whether the area is drawn with reversed winding. */
|
|
62
88
|
GetReversed() {
|
|
63
89
|
return this.reversed;
|
|
64
90
|
}
|
|
91
|
+
|
|
92
|
+
/** Carbon's second name for GetReversed. */
|
|
65
93
|
IsReversed() {
|
|
66
94
|
return this.reversed;
|
|
67
95
|
}
|
|
96
|
+
|
|
97
|
+
/** Sets the reversed-winding flag; schedules the batches rebuild. */
|
|
68
98
|
SetReversed(value) {
|
|
69
99
|
this.reversed = !!value;
|
|
70
100
|
}
|
|
101
|
+
|
|
102
|
+
/** Whether the area is lit with spherical-harmonic lighting. */
|
|
71
103
|
GetUseSHLighting() {
|
|
72
104
|
return this.useSHLighting;
|
|
73
105
|
}
|
|
106
|
+
|
|
107
|
+
/** Sets the spherical-harmonic lighting flag; schedules the batches rebuild. */
|
|
74
108
|
SetUseSHLighting(value) {
|
|
75
109
|
this.useSHLighting = !!value;
|
|
76
110
|
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* The area's effect, which serves as its material and shader key during batch
|
|
114
|
+
* collection; null areas produce no batch.
|
|
115
|
+
*/
|
|
77
116
|
GetMaterialInterface() {
|
|
78
117
|
return this.effect;
|
|
79
118
|
}
|
|
119
|
+
|
|
120
|
+
/** Binds the effect used as this area's material. */
|
|
80
121
|
SetMaterial(value) {
|
|
81
122
|
this.effect = value ?? null;
|
|
82
123
|
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* The authored area name, which SOF and effect bindings use to address this
|
|
127
|
+
* area of the mesh.
|
|
128
|
+
*/
|
|
83
129
|
GetName() {
|
|
84
130
|
return this.name;
|
|
85
131
|
}
|
|
132
|
+
|
|
133
|
+
/** Sets the area name, coercing null to an empty string. */
|
|
86
134
|
SetName(value) {
|
|
87
135
|
this.name = String(value ?? "");
|
|
88
136
|
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Whether the area takes part in shadow and overlay area-block collection; SOF
|
|
140
|
+
* stamps this per batch type and it defaults to true.
|
|
141
|
+
*/
|
|
89
142
|
IsCastingShadows() {
|
|
90
143
|
return this.castsShadows;
|
|
91
144
|
}
|
|
145
|
+
|
|
146
|
+
/** Sets shadow participation; schedules the batches rebuild. */
|
|
92
147
|
SetCastsShadows(value) {
|
|
93
148
|
this.castsShadows = !!value;
|
|
94
149
|
}
|
|
150
|
+
|
|
151
|
+
/** Whether the authored area participates in depth-area generation. */
|
|
95
152
|
GetGenerateDepthArea() {
|
|
96
153
|
return this.generateDepthArea;
|
|
97
154
|
}
|
|
155
|
+
|
|
156
|
+
/** Sets depth-area participation; schedules the batches rebuild. */
|
|
98
157
|
SetGenerateDepthArea(value) {
|
|
99
158
|
this.generateDepthArea = !!value;
|
|
100
159
|
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Lowest LOD at which the area is visible; -1 (TR2_LOD_UNSPECIFIED) means
|
|
163
|
+
* unrestricted.
|
|
164
|
+
*/
|
|
101
165
|
GetMinLod() {
|
|
102
166
|
return this.minLod;
|
|
103
167
|
}
|
|
168
|
+
|
|
169
|
+
/** Sets the minimum visible LOD, coerced to a signed integer. */
|
|
104
170
|
SetMinLod(lod) {
|
|
105
171
|
this.minLod = Number(lod) | 0;
|
|
106
172
|
}
|
|
173
|
+
|
|
174
|
+
/** Skinning joint count, filled in when the parent mesh binds to a rig. */
|
|
107
175
|
GetJointCount() {
|
|
108
176
|
return this.#jointCount;
|
|
109
177
|
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Sets the skinning joint count; CopyFrom deliberately resets it to zero for a
|
|
181
|
+
* new owner.
|
|
182
|
+
*/
|
|
110
183
|
SetJointCount(value) {
|
|
111
184
|
this.#jointCount = Number(value) >>> 0;
|
|
112
185
|
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* The joint mapping array; it is owned by the parent mesh and shared by every
|
|
189
|
+
* area, so it must not be mutated here.
|
|
190
|
+
*/
|
|
113
191
|
GetJointMappingAnimRig() {
|
|
114
192
|
return this.#jointMappingAnimRig;
|
|
115
193
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2MeshArea.js","sources":["../../../src/trinityCore/Tr2MeshArea.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshArea.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshArea.cpp\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshArea_Blue.cpp\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\n\n\n@type.define({ className: \"Tr2MeshArea\", family: \"trinityCore\" })\nexport class Tr2MeshArea extends CjsModel\n{\n @io.persist\n @type.string\n name = \"\";\n\n @io.readwrite\n @type.boolean\n display = true;\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.int32\n index = 0;\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.int32\n count = 1;\n\n @io.rebuild(\"batches\")\n @io.persistOnly\n @type.boolean\n reversed = false;\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.boolean\n useSHLighting = false;\n\n @io.rebuild(\"batches\")\n @io.notify\n @io.persist\n @type.objectRef(\"Tr2Effect\")\n effect = null;\n\n // DIVERGENCE (deliberate, precedent: EvePlaneSetItem.blinkData): Carbon\n // keeps these three as private runtime state stamped by SOF through\n // setters. The JS values path has no setter side channel, so they are\n // schema-backed here so SOF-authored shadow/depth/LOD state survives\n // values exchange. Without them every area defaults to shadow-casting.\n /** m_castsShadows - per-batch-type shadow participation (SOF-stamped). */\n @io.rebuild(\"batches\")\n @io.persist\n @type.boolean\n castsShadows = true;\n\n /** m_generateDepthArea - authored depth-area participation (SOF-stamped). */\n @io.rebuild(\"batches\")\n @io.persist\n @type.boolean\n generateDepthArea = false;\n\n /** m_minLod (Tr2Lod) - minimal visible lod; TR2_LOD_UNSPECIFIED = -1. */\n @io.rebuild(\"batches\")\n @io.persist\n @type.int32\n minLod = -1;\n\n /** m_jointCount - skinning joint count, fed by Tr2MeshBase.BindToRig. */\n #jointCount = 0;\n\n /** m_jointMappingAnimRig - shared joint mapping owned by the parent mesh. */\n #jointMappingAnimRig = null;\n\n @carbon.method\n @impl.adapted\n GetIndex()\n {\n return this.index;\n }\n\n @carbon.method\n @impl.adapted\n SetIndex(value)\n {\n this.index = Number(value) | 0;\n }\n\n @carbon.method\n @impl.adapted\n GetCount()\n {\n return this.count;\n }\n\n @carbon.method\n @impl.adapted\n SetCount(value)\n {\n this.count = Number(value) | 0;\n }\n\n @carbon.method\n @impl.adapted\n GetDisplay()\n {\n return this.display;\n }\n\n @carbon.method\n @impl.adapted\n SetDisplay(value)\n {\n this.display = !!value;\n }\n\n @carbon.method\n @impl.adapted\n GetReversed()\n {\n return this.reversed;\n }\n\n @carbon.method\n @impl.adapted\n IsReversed()\n {\n return this.reversed;\n }\n\n @carbon.method\n @impl.adapted\n SetReversed(value)\n {\n this.reversed = !!value;\n }\n\n @carbon.method\n @impl.adapted\n GetUseSHLighting()\n {\n return this.useSHLighting;\n }\n\n @carbon.method\n @impl.adapted\n SetUseSHLighting(value)\n {\n this.useSHLighting = !!value;\n }\n\n @carbon.method\n @impl.adapted\n GetMaterialInterface()\n {\n return this.effect;\n }\n\n @carbon.method\n @impl.adapted\n SetMaterial(value)\n {\n this.effect = value ?? null;\n }\n\n @carbon.method\n @impl.implemented\n GetName()\n {\n return this.name;\n }\n\n @carbon.method\n @impl.adapted\n SetName(value)\n {\n this.name = String(value ?? \"\");\n }\n\n @carbon.method\n @impl.adapted\n IsCastingShadows()\n {\n return this.castsShadows;\n }\n\n @carbon.method\n @impl.adapted\n SetCastsShadows(value)\n {\n this.castsShadows = !!value;\n }\n\n @carbon.method\n @impl.adapted\n GetGenerateDepthArea()\n {\n return this.generateDepthArea;\n }\n\n @carbon.method\n @impl.adapted\n SetGenerateDepthArea(value)\n {\n this.generateDepthArea = !!value;\n }\n\n @carbon.method\n @impl.implemented\n GetMinLod()\n {\n return this.minLod;\n }\n\n @carbon.method\n @impl.implemented\n SetMinLod(lod)\n {\n this.minLod = Number(lod) | 0;\n }\n\n @carbon.method\n @impl.implemented\n GetJointCount()\n {\n return this.#jointCount;\n }\n\n @carbon.method\n @impl.implemented\n SetJointCount(value)\n {\n this.#jointCount = Number(value) >>> 0;\n }\n\n @carbon.method\n @impl.implemented\n GetJointMappingAnimRig()\n {\n return this.#jointMappingAnimRig;\n }\n\n /**\n * The provided array is NOT owned by this instance, it is owned by the\n * parent mesh; each mesh area shares the same array.\n */\n @carbon.method\n @impl.implemented\n SetJointMappingAnimRig(value)\n {\n this.#jointMappingAnimRig = value ?? null;\n }\n\n /**\n * Carbon's operator= - copies authored fields and deliberately resets the\n * joint state, which BindToRig must rebuild for the new owner.\n */\n @carbon.method\n @impl.adapted\n CopyFrom(other)\n {\n this.name = other.name;\n this.index = other.index;\n this.count = other.count;\n this.reversed = other.reversed;\n this.effect = other.effect;\n this.#jointCount = 0;\n this.#jointMappingAnimRig = null;\n this.display = other.display;\n this.useSHLighting = other.useSHLighting;\n this.generateDepthArea = other.GetGenerateDepthArea();\n return this;\n }\n}\n"],"names":["_Tr2MeshArea","Tr2MeshArea","CjsModel","e","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_index","_init_extra_index","_init_count","_init_extra_count","_init_reversed","_init_extra_reversed","_init_useSHLighting","_init_extra_useSHLighting","_init_effect","_init_extra_effect","_init_castsShadows","_init_extra_castsShadows","_init_generateDepthArea","_init_extra_generateDepthArea","_init_minLod","_init_extra_minLod","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","readwrite","boolean","rebuild","int32","persistOnly","notify","objectRef","carbon","method","impl","adapted","implemented","name","display","index","count","reversed","useSHLighting","effect","castsShadows","generateDepthArea","minLod","GetIndex","SetIndex","value","Number","GetCount","SetCount","GetDisplay","SetDisplay","GetReversed","IsReversed","SetReversed","GetUseSHLighting","SetUseSHLighting","GetMaterialInterface","SetMaterial","GetName","SetName","String","IsCastingShadows","SetCastsShadows","GetGenerateDepthArea","SetGenerateDepthArea","GetMinLod","SetMinLod","lod","GetJointCount","SetJointCount","GetJointMappingAnimRig","SetJointMappingAnimRig","CopyFrom","other"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tr2MeshArea.js","sources":["../../../src/trinityCore/Tr2MeshArea.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshArea.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshArea.cpp\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshArea_Blue.cpp\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\n\n\n/**\n * One drawable range of a mesh: the index and count of geometry groups plus the\n * effect, shadow, depth and LOD state that decide how the range is batched.\n */\n@type.define({ className: \"Tr2MeshArea\", family: \"trinityCore\" })\nexport class Tr2MeshArea extends CjsModel\n{\n @io.persist\n @type.string\n name = \"\";\n\n @io.readwrite\n @type.boolean\n display = true;\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.int32\n index = 0;\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.int32\n count = 1;\n\n @io.rebuild(\"batches\")\n @io.persistOnly\n @type.boolean\n reversed = false;\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.boolean\n useSHLighting = false;\n\n @io.rebuild(\"batches\")\n @io.notify\n @io.persist\n @type.objectRef(\"Tr2Effect\")\n effect = null;\n\n // DIVERGENCE (deliberate, precedent: EvePlaneSetItem.blinkData): Carbon\n // keeps these three as private runtime state stamped by SOF through\n // setters. The JS values path has no setter side channel, so they are\n // schema-backed here so SOF-authored shadow/depth/LOD state survives\n // values exchange. Without them every area defaults to shadow-casting.\n\n /** m_castsShadows - per-batch-type shadow participation (SOF-stamped). */\n @io.rebuild(\"batches\")\n @io.persist\n @type.boolean\n castsShadows = true;\n\n /** m_generateDepthArea - authored depth-area participation (SOF-stamped). */\n @io.rebuild(\"batches\")\n @io.persist\n @type.boolean\n generateDepthArea = false;\n\n /** m_minLod (Tr2Lod) - minimal visible lod; TR2_LOD_UNSPECIFIED = -1. */\n @io.rebuild(\"batches\")\n @io.persist\n @type.int32\n minLod = -1;\n\n /** m_jointCount - skinning joint count, fed by Tr2MeshBase.BindToRig. */\n #jointCount = 0;\n\n /** m_jointMappingAnimRig - shared joint mapping owned by the parent mesh. */\n #jointMappingAnimRig = null;\n\n /** First geometry group of the area's range. */\n @carbon.method\n @impl.adapted\n GetIndex()\n {\n return this.index;\n }\n\n /**\n * Sets the first geometry group, coerced to a signed integer; schedules the\n * batches rebuild.\n */\n @carbon.method\n @impl.adapted\n SetIndex(value)\n {\n this.index = Number(value) | 0;\n }\n\n /** Number of geometry groups in the area's range. */\n @carbon.method\n @impl.adapted\n GetCount()\n {\n return this.count;\n }\n\n /**\n * Sets the group count, coerced to a signed integer; schedules the batches\n * rebuild.\n */\n @carbon.method\n @impl.adapted\n SetCount(value)\n {\n this.count = Number(value) | 0;\n }\n\n /** Whether the area is drawn; a hidden area emits no batch. */\n @carbon.method\n @impl.adapted\n GetDisplay()\n {\n return this.display;\n }\n\n /** Shows or hides the area. */\n @carbon.method\n @impl.adapted\n SetDisplay(value)\n {\n this.display = !!value;\n }\n\n /** Whether the area is drawn with reversed winding. */\n @carbon.method\n @impl.adapted\n GetReversed()\n {\n return this.reversed;\n }\n\n /** Carbon's second name for GetReversed. */\n @carbon.method\n @impl.adapted\n IsReversed()\n {\n return this.reversed;\n }\n\n /** Sets the reversed-winding flag; schedules the batches rebuild. */\n @carbon.method\n @impl.adapted\n SetReversed(value)\n {\n this.reversed = !!value;\n }\n\n /** Whether the area is lit with spherical-harmonic lighting. */\n @carbon.method\n @impl.adapted\n GetUseSHLighting()\n {\n return this.useSHLighting;\n }\n\n /** Sets the spherical-harmonic lighting flag; schedules the batches rebuild. */\n @carbon.method\n @impl.adapted\n SetUseSHLighting(value)\n {\n this.useSHLighting = !!value;\n }\n\n /**\n * The area's effect, which serves as its material and shader key during batch\n * collection; null areas produce no batch.\n */\n @carbon.method\n @impl.adapted\n GetMaterialInterface()\n {\n return this.effect;\n }\n\n /** Binds the effect used as this area's material. */\n @carbon.method\n @impl.adapted\n SetMaterial(value)\n {\n this.effect = value ?? null;\n }\n\n /**\n * The authored area name, which SOF and effect bindings use to address this\n * area of the mesh.\n */\n @carbon.method\n @impl.implemented\n GetName()\n {\n return this.name;\n }\n\n /** Sets the area name, coercing null to an empty string. */\n @carbon.method\n @impl.adapted\n SetName(value)\n {\n this.name = String(value ?? \"\");\n }\n\n /**\n * Whether the area takes part in shadow and overlay area-block collection; SOF\n * stamps this per batch type and it defaults to true.\n */\n @carbon.method\n @impl.adapted\n IsCastingShadows()\n {\n return this.castsShadows;\n }\n\n /** Sets shadow participation; schedules the batches rebuild. */\n @carbon.method\n @impl.adapted\n SetCastsShadows(value)\n {\n this.castsShadows = !!value;\n }\n\n /** Whether the authored area participates in depth-area generation. */\n @carbon.method\n @impl.adapted\n GetGenerateDepthArea()\n {\n return this.generateDepthArea;\n }\n\n /** Sets depth-area participation; schedules the batches rebuild. */\n @carbon.method\n @impl.adapted\n SetGenerateDepthArea(value)\n {\n this.generateDepthArea = !!value;\n }\n\n /**\n * Lowest LOD at which the area is visible; -1 (TR2_LOD_UNSPECIFIED) means\n * unrestricted.\n */\n @carbon.method\n @impl.implemented\n GetMinLod()\n {\n return this.minLod;\n }\n\n /** Sets the minimum visible LOD, coerced to a signed integer. */\n @carbon.method\n @impl.implemented\n SetMinLod(lod)\n {\n this.minLod = Number(lod) | 0;\n }\n\n /** Skinning joint count, filled in when the parent mesh binds to a rig. */\n @carbon.method\n @impl.implemented\n GetJointCount()\n {\n return this.#jointCount;\n }\n\n /**\n * Sets the skinning joint count; CopyFrom deliberately resets it to zero for a\n * new owner.\n */\n @carbon.method\n @impl.implemented\n SetJointCount(value)\n {\n this.#jointCount = Number(value) >>> 0;\n }\n\n /**\n * The joint mapping array; it is owned by the parent mesh and shared by every\n * area, so it must not be mutated here.\n */\n @carbon.method\n @impl.implemented\n GetJointMappingAnimRig()\n {\n return this.#jointMappingAnimRig;\n }\n\n /**\n * The provided array is NOT owned by this instance, it is owned by the\n * parent mesh; each mesh area shares the same array.\n */\n @carbon.method\n @impl.implemented\n SetJointMappingAnimRig(value)\n {\n this.#jointMappingAnimRig = value ?? null;\n }\n\n /**\n * Carbon's operator= - copies authored fields and deliberately resets the\n * joint state, which BindToRig must rebuild for the new owner.\n */\n @carbon.method\n @impl.adapted\n CopyFrom(other)\n {\n this.name = other.name;\n this.index = other.index;\n this.count = other.count;\n this.reversed = other.reversed;\n this.effect = other.effect;\n this.#jointCount = 0;\n this.#jointMappingAnimRig = null;\n this.display = other.display;\n this.useSHLighting = other.useSHLighting;\n this.generateDepthArea = other.GetGenerateDepthArea();\n return this;\n }\n}\n"],"names":["_Tr2MeshArea","Tr2MeshArea","CjsModel","e","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_index","_init_extra_index","_init_count","_init_extra_count","_init_reversed","_init_extra_reversed","_init_useSHLighting","_init_extra_useSHLighting","_init_effect","_init_extra_effect","_init_castsShadows","_init_extra_castsShadows","_init_generateDepthArea","_init_extra_generateDepthArea","_init_minLod","_init_extra_minLod","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","readwrite","boolean","rebuild","int32","persistOnly","notify","objectRef","carbon","method","impl","adapted","implemented","name","display","index","count","reversed","useSHLighting","effect","castsShadows","generateDepthArea","minLod","GetIndex","SetIndex","value","Number","GetCount","SetCount","GetDisplay","SetDisplay","GetReversed","IsReversed","SetReversed","GetUseSHLighting","SetUseSHLighting","GetMaterialInterface","SetMaterial","GetName","SetName","String","IsCastingShadows","SetCastsShadows","GetGenerateDepthArea","SetGenerateDepthArea","GetMinLod","SetMinLod","lod","GetJointCount","SetJointCount","GetJointMappingAnimRig","SetJointMappingAnimRig","CopyFrom","other"],"mappings":"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"}
|
|
@@ -5,6 +5,11 @@ import { TriBatchType } from '@carbonenginejs/runtime-utils/graphics';
|
|
|
5
5
|
import { Tr2RenderBatch, TriRenderBatchAreaBlock, TriRenderBatchAreaBlocksWithSharedMaterial } from './Tr2RenderBatch.js';
|
|
6
6
|
|
|
7
7
|
let _initProto, _initClass, _init_name, _init_extra_name, _init_display, _init_extra_display, _init_meshIndex, _init_extra_meshIndex, _init_opaqueAreas, _init_extra_opaqueAreas, _init_decalAreas, _init_extra_decalAreas, _init_depthAreas, _init_extra_depthAreas, _init_transparentAreas, _init_extra_transparentAreas, _init_additiveAreas, _init_extra_additiveAreas, _init_pickableAreas, _init_extra_pickableAreas, _init_mirrorAreas, _init_extra_mirrorAreas, _init_decalNormalAreas, _init_extra_decalNormalAreas, _init_depthNormalAreas, _init_extra_depthNormalAreas, _init_opaquePrepassAreas, _init_extra_opaquePrepassAreas, _init_decalPrepassAreas, _init_extra_decalPrepassAreas, _init_geometryEraserAreas, _init_extra_geometryEraserAreas, _init_distortionAreas, _init_extra_distortionAreas, _init_flareAreas, _init_extra_flareAreas, _init_maxVertexScale, _init_extra_maxVertexScale, _init_maxVertexDisplacement, _init_extra_maxVertexDisplacement, _init_rotatesVertices, _init_extra_rotatesVertices;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Base mesh: owns one mesh-area list per batch type and turns the displayed
|
|
11
|
+
* areas into GPU-free render batches and shadow area blocks.
|
|
12
|
+
*/
|
|
8
13
|
let _Tr2MeshBase;
|
|
9
14
|
new class extends _identity {
|
|
10
15
|
static [class Tr2MeshBase extends CjsModel {
|
|
@@ -15,7 +20,7 @@ new class extends _identity {
|
|
|
15
20
|
} = _applyDecs2311(this, [type.define({
|
|
16
21
|
className: "Tr2MeshBase",
|
|
17
22
|
family: "trinityCore"
|
|
18
|
-
})], [[[io, io.persist, type, type.string], 16, "name"], [[io, io.readwrite, type, type.boolean], 16, "display"], [[void 0, io.rebuild("batches"), io, io.notify, io, io.persist, type, type.int32], 16, "meshIndex"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "opaqueAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "decalAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "depthAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "transparentAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "additiveAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "pickableAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "mirrorAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "decalNormalAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "depthNormalAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "opaquePrepassAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "decalPrepassAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "geometryEraserAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "distortionAreas"], [io.rebuild("batches"), 0, "flareAreas"], [[io, io.read, io, io.persist, type, type.float32], 16, "maxVertexScale"], [[io, io.read, io, io.persist, type, type.float32], 16, "maxVertexDisplacement"], [[io, io.read, io, io.persist, type, type.boolean], 16, "rotatesVertices"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetAreas"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddArea"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetAllAreas"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMaterialBoundsAdjustment"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMaterialBoundsAdjustment"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetGeometryResPath"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("GPU-free descriptor batches: geometry buffers and final draw args are resolved by the engine at dispatch")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("GPU-free: emits a geometry source descriptor instead of realized Tr2BufferAL allocations")], 18, "CreateGeometryBatch"], [[carbon, carbon.method, impl, impl.implemented], 18, "CollectAreaBlocks"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Material grouping uses reference identity in place of Carbon's effect hash values.")], 18, "CollectAreaBlocksWithSharedMaterials"]], 0, void 0, CjsModel));
|
|
23
|
+
})], [[[io, io.persist, type, type.string], 16, "name"], [[io, io.readwrite, type, type.boolean], 16, "display"], [[void 0, io.rebuild("batches"), io, io.notify, io, io.persist, type, type.int32], 16, "meshIndex"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "opaqueAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "decalAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "depthAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "transparentAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "additiveAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "pickableAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "mirrorAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "decalNormalAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "depthNormalAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "opaquePrepassAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "decalPrepassAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "geometryEraserAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "distortionAreas"], [[io.rebuild("batches"), type.list("Tr2MeshArea")], 0, "flareAreas"], [[io, io.read, io, io.persist, type, type.float32], 16, "maxVertexScale"], [[io, io.read, io, io.persist, type, type.float32], 16, "maxVertexDisplacement"], [[io, io.read, io, io.persist, type, type.boolean], 16, "rotatesVertices"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetAreas"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddArea"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetAllAreas"], [[carbon, carbon.method, impl, impl.implemented], 18, "UseWithScreenSize"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMaterialBoundsAdjustment"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMaterialBoundsAdjustment"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetGeometryResPath"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("GPU-free descriptor batches: geometry buffers and final draw args are resolved by the engine at dispatch")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("GPU-free: emits a geometry source descriptor instead of realized Tr2BufferAL allocations")], 18, "CreateGeometryBatch"], [[carbon, carbon.method, impl, impl.implemented], 18, "CollectAreaBlocks"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Material grouping uses reference identity in place of Carbon's effect hash values.")], 18, "CollectAreaBlocksWithSharedMaterials"]], 0, void 0, CjsModel));
|
|
19
24
|
}
|
|
20
25
|
constructor(...args) {
|
|
21
26
|
super(...args);
|
|
@@ -38,25 +43,77 @@ new class extends _identity {
|
|
|
38
43
|
geometryEraserAreas = (_init_extra_decalPrepassAreas(this), _init_geometryEraserAreas(this, []));
|
|
39
44
|
distortionAreas = (_init_extra_geometryEraserAreas(this), _init_distortionAreas(this, []));
|
|
40
45
|
|
|
41
|
-
// Carbon routes TRIBATCHTYPE_FLARE but does not expose this list to Blue
|
|
46
|
+
// Carbon routes TRIBATCHTYPE_FLARE but does not expose this list to Blue, so
|
|
47
|
+
// this list is typed without being read or persisted: the type declaration is
|
|
48
|
+
// what makes its areas reachable to graph traversal, independent of io.
|
|
42
49
|
flareAreas = (_init_extra_distortionAreas(this), _init_flareAreas(this, []));
|
|
43
50
|
maxVertexScale = (_init_extra_flareAreas(this), _init_maxVertexScale(this, 1));
|
|
44
51
|
maxVertexDisplacement = (_init_extra_maxVertexScale(this), _init_maxVertexDisplacement(this, 0));
|
|
45
52
|
rotatesVertices = (_init_extra_maxVertexDisplacement(this), _init_rotatesVertices(this, false));
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* The live area list for a TriBatchType, or null for a non-integer or unmapped
|
|
56
|
+
* type.
|
|
57
|
+
*/
|
|
46
58
|
GetAreas(areaType) {
|
|
47
59
|
if (!Number.isInteger(areaType)) return null;
|
|
48
60
|
const property = _Tr2MeshBase.#areaProperties[areaType];
|
|
49
61
|
return property ? this[property] : null;
|
|
50
62
|
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Appends an area to the list for a batch type; returns false when that type
|
|
66
|
+
* has no list.
|
|
67
|
+
*/
|
|
51
68
|
AddArea(areaType, area) {
|
|
52
69
|
const areas = this.GetAreas(areaType);
|
|
53
70
|
if (!areas) return false;
|
|
54
71
|
areas.push(area);
|
|
55
72
|
return true;
|
|
56
73
|
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Every area of every batch type, in batch-type order, as one newly allocated
|
|
77
|
+
* array.
|
|
78
|
+
*/
|
|
57
79
|
GetAllAreas() {
|
|
58
80
|
return _Tr2MeshBase.#areaProperties.flatMap(property => this[property]);
|
|
59
81
|
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Carbon Tr2MeshBase::UseWithScreenSize (Tr2MeshBase.cpp:589-610): reports the
|
|
85
|
+
* on-screen size this mesh is being drawn at to every area material, so the
|
|
86
|
+
* texture streamer can request a matching mip level. The LOD the size resolves
|
|
87
|
+
* to supplies the uv densities the material needs to turn a pixel size into a
|
|
88
|
+
* texture resolution.
|
|
89
|
+
*
|
|
90
|
+
* Callers pass a screen size already scaled by the LOD factor
|
|
91
|
+
* (EveSpaceObject2, EveTransform, EveChildMesh, BehaviorGroup).
|
|
92
|
+
*/
|
|
93
|
+
UseWithScreenSize(screenSize, worldRadius) {
|
|
94
|
+
const geometry = this.GetGeometryResource?.() ?? null;
|
|
95
|
+
if (!geometry) return false;
|
|
96
|
+
const lod = geometry.GetMeshLod?.(this.meshIndex, screenSize) ?? null;
|
|
97
|
+
if (!lod) return false;
|
|
98
|
+
|
|
99
|
+
// Carbon reads m_uvDensities off the resolved LOD; a resource that exposes
|
|
100
|
+
// none yields an empty list, which the material treats as "no LOD data" and
|
|
101
|
+
// requests the full resolution.
|
|
102
|
+
const uvDensities = lod.uvDensities ?? lod.m_uvDensities ?? [];
|
|
103
|
+
let reported = false;
|
|
104
|
+
for (const area of this.GetAllAreas()) {
|
|
105
|
+
const material = area?.GetMaterialInterface?.();
|
|
106
|
+
if (!material?.UsedWithScreenSize) continue;
|
|
107
|
+
material.UsedWithScreenSize(screenSize, worldRadius, uvDensities);
|
|
108
|
+
reported = true;
|
|
109
|
+
}
|
|
110
|
+
return reported;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Sets a shader option on every area effect that supports it; returns whether
|
|
115
|
+
* at least one area was updated.
|
|
116
|
+
*/
|
|
60
117
|
SetShaderOption(name, value) {
|
|
61
118
|
let updated = false;
|
|
62
119
|
for (const area of this.GetAllAreas()) {
|
|
@@ -66,6 +123,12 @@ new class extends _identity {
|
|
|
66
123
|
}
|
|
67
124
|
return updated;
|
|
68
125
|
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* The vertex-displacement bounds adjustment consumers apply to this mesh: max
|
|
129
|
+
* local scale, max local displacement and whether the material rotates
|
|
130
|
+
* vertices.
|
|
131
|
+
*/
|
|
69
132
|
GetMaterialBoundsAdjustment() {
|
|
70
133
|
return {
|
|
71
134
|
maxLocalScale: this.maxVertexScale,
|
|
@@ -73,6 +136,11 @@ new class extends _identity {
|
|
|
73
136
|
rotatesVertices: this.rotatesVertices
|
|
74
137
|
};
|
|
75
138
|
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Stores the bounds adjustment, coercing missing or non-numeric entries to
|
|
142
|
+
* zero and false.
|
|
143
|
+
*/
|
|
76
144
|
SetMaterialBoundsAdjustment(value) {
|
|
77
145
|
const source = value || {};
|
|
78
146
|
this.maxVertexScale = Number(source.maxLocalScale) || 0;
|
|
@@ -80,6 +148,8 @@ new class extends _identity {
|
|
|
80
148
|
this.rotatesVertices = !!source.rotatesVertices;
|
|
81
149
|
return true;
|
|
82
150
|
}
|
|
151
|
+
|
|
152
|
+
/** Empty at this level; Tr2Mesh overrides it with the real geometry path. */
|
|
83
153
|
GetGeometryResPath() {
|
|
84
154
|
return "";
|
|
85
155
|
}
|
|
@@ -89,6 +159,13 @@ new class extends _identity {
|
|
|
89
159
|
// scene collector can drive a mesh directly and a transform can pass a
|
|
90
160
|
// pre-fetched vector (Carbon Tr2Transform::GetBatches passes GetAreas(type)).
|
|
91
161
|
// Returns whether any batch was committed (JS addition; Carbon returns void).
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Emits one batch per displayed area into the accumulator, where areas may be
|
|
165
|
+
* a TriBatchType or an already-resolved area list, so a scene collector or a
|
|
166
|
+
* transform can drive the mesh directly; returns whether any batch was
|
|
167
|
+
* committed (a JS addition, Carbon returns void).
|
|
168
|
+
*/
|
|
92
169
|
GetBatches(accumulator, areas, perObjectData, _reason) {
|
|
93
170
|
if (this.display === false) return false;
|
|
94
171
|
const areaList = Array.isArray(areas) ? areas : this.GetAreas(areas);
|
|
@@ -106,6 +183,13 @@ new class extends _identity {
|
|
|
106
183
|
// material/shader key, and the geometry + area range are recorded as a source
|
|
107
184
|
// descriptor for the engine to realize. Returns null for a hidden or
|
|
108
185
|
// material-less area (Carbon returns an invalid batch in those cases).
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Builds one GPU-free batch for a mesh area, using the area's effect as
|
|
189
|
+
* material and shader key and recording geometry plus area range as a source
|
|
190
|
+
* descriptor; returns null for a hidden or material-less area, where Carbon
|
|
191
|
+
* returns an invalid batch.
|
|
192
|
+
*/
|
|
109
193
|
CreateGeometryBatch(geometry, area, perObjectData) {
|
|
110
194
|
if (!area || area.GetDisplay() === false) return null;
|
|
111
195
|
const effect = area.GetMaterialInterface();
|
|
@@ -122,6 +206,12 @@ new class extends _identity {
|
|
|
122
206
|
// Appends one (startIndex, count) block per area of the requested type.
|
|
123
207
|
// Carbon deliberately skips non-shadow-casting OPAQUE areas here too (overlay
|
|
124
208
|
// rendering over e.g. scaffolding build effects causes problems).
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Appends one clamped (startIndex, count) block per area of the requested type
|
|
212
|
+
* to the caller's collector, skipping non-shadow-casting OPAQUE areas as
|
|
213
|
+
* Carbon does because overlay rendering over build effects misbehaves.
|
|
214
|
+
*/
|
|
125
215
|
CollectAreaBlocks(collector, areaType) {
|
|
126
216
|
const areas = this.GetAreas(areaType);
|
|
127
217
|
if (!areas) return collector;
|
|
@@ -135,6 +225,12 @@ new class extends _identity {
|
|
|
135
225
|
// Appends blocks grouped by shared area material (the shadow path). Skips
|
|
136
226
|
// non-shadow-casting OPAQUE and DECAL areas. Faithfully does NOT clamp
|
|
137
227
|
// negative index/count (Carbon asymmetry with CollectAreaBlocks).
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Appends blocks grouped by shared area material for the shadow path, skipping
|
|
231
|
+
* non-shadow-casting OPAQUE and DECAL areas, and faithfully reproduces
|
|
232
|
+
* Carbon's asymmetry by not clamping negative index or count.
|
|
233
|
+
*/
|
|
138
234
|
CollectAreaBlocksWithSharedMaterials(collectors, areaType) {
|
|
139
235
|
const areas = this.GetAreas(areaType);
|
|
140
236
|
if (!areas) return collectors;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2MeshBase.js","sources":["../../../src/trinityCore/Tr2MeshBase.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshBase.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshBase.cpp\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshBase_Blue.cpp\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { TriBatchType } from \"@carbonenginejs/runtime-utils/graphics\";\nimport { Tr2RenderBatch, TriRenderBatchAreaBlock, TriRenderBatchAreaBlocksWithSharedMaterial } from \"./Tr2RenderBatch.js\";\n\n\n@type.define({ className: \"Tr2MeshBase\", family: \"trinityCore\" })\nexport class Tr2MeshBase extends CjsModel\n{\n @io.persist\n @type.string\n name = \"\";\n\n @io.readwrite\n @type.boolean\n display = true;\n\n @io.rebuild(\"batches\")\n @io.notify\n @io.persist\n @type.int32\n meshIndex = 0;\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n opaqueAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n decalAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n depthAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n transparentAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n additiveAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n pickableAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n mirrorAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n decalNormalAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n depthNormalAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n opaquePrepassAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n decalPrepassAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n geometryEraserAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n distortionAreas = [];\n\n // Carbon routes TRIBATCHTYPE_FLARE but does not expose this list to Blue.\n @io.rebuild(\"batches\")\n flareAreas = [];\n\n @io.read\n @io.persist\n @type.float32\n maxVertexScale = 1;\n\n @io.read\n @io.persist\n @type.float32\n maxVertexDisplacement = 0;\n\n @io.read\n @io.persist\n @type.boolean\n rotatesVertices = false;\n\n @carbon.method\n @impl.implemented\n GetAreas(areaType)\n {\n if (!Number.isInteger(areaType)) return null;\n const property = Tr2MeshBase.#areaProperties[areaType];\n return property ? this[property] : null;\n }\n\n @carbon.method\n @impl.adapted\n AddArea(areaType, area)\n {\n const areas = this.GetAreas(areaType);\n if (!areas) return false;\n areas.push(area);\n return true;\n }\n\n @carbon.method\n @impl.implemented\n GetAllAreas()\n {\n return Tr2MeshBase.#areaProperties.flatMap(property => this[property]);\n }\n\n @carbon.method\n @impl.adapted\n SetShaderOption(name, value)\n {\n let updated = false;\n for (const area of this.GetAllAreas())\n {\n if (!area?.effect?.SetOption) continue;\n area.effect.SetOption(name, value);\n updated = true;\n }\n return updated;\n }\n\n @carbon.method\n @impl.adapted\n GetMaterialBoundsAdjustment()\n {\n return {\n maxLocalScale: this.maxVertexScale,\n maxLocalDisplacement: this.maxVertexDisplacement,\n rotatesVertices: this.rotatesVertices\n };\n }\n\n @carbon.method\n @impl.adapted\n SetMaterialBoundsAdjustment(value)\n {\n const source = value || {};\n this.maxVertexScale = Number(source.maxLocalScale) || 0;\n this.maxVertexDisplacement = Number(source.maxLocalDisplacement) || 0;\n this.rotatesVertices = !!source.rotatesVertices;\n return true;\n }\n\n @carbon.method\n @impl.adapted\n GetGeometryResPath()\n {\n return \"\";\n }\n\n // Emits one batch per displayed area into the accumulator. `areas` may be a\n // TriBatchType (resolved via GetAreas) or an already-resolved area list, so the\n // scene collector can drive a mesh directly and a transform can pass a\n // pre-fetched vector (Carbon Tr2Transform::GetBatches passes GetAreas(type)).\n // Returns whether any batch was committed (JS addition; Carbon returns void).\n @carbon.method\n @impl.adapted\n @impl.reason(\"GPU-free descriptor batches: geometry buffers and final draw args are resolved by the engine at dispatch\")\n GetBatches(accumulator, areas, perObjectData, _reason)\n {\n if (this.display === false) return false;\n\n const areaList = Array.isArray(areas) ? areas : this.GetAreas(areas);\n if (!areaList) return false;\n\n let committed = false;\n const geometry = this.GetGeometryResource?.() ?? null;\n for (const area of areaList)\n {\n const batch = this.CreateGeometryBatch(geometry, area, perObjectData);\n if (batch) committed = accumulator.Commit(batch) || committed;\n }\n return committed;\n }\n\n // Builds a single GPU-free batch for one mesh area: the area's effect is the\n // material/shader key, and the geometry + area range are recorded as a source\n // descriptor for the engine to realize. Returns null for a hidden or\n // material-less area (Carbon returns an invalid batch in those cases).\n @carbon.method\n @impl.adapted\n @impl.reason(\"GPU-free: emits a geometry source descriptor instead of realized Tr2BufferAL allocations\")\n CreateGeometryBatch(geometry, area, perObjectData)\n {\n if (!area || area.GetDisplay() === false) return null;\n\n const effect = area.GetMaterialInterface();\n if (!effect) return null;\n\n const batch = new Tr2RenderBatch();\n batch.SetMaterial(effect);\n if (!batch.IsValid()) return null;\n\n batch.SetGeometrySource(geometry, this.meshIndex, area.GetIndex(), area.GetCount(), area.GetReversed());\n batch.SetPerObjectData(perObjectData ?? null);\n batch.SetPickingData(this.meshIndex, area.GetIndex());\n return batch;\n }\n\n // Appends one (startIndex, count) block per area of the requested type.\n // Carbon deliberately skips non-shadow-casting OPAQUE areas here too (overlay\n // rendering over e.g. scaffolding build effects causes problems).\n @carbon.method\n @impl.implemented\n CollectAreaBlocks(collector, areaType)\n {\n const areas = this.GetAreas(areaType);\n if (!areas) return collector;\n\n for (const area of areas)\n {\n if (areaType === TriBatchType.TRIBATCHTYPE_OPAQUE && !area.IsCastingShadows()) continue;\n collector.push(new TriRenderBatchAreaBlock(\n Math.max(0, area.GetIndex()), Math.max(0, area.GetCount())));\n }\n return collector;\n }\n\n // Appends blocks grouped by shared area material (the shadow path). Skips\n // non-shadow-casting OPAQUE and DECAL areas. Faithfully does NOT clamp\n // negative index/count (Carbon asymmetry with CollectAreaBlocks).\n @carbon.method\n @impl.adapted\n @impl.reason(\"Material grouping uses reference identity in place of Carbon's effect hash values.\")\n CollectAreaBlocksWithSharedMaterials(collectors, areaType)\n {\n const areas = this.GetAreas(areaType);\n if (!areas) return collectors;\n\n for (const area of areas)\n {\n if (areaType === TriBatchType.TRIBATCHTYPE_OPAQUE && !area.IsCastingShadows()) continue;\n if (areaType === TriBatchType.TRIBATCHTYPE_DECAL && !area.IsCastingShadows()) continue;\n\n const material = area.GetMaterialInterface();\n let entry = collectors.find(candidate => candidate.shaderMaterial === material);\n if (!entry)\n {\n entry = new TriRenderBatchAreaBlocksWithSharedMaterial();\n entry.shaderMaterial = material;\n collectors.push(entry);\n }\n entry.areaBlockVector.push(new TriRenderBatchAreaBlock(area.GetIndex(), area.GetCount()));\n }\n return collectors;\n }\n\n static #areaProperties = Object.freeze([\n \"opaqueAreas\",\n \"decalAreas\",\n \"transparentAreas\",\n \"depthAreas\",\n \"additiveAreas\",\n \"pickableAreas\",\n \"mirrorAreas\",\n \"decalNormalAreas\",\n \"depthNormalAreas\",\n \"opaquePrepassAreas\",\n \"decalPrepassAreas\",\n \"geometryEraserAreas\",\n \"flareAreas\",\n \"distortionAreas\"\n ]);\n}\n"],"names":["_Tr2MeshBase","_identity","Tr2MeshBase","CjsModel","e","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_meshIndex","_init_extra_meshIndex","_init_opaqueAreas","_init_extra_opaqueAreas","_init_decalAreas","_init_extra_decalAreas","_init_depthAreas","_init_extra_depthAreas","_init_transparentAreas","_init_extra_transparentAreas","_init_additiveAreas","_init_extra_additiveAreas","_init_pickableAreas","_init_extra_pickableAreas","_init_mirrorAreas","_init_extra_mirrorAreas","_init_decalNormalAreas","_init_extra_decalNormalAreas","_init_depthNormalAreas","_init_extra_depthNormalAreas","_init_opaquePrepassAreas","_init_extra_opaquePrepassAreas","_init_decalPrepassAreas","_init_extra_decalPrepassAreas","_init_geometryEraserAreas","_init_extra_geometryEraserAreas","_init_distortionAreas","_init_extra_distortionAreas","_init_flareAreas","_init_extra_flareAreas","_init_maxVertexScale","_init_extra_maxVertexScale","_init_maxVertexDisplacement","_init_extra_maxVertexDisplacement","_init_rotatesVertices","_init_extra_rotatesVertices","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","readwrite","boolean","rebuild","notify","int32","list","read","float32","carbon","method","impl","implemented","adapted","reason","constructor","args","name","display","meshIndex","opaqueAreas","decalAreas","depthAreas","transparentAreas","additiveAreas","pickableAreas","mirrorAreas","decalNormalAreas","depthNormalAreas","opaquePrepassAreas","decalPrepassAreas","geometryEraserAreas","distortionAreas","flareAreas","maxVertexScale","maxVertexDisplacement","rotatesVertices","GetAreas","areaType","Number","isInteger","property","AddArea","area","areas","push","GetAllAreas","flatMap","SetShaderOption","value","updated","effect","SetOption","GetMaterialBoundsAdjustment","maxLocalScale","maxLocalDisplacement","SetMaterialBoundsAdjustment","source","GetGeometryResPath","GetBatches","accumulator","perObjectData","_reason","areaList","Array","isArray","committed","geometry","GetGeometryResource","batch","CreateGeometryBatch","Commit","GetDisplay","GetMaterialInterface","Tr2RenderBatch","SetMaterial","IsValid","SetGeometrySource","GetIndex","GetCount","GetReversed","SetPerObjectData","SetPickingData","CollectAreaBlocks","collector","TriBatchType","TRIBATCHTYPE_OPAQUE","IsCastingShadows","TriRenderBatchAreaBlock","Math","max","CollectAreaBlocksWithSharedMaterials","collectors","TRIBATCHTYPE_DECAL","material","entry","find","candidate","shaderMaterial","TriRenderBatchAreaBlocksWithSharedMaterial","areaBlockVector","Object","freeze"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tr2MeshBase.js","sources":["../../../src/trinityCore/Tr2MeshBase.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshBase.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshBase.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshBase_Blue.cpp\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { TriBatchType } from \"@carbonenginejs/runtime-utils/graphics\";\r\nimport { Tr2RenderBatch, TriRenderBatchAreaBlock, TriRenderBatchAreaBlocksWithSharedMaterial } from \"./Tr2RenderBatch.js\";\r\n\r\n\r\n/**\r\n * Base mesh: owns one mesh-area list per batch type and turns the displayed\r\n * areas into GPU-free render batches and shadow area blocks.\r\n */\r\n@type.define({ className: \"Tr2MeshBase\", family: \"trinityCore\" })\r\nexport class Tr2MeshBase extends CjsModel\r\n{\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.readwrite\r\n @type.boolean\r\n display = true;\r\n\r\n @io.rebuild(\"batches\")\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n meshIndex = 0;\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n opaqueAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n decalAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n depthAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n transparentAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n additiveAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n pickableAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n mirrorAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n decalNormalAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n depthNormalAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n opaquePrepassAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n decalPrepassAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n geometryEraserAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n distortionAreas = [];\r\n\r\n // Carbon routes TRIBATCHTYPE_FLARE but does not expose this list to Blue, so\r\n // this list is typed without being read or persisted: the type declaration is\r\n // what makes its areas reachable to graph traversal, independent of io.\r\n @io.rebuild(\"batches\")\r\n @type.list(\"Tr2MeshArea\")\r\n flareAreas = [];\r\n\r\n @io.read\r\n @io.persist\r\n @type.float32\r\n maxVertexScale = 1;\r\n\r\n @io.read\r\n @io.persist\r\n @type.float32\r\n maxVertexDisplacement = 0;\r\n\r\n @io.read\r\n @io.persist\r\n @type.boolean\r\n rotatesVertices = false;\r\n\r\n /**\r\n * The live area list for a TriBatchType, or null for a non-integer or unmapped\r\n * type.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetAreas(areaType)\r\n {\r\n if (!Number.isInteger(areaType)) return null;\r\n const property = Tr2MeshBase.#areaProperties[areaType];\r\n return property ? this[property] : null;\r\n }\r\n\r\n /**\r\n * Appends an area to the list for a batch type; returns false when that type\r\n * has no list.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n AddArea(areaType, area)\r\n {\r\n const areas = this.GetAreas(areaType);\r\n if (!areas) return false;\r\n areas.push(area);\r\n return true;\r\n }\r\n\r\n /**\r\n * Every area of every batch type, in batch-type order, as one newly allocated\r\n * array.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetAllAreas()\r\n {\r\n return Tr2MeshBase.#areaProperties.flatMap(property => this[property]);\r\n }\r\n\r\n /**\r\n * Carbon Tr2MeshBase::UseWithScreenSize (Tr2MeshBase.cpp:589-610): reports the\r\n * on-screen size this mesh is being drawn at to every area material, so the\r\n * texture streamer can request a matching mip level. The LOD the size resolves\r\n * to supplies the uv densities the material needs to turn a pixel size into a\r\n * texture resolution.\r\n *\r\n * Callers pass a screen size already scaled by the LOD factor\r\n * (EveSpaceObject2, EveTransform, EveChildMesh, BehaviorGroup).\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UseWithScreenSize(screenSize, worldRadius)\r\n {\r\n const geometry = this.GetGeometryResource?.() ?? null;\r\n if (!geometry) return false;\r\n\r\n const lod = geometry.GetMeshLod?.(this.meshIndex, screenSize) ?? null;\r\n if (!lod) return false;\r\n\r\n // Carbon reads m_uvDensities off the resolved LOD; a resource that exposes\r\n // none yields an empty list, which the material treats as \"no LOD data\" and\r\n // requests the full resolution.\r\n const uvDensities = lod.uvDensities ?? lod.m_uvDensities ?? [];\r\n let reported = false;\r\n\r\n for (const area of this.GetAllAreas())\r\n {\r\n const material = area?.GetMaterialInterface?.();\r\n if (!material?.UsedWithScreenSize) continue;\r\n\r\n material.UsedWithScreenSize(screenSize, worldRadius, uvDensities);\r\n reported = true;\r\n }\r\n\r\n return reported;\r\n }\r\n\r\n /**\r\n * Sets a shader option on every area effect that supports it; returns whether\r\n * at least one area was updated.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetShaderOption(name, value)\r\n {\r\n let updated = false;\r\n for (const area of this.GetAllAreas())\r\n {\r\n if (!area?.effect?.SetOption) continue;\r\n area.effect.SetOption(name, value);\r\n updated = true;\r\n }\r\n return updated;\r\n }\r\n\r\n /**\r\n * The vertex-displacement bounds adjustment consumers apply to this mesh: max\r\n * local scale, max local displacement and whether the material rotates\r\n * vertices.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetMaterialBoundsAdjustment()\r\n {\r\n return {\r\n maxLocalScale: this.maxVertexScale,\r\n maxLocalDisplacement: this.maxVertexDisplacement,\r\n rotatesVertices: this.rotatesVertices\r\n };\r\n }\r\n\r\n /**\r\n * Stores the bounds adjustment, coercing missing or non-numeric entries to\r\n * zero and false.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetMaterialBoundsAdjustment(value)\r\n {\r\n const source = value || {};\r\n this.maxVertexScale = Number(source.maxLocalScale) || 0;\r\n this.maxVertexDisplacement = Number(source.maxLocalDisplacement) || 0;\r\n this.rotatesVertices = !!source.rotatesVertices;\r\n return true;\r\n }\r\n\r\n /** Empty at this level; Tr2Mesh overrides it with the real geometry path. */\r\n @carbon.method\r\n @impl.adapted\r\n GetGeometryResPath()\r\n {\r\n return \"\";\r\n }\r\n\r\n // Emits one batch per displayed area into the accumulator. `areas` may be a\r\n // TriBatchType (resolved via GetAreas) or an already-resolved area list, so the\r\n // scene collector can drive a mesh directly and a transform can pass a\r\n // pre-fetched vector (Carbon Tr2Transform::GetBatches passes GetAreas(type)).\r\n // Returns whether any batch was committed (JS addition; Carbon returns void).\r\n\r\n /**\r\n * Emits one batch per displayed area into the accumulator, where areas may be\r\n * a TriBatchType or an already-resolved area list, so a scene collector or a\r\n * transform can drive the mesh directly; returns whether any batch was\r\n * committed (a JS addition, Carbon returns void).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"GPU-free descriptor batches: geometry buffers and final draw args are resolved by the engine at dispatch\")\r\n GetBatches(accumulator, areas, perObjectData, _reason)\r\n {\r\n if (this.display === false) return false;\r\n\r\n const areaList = Array.isArray(areas) ? areas : this.GetAreas(areas);\r\n if (!areaList) return false;\r\n\r\n let committed = false;\r\n const geometry = this.GetGeometryResource?.() ?? null;\r\n for (const area of areaList)\r\n {\r\n const batch = this.CreateGeometryBatch(geometry, area, perObjectData);\r\n if (batch) committed = accumulator.Commit(batch) || committed;\r\n }\r\n return committed;\r\n }\r\n\r\n // Builds a single GPU-free batch for one mesh area: the area's effect is the\r\n // material/shader key, and the geometry + area range are recorded as a source\r\n // descriptor for the engine to realize. Returns null for a hidden or\r\n // material-less area (Carbon returns an invalid batch in those cases).\r\n\r\n /**\r\n * Builds one GPU-free batch for a mesh area, using the area's effect as\r\n * material and shader key and recording geometry plus area range as a source\r\n * descriptor; returns null for a hidden or material-less area, where Carbon\r\n * returns an invalid batch.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"GPU-free: emits a geometry source descriptor instead of realized Tr2BufferAL allocations\")\r\n CreateGeometryBatch(geometry, area, perObjectData)\r\n {\r\n if (!area || area.GetDisplay() === false) return null;\r\n\r\n const effect = area.GetMaterialInterface();\r\n if (!effect) return null;\r\n\r\n const batch = new Tr2RenderBatch();\r\n batch.SetMaterial(effect);\r\n if (!batch.IsValid()) return null;\r\n\r\n batch.SetGeometrySource(geometry, this.meshIndex, area.GetIndex(), area.GetCount(), area.GetReversed());\r\n batch.SetPerObjectData(perObjectData ?? null);\r\n batch.SetPickingData(this.meshIndex, area.GetIndex());\r\n return batch;\r\n }\r\n\r\n // Appends one (startIndex, count) block per area of the requested type.\r\n // Carbon deliberately skips non-shadow-casting OPAQUE areas here too (overlay\r\n // rendering over e.g. scaffolding build effects causes problems).\r\n\r\n /**\r\n * Appends one clamped (startIndex, count) block per area of the requested type\r\n * to the caller's collector, skipping non-shadow-casting OPAQUE areas as\r\n * Carbon does because overlay rendering over build effects misbehaves.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n CollectAreaBlocks(collector, areaType)\r\n {\r\n const areas = this.GetAreas(areaType);\r\n if (!areas) return collector;\r\n\r\n for (const area of areas)\r\n {\r\n if (areaType === TriBatchType.TRIBATCHTYPE_OPAQUE && !area.IsCastingShadows()) continue;\r\n collector.push(new TriRenderBatchAreaBlock(\r\n Math.max(0, area.GetIndex()), Math.max(0, area.GetCount())));\r\n }\r\n return collector;\r\n }\r\n\r\n // Appends blocks grouped by shared area material (the shadow path). Skips\r\n // non-shadow-casting OPAQUE and DECAL areas. Faithfully does NOT clamp\r\n // negative index/count (Carbon asymmetry with CollectAreaBlocks).\r\n\r\n /**\r\n * Appends blocks grouped by shared area material for the shadow path, skipping\r\n * non-shadow-casting OPAQUE and DECAL areas, and faithfully reproduces\r\n * Carbon's asymmetry by not clamping negative index or count.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Material grouping uses reference identity in place of Carbon's effect hash values.\")\r\n CollectAreaBlocksWithSharedMaterials(collectors, areaType)\r\n {\r\n const areas = this.GetAreas(areaType);\r\n if (!areas) return collectors;\r\n\r\n for (const area of areas)\r\n {\r\n if (areaType === TriBatchType.TRIBATCHTYPE_OPAQUE && !area.IsCastingShadows()) continue;\r\n if (areaType === TriBatchType.TRIBATCHTYPE_DECAL && !area.IsCastingShadows()) continue;\r\n\r\n const material = area.GetMaterialInterface();\r\n let entry = collectors.find(candidate => candidate.shaderMaterial === material);\r\n if (!entry)\r\n {\r\n entry = new TriRenderBatchAreaBlocksWithSharedMaterial();\r\n entry.shaderMaterial = material;\r\n collectors.push(entry);\r\n }\r\n entry.areaBlockVector.push(new TriRenderBatchAreaBlock(area.GetIndex(), area.GetCount()));\r\n }\r\n return collectors;\r\n }\r\n\r\n static #areaProperties = Object.freeze([\r\n \"opaqueAreas\",\r\n \"decalAreas\",\r\n \"transparentAreas\",\r\n \"depthAreas\",\r\n \"additiveAreas\",\r\n \"pickableAreas\",\r\n \"mirrorAreas\",\r\n \"decalNormalAreas\",\r\n \"depthNormalAreas\",\r\n \"opaquePrepassAreas\",\r\n \"decalPrepassAreas\",\r\n \"geometryEraserAreas\",\r\n \"flareAreas\",\r\n \"distortionAreas\"\r\n ]);\r\n}\r\n"],"names":["_Tr2MeshBase","_identity","Tr2MeshBase","CjsModel","e","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_meshIndex","_init_extra_meshIndex","_init_opaqueAreas","_init_extra_opaqueAreas","_init_decalAreas","_init_extra_decalAreas","_init_depthAreas","_init_extra_depthAreas","_init_transparentAreas","_init_extra_transparentAreas","_init_additiveAreas","_init_extra_additiveAreas","_init_pickableAreas","_init_extra_pickableAreas","_init_mirrorAreas","_init_extra_mirrorAreas","_init_decalNormalAreas","_init_extra_decalNormalAreas","_init_depthNormalAreas","_init_extra_depthNormalAreas","_init_opaquePrepassAreas","_init_extra_opaquePrepassAreas","_init_decalPrepassAreas","_init_extra_decalPrepassAreas","_init_geometryEraserAreas","_init_extra_geometryEraserAreas","_init_distortionAreas","_init_extra_distortionAreas","_init_flareAreas","_init_extra_flareAreas","_init_maxVertexScale","_init_extra_maxVertexScale","_init_maxVertexDisplacement","_init_extra_maxVertexDisplacement","_init_rotatesVertices","_init_extra_rotatesVertices","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","readwrite","boolean","rebuild","notify","int32","list","read","float32","carbon","method","impl","implemented","adapted","reason","constructor","args","name","display","meshIndex","opaqueAreas","decalAreas","depthAreas","transparentAreas","additiveAreas","pickableAreas","mirrorAreas","decalNormalAreas","depthNormalAreas","opaquePrepassAreas","decalPrepassAreas","geometryEraserAreas","distortionAreas","flareAreas","maxVertexScale","maxVertexDisplacement","rotatesVertices","GetAreas","areaType","Number","isInteger","property","AddArea","area","areas","push","GetAllAreas","flatMap","UseWithScreenSize","screenSize","worldRadius","geometry","GetGeometryResource","lod","GetMeshLod","uvDensities","m_uvDensities","reported","material","GetMaterialInterface","UsedWithScreenSize","SetShaderOption","value","updated","effect","SetOption","GetMaterialBoundsAdjustment","maxLocalScale","maxLocalDisplacement","SetMaterialBoundsAdjustment","source","GetGeometryResPath","GetBatches","accumulator","perObjectData","_reason","areaList","Array","isArray","committed","batch","CreateGeometryBatch","Commit","GetDisplay","Tr2RenderBatch","SetMaterial","IsValid","SetGeometrySource","GetIndex","GetCount","GetReversed","SetPerObjectData","SetPickingData","CollectAreaBlocks","collector","TriBatchType","TRIBATCHTYPE_OPAQUE","IsCastingShadows","TriRenderBatchAreaBlock","Math","max","CollectAreaBlocksWithSharedMaterials","collectors","TRIBATCHTYPE_DECAL","entry","find","candidate","shaderMaterial","TriRenderBatchAreaBlocksWithSharedMaterial","areaBlockVector","Object","freeze"],"mappings":"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"}
|
|
@@ -7,13 +7,23 @@
|
|
|
7
7
|
// concrete GPU upload path (Carbon SetPerObjectDataToDevice / ApplyConstantBuffers,
|
|
8
8
|
// which write Tr2ConstantBufferAL) is engine-owned and intentionally not modelled
|
|
9
9
|
// here; the engine reads whatever data a concrete subclass exposes at dispatch.
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* GPU-free base for per-object render data, carrying the object id a batch is
|
|
13
|
+
* picked and identified by; the GPU upload path is engine-owned.
|
|
14
|
+
*/
|
|
10
15
|
class Tr2PerObjectData {
|
|
16
|
+
/** Starts with a zero object id. */
|
|
11
17
|
constructor() {
|
|
12
18
|
this.userData = 0;
|
|
13
19
|
}
|
|
20
|
+
|
|
21
|
+
/** Sets the object id, coerced to an unsigned 32-bit value. */
|
|
14
22
|
SetUserData(userData) {
|
|
15
23
|
this.userData = userData >>> 0;
|
|
16
24
|
}
|
|
25
|
+
|
|
26
|
+
/** The object id, which doubles as the picking id. */
|
|
17
27
|
GetUserData() {
|
|
18
28
|
return this.userData;
|
|
19
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2PerObjectData.js","sources":["../../../src/trinityCore/Tr2PerObjectData.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/Tr2PerObjectData.h (Tr2PerObjectData base)\n//\n// GPU-free base for per-object render data. Carries the object id (Carbon's\n// m_userData, used as the picking / object id) and is the value a renderable's\n// GetPerObjectData returns and a batch references via SetPerObjectData. The\n// concrete GPU upload path (Carbon SetPerObjectDataToDevice / ApplyConstantBuffers,\n// which write Tr2ConstantBufferAL) is engine-owned and intentionally not modelled\n// here; the engine reads whatever data a concrete subclass exposes at dispatch.\nexport class Tr2PerObjectData\n{\n constructor()\n {\n this.userData = 0;\n }\n\n SetUserData(userData)\n {\n this.userData = userData >>> 0;\n }\n\n GetUserData()\n {\n return this.userData;\n }\n}\n"],"names":["Tr2PerObjectData","constructor","userData","SetUserData","GetUserData"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,gBAAgB,CAC7B;
|
|
1
|
+
{"version":3,"file":"Tr2PerObjectData.js","sources":["../../../src/trinityCore/Tr2PerObjectData.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/Tr2PerObjectData.h (Tr2PerObjectData base)\n//\n// GPU-free base for per-object render data. Carries the object id (Carbon's\n// m_userData, used as the picking / object id) and is the value a renderable's\n// GetPerObjectData returns and a batch references via SetPerObjectData. The\n// concrete GPU upload path (Carbon SetPerObjectDataToDevice / ApplyConstantBuffers,\n// which write Tr2ConstantBufferAL) is engine-owned and intentionally not modelled\n// here; the engine reads whatever data a concrete subclass exposes at dispatch.\n\n/**\n * GPU-free base for per-object render data, carrying the object id a batch is\n * picked and identified by; the GPU upload path is engine-owned.\n */\nexport class Tr2PerObjectData\n{\n /** Starts with a zero object id. */\n constructor()\n {\n this.userData = 0;\n }\n\n /** Sets the object id, coerced to an unsigned 32-bit value. */\n SetUserData(userData)\n {\n this.userData = userData >>> 0;\n }\n\n /** The object id, which doubles as the picking id. */\n GetUserData()\n {\n return this.userData;\n }\n}\n"],"names":["Tr2PerObjectData","constructor","userData","SetUserData","GetUserData"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO,MAAMA,gBAAgB,CAC7B;AACE;AACAC,EAAAA,WAAWA,GACX;IACE,IAAI,CAACC,QAAQ,GAAG,CAAC;AACnB,EAAA;;AAEA;EACAC,WAAWA,CAACD,QAAQ,EACpB;AACE,IAAA,IAAI,CAACA,QAAQ,GAAGA,QAAQ,KAAK,CAAC;AAChC,EAAA;;AAEA;AACAE,EAAAA,WAAWA,GACX;IACE,OAAO,IAAI,CAACF,QAAQ;AACtB,EAAA;AACF;;;;"}
|