@carbonenginejs/runtime-trinity 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -243
- package/dist/controllers/CjsControllerExpressionProgram.js +157 -0
- package/dist/controllers/CjsControllerExpressionProgram.js.map +1 -1
- package/dist/controllers/ITr2ControllerAction.js +57 -0
- package/dist/controllers/ITr2ControllerAction.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateCurveSet.js +10 -0
- package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateValue.js +26 -0
- package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
- package/dist/controllers/Tr2ActionBindRTPC.js +11 -0
- package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
- package/dist/controllers/Tr2ActionCallback.js +5 -0
- package/dist/controllers/Tr2ActionCallback.js.map +1 -1
- package/dist/controllers/Tr2ActionChildEffect.js +63 -0
- package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
- package/dist/controllers/Tr2ActionOverlay.js +68 -0
- package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayCurveSet.js +16 -0
- package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js +29 -0
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
- package/dist/controllers/Tr2ActionPlaySound.js +11 -0
- package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
- package/dist/controllers/Tr2ActionPython.js +11 -0
- package/dist/controllers/Tr2ActionPython.js.map +1 -1
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js +17 -0
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js +5 -0
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +5 -0
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioSwitch.js +5 -0
- package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +23 -0
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
- package/dist/controllers/Tr2ActionSetShaderOption.js +5 -0
- package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
- package/dist/controllers/Tr2ActionSetValue.js +35 -0
- package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
- package/dist/controllers/Tr2ActionSpawnParticles.js +10 -0
- package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/controllers/Tr2BindingPoint.js +67 -0
- package/dist/controllers/Tr2BindingPoint.js.map +1 -1
- package/dist/controllers/Tr2Controller.js +37 -0
- package/dist/controllers/Tr2Controller.js.map +1 -1
- package/dist/controllers/Tr2ControllerEventHandler.js +10 -0
- package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
- package/dist/controllers/Tr2ControllerExpression.js +17 -0
- package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
- package/dist/controllers/Tr2ControllerFloatVariable.js +6 -0
- package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
- package/dist/controllers/Tr2ControllerReference.js +11 -0
- package/dist/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/controllers/Tr2StateMachine.js +17 -0
- package/dist/controllers/Tr2StateMachine.js.map +1 -1
- package/dist/controllers/Tr2StateMachineState.js +47 -0
- package/dist/controllers/Tr2StateMachineState.js.map +1 -1
- package/dist/controllers/Tr2StateMachineTransition.js +29 -0
- package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
- package/dist/controllers/Tr2SyncToAnimation.js +5 -0
- package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
- package/dist/controllers/Tr2TimelineController.js +61 -0
- package/dist/controllers/Tr2TimelineController.js.map +1 -1
- package/dist/controllers/contracts.js +24 -1
- package/dist/controllers/contracts.js.map +1 -1
- package/dist/controllers/index.js +1 -1
- package/dist/curves/CjsGrannyCurves.js +150 -0
- package/dist/curves/CjsGrannyCurves.js.map +1 -1
- package/dist/curves/Tr2BoneMatrixCurve.js +23 -0
- package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
- package/dist/curves/Tr2CameraFollowCurveKey.js +6 -0
- package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2CurveColor.js +6 -0
- package/dist/curves/Tr2CurveColor.js.map +1 -1
- package/dist/curves/Tr2CurveColorMixer.js +6 -0
- package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
- package/dist/curves/Tr2CurveCombiner.js +5 -0
- package/dist/curves/Tr2CurveCombiner.js.map +1 -1
- package/dist/curves/Tr2CurveConstant.js +16 -0
- package/dist/curves/Tr2CurveConstant.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotation.js +5 -0
- package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotationExpression.js +66 -0
- package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternion.js +5 -0
- package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternionKey.js +5 -0
- package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
- package/dist/curves/Tr2CurveRandomAxisRotation.js +28 -0
- package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/curves/Tr2CurveScalar.js +35 -0
- package/dist/curves/Tr2CurveScalar.js.map +1 -1
- package/dist/curves/Tr2CurveScalarExpression.js +11 -0
- package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
- package/dist/curves/Tr2CurveScalarKey.js +6 -0
- package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
- package/dist/curves/Tr2CurveSetRange.js +5 -0
- package/dist/curves/Tr2CurveSetRange.js.map +1 -1
- package/dist/curves/Tr2CurveVector2.js +5 -0
- package/dist/curves/Tr2CurveVector2.js.map +1 -1
- package/dist/curves/Tr2CurveVector3.js +5 -0
- package/dist/curves/Tr2CurveVector3.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Expression.js +71 -0
- package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Lerp.js +6 -0
- package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
- package/dist/curves/Tr2DistanceTracker.js +6 -0
- package/dist/curves/Tr2DistanceTracker.js.map +1 -1
- package/dist/curves/Tr2FollowCurve.js +6 -0
- package/dist/curves/Tr2FollowCurve.js.map +1 -1
- package/dist/curves/Tr2GrannyEventTrack.js +5 -0
- package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTrack.js +6 -0
- package/dist/curves/Tr2GrannyTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTransformTrack.js +6 -0
- package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyVectorTrack.js +5 -0
- package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
- package/dist/curves/Tr2MatrixKey.js +5 -0
- package/dist/curves/Tr2MatrixKey.js.map +1 -1
- package/dist/curves/Tr2ObjectFollowCurveKey.js +6 -0
- package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2QuaternionLerpCurve.js +6 -0
- package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
- package/dist/curves/Tr2RotationAdapter.js +6 -0
- package/dist/curves/Tr2RotationAdapter.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKey.js +18 -0
- package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKeyCurve.js +23 -0
- package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
- package/dist/curves/Tr2ScalarFader.js +11 -0
- package/dist/curves/Tr2ScalarFader.js.map +1 -1
- package/dist/curves/Tr2TranslationAdapter.js +6 -0
- package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
- package/dist/curves/TriColorSequencer.js +6 -0
- package/dist/curves/TriColorSequencer.js.map +1 -1
- package/dist/curves/TriCurveSet.js +23 -0
- package/dist/curves/TriCurveSet.js.map +1 -1
- package/dist/curves/TriEventCurve.js +23 -0
- package/dist/curves/TriEventCurve.js.map +1 -1
- package/dist/curves/TriEventKey.js +5 -0
- package/dist/curves/TriEventKey.js.map +1 -1
- package/dist/curves/TriPerlinCurve.js +30 -0
- package/dist/curves/TriPerlinCurve.js.map +1 -1
- package/dist/curves/TriVectorSequencer.js +6 -0
- package/dist/curves/TriVectorSequencer.js.map +1 -1
- package/dist/eve/AudioGameObject.js +89 -1
- package/dist/eve/AudioGameObject.js.map +1 -1
- package/dist/eve/BackAndForthData.js +7 -0
- package/dist/eve/BackAndForthData.js.map +1 -1
- package/dist/eve/CjsDistributionRandom.js +6 -0
- package/dist/eve/CjsDistributionRandom.js.map +1 -1
- package/dist/eve/CjsEveThrottleableState.js +11 -0
- package/dist/eve/CjsEveThrottleableState.js.map +1 -1
- package/dist/eve/EveChildUpdateParams.js +7 -0
- package/dist/eve/EveChildUpdateParams.js.map +1 -1
- package/dist/eve/EveComponentTypes.js.map +1 -1
- package/dist/eve/EveCustomMask.js +58 -27
- package/dist/eve/EveCustomMask.js.map +1 -1
- package/dist/eve/EveDistanceField.js +84 -0
- package/dist/eve/EveDistanceField.js.map +1 -1
- package/dist/eve/EveEntity.js +138 -0
- package/dist/eve/EveEntity.js.map +1 -0
- package/dist/eve/EveImpactOverlay.js +61 -0
- package/dist/eve/EveImpactOverlay.js.map +1 -1
- package/dist/eve/EveLODHelper.js +17 -13
- package/dist/eve/EveLODHelper.js.map +1 -1
- package/dist/eve/EveLineData.js +2 -0
- package/dist/eve/EveLineData.js.map +1 -1
- package/dist/eve/EveThrottleable.js +11 -0
- package/dist/eve/EveThrottleable.js.map +1 -1
- package/dist/eve/FollowASplineData.js +7 -0
- package/dist/eve/FollowASplineData.js.map +1 -1
- package/dist/eve/FormationData.js +6 -0
- package/dist/eve/FormationData.js.map +1 -1
- package/dist/eve/InertiaData.js +7 -0
- package/dist/eve/InertiaData.js.map +1 -1
- package/dist/eve/PlacementDataWithIdentifier.js +7 -0
- package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
- package/dist/eve/PlayFXData.js +7 -0
- package/dist/eve/PlayFXData.js.map +1 -1
- package/dist/eve/SeekTargetData.js +7 -0
- package/dist/eve/SeekTargetData.js.map +1 -1
- package/dist/eve/{EveSpaceObjectAttachmentUtils.js → attachment/EveSpaceObjectAttachmentUtils.js} +11 -11
- package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
- package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
- package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
- package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +13 -2
- package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
- package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
- package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
- package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +204 -35
- package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
- package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +205 -12
- package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
- package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +49 -1
- package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
- package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
- package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
- package/dist/eve/{EveHazeSet.js → attachment/haze/EveHazeSet.js} +65 -6
- package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
- package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
- package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
- package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +13 -2
- package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
- package/dist/eve/attachment/itemSetBounds.js +131 -0
- package/dist/eve/attachment/itemSetBounds.js.map +1 -0
- package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +14 -2
- package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
- package/dist/eve/{EvePlaneSet.js → attachment/plane/EvePlaneSet.js} +119 -7
- package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
- package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
- package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
- package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +13 -2
- package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
- package/dist/eve/{EveSpotlightSet.js → attachment/spotlight/EveSpotlightSet.js} +86 -6
- package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
- package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +14 -2
- package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
- package/dist/eve/{EveSpriteLineSet.js → attachment/sprite/EveSpriteLineSet.js} +69 -7
- package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
- package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +29 -4
- package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
- package/dist/eve/{EveSpriteSet.js → attachment/sprite/EveSpriteSet.js} +87 -8
- package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
- package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +23 -26
- package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js +184 -2
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretSet.js +236 -7
- package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretTarget.js +112 -0
- package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/eve/camera/EveCamera.js +644 -0
- package/dist/eve/camera/EveCamera.js.map +1 -0
- package/dist/eve/child/EveChildAudio.js +63 -0
- package/dist/eve/child/EveChildAudio.js.map +1 -1
- package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
- package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
- package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +41 -3
- package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
- package/dist/eve/child/EveChildContainer.js +175 -16
- package/dist/eve/child/EveChildContainer.js.map +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
- package/dist/eve/child/EveChildFogVolume.js +72 -0
- package/dist/eve/child/EveChildFogVolume.js.map +1 -1
- package/dist/eve/child/EveChildInheritProperties.js +17 -0
- package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
- package/dist/eve/child/EveChildInstancedMeshes.js +211 -1
- package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
- package/dist/eve/child/EveChildLightingOverride.js +74 -0
- package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
- package/dist/{generated/eve → eve}/child/EveChildLink.js +17 -16
- package/dist/eve/child/EveChildLink.js.map +1 -0
- package/dist/eve/child/EveChildMesh.js +351 -105
- package/dist/eve/child/EveChildMesh.js.map +1 -1
- package/dist/eve/child/EveChildSpherePin.js +108 -0
- package/dist/eve/child/EveChildSpherePin.js.map +1 -0
- package/dist/eve/child/EveChildTransform.js +44 -1
- package/dist/eve/child/EveChildTransform.js.map +1 -1
- package/dist/eve/child/IEveSpaceObjectChild.js +5 -0
- package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
- package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
- package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
- package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
- package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
- package/dist/eve/child/behaviors/Wander.js +99 -0
- package/dist/eve/child/behaviors/Wander.js.map +1 -0
- package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
- package/dist/eve/child/behaviors/enums.js.map +1 -0
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
- package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +8 -2
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
- package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +9 -7
- package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
- package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
- package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
- package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +3 -3
- package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js +65 -0
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
- package/dist/eve/child/lineSetPaths/EveCircle.js +63 -0
- package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +24 -16
- package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +22 -19
- package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
- package/dist/eve/child/modifiers/EveChildModifierBooster.js +6 -0
- package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHalo.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +6 -0
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierSRT.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +31 -17
- package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +16 -14
- package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +11 -4
- package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +12 -12
- package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +6 -6
- package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +12 -12
- package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +8 -8
- package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +17 -17
- package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +7 -7
- package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +7 -7
- package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +17 -17
- package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +132 -3
- package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +12 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +9 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +12 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
- package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +16 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +31 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +34 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +14 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +19 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +25 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +17 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
- package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +44 -2
- package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
- package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
- package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
- package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
- package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
- package/dist/eve/index.js +117 -47
- package/dist/eve/index.js.map +1 -1
- package/dist/eve/lights/CjsLightData.js +7 -0
- package/dist/eve/lights/CjsLightData.js.map +1 -1
- package/dist/eve/lights/Tr2Light.js +41 -0
- package/dist/eve/lights/Tr2Light.js.map +1 -1
- package/dist/eve/lights/Tr2PointLight.js +5 -0
- package/dist/eve/lights/Tr2PointLight.js.map +1 -1
- package/dist/eve/lights/Tr2SpotLight.js +5 -0
- package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
- package/dist/eve/lights/Tr2TexturedPointLight.js +10 -0
- package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
- package/dist/eve/lights/lightConversion.js +29 -27
- package/dist/eve/lights/lightConversion.js.map +1 -1
- package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +20 -1
- package/dist/eve/locator/EveLocator2.js.map +1 -0
- package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +43 -1
- package/dist/eve/locator/EveLocatorSets.js.map +1 -0
- package/dist/eve/{Locator.js → locator/Locator.js} +6 -1
- package/dist/eve/locator/Locator.js.map +1 -0
- package/dist/eve/{LocatorData.js → locator/LocatorData.js} +3 -1
- package/dist/eve/locator/LocatorData.js.map +1 -0
- package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
- package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
- package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +5 -5
- package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
- package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +5 -5
- package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
- package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +6 -6
- package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
- package/dist/{generated/eve/scene → eve/particles/static}/EveSceneStaticParticles.js +70 -36
- package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
- package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
- package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js +76 -0
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +85 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +91 -0
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +36 -0
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch.js +158 -9
- package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch2.js +121 -12
- package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch3.js +261 -8
- package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/eve/scene/EveSpaceScene.js +342 -6
- package/dist/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +24 -1
- package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
- package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +74 -2
- package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
- package/dist/eve/scene/picking/EvePickingContext.js +61 -0
- package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
- package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
- package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
- package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
- package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +19 -19
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +19 -19
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +12 -12
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +12 -12
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +30 -30
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +9 -9
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +23 -23
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
- package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +26 -1
- package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +17 -1
- package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +21 -5
- package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
- package/dist/eve/socket/EveSocketParameterFilePath.js +5 -5
- package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
- package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +17 -1
- package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +17 -1
- package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +42 -2
- package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
- package/dist/eve/spaceObject/EveEffectRoot2.js +58 -31
- package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
- package/dist/eve/spaceObject/EveMissile.js +49 -1
- package/dist/eve/spaceObject/EveMissile.js.map +1 -1
- package/dist/eve/spaceObject/EveMissileWarhead.js +100 -1
- package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
- package/dist/eve/spaceObject/EveMobile.js +104 -0
- package/dist/eve/spaceObject/EveMobile.js.map +1 -1
- package/dist/eve/spaceObject/EveRootTransform.js +17 -0
- package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
- package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +32 -12
- package/dist/eve/spaceObject/EveShip2.js.map +1 -0
- package/dist/eve/spaceObject/EveSpaceObject2.js +726 -199
- package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/eve/spaceObject/EveTransform.js +143 -5
- package/dist/eve/spaceObject/EveTransform.js.map +1 -1
- package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
- package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
- package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
- package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
- package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
- package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
- package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
- package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
- package/dist/{generated/eve/spaceObject → eve/spaceObject/planet}/EvePlanet.js +2 -2
- package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
- package/dist/{generated/eve → eve}/spaceObject/swarm/EveSwarmRenderable.js +102 -64
- package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
- package/dist/eve/ui/EveEllipseDefinition.js +15 -0
- package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
- package/dist/eve/ui/EveEllipseSet.js +42 -0
- package/dist/eve/ui/EveEllipseSet.js.map +1 -1
- package/dist/{generated/eve → eve}/ui/EveSpherePin.js +76 -11
- package/dist/eve/ui/EveSpherePin.js.map +1 -0
- package/dist/eve/ui/EveSprite2dBracket.js +5 -0
- package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
- package/dist/eve/ui/EveUiObject.js +11 -0
- package/dist/eve/ui/EveUiObject.js.map +1 -1
- package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +67 -6
- package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
- package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
- package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
- package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +22 -2
- package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
- package/dist/eve/virtualCamera/EveVirtualCamera.js +152 -0
- package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +65 -0
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +19 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +29 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +15 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +38 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +18 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +11 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +14 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +16 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +36 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +36 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +11 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +37 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
- package/dist/eve/volume/EveBoxVolume.js +59 -0
- package/dist/eve/volume/EveBoxVolume.js.map +1 -1
- package/dist/eve/volume/EveEllipsoidVolume.js +54 -0
- package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
- package/dist/eve/volume/EveSphereVolume.js +34 -0
- package/dist/eve/volume/EveSphereVolume.js.map +1 -1
- package/dist/generated/eve/child/EveChildCloud2.js +138 -138
- package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/generated/eve/child/EveChildParticleSystem.js +10 -4
- package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/generated/eve/child/EveChildSocket.js +1 -1
- package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BackAndForth.js +14 -17
- package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js +2 -2
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +26 -29
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
- package/dist/generated/eve/child/behaviors/FollowASpline.js +13 -17
- package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
- package/dist/generated/eve/child/behaviors/PlayFX.js +14 -14
- package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
- package/dist/generated/eve/child/behaviors/index.js +0 -6
- package/dist/generated/eve/child/behaviors/index.js.map +1 -1
- package/dist/generated/eve/child/index.js +0 -23
- package/dist/generated/eve/child/index.js.map +1 -1
- package/dist/generated/eve/effect/index.js +0 -3
- package/dist/generated/eve/effect/index.js.map +1 -1
- package/dist/generated/eve/index.js +0 -88
- package/dist/generated/eve/index.js.map +1 -1
- package/dist/generated/eve/scene/index.js +0 -6
- package/dist/generated/eve/scene/index.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +20 -20
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
- package/dist/generated/eve/smartLights/index.js +0 -8
- package/dist/generated/eve/smartLights/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/index.js +0 -4
- package/dist/generated/eve/spaceObject/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +11 -11
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
- package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
- package/dist/generated/eve/ui/index.js +0 -4
- package/dist/generated/eve/ui/index.js.map +1 -1
- package/dist/generated/index.js +0 -93
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/trinityCore/index.js +0 -5
- package/dist/generated/trinityCore/index.js.map +1 -1
- package/dist/index.js +130 -155
- package/dist/index.js.map +1 -1
- package/dist/particle/Tr2GpuSharedEmitter.js +39 -0
- package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/particle/Tr2GpuUniqueEmitter.js +5 -0
- package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
- package/dist/particle/Tr2ParticleAttractorForce.js +10 -0
- package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDirectForce.js +7 -0
- package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDragForce.js +7 -0
- package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleElementDeclaration.js +5 -0
- package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
- package/dist/particle/Tr2ParticleFluidDragForce.js +10 -0
- package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleSpring.js +10 -0
- package/dist/particle/Tr2ParticleSpring.js.map +1 -1
- package/dist/particle/Tr2ParticleVortexForce.js +10 -0
- package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
- package/dist/particle/particleElementBinding.js +12 -0
- package/dist/particle/particleElementBinding.js.map +1 -1
- package/dist/postProcess/Tr2PPBloomEffect.js +6 -0
- package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +16 -0
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPGenericEffect.js +7 -0
- package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTaaEffect.js +10 -0
- package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTonemappingEffect.js +5 -0
- package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess.js +5 -0
- package/dist/postProcess/Tr2PostProcess.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess2.js +147 -0
- package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
- package/dist/postProcess/Tr2PostProcessAttributes.js +89 -0
- package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
- package/dist/renderJob/Tr2RenderJobs.js +34 -0
- package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
- package/dist/renderJob/TriRenderJob.js +59 -0
- package/dist/renderJob/TriRenderJob.js.map +1 -1
- package/dist/renderJob/TriRenderStep.js +20 -0
- package/dist/renderJob/TriRenderStep.js.map +1 -1
- package/dist/renderJob/TriStepClear.js +18 -0
- package/dist/renderJob/TriStepClear.js.map +1 -1
- package/dist/renderJob/TriStepCopyRenderTarget.js +51 -0
- package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepEnableWireframeMode.js +9 -0
- package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
- package/dist/renderJob/TriStepGenerateMipMaps.js +9 -0
- package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
- package/dist/renderJob/TriStepPopDepthStencil.js +6 -0
- package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPopProjection.js +6 -0
- package/dist/renderJob/TriStepPopProjection.js.map +1 -1
- package/dist/renderJob/TriStepPopRenderTarget.js +12 -0
- package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPopViewTransform.js +6 -0
- package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPopViewport.js +6 -0
- package/dist/renderJob/TriStepPopViewport.js.map +1 -1
- package/dist/renderJob/TriStepPresentSwapChain.js +12 -0
- package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
- package/dist/renderJob/TriStepPushDepthStencil.js +17 -0
- package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPushProjection.js +6 -0
- package/dist/renderJob/TriStepPushProjection.js.map +1 -1
- package/dist/renderJob/TriStepPushRenderTarget.js +9 -0
- package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPushViewTransform.js +6 -0
- package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPushViewport.js +6 -0
- package/dist/renderJob/TriStepPushViewport.js.map +1 -1
- package/dist/renderJob/TriStepRemoteSync.js +17 -0
- package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
- package/dist/renderJob/TriStepResolve.js +13 -0
- package/dist/renderJob/TriStepResolve.js.map +1 -1
- package/dist/renderJob/TriStepRunJob.js +12 -0
- package/dist/renderJob/TriStepRunJob.js.map +1 -1
- package/dist/renderJob/TriStepSetDepthStencil.js +12 -0
- package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepSetProjection.js +14 -0
- package/dist/renderJob/TriStepSetProjection.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderState.js +20 -0
- package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderTarget.js +12 -0
- package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepSetStdRndStates.js +18 -0
- package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
- package/dist/renderJob/TriStepSetView.js +29 -2
- package/dist/renderJob/TriStepSetView.js.map +1 -1
- package/dist/renderJob/TriStepSetViewport.js +17 -0
- package/dist/renderJob/TriStepSetViewport.js.map +1 -1
- package/dist/renderJob/TriStepSetVisualizationMode.js +19 -0
- package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
- package/dist/shader/Tr2Effect.js +217 -2
- package/dist/shader/Tr2Effect.js.map +1 -1
- package/dist/shader/Tr2Material.js +41 -0
- package/dist/shader/Tr2Material.js.map +1 -1
- package/dist/shader/index.js +1 -11
- package/dist/shader/index.js.map +1 -1
- package/dist/shader/material/Tr2EffectLibraryParameters.js +7 -0
- package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
- package/dist/shader/material/Tr2EffectPassParameters.js +23 -0
- package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
- package/dist/shader/material/Tr2MaterialStageInput.js +15 -0
- package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
- package/dist/shader/parameter/CjsParameter.js +94 -0
- package/dist/shader/parameter/CjsParameter.js.map +1 -1
- package/dist/shader/parameter/CjsVectorParameter.js +20 -0
- package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2FloatParameter.js +53 -0
- package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js +39 -0
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Matrix4Parameter.js +54 -0
- package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +54 -0
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js +35 -0
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector2Parameter.js +86 -0
- package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector3Parameter.js +95 -0
- package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector4Parameter.js +105 -0
- package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
- package/dist/shader/parameter/TriFloatArrayParameter.js +26 -0
- package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
- package/dist/shader/parameter/TriTextureParameter.js +84 -0
- package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
- package/dist/shader/parameter/TriTransformParameter.js +2 -0
- package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
- package/dist/shader/parameter/TriVariableParameter.js +38 -0
- package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
- package/dist/shader/parameter/TriVector4.js +2 -0
- package/dist/shader/parameter/TriVector4.js.map +1 -1
- package/dist/shader/reflection/Tr2ShaderOption.js +6 -1
- package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
- package/dist/shader/support/CjsVariableStore.js +140 -0
- package/dist/shader/support/CjsVariableStore.js.map +1 -1
- package/dist/shader/support/Tr2ShaderBuffer.js +15 -0
- package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
- package/dist/trinityCore/CjsBatchManager.js +62 -2
- package/dist/trinityCore/CjsBatchManager.js.map +1 -1
- package/dist/trinityCore/GrannyBoneOffset.js +51 -0
- package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
- package/dist/trinityCore/ITriRenderBatchAccumulator.js +65 -3
- package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/Tr2DirectInstanceData.js +19 -0
- package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2ExpressionTermInfo.js +21 -0
- package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
- package/dist/trinityCore/Tr2GpuBuffer.js +5 -0
- package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
- package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +137 -8
- package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
- package/dist/trinityCore/Tr2InstancedMesh.js +52 -0
- package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
- package/dist/trinityCore/Tr2MaterialParameterStore.js +5 -0
- package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
- package/dist/trinityCore/Tr2Mesh.js +37 -0
- package/dist/trinityCore/Tr2Mesh.js.map +1 -1
- package/dist/trinityCore/Tr2MeshArea.js +78 -0
- package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
- package/dist/trinityCore/Tr2MeshBase.js +98 -2
- package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
- package/dist/trinityCore/Tr2PerObjectData.js +10 -0
- package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
- package/dist/trinityCore/Tr2PickType.js +33 -0
- package/dist/trinityCore/Tr2PickType.js.map +1 -0
- package/dist/trinityCore/Tr2RenderBatch.js +137 -0
- package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
- package/dist/trinityCore/Tr2RenderContext.js +271 -0
- package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
- package/dist/trinityCore/Tr2RuntimeInstanceData.js +179 -0
- package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2ShLightingManager.js +397 -0
- package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
- package/dist/trinityCore/Tr2VariableStore.js +26 -0
- package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
- package/dist/trinityCore/Tr2VisibilityResults.js +5 -0
- package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
- package/dist/trinityCore/TriDevice.js +5 -0
- package/dist/trinityCore/TriDevice.js.map +1 -1
- package/dist/trinityCore/TriFrustum.js +21 -14
- package/dist/trinityCore/TriFrustum.js.map +1 -1
- package/dist/trinityCore/TriObserverLocal.js +43 -0
- package/dist/trinityCore/TriObserverLocal.js.map +1 -1
- package/dist/trinityCore/TriProjection.js +86 -32
- package/dist/trinityCore/TriProjection.js.map +1 -1
- package/dist/trinityCore/TriRect.js +12 -0
- package/dist/trinityCore/TriRect.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchAccumulator.js +46 -0
- package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchMap.js +39 -2
- package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
- package/dist/trinityCore/TriSettings.js +38 -0
- package/dist/trinityCore/TriSettings.js.map +1 -1
- package/dist/trinityCore/TriVariable.js +30 -0
- package/dist/trinityCore/TriVariable.js.map +1 -1
- package/dist/trinityCore/TriView.js +16 -1
- package/dist/trinityCore/TriView.js.map +1 -1
- package/dist/trinityCore/TriViewport.js +12 -0
- package/dist/trinityCore/TriViewport.js.map +1 -1
- package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +1 -1
- package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
- package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
- package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
- package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
- package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
- package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +30 -6
- package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
- package/dist/trinityCore/binding/TriValueBinding.js +648 -0
- package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
- package/dist/trinityCore/index.js +11 -4
- package/dist/trinityCore/index.js.map +1 -1
- package/dist/trinityCore/pickRay.js +84 -0
- package/dist/trinityCore/pickRay.js.map +1 -0
- package/dist/trinityCore/rawData/CjsPerFrameLayouts.js +517 -0
- package/dist/trinityCore/rawData/CjsPerFrameLayouts.js.map +1 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +790 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
- package/dist/trinityCore/rawData/RawData.js +323 -39
- package/dist/trinityCore/rawData/RawData.js.map +1 -1
- package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
- package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
- package/dist/trinityCore/rawData/constantLayout.js +175 -0
- package/dist/trinityCore/rawData/constantLayout.js.map +1 -0
- package/dist/utilities/Range.js +53 -0
- package/dist/utilities/Range.js.map +1 -1
- package/docs/README.md +88 -0
- package/docs/architecture.md +162 -0
- package/docs/concepts/eve-runtime-behavior.md +86 -0
- package/docs/concepts/generated-class-lifecycle.md +116 -0
- package/docs/reference/api.md +76 -0
- package/docs/reference/classes/eve-runtime.md +106 -0
- package/docs/reference/classes/trinity-core.md +26 -0
- package/docs/reference/implementation-status.md +104 -0
- package/docs/reference/main-semantic-extraction.md +104 -0
- package/package.json +34 -24
- package/dist/eve/DecalVSPerObjectData.js +0 -34
- package/dist/eve/DecalVSPerObjectData.js.map +0 -1
- package/dist/eve/EveBannerItem.js +0 -43
- package/dist/eve/EveBannerItem.js.map +0 -1
- package/dist/eve/EveBannerLight.js.map +0 -1
- package/dist/eve/EveBannerSet.js +0 -190
- package/dist/eve/EveBannerSet.js.map +0 -1
- package/dist/eve/EveBasicPerObjectData.js +0 -31
- package/dist/eve/EveBasicPerObjectData.js.map +0 -1
- package/dist/eve/EveBoosterSet2.js.map +0 -1
- package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
- package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
- package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
- package/dist/eve/EveHazeSet.js.map +0 -1
- package/dist/eve/EveHazeSetLight.js.map +0 -1
- package/dist/eve/EveLocator2.js.map +0 -1
- package/dist/eve/EveLocatorSets.js.map +0 -1
- package/dist/eve/EveParticleDirectForce.js.map +0 -1
- package/dist/eve/EveParticleDragForce.js.map +0 -1
- package/dist/eve/EveParticleSpring.js.map +0 -1
- package/dist/eve/EvePerObjectPSData.js +0 -29
- package/dist/eve/EvePerObjectPSData.js.map +0 -1
- package/dist/eve/EvePerObjectVSData.js +0 -29
- package/dist/eve/EvePerObjectVSData.js.map +0 -1
- package/dist/eve/EvePlaneLight.js.map +0 -1
- package/dist/eve/EvePlaneSet.js.map +0 -1
- package/dist/eve/EvePlaneSetItem.js +0 -45
- package/dist/eve/EvePlaneSetItem.js.map +0 -1
- package/dist/eve/EveSpaceObjectAttachmentUtils.js.map +0 -1
- package/dist/eve/EveSpaceObjectDecal.js +0 -150
- package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
- package/dist/eve/EveSpaceObjectPSData.js +0 -73
- package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
- package/dist/eve/EveSpaceObjectVSData.js +0 -79
- package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
- package/dist/eve/EveSpacePerObjectData.js +0 -97
- package/dist/eve/EveSpacePerObjectData.js.map +0 -1
- package/dist/eve/EveSpherePinPerObjectData.js +0 -37
- package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
- package/dist/eve/EveSpotlightLight.js.map +0 -1
- package/dist/eve/EveSpotlightSet.js.map +0 -1
- package/dist/eve/EveSpriteLight.js.map +0 -1
- package/dist/eve/EveSpriteLineSet.js.map +0 -1
- package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
- package/dist/eve/EveSpriteSet.js.map +0 -1
- package/dist/eve/EveTrailsSet.js.map +0 -1
- package/dist/eve/Locator.js.map +0 -1
- package/dist/eve/LocatorData.js.map +0 -1
- package/dist/eve/ProcessLifetimeData.js.map +0 -1
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
- package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
- package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
- package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
- package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
- package/dist/generated/eve/EveCamera.js +0 -264
- package/dist/generated/eve/EveCamera.js.map +0 -1
- package/dist/generated/eve/EveEntity.js +0 -81
- package/dist/generated/eve/EveEntity.js.map +0 -1
- package/dist/generated/eve/attachment/decal/index.js +0 -2
- package/dist/generated/eve/attachment/decal/index.js.map +0 -1
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/haze/index.js +0 -2
- package/dist/generated/eve/attachment/haze/index.js.map +0 -1
- package/dist/generated/eve/attachment/index.js +0 -5
- package/dist/generated/eve/attachment/index.js.map +0 -1
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/spotlights/index.js +0 -2
- package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
- package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/sprites/index.js +0 -2
- package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/enums.js +0 -32
- package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/index.js +0 -2
- package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
- package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
- package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
- package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
- package/dist/generated/eve/child/EveChildLink.js.map +0 -1
- package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
- package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
- package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
- package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
- package/dist/generated/eve/child/behaviors/Wander.js +0 -92
- package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
- package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
- package/dist/generated/eve/child/modifiers/index.js +0 -5
- package/dist/generated/eve/child/modifiers/index.js.map +0 -1
- package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
- package/dist/generated/eve/child/procedural/index.js +0 -10
- package/dist/generated/eve/child/procedural/index.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/index.js +0 -9
- package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
- package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
- package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
- package/dist/generated/eve/distribution/index.js +0 -19
- package/dist/generated/eve/distribution/index.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
- package/dist/generated/eve/distribution/placement/index.js +0 -4
- package/dist/generated/eve/distribution/placement/index.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
- package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/index.js +0 -7
- package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
- package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
- package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
- package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
- package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
- package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
- package/dist/generated/eve/fxAttributes/index.js +0 -3
- package/dist/generated/eve/fxAttributes/index.js.map +0 -1
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
- package/dist/generated/eve/overlays/index.js +0 -2
- package/dist/generated/eve/overlays/index.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/index.js +0 -5
- package/dist/generated/eve/perObjectData/index.js.map +0 -1
- package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
- package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
- package/dist/generated/eve/scene/EvePickingContext.js +0 -43
- package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
- package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
- package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
- package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
- package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
- package/dist/generated/eve/socket/index.js +0 -10
- package/dist/generated/eve/socket/index.js.map +0 -1
- package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
- package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
- package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
- package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
- package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
- package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
- package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
- package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
- package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
- package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
- package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
- package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
- package/dist/generated/trinityCore/TriValueBinding.js +0 -249
- package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
- package/dist/shader/Tr2Shader.js +0 -150
- package/dist/shader/Tr2Shader.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
- package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
- package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
- package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
- package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectResource.js +0 -63
- package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
- package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
- package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
- package/dist/shader/reflection/Tr2Pass.js +0 -46
- package/dist/shader/reflection/Tr2Pass.js.map +0 -1
- package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
- package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
- package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
- package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
- package/dist/trinityCore/rawData/RawDataStore.js +0 -232
- package/dist/trinityCore/rawData/RawDataStore.js.map +0 -1
- /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
- /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
|
@@ -52,19 +52,42 @@ class Tr2EffectPassParameters extends CjsModel {
|
|
|
52
52
|
|
|
53
53
|
/** m_usedTexturesDirty (bool) */
|
|
54
54
|
usedTexturesDirty = (_init_extra_compatibleWithGdr(this), _init_usedTexturesDirty(this, false));
|
|
55
|
+
|
|
56
|
+
/** Records a resource this pass binds and marks the used-texture list stale. */
|
|
55
57
|
AddUsedResource(resource) {
|
|
56
58
|
this.usedResources.push(resource);
|
|
57
59
|
this.usedTexturesDirty = true;
|
|
58
60
|
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Records a parameter whose value destination has been rerouted into this
|
|
64
|
+
* pass's storage.
|
|
65
|
+
*/
|
|
59
66
|
AddReroutable(reroutable) {
|
|
60
67
|
this.reroutedParameters.push(reroutable);
|
|
61
68
|
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Allocates the CPU-side constant mirror for one shader stage of this pass.
|
|
72
|
+
* @param type stage index into stageInput
|
|
73
|
+
* @param size mirror size in bytes, rounded up to 16 by the stage
|
|
74
|
+
*/
|
|
62
75
|
AllocateConstantMirror(type, size) {
|
|
63
76
|
this.#stage(type).AllocateConstants(size);
|
|
64
77
|
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Fills one stage's constant mirror from already-built shared buffer contents and clears that stage's dirty flag.
|
|
81
|
+
* @param type stage index into stageInput
|
|
82
|
+
*/
|
|
65
83
|
GetSharedConstantBuffer(type, contents, size) {
|
|
66
84
|
this.#stage(type).GetSharedConstantBuffer(contents, size);
|
|
67
85
|
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* The stage input at the given index, created on demand; negative or
|
|
89
|
+
* non-numeric indices clamp to 0.
|
|
90
|
+
*/
|
|
68
91
|
#stage(type) {
|
|
69
92
|
const index = Math.max(0, Number(type) || 0);
|
|
70
93
|
this.stageInput[index] ??= new _Tr2MaterialStageInpu();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2EffectPassParameters.js","sources":["../../../../src/shader/material/Tr2EffectPassParameters.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Shader/Tr2Material.h\n// Generated by format-carbon carbon-class --emit. Verify against shader/Tr2EffectPassParameters.json.\nimport { type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { Tr2MaterialStageInput } from \"./Tr2MaterialStageInput.js\";\n\n/** Tr2EffectPassParameters (shader) - generated from schema shapeHash 5e017ea9.... */\n@type.define({ className: \"Tr2EffectPassParameters\", family: \"shader\" })\nexport class Tr2EffectPassParameters extends CjsModel\n{\n\n /** m_stageInput (Tr2MaterialStageInput) */\n @type.rawStruct(\"Tr2MaterialStageInput\")\n stageInput = Array.from({ length: 6 }, () => new Tr2MaterialStageInput());\n\n /** m_reroutedParameters (std::vector<ITriReroutable*>) */\n @type.list(\"ITriReroutable\")\n reroutedParameters = [];\n\n /** m_resourceSetDesc (Tr2ResourceSetDescriptionAL) */\n @type.rawStruct(\"Tr2ResourceSetDescriptionAL\")\n resourceSetDesc = null;\n\n /** m_resourceSet (Tr2ResourceSetAL) */\n @type.rawStruct(\"Tr2ResourceSetAL\")\n resourceSet = null;\n\n /** m_usedResources (std::vector<ITr2EffectValuePtr>) */\n @type.list(\"ITr2EffectValue\")\n usedResources = [];\n\n /** m_usedTextures (Tr2BindlessResourcesAL) */\n @type.rawStruct(\"Tr2BindlessResourcesAL\")\n usedTextures = null;\n\n /** m_resourceSetHash (uint32_t) */\n @type.uint32\n resourceSetHash = 0;\n\n /** m_resourceSetDirty (bool) */\n @type.boolean\n resourceSetDirty = true;\n\n /** m_compatibleWithGdr (bool) */\n @type.boolean\n compatibleWithGdr = true;\n\n /** m_usedTexturesDirty (bool) */\n @type.boolean\n usedTexturesDirty = false;\n\n AddUsedResource(resource)\n {\n this.usedResources.push(resource);\n this.usedTexturesDirty = true;\n }\n\n AddReroutable(reroutable)\n {\n this.reroutedParameters.push(reroutable);\n }\n\n AllocateConstantMirror(type, size)\n {\n this.#stage(type).AllocateConstants(size);\n }\n\n GetSharedConstantBuffer(type, contents, size)\n {\n this.#stage(type).GetSharedConstantBuffer(contents, size);\n }\n\n #stage(type)\n {\n const index = Math.max(0, Number(type) || 0);\n this.stageInput[index] ??= new Tr2MaterialStageInput();\n return this.stageInput[index];\n }\n\n}\n"],"names":["_Tr2EffectPassParamet","Tr2EffectPassParameters","CjsModel","e","_init_stageInput","_init_extra_stageInput","_init_reroutedParameters","_init_extra_reroutedParameters","_init_resourceSetDesc","_init_extra_resourceSetDesc","_init_resourceSet","_init_extra_resourceSet","_init_usedResources","_init_extra_usedResources","_init_usedTextures","_init_extra_usedTextures","_init_resourceSetHash","_init_extra_resourceSetHash","_init_resourceSetDirty","_init_extra_resourceSetDirty","_init_compatibleWithGdr","_init_extra_compatibleWithGdr","_init_usedTexturesDirty","_init_extra_usedTexturesDirty","c","_initClass","_applyDecs","type","define","className","family","rawStruct","list","uint32","boolean","constructor","args","stageInput","Array","from","length","Tr2MaterialStageInput","reroutedParameters","resourceSetDesc","resourceSet","usedResources","usedTextures","resourceSetHash","resourceSetDirty","compatibleWithGdr","usedTexturesDirty","AddUsedResource","resource","push","AddReroutable","reroutable","AllocateConstantMirror","size","AllocateConstants","GetSharedConstantBuffer","contents","#stage","index","Math","max","Number"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Tr2EffectPassParameters.js","sources":["../../../../src/shader/material/Tr2EffectPassParameters.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Shader/Tr2Material.h\n// Generated by format-carbon carbon-class --emit. Verify against shader/Tr2EffectPassParameters.json.\nimport { type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { Tr2MaterialStageInput } from \"./Tr2MaterialStageInput.js\";\n\n/** Tr2EffectPassParameters (shader) - generated from schema shapeHash 5e017ea9.... */\n@type.define({ className: \"Tr2EffectPassParameters\", family: \"shader\" })\nexport class Tr2EffectPassParameters extends CjsModel\n{\n\n /** m_stageInput (Tr2MaterialStageInput) */\n @type.rawStruct(\"Tr2MaterialStageInput\")\n stageInput = Array.from({ length: 6 }, () => new Tr2MaterialStageInput());\n\n /** m_reroutedParameters (std::vector<ITriReroutable*>) */\n @type.list(\"ITriReroutable\")\n reroutedParameters = [];\n\n /** m_resourceSetDesc (Tr2ResourceSetDescriptionAL) */\n @type.rawStruct(\"Tr2ResourceSetDescriptionAL\")\n resourceSetDesc = null;\n\n /** m_resourceSet (Tr2ResourceSetAL) */\n @type.rawStruct(\"Tr2ResourceSetAL\")\n resourceSet = null;\n\n /** m_usedResources (std::vector<ITr2EffectValuePtr>) */\n @type.list(\"ITr2EffectValue\")\n usedResources = [];\n\n /** m_usedTextures (Tr2BindlessResourcesAL) */\n @type.rawStruct(\"Tr2BindlessResourcesAL\")\n usedTextures = null;\n\n /** m_resourceSetHash (uint32_t) */\n @type.uint32\n resourceSetHash = 0;\n\n /** m_resourceSetDirty (bool) */\n @type.boolean\n resourceSetDirty = true;\n\n /** m_compatibleWithGdr (bool) */\n @type.boolean\n compatibleWithGdr = true;\n\n /** m_usedTexturesDirty (bool) */\n @type.boolean\n usedTexturesDirty = false;\n\n /** Records a resource this pass binds and marks the used-texture list stale. */\n AddUsedResource(resource)\n {\n this.usedResources.push(resource);\n this.usedTexturesDirty = true;\n }\n\n /**\n * Records a parameter whose value destination has been rerouted into this\n * pass's storage.\n */\n AddReroutable(reroutable)\n {\n this.reroutedParameters.push(reroutable);\n }\n\n /**\n * Allocates the CPU-side constant mirror for one shader stage of this pass.\n * @param type stage index into stageInput\n * @param size mirror size in bytes, rounded up to 16 by the stage\n */\n AllocateConstantMirror(type, size)\n {\n this.#stage(type).AllocateConstants(size);\n }\n\n /**\n * Fills one stage's constant mirror from already-built shared buffer contents and clears that stage's dirty flag.\n * @param type stage index into stageInput\n */\n GetSharedConstantBuffer(type, contents, size)\n {\n this.#stage(type).GetSharedConstantBuffer(contents, size);\n }\n\n /**\n * The stage input at the given index, created on demand; negative or\n * non-numeric indices clamp to 0.\n */\n #stage(type)\n {\n const index = Math.max(0, Number(type) || 0);\n this.stageInput[index] ??= new Tr2MaterialStageInput();\n return this.stageInput[index];\n }\n\n}\n"],"names":["_Tr2EffectPassParamet","Tr2EffectPassParameters","CjsModel","e","_init_stageInput","_init_extra_stageInput","_init_reroutedParameters","_init_extra_reroutedParameters","_init_resourceSetDesc","_init_extra_resourceSetDesc","_init_resourceSet","_init_extra_resourceSet","_init_usedResources","_init_extra_usedResources","_init_usedTextures","_init_extra_usedTextures","_init_resourceSetHash","_init_extra_resourceSetHash","_init_resourceSetDirty","_init_extra_resourceSetDirty","_init_compatibleWithGdr","_init_extra_compatibleWithGdr","_init_usedTexturesDirty","_init_extra_usedTexturesDirty","c","_initClass","_applyDecs","type","define","className","family","rawStruct","list","uint32","boolean","constructor","args","stageInput","Array","from","length","Tr2MaterialStageInput","reroutedParameters","resourceSetDesc","resourceSet","usedResources","usedTextures","resourceSetHash","resourceSetDirty","compatibleWithGdr","usedTexturesDirty","AddUsedResource","resource","push","AddReroutable","reroutable","AllocateConstantMirror","size","AllocateConstants","GetSharedConstantBuffer","contents","#stage","index","Math","max","Number"],"mappings":"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"}
|
|
@@ -43,17 +43,32 @@ class Tr2MaterialStageInput extends CjsModel {
|
|
|
43
43
|
|
|
44
44
|
/** m_constantMirror (CcpMallocBuffer) */
|
|
45
45
|
constantMirror = (_init_extra_constantBuffer(this), _init_constantMirror(this, null));
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Allocates the CPU-side constant mirror rounded up to a 16-byte multiple and marks it dirty; a zero size clears the mirror instead. No GPU buffer is created.
|
|
49
|
+
* @param size requested mirror size in bytes
|
|
50
|
+
*/
|
|
46
51
|
AllocateConstants(size = 0) {
|
|
47
52
|
const byteSize = Math.max(0, Number(size) || 0);
|
|
48
53
|
const alignedSize = byteSize % 16 ? byteSize + 16 - byteSize % 16 : byteSize;
|
|
49
54
|
this.constantMirror = alignedSize ? new Uint8Array(alignedSize) : null;
|
|
50
55
|
this.constantBufferDirty = alignedSize > 0;
|
|
51
56
|
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Replaces the constant mirror with a copy of already-built buffer contents and clears the dirty flag; a zero size clears the mirror instead.
|
|
60
|
+
* @param size byte count to copy, defaulting to the contents' own byte length
|
|
61
|
+
*/
|
|
52
62
|
GetSharedConstantBuffer(contents, size = contents?.byteLength ?? contents?.length ?? 0) {
|
|
53
63
|
const byteSize = Math.max(0, Number(size) || 0);
|
|
54
64
|
this.constantMirror = byteSize ? _Tr2MaterialStageInpu.copyBytes(contents, byteSize) : null;
|
|
55
65
|
this.constantBufferDirty = false;
|
|
56
66
|
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Copies up to `size` bytes out of an ArrayBuffer, typed-array view or
|
|
70
|
+
* array-like into a new zero-padded Uint8Array the caller owns.
|
|
71
|
+
*/
|
|
57
72
|
static copyBytes(contents, size) {
|
|
58
73
|
const out = new Uint8Array(size);
|
|
59
74
|
if (contents instanceof ArrayBuffer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2MaterialStageInput.js","sources":["../../../../src/shader/material/Tr2MaterialStageInput.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Shader/Tr2Material.h\n// Generated by format-carbon carbon-class --emit. Verify against shader/Tr2MaterialStageInput.json.\nimport { type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\n\n/** Tr2MaterialStageInput (shader) - generated from schema shapeHash 8bae330e.... */\n@type.define({ className: \"Tr2MaterialStageInput\", family: \"shader\" })\nexport class Tr2MaterialStageInput extends CjsModel\n{\n\n /** m_constantBufferDirty (bool) */\n @type.boolean\n constantBufferDirty = false;\n\n /** m_sharedBufferKey (Tr2SharedConstantBuffers::Key) */\n @type.rawStruct(\"Tr2SharedConstantBuffers::Key\")\n sharedBufferKey = null;\n\n /** m_shaderParameters (Tr2EffectParamVector) */\n @type.list(\"Tr2EffectParam\")\n shaderParameters = [];\n\n /** m_shaderParametersWithNotification (Tr2EffectParamVector) */\n @type.list(\"Tr2EffectParam\")\n shaderParametersWithNotification = [];\n\n /** m_textures (Tr2EffectParamVector) */\n @type.list(\"Tr2EffectParam\")\n textures = [];\n\n /** m_uavs (Tr2EffectParamVector) */\n @type.list(\"Tr2EffectParam\")\n uavs = [];\n\n /** m_constantBuffer (Tr2ConstantBufferAL) */\n @type.rawStruct(\"Tr2ConstantBufferAL\")\n constantBuffer = null;\n\n /** m_constantMirror (CcpMallocBuffer) */\n @type.rawStruct(\"CcpMallocBuffer\")\n constantMirror = null;\n\n AllocateConstants(size = 0)\n {\n const byteSize = Math.max(0, Number(size) || 0);\n const alignedSize = byteSize % 16 ? byteSize + 16 - byteSize % 16 : byteSize;\n this.constantMirror = alignedSize ? new Uint8Array(alignedSize) : null;\n this.constantBufferDirty = alignedSize > 0;\n }\n\n GetSharedConstantBuffer(contents, size = contents?.byteLength ?? contents?.length ?? 0)\n {\n const byteSize = Math.max(0, Number(size) || 0);\n this.constantMirror = byteSize ? Tr2MaterialStageInput.copyBytes(contents, byteSize) : null;\n this.constantBufferDirty = false;\n }\n\n static copyBytes(contents, size)\n {\n const out = new Uint8Array(size);\n if (contents instanceof ArrayBuffer)\n {\n out.set(new Uint8Array(contents, 0, Math.min(size, contents.byteLength)));\n }\n else if (ArrayBuffer.isView(contents))\n {\n out.set(new Uint8Array(contents.buffer, contents.byteOffset, Math.min(size, contents.byteLength)));\n }\n else if (contents && typeof contents.length === \"number\")\n {\n out.set(Array.from(contents).slice(0, size));\n }\n return out;\n }\n\n}\n"],"names":["_Tr2MaterialStageInpu","Tr2MaterialStageInput","CjsModel","e","_init_constantBufferDirty","_init_extra_constantBufferDirty","_init_sharedBufferKey","_init_extra_sharedBufferKey","_init_shaderParameters","_init_extra_shaderParameters","_init_shaderParametersWithNotification","_init_extra_shaderParametersWithNotification","_init_textures","_init_extra_textures","_init_uavs","_init_extra_uavs","_init_constantBuffer","_init_extra_constantBuffer","_init_constantMirror","_init_extra_constantMirror","c","_initClass","_applyDecs","type","define","className","family","boolean","rawStruct","list","constructor","args","constantBufferDirty","sharedBufferKey","shaderParameters","shaderParametersWithNotification","textures","uavs","constantBuffer","constantMirror","AllocateConstants","size","byteSize","Math","max","Number","alignedSize","Uint8Array","GetSharedConstantBuffer","contents","byteLength","length","copyBytes","out","ArrayBuffer","set","min","isView","buffer","byteOffset","Array","from","slice"],"mappings":";;;;;;AAMA;AAAA,IAAAA;AACA,MAAAC,qBAAA,SAC2CC,QAAQ,CACnD;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,EAAA,CAAAC,yBAAA,EAAAC,+BAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,sCAAA,EAAAC,4CAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,oBAAA,EAAAC,0BAAA,EAAAC,oBAAA,EAAAC,0BAAA,CAAA;MAAAC,CAAA,EAAA,CAAApB,qBAAA,EAAAqB,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,uBAAuB;AAAEC,MAAAA,MAAM,EAAE;KAAU,CAAC,CAAA,EAAA,CAAA,CAAA,CAKnEH,IAAI,EAAJA,IAAI,CAACI,OAAO,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAIZJ,IAAI,CAACK,SAAS,CAAC,+BAA+B,CAAC,EAAA,CAAA,EAAA,iBAAA,CAAA,EAAA,CAI/CL,IAAI,CAACM,IAAI,CAAC,gBAAgB,CAAC,EAAA,CAAA,EAAA,kBAAA,CAAA,EAAA,CAI3BN,IAAI,CAACM,IAAI,CAAC,gBAAgB,CAAC,2CAI3BN,IAAI,CAACM,IAAI,CAAC,gBAAgB,CAAC,EAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAI3BN,IAAI,CAACM,IAAI,CAAC,gBAAgB,CAAC,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAI3BN,IAAI,CAACK,SAAS,CAAC,qBAAqB,CAAC,EAAA,CAAA,EAAA,gBAAA,CAAA,EAAA,CAIrCL,IAAI,CAACK,SAAS,CAAC,iBAAiB,CAAC,EAAA,CAAA,EAAA,gBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAhCO1B,QAAQ,CAAA;AAAA;AAAA4B,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAZ,0BAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAGjD;EAEAa,mBAAmB,GAAA5B,yBAAA,CAAA,IAAA,EAAG,KAAK,CAAA;;AAE3B;AAEA6B,EAAAA,eAAe,IAAA5B,+BAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,OAAG,IAAI,CAAA;;AAEtB;AAEA4B,EAAAA,gBAAgB,IAAA3B,2BAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,EAAE,CAAA;;AAErB;AAEA2B,EAAAA,gCAAgC,IAAA1B,4BAAA,CAAA,IAAA,CAAA,EAAAC,sCAAA,OAAG,EAAE,CAAA;;AAErC;AAEA0B,EAAAA,QAAQ,IAAAzB,4CAAA,CAAA,IAAA,CAAA,EAAAC,cAAA,OAAG,EAAE,CAAA;;AAEb;AAEAyB,EAAAA,IAAI,IAAAxB,oBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,EAAE,CAAA;;AAET;AAEAwB,EAAAA,cAAc,IAAAvB,gBAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAG,IAAI,CAAA;;AAErB;AAEAuB,EAAAA,cAAc,IAAAtB,0BAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"Tr2MaterialStageInput.js","sources":["../../../../src/shader/material/Tr2MaterialStageInput.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Shader/Tr2Material.h\n// Generated by format-carbon carbon-class --emit. Verify against shader/Tr2MaterialStageInput.json.\nimport { type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\n\n/** Tr2MaterialStageInput (shader) - generated from schema shapeHash 8bae330e.... */\n@type.define({ className: \"Tr2MaterialStageInput\", family: \"shader\" })\nexport class Tr2MaterialStageInput extends CjsModel\n{\n\n /** m_constantBufferDirty (bool) */\n @type.boolean\n constantBufferDirty = false;\n\n /** m_sharedBufferKey (Tr2SharedConstantBuffers::Key) */\n @type.rawStruct(\"Tr2SharedConstantBuffers::Key\")\n sharedBufferKey = null;\n\n /** m_shaderParameters (Tr2EffectParamVector) */\n @type.list(\"Tr2EffectParam\")\n shaderParameters = [];\n\n /** m_shaderParametersWithNotification (Tr2EffectParamVector) */\n @type.list(\"Tr2EffectParam\")\n shaderParametersWithNotification = [];\n\n /** m_textures (Tr2EffectParamVector) */\n @type.list(\"Tr2EffectParam\")\n textures = [];\n\n /** m_uavs (Tr2EffectParamVector) */\n @type.list(\"Tr2EffectParam\")\n uavs = [];\n\n /** m_constantBuffer (Tr2ConstantBufferAL) */\n @type.rawStruct(\"Tr2ConstantBufferAL\")\n constantBuffer = null;\n\n /** m_constantMirror (CcpMallocBuffer) */\n @type.rawStruct(\"CcpMallocBuffer\")\n constantMirror = null;\n\n /**\n * Allocates the CPU-side constant mirror rounded up to a 16-byte multiple and marks it dirty; a zero size clears the mirror instead. No GPU buffer is created.\n * @param size requested mirror size in bytes\n */\n AllocateConstants(size = 0)\n {\n const byteSize = Math.max(0, Number(size) || 0);\n const alignedSize = byteSize % 16 ? byteSize + 16 - byteSize % 16 : byteSize;\n this.constantMirror = alignedSize ? new Uint8Array(alignedSize) : null;\n this.constantBufferDirty = alignedSize > 0;\n }\n\n /**\n * Replaces the constant mirror with a copy of already-built buffer contents and clears the dirty flag; a zero size clears the mirror instead.\n * @param size byte count to copy, defaulting to the contents' own byte length\n */\n GetSharedConstantBuffer(contents, size = contents?.byteLength ?? contents?.length ?? 0)\n {\n const byteSize = Math.max(0, Number(size) || 0);\n this.constantMirror = byteSize ? Tr2MaterialStageInput.copyBytes(contents, byteSize) : null;\n this.constantBufferDirty = false;\n }\n\n /**\n * Copies up to `size` bytes out of an ArrayBuffer, typed-array view or\n * array-like into a new zero-padded Uint8Array the caller owns.\n */\n static copyBytes(contents, size)\n {\n const out = new Uint8Array(size);\n if (contents instanceof ArrayBuffer)\n {\n out.set(new Uint8Array(contents, 0, Math.min(size, contents.byteLength)));\n }\n else if (ArrayBuffer.isView(contents))\n {\n out.set(new Uint8Array(contents.buffer, contents.byteOffset, Math.min(size, contents.byteLength)));\n }\n else if (contents && typeof contents.length === \"number\")\n {\n out.set(Array.from(contents).slice(0, size));\n }\n return out;\n }\n\n}\n"],"names":["_Tr2MaterialStageInpu","Tr2MaterialStageInput","CjsModel","e","_init_constantBufferDirty","_init_extra_constantBufferDirty","_init_sharedBufferKey","_init_extra_sharedBufferKey","_init_shaderParameters","_init_extra_shaderParameters","_init_shaderParametersWithNotification","_init_extra_shaderParametersWithNotification","_init_textures","_init_extra_textures","_init_uavs","_init_extra_uavs","_init_constantBuffer","_init_extra_constantBuffer","_init_constantMirror","_init_extra_constantMirror","c","_initClass","_applyDecs","type","define","className","family","boolean","rawStruct","list","constructor","args","constantBufferDirty","sharedBufferKey","shaderParameters","shaderParametersWithNotification","textures","uavs","constantBuffer","constantMirror","AllocateConstants","size","byteSize","Math","max","Number","alignedSize","Uint8Array","GetSharedConstantBuffer","contents","byteLength","length","copyBytes","out","ArrayBuffer","set","min","isView","buffer","byteOffset","Array","from","slice"],"mappings":"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"}
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
import { CjsModel } from '@carbonenginejs/runtime-utils/model';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Shared base for the shader parameter models: destination-reroute plumbing,
|
|
5
|
+
* effect-reflection lookups and Carbon's FNV1 content hashing.
|
|
6
|
+
*/
|
|
3
7
|
class CjsParameter extends CjsModel {
|
|
8
|
+
/**
|
|
9
|
+
* Whether a value can receive a scalar write - a setter function, a `{ value:
|
|
10
|
+
* number }` holder, or a writable number array.
|
|
11
|
+
*/
|
|
4
12
|
static isScalarDestination(value) {
|
|
5
13
|
return typeof value === "function" || CjsParameter.isNumberHolder(value) || CjsParameter.isWritableNumberArray(value, 1);
|
|
6
14
|
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Reads a scalar back out of whichever destination form was supplied.
|
|
18
|
+
* @param fallback returned for function destinations, which are write-only
|
|
19
|
+
*/
|
|
7
20
|
static readScalarDestination(destination, fallback) {
|
|
8
21
|
if (typeof destination === "function") {
|
|
9
22
|
return fallback;
|
|
@@ -13,6 +26,11 @@ class CjsParameter extends CjsModel {
|
|
|
13
26
|
}
|
|
14
27
|
return Number(destination[0]);
|
|
15
28
|
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Writes a scalar through whichever destination form was supplied - calling a
|
|
32
|
+
* function, assigning `.value`, or writing element 0.
|
|
33
|
+
*/
|
|
16
34
|
static writeScalarDestination(destination, value) {
|
|
17
35
|
if (typeof destination === "function") {
|
|
18
36
|
destination(value);
|
|
@@ -24,6 +42,11 @@ class CjsParameter extends CjsModel {
|
|
|
24
42
|
}
|
|
25
43
|
destination[0] = value;
|
|
26
44
|
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Tells every registered binding the parameter's destination moved, calling
|
|
48
|
+
* function bindings directly and object bindings through RerouteDestination.
|
|
49
|
+
*/
|
|
27
50
|
static notifyBindings(bindings, destination) {
|
|
28
51
|
for (const binding of bindings) {
|
|
29
52
|
if (typeof binding === "function") {
|
|
@@ -33,50 +56,106 @@ class CjsParameter extends CjsModel {
|
|
|
33
56
|
}
|
|
34
57
|
}
|
|
35
58
|
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Appends a binding to a parameter's binding list unless it is already
|
|
62
|
+
* present.
|
|
63
|
+
*/
|
|
36
64
|
static registerBinding(bindings, binding) {
|
|
37
65
|
if (!bindings.includes(binding)) {
|
|
38
66
|
bindings.push(binding);
|
|
39
67
|
}
|
|
40
68
|
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Removes a binding from a parameter's binding list; unknown bindings are
|
|
72
|
+
* ignored.
|
|
73
|
+
*/
|
|
41
74
|
static unregisterBinding(bindings, binding) {
|
|
42
75
|
const index = bindings.indexOf(binding);
|
|
43
76
|
if (index >= 0) {
|
|
44
77
|
bindings.splice(index, 1);
|
|
45
78
|
}
|
|
46
79
|
}
|
|
80
|
+
|
|
81
|
+
/** Whether the shader reflects a constant of this name. */
|
|
47
82
|
static hasEffectConstant(effectRes, name) {
|
|
48
83
|
return !!CjsParameter.getEffectConstant(effectRes, name);
|
|
49
84
|
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* The reflected constant description for a name, accepting either casing of
|
|
88
|
+
* the accessor; null when absent. Reflection metadata only - never a GPU
|
|
89
|
+
* handle.
|
|
90
|
+
*/
|
|
50
91
|
static getEffectConstant(effectRes, name) {
|
|
51
92
|
const reader = effectRes;
|
|
52
93
|
return reader?.GetConstant?.(name) ?? reader?.getConstant?.(name) ?? null;
|
|
53
94
|
}
|
|
95
|
+
|
|
96
|
+
/** Whether the shader reflects a resource of this name. */
|
|
54
97
|
static hasEffectResource(effectRes, name) {
|
|
55
98
|
const reader = effectRes;
|
|
56
99
|
return !!(reader?.GetResource?.(name) ?? reader?.getResource?.(name));
|
|
57
100
|
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* The reflected resource description for a name, accepting either casing of
|
|
104
|
+
* the accessor; null when absent.
|
|
105
|
+
*/
|
|
58
106
|
static getEffectResource(effectRes, name) {
|
|
59
107
|
const reader = effectRes;
|
|
60
108
|
return reader?.GetResource?.(name) ?? reader?.getResource?.(name) ?? null;
|
|
61
109
|
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* The annotation container the shader authored for a parameter name, in
|
|
113
|
+
* whatever shape the reflection source uses; null when absent.
|
|
114
|
+
*/
|
|
62
115
|
static getEffectAnnotations(effectRes, name) {
|
|
63
116
|
const reader = effectRes;
|
|
64
117
|
return reader?.GetParameterAnnotations?.(name) ?? reader?.getParameterAnnotations?.(name) ?? null;
|
|
65
118
|
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* A parameter's shader name, preferring GetParameterName over a raw `name`
|
|
122
|
+
* field; the empty string when neither exists.
|
|
123
|
+
*/
|
|
66
124
|
static getNamedValue(value) {
|
|
67
125
|
return value?.GetParameterName?.() ?? value?.getParameterName?.() ?? value?.name ?? "";
|
|
68
126
|
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* The name of a collection entry that may be a bare string, a named model, or
|
|
130
|
+
* a `{ key }` pair.
|
|
131
|
+
*/
|
|
69
132
|
static getArrayItemName(value) {
|
|
70
133
|
return typeof value === "string" ? value : value?.name ?? value?.key ?? "";
|
|
71
134
|
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* First array entry whose item name or parameter name matches; null for a
|
|
138
|
+
* non-array.
|
|
139
|
+
*/
|
|
72
140
|
static findByName(values, name) {
|
|
73
141
|
return Array.isArray(values) ? values.find(value => CjsParameter.getArrayItemName(value) === name || CjsParameter.getNamedValue(value) === name) ?? null : null;
|
|
74
142
|
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Invalidates a material's resource sets and constant buffers after one of its
|
|
146
|
+
* resources changed; every call is optional-chained, so non-material owners
|
|
147
|
+
* are tolerated.
|
|
148
|
+
*/
|
|
75
149
|
static markMaterialResourcesDirty(material) {
|
|
76
150
|
material?.InvalidateResourceSets?.();
|
|
77
151
|
material?.ResourceChanged?.();
|
|
78
152
|
material?.MarkConstantBuffersDirty?.();
|
|
79
153
|
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Reads the sRGB flag off a reflected constant, accepting the
|
|
157
|
+
* isSRGB/isSrgb/srgb spellings different reflection sources emit.
|
|
158
|
+
*/
|
|
80
159
|
static getConstantIsSrgb(constant) {
|
|
81
160
|
const data = constant;
|
|
82
161
|
return !!(data?.isSRGB ?? data?.isSrgb ?? data?.srgb);
|
|
@@ -136,12 +215,27 @@ class CjsParameter extends CjsModel {
|
|
|
136
215
|
static #hashScratch = new DataView(new ArrayBuffer(4));
|
|
137
216
|
static #identities = new WeakMap();
|
|
138
217
|
static #nextIdentity = 1;
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Whether a value is an object with a numeric `value` property - the
|
|
221
|
+
* boxed-scalar destination form.
|
|
222
|
+
*/
|
|
139
223
|
static isNumberHolder(value) {
|
|
140
224
|
return typeof value === "object" && value !== null && "value" in value && typeof value.value === "number";
|
|
141
225
|
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Whether a value is an object with a `length` of at least `length`; element
|
|
229
|
+
* types are deliberately not checked, so uninitialized out-parameters pass.
|
|
230
|
+
*/
|
|
142
231
|
static isWritableNumberArray(value, length) {
|
|
143
232
|
return !!value && typeof value === "object" && "length" in value && Number(value.length) >= length;
|
|
144
233
|
}
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* Whether a value is an array or typed array of exactly `length` numbers - the
|
|
237
|
+
* strict test used to infer a parameter class from a raw map-form value.
|
|
238
|
+
*/
|
|
145
239
|
static isNumberArrayValue(value, length) {
|
|
146
240
|
if (!value || typeof value !== "object" || Number(value.length) !== length) return false;
|
|
147
241
|
if (!Array.isArray(value) && !ArrayBuffer.isView(value)) return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CjsParameter.js","sources":["../../../../src/shader/parameter/CjsParameter.js"],"sourcesContent":["import { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\n\r\n\r\nexport class CjsParameter extends CjsModel\r\n{\r\n\r\n static isScalarDestination(value)\r\n {\r\n return typeof value === \"function\" || CjsParameter.isNumberHolder(value) || CjsParameter.isWritableNumberArray(value, 1);\r\n }\r\n\r\n static readScalarDestination(destination, fallback)\r\n {\r\n if (typeof destination === \"function\")\r\n {\r\n return fallback;\r\n }\r\n if (CjsParameter.isNumberHolder(destination))\r\n {\r\n return Number(destination.value);\r\n }\r\n return Number(destination[0]);\r\n }\r\n\r\n static writeScalarDestination(destination, value)\r\n {\r\n if (typeof destination === \"function\")\r\n {\r\n destination(value);\r\n return;\r\n }\r\n if (CjsParameter.isNumberHolder(destination))\r\n {\r\n destination.value = value;\r\n return;\r\n }\r\n destination[0] = value;\r\n }\r\n\r\n static notifyBindings(bindings, destination)\r\n {\r\n for (const binding of bindings)\r\n {\r\n if (typeof binding === \"function\")\r\n {\r\n binding(destination);\r\n }\r\n else\r\n {\r\n binding.RerouteDestination?.(destination);\r\n }\r\n }\r\n }\r\n\r\n static registerBinding(bindings, binding)\r\n {\r\n if (!bindings.includes(binding))\r\n {\r\n bindings.push(binding);\r\n }\r\n }\r\n\r\n static unregisterBinding(bindings, binding)\r\n {\r\n const index = bindings.indexOf(binding);\r\n if (index >= 0)\r\n {\r\n bindings.splice(index, 1);\r\n }\r\n }\r\n\r\n static hasEffectConstant(effectRes, name)\r\n {\r\n return !!CjsParameter.getEffectConstant(effectRes, name);\r\n }\r\n\r\n static getEffectConstant(effectRes, name)\r\n {\r\n const reader = effectRes;\r\n return reader?.GetConstant?.(name) ?? reader?.getConstant?.(name) ?? null;\r\n }\r\n\r\n static hasEffectResource(effectRes, name)\r\n {\r\n const reader = effectRes;\r\n return !!(reader?.GetResource?.(name) ?? reader?.getResource?.(name));\r\n }\r\n\r\n static getEffectResource(effectRes, name)\r\n {\r\n const reader = effectRes;\r\n return reader?.GetResource?.(name) ?? reader?.getResource?.(name) ?? null;\r\n }\r\n\r\n static getEffectAnnotations(effectRes, name)\r\n {\r\n const reader = effectRes;\r\n return reader?.GetParameterAnnotations?.(name) ?? reader?.getParameterAnnotations?.(name) ?? null;\r\n }\r\n\r\n static getNamedValue(value)\r\n {\r\n return value?.GetParameterName?.() ?? value?.getParameterName?.() ?? value?.name ?? \"\";\r\n }\r\n\r\n static getArrayItemName(value)\r\n {\r\n return typeof value === \"string\" ? value : value?.name ?? value?.key ?? \"\";\r\n }\r\n\r\n static findByName(values, name)\r\n {\r\n return Array.isArray(values) ? values.find(value => CjsParameter.getArrayItemName(value) === name || CjsParameter.getNamedValue(value) === name) ?? null : null;\r\n }\r\n\r\n static markMaterialResourcesDirty(material)\r\n {\r\n material?.InvalidateResourceSets?.();\r\n material?.ResourceChanged?.();\r\n material?.MarkConstantBuffersDirty?.();\r\n }\r\n\r\n static getConstantIsSrgb(constant)\r\n {\r\n const data = constant;\r\n return !!(data?.isSRGB ?? data?.isSrgb ?? data?.srgb);\r\n }\r\n\r\n // --- Content hashing (Carbon CcpHashFNV1) -------------------------------\r\n // Carbon hashes interned name POINTERS and value struct bytes; JS hashes\r\n // the name characters and float32 value bytes instead. The dedup contract\r\n // (equal content -> equal hash within a session) is preserved; the numeric\r\n // hashes intentionally differ from Carbon's, which are address-dependent.\r\n\r\n static FNV1_INITIAL = 2166136261;\r\n\r\n /** FNV1 over a string's UTF-16 code units, two bytes each, little-endian. */\r\n static hashFnv1String(text, hash = CjsParameter.FNV1_INITIAL)\r\n {\r\n const value = String(text ?? \"\");\r\n for (let index = 0; index < value.length; index++)\r\n {\r\n const code = value.charCodeAt(index);\r\n hash = (Math.imul(hash, 16777619) ^ (code & 0xff)) >>> 0;\r\n hash = (Math.imul(hash, 16777619) ^ (code >>> 8)) >>> 0;\r\n }\r\n return hash >>> 0;\r\n }\r\n\r\n /** FNV1 over numbers encoded as little-endian float32 bytes. */\r\n static hashFnv1Floats(values, hash = CjsParameter.FNV1_INITIAL)\r\n {\r\n const view = CjsParameter.#hashScratch;\r\n for (const value of values)\r\n {\r\n view.setFloat32(0, Number(value) || 0, true);\r\n for (let byte = 0; byte < 4; byte++)\r\n {\r\n hash = (Math.imul(hash, 16777619) ^ view.getUint8(byte)) >>> 0;\r\n }\r\n }\r\n return hash >>> 0;\r\n }\r\n\r\n /**\r\n * FNV1 over a stable per-object identity - the JS stand-in for Carbon\r\n * hashing a smart-pointer address. Null hashes as identity 0.\r\n */\r\n static hashFnv1Identity(object, hash = CjsParameter.FNV1_INITIAL)\r\n {\r\n let id = 0;\r\n if (object !== null && object !== undefined)\r\n {\r\n id = CjsParameter.#identities.get(object);\r\n if (id === undefined)\r\n {\r\n id = CjsParameter.#nextIdentity++;\r\n CjsParameter.#identities.set(object, id);\r\n }\r\n }\r\n const view = CjsParameter.#hashScratch;\r\n view.setUint32(0, id >>> 0, true);\r\n for (let byte = 0; byte < 4; byte++)\r\n {\r\n hash = (Math.imul(hash, 16777619) ^ view.getUint8(byte)) >>> 0;\r\n }\r\n return hash >>> 0;\r\n }\r\n\r\n static #hashScratch = new DataView(new ArrayBuffer(4));\r\n\r\n static #identities = new WeakMap();\r\n\r\n static #nextIdentity = 1;\r\n\r\n static isNumberHolder(value)\r\n {\r\n return typeof value === \"object\" && value !== null && \"value\" in value && typeof value.value === \"number\";\r\n }\r\n\r\n static isWritableNumberArray(value, length)\r\n {\r\n return !!value && typeof value === \"object\" && \"length\" in value && Number(value.length) >= length;\r\n }\r\n\r\n static isNumberArrayValue(value, length)\r\n {\r\n if (!value || typeof value !== \"object\" || Number(value.length) !== length) return false;\r\n if (!Array.isArray(value) && !ArrayBuffer.isView(value)) return false;\r\n for (let index = 0; index < length; index++)\r\n {\r\n if (typeof value[index] !== \"number\") return false;\r\n }\r\n return true;\r\n }\r\n\r\n}\r\n"],"names":["CjsParameter","CjsModel","isScalarDestination","value","isNumberHolder","isWritableNumberArray","readScalarDestination","destination","fallback","Number","writeScalarDestination","notifyBindings","bindings","binding","RerouteDestination","registerBinding","includes","push","unregisterBinding","index","indexOf","splice","hasEffectConstant","effectRes","name","getEffectConstant","reader","GetConstant","getConstant","hasEffectResource","GetResource","getResource","getEffectResource","getEffectAnnotations","GetParameterAnnotations","getParameterAnnotations","getNamedValue","GetParameterName","getParameterName","getArrayItemName","key","findByName","values","Array","isArray","find","markMaterialResourcesDirty","material","InvalidateResourceSets","ResourceChanged","MarkConstantBuffersDirty","getConstantIsSrgb","constant","data","isSRGB","isSrgb","srgb","FNV1_INITIAL","hashFnv1String","text","hash","String","length","code","charCodeAt","Math","imul","hashFnv1Floats","view","setFloat32","byte","getUint8","hashFnv1Identity","object","id","undefined","get","set","setUint32","DataView","ArrayBuffer","WeakMap","isNumberArrayValue","isView"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CjsParameter.js","sources":["../../../../src/shader/parameter/CjsParameter.js"],"sourcesContent":["import { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\n\r\n\r\n/**\r\n * Shared base for the shader parameter models: destination-reroute plumbing,\r\n * effect-reflection lookups and Carbon's FNV1 content hashing.\r\n */\r\nexport class CjsParameter extends CjsModel\r\n{\r\n\r\n /**\r\n * Whether a value can receive a scalar write - a setter function, a `{ value:\r\n * number }` holder, or a writable number array.\r\n */\r\n static isScalarDestination(value)\r\n {\r\n return typeof value === \"function\" || CjsParameter.isNumberHolder(value) || CjsParameter.isWritableNumberArray(value, 1);\r\n }\r\n\r\n /**\r\n * Reads a scalar back out of whichever destination form was supplied.\r\n * @param fallback returned for function destinations, which are write-only\r\n */\r\n static readScalarDestination(destination, fallback)\r\n {\r\n if (typeof destination === \"function\")\r\n {\r\n return fallback;\r\n }\r\n if (CjsParameter.isNumberHolder(destination))\r\n {\r\n return Number(destination.value);\r\n }\r\n return Number(destination[0]);\r\n }\r\n\r\n /**\r\n * Writes a scalar through whichever destination form was supplied - calling a\r\n * function, assigning `.value`, or writing element 0.\r\n */\r\n static writeScalarDestination(destination, value)\r\n {\r\n if (typeof destination === \"function\")\r\n {\r\n destination(value);\r\n return;\r\n }\r\n if (CjsParameter.isNumberHolder(destination))\r\n {\r\n destination.value = value;\r\n return;\r\n }\r\n destination[0] = value;\r\n }\r\n\r\n /**\r\n * Tells every registered binding the parameter's destination moved, calling\r\n * function bindings directly and object bindings through RerouteDestination.\r\n */\r\n static notifyBindings(bindings, destination)\r\n {\r\n for (const binding of bindings)\r\n {\r\n if (typeof binding === \"function\")\r\n {\r\n binding(destination);\r\n }\r\n else\r\n {\r\n binding.RerouteDestination?.(destination);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Appends a binding to a parameter's binding list unless it is already\r\n * present.\r\n */\r\n static registerBinding(bindings, binding)\r\n {\r\n if (!bindings.includes(binding))\r\n {\r\n bindings.push(binding);\r\n }\r\n }\r\n\r\n /**\r\n * Removes a binding from a parameter's binding list; unknown bindings are\r\n * ignored.\r\n */\r\n static unregisterBinding(bindings, binding)\r\n {\r\n const index = bindings.indexOf(binding);\r\n if (index >= 0)\r\n {\r\n bindings.splice(index, 1);\r\n }\r\n }\r\n\r\n /** Whether the shader reflects a constant of this name. */\r\n static hasEffectConstant(effectRes, name)\r\n {\r\n return !!CjsParameter.getEffectConstant(effectRes, name);\r\n }\r\n\r\n /**\r\n * The reflected constant description for a name, accepting either casing of\r\n * the accessor; null when absent. Reflection metadata only - never a GPU\r\n * handle.\r\n */\r\n static getEffectConstant(effectRes, name)\r\n {\r\n const reader = effectRes;\r\n return reader?.GetConstant?.(name) ?? reader?.getConstant?.(name) ?? null;\r\n }\r\n\r\n /** Whether the shader reflects a resource of this name. */\r\n static hasEffectResource(effectRes, name)\r\n {\r\n const reader = effectRes;\r\n return !!(reader?.GetResource?.(name) ?? reader?.getResource?.(name));\r\n }\r\n\r\n /**\r\n * The reflected resource description for a name, accepting either casing of\r\n * the accessor; null when absent.\r\n */\r\n static getEffectResource(effectRes, name)\r\n {\r\n const reader = effectRes;\r\n return reader?.GetResource?.(name) ?? reader?.getResource?.(name) ?? null;\r\n }\r\n\r\n /**\r\n * The annotation container the shader authored for a parameter name, in\r\n * whatever shape the reflection source uses; null when absent.\r\n */\r\n static getEffectAnnotations(effectRes, name)\r\n {\r\n const reader = effectRes;\r\n return reader?.GetParameterAnnotations?.(name) ?? reader?.getParameterAnnotations?.(name) ?? null;\r\n }\r\n\r\n /**\r\n * A parameter's shader name, preferring GetParameterName over a raw `name`\r\n * field; the empty string when neither exists.\r\n */\r\n static getNamedValue(value)\r\n {\r\n return value?.GetParameterName?.() ?? value?.getParameterName?.() ?? value?.name ?? \"\";\r\n }\r\n\r\n /**\r\n * The name of a collection entry that may be a bare string, a named model, or\r\n * a `{ key }` pair.\r\n */\r\n static getArrayItemName(value)\r\n {\r\n return typeof value === \"string\" ? value : value?.name ?? value?.key ?? \"\";\r\n }\r\n\r\n /**\r\n * First array entry whose item name or parameter name matches; null for a\r\n * non-array.\r\n */\r\n static findByName(values, name)\r\n {\r\n return Array.isArray(values) ? values.find(value => CjsParameter.getArrayItemName(value) === name || CjsParameter.getNamedValue(value) === name) ?? null : null;\r\n }\r\n\r\n /**\r\n * Invalidates a material's resource sets and constant buffers after one of its\r\n * resources changed; every call is optional-chained, so non-material owners\r\n * are tolerated.\r\n */\r\n static markMaterialResourcesDirty(material)\r\n {\r\n material?.InvalidateResourceSets?.();\r\n material?.ResourceChanged?.();\r\n material?.MarkConstantBuffersDirty?.();\r\n }\r\n\r\n /**\r\n * Reads the sRGB flag off a reflected constant, accepting the\r\n * isSRGB/isSrgb/srgb spellings different reflection sources emit.\r\n */\r\n static getConstantIsSrgb(constant)\r\n {\r\n const data = constant;\r\n return !!(data?.isSRGB ?? data?.isSrgb ?? data?.srgb);\r\n }\r\n\r\n // --- Content hashing (Carbon CcpHashFNV1) -------------------------------\r\n // Carbon hashes interned name POINTERS and value struct bytes; JS hashes\r\n // the name characters and float32 value bytes instead. The dedup contract\r\n // (equal content -> equal hash within a session) is preserved; the numeric\r\n // hashes intentionally differ from Carbon's, which are address-dependent.\r\n\r\n static FNV1_INITIAL = 2166136261;\r\n\r\n /** FNV1 over a string's UTF-16 code units, two bytes each, little-endian. */\r\n static hashFnv1String(text, hash = CjsParameter.FNV1_INITIAL)\r\n {\r\n const value = String(text ?? \"\");\r\n for (let index = 0; index < value.length; index++)\r\n {\r\n const code = value.charCodeAt(index);\r\n hash = (Math.imul(hash, 16777619) ^ (code & 0xff)) >>> 0;\r\n hash = (Math.imul(hash, 16777619) ^ (code >>> 8)) >>> 0;\r\n }\r\n return hash >>> 0;\r\n }\r\n\r\n /** FNV1 over numbers encoded as little-endian float32 bytes. */\r\n static hashFnv1Floats(values, hash = CjsParameter.FNV1_INITIAL)\r\n {\r\n const view = CjsParameter.#hashScratch;\r\n for (const value of values)\r\n {\r\n view.setFloat32(0, Number(value) || 0, true);\r\n for (let byte = 0; byte < 4; byte++)\r\n {\r\n hash = (Math.imul(hash, 16777619) ^ view.getUint8(byte)) >>> 0;\r\n }\r\n }\r\n return hash >>> 0;\r\n }\r\n\r\n /**\r\n * FNV1 over a stable per-object identity - the JS stand-in for Carbon\r\n * hashing a smart-pointer address. Null hashes as identity 0.\r\n */\r\n static hashFnv1Identity(object, hash = CjsParameter.FNV1_INITIAL)\r\n {\r\n let id = 0;\r\n if (object !== null && object !== undefined)\r\n {\r\n id = CjsParameter.#identities.get(object);\r\n if (id === undefined)\r\n {\r\n id = CjsParameter.#nextIdentity++;\r\n CjsParameter.#identities.set(object, id);\r\n }\r\n }\r\n const view = CjsParameter.#hashScratch;\r\n view.setUint32(0, id >>> 0, true);\r\n for (let byte = 0; byte < 4; byte++)\r\n {\r\n hash = (Math.imul(hash, 16777619) ^ view.getUint8(byte)) >>> 0;\r\n }\r\n return hash >>> 0;\r\n }\r\n\r\n static #hashScratch = new DataView(new ArrayBuffer(4));\r\n\r\n static #identities = new WeakMap();\r\n\r\n static #nextIdentity = 1;\r\n\r\n /**\r\n * Whether a value is an object with a numeric `value` property - the\r\n * boxed-scalar destination form.\r\n */\r\n static isNumberHolder(value)\r\n {\r\n return typeof value === \"object\" && value !== null && \"value\" in value && typeof value.value === \"number\";\r\n }\r\n\r\n /**\r\n * Whether a value is an object with a `length` of at least `length`; element\r\n * types are deliberately not checked, so uninitialized out-parameters pass.\r\n */\r\n static isWritableNumberArray(value, length)\r\n {\r\n return !!value && typeof value === \"object\" && \"length\" in value && Number(value.length) >= length;\r\n }\r\n\r\n /**\r\n * Whether a value is an array or typed array of exactly `length` numbers - the\r\n * strict test used to infer a parameter class from a raw map-form value.\r\n */\r\n static isNumberArrayValue(value, length)\r\n {\r\n if (!value || typeof value !== \"object\" || Number(value.length) !== length) return false;\r\n if (!Array.isArray(value) && !ArrayBuffer.isView(value)) return false;\r\n for (let index = 0; index < length; index++)\r\n {\r\n if (typeof value[index] !== \"number\") return false;\r\n }\r\n return true;\r\n }\r\n\r\n}\r\n"],"names":["CjsParameter","CjsModel","isScalarDestination","value","isNumberHolder","isWritableNumberArray","readScalarDestination","destination","fallback","Number","writeScalarDestination","notifyBindings","bindings","binding","RerouteDestination","registerBinding","includes","push","unregisterBinding","index","indexOf","splice","hasEffectConstant","effectRes","name","getEffectConstant","reader","GetConstant","getConstant","hasEffectResource","GetResource","getResource","getEffectResource","getEffectAnnotations","GetParameterAnnotations","getParameterAnnotations","getNamedValue","GetParameterName","getParameterName","getArrayItemName","key","findByName","values","Array","isArray","find","markMaterialResourcesDirty","material","InvalidateResourceSets","ResourceChanged","MarkConstantBuffersDirty","getConstantIsSrgb","constant","data","isSRGB","isSrgb","srgb","FNV1_INITIAL","hashFnv1String","text","hash","String","length","code","charCodeAt","Math","imul","hashFnv1Floats","view","setFloat32","byte","getUint8","hashFnv1Identity","object","id","undefined","get","set","setUint32","DataView","ArrayBuffer","WeakMap","isNumberArrayValue","isView"],"mappings":"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"}
|
|
@@ -1,20 +1,40 @@
|
|
|
1
1
|
import { CjsParameter } from './CjsParameter.js';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Base for the multi-component shader parameters, adding fixed-length
|
|
5
|
+
* destination reads and writes on top of CjsParameter.
|
|
6
|
+
*/
|
|
3
7
|
class CjsVectorParameter extends CjsParameter {
|
|
8
|
+
/** Whether a value can receive `length` components written into it. */
|
|
4
9
|
static isVectorDestination(value, length) {
|
|
5
10
|
return CjsVectorParameter.isWritableNumberArray(value, length);
|
|
6
11
|
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Copies `length` components out of a destination into `out` in place; returns
|
|
15
|
+
* `out`.
|
|
16
|
+
*/
|
|
7
17
|
static readVectorDestination(destination, out, length) {
|
|
8
18
|
for (let i = 0; i < length; i++) {
|
|
9
19
|
out[i] = destination[i];
|
|
10
20
|
}
|
|
11
21
|
return out;
|
|
12
22
|
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Copies `length` components into a destination in place; the destination is
|
|
26
|
+
* assumed to be large enough.
|
|
27
|
+
*/
|
|
13
28
|
static writeVectorDestination(destination, value, length) {
|
|
14
29
|
for (let i = 0; i < length; i++) {
|
|
15
30
|
destination[i] = value[i];
|
|
16
31
|
}
|
|
17
32
|
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Copies `length` components from `value` into `out` in place; returns `out`
|
|
36
|
+
* so callers can hand it straight back.
|
|
37
|
+
*/
|
|
18
38
|
static copyNumberArray(out, value, length) {
|
|
19
39
|
for (let i = 0; i < length; i++) {
|
|
20
40
|
out[i] = value[i];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CjsVectorParameter.js","sources":["../../../../src/shader/parameter/CjsVectorParameter.js"],"sourcesContent":["import { CjsParameter } from \"./CjsParameter.js\";\r\n\r\n\r\nexport class CjsVectorParameter extends CjsParameter\r\n{\r\n\r\n static isVectorDestination(value, length)\r\n {\r\n return CjsVectorParameter.isWritableNumberArray(value, length);\r\n }\r\n\r\n static readVectorDestination(destination, out, length)\r\n {\r\n for (let i = 0; i < length; i++)\r\n {\r\n out[i] = destination[i];\r\n }\r\n return out;\r\n }\r\n\r\n static writeVectorDestination(destination, value, length)\r\n {\r\n for (let i = 0; i < length; i++)\r\n {\r\n destination[i] = value[i];\r\n }\r\n }\r\n\r\n static copyNumberArray(out, value, length)\r\n {\r\n for (let i = 0; i < length; i++)\r\n {\r\n out[i] = value[i];\r\n }\r\n return out;\r\n }\r\n\r\n}\r\n"],"names":["CjsVectorParameter","CjsParameter","isVectorDestination","value","length","isWritableNumberArray","readVectorDestination","destination","out","i","writeVectorDestination","copyNumberArray"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"CjsVectorParameter.js","sources":["../../../../src/shader/parameter/CjsVectorParameter.js"],"sourcesContent":["import { CjsParameter } from \"./CjsParameter.js\";\r\n\r\n\r\n/**\r\n * Base for the multi-component shader parameters, adding fixed-length\r\n * destination reads and writes on top of CjsParameter.\r\n */\r\nexport class CjsVectorParameter extends CjsParameter\r\n{\r\n\r\n /** Whether a value can receive `length` components written into it. */\r\n static isVectorDestination(value, length)\r\n {\r\n return CjsVectorParameter.isWritableNumberArray(value, length);\r\n }\r\n\r\n /**\r\n * Copies `length` components out of a destination into `out` in place; returns\r\n * `out`.\r\n */\r\n static readVectorDestination(destination, out, length)\r\n {\r\n for (let i = 0; i < length; i++)\r\n {\r\n out[i] = destination[i];\r\n }\r\n return out;\r\n }\r\n\r\n /**\r\n * Copies `length` components into a destination in place; the destination is\r\n * assumed to be large enough.\r\n */\r\n static writeVectorDestination(destination, value, length)\r\n {\r\n for (let i = 0; i < length; i++)\r\n {\r\n destination[i] = value[i];\r\n }\r\n }\r\n\r\n /**\r\n * Copies `length` components from `value` into `out` in place; returns `out`\r\n * so callers can hand it straight back.\r\n */\r\n static copyNumberArray(out, value, length)\r\n {\r\n for (let i = 0; i < length; i++)\r\n {\r\n out[i] = value[i];\r\n }\r\n return out;\r\n }\r\n\r\n}\r\n"],"names":["CjsVectorParameter","CjsParameter","isVectorDestination","value","length","isWritableNumberArray","readVectorDestination","destination","out","i","writeVectorDestination","copyNumberArray"],"mappings":";;AAGA;AACA;AACA;AACA;AACO,MAAMA,kBAAkB,SAASC,YAAY,CACpD;AAEE;AACA,EAAA,OAAOC,mBAAmBA,CAACC,KAAK,EAAEC,MAAM,EACxC;AACE,IAAA,OAAOJ,kBAAkB,CAACK,qBAAqB,CAACF,KAAK,EAAEC,MAAM,CAAC;AAChE,EAAA;;AAEA;AACF;AACA;AACA;AACE,EAAA,OAAOE,qBAAqBA,CAACC,WAAW,EAAEC,GAAG,EAAEJ,MAAM,EACrD;IACE,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,MAAM,EAAEK,CAAC,EAAE,EAC/B;AACED,MAAAA,GAAG,CAACC,CAAC,CAAC,GAAGF,WAAW,CAACE,CAAC,CAAC;AACzB,IAAA;AACA,IAAA,OAAOD,GAAG;AACZ,EAAA;;AAEA;AACF;AACA;AACA;AACE,EAAA,OAAOE,sBAAsBA,CAACH,WAAW,EAAEJ,KAAK,EAAEC,MAAM,EACxD;IACE,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,MAAM,EAAEK,CAAC,EAAE,EAC/B;AACEF,MAAAA,WAAW,CAACE,CAAC,CAAC,GAAGN,KAAK,CAACM,CAAC,CAAC;AAC3B,IAAA;AACF,EAAA;;AAEA;AACF;AACA;AACA;AACE,EAAA,OAAOE,eAAeA,CAACH,GAAG,EAAEL,KAAK,EAAEC,MAAM,EACzC;IACE,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,MAAM,EAAEK,CAAC,EAAE,EAC/B;AACED,MAAAA,GAAG,CAACC,CAAC,CAAC,GAAGN,KAAK,CAACM,CAAC,CAAC;AACnB,IAAA;AACA,IAAA,OAAOD,GAAG;AACZ,EAAA;AAEF;;;;"}
|
|
@@ -3,6 +3,11 @@ import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
|
|
|
3
3
|
import { CjsParameter } from './CjsParameter.js';
|
|
4
4
|
|
|
5
5
|
let _initProto, _initClass, _init_value, _init_extra_value, _init_name, _init_extra_name, _init_usedByCurrentEffect, _init_extra_usedByCurrentEffect;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Single float value for a named shader constant, with optional rerouting into
|
|
9
|
+
* an external scalar destination.
|
|
10
|
+
*/
|
|
6
11
|
let _Tr2FloatParameter;
|
|
7
12
|
class Tr2FloatParameter extends CjsParameter {
|
|
8
13
|
static {
|
|
@@ -22,6 +27,8 @@ class Tr2FloatParameter extends CjsParameter {
|
|
|
22
27
|
#valueRef = {
|
|
23
28
|
value: this.value
|
|
24
29
|
};
|
|
30
|
+
|
|
31
|
+
/** The shader constant name this value binds to; empty until authored. */
|
|
25
32
|
GetParameterName() {
|
|
26
33
|
return this.name;
|
|
27
34
|
}
|
|
@@ -30,6 +37,11 @@ class Tr2FloatParameter extends CjsParameter {
|
|
|
30
37
|
GetHashValue(startingHash = CjsParameter.FNV1_INITIAL) {
|
|
31
38
|
return CjsParameter.hashFnv1String(this.name, CjsParameter.hashFnv1Floats([this.value], startingHash));
|
|
32
39
|
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Reads back through the reroute destination when one is set, so the result
|
|
43
|
+
* reflects writes made by whoever owns that destination.
|
|
44
|
+
*/
|
|
33
45
|
GetValue() {
|
|
34
46
|
if (this.#reroutedValue) {
|
|
35
47
|
this.value = CjsParameter.readScalarDestination(this.#reroutedValue, this.value);
|
|
@@ -37,6 +49,11 @@ class Tr2FloatParameter extends CjsParameter {
|
|
|
37
49
|
}
|
|
38
50
|
return this.value;
|
|
39
51
|
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Coerces to a number, refreshes the boxed reference GetDestination hands out,
|
|
55
|
+
* and writes through to the reroute destination when one is set.
|
|
56
|
+
*/
|
|
40
57
|
SetValue(value) {
|
|
41
58
|
this.value = Number(value);
|
|
42
59
|
this.#valueRef.value = this.value;
|
|
@@ -44,9 +61,16 @@ class Tr2FloatParameter extends CjsParameter {
|
|
|
44
61
|
CjsParameter.writeScalarDestination(this.#reroutedValue, this.value);
|
|
45
62
|
}
|
|
46
63
|
}
|
|
64
|
+
|
|
65
|
+
/** Whether reads and writes currently go through an external destination. */
|
|
47
66
|
IsRerouted() {
|
|
48
67
|
return this.#reroutedValue !== null;
|
|
49
68
|
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Points the parameter at an external scalar destination and seeds it with the current value; a target under 4 bytes or of an unusable shape clears the reroute instead. Bindings are notified of the effective destination either way.
|
|
72
|
+
* @param size destination capacity in bytes
|
|
73
|
+
*/
|
|
50
74
|
SetDestination(dest, size = 4) {
|
|
51
75
|
if (size >= 4 && CjsParameter.isScalarDestination(dest)) {
|
|
52
76
|
this.#reroutedValue = dest;
|
|
@@ -56,24 +80,48 @@ class Tr2FloatParameter extends CjsParameter {
|
|
|
56
80
|
}
|
|
57
81
|
CjsParameter.notifyBindings(this.#bindings, this.GetDestination().dest);
|
|
58
82
|
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* The scalar an upload should read - the reroute target, or the parameter's
|
|
86
|
+
* own boxed `{ value }` holder - with its 4-byte size. The boxed holder is a
|
|
87
|
+
* stable object that survives SetValue calls.
|
|
88
|
+
*/
|
|
59
89
|
GetDestination() {
|
|
60
90
|
return {
|
|
61
91
|
dest: this.#reroutedValue ?? this.#valueRef,
|
|
62
92
|
size: 4
|
|
63
93
|
};
|
|
64
94
|
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Adds a binding to be notified whenever the destination is repointed;
|
|
98
|
+
* duplicates are ignored.
|
|
99
|
+
*/
|
|
65
100
|
RegisterBinding(binding) {
|
|
66
101
|
CjsParameter.registerBinding(this.#bindings, binding);
|
|
67
102
|
}
|
|
103
|
+
|
|
104
|
+
/** Stops notifying a binding; unknown bindings are ignored. */
|
|
68
105
|
UnregisterBinding(binding) {
|
|
69
106
|
CjsParameter.unregisterBinding(this.#bindings, binding);
|
|
70
107
|
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Records whether the shader reflects a constant of this name and drops a
|
|
111
|
+
* stale reroute when the shader is gone; reflection metadata only, no GPU
|
|
112
|
+
* handle.
|
|
113
|
+
*/
|
|
71
114
|
RebuildEffectHandles(effectRes) {
|
|
72
115
|
if (!effectRes && this.#reroutedValue) {
|
|
73
116
|
this.SetDestination(null, 0);
|
|
74
117
|
}
|
|
75
118
|
this.usedByCurrentEffect = !!this.name && CjsParameter.hasEffectConstant(effectRes, this.name);
|
|
76
119
|
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Syncs the boxed reference and any reroute destination with the current
|
|
123
|
+
* value; always returns true.
|
|
124
|
+
*/
|
|
77
125
|
Initialize() {
|
|
78
126
|
this.#valueRef.value = this.value;
|
|
79
127
|
if (this.#reroutedValue) {
|
|
@@ -81,6 +129,11 @@ class Tr2FloatParameter extends CjsParameter {
|
|
|
81
129
|
}
|
|
82
130
|
return true;
|
|
83
131
|
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Writes the current value - read back through the reroute first when one is
|
|
135
|
+
* active - into the caller's destination.
|
|
136
|
+
*/
|
|
84
137
|
CopyValueToEffect(_inputType, out) {
|
|
85
138
|
CjsParameter.writeScalarDestination(out, this.GetValue());
|
|
86
139
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2FloatParameter.js","sources":["../../../../src/shader/parameter/Tr2FloatParameter.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Shader\\Parameter\\Tr2FloatParameter.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Shader\\Parameter\\Tr2FloatParameter.cpp\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { CjsParameter } from \"./CjsParameter.js\";\r\n\r\n\r\n@type.define({className: \"Tr2FloatParameter\", family: \"shader\"})\r\nexport class Tr2FloatParameter extends CjsParameter\r\n{\r\n @io.persistOnly\r\n @type.float32\r\n value = 1;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.read\r\n @type.boolean\r\n usedByCurrentEffect = false;\r\n\r\n #bindings = [];\r\n #reroutedValue = null;\r\n #valueRef = { value: this.value };\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetParameterName()\r\n {\r\n return this.name;\r\n }\r\n\r\n /** Content hash: value bytes then name (Carbon hashes the interned name pointer). */\r\n @carbon.method\r\n @impl.adapted\r\n GetHashValue(startingHash = CjsParameter.FNV1_INITIAL)\r\n {\r\n return CjsParameter.hashFnv1String(this.name, CjsParameter.hashFnv1Floats([this.value], startingHash));\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetValue()\r\n {\r\n if (this.#reroutedValue)\r\n {\r\n this.value = CjsParameter.readScalarDestination(this.#reroutedValue, this.value);\r\n this.#valueRef.value = this.value;\r\n }\r\n return this.value;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetValue(value)\r\n {\r\n this.value = Number(value);\r\n this.#valueRef.value = this.value;\r\n if (this.#reroutedValue)\r\n {\r\n CjsParameter.writeScalarDestination(this.#reroutedValue, this.value);\r\n }\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n IsRerouted()\r\n {\r\n return this.#reroutedValue !== null;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetDestination(dest, size = 4)\r\n {\r\n if (size >= 4 && CjsParameter.isScalarDestination(dest))\r\n {\r\n this.#reroutedValue = dest;\r\n CjsParameter.writeScalarDestination(dest, this.value);\r\n }\r\n else\r\n {\r\n this.#reroutedValue = null;\r\n }\r\n CjsParameter.notifyBindings(this.#bindings, this.GetDestination().dest);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetDestination()\r\n {\r\n return {\r\n dest: this.#reroutedValue ?? this.#valueRef,\r\n size: 4\r\n };\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n RegisterBinding(binding)\r\n {\r\n CjsParameter.registerBinding(this.#bindings, binding);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n UnregisterBinding(binding)\r\n {\r\n CjsParameter.unregisterBinding(this.#bindings, binding);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n RebuildEffectHandles(effectRes)\r\n {\r\n if (!effectRes && this.#reroutedValue)\r\n {\r\n this.SetDestination(null, 0);\r\n }\r\n this.usedByCurrentEffect = !!this.name && CjsParameter.hasEffectConstant(effectRes, this.name);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n this.#valueRef.value = this.value;\r\n if (this.#reroutedValue)\r\n {\r\n CjsParameter.writeScalarDestination(this.#reroutedValue, this.value);\r\n }\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n CopyValueToEffect(_inputType, out)\r\n {\r\n CjsParameter.writeScalarDestination(out, this.GetValue());\r\n }\r\n\r\n /** JS convenience: raw values this parameter class claims for map-form inference. */\r\n static isValue(value)\r\n {\r\n return typeof value === \"number\";\r\n }\r\n\r\n}\r\n"],"names":["_Tr2FloatParameter","Tr2FloatParameter","CjsParameter","e","_init_value","_init_extra_value","_init_name","_init_extra_name","_init_usedByCurrentEffect","_init_extra_usedByCurrentEffect","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persistOnly","float32","notify","persist","string","read","boolean","carbon","method","impl","implemented","adapted","value","name","usedByCurrentEffect","GetParameterName","GetHashValue","startingHash","FNV1_INITIAL","hashFnv1String","hashFnv1Floats","GetValue","readScalarDestination","SetValue","Number","writeScalarDestination","IsRerouted","SetDestination","dest","size","isScalarDestination","notifyBindings","GetDestination","RegisterBinding","binding","registerBinding","UnregisterBinding","unregisterBinding","RebuildEffectHandles","effectRes","hasEffectConstant","Initialize","CopyValueToEffect","_inputType","out","isValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tr2FloatParameter.js","sources":["../../../../src/shader/parameter/Tr2FloatParameter.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Shader\\Parameter\\Tr2FloatParameter.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Shader\\Parameter\\Tr2FloatParameter.cpp\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { CjsParameter } from \"./CjsParameter.js\";\r\n\r\n\r\n/**\r\n * Single float value for a named shader constant, with optional rerouting into\r\n * an external scalar destination.\r\n */\r\n@type.define({className: \"Tr2FloatParameter\", family: \"shader\"})\r\nexport class Tr2FloatParameter extends CjsParameter\r\n{\r\n @io.persistOnly\r\n @type.float32\r\n value = 1;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.read\r\n @type.boolean\r\n usedByCurrentEffect = false;\r\n\r\n #bindings = [];\r\n #reroutedValue = null;\r\n #valueRef = { value: this.value };\r\n\r\n /** The shader constant name this value binds to; empty until authored. */\r\n @carbon.method\r\n @impl.implemented\r\n GetParameterName()\r\n {\r\n return this.name;\r\n }\r\n\r\n /** Content hash: value bytes then name (Carbon hashes the interned name pointer). */\r\n @carbon.method\r\n @impl.adapted\r\n GetHashValue(startingHash = CjsParameter.FNV1_INITIAL)\r\n {\r\n return CjsParameter.hashFnv1String(this.name, CjsParameter.hashFnv1Floats([this.value], startingHash));\r\n }\r\n\r\n /**\r\n * Reads back through the reroute destination when one is set, so the result\r\n * reflects writes made by whoever owns that destination.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetValue()\r\n {\r\n if (this.#reroutedValue)\r\n {\r\n this.value = CjsParameter.readScalarDestination(this.#reroutedValue, this.value);\r\n this.#valueRef.value = this.value;\r\n }\r\n return this.value;\r\n }\r\n\r\n /**\r\n * Coerces to a number, refreshes the boxed reference GetDestination hands out,\r\n * and writes through to the reroute destination when one is set.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetValue(value)\r\n {\r\n this.value = Number(value);\r\n this.#valueRef.value = this.value;\r\n if (this.#reroutedValue)\r\n {\r\n CjsParameter.writeScalarDestination(this.#reroutedValue, this.value);\r\n }\r\n }\r\n\r\n /** Whether reads and writes currently go through an external destination. */\r\n @carbon.method\r\n @impl.implemented\r\n IsRerouted()\r\n {\r\n return this.#reroutedValue !== null;\r\n }\r\n\r\n /**\r\n * Points the parameter at an external scalar destination and seeds it with the current value; a target under 4 bytes or of an unusable shape clears the reroute instead. Bindings are notified of the effective destination either way.\r\n * @param size destination capacity in bytes\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetDestination(dest, size = 4)\r\n {\r\n if (size >= 4 && CjsParameter.isScalarDestination(dest))\r\n {\r\n this.#reroutedValue = dest;\r\n CjsParameter.writeScalarDestination(dest, this.value);\r\n }\r\n else\r\n {\r\n this.#reroutedValue = null;\r\n }\r\n CjsParameter.notifyBindings(this.#bindings, this.GetDestination().dest);\r\n }\r\n\r\n /**\r\n * The scalar an upload should read - the reroute target, or the parameter's\r\n * own boxed `{ value }` holder - with its 4-byte size. The boxed holder is a\r\n * stable object that survives SetValue calls.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetDestination()\r\n {\r\n return {\r\n dest: this.#reroutedValue ?? this.#valueRef,\r\n size: 4\r\n };\r\n }\r\n\r\n /**\r\n * Adds a binding to be notified whenever the destination is repointed;\r\n * duplicates are ignored.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n RegisterBinding(binding)\r\n {\r\n CjsParameter.registerBinding(this.#bindings, binding);\r\n }\r\n\r\n /** Stops notifying a binding; unknown bindings are ignored. */\r\n @carbon.method\r\n @impl.adapted\r\n UnregisterBinding(binding)\r\n {\r\n CjsParameter.unregisterBinding(this.#bindings, binding);\r\n }\r\n\r\n /**\r\n * Records whether the shader reflects a constant of this name and drops a\r\n * stale reroute when the shader is gone; reflection metadata only, no GPU\r\n * handle.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n RebuildEffectHandles(effectRes)\r\n {\r\n if (!effectRes && this.#reroutedValue)\r\n {\r\n this.SetDestination(null, 0);\r\n }\r\n this.usedByCurrentEffect = !!this.name && CjsParameter.hasEffectConstant(effectRes, this.name);\r\n }\r\n\r\n /**\r\n * Syncs the boxed reference and any reroute destination with the current\r\n * value; always returns true.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n this.#valueRef.value = this.value;\r\n if (this.#reroutedValue)\r\n {\r\n CjsParameter.writeScalarDestination(this.#reroutedValue, this.value);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Writes the current value - read back through the reroute first when one is\r\n * active - into the caller's destination.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n CopyValueToEffect(_inputType, out)\r\n {\r\n CjsParameter.writeScalarDestination(out, this.GetValue());\r\n }\r\n\r\n /** JS convenience: raw values this parameter class claims for map-form inference. */\r\n static isValue(value)\r\n {\r\n return typeof value === \"number\";\r\n }\r\n\r\n}\r\n"],"names":["_Tr2FloatParameter","Tr2FloatParameter","CjsParameter","e","_init_value","_init_extra_value","_init_name","_init_extra_name","_init_usedByCurrentEffect","_init_extra_usedByCurrentEffect","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persistOnly","float32","notify","persist","string","read","boolean","carbon","method","impl","implemented","adapted","value","name","usedByCurrentEffect","GetParameterName","GetHashValue","startingHash","FNV1_INITIAL","hashFnv1String","hashFnv1Floats","GetValue","readScalarDestination","SetValue","Number","writeScalarDestination","IsRerouted","SetDestination","dest","size","isScalarDestination","notifyBindings","GetDestination","RegisterBinding","binding","registerBinding","UnregisterBinding","unregisterBinding","RebuildEffectHandles","effectRes","hasEffectConstant","Initialize","CopyValueToEffect","_inputType","out","isValue"],"mappings":"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"}
|