@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
@@ -1,17 +1,15 @@
1
- import { applyDecs2311 as _applyDecs2311 } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { type, impl } from '@carbonenginejs/runtime-utils/schema';
3
3
  import { EveEntity as _EveEntity } from '../../EveEntity.js';
4
- import { EveComponentType } from '../../../../eve/EveComponentTypes.js';
4
+ import { EveComponentType } from '../../EveComponentTypes.js';
5
5
  import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
6
- import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
6
+ import '@carbonenginejs/runtime-utils/vec3';
7
7
  import { vec4 } from '@carbonenginejs/runtime-utils/vec4';
8
8
  import { TriBatchType } from '@carbonenginejs/runtime-utils/graphics';
9
- import { EveSpaceObjectPSData as _EveSpaceObjectPSData } from '../../../../eve/EveSpaceObjectPSData.js';
10
- import { EveSpaceObjectVSData as _EveSpaceObjectVSData } from '../../../../eve/EveSpaceObjectVSData.js';
11
- import { Tr2PerObjectData } from '../../../../trinityCore/Tr2PerObjectData.js';
12
- import { Tr2RenderReason } from '../../../trinityCore/enums.js';
9
+ import { createChildPerObjectRecords, stampChildTransforms } from '../../perObjectData/childPerObjectRecords.js';
10
+ import { Tr2RenderReason } from '../../../generated/trinityCore/enums.js';
13
11
 
14
- let _initProto, _initClass, _init_mesh, _init_extra_mesh, _init_owner, _init_extra_owner, _init_worldTransform, _init_extra_worldTransform, _init_decals, _init_extra_decals, _init_perObjectDataVs, _init_extra_perObjectDataVs, _init_perObjectDataPs, _init_extra_perObjectDataPs, _init_psData, _init_extra_psData, _init_vsData, _init_extra_vsData;
12
+ let _initProto, _initClass, _init_mesh, _init_extra_mesh, _init_owner, _init_extra_owner, _init_worldTransform, _init_extra_worldTransform, _init_decals, _init_extra_decals, _init_perObjectDataVs, _init_extra_perObjectDataVs, _init_perObjectDataPs, _init_extra_perObjectDataPs;
15
13
 
16
14
  // Packed (x, y, z, radius) cull-sphere scratch for IsCastingShadow.
17
15
  const SPHERE_SCRATCH = vec4.create();
@@ -21,16 +19,12 @@ let _EveSwarmRenderable;
21
19
  class EveSwarmRenderable extends _EveEntity {
22
20
  static {
23
21
  ({
24
- e: [_init_mesh, _init_extra_mesh, _init_owner, _init_extra_owner, _init_worldTransform, _init_extra_worldTransform, _init_decals, _init_extra_decals, _init_perObjectDataVs, _init_extra_perObjectDataVs, _init_perObjectDataPs, _init_extra_perObjectDataPs, _init_psData, _init_extra_psData, _init_vsData, _init_extra_vsData, _initProto],
22
+ e: [_init_mesh, _init_extra_mesh, _init_owner, _init_extra_owner, _init_worldTransform, _init_extra_worldTransform, _init_decals, _init_extra_decals, _init_perObjectDataVs, _init_extra_perObjectDataVs, _init_perObjectDataPs, _init_extra_perObjectDataPs, _initProto],
25
23
  c: [_EveSwarmRenderable, _initClass]
26
24
  } = _applyDecs2311(this, [type.define({
27
25
  className: "EveSwarmRenderable",
28
26
  family: "eve/spaceObject/swarm"
29
- })], [[type.objectRef("Tr2MeshBase"), 0, "mesh"], [type.objectRef("EveSwarm"), 0, "owner"], [[type, type.mat4], 16, "worldTransform"], [type.list("EveSpaceObjectDecal"), 0, "decals"], [type.rawStruct("Tr2PersistentPerObjectData"), 0, "perObjectDataVs"], [type.rawStruct("Tr2PersistentPerObjectData"), 0, "perObjectDataPs"], [type.rawStruct("EveSpaceObjectPSData"), 0, "psData"], [type.rawStruct("EveSpaceObjectVSData"), 0, "vsData"], [[impl, impl.adapted], 18, "InitializeRenderable"], [[impl, impl.adapted], 18, "SetWorldTransform"], [[impl, impl.implemented], 18, "GetWorldTransform"], [[impl, impl.implemented], 18, "SetBoosterIntensity"], [[impl, impl.adapted], 18, "SetShaderData"], [[impl, impl.adapted], 18, "InitDecals"], [[impl, impl.implemented], 18, "GetID"], [[impl, impl.adapted], 18, "SetShaderOption"], [[impl, impl.adapted, void 0, impl.reason("Carbon's RegisterComponent<IEveShadowCaster> template is expressed as the registry's explicit component-name signature.")], 18, "RegisterComponents"], [[impl, impl.adapted, void 0, impl.reason("The length-1 out array replaces the float& out-param; the shadow math is ported, including exactly which paths write the out value.")], 18, "IsCastingShadow"], [[impl, impl.adapted, void 0, impl.reason("Geometry IsGood/GetMeshLod realization (cpp:276-286) and the shadowPixelSize LOD select are engine-resolved; the delegation structure is ported (EveChildMesh precedent).")], 18, "GetShadowBatches"], [[impl, impl.adapted, void 0, impl.reason("Persistent VS/PS device buffers are engine-owned; the record carries the object reference whose live vsData/psData the engine serializer consumes.")], 18, "GetPerObjectData"], [[impl, impl.implemented], 18, "GetShadowPerObjectData"]], 0, void 0, _EveEntity));
30
- }
31
- constructor(...args) {
32
- super(...args);
33
- _init_extra_vsData(this);
27
+ })], [[type.objectRef("Tr2MeshBase"), 0, "mesh"], [type.objectRef("EveSwarm"), 0, "owner"], [[type, type.mat4], 16, "worldTransform"], [type.list("EveSpaceObjectDecal"), 0, "decals"], [type.rawStruct("Tr2PersistentPerObjectData"), 0, "perObjectDataVs"], [type.rawStruct("Tr2PersistentPerObjectData"), 0, "perObjectDataPs"], [[impl, impl.adapted], 18, "InitializeRenderable"], [[impl, impl.implemented], 18, "SetWorldTransform"], [[impl, impl.implemented], 18, "GetWorldTransform"], [[impl, impl.implemented], 18, "SetBoosterIntensity"], [[impl, impl.implemented], 18, "SetShaderData"], [[impl, impl.adapted], 18, "InitDecals"], [[impl, impl.implemented], 18, "GetID"], [[impl, impl.adapted], 18, "SetShaderOption"], [[impl, impl.adapted, void 0, impl.reason("Carbon's RegisterComponent<IEveShadowCaster> template is expressed as the registry's explicit component-name signature.")], 18, "RegisterComponents"], [[impl, impl.adapted, void 0, impl.reason("The length-1 out array replaces the float& out-param; the shadow math is ported, including exactly which paths write the out value.")], 18, "IsCastingShadow"], [[impl, impl.adapted, void 0, impl.reason("Geometry IsGood/GetMeshLod realization (cpp:276-286) and the shadowPixelSize LOD select are engine-resolved; the delegation structure is ported (EveChildMesh precedent).")], 18, "GetShadowBatches"], [[impl, impl.implemented], 18, "GetPerObjectData"], [[impl, impl.implemented], 18, "GetShadowPerObjectData"]], 0, void 0, _EveEntity));
34
28
  }
35
29
  /** m_mesh (Tr2MeshBasePtr) */
36
30
  mesh = (_initProto(this), _init_mesh(this, null));
@@ -50,58 +44,103 @@ class EveSwarmRenderable extends _EveEntity {
50
44
  /** m_perObjectDataPs (Tr2PersistentPerObjectData<EveSwarmRenderable>) */
51
45
  perObjectDataPs = (_init_extra_perObjectDataVs(this), _init_perObjectDataPs(this, null));
52
46
 
53
- /** m_psData (EveSpaceObjectPSData) */
54
- psData = (_init_extra_perObjectDataPs(this), _init_psData(this, new _EveSpaceObjectPSData()));
47
+ /** m_vsData / m_psData - this renderable PERSISTENT per-object pair. */
48
+ #perObjectData = (_init_extra_perObjectDataPs(this), createChildPerObjectRecords());
49
+
50
+ /** The previous LOGICAL world transform, for worldTransformLast. */
51
+ #lastWorldTransform = mat4.create();
55
52
 
56
- /** m_vsData (EveSpaceObjectVSData) */
57
- vsData = (_init_extra_psData(this), _init_vsData(this, new _EveSpaceObjectVSData()));
53
+ /**
54
+ * Binds this fighter to the swarm that owns it and the mesh it draws with.
55
+ * @param {Object} owner - the owning swarm; also this renderable's pick ID
56
+ * @param {Object} mesh - the shared fighter mesh
57
+ */
58
58
  InitializeRenderable(owner, mesh) {
59
59
  this.owner = owner ?? null;
60
60
  this.mesh = mesh ?? null;
61
61
  }
62
+
63
+ /**
64
+ * Carbon EveSwarmRenderable::SetWorldTransform (EveSwarm.cpp:115-125): the
65
+ * OUTGOING transform becomes worldTransformLast, then the new one is stamped
66
+ * into both records.
67
+ */
62
68
  SetWorldTransform(transform) {
69
+ // The previous LOGICAL transform is what stampChildTransforms needs, so it
70
+ // is kept alongside rather than read back out of the record.
71
+ mat4.copy(this.#lastWorldTransform, this.worldTransform);
63
72
  mat4.copy(this.worldTransform, transform);
64
- mat4.copy(this.vsData.worldTransformLast, this.vsData.worldTransform);
65
- mat4.transpose(this.vsData.worldTransform, this.worldTransform);
66
- if (!mat4.invert(this.vsData.invWorldTransform, this.vsData.worldTransform)) {
67
- mat4.identity(this.vsData.invWorldTransform);
68
- }
69
- mat4.copy(this.psData.worldTransform, this.vsData.worldTransform);
70
- mat4.copy(this.psData.worldTransformLast, this.vsData.worldTransformLast);
71
- mat4.copy(this.psData.invWorldTransform, this.vsData.invWorldTransform);
73
+ stampChildTransforms(this.#perObjectData, this.worldTransform, this.#lastWorldTransform);
72
74
  }
75
+
76
+ /**
77
+ * This fighter's world placement, as last set by SetWorldTransform.
78
+ * @returns {Float32Array} the live logical transform, not a copy
79
+ */
73
80
  GetWorldTransform() {
74
81
  return this.worldTransform;
75
82
  }
83
+
84
+ /** Carbon EveSwarm.cpp:132: the booster glow rides in shipData.x. */
76
85
  SetBoosterIntensity(intensity) {
77
- this.psData.shipData[0] = intensity;
86
+ const shipData = this.#perObjectData.ps.Get("shipData");
87
+ shipData[0] = intensity;
78
88
  }
89
+
90
+ /**
91
+ * Carbon EveSwarmRenderable::SetShaderData (EveSwarm.cpp:135-152): copies the
92
+ * hull values a swarm ship shares with its owner. shipData.x is NOT copied -
93
+ * it is this renderable own booster glow.
94
+ * @param {RawData} vsData - the owner EveSpaceObjectVSData record
95
+ * @param {RawData} psData - the owner EveSpaceObjectPSData record
96
+ */
79
97
  SetShaderData(vsData, psData) {
98
+ const vs = this.#perObjectData.vs;
99
+ const ps = this.#perObjectData.ps;
80
100
  for (const name of ["clipData", "ellpsoidCenter", "ellpsoidRadii", "shipData"]) {
81
- vec4.copy(this.vsData[name], vsData[name]);
101
+ vs.Set(name, vsData.Get(name));
82
102
  }
83
- vec3.copy(this.psData.clipSphereCenter, psData.clipSphereCenter);
103
+ ps.Set("clipSphereCenter", psData.Get("clipSphereCenter"));
84
104
  for (const name of ["clipRadiusSq", "clipRadius2Sq", "impactDataOffset", "clipSphereFactor2", "clipSphereFactor"]) {
85
- this.psData[name] = psData[name];
86
- }
87
- for (let index = 0; index < this.psData.shLightingCoefficients.length; index++) {
88
- vec4.copy(this.psData.shLightingCoefficients[index], psData.shLightingCoefficients[index]);
105
+ ps.Set(name, psData.Get(name));
89
106
  }
90
- this.psData.shipData[1] = psData.shipData[1];
91
- this.psData.shipData[2] = psData.shipData[2];
92
- this.psData.shipData[3] = psData.shipData[3];
107
+ ps.Set("shLightingCoefficients", psData.Get("shLightingCoefficients"));
108
+
109
+ // Carbon copies y/z/w only, leaving x (the booster glow) alone.
110
+ const shipData = ps.Get("shipData");
111
+ const owner = psData.Get("shipData");
112
+ shipData[1] = owner[1];
113
+ shipData[2] = owner[2];
114
+ shipData[3] = owner[3];
93
115
  }
116
+
117
+ /**
118
+ * Takes this fighter's own copies of the squad's authored decals, so a decal
119
+ * animating on one ship does not move on the rest.
120
+ * @param {Array} decals - authored decals; each is cloned when it can be
121
+ */
94
122
  InitDecals(decals) {
95
123
  this.decals = decals.map(decal => decal?.Clone?.() ?? decal);
96
124
  }
125
+
126
+ /**
127
+ * The pick identity of this fighter, which Carbon reports as its owning swarm.
128
+ * @returns {Object} the owner, or null before InitializeRenderable
129
+ */
97
130
  GetID() {
98
131
  return this.owner;
99
132
  }
133
+
134
+ /**
135
+ * Forwards an authored shader option to the fighter mesh, if one is bound.
136
+ * @param {String} name - option name
137
+ * @param {String|Number} value - option value
138
+ */
100
139
  SetShaderOption(name, value) {
101
140
  this.mesh?.SetShaderOption?.(name, value);
102
141
  }
103
142
 
104
- /** Carbon EveSwarmRenderable::RegisterComponents (EveSwarm.cpp:306-313):
143
+ /** Carbon EveSwarmRenderable::RegisterComponents (EveSwarm.cpp:306-313):
105
144
  * unconditional ShadowCaster leaf self-registration. */
106
145
  RegisterComponents() {
107
146
  const registry = this.GetComponentRegistry();
@@ -110,15 +149,15 @@ class EveSwarmRenderable extends _EveEntity {
110
149
  }
111
150
  }
112
151
 
113
- /** Carbon EveSwarmRenderable::IsCastingShadow (EveSwarm.cpp:242-267): the
114
- * owner/reflection early-outs do NOT write the out-param (the scene hoists
115
- * the float outside its caster loop, so a stale previous value survives -
116
- * contract); the cull sphere is the OWNER's squad-wide sphere
117
- * (EveSwarm.cpp:801-808) with its center overwritten by THIS fighter's
118
- * world translation (cpp:257 - squad radius centered on the fighter);
119
- * threshold is > 15 (the turret uses 5) - so a swarm with 5 < size <= 15
120
- * casts volumetric/spot shadows (whose call sites ignore the return and
121
- * re-check > 5 themselves) but not cascades. Carbon's float& out-param
152
+ /** Carbon EveSwarmRenderable::IsCastingShadow (EveSwarm.cpp:242-267): the
153
+ * owner/reflection early-outs do NOT write the out-param (the scene hoists
154
+ * the float outside its caster loop, so a stale previous value survives -
155
+ * contract); the cull sphere is the OWNER's squad-wide sphere
156
+ * (EveSwarm.cpp:801-808) with its center overwritten by THIS fighter's
157
+ * world translation (cpp:257 - squad radius centered on the fighter);
158
+ * threshold is > 15 (the turret uses 5) - so a swarm with 5 < size <= 15
159
+ * casts volumetric/spot shadows (whose call sites ignore the return and
160
+ * re-check > 5 themselves) but not cascades. Carbon's float& out-param
122
161
  * becomes the optional trailing length-1 array. */
123
162
  IsCastingShadow(cameraFrustum, shadowFrustum, renderReason, sizeInShadowOut = null) {
124
163
  if (!this.owner) {
@@ -146,12 +185,12 @@ class EveSwarmRenderable extends _EveEntity {
146
185
  return sizeInShadow > 15;
147
186
  }
148
187
 
149
- /** Carbon EveSwarmRenderable::GetShadowBatches (EveSwarm.cpp:269-298): the
150
- * mesh's OPAQUE areas only, per displayed area via CreateGeometryBatch -
151
- * exactly Tr2MeshBase.GetBatches restricted to OPAQUE (no per-area
152
- * IsCastingShadows filter; area display double-checked in Carbon). QUIRK:
153
- * unlike the turret, shadowPixelSize IS consumed here - it drives the LOD
154
- * select (cpp:282), which is engine-resolved at realization. Returns
188
+ /** Carbon EveSwarmRenderable::GetShadowBatches (EveSwarm.cpp:269-298): the
189
+ * mesh's OPAQUE areas only, per displayed area via CreateGeometryBatch -
190
+ * exactly Tr2MeshBase.GetBatches restricted to OPAQUE (no per-area
191
+ * IsCastingShadows filter; area display double-checked in Carbon). QUIRK:
192
+ * unlike the turret, shadowPixelSize IS consumed here - it drives the LOD
193
+ * select (cpp:282), which is engine-resolved at realization. Returns
155
194
  * whether any batch was committed (JS addition; Carbon returns void). */
156
195
  GetShadowBatches(batches, perObjectData, _shadowPixelSize) {
157
196
  if (!this.mesh || this.mesh.display === false) {
@@ -160,20 +199,19 @@ class EveSwarmRenderable extends _EveEntity {
160
199
  return this.mesh.GetBatches?.(batches, TriBatchType.TRIBATCHTYPE_OPAQUE, perObjectData) === true;
161
200
  }
162
201
 
163
- /** Carbon EveSwarmRenderable::GetPerObjectData (EveSwarm.cpp:61-71):
164
- * allocates Tr2PerObjectDataWithPersistentBuffers over the vsData/psData
165
- * blocks this class already maintains CPU-side (SetWorldTransform /
166
- * SetShaderData above); the persistent device buffers are engine-owned, so
167
- * the GPU-free record carries the live object reference - the engine
168
- * serializer reads vsData/psData at realization. No early-outs (unlike the
169
- * turret's null-returning geometry gates). */
170
- GetPerObjectData(accumulator = null) {
171
- const data = typeof accumulator?.Allocate === "function" ? accumulator.Allocate(Tr2PerObjectData) : new Tr2PerObjectData();
172
- data.object = this;
173
- return data;
202
+ /**
203
+ * Carbon EveSwarmRenderable::GetPerObjectData (EveSwarm.cpp:61-71): a handle
204
+ * over the two PERSISTENT records this class maintains through
205
+ * SetWorldTransform and SetShaderData. No early-outs, unlike the turret gates.
206
+ */
207
+ GetPerObjectData(_accumulator = null) {
208
+ return {
209
+ vs: this.#perObjectData.vs,
210
+ ps: this.#perObjectData.ps
211
+ };
174
212
  }
175
213
 
176
- /** Carbon EveSwarmRenderable::GetShadowPerObjectData (EveSwarm.cpp:300-303):
214
+ /** Carbon EveSwarmRenderable::GetShadowPerObjectData (EveSwarm.cpp:300-303):
177
215
  * pure forward to GetPerObjectData. */
178
216
  GetShadowPerObjectData(accumulator = null) {
179
217
  return this.GetPerObjectData(accumulator);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EveSwarmRenderable.js","sources":["../../../../../src/eve/spaceObject/swarm/EveSwarmRenderable.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/EveSwarm.h\n// Source: trinity/trinity/Eve/SpaceObject/EveSwarm.cpp\nimport { impl, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { EveEntity } from \"../../EveEntity.js\";\nimport { EveComponentType } from \"../../EveComponentTypes.js\";\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\nimport { TriBatchType } from \"@carbonenginejs/runtime-utils/graphics\";\nimport { createChildPerObjectRecords, stampChildTransforms } from \"../../perObjectData/childPerObjectRecords.js\";\nimport { Tr2RenderReason } from \"../../../generated/trinityCore/enums.js\";\n\n// Packed (x, y, z, radius) cull-sphere scratch for IsCastingShadow.\nconst SPHERE_SCRATCH = vec4.create();\n\n/** EveSwarmRenderable (eve/spaceObject/swarm) - generated from schema shapeHash a22c3310.... */\n@type.define({ className: \"EveSwarmRenderable\", family: \"eve/spaceObject/swarm\" })\nexport class EveSwarmRenderable extends EveEntity\n{\n\n /** m_mesh (Tr2MeshBasePtr) */\n @type.objectRef(\"Tr2MeshBase\")\n mesh = null;\n\n /** m_owner (BlueWeakRef<EveSwarm>) */\n @type.objectRef(\"EveSwarm\")\n owner = null;\n\n /** m_worldTransform (Matrix) */\n @type.mat4\n worldTransform = mat4.create();\n\n /** m_decals (PEveSpaceObjectDecalVector) */\n @type.list(\"EveSpaceObjectDecal\")\n decals = [];\n\n /** m_perObjectDataVs (Tr2PersistentPerObjectData<EveSwarmRenderable>) */\n @type.rawStruct(\"Tr2PersistentPerObjectData\")\n perObjectDataVs = null;\n\n /** m_perObjectDataPs (Tr2PersistentPerObjectData<EveSwarmRenderable>) */\n @type.rawStruct(\"Tr2PersistentPerObjectData\")\n perObjectDataPs = null;\n\n /** m_vsData / m_psData - this renderable PERSISTENT per-object pair. */\n #perObjectData = createChildPerObjectRecords();\n\n /** The previous LOGICAL world transform, for worldTransformLast. */\n #lastWorldTransform = mat4.create();\n\n /**\n * Binds this fighter to the swarm that owns it and the mesh it draws with.\n * @param {Object} owner - the owning swarm; also this renderable's pick ID\n * @param {Object} mesh - the shared fighter mesh\n */\n @impl.adapted\n InitializeRenderable(owner, mesh)\n {\n this.owner = owner ?? null;\n this.mesh = mesh ?? null;\n }\n\n /**\n * Carbon EveSwarmRenderable::SetWorldTransform (EveSwarm.cpp:115-125): the\n * OUTGOING transform becomes worldTransformLast, then the new one is stamped\n * into both records.\n */\n @impl.implemented\n SetWorldTransform(transform)\n {\n // The previous LOGICAL transform is what stampChildTransforms needs, so it\n // is kept alongside rather than read back out of the record.\n mat4.copy(this.#lastWorldTransform, this.worldTransform);\n mat4.copy(this.worldTransform, transform);\n stampChildTransforms(this.#perObjectData, this.worldTransform, this.#lastWorldTransform);\n }\n\n /**\n * This fighter's world placement, as last set by SetWorldTransform.\n * @returns {Float32Array} the live logical transform, not a copy\n */\n @impl.implemented\n GetWorldTransform()\n {\n return this.worldTransform;\n }\n\n /** Carbon EveSwarm.cpp:132: the booster glow rides in shipData.x. */\n @impl.implemented\n SetBoosterIntensity(intensity)\n {\n const shipData = this.#perObjectData.ps.Get(\"shipData\");\n shipData[0] = intensity;\n }\n\n /**\n * Carbon EveSwarmRenderable::SetShaderData (EveSwarm.cpp:135-152): copies the\n * hull values a swarm ship shares with its owner. shipData.x is NOT copied -\n * it is this renderable own booster glow.\n * @param {RawData} vsData - the owner EveSpaceObjectVSData record\n * @param {RawData} psData - the owner EveSpaceObjectPSData record\n */\n @impl.implemented\n SetShaderData(vsData, psData)\n {\n const vs = this.#perObjectData.vs;\n const ps = this.#perObjectData.ps;\n\n for (const name of [ \"clipData\", \"ellpsoidCenter\", \"ellpsoidRadii\", \"shipData\" ])\n {\n vs.Set(name, vsData.Get(name));\n }\n ps.Set(\"clipSphereCenter\", psData.Get(\"clipSphereCenter\"));\n for (const name of [ \"clipRadiusSq\", \"clipRadius2Sq\", \"impactDataOffset\", \"clipSphereFactor2\", \"clipSphereFactor\" ])\n {\n ps.Set(name, psData.Get(name));\n }\n ps.Set(\"shLightingCoefficients\", psData.Get(\"shLightingCoefficients\"));\n\n // Carbon copies y/z/w only, leaving x (the booster glow) alone.\n const shipData = ps.Get(\"shipData\");\n const owner = psData.Get(\"shipData\");\n shipData[1] = owner[1];\n shipData[2] = owner[2];\n shipData[3] = owner[3];\n }\n\n /**\n * Takes this fighter's own copies of the squad's authored decals, so a decal\n * animating on one ship does not move on the rest.\n * @param {Array} decals - authored decals; each is cloned when it can be\n */\n @impl.adapted\n InitDecals(decals)\n {\n this.decals = decals.map(decal => decal?.Clone?.() ?? decal);\n }\n\n /**\n * The pick identity of this fighter, which Carbon reports as its owning swarm.\n * @returns {Object} the owner, or null before InitializeRenderable\n */\n @impl.implemented\n GetID()\n {\n return this.owner;\n }\n\n /**\n * Forwards an authored shader option to the fighter mesh, if one is bound.\n * @param {String} name - option name\n * @param {String|Number} value - option value\n */\n @impl.adapted\n SetShaderOption(name, value)\n {\n this.mesh?.SetShaderOption?.(name, value);\n }\n\n /** Carbon EveSwarmRenderable::RegisterComponents (EveSwarm.cpp:306-313):\n * unconditional ShadowCaster leaf self-registration. */\n @impl.adapted\n @impl.reason(\"Carbon's RegisterComponent<IEveShadowCaster> template is expressed as the registry's explicit component-name signature.\")\n RegisterComponents()\n {\n const registry = this.GetComponentRegistry();\n if (registry)\n {\n registry.RegisterComponent(EveComponentType.ShadowCaster, this);\n }\n }\n\n /** Carbon EveSwarmRenderable::IsCastingShadow (EveSwarm.cpp:242-267): the\n * owner/reflection early-outs do NOT write the out-param (the scene hoists\n * the float outside its caster loop, so a stale previous value survives -\n * contract); the cull sphere is the OWNER's squad-wide sphere\n * (EveSwarm.cpp:801-808) with its center overwritten by THIS fighter's\n * world translation (cpp:257 - squad radius centered on the fighter);\n * threshold is > 15 (the turret uses 5) - so a swarm with 5 < size <= 15\n * casts volumetric/spot shadows (whose call sites ignore the return and\n * re-check > 5 themselves) but not cascades. Carbon's float& out-param\n * becomes the optional trailing length-1 array. */\n @impl.adapted\n @impl.reason(\"The length-1 out array replaces the float& out-param; the shadow math is ported, including exactly which paths write the out value.\")\n IsCastingShadow(cameraFrustum, shadowFrustum, renderReason, sizeInShadowOut = null)\n {\n if (!this.owner)\n {\n return false;\n }\n if (Number(renderReason ?? Tr2RenderReason.TR2RENDERREASON_NORMAL) === Tr2RenderReason.TR2RENDERREASON_REFLECTION)\n {\n return false;\n }\n if (this.owner.GetBoundingSphere?.(SPHERE_SCRATCH) !== true)\n {\n return false;\n }\n SPHERE_SCRATCH[0] = this.worldTransform[12];\n SPHERE_SCRATCH[1] = this.worldTransform[13];\n SPHERE_SCRATCH[2] = this.worldTransform[14];\n\n let sizeInShadow = 0;\n if (sizeInShadowOut)\n {\n sizeInShadowOut[0] = 0;\n }\n if (shadowFrustum?.IsVisible?.(cameraFrustum, SPHERE_SCRATCH))\n {\n sizeInShadow = shadowFrustum.GetSizeInShadow(SPHERE_SCRATCH);\n if (sizeInShadowOut)\n {\n sizeInShadowOut[0] = sizeInShadow;\n }\n }\n return sizeInShadow > 15;\n }\n\n /** Carbon EveSwarmRenderable::GetShadowBatches (EveSwarm.cpp:269-298): the\n * mesh's OPAQUE areas only, per displayed area via CreateGeometryBatch -\n * exactly Tr2MeshBase.GetBatches restricted to OPAQUE (no per-area\n * IsCastingShadows filter; area display double-checked in Carbon). QUIRK:\n * unlike the turret, shadowPixelSize IS consumed here - it drives the LOD\n * select (cpp:282), which is engine-resolved at realization. Returns\n * whether any batch was committed (JS addition; Carbon returns void). */\n @impl.adapted\n @impl.reason(\"Geometry IsGood/GetMeshLod realization (cpp:276-286) and the shadowPixelSize LOD select are engine-resolved; the delegation structure is ported (EveChildMesh precedent).\")\n GetShadowBatches(batches, perObjectData, _shadowPixelSize)\n {\n if (!this.mesh || this.mesh.display === false)\n {\n return false;\n }\n return this.mesh.GetBatches?.(batches, TriBatchType.TRIBATCHTYPE_OPAQUE, perObjectData) === true;\n }\n\n /**\n * Carbon EveSwarmRenderable::GetPerObjectData (EveSwarm.cpp:61-71): a handle\n * over the two PERSISTENT records this class maintains through\n * SetWorldTransform and SetShaderData. No early-outs, unlike the turret gates.\n */\n @impl.implemented\n GetPerObjectData(_accumulator = null)\n {\n return { vs: this.#perObjectData.vs, ps: this.#perObjectData.ps };\n }\n\n /** Carbon EveSwarmRenderable::GetShadowPerObjectData (EveSwarm.cpp:300-303):\n * pure forward to GetPerObjectData. */\n @impl.implemented\n GetShadowPerObjectData(accumulator = null)\n {\n return this.GetPerObjectData(accumulator);\n }\n\n}\n"],"names":["SPHERE_SCRATCH","vec4","create","_EveSwarmRenderable","EveSwarmRenderable","EveEntity","e","_init_mesh","_init_extra_mesh","_init_owner","_init_extra_owner","_init_worldTransform","_init_extra_worldTransform","_init_decals","_init_extra_decals","_init_perObjectDataVs","_init_extra_perObjectDataVs","_init_perObjectDataPs","_init_extra_perObjectDataPs","_initProto","c","_initClass","_applyDecs","type","define","className","family","objectRef","mat4","list","rawStruct","impl","adapted","implemented","reason","mesh","owner","worldTransform","decals","perObjectDataVs","perObjectDataPs","createChildPerObjectRecords","InitializeRenderable","SetWorldTransform","transform","copy","stampChildTransforms","GetWorldTransform","SetBoosterIntensity","intensity","shipData","ps","Get","SetShaderData","vsData","psData","vs","name","Set","InitDecals","map","decal","Clone","GetID","SetShaderOption","value","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","ShadowCaster","IsCastingShadow","cameraFrustum","shadowFrustum","renderReason","sizeInShadowOut","Number","Tr2RenderReason","TR2RENDERREASON_NORMAL","TR2RENDERREASON_REFLECTION","GetBoundingSphere","sizeInShadow","IsVisible","GetSizeInShadow","GetShadowBatches","batches","perObjectData","_shadowPixelSize","display","GetBatches","TriBatchType","TRIBATCHTYPE_OPAQUE","GetPerObjectData","_accumulator","GetShadowPerObjectData","accumulator"],"mappings":"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"}
@@ -4,6 +4,11 @@ import { CjsModel } from '@carbonenginejs/runtime-utils/model';
4
4
  import { io, type } from '@carbonenginejs/runtime-utils/schema';
5
5
 
6
6
  let _initClass, _init_center, _init_extra_center, _init_planeNormal, _init_extra_planeNormal, _init_rotationDegrees, _init_extra_rotationDegrees, _init_semiMajor, _init_extra_semiMajor, _init_semiMinor, _init_extra_semiMinor;
7
+
8
+ /**
9
+ * One authored ellipse of an ellipse set - centre, plane normal, in-plane
10
+ * rotation in degrees and the two semi-axis lengths.
11
+ */
7
12
  let _EveEllipseDefinition;
8
13
  class EveEllipseDefinition extends CjsModel {
9
14
  static {
@@ -25,10 +30,20 @@ class EveEllipseDefinition extends CjsModel {
25
30
  rotationDegrees = (_init_extra_planeNormal(this), _init_rotationDegrees(this, 0));
26
31
  semiMajor = (_init_extra_rotationDegrees(this), _init_semiMajor(this, 1));
27
32
  semiMinor = (_init_extra_semiMajor(this), _init_semiMinor(this, 1));
33
+
34
+ /**
35
+ * Invokes the bound dirty callback so the owning set regenerates its geometry
36
+ * after any authored field changes.
37
+ */
28
38
  OnModified(_value = null) {
29
39
  this.#dirtyFlag?.();
30
40
  return true;
31
41
  }
42
+
43
+ /**
44
+ * Installs the callback invoked whenever this definition is modified; pass
45
+ * null to unbind, and anything that is neither a function nor null throws.
46
+ */
32
47
  SetDirtyFlag(dirtyFlag) {
33
48
  if (dirtyFlag !== null && typeof dirtyFlag !== "function") {
34
49
  throw new TypeError("EveEllipseDefinition dirty flag must be a function or null");
@@ -1 +1 @@
1
- {"version":3,"file":"EveEllipseDefinition.js","sources":["../../../../src/eve/ui/EveEllipseDefinition.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/UI/EveEllipseDefinition.h\n// trinity/trinity/Eve/UI/EveEllipseDefinition.cpp\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { io, type } from \"@carbonenginejs/runtime-utils/schema\";\n\n\n@type.define({ className: \"EveEllipseDefinition\", family: \"eve/ui\" })\nexport class EveEllipseDefinition extends CjsModel\n{\n #dirtyFlag = null;\n\n @io.notify\n @io.persist\n @type.vec3\n center = vec3.create();\n\n @io.notify\n @io.persist\n @type.vec3\n planeNormal = vec3.fromValues(0, 1, 0);\n\n @io.notify\n @io.persist\n @type.float32\n rotationDegrees = 0;\n\n @io.notify\n @io.persist\n @type.float32\n semiMajor = 1;\n\n @io.notify\n @io.persist\n @type.float32\n semiMinor = 1;\n\n OnModified(_value = null)\n {\n this.#dirtyFlag?.();\n return true;\n }\n\n SetDirtyFlag(dirtyFlag)\n {\n if (dirtyFlag !== null && typeof dirtyFlag !== \"function\")\n {\n throw new TypeError(\"EveEllipseDefinition dirty flag must be a function or null\");\n }\n this.#dirtyFlag = dirtyFlag;\n }\n}\n"],"names":["_EveEllipseDefinition","EveEllipseDefinition","CjsModel","e","_init_center","_init_extra_center","_init_planeNormal","_init_extra_planeNormal","_init_rotationDegrees","_init_extra_rotationDegrees","_init_semiMajor","_init_extra_semiMajor","_init_semiMinor","_init_extra_semiMinor","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","vec3","float32","constructor","args","center","create","planeNormal","fromValues","rotationDegrees","semiMajor","semiMinor","OnModified","_value","SetDirtyFlag","dirtyFlag","TypeError"],"mappings":";;;;;;AAKgE,IAAAA;AAGhE,MAAAC,oBAAA,SAC0CC,QAAQ,CAClD;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,GAAAC,YAAA,EAAAC,kBAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,eAAA,EAAAC,qBAAA,CAAA;MAAAC,CAAA,EAAA,CAAAd,qBAAA,EAAAe,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,sBAAsB;AAAEC,MAAAA,MAAM,EAAE;KAAU,CAAC,MAKlEC,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACO,IAAI,oBAGTH,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACO,IAAI,yBAGTH,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,OAAO,6BAGZJ,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,OAAO,uBAGZJ,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,OAAO,iCA1B2BvB,QAAQ,CAAA;AAAA;AAAAwB,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAd,qBAAA,CAAA,IAAA,CAAA;AAAA,EAAA;EAEhD,UAAU,GAAG,IAAI;AAKjBe,EAAAA,MAAM,GAAAxB,YAAA,CAAA,IAAA,EAAGoB,IAAI,CAACK,MAAM,EAAE,CAAA;AAKtBC,EAAAA,WAAW,IAAAzB,kBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAGkB,IAAI,CAACO,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAKtCC,EAAAA,eAAe,IAAAzB,uBAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,OAAG,CAAC,CAAA;AAKnByB,EAAAA,SAAS,IAAAxB,2BAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,CAAC,CAAA;AAKbwB,EAAAA,SAAS,IAAAvB,qBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,CAAC,CAAA;AAEbuB,EAAAA,UAAUA,CAACC,MAAM,GAAG,IAAI,EACxB;AACE,IAAA,IAAI,CAAC,UAAU,IAAI;AACnB,IAAA,OAAO,IAAI;AACb,EAAA;EAEAC,YAAYA,CAACC,SAAS,EACtB;IACE,IAAIA,SAAS,KAAK,IAAI,IAAI,OAAOA,SAAS,KAAK,UAAU,EACzD;AACE,MAAA,MAAM,IAAIC,SAAS,CAAC,4DAA4D,CAAC;AACnF,IAAA;AACA,IAAA,IAAI,CAAC,UAAU,GAAGD,SAAS;AAC7B,EAAA;AAAC,EAAA;IAAAvB,UAAA,EAAA;AAAA;AACH;;;;"}
1
+ {"version":3,"file":"EveEllipseDefinition.js","sources":["../../../../src/eve/ui/EveEllipseDefinition.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/UI/EveEllipseDefinition.h\n// trinity/trinity/Eve/UI/EveEllipseDefinition.cpp\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { io, type } from \"@carbonenginejs/runtime-utils/schema\";\n\n\n/**\n * One authored ellipse of an ellipse set - centre, plane normal, in-plane\n * rotation in degrees and the two semi-axis lengths.\n */\n@type.define({ className: \"EveEllipseDefinition\", family: \"eve/ui\" })\nexport class EveEllipseDefinition extends CjsModel\n{\n #dirtyFlag = null;\n\n @io.notify\n @io.persist\n @type.vec3\n center = vec3.create();\n\n @io.notify\n @io.persist\n @type.vec3\n planeNormal = vec3.fromValues(0, 1, 0);\n\n @io.notify\n @io.persist\n @type.float32\n rotationDegrees = 0;\n\n @io.notify\n @io.persist\n @type.float32\n semiMajor = 1;\n\n @io.notify\n @io.persist\n @type.float32\n semiMinor = 1;\n\n /**\n * Invokes the bound dirty callback so the owning set regenerates its geometry\n * after any authored field changes.\n */\n OnModified(_value = null)\n {\n this.#dirtyFlag?.();\n return true;\n }\n\n /**\n * Installs the callback invoked whenever this definition is modified; pass\n * null to unbind, and anything that is neither a function nor null throws.\n */\n SetDirtyFlag(dirtyFlag)\n {\n if (dirtyFlag !== null && typeof dirtyFlag !== \"function\")\n {\n throw new TypeError(\"EveEllipseDefinition dirty flag must be a function or null\");\n }\n this.#dirtyFlag = dirtyFlag;\n }\n}\n"],"names":["_EveEllipseDefinition","EveEllipseDefinition","CjsModel","e","_init_center","_init_extra_center","_init_planeNormal","_init_extra_planeNormal","_init_rotationDegrees","_init_extra_rotationDegrees","_init_semiMajor","_init_extra_semiMajor","_init_semiMinor","_init_extra_semiMinor","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","vec3","float32","constructor","args","center","create","planeNormal","fromValues","rotationDegrees","semiMajor","semiMinor","OnModified","_value","SetDirtyFlag","dirtyFlag","TypeError"],"mappings":";;;;;;;AAQA;AACA;AACA;AACA;AAHA,IAAAA;AAIA,MAAAC,oBAAA,SAC0CC,QAAQ,CAClD;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,GAAAC,YAAA,EAAAC,kBAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,eAAA,EAAAC,qBAAA,CAAA;MAAAC,CAAA,EAAA,CAAAd,qBAAA,EAAAe,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,sBAAsB;AAAEC,MAAAA,MAAM,EAAE;KAAU,CAAC,MAKlEC,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACO,IAAI,oBAGTH,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACO,IAAI,yBAGTH,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,OAAO,6BAGZJ,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,OAAO,uBAGZJ,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,OAAO,iCA1B2BvB,QAAQ,CAAA;AAAA;AAAAwB,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAd,qBAAA,CAAA,IAAA,CAAA;AAAA,EAAA;EAEhD,UAAU,GAAG,IAAI;AAKjBe,EAAAA,MAAM,GAAAxB,YAAA,CAAA,IAAA,EAAGoB,IAAI,CAACK,MAAM,EAAE,CAAA;AAKtBC,EAAAA,WAAW,IAAAzB,kBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAGkB,IAAI,CAACO,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAKtCC,EAAAA,eAAe,IAAAzB,uBAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,OAAG,CAAC,CAAA;AAKnByB,EAAAA,SAAS,IAAAxB,2BAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,CAAC,CAAA;AAKbwB,EAAAA,SAAS,IAAAvB,qBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,CAAC,CAAA;;AAEb;AACF;AACA;AACA;AACEuB,EAAAA,UAAUA,CAACC,MAAM,GAAG,IAAI,EACxB;AACE,IAAA,IAAI,CAAC,UAAU,IAAI;AACnB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;EACEC,YAAYA,CAACC,SAAS,EACtB;IACE,IAAIA,SAAS,KAAK,IAAI,IAAI,OAAOA,SAAS,KAAK,UAAU,EACzD;AACE,MAAA,MAAM,IAAIC,SAAS,CAAC,4DAA4D,CAAC;AACnF,IAAA;AACA,IAAA,IAAI,CAAC,UAAU,GAAGD,SAAS;AAC7B,EAAA;AAAC,EAAA;IAAAvB,UAAA,EAAA;AAAA;AACH;;;;"}
@@ -5,6 +5,11 @@ import { EveChildTransform as _EveChildTransform } from '../child/EveChildTransf
5
5
  import { EveEllipseDefinition as _EveEllipseDefinition } from './EveEllipseDefinition.js';
6
6
 
7
7
  let _initProto, _initClass, _init_ribbonSegmentCount, _init_extra_ribbonSegmentCount, _init_name, _init_extra_name, _init_display, _init_extra_display, _init_enablePicking, _init_extra_enablePicking, _init_depthOffset, _init_extra_depthOffset, _init_ellipses, _init_extra_ellipses, _init_effect, _init_extra_effect;
8
+
9
+ /**
10
+ * Transform child that owns a list of ellipse definitions and the effect they
11
+ * are drawn with, used for the ribbon rings of UI overlays.
12
+ */
8
13
  let _EveEllipseSet;
9
14
  class EveEllipseSet extends _EveChildTransform {
10
15
  static {
@@ -28,6 +33,16 @@ class EveEllipseSet extends _EveChildTransform {
28
33
  depthOffset = (_init_extra_enablePicking(this), _init_depthOffset(this, 0));
29
34
  ellipses = (_init_extra_depthOffset(this), _init_ellipses(this, []));
30
35
  effect = (_init_extra_ellipses(this), _init_effect(this, null));
36
+
37
+ /**
38
+ * Appends an ellipse to the set, binds its dirty callback and marks the ribbon geometry for rebuild.
39
+ * @param {vec3} center Centre in the set's local space
40
+ * @param {Number} semiMajor
41
+ * @param {Number} semiMinor
42
+ * @param {vec3} planeNormal Normal of the plane the ellipse lies in
43
+ * @param {Number} rotationDegrees In-plane rotation, in degrees
44
+ * @returns {Boolean} Always true
45
+ */
31
46
  AddEllipse(center, semiMajor, semiMinor, planeNormal, rotationDegrees) {
32
47
  const ellipse = new _EveEllipseDefinition();
33
48
  vec3.copy(ellipse.center, center);
@@ -40,6 +55,12 @@ class EveEllipseSet extends _EveChildTransform {
40
55
  this.#MarkGeometryDirty();
41
56
  return true;
42
57
  }
58
+
59
+ /**
60
+ * Rebinds every persisted ellipse's dirty callback after hydration; unlike
61
+ * Carbon it does not create the default effect, since resource lookup is left
62
+ * to the engine layer.
63
+ */
43
64
  __init__() {
44
65
  // Carbon creates the configured default effect here. Resource lookup is
45
66
  // runtime-resource/engine work; a persisted or caller-assigned effect is
@@ -48,6 +69,12 @@ class EveEllipseSet extends _EveChildTransform {
48
69
  this.#BindEllipse(ellipse);
49
70
  }
50
71
  }
72
+
73
+ /**
74
+ * Removes every ellipse, unbinding their dirty callbacks first so discarded
75
+ * definitions can no longer invalidate this set, and marks the geometry for
76
+ * rebuild.
77
+ */
51
78
  ClearEllipses() {
52
79
  for (const ellipse of this.ellipses) {
53
80
  ellipse?.SetDirtyFlag?.(null);
@@ -55,13 +82,28 @@ class EveEllipseSet extends _EveChildTransform {
55
82
  this.ellipses.length = 0;
56
83
  this.#MarkGeometryDirty();
57
84
  }
85
+
86
+ /**
87
+ * Marks the ribbon geometry for rebuild when a notifying field such as the
88
+ * segment count changes.
89
+ */
58
90
  OnModified(_value = null) {
59
91
  this.#MarkGeometryDirty();
60
92
  return true;
61
93
  }
94
+
95
+ /**
96
+ * Flags the ribbon geometry as stale so it is regenerated before the next
97
+ * draw.
98
+ */
62
99
  #MarkGeometryDirty() {
63
100
  this.#geometryDirty = true;
64
101
  }
102
+
103
+ /**
104
+ * Points an ellipse definition's dirty callback back at this set, so editing
105
+ * the definition invalidates the set's geometry.
106
+ */
65
107
  #BindEllipse(ellipse) {
66
108
  ellipse?.SetDirtyFlag?.(() => this.#MarkGeometryDirty());
67
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EveEllipseSet.js","sources":["../../../../src/eve/ui/EveEllipseSet.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/UI/EveEllipseSet.h\n// trinity/trinity/Eve/UI/EveEllipseSet.cpp\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\nimport { carbon, io, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { EveChildTransform } from \"../child/EveChildTransform.js\";\nimport { EveEllipseDefinition } from \"./EveEllipseDefinition.js\";\n\n\n@type.define({ className: \"EveEllipseSet\", family: \"eve/ui\" })\nexport class EveEllipseSet extends EveChildTransform\n{\n #geometryDirty = true;\n\n @io.notify\n @io.persist\n @type.uint32\n ribbonSegmentCount = 128;\n\n @io.persist\n @type.string\n name = \"\";\n\n @io.persist\n @type.boolean\n display = true;\n\n @io.persist\n @type.boolean\n enablePicking = true;\n\n @io.persist\n @type.float32\n depthOffset = 0;\n\n @io.persist\n @type.list(\"EveEllipseDefinition\")\n ellipses = [];\n\n @io.persist\n @type.model(\"Tr2Effect\")\n effect = null;\n\n @carbon.method\n AddEllipse(center, semiMajor, semiMinor, planeNormal, rotationDegrees)\n {\n const ellipse = new EveEllipseDefinition();\n vec3.copy(ellipse.center, center);\n ellipse.semiMajor = semiMajor;\n ellipse.semiMinor = semiMinor;\n vec3.copy(ellipse.planeNormal, planeNormal);\n ellipse.rotationDegrees = rotationDegrees;\n this.#BindEllipse(ellipse);\n this.ellipses.push(ellipse);\n this.#MarkGeometryDirty();\n return true;\n }\n\n @carbon.method\n __init__()\n {\n // Carbon creates the configured default effect here. Resource lookup is\n // runtime-resource/engine work; a persisted or caller-assigned effect is\n // retained and the CPU definitions are rebound after hydration.\n for (const ellipse of this.ellipses)\n {\n this.#BindEllipse(ellipse);\n }\n }\n\n @carbon.method\n ClearEllipses()\n {\n for (const ellipse of this.ellipses)\n {\n ellipse?.SetDirtyFlag?.(null);\n }\n this.ellipses.length = 0;\n this.#MarkGeometryDirty();\n }\n\n OnModified(_value = null)\n {\n this.#MarkGeometryDirty();\n return true;\n }\n\n #MarkGeometryDirty()\n {\n this.#geometryDirty = true;\n }\n\n #BindEllipse(ellipse)\n {\n ellipse?.SetDirtyFlag?.(() => this.#MarkGeometryDirty());\n }\n}\n"],"names":["_EveEllipseSet","EveEllipseSet","EveChildTransform","e","_init_ribbonSegmentCount","_init_extra_ribbonSegmentCount","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_enablePicking","_init_extra_enablePicking","_init_depthOffset","_init_extra_depthOffset","_init_ellipses","_init_extra_ellipses","_init_effect","_init_extra_effect","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","uint32","string","boolean","float32","list","model","carbon","method","constructor","args","ribbonSegmentCount","name","display","enablePicking","depthOffset","ellipses","effect","AddEllipse","center","semiMajor","semiMinor","planeNormal","rotationDegrees","ellipse","EveEllipseDefinition","vec3","copy","push","__init__","ClearEllipses","SetDirtyFlag","length","OnModified","_value","#MarkGeometryDirty","#BindEllipse"],"mappings":"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"}
1
+ {"version":3,"file":"EveEllipseSet.js","sources":["../../../../src/eve/ui/EveEllipseSet.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/UI/EveEllipseSet.h\n// trinity/trinity/Eve/UI/EveEllipseSet.cpp\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\nimport { carbon, io, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { EveChildTransform } from \"../child/EveChildTransform.js\";\nimport { EveEllipseDefinition } from \"./EveEllipseDefinition.js\";\n\n\n/**\n * Transform child that owns a list of ellipse definitions and the effect they\n * are drawn with, used for the ribbon rings of UI overlays.\n */\n@type.define({ className: \"EveEllipseSet\", family: \"eve/ui\" })\nexport class EveEllipseSet extends EveChildTransform\n{\n #geometryDirty = true;\n\n @io.notify\n @io.persist\n @type.uint32\n ribbonSegmentCount = 128;\n\n @io.persist\n @type.string\n name = \"\";\n\n @io.persist\n @type.boolean\n display = true;\n\n @io.persist\n @type.boolean\n enablePicking = true;\n\n @io.persist\n @type.float32\n depthOffset = 0;\n\n @io.persist\n @type.list(\"EveEllipseDefinition\")\n ellipses = [];\n\n @io.persist\n @type.model(\"Tr2Effect\")\n effect = null;\n\n /**\n * Appends an ellipse to the set, binds its dirty callback and marks the ribbon geometry for rebuild.\n * @param {vec3} center Centre in the set's local space\n * @param {Number} semiMajor\n * @param {Number} semiMinor\n * @param {vec3} planeNormal Normal of the plane the ellipse lies in\n * @param {Number} rotationDegrees In-plane rotation, in degrees\n * @returns {Boolean} Always true\n */\n @carbon.method\n AddEllipse(center, semiMajor, semiMinor, planeNormal, rotationDegrees)\n {\n const ellipse = new EveEllipseDefinition();\n vec3.copy(ellipse.center, center);\n ellipse.semiMajor = semiMajor;\n ellipse.semiMinor = semiMinor;\n vec3.copy(ellipse.planeNormal, planeNormal);\n ellipse.rotationDegrees = rotationDegrees;\n this.#BindEllipse(ellipse);\n this.ellipses.push(ellipse);\n this.#MarkGeometryDirty();\n return true;\n }\n\n /**\n * Rebinds every persisted ellipse's dirty callback after hydration; unlike\n * Carbon it does not create the default effect, since resource lookup is left\n * to the engine layer.\n */\n @carbon.method\n __init__()\n {\n // Carbon creates the configured default effect here. Resource lookup is\n // runtime-resource/engine work; a persisted or caller-assigned effect is\n // retained and the CPU definitions are rebound after hydration.\n for (const ellipse of this.ellipses)\n {\n this.#BindEllipse(ellipse);\n }\n }\n\n /**\n * Removes every ellipse, unbinding their dirty callbacks first so discarded\n * definitions can no longer invalidate this set, and marks the geometry for\n * rebuild.\n */\n @carbon.method\n ClearEllipses()\n {\n for (const ellipse of this.ellipses)\n {\n ellipse?.SetDirtyFlag?.(null);\n }\n this.ellipses.length = 0;\n this.#MarkGeometryDirty();\n }\n\n /**\n * Marks the ribbon geometry for rebuild when a notifying field such as the\n * segment count changes.\n */\n OnModified(_value = null)\n {\n this.#MarkGeometryDirty();\n return true;\n }\n\n /**\n * Flags the ribbon geometry as stale so it is regenerated before the next\n * draw.\n */\n #MarkGeometryDirty()\n {\n this.#geometryDirty = true;\n }\n\n /**\n * Points an ellipse definition's dirty callback back at this set, so editing\n * the definition invalidates the set's geometry.\n */\n #BindEllipse(ellipse)\n {\n ellipse?.SetDirtyFlag?.(() => this.#MarkGeometryDirty());\n }\n}\n"],"names":["_EveEllipseSet","EveEllipseSet","EveChildTransform","e","_init_ribbonSegmentCount","_init_extra_ribbonSegmentCount","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_enablePicking","_init_extra_enablePicking","_init_depthOffset","_init_extra_depthOffset","_init_ellipses","_init_extra_ellipses","_init_effect","_init_extra_effect","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","uint32","string","boolean","float32","list","model","carbon","method","constructor","args","ribbonSegmentCount","name","display","enablePicking","depthOffset","ellipses","effect","AddEllipse","center","semiMajor","semiMinor","planeNormal","rotationDegrees","ellipse","EveEllipseDefinition","vec3","copy","push","__init__","ClearEllipses","SetDirtyFlag","length","OnModified","_value","#MarkGeometryDirty","#BindEllipse"],"mappings":"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"}
@@ -1,30 +1,27 @@
1
- import { applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { io, type } from '@carbonenginejs/runtime-utils/schema';
1
+ import { applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
3
3
  import { CjsModel } from '@carbonenginejs/runtime-utils/model';
4
+ import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
4
5
  import { quat } from '@carbonenginejs/runtime-utils/quat';
5
6
  import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
6
7
  import { vec4 } from '@carbonenginejs/runtime-utils/vec4';
7
8
 
8
- let _initClass, _init_primitiveCount, _init_extra_primitiveCount, _init_translation, _init_extra_translation, _init_rotation, _init_extra_rotation, _init_scaling, _init_extra_scaling, _init_display, _init_extra_display, _init_enablePicking, _init_extra_enablePicking, _init_name, _init_extra_name, _init_pinColor, _init_extra_pinColor, _init_color, _init_extra_color, _init_curveSets, _init_extra_curveSets, _init_sortValueMultiplier, _init_extra_sortValueMultiplier, _init_centerNormal, _init_extra_centerNormal, _init_pinMaxRadius, _init_extra_pinMaxRadius, _init_pinRadius, _init_extra_pinRadius, _init_pinEffectResPath, _init_extra_pinEffectResPath, _init_geometryResPath, _init_extra_geometryResPath, _init_pinRotation, _init_extra_pinRotation, _init_pinAlphaThreshold, _init_extra_pinAlphaThreshold, _init_uvAtlasScaleOffset, _init_extra_uvAtlasScaleOffset, _init_pinEffect, _init_extra_pinEffect, _init_pickEffect, _init_extra_pickEffect;
9
+ let _initProto, _initClass, _init_primitiveCount, _init_extra_primitiveCount, _init_translation, _init_extra_translation, _init_rotation, _init_extra_rotation, _init_scaling, _init_extra_scaling, _init_display, _init_extra_display, _init_enablePicking, _init_extra_enablePicking, _init_name, _init_extra_name, _init_pinColor, _init_extra_pinColor, _init_color, _init_extra_color, _init_curveSets, _init_extra_curveSets, _init_sortValueMultiplier, _init_extra_sortValueMultiplier, _init_centerNormal, _init_extra_centerNormal, _init_pinMaxRadius, _init_extra_pinMaxRadius, _init_pinRadius, _init_extra_pinRadius, _init_pinEffectResPath, _init_extra_pinEffectResPath, _init_geometryResPath, _init_extra_geometryResPath, _init_pinRotation, _init_extra_pinRotation, _init_pinAlphaThreshold, _init_extra_pinAlphaThreshold, _init_uvAtlasScaleOffset, _init_extra_uvAtlasScaleOffset, _init_pinEffect, _init_extra_pinEffect, _init_pickEffect, _init_extra_pickEffect;
9
10
 
10
- /** EveSpherePin (eve/ui) - generated from schema shapeHash 3f243d93.... */
11
+ /** A UI sphere pin: authored SRT placement plus the pin constant record. */
11
12
  let _EveSpherePin;
12
13
  class EveSpherePin extends CjsModel {
13
14
  static {
14
15
  ({
15
- e: [_init_primitiveCount, _init_extra_primitiveCount, _init_translation, _init_extra_translation, _init_rotation, _init_extra_rotation, _init_scaling, _init_extra_scaling, _init_display, _init_extra_display, _init_enablePicking, _init_extra_enablePicking, _init_name, _init_extra_name, _init_pinColor, _init_extra_pinColor, _init_color, _init_extra_color, _init_curveSets, _init_extra_curveSets, _init_sortValueMultiplier, _init_extra_sortValueMultiplier, _init_centerNormal, _init_extra_centerNormal, _init_pinMaxRadius, _init_extra_pinMaxRadius, _init_pinRadius, _init_extra_pinRadius, _init_pinEffectResPath, _init_extra_pinEffectResPath, _init_geometryResPath, _init_extra_geometryResPath, _init_pinRotation, _init_extra_pinRotation, _init_pinAlphaThreshold, _init_extra_pinAlphaThreshold, _init_uvAtlasScaleOffset, _init_extra_uvAtlasScaleOffset, _init_pinEffect, _init_extra_pinEffect, _init_pickEffect, _init_extra_pickEffect],
16
+ e: [_init_primitiveCount, _init_extra_primitiveCount, _init_translation, _init_extra_translation, _init_rotation, _init_extra_rotation, _init_scaling, _init_extra_scaling, _init_display, _init_extra_display, _init_enablePicking, _init_extra_enablePicking, _init_name, _init_extra_name, _init_pinColor, _init_extra_pinColor, _init_color, _init_extra_color, _init_curveSets, _init_extra_curveSets, _init_sortValueMultiplier, _init_extra_sortValueMultiplier, _init_centerNormal, _init_extra_centerNormal, _init_pinMaxRadius, _init_extra_pinMaxRadius, _init_pinRadius, _init_extra_pinRadius, _init_pinEffectResPath, _init_extra_pinEffectResPath, _init_geometryResPath, _init_extra_geometryResPath, _init_pinRotation, _init_extra_pinRotation, _init_pinAlphaThreshold, _init_extra_pinAlphaThreshold, _init_uvAtlasScaleOffset, _init_extra_uvAtlasScaleOffset, _init_pinEffect, _init_extra_pinEffect, _init_pickEffect, _init_extra_pickEffect, _initProto],
16
17
  c: [_EveSpherePin, _initClass]
17
18
  } = _applyDecs2311(this, [type.define({
18
19
  className: "EveSpherePin",
19
20
  family: "eve/ui"
20
- })], [[[io, io.read, type, type.int32], 16, "primitiveCount"], [[io, io.persist, type, type.vec3], 16, "translation"], [[io, io.persist, type, type.quat], 16, "rotation"], [[io, io.persist, type, type.vec3], 16, "scaling"], [[io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.boolean], 16, "enablePicking"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.notify, io, io.persist, type, type.color], 16, "pinColor"], [[io, io.notify, io, io.persist, type, type.color], 16, "color"], [[io, io.persist, void 0, type.list("TriCurveSet")], 16, "curveSets"], [[io, io.persist, type, type.float32], 16, "sortValueMultiplier"], [[io, io.notify, io, io.persist, type, type.vec3], 16, "centerNormal"], [[io, io.notify, io, io.persist, type, type.float32], 16, "pinMaxRadius"], [[io, io.notify, io, io.persist, type, type.float32], 16, "pinRadius"], [[io, io.notify, io, io.persist, type, type.string], 16, "pinEffectResPath"], [[io, io.notify, io, io.persist, type, type.string], 16, "geometryResPath"], [[io, io.notify, io, io.persist, type, type.float32], 16, "pinRotation"], [[io, io.notify, io, io.persist, type, type.float32], 16, "pinAlphaThreshold"], [[io, io.notify, io, io.persist, type, type.vec4], 16, "uvAtlasScaleOffset"], [[io, io.persist, void 0, type.model("Tr2Effect")], 16, "pinEffect"], [[io, io.read, void 0, type.objectRef("Tr2Effect")], 16, "pickEffect"]], 0, void 0, CjsModel));
21
- }
22
- constructor(...args) {
23
- super(...args);
24
- _init_extra_pickEffect(this);
21
+ })], [[[io, io.read, type, type.int32], 16, "primitiveCount"], [[io, io.persist, type, type.vec3], 16, "translation"], [[io, io.persist, type, type.quat], 16, "rotation"], [[io, io.persist, type, type.vec3], 16, "scaling"], [[io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.boolean], 16, "enablePicking"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.notify, io, io.persist, type, type.color], 16, "pinColor"], [[io, io.notify, io, io.persist, type, type.color], 16, "color"], [[io, io.persist, void 0, type.list("TriCurveSet")], 16, "curveSets"], [[io, io.persist, type, type.float32], 16, "sortValueMultiplier"], [[io, io.notify, io, io.persist, type, type.vec3], 16, "centerNormal"], [[io, io.notify, io, io.persist, type, type.float32], 16, "pinMaxRadius"], [[io, io.notify, io, io.persist, type, type.float32], 16, "pinRadius"], [[io, io.notify, io, io.persist, type, type.string], 16, "pinEffectResPath"], [[io, io.notify, io, io.persist, type, type.string], 16, "geometryResPath"], [[io, io.notify, io, io.persist, type, type.float32], 16, "pinRotation"], [[io, io.notify, io, io.persist, type, type.float32], 16, "pinAlphaThreshold"], [[io, io.notify, io, io.persist, type, type.vec4], 16, "uvAtlasScaleOffset"], [[io, io.persist, void 0, type.model("Tr2Effect")], 16, "pinEffect"], [[io, io.read, void 0, type.objectRef("Tr2Effect")], 16, "pickEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasTransparentBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reads the Tr2Renderer view-position static; the batch collector supplies the render context explicitly.")], 18, "GetSortValue"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetPickingBatches"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetID"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateViewDependentData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectData"]], 0, void 0, CjsModel));
25
22
  }
26
23
  /** m_primitiveCount (int) [READ] */
27
- primitiveCount = _init_primitiveCount(this, 0);
24
+ primitiveCount = (_initProto(this), _init_primitiveCount(this, 0));
28
25
 
29
26
  /** m_translation (Vector3) [READWRITE, PERSIST] */
30
27
  translation = (_init_extra_primitiveCount(this), _init_translation(this, vec3.create()));
@@ -85,6 +82,74 @@ class EveSpherePin extends CjsModel {
85
82
 
86
83
  /** m_pickEffect (Tr2EffectPtr) [READ] */
87
84
  pickEffect = (_init_extra_pinEffect(this), _init_pickEffect(this, null));
85
+
86
+ /** m_worldTransform (EveSpherePin.cpp:46; ctor identity) - runtime state
87
+ * stamped by UpdateViewDependentData; not persisted. */
88
+ worldTransform = (_init_extra_pickEffect(this), mat4.create());
89
+
90
+ /** m_boundingSphere - runtime state Carbon derives from the pin geometry
91
+ * resource; zero until a loader/engine stamps it. Not persisted. */
92
+ boundingSphere = vec4.create();
93
+
94
+ /** Carbon EveSpherePin::HasTransparentBatches is always true. */
95
+ HasTransparentBatches() {
96
+ return true;
97
+ }
98
+
99
+ /** Carbon EveSpherePin::GetSortValue (cpp:322-332): distance from the view
100
+ * position to the world-transformed bounding-sphere center, scaled by the
101
+ * sort-value multiplier. Carbon reads the Tr2Renderer view-position static;
102
+ * the batch collector supplies the render context instead. */
103
+ GetSortValue(renderContext = null) {
104
+ const viewPosition = renderContext?.GetViewPosition?.();
105
+ if (!viewPosition) {
106
+ return 0;
107
+ }
108
+ const center = vec3.transformMat4(vec3.create(), [this.boundingSphere[0], this.boundingSphere[1], this.boundingSphere[2]], this.worldTransform);
109
+ return vec3.distance(viewPosition, center) * this.sortValueMultiplier;
110
+ }
111
+
112
+ /** Carbon EveSpherePin::GetBatches submits the pin geometry with the pin effect (GPU-backed). */
113
+ GetBatches(_accumulator, _batchType, _perObjectData, _reason) {
114
+ throw new Error("EveSpherePin.GetBatches is not implemented in CarbonEngineJS.");
115
+ }
116
+
117
+ /** Carbon EveSpherePin::GetPickingBatches submits the pick-effect geometry (GPU-backed). */
118
+ GetPickingBatches(_accumulator, _perObjectData) {
119
+ throw new Error("EveSpherePin.GetPickingBatches is not implemented in CarbonEngineJS.");
120
+ }
121
+
122
+ /** Carbon ITr2Pickable::GetID - the native picking identity contract. */
123
+ GetID() {
124
+ throw new Error("EveSpherePin.GetID is not implemented in CarbonEngineJS.");
125
+ }
126
+
127
+ /** Carbon EveSpherePin::UpdateViewDependentData (cpp:243-251):
128
+ * m_worldTransform = TransformationMatrix(scaling, rotation, translation) *
129
+ * parentTransform. Carbon (row-vector): local * parent - local first, so
130
+ * gl multiply(world, parent, local); Carbon (s, r, t) is gl
131
+ * fromRotationTranslationScale (r, t, s). The frustum argument is unused
132
+ * in Carbon's body and kept for signature parity. */
133
+ UpdateViewDependentData(_frustum, parentTransform) {
134
+ const local = mat4.fromRotationTranslationScale(mat4.create(), this.rotation, this.translation, this.scaling);
135
+ mat4.multiply(this.worldTransform, parentTransform, local);
136
+ }
137
+
138
+ /** Carbon EveSpherePin::GetPerObjectData (cpp:336-357). One transient
139
+ * payload; Set(MATRIX) performs Carbon's `Transpose(m_worldTransform)`.
140
+ * The struct registers with stages ["vs", "ps"]: the SAME bytes are bound
141
+ * to both per-object slots (cpp:415-425). */
142
+ GetPerObjectData(accumulator) {
143
+ const data = accumulator.Alloc("EveSpherePinPerObjectData");
144
+ data.SetAndTranspose("worldMatrix", this.worldTransform);
145
+ data.Set("pinPosition", [this.centerNormal[0], this.centerNormal[1], this.centerNormal[2], this.pinRadius]);
146
+ data.Set("pinRotation", [this.pinRotation, 0, 0, 0]);
147
+ data.Set("pinColor", this.pinColor);
148
+ data.Set("pinThreshold", [this.pinAlphaThreshold, 0, 0, 0]);
149
+ data.Set("pinRadiusPrecalc", [Math.sin(this.pinRadius), Math.cos(this.pinRadius), Math.sin(this.pinRotation), Math.cos(this.pinRotation)]);
150
+ data.Set("pinUV", this.uvAtlasScaleOffset);
151
+ return data;
152
+ }
88
153
  static {
89
154
  _initClass();
90
155
  }