@carbonenginejs/runtime-trinity 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1087) hide show
  1. package/README.md +35 -243
  2. package/dist/controllers/CjsControllerExpressionProgram.js +157 -0
  3. package/dist/controllers/CjsControllerExpressionProgram.js.map +1 -1
  4. package/dist/controllers/ITr2ControllerAction.js +57 -0
  5. package/dist/controllers/ITr2ControllerAction.js.map +1 -1
  6. package/dist/controllers/Tr2ActionAnimateCurveSet.js +10 -0
  7. package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
  8. package/dist/controllers/Tr2ActionAnimateValue.js +26 -0
  9. package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
  10. package/dist/controllers/Tr2ActionBindRTPC.js +11 -0
  11. package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
  12. package/dist/controllers/Tr2ActionCallback.js +5 -0
  13. package/dist/controllers/Tr2ActionCallback.js.map +1 -1
  14. package/dist/controllers/Tr2ActionChildEffect.js +63 -0
  15. package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
  16. package/dist/controllers/Tr2ActionOverlay.js +68 -0
  17. package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
  18. package/dist/controllers/Tr2ActionPlayCurveSet.js +16 -0
  19. package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
  20. package/dist/controllers/Tr2ActionPlayMeshAnimation.js +29 -0
  21. package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
  22. package/dist/controllers/Tr2ActionPlaySound.js +11 -0
  23. package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
  24. package/dist/controllers/Tr2ActionPython.js +11 -0
  25. package/dist/controllers/Tr2ActionPython.js.map +1 -1
  26. package/dist/controllers/Tr2ActionResetClipSphereCenter.js +17 -0
  27. package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
  28. package/dist/controllers/Tr2ActionSetAttenuationScaling.js +5 -0
  29. package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
  30. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +5 -0
  31. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
  32. package/dist/controllers/Tr2ActionSetAudioSwitch.js +5 -0
  33. package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
  34. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +23 -0
  35. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  36. package/dist/controllers/Tr2ActionSetShaderOption.js +5 -0
  37. package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
  38. package/dist/controllers/Tr2ActionSetValue.js +35 -0
  39. package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
  40. package/dist/controllers/Tr2ActionSpawnParticles.js +10 -0
  41. package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
  42. package/dist/controllers/Tr2BindingPoint.js +67 -0
  43. package/dist/controllers/Tr2BindingPoint.js.map +1 -1
  44. package/dist/controllers/Tr2Controller.js +37 -0
  45. package/dist/controllers/Tr2Controller.js.map +1 -1
  46. package/dist/controllers/Tr2ControllerEventHandler.js +10 -0
  47. package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
  48. package/dist/controllers/Tr2ControllerExpression.js +17 -0
  49. package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
  50. package/dist/controllers/Tr2ControllerFloatVariable.js +6 -0
  51. package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
  52. package/dist/controllers/Tr2ControllerReference.js +11 -0
  53. package/dist/controllers/Tr2ControllerReference.js.map +1 -1
  54. package/dist/controllers/Tr2StateMachine.js +17 -0
  55. package/dist/controllers/Tr2StateMachine.js.map +1 -1
  56. package/dist/controllers/Tr2StateMachineState.js +47 -0
  57. package/dist/controllers/Tr2StateMachineState.js.map +1 -1
  58. package/dist/controllers/Tr2StateMachineTransition.js +29 -0
  59. package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
  60. package/dist/controllers/Tr2SyncToAnimation.js +5 -0
  61. package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
  62. package/dist/controllers/Tr2TimelineController.js +61 -0
  63. package/dist/controllers/Tr2TimelineController.js.map +1 -1
  64. package/dist/controllers/contracts.js +24 -1
  65. package/dist/controllers/contracts.js.map +1 -1
  66. package/dist/controllers/index.js +1 -1
  67. package/dist/curves/CjsGrannyCurves.js +150 -0
  68. package/dist/curves/CjsGrannyCurves.js.map +1 -1
  69. package/dist/curves/Tr2BoneMatrixCurve.js +23 -0
  70. package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
  71. package/dist/curves/Tr2CameraFollowCurveKey.js +6 -0
  72. package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
  73. package/dist/curves/Tr2CurveColor.js +6 -0
  74. package/dist/curves/Tr2CurveColor.js.map +1 -1
  75. package/dist/curves/Tr2CurveColorMixer.js +6 -0
  76. package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
  77. package/dist/curves/Tr2CurveCombiner.js +5 -0
  78. package/dist/curves/Tr2CurveCombiner.js.map +1 -1
  79. package/dist/curves/Tr2CurveConstant.js +16 -0
  80. package/dist/curves/Tr2CurveConstant.js.map +1 -1
  81. package/dist/curves/Tr2CurveEulerRotation.js +5 -0
  82. package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
  83. package/dist/curves/Tr2CurveEulerRotationExpression.js +66 -0
  84. package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
  85. package/dist/curves/Tr2CurveQuaternion.js +5 -0
  86. package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
  87. package/dist/curves/Tr2CurveQuaternionKey.js +5 -0
  88. package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
  89. package/dist/curves/Tr2CurveRandomAxisRotation.js +28 -0
  90. package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
  91. package/dist/curves/Tr2CurveScalar.js +35 -0
  92. package/dist/curves/Tr2CurveScalar.js.map +1 -1
  93. package/dist/curves/Tr2CurveScalarExpression.js +11 -0
  94. package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
  95. package/dist/curves/Tr2CurveScalarKey.js +6 -0
  96. package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
  97. package/dist/curves/Tr2CurveSetRange.js +5 -0
  98. package/dist/curves/Tr2CurveSetRange.js.map +1 -1
  99. package/dist/curves/Tr2CurveVector2.js +5 -0
  100. package/dist/curves/Tr2CurveVector2.js.map +1 -1
  101. package/dist/curves/Tr2CurveVector3.js +5 -0
  102. package/dist/curves/Tr2CurveVector3.js.map +1 -1
  103. package/dist/curves/Tr2CurveVector3Expression.js +71 -0
  104. package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
  105. package/dist/curves/Tr2CurveVector3Lerp.js +6 -0
  106. package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
  107. package/dist/curves/Tr2DistanceTracker.js +6 -0
  108. package/dist/curves/Tr2DistanceTracker.js.map +1 -1
  109. package/dist/curves/Tr2FollowCurve.js +6 -0
  110. package/dist/curves/Tr2FollowCurve.js.map +1 -1
  111. package/dist/curves/Tr2GrannyEventTrack.js +5 -0
  112. package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
  113. package/dist/curves/Tr2GrannyTrack.js +6 -0
  114. package/dist/curves/Tr2GrannyTrack.js.map +1 -1
  115. package/dist/curves/Tr2GrannyTransformTrack.js +6 -0
  116. package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
  117. package/dist/curves/Tr2GrannyVectorTrack.js +5 -0
  118. package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
  119. package/dist/curves/Tr2MatrixKey.js +5 -0
  120. package/dist/curves/Tr2MatrixKey.js.map +1 -1
  121. package/dist/curves/Tr2ObjectFollowCurveKey.js +6 -0
  122. package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
  123. package/dist/curves/Tr2QuaternionLerpCurve.js +6 -0
  124. package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
  125. package/dist/curves/Tr2RotationAdapter.js +6 -0
  126. package/dist/curves/Tr2RotationAdapter.js.map +1 -1
  127. package/dist/curves/Tr2ScalarExprKey.js +18 -0
  128. package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
  129. package/dist/curves/Tr2ScalarExprKeyCurve.js +23 -0
  130. package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
  131. package/dist/curves/Tr2ScalarFader.js +11 -0
  132. package/dist/curves/Tr2ScalarFader.js.map +1 -1
  133. package/dist/curves/Tr2TranslationAdapter.js +6 -0
  134. package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
  135. package/dist/curves/TriColorSequencer.js +6 -0
  136. package/dist/curves/TriColorSequencer.js.map +1 -1
  137. package/dist/curves/TriCurveSet.js +23 -0
  138. package/dist/curves/TriCurveSet.js.map +1 -1
  139. package/dist/curves/TriEventCurve.js +23 -0
  140. package/dist/curves/TriEventCurve.js.map +1 -1
  141. package/dist/curves/TriEventKey.js +5 -0
  142. package/dist/curves/TriEventKey.js.map +1 -1
  143. package/dist/curves/TriPerlinCurve.js +30 -0
  144. package/dist/curves/TriPerlinCurve.js.map +1 -1
  145. package/dist/curves/TriVectorSequencer.js +6 -0
  146. package/dist/curves/TriVectorSequencer.js.map +1 -1
  147. package/dist/eve/AudioGameObject.js +89 -1
  148. package/dist/eve/AudioGameObject.js.map +1 -1
  149. package/dist/eve/BackAndForthData.js +7 -0
  150. package/dist/eve/BackAndForthData.js.map +1 -1
  151. package/dist/eve/CjsDistributionRandom.js +6 -0
  152. package/dist/eve/CjsDistributionRandom.js.map +1 -1
  153. package/dist/eve/CjsEveThrottleableState.js +11 -0
  154. package/dist/eve/CjsEveThrottleableState.js.map +1 -1
  155. package/dist/eve/EveChildUpdateParams.js +7 -0
  156. package/dist/eve/EveChildUpdateParams.js.map +1 -1
  157. package/dist/eve/EveComponentTypes.js.map +1 -1
  158. package/dist/eve/EveCustomMask.js +58 -27
  159. package/dist/eve/EveCustomMask.js.map +1 -1
  160. package/dist/eve/EveDistanceField.js +84 -0
  161. package/dist/eve/EveDistanceField.js.map +1 -1
  162. package/dist/eve/EveEntity.js +138 -0
  163. package/dist/eve/EveEntity.js.map +1 -0
  164. package/dist/eve/EveImpactOverlay.js +61 -0
  165. package/dist/eve/EveImpactOverlay.js.map +1 -1
  166. package/dist/eve/EveLODHelper.js +17 -13
  167. package/dist/eve/EveLODHelper.js.map +1 -1
  168. package/dist/eve/EveLineData.js +2 -0
  169. package/dist/eve/EveLineData.js.map +1 -1
  170. package/dist/eve/EveThrottleable.js +11 -0
  171. package/dist/eve/EveThrottleable.js.map +1 -1
  172. package/dist/eve/FollowASplineData.js +7 -0
  173. package/dist/eve/FollowASplineData.js.map +1 -1
  174. package/dist/eve/FormationData.js +6 -0
  175. package/dist/eve/FormationData.js.map +1 -1
  176. package/dist/eve/InertiaData.js +7 -0
  177. package/dist/eve/InertiaData.js.map +1 -1
  178. package/dist/eve/PlacementDataWithIdentifier.js +7 -0
  179. package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
  180. package/dist/eve/PlayFXData.js +7 -0
  181. package/dist/eve/PlayFXData.js.map +1 -1
  182. package/dist/eve/SeekTargetData.js +7 -0
  183. package/dist/eve/SeekTargetData.js.map +1 -1
  184. package/dist/eve/{EveSpaceObjectAttachmentUtils.js → attachment/EveSpaceObjectAttachmentUtils.js} +11 -11
  185. package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
  186. package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
  187. package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
  188. package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +13 -2
  189. package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
  190. package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
  191. package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
  192. package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +204 -35
  193. package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
  194. package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +205 -12
  195. package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
  196. package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +49 -1
  197. package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
  198. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
  199. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
  200. package/dist/eve/{EveHazeSet.js → attachment/haze/EveHazeSet.js} +65 -6
  201. package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
  202. package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
  203. package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
  204. package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +13 -2
  205. package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
  206. package/dist/eve/attachment/itemSetBounds.js +131 -0
  207. package/dist/eve/attachment/itemSetBounds.js.map +1 -0
  208. package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +14 -2
  209. package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
  210. package/dist/eve/{EvePlaneSet.js → attachment/plane/EvePlaneSet.js} +119 -7
  211. package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
  212. package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
  213. package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
  214. package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +13 -2
  215. package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
  216. package/dist/eve/{EveSpotlightSet.js → attachment/spotlight/EveSpotlightSet.js} +86 -6
  217. package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
  218. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
  219. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
  220. package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +14 -2
  221. package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
  222. package/dist/eve/{EveSpriteLineSet.js → attachment/sprite/EveSpriteLineSet.js} +69 -7
  223. package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
  224. package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +29 -4
  225. package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
  226. package/dist/eve/{EveSpriteSet.js → attachment/sprite/EveSpriteSet.js} +87 -8
  227. package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
  228. package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +23 -26
  229. package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
  230. package/dist/eve/attachment/turrets/EveTurretFiringFX.js +184 -2
  231. package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  232. package/dist/eve/attachment/turrets/EveTurretSet.js +236 -7
  233. package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  234. package/dist/eve/attachment/turrets/EveTurretTarget.js +112 -0
  235. package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  236. package/dist/eve/camera/EveCamera.js +644 -0
  237. package/dist/eve/camera/EveCamera.js.map +1 -0
  238. package/dist/eve/child/EveChildAudio.js +63 -0
  239. package/dist/eve/child/EveChildAudio.js.map +1 -1
  240. package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
  241. package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
  242. package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +41 -3
  243. package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
  244. package/dist/eve/child/EveChildContainer.js +175 -16
  245. package/dist/eve/child/EveChildContainer.js.map +1 -1
  246. package/dist/eve/child/EveChildEffectPropagator.js +1 -1
  247. package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
  248. package/dist/eve/child/EveChildFogVolume.js +72 -0
  249. package/dist/eve/child/EveChildFogVolume.js.map +1 -1
  250. package/dist/eve/child/EveChildInheritProperties.js +17 -0
  251. package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
  252. package/dist/eve/child/EveChildInstancedMeshes.js +211 -1
  253. package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
  254. package/dist/eve/child/EveChildLightingOverride.js +74 -0
  255. package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
  256. package/dist/{generated/eve → eve}/child/EveChildLink.js +17 -16
  257. package/dist/eve/child/EveChildLink.js.map +1 -0
  258. package/dist/eve/child/EveChildMesh.js +351 -105
  259. package/dist/eve/child/EveChildMesh.js.map +1 -1
  260. package/dist/eve/child/EveChildSpherePin.js +108 -0
  261. package/dist/eve/child/EveChildSpherePin.js.map +1 -0
  262. package/dist/eve/child/EveChildTransform.js +44 -1
  263. package/dist/eve/child/EveChildTransform.js.map +1 -1
  264. package/dist/eve/child/IEveSpaceObjectChild.js +5 -0
  265. package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
  266. package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
  267. package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
  268. package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
  269. package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
  270. package/dist/eve/child/behaviors/Wander.js +99 -0
  271. package/dist/eve/child/behaviors/Wander.js.map +1 -0
  272. package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
  273. package/dist/eve/child/behaviors/enums.js.map +1 -0
  274. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
  275. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
  276. package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +8 -2
  277. package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
  278. package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +9 -7
  279. package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
  280. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
  281. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
  282. package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +3 -3
  283. package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
  284. package/dist/eve/child/lineSetPaths/EveBezierCurve.js +65 -0
  285. package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  286. package/dist/eve/child/lineSetPaths/EveCircle.js +63 -0
  287. package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  288. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +24 -16
  289. package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
  290. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +5 -0
  291. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
  292. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +22 -19
  293. package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
  294. package/dist/eve/child/modifiers/EveChildModifierBooster.js +6 -0
  295. package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
  296. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +5 -0
  297. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
  298. package/dist/eve/child/modifiers/EveChildModifierHalo.js +5 -0
  299. package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
  300. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +6 -0
  301. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
  302. package/dist/eve/child/modifiers/EveChildModifierSRT.js +5 -0
  303. package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  304. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +31 -17
  305. package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
  306. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +16 -14
  307. package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
  308. package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +11 -4
  309. package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
  310. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +12 -12
  311. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
  312. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +6 -6
  313. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
  314. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +12 -12
  315. package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
  316. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +8 -8
  317. package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
  318. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +17 -17
  319. package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
  320. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +7 -7
  321. package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
  322. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +7 -7
  323. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
  324. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +17 -17
  325. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
  326. package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +132 -3
  327. package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
  328. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +12 -1
  329. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
  330. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +9 -1
  331. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
  332. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +12 -1
  333. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
  334. package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
  335. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +16 -3
  336. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
  337. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +31 -3
  338. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
  339. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +34 -3
  340. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
  341. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +14 -2
  342. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
  343. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +13 -2
  344. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
  345. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +13 -2
  346. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
  347. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +13 -2
  348. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
  349. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +19 -1
  350. package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
  351. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +25 -1
  352. package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
  353. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +17 -1
  354. package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
  355. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +20 -1
  356. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
  357. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +20 -1
  358. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
  359. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +20 -1
  360. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
  361. package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +44 -2
  362. package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
  363. package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
  364. package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
  365. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
  366. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
  367. package/dist/eve/index.js +117 -47
  368. package/dist/eve/index.js.map +1 -1
  369. package/dist/eve/lights/CjsLightData.js +7 -0
  370. package/dist/eve/lights/CjsLightData.js.map +1 -1
  371. package/dist/eve/lights/Tr2Light.js +41 -0
  372. package/dist/eve/lights/Tr2Light.js.map +1 -1
  373. package/dist/eve/lights/Tr2PointLight.js +5 -0
  374. package/dist/eve/lights/Tr2PointLight.js.map +1 -1
  375. package/dist/eve/lights/Tr2SpotLight.js +5 -0
  376. package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
  377. package/dist/eve/lights/Tr2TexturedPointLight.js +10 -0
  378. package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  379. package/dist/eve/lights/lightConversion.js +29 -27
  380. package/dist/eve/lights/lightConversion.js.map +1 -1
  381. package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +20 -1
  382. package/dist/eve/locator/EveLocator2.js.map +1 -0
  383. package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +43 -1
  384. package/dist/eve/locator/EveLocatorSets.js.map +1 -0
  385. package/dist/eve/{Locator.js → locator/Locator.js} +6 -1
  386. package/dist/eve/locator/Locator.js.map +1 -0
  387. package/dist/eve/{LocatorData.js → locator/LocatorData.js} +3 -1
  388. package/dist/eve/locator/LocatorData.js.map +1 -0
  389. package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
  390. package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
  391. package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +5 -5
  392. package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
  393. package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +5 -5
  394. package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
  395. package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +6 -6
  396. package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
  397. package/dist/{generated/eve/scene → eve/particles/static}/EveSceneStaticParticles.js +70 -36
  398. package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
  399. package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
  400. package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
  401. package/dist/eve/renderable/stretch/CjsStretchRuntime.js +76 -0
  402. package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
  403. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +85 -1
  404. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  405. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +91 -0
  406. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
  407. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +36 -0
  408. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
  409. package/dist/eve/renderable/stretch/EveStretch.js +158 -9
  410. package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
  411. package/dist/eve/renderable/stretch/EveStretch2.js +121 -12
  412. package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
  413. package/dist/eve/renderable/stretch/EveStretch3.js +261 -8
  414. package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
  415. package/dist/eve/scene/EveSpaceScene.js +56 -6
  416. package/dist/eve/scene/EveSpaceScene.js.map +1 -1
  417. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +24 -1
  418. package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
  419. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +74 -2
  420. package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
  421. package/dist/eve/scene/picking/EvePickingContext.js +61 -0
  422. package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
  423. package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
  424. package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
  425. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
  426. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
  427. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +19 -19
  428. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
  429. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +19 -19
  430. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
  431. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +12 -12
  432. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
  433. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +12 -12
  434. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
  435. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +30 -30
  436. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
  437. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +9 -9
  438. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
  439. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +23 -23
  440. package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
  441. package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
  442. package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +26 -1
  443. package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
  444. package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +17 -1
  445. package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
  446. package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +21 -5
  447. package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
  448. package/dist/eve/socket/EveSocketParameterFilePath.js +5 -5
  449. package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
  450. package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +17 -1
  451. package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
  452. package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +17 -1
  453. package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
  454. package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +42 -2
  455. package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
  456. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +17 -1
  457. package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
  458. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +17 -1
  459. package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
  460. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +17 -1
  461. package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
  462. package/dist/eve/spaceObject/EveEffectRoot2.js +58 -31
  463. package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  464. package/dist/eve/spaceObject/EveMissile.js +49 -1
  465. package/dist/eve/spaceObject/EveMissile.js.map +1 -1
  466. package/dist/eve/spaceObject/EveMissileWarhead.js +100 -1
  467. package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
  468. package/dist/eve/spaceObject/EveMobile.js +104 -0
  469. package/dist/eve/spaceObject/EveMobile.js.map +1 -1
  470. package/dist/eve/spaceObject/EveRootTransform.js +17 -0
  471. package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
  472. package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +32 -12
  473. package/dist/eve/spaceObject/EveShip2.js.map +1 -0
  474. package/dist/eve/spaceObject/EveSpaceObject2.js +726 -199
  475. package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  476. package/dist/eve/spaceObject/EveTransform.js +100 -4
  477. package/dist/eve/spaceObject/EveTransform.js.map +1 -1
  478. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
  479. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
  480. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
  481. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
  482. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
  483. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
  484. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
  485. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
  486. package/dist/{generated/eve/spaceObject → eve/spaceObject/planet}/EvePlanet.js +2 -2
  487. package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
  488. package/dist/{generated/eve → eve}/spaceObject/swarm/EveSwarmRenderable.js +102 -64
  489. package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
  490. package/dist/eve/ui/EveEllipseDefinition.js +15 -0
  491. package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
  492. package/dist/eve/ui/EveEllipseSet.js +42 -0
  493. package/dist/eve/ui/EveEllipseSet.js.map +1 -1
  494. package/dist/{generated/eve → eve}/ui/EveSpherePin.js +76 -11
  495. package/dist/eve/ui/EveSpherePin.js.map +1 -0
  496. package/dist/eve/ui/EveSprite2dBracket.js +5 -0
  497. package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
  498. package/dist/eve/ui/EveUiObject.js +11 -0
  499. package/dist/eve/ui/EveUiObject.js.map +1 -1
  500. package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +67 -6
  501. package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
  502. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
  503. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
  504. package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +22 -2
  505. package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
  506. package/dist/eve/virtualCamera/EveVirtualCamera.js +152 -0
  507. package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
  508. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +65 -0
  509. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
  510. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +17 -0
  511. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
  512. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +19 -0
  513. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
  514. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +17 -0
  515. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
  516. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +29 -0
  517. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
  518. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +15 -0
  519. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
  520. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +38 -0
  521. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
  522. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +17 -0
  523. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
  524. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +18 -0
  525. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
  526. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +20 -0
  527. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
  528. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +20 -0
  529. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
  530. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +11 -0
  531. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
  532. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +14 -0
  533. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
  534. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +16 -0
  535. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
  536. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +20 -0
  537. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
  538. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +36 -0
  539. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
  540. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +36 -0
  541. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
  542. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +11 -0
  543. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
  544. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +37 -0
  545. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
  546. package/dist/eve/volume/EveBoxVolume.js +59 -0
  547. package/dist/eve/volume/EveBoxVolume.js.map +1 -1
  548. package/dist/eve/volume/EveEllipsoidVolume.js +54 -0
  549. package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
  550. package/dist/eve/volume/EveSphereVolume.js +34 -0
  551. package/dist/eve/volume/EveSphereVolume.js.map +1 -1
  552. package/dist/generated/eve/child/EveChildCloud2.js +138 -138
  553. package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
  554. package/dist/generated/eve/child/EveChildParticleSystem.js +10 -4
  555. package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
  556. package/dist/generated/eve/child/EveChildSocket.js +1 -1
  557. package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
  558. package/dist/generated/eve/child/behaviors/BackAndForth.js +14 -17
  559. package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
  560. package/dist/generated/eve/child/behaviors/BehaviorGroup.js +2 -2
  561. package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  562. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +26 -29
  563. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
  564. package/dist/generated/eve/child/behaviors/FollowASpline.js +13 -17
  565. package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
  566. package/dist/generated/eve/child/behaviors/PlayFX.js +14 -14
  567. package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
  568. package/dist/generated/eve/child/behaviors/SeekTarget.js +1 -1
  569. package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
  570. package/dist/generated/eve/child/behaviors/index.js +0 -6
  571. package/dist/generated/eve/child/behaviors/index.js.map +1 -1
  572. package/dist/generated/eve/child/index.js +0 -23
  573. package/dist/generated/eve/child/index.js.map +1 -1
  574. package/dist/generated/eve/effect/index.js +0 -3
  575. package/dist/generated/eve/effect/index.js.map +1 -1
  576. package/dist/generated/eve/index.js +0 -88
  577. package/dist/generated/eve/index.js.map +1 -1
  578. package/dist/generated/eve/scene/index.js +0 -6
  579. package/dist/generated/eve/scene/index.js.map +1 -1
  580. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +20 -20
  581. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  582. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +1 -1
  583. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  584. package/dist/generated/eve/smartLights/index.js +0 -8
  585. package/dist/generated/eve/smartLights/index.js.map +1 -1
  586. package/dist/generated/eve/spaceObject/index.js +0 -4
  587. package/dist/generated/eve/spaceObject/index.js.map +1 -1
  588. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +11 -11
  589. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  590. package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
  591. package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
  592. package/dist/generated/eve/ui/index.js +0 -4
  593. package/dist/generated/eve/ui/index.js.map +1 -1
  594. package/dist/generated/index.js +0 -93
  595. package/dist/generated/index.js.map +1 -1
  596. package/dist/generated/trinityCore/index.js +0 -5
  597. package/dist/generated/trinityCore/index.js.map +1 -1
  598. package/dist/index.js +130 -155
  599. package/dist/index.js.map +1 -1
  600. package/dist/particle/Tr2GpuSharedEmitter.js +39 -0
  601. package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
  602. package/dist/particle/Tr2GpuUniqueEmitter.js +5 -0
  603. package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
  604. package/dist/particle/Tr2ParticleAttractorForce.js +10 -0
  605. package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
  606. package/dist/particle/Tr2ParticleDirectForce.js +7 -0
  607. package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
  608. package/dist/particle/Tr2ParticleDragForce.js +7 -0
  609. package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
  610. package/dist/particle/Tr2ParticleElementDeclaration.js +5 -0
  611. package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
  612. package/dist/particle/Tr2ParticleFluidDragForce.js +10 -0
  613. package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
  614. package/dist/particle/Tr2ParticleSpring.js +10 -0
  615. package/dist/particle/Tr2ParticleSpring.js.map +1 -1
  616. package/dist/particle/Tr2ParticleVortexForce.js +10 -0
  617. package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
  618. package/dist/particle/particleElementBinding.js +12 -0
  619. package/dist/particle/particleElementBinding.js.map +1 -1
  620. package/dist/postProcess/Tr2PPBloomEffect.js +6 -0
  621. package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
  622. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +16 -0
  623. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
  624. package/dist/postProcess/Tr2PPGenericEffect.js +7 -0
  625. package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
  626. package/dist/postProcess/Tr2PPTaaEffect.js +10 -0
  627. package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
  628. package/dist/postProcess/Tr2PPTonemappingEffect.js +5 -0
  629. package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
  630. package/dist/postProcess/Tr2PostProcess.js +5 -0
  631. package/dist/postProcess/Tr2PostProcess.js.map +1 -1
  632. package/dist/postProcess/Tr2PostProcess2.js +147 -0
  633. package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
  634. package/dist/postProcess/Tr2PostProcessAttributes.js +89 -0
  635. package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  636. package/dist/renderJob/Tr2RenderJobs.js +34 -0
  637. package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
  638. package/dist/renderJob/TriRenderJob.js +59 -0
  639. package/dist/renderJob/TriRenderJob.js.map +1 -1
  640. package/dist/renderJob/TriRenderStep.js +20 -0
  641. package/dist/renderJob/TriRenderStep.js.map +1 -1
  642. package/dist/renderJob/TriStepClear.js +18 -0
  643. package/dist/renderJob/TriStepClear.js.map +1 -1
  644. package/dist/renderJob/TriStepCopyRenderTarget.js +51 -0
  645. package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
  646. package/dist/renderJob/TriStepEnableWireframeMode.js +9 -0
  647. package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
  648. package/dist/renderJob/TriStepGenerateMipMaps.js +9 -0
  649. package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
  650. package/dist/renderJob/TriStepPopDepthStencil.js +6 -0
  651. package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
  652. package/dist/renderJob/TriStepPopProjection.js +6 -0
  653. package/dist/renderJob/TriStepPopProjection.js.map +1 -1
  654. package/dist/renderJob/TriStepPopRenderTarget.js +12 -0
  655. package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
  656. package/dist/renderJob/TriStepPopViewTransform.js +6 -0
  657. package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
  658. package/dist/renderJob/TriStepPopViewport.js +6 -0
  659. package/dist/renderJob/TriStepPopViewport.js.map +1 -1
  660. package/dist/renderJob/TriStepPresentSwapChain.js +12 -0
  661. package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
  662. package/dist/renderJob/TriStepPushDepthStencil.js +17 -0
  663. package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
  664. package/dist/renderJob/TriStepPushProjection.js +6 -0
  665. package/dist/renderJob/TriStepPushProjection.js.map +1 -1
  666. package/dist/renderJob/TriStepPushRenderTarget.js +9 -0
  667. package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
  668. package/dist/renderJob/TriStepPushViewTransform.js +6 -0
  669. package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
  670. package/dist/renderJob/TriStepPushViewport.js +6 -0
  671. package/dist/renderJob/TriStepPushViewport.js.map +1 -1
  672. package/dist/renderJob/TriStepRemoteSync.js +17 -0
  673. package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
  674. package/dist/renderJob/TriStepResolve.js +13 -0
  675. package/dist/renderJob/TriStepResolve.js.map +1 -1
  676. package/dist/renderJob/TriStepRunJob.js +12 -0
  677. package/dist/renderJob/TriStepRunJob.js.map +1 -1
  678. package/dist/renderJob/TriStepSetDepthStencil.js +12 -0
  679. package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
  680. package/dist/renderJob/TriStepSetProjection.js +14 -0
  681. package/dist/renderJob/TriStepSetProjection.js.map +1 -1
  682. package/dist/renderJob/TriStepSetRenderState.js +20 -0
  683. package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
  684. package/dist/renderJob/TriStepSetRenderTarget.js +12 -0
  685. package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
  686. package/dist/renderJob/TriStepSetStdRndStates.js +18 -0
  687. package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
  688. package/dist/renderJob/TriStepSetView.js +29 -2
  689. package/dist/renderJob/TriStepSetView.js.map +1 -1
  690. package/dist/renderJob/TriStepSetViewport.js +17 -0
  691. package/dist/renderJob/TriStepSetViewport.js.map +1 -1
  692. package/dist/renderJob/TriStepSetVisualizationMode.js +19 -0
  693. package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
  694. package/dist/shader/Tr2Effect.js +217 -2
  695. package/dist/shader/Tr2Effect.js.map +1 -1
  696. package/dist/shader/Tr2Material.js +41 -0
  697. package/dist/shader/Tr2Material.js.map +1 -1
  698. package/dist/shader/index.js +1 -11
  699. package/dist/shader/index.js.map +1 -1
  700. package/dist/shader/material/Tr2EffectLibraryParameters.js +7 -0
  701. package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
  702. package/dist/shader/material/Tr2EffectPassParameters.js +23 -0
  703. package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
  704. package/dist/shader/material/Tr2MaterialStageInput.js +15 -0
  705. package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
  706. package/dist/shader/parameter/CjsParameter.js +94 -0
  707. package/dist/shader/parameter/CjsParameter.js.map +1 -1
  708. package/dist/shader/parameter/CjsVectorParameter.js +20 -0
  709. package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
  710. package/dist/shader/parameter/Tr2FloatParameter.js +53 -0
  711. package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
  712. package/dist/shader/parameter/Tr2GeometryBufferParameter.js +39 -0
  713. package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  714. package/dist/shader/parameter/Tr2Matrix4Parameter.js +54 -0
  715. package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  716. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +54 -0
  717. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  718. package/dist/shader/parameter/Tr2TextureAnimationParameter.js +35 -0
  719. package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  720. package/dist/shader/parameter/Tr2Vector2Parameter.js +86 -0
  721. package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  722. package/dist/shader/parameter/Tr2Vector3Parameter.js +95 -0
  723. package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  724. package/dist/shader/parameter/Tr2Vector4Parameter.js +105 -0
  725. package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  726. package/dist/shader/parameter/TriFloatArrayParameter.js +26 -0
  727. package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  728. package/dist/shader/parameter/TriTextureParameter.js +84 -0
  729. package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
  730. package/dist/shader/parameter/TriTransformParameter.js +2 -0
  731. package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
  732. package/dist/shader/parameter/TriVariableParameter.js +38 -0
  733. package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
  734. package/dist/shader/parameter/TriVector4.js +2 -0
  735. package/dist/shader/parameter/TriVector4.js.map +1 -1
  736. package/dist/shader/reflection/Tr2ShaderOption.js +6 -1
  737. package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
  738. package/dist/shader/support/CjsVariableStore.js +140 -0
  739. package/dist/shader/support/CjsVariableStore.js.map +1 -1
  740. package/dist/shader/support/Tr2ShaderBuffer.js +15 -0
  741. package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
  742. package/dist/trinityCore/CjsBatchManager.js +62 -2
  743. package/dist/trinityCore/CjsBatchManager.js.map +1 -1
  744. package/dist/trinityCore/GrannyBoneOffset.js +51 -0
  745. package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
  746. package/dist/trinityCore/ITriRenderBatchAccumulator.js +65 -3
  747. package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
  748. package/dist/trinityCore/Tr2DirectInstanceData.js +19 -0
  749. package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
  750. package/dist/trinityCore/Tr2ExpressionTermInfo.js +21 -0
  751. package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
  752. package/dist/trinityCore/Tr2GpuBuffer.js +5 -0
  753. package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
  754. package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +137 -8
  755. package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
  756. package/dist/trinityCore/Tr2InstancedMesh.js +52 -0
  757. package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
  758. package/dist/trinityCore/Tr2MaterialParameterStore.js +5 -0
  759. package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
  760. package/dist/trinityCore/Tr2Mesh.js +37 -0
  761. package/dist/trinityCore/Tr2Mesh.js.map +1 -1
  762. package/dist/trinityCore/Tr2MeshArea.js +78 -0
  763. package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
  764. package/dist/trinityCore/Tr2MeshBase.js +98 -2
  765. package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
  766. package/dist/trinityCore/Tr2PerObjectData.js +10 -0
  767. package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
  768. package/dist/trinityCore/Tr2PickType.js +33 -0
  769. package/dist/trinityCore/Tr2PickType.js.map +1 -0
  770. package/dist/trinityCore/Tr2RenderBatch.js +137 -0
  771. package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
  772. package/dist/trinityCore/Tr2RenderContext.js +271 -0
  773. package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
  774. package/dist/trinityCore/Tr2RuntimeInstanceData.js +179 -0
  775. package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
  776. package/dist/trinityCore/Tr2ShLightingManager.js +397 -0
  777. package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
  778. package/dist/trinityCore/Tr2VariableStore.js +26 -0
  779. package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
  780. package/dist/trinityCore/Tr2VisibilityResults.js +5 -0
  781. package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
  782. package/dist/trinityCore/TriDevice.js +5 -0
  783. package/dist/trinityCore/TriDevice.js.map +1 -1
  784. package/dist/trinityCore/TriFrustum.js +21 -14
  785. package/dist/trinityCore/TriFrustum.js.map +1 -1
  786. package/dist/trinityCore/TriObserverLocal.js +43 -0
  787. package/dist/trinityCore/TriObserverLocal.js.map +1 -1
  788. package/dist/trinityCore/TriProjection.js +86 -32
  789. package/dist/trinityCore/TriProjection.js.map +1 -1
  790. package/dist/trinityCore/TriRect.js +12 -0
  791. package/dist/trinityCore/TriRect.js.map +1 -1
  792. package/dist/trinityCore/TriRenderBatchAccumulator.js +46 -0
  793. package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
  794. package/dist/trinityCore/TriRenderBatchMap.js +39 -2
  795. package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
  796. package/dist/trinityCore/TriSettings.js +38 -0
  797. package/dist/trinityCore/TriSettings.js.map +1 -1
  798. package/dist/trinityCore/TriVariable.js +30 -0
  799. package/dist/trinityCore/TriVariable.js.map +1 -1
  800. package/dist/trinityCore/TriView.js +16 -1
  801. package/dist/trinityCore/TriView.js.map +1 -1
  802. package/dist/trinityCore/TriViewport.js +12 -0
  803. package/dist/trinityCore/TriViewport.js.map +1 -1
  804. package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +1 -1
  805. package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
  806. package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
  807. package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
  808. package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
  809. package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
  810. package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +30 -6
  811. package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
  812. package/dist/trinityCore/binding/TriValueBinding.js +648 -0
  813. package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
  814. package/dist/trinityCore/index.js +11 -4
  815. package/dist/trinityCore/index.js.map +1 -1
  816. package/dist/trinityCore/pickRay.js +84 -0
  817. package/dist/trinityCore/pickRay.js.map +1 -0
  818. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +931 -0
  819. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
  820. package/dist/trinityCore/rawData/RawData.js +294 -38
  821. package/dist/trinityCore/rawData/RawData.js.map +1 -1
  822. package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
  823. package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
  824. package/dist/utilities/Range.js +53 -0
  825. package/dist/utilities/Range.js.map +1 -1
  826. package/docs/README.md +88 -0
  827. package/docs/architecture.md +162 -0
  828. package/docs/concepts/eve-runtime-behavior.md +86 -0
  829. package/docs/concepts/generated-class-lifecycle.md +116 -0
  830. package/docs/reference/api.md +76 -0
  831. package/docs/reference/classes/eve-runtime.md +106 -0
  832. package/docs/reference/classes/trinity-core.md +26 -0
  833. package/docs/reference/implementation-status.md +104 -0
  834. package/docs/reference/main-semantic-extraction.md +104 -0
  835. package/package.json +33 -24
  836. package/dist/eve/DecalVSPerObjectData.js +0 -34
  837. package/dist/eve/DecalVSPerObjectData.js.map +0 -1
  838. package/dist/eve/EveBannerItem.js +0 -43
  839. package/dist/eve/EveBannerItem.js.map +0 -1
  840. package/dist/eve/EveBannerLight.js.map +0 -1
  841. package/dist/eve/EveBannerSet.js +0 -190
  842. package/dist/eve/EveBannerSet.js.map +0 -1
  843. package/dist/eve/EveBasicPerObjectData.js +0 -31
  844. package/dist/eve/EveBasicPerObjectData.js.map +0 -1
  845. package/dist/eve/EveBoosterSet2.js.map +0 -1
  846. package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
  847. package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
  848. package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
  849. package/dist/eve/EveHazeSet.js.map +0 -1
  850. package/dist/eve/EveHazeSetLight.js.map +0 -1
  851. package/dist/eve/EveLocator2.js.map +0 -1
  852. package/dist/eve/EveLocatorSets.js.map +0 -1
  853. package/dist/eve/EveParticleDirectForce.js.map +0 -1
  854. package/dist/eve/EveParticleDragForce.js.map +0 -1
  855. package/dist/eve/EveParticleSpring.js.map +0 -1
  856. package/dist/eve/EvePerObjectPSData.js +0 -29
  857. package/dist/eve/EvePerObjectPSData.js.map +0 -1
  858. package/dist/eve/EvePerObjectVSData.js +0 -29
  859. package/dist/eve/EvePerObjectVSData.js.map +0 -1
  860. package/dist/eve/EvePlaneLight.js.map +0 -1
  861. package/dist/eve/EvePlaneSet.js.map +0 -1
  862. package/dist/eve/EvePlaneSetItem.js +0 -45
  863. package/dist/eve/EvePlaneSetItem.js.map +0 -1
  864. package/dist/eve/EveSpaceObjectAttachmentUtils.js.map +0 -1
  865. package/dist/eve/EveSpaceObjectDecal.js +0 -150
  866. package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
  867. package/dist/eve/EveSpaceObjectPSData.js +0 -73
  868. package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
  869. package/dist/eve/EveSpaceObjectVSData.js +0 -79
  870. package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
  871. package/dist/eve/EveSpacePerObjectData.js +0 -97
  872. package/dist/eve/EveSpacePerObjectData.js.map +0 -1
  873. package/dist/eve/EveSpherePinPerObjectData.js +0 -37
  874. package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
  875. package/dist/eve/EveSpotlightLight.js.map +0 -1
  876. package/dist/eve/EveSpotlightSet.js.map +0 -1
  877. package/dist/eve/EveSpriteLight.js.map +0 -1
  878. package/dist/eve/EveSpriteLineSet.js.map +0 -1
  879. package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
  880. package/dist/eve/EveSpriteSet.js.map +0 -1
  881. package/dist/eve/EveTrailsSet.js.map +0 -1
  882. package/dist/eve/Locator.js.map +0 -1
  883. package/dist/eve/LocatorData.js.map +0 -1
  884. package/dist/eve/ProcessLifetimeData.js.map +0 -1
  885. package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
  886. package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
  887. package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
  888. package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
  889. package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
  890. package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
  891. package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
  892. package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
  893. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
  894. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
  895. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
  896. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
  897. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
  898. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
  899. package/dist/generated/eve/EveCamera.js +0 -264
  900. package/dist/generated/eve/EveCamera.js.map +0 -1
  901. package/dist/generated/eve/EveEntity.js +0 -81
  902. package/dist/generated/eve/EveEntity.js.map +0 -1
  903. package/dist/generated/eve/attachment/decal/index.js +0 -2
  904. package/dist/generated/eve/attachment/decal/index.js.map +0 -1
  905. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
  906. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
  907. package/dist/generated/eve/attachment/haze/index.js +0 -2
  908. package/dist/generated/eve/attachment/haze/index.js.map +0 -1
  909. package/dist/generated/eve/attachment/index.js +0 -5
  910. package/dist/generated/eve/attachment/index.js.map +0 -1
  911. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
  912. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
  913. package/dist/generated/eve/attachment/spotlights/index.js +0 -2
  914. package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
  915. package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
  916. package/dist/generated/eve/attachment/sprites/index.js +0 -2
  917. package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
  918. package/dist/generated/eve/attachment/turrets/enums.js +0 -32
  919. package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
  920. package/dist/generated/eve/attachment/turrets/index.js +0 -2
  921. package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
  922. package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
  923. package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
  924. package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
  925. package/dist/generated/eve/child/EveChildLink.js.map +0 -1
  926. package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
  927. package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
  928. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
  929. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
  930. package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
  931. package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
  932. package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
  933. package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
  934. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
  935. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
  936. package/dist/generated/eve/child/behaviors/Wander.js +0 -92
  937. package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
  938. package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
  939. package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
  940. package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
  941. package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
  942. package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
  943. package/dist/generated/eve/child/modifiers/index.js +0 -5
  944. package/dist/generated/eve/child/modifiers/index.js.map +0 -1
  945. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
  946. package/dist/generated/eve/child/procedural/index.js +0 -10
  947. package/dist/generated/eve/child/procedural/index.js.map +0 -1
  948. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
  949. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
  950. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
  951. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
  952. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
  953. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
  954. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
  955. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
  956. package/dist/generated/eve/child/procedural/selection/index.js +0 -9
  957. package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
  958. package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
  959. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
  960. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
  961. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
  962. package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
  963. package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
  964. package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
  965. package/dist/generated/eve/distribution/index.js +0 -19
  966. package/dist/generated/eve/distribution/index.js.map +0 -1
  967. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
  968. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
  969. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
  970. package/dist/generated/eve/distribution/placement/index.js +0 -4
  971. package/dist/generated/eve/distribution/placement/index.js.map +0 -1
  972. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
  973. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
  974. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
  975. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
  976. package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
  977. package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
  978. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
  979. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
  980. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
  981. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
  982. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
  983. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
  984. package/dist/generated/eve/distribution/spawners/index.js +0 -7
  985. package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
  986. package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
  987. package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
  988. package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
  989. package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
  990. package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
  991. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
  992. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
  993. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
  994. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
  995. package/dist/generated/eve/fxAttributes/index.js +0 -3
  996. package/dist/generated/eve/fxAttributes/index.js.map +0 -1
  997. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
  998. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
  999. package/dist/generated/eve/overlays/index.js +0 -2
  1000. package/dist/generated/eve/overlays/index.js.map +0 -1
  1001. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
  1002. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
  1003. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
  1004. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
  1005. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
  1006. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
  1007. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
  1008. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
  1009. package/dist/generated/eve/perObjectData/index.js +0 -5
  1010. package/dist/generated/eve/perObjectData/index.js.map +0 -1
  1011. package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
  1012. package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
  1013. package/dist/generated/eve/scene/EvePickingContext.js +0 -43
  1014. package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
  1015. package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
  1016. package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
  1017. package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
  1018. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
  1019. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
  1020. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
  1021. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
  1022. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
  1023. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
  1024. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
  1025. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
  1026. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
  1027. package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
  1028. package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
  1029. package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
  1030. package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
  1031. package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
  1032. package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
  1033. package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
  1034. package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
  1035. package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
  1036. package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
  1037. package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
  1038. package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
  1039. package/dist/generated/eve/socket/index.js +0 -10
  1040. package/dist/generated/eve/socket/index.js.map +0 -1
  1041. package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
  1042. package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
  1043. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
  1044. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
  1045. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
  1046. package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
  1047. package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
  1048. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
  1049. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
  1050. package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
  1051. package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
  1052. package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
  1053. package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
  1054. package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
  1055. package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
  1056. package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
  1057. package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
  1058. package/dist/generated/trinityCore/TriValueBinding.js +0 -249
  1059. package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
  1060. package/dist/shader/Tr2Shader.js +0 -150
  1061. package/dist/shader/Tr2Shader.js.map +0 -1
  1062. package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
  1063. package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
  1064. package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
  1065. package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
  1066. package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
  1067. package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
  1068. package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
  1069. package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
  1070. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
  1071. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
  1072. package/dist/shader/reflection/Tr2EffectResource.js +0 -63
  1073. package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
  1074. package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
  1075. package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
  1076. package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
  1077. package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
  1078. package/dist/shader/reflection/Tr2Pass.js +0 -46
  1079. package/dist/shader/reflection/Tr2Pass.js.map +0 -1
  1080. package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
  1081. package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
  1082. package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
  1083. package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
  1084. package/dist/trinityCore/rawData/RawDataStore.js +0 -232
  1085. package/dist/trinityCore/rawData/RawDataStore.js.map +0 -1
  1086. /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
  1087. /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
@@ -0,0 +1,33 @@
1
+ // Source: trinity/trinity/ITr2Renderable.h (enum Tr2PickType, :76-86)
2
+
3
+ /**
4
+ * Which kinds of geometry a pick pass collects, as a bitmask. A caller ORs the
5
+ * members together; `Tr2PickTypes` is Carbon's name for the combined uint32.
6
+ *
7
+ * The default a pick starts from is `PICK_TYPE_PICKING | PICK_TYPE_OPAQUE`
8
+ * (EveSpaceScene.h:554), which is picking-only geometry plus the solid pass.
9
+ *
10
+ * Vocabulary rather than a class member: Carbon declares it beside the
11
+ * renderable interface, and it is consumed by every pickable. Its sibling
12
+ * `TriBatchType` lives in `@carbonenginejs/runtime-utils/graphics`; this one
13
+ * stays here while runtime-trinity is its only consumer, and belongs beside
14
+ * that sibling once an engine's picking pass needs it too.
15
+ */
16
+ const Tr2PickType = Object.freeze({
17
+ /** Geometry authored specifically for picking. */
18
+ PICK_TYPE_PICKING: 1 << 0,
19
+ /** The solid pass, plus decals and the pickable overlay effects. */
20
+ PICK_TYPE_OPAQUE: 1 << 1,
21
+ /** Transparent and additive areas. */
22
+ PICK_TYPE_TRANSPARENT: 1 << 2,
23
+ /** Attachment geometry - sprite sets, spotlights and the like. */
24
+ PICK_TYPE_ATTACHMENTS: 1 << 3,
25
+ /** Locator markers. */
26
+ PICK_TYPE_LOCATORS: 1 << 4
27
+ });
28
+
29
+ /** The mask a pick uses when the caller names none (EveSpaceScene.h:554). */
30
+ const TR2_PICK_TYPE_DEFAULT = Tr2PickType.PICK_TYPE_PICKING | Tr2PickType.PICK_TYPE_OPAQUE;
31
+
32
+ export { TR2_PICK_TYPE_DEFAULT, Tr2PickType };
33
+ //# sourceMappingURL=Tr2PickType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2PickType.js","sources":["../../../src/trinityCore/Tr2PickType.js"],"sourcesContent":["// Source: trinity/trinity/ITr2Renderable.h (enum Tr2PickType, :76-86)\n\n/**\n * Which kinds of geometry a pick pass collects, as a bitmask. A caller ORs the\n * members together; `Tr2PickTypes` is Carbon's name for the combined uint32.\n *\n * The default a pick starts from is `PICK_TYPE_PICKING | PICK_TYPE_OPAQUE`\n * (EveSpaceScene.h:554), which is picking-only geometry plus the solid pass.\n *\n * Vocabulary rather than a class member: Carbon declares it beside the\n * renderable interface, and it is consumed by every pickable. Its sibling\n * `TriBatchType` lives in `@carbonenginejs/runtime-utils/graphics`; this one\n * stays here while runtime-trinity is its only consumer, and belongs beside\n * that sibling once an engine's picking pass needs it too.\n */\nexport const Tr2PickType = Object.freeze({\n /** Geometry authored specifically for picking. */\n PICK_TYPE_PICKING: 1 << 0,\n\n /** The solid pass, plus decals and the pickable overlay effects. */\n PICK_TYPE_OPAQUE: 1 << 1,\n\n /** Transparent and additive areas. */\n PICK_TYPE_TRANSPARENT: 1 << 2,\n\n /** Attachment geometry - sprite sets, spotlights and the like. */\n PICK_TYPE_ATTACHMENTS: 1 << 3,\n\n /** Locator markers. */\n PICK_TYPE_LOCATORS: 1 << 4\n});\n\n/** The mask a pick uses when the caller names none (EveSpaceScene.h:554). */\nexport const TR2_PICK_TYPE_DEFAULT = Tr2PickType.PICK_TYPE_PICKING | Tr2PickType.PICK_TYPE_OPAQUE;\n"],"names":["Tr2PickType","Object","freeze","PICK_TYPE_PICKING","PICK_TYPE_OPAQUE","PICK_TYPE_TRANSPARENT","PICK_TYPE_ATTACHMENTS","PICK_TYPE_LOCATORS","TR2_PICK_TYPE_DEFAULT"],"mappings":"AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,WAAW,GAAGC,MAAM,CAACC,MAAM,CAAC;AACvC;EACAC,iBAAiB,EAAE,CAAC,IAAI,CAAC;AAEzB;EACAC,gBAAgB,EAAE,CAAC,IAAI,CAAC;AAExB;EACAC,qBAAqB,EAAE,CAAC,IAAI,CAAC;AAE7B;EACAC,qBAAqB,EAAE,CAAC,IAAI,CAAC;AAE7B;EACAC,kBAAkB,EAAE,CAAC,IAAI;AAC3B,CAAC;;AAED;AACO,MAAMC,qBAAqB,GAAGR,WAAW,CAACG,iBAAiB,GAAGH,WAAW,CAACI;;;;"}
@@ -17,6 +17,12 @@ import { D3dPrimitiveTopology } from '@carbonenginejs/runtime-utils/d3d';
17
17
  // the ordinal itself is irrelevant as long as it is consistent within a run.
18
18
  let nextOrderId = 1;
19
19
  const orderIds = new WeakMap();
20
+
21
+ /**
22
+ * Stable per-reference ordinal standing in for Carbon's pointer ordering in
23
+ * batch comparisons; assigned on first sight and held in a WeakMap, so it is
24
+ * consistent within a run but meaningless across runs.
25
+ */
20
26
  function OrderOf(ref) {
21
27
  if (ref === null || ref === undefined) return 0;
22
28
  if (typeof ref !== "object" && typeof ref !== "function") return Number(ref) || 0;
@@ -30,7 +36,16 @@ function OrderOf(ref) {
30
36
 
31
37
  // A contiguous (startIndex, count) block of mesh groups. Mirrors Carbon
32
38
  // TriRenderBatchAreaBlock; used by the shadow/overlay area-block paths.
39
+
40
+ /**
41
+ * A contiguous (startIndex, count) run of mesh groups, as consumed by the shadow
42
+ * and overlay area-block paths.
43
+ */
33
44
  class TriRenderBatchAreaBlock {
45
+ /**
46
+ * Creates a block covering count groups from startIndex; both are coerced to
47
+ * unsigned integers.
48
+ */
34
49
  constructor(startIndex = 0, count = 0) {
35
50
  this.startIndex = startIndex >>> 0;
36
51
  this.count = count >>> 0;
@@ -38,6 +53,12 @@ class TriRenderBatchAreaBlock {
38
53
 
39
54
  // Compacts a set of possibly overlapping/adjacent blocks into the minimal set
40
55
  // of contiguous runs, in place. Mirrors TriRenderBatchAreaBlock::Optimize.
56
+
57
+ /**
58
+ * Compacts a vector of possibly overlapping or adjacent blocks into the
59
+ * minimal set of contiguous runs, rewriting the caller's array in place and
60
+ * returning it.
61
+ */
41
62
  static Optimize(areaBlockVector) {
42
63
  const indices = new Set();
43
64
  for (const block of areaBlockVector) {
@@ -63,15 +84,25 @@ class TriRenderBatchAreaBlock {
63
84
 
64
85
  // A shared-material list of area blocks (shadow/overlay path). Mirrors
65
86
  // TriRenderBatchAreaBlocksWithSharedMaterial.
87
+
88
+ /**
89
+ * Groups the area blocks that draw with one shared shader material on the shadow
90
+ * and overlay path.
91
+ */
66
92
  class TriRenderBatchAreaBlocksWithSharedMaterial extends TriRenderBatchAreaBlock {
93
+ /** Starts with no shared material and an empty block vector. */
67
94
  constructor() {
68
95
  super();
69
96
  this.shaderMaterial = null;
70
97
  this.areaBlockVector = [];
71
98
  }
99
+
100
+ /** Compacts the owned block vector into minimal contiguous runs. */
72
101
  Optimize() {
73
102
  TriRenderBatchAreaBlock.Optimize(this.areaBlockVector);
74
103
  }
104
+
105
+ /** Empties the block vector while keeping the shared material bound. */
75
106
  Clear() {
76
107
  this.areaBlockVector.length = 0;
77
108
  }
@@ -81,7 +112,16 @@ class TriRenderBatchAreaBlocksWithSharedMaterial extends TriRenderBatchAreaBlock
81
112
  // Tr2RenderBatch struct; the vertex/index "buffer" slots hold whatever the
82
113
  // producer supplies (in the GPU-free runtime these are geometry-resource-backed
83
114
  // descriptors that the engine resolves to real buffers at dispatch time).
115
+
116
+ /**
117
+ * One draw's worth of CPU descriptor state - material and shader key, geometry
118
+ * binding, draw arguments and sort keys - holding no device resources.
119
+ */
84
120
  class Tr2RenderBatch {
121
+ /**
122
+ * Creates an empty batch with no material or geometry, RM_ANY rendering mode,
123
+ * triangle-list topology and a group count of 1.
124
+ */
85
125
  constructor() {
86
126
  this.material = null;
87
127
  this.shader = null;
@@ -124,15 +164,29 @@ class Tr2RenderBatch {
124
164
  // shader is realized yet, so the material (effect) itself stands in as the
125
165
  // shader key. Either way the shader is both the validity key (see IsValid) and
126
166
  // the primary bin/sort key, so effect-equal batches still group together.
167
+
168
+ /**
169
+ * Sets the material and derives the shader key from it, falling back to the
170
+ * material itself when no shader-state interface is realized yet; that key is
171
+ * both the validity test and the primary bin/sort key, so effect-equal batches
172
+ * still group together.
173
+ */
127
174
  SetMaterial(material) {
128
175
  this.material = material ?? null;
129
176
  this.shader = material?.GetShaderStateInterface?.() ?? material ?? null;
130
177
  }
178
+
179
+ /** Sets the outermost sort key; lower priorities sort first. */
131
180
  SetPriority(priority) {
132
181
  this.priority = priority >>> 0;
133
182
  }
134
183
 
135
184
  // Carbon: SetGeometry(vertexDecl, Tr2BufferAL& vb, stride, Tr2BufferAL& ib, indexStride).
185
+
186
+ /**
187
+ * Binds one vertex stream and an index buffer with their strides, clearing the
188
+ * second stream.
189
+ */
136
190
  SetGeometry(vertexDeclaration, vertexBuffer, vertexStride, indexBuffer, indexStride) {
137
191
  this.vertexDeclaration = vertexDeclaration >>> 0;
138
192
  this.vertexStreams[0] = vertexBuffer ?? null;
@@ -143,11 +197,21 @@ class Tr2RenderBatch {
143
197
  }
144
198
 
145
199
  // Carbon overload taking suballocated-buffer allocations (the mesh path).
200
+
201
+ /**
202
+ * Binds geometry from suballocated buffer allocations, taking each
203
+ * allocation's buffer and stride (Carbon's mesh path).
204
+ */
146
205
  SetGeometryFromAllocations(vertexDeclaration, vertexAllocation, indexAllocation) {
147
206
  this.SetGeometry(vertexDeclaration, vertexAllocation?.GetBuffer?.() ?? vertexAllocation ?? null, vertexAllocation?.GetStride?.() ?? 0, indexAllocation?.GetBuffer?.() ?? indexAllocation ?? null, indexAllocation?.GetStride?.() ?? 0);
148
207
  }
149
208
 
150
209
  // Carbon two-stream allocation overload.
210
+
211
+ /**
212
+ * Binds a two-stream allocation set; the second allocation becomes vertex
213
+ * stream 1.
214
+ */
151
215
  SetGeometryFromAllocations2(vertexDeclaration, vertexAllocation1, vertexAllocation2, indexAllocation) {
152
216
  this.SetGeometryFromAllocations(vertexDeclaration, vertexAllocation1, indexAllocation);
153
217
  this.vertexStreams[1] = vertexAllocation2?.GetBuffer?.() ?? vertexAllocation2 ?? null;
@@ -156,6 +220,12 @@ class Tr2RenderBatch {
156
220
 
157
221
  // GPU-free geometry binding: records the resource + mesh/area range for the
158
222
  // engine to resolve into realized buffers and draw arguments at dispatch.
223
+
224
+ /**
225
+ * GPU-free geometry binding: records the geometry resource plus the mesh and
226
+ * area range for the engine to resolve into realized buffers and draw
227
+ * arguments at dispatch.
228
+ */
159
229
  SetGeometrySource(geometry, meshIndex, areaIndex, count, reversed) {
160
230
  this.geometrySource = {
161
231
  geometry: geometry ?? null,
@@ -165,9 +235,16 @@ class Tr2RenderBatch {
165
235
  reversed: !!reversed
166
236
  };
167
237
  }
238
+
239
+ /**
240
+ * Sets the vertex-declaration key, which participates in both binning and
241
+ * sorting.
242
+ */
168
243
  SetVertexDeclaration(vertexDeclaration) {
169
244
  this.vertexDeclaration = vertexDeclaration >>> 0;
170
245
  }
246
+
247
+ /** Binds one vertex stream slot and its stride. */
171
248
  SetStreamSource(index, vertexBuffer, vertexStride) {
172
249
  this.vertexStreams[index] = vertexBuffer ?? null;
173
250
  this.stride[index] = vertexStride >>> 0;
@@ -175,16 +252,33 @@ class Tr2RenderBatch {
175
252
 
176
253
  // Carbon spells this SetInidices (a typo in the C++ API); we use the corrected
177
254
  // name since both producer and consumer are ours.
255
+
256
+ /**
257
+ * Binds the index buffer and its stride; Carbon spells this SetInidices, a
258
+ * typo corrected here because both producer and consumer are ours.
259
+ */
178
260
  SetIndices(indexBuffer, indexStride) {
179
261
  this.indexBuffer = indexBuffer ?? null;
180
262
  this.indexStride = indexStride >>> 0;
181
263
  }
264
+
265
+ /**
266
+ * Sets the primitive topology; only TRIANGLELIST batches are eligible for GDPR
267
+ * binning.
268
+ */
182
269
  SetTopology(topology) {
183
270
  this.topology = topology;
184
271
  }
272
+
273
+ /**
274
+ * References the per-object payload the engine binds when dispatching this
275
+ * batch; the batch borrows it and does not own it.
276
+ */
185
277
  SetPerObjectData(objectData) {
186
278
  this.objectData = objectData ?? null;
187
279
  }
280
+
281
+ /** Records the indexed instanced draw arguments verbatim. */
188
282
  SetDrawIndexedInstanced(indexCountPerInstance, instanceCount, startIndexLocation, baseVertexLocation, startInstanceLocation) {
189
283
  this.indexCountPerInstance = indexCountPerInstance >>> 0;
190
284
  this.instanceCount = instanceCount >>> 0;
@@ -195,17 +289,33 @@ class Tr2RenderBatch {
195
289
 
196
290
  // Non-indexed draw: reuses indexCountPerInstance for the vertex count and
197
291
  // startIndexLocation for the start vertex; baseVertexLocation is left as is.
292
+
293
+ /**
294
+ * Records a non-indexed instanced draw, reusing indexCountPerInstance for the
295
+ * vertex count and startIndexLocation for the start vertex; baseVertexLocation
296
+ * is left untouched.
297
+ */
198
298
  SetDrawInstanced(vertexCountPerInstance, instanceCount, startVertexLocation, startInstanceLocation) {
199
299
  this.indexCountPerInstance = vertexCountPerInstance >>> 0;
200
300
  this.instanceCount = instanceCount >>> 0;
201
301
  this.startIndexLocation = startVertexLocation >>> 0;
202
302
  this.startInstanceLocation = startInstanceLocation >>> 0;
203
303
  }
304
+
305
+ /**
306
+ * Sets the batch's rendering mode; note that Commit overwrites it with the
307
+ * accumulator's own mode.
308
+ */
204
309
  SetRenderingMode(mode) {
205
310
  this.renderingMode = mode;
206
311
  }
207
312
 
208
313
  // Carbon overloads SetPickingData(data) and SetPickingData(meshIndex, areaIndex).
314
+
315
+ /**
316
+ * Stores picking data either as a raw value or, when a second argument is
317
+ * given, as the mesh index shifted above the low byte of the area index.
318
+ */
209
319
  SetPickingData(a, b) {
210
320
  this.pickingData = b === undefined ? a >>> 0 : (a << 8 | b & 0xff) >>> 0;
211
321
  }
@@ -213,6 +323,11 @@ class Tr2RenderBatch {
213
323
  // A batch is valid iff it has a shader (i.e. SetMaterial was called with a
214
324
  // material that exposed a shader-state interface). Invalid batches are dropped
215
325
  // silently at Commit time.
326
+
327
+ /**
328
+ * A batch is valid only once it has a shader, that is once SetMaterial
329
+ * received a material; invalid batches are dropped silently at Commit.
330
+ */
216
331
  IsValid() {
217
332
  return this.shader !== null && this.shader !== undefined;
218
333
  }
@@ -221,6 +336,12 @@ class Tr2RenderBatch {
221
336
  // Two batches can share a single state-set (one bin/GDPR group) iff all of these
222
337
  // match. Note: priority, material and topology are intentionally NOT compared
223
338
  // here (faithful to Carbon CanBeBinned).
339
+
340
+ /**
341
+ * Whether two batches can share one state-set: shader, vertex declaration, index
342
+ * stride, both vertex streams and rendering mode must match, while priority,
343
+ * material and topology are deliberately not compared (faithful to Carbon).
344
+ */
224
345
  function CanBeBinned(batch1, batch2) {
225
346
  return batch1.shader === batch2.shader && batch1.vertexDeclaration === batch2.vertexDeclaration && batch1.indexStride === batch2.indexStride && batch1.vertexStreams[0] === batch2.vertexStreams[0] && batch1.vertexStreams[1] === batch2.vertexStreams[1] && batch1.renderingMode === batch2.renderingMode;
226
347
  }
@@ -228,6 +349,12 @@ function CanBeBinned(batch1, batch2) {
228
349
  // JS comparator (negative/zero/positive) reproducing Carbon Compare's strict-weak
229
350
  // ordering: priority, shader, vertexDeclaration, indexStride, stream0, stream1,
230
351
  // renderingMode. Pointer identity is replaced by a stable per-reference order id.
352
+
353
+ /**
354
+ * Strict-weak comparator reproducing Carbon's batch ordering - priority, shader,
355
+ * vertex declaration, index stride, stream 0, stream 1, rendering mode - with
356
+ * pointer identity replaced by stable order ids.
357
+ */
231
358
  function CompareBatches(batch1, batch2) {
232
359
  if (batch1.priority !== batch2.priority) return batch1.priority - batch2.priority;
233
360
  const shaderOrder = OrderOf(batch1.shader) - OrderOf(batch2.shader);
@@ -244,9 +371,19 @@ function CompareBatches(batch1, batch2) {
244
371
  // Sorts a batch vector and writes each bin-run's length onto the run's leading
245
372
  // batch (groupCount). Mirrors Tr2GdprBatchFullPartition. JS Array.sort is stable,
246
373
  // so the "full" and "stable" partition variants are behaviourally identical here.
374
+
375
+ /**
376
+ * Sorts a batch vector and writes each bin-run's length onto that run's leading
377
+ * batch groupCount, so dispatch can stride one state-set over several draws.
378
+ */
247
379
  function Tr2GdprBatchFullPartition(batches) {
248
380
  PartitionBatchGroups(batches);
249
381
  }
382
+
383
+ /**
384
+ * Stable variant of the full partition, behaviourally identical here because JS
385
+ * Array.sort is already stable.
386
+ */
250
387
  function Tr2GdprBatchStableFullPartition(batches) {
251
388
  PartitionBatchGroups(batches);
252
389
  }
@@ -1 +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-utils/graphics\";\nimport { D3dPrimitiveTopology } from \"@carbonenginejs/runtime-utils/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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"}
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-utils/graphics\";\nimport { D3dPrimitiveTopology } from \"@carbonenginejs/runtime-utils/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\n/**\n * Stable per-reference ordinal standing in for Carbon's pointer ordering in\n * batch comparisons; assigned on first sight and held in a WeakMap, so it is\n * consistent within a run but meaningless across runs.\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.\n\n/**\n * A contiguous (startIndex, count) run of mesh groups, as consumed by the shadow\n * and overlay area-block paths.\n */\nexport class TriRenderBatchAreaBlock\n{\n /**\n * Creates a block covering count groups from startIndex; both are coerced to\n * unsigned integers.\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\n /**\n * Compacts a vector of possibly overlapping or adjacent blocks into the\n * minimal set of contiguous runs, rewriting the caller's array in place and\n * returning it.\n */\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.\n\n/**\n * Groups the area blocks that draw with one shared shader material on the shadow\n * and overlay path.\n */\nexport class TriRenderBatchAreaBlocksWithSharedMaterial extends TriRenderBatchAreaBlock\n{\n /** Starts with no shared material and an empty block vector. */\n constructor()\n {\n super();\n this.shaderMaterial = null;\n this.areaBlockVector = [];\n }\n\n /** Compacts the owned block vector into minimal contiguous runs. */\n Optimize()\n {\n TriRenderBatchAreaBlock.Optimize(this.areaBlockVector);\n }\n\n /** Empties the block vector while keeping the shared material bound. */\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).\n\n/**\n * One draw's worth of CPU descriptor state - material and shader key, geometry\n * binding, draw arguments and sort keys - holding no device resources.\n */\nexport class Tr2RenderBatch\n{\n /**\n * Creates an empty batch with no material or geometry, RM_ANY rendering mode,\n * triangle-list topology and a group count of 1.\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\n /**\n * Sets the material and derives the shader key from it, falling back to the\n * material itself when no shader-state interface is realized yet; that key is\n * both the validity test and the primary bin/sort key, so effect-equal batches\n * still group together.\n */\n SetMaterial(material)\n {\n this.material = material ?? null;\n this.shader = material?.GetShaderStateInterface?.() ?? material ?? null;\n }\n\n /** Sets the outermost sort key; lower priorities sort first. */\n SetPriority(priority)\n {\n this.priority = priority >>> 0;\n }\n\n // Carbon: SetGeometry(vertexDecl, Tr2BufferAL& vb, stride, Tr2BufferAL& ib, indexStride).\n\n /**\n * Binds one vertex stream and an index buffer with their strides, clearing the\n * second stream.\n */\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\n /**\n * Binds geometry from suballocated buffer allocations, taking each\n * allocation's buffer and stride (Carbon's mesh path).\n */\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\n /**\n * Binds a two-stream allocation set; the second allocation becomes vertex\n * stream 1.\n */\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\n /**\n * GPU-free geometry binding: records the geometry resource plus the mesh and\n * area range for the engine to resolve into realized buffers and draw\n * arguments at dispatch.\n */\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 /**\n * Sets the vertex-declaration key, which participates in both binning and\n * sorting.\n */\n SetVertexDeclaration(vertexDeclaration)\n {\n this.vertexDeclaration = vertexDeclaration >>> 0;\n }\n\n /** Binds one vertex stream slot and its stride. */\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\n /**\n * Binds the index buffer and its stride; Carbon spells this SetInidices, a\n * typo corrected here because both producer and consumer are ours.\n */\n SetIndices(indexBuffer, indexStride)\n {\n this.indexBuffer = indexBuffer ?? null;\n this.indexStride = indexStride >>> 0;\n }\n\n /**\n * Sets the primitive topology; only TRIANGLELIST batches are eligible for GDPR\n * binning.\n */\n SetTopology(topology)\n {\n this.topology = topology;\n }\n\n /**\n * References the per-object payload the engine binds when dispatching this\n * batch; the batch borrows it and does not own it.\n */\n SetPerObjectData(objectData)\n {\n this.objectData = objectData ?? null;\n }\n\n /** Records the indexed instanced draw arguments verbatim. */\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\n /**\n * Records a non-indexed instanced draw, reusing indexCountPerInstance for the\n * vertex count and startIndexLocation for the start vertex; baseVertexLocation\n * is left untouched.\n */\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 /**\n * Sets the batch's rendering mode; note that Commit overwrites it with the\n * accumulator's own mode.\n */\n SetRenderingMode(mode)\n {\n this.renderingMode = mode;\n }\n\n // Carbon overloads SetPickingData(data) and SetPickingData(meshIndex, areaIndex).\n\n /**\n * Stores picking data either as a raw value or, when a second argument is\n * given, as the mesh index shifted above the low byte of the area index.\n */\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\n /**\n * A batch is valid only once it has a shader, that is once SetMaterial\n * received a material; invalid batches are dropped silently at Commit.\n */\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).\n\n/**\n * Whether two batches can share one state-set: shader, vertex declaration, index\n * stride, both vertex streams and rendering mode must match, while priority,\n * material and topology are deliberately not compared (faithful to Carbon).\n */\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.\n\n/**\n * Strict-weak comparator reproducing Carbon's batch ordering - priority, shader,\n * vertex declaration, index stride, stream 0, stream 1, rendering mode - with\n * pointer identity replaced by stable order ids.\n */\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.\n\n/**\n * Sorts a batch vector and writes each bin-run's length onto that run's leading\n * batch groupCount, so dispatch can stride one state-set over several draws.\n */\nexport function Tr2GdprBatchFullPartition(batches)\n{\n PartitionBatchGroups(batches);\n}\n\n/**\n * Stable variant of the full partition, behaviourally identical here because JS\n * Array.sort is already stable.\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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"}