@carbonenginejs/runtime-trinity 0.4.0 → 0.5.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 +139 -7
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +1 -1
- package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
- package/dist/controllers/Tr2BindingPoint.js +1 -1
- package/dist/controllers/Tr2BindingPoint.js.map +1 -1
- package/dist/controllers/Tr2ControllerExpression.js +7 -7
- package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
- package/dist/curves/CjsGrannyCurves.js +119 -5
- package/dist/curves/CjsGrannyCurves.js.map +1 -1
- package/dist/curves/Tr2BoneMatrixCurve.js +59 -4
- package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
- package/dist/curves/Tr2CurveRandomAxisRotation.js +4 -3
- package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/curves/Tr2GrannyTrack.js +1 -1
- package/dist/curves/Tr2GrannyTrack.js.map +1 -1
- package/dist/curves/Tr2MatrixKey.js +1 -1
- package/dist/curves/Tr2MatrixKey.js.map +1 -1
- package/dist/curves/Tr2ScalarExprKey.js +106 -103
- package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
- package/dist/curves/TriColorSequencer.js +86 -0
- package/dist/curves/TriColorSequencer.js.map +1 -0
- package/dist/curves/TriEventCurve.js +1 -1
- package/dist/curves/TriEventCurve.js.map +1 -1
- package/dist/curves/TriPerlinCurve.js +2 -49
- package/dist/curves/TriPerlinCurve.js.map +1 -1
- package/dist/curves/TriVectorSequencer.js +103 -0
- package/dist/curves/TriVectorSequencer.js.map +1 -0
- package/dist/curves/index.js +2 -0
- package/dist/curves/index.js.map +1 -1
- package/dist/eve/AudioGameObject.js +121 -0
- package/dist/eve/AudioGameObject.js.map +1 -0
- package/dist/eve/CjsDistributionRandom.js +39 -0
- package/dist/eve/CjsDistributionRandom.js.map +1 -0
- package/dist/eve/EveBannerItem.js +6 -2
- package/dist/eve/EveBannerItem.js.map +1 -1
- package/dist/eve/EveBannerLight.js +9 -12
- package/dist/eve/EveBannerLight.js.map +1 -1
- package/dist/eve/EveBannerSet.js +21 -1
- package/dist/eve/EveBannerSet.js.map +1 -1
- package/dist/eve/EveBoosterSet2.js +20 -2
- package/dist/eve/EveBoosterSet2.js.map +1 -1
- package/dist/eve/EveComponentTypes.js +116 -0
- package/dist/eve/EveComponentTypes.js.map +1 -0
- package/dist/eve/EveHazeSet.js +19 -1
- package/dist/eve/EveHazeSet.js.map +1 -1
- package/dist/eve/EveHazeSetLight.js +9 -12
- package/dist/eve/EveHazeSetLight.js.map +1 -1
- package/dist/eve/EveParticleDirectForce.js +25 -0
- package/dist/eve/EveParticleDirectForce.js.map +1 -0
- package/dist/eve/EveParticleDragForce.js +25 -0
- package/dist/eve/EveParticleDragForce.js.map +1 -0
- package/dist/eve/EveParticleSpring.js +26 -0
- package/dist/eve/EveParticleSpring.js.map +1 -0
- package/dist/eve/EvePlaneLight.js +9 -15
- package/dist/eve/EvePlaneLight.js.map +1 -1
- package/dist/eve/EvePlaneSet.js +20 -1
- package/dist/eve/EvePlaneSet.js.map +1 -1
- package/dist/eve/EvePlaneSetItem.js +1 -1
- package/dist/eve/EvePlaneSetItem.js.map +1 -1
- package/dist/eve/EveSpaceObjectDecal.js +1 -1
- package/dist/eve/EveSpaceObjectDecal.js.map +1 -1
- package/dist/eve/EveSpacePerObjectData.js +14 -4
- package/dist/eve/EveSpacePerObjectData.js.map +1 -1
- package/dist/eve/EveSpotlightLight.js +9 -12
- package/dist/eve/EveSpotlightLight.js.map +1 -1
- package/dist/eve/EveSpotlightSet.js +19 -1
- package/dist/eve/EveSpotlightSet.js.map +1 -1
- package/dist/eve/EveSpriteLight.js +9 -15
- package/dist/eve/EveSpriteLight.js.map +1 -1
- package/dist/eve/EveSpriteLineSet.js +19 -1
- package/dist/eve/EveSpriteLineSet.js.map +1 -1
- package/dist/eve/EveSpriteLineSetItem.js +1 -1
- package/dist/eve/EveSpriteLineSetItem.js.map +1 -1
- package/dist/eve/EveSpriteSet.js +19 -1
- package/dist/eve/EveSpriteSet.js.map +1 -1
- package/dist/eve/EveTrailsSet.js +1 -1
- package/dist/eve/EveTrailsSet.js.map +1 -1
- package/dist/eve/EveUpdateContext.js +195 -31
- package/dist/eve/EveUpdateContext.js.map +1 -1
- package/dist/eve/Locator.js +2 -2
- package/dist/eve/Locator.js.map +1 -1
- package/dist/eve/attachment/decal/DecalMeshCache.js +47 -0
- package/dist/eve/attachment/decal/DecalMeshCache.js.map +1 -0
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js +424 -0
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -0
- package/dist/eve/attachment/turrets/EveTurretSet.js +788 -0
- package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -0
- package/dist/{generated/eve → eve}/attachment/turrets/EveTurretSetPSData.js +6 -4
- package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +1 -0
- package/dist/{generated/eve → eve}/attachment/turrets/EveTurretSetVSData.js +12 -8
- package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +1 -0
- package/dist/eve/attachment/turrets/EveTurretTarget.js +216 -0
- package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -0
- package/dist/eve/child/EveChildAudio.js +89 -0
- package/dist/eve/child/EveChildAudio.js.map +1 -0
- package/dist/eve/child/EveChildContainer.js +540 -14
- package/dist/eve/child/EveChildContainer.js.map +1 -1
- package/dist/eve/child/EveChildEffectPropagator.js +600 -0
- package/dist/eve/child/EveChildEffectPropagator.js.map +1 -0
- package/dist/eve/child/EveChildFogVolume.js +183 -0
- package/dist/eve/child/EveChildFogVolume.js.map +1 -0
- package/dist/{generated/eve → eve}/child/EveChildInstanceTransform.js +1 -1
- package/dist/eve/child/EveChildInstanceTransform.js.map +1 -0
- package/dist/eve/child/EveChildInstancedMeshes.js +45 -3
- package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
- package/dist/eve/child/EveChildLightingOverride.js +159 -0
- package/dist/eve/child/EveChildLightingOverride.js.map +1 -0
- package/dist/eve/child/EveChildMesh.js +571 -13
- package/dist/eve/child/EveChildMesh.js.map +1 -1
- package/dist/eve/child/EveChildTransform.js +39 -24
- package/dist/eve/child/EveChildTransform.js.map +1 -1
- package/dist/{generated/eve → eve}/child/EveCloudVolumeBall.js +1 -1
- package/dist/eve/child/EveCloudVolumeBall.js.map +1 -0
- package/dist/{generated/eve → eve}/child/behaviors/DroneAgent.js +1 -1
- package/dist/eve/child/behaviors/DroneAgent.js.map +1 -0
- package/dist/{generated/eve → eve}/child/behaviors/SplineTunnel.js +1 -1
- package/dist/eve/child/behaviors/SplineTunnel.js.map +1 -0
- package/dist/{generated/eve → eve}/child/behaviors/SplineTunnelPoint.js +1 -1
- package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +1 -0
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js +2 -1
- package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
- package/dist/eve/child/lineSetPaths/EveCircle.js +2 -1
- package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierBooster.js +6 -4
- package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +3 -2
- package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +5 -3
- package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierSRT.js +6 -4
- package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
- package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js +7 -2
- package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js.map +1 -1
- package/dist/{generated/eve → eve}/distribution/attributeModifiers/InitialPlacement.js +1 -1
- package/dist/eve/distribution/attributeModifiers/InitialPlacement.js.map +1 -0
- package/dist/eve/index.js +49 -1
- package/dist/eve/index.js.map +1 -1
- package/dist/{generated/eve/lights/LightData.js → eve/lights/CjsLightData.js} +59 -44
- package/dist/eve/lights/CjsLightData.js.map +1 -0
- package/dist/{generated/eve → eve}/lights/LightFeatures.js +1 -1
- package/dist/eve/lights/LightFeatures.js.map +1 -0
- package/dist/eve/lights/Tr2Light.js +30 -38
- package/dist/eve/lights/Tr2Light.js.map +1 -1
- package/dist/eve/lights/Tr2PointLight.js +37 -15
- package/dist/eve/lights/Tr2PointLight.js.map +1 -1
- package/dist/eve/lights/Tr2SpotLight.js +41 -15
- package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
- package/dist/eve/lights/Tr2TexturedPointLight.js +10 -31
- package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
- package/dist/eve/perObjectData/DecalPSPerObjectData.js +56 -0
- package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +1 -0
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +31 -0
- package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
- package/dist/{generated/eve → eve}/perObjectData/EveTurretSetPerObjectData.js +5 -3
- package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
- package/dist/{generated/eve → eve}/perObjectData/MergeMorphsConstantBuffer.js +1 -1
- package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +1 -0
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js +129 -0
- package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -0
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +127 -0
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -0
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +200 -0
- package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -0
- package/dist/eve/{EveRemotePositionCurve.js → renderable/stretch/EveRemotePositionCurve.js} +2 -2
- package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -0
- package/dist/eve/renderable/stretch/EveStretch.js +293 -0
- package/dist/eve/renderable/stretch/EveStretch.js.map +1 -0
- package/dist/eve/renderable/stretch/EveStretch2.js +188 -0
- package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -0
- package/dist/eve/renderable/stretch/EveStretch3.js +335 -0
- package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -0
- package/dist/eve/scene/EveSpaceScene.js +475 -21
- package/dist/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/eve/socket/EveSocketParameterFilePath.js +26 -0
- package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -0
- package/dist/eve/spaceObject/EveEffectRoot2.js +690 -0
- package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -0
- package/dist/eve/spaceObject/EveMissile.js +165 -0
- package/dist/eve/spaceObject/EveMissile.js.map +1 -0
- package/dist/eve/spaceObject/EveMissileWarhead.js +318 -0
- package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -0
- package/dist/eve/spaceObject/EveMobile.js +292 -0
- package/dist/eve/spaceObject/EveMobile.js.map +1 -0
- package/dist/eve/spaceObject/EveRootTransform.js +182 -0
- package/dist/eve/spaceObject/EveRootTransform.js.map +1 -0
- package/dist/eve/spaceObject/EveSpaceObject2.js +743 -15
- package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/eve/spaceObject/EveTransform.js +264 -0
- package/dist/eve/spaceObject/EveTransform.js.map +1 -0
- package/dist/{generated/eve → eve}/spaceObject/swarm/SwarmVehicle.js +1 -1
- package/dist/eve/spaceObject/swarm/SwarmVehicle.js.map +1 -0
- package/dist/{generated/eve → eve}/spaceObject/swarm/SwarmVehicleDebug.js +1 -1
- package/dist/eve/spaceObject/swarm/SwarmVehicleDebug.js.map +1 -0
- package/dist/{generated/eve → eve}/ui/EveEllipseDefinition.js +17 -16
- package/dist/eve/ui/EveEllipseDefinition.js.map +1 -0
- package/dist/{generated/eve → eve}/ui/EveEllipseSet.js +42 -32
- package/dist/eve/ui/EveEllipseSet.js.map +1 -0
- package/dist/eve/ui/EveSprite2dBracket.js +75 -0
- package/dist/eve/ui/EveSprite2dBracket.js.map +1 -0
- package/dist/eve/ui/EveUiObject.js +58 -0
- package/dist/eve/ui/EveUiObject.js.map +1 -0
- package/dist/eve/volume/EveBoxVolume.js +47 -1
- package/dist/eve/volume/EveBoxVolume.js.map +1 -1
- package/dist/eve/volume/EveEllipsoidVolume.js +28 -1
- package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
- package/dist/eve/volume/EveSphereVolume.js +24 -1
- package/dist/eve/volume/EveSphereVolume.js.map +1 -1
- package/dist/generated/{trinityCore → curves}/Tr2VectorFunctionModifier.js +2 -2
- package/dist/generated/curves/Tr2VectorFunctionModifier.js.map +1 -0
- package/dist/generated/curves/index.js +1 -3
- package/dist/generated/curves/index.js.map +1 -1
- package/dist/generated/eve/EveCamera.js +100 -21
- package/dist/generated/eve/EveCamera.js.map +1 -1
- package/dist/generated/eve/EveEntity.js +59 -12
- package/dist/generated/eve/EveEntity.js.map +1 -1
- package/dist/generated/eve/attachment/decal/index.js +1 -1
- package/dist/generated/eve/attachment/index.js +0 -6
- package/dist/generated/eve/attachment/index.js.map +1 -1
- package/dist/generated/eve/attachment/turrets/enums.js.map +1 -1
- package/dist/generated/eve/attachment/turrets/index.js +0 -5
- package/dist/generated/eve/attachment/turrets/index.js.map +1 -1
- package/dist/generated/eve/child/EveChildBehaviorSystem.js +319 -7
- package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +1 -1
- package/dist/generated/eve/child/EveChildBulletStorm.js +67 -13
- package/dist/generated/eve/child/EveChildBulletStorm.js.map +1 -1
- package/dist/generated/eve/child/EveChildCloud2.js +88 -5
- package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/generated/eve/child/EveChildExplosion.js +116 -13
- package/dist/generated/eve/child/EveChildExplosion.js.map +1 -1
- package/dist/generated/eve/child/EveChildInstanceContainer.js +42 -8
- package/dist/generated/eve/child/EveChildInstanceContainer.js.map +1 -1
- package/dist/generated/eve/child/EveChildLineSet.js +3 -3
- package/dist/generated/eve/child/EveChildLineSet.js.map +1 -1
- package/dist/generated/eve/child/EveChildLink.js +218 -36
- package/dist/generated/eve/child/EveChildLink.js.map +1 -1
- package/dist/generated/eve/child/EveChildParticleSphere.js +40 -4
- package/dist/generated/eve/child/EveChildParticleSphere.js.map +1 -1
- package/dist/generated/eve/child/EveChildParticleSystem.js +282 -10
- package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/generated/eve/child/EveChildPlug.js +36 -8
- package/dist/generated/eve/child/EveChildPlug.js.map +1 -1
- package/dist/generated/eve/child/EveChildPostProcessVolume.js +230 -32
- package/dist/generated/eve/child/EveChildPostProcessVolume.js.map +1 -1
- package/dist/generated/eve/child/EveChildQuad.js +290 -38
- package/dist/generated/eve/child/EveChildQuad.js.map +1 -1
- package/dist/generated/eve/child/EveChildRef.js +35 -12
- package/dist/generated/eve/child/EveChildRef.js.map +1 -1
- package/dist/generated/eve/child/EveChildSocket.js +52 -14
- package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
- package/dist/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
- package/dist/generated/eve/child/behaviors/Allign.js +114 -9
- package/dist/generated/eve/child/behaviors/Allign.js.map +1 -1
- package/dist/generated/eve/child/behaviors/ApproachGroup.js +117 -9
- package/dist/generated/eve/child/behaviors/ApproachGroup.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BackAndForth.js +195 -7
- package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js +675 -17
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js +223 -75
- package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +54 -9
- package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
- package/dist/generated/eve/child/behaviors/DroneAvoidance.js +134 -9
- package/dist/generated/eve/child/behaviors/DroneAvoidance.js.map +1 -1
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +302 -9
- package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
- package/dist/generated/eve/child/behaviors/FollowASpline.js +336 -12
- package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
- package/dist/generated/eve/child/behaviors/Formation.js +304 -9
- package/dist/generated/eve/child/behaviors/Formation.js.map +1 -1
- package/dist/generated/eve/child/behaviors/InclusionVolume.js +70 -9
- package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +1 -1
- package/dist/generated/eve/child/behaviors/Inertia.js +101 -9
- package/dist/generated/eve/child/behaviors/Inertia.js.map +1 -1
- package/dist/generated/eve/child/behaviors/PlayFX.js +208 -9
- package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js +412 -9
- package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SeekTarget.js +102 -18
- package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SpawnDrones.js +111 -3
- package/dist/generated/eve/child/behaviors/SpawnDrones.js.map +1 -1
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +114 -11
- package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +1 -1
- package/dist/generated/eve/child/behaviors/Wander.js +52 -9
- package/dist/generated/eve/child/behaviors/Wander.js.map +1 -1
- package/dist/generated/eve/child/behaviors/enums.js.map +1 -1
- package/dist/generated/eve/child/behaviors/index.js +0 -3
- package/dist/generated/eve/child/behaviors/index.js.map +1 -1
- package/dist/generated/eve/child/enums.js.map +1 -1
- package/dist/generated/eve/child/index.js +0 -9
- package/dist/generated/eve/child/index.js.map +1 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js +66 -22
- package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js +117 -21
- package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js +87 -22
- package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
- package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +37 -5
- package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
- package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js +302 -48
- package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +76 -4
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +58 -4
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js +92 -5
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +78 -4
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js +137 -4
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +73 -4
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +63 -4
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js +123 -4
- package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
- package/dist/generated/eve/distribution/EveBaseDistributionMethod.js +360 -45
- package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +11 -5
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +27 -5
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +36 -5
- package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
- package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/index.js.map +1 -1
- package/dist/generated/eve/distribution/index.js +0 -1
- package/dist/generated/eve/distribution/index.js.map +1 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +30 -4
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +59 -4
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +67 -4
- package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +26 -4
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +25 -4
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +28 -4
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +28 -4
- package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js +27 -4
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +40 -5
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js +27 -4
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +65 -4
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +55 -4
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +63 -4
- package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
- package/dist/generated/eve/effect/EveLensflare.js +11 -6
- package/dist/generated/eve/effect/EveLensflare.js.map +1 -1
- package/dist/generated/eve/effect/EveMultiEffect.js +24 -11
- package/dist/generated/eve/effect/EveMultiEffect.js.map +1 -1
- package/dist/generated/eve/enums.js.map +1 -1
- package/dist/generated/eve/index.js +9 -43
- package/dist/generated/eve/index.js.map +1 -1
- package/dist/generated/eve/lights/Tr2FactionLight.js +116 -26
- package/dist/generated/eve/lights/Tr2FactionLight.js.map +1 -1
- package/dist/generated/eve/lights/index.js +0 -2
- package/dist/generated/eve/lights/index.js.map +1 -1
- package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
- package/dist/generated/eve/perObjectData/index.js +0 -3
- package/dist/generated/eve/perObjectData/index.js.map +1 -1
- package/dist/generated/eve/renderable/index.js +0 -5
- package/dist/generated/eve/renderable/index.js.map +1 -1
- package/dist/generated/eve/renderable/stretch/enums.js.map +1 -1
- package/dist/generated/eve/renderable/stretch/index.js +0 -5
- package/dist/generated/eve/renderable/stretch/index.js.map +1 -1
- package/dist/generated/eve/scene/EveComponentCollection.js +32 -5
- package/dist/generated/eve/scene/EveComponentCollection.js.map +1 -1
- package/dist/generated/eve/scene/EveComponentRegistry.js +117 -5
- package/dist/generated/eve/scene/EveComponentRegistry.js.map +1 -1
- package/dist/generated/eve/scene/EveSceneStaticParticles.js +117 -11
- package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +1 -1
- package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js +2 -2
- package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
- package/dist/generated/eve/scene/TriShadowFrustum.js +74 -22
- package/dist/generated/eve/scene/TriShadowFrustum.js.map +1 -1
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +128 -26
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +1 -1
- package/dist/generated/eve/scene/index.js +0 -2
- package/dist/generated/eve/scene/index.js.map +1 -1
- package/dist/generated/eve/smartLights/EveChildSmartLightSet.js +204 -28
- package/dist/generated/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js +78 -10
- package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +220 -26
- package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +291 -40
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightQuad.js +293 -36
- package/dist/generated/eve/smartLights/EveSmartLightQuad.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js +33 -13
- package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +70 -5
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +184 -70
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +68 -9
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +63 -9
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +253 -26
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +37 -9
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +145 -9
- package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
- package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +1 -1
- package/dist/generated/eve/smartLights/index.js +1 -1
- package/dist/generated/eve/socket/EveSocketParameterBindingBase.js +33 -5
- package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterBool.js +56 -0
- package/dist/generated/eve/socket/EveSocketParameterBool.js.map +1 -0
- package/dist/generated/eve/socket/EveSocketParameterColor.js +68 -0
- package/dist/generated/eve/socket/EveSocketParameterColor.js.map +1 -0
- package/dist/generated/eve/socket/EveSocketParameterFloat.js +56 -0
- package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +1 -0
- package/dist/generated/eve/socket/EveSocketParameterInt.js +56 -0
- package/dist/generated/eve/socket/EveSocketParameterInt.js.map +1 -0
- package/dist/generated/eve/socket/EveSocketParameterString.js +54 -5
- package/dist/generated/eve/socket/EveSocketParameterString.js.map +1 -1
- package/dist/generated/eve/socket/EveSocketParameterVector2.js +64 -0
- package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +1 -0
- package/dist/generated/eve/socket/EveSocketParameterVector3.js +64 -0
- package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +1 -0
- package/dist/generated/eve/socket/EveSocketParameterVector4.js +64 -0
- package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +1 -0
- package/dist/generated/eve/socket/index.js +7 -1
- package/dist/generated/eve/socket/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/EvePlanet.js +1 -1
- package/dist/generated/eve/spaceObject/EvePlanet.js.map +1 -1
- package/dist/generated/eve/spaceObject/EveShip2.js +194 -11
- package/dist/generated/eve/spaceObject/EveShip2.js.map +1 -1
- package/dist/generated/eve/spaceObject/enums.js.map +1 -1
- package/dist/generated/eve/spaceObject/index.js +0 -8
- package/dist/generated/eve/spaceObject/index.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +104 -15
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js +83 -7
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/index.js +0 -2
- package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
- package/dist/generated/eve/ui/EveLineSet.js +49 -19
- package/dist/generated/eve/ui/EveLineSet.js.map +1 -1
- package/dist/generated/{trinityCore → eve/ui}/EveSprite2dBracketRenderer.js +3 -3
- package/dist/generated/eve/ui/EveSprite2dBracketRenderer.js.map +1 -0
- package/dist/generated/eve/ui/EveTacticalTrails.js +20 -8
- package/dist/generated/eve/ui/EveTacticalTrails.js.map +1 -1
- package/dist/generated/eve/ui/enums.js.map +1 -1
- package/dist/generated/eve/ui/index.js +1 -4
- package/dist/generated/eve/ui/index.js.map +1 -1
- package/dist/generated/include/enums.js.map +1 -1
- package/dist/generated/include/index.js +0 -9
- package/dist/generated/include/index.js.map +1 -1
- package/dist/generated/index.js +14 -116
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/particle/ITr2GenericEmitter.js +31 -1
- package/dist/generated/particle/ITr2GenericEmitter.js.map +1 -1
- package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js +114 -64
- package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js +62 -26
- package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2DynamicEmitter.js +186 -37
- package/dist/generated/particle/Tr2DynamicEmitter.js.map +1 -1
- package/dist/generated/particle/Tr2ElementBlendConstraint.js +56 -26
- package/dist/generated/particle/Tr2ElementBlendConstraint.js.map +1 -1
- package/dist/generated/particle/Tr2ForceSphereVolume.js +68 -28
- package/dist/generated/particle/Tr2ForceSphereVolume.js.map +1 -1
- package/dist/generated/particle/Tr2ParticleSystem.js +266 -10
- package/dist/generated/particle/Tr2ParticleSystem.js.map +1 -1
- package/dist/generated/particle/Tr2ParticleTurbulenceForce.js +41 -4
- package/dist/generated/particle/Tr2ParticleTurbulenceForce.js.map +1 -1
- package/dist/generated/particle/Tr2PlaneConstraint.js +160 -42
- package/dist/generated/particle/Tr2PlaneConstraint.js.map +1 -1
- package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js +71 -22
- package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js +59 -26
- package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js +59 -26
- package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2SphereConstraint.js +202 -46
- package/dist/generated/particle/Tr2SphereConstraint.js.map +1 -1
- package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js +120 -64
- package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js.map +1 -1
- package/dist/generated/particle/Tr2StaticEmitter.js +79 -9
- package/dist/generated/particle/Tr2StaticEmitter.js.map +1 -1
- package/dist/generated/particle/index.js +0 -4
- package/dist/generated/particle/index.js.map +1 -1
- package/dist/generated/postProcess/enums.js.map +1 -1
- package/dist/generated/postProcess/index.js +0 -14
- package/dist/generated/postProcess/index.js.map +1 -1
- package/dist/generated/raytracing/Tr2RaytracingGeometry.js +67 -65
- package/dist/generated/raytracing/Tr2RaytracingGeometry.js.map +1 -1
- package/dist/generated/raytracing/index.js +0 -1
- package/dist/generated/raytracing/index.js.map +1 -1
- package/dist/generated/renderJob/Tr2RenderNodeEffect.js +100 -0
- package/dist/generated/renderJob/Tr2RenderNodeEffect.js.map +1 -0
- package/dist/generated/{trinityCore → renderJob}/Tr2RenderNodeSprite2dScene.js +2 -2
- package/dist/generated/renderJob/Tr2RenderNodeSprite2dScene.js.map +1 -0
- package/dist/generated/renderJob/TriStepClearUav.js +22 -3
- package/dist/generated/renderJob/TriStepClearUav.js.map +1 -1
- package/dist/generated/renderJob/TriStepFilterVisibilityResults.js +23 -4
- package/dist/generated/renderJob/TriStepFilterVisibilityResults.js.map +1 -1
- package/dist/generated/renderJob/TriStepPythonCB.js +20 -5
- package/dist/generated/renderJob/TriStepPythonCB.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderAtlas.js +8 -3
- package/dist/generated/renderJob/TriStepRenderAtlas.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderDebug.js +59 -24
- package/dist/generated/renderJob/TriStepRenderDebug.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderEffect.js +10 -3
- package/dist/generated/renderJob/TriStepRenderEffect.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderLineGraph.js +32 -3
- package/dist/generated/renderJob/TriStepRenderLineGraph.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderObject.js +19 -7
- package/dist/generated/renderJob/TriStepRenderObject.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderPass.js +8 -3
- package/dist/generated/renderJob/TriStepRenderPass.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderScene.js +7 -3
- package/dist/generated/renderJob/TriStepRenderScene.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderSceneDebug.js +7 -3
- package/dist/generated/renderJob/TriStepRenderSceneDebug.js.map +1 -1
- package/dist/generated/renderJob/TriStepRenderTexture.js +21 -3
- package/dist/generated/renderJob/TriStepRenderTexture.js.map +1 -1
- package/dist/generated/renderJob/TriStepRunComputeShader.js +14 -3
- package/dist/generated/renderJob/TriStepRunComputeShader.js.map +1 -1
- package/dist/generated/renderJob/TriStepSetDebugRenderer.js +10 -3
- package/dist/generated/renderJob/TriStepSetDebugRenderer.js.map +1 -1
- package/dist/generated/renderJob/TriStepSetUpscalingContextID.js +8 -4
- package/dist/generated/renderJob/TriStepSetUpscalingContextID.js.map +1 -1
- package/dist/generated/renderJob/TriStepSetVariableStore.js +24 -6
- package/dist/generated/renderJob/TriStepSetVariableStore.js.map +1 -1
- package/dist/generated/renderJob/TriStepToggleCubemap.js +16 -4
- package/dist/generated/renderJob/TriStepToggleCubemap.js.map +1 -1
- package/dist/generated/renderJob/TriStepUpdate.js +7 -3
- package/dist/generated/renderJob/TriStepUpdate.js.map +1 -1
- package/dist/generated/renderJob/enums.js.map +1 -1
- package/dist/generated/renderJob/index.js +2 -1
- package/dist/generated/renderJob/index.js.map +1 -1
- package/dist/generated/shader/enums.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js +127 -41
- package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js +122 -33
- package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dScene.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dTransform.js +51 -31
- package/dist/generated/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
- package/dist/generated/sprite2d/Tr2Sprite2dVertex.js +37 -26
- package/dist/generated/sprite2d/Tr2Sprite2dVertex.js.map +1 -1
- package/dist/generated/sprite2d/Tr2SpriteObjectBase.js +5 -6
- package/dist/generated/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
- package/dist/generated/sprite2d/enums.js.map +1 -1
- package/dist/generated/sprite2d/index.js +0 -5
- package/dist/generated/sprite2d/index.js.map +1 -1
- package/dist/generated/trinityCore/Tr2BoundingLineSet.js +31 -3
- package/dist/generated/trinityCore/Tr2BoundingLineSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2CurveLineSet.js +214 -136
- package/dist/generated/trinityCore/Tr2CurveLineSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2DebugRenderer.js +113 -87
- package/dist/generated/trinityCore/Tr2DebugRenderer.js.map +1 -1
- package/dist/generated/trinityCore/Tr2DynamicBinding.js +1 -1
- package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ExternalParameter.js +147 -33
- package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +1 -1
- package/dist/generated/trinityCore/Tr2GpuProfiler.js.map +1 -1
- package/dist/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
- package/dist/generated/trinityCore/Tr2GrannyAnimation.js +646 -52
- package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +1 -1
- package/dist/generated/trinityCore/Tr2HostBitmap.js +189 -177
- package/dist/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
- package/dist/generated/trinityCore/Tr2LineGraph.js +49 -8
- package/dist/generated/trinityCore/Tr2LineGraph.js.map +1 -1
- package/dist/generated/trinityCore/Tr2LineSet.js +36 -11
- package/dist/generated/trinityCore/Tr2LineSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ManipulationTool.js +39 -11
- package/dist/generated/trinityCore/Tr2ManipulationTool.js.map +1 -1
- package/dist/generated/trinityCore/Tr2PrimitiveSet.js +46 -42
- package/dist/generated/trinityCore/Tr2PrimitiveSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2QuadRenderer.js +199 -45
- package/dist/generated/trinityCore/Tr2QuadRenderer.js.map +1 -1
- package/dist/generated/trinityCore/Tr2SSAO.js +15 -15
- package/dist/generated/trinityCore/Tr2SSAO.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ScalingTool.js +17 -3
- package/dist/generated/trinityCore/Tr2ScalingTool.js.map +1 -1
- package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +1 -1
- package/dist/generated/trinityCore/Tr2SolidSet.js +43 -7
- package/dist/generated/trinityCore/Tr2SolidSet.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TextureAnimation.js +75 -40
- package/dist/generated/trinityCore/Tr2TextureAnimation.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TextureArray.js +1 -1
- package/dist/generated/trinityCore/Tr2TextureArray.js.map +1 -1
- package/dist/generated/trinityCore/Tr2TextureAtlas.js +4 -0
- package/dist/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
- package/dist/generated/trinityCore/TriLineSet.js +115 -21
- package/dist/generated/trinityCore/TriLineSet.js.map +1 -1
- package/dist/generated/trinityCore/TriRigidOrientation.js +23 -3
- package/dist/generated/trinityCore/TriRigidOrientation.js.map +1 -1
- package/dist/generated/trinityCore/TriValueBinding.js +230 -40
- package/dist/generated/trinityCore/TriValueBinding.js.map +1 -1
- package/dist/generated/trinityCore/enums.js +1 -84
- package/dist/generated/trinityCore/enums.js.map +1 -1
- package/dist/generated/trinityCore/index.js +2 -27
- package/dist/generated/trinityCore/index.js.map +1 -1
- package/dist/generated/ui/index.js +0 -4
- package/dist/generated/ui/index.js.map +1 -1
- package/dist/generated/utilities/index.js +0 -5
- package/dist/generated/utilities/index.js.map +1 -1
- package/dist/index.js +115 -129
- package/dist/index.js.map +1 -1
- package/dist/particle/Tr2GpuSharedEmitter.js +37 -100
- package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/{generated/particle → particle}/Tr2ParticleElementData.js +1 -1
- package/dist/particle/Tr2ParticleElementData.js.map +1 -0
- package/dist/particle/Tr2ParticleElementDeclaration.js +70 -0
- package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -0
- package/dist/particle/Tr2ParticleElementDeclarationName.js +80 -0
- package/dist/particle/Tr2ParticleElementDeclarationName.js.map +1 -0
- package/dist/particle/index.js +4 -1
- package/dist/particle/index.js.map +1 -1
- package/dist/particle/particleElementBinding.js +37 -0
- package/dist/particle/particleElementBinding.js.map +1 -0
- package/dist/{generated/postProcess → postProcess}/BlurContext.js +6 -1
- package/dist/postProcess/BlurContext.js.map +1 -0
- package/dist/{generated/postProcess → postProcess}/GaussianData.js +1 -1
- package/dist/postProcess/GaussianData.js.map +1 -0
- package/dist/postProcess/Tr2PPBloomEffect.js +1 -1
- package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
- package/dist/{generated/postProcess → postProcess}/Tr2PPColorCorrectionEffect.js +1 -1
- package/dist/postProcess/Tr2PPColorCorrectionEffect.js.map +1 -0
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +1 -1
- package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
- package/dist/{generated/postProcess → postProcess}/Tr2PPDesaturateEffect.js +1 -1
- package/dist/postProcess/Tr2PPDesaturateEffect.js.map +1 -0
- package/dist/{generated/postProcess → postProcess}/Tr2PPDynamicExposureEffect.js +1 -1
- package/dist/postProcess/Tr2PPDynamicExposureEffect.js.map +1 -0
- package/dist/{generated/postProcess → postProcess}/Tr2PPEffect.js +6 -1
- package/dist/postProcess/Tr2PPEffect.js.map +1 -0
- package/dist/{generated/postProcess → postProcess}/Tr2PPFadeEffect.js +6 -1
- package/dist/postProcess/Tr2PPFadeEffect.js.map +1 -0
- package/dist/{generated/postProcess → postProcess}/Tr2PPFilmGrainEffect.js +6 -1
- package/dist/postProcess/Tr2PPFilmGrainEffect.js.map +1 -0
- package/dist/{generated/postProcess → postProcess}/Tr2PPFogEffect.js +6 -1
- package/dist/postProcess/Tr2PPFogEffect.js.map +1 -0
- package/dist/postProcess/Tr2PPGenericEffect.js +1 -1
- package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
- package/dist/{generated/postProcess → postProcess}/Tr2PPGodRaysEffect.js +6 -1
- package/dist/postProcess/Tr2PPGodRaysEffect.js.map +1 -0
- package/dist/{generated/postProcess → postProcess}/Tr2PPLutEffect.js +6 -1
- package/dist/postProcess/Tr2PPLutEffect.js.map +1 -0
- package/dist/{generated/postProcess → postProcess}/Tr2PPSignalLossEffect.js +6 -1
- package/dist/postProcess/Tr2PPSignalLossEffect.js.map +1 -0
- package/dist/postProcess/Tr2PPTaaEffect.js +1 -1
- package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
- package/dist/postProcess/Tr2PPTonemappingEffect.js +1 -1
- package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
- package/dist/{generated/postProcess → postProcess}/Tr2PPVignetteEffect.js +6 -1
- package/dist/postProcess/Tr2PPVignetteEffect.js.map +1 -0
- package/dist/postProcess/Tr2PostProcess.js +35 -0
- package/dist/postProcess/Tr2PostProcess.js.map +1 -0
- package/dist/postProcess/Tr2PostProcessAttributes.js +7 -7
- package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
- package/dist/postProcess/index.js +18 -18
- package/dist/renderJob/TriStepRemoteSync.js +42 -0
- package/dist/renderJob/TriStepRemoteSync.js.map +1 -0
- package/dist/renderJob/index.js +1 -0
- package/dist/renderJob/index.js.map +1 -1
- package/dist/shader/Tr2Effect.js +110 -4
- package/dist/shader/Tr2Effect.js.map +1 -1
- package/dist/shader/parameter/CjsParameter.js +55 -0
- package/dist/shader/parameter/CjsParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2ConstantEffectParameter.js +4 -4
- package/dist/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2FloatParameter.js +6 -1
- package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js +9 -1
- package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Matrix4Parameter.js +6 -1
- package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +6 -1
- package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js +6 -1
- package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector2Parameter.js +74 -6
- package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector3Parameter.js +90 -6
- package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
- package/dist/shader/parameter/Tr2Vector4Parameter.js +70 -1
- package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
- package/dist/shader/parameter/TriFloatArrayParameter.js +9 -1
- package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
- package/dist/shader/parameter/TriTextureParameter.js +9 -1
- package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
- package/dist/shader/parameter/TriTransformParameter.js +16 -2
- package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
- package/dist/shader/parameter/TriVariableParameter.js +6 -1
- package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
- package/dist/shader/reflection/Tr2ShaderOption.js +1 -1
- package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
- package/dist/shader/sampler/Tr2SamplerOverride.js +1 -1
- package/dist/shader/sampler/Tr2SamplerOverride.js.map +1 -1
- package/dist/{generated/sprite2d → sprite2d}/Tr2Sprite2dClipRect.js +1 -1
- package/dist/sprite2d/Tr2Sprite2dClipRect.js.map +1 -0
- package/dist/{generated/sprite2d → sprite2d}/Tr2Sprite2dD3DVertex.js +1 -1
- package/dist/sprite2d/Tr2Sprite2dD3DVertex.js.map +1 -0
- package/dist/{generated/sprite2d → sprite2d}/Tr2Sprite2dLineTraceVertex.js +1 -1
- package/dist/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -0
- package/dist/{generated/sprite2d → sprite2d}/Tr2Sprite2dTriangle.js +1 -1
- package/dist/sprite2d/Tr2Sprite2dTriangle.js.map +1 -0
- package/dist/{generated/sprite2d → sprite2d}/Tr2Sprite2dVertexBase.js +4 -4
- package/dist/sprite2d/Tr2Sprite2dVertexBase.js.map +1 -0
- package/dist/trinityCore/CjsBatchManager.js +203 -0
- package/dist/trinityCore/CjsBatchManager.js.map +1 -0
- package/dist/trinityCore/GrannyBoneOffset.js +89 -0
- package/dist/trinityCore/GrannyBoneOffset.js.map +1 -0
- package/dist/trinityCore/ITriRenderBatchAccumulator.js +57 -0
- package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -0
- package/dist/{generated/trinityCore → trinityCore}/Tr2BindingVector3.js +1 -1
- package/dist/trinityCore/Tr2BindingVector3.js.map +1 -0
- package/dist/trinityCore/Tr2DirectInstanceData.js +85 -0
- package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -0
- package/dist/trinityCore/Tr2ExpressionTermInfo.js +5 -1
- package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
- package/dist/trinityCore/Tr2GpuBuffer.js +12 -5
- package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
- package/dist/trinityCore/Tr2InstancedMesh.js +59 -1
- package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
- package/dist/{generated/trinityCore → trinityCore}/Tr2MaterialParameterStore.js +13 -7
- package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -0
- package/dist/trinityCore/Tr2Mesh.js +140 -2
- package/dist/trinityCore/Tr2Mesh.js.map +1 -1
- package/dist/trinityCore/Tr2MeshArea.js +71 -9
- package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
- package/dist/trinityCore/Tr2MeshBase.js +76 -5
- package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
- package/dist/trinityCore/Tr2PerObjectData.js +23 -0
- package/dist/trinityCore/Tr2PerObjectData.js.map +1 -0
- package/dist/{generated/trinityCore → trinityCore}/Tr2PyValueBinding.js +1 -1
- package/dist/trinityCore/Tr2PyValueBinding.js.map +1 -0
- package/dist/trinityCore/Tr2RenderBatch.js +267 -0
- package/dist/trinityCore/Tr2RenderBatch.js.map +1 -0
- package/dist/trinityCore/Tr2RenderContext.js +239 -0
- package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
- package/dist/trinityCore/Tr2RuntimeInstanceData.js +80 -1
- package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/{generated/trinityCore → trinityCore}/Tr2SerializedMorphAnimation.js +1 -1
- package/dist/trinityCore/Tr2SerializedMorphAnimation.js.map +1 -0
- package/dist/trinityCore/Tr2VisibilityResults.js +104 -0
- package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -0
- package/dist/trinityCore/TriDevice.js +58 -4
- package/dist/trinityCore/TriDevice.js.map +1 -1
- package/dist/{generated/trinityCore → trinityCore}/TriFloat.js +1 -1
- package/dist/trinityCore/TriFloat.js.map +1 -0
- package/dist/trinityCore/TriFrustum.js +374 -0
- package/dist/trinityCore/TriFrustum.js.map +1 -0
- package/dist/trinityCore/TriFrustumOrtho.js +158 -0
- package/dist/trinityCore/TriFrustumOrtho.js.map +1 -0
- package/dist/trinityCore/TriObserverLocal.js +7 -1
- package/dist/trinityCore/TriObserverLocal.js.map +1 -1
- package/dist/trinityCore/TriRenderBatchAccumulator.js +119 -0
- package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -0
- package/dist/trinityCore/TriRenderBatchMap.js +61 -0
- package/dist/trinityCore/TriRenderBatchMap.js.map +1 -0
- package/dist/trinityCore/TriSettings.js +82 -0
- package/dist/trinityCore/TriSettings.js.map +1 -0
- package/dist/{generated/trinityCore → trinityCore}/TriTorque.js +1 -1
- package/dist/trinityCore/TriTorque.js.map +1 -0
- package/dist/trinityCore/TriVariable.js +39 -1
- package/dist/trinityCore/TriVariable.js.map +1 -1
- package/dist/{generated/trinityCore → trinityCore}/TriView.js +7 -9
- package/dist/trinityCore/TriView.js.map +1 -0
- package/dist/trinityCore/TriViewport.js +7 -1
- package/dist/trinityCore/TriViewport.js.map +1 -1
- package/dist/trinityCore/index.js +23 -5
- package/dist/trinityCore/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/eve/EveRemotePositionCurve.js.map +0 -1
- package/dist/generated/curves/Tr2CurveRasterizeDestination.js +0 -37
- package/dist/generated/curves/Tr2CurveRasterizeDestination.js.map +0 -1
- package/dist/generated/curves/Tr2CurveScalarDefinition.js +0 -48
- package/dist/generated/curves/Tr2CurveScalarDefinition.js.map +0 -1
- package/dist/generated/curves/Tr2Key.js +0 -47
- package/dist/generated/curves/Tr2Key.js.map +0 -1
- package/dist/generated/eve/AudioGameObject.js +0 -77
- package/dist/generated/eve/AudioGameObject.js.map +0 -1
- package/dist/generated/eve/attachment/decal/DecalMeshCache.js +0 -37
- package/dist/generated/eve/attachment/decal/DecalMeshCache.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/EveTurretFiringFX.js +0 -130
- package/dist/generated/eve/attachment/turrets/EveTurretFiringFX.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/EveTurretSet.js +0 -307
- package/dist/generated/eve/attachment/turrets/EveTurretSet.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
- package/dist/generated/eve/attachment/turrets/EveTurretTarget.js +0 -54
- package/dist/generated/eve/attachment/turrets/EveTurretTarget.js.map +0 -1
- package/dist/generated/eve/child/EveChildAudio.js +0 -47
- package/dist/generated/eve/child/EveChildAudio.js.map +0 -1
- package/dist/generated/eve/child/EveChildEffectPropagator.js +0 -121
- package/dist/generated/eve/child/EveChildEffectPropagator.js.map +0 -1
- package/dist/generated/eve/child/EveChildFogVolume.js +0 -63
- package/dist/generated/eve/child/EveChildFogVolume.js.map +0 -1
- package/dist/generated/eve/child/EveChildInstanceTransform.js.map +0 -1
- package/dist/generated/eve/child/EveChildLightingOverride.js +0 -62
- package/dist/generated/eve/child/EveChildLightingOverride.js.map +0 -1
- package/dist/generated/eve/child/EveCloudVolumeBall.js.map +0 -1
- package/dist/generated/eve/child/behaviors/DroneAgent.js.map +0 -1
- package/dist/generated/eve/child/behaviors/SplineTunnel.js.map +0 -1
- package/dist/generated/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
- package/dist/generated/eve/distribution/attributeModifiers/InitialPlacement.js.map +0 -1
- package/dist/generated/eve/lights/LightData.js.map +0 -1
- package/dist/generated/eve/lights/LightFeatures.js.map +0 -1
- package/dist/generated/eve/perObjectData/DecalPSPerObjectData.js +0 -48
- package/dist/generated/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
- package/dist/generated/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
- package/dist/generated/eve/renderable/stretch/EveFiringEffectElementContainer.js +0 -57
- package/dist/generated/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +0 -1
- package/dist/generated/eve/renderable/stretch/EveLocalPositionCurve.js +0 -93
- package/dist/generated/eve/renderable/stretch/EveLocalPositionCurve.js.map +0 -1
- package/dist/generated/eve/renderable/stretch/EveStretch.js +0 -109
- package/dist/generated/eve/renderable/stretch/EveStretch.js.map +0 -1
- package/dist/generated/eve/renderable/stretch/EveStretch2.js +0 -67
- package/dist/generated/eve/renderable/stretch/EveStretch2.js.map +0 -1
- package/dist/generated/eve/renderable/stretch/EveStretch3.js +0 -101
- package/dist/generated/eve/renderable/stretch/EveStretch3.js.map +0 -1
- package/dist/generated/eve/scene/EveInstancedMeshManager.js +0 -206
- package/dist/generated/eve/scene/EveInstancedMeshManager.js.map +0 -1
- package/dist/generated/eve/scene/Tr2OcclusionBuffer.js +0 -46
- package/dist/generated/eve/scene/Tr2OcclusionBuffer.js.map +0 -1
- package/dist/generated/eve/socket/_className.js +0 -44
- package/dist/generated/eve/socket/_className.js.map +0 -1
- package/dist/generated/eve/spaceObject/EveEffectRoot2.js +0 -150
- package/dist/generated/eve/spaceObject/EveEffectRoot2.js.map +0 -1
- package/dist/generated/eve/spaceObject/EveMissile.js +0 -53
- package/dist/generated/eve/spaceObject/EveMissile.js.map +0 -1
- package/dist/generated/eve/spaceObject/EveMissileWarhead.js +0 -90
- package/dist/generated/eve/spaceObject/EveMissileWarhead.js.map +0 -1
- package/dist/generated/eve/spaceObject/EveMobile.js +0 -49
- package/dist/generated/eve/spaceObject/EveMobile.js.map +0 -1
- package/dist/generated/eve/spaceObject/EveRootTransform.js +0 -48
- package/dist/generated/eve/spaceObject/EveRootTransform.js.map +0 -1
- package/dist/generated/eve/spaceObject/EveTransform.js +0 -72
- package/dist/generated/eve/spaceObject/EveTransform.js.map +0 -1
- package/dist/generated/eve/spaceObject/swarm/SwarmVehicle.js.map +0 -1
- package/dist/generated/eve/spaceObject/swarm/SwarmVehicleDebug.js.map +0 -1
- package/dist/generated/eve/ui/EveEllipseDefinition.js.map +0 -1
- package/dist/generated/eve/ui/EveEllipseSet.js.map +0 -1
- package/dist/generated/eve/ui/EveSpherePinIndexTree.js +0 -49
- package/dist/generated/eve/ui/EveSpherePinIndexTree.js.map +0 -1
- package/dist/generated/eve/ui/EveUiObject.js +0 -41
- package/dist/generated/eve/ui/EveUiObject.js.map +0 -1
- package/dist/generated/include/ITr2InteriorLight.js +0 -37
- package/dist/generated/include/ITr2InteriorLight.js.map +0 -1
- package/dist/generated/include/ITriDevice.js +0 -31
- package/dist/generated/include/ITriDevice.js.map +0 -1
- package/dist/generated/include/ITriEffectTextureParameter.js +0 -31
- package/dist/generated/include/ITriEffectTextureParameter.js.map +0 -1
- package/dist/generated/include/Point.js +0 -34
- package/dist/generated/include/Point.js.map +0 -1
- package/dist/generated/include/Tr2CurveBase.js +0 -79
- package/dist/generated/include/Tr2CurveBase.js.map +0 -1
- package/dist/generated/include/Tr2DebugColor.js +0 -40
- package/dist/generated/include/Tr2DebugColor.js.map +0 -1
- package/dist/generated/include/Tr2DebugObjectReference.js +0 -34
- package/dist/generated/include/Tr2DebugObjectReference.js.map +0 -1
- package/dist/generated/include/Tr2Rect.js +0 -40
- package/dist/generated/include/Tr2Rect.js.map +0 -1
- package/dist/generated/include/TriPerlinNoise.js +0 -34
- package/dist/generated/include/TriPerlinNoise.js.map +0 -1
- package/dist/generated/particle/Tr2ParticleElementData.js.map +0 -1
- package/dist/generated/particle/Tr2ParticleElementDeclaration.js +0 -37
- package/dist/generated/particle/Tr2ParticleElementDeclaration.js.map +0 -1
- package/dist/generated/particle/Tr2ParticleElementDeclarationName.js +0 -42
- package/dist/generated/particle/Tr2ParticleElementDeclarationName.js.map +0 -1
- package/dist/generated/particle/Tr2ParticleStreamIterator.js +0 -37
- package/dist/generated/particle/Tr2ParticleStreamIterator.js.map +0 -1
- package/dist/generated/postProcess/BlurContext.js.map +0 -1
- package/dist/generated/postProcess/CASConstants.js +0 -34
- package/dist/generated/postProcess/CASConstants.js.map +0 -1
- package/dist/generated/postProcess/GaussianData.js.map +0 -1
- package/dist/generated/postProcess/Tr2PPColorCorrectionEffect.js.map +0 -1
- package/dist/generated/postProcess/Tr2PPDesaturateEffect.js.map +0 -1
- package/dist/generated/postProcess/Tr2PPDynamicExposureEffect.js.map +0 -1
- package/dist/generated/postProcess/Tr2PPEffect.js.map +0 -1
- package/dist/generated/postProcess/Tr2PPFadeEffect.js.map +0 -1
- package/dist/generated/postProcess/Tr2PPFilmGrainEffect.js.map +0 -1
- package/dist/generated/postProcess/Tr2PPFogEffect.js.map +0 -1
- package/dist/generated/postProcess/Tr2PPGodRaysEffect.js.map +0 -1
- package/dist/generated/postProcess/Tr2PPLutEffect.js.map +0 -1
- package/dist/generated/postProcess/Tr2PPSignalLossEffect.js.map +0 -1
- package/dist/generated/postProcess/Tr2PPVignetteEffect.js.map +0 -1
- package/dist/generated/raytracing/Tr2RaytracingMeshArea.js +0 -40
- package/dist/generated/raytracing/Tr2RaytracingMeshArea.js.map +0 -1
- package/dist/generated/renderJob/TriStepRemoteSync.js +0 -45
- package/dist/generated/renderJob/TriStepRemoteSync.js.map +0 -1
- package/dist/generated/sprite2d/Tr2Sprite2dClipRect.js.map +0 -1
- package/dist/generated/sprite2d/Tr2Sprite2dD3DVertex.js.map +0 -1
- package/dist/generated/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +0 -1
- package/dist/generated/sprite2d/Tr2Sprite2dTriangle.js.map +0 -1
- package/dist/generated/sprite2d/Tr2Sprite2dVertexBase.js.map +0 -1
- package/dist/generated/trinityCore/EveSprite2dBracket.js +0 -42
- package/dist/generated/trinityCore/EveSprite2dBracket.js.map +0 -1
- package/dist/generated/trinityCore/EveSprite2dBracketRenderer.js.map +0 -1
- package/dist/generated/trinityCore/GrannyBoneOffset.js +0 -52
- package/dist/generated/trinityCore/GrannyBoneOffset.js.map +0 -1
- package/dist/generated/trinityCore/Tr2BindingVector3.js.map +0 -1
- package/dist/generated/trinityCore/Tr2DirectInstanceData.js +0 -40
- package/dist/generated/trinityCore/Tr2DirectInstanceData.js.map +0 -1
- package/dist/generated/trinityCore/Tr2DisplayMode.js +0 -49
- package/dist/generated/trinityCore/Tr2DisplayMode.js.map +0 -1
- package/dist/generated/trinityCore/Tr2GStateAnimation.js +0 -210
- package/dist/generated/trinityCore/Tr2GStateAnimation.js.map +0 -1
- package/dist/generated/trinityCore/Tr2GStateParameter.js +0 -67
- package/dist/generated/trinityCore/Tr2GStateParameter.js.map +0 -1
- package/dist/generated/trinityCore/Tr2MaterialParameterStore.js.map +0 -1
- package/dist/generated/trinityCore/Tr2PlatformInfo.js +0 -33
- package/dist/generated/trinityCore/Tr2PlatformInfo.js.map +0 -1
- package/dist/generated/trinityCore/Tr2PostProcess.js +0 -31
- package/dist/generated/trinityCore/Tr2PostProcess.js.map +0 -1
- package/dist/generated/trinityCore/Tr2PyValueBinding.js.map +0 -1
- package/dist/generated/trinityCore/Tr2RenderNodeEffect.js +0 -64
- package/dist/generated/trinityCore/Tr2RenderNodeEffect.js.map +0 -1
- package/dist/generated/trinityCore/Tr2RenderNodeSprite2dScene.js.map +0 -1
- package/dist/generated/trinityCore/Tr2SerializedMorphAnimation.js.map +0 -1
- package/dist/generated/trinityCore/Tr2VectorFunctionModifier.js.map +0 -1
- package/dist/generated/trinityCore/Tr2VideoAdapter.js +0 -60
- package/dist/generated/trinityCore/Tr2VideoAdapter.js.map +0 -1
- package/dist/generated/trinityCore/Tr2VideoDriver.js +0 -46
- package/dist/generated/trinityCore/Tr2VideoDriver.js.map +0 -1
- package/dist/generated/trinityCore/Tr2VisibilityResults.js +0 -41
- package/dist/generated/trinityCore/Tr2VisibilityResults.js.map +0 -1
- package/dist/generated/trinityCore/TriColorSequencer.js +0 -48
- package/dist/generated/trinityCore/TriColorSequencer.js.map +0 -1
- package/dist/generated/trinityCore/TriFloat.js.map +0 -1
- package/dist/generated/trinityCore/TriSettings.js +0 -64
- package/dist/generated/trinityCore/TriSettings.js.map +0 -1
- package/dist/generated/trinityCore/TriTorque.js.map +0 -1
- package/dist/generated/trinityCore/TriVectorSequencer.js +0 -48
- package/dist/generated/trinityCore/TriVectorSequencer.js.map +0 -1
- package/dist/generated/trinityCore/TriView.js.map +0 -1
- package/dist/generated/ui/Tr2MainWindow.js +0 -203
- package/dist/generated/ui/Tr2MainWindow.js.map +0 -1
- package/dist/generated/ui/Tr2MainWindowState.js +0 -63
- package/dist/generated/ui/Tr2MainWindowState.js.map +0 -1
- package/dist/generated/ui/Tr2MouseCursor.js +0 -55
- package/dist/generated/ui/Tr2MouseCursor.js.map +0 -1
- package/dist/generated/ui/UIScancode.js +0 -37
- package/dist/generated/ui/UIScancode.js.map +0 -1
- package/dist/generated/utilities/AreaBoundsInfo.js +0 -34
- package/dist/generated/utilities/AreaBoundsInfo.js.map +0 -1
- package/dist/generated/utilities/BoundingBox.js +0 -34
- package/dist/generated/utilities/BoundingBox.js.map +0 -1
- package/dist/generated/utilities/MeshBoundsInfo.js +0 -52
- package/dist/generated/utilities/MeshBoundsInfo.js.map +0 -1
- package/dist/generated/utilities/Vector3d.js +0 -58
- package/dist/generated/utilities/Vector3d.js.map +0 -1
- package/dist/generated/utilities/Vector4d.js +0 -49
- package/dist/generated/utilities/Vector4d.js.map +0 -1
- package/dist/trinityCore/Tr2VideoAdapters.js +0 -79
- package/dist/trinityCore/Tr2VideoAdapters.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tr2RenderBatch.js","sources":["../../../src/trinityCore/Tr2RenderBatch.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/TriRenderBatch.h\n// trinity/TriRenderBatch.cpp\n//\n// GPU-free CPU render-batch descriptor plus the binning/sort helpers. A batch\n// holds opaque references to material/shader/geometry and plain draw arguments;\n// it never touches a device. The engine adapter reads a finalized accumulator's\n// batches and issues the actual draws (Carbon's Tr2RenderContextBase::RenderBatches*\n// dispatch family stays engine-side and is intentionally NOT ported here).\nimport { RenderingMode } from \"@carbonenginejs/runtime-const/graphics\";\nimport { D3dPrimitiveTopology } from \"@carbonenginejs/runtime-const/d3d\";\n\n\n// Carbon sorts batches on raw pointer identity of shader/vertex-stream objects.\n// JS has no pointer order, so we assign each distinct reference a stable id on\n// first encounter. Only contiguity of equal references matters for binning, so\n// the ordinal itself is irrelevant as long as it is consistent within a run.\nlet nextOrderId = 1;\nconst orderIds = new WeakMap();\n\nexport function OrderOf(ref)\n{\n if (ref === null || ref === undefined) return 0;\n if (typeof ref !== \"object\" && typeof ref !== \"function\") return Number(ref) || 0;\n let id = orderIds.get(ref);\n if (id === undefined)\n {\n id = nextOrderId++;\n orderIds.set(ref, id);\n }\n return id;\n}\n\n// A contiguous (startIndex, count) block of mesh groups. Mirrors Carbon\n// TriRenderBatchAreaBlock; used by the shadow/overlay area-block paths.\nexport class TriRenderBatchAreaBlock\n{\n constructor(startIndex = 0, count = 0)\n {\n this.startIndex = startIndex >>> 0;\n this.count = count >>> 0;\n }\n\n // Compacts a set of possibly overlapping/adjacent blocks into the minimal set\n // of contiguous runs, in place. Mirrors TriRenderBatchAreaBlock::Optimize.\n static Optimize(areaBlockVector)\n {\n const indices = new Set();\n for (const block of areaBlockVector)\n {\n for (let i = 0; i < block.count; i++) indices.add(block.startIndex + i);\n }\n\n const sorted = Array.from(indices).sort((a, b) => a - b);\n areaBlockVector.length = 0;\n\n let start = -1;\n let run = -1;\n for (const value of sorted)\n {\n if (run >= 0 && value === run + 1)\n {\n run = value;\n continue;\n }\n if (run >= 0) areaBlockVector.push(new TriRenderBatchAreaBlock(start, run - start + 1));\n start = value;\n run = value;\n }\n if (run >= 0) areaBlockVector.push(new TriRenderBatchAreaBlock(start, run - start + 1));\n return areaBlockVector;\n }\n}\n\n// A shared-material list of area blocks (shadow/overlay path). Mirrors\n// TriRenderBatchAreaBlocksWithSharedMaterial.\nexport class TriRenderBatchAreaBlocksWithSharedMaterial extends TriRenderBatchAreaBlock\n{\n constructor()\n {\n super();\n this.shaderMaterial = null;\n this.areaBlockVector = [];\n }\n\n Optimize()\n {\n TriRenderBatchAreaBlock.Optimize(this.areaBlockVector);\n }\n\n Clear()\n {\n this.areaBlockVector.length = 0;\n }\n}\n\n// A single draw's worth of CPU descriptor state. Faithful to Carbon's\n// Tr2RenderBatch struct; the vertex/index \"buffer\" slots hold whatever the\n// producer supplies (in the GPU-free runtime these are geometry-resource-backed\n// descriptors that the engine resolves to real buffers at dispatch time).\nexport class Tr2RenderBatch\n{\n constructor()\n {\n this.material = null;\n this.shader = null;\n\n this.vertexDeclaration = 0;\n this.vertexStreams = [ null, null ];\n this.stride = [ 0, 0 ];\n this.indexBuffer = null;\n this.indexStride = 0;\n\n // DIVERGENCE FROM CARBON (under review). Carbon's Tr2MeshBase::CreateGeometryBatch\n // bakes realized Tr2BufferAL allocations + computed draw args (startIndex,\n // baseVertex, primCount) into the batch at collection time, gated on\n // lod->m_allocationsValid. This field instead records a geometry-resource +\n // area-range descriptor resolved later — which is ccpwgl's Tw2GeometryBatch /\n // RenderAreas model, NOT Carbon's. It exists because GPU-free runtime-trinity\n // has no realized allocations at collection. The faithful fix is to port\n // Carbon's CreateGeometryBatch math against a duck-typed realized-LOD seam, or\n // to move CreateGeometryBatch to the engine. See the 2026-07-23 handoff §10.\n this.geometrySource = null;\n\n this.objectData = null;\n this.renderingMode = RenderingMode.RM_ANY;\n this.topology = D3dPrimitiveTopology.TRIANGLELIST;\n\n this.indexCountPerInstance = 0;\n this.instanceCount = 0;\n this.startIndexLocation = 0;\n this.baseVertexLocation = 0;\n this.startInstanceLocation = 0;\n\n this.pickingData = 0;\n this.depth = 0;\n this.priority = 0;\n\n // Default 1; the effect-sort partition rewrites this on the first batch of\n // each bin-run to the run length so dispatch can stride one state-set over\n // several draws. Meaningless on non-leading batches of a run.\n this.groupCount = 1;\n }\n\n // Sets material and derives the shader key from it. In the realized engine the\n // shader is the material's shader-state interface; in GPU-free collection no\n // shader is realized yet, so the material (effect) itself stands in as the\n // shader key. Either way the shader is both the validity key (see IsValid) and\n // the primary bin/sort key, so effect-equal batches still group together.\n SetMaterial(material)\n {\n this.material = material ?? null;\n this.shader = material?.GetShaderStateInterface?.() ?? material ?? null;\n }\n\n SetPriority(priority)\n {\n this.priority = priority >>> 0;\n }\n\n // Carbon: SetGeometry(vertexDecl, Tr2BufferAL& vb, stride, Tr2BufferAL& ib, indexStride).\n SetGeometry(vertexDeclaration, vertexBuffer, vertexStride, indexBuffer, indexStride)\n {\n this.vertexDeclaration = vertexDeclaration >>> 0;\n this.vertexStreams[0] = vertexBuffer ?? null;\n this.vertexStreams[1] = null;\n this.stride[0] = vertexStride >>> 0;\n this.indexBuffer = indexBuffer ?? null;\n this.indexStride = indexStride >>> 0;\n }\n\n // Carbon overload taking suballocated-buffer allocations (the mesh path).\n SetGeometryFromAllocations(vertexDeclaration, vertexAllocation, indexAllocation)\n {\n this.SetGeometry(\n vertexDeclaration,\n vertexAllocation?.GetBuffer?.() ?? vertexAllocation ?? null,\n vertexAllocation?.GetStride?.() ?? 0,\n indexAllocation?.GetBuffer?.() ?? indexAllocation ?? null,\n indexAllocation?.GetStride?.() ?? 0\n );\n }\n\n // Carbon two-stream allocation overload.\n SetGeometryFromAllocations2(vertexDeclaration, vertexAllocation1, vertexAllocation2, indexAllocation)\n {\n this.SetGeometryFromAllocations(vertexDeclaration, vertexAllocation1, indexAllocation);\n this.vertexStreams[1] = vertexAllocation2?.GetBuffer?.() ?? vertexAllocation2 ?? null;\n this.stride[1] = vertexAllocation2?.GetStride?.() ?? 0;\n }\n\n // GPU-free geometry binding: records the resource + mesh/area range for the\n // engine to resolve into realized buffers and draw arguments at dispatch.\n SetGeometrySource(geometry, meshIndex, areaIndex, count, reversed)\n {\n this.geometrySource = {\n geometry: geometry ?? null,\n meshIndex: meshIndex >>> 0,\n areaIndex: areaIndex | 0,\n count: count | 0,\n reversed: !!reversed\n };\n }\n\n SetVertexDeclaration(vertexDeclaration)\n {\n this.vertexDeclaration = vertexDeclaration >>> 0;\n }\n\n SetStreamSource(index, vertexBuffer, vertexStride)\n {\n this.vertexStreams[index] = vertexBuffer ?? null;\n this.stride[index] = vertexStride >>> 0;\n }\n\n // Carbon spells this SetInidices (a typo in the C++ API); we use the corrected\n // name since both producer and consumer are ours.\n SetIndices(indexBuffer, indexStride)\n {\n this.indexBuffer = indexBuffer ?? null;\n this.indexStride = indexStride >>> 0;\n }\n\n SetTopology(topology)\n {\n this.topology = topology;\n }\n\n SetPerObjectData(objectData)\n {\n this.objectData = objectData ?? null;\n }\n\n SetDrawIndexedInstanced(indexCountPerInstance, instanceCount, startIndexLocation, baseVertexLocation, startInstanceLocation)\n {\n this.indexCountPerInstance = indexCountPerInstance >>> 0;\n this.instanceCount = instanceCount >>> 0;\n this.startIndexLocation = startIndexLocation >>> 0;\n this.baseVertexLocation = baseVertexLocation >>> 0;\n this.startInstanceLocation = startInstanceLocation >>> 0;\n }\n\n // Non-indexed draw: reuses indexCountPerInstance for the vertex count and\n // startIndexLocation for the start vertex; baseVertexLocation is left as is.\n SetDrawInstanced(vertexCountPerInstance, instanceCount, startVertexLocation, startInstanceLocation)\n {\n this.indexCountPerInstance = vertexCountPerInstance >>> 0;\n this.instanceCount = instanceCount >>> 0;\n this.startIndexLocation = startVertexLocation >>> 0;\n this.startInstanceLocation = startInstanceLocation >>> 0;\n }\n\n SetRenderingMode(mode)\n {\n this.renderingMode = mode;\n }\n\n // Carbon overloads SetPickingData(data) and SetPickingData(meshIndex, areaIndex).\n SetPickingData(a, b)\n {\n this.pickingData = (b === undefined) ? (a >>> 0) : (((a << 8) | (b & 0xff)) >>> 0);\n }\n\n // A batch is valid iff it has a shader (i.e. SetMaterial was called with a\n // material that exposed a shader-state interface). Invalid batches are dropped\n // silently at Commit time.\n IsValid()\n {\n return this.shader !== null && this.shader !== undefined;\n }\n}\n\n// Two batches can share a single state-set (one bin/GDPR group) iff all of these\n// match. Note: priority, material and topology are intentionally NOT compared\n// here (faithful to Carbon CanBeBinned).\nexport function CanBeBinned(batch1, batch2)\n{\n return batch1.shader === batch2.shader\n && batch1.vertexDeclaration === batch2.vertexDeclaration\n && batch1.indexStride === batch2.indexStride\n && batch1.vertexStreams[0] === batch2.vertexStreams[0]\n && batch1.vertexStreams[1] === batch2.vertexStreams[1]\n && batch1.renderingMode === batch2.renderingMode;\n}\n\n// JS comparator (negative/zero/positive) reproducing Carbon Compare's strict-weak\n// ordering: priority, shader, vertexDeclaration, indexStride, stream0, stream1,\n// renderingMode. Pointer identity is replaced by a stable per-reference order id.\nexport function CompareBatches(batch1, batch2)\n{\n if (batch1.priority !== batch2.priority) return batch1.priority - batch2.priority;\n\n const shaderOrder = OrderOf(batch1.shader) - OrderOf(batch2.shader);\n if (shaderOrder !== 0) return shaderOrder;\n\n if (batch1.vertexDeclaration !== batch2.vertexDeclaration) return batch1.vertexDeclaration - batch2.vertexDeclaration;\n if (batch1.indexStride !== batch2.indexStride) return batch1.indexStride - batch2.indexStride;\n\n const stream0Order = OrderOf(batch1.vertexStreams[0]) - OrderOf(batch2.vertexStreams[0]);\n if (stream0Order !== 0) return stream0Order;\n\n const stream1Order = OrderOf(batch1.vertexStreams[1]) - OrderOf(batch2.vertexStreams[1]);\n if (stream1Order !== 0) return stream1Order;\n\n return batch1.renderingMode - batch2.renderingMode;\n}\n\n// Sorts a batch vector and writes each bin-run's length onto the run's leading\n// batch (groupCount). Mirrors Tr2GdprBatchFullPartition. JS Array.sort is stable,\n// so the \"full\" and \"stable\" partition variants are behaviourally identical here.\nexport function Tr2GdprBatchFullPartition(batches)\n{\n PartitionBatchGroups(batches);\n}\n\nexport function Tr2GdprBatchStableFullPartition(batches)\n{\n PartitionBatchGroups(batches);\n}\n\nfunction PartitionBatchGroups(batches)\n{\n if (batches.length === 0) return;\n\n batches.sort(CompareBatches);\n\n let first = 0;\n for (let current = 0; current < batches.length; current++)\n {\n if (!CanBeBinned(batches[first], batches[current]))\n {\n batches[first].groupCount = current - first;\n first = current;\n }\n }\n batches[first].groupCount = batches.length - first;\n}\n"],"names":["nextOrderId","orderIds","WeakMap","OrderOf","ref","undefined","Number","id","get","set","TriRenderBatchAreaBlock","constructor","startIndex","count","Optimize","areaBlockVector","indices","Set","block","i","add","sorted","Array","from","sort","a","b","length","start","run","value","push","TriRenderBatchAreaBlocksWithSharedMaterial","shaderMaterial","Clear","Tr2RenderBatch","material","shader","vertexDeclaration","vertexStreams","stride","indexBuffer","indexStride","geometrySource","objectData","renderingMode","RenderingMode","RM_ANY","topology","D3dPrimitiveTopology","TRIANGLELIST","indexCountPerInstance","instanceCount","startIndexLocation","baseVertexLocation","startInstanceLocation","pickingData","depth","priority","groupCount","SetMaterial","GetShaderStateInterface","SetPriority","SetGeometry","vertexBuffer","vertexStride","SetGeometryFromAllocations","vertexAllocation","indexAllocation","GetBuffer","GetStride","SetGeometryFromAllocations2","vertexAllocation1","vertexAllocation2","SetGeometrySource","geometry","meshIndex","areaIndex","reversed","SetVertexDeclaration","SetStreamSource","index","SetIndices","SetTopology","SetPerObjectData","SetDrawIndexedInstanced","SetDrawInstanced","vertexCountPerInstance","startVertexLocation","SetRenderingMode","mode","SetPickingData","IsValid","CanBeBinned","batch1","batch2","CompareBatches","shaderOrder","stream0Order","stream1Order","Tr2GdprBatchFullPartition","batches","PartitionBatchGroups","Tr2GdprBatchStableFullPartition","first","current"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { type } from '@carbonenginejs/core-types/schema';
|
|
|
3
3
|
import { CjsModel } from '@carbonenginejs/core-types/model';
|
|
4
4
|
import { mat4 } from '@carbonenginejs/core-math/mat4';
|
|
5
5
|
import { vec3 } from '@carbonenginejs/core-math/vec3';
|
|
6
|
+
import { Tr2VariableStore as _Tr2VariableStore } from './Tr2VariableStore.js';
|
|
6
7
|
|
|
7
8
|
let _initClass;
|
|
8
9
|
|
|
@@ -36,6 +37,10 @@ new class extends _identity {
|
|
|
36
37
|
#inverseViewTransform = mat4.create();
|
|
37
38
|
#viewPosition = vec3.create();
|
|
38
39
|
#hasViewMatrix = false;
|
|
40
|
+
#viewportStack = [];
|
|
41
|
+
#projectionStack = [];
|
|
42
|
+
#viewTransformStack = [];
|
|
43
|
+
#intentCursor = 0;
|
|
39
44
|
SetStepExecutor(executor) {
|
|
40
45
|
this.#stepExecutor = executor ?? null;
|
|
41
46
|
return this;
|
|
@@ -147,6 +152,112 @@ new class extends _identity {
|
|
|
147
152
|
});
|
|
148
153
|
return true;
|
|
149
154
|
}
|
|
155
|
+
RenderObject(renderable, options = {}) {
|
|
156
|
+
this.#intents.push({
|
|
157
|
+
type: "render-object",
|
|
158
|
+
renderable,
|
|
159
|
+
...options
|
|
160
|
+
});
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
DrawEffect(effect, shaderBuffer = null, tlTexCoord = null, brTexCoord = null) {
|
|
164
|
+
this.#intents.push({
|
|
165
|
+
type: "draw-effect",
|
|
166
|
+
effect,
|
|
167
|
+
shaderBuffer,
|
|
168
|
+
tlTexCoord: tlTexCoord ? Array.from(tlTexCoord) : null,
|
|
169
|
+
brTexCoord: brTexCoord ? Array.from(brTexCoord) : null
|
|
170
|
+
});
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
DrawLineSet(lineSet) {
|
|
174
|
+
this.#intents.push({
|
|
175
|
+
type: "draw-line-set",
|
|
176
|
+
lineSet
|
|
177
|
+
});
|
|
178
|
+
return true;
|
|
179
|
+
}
|
|
180
|
+
ClearUav(buffer, value, clearWithFloat = false) {
|
|
181
|
+
this.#intents.push({
|
|
182
|
+
type: "clear-uav",
|
|
183
|
+
buffer,
|
|
184
|
+
value: Array.from(value),
|
|
185
|
+
clearWithFloat: !!clearWithFloat
|
|
186
|
+
});
|
|
187
|
+
return true;
|
|
188
|
+
}
|
|
189
|
+
RenderAtlas(step) {
|
|
190
|
+
this.#intents.push({
|
|
191
|
+
type: "render-atlas",
|
|
192
|
+
step
|
|
193
|
+
});
|
|
194
|
+
return true;
|
|
195
|
+
}
|
|
196
|
+
RenderLineGraphs(step) {
|
|
197
|
+
this.#intents.push({
|
|
198
|
+
type: "render-line-graphs",
|
|
199
|
+
step
|
|
200
|
+
});
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
RenderTexture(source, options = {}) {
|
|
204
|
+
this.#intents.push({
|
|
205
|
+
type: "render-texture",
|
|
206
|
+
source,
|
|
207
|
+
...options
|
|
208
|
+
});
|
|
209
|
+
return true;
|
|
210
|
+
}
|
|
211
|
+
RenderDebug(debugStep) {
|
|
212
|
+
this.#intents.push({
|
|
213
|
+
type: "render-debug",
|
|
214
|
+
vertices: debugStep.lineSet.vertices.map(vertex => ({
|
|
215
|
+
position: Array.from(vertex.position),
|
|
216
|
+
color: vertex.color
|
|
217
|
+
})),
|
|
218
|
+
text2d: debugStep.text2d.map(entry => ({
|
|
219
|
+
...entry
|
|
220
|
+
})),
|
|
221
|
+
text3d: debugStep.text3d.map(entry => ({
|
|
222
|
+
...entry,
|
|
223
|
+
position: Array.from(entry.position)
|
|
224
|
+
}))
|
|
225
|
+
});
|
|
226
|
+
return true;
|
|
227
|
+
}
|
|
228
|
+
RunComputeShader(effect, groupDimX = 1, groupDimY = 1, groupDimZ = 1) {
|
|
229
|
+
this.#intents.push({
|
|
230
|
+
type: "run-compute-shader",
|
|
231
|
+
effect,
|
|
232
|
+
groupDimX,
|
|
233
|
+
groupDimY,
|
|
234
|
+
groupDimZ
|
|
235
|
+
});
|
|
236
|
+
return true;
|
|
237
|
+
}
|
|
238
|
+
RunComputeShaderIndirect(effect, indirectionBuffer, offsetForArgs = 0) {
|
|
239
|
+
this.#intents.push({
|
|
240
|
+
type: "run-compute-shader-indirect",
|
|
241
|
+
effect,
|
|
242
|
+
indirectionBuffer,
|
|
243
|
+
offsetForArgs
|
|
244
|
+
});
|
|
245
|
+
return true;
|
|
246
|
+
}
|
|
247
|
+
SetUpscalingContextID(upscalingContextID) {
|
|
248
|
+
this.#intents.push({
|
|
249
|
+
type: "set-upscaling-context-id",
|
|
250
|
+
upscalingContextID: Number(upscalingContextID) >>> 0
|
|
251
|
+
});
|
|
252
|
+
return true;
|
|
253
|
+
}
|
|
254
|
+
SetDebugRenderer(renderer) {
|
|
255
|
+
this.#intents.push({
|
|
256
|
+
type: "set-debug-renderer",
|
|
257
|
+
renderer: renderer ?? null
|
|
258
|
+
});
|
|
259
|
+
return true;
|
|
260
|
+
}
|
|
150
261
|
PresentSwapChain(swapChain) {
|
|
151
262
|
this.#intents.push({
|
|
152
263
|
type: "present-swap-chain",
|
|
@@ -172,6 +283,27 @@ new class extends _identity {
|
|
|
172
283
|
GetViewport() {
|
|
173
284
|
return this.#viewport;
|
|
174
285
|
}
|
|
286
|
+
|
|
287
|
+
// Save/restore stack for the current viewport (Carbon Push/PopViewport). The
|
|
288
|
+
// step calls these with no argument: push saves the current viewport, pop
|
|
289
|
+
// restores it and re-records the set-viewport intent so realization sees the
|
|
290
|
+
// restored value. Independent of the RT/DS balance-guard stacks.
|
|
291
|
+
PushViewport() {
|
|
292
|
+
this.#viewportStack.push(this.#viewport);
|
|
293
|
+
return true;
|
|
294
|
+
}
|
|
295
|
+
PopViewport() {
|
|
296
|
+
if (!this.#viewportStack.length) return false;
|
|
297
|
+
this.#viewport = this.#viewportStack.pop();
|
|
298
|
+
this.#intents.push({
|
|
299
|
+
type: "set-viewport",
|
|
300
|
+
viewport: this.#viewport
|
|
301
|
+
});
|
|
302
|
+
return true;
|
|
303
|
+
}
|
|
304
|
+
GetStackSizeViewport() {
|
|
305
|
+
return this.#viewportStack.length;
|
|
306
|
+
}
|
|
175
307
|
SetView(view, camera = null, simTime = 0) {
|
|
176
308
|
this.#view = {
|
|
177
309
|
view: view ?? null,
|
|
@@ -241,6 +373,39 @@ new class extends _identity {
|
|
|
241
373
|
HasViewMatrix() {
|
|
242
374
|
return this.#hasViewMatrix;
|
|
243
375
|
}
|
|
376
|
+
|
|
377
|
+
// Save/restore stack for the cached view transform (Carbon Push/PopViewTransform).
|
|
378
|
+
// Push snapshots the current view object, its matrix, and the has-matrix flag;
|
|
379
|
+
// pop restores them and re-derives the inverse/eye-position via ApplyViewMatrix.
|
|
380
|
+
PushViewTransform() {
|
|
381
|
+
this.#viewTransformStack.push({
|
|
382
|
+
view: this.#view,
|
|
383
|
+
hasViewMatrix: this.#hasViewMatrix,
|
|
384
|
+
transform: this.#hasViewMatrix ? mat4.copy(mat4.create(), this.#viewTransform) : null
|
|
385
|
+
});
|
|
386
|
+
return true;
|
|
387
|
+
}
|
|
388
|
+
PopViewTransform() {
|
|
389
|
+
if (!this.#viewTransformStack.length) return false;
|
|
390
|
+
const saved = this.#viewTransformStack.pop();
|
|
391
|
+
this.#view = saved.view;
|
|
392
|
+
if (saved.transform) {
|
|
393
|
+
this.#ApplyViewMatrix(saved.transform);
|
|
394
|
+
} else {
|
|
395
|
+
mat4.identity(this.#viewTransform);
|
|
396
|
+
mat4.identity(this.#inverseViewTransform);
|
|
397
|
+
vec3.set(this.#viewPosition, 0, 0, 0);
|
|
398
|
+
this.#hasViewMatrix = false;
|
|
399
|
+
}
|
|
400
|
+
this.#intents.push({
|
|
401
|
+
type: "set-view-transform",
|
|
402
|
+
...(this.#view ?? {})
|
|
403
|
+
});
|
|
404
|
+
return true;
|
|
405
|
+
}
|
|
406
|
+
GetStackSizeViewTransform() {
|
|
407
|
+
return this.#viewTransformStack.length;
|
|
408
|
+
}
|
|
244
409
|
SetProjection(projection) {
|
|
245
410
|
this.#projection = projection ?? null;
|
|
246
411
|
this.#intents.push({
|
|
@@ -274,11 +439,48 @@ new class extends _identity {
|
|
|
274
439
|
GetProjection() {
|
|
275
440
|
return this.#projection;
|
|
276
441
|
}
|
|
442
|
+
|
|
443
|
+
// Save/restore stack for the current projection (Carbon Push/PopProjection).
|
|
444
|
+
PushProjection() {
|
|
445
|
+
this.#projectionStack.push(this.#projection);
|
|
446
|
+
return true;
|
|
447
|
+
}
|
|
448
|
+
PopProjection() {
|
|
449
|
+
if (!this.#projectionStack.length) return false;
|
|
450
|
+
this.#projection = this.#projectionStack.pop();
|
|
451
|
+
this.#intents.push({
|
|
452
|
+
type: "set-projection",
|
|
453
|
+
projection: this.#projection
|
|
454
|
+
});
|
|
455
|
+
return true;
|
|
456
|
+
}
|
|
457
|
+
GetStackSizeProjection() {
|
|
458
|
+
return this.#projectionStack.length;
|
|
459
|
+
}
|
|
277
460
|
GetIntents() {
|
|
278
461
|
return this.#intents.slice();
|
|
279
462
|
}
|
|
463
|
+
|
|
464
|
+
// Incremental exactly-once consumption for a per-step/per-batch executor:
|
|
465
|
+
// returns the intents recorded since the previous TakeIntents/ClearIntents and
|
|
466
|
+
// advances the cursor. Unlike GetIntents (a full copy), the same intent is
|
|
467
|
+
// never returned twice, so nested jobs cannot realize an intent more than once.
|
|
468
|
+
TakeIntents() {
|
|
469
|
+
const taken = this.#intents.slice(this.#intentCursor);
|
|
470
|
+
this.#intentCursor = this.#intents.length;
|
|
471
|
+
return taken;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
// Peek at the intents since the cursor without advancing it.
|
|
475
|
+
PeekIntents() {
|
|
476
|
+
return this.#intents.slice(this.#intentCursor);
|
|
477
|
+
}
|
|
478
|
+
GetIntentCursor() {
|
|
479
|
+
return this.#intentCursor;
|
|
480
|
+
}
|
|
280
481
|
ClearIntents() {
|
|
281
482
|
this.#intents.length = 0;
|
|
483
|
+
this.#intentCursor = 0;
|
|
282
484
|
}
|
|
283
485
|
AddDiagnostic(diagnostic) {
|
|
284
486
|
this.#diagnostics.push(diagnostic);
|
|
@@ -292,6 +494,43 @@ new class extends _identity {
|
|
|
292
494
|
static GetDefault() {
|
|
293
495
|
return _Tr2RenderContext.#defaultContext;
|
|
294
496
|
}
|
|
497
|
+
|
|
498
|
+
/**
|
|
499
|
+
* The global "objectId" TriVariable Carbon registers at context
|
|
500
|
+
* construction and stamps per batch during picking. Registered lazily
|
|
501
|
+
* here so contexts that never pick pay nothing.
|
|
502
|
+
*/
|
|
503
|
+
GetObjectIdVariable() {
|
|
504
|
+
if (!this.#objectIdVariable) {
|
|
505
|
+
this.#objectIdVariable = _Tr2VariableStore.GlobalStore().RegisterVariable("objectId", 0.0);
|
|
506
|
+
}
|
|
507
|
+
return this.#objectIdVariable;
|
|
508
|
+
}
|
|
509
|
+
#objectIdVariable = null;
|
|
510
|
+
|
|
511
|
+
/**
|
|
512
|
+
* True when any batch's shader implements the technique with at least one
|
|
513
|
+
* pass - Carbon's cheap "can this pass be skipped entirely" pre-check.
|
|
514
|
+
* Consecutive batches sharing a shader are tested once.
|
|
515
|
+
*/
|
|
516
|
+
static TechniqueInBatch(batches, techniqueName) {
|
|
517
|
+
let prevShader = null;
|
|
518
|
+
for (const batch of batches) {
|
|
519
|
+
const shader = batch?.shader;
|
|
520
|
+
if (!shader || shader === prevShader) {
|
|
521
|
+
continue;
|
|
522
|
+
}
|
|
523
|
+
prevShader = shader;
|
|
524
|
+
const technique = shader.GetTechniqueIndex?.(techniqueName);
|
|
525
|
+
if (technique === undefined || technique === null || technique < 0) {
|
|
526
|
+
continue;
|
|
527
|
+
}
|
|
528
|
+
if ((shader.GetPassCount?.(technique) ?? 0) > 0) {
|
|
529
|
+
return true;
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
return false;
|
|
533
|
+
}
|
|
295
534
|
}];
|
|
296
535
|
TextureFilter = Object.freeze({
|
|
297
536
|
TF_NONE: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2RenderContext.js","sources":["../../../src/trinityCore/Tr2RenderContext.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Tr2RenderContext.h (name/role)\n// trinity/trinityal/*/Tr2RenderContext*.h (command surface, recorded as intents)\n// trinity/trinity/Tr2Renderer.cpp (view-state statics, relocated here)\n// Hand-maintained amalgam of three Carbon surfaces (audited 2026-07-18):\n// 1. The command surface (PushRenderTarget/Clear/SetViewport/PresentSwapChain/\n// SetRenderState/...) mirrors the backend AL context classes and RECORDS\n// INTENTS instead of executing - a deliberate stand-in until the\n// WebGL/WebGPU engine exists.\n// 2. The cached view state (SetViewTransform -> GetViewTransform/\n// GetInverseViewTransform/GetViewPosition) relocates Carbon's Tr2Renderer\n// STATICS onto this context so frame consumers read it via the threaded\n// updateContext.renderContext instead of a global.\n// 3. Carbon's actual Tr2RenderContext.h surface - RenderBatches family,\n// GetConstantBuffer/GetBackBuffer, and Fork/Join parallel encoding - is NOT\n// ported: batch rendering awaits the material/batch runtime; parallel\n// encoding is intentionally omitted in single-threaded JS.\nimport { type } from \"@carbonenginejs/core-types/schema\";\nimport { CjsModel } from \"@carbonenginejs/core-types/model\";\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\n\n/** Tr2RenderContext (trinityCore) - generated from schema shapeHash 73e2a4e7.... */\n@type.define({ className: \"Tr2RenderContext\", family: \"trinityCore\" })\nexport class Tr2RenderContext extends CjsModel\n{\n #renderTargetStacks = new Map();\n\n #depthStencilStack = [];\n\n #diagnostics = [];\n\n #stepExecutor = null;\n\n #intents = [];\n\n #renderTargets = new Map();\n\n #depthStencil = null;\n\n #viewport = null;\n\n #view = null;\n\n #projection = null;\n\n // Carbon-faithful cached view state (Tr2Renderer::SetViewTransform): the raw\n // column-major view matrix, its inverse (computed once per view change, read\n // many times per frame by camera-dependent modifiers), and the view/eye\n // position taken from the inverse-view translation row. Allocated once and\n // copied into - never reallocated per read (allocation rules E/F).\n #viewTransform = mat4.create();\n\n #inverseViewTransform = mat4.create();\n\n #viewPosition = vec3.create();\n\n #hasViewMatrix = false;\n\n static TextureFilter = Object.freeze({\n TF_NONE: 0,\n TF_POINT: 1,\n TF_LINEAR: 2,\n TF_ANISOTROPIC: 3,\n TF_COMPARISON: 0x80\n });\n\n static TextureAddressMode = Object.freeze({\n TA_WRAP: 1,\n TA_MIRROR: 2,\n TA_CLAMP: 3,\n TA_BORDER: 4,\n TA_MIRROR_ONCE: 5\n });\n\n SetStepExecutor(executor)\n {\n this.#stepExecutor = executor ?? null;\n return this;\n }\n\n BeginStep(step, realTime, simTime, job)\n {\n if (this.#stepExecutor?.BeginStep)\n {\n return this.#stepExecutor.BeginStep(step, realTime, simTime, job, this);\n }\n return step?.BeginExecute?.(this);\n }\n\n ExecuteStep(step, realTime, simTime, job)\n {\n if (this.#stepExecutor?.ExecuteStep)\n {\n return this.#stepExecutor.ExecuteStep(step, realTime, simTime, job, this);\n }\n return step?.Execute?.(realTime, simTime, this);\n }\n\n EndStep(step, realTime, simTime, job)\n {\n if (this.#stepExecutor?.EndStep)\n {\n return this.#stepExecutor.EndStep(step, realTime, simTime, job, this);\n }\n return step?.EndExecute?.(this);\n }\n\n PushRenderTarget(renderTarget = null, slot = 0)\n {\n const index = Number(slot) >>> 0;\n let stack = this.#renderTargetStacks.get(index);\n if (!stack)\n {\n stack = [];\n this.#renderTargetStacks.set(index, stack);\n }\n stack.push(renderTarget);\n return true;\n }\n\n PopRenderTarget(slot = 0)\n {\n const stack = this.#renderTargetStacks.get(Number(slot) >>> 0);\n return stack?.length ? stack.pop() : null;\n }\n\n GetStackSizeRT(slot = 0)\n {\n return this.#renderTargetStacks.get(Number(slot) >>> 0)?.length ?? 0;\n }\n\n PushDepthStencil(depthStencil = null)\n {\n this.#depthStencilStack.push(depthStencil);\n return true;\n }\n\n PopDepthStencil()\n {\n return this.#depthStencilStack.length ? this.#depthStencilStack.pop() : null;\n }\n\n GetStackSizeDS()\n {\n return this.#depthStencilStack.length;\n }\n\n SetRenderTarget(slot, renderTarget)\n {\n const index = Number(slot) >>> 0;\n this.#renderTargets.set(index, renderTarget ?? null);\n this.#intents.push({ type: \"set-render-target\", slot: index, renderTarget: renderTarget ?? null });\n return true;\n }\n\n GetRenderTarget(slot = 0)\n {\n return this.#renderTargets.get(Number(slot) >>> 0) ?? null;\n }\n\n SetDepthStencil(depthStencil)\n {\n this.#depthStencil = depthStencil ?? null;\n this.#intents.push({ type: \"set-depth-stencil\", depthStencil: this.#depthStencil });\n return true;\n }\n\n GetDepthStencil()\n {\n return this.#depthStencil;\n }\n\n Clear(options)\n {\n const intent = {\n type: \"clear\",\n color: options?.color ? Array.from(options.color) : null,\n depth: options?.depth ?? null,\n stencil: options?.stencil ?? null,\n clearColor: !!options?.clearColor,\n clearDepth: !!options?.clearDepth,\n clearStencil: !!options?.clearStencil\n };\n this.#intents.push(intent);\n return true;\n }\n\n IsRenderTargetValid(renderTarget)\n {\n return renderTarget != null;\n }\n\n ResolveRenderTarget(source, destination)\n {\n this.#intents.push({ type: \"resolve-render-target\", source, destination });\n return true;\n }\n\n CopyRenderTarget(intent)\n {\n this.#intents.push({ type: \"copy-render-target\", ...intent });\n return true;\n }\n\n GenerateMipMaps(renderTarget)\n {\n this.#intents.push({ type: \"generate-mipmaps\", renderTarget });\n return true;\n }\n\n PresentSwapChain(swapChain)\n {\n this.#intents.push({ type: \"present-swap-chain\", swapChain });\n return true;\n }\n\n SetViewport(viewport)\n {\n this.#viewport = viewport ?? null;\n this.#intents.push({ type: \"set-viewport\", viewport: this.#viewport });\n return true;\n }\n\n SetFullScreenViewport()\n {\n this.#viewport = null;\n this.#intents.push({ type: \"set-fullscreen-viewport\" });\n return true;\n }\n\n GetViewport()\n {\n return this.#viewport;\n }\n\n SetView(view, camera = null, simTime = 0)\n {\n this.#view = { view: view ?? null, camera: camera ?? null, simTime };\n this.#ApplyViewMatrix(view);\n this.#intents.push({ type: \"set-view\", ...this.#view });\n return true;\n }\n\n SetViewTransform(transform, source = null)\n {\n this.#view = { transform: transform ?? null, source: source ?? null };\n this.#ApplyViewMatrix(transform);\n this.#intents.push({ type: \"set-view-transform\", ...this.#view });\n return true;\n }\n\n // Mirrors Tr2Renderer::SetViewTransform: cache the view matrix, compute its\n // inverse once, and derive the view position from the inverse-view\n // translation row (Carbon reads _41.._43 -> column-major indices [12,13,14]).\n #ApplyViewMatrix(matrix)\n {\n if (!matrix || matrix.length !== 16)\n {\n return;\n }\n\n mat4.copy(this.#viewTransform, matrix);\n\n if (!mat4.invert(this.#inverseViewTransform, this.#viewTransform))\n {\n mat4.identity(this.#inverseViewTransform);\n }\n\n vec3.set(\n this.#viewPosition,\n this.#inverseViewTransform[12],\n this.#inverseViewTransform[13],\n this.#inverseViewTransform[14]\n );\n this.#hasViewMatrix = true;\n }\n\n GetView()\n {\n return this.#view ? { ...this.#view } : null;\n }\n\n // Raw column-major view matrix (Tr2Renderer::GetViewTransform). Live buffer -\n // callers read, never mutate.\n GetViewTransform()\n {\n return this.#viewTransform;\n }\n\n // Inverse of the view matrix (Tr2Renderer::GetInverseViewTransform), cached on\n // the last view change. Live buffer - callers read, never mutate.\n GetInverseViewTransform()\n {\n return this.#inverseViewTransform;\n }\n\n // World-space view/eye position (Tr2Renderer::GetViewPosition): the\n // inverse-view translation. Live buffer - callers read, never mutate.\n GetViewPosition()\n {\n return this.#viewPosition;\n }\n\n // Whether a view matrix has been set (camera-dependent modifiers fall back to\n // an unchanged transform when it has not).\n HasViewMatrix()\n {\n return this.#hasViewMatrix;\n }\n\n SetProjection(projection)\n {\n this.#projection = projection ?? null;\n this.#intents.push({ type: \"set-projection\", projection: this.#projection });\n return true;\n }\n\n SetRenderState(state, value)\n {\n this.#intents.push({ type: \"set-render-state\", state: Number(state) >>> 0, value: Number(value) >>> 0 });\n return true;\n }\n\n ApplyStandardStates(renderingMode)\n {\n this.#intents.push({ type: \"apply-standard-states\", renderingMode: Number(renderingMode) >>> 0 });\n return true;\n }\n\n SetWireframeRendering(enabled)\n {\n this.#intents.push({ type: \"set-wireframe-rendering\", enabled: !!enabled });\n return true;\n }\n\n GetProjection()\n {\n return this.#projection;\n }\n\n GetIntents()\n {\n return this.#intents.slice();\n }\n\n ClearIntents()\n {\n this.#intents.length = 0;\n }\n\n AddDiagnostic(diagnostic)\n {\n this.#diagnostics.push(diagnostic);\n }\n\n GetDiagnostics()\n {\n return this.#diagnostics.slice();\n }\n\n ClearDiagnostics()\n {\n this.#diagnostics.length = 0;\n }\n\n static GetDefault()\n {\n return Tr2RenderContext.#defaultContext;\n }\n\n static #defaultContext = new Tr2RenderContext();\n}\n"],"names":["_Tr2RenderContext","_identity","Tr2RenderContext","CjsModel","_initClass","_applyDecs","type","define","className","family","c","Map","mat4","create","vec3","SetStepExecutor","executor","BeginStep","step","realTime","simTime","job","BeginExecute","ExecuteStep","Execute","EndStep","EndExecute","PushRenderTarget","renderTarget","slot","index","Number","stack","get","set","push","PopRenderTarget","length","pop","GetStackSizeRT","PushDepthStencil","depthStencil","PopDepthStencil","GetStackSizeDS","SetRenderTarget","GetRenderTarget","SetDepthStencil","GetDepthStencil","Clear","options","intent","color","Array","from","depth","stencil","clearColor","clearDepth","clearStencil","IsRenderTargetValid","ResolveRenderTarget","source","destination","CopyRenderTarget","GenerateMipMaps","PresentSwapChain","swapChain","SetViewport","viewport","SetFullScreenViewport","GetViewport","SetView","view","camera","SetViewTransform","transform","#ApplyViewMatrix","matrix","copy","invert","identity","GetView","GetViewTransform","GetInverseViewTransform","GetViewPosition","HasViewMatrix","SetProjection","projection","SetRenderState","state","value","ApplyStandardStates","renderingMode","SetWireframeRendering","enabled","GetProjection","GetIntents","slice","ClearIntents","AddDiagnostic","diagnostic","GetDiagnostics","ClearDiagnostics","GetDefault","TextureFilter","Object","freeze","TF_NONE","TF_POINT","TF_LINEAR","TF_ANISOTROPIC","TF_COMPARISON","TextureAddressMode","TA_WRAP","TA_MIRROR","TA_CLAMP","TA_BORDER","TA_MIRROR_ONCE","constructor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tr2RenderContext.js","sources":["../../../src/trinityCore/Tr2RenderContext.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Tr2RenderContext.h (name/role)\n// trinity/trinityal/*/Tr2RenderContext*.h (command surface, recorded as intents)\n// trinity/trinity/Tr2Renderer.cpp (view-state statics, relocated here)\n// Hand-maintained amalgam of three Carbon surfaces (audited 2026-07-18):\n// 1. The command surface (PushRenderTarget/Clear/SetViewport/PresentSwapChain/\n// SetRenderState/...) mirrors the backend AL context classes and RECORDS\n// INTENTS instead of executing - a deliberate stand-in until the\n// WebGL/WebGPU engine exists.\n// 2. The cached view state (SetViewTransform -> GetViewTransform/\n// GetInverseViewTransform/GetViewPosition) relocates Carbon's Tr2Renderer\n// STATICS onto this context so frame consumers read it via the threaded\n// updateContext.renderContext instead of a global.\n// 3. Carbon's actual Tr2RenderContext.h surface - RenderBatches family,\n// GetConstantBuffer/GetBackBuffer, and Fork/Join parallel encoding - is NOT\n// ported: batch rendering awaits the material/batch runtime; parallel\n// encoding is intentionally omitted in single-threaded JS.\nimport { type } from \"@carbonenginejs/core-types/schema\";\nimport { CjsModel } from \"@carbonenginejs/core-types/model\";\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\nimport { Tr2VariableStore } from \"./Tr2VariableStore.js\";\n\n/** Tr2RenderContext (trinityCore) - generated from schema shapeHash 73e2a4e7.... */\n@type.define({ className: \"Tr2RenderContext\", family: \"trinityCore\" })\nexport class Tr2RenderContext extends CjsModel\n{\n #renderTargetStacks = new Map();\n\n #depthStencilStack = [];\n\n #diagnostics = [];\n\n #stepExecutor = null;\n\n #intents = [];\n\n #renderTargets = new Map();\n\n #depthStencil = null;\n\n #viewport = null;\n\n #view = null;\n\n #projection = null;\n\n // Carbon-faithful cached view state (Tr2Renderer::SetViewTransform): the raw\n // column-major view matrix, its inverse (computed once per view change, read\n // many times per frame by camera-dependent modifiers), and the view/eye\n // position taken from the inverse-view translation row. Allocated once and\n // copied into - never reallocated per read (allocation rules E/F).\n #viewTransform = mat4.create();\n\n #inverseViewTransform = mat4.create();\n\n #viewPosition = vec3.create();\n\n #hasViewMatrix = false;\n\n #viewportStack = [];\n\n #projectionStack = [];\n\n #viewTransformStack = [];\n\n #intentCursor = 0;\n\n static TextureFilter = Object.freeze({\n TF_NONE: 0,\n TF_POINT: 1,\n TF_LINEAR: 2,\n TF_ANISOTROPIC: 3,\n TF_COMPARISON: 0x80\n });\n\n static TextureAddressMode = Object.freeze({\n TA_WRAP: 1,\n TA_MIRROR: 2,\n TA_CLAMP: 3,\n TA_BORDER: 4,\n TA_MIRROR_ONCE: 5\n });\n\n SetStepExecutor(executor)\n {\n this.#stepExecutor = executor ?? null;\n return this;\n }\n\n BeginStep(step, realTime, simTime, job)\n {\n if (this.#stepExecutor?.BeginStep)\n {\n return this.#stepExecutor.BeginStep(step, realTime, simTime, job, this);\n }\n return step?.BeginExecute?.(this);\n }\n\n ExecuteStep(step, realTime, simTime, job)\n {\n if (this.#stepExecutor?.ExecuteStep)\n {\n return this.#stepExecutor.ExecuteStep(step, realTime, simTime, job, this);\n }\n return step?.Execute?.(realTime, simTime, this);\n }\n\n EndStep(step, realTime, simTime, job)\n {\n if (this.#stepExecutor?.EndStep)\n {\n return this.#stepExecutor.EndStep(step, realTime, simTime, job, this);\n }\n return step?.EndExecute?.(this);\n }\n\n PushRenderTarget(renderTarget = null, slot = 0)\n {\n const index = Number(slot) >>> 0;\n let stack = this.#renderTargetStacks.get(index);\n if (!stack)\n {\n stack = [];\n this.#renderTargetStacks.set(index, stack);\n }\n stack.push(renderTarget);\n return true;\n }\n\n PopRenderTarget(slot = 0)\n {\n const stack = this.#renderTargetStacks.get(Number(slot) >>> 0);\n return stack?.length ? stack.pop() : null;\n }\n\n GetStackSizeRT(slot = 0)\n {\n return this.#renderTargetStacks.get(Number(slot) >>> 0)?.length ?? 0;\n }\n\n PushDepthStencil(depthStencil = null)\n {\n this.#depthStencilStack.push(depthStencil);\n return true;\n }\n\n PopDepthStencil()\n {\n return this.#depthStencilStack.length ? this.#depthStencilStack.pop() : null;\n }\n\n GetStackSizeDS()\n {\n return this.#depthStencilStack.length;\n }\n\n SetRenderTarget(slot, renderTarget)\n {\n const index = Number(slot) >>> 0;\n this.#renderTargets.set(index, renderTarget ?? null);\n this.#intents.push({ type: \"set-render-target\", slot: index, renderTarget: renderTarget ?? null });\n return true;\n }\n\n GetRenderTarget(slot = 0)\n {\n return this.#renderTargets.get(Number(slot) >>> 0) ?? null;\n }\n\n SetDepthStencil(depthStencil)\n {\n this.#depthStencil = depthStencil ?? null;\n this.#intents.push({ type: \"set-depth-stencil\", depthStencil: this.#depthStencil });\n return true;\n }\n\n GetDepthStencil()\n {\n return this.#depthStencil;\n }\n\n Clear(options)\n {\n const intent = {\n type: \"clear\",\n color: options?.color ? Array.from(options.color) : null,\n depth: options?.depth ?? null,\n stencil: options?.stencil ?? null,\n clearColor: !!options?.clearColor,\n clearDepth: !!options?.clearDepth,\n clearStencil: !!options?.clearStencil\n };\n this.#intents.push(intent);\n return true;\n }\n\n IsRenderTargetValid(renderTarget)\n {\n return renderTarget != null;\n }\n\n ResolveRenderTarget(source, destination)\n {\n this.#intents.push({ type: \"resolve-render-target\", source, destination });\n return true;\n }\n\n CopyRenderTarget(intent)\n {\n this.#intents.push({ type: \"copy-render-target\", ...intent });\n return true;\n }\n\n GenerateMipMaps(renderTarget)\n {\n this.#intents.push({ type: \"generate-mipmaps\", renderTarget });\n return true;\n }\n\n RenderObject(renderable, options = {})\n {\n this.#intents.push({ type: \"render-object\", renderable, ...options });\n return true;\n }\n\n DrawEffect(effect, shaderBuffer = null, tlTexCoord = null, brTexCoord = null)\n {\n this.#intents.push({\n type: \"draw-effect\",\n effect,\n shaderBuffer,\n tlTexCoord: tlTexCoord ? Array.from(tlTexCoord) : null,\n brTexCoord: brTexCoord ? Array.from(brTexCoord) : null\n });\n return true;\n }\n\n DrawLineSet(lineSet)\n {\n this.#intents.push({ type: \"draw-line-set\", lineSet });\n return true;\n }\n\n ClearUav(buffer, value, clearWithFloat = false)\n {\n this.#intents.push({ type: \"clear-uav\", buffer, value: Array.from(value), clearWithFloat: !!clearWithFloat });\n return true;\n }\n\n RenderAtlas(step)\n {\n this.#intents.push({ type: \"render-atlas\", step });\n return true;\n }\n\n RenderLineGraphs(step)\n {\n this.#intents.push({ type: \"render-line-graphs\", step });\n return true;\n }\n\n RenderTexture(source, options = {})\n {\n this.#intents.push({ type: \"render-texture\", source, ...options });\n return true;\n }\n\n RenderDebug(debugStep)\n {\n this.#intents.push({\n type: \"render-debug\",\n vertices: debugStep.lineSet.vertices.map(vertex => ({ position: Array.from(vertex.position), color: vertex.color })),\n text2d: debugStep.text2d.map(entry => ({ ...entry })),\n text3d: debugStep.text3d.map(entry => ({ ...entry, position: Array.from(entry.position) }))\n });\n return true;\n }\n\n RunComputeShader(effect, groupDimX = 1, groupDimY = 1, groupDimZ = 1)\n {\n this.#intents.push({ type: \"run-compute-shader\", effect, groupDimX, groupDimY, groupDimZ });\n return true;\n }\n\n RunComputeShaderIndirect(effect, indirectionBuffer, offsetForArgs = 0)\n {\n this.#intents.push({ type: \"run-compute-shader-indirect\", effect, indirectionBuffer, offsetForArgs });\n return true;\n }\n\n SetUpscalingContextID(upscalingContextID)\n {\n this.#intents.push({ type: \"set-upscaling-context-id\", upscalingContextID: Number(upscalingContextID) >>> 0 });\n return true;\n }\n\n SetDebugRenderer(renderer)\n {\n this.#intents.push({ type: \"set-debug-renderer\", renderer: renderer ?? null });\n return true;\n }\n\n PresentSwapChain(swapChain)\n {\n this.#intents.push({ type: \"present-swap-chain\", swapChain });\n return true;\n }\n\n SetViewport(viewport)\n {\n this.#viewport = viewport ?? null;\n this.#intents.push({ type: \"set-viewport\", viewport: this.#viewport });\n return true;\n }\n\n SetFullScreenViewport()\n {\n this.#viewport = null;\n this.#intents.push({ type: \"set-fullscreen-viewport\" });\n return true;\n }\n\n GetViewport()\n {\n return this.#viewport;\n }\n\n // Save/restore stack for the current viewport (Carbon Push/PopViewport). The\n // step calls these with no argument: push saves the current viewport, pop\n // restores it and re-records the set-viewport intent so realization sees the\n // restored value. Independent of the RT/DS balance-guard stacks.\n PushViewport()\n {\n this.#viewportStack.push(this.#viewport);\n return true;\n }\n\n PopViewport()\n {\n if (!this.#viewportStack.length) return false;\n this.#viewport = this.#viewportStack.pop();\n this.#intents.push({ type: \"set-viewport\", viewport: this.#viewport });\n return true;\n }\n\n GetStackSizeViewport()\n {\n return this.#viewportStack.length;\n }\n\n SetView(view, camera = null, simTime = 0)\n {\n this.#view = { view: view ?? null, camera: camera ?? null, simTime };\n this.#ApplyViewMatrix(view);\n this.#intents.push({ type: \"set-view\", ...this.#view });\n return true;\n }\n\n SetViewTransform(transform, source = null)\n {\n this.#view = { transform: transform ?? null, source: source ?? null };\n this.#ApplyViewMatrix(transform);\n this.#intents.push({ type: \"set-view-transform\", ...this.#view });\n return true;\n }\n\n // Mirrors Tr2Renderer::SetViewTransform: cache the view matrix, compute its\n // inverse once, and derive the view position from the inverse-view\n // translation row (Carbon reads _41.._43 -> column-major indices [12,13,14]).\n #ApplyViewMatrix(matrix)\n {\n if (!matrix || matrix.length !== 16)\n {\n return;\n }\n\n mat4.copy(this.#viewTransform, matrix);\n\n if (!mat4.invert(this.#inverseViewTransform, this.#viewTransform))\n {\n mat4.identity(this.#inverseViewTransform);\n }\n\n vec3.set(\n this.#viewPosition,\n this.#inverseViewTransform[12],\n this.#inverseViewTransform[13],\n this.#inverseViewTransform[14]\n );\n this.#hasViewMatrix = true;\n }\n\n GetView()\n {\n return this.#view ? { ...this.#view } : null;\n }\n\n // Raw column-major view matrix (Tr2Renderer::GetViewTransform). Live buffer -\n // callers read, never mutate.\n GetViewTransform()\n {\n return this.#viewTransform;\n }\n\n // Inverse of the view matrix (Tr2Renderer::GetInverseViewTransform), cached on\n // the last view change. Live buffer - callers read, never mutate.\n GetInverseViewTransform()\n {\n return this.#inverseViewTransform;\n }\n\n // World-space view/eye position (Tr2Renderer::GetViewPosition): the\n // inverse-view translation. Live buffer - callers read, never mutate.\n GetViewPosition()\n {\n return this.#viewPosition;\n }\n\n // Whether a view matrix has been set (camera-dependent modifiers fall back to\n // an unchanged transform when it has not).\n HasViewMatrix()\n {\n return this.#hasViewMatrix;\n }\n\n // Save/restore stack for the cached view transform (Carbon Push/PopViewTransform).\n // Push snapshots the current view object, its matrix, and the has-matrix flag;\n // pop restores them and re-derives the inverse/eye-position via ApplyViewMatrix.\n PushViewTransform()\n {\n this.#viewTransformStack.push({\n view: this.#view,\n hasViewMatrix: this.#hasViewMatrix,\n transform: this.#hasViewMatrix ? mat4.copy(mat4.create(), this.#viewTransform) : null\n });\n return true;\n }\n\n PopViewTransform()\n {\n if (!this.#viewTransformStack.length) return false;\n\n const saved = this.#viewTransformStack.pop();\n this.#view = saved.view;\n if (saved.transform)\n {\n this.#ApplyViewMatrix(saved.transform);\n }\n else\n {\n mat4.identity(this.#viewTransform);\n mat4.identity(this.#inverseViewTransform);\n vec3.set(this.#viewPosition, 0, 0, 0);\n this.#hasViewMatrix = false;\n }\n this.#intents.push({ type: \"set-view-transform\", ...(this.#view ?? {}) });\n return true;\n }\n\n GetStackSizeViewTransform()\n {\n return this.#viewTransformStack.length;\n }\n\n SetProjection(projection)\n {\n this.#projection = projection ?? null;\n this.#intents.push({ type: \"set-projection\", projection: this.#projection });\n return true;\n }\n\n SetRenderState(state, value)\n {\n this.#intents.push({ type: \"set-render-state\", state: Number(state) >>> 0, value: Number(value) >>> 0 });\n return true;\n }\n\n ApplyStandardStates(renderingMode)\n {\n this.#intents.push({ type: \"apply-standard-states\", renderingMode: Number(renderingMode) >>> 0 });\n return true;\n }\n\n SetWireframeRendering(enabled)\n {\n this.#intents.push({ type: \"set-wireframe-rendering\", enabled: !!enabled });\n return true;\n }\n\n GetProjection()\n {\n return this.#projection;\n }\n\n // Save/restore stack for the current projection (Carbon Push/PopProjection).\n PushProjection()\n {\n this.#projectionStack.push(this.#projection);\n return true;\n }\n\n PopProjection()\n {\n if (!this.#projectionStack.length) return false;\n this.#projection = this.#projectionStack.pop();\n this.#intents.push({ type: \"set-projection\", projection: this.#projection });\n return true;\n }\n\n GetStackSizeProjection()\n {\n return this.#projectionStack.length;\n }\n\n GetIntents()\n {\n return this.#intents.slice();\n }\n\n // Incremental exactly-once consumption for a per-step/per-batch executor:\n // returns the intents recorded since the previous TakeIntents/ClearIntents and\n // advances the cursor. Unlike GetIntents (a full copy), the same intent is\n // never returned twice, so nested jobs cannot realize an intent more than once.\n TakeIntents()\n {\n const taken = this.#intents.slice(this.#intentCursor);\n this.#intentCursor = this.#intents.length;\n return taken;\n }\n\n // Peek at the intents since the cursor without advancing it.\n PeekIntents()\n {\n return this.#intents.slice(this.#intentCursor);\n }\n\n GetIntentCursor()\n {\n return this.#intentCursor;\n }\n\n ClearIntents()\n {\n this.#intents.length = 0;\n this.#intentCursor = 0;\n }\n\n AddDiagnostic(diagnostic)\n {\n this.#diagnostics.push(diagnostic);\n }\n\n GetDiagnostics()\n {\n return this.#diagnostics.slice();\n }\n\n ClearDiagnostics()\n {\n this.#diagnostics.length = 0;\n }\n\n static GetDefault()\n {\n return Tr2RenderContext.#defaultContext;\n }\n\n /**\n * The global \"objectId\" TriVariable Carbon registers at context\n * construction and stamps per batch during picking. Registered lazily\n * here so contexts that never pick pay nothing.\n */\n GetObjectIdVariable()\n {\n if (!this.#objectIdVariable)\n {\n this.#objectIdVariable = Tr2VariableStore.GlobalStore().RegisterVariable(\"objectId\", 0.0);\n }\n return this.#objectIdVariable;\n }\n\n #objectIdVariable = null;\n\n /**\n * True when any batch's shader implements the technique with at least one\n * pass - Carbon's cheap \"can this pass be skipped entirely\" pre-check.\n * Consecutive batches sharing a shader are tested once.\n */\n static TechniqueInBatch(batches, techniqueName)\n {\n let prevShader = null;\n for (const batch of batches)\n {\n const shader = batch?.shader;\n if (!shader || shader === prevShader)\n {\n continue;\n }\n prevShader = shader;\n const technique = shader.GetTechniqueIndex?.(techniqueName);\n if (technique === undefined || technique === null || technique < 0)\n {\n continue;\n }\n if ((shader.GetPassCount?.(technique) ?? 0) > 0)\n {\n return true;\n }\n }\n return false;\n }\n\n static #defaultContext = new Tr2RenderContext();\n}\n"],"names":["_Tr2RenderContext","_identity","Tr2RenderContext","CjsModel","_initClass","_applyDecs","type","define","className","family","c","Map","mat4","create","vec3","SetStepExecutor","executor","BeginStep","step","realTime","simTime","job","BeginExecute","ExecuteStep","Execute","EndStep","EndExecute","PushRenderTarget","renderTarget","slot","index","Number","stack","get","set","push","PopRenderTarget","length","pop","GetStackSizeRT","PushDepthStencil","depthStencil","PopDepthStencil","GetStackSizeDS","SetRenderTarget","GetRenderTarget","SetDepthStencil","GetDepthStencil","Clear","options","intent","color","Array","from","depth","stencil","clearColor","clearDepth","clearStencil","IsRenderTargetValid","ResolveRenderTarget","source","destination","CopyRenderTarget","GenerateMipMaps","RenderObject","renderable","DrawEffect","effect","shaderBuffer","tlTexCoord","brTexCoord","DrawLineSet","lineSet","ClearUav","buffer","value","clearWithFloat","RenderAtlas","RenderLineGraphs","RenderTexture","RenderDebug","debugStep","vertices","map","vertex","position","text2d","entry","text3d","RunComputeShader","groupDimX","groupDimY","groupDimZ","RunComputeShaderIndirect","indirectionBuffer","offsetForArgs","SetUpscalingContextID","upscalingContextID","SetDebugRenderer","renderer","PresentSwapChain","swapChain","SetViewport","viewport","SetFullScreenViewport","GetViewport","PushViewport","PopViewport","GetStackSizeViewport","SetView","view","camera","SetViewTransform","transform","#ApplyViewMatrix","matrix","copy","invert","identity","GetView","GetViewTransform","GetInverseViewTransform","GetViewPosition","HasViewMatrix","PushViewTransform","hasViewMatrix","PopViewTransform","saved","GetStackSizeViewTransform","SetProjection","projection","SetRenderState","state","ApplyStandardStates","renderingMode","SetWireframeRendering","enabled","GetProjection","PushProjection","PopProjection","GetStackSizeProjection","GetIntents","slice","TakeIntents","taken","PeekIntents","GetIntentCursor","ClearIntents","AddDiagnostic","diagnostic","GetDiagnostics","ClearDiagnostics","GetDefault","GetObjectIdVariable","Tr2VariableStore","GlobalStore","RegisterVariable","TechniqueInBatch","batches","techniqueName","prevShader","batch","shader","technique","GetTechniqueIndex","undefined","GetPassCount","TextureFilter","Object","freeze","TF_NONE","TF_POINT","TF_LINEAR","TF_ANISOTROPIC","TF_COMPARISON","TextureAddressMode","TA_WRAP","TA_MIRROR","TA_CLAMP","TA_BORDER","TA_MIRROR_ONCE","constructor"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../_virt
|
|
|
2
2
|
import { vec3 } from '@carbonenginejs/core-math/vec3';
|
|
3
3
|
import { CjsModel } from '@carbonenginejs/core-types/model';
|
|
4
4
|
import { io, type, carbon, impl } from '@carbonenginejs/core-types/schema';
|
|
5
|
+
import { Tr2ParticleElementDeclaration as _Tr2ParticleElementDe } from '../particle/Tr2ParticleElementDeclaration.js';
|
|
5
6
|
|
|
6
7
|
let _initProto, _initClass, _init_name, _init_extra_name, _init_particleSystem, _init_extra_particleSystem, _init_layout, _init_extra_layout, _init_rows, _init_extra_rows, _init_explicitBoundingBox, _init_extra_explicitBoundingBox, _init_count, _init_extra_count, _init_aabbMin, _init_extra_aabbMin, _init_aabbMax, _init_extra_aabbMax;
|
|
7
8
|
let _Tr2RuntimeInstanceDa;
|
|
@@ -14,10 +15,17 @@ new class extends _identity {
|
|
|
14
15
|
} = _applyDecs2311(this, [type.define({
|
|
15
16
|
className: "Tr2RuntimeInstanceData",
|
|
16
17
|
family: "trinityCore"
|
|
17
|
-
})], [[[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, void 0, type.objectRef("Tr2ParticleSystem")], 16, "particleSystem"], [[void 0, io.flag("cpuData"), io, io.notify, io, io.persist, void 0, type.array("unknown")], 16, "layout"], [[void 0, io.flag("cpuData"), io, io.notify, io, io.persist, void 0, type.array("unknown")], 16, "rows"], [[io, io.persist, type, type.boolean], 16, "explicitBoundingBox"], [[io, io.read, type, type.uint32], 16, "count"], [[io, io.persist, type, type.vec3], 16, "aabbMin"], [[io, io.persist, type, type.vec3], 16, "aabbMax"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted], 18, "OnModified"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetElementLayout"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetItem"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetItem"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetItemElement"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetItemElement"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateData"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateBoundingBox"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetBoundingBox"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingBox"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetInstanceBufferBoundingBox"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetStride"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLayout"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetData"], [[carbon, carbon.method, impl, impl.adapted], 18, "DestroyData"]], 0, void 0, CjsModel));
|
|
18
|
+
})], [[[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, void 0, type.objectRef("Tr2ParticleSystem")], 16, "particleSystem"], [[void 0, io.flag("cpuData"), void 0, io.rebuild("instanceBuffer"), io, io.notify, io, io.persist, void 0, type.array("unknown")], 16, "layout"], [[void 0, io.flag("cpuData"), void 0, io.rebuild("instanceBuffer"), io, io.notify, io, io.persist, void 0, type.array("unknown")], 16, "rows"], [[io, io.persist, type, type.boolean], 16, "explicitBoundingBox"], [[io, io.read, type, type.uint32], 16, "count"], [[io, io.persist, type, type.vec3], 16, "aabbMin"], [[io, io.persist, type, type.vec3], 16, "aabbMax"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted], 18, "OnModified"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetElementLayout"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetItem"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetItem"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetItemElement"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetItemElement"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateData"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateBoundingBox"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetBoundingBox"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingBox"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetInstanceBufferBoundingBox"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetStride"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLayout"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetData"], [[carbon, carbon.method, impl, impl.adapted], 18, "DestroyData"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Maps Carbon vertex semantics into the maintained CPU particle-system declaration without GPU buffers.")], 18, "Spawn"], [[carbon, carbon.method, impl, impl.implemented], 18, "Update"], [[carbon, carbon.method, impl, impl.implemented], 18, "SpawnParticles"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetThreadSafeFlag"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "SaveToCMF"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "SaveToGranny"]], 0, void 0, CjsModel));
|
|
18
19
|
}
|
|
19
20
|
name = (_initProto(this), _init_name(this, ""));
|
|
20
21
|
particleSystem = (_init_extra_name(this), _init_particleSystem(this, null));
|
|
22
|
+
|
|
23
|
+
// DIVERGENCE (deliberate): Carbon only Blue-persists name/particleSystem and
|
|
24
|
+
// exposes aabbMin/aabbMax as Be::READ; layout/rows/explicitBoundingBox are
|
|
25
|
+
// private, fed at runtime via SetElementLayout/SetData/SetBoundingBox.
|
|
26
|
+
// The JS port persists the whole quintet so instance data authored in JS can
|
|
27
|
+
// round-trip without Carbon's Python/CMF side channels. Carbon-authored
|
|
28
|
+
// .black files never populate these fields.
|
|
21
29
|
layout = (_init_extra_particleSystem(this), _init_layout(this, []));
|
|
22
30
|
rows = (_init_extra_layout(this), _init_rows(this, []));
|
|
23
31
|
explicitBoundingBox = (_init_extra_rows(this), _init_explicitBoundingBox(this, false));
|
|
@@ -150,6 +158,77 @@ new class extends _identity {
|
|
|
150
158
|
this.#dirty = true;
|
|
151
159
|
}
|
|
152
160
|
|
|
161
|
+
/**
|
|
162
|
+
* Replaces the target particle system with particles decoded from the CPU
|
|
163
|
+
* instance rows.
|
|
164
|
+
*/
|
|
165
|
+
Spawn() {
|
|
166
|
+
const particleSystem = this.particleSystem;
|
|
167
|
+
if (!particleSystem?.isValid || !this.#layout.length || !this.#data) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
const declaration = particleSystem.GetElementDeclaration();
|
|
171
|
+
if (!(declaration instanceof Map)) {
|
|
172
|
+
throw new TypeError("Tr2ParticleSystem.GetElementDeclaration must return the CPU declaration Map.");
|
|
173
|
+
}
|
|
174
|
+
const mappings = [];
|
|
175
|
+
for (const element of declaration.values()) {
|
|
176
|
+
const usage = _Tr2RuntimeInstanceDa.#particleUsageToVertexUsage(element.elementType);
|
|
177
|
+
const usageIndex = element.elementType === _Tr2ParticleElementDe.Type.CUSTOM ? element.usageIndex : 0;
|
|
178
|
+
const layoutIndex = this.#layout.findIndex(item => item.usage === usage && item.usageIndex === usageIndex);
|
|
179
|
+
if (layoutIndex === -1) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
const layout = this.#layout[layoutIndex];
|
|
183
|
+
if (layout.baseType !== "FLOAT32" || layout.componentCount < element.dimension) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
mappings.push({
|
|
187
|
+
element,
|
|
188
|
+
layoutIndex
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
particleSystem.ClearParticles();
|
|
192
|
+
for (const row of this.rows) {
|
|
193
|
+
const particleIndex = particleSystem.BeginSpawnParticle();
|
|
194
|
+
if (particleIndex === null) {
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
for (const mapping of mappings) {
|
|
198
|
+
particleSystem.SetParticleElement(particleIndex, mapping.element.key, row[mapping.layoutIndex]);
|
|
199
|
+
}
|
|
200
|
+
particleSystem.EndSpawnParticle();
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Implements ITr2GenericEmitter. Does nothing as this emitter only emits
|
|
206
|
+
* particles on demand (Spawn).
|
|
207
|
+
*/
|
|
208
|
+
Update(_arguments) {}
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Implements ITr2GenericEmitter. Does nothing as this emitter only emits
|
|
212
|
+
* particles on demand (Spawn); both Carbon overloads are deliberate no-ops.
|
|
213
|
+
*/
|
|
214
|
+
SpawnParticles(..._args) {}
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* Implements ITr2GenericEmitter. Nothing to prepare - this emitter never
|
|
218
|
+
* spawns from the threaded particle update.
|
|
219
|
+
*/
|
|
220
|
+
SetThreadSafeFlag() {}
|
|
221
|
+
|
|
222
|
+
/** Carbon's CMF writer requires the native resource-path and file encoder. */
|
|
223
|
+
SaveToCMF(...args) {
|
|
224
|
+
throw new Error("Tr2RuntimeInstanceData.SaveToCMF is not implemented in CarbonEngineJS.");
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/** Carbon's Granny writer requires the native Granny SDK and filesystem. */
|
|
228
|
+
SaveToGranny(...args) {
|
|
229
|
+
throw new Error("Tr2RuntimeInstanceData.SaveToGranny is not implemented in CarbonEngineJS.");
|
|
230
|
+
}
|
|
231
|
+
|
|
153
232
|
/**
|
|
154
233
|
* Builds Carbon's common current/previous-transform instance stream without
|
|
155
234
|
* creating renderer or GPU resources.
|