@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
@@ -7,12 +7,22 @@ import { RenderingMode } from '@carbonenginejs/runtime-utils/graphics';
7
7
  // state plus the collect/sort contract. Concrete accumulators
8
8
  // (TriRenderBatchAccumulator) implement Commit/Finalize/Get*/TransferFrom. This
9
9
  // stays GPU-free; dispatch to the device is the engine adapter's job.
10
+
11
+ /**
12
+ * Abstract base for render-batch accumulators: holds the shared rendering mode,
13
+ * user data and per-object-data store, and declares the collect and sort
14
+ * contract concrete accumulators implement.
15
+ */
10
16
  class ITriRenderBatchAccumulator {
17
+ /**
18
+ * Starts with zero user data, RM_ANY rendering mode and no per-object-data
19
+ * store bound.
20
+ */
11
21
  constructor() {
12
22
  this.userData = 0;
13
23
  this.renderingMode = RenderingMode.RM_ANY;
14
24
 
15
- // The per-object-data store (a RawDataStore), set once from the render
25
+ // The per-object-data store (a TriPoolAllocator), set once from the render
16
26
  // context at scene setup. The engine builds it from its own struct
17
27
  // reflection; Trinity never defines a struct here.
18
28
  this.rawDataStore = null;
@@ -20,17 +30,30 @@ class ITriRenderBatchAccumulator {
20
30
 
21
31
  // Bind the per-object-data store (from the render context). Carbon's pool
22
32
  // allocator (Tr2Renderer::GetPoolAllocator) relocates onto this store.
23
- SetRawDataStore(store) {
33
+
34
+ /**
35
+ * Binds the per-object-data store, normally taken from the render context at
36
+ * scene setup; returns this for chaining.
37
+ */
38
+ SetTriPoolAllocator(store) {
24
39
  this.rawDataStore = store;
25
40
  return this;
26
41
  }
27
- GetRawDataStore() {
42
+
43
+ /** The bound per-object-data store, or null when none was set. */
44
+ GetTriPoolAllocator() {
28
45
  return this.rawDataStore;
29
46
  }
30
47
 
31
48
  // Lease a transient per-object payload for a registered struct (the pooled
32
49
  // per-object-data allocation). Requires a store - there is no fallback; a
33
50
  // missing store is a setup error, not a silent tight-pack.
51
+
52
+ /**
53
+ * Leases a transient per-object payload for a registered struct from the bound
54
+ * store; a missing store throws rather than silently falling back, because it
55
+ * is a setup error.
56
+ */
34
57
  Alloc(name) {
35
58
  if (!this.rawDataStore) {
36
59
  throw new Error(`ITriRenderBatchAccumulator: no per-object-data store bound (set it from the render context before Alloc "${name}")`);
@@ -41,39 +64,78 @@ class ITriRenderBatchAccumulator {
41
64
  // Carbon pool-allocates per-object data from the accumulator; in JS the GC
42
65
  // owns lifetime, so this just constructs the requested object. Retained for
43
66
  // the deferred { object: this } sites during the per-object-data migration.
67
+
68
+ /**
69
+ * Constructs the requested per-object-data object; Carbon pool-allocates here,
70
+ * but in JS the GC owns lifetime, so this only calls the constructor.
71
+ */
44
72
  Allocate(Constructor) {
45
73
  return new Constructor();
46
74
  }
75
+
76
+ /**
77
+ * Attaches an opaque caller value that every batch collected by this
78
+ * accumulator carries.
79
+ */
47
80
  SetUserData(userData) {
48
81
  this.userData = userData;
49
82
  }
83
+
84
+ /** Sets the rendering mode that Commit stamps onto every batch collected here. */
50
85
  SetRenderingMode(mode) {
51
86
  this.renderingMode = mode;
52
87
  }
88
+
89
+ /** The rendering mode stamped onto collected batches. */
53
90
  GetRenderingMode() {
54
91
  return this.renderingMode;
55
92
  }
93
+
94
+ /**
95
+ * Abstract: concrete accumulators drop every collected batch and reset the
96
+ * shared state.
97
+ */
56
98
  Clear() {
57
99
  throw new Error("ITriRenderBatchAccumulator.Clear is abstract");
58
100
  }
101
+
102
+ /**
103
+ * Abstract: concrete accumulators take ownership of a batch and file it for
104
+ * sorting.
105
+ */
59
106
  Commit(_batch) {
60
107
  throw new Error("ITriRenderBatchAccumulator.Commit is abstract");
61
108
  }
109
+
110
+ /** Abstract: the GDPR-eligible batch vector. */
62
111
  GetGdprBatches() {
63
112
  throw new Error("ITriRenderBatchAccumulator.GetGdprBatches is abstract");
64
113
  }
114
+
115
+ /** Abstract: the plain batch vector. */
65
116
  GetBatches() {
66
117
  throw new Error("ITriRenderBatchAccumulator.GetBatches is abstract");
67
118
  }
119
+
120
+ /** Abstract: concrete accumulators sort and group-count the collected batches. */
68
121
  Finalize() {
69
122
  throw new Error("ITriRenderBatchAccumulator.Finalize is abstract");
70
123
  }
124
+
125
+ /** Abstract: total number of collected batches. */
71
126
  GetBatchCount() {
72
127
  throw new Error("ITriRenderBatchAccumulator.GetBatchCount is abstract");
73
128
  }
129
+
130
+ /**
131
+ * Abstract: whether the collected batches are effect-sorted rather than
132
+ * order-preserving.
133
+ */
74
134
  IsChainedByEffect() {
75
135
  throw new Error("ITriRenderBatchAccumulator.IsChainedByEffect is abstract");
76
136
  }
137
+
138
+ /** Abstract: folds another accumulator's batches into this one. */
77
139
  TransferFrom(_source) {
78
140
  throw new Error("ITriRenderBatchAccumulator.TransferFrom is abstract");
79
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ITriRenderBatchAccumulator.js","sources":["../../../src/trinityCore/ITriRenderBatchAccumulator.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/TriRenderBatch.h (ITriRenderBatchAccumulator)\n//\n// Abstract base for render-batch accumulators: shared render-mode / user-data\n// state plus the collect/sort contract. Concrete accumulators\n// (TriRenderBatchAccumulator) implement Commit/Finalize/Get*/TransferFrom. This\n// stays GPU-free; dispatch to the device is the engine adapter's job.\nimport { RenderingMode } from \"@carbonenginejs/runtime-utils/graphics\";\n\n\nexport class ITriRenderBatchAccumulator\n{\n constructor()\n {\n this.userData = 0;\n\n this.renderingMode = RenderingMode.RM_ANY;\n\n // The per-object-data store (a RawDataStore), set once from the render\n // context at scene setup. The engine builds it from its own struct\n // reflection; Trinity never defines a struct here.\n this.rawDataStore = null;\n }\n\n // Bind the per-object-data store (from the render context). Carbon's pool\n // allocator (Tr2Renderer::GetPoolAllocator) relocates onto this store.\n SetRawDataStore(store)\n {\n this.rawDataStore = store;\n return this;\n }\n\n GetRawDataStore()\n {\n return this.rawDataStore;\n }\n\n // Lease a transient per-object payload for a registered struct (the pooled\n // per-object-data allocation). Requires a store - there is no fallback; a\n // missing store is a setup error, not a silent tight-pack.\n Alloc(name)\n {\n if (!this.rawDataStore)\n {\n throw new Error(`ITriRenderBatchAccumulator: no per-object-data store bound (set it from the render context before Alloc \"${name}\")`);\n }\n\n return this.rawDataStore.Alloc(name);\n }\n\n // Carbon pool-allocates per-object data from the accumulator; in JS the GC\n // owns lifetime, so this just constructs the requested object. Retained for\n // the deferred { object: this } sites during the per-object-data migration.\n Allocate(Constructor)\n {\n return new Constructor();\n }\n\n SetUserData(userData)\n {\n this.userData = userData;\n }\n\n SetRenderingMode(mode)\n {\n this.renderingMode = mode;\n }\n\n GetRenderingMode()\n {\n return this.renderingMode;\n }\n\n Clear()\n {\n throw new Error(\"ITriRenderBatchAccumulator.Clear is abstract\");\n }\n\n Commit(_batch)\n {\n throw new Error(\"ITriRenderBatchAccumulator.Commit is abstract\");\n }\n\n GetGdprBatches()\n {\n throw new Error(\"ITriRenderBatchAccumulator.GetGdprBatches is abstract\");\n }\n\n GetBatches()\n {\n throw new Error(\"ITriRenderBatchAccumulator.GetBatches is abstract\");\n }\n\n Finalize()\n {\n throw new Error(\"ITriRenderBatchAccumulator.Finalize is abstract\");\n }\n\n GetBatchCount()\n {\n throw new Error(\"ITriRenderBatchAccumulator.GetBatchCount is abstract\");\n }\n\n IsChainedByEffect()\n {\n throw new Error(\"ITriRenderBatchAccumulator.IsChainedByEffect is abstract\");\n }\n\n TransferFrom(_source)\n {\n throw new Error(\"ITriRenderBatchAccumulator.TransferFrom is abstract\");\n }\n}\n"],"names":["ITriRenderBatchAccumulator","constructor","userData","renderingMode","RenderingMode","RM_ANY","rawDataStore","SetRawDataStore","store","GetRawDataStore","Alloc","name","Error","Allocate","Constructor","SetUserData","SetRenderingMode","mode","GetRenderingMode","Clear","Commit","_batch","GetGdprBatches","GetBatches","Finalize","GetBatchCount","IsChainedByEffect","TransferFrom","_source"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAIO,MAAMA,0BAA0B,CACvC;AACEC,EAAAA,WAAWA,GACX;IACE,IAAI,CAACC,QAAQ,GAAG,CAAC;AAEjB,IAAA,IAAI,CAACC,aAAa,GAAGC,aAAa,CAACC,MAAM;;AAEzC;AACA;AACA;IACA,IAAI,CAACC,YAAY,GAAG,IAAI;AAC1B,EAAA;;AAEA;AACA;EACAC,eAAeA,CAACC,KAAK,EACrB;IACE,IAAI,CAACF,YAAY,GAAGE,KAAK;AACzB,IAAA,OAAO,IAAI;AACb,EAAA;AAEAC,EAAAA,eAAeA,GACf;IACE,OAAO,IAAI,CAACH,YAAY;AAC1B,EAAA;;AAEA;AACA;AACA;EACAI,KAAKA,CAACC,IAAI,EACV;AACE,IAAA,IAAI,CAAC,IAAI,CAACL,YAAY,EACtB;AACE,MAAA,MAAM,IAAIM,KAAK,CAAC,CAAA,yGAAA,EAA4GD,IAAI,IAAI,CAAC;AACvI,IAAA;AAEA,IAAA,OAAO,IAAI,CAACL,YAAY,CAACI,KAAK,CAACC,IAAI,CAAC;AACtC,EAAA;;AAEA;AACA;AACA;EACAE,QAAQA,CAACC,WAAW,EACpB;IACE,OAAO,IAAIA,WAAW,EAAE;AAC1B,EAAA;EAEAC,WAAWA,CAACb,QAAQ,EACpB;IACE,IAAI,CAACA,QAAQ,GAAGA,QAAQ;AAC1B,EAAA;EAEAc,gBAAgBA,CAACC,IAAI,EACrB;IACE,IAAI,CAACd,aAAa,GAAGc,IAAI;AAC3B,EAAA;AAEAC,EAAAA,gBAAgBA,GAChB;IACE,OAAO,IAAI,CAACf,aAAa;AAC3B,EAAA;AAEAgB,EAAAA,KAAKA,GACL;AACE,IAAA,MAAM,IAAIP,KAAK,CAAC,8CAA8C,CAAC;AACjE,EAAA;EAEAQ,MAAMA,CAACC,MAAM,EACb;AACE,IAAA,MAAM,IAAIT,KAAK,CAAC,+CAA+C,CAAC;AAClE,EAAA;AAEAU,EAAAA,cAAcA,GACd;AACE,IAAA,MAAM,IAAIV,KAAK,CAAC,uDAAuD,CAAC;AAC1E,EAAA;AAEAW,EAAAA,UAAUA,GACV;AACE,IAAA,MAAM,IAAIX,KAAK,CAAC,mDAAmD,CAAC;AACtE,EAAA;AAEAY,EAAAA,QAAQA,GACR;AACE,IAAA,MAAM,IAAIZ,KAAK,CAAC,iDAAiD,CAAC;AACpE,EAAA;AAEAa,EAAAA,aAAaA,GACb;AACE,IAAA,MAAM,IAAIb,KAAK,CAAC,sDAAsD,CAAC;AACzE,EAAA;AAEAc,EAAAA,iBAAiBA,GACjB;AACE,IAAA,MAAM,IAAId,KAAK,CAAC,0DAA0D,CAAC;AAC7E,EAAA;EAEAe,YAAYA,CAACC,OAAO,EACpB;AACE,IAAA,MAAM,IAAIhB,KAAK,CAAC,qDAAqD,CAAC;AACxE,EAAA;AACF;;;;"}
1
+ {"version":3,"file":"ITriRenderBatchAccumulator.js","sources":["../../../src/trinityCore/ITriRenderBatchAccumulator.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/TriRenderBatch.h (ITriRenderBatchAccumulator)\n//\n// Abstract base for render-batch accumulators: shared render-mode / user-data\n// state plus the collect/sort contract. Concrete accumulators\n// (TriRenderBatchAccumulator) implement Commit/Finalize/Get*/TransferFrom. This\n// stays GPU-free; dispatch to the device is the engine adapter's job.\nimport { RenderingMode } from \"@carbonenginejs/runtime-utils/graphics\";\n\n\n/**\n * Abstract base for render-batch accumulators: holds the shared rendering mode,\n * user data and per-object-data store, and declares the collect and sort\n * contract concrete accumulators implement.\n */\nexport class ITriRenderBatchAccumulator\n{\n /**\n * Starts with zero user data, RM_ANY rendering mode and no per-object-data\n * store bound.\n */\n constructor()\n {\n this.userData = 0;\n\n this.renderingMode = RenderingMode.RM_ANY;\n\n // The per-object-data store (a TriPoolAllocator), set once from the render\n // context at scene setup. The engine builds it from its own struct\n // reflection; Trinity never defines a struct here.\n this.rawDataStore = null;\n }\n\n // Bind the per-object-data store (from the render context). Carbon's pool\n // allocator (Tr2Renderer::GetPoolAllocator) relocates onto this store.\n\n /**\n * Binds the per-object-data store, normally taken from the render context at\n * scene setup; returns this for chaining.\n */\n SetTriPoolAllocator(store)\n {\n this.rawDataStore = store;\n return this;\n }\n\n /** The bound per-object-data store, or null when none was set. */\n GetTriPoolAllocator()\n {\n return this.rawDataStore;\n }\n\n // Lease a transient per-object payload for a registered struct (the pooled\n // per-object-data allocation). Requires a store - there is no fallback; a\n // missing store is a setup error, not a silent tight-pack.\n\n /**\n * Leases a transient per-object payload for a registered struct from the bound\n * store; a missing store throws rather than silently falling back, because it\n * is a setup error.\n */\n Alloc(name)\n {\n if (!this.rawDataStore)\n {\n throw new Error(`ITriRenderBatchAccumulator: no per-object-data store bound (set it from the render context before Alloc \"${name}\")`);\n }\n\n return this.rawDataStore.Alloc(name);\n }\n\n // Carbon pool-allocates per-object data from the accumulator; in JS the GC\n // owns lifetime, so this just constructs the requested object. Retained for\n // the deferred { object: this } sites during the per-object-data migration.\n\n /**\n * Constructs the requested per-object-data object; Carbon pool-allocates here,\n * but in JS the GC owns lifetime, so this only calls the constructor.\n */\n Allocate(Constructor)\n {\n return new Constructor();\n }\n\n /**\n * Attaches an opaque caller value that every batch collected by this\n * accumulator carries.\n */\n SetUserData(userData)\n {\n this.userData = userData;\n }\n\n /** Sets the rendering mode that Commit stamps onto every batch collected here. */\n SetRenderingMode(mode)\n {\n this.renderingMode = mode;\n }\n\n /** The rendering mode stamped onto collected batches. */\n GetRenderingMode()\n {\n return this.renderingMode;\n }\n\n /**\n * Abstract: concrete accumulators drop every collected batch and reset the\n * shared state.\n */\n Clear()\n {\n throw new Error(\"ITriRenderBatchAccumulator.Clear is abstract\");\n }\n\n /**\n * Abstract: concrete accumulators take ownership of a batch and file it for\n * sorting.\n */\n Commit(_batch)\n {\n throw new Error(\"ITriRenderBatchAccumulator.Commit is abstract\");\n }\n\n /** Abstract: the GDPR-eligible batch vector. */\n GetGdprBatches()\n {\n throw new Error(\"ITriRenderBatchAccumulator.GetGdprBatches is abstract\");\n }\n\n /** Abstract: the plain batch vector. */\n GetBatches()\n {\n throw new Error(\"ITriRenderBatchAccumulator.GetBatches is abstract\");\n }\n\n /** Abstract: concrete accumulators sort and group-count the collected batches. */\n Finalize()\n {\n throw new Error(\"ITriRenderBatchAccumulator.Finalize is abstract\");\n }\n\n /** Abstract: total number of collected batches. */\n GetBatchCount()\n {\n throw new Error(\"ITriRenderBatchAccumulator.GetBatchCount is abstract\");\n }\n\n /**\n * Abstract: whether the collected batches are effect-sorted rather than\n * order-preserving.\n */\n IsChainedByEffect()\n {\n throw new Error(\"ITriRenderBatchAccumulator.IsChainedByEffect is abstract\");\n }\n\n /** Abstract: folds another accumulator's batches into this one. */\n TransferFrom(_source)\n {\n throw new Error(\"ITriRenderBatchAccumulator.TransferFrom is abstract\");\n }\n}\n"],"names":["ITriRenderBatchAccumulator","constructor","userData","renderingMode","RenderingMode","RM_ANY","rawDataStore","SetTriPoolAllocator","store","GetTriPoolAllocator","Alloc","name","Error","Allocate","Constructor","SetUserData","SetRenderingMode","mode","GetRenderingMode","Clear","Commit","_batch","GetGdprBatches","GetBatches","Finalize","GetBatchCount","IsChainedByEffect","TransferFrom","_source"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACO,MAAMA,0BAA0B,CACvC;AACE;AACF;AACA;AACA;AACEC,EAAAA,WAAWA,GACX;IACE,IAAI,CAACC,QAAQ,GAAG,CAAC;AAEjB,IAAA,IAAI,CAACC,aAAa,GAAGC,aAAa,CAACC,MAAM;;AAEzC;AACA;AACA;IACA,IAAI,CAACC,YAAY,GAAG,IAAI;AAC1B,EAAA;;AAEA;AACA;;AAEA;AACF;AACA;AACA;EACEC,mBAAmBA,CAACC,KAAK,EACzB;IACE,IAAI,CAACF,YAAY,GAAGE,KAAK;AACzB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACAC,EAAAA,mBAAmBA,GACnB;IACE,OAAO,IAAI,CAACH,YAAY;AAC1B,EAAA;;AAEA;AACA;AACA;;AAEA;AACF;AACA;AACA;AACA;EACEI,KAAKA,CAACC,IAAI,EACV;AACE,IAAA,IAAI,CAAC,IAAI,CAACL,YAAY,EACtB;AACE,MAAA,MAAM,IAAIM,KAAK,CAAC,CAAA,yGAAA,EAA4GD,IAAI,IAAI,CAAC;AACvI,IAAA;AAEA,IAAA,OAAO,IAAI,CAACL,YAAY,CAACI,KAAK,CAACC,IAAI,CAAC;AACtC,EAAA;;AAEA;AACA;AACA;;AAEA;AACF;AACA;AACA;EACEE,QAAQA,CAACC,WAAW,EACpB;IACE,OAAO,IAAIA,WAAW,EAAE;AAC1B,EAAA;;AAEA;AACF;AACA;AACA;EACEC,WAAWA,CAACb,QAAQ,EACpB;IACE,IAAI,CAACA,QAAQ,GAAGA,QAAQ;AAC1B,EAAA;;AAEA;EACAc,gBAAgBA,CAACC,IAAI,EACrB;IACE,IAAI,CAACd,aAAa,GAAGc,IAAI;AAC3B,EAAA;;AAEA;AACAC,EAAAA,gBAAgBA,GAChB;IACE,OAAO,IAAI,CAACf,aAAa;AAC3B,EAAA;;AAEA;AACF;AACA;AACA;AACEgB,EAAAA,KAAKA,GACL;AACE,IAAA,MAAM,IAAIP,KAAK,CAAC,8CAA8C,CAAC;AACjE,EAAA;;AAEA;AACF;AACA;AACA;EACEQ,MAAMA,CAACC,MAAM,EACb;AACE,IAAA,MAAM,IAAIT,KAAK,CAAC,+CAA+C,CAAC;AAClE,EAAA;;AAEA;AACAU,EAAAA,cAAcA,GACd;AACE,IAAA,MAAM,IAAIV,KAAK,CAAC,uDAAuD,CAAC;AAC1E,EAAA;;AAEA;AACAW,EAAAA,UAAUA,GACV;AACE,IAAA,MAAM,IAAIX,KAAK,CAAC,mDAAmD,CAAC;AACtE,EAAA;;AAEA;AACAY,EAAAA,QAAQA,GACR;AACE,IAAA,MAAM,IAAIZ,KAAK,CAAC,iDAAiD,CAAC;AACpE,EAAA;;AAEA;AACAa,EAAAA,aAAaA,GACb;AACE,IAAA,MAAM,IAAIb,KAAK,CAAC,sDAAsD,CAAC;AACzE,EAAA;;AAEA;AACF;AACA;AACA;AACEc,EAAAA,iBAAiBA,GACjB;AACE,IAAA,MAAM,IAAId,KAAK,CAAC,0DAA0D,CAAC;AAC7E,EAAA;;AAEA;EACAe,YAAYA,CAACC,OAAO,EACpB;AACE,IAAA,MAAM,IAAIhB,KAAK,CAAC,qDAAqD,CAAC;AACxE,EAAA;AACF;;;;"}
@@ -4,6 +4,11 @@ import { CjsModel } from '@carbonenginejs/runtime-utils/model';
4
4
  import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
5
5
 
6
6
  let _initProto, _initClass, _init_aabbMax, _init_extra_aabbMax, _init_aabbMin, _init_extra_aabbMin, _init_count, _init_extra_count;
7
+
8
+ /**
9
+ * Instance data whose buffer lives entirely on the GPU: Trinity keeps only the
10
+ * CPU-side layout metadata, stride, instance count and bounds.
11
+ */
7
12
  let _Tr2DirectInstanceDat;
8
13
  class Tr2DirectInstanceData extends CjsModel {
9
14
  static {
@@ -42,9 +47,16 @@ class Tr2DirectInstanceData extends CjsModel {
42
47
  vec3.copy(this.aabbMin, min);
43
48
  vec3.copy(this.aabbMax, max);
44
49
  }
50
+
51
+ /** Number of instances in the GPU-side buffer. */
45
52
  GetCount() {
46
53
  return this.count;
47
54
  }
55
+
56
+ /**
57
+ * Byte stride of one instance, computed by SetLayout as the largest offset
58
+ * plus element size in the layout.
59
+ */
48
60
  GetStride() {
49
61
  return this.#stride;
50
62
  }
@@ -67,9 +79,16 @@ class Tr2DirectInstanceData extends CjsModel {
67
79
  this.#layout = Object.freeze(layout.slice());
68
80
  this.#stride = stride;
69
81
  }
82
+
83
+ /** The frozen element-descriptor list recorded by SetLayout. */
70
84
  GetLayout() {
71
85
  return this.#layout;
72
86
  }
87
+
88
+ /**
89
+ * A detached copy of the recorded bounds; the buffer index is ignored because
90
+ * only one stream is modelled.
91
+ */
73
92
  GetInstanceBufferBoundingBox(_bufferIndex = 0) {
74
93
  return {
75
94
  min: vec3.clone(this.aabbMin),
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2DirectInstanceData.js","sources":["../../../src/trinityCore/Tr2DirectInstanceData.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Tr2DirectInstanceData.h\n// trinity/trinity/Tr2DirectInstanceData.cpp\n// trinity/trinity/Tr2DirectInstanceData_Blue.cpp\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\n\n\n@type.define({ className: \"Tr2DirectInstanceData\", family: \"trinityCore\" })\nexport class Tr2DirectInstanceData extends CjsModel\n{\n\n /** m_aabb.m_max (Vector3) [READ] */\n @io.read\n @type.vec3\n aabbMax = vec3.create();\n\n /** m_aabb.m_min (Vector3) [READ] */\n @io.read\n @type.vec3\n aabbMin = vec3.create();\n\n /** GetCount (MAP_PROPERTY_READONLY \"count\") - number of instances. */\n @io.read\n @type.uint32\n count = 0;\n\n /** m_layout (Tr2VertexDefinition) - CPU metadata for the direct GPU stream. */\n #layout = Object.freeze([]);\n\n #stride = 0;\n\n /**\n * Assigns the CPU-side instance bounds without realizing a GPU buffer.\n * Accepts the JavaScript `{ min, max }` box representation; a two-vector\n * form is retained for consistency with `Tr2RuntimeInstanceData`.\n */\n @carbon.method\n @impl.adapted\n SetBoundingBox(bounds, maxBounds)\n {\n const min = maxBounds === undefined ? bounds?.min ?? bounds?.minBounds : bounds;\n const max = maxBounds === undefined ? bounds?.max ?? bounds?.maxBounds : maxBounds;\n if (!min || !max)\n {\n throw new TypeError(\"Bounding box requires min and max vectors\");\n }\n vec3.copy(this.aabbMin, min);\n vec3.copy(this.aabbMax, max);\n }\n\n @carbon.method\n @impl.implemented\n GetCount()\n {\n return this.count;\n }\n\n @carbon.method\n @impl.implemented\n GetStride()\n {\n return this.#stride;\n }\n\n /**\n * Records the CPU vertex-layout metadata. Carbon computes the stride as\n * max(offset + elementSize); the direct GPU buffer itself is realized by\n * the engine (GetData/UpdateData/DestroyData are engine-owned).\n */\n @carbon.method\n @impl.adapted\n SetLayout(layout)\n {\n if (!Array.isArray(layout))\n {\n throw new TypeError(\"Layout must be an array of element descriptors\");\n }\n let stride = 0;\n for (const element of layout)\n {\n const offset = Number(element?.offset) || 0;\n const byteSize = Number(element?.byteSize) || 0;\n stride = Math.max(stride, offset + byteSize);\n }\n this.#layout = Object.freeze(layout.slice());\n this.#stride = stride;\n }\n\n @carbon.method\n @impl.implemented\n GetLayout()\n {\n return this.#layout;\n }\n\n @carbon.method\n @impl.implemented\n GetInstanceBufferBoundingBox(_bufferIndex = 0)\n {\n return {\n min: vec3.clone(this.aabbMin),\n max: vec3.clone(this.aabbMax)\n };\n }\n\n}\n"],"names":["_Tr2DirectInstanceDat","Tr2DirectInstanceData","CjsModel","e","_init_aabbMax","_init_extra_aabbMax","_init_aabbMin","_init_extra_aabbMin","_init_count","_init_extra_count","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","vec3","uint32","carbon","method","impl","adapted","implemented","aabbMax","create","aabbMin","count","Object","freeze","SetBoundingBox","bounds","maxBounds","min","undefined","minBounds","max","TypeError","copy","GetCount","GetStride","SetLayout","layout","Array","isArray","stride","element","offset","Number","byteSize","Math","slice","GetLayout","GetInstanceBufferBoundingBox","_bufferIndex","clone"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2DirectInstanceData.js","sources":["../../../src/trinityCore/Tr2DirectInstanceData.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Tr2DirectInstanceData.h\n// trinity/trinity/Tr2DirectInstanceData.cpp\n// trinity/trinity/Tr2DirectInstanceData_Blue.cpp\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\n\n\n/**\n * Instance data whose buffer lives entirely on the GPU: Trinity keeps only the\n * CPU-side layout metadata, stride, instance count and bounds.\n */\n@type.define({ className: \"Tr2DirectInstanceData\", family: \"trinityCore\" })\nexport class Tr2DirectInstanceData extends CjsModel\n{\n\n /** m_aabb.m_max (Vector3) [READ] */\n @io.read\n @type.vec3\n aabbMax = vec3.create();\n\n /** m_aabb.m_min (Vector3) [READ] */\n @io.read\n @type.vec3\n aabbMin = vec3.create();\n\n /** GetCount (MAP_PROPERTY_READONLY \"count\") - number of instances. */\n @io.read\n @type.uint32\n count = 0;\n\n /** m_layout (Tr2VertexDefinition) - CPU metadata for the direct GPU stream. */\n #layout = Object.freeze([]);\n\n #stride = 0;\n\n /**\n * Assigns the CPU-side instance bounds without realizing a GPU buffer.\n * Accepts the JavaScript `{ min, max }` box representation; a two-vector\n * form is retained for consistency with `Tr2RuntimeInstanceData`.\n */\n @carbon.method\n @impl.adapted\n SetBoundingBox(bounds, maxBounds)\n {\n const min = maxBounds === undefined ? bounds?.min ?? bounds?.minBounds : bounds;\n const max = maxBounds === undefined ? bounds?.max ?? bounds?.maxBounds : maxBounds;\n if (!min || !max)\n {\n throw new TypeError(\"Bounding box requires min and max vectors\");\n }\n vec3.copy(this.aabbMin, min);\n vec3.copy(this.aabbMax, max);\n }\n\n /** Number of instances in the GPU-side buffer. */\n @carbon.method\n @impl.implemented\n GetCount()\n {\n return this.count;\n }\n\n /**\n * Byte stride of one instance, computed by SetLayout as the largest offset\n * plus element size in the layout.\n */\n @carbon.method\n @impl.implemented\n GetStride()\n {\n return this.#stride;\n }\n\n /**\n * Records the CPU vertex-layout metadata. Carbon computes the stride as\n * max(offset + elementSize); the direct GPU buffer itself is realized by\n * the engine (GetData/UpdateData/DestroyData are engine-owned).\n */\n @carbon.method\n @impl.adapted\n SetLayout(layout)\n {\n if (!Array.isArray(layout))\n {\n throw new TypeError(\"Layout must be an array of element descriptors\");\n }\n let stride = 0;\n for (const element of layout)\n {\n const offset = Number(element?.offset) || 0;\n const byteSize = Number(element?.byteSize) || 0;\n stride = Math.max(stride, offset + byteSize);\n }\n this.#layout = Object.freeze(layout.slice());\n this.#stride = stride;\n }\n\n /** The frozen element-descriptor list recorded by SetLayout. */\n @carbon.method\n @impl.implemented\n GetLayout()\n {\n return this.#layout;\n }\n\n /**\n * A detached copy of the recorded bounds; the buffer index is ignored because\n * only one stream is modelled.\n */\n @carbon.method\n @impl.implemented\n GetInstanceBufferBoundingBox(_bufferIndex = 0)\n {\n return {\n min: vec3.clone(this.aabbMin),\n max: vec3.clone(this.aabbMax)\n };\n }\n\n}\n"],"names":["_Tr2DirectInstanceDat","Tr2DirectInstanceData","CjsModel","e","_init_aabbMax","_init_extra_aabbMax","_init_aabbMin","_init_extra_aabbMin","_init_count","_init_extra_count","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","vec3","uint32","carbon","method","impl","adapted","implemented","aabbMax","create","aabbMin","count","Object","freeze","SetBoundingBox","bounds","maxBounds","min","undefined","minBounds","max","TypeError","copy","GetCount","GetStride","SetLayout","layout","Array","isArray","stride","element","offset","Number","byteSize","Math","slice","GetLayout","GetInstanceBufferBoundingBox","_bufferIndex","clone"],"mappings":";;;;;;;AASA;AACA;AACA;AACA;AAHA,IAAAA;AAIA,MAAAC,qBAAA,SAC2CC,QAAQ,CACnD;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,EAAA,CAAAC,aAAA,EAAAC,mBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,WAAA,EAAAC,iBAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAAX,qBAAA,EAAAY,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,uBAAuB;AAAEC,MAAAA,MAAM,EAAE;KAAe,CAAC,CAAA,EAAA,CAAA,CAAA,CAKxEC,EAAE,EAAFA,EAAE,CAACC,IAAI,EACPL,IAAI,EAAJA,IAAI,CAACM,IAAI,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAITF,EAAE,EAAFA,EAAE,CAACC,IAAI,EACPL,IAAI,EAAJA,IAAI,CAACM,IAAI,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAITF,EAAE,EAAFA,EAAE,CAACC,IAAI,EACPL,IAAI,EAAJA,IAAI,CAACO,MAAM,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAaXC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAcZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAUhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAWhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAmBZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,uBAUhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,8BAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAlGwBxB,QAAQ,CAAA;AAAA;AAGjD;EAGAyB,OAAO,IAAAjB,UAAA,CAAA,IAAA,CAAA,EAAAN,aAAA,OAAGgB,IAAI,CAACQ,MAAM,EAAE,CAAA;;AAEvB;EAGAC,OAAO,IAAAxB,mBAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAGc,IAAI,CAACQ,MAAM,EAAE,CAAA;;AAEvB;AAGAE,EAAAA,KAAK,IAAAvB,mBAAA,CAAA,IAAA,CAAA,EAAAC,WAAA,OAAG,CAAC,CAAA;;AAET;EACA,OAAO,IAAAC,iBAAA,CAAA,IAAA,CAAA,EAAGsB,MAAM,CAACC,MAAM,CAAC,EAAE,CAAC;EAE3B,OAAO,GAAG,CAAC;;AAEX;AACF;AACA;AACA;AACA;AAGEC,EAAAA,cAAcA,CAACC,MAAM,EAAEC,SAAS,EAChC;AACE,IAAA,MAAMC,GAAG,GAAGD,SAAS,KAAKE,SAAS,GAAGH,MAAM,EAAEE,GAAG,IAAIF,MAAM,EAAEI,SAAS,GAAGJ,MAAM;AAC/E,IAAA,MAAMK,GAAG,GAAGJ,SAAS,KAAKE,SAAS,GAAGH,MAAM,EAAEK,GAAG,IAAIL,MAAM,EAAEC,SAAS,GAAGA,SAAS;AAClF,IAAA,IAAI,CAACC,GAAG,IAAI,CAACG,GAAG,EAChB;AACE,MAAA,MAAM,IAAIC,SAAS,CAAC,2CAA2C,CAAC;AAClE,IAAA;IACApB,IAAI,CAACqB,IAAI,CAAC,IAAI,CAACZ,OAAO,EAAEO,GAAG,CAAC;IAC5BhB,IAAI,CAACqB,IAAI,CAAC,IAAI,CAACd,OAAO,EAAEY,GAAG,CAAC;AAC9B,EAAA;;AAEA;AAGAG,EAAAA,QAAQA,GACR;IACE,OAAO,IAAI,CAACZ,KAAK;AACnB,EAAA;;AAEA;AACF;AACA;AACA;AAGEa,EAAAA,SAASA,GACT;IACE,OAAO,IAAI,CAAC,OAAO;AACrB,EAAA;;AAEA;AACF;AACA;AACA;AACA;EAGEC,SAASA,CAACC,MAAM,EAChB;AACE,IAAA,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAC1B;AACE,MAAA,MAAM,IAAIL,SAAS,CAAC,gDAAgD,CAAC;AACvE,IAAA;IACA,IAAIQ,MAAM,GAAG,CAAC;AACd,IAAA,KAAK,MAAMC,OAAO,IAAIJ,MAAM,EAC5B;MACE,MAAMK,MAAM,GAAGC,MAAM,CAACF,OAAO,EAAEC,MAAM,CAAC,IAAI,CAAC;MAC3C,MAAME,QAAQ,GAAGD,MAAM,CAACF,OAAO,EAAEG,QAAQ,CAAC,IAAI,CAAC;MAC/CJ,MAAM,GAAGK,IAAI,CAACd,GAAG,CAACS,MAAM,EAAEE,MAAM,GAAGE,QAAQ,CAAC;AAC9C,IAAA;AACA,IAAA,IAAI,CAAC,OAAO,GAAGrB,MAAM,CAACC,MAAM,CAACa,MAAM,CAACS,KAAK,EAAE,CAAC;AAC5C,IAAA,IAAI,CAAC,OAAO,GAAGN,MAAM;AACvB,EAAA;;AAEA;AAGAO,EAAAA,SAASA,GACT;IACE,OAAO,IAAI,CAAC,OAAO;AACrB,EAAA;;AAEA;AACF;AACA;AACA;AAGEC,EAAAA,4BAA4BA,CAACC,YAAY,GAAG,CAAC,EAC7C;IACE,OAAO;MACLrB,GAAG,EAAEhB,IAAI,CAACsC,KAAK,CAAC,IAAI,CAAC7B,OAAO,CAAC;AAC7BU,MAAAA,GAAG,EAAEnB,IAAI,CAACsC,KAAK,CAAC,IAAI,CAAC/B,OAAO;KAC7B;AACH,EAAA;AAAC,EAAA;IAAAf,UAAA,EAAA;AAAA;AAEH;;;;"}
@@ -8,6 +8,11 @@ const TermType = Object.freeze({
8
8
  FUNCTION: 1,
9
9
  STRING_FUNCTION: 2
10
10
  });
11
+
12
+ /**
13
+ * Describes one term the expression language exposes - a variable, a function or
14
+ * a string function - with its category, argument names and help text.
15
+ */
11
16
  let _Tr2ExpressionTermInf;
12
17
  new class extends _identity {
13
18
  static [class Tr2ExpressionTermInfo extends CjsModel {
@@ -34,20 +39,36 @@ new class extends _identity {
34
39
  name = (_init_extra_category(this), _init_name(this, ""));
35
40
  description = (_init_extra_name(this), _init_description(this, ""));
36
41
  #arguments = (_init_extra_description(this), []);
42
+
43
+ /** A detached copy of the argument-name list. */
37
44
  GetArguments() {
38
45
  return this.#arguments.slice();
39
46
  }
47
+
48
+ /** Builds a VARIABLE term, which takes no arguments. */
40
49
  static Variable(category, name, description) {
41
50
  return _Tr2ExpressionTermInf.#create(TermType.VARIABLE, category, name, [], description);
42
51
  }
52
+
53
+ /**
54
+ * Builds a FUNCTION term where every trailing value but the last is an
55
+ * argument name and the last is the description.
56
+ */
43
57
  static Function(category, name, ...argumentsAndDescription) {
44
58
  const values = argumentsAndDescription.slice();
45
59
  const description = values.pop() ?? "";
46
60
  return _Tr2ExpressionTermInf.#create(TermType.FUNCTION, category, name, values, description);
47
61
  }
62
+
63
+ /** Builds a STRING_FUNCTION term taking exactly one argument. */
48
64
  static StringFunction(category, name, argument, description) {
49
65
  return _Tr2ExpressionTermInf.#create(TermType.STRING_FUNCTION, category, name, [argument], description);
50
66
  }
67
+
68
+ /**
69
+ * Constructs and fills a term of the given type, copying the argument list so
70
+ * the caller's array is not retained.
71
+ */
51
72
  }];
52
73
  #create(_0, _1, _2, _3, _4) {
53
74
  return _create.apply(this, arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2ExpressionTermInfo.js","sources":["../../../src/trinityCore/Tr2ExpressionTermInfo.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Tr2ExpressionTermInfo.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2ExpressionTermInfo.cpp\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2ExpressionTermInfo_Blue.cpp\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\n\n\nconst TermType = Object.freeze({\n VARIABLE: 0,\n FUNCTION: 1,\n STRING_FUNCTION: 2\n});\n\n\n@type.define({\n className: \"Tr2ExpressionTermInfo\",\n family: \"trinityCore\"\n})\nexport class Tr2ExpressionTermInfo extends CjsModel\n{\n @io.readwrite\n @type.int32\n @schema.enum(\"TermType\")\n type = TermType.VARIABLE;\n\n @io.readwrite\n @type.string\n category = \"\";\n\n @io.readwrite\n @type.string\n name = \"\";\n\n @io.readwrite\n @type.string\n description = \"\";\n\n #arguments = [];\n\n @carbon.method\n @impl.implemented\n GetArguments()\n {\n return this.#arguments.slice();\n }\n\n static Variable(category, name, description)\n {\n return Tr2ExpressionTermInfo.#create(TermType.VARIABLE, category, name, [], description);\n }\n\n static Function(category, name, ...argumentsAndDescription)\n {\n const values = argumentsAndDescription.slice();\n const description = values.pop() ?? \"\";\n return Tr2ExpressionTermInfo.#create(TermType.FUNCTION, category, name, values, description);\n }\n\n static StringFunction(category, name, argument, description)\n {\n return Tr2ExpressionTermInfo.#create(TermType.STRING_FUNCTION, category, name, [argument], description);\n }\n\n static #create(termType, category, name, args, description)\n {\n const term = new Tr2ExpressionTermInfo();\n term.type = termType;\n term.category = category;\n term.name = name;\n term.description = description;\n term.#arguments = args.slice();\n return term;\n }\n\n static TermType = TermType;\n\n}\n"],"names":["TermType","Object","freeze","VARIABLE","FUNCTION","STRING_FUNCTION","_Tr2ExpressionTermInf","_identity","Tr2ExpressionTermInfo","CjsModel","e","_init_type","_init_extra_type","_init_category","_init_extra_category","_init_name","_init_extra_name","_init_description","_init_extra_description","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","readwrite","int32","schema","enum","string","carbon","method","impl","implemented","_create","termType","category","name","args","description","term","slice","GetArguments","Variable","Function","argumentsAndDescription","values","pop","StringFunction","argument","#create","_0","_1","_2","_3","_4","apply","arguments","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2ExpressionTermInfo.js","sources":["../../../src/trinityCore/Tr2ExpressionTermInfo.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Tr2ExpressionTermInfo.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2ExpressionTermInfo.cpp\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2ExpressionTermInfo_Blue.cpp\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\n\n\nconst TermType = Object.freeze({\n VARIABLE: 0,\n FUNCTION: 1,\n STRING_FUNCTION: 2\n});\n\n\n/**\n * Describes one term the expression language exposes - a variable, a function or\n * a string function - with its category, argument names and help text.\n */\n@type.define({\n className: \"Tr2ExpressionTermInfo\",\n family: \"trinityCore\"\n})\nexport class Tr2ExpressionTermInfo extends CjsModel\n{\n @io.readwrite\n @type.int32\n @schema.enum(\"TermType\")\n type = TermType.VARIABLE;\n\n @io.readwrite\n @type.string\n category = \"\";\n\n @io.readwrite\n @type.string\n name = \"\";\n\n @io.readwrite\n @type.string\n description = \"\";\n\n #arguments = [];\n\n /** A detached copy of the argument-name list. */\n @carbon.method\n @impl.implemented\n GetArguments()\n {\n return this.#arguments.slice();\n }\n\n /** Builds a VARIABLE term, which takes no arguments. */\n static Variable(category, name, description)\n {\n return Tr2ExpressionTermInfo.#create(TermType.VARIABLE, category, name, [], description);\n }\n\n /**\n * Builds a FUNCTION term where every trailing value but the last is an\n * argument name and the last is the description.\n */\n static Function(category, name, ...argumentsAndDescription)\n {\n const values = argumentsAndDescription.slice();\n const description = values.pop() ?? \"\";\n return Tr2ExpressionTermInfo.#create(TermType.FUNCTION, category, name, values, description);\n }\n\n /** Builds a STRING_FUNCTION term taking exactly one argument. */\n static StringFunction(category, name, argument, description)\n {\n return Tr2ExpressionTermInfo.#create(TermType.STRING_FUNCTION, category, name, [argument], description);\n }\n\n /**\n * Constructs and fills a term of the given type, copying the argument list so\n * the caller's array is not retained.\n */\n static #create(termType, category, name, args, description)\n {\n const term = new Tr2ExpressionTermInfo();\n term.type = termType;\n term.category = category;\n term.name = name;\n term.description = description;\n term.#arguments = args.slice();\n return term;\n }\n\n static TermType = TermType;\n\n}\n"],"names":["TermType","Object","freeze","VARIABLE","FUNCTION","STRING_FUNCTION","_Tr2ExpressionTermInf","_identity","Tr2ExpressionTermInfo","CjsModel","e","_init_type","_init_extra_type","_init_category","_init_extra_category","_init_name","_init_extra_name","_init_description","_init_extra_description","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","readwrite","int32","schema","enum","string","carbon","method","impl","implemented","_create","termType","category","name","args","description","term","slice","GetArguments","Variable","Function","argumentsAndDescription","values","pop","StringFunction","argument","#create","_0","_1","_2","_3","_4","apply","arguments","constructor"],"mappings":"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"}
@@ -30,6 +30,11 @@ new class extends _identity {
30
30
 
31
31
  /** m_name - debug label; not Blue-exposed. */
32
32
  #name = (_init_extra_isValid(this), "");
33
+
34
+ /**
35
+ * Sets the debug label, coercing null to an empty string; Carbon keeps this
36
+ * private with no getter, so the paired GetName is a JS addition.
37
+ */
33
38
  SetName(name) {
34
39
  this.#name = String(name ?? "");
35
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2GpuBuffer.js","sources":["../../../src/trinityCore/Tr2GpuBuffer.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Tr2GpuBuffer.h\n// Hand-maintained from Carbon source; runtime-device owns the canonical JS class.\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { PixelFormat } from \"@carbonenginejs/runtime-utils/render-context\";\n\n/** Tr2GpuBuffer (trinityCore) - generated from schema shapeHash 7a225a45.... */\n@type.define({ className: \"Tr2GpuBuffer\", family: \"trinityCore\" })\nexport class Tr2GpuBuffer extends CjsModel\n{\n\n static CreationFlags = Object.freeze({ CPU_WRITABLE: 1, GPU_WRITABLE: 2, DRAW_INDIRECT: 4 });\n\n /** m_creationFlags (CreationFlags) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.uint32\n creationFlags = 0;\n\n /** m_format (Tr2RenderContextEnum::PixelFormat - enum PixelFormat) [READWRITE, ENUM, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.int32\n @schema.enum(\"PixelFormat\")\n format = 0;\n\n /** m_count (uint32_t) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.uint32\n count = 0;\n\n @io.read\n @type.boolean\n isValid = false;\n\n /** m_name - debug label; not Blue-exposed. */\n #name = \"\";\n\n @carbon.method\n @impl.implemented\n SetName(name)\n {\n this.#name = String(name ?? \"\");\n }\n\n /** JS accessor for the debug label; Carbon keeps m_name private with no getter. */\n GetName()\n {\n return this.#name;\n }\n\n /** Carbon method __init__ (MAP_METHOD_AND_WRAP_OPTIONAL_ARGS). */\n @carbon.method\n @impl.notImplemented\n __init__(...args)\n {\n throw new Error(\"Tr2GpuBuffer.__init__ is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon method DebugGetData -> PyGetData (MAP_METHOD). */\n @carbon.method\n @impl.notImplemented\n DebugGetData(...args)\n {\n throw new Error(\"Tr2GpuBuffer.DebugGetData is not implemented in CarbonEngineJS.\");\n }\n\n static PixelFormat = PixelFormat;\n\n}\n"],"names":["_Tr2GpuBuffer","_identity","Tr2GpuBuffer","CjsModel","e","_init_creationFlags","_init_extra_creationFlags","_init_format","_init_extra_format","_init_count","_init_extra_count","_init_isValid","_init_extra_isValid","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","uint32","int32","schema","enum","read","boolean","carbon","method","impl","implemented","notImplemented","creationFlags","format","count","isValid","SetName","name","String","GetName","__init__","args","Error","DebugGetData","CreationFlags","Object","freeze","CPU_WRITABLE","GPU_WRITABLE","DRAW_INDIRECT","PixelFormat","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2GpuBuffer.js","sources":["../../../src/trinityCore/Tr2GpuBuffer.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Tr2GpuBuffer.h\n// Hand-maintained from Carbon source; runtime-device owns the canonical JS class.\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { PixelFormat } from \"@carbonenginejs/runtime-utils/render-context\";\n\n/** Tr2GpuBuffer (trinityCore) - generated from schema shapeHash 7a225a45.... */\n@type.define({ className: \"Tr2GpuBuffer\", family: \"trinityCore\" })\nexport class Tr2GpuBuffer extends CjsModel\n{\n\n static CreationFlags = Object.freeze({ CPU_WRITABLE: 1, GPU_WRITABLE: 2, DRAW_INDIRECT: 4 });\n\n /** m_creationFlags (CreationFlags) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.uint32\n creationFlags = 0;\n\n /** m_format (Tr2RenderContextEnum::PixelFormat - enum PixelFormat) [READWRITE, ENUM, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.int32\n @schema.enum(\"PixelFormat\")\n format = 0;\n\n /** m_count (uint32_t) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.uint32\n count = 0;\n\n @io.read\n @type.boolean\n isValid = false;\n\n /** m_name - debug label; not Blue-exposed. */\n #name = \"\";\n\n /**\n * Sets the debug label, coercing null to an empty string; Carbon keeps this\n * private with no getter, so the paired GetName is a JS addition.\n */\n @carbon.method\n @impl.implemented\n SetName(name)\n {\n this.#name = String(name ?? \"\");\n }\n\n /** JS accessor for the debug label; Carbon keeps m_name private with no getter. */\n GetName()\n {\n return this.#name;\n }\n\n /** Carbon method __init__ (MAP_METHOD_AND_WRAP_OPTIONAL_ARGS). */\n @carbon.method\n @impl.notImplemented\n __init__(...args)\n {\n throw new Error(\"Tr2GpuBuffer.__init__ is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon method DebugGetData -> PyGetData (MAP_METHOD). */\n @carbon.method\n @impl.notImplemented\n DebugGetData(...args)\n {\n throw new Error(\"Tr2GpuBuffer.DebugGetData is not implemented in CarbonEngineJS.\");\n }\n\n static PixelFormat = PixelFormat;\n\n}\n"],"names":["_Tr2GpuBuffer","_identity","Tr2GpuBuffer","CjsModel","e","_init_creationFlags","_init_extra_creationFlags","_init_format","_init_extra_format","_init_count","_init_extra_count","_init_isValid","_init_extra_isValid","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","uint32","int32","schema","enum","read","boolean","carbon","method","impl","implemented","notImplemented","creationFlags","format","count","isValid","SetName","name","String","GetName","__init__","args","Error","DebugGetData","CreationFlags","Object","freeze","CPU_WRITABLE","GPU_WRITABLE","DRAW_INDIRECT","PixelFormat","constructor"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { applyDecs2311 as _applyDecs2311 } from '../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { mat3 } from '@carbonenginejs/runtime-utils/mat3';
3
3
  import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
4
4
  import { quat } from '@carbonenginejs/runtime-utils/quat';
5
5
  import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
6
6
  import { io, type, impl, carbon } from '@carbonenginejs/runtime-utils/schema';
7
7
  import { CjsModel } from '@carbonenginejs/runtime-utils/model';
8
- import { CjsGrannyCurves } from '../../curves/CjsGrannyCurves.js';
9
- import { GrannyBoneOffset as _GrannyBoneOffset } from '../../trinityCore/GrannyBoneOffset.js';
8
+ import { CjsGrannyCurves } from '../curves/CjsGrannyCurves.js';
9
+ import { GrannyBoneOffset as _GrannyBoneOffset } from './GrannyBoneOffset.js';
10
10
 
11
11
  let _initProto, _initClass, _init_resPath_, _init_extra_resPath_, _init_model_, _init_extra_model_, _init_grannyRes, _init_extra_grannyRes, _init_eventListener, _init_extra_eventListener, _init_animationEnabled, _init_extra_animationEnabled, _init_debugRenderJointNames, _init_extra_debugRenderJointNames, _init_debugRenderSkeleton, _init_extra_debugRenderSkeleton, _init_boneOffset, _init_extra_boneOffset;
12
12
  function createLayer(name = "", weight = 1, allBones = false) {
@@ -26,7 +26,39 @@ function getName(value) {
26
26
  return String(value?.name ?? value?.Name ?? "");
27
27
  }
28
28
 
29
- /** Tr2GrannyAnimation (trinityCore) - generated from schema shapeHash 056bad2a.... */
29
+ /** No bones: the shape every consumer already handles, per Carbon's else branch. */
30
+ const NO_BONES = Object.freeze({
31
+ bones: null,
32
+ boneCount: 0
33
+ });
34
+
35
+ /**
36
+ * The mesh bone palette of an animation updater, or nulls when it has none.
37
+ *
38
+ * Carbon `Tr2GrannyAnimationUtils::GetBoneList` (Tr2GrannyAnimation.cpp:24-33),
39
+ * which every bone consumer calls before threading `(bones, boneCount)` down.
40
+ * An uninitialised updater or a zero bone count yields the same shape as no
41
+ * updater at all, so callers need one branch rather than three.
42
+ *
43
+ * The palette is BORROWED - it is the updater's live buffer, rewritten in place
44
+ * each frame. Do not retain it across frames or mutate it.
45
+ */
46
+ function getBoneList(animationUpdater) {
47
+ if (!animationUpdater?.IsInitialized?.()) {
48
+ return NO_BONES;
49
+ }
50
+ const boneCount = animationUpdater.GetMeshBoneCount?.() ?? 0;
51
+ if (!boneCount) {
52
+ return NO_BONES;
53
+ }
54
+ const bones = animationUpdater.GetMeshBoneMatrixList?.();
55
+ return bones ? {
56
+ bones,
57
+ boneCount
58
+ } : NO_BONES;
59
+ }
60
+
61
+ /** Tr2GrannyAnimation (trinityCore) - promoted from generated; shapeHash 056bad2a. */
30
62
  let _Tr2GrannyAnimation;
31
63
  class Tr2GrannyAnimation extends CjsModel {
32
64
  static {
@@ -36,7 +68,7 @@ class Tr2GrannyAnimation extends CjsModel {
36
68
  } = _applyDecs2311(this, [type.define({
37
69
  className: "Tr2GrannyAnimation",
38
70
  family: "trinityCore"
39
- })], [[[io, io.persistOnly, type, type.string], 16, "resPath_"], [[io, io.persistOnly, type, type.string], 16, "model_"], [[io, io.read, void 0, type.objectRef("TriGrannyRes")], 16, "grannyRes"], [[io, io.readwrite, void 0, type.objectRef("IBlueEventListener")], 16, "eventListener"], [[io, io.readwrite, type, type.boolean], 16, "animationEnabled"], [[io, io.readwrite, type, type.boolean], 16, "debugRenderJointNames"], [[io, io.readwrite, type, type.boolean], 16, "debugRenderSkeleton"], [[io, io.read, void 0, type.objectRef("GrannyBoneOffset")], 16, "boneOffset"], [[impl, impl.adapted], 18, "Initialize"], [[impl, impl.adapted], 18, "SetGrannyResource"], [[impl, impl.adapted], 18, "RebuildCachedData"], [[impl, impl.adapted], 18, "Update"], [[carbon, carbon.method, impl, impl.adapted], 18, "PlayAnimationEx"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddAnimationLayer"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddAnimationLayerAllBones"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddAnimationLayerBone"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Resource loading stays runtime-resource-owned; registered decoded resources are attached synchronously when available.")], 18, "AddSecondaryResPath"], [[impl, impl.adapted], 18, "SetSecondaryGrannyResource"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The browser graph retains Carbon's aim request; final IK realization can be refined by an engine adapter.")], 18, "AimBone"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChainAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChainAnimationEx"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearAnimations"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearAnimationLayers"], [[carbon, carbon.method, impl, impl.implemented], 18, "DisableAimBone"], [[carbon, carbon.method, impl, impl.adapted], 18, "EndAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetAdditiveBlendMode"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLayerWeight"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetSecondaryAnimationName"], [[carbon, carbon.method, impl, impl.adapted], 18, "PlayAnimation"], [[impl, impl.adapted], 18, "PlayAnimationOnce"], [[carbon, carbon.method, impl, impl.adapted], 18, "PlayLayerAnimation"], [[impl, impl.adapted], 18, "PlayLayerAnimationByName"], [[carbon, carbon.method, impl, impl.implemented], 18, "RemoveAnimationLayerBone"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetAnimationNames"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetAdditiveBlendMode"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetLayerControlParam"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetLayerControlParamSkewRate"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetLayerWeight"], [[carbon, carbon.method, impl, impl.implemented], 18, "TogglePauseAnimations"], [[impl, impl.implemented], 18, "IsInitialized"], [[impl, impl.adapted], 18, "GetMeshBoneMatrixList"], [[impl, impl.implemented], 18, "GetMeshBoneCount"], [[impl, impl.adapted], 18, "GetBoneWorldTransform"], [[impl, impl.adapted], 18, "GetBoneTransform"], [[impl, impl.adapted], 18, "GetBoneMatrix"], [[impl, impl.implemented], 18, "GetAnimationTransforms"], [[impl, impl.implemented], 18, "GetAnimationBoneList"], [[impl, impl.implemented], 18, "GetMorphAnimations"], [[impl, impl.adapted], 18, "GetAimBoneState"]], 0, void 0, CjsModel));
71
+ })], [[[io, io.persistOnly, type, type.string], 16, "resPath_"], [[io, io.persistOnly, type, type.string], 16, "model_"], [[io, io.read, void 0, type.objectRef("TriGrannyRes")], 16, "grannyRes"], [[io, io.readwrite, void 0, type.objectRef("IBlueEventListener")], 16, "eventListener"], [[io, io.readwrite, type, type.boolean], 16, "animationEnabled"], [[io, io.readwrite, type, type.boolean], 16, "debugRenderJointNames"], [[io, io.readwrite, type, type.boolean], 16, "debugRenderSkeleton"], [[io, io.read, void 0, type.objectRef("GrannyBoneOffset")], 16, "boneOffset"], [[impl, impl.adapted], 18, "Initialize"], [[impl, impl.adapted], 18, "SetGrannyResource"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetSharedGeometryRes"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasMeshBinding"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetUseMeshBinding"], [[impl, impl.adapted], 18, "HasSharedGeometryRes"], [[impl, impl.adapted], 18, "RebuildCachedData"], [[impl, impl.adapted], 18, "Update"], [[carbon, carbon.method, impl, impl.adapted], 18, "PlayAnimationEx"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddAnimationLayer"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddAnimationLayerAllBones"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddAnimationLayerBone"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Resource loading stays runtime-resource-owned; registered decoded resources are attached synchronously when available.")], 18, "AddSecondaryResPath"], [[impl, impl.adapted], 18, "SetSecondaryGrannyResource"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The browser graph retains Carbon's aim request; final IK realization can be refined by an engine adapter.")], 18, "AimBone"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChainAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChainAnimationEx"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearAnimations"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearAnimationLayers"], [[carbon, carbon.method, impl, impl.implemented], 18, "DisableAimBone"], [[carbon, carbon.method, impl, impl.adapted], 18, "EndAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetAdditiveBlendMode"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLayerWeight"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetSecondaryAnimationName"], [[carbon, carbon.method, impl, impl.adapted], 18, "PlayAnimation"], [[impl, impl.adapted], 18, "PlayAnimationOnce"], [[carbon, carbon.method, impl, impl.adapted], 18, "PlayLayerAnimation"], [[impl, impl.adapted], 18, "PlayLayerAnimationByName"], [[carbon, carbon.method, impl, impl.implemented], 18, "RemoveAnimationLayerBone"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetAnimationNames"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetAdditiveBlendMode"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetLayerControlParam"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetLayerControlParamSkewRate"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetLayerWeight"], [[carbon, carbon.method, impl, impl.implemented], 18, "TogglePauseAnimations"], [[impl, impl.implemented], 18, "IsInitialized"], [[impl, impl.adapted], 18, "GetMeshBoneMatrixList"], [[impl, impl.implemented], 18, "GetMeshBoneCount"], [[impl, impl.adapted], 18, "GetBoneWorldTransform"], [[impl, impl.adapted], 18, "GetBoneTransform"], [[impl, impl.adapted], 18, "GetBoneMatrix"], [[impl, impl.implemented], 18, "GetAnimationTransforms"], [[impl, impl.implemented], 18, "GetAnimationBoneList"], [[impl, impl.implemented], 18, "GetMorphAnimations"], [[impl, impl.adapted], 18, "GetAimBoneState"]], 0, void 0, CjsModel));
40
72
  }
41
73
  constructor(...args) {
42
74
  super(...args);
@@ -52,6 +84,18 @@ class Tr2GrannyAnimation extends CjsModel {
52
84
  #initialized = false;
53
85
  #layers = new Map();
54
86
  #meshBoneIndices = [];
87
+
88
+ /**
89
+ * Carbon's `Float4x3* m_meshBoneMatrixList` (Tr2GrannyAnimation.h:208) - one
90
+ * contiguous palette, stride 12, allocated once and rewritten in place.
91
+ */
92
+ #meshBonePalette = null;
93
+
94
+ /** Carbon m_useMeshBinding (Tr2GrannyAnimation.cpp:81) - defaults false. */
95
+ #useMeshBinding = false;
96
+
97
+ /** Whether grannyRes was borrowed from the mesh rather than resolved here. */
98
+ #sharedGeometry = false;
55
99
  #morphAnimations = new Map();
56
100
  #morphCurveCache = new WeakMap();
57
101
  #morphSample = new Float32Array(1);
@@ -94,9 +138,47 @@ class Tr2GrannyAnimation extends CjsModel {
94
138
  /** Attaches an already decoded TriGrannyRes-compatible resource. */
95
139
  SetGrannyResource(resource) {
96
140
  this.grannyRes = resource ?? null;
141
+ this.#sharedGeometry = false;
142
+ return this.RebuildCachedData();
143
+ }
144
+
145
+ /**
146
+ * Binds a geometry resource BORROWED from the mesh this controller animates,
147
+ * rather than one resolved from its own resPath.
148
+ *
149
+ * Carbon `SetSharedGeometryRes` (Tr2GrannyAnimation.h), driven by
150
+ * `EveChildMesh::InitializeAnimation` when the updater has no authored path
151
+ * of its own. A null resource clears the binding, which is Carbon's fallback
152
+ * when the mesh has no geometry yet.
153
+ */
154
+ SetSharedGeometryRes(resource) {
155
+ this.grannyRes = resource ?? null;
156
+ this.#sharedGeometry = !!resource;
97
157
  return this.RebuildCachedData();
98
158
  }
99
159
 
160
+ /**
161
+ * Whether the palette is built from the MESH's bone binding.
162
+ *
163
+ * Carbon gates palette construction on this (`m_useMeshBinding`,
164
+ * Tr2GrannyAnimation.cpp:588, :633) and `EveChildMesh::GetBoneTransforms`
165
+ * branches on it to choose between this controller's palette and a separate
166
+ * Tr2AnimationMeshBinding. Defaults false, matching cpp:81.
167
+ */
168
+ HasMeshBinding() {
169
+ return this.#useMeshBinding;
170
+ }
171
+
172
+ /** Carbon `SetUseMeshBinding` (Tr2GrannyAnimation.h:60). */
173
+ SetUseMeshBinding(enable) {
174
+ this.#useMeshBinding = !!enable;
175
+ }
176
+
177
+ /** Whether the bound geometry was borrowed from the mesh. */
178
+ HasSharedGeometryRes() {
179
+ return this.#sharedGeometry;
180
+ }
181
+
100
182
  /** Rebuilds browser bone state directly from format-gr2's stable payload. */
101
183
  RebuildCachedData() {
102
184
  const source = this.#getSource(this.grannyRes);
@@ -357,10 +439,57 @@ class Tr2GrannyAnimation extends CjsModel {
357
439
  return this.#initialized;
358
440
  }
359
441
 
360
- /** Returns the mesh-order browser bone matrices expected by Eve objects. */
442
+ /**
443
+ * The mesh-order bone palette, in Carbon's storage: ONE contiguous buffer of
444
+ * Float4x3 entries, stride 12, not an array of matrices.
445
+ *
446
+ * Carbon holds `Float4x3* m_meshBoneMatrixList` (Tr2GrannyAnimation.h:208)
447
+ * and every CPU consumer unpacks it with `TriMatrixCopyFrom3x4`. The JS
448
+ * consumers already expect that shape - `MatrixCopyFrom3x4` indexes
449
+ * `boneIndex * 12` for the light sets, bounds and decals - so the palette is
450
+ * built here rather than converted at each of nine call sites. It is also
451
+ * what an uploader wants: one block, handed over whole.
452
+ *
453
+ * Float4x3 drops the constant fourth column and stores the first three
454
+ * columns of the 4x4 (Utilities/MatrixUtils.cpp:6-20).
455
+ */
361
456
  GetMeshBoneMatrixList() {
362
457
  const bones = this.#runtimeModel?.bones ?? [];
363
- return this.#meshBoneIndices.map(index => bones[index]?.offsetTransform ?? mat4.create());
458
+ const count = this.#meshBoneIndices.length;
459
+ if (!this.#meshBonePalette || this.#meshBonePalette.length !== count * 12) {
460
+ this.#meshBonePalette = new Float32Array(count * 12);
461
+ }
462
+ const palette = this.#meshBonePalette;
463
+ for (let index = 0; index < count; index++) {
464
+ const source = bones[this.#meshBoneIndices[index]]?.offsetTransform;
465
+ const base = index * 12;
466
+ if (!source) {
467
+ // Carbon leaves an unmapped bone at whatever the palette held; identity
468
+ // is the reproducible stand-in and keeps a missing bone from collapsing
469
+ // its geometry to the origin.
470
+ palette[base] = palette[base + 5] = palette[base + 10] = 1;
471
+ palette[base + 1] = palette[base + 2] = palette[base + 3] = 0;
472
+ palette[base + 4] = palette[base + 6] = palette[base + 7] = 0;
473
+ palette[base + 8] = palette[base + 9] = palette[base + 11] = 0;
474
+ continue;
475
+ }
476
+
477
+ // Columns of the 4x4, which is rows of its transpose. gl-matrix is
478
+ // column-major, so column c is source[c * 4 + r].
479
+ palette[base] = source[0];
480
+ palette[base + 1] = source[4];
481
+ palette[base + 2] = source[8];
482
+ palette[base + 3] = source[12];
483
+ palette[base + 4] = source[1];
484
+ palette[base + 5] = source[5];
485
+ palette[base + 6] = source[9];
486
+ palette[base + 7] = source[13];
487
+ palette[base + 8] = source[2];
488
+ palette[base + 9] = source[6];
489
+ palette[base + 10] = source[10];
490
+ palette[base + 11] = source[14];
491
+ }
492
+ return palette;
364
493
  }
365
494
  GetMeshBoneCount() {
366
495
  return this.#meshBoneIndices.length;
@@ -762,5 +891,5 @@ class Tr2GrannyAnimation extends CjsModel {
762
891
  }
763
892
  }
764
893
 
765
- export { _Tr2GrannyAnimation as Tr2GrannyAnimation };
894
+ export { _Tr2GrannyAnimation as Tr2GrannyAnimation, getBoneList };
766
895
  //# sourceMappingURL=Tr2GrannyAnimation.js.map