@carbonenginejs/runtime-trinity 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -243
- package/dist/controllers/CjsControllerExpressionProgram.js +157 -0
- package/dist/controllers/CjsControllerExpressionProgram.js.map +1 -1
- package/dist/controllers/ITr2ControllerAction.js +57 -0
- package/dist/controllers/ITr2ControllerAction.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateCurveSet.js +10 -0
- package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateValue.js +26 -0
- package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
- package/dist/controllers/Tr2ActionBindRTPC.js +11 -0
- package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
- package/dist/controllers/Tr2ActionCallback.js +5 -0
- package/dist/controllers/Tr2ActionCallback.js.map +1 -1
- package/dist/controllers/Tr2ActionChildEffect.js +63 -0
- package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
- package/dist/controllers/Tr2ActionOverlay.js +68 -0
- package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayCurveSet.js +16 -0
- package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js +29 -0
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
- package/dist/controllers/Tr2ActionPlaySound.js +11 -0
- package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
- package/dist/controllers/Tr2ActionPython.js +11 -0
- package/dist/controllers/Tr2ActionPython.js.map +1 -1
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js +17 -0
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js +5 -0
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +5 -0
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioSwitch.js +5 -0
- package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +23 -0
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
- package/dist/controllers/Tr2ActionSetShaderOption.js +5 -0
- package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
- package/dist/controllers/Tr2ActionSetValue.js +35 -0
- package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
- package/dist/controllers/Tr2ActionSpawnParticles.js +10 -0
- package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/controllers/Tr2BindingPoint.js +67 -0
- package/dist/controllers/Tr2BindingPoint.js.map +1 -1
- package/dist/controllers/Tr2Controller.js +37 -0
- package/dist/controllers/Tr2Controller.js.map +1 -1
- package/dist/controllers/Tr2ControllerEventHandler.js +10 -0
- package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
- package/dist/controllers/Tr2ControllerExpression.js +17 -0
- package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
- package/dist/controllers/Tr2ControllerFloatVariable.js +6 -0
- package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
- package/dist/controllers/Tr2ControllerReference.js +11 -0
- package/dist/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/controllers/Tr2StateMachine.js +17 -0
- package/dist/controllers/Tr2StateMachine.js.map +1 -1
- package/dist/controllers/Tr2StateMachineState.js +47 -0
- package/dist/controllers/Tr2StateMachineState.js.map +1 -1
- package/dist/controllers/Tr2StateMachineTransition.js +29 -0
- package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
- package/dist/controllers/Tr2SyncToAnimation.js +5 -0
- package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
- package/dist/controllers/Tr2TimelineController.js +61 -0
- package/dist/controllers/Tr2TimelineController.js.map +1 -1
- package/dist/controllers/contracts.js +24 -1
- package/dist/controllers/contracts.js.map +1 -1
- package/dist/controllers/index.js +1 -1
- package/dist/curves/CjsGrannyCurves.js +150 -0
- package/dist/curves/CjsGrannyCurves.js.map +1 -1
- package/dist/curves/Tr2BoneMatrixCurve.js +23 -0
- package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
- package/dist/curves/Tr2CameraFollowCurveKey.js +6 -0
- package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2CurveColor.js +6 -0
- package/dist/curves/Tr2CurveColor.js.map +1 -1
- package/dist/curves/Tr2CurveColorMixer.js +6 -0
- package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
- package/dist/curves/Tr2CurveCombiner.js +5 -0
- package/dist/curves/Tr2CurveCombiner.js.map +1 -1
- package/dist/curves/Tr2CurveConstant.js +16 -0
- package/dist/curves/Tr2CurveConstant.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotation.js +5 -0
- package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotationExpression.js +66 -0
- package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternion.js +5 -0
- package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternionKey.js +5 -0
- package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
- package/dist/curves/Tr2CurveRandomAxisRotation.js +28 -0
- package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/curves/Tr2CurveScalar.js +35 -0
- package/dist/curves/Tr2CurveScalar.js.map +1 -1
- package/dist/curves/Tr2CurveScalarExpression.js +11 -0
- package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
- package/dist/curves/Tr2CurveScalarKey.js +6 -0
- package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
- package/dist/curves/Tr2CurveSetRange.js +5 -0
- package/dist/curves/Tr2CurveSetRange.js.map +1 -1
- package/dist/curves/Tr2CurveVector2.js +5 -0
- package/dist/curves/Tr2CurveVector2.js.map +1 -1
- package/dist/curves/Tr2CurveVector3.js +5 -0
- package/dist/curves/Tr2CurveVector3.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Expression.js +71 -0
- package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Lerp.js +6 -0
- package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
- package/dist/curves/Tr2DistanceTracker.js +6 -0
- package/dist/curves/Tr2DistanceTracker.js.map +1 -1
- package/dist/curves/Tr2FollowCurve.js +6 -0
- package/dist/curves/Tr2FollowCurve.js.map +1 -1
- package/dist/curves/Tr2GrannyEventTrack.js +5 -0
- package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTrack.js +6 -0
- package/dist/curves/Tr2GrannyTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTransformTrack.js +6 -0
- package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyVectorTrack.js +5 -0
- package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
- package/dist/curves/Tr2MatrixKey.js +5 -0
- package/dist/curves/Tr2MatrixKey.js.map +1 -1
- package/dist/curves/Tr2ObjectFollowCurveKey.js +6 -0
- package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2QuaternionLerpCurve.js +6 -0
- package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
- package/dist/curves/Tr2RotationAdapter.js +6 -0
- package/dist/curves/Tr2RotationAdapter.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKey.js +18 -0
- package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKeyCurve.js +23 -0
- package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
- package/dist/curves/Tr2ScalarFader.js +11 -0
- package/dist/curves/Tr2ScalarFader.js.map +1 -1
- package/dist/curves/Tr2TranslationAdapter.js +6 -0
- package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
- package/dist/curves/TriColorSequencer.js +6 -0
- package/dist/curves/TriColorSequencer.js.map +1 -1
- package/dist/curves/TriCurveSet.js +23 -0
- package/dist/curves/TriCurveSet.js.map +1 -1
- package/dist/curves/TriEventCurve.js +23 -0
- package/dist/curves/TriEventCurve.js.map +1 -1
- package/dist/curves/TriEventKey.js +5 -0
- package/dist/curves/TriEventKey.js.map +1 -1
- package/dist/curves/TriPerlinCurve.js +30 -0
- package/dist/curves/TriPerlinCurve.js.map +1 -1
- package/dist/curves/TriVectorSequencer.js +6 -0
- package/dist/curves/TriVectorSequencer.js.map +1 -1
- package/dist/eve/AudioGameObject.js +89 -1
- package/dist/eve/AudioGameObject.js.map +1 -1
- package/dist/eve/BackAndForthData.js +7 -0
- package/dist/eve/BackAndForthData.js.map +1 -1
- package/dist/eve/CjsDistributionRandom.js +6 -0
- package/dist/eve/CjsDistributionRandom.js.map +1 -1
- package/dist/eve/CjsEveThrottleableState.js +11 -0
- package/dist/eve/CjsEveThrottleableState.js.map +1 -1
- package/dist/eve/EveChildUpdateParams.js +7 -0
- package/dist/eve/EveChildUpdateParams.js.map +1 -1
- package/dist/eve/EveComponentTypes.js.map +1 -1
- package/dist/eve/EveCustomMask.js +58 -27
- package/dist/eve/EveCustomMask.js.map +1 -1
- package/dist/eve/EveDistanceField.js +84 -0
- package/dist/eve/EveDistanceField.js.map +1 -1
- package/dist/eve/EveEntity.js +138 -0
- package/dist/eve/EveEntity.js.map +1 -0
- package/dist/eve/EveImpactOverlay.js +61 -0
- package/dist/eve/EveImpactOverlay.js.map +1 -1
- package/dist/eve/EveLODHelper.js +17 -13
- package/dist/eve/EveLODHelper.js.map +1 -1
- package/dist/eve/EveLineData.js +2 -0
- package/dist/eve/EveLineData.js.map +1 -1
- package/dist/eve/EveThrottleable.js +11 -0
- package/dist/eve/EveThrottleable.js.map +1 -1
- package/dist/eve/FollowASplineData.js +7 -0
- package/dist/eve/FollowASplineData.js.map +1 -1
- package/dist/eve/FormationData.js +6 -0
- package/dist/eve/FormationData.js.map +1 -1
- package/dist/eve/InertiaData.js +7 -0
- package/dist/eve/InertiaData.js.map +1 -1
- package/dist/eve/PlacementDataWithIdentifier.js +7 -0
- package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
- package/dist/eve/PlayFXData.js +7 -0
- package/dist/eve/PlayFXData.js.map +1 -1
- package/dist/eve/SeekTargetData.js +7 -0
- package/dist/eve/SeekTargetData.js.map +1 -1
- package/dist/eve/{EveSpaceObjectAttachmentUtils.js → attachment/EveSpaceObjectAttachmentUtils.js} +11 -11
- package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
- package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
- package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
- package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +13 -2
- package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
- package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
- package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
- package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +204 -35
- package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
- package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +205 -12
- package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
- package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +49 -1
- package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
- package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
- package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
- package/dist/eve/{EveHazeSet.js → attachment/haze/EveHazeSet.js} +65 -6
- package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
- package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
- package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
- package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +13 -2
- package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
- package/dist/eve/attachment/itemSetBounds.js +131 -0
- package/dist/eve/attachment/itemSetBounds.js.map +1 -0
- package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +14 -2
- package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
- package/dist/eve/{EvePlaneSet.js → attachment/plane/EvePlaneSet.js} +119 -7
- package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
- package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
- package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
- package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +13 -2
- package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
- package/dist/eve/{EveSpotlightSet.js → attachment/spotlight/EveSpotlightSet.js} +86 -6
- package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
- package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +14 -2
- package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
- package/dist/eve/{EveSpriteLineSet.js → attachment/sprite/EveSpriteLineSet.js} +69 -7
- package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
- package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +29 -4
- package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
- package/dist/eve/{EveSpriteSet.js → attachment/sprite/EveSpriteSet.js} +87 -8
- package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
- package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +23 -26
- package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js +184 -2
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretSet.js +236 -7
- package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretTarget.js +112 -0
- package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/eve/camera/EveCamera.js +644 -0
- package/dist/eve/camera/EveCamera.js.map +1 -0
- package/dist/eve/child/EveChildAudio.js +63 -0
- package/dist/eve/child/EveChildAudio.js.map +1 -1
- package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
- package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
- package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +41 -3
- package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
- package/dist/eve/child/EveChildContainer.js +175 -16
- package/dist/eve/child/EveChildContainer.js.map +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
- package/dist/eve/child/EveChildFogVolume.js +72 -0
- package/dist/eve/child/EveChildFogVolume.js.map +1 -1
- package/dist/eve/child/EveChildInheritProperties.js +17 -0
- package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
- package/dist/eve/child/EveChildInstancedMeshes.js +211 -1
- package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
- package/dist/eve/child/EveChildLightingOverride.js +74 -0
- package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
- package/dist/{generated/eve → eve}/child/EveChildLink.js +17 -16
- package/dist/eve/child/EveChildLink.js.map +1 -0
- package/dist/eve/child/EveChildMesh.js +351 -105
- package/dist/eve/child/EveChildMesh.js.map +1 -1
- package/dist/eve/child/EveChildSpherePin.js +108 -0
- package/dist/eve/child/EveChildSpherePin.js.map +1 -0
- package/dist/eve/child/EveChildTransform.js +44 -1
- package/dist/eve/child/EveChildTransform.js.map +1 -1
- package/dist/eve/child/IEveSpaceObjectChild.js +5 -0
- package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
- package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
- package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
- package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
- package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
- package/dist/eve/child/behaviors/Wander.js +99 -0
- package/dist/eve/child/behaviors/Wander.js.map +1 -0
- package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
- package/dist/eve/child/behaviors/enums.js.map +1 -0
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
- package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +8 -2
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
- package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +9 -7
- package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
- package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
- package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
- package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +3 -3
- package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js +65 -0
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
- package/dist/eve/child/lineSetPaths/EveCircle.js +63 -0
- package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +24 -16
- package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +22 -19
- package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
- package/dist/eve/child/modifiers/EveChildModifierBooster.js +6 -0
- package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHalo.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +6 -0
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierSRT.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +31 -17
- package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +16 -14
- package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +11 -4
- package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +12 -12
- package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +6 -6
- package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +12 -12
- package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +8 -8
- package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +17 -17
- package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +7 -7
- package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +7 -7
- package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +17 -17
- package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +132 -3
- package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +12 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +9 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +12 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
- package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +16 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +31 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +34 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +14 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +19 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +25 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +17 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
- package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +44 -2
- package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
- package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
- package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
- package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
- package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
- package/dist/eve/index.js +117 -47
- package/dist/eve/index.js.map +1 -1
- package/dist/eve/lights/CjsLightData.js +7 -0
- package/dist/eve/lights/CjsLightData.js.map +1 -1
- package/dist/eve/lights/Tr2Light.js +41 -0
- package/dist/eve/lights/Tr2Light.js.map +1 -1
- package/dist/eve/lights/Tr2PointLight.js +5 -0
- package/dist/eve/lights/Tr2PointLight.js.map +1 -1
- package/dist/eve/lights/Tr2SpotLight.js +5 -0
- package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
- package/dist/eve/lights/Tr2TexturedPointLight.js +10 -0
- package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
- package/dist/eve/lights/lightConversion.js +29 -27
- package/dist/eve/lights/lightConversion.js.map +1 -1
- package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +20 -1
- package/dist/eve/locator/EveLocator2.js.map +1 -0
- package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +43 -1
- package/dist/eve/locator/EveLocatorSets.js.map +1 -0
- package/dist/eve/{Locator.js → locator/Locator.js} +6 -1
- package/dist/eve/locator/Locator.js.map +1 -0
- package/dist/eve/{LocatorData.js → locator/LocatorData.js} +3 -1
- package/dist/eve/locator/LocatorData.js.map +1 -0
- package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
- package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
- package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +5 -5
- package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
- package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +5 -5
- package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
- package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +6 -6
- package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
- package/dist/{generated/eve/scene → eve/particles/static}/EveSceneStaticParticles.js +70 -36
- package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
- package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
- package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js +76 -0
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +85 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +91 -0
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +36 -0
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch.js +158 -9
- package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch2.js +121 -12
- package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch3.js +261 -8
- package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/eve/scene/EveSpaceScene.js +56 -6
- package/dist/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +24 -1
- package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
- package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +74 -2
- package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
- package/dist/eve/scene/picking/EvePickingContext.js +61 -0
- package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
- package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
- package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
- package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
- package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +19 -19
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +19 -19
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +12 -12
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +12 -12
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +30 -30
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +9 -9
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +23 -23
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
- package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +26 -1
- package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +17 -1
- package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +21 -5
- package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
- package/dist/eve/socket/EveSocketParameterFilePath.js +5 -5
- package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
- package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +17 -1
- package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +17 -1
- package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +42 -2
- package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
- package/dist/eve/spaceObject/EveEffectRoot2.js +58 -31
- package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
- package/dist/eve/spaceObject/EveMissile.js +49 -1
- package/dist/eve/spaceObject/EveMissile.js.map +1 -1
- package/dist/eve/spaceObject/EveMissileWarhead.js +100 -1
- package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
- package/dist/eve/spaceObject/EveMobile.js +104 -0
- package/dist/eve/spaceObject/EveMobile.js.map +1 -1
- package/dist/eve/spaceObject/EveRootTransform.js +17 -0
- package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
- package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +32 -12
- package/dist/eve/spaceObject/EveShip2.js.map +1 -0
- package/dist/eve/spaceObject/EveSpaceObject2.js +726 -199
- package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/eve/spaceObject/EveTransform.js +100 -4
- package/dist/eve/spaceObject/EveTransform.js.map +1 -1
- package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
- package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
- package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
- package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
- package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
- package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
- package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
- package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
- package/dist/{generated/eve/spaceObject → eve/spaceObject/planet}/EvePlanet.js +2 -2
- package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
- package/dist/{generated/eve → eve}/spaceObject/swarm/EveSwarmRenderable.js +102 -64
- package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
- package/dist/eve/ui/EveEllipseDefinition.js +15 -0
- package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
- package/dist/eve/ui/EveEllipseSet.js +42 -0
- package/dist/eve/ui/EveEllipseSet.js.map +1 -1
- package/dist/{generated/eve → eve}/ui/EveSpherePin.js +76 -11
- package/dist/eve/ui/EveSpherePin.js.map +1 -0
- package/dist/eve/ui/EveSprite2dBracket.js +5 -0
- package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
- package/dist/eve/ui/EveUiObject.js +11 -0
- package/dist/eve/ui/EveUiObject.js.map +1 -1
- package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +67 -6
- package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
- package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
- package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
- package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +22 -2
- package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
- package/dist/eve/virtualCamera/EveVirtualCamera.js +152 -0
- package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +65 -0
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +19 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +29 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +15 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +38 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +18 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +11 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +14 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +16 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +36 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +36 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +11 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +37 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
- package/dist/eve/volume/EveBoxVolume.js +59 -0
- package/dist/eve/volume/EveBoxVolume.js.map +1 -1
- package/dist/eve/volume/EveEllipsoidVolume.js +54 -0
- package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
- package/dist/eve/volume/EveSphereVolume.js +34 -0
- package/dist/eve/volume/EveSphereVolume.js.map +1 -1
- package/dist/generated/eve/child/EveChildCloud2.js +138 -138
- package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/generated/eve/child/EveChildParticleSystem.js +10 -4
- package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/generated/eve/child/EveChildSocket.js +1 -1
- package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BackAndForth.js +14 -17
- package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js +2 -2
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +26 -29
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
- package/dist/generated/eve/child/behaviors/FollowASpline.js +13 -17
- package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
- package/dist/generated/eve/child/behaviors/PlayFX.js +14 -14
- package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
- package/dist/generated/eve/child/behaviors/index.js +0 -6
- package/dist/generated/eve/child/behaviors/index.js.map +1 -1
- package/dist/generated/eve/child/index.js +0 -23
- package/dist/generated/eve/child/index.js.map +1 -1
- package/dist/generated/eve/effect/index.js +0 -3
- package/dist/generated/eve/effect/index.js.map +1 -1
- package/dist/generated/eve/index.js +0 -88
- package/dist/generated/eve/index.js.map +1 -1
- package/dist/generated/eve/scene/index.js +0 -6
- package/dist/generated/eve/scene/index.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +20 -20
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
- package/dist/generated/eve/smartLights/index.js +0 -8
- package/dist/generated/eve/smartLights/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/index.js +0 -4
- package/dist/generated/eve/spaceObject/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +11 -11
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
- package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
- package/dist/generated/eve/ui/index.js +0 -4
- package/dist/generated/eve/ui/index.js.map +1 -1
- package/dist/generated/index.js +0 -93
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/trinityCore/index.js +0 -5
- package/dist/generated/trinityCore/index.js.map +1 -1
- package/dist/index.js +130 -155
- package/dist/index.js.map +1 -1
- package/dist/particle/Tr2GpuSharedEmitter.js +39 -0
- package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/particle/Tr2GpuUniqueEmitter.js +5 -0
- package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
- package/dist/particle/Tr2ParticleAttractorForce.js +10 -0
- package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDirectForce.js +7 -0
- package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDragForce.js +7 -0
- package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleElementDeclaration.js +5 -0
- package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
- package/dist/particle/Tr2ParticleFluidDragForce.js +10 -0
- package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleSpring.js +10 -0
- package/dist/particle/Tr2ParticleSpring.js.map +1 -1
- package/dist/particle/Tr2ParticleVortexForce.js +10 -0
- package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
- package/dist/particle/particleElementBinding.js +12 -0
- package/dist/particle/particleElementBinding.js.map +1 -1
- package/dist/postProcess/Tr2PPBloomEffect.js +6 -0
- package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +16 -0
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPGenericEffect.js +7 -0
- package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTaaEffect.js +10 -0
- package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTonemappingEffect.js +5 -0
- package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess.js +5 -0
- package/dist/postProcess/Tr2PostProcess.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess2.js +147 -0
- package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
- package/dist/postProcess/Tr2PostProcessAttributes.js +89 -0
- package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
- package/dist/renderJob/Tr2RenderJobs.js +34 -0
- package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
- package/dist/renderJob/TriRenderJob.js +59 -0
- package/dist/renderJob/TriRenderJob.js.map +1 -1
- package/dist/renderJob/TriRenderStep.js +20 -0
- package/dist/renderJob/TriRenderStep.js.map +1 -1
- package/dist/renderJob/TriStepClear.js +18 -0
- package/dist/renderJob/TriStepClear.js.map +1 -1
- package/dist/renderJob/TriStepCopyRenderTarget.js +51 -0
- package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepEnableWireframeMode.js +9 -0
- package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
- package/dist/renderJob/TriStepGenerateMipMaps.js +9 -0
- package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
- package/dist/renderJob/TriStepPopDepthStencil.js +6 -0
- package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPopProjection.js +6 -0
- package/dist/renderJob/TriStepPopProjection.js.map +1 -1
- package/dist/renderJob/TriStepPopRenderTarget.js +12 -0
- package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPopViewTransform.js +6 -0
- package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPopViewport.js +6 -0
- package/dist/renderJob/TriStepPopViewport.js.map +1 -1
- package/dist/renderJob/TriStepPresentSwapChain.js +12 -0
- package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
- package/dist/renderJob/TriStepPushDepthStencil.js +17 -0
- package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPushProjection.js +6 -0
- package/dist/renderJob/TriStepPushProjection.js.map +1 -1
- package/dist/renderJob/TriStepPushRenderTarget.js +9 -0
- package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPushViewTransform.js +6 -0
- package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPushViewport.js +6 -0
- package/dist/renderJob/TriStepPushViewport.js.map +1 -1
- package/dist/renderJob/TriStepRemoteSync.js +17 -0
- package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
- package/dist/renderJob/TriStepResolve.js +13 -0
- package/dist/renderJob/TriStepResolve.js.map +1 -1
- package/dist/renderJob/TriStepRunJob.js +12 -0
- package/dist/renderJob/TriStepRunJob.js.map +1 -1
- package/dist/renderJob/TriStepSetDepthStencil.js +12 -0
- package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepSetProjection.js +14 -0
- package/dist/renderJob/TriStepSetProjection.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderState.js +20 -0
- package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderTarget.js +12 -0
- package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepSetStdRndStates.js +18 -0
- package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
- package/dist/renderJob/TriStepSetView.js +29 -2
- package/dist/renderJob/TriStepSetView.js.map +1 -1
- package/dist/renderJob/TriStepSetViewport.js +17 -0
- package/dist/renderJob/TriStepSetViewport.js.map +1 -1
- package/dist/renderJob/TriStepSetVisualizationMode.js +19 -0
- package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
- package/dist/shader/Tr2Effect.js +217 -2
- package/dist/shader/Tr2Effect.js.map +1 -1
- package/dist/shader/Tr2Material.js +41 -0
- package/dist/shader/Tr2Material.js.map +1 -1
- package/dist/shader/index.js +1 -11
- package/dist/shader/index.js.map +1 -1
- package/dist/shader/material/Tr2EffectLibraryParameters.js +7 -0
- package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
- package/dist/shader/material/Tr2EffectPassParameters.js +23 -0
- package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
- package/dist/shader/material/Tr2MaterialStageInput.js +15 -0
- package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
- package/dist/shader/parameter/CjsParameter.js +94 -0
- package/dist/shader/parameter/CjsParameter.js.map +1 -1
- package/dist/shader/parameter/CjsVectorParameter.js +20 -0
- package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2FloatParameter.js +53 -0
- package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js +39 -0
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Matrix4Parameter.js +54 -0
- package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +54 -0
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js +35 -0
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector2Parameter.js +86 -0
- package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector3Parameter.js +95 -0
- package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector4Parameter.js +105 -0
- package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
- package/dist/shader/parameter/TriFloatArrayParameter.js +26 -0
- package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
- package/dist/shader/parameter/TriTextureParameter.js +84 -0
- package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
- package/dist/shader/parameter/TriTransformParameter.js +2 -0
- package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
- package/dist/shader/parameter/TriVariableParameter.js +38 -0
- package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
- package/dist/shader/parameter/TriVector4.js +2 -0
- package/dist/shader/parameter/TriVector4.js.map +1 -1
- package/dist/shader/reflection/Tr2ShaderOption.js +6 -1
- package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
- package/dist/shader/support/CjsVariableStore.js +140 -0
- package/dist/shader/support/CjsVariableStore.js.map +1 -1
- package/dist/shader/support/Tr2ShaderBuffer.js +15 -0
- package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
- package/dist/trinityCore/CjsBatchManager.js +62 -2
- package/dist/trinityCore/CjsBatchManager.js.map +1 -1
- package/dist/trinityCore/GrannyBoneOffset.js +51 -0
- package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
- package/dist/trinityCore/ITriRenderBatchAccumulator.js +65 -3
- package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/Tr2DirectInstanceData.js +19 -0
- package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2ExpressionTermInfo.js +21 -0
- package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
- package/dist/trinityCore/Tr2GpuBuffer.js +5 -0
- package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
- package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +137 -8
- package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
- package/dist/trinityCore/Tr2InstancedMesh.js +52 -0
- package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
- package/dist/trinityCore/Tr2MaterialParameterStore.js +5 -0
- package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
- package/dist/trinityCore/Tr2Mesh.js +37 -0
- package/dist/trinityCore/Tr2Mesh.js.map +1 -1
- package/dist/trinityCore/Tr2MeshArea.js +78 -0
- package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
- package/dist/trinityCore/Tr2MeshBase.js +98 -2
- package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
- package/dist/trinityCore/Tr2PerObjectData.js +10 -0
- package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
- package/dist/trinityCore/Tr2PickType.js +33 -0
- package/dist/trinityCore/Tr2PickType.js.map +1 -0
- package/dist/trinityCore/Tr2RenderBatch.js +137 -0
- package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
- package/dist/trinityCore/Tr2RenderContext.js +271 -0
- package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
- package/dist/trinityCore/Tr2RuntimeInstanceData.js +179 -0
- package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2ShLightingManager.js +397 -0
- package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
- package/dist/trinityCore/Tr2VariableStore.js +26 -0
- package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
- package/dist/trinityCore/Tr2VisibilityResults.js +5 -0
- package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
- package/dist/trinityCore/TriDevice.js +5 -0
- package/dist/trinityCore/TriDevice.js.map +1 -1
- package/dist/trinityCore/TriFrustum.js +21 -14
- package/dist/trinityCore/TriFrustum.js.map +1 -1
- package/dist/trinityCore/TriObserverLocal.js +43 -0
- package/dist/trinityCore/TriObserverLocal.js.map +1 -1
- package/dist/trinityCore/TriProjection.js +86 -32
- package/dist/trinityCore/TriProjection.js.map +1 -1
- package/dist/trinityCore/TriRect.js +12 -0
- package/dist/trinityCore/TriRect.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchAccumulator.js +46 -0
- package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchMap.js +39 -2
- package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
- package/dist/trinityCore/TriSettings.js +38 -0
- package/dist/trinityCore/TriSettings.js.map +1 -1
- package/dist/trinityCore/TriVariable.js +30 -0
- package/dist/trinityCore/TriVariable.js.map +1 -1
- package/dist/trinityCore/TriView.js +16 -1
- package/dist/trinityCore/TriView.js.map +1 -1
- package/dist/trinityCore/TriViewport.js +12 -0
- package/dist/trinityCore/TriViewport.js.map +1 -1
- package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +1 -1
- package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
- package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
- package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
- package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
- package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
- package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +30 -6
- package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
- package/dist/trinityCore/binding/TriValueBinding.js +648 -0
- package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
- package/dist/trinityCore/index.js +11 -4
- package/dist/trinityCore/index.js.map +1 -1
- package/dist/trinityCore/pickRay.js +84 -0
- package/dist/trinityCore/pickRay.js.map +1 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +931 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
- package/dist/trinityCore/rawData/RawData.js +294 -38
- package/dist/trinityCore/rawData/RawData.js.map +1 -1
- package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
- package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
- package/dist/utilities/Range.js +53 -0
- package/dist/utilities/Range.js.map +1 -1
- package/docs/README.md +88 -0
- package/docs/architecture.md +162 -0
- package/docs/concepts/eve-runtime-behavior.md +86 -0
- package/docs/concepts/generated-class-lifecycle.md +116 -0
- package/docs/reference/api.md +76 -0
- package/docs/reference/classes/eve-runtime.md +106 -0
- package/docs/reference/classes/trinity-core.md +26 -0
- package/docs/reference/implementation-status.md +104 -0
- package/docs/reference/main-semantic-extraction.md +104 -0
- package/package.json +33 -24
- package/dist/eve/DecalVSPerObjectData.js +0 -34
- package/dist/eve/DecalVSPerObjectData.js.map +0 -1
- package/dist/eve/EveBannerItem.js +0 -43
- package/dist/eve/EveBannerItem.js.map +0 -1
- package/dist/eve/EveBannerLight.js.map +0 -1
- package/dist/eve/EveBannerSet.js +0 -190
- package/dist/eve/EveBannerSet.js.map +0 -1
- package/dist/eve/EveBasicPerObjectData.js +0 -31
- package/dist/eve/EveBasicPerObjectData.js.map +0 -1
- package/dist/eve/EveBoosterSet2.js.map +0 -1
- package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
- package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
- package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
- package/dist/eve/EveHazeSet.js.map +0 -1
- package/dist/eve/EveHazeSetLight.js.map +0 -1
- package/dist/eve/EveLocator2.js.map +0 -1
- package/dist/eve/EveLocatorSets.js.map +0 -1
- package/dist/eve/EveParticleDirectForce.js.map +0 -1
- package/dist/eve/EveParticleDragForce.js.map +0 -1
- package/dist/eve/EveParticleSpring.js.map +0 -1
- package/dist/eve/EvePerObjectPSData.js +0 -29
- package/dist/eve/EvePerObjectPSData.js.map +0 -1
- package/dist/eve/EvePerObjectVSData.js +0 -29
- package/dist/eve/EvePerObjectVSData.js.map +0 -1
- package/dist/eve/EvePlaneLight.js.map +0 -1
- package/dist/eve/EvePlaneSet.js.map +0 -1
- package/dist/eve/EvePlaneSetItem.js +0 -45
- package/dist/eve/EvePlaneSetItem.js.map +0 -1
- package/dist/eve/EveSpaceObjectAttachmentUtils.js.map +0 -1
- package/dist/eve/EveSpaceObjectDecal.js +0 -150
- package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
- package/dist/eve/EveSpaceObjectPSData.js +0 -73
- package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
- package/dist/eve/EveSpaceObjectVSData.js +0 -79
- package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
- package/dist/eve/EveSpacePerObjectData.js +0 -97
- package/dist/eve/EveSpacePerObjectData.js.map +0 -1
- package/dist/eve/EveSpherePinPerObjectData.js +0 -37
- package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
- package/dist/eve/EveSpotlightLight.js.map +0 -1
- package/dist/eve/EveSpotlightSet.js.map +0 -1
- package/dist/eve/EveSpriteLight.js.map +0 -1
- package/dist/eve/EveSpriteLineSet.js.map +0 -1
- package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
- package/dist/eve/EveSpriteSet.js.map +0 -1
- package/dist/eve/EveTrailsSet.js.map +0 -1
- package/dist/eve/Locator.js.map +0 -1
- package/dist/eve/LocatorData.js.map +0 -1
- package/dist/eve/ProcessLifetimeData.js.map +0 -1
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
- package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
- package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
- package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
- package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
- package/dist/generated/eve/EveCamera.js +0 -264
- package/dist/generated/eve/EveCamera.js.map +0 -1
- package/dist/generated/eve/EveEntity.js +0 -81
- package/dist/generated/eve/EveEntity.js.map +0 -1
- package/dist/generated/eve/attachment/decal/index.js +0 -2
- package/dist/generated/eve/attachment/decal/index.js.map +0 -1
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/haze/index.js +0 -2
- package/dist/generated/eve/attachment/haze/index.js.map +0 -1
- package/dist/generated/eve/attachment/index.js +0 -5
- package/dist/generated/eve/attachment/index.js.map +0 -1
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/spotlights/index.js +0 -2
- package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
- package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/sprites/index.js +0 -2
- package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/enums.js +0 -32
- package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/index.js +0 -2
- package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
- package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
- package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
- package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
- package/dist/generated/eve/child/EveChildLink.js.map +0 -1
- package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
- package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
- package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
- package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
- package/dist/generated/eve/child/behaviors/Wander.js +0 -92
- package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
- package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
- package/dist/generated/eve/child/modifiers/index.js +0 -5
- package/dist/generated/eve/child/modifiers/index.js.map +0 -1
- package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
- package/dist/generated/eve/child/procedural/index.js +0 -10
- package/dist/generated/eve/child/procedural/index.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/index.js +0 -9
- package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
- package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
- package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
- package/dist/generated/eve/distribution/index.js +0 -19
- package/dist/generated/eve/distribution/index.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
- package/dist/generated/eve/distribution/placement/index.js +0 -4
- package/dist/generated/eve/distribution/placement/index.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
- package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/index.js +0 -7
- package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
- package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
- package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
- package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
- package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
- package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
- package/dist/generated/eve/fxAttributes/index.js +0 -3
- package/dist/generated/eve/fxAttributes/index.js.map +0 -1
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
- package/dist/generated/eve/overlays/index.js +0 -2
- package/dist/generated/eve/overlays/index.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/index.js +0 -5
- package/dist/generated/eve/perObjectData/index.js.map +0 -1
- package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
- package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
- package/dist/generated/eve/scene/EvePickingContext.js +0 -43
- package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
- package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
- package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
- package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
- package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
- package/dist/generated/eve/socket/index.js +0 -10
- package/dist/generated/eve/socket/index.js.map +0 -1
- package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
- package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
- package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
- package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
- package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
- package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
- package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
- package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
- package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
- package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
- package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
- package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
- package/dist/generated/trinityCore/TriValueBinding.js +0 -249
- package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
- package/dist/shader/Tr2Shader.js +0 -150
- package/dist/shader/Tr2Shader.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
- package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
- package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
- package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
- package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectResource.js +0 -63
- package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
- package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
- package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
- package/dist/shader/reflection/Tr2Pass.js +0 -46
- package/dist/shader/reflection/Tr2Pass.js.map +0 -1
- package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
- package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
- package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
- package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
- package/dist/trinityCore/rawData/RawDataStore.js +0 -232
- package/dist/trinityCore/rawData/RawDataStore.js.map +0 -1
- /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
- /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
import { RawDataType, RawData } from './RawData.js';
|
|
2
|
+
import { CjsPerObjectLayouts } from './CjsPerObjectLayouts.js';
|
|
3
|
+
|
|
4
|
+
// Factory + arena for RawData constant-data payloads.
|
|
5
|
+
//
|
|
6
|
+
// Named for Carbon TriPoolAllocator (TriPoolAllocator.h/.cpp): the same job,
|
|
7
|
+
// lifetime and per-frame Clear. Carbon bump-allocates with placement new and
|
|
8
|
+
// wholesale Clear()s at EndRenderContext (Tr2Renderer.cpp:1072-1081), which is
|
|
9
|
+
// exactly what Alloc/Reset do here. It also carries the struct-layout registry,
|
|
10
|
+
// which C++ gets free from the type system via Allocate<T>().
|
|
11
|
+
//
|
|
12
|
+
// A pool is PER-ENGINE (one CjsLibrary = one live backend). Structs are
|
|
13
|
+
// REGISTERED on the instance - registration resolves each struct's layout right
|
|
14
|
+
// then, so a struct that cannot be laid out fails loud at registration, naming
|
|
15
|
+
// it.
|
|
16
|
+
//
|
|
17
|
+
// TRINITY COMPUTES THE OFFSETS. This once required an engine-injected packer,
|
|
18
|
+
// on the premise that the physical layout is BACKEND-SPECIFIC. That premise is
|
|
19
|
+
// false for these buffers, verified 2026-07-28: every backend declares them as
|
|
20
|
+
// a flat array of vec4 - WGSL `array<vec4<f32>, N>`, GLSL `vec4 cbN[N]`, or a
|
|
21
|
+
// std140 block wrapping `vec4 data[N]` - and std140's stride for an array of
|
|
22
|
+
// vec4 is 16 bytes, identical to tight C++ packing. The std140 rules that DO
|
|
23
|
+
// diverge (vec3 padded to 16, scalar array stride) never engage, because there
|
|
24
|
+
// are no struct members to pad: the translated shader indexes the flat array
|
|
25
|
+
// and reassembles fields itself.
|
|
26
|
+
//
|
|
27
|
+
// Layouts resolve from two sources, in order:
|
|
28
|
+
//
|
|
29
|
+
// 1. CjsPerObjectLayouts, when the struct name is a Carbon struct. Those
|
|
30
|
+
// offsets are declared, not derived, because Carbon memcpy's the C++
|
|
31
|
+
// struct (EveSpaceObject2.cpp:1469-1483) and its members sit on float4
|
|
32
|
+
// boundaries - tight-packing a FLOAT member would drift from it.
|
|
33
|
+
// 2. tight packing of the supplied def, for an ad-hoc struct the catalog
|
|
34
|
+
// does not carry.
|
|
35
|
+
//
|
|
36
|
+
// Offsets are FLOAT offsets relative to one instance's slot (the same offset
|
|
37
|
+
// indexes the Float32 and Uint32 views).
|
|
38
|
+
//
|
|
39
|
+
// Allocation is an ARENA (bump), not a free-list:
|
|
40
|
+
// - Alloc(name) bumps a cursor and returns a view ("snip off what you need")
|
|
41
|
+
// into a RETAINED backing buffer - the buffer is NOT recreated per frame.
|
|
42
|
+
// - Reset() rewinds the cursor; every slot is freed at once, O(1); the
|
|
43
|
+
// chunks are kept and reused next frame.
|
|
44
|
+
// - There is no Unalloc: transient slots live until their batch dispatches,
|
|
45
|
+
// so Reset is the only free. Permanent per-object data is not Alloc'd - a
|
|
46
|
+
// static placeable constructs its own RawData and owns it across frames.
|
|
47
|
+
//
|
|
48
|
+
// Maps to Carbon: Alloc == accumulator.Allocate (Tr2Renderer::GetPoolAllocator,
|
|
49
|
+
// reset per frame). No clear-on-Alloc, so an unwritten field shows the previous
|
|
50
|
+
// tenant's bytes - that reproduces Carbon's "unwritten slots = allocator
|
|
51
|
+
// garbage" (declared defaults are re-applied on Alloc; everything else is
|
|
52
|
+
// write-what-you-rely-on).
|
|
53
|
+
//
|
|
54
|
+
// Design: PER-OBJECT-DATA-DESIGN-2026-07-24.md
|
|
55
|
+
|
|
56
|
+
/** Declared catalog type -> the encoder kind that writes its bytes. */
|
|
57
|
+
const CATALOG_ENCODINGS = {
|
|
58
|
+
[CjsPerObjectLayouts.Types.MATRIX4]: RawDataType.MATRIX,
|
|
59
|
+
[CjsPerObjectLayouts.Types.UINT32]: RawDataType.UINT,
|
|
60
|
+
[CjsPerObjectLayouts.Types.INT32]: RawDataType.INT
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* A catalog layout as a store field-def array.
|
|
65
|
+
*
|
|
66
|
+
* A default on an array field is repeated across every element: the store
|
|
67
|
+
* applies each default at a single offset, and Carbon's neutral for a slot
|
|
68
|
+
* (identity for an unused custom mask) applies to every slot, not just the
|
|
69
|
+
* first.
|
|
70
|
+
*/
|
|
71
|
+
function catalogDef(layout) {
|
|
72
|
+
const def = [];
|
|
73
|
+
for (const field of layout.fields.values()) {
|
|
74
|
+
let value = null;
|
|
75
|
+
if (field.default) {
|
|
76
|
+
value = field.count > 1 ? Array.from({
|
|
77
|
+
length: field.count
|
|
78
|
+
}, () => [...field.default]).flat() : [...field.default];
|
|
79
|
+
}
|
|
80
|
+
def.push({
|
|
81
|
+
name: field.name,
|
|
82
|
+
size: field.size,
|
|
83
|
+
elements: field.count,
|
|
84
|
+
encoding: CATALOG_ENCODINGS[field.type] ?? RawDataType.VECTOR,
|
|
85
|
+
default: value
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return def;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Carbon's declared layout for a struct, or null when the catalog omits it.
|
|
93
|
+
*/
|
|
94
|
+
function catalogLayout(structName) {
|
|
95
|
+
const layout = CjsPerObjectLayouts.Get(structName);
|
|
96
|
+
if (!layout) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
const fields = {};
|
|
100
|
+
for (const field of layout.fields.values()) {
|
|
101
|
+
fields[field.name] = {
|
|
102
|
+
offset: field.offset,
|
|
103
|
+
size: field.size,
|
|
104
|
+
elements: field.count,
|
|
105
|
+
encoding: CATALOG_ENCODINGS[field.type] ?? RawDataType.VECTOR
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
fields,
|
|
110
|
+
stride: layout.stride
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Tight layout for an ad-hoc struct the catalog does not carry: fields in
|
|
116
|
+
* declared order, no padding.
|
|
117
|
+
*/
|
|
118
|
+
function tightLayout(normalized) {
|
|
119
|
+
const fields = {};
|
|
120
|
+
let offset = 0;
|
|
121
|
+
for (const field of normalized) {
|
|
122
|
+
fields[field.name] = {
|
|
123
|
+
offset,
|
|
124
|
+
size: field.size,
|
|
125
|
+
elements: field.elements,
|
|
126
|
+
encoding: field.encoding
|
|
127
|
+
};
|
|
128
|
+
offset += field.size * field.elements;
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
131
|
+
fields,
|
|
132
|
+
stride: offset
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/** Registers constant-data struct shapes and leases packed payloads from a per-engine arena. */
|
|
137
|
+
class TriPoolAllocator {
|
|
138
|
+
/** Registered layouts: name -> { fields, stride, defaults }. */
|
|
139
|
+
#layouts = new Map();
|
|
140
|
+
|
|
141
|
+
/** Retained arena chunks (Float32) and their Uint32 aliases. */
|
|
142
|
+
#chunks = [];
|
|
143
|
+
#chunkAliases = [];
|
|
144
|
+
|
|
145
|
+
/** Floats per chunk; also the largest struct a single Alloc may request. */
|
|
146
|
+
#chunkFloats = 8192;
|
|
147
|
+
#chunkIndex = 0;
|
|
148
|
+
#cursor = 0;
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* @param {object} [options]
|
|
152
|
+
* @param {number} [options.chunkFloats] - arena chunk size in floats.
|
|
153
|
+
*/
|
|
154
|
+
constructor(options = {}) {
|
|
155
|
+
if (Number.isInteger(options.chunkFloats) && options.chunkFloats > 0) {
|
|
156
|
+
this.#chunkFloats = options.chunkFloats;
|
|
157
|
+
}
|
|
158
|
+
this.#AddChunk();
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Register several structs at once: { StructName: def, ... }. Each value is a
|
|
163
|
+
* field-def array (see RegisterStruct) or { def, stages } when the struct
|
|
164
|
+
* binds anywhere other than the default vertex-stage slot. Returns the store
|
|
165
|
+
* for chaining.
|
|
166
|
+
*/
|
|
167
|
+
Register(structs) {
|
|
168
|
+
for (const name of Object.keys(structs)) {
|
|
169
|
+
const entry = structs[name];
|
|
170
|
+
if (Array.isArray(entry)) {
|
|
171
|
+
this.RegisterStruct(name, entry);
|
|
172
|
+
} else {
|
|
173
|
+
this.RegisterStruct(name, entry.def, {
|
|
174
|
+
stages: entry.stages
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return this;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Register one struct and RESOLVE its layout immediately. `def` is an array
|
|
183
|
+
* of field defs: { name, encoding, size, elements?, default? }, where `size`
|
|
184
|
+
* may instead be a defaults ARRAY whose length is the size. Omit `def`
|
|
185
|
+
* entirely for a Carbon struct and the catalog supplies it. Returns the store
|
|
186
|
+
* for chaining.
|
|
187
|
+
*
|
|
188
|
+
* `options.stages` declares which per-object constant slots the payload binds
|
|
189
|
+
* (default ["vs"]). This is Carbon-SEMANTIC knowledge - which
|
|
190
|
+
* FillAndSetConstants calls exist for the struct - so it travels with the def
|
|
191
|
+
* rather than the layout: ["vs"] a vertex-stage payload, ["ps"] a pixel payload (one
|
|
192
|
+
* half of a { vs, ps } record), ["vs", "ps"] the SAME bytes bound to both
|
|
193
|
+
* slots (sphere pin, lensflare). The engine reads it from GetLayout().stages.
|
|
194
|
+
*/
|
|
195
|
+
RegisterStruct(name, def, options = {}) {
|
|
196
|
+
if (def === undefined) {
|
|
197
|
+
// No def supplied: take Carbon's, from the catalog.
|
|
198
|
+
const layout = CjsPerObjectLayouts.Get(name);
|
|
199
|
+
if (!layout) {
|
|
200
|
+
throw new Error(`TriPoolAllocator: struct "${name}" is not in CjsPerObjectLayouts - add it there, or pass a def explicitly`);
|
|
201
|
+
}
|
|
202
|
+
def = catalogDef(layout);
|
|
203
|
+
options = {
|
|
204
|
+
...options,
|
|
205
|
+
stages: options.stages ?? layout.stages
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
const normalized = TriPoolAllocator.normalizeDef(def);
|
|
209
|
+
const stages = TriPoolAllocator.normalizeStages(name, options.stages);
|
|
210
|
+
|
|
211
|
+
// Carbon's declared offsets win: its members sit on float4 boundaries, so
|
|
212
|
+
// tight-packing them would drift the moment a struct carries a FLOAT.
|
|
213
|
+
const resolved = catalogLayout(name) ?? tightLayout(normalized);
|
|
214
|
+
if (resolved.stride > this.#chunkFloats) {
|
|
215
|
+
throw new Error(`TriPoolAllocator: struct "${name}" (${resolved.stride} floats) exceeds the chunk size (${this.#chunkFloats})`);
|
|
216
|
+
}
|
|
217
|
+
const defaults = [];
|
|
218
|
+
for (const field of normalized) {
|
|
219
|
+
if (field.default) {
|
|
220
|
+
const entry = resolved.fields[field.name];
|
|
221
|
+
if (entry) {
|
|
222
|
+
defaults.push({
|
|
223
|
+
offset: entry.offset,
|
|
224
|
+
values: field.default
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
this.#layouts.set(name, {
|
|
230
|
+
fields: resolved.fields,
|
|
231
|
+
stride: resolved.stride,
|
|
232
|
+
defaults,
|
|
233
|
+
stages
|
|
234
|
+
});
|
|
235
|
+
return this;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/** Whether a struct has been registered on this store. */
|
|
239
|
+
Has(name) {
|
|
240
|
+
return this.#layouts.has(name);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Lease a TRANSIENT payload for a registered struct. Bumps the arena and
|
|
245
|
+
* returns a RawData view over the next slot, with declared defaults applied.
|
|
246
|
+
* Valid until the next Reset().
|
|
247
|
+
*/
|
|
248
|
+
Alloc(name) {
|
|
249
|
+
const layout = this.#layouts.get(name);
|
|
250
|
+
if (!layout) {
|
|
251
|
+
throw new Error(`TriPoolAllocator: struct "${name}" is not registered on this store (call Register/RegisterStruct first)`);
|
|
252
|
+
}
|
|
253
|
+
const stride = layout.stride;
|
|
254
|
+
if (this.#cursor + stride > this.#chunkFloats) {
|
|
255
|
+
this.#chunkIndex++;
|
|
256
|
+
this.#cursor = 0;
|
|
257
|
+
if (this.#chunkIndex >= this.#chunks.length) {
|
|
258
|
+
this.#AddChunk();
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
const start = this.#cursor;
|
|
262
|
+
this.#cursor += stride;
|
|
263
|
+
const floats = this.#chunks[this.#chunkIndex].subarray(start, start + stride);
|
|
264
|
+
const uints = this.#chunkAliases[this.#chunkIndex].subarray(start, start + stride);
|
|
265
|
+
for (const preset of layout.defaults) {
|
|
266
|
+
const values = preset.values;
|
|
267
|
+
for (let index = 0; index < values.length; index++) {
|
|
268
|
+
floats[preset.offset + index] = values[index];
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return new RawData(layout, floats, uints, name);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Free every transient slot at once (frame end). Rewinds the arena cursor;
|
|
276
|
+
* the backing chunks are RETAINED and reused - nothing is reallocated.
|
|
277
|
+
*/
|
|
278
|
+
Reset() {
|
|
279
|
+
this.#chunkIndex = 0;
|
|
280
|
+
this.#cursor = 0;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Appends a fresh arena chunk of chunkFloats floats plus a Uint32 alias view
|
|
285
|
+
* over the same bytes, so payload fields can be written as floats or raw bits.
|
|
286
|
+
*/
|
|
287
|
+
#AddChunk() {
|
|
288
|
+
const chunk = new Float32Array(this.#chunkFloats);
|
|
289
|
+
this.#chunks.push(chunk);
|
|
290
|
+
this.#chunkAliases.push(new Uint32Array(chunk.buffer));
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/** The field encoding kinds (packing directives). */
|
|
294
|
+
static Type = RawDataType;
|
|
295
|
+
|
|
296
|
+
/** The per-object binding slots a struct may declare via options.stages. */
|
|
297
|
+
static Stages = Object.freeze(["vs", "ps", "gs", "cs", "hs", "ds"]);
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* Validate a stages declaration: a non-empty array drawn from
|
|
301
|
+
* TriPoolAllocator.Stages, no duplicates. Defaults to ["vs"] (Carbon's most
|
|
302
|
+
* common single-payload binding). Returns a frozen copy.
|
|
303
|
+
*/
|
|
304
|
+
static normalizeStages(structName, stages) {
|
|
305
|
+
if (stages === undefined || stages === null) {
|
|
306
|
+
return TriPoolAllocator.defaultStages;
|
|
307
|
+
}
|
|
308
|
+
if (!Array.isArray(stages) || !stages.length) {
|
|
309
|
+
throw new Error(`TriPoolAllocator: struct "${structName}" stages must be a non-empty array`);
|
|
310
|
+
}
|
|
311
|
+
for (const stage of stages) {
|
|
312
|
+
if (!TriPoolAllocator.Stages.includes(stage)) {
|
|
313
|
+
throw new Error(`TriPoolAllocator: struct "${structName}" has unknown stage "${stage}" (expected one of: ${TriPoolAllocator.Stages.join(", ")})`);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
if (new Set(stages).size !== stages.length) {
|
|
317
|
+
throw new Error(`TriPoolAllocator: struct "${structName}" declares a duplicate stage`);
|
|
318
|
+
}
|
|
319
|
+
return Object.freeze([...stages]);
|
|
320
|
+
}
|
|
321
|
+
static defaultStages = Object.freeze(["vs"]);
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* Normalize a raw def: default elements to 1, resolve size-as-defaults-array,
|
|
325
|
+
* require a name and encoding. Physical offsets are NOT computed here - they
|
|
326
|
+
* are resolved at registration, from the catalog or by tight packing.
|
|
327
|
+
*/
|
|
328
|
+
static normalizeDef(def) {
|
|
329
|
+
return def.map(field => {
|
|
330
|
+
if (!field.name) {
|
|
331
|
+
throw new Error("TriPoolAllocator: every struct field needs a name");
|
|
332
|
+
}
|
|
333
|
+
if (!field.encoding) {
|
|
334
|
+
throw new Error(`TriPoolAllocator: field "${field.name}" needs an encoding (TriPoolAllocator.Type.*)`);
|
|
335
|
+
}
|
|
336
|
+
let size = field.size;
|
|
337
|
+
let defaultValue = field.default ?? null;
|
|
338
|
+
if (Array.isArray(size)) {
|
|
339
|
+
defaultValue = size;
|
|
340
|
+
size = size.length;
|
|
341
|
+
}
|
|
342
|
+
if (!Number.isInteger(size) || size <= 0) {
|
|
343
|
+
throw new Error(`TriPoolAllocator: field "${field.name}" needs a positive integer size`);
|
|
344
|
+
}
|
|
345
|
+
return {
|
|
346
|
+
name: field.name,
|
|
347
|
+
elements: Number.isInteger(field.elements) && field.elements > 0 ? field.elements : 1,
|
|
348
|
+
size,
|
|
349
|
+
encoding: field.encoding,
|
|
350
|
+
default: defaultValue
|
|
351
|
+
};
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
export { TriPoolAllocator };
|
|
357
|
+
//# sourceMappingURL=TriPoolAllocator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TriPoolAllocator.js","sources":["../../../../src/trinityCore/rawData/TriPoolAllocator.js"],"sourcesContent":["// Factory + arena for RawData constant-data payloads.\n//\n// Named for Carbon TriPoolAllocator (TriPoolAllocator.h/.cpp): the same job,\n// lifetime and per-frame Clear. Carbon bump-allocates with placement new and\n// wholesale Clear()s at EndRenderContext (Tr2Renderer.cpp:1072-1081), which is\n// exactly what Alloc/Reset do here. It also carries the struct-layout registry,\n// which C++ gets free from the type system via Allocate<T>().\n//\n// A pool is PER-ENGINE (one CjsLibrary = one live backend). Structs are\n// REGISTERED on the instance - registration resolves each struct's layout right\n// then, so a struct that cannot be laid out fails loud at registration, naming\n// it.\n//\n// TRINITY COMPUTES THE OFFSETS. This once required an engine-injected packer,\n// on the premise that the physical layout is BACKEND-SPECIFIC. That premise is\n// false for these buffers, verified 2026-07-28: every backend declares them as\n// a flat array of vec4 - WGSL `array<vec4<f32>, N>`, GLSL `vec4 cbN[N]`, or a\n// std140 block wrapping `vec4 data[N]` - and std140's stride for an array of\n// vec4 is 16 bytes, identical to tight C++ packing. The std140 rules that DO\n// diverge (vec3 padded to 16, scalar array stride) never engage, because there\n// are no struct members to pad: the translated shader indexes the flat array\n// and reassembles fields itself.\n//\n// Layouts resolve from two sources, in order:\n//\n// 1. CjsPerObjectLayouts, when the struct name is a Carbon struct. Those\n// offsets are declared, not derived, because Carbon memcpy's the C++\n// struct (EveSpaceObject2.cpp:1469-1483) and its members sit on float4\n// boundaries - tight-packing a FLOAT member would drift from it.\n// 2. tight packing of the supplied def, for an ad-hoc struct the catalog\n// does not carry.\n//\n// Offsets are FLOAT offsets relative to one instance's slot (the same offset\n// indexes the Float32 and Uint32 views).\n//\n// Allocation is an ARENA (bump), not a free-list:\n// - Alloc(name) bumps a cursor and returns a view (\"snip off what you need\")\n// into a RETAINED backing buffer - the buffer is NOT recreated per frame.\n// - Reset() rewinds the cursor; every slot is freed at once, O(1); the\n// chunks are kept and reused next frame.\n// - There is no Unalloc: transient slots live until their batch dispatches,\n// so Reset is the only free. Permanent per-object data is not Alloc'd - a\n// static placeable constructs its own RawData and owns it across frames.\n//\n// Maps to Carbon: Alloc == accumulator.Allocate (Tr2Renderer::GetPoolAllocator,\n// reset per frame). No clear-on-Alloc, so an unwritten field shows the previous\n// tenant's bytes - that reproduces Carbon's \"unwritten slots = allocator\n// garbage\" (declared defaults are re-applied on Alloc; everything else is\n// write-what-you-rely-on).\n//\n// Design: PER-OBJECT-DATA-DESIGN-2026-07-24.md\nimport { RawData, RawDataType } from \"./RawData.js\";\nimport { CjsPerObjectLayouts } from \"./CjsPerObjectLayouts.js\";\n\n\n/** Declared catalog type -> the encoder kind that writes its bytes. */\nconst CATALOG_ENCODINGS = {\n [CjsPerObjectLayouts.Types.MATRIX4]: RawDataType.MATRIX,\n [CjsPerObjectLayouts.Types.UINT32]: RawDataType.UINT,\n [CjsPerObjectLayouts.Types.INT32]: RawDataType.INT\n};\n\n\n/**\n * A catalog layout as a store field-def array.\n *\n * A default on an array field is repeated across every element: the store\n * applies each default at a single offset, and Carbon's neutral for a slot\n * (identity for an unused custom mask) applies to every slot, not just the\n * first.\n */\nfunction catalogDef(layout)\n{\n const def = [];\n\n for (const field of layout.fields.values())\n {\n let value = null;\n\n if (field.default)\n {\n value = field.count > 1\n ? Array.from({ length: field.count }, () => [ ...field.default ]).flat()\n : [ ...field.default ];\n }\n\n def.push({\n name: field.name,\n size: field.size,\n elements: field.count,\n encoding: CATALOG_ENCODINGS[field.type] ?? RawDataType.VECTOR,\n default: value\n });\n }\n\n return def;\n}\n\n\n/**\n * Carbon's declared layout for a struct, or null when the catalog omits it.\n */\nfunction catalogLayout(structName)\n{\n const layout = CjsPerObjectLayouts.Get(structName);\n\n if (!layout)\n {\n return null;\n }\n\n const fields = {};\n\n for (const field of layout.fields.values())\n {\n fields[field.name] = {\n offset: field.offset,\n size: field.size,\n elements: field.count,\n encoding: CATALOG_ENCODINGS[field.type] ?? RawDataType.VECTOR\n };\n }\n\n return { fields, stride: layout.stride };\n}\n\n\n/**\n * Tight layout for an ad-hoc struct the catalog does not carry: fields in\n * declared order, no padding.\n */\nfunction tightLayout(normalized)\n{\n const fields = {};\n let offset = 0;\n\n for (const field of normalized)\n {\n fields[field.name] = {\n offset,\n size: field.size,\n elements: field.elements,\n encoding: field.encoding\n };\n offset += field.size * field.elements;\n }\n\n return { fields, stride: offset };\n}\n\n\n/** Registers constant-data struct shapes and leases packed payloads from a per-engine arena. */\nexport class TriPoolAllocator\n{\n /** Registered layouts: name -> { fields, stride, defaults }. */\n #layouts = new Map();\n\n /** Retained arena chunks (Float32) and their Uint32 aliases. */\n #chunks = [];\n\n #chunkAliases = [];\n\n /** Floats per chunk; also the largest struct a single Alloc may request. */\n #chunkFloats = 8192;\n\n #chunkIndex = 0;\n\n #cursor = 0;\n\n /**\n * @param {object} [options]\n * @param {number} [options.chunkFloats] - arena chunk size in floats.\n */\n constructor(options = {})\n {\n if (Number.isInteger(options.chunkFloats) && options.chunkFloats > 0)\n {\n this.#chunkFloats = options.chunkFloats;\n }\n\n this.#AddChunk();\n }\n\n /**\n * Register several structs at once: { StructName: def, ... }. Each value is a\n * field-def array (see RegisterStruct) or { def, stages } when the struct\n * binds anywhere other than the default vertex-stage slot. Returns the store\n * for chaining.\n */\n Register(structs)\n {\n for (const name of Object.keys(structs))\n {\n const entry = structs[name];\n\n if (Array.isArray(entry))\n {\n this.RegisterStruct(name, entry);\n }\n else\n {\n this.RegisterStruct(name, entry.def, { stages: entry.stages });\n }\n }\n\n return this;\n }\n\n /**\n * Register one struct and RESOLVE its layout immediately. `def` is an array\n * of field defs: { name, encoding, size, elements?, default? }, where `size`\n * may instead be a defaults ARRAY whose length is the size. Omit `def`\n * entirely for a Carbon struct and the catalog supplies it. Returns the store\n * for chaining.\n *\n * `options.stages` declares which per-object constant slots the payload binds\n * (default [\"vs\"]). This is Carbon-SEMANTIC knowledge - which\n * FillAndSetConstants calls exist for the struct - so it travels with the def\n * rather than the layout: [\"vs\"] a vertex-stage payload, [\"ps\"] a pixel payload (one\n * half of a { vs, ps } record), [\"vs\", \"ps\"] the SAME bytes bound to both\n * slots (sphere pin, lensflare). The engine reads it from GetLayout().stages.\n */\n RegisterStruct(name, def, options = {})\n {\n if (def === undefined)\n {\n // No def supplied: take Carbon's, from the catalog.\n const layout = CjsPerObjectLayouts.Get(name);\n\n if (!layout)\n {\n throw new Error(\n `TriPoolAllocator: struct \"${name}\" is not in CjsPerObjectLayouts - add it there, or pass a def explicitly`\n );\n }\n\n def = catalogDef(layout);\n options = { ...options, stages: options.stages ?? layout.stages };\n }\n\n const normalized = TriPoolAllocator.normalizeDef(def);\n const stages = TriPoolAllocator.normalizeStages(name, options.stages);\n\n // Carbon's declared offsets win: its members sit on float4 boundaries, so\n // tight-packing them would drift the moment a struct carries a FLOAT.\n const resolved = catalogLayout(name) ?? tightLayout(normalized);\n\n if (resolved.stride > this.#chunkFloats)\n {\n throw new Error(`TriPoolAllocator: struct \"${name}\" (${resolved.stride} floats) exceeds the chunk size (${this.#chunkFloats})`);\n }\n\n const defaults = [];\n\n for (const field of normalized)\n {\n if (field.default)\n {\n const entry = resolved.fields[field.name];\n\n if (entry)\n {\n defaults.push({ offset: entry.offset, values: field.default });\n }\n }\n }\n\n this.#layouts.set(name, { fields: resolved.fields, stride: resolved.stride, defaults, stages });\n\n return this;\n }\n\n /** Whether a struct has been registered on this store. */\n Has(name)\n {\n return this.#layouts.has(name);\n }\n\n /**\n * Lease a TRANSIENT payload for a registered struct. Bumps the arena and\n * returns a RawData view over the next slot, with declared defaults applied.\n * Valid until the next Reset().\n */\n Alloc(name)\n {\n const layout = this.#layouts.get(name);\n\n if (!layout)\n {\n throw new Error(`TriPoolAllocator: struct \"${name}\" is not registered on this store (call Register/RegisterStruct first)`);\n }\n\n const stride = layout.stride;\n\n if (this.#cursor + stride > this.#chunkFloats)\n {\n this.#chunkIndex++;\n this.#cursor = 0;\n\n if (this.#chunkIndex >= this.#chunks.length)\n {\n this.#AddChunk();\n }\n }\n\n const start = this.#cursor;\n this.#cursor += stride;\n\n const floats = this.#chunks[this.#chunkIndex].subarray(start, start + stride);\n const uints = this.#chunkAliases[this.#chunkIndex].subarray(start, start + stride);\n\n for (const preset of layout.defaults)\n {\n const values = preset.values;\n\n for (let index = 0; index < values.length; index++)\n {\n floats[preset.offset + index] = values[index];\n }\n }\n\n return new RawData(layout, floats, uints, name);\n }\n\n /**\n * Free every transient slot at once (frame end). Rewinds the arena cursor;\n * the backing chunks are RETAINED and reused - nothing is reallocated.\n */\n Reset()\n {\n this.#chunkIndex = 0;\n this.#cursor = 0;\n }\n\n /**\n * Appends a fresh arena chunk of chunkFloats floats plus a Uint32 alias view\n * over the same bytes, so payload fields can be written as floats or raw bits.\n */\n #AddChunk()\n {\n const chunk = new Float32Array(this.#chunkFloats);\n this.#chunks.push(chunk);\n this.#chunkAliases.push(new Uint32Array(chunk.buffer));\n }\n\n /** The field encoding kinds (packing directives). */\n static Type = RawDataType;\n\n /** The per-object binding slots a struct may declare via options.stages. */\n static Stages = Object.freeze([\"vs\", \"ps\", \"gs\", \"cs\", \"hs\", \"ds\"]);\n\n /**\n * Validate a stages declaration: a non-empty array drawn from\n * TriPoolAllocator.Stages, no duplicates. Defaults to [\"vs\"] (Carbon's most\n * common single-payload binding). Returns a frozen copy.\n */\n static normalizeStages(structName, stages)\n {\n if (stages === undefined || stages === null)\n {\n return TriPoolAllocator.defaultStages;\n }\n\n if (!Array.isArray(stages) || !stages.length)\n {\n throw new Error(`TriPoolAllocator: struct \"${structName}\" stages must be a non-empty array`);\n }\n\n for (const stage of stages)\n {\n if (!TriPoolAllocator.Stages.includes(stage))\n {\n throw new Error(`TriPoolAllocator: struct \"${structName}\" has unknown stage \"${stage}\" (expected one of: ${TriPoolAllocator.Stages.join(\", \")})`);\n }\n }\n\n if (new Set(stages).size !== stages.length)\n {\n throw new Error(`TriPoolAllocator: struct \"${structName}\" declares a duplicate stage`);\n }\n\n return Object.freeze([...stages]);\n }\n\n static defaultStages = Object.freeze([\"vs\"]);\n\n /**\n * Normalize a raw def: default elements to 1, resolve size-as-defaults-array,\n * require a name and encoding. Physical offsets are NOT computed here - they\n * are resolved at registration, from the catalog or by tight packing.\n */\n static normalizeDef(def)\n {\n return def.map(field =>\n {\n if (!field.name)\n {\n throw new Error(\"TriPoolAllocator: every struct field needs a name\");\n }\n\n if (!field.encoding)\n {\n throw new Error(`TriPoolAllocator: field \"${field.name}\" needs an encoding (TriPoolAllocator.Type.*)`);\n }\n\n let size = field.size;\n let defaultValue = field.default ?? null;\n\n if (Array.isArray(size))\n {\n defaultValue = size;\n size = size.length;\n }\n\n if (!Number.isInteger(size) || size <= 0)\n {\n throw new Error(`TriPoolAllocator: field \"${field.name}\" needs a positive integer size`);\n }\n\n return {\n name: field.name,\n elements: Number.isInteger(field.elements) && field.elements > 0 ? field.elements : 1,\n size,\n encoding: field.encoding,\n default: defaultValue\n };\n });\n }\n\n}\n"],"names":["CATALOG_ENCODINGS","CjsPerObjectLayouts","Types","MATRIX4","RawDataType","MATRIX","UINT32","UINT","INT32","INT","catalogDef","layout","def","field","fields","values","value","default","count","Array","from","length","flat","push","name","size","elements","encoding","type","VECTOR","catalogLayout","structName","Get","offset","stride","tightLayout","normalized","TriPoolAllocator","Map","constructor","options","Number","isInteger","chunkFloats","Register","structs","Object","keys","entry","isArray","RegisterStruct","stages","undefined","Error","normalizeDef","normalizeStages","resolved","defaults","set","Has","has","Alloc","get","start","floats","subarray","uints","preset","index","RawData","Reset","#AddChunk","chunk","Float32Array","Uint32Array","buffer","Type","Stages","freeze","defaultStages","stage","includes","join","Set","map","defaultValue"],"mappings":"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"}
|
package/dist/utilities/Range.js
CHANGED
|
@@ -3,6 +3,12 @@ import { CjsModel } from '@carbonenginejs/runtime-utils/model';
|
|
|
3
3
|
import { type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
|
|
4
4
|
|
|
5
5
|
let _initProto, _initClass, _init_isUniform, _init_extra_isUniform, _init_centerPoint, _init_extra_centerPoint, _init_minRangePoint, _init_extra_minRangePoint, _init_maxRangePoint, _init_extra_maxRangePoint;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A center point with a lower and an upper range point, optionally kept
|
|
9
|
+
* symmetric about the center, and clamped for display against separate slider
|
|
10
|
+
* bounds.
|
|
11
|
+
*/
|
|
6
12
|
let _Range;
|
|
7
13
|
class Range extends CjsModel {
|
|
8
14
|
static {
|
|
@@ -59,6 +65,8 @@ class Range extends CjsModel {
|
|
|
59
65
|
}
|
|
60
66
|
this.#syncRangePoints();
|
|
61
67
|
}
|
|
68
|
+
|
|
69
|
+
/** Returns the point both range points are measured from. */
|
|
62
70
|
GetCenterPoint() {
|
|
63
71
|
return this.centerPoint;
|
|
64
72
|
}
|
|
@@ -67,21 +75,41 @@ class Range extends CjsModel {
|
|
|
67
75
|
GetMinRangePoint() {
|
|
68
76
|
return this.minRangePoint;
|
|
69
77
|
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Returns the upper range point after Carbon's clamp, which is a min against
|
|
81
|
+
* the slider maximum, not a max (Range.cpp:68-71).
|
|
82
|
+
*/
|
|
70
83
|
GetMaxRangePoint() {
|
|
71
84
|
return this.maxRangePoint;
|
|
72
85
|
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Flips symmetric mode, and when turning it on collapses both sides to the
|
|
89
|
+
* smaller of the two distances from the center.
|
|
90
|
+
*/
|
|
73
91
|
ToggleIsUniform() {
|
|
74
92
|
this.isUniform = !this.isUniform;
|
|
75
93
|
if (this.isUniform) {
|
|
76
94
|
this.FixUniformity();
|
|
77
95
|
}
|
|
78
96
|
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Sets symmetric mode, fixing up the range points immediately when enabling
|
|
100
|
+
* it.
|
|
101
|
+
*/
|
|
79
102
|
SetIsUniform(value) {
|
|
80
103
|
this.isUniform = value;
|
|
81
104
|
if (this.isUniform) {
|
|
82
105
|
this.FixUniformity();
|
|
83
106
|
}
|
|
84
107
|
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Makes the range symmetric by adopting the smaller of the two distances from
|
|
111
|
+
* the center on both sides, so uniformity narrows rather than widens.
|
|
112
|
+
*/
|
|
85
113
|
FixUniformity() {
|
|
86
114
|
const minRangeDelta = this.centerPoint - this.#minRange;
|
|
87
115
|
const maxRangeDelta = this.#maxRange - this.centerPoint;
|
|
@@ -89,23 +117,48 @@ class Range extends CjsModel {
|
|
|
89
117
|
this.SetMinRangePoint(this.centerPoint - newDelta);
|
|
90
118
|
this.SetMaxRangePoint(this.centerPoint + newDelta);
|
|
91
119
|
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Reports whether the two range points are being kept symmetric about the
|
|
123
|
+
* center.
|
|
124
|
+
*/
|
|
92
125
|
GetIsUniform() {
|
|
93
126
|
return this.isUniform;
|
|
94
127
|
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Sets the lower slider bound the exposed range points are clamped against,
|
|
131
|
+
* and re-clamps them.
|
|
132
|
+
*/
|
|
95
133
|
SetSliderMin(value) {
|
|
96
134
|
this.#sliderRangeMin = value;
|
|
97
135
|
this.#syncRangePoints();
|
|
98
136
|
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Sets the upper slider bound the exposed range points are clamped against,
|
|
140
|
+
* and re-clamps them.
|
|
141
|
+
*/
|
|
99
142
|
SetSliderMax(value) {
|
|
100
143
|
this.#sliderRangeMax = value;
|
|
101
144
|
this.#syncRangePoints();
|
|
102
145
|
}
|
|
146
|
+
|
|
147
|
+
/** Returns the lower slider bound used when clamping the exposed range points. */
|
|
103
148
|
GetSliderMin() {
|
|
104
149
|
return this.#sliderRangeMin;
|
|
105
150
|
}
|
|
151
|
+
|
|
152
|
+
/** Returns the upper slider bound used when clamping the exposed range points. */
|
|
106
153
|
GetSliderMax() {
|
|
107
154
|
return this.#sliderRangeMax;
|
|
108
155
|
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Recomputes the exposed minRangePoint and maxRangePoint from the internal
|
|
159
|
+
* range and the slider bounds; Carbon derives these on read (Range.cpp:63-71)
|
|
160
|
+
* and clamps both with min, which is reproduced here rather than corrected.
|
|
161
|
+
*/
|
|
109
162
|
#syncRangePoints() {
|
|
110
163
|
this.minRangePoint = Math.min(this.#minRange, this.#sliderRangeMin);
|
|
111
164
|
this.maxRangePoint = Math.min(this.#maxRange, this.#sliderRangeMax);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Range.js","sources":["../../../src/utilities/Range.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Utilities\\Range.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Utilities\\Range.cpp\n// Source: E:\\carbonengine\\trinity\\trinity\\Utilities\\Range_Blue.cpp\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { carbon, impl, type } from \"@carbonenginejs/runtime-utils/schema\";\n\n\n@type.define({\n className: \"Range\",\n family: \"utilities\"\n})\nexport class Range extends CjsModel\n{\n @type.boolean\n isUniform = true;\n\n @type.float32\n centerPoint = 0;\n\n @type.float32\n minRangePoint = 0;\n\n @type.float32\n maxRangePoint = 0;\n\n #minRange = 0;\n\n #maxRange = 0;\n\n #sliderRangeMin = 0;\n\n #sliderRangeMax = 0;\n\n /** Moves the range while preserving both distances from its center. */\n @carbon.method\n @impl.implemented\n SetCenterPoint(value)\n {\n const delta = value - this.centerPoint;\n this.centerPoint = value;\n this.#minRange += delta;\n this.#maxRange += delta;\n this.#syncRangePoints();\n }\n\n /** Configures the symmetric range and its slider bounds. */\n @carbon.method\n @impl.implemented\n Setup(rangeCenterPoint, rangeDeltaFromCenter, sliderMin, sliderMax)\n {\n this.centerPoint = rangeCenterPoint;\n this.#minRange = this.centerPoint - rangeDeltaFromCenter;\n this.#maxRange = this.centerPoint + rangeDeltaFromCenter;\n this.#sliderRangeMin = sliderMin;\n this.#sliderRangeMax = sliderMax;\n this.#syncRangePoints();\n }\n\n /** Sets the lower range point and mirrors it when uniform. */\n @carbon.method\n @impl.implemented\n SetMinRangePoint(value)\n {\n this.#minRange = Math.min(value, this.centerPoint);\n if (this.isUniform)\n {\n this.#maxRange = this.centerPoint + (this.centerPoint - this.#minRange);\n }\n this.#syncRangePoints();\n }\n\n /** Sets the upper range point and mirrors it when uniform. */\n @carbon.method\n @impl.implemented\n SetMaxRangePoint(value)\n {\n this.#maxRange = Math.max(value, this.centerPoint);\n if (this.isUniform)\n {\n this.#minRange = this.centerPoint - (this.#maxRange - this.centerPoint);\n }\n this.#syncRangePoints();\n }\n\n @carbon.method\n @impl.implemented\n GetCenterPoint()\n {\n return this.centerPoint;\n }\n\n /** Preserves Carbon's exact lower-bound comparison behavior. */\n @carbon.method\n @impl.implemented\n GetMinRangePoint()\n {\n return this.minRangePoint;\n }\n\n @carbon.method\n @impl.implemented\n GetMaxRangePoint()\n {\n return this.maxRangePoint;\n }\n\n @carbon.method\n @impl.implemented\n ToggleIsUniform()\n {\n this.isUniform = !this.isUniform;\n if (this.isUniform)\n {\n this.FixUniformity();\n }\n }\n\n @carbon.method\n @impl.implemented\n SetIsUniform(value)\n {\n this.isUniform = value;\n if (this.isUniform)\n {\n this.FixUniformity();\n }\n }\n\n FixUniformity()\n {\n const minRangeDelta = this.centerPoint - this.#minRange;\n const maxRangeDelta = this.#maxRange - this.centerPoint;\n const newDelta = Math.min(minRangeDelta, maxRangeDelta);\n this.SetMinRangePoint(this.centerPoint - newDelta);\n this.SetMaxRangePoint(this.centerPoint + newDelta);\n }\n\n @carbon.method\n @impl.implemented\n GetIsUniform()\n {\n return this.isUniform;\n }\n\n @carbon.method\n @impl.implemented\n SetSliderMin(value)\n {\n this.#sliderRangeMin = value;\n this.#syncRangePoints();\n }\n\n @carbon.method\n @impl.implemented\n SetSliderMax(value)\n {\n this.#sliderRangeMax = value;\n this.#syncRangePoints();\n }\n\n @carbon.method\n @impl.implemented\n GetSliderMin()\n {\n return this.#sliderRangeMin;\n }\n\n @carbon.method\n @impl.implemented\n GetSliderMax()\n {\n return this.#sliderRangeMax;\n }\n\n #syncRangePoints()\n {\n this.minRangePoint = Math.min(this.#minRange, this.#sliderRangeMin);\n this.maxRangePoint = Math.min(this.#maxRange, this.#sliderRangeMax);\n }\n}\n"],"names":["_Range","Range","CjsModel","e","_init_isUniform","_init_extra_isUniform","_init_centerPoint","_init_extra_centerPoint","_init_minRangePoint","_init_extra_minRangePoint","_init_maxRangePoint","_init_extra_maxRangePoint","_initProto","c","_initClass","_applyDecs","type","define","className","family","boolean","float32","carbon","method","impl","implemented","isUniform","centerPoint","minRangePoint","maxRangePoint","SetCenterPoint","value","delta","Setup","rangeCenterPoint","rangeDeltaFromCenter","sliderMin","sliderMax","SetMinRangePoint","Math","min","SetMaxRangePoint","max","GetCenterPoint","GetMinRangePoint","GetMaxRangePoint","ToggleIsUniform","FixUniformity","SetIsUniform","minRangeDelta","maxRangeDelta","newDelta","GetIsUniform","SetSliderMin","SetSliderMax","GetSliderMin","GetSliderMax","#syncRangePoints"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Range.js","sources":["../../../src/utilities/Range.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Utilities\\Range.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Utilities\\Range.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Utilities\\Range_Blue.cpp\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { carbon, impl, type } from \"@carbonenginejs/runtime-utils/schema\";\r\n\r\n\r\n/**\r\n * A center point with a lower and an upper range point, optionally kept\r\n * symmetric about the center, and clamped for display against separate slider\r\n * bounds.\r\n */\r\n@type.define({\r\n className: \"Range\",\r\n family: \"utilities\"\r\n})\r\nexport class Range extends CjsModel\r\n{\r\n @type.boolean\r\n isUniform = true;\r\n\r\n @type.float32\r\n centerPoint = 0;\r\n\r\n @type.float32\r\n minRangePoint = 0;\r\n\r\n @type.float32\r\n maxRangePoint = 0;\r\n\r\n #minRange = 0;\r\n\r\n #maxRange = 0;\r\n\r\n #sliderRangeMin = 0;\r\n\r\n #sliderRangeMax = 0;\r\n\r\n /** Moves the range while preserving both distances from its center. */\r\n @carbon.method\r\n @impl.implemented\r\n SetCenterPoint(value)\r\n {\r\n const delta = value - this.centerPoint;\r\n this.centerPoint = value;\r\n this.#minRange += delta;\r\n this.#maxRange += delta;\r\n this.#syncRangePoints();\r\n }\r\n\r\n /** Configures the symmetric range and its slider bounds. */\r\n @carbon.method\r\n @impl.implemented\r\n Setup(rangeCenterPoint, rangeDeltaFromCenter, sliderMin, sliderMax)\r\n {\r\n this.centerPoint = rangeCenterPoint;\r\n this.#minRange = this.centerPoint - rangeDeltaFromCenter;\r\n this.#maxRange = this.centerPoint + rangeDeltaFromCenter;\r\n this.#sliderRangeMin = sliderMin;\r\n this.#sliderRangeMax = sliderMax;\r\n this.#syncRangePoints();\r\n }\r\n\r\n /** Sets the lower range point and mirrors it when uniform. */\r\n @carbon.method\r\n @impl.implemented\r\n SetMinRangePoint(value)\r\n {\r\n this.#minRange = Math.min(value, this.centerPoint);\r\n if (this.isUniform)\r\n {\r\n this.#maxRange = this.centerPoint + (this.centerPoint - this.#minRange);\r\n }\r\n this.#syncRangePoints();\r\n }\r\n\r\n /** Sets the upper range point and mirrors it when uniform. */\r\n @carbon.method\r\n @impl.implemented\r\n SetMaxRangePoint(value)\r\n {\r\n this.#maxRange = Math.max(value, this.centerPoint);\r\n if (this.isUniform)\r\n {\r\n this.#minRange = this.centerPoint - (this.#maxRange - this.centerPoint);\r\n }\r\n this.#syncRangePoints();\r\n }\r\n\r\n /** Returns the point both range points are measured from. */\r\n @carbon.method\r\n @impl.implemented\r\n GetCenterPoint()\r\n {\r\n return this.centerPoint;\r\n }\r\n\r\n /** Preserves Carbon's exact lower-bound comparison behavior. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMinRangePoint()\r\n {\r\n return this.minRangePoint;\r\n }\r\n\r\n /**\r\n * Returns the upper range point after Carbon's clamp, which is a min against\r\n * the slider maximum, not a max (Range.cpp:68-71).\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetMaxRangePoint()\r\n {\r\n return this.maxRangePoint;\r\n }\r\n\r\n /**\r\n * Flips symmetric mode, and when turning it on collapses both sides to the\r\n * smaller of the two distances from the center.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n ToggleIsUniform()\r\n {\r\n this.isUniform = !this.isUniform;\r\n if (this.isUniform)\r\n {\r\n this.FixUniformity();\r\n }\r\n }\r\n\r\n /**\r\n * Sets symmetric mode, fixing up the range points immediately when enabling\r\n * it.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetIsUniform(value)\r\n {\r\n this.isUniform = value;\r\n if (this.isUniform)\r\n {\r\n this.FixUniformity();\r\n }\r\n }\r\n\r\n /**\r\n * Makes the range symmetric by adopting the smaller of the two distances from\r\n * the center on both sides, so uniformity narrows rather than widens.\r\n */\r\n FixUniformity()\r\n {\r\n const minRangeDelta = this.centerPoint - this.#minRange;\r\n const maxRangeDelta = this.#maxRange - this.centerPoint;\r\n const newDelta = Math.min(minRangeDelta, maxRangeDelta);\r\n this.SetMinRangePoint(this.centerPoint - newDelta);\r\n this.SetMaxRangePoint(this.centerPoint + newDelta);\r\n }\r\n\r\n /**\r\n * Reports whether the two range points are being kept symmetric about the\r\n * center.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetIsUniform()\r\n {\r\n return this.isUniform;\r\n }\r\n\r\n /**\r\n * Sets the lower slider bound the exposed range points are clamped against,\r\n * and re-clamps them.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetSliderMin(value)\r\n {\r\n this.#sliderRangeMin = value;\r\n this.#syncRangePoints();\r\n }\r\n\r\n /**\r\n * Sets the upper slider bound the exposed range points are clamped against,\r\n * and re-clamps them.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetSliderMax(value)\r\n {\r\n this.#sliderRangeMax = value;\r\n this.#syncRangePoints();\r\n }\r\n\r\n /** Returns the lower slider bound used when clamping the exposed range points. */\r\n @carbon.method\r\n @impl.implemented\r\n GetSliderMin()\r\n {\r\n return this.#sliderRangeMin;\r\n }\r\n\r\n /** Returns the upper slider bound used when clamping the exposed range points. */\r\n @carbon.method\r\n @impl.implemented\r\n GetSliderMax()\r\n {\r\n return this.#sliderRangeMax;\r\n }\r\n\r\n /**\r\n * Recomputes the exposed minRangePoint and maxRangePoint from the internal\r\n * range and the slider bounds; Carbon derives these on read (Range.cpp:63-71)\r\n * and clamps both with min, which is reproduced here rather than corrected.\r\n */\r\n #syncRangePoints()\r\n {\r\n this.minRangePoint = Math.min(this.#minRange, this.#sliderRangeMin);\r\n this.maxRangePoint = Math.min(this.#maxRange, this.#sliderRangeMax);\r\n }\r\n}\r\n"],"names":["_Range","Range","CjsModel","e","_init_isUniform","_init_extra_isUniform","_init_centerPoint","_init_extra_centerPoint","_init_minRangePoint","_init_extra_minRangePoint","_init_maxRangePoint","_init_extra_maxRangePoint","_initProto","c","_initClass","_applyDecs","type","define","className","family","boolean","float32","carbon","method","impl","implemented","isUniform","centerPoint","minRangePoint","maxRangePoint","SetCenterPoint","value","delta","Setup","rangeCenterPoint","rangeDeltaFromCenter","sliderMin","sliderMax","SetMinRangePoint","Math","min","SetMaxRangePoint","max","GetCenterPoint","GetMinRangePoint","GetMaxRangePoint","ToggleIsUniform","FixUniformity","SetIsUniform","minRangeDelta","maxRangeDelta","newDelta","GetIsUniform","SetSliderMin","SetSliderMax","GetSliderMin","GetSliderMax","#syncRangePoints"],"mappings":"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"}
|
package/docs/README.md
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Runtime Trinity documentation
|
|
2
|
+
|
|
3
|
+
Status: Evolving
|
|
4
|
+
Scope: `@carbonenginejs/runtime-trinity`
|
|
5
|
+
Audience: Runtime authors, engine authors, integrators, and maintainers
|
|
6
|
+
Summary: Explains the GPU-free Trinity graph, its public entry points, and its ownership boundaries.
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
`@carbonenginejs/runtime-trinity` owns serializable Carbon Trinity and Eve
|
|
11
|
+
object graphs together with portable CPU-side behavior. Applications can
|
|
12
|
+
hydrate, inspect, update, and collect renderer-neutral work from those graphs
|
|
13
|
+
without creating a canvas, graphics context, or GPU device.
|
|
14
|
+
|
|
15
|
+
The source contains generated schema intake and maintained implementations.
|
|
16
|
+
Classes leave `src/generated` before their first substantive manual source
|
|
17
|
+
change and move into readable source-area directories. A promoted class may
|
|
18
|
+
remain explicitly incomplete while its bounded portable behavior is reviewed.
|
|
19
|
+
The parity audit can expose additional inherited or interface obligations
|
|
20
|
+
after promotion; current exceptions remain explicit in the
|
|
21
|
+
implementation-status reference.
|
|
22
|
+
|
|
23
|
+
## Use this package when
|
|
24
|
+
|
|
25
|
+
Use `@carbonenginejs/runtime-trinity` when code needs to:
|
|
26
|
+
|
|
27
|
+
- hydrate or serialize Trinity and Eve graph objects;
|
|
28
|
+
- update curves, controllers, cameras, scene objects, or effects on the CPU;
|
|
29
|
+
- collect render batches and render-job intents for an engine to realize;
|
|
30
|
+
- inspect schema-decorated fields and enum choices; or
|
|
31
|
+
- build a headless tool that must not depend on WebGL or WebGPU.
|
|
32
|
+
|
|
33
|
+
Use an engine package when code needs device creation, shader realization,
|
|
34
|
+
resource uploads, draw submission, presentation, or device-loss recovery.
|
|
35
|
+
|
|
36
|
+
## Where it fits
|
|
37
|
+
|
|
38
|
+
```text
|
|
39
|
+
@carbonenginejs/tools-core -- reviewed source --> @carbonenginejs/runtime-trinity
|
|
40
|
+
@carbonenginejs/runtime-trinity -- depends on --> runtime-utils + runtime-resource
|
|
41
|
+
|
|
42
|
+
@carbonenginejs/runtime-resource -- decoded values --> application composition
|
|
43
|
+
@carbonenginejs/runtime-trinity -- graph and intents --> application composition
|
|
44
|
+
application composition --> @carbonenginejs/engine-webgpu or host engine
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
`@carbonenginejs/runtime-utils` provides the shared model, schema, constants,
|
|
48
|
+
and math foundation. `@carbonenginejs/tools-core` is a build-time producer of
|
|
49
|
+
schema and generated-class input, not a runtime dependency.
|
|
50
|
+
`@carbonenginejs/runtime-resource` owns decoded geometry and texture values,
|
|
51
|
+
`Tr2EffectRes`, canonical `Tr2Shader`/reflection records, portable hydration,
|
|
52
|
+
permutation selection, and shader caching. Trinity owns the mutable
|
|
53
|
+
`Tr2Effect`/`Tr2Material` facade, parameters, authored options, sampler
|
|
54
|
+
overrides, and graph behavior. Engine packages own live backend objects and
|
|
55
|
+
realize the combined renderer-neutral graph.
|
|
56
|
+
|
|
57
|
+
Character GState behavior belongs to `@carbonenginejs/runtime-character`.
|
|
58
|
+
Applications or `@carbonenginejs/runtime-core` compose these domains.
|
|
59
|
+
|
|
60
|
+
## Start here
|
|
61
|
+
|
|
62
|
+
```js
|
|
63
|
+
import { EveCamera } from "@carbonenginejs/runtime-trinity/eve";
|
|
64
|
+
|
|
65
|
+
const camera = new EveCamera();
|
|
66
|
+
camera.translationFromParent = 100;
|
|
67
|
+
camera.Update(0, 16 / 9);
|
|
68
|
+
|
|
69
|
+
const view = camera.GetViewMatrix();
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Import a focused public subpath when the consumer only needs one source
|
|
73
|
+
family. The root entry aggregates the complete public runtime.
|
|
74
|
+
|
|
75
|
+
## Documentation map
|
|
76
|
+
|
|
77
|
+
- [Architecture and ownership boundaries](architecture.md)
|
|
78
|
+
- [Current API](reference/api.md)
|
|
79
|
+
- [Main semantic extraction](reference/main-semantic-extraction.md)
|
|
80
|
+
- [Eve runtime behavior](concepts/eve-runtime-behavior.md)
|
|
81
|
+
- [Generated-class lifecycle](concepts/generated-class-lifecycle.md)
|
|
82
|
+
- [Implementation status and audits](reference/implementation-status.md)
|
|
83
|
+
- [Eve runtime classes](reference/classes/eve-runtime.md)
|
|
84
|
+
- [Trinity core classes](reference/classes/trinity-core.md)
|
|
85
|
+
|
|
86
|
+
A complete class-purpose catalog is planned after generated classes carry
|
|
87
|
+
reviewed descriptor metadata and the shared documentation checker supports the
|
|
88
|
+
package's deliberate dropped-class quarantine.
|