@carbonenginejs/runtime-trinity 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -243
- package/dist/controllers/CjsControllerExpressionProgram.js +157 -0
- package/dist/controllers/CjsControllerExpressionProgram.js.map +1 -1
- package/dist/controllers/ITr2ControllerAction.js +57 -0
- package/dist/controllers/ITr2ControllerAction.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateCurveSet.js +10 -0
- package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionAnimateValue.js +26 -0
- package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
- package/dist/controllers/Tr2ActionBindRTPC.js +11 -0
- package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
- package/dist/controllers/Tr2ActionCallback.js +5 -0
- package/dist/controllers/Tr2ActionCallback.js.map +1 -1
- package/dist/controllers/Tr2ActionChildEffect.js +63 -0
- package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
- package/dist/controllers/Tr2ActionOverlay.js +68 -0
- package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayCurveSet.js +16 -0
- package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js +29 -0
- package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
- package/dist/controllers/Tr2ActionPlaySound.js +11 -0
- package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
- package/dist/controllers/Tr2ActionPython.js +11 -0
- package/dist/controllers/Tr2ActionPython.js.map +1 -1
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js +17 -0
- package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js +5 -0
- package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +5 -0
- package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
- package/dist/controllers/Tr2ActionSetAudioSwitch.js +5 -0
- package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +23 -0
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
- package/dist/controllers/Tr2ActionSetShaderOption.js +5 -0
- package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
- package/dist/controllers/Tr2ActionSetValue.js +35 -0
- package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
- package/dist/controllers/Tr2ActionSpawnParticles.js +10 -0
- package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/controllers/Tr2BindingPoint.js +67 -0
- package/dist/controllers/Tr2BindingPoint.js.map +1 -1
- package/dist/controllers/Tr2Controller.js +37 -0
- package/dist/controllers/Tr2Controller.js.map +1 -1
- package/dist/controllers/Tr2ControllerEventHandler.js +10 -0
- package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
- package/dist/controllers/Tr2ControllerExpression.js +17 -0
- package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
- package/dist/controllers/Tr2ControllerFloatVariable.js +6 -0
- package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
- package/dist/controllers/Tr2ControllerReference.js +11 -0
- package/dist/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/controllers/Tr2StateMachine.js +17 -0
- package/dist/controllers/Tr2StateMachine.js.map +1 -1
- package/dist/controllers/Tr2StateMachineState.js +47 -0
- package/dist/controllers/Tr2StateMachineState.js.map +1 -1
- package/dist/controllers/Tr2StateMachineTransition.js +29 -0
- package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
- package/dist/controllers/Tr2SyncToAnimation.js +5 -0
- package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
- package/dist/controllers/Tr2TimelineController.js +61 -0
- package/dist/controllers/Tr2TimelineController.js.map +1 -1
- package/dist/controllers/contracts.js +24 -1
- package/dist/controllers/contracts.js.map +1 -1
- package/dist/controllers/index.js +1 -1
- package/dist/curves/CjsGrannyCurves.js +150 -0
- package/dist/curves/CjsGrannyCurves.js.map +1 -1
- package/dist/curves/Tr2BoneMatrixCurve.js +23 -0
- package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
- package/dist/curves/Tr2CameraFollowCurveKey.js +6 -0
- package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2CurveColor.js +6 -0
- package/dist/curves/Tr2CurveColor.js.map +1 -1
- package/dist/curves/Tr2CurveColorMixer.js +6 -0
- package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
- package/dist/curves/Tr2CurveCombiner.js +5 -0
- package/dist/curves/Tr2CurveCombiner.js.map +1 -1
- package/dist/curves/Tr2CurveConstant.js +16 -0
- package/dist/curves/Tr2CurveConstant.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotation.js +5 -0
- package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
- package/dist/curves/Tr2CurveEulerRotationExpression.js +66 -0
- package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternion.js +5 -0
- package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
- package/dist/curves/Tr2CurveQuaternionKey.js +5 -0
- package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
- package/dist/curves/Tr2CurveRandomAxisRotation.js +28 -0
- package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/curves/Tr2CurveScalar.js +35 -0
- package/dist/curves/Tr2CurveScalar.js.map +1 -1
- package/dist/curves/Tr2CurveScalarExpression.js +11 -0
- package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
- package/dist/curves/Tr2CurveScalarKey.js +6 -0
- package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
- package/dist/curves/Tr2CurveSetRange.js +5 -0
- package/dist/curves/Tr2CurveSetRange.js.map +1 -1
- package/dist/curves/Tr2CurveVector2.js +5 -0
- package/dist/curves/Tr2CurveVector2.js.map +1 -1
- package/dist/curves/Tr2CurveVector3.js +5 -0
- package/dist/curves/Tr2CurveVector3.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Expression.js +71 -0
- package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
- package/dist/curves/Tr2CurveVector3Lerp.js +6 -0
- package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
- package/dist/curves/Tr2DistanceTracker.js +6 -0
- package/dist/curves/Tr2DistanceTracker.js.map +1 -1
- package/dist/curves/Tr2FollowCurve.js +6 -0
- package/dist/curves/Tr2FollowCurve.js.map +1 -1
- package/dist/curves/Tr2GrannyEventTrack.js +5 -0
- package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTrack.js +6 -0
- package/dist/curves/Tr2GrannyTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyTransformTrack.js +6 -0
- package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
- package/dist/curves/Tr2GrannyVectorTrack.js +5 -0
- package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
- package/dist/curves/Tr2MatrixKey.js +5 -0
- package/dist/curves/Tr2MatrixKey.js.map +1 -1
- package/dist/curves/Tr2ObjectFollowCurveKey.js +6 -0
- package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
- package/dist/curves/Tr2QuaternionLerpCurve.js +6 -0
- package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
- package/dist/curves/Tr2RotationAdapter.js +6 -0
- package/dist/curves/Tr2RotationAdapter.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKey.js +18 -0
- package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKeyCurve.js +23 -0
- package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
- package/dist/curves/Tr2ScalarFader.js +11 -0
- package/dist/curves/Tr2ScalarFader.js.map +1 -1
- package/dist/curves/Tr2TranslationAdapter.js +6 -0
- package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
- package/dist/curves/TriColorSequencer.js +6 -0
- package/dist/curves/TriColorSequencer.js.map +1 -1
- package/dist/curves/TriCurveSet.js +23 -0
- package/dist/curves/TriCurveSet.js.map +1 -1
- package/dist/curves/TriEventCurve.js +23 -0
- package/dist/curves/TriEventCurve.js.map +1 -1
- package/dist/curves/TriEventKey.js +5 -0
- package/dist/curves/TriEventKey.js.map +1 -1
- package/dist/curves/TriPerlinCurve.js +30 -0
- package/dist/curves/TriPerlinCurve.js.map +1 -1
- package/dist/curves/TriVectorSequencer.js +6 -0
- package/dist/curves/TriVectorSequencer.js.map +1 -1
- package/dist/eve/AudioGameObject.js +89 -1
- package/dist/eve/AudioGameObject.js.map +1 -1
- package/dist/eve/BackAndForthData.js +7 -0
- package/dist/eve/BackAndForthData.js.map +1 -1
- package/dist/eve/CjsDistributionRandom.js +6 -0
- package/dist/eve/CjsDistributionRandom.js.map +1 -1
- package/dist/eve/CjsEveThrottleableState.js +11 -0
- package/dist/eve/CjsEveThrottleableState.js.map +1 -1
- package/dist/eve/EveChildUpdateParams.js +7 -0
- package/dist/eve/EveChildUpdateParams.js.map +1 -1
- package/dist/eve/EveComponentTypes.js.map +1 -1
- package/dist/eve/EveCustomMask.js +58 -27
- package/dist/eve/EveCustomMask.js.map +1 -1
- package/dist/eve/EveDistanceField.js +84 -0
- package/dist/eve/EveDistanceField.js.map +1 -1
- package/dist/eve/EveEntity.js +138 -0
- package/dist/eve/EveEntity.js.map +1 -0
- package/dist/eve/EveImpactOverlay.js +61 -0
- package/dist/eve/EveImpactOverlay.js.map +1 -1
- package/dist/eve/EveLODHelper.js +17 -13
- package/dist/eve/EveLODHelper.js.map +1 -1
- package/dist/eve/EveLineData.js +2 -0
- package/dist/eve/EveLineData.js.map +1 -1
- package/dist/eve/EveThrottleable.js +11 -0
- package/dist/eve/EveThrottleable.js.map +1 -1
- package/dist/eve/FollowASplineData.js +7 -0
- package/dist/eve/FollowASplineData.js.map +1 -1
- package/dist/eve/FormationData.js +6 -0
- package/dist/eve/FormationData.js.map +1 -1
- package/dist/eve/InertiaData.js +7 -0
- package/dist/eve/InertiaData.js.map +1 -1
- package/dist/eve/PlacementDataWithIdentifier.js +7 -0
- package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
- package/dist/eve/PlayFXData.js +7 -0
- package/dist/eve/PlayFXData.js.map +1 -1
- package/dist/eve/SeekTargetData.js +7 -0
- package/dist/eve/SeekTargetData.js.map +1 -1
- package/dist/eve/{EveSpaceObjectAttachmentUtils.js → attachment/EveSpaceObjectAttachmentUtils.js} +11 -11
- package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
- package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
- package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
- package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +13 -2
- package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
- package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
- package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
- package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +204 -35
- package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
- package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +205 -12
- package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
- package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +49 -1
- package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
- package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
- package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
- package/dist/eve/{EveHazeSet.js → attachment/haze/EveHazeSet.js} +65 -6
- package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
- package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
- package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
- package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +13 -2
- package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
- package/dist/eve/attachment/itemSetBounds.js +131 -0
- package/dist/eve/attachment/itemSetBounds.js.map +1 -0
- package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +14 -2
- package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
- package/dist/eve/{EvePlaneSet.js → attachment/plane/EvePlaneSet.js} +119 -7
- package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
- package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
- package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
- package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +13 -2
- package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
- package/dist/eve/{EveSpotlightSet.js → attachment/spotlight/EveSpotlightSet.js} +86 -6
- package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
- package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
- package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +14 -2
- package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
- package/dist/eve/{EveSpriteLineSet.js → attachment/sprite/EveSpriteLineSet.js} +69 -7
- package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
- package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +29 -4
- package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
- package/dist/eve/{EveSpriteSet.js → attachment/sprite/EveSpriteSet.js} +87 -8
- package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
- package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +23 -26
- package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js +184 -2
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretSet.js +236 -7
- package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretTarget.js +112 -0
- package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/eve/camera/EveCamera.js +644 -0
- package/dist/eve/camera/EveCamera.js.map +1 -0
- package/dist/eve/child/EveChildAudio.js +63 -0
- package/dist/eve/child/EveChildAudio.js.map +1 -1
- package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
- package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
- package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +41 -3
- package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
- package/dist/eve/child/EveChildContainer.js +175 -16
- package/dist/eve/child/EveChildContainer.js.map +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
- package/dist/eve/child/EveChildFogVolume.js +72 -0
- package/dist/eve/child/EveChildFogVolume.js.map +1 -1
- package/dist/eve/child/EveChildInheritProperties.js +17 -0
- package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
- package/dist/eve/child/EveChildInstancedMeshes.js +211 -1
- package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
- package/dist/eve/child/EveChildLightingOverride.js +74 -0
- package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
- package/dist/{generated/eve → eve}/child/EveChildLink.js +17 -16
- package/dist/eve/child/EveChildLink.js.map +1 -0
- package/dist/eve/child/EveChildMesh.js +351 -105
- package/dist/eve/child/EveChildMesh.js.map +1 -1
- package/dist/eve/child/EveChildSpherePin.js +108 -0
- package/dist/eve/child/EveChildSpherePin.js.map +1 -0
- package/dist/eve/child/EveChildTransform.js +44 -1
- package/dist/eve/child/EveChildTransform.js.map +1 -1
- package/dist/eve/child/IEveSpaceObjectChild.js +5 -0
- package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
- package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
- package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
- package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
- package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
- package/dist/eve/child/behaviors/Wander.js +99 -0
- package/dist/eve/child/behaviors/Wander.js.map +1 -0
- package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
- package/dist/eve/child/behaviors/enums.js.map +1 -0
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
- package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +8 -2
- package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
- package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +9 -7
- package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
- package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
- package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
- package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +3 -3
- package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js +65 -0
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
- package/dist/eve/child/lineSetPaths/EveCircle.js +63 -0
- package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +24 -16
- package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +22 -19
- package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
- package/dist/eve/child/modifiers/EveChildModifierBooster.js +6 -0
- package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHalo.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +6 -0
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierSRT.js +5 -0
- package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +31 -17
- package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
- package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +16 -14
- package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +11 -4
- package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +12 -12
- package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +6 -6
- package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +12 -12
- package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +8 -8
- package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +17 -17
- package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +7 -7
- package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +7 -7
- package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
- package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +17 -17
- package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +132 -3
- package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +12 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +9 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +12 -1
- package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
- package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +16 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +31 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +34 -3
- package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +14 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +13 -2
- package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +19 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +25 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +17 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
- package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +20 -1
- package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
- package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +44 -2
- package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
- package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
- package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
- package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
- package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
- package/dist/eve/index.js +117 -47
- package/dist/eve/index.js.map +1 -1
- package/dist/eve/lights/CjsLightData.js +7 -0
- package/dist/eve/lights/CjsLightData.js.map +1 -1
- package/dist/eve/lights/Tr2Light.js +41 -0
- package/dist/eve/lights/Tr2Light.js.map +1 -1
- package/dist/eve/lights/Tr2PointLight.js +5 -0
- package/dist/eve/lights/Tr2PointLight.js.map +1 -1
- package/dist/eve/lights/Tr2SpotLight.js +5 -0
- package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
- package/dist/eve/lights/Tr2TexturedPointLight.js +10 -0
- package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
- package/dist/eve/lights/lightConversion.js +29 -27
- package/dist/eve/lights/lightConversion.js.map +1 -1
- package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +20 -1
- package/dist/eve/locator/EveLocator2.js.map +1 -0
- package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +43 -1
- package/dist/eve/locator/EveLocatorSets.js.map +1 -0
- package/dist/eve/{Locator.js → locator/Locator.js} +6 -1
- package/dist/eve/locator/Locator.js.map +1 -0
- package/dist/eve/{LocatorData.js → locator/LocatorData.js} +3 -1
- package/dist/eve/locator/LocatorData.js.map +1 -0
- package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
- package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
- package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +5 -5
- package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
- package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +5 -5
- package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
- package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +6 -6
- package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
- package/dist/{generated/eve/scene → eve/particles/static}/EveSceneStaticParticles.js +70 -36
- package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
- package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
- package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js +76 -0
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +85 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +91 -0
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +36 -0
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch.js +158 -9
- package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch2.js +121 -12
- package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch3.js +261 -8
- package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/eve/scene/EveSpaceScene.js +56 -6
- package/dist/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +24 -1
- package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
- package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +74 -2
- package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
- package/dist/eve/scene/picking/EvePickingContext.js +61 -0
- package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
- package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
- package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
- package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
- package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +19 -19
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +19 -19
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +12 -12
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +12 -12
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +30 -30
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +9 -9
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
- package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +23 -23
- package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
- package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +26 -1
- package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +17 -1
- package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +21 -5
- package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
- package/dist/eve/socket/EveSocketParameterFilePath.js +5 -5
- package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
- package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +17 -1
- package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +17 -1
- package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +42 -2
- package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
- package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +17 -1
- package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
- package/dist/eve/spaceObject/EveEffectRoot2.js +58 -31
- package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
- package/dist/eve/spaceObject/EveMissile.js +49 -1
- package/dist/eve/spaceObject/EveMissile.js.map +1 -1
- package/dist/eve/spaceObject/EveMissileWarhead.js +100 -1
- package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
- package/dist/eve/spaceObject/EveMobile.js +104 -0
- package/dist/eve/spaceObject/EveMobile.js.map +1 -1
- package/dist/eve/spaceObject/EveRootTransform.js +17 -0
- package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
- package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +32 -12
- package/dist/eve/spaceObject/EveShip2.js.map +1 -0
- package/dist/eve/spaceObject/EveSpaceObject2.js +726 -199
- package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/eve/spaceObject/EveTransform.js +100 -4
- package/dist/eve/spaceObject/EveTransform.js.map +1 -1
- package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
- package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
- package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
- package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
- package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
- package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
- package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
- package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
- package/dist/{generated/eve/spaceObject → eve/spaceObject/planet}/EvePlanet.js +2 -2
- package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
- package/dist/{generated/eve → eve}/spaceObject/swarm/EveSwarmRenderable.js +102 -64
- package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
- package/dist/eve/ui/EveEllipseDefinition.js +15 -0
- package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
- package/dist/eve/ui/EveEllipseSet.js +42 -0
- package/dist/eve/ui/EveEllipseSet.js.map +1 -1
- package/dist/{generated/eve → eve}/ui/EveSpherePin.js +76 -11
- package/dist/eve/ui/EveSpherePin.js.map +1 -0
- package/dist/eve/ui/EveSprite2dBracket.js +5 -0
- package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
- package/dist/eve/ui/EveUiObject.js +11 -0
- package/dist/eve/ui/EveUiObject.js.map +1 -1
- package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +67 -6
- package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
- package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
- package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
- package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +22 -2
- package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
- package/dist/eve/virtualCamera/EveVirtualCamera.js +152 -0
- package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +65 -0
- package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +19 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +29 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +15 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +38 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +17 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +18 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +11 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +14 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +16 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +20 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +36 -0
- package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +36 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +11 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +37 -0
- package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
- package/dist/eve/volume/EveBoxVolume.js +59 -0
- package/dist/eve/volume/EveBoxVolume.js.map +1 -1
- package/dist/eve/volume/EveEllipsoidVolume.js +54 -0
- package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
- package/dist/eve/volume/EveSphereVolume.js +34 -0
- package/dist/eve/volume/EveSphereVolume.js.map +1 -1
- package/dist/generated/eve/child/EveChildCloud2.js +138 -138
- package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/generated/eve/child/EveChildParticleSystem.js +10 -4
- package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/generated/eve/child/EveChildSocket.js +1 -1
- package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BackAndForth.js +14 -17
- package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js +2 -2
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +26 -29
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
- package/dist/generated/eve/child/behaviors/FollowASpline.js +13 -17
- package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
- package/dist/generated/eve/child/behaviors/PlayFX.js +14 -14
- package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
- package/dist/generated/eve/child/behaviors/index.js +0 -6
- package/dist/generated/eve/child/behaviors/index.js.map +1 -1
- package/dist/generated/eve/child/index.js +0 -23
- package/dist/generated/eve/child/index.js.map +1 -1
- package/dist/generated/eve/effect/index.js +0 -3
- package/dist/generated/eve/effect/index.js.map +1 -1
- package/dist/generated/eve/index.js +0 -88
- package/dist/generated/eve/index.js.map +1 -1
- package/dist/generated/eve/scene/index.js +0 -6
- package/dist/generated/eve/scene/index.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +20 -20
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
- package/dist/generated/eve/smartLights/index.js +0 -8
- package/dist/generated/eve/smartLights/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/index.js +0 -4
- package/dist/generated/eve/spaceObject/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +11 -11
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
- package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
- package/dist/generated/eve/ui/index.js +0 -4
- package/dist/generated/eve/ui/index.js.map +1 -1
- package/dist/generated/index.js +0 -93
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/trinityCore/index.js +0 -5
- package/dist/generated/trinityCore/index.js.map +1 -1
- package/dist/index.js +130 -155
- package/dist/index.js.map +1 -1
- package/dist/particle/Tr2GpuSharedEmitter.js +39 -0
- package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/particle/Tr2GpuUniqueEmitter.js +5 -0
- package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
- package/dist/particle/Tr2ParticleAttractorForce.js +10 -0
- package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDirectForce.js +7 -0
- package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
- package/dist/particle/Tr2ParticleDragForce.js +7 -0
- package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleElementDeclaration.js +5 -0
- package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
- package/dist/particle/Tr2ParticleFluidDragForce.js +10 -0
- package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
- package/dist/particle/Tr2ParticleSpring.js +10 -0
- package/dist/particle/Tr2ParticleSpring.js.map +1 -1
- package/dist/particle/Tr2ParticleVortexForce.js +10 -0
- package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
- package/dist/particle/particleElementBinding.js +12 -0
- package/dist/particle/particleElementBinding.js.map +1 -1
- package/dist/postProcess/Tr2PPBloomEffect.js +6 -0
- package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +16 -0
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPGenericEffect.js +7 -0
- package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTaaEffect.js +10 -0
- package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTonemappingEffect.js +5 -0
- package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess.js +5 -0
- package/dist/postProcess/Tr2PostProcess.js.map +1 -1
- package/dist/postProcess/Tr2PostProcess2.js +147 -0
- package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
- package/dist/postProcess/Tr2PostProcessAttributes.js +89 -0
- package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
- package/dist/renderJob/Tr2RenderJobs.js +34 -0
- package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
- package/dist/renderJob/TriRenderJob.js +59 -0
- package/dist/renderJob/TriRenderJob.js.map +1 -1
- package/dist/renderJob/TriRenderStep.js +20 -0
- package/dist/renderJob/TriRenderStep.js.map +1 -1
- package/dist/renderJob/TriStepClear.js +18 -0
- package/dist/renderJob/TriStepClear.js.map +1 -1
- package/dist/renderJob/TriStepCopyRenderTarget.js +51 -0
- package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepEnableWireframeMode.js +9 -0
- package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
- package/dist/renderJob/TriStepGenerateMipMaps.js +9 -0
- package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
- package/dist/renderJob/TriStepPopDepthStencil.js +6 -0
- package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPopProjection.js +6 -0
- package/dist/renderJob/TriStepPopProjection.js.map +1 -1
- package/dist/renderJob/TriStepPopRenderTarget.js +12 -0
- package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPopViewTransform.js +6 -0
- package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPopViewport.js +6 -0
- package/dist/renderJob/TriStepPopViewport.js.map +1 -1
- package/dist/renderJob/TriStepPresentSwapChain.js +12 -0
- package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
- package/dist/renderJob/TriStepPushDepthStencil.js +17 -0
- package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepPushProjection.js +6 -0
- package/dist/renderJob/TriStepPushProjection.js.map +1 -1
- package/dist/renderJob/TriStepPushRenderTarget.js +9 -0
- package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepPushViewTransform.js +6 -0
- package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
- package/dist/renderJob/TriStepPushViewport.js +6 -0
- package/dist/renderJob/TriStepPushViewport.js.map +1 -1
- package/dist/renderJob/TriStepRemoteSync.js +17 -0
- package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
- package/dist/renderJob/TriStepResolve.js +13 -0
- package/dist/renderJob/TriStepResolve.js.map +1 -1
- package/dist/renderJob/TriStepRunJob.js +12 -0
- package/dist/renderJob/TriStepRunJob.js.map +1 -1
- package/dist/renderJob/TriStepSetDepthStencil.js +12 -0
- package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
- package/dist/renderJob/TriStepSetProjection.js +14 -0
- package/dist/renderJob/TriStepSetProjection.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderState.js +20 -0
- package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
- package/dist/renderJob/TriStepSetRenderTarget.js +12 -0
- package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
- package/dist/renderJob/TriStepSetStdRndStates.js +18 -0
- package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
- package/dist/renderJob/TriStepSetView.js +29 -2
- package/dist/renderJob/TriStepSetView.js.map +1 -1
- package/dist/renderJob/TriStepSetViewport.js +17 -0
- package/dist/renderJob/TriStepSetViewport.js.map +1 -1
- package/dist/renderJob/TriStepSetVisualizationMode.js +19 -0
- package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
- package/dist/shader/Tr2Effect.js +217 -2
- package/dist/shader/Tr2Effect.js.map +1 -1
- package/dist/shader/Tr2Material.js +41 -0
- package/dist/shader/Tr2Material.js.map +1 -1
- package/dist/shader/index.js +1 -11
- package/dist/shader/index.js.map +1 -1
- package/dist/shader/material/Tr2EffectLibraryParameters.js +7 -0
- package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
- package/dist/shader/material/Tr2EffectPassParameters.js +23 -0
- package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
- package/dist/shader/material/Tr2MaterialStageInput.js +15 -0
- package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
- package/dist/shader/parameter/CjsParameter.js +94 -0
- package/dist/shader/parameter/CjsParameter.js.map +1 -1
- package/dist/shader/parameter/CjsVectorParameter.js +20 -0
- package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2FloatParameter.js +53 -0
- package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js +39 -0
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Matrix4Parameter.js +54 -0
- package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +54 -0
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js +35 -0
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector2Parameter.js +86 -0
- package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector3Parameter.js +95 -0
- package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector4Parameter.js +105 -0
- package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
- package/dist/shader/parameter/TriFloatArrayParameter.js +26 -0
- package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
- package/dist/shader/parameter/TriTextureParameter.js +84 -0
- package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
- package/dist/shader/parameter/TriTransformParameter.js +2 -0
- package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
- package/dist/shader/parameter/TriVariableParameter.js +38 -0
- package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
- package/dist/shader/parameter/TriVector4.js +2 -0
- package/dist/shader/parameter/TriVector4.js.map +1 -1
- package/dist/shader/reflection/Tr2ShaderOption.js +6 -1
- package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
- package/dist/shader/support/CjsVariableStore.js +140 -0
- package/dist/shader/support/CjsVariableStore.js.map +1 -1
- package/dist/shader/support/Tr2ShaderBuffer.js +15 -0
- package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
- package/dist/trinityCore/CjsBatchManager.js +62 -2
- package/dist/trinityCore/CjsBatchManager.js.map +1 -1
- package/dist/trinityCore/GrannyBoneOffset.js +51 -0
- package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
- package/dist/trinityCore/ITriRenderBatchAccumulator.js +65 -3
- package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/Tr2DirectInstanceData.js +19 -0
- package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2ExpressionTermInfo.js +21 -0
- package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
- package/dist/trinityCore/Tr2GpuBuffer.js +5 -0
- package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
- package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +137 -8
- package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
- package/dist/trinityCore/Tr2InstancedMesh.js +52 -0
- package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
- package/dist/trinityCore/Tr2MaterialParameterStore.js +5 -0
- package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
- package/dist/trinityCore/Tr2Mesh.js +37 -0
- package/dist/trinityCore/Tr2Mesh.js.map +1 -1
- package/dist/trinityCore/Tr2MeshArea.js +78 -0
- package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
- package/dist/trinityCore/Tr2MeshBase.js +98 -2
- package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
- package/dist/trinityCore/Tr2PerObjectData.js +10 -0
- package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
- package/dist/trinityCore/Tr2PickType.js +33 -0
- package/dist/trinityCore/Tr2PickType.js.map +1 -0
- package/dist/trinityCore/Tr2RenderBatch.js +137 -0
- package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
- package/dist/trinityCore/Tr2RenderContext.js +271 -0
- package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
- package/dist/trinityCore/Tr2RuntimeInstanceData.js +179 -0
- package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinityCore/Tr2ShLightingManager.js +397 -0
- package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
- package/dist/trinityCore/Tr2VariableStore.js +26 -0
- package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
- package/dist/trinityCore/Tr2VisibilityResults.js +5 -0
- package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
- package/dist/trinityCore/TriDevice.js +5 -0
- package/dist/trinityCore/TriDevice.js.map +1 -1
- package/dist/trinityCore/TriFrustum.js +21 -14
- package/dist/trinityCore/TriFrustum.js.map +1 -1
- package/dist/trinityCore/TriObserverLocal.js +43 -0
- package/dist/trinityCore/TriObserverLocal.js.map +1 -1
- package/dist/trinityCore/TriProjection.js +86 -32
- package/dist/trinityCore/TriProjection.js.map +1 -1
- package/dist/trinityCore/TriRect.js +12 -0
- package/dist/trinityCore/TriRect.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchAccumulator.js +46 -0
- package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchMap.js +39 -2
- package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
- package/dist/trinityCore/TriSettings.js +38 -0
- package/dist/trinityCore/TriSettings.js.map +1 -1
- package/dist/trinityCore/TriVariable.js +30 -0
- package/dist/trinityCore/TriVariable.js.map +1 -1
- package/dist/trinityCore/TriView.js +16 -1
- package/dist/trinityCore/TriView.js.map +1 -1
- package/dist/trinityCore/TriViewport.js +12 -0
- package/dist/trinityCore/TriViewport.js.map +1 -1
- package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +1 -1
- package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
- package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
- package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
- package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
- package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
- package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +30 -6
- package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
- package/dist/trinityCore/binding/TriValueBinding.js +648 -0
- package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
- package/dist/trinityCore/index.js +11 -4
- package/dist/trinityCore/index.js.map +1 -1
- package/dist/trinityCore/pickRay.js +84 -0
- package/dist/trinityCore/pickRay.js.map +1 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +931 -0
- package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
- package/dist/trinityCore/rawData/RawData.js +294 -38
- package/dist/trinityCore/rawData/RawData.js.map +1 -1
- package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
- package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
- package/dist/utilities/Range.js +53 -0
- package/dist/utilities/Range.js.map +1 -1
- package/docs/README.md +88 -0
- package/docs/architecture.md +162 -0
- package/docs/concepts/eve-runtime-behavior.md +86 -0
- package/docs/concepts/generated-class-lifecycle.md +116 -0
- package/docs/reference/api.md +76 -0
- package/docs/reference/classes/eve-runtime.md +106 -0
- package/docs/reference/classes/trinity-core.md +26 -0
- package/docs/reference/implementation-status.md +104 -0
- package/docs/reference/main-semantic-extraction.md +104 -0
- package/package.json +33 -24
- package/dist/eve/DecalVSPerObjectData.js +0 -34
- package/dist/eve/DecalVSPerObjectData.js.map +0 -1
- package/dist/eve/EveBannerItem.js +0 -43
- package/dist/eve/EveBannerItem.js.map +0 -1
- package/dist/eve/EveBannerLight.js.map +0 -1
- package/dist/eve/EveBannerSet.js +0 -190
- package/dist/eve/EveBannerSet.js.map +0 -1
- package/dist/eve/EveBasicPerObjectData.js +0 -31
- package/dist/eve/EveBasicPerObjectData.js.map +0 -1
- package/dist/eve/EveBoosterSet2.js.map +0 -1
- package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
- package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
- package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
- package/dist/eve/EveHazeSet.js.map +0 -1
- package/dist/eve/EveHazeSetLight.js.map +0 -1
- package/dist/eve/EveLocator2.js.map +0 -1
- package/dist/eve/EveLocatorSets.js.map +0 -1
- package/dist/eve/EveParticleDirectForce.js.map +0 -1
- package/dist/eve/EveParticleDragForce.js.map +0 -1
- package/dist/eve/EveParticleSpring.js.map +0 -1
- package/dist/eve/EvePerObjectPSData.js +0 -29
- package/dist/eve/EvePerObjectPSData.js.map +0 -1
- package/dist/eve/EvePerObjectVSData.js +0 -29
- package/dist/eve/EvePerObjectVSData.js.map +0 -1
- package/dist/eve/EvePlaneLight.js.map +0 -1
- package/dist/eve/EvePlaneSet.js.map +0 -1
- package/dist/eve/EvePlaneSetItem.js +0 -45
- package/dist/eve/EvePlaneSetItem.js.map +0 -1
- package/dist/eve/EveSpaceObjectAttachmentUtils.js.map +0 -1
- package/dist/eve/EveSpaceObjectDecal.js +0 -150
- package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
- package/dist/eve/EveSpaceObjectPSData.js +0 -73
- package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
- package/dist/eve/EveSpaceObjectVSData.js +0 -79
- package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
- package/dist/eve/EveSpacePerObjectData.js +0 -97
- package/dist/eve/EveSpacePerObjectData.js.map +0 -1
- package/dist/eve/EveSpherePinPerObjectData.js +0 -37
- package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
- package/dist/eve/EveSpotlightLight.js.map +0 -1
- package/dist/eve/EveSpotlightSet.js.map +0 -1
- package/dist/eve/EveSpriteLight.js.map +0 -1
- package/dist/eve/EveSpriteLineSet.js.map +0 -1
- package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
- package/dist/eve/EveSpriteSet.js.map +0 -1
- package/dist/eve/EveTrailsSet.js.map +0 -1
- package/dist/eve/Locator.js.map +0 -1
- package/dist/eve/LocatorData.js.map +0 -1
- package/dist/eve/ProcessLifetimeData.js.map +0 -1
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
- package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
- package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
- package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
- package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
- package/dist/generated/eve/EveCamera.js +0 -264
- package/dist/generated/eve/EveCamera.js.map +0 -1
- package/dist/generated/eve/EveEntity.js +0 -81
- package/dist/generated/eve/EveEntity.js.map +0 -1
- package/dist/generated/eve/attachment/decal/index.js +0 -2
- package/dist/generated/eve/attachment/decal/index.js.map +0 -1
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
- package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/haze/index.js +0 -2
- package/dist/generated/eve/attachment/haze/index.js.map +0 -1
- package/dist/generated/eve/attachment/index.js +0 -5
- package/dist/generated/eve/attachment/index.js.map +0 -1
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
- package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/spotlights/index.js +0 -2
- package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
- package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
- package/dist/generated/eve/attachment/sprites/index.js +0 -2
- package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/enums.js +0 -32
- package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/index.js +0 -2
- package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
- package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
- package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
- package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
- package/dist/generated/eve/child/EveChildLink.js.map +0 -1
- package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
- package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
- package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
- package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
- package/dist/generated/eve/child/behaviors/Wander.js +0 -92
- package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
- package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
- package/dist/generated/eve/child/modifiers/index.js +0 -5
- package/dist/generated/eve/child/modifiers/index.js.map +0 -1
- package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
- package/dist/generated/eve/child/procedural/index.js +0 -10
- package/dist/generated/eve/child/procedural/index.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
- package/dist/generated/eve/child/procedural/selection/index.js +0 -9
- package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
- package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
- package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
- package/dist/generated/eve/distribution/index.js +0 -19
- package/dist/generated/eve/distribution/index.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
- package/dist/generated/eve/distribution/placement/index.js +0 -4
- package/dist/generated/eve/distribution/placement/index.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
- package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
- package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
- package/dist/generated/eve/distribution/spawners/index.js +0 -7
- package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
- package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
- package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
- package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
- package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
- package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
- package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
- package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
- package/dist/generated/eve/fxAttributes/index.js +0 -3
- package/dist/generated/eve/fxAttributes/index.js.map +0 -1
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
- package/dist/generated/eve/overlays/index.js +0 -2
- package/dist/generated/eve/overlays/index.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
- package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
- package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
- package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
- package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/index.js +0 -5
- package/dist/generated/eve/perObjectData/index.js.map +0 -1
- package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
- package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
- package/dist/generated/eve/scene/EvePickingContext.js +0 -43
- package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
- package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
- package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
- package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
- package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
- package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
- package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
- package/dist/generated/eve/socket/index.js +0 -10
- package/dist/generated/eve/socket/index.js.map +0 -1
- package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
- package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
- package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
- package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
- package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
- package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
- package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
- package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
- package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
- package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
- package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
- package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
- package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
- package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
- package/dist/generated/trinityCore/TriValueBinding.js +0 -249
- package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
- package/dist/shader/Tr2Shader.js +0 -150
- package/dist/shader/Tr2Shader.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
- package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
- package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
- package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
- package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
- package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectResource.js +0 -63
- package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
- package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
- package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
- package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
- package/dist/shader/reflection/Tr2Pass.js +0 -46
- package/dist/shader/reflection/Tr2Pass.js.map +0 -1
- package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
- package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
- package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
- package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
- package/dist/trinityCore/rawData/RawDataStore.js +0 -232
- package/dist/trinityCore/rawData/RawDataStore.js.map +0 -1
- /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
- /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
|
@@ -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":";;;;;;;AAOA;AAAA,IAAAA;AACA,MAAAC,uBAAA,SAC6CC,QAAQ,CACrD;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,GAAAC,gBAAA,EAAAC,sBAAA,EAAAC,wBAAA,EAAAC,8BAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,mBAAA,EAAAC,yBAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,uBAAA,EAAAC,6BAAA,EAAAC,uBAAA,EAAAC,6BAAA,CAAA;MAAAC,CAAA,EAAA,CAAAxB,qBAAA,EAAAyB,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,yBAAyB;AAAEC,MAAAA,MAAM,EAAE;AAAS,KAAC,CAAC,CAAA,EAAA,CAAA,CAKrEH,IAAI,CAACI,SAAS,CAAC,uBAAuB,CAAC,EAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAIvCJ,IAAI,CAACK,IAAI,CAAC,gBAAgB,CAAC,EAAA,CAAA,EAAA,oBAAA,CAAA,EAAA,CAI3BL,IAAI,CAACI,SAAS,CAAC,6BAA6B,CAAC,0BAI7CJ,IAAI,CAACI,SAAS,CAAC,kBAAkB,CAAC,EAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAIlCJ,IAAI,CAACK,IAAI,CAAC,iBAAiB,CAAC,EAAA,CAAA,EAAA,eAAA,CAAA,EAAA,CAI5BL,IAAI,CAACI,SAAS,CAAC,wBAAwB,CAAC,EAAA,CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAIxCJ,IAAI,EAAJA,IAAI,CAACM,MAAM,6BAIXN,IAAI,EAAJA,IAAI,CAACO,OAAO,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAIZP,IAAI,EAAJA,IAAI,CAACO,OAAO,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAIZP,IAAI,EAAJA,IAAI,CAACO,OAAO,yCAxC8BhC,QAAQ,CAAA;AAAA;AAAAiC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAb,6BAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAGnD;AAEAc,EAAAA,UAAU,GAAAjC,gBAAA,CAAA,IAAA,EAAGkC,KAAK,CAACC,IAAI,CAAC;AAAEC,IAAAA,MAAM,EAAE;AAAE,GAAC,EAAE,MAAM,IAAIC,qBAAqB,EAAE,CAAC,CAAA;;AAEzE;AAEAC,EAAAA,kBAAkB,IAAArC,sBAAA,CAAA,IAAA,CAAA,EAAAC,wBAAA,OAAG,EAAE,CAAA;;AAEvB;AAEAqC,EAAAA,eAAe,IAAApC,8BAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,OAAG,IAAI,CAAA;;AAEtB;AAEAoC,EAAAA,WAAW,IAAAnC,2BAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,IAAI,CAAA;;AAElB;AAEAmC,EAAAA,aAAa,IAAAlC,uBAAA,CAAA,IAAA,CAAA,EAAAC,mBAAA,OAAG,EAAE,CAAA;;AAElB;AAEAkC,EAAAA,YAAY,IAAAjC,yBAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,IAAI,CAAA;;AAEnB;AAEAiC,EAAAA,eAAe,IAAAhC,wBAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,OAAG,CAAC,CAAA;;AAEnB;AAEAgC,EAAAA,gBAAgB,IAAA/B,2BAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,IAAI,CAAA;;AAEvB;AAEA+B,EAAAA,iBAAiB,IAAA9B,4BAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,OAAG,IAAI,CAAA;;AAExB;AAEA8B,EAAAA,iBAAiB,IAAA7B,6BAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,OAAG,KAAK,CAAA;
|
|
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":";;;;;;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;;AAErB;AACF;AACA;AACA;AACEsB,EAAAA,iBAAiBA,CAACC,IAAI,GAAG,CAAC,EAC1B;AACE,IAAA,MAAMC,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEC,MAAM,CAACJ,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,IAAA,MAAMK,WAAW,GAAGJ,QAAQ,GAAG,EAAE,GAAGA,QAAQ,GAAG,EAAE,GAAGA,QAAQ,GAAG,EAAE,GAAGA,QAAQ;IAC5E,IAAI,CAACH,cAAc,GAAGO,WAAW,GAAG,IAAIC,UAAU,CAACD,WAAW,CAAC,GAAG,IAAI;AACtE,IAAA,IAAI,CAACd,mBAAmB,GAAGc,WAAW,GAAG,CAAC;AAC5C,EAAA;;AAEA;AACF;AACA;AACA;AACEE,EAAAA,uBAAuBA,CAACC,QAAQ,EAAER,IAAI,GAAGQ,QAAQ,EAAEC,UAAU,IAAID,QAAQ,EAAEE,MAAM,IAAI,CAAC,EACtF;AACE,IAAA,MAAMT,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEC,MAAM,CAACJ,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,IAAA,IAAI,CAACF,cAAc,GAAGG,QAAQ,GAAGzC,qBAAqB,CAACmD,SAAS,CAACH,QAAQ,EAAEP,QAAQ,CAAC,GAAG,IAAI;IAC3F,IAAI,CAACV,mBAAmB,GAAG,KAAK;AAClC,EAAA;;AAEA;AACF;AACA;AACA;AACE,EAAA,OAAOoB,SAASA,CAACH,QAAQ,EAAER,IAAI,EAC/B;AACE,IAAA,MAAMY,GAAG,GAAG,IAAIN,UAAU,CAACN,IAAI,CAAC;IAChC,IAAIQ,QAAQ,YAAYK,WAAW,EACnC;MACED,GAAG,CAACE,GAAG,CAAC,IAAIR,UAAU,CAACE,QAAQ,EAAE,CAAC,EAAEN,IAAI,CAACa,GAAG,CAACf,IAAI,EAAEQ,QAAQ,CAACC,UAAU,CAAC,CAAC,CAAC;IAC3E,CAAC,MACI,IAAII,WAAW,CAACG,MAAM,CAACR,QAAQ,CAAC,EACrC;MACEI,GAAG,CAACE,GAAG,CAAC,IAAIR,UAAU,CAACE,QAAQ,CAACS,MAAM,EAAET,QAAQ,CAACU,UAAU,EAAEhB,IAAI,CAACa,GAAG,CAACf,IAAI,EAAEQ,QAAQ,CAACC,UAAU,CAAC,CAAC,CAAC;IACpG,CAAC,MACI,IAAID,QAAQ,IAAI,OAAOA,QAAQ,CAACE,MAAM,KAAK,QAAQ,EACxD;AACEE,MAAAA,GAAG,CAACE,GAAG,CAACK,KAAK,CAACC,IAAI,CAACZ,QAAQ,CAAC,CAACa,KAAK,CAAC,CAAC,EAAErB,IAAI,CAAC,CAAC;AAC9C,IAAA;AACA,IAAA,OAAOY,GAAG;AACZ,EAAA;AAAC,EAAA;IAAAhC,UAAA,EAAA;AAAA;AAEH;;;;"}
|
|
@@ -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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"}
|