@carbonenginejs/runtime-trinity 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1087) hide show
  1. package/README.md +35 -243
  2. package/dist/controllers/CjsControllerExpressionProgram.js +157 -0
  3. package/dist/controllers/CjsControllerExpressionProgram.js.map +1 -1
  4. package/dist/controllers/ITr2ControllerAction.js +57 -0
  5. package/dist/controllers/ITr2ControllerAction.js.map +1 -1
  6. package/dist/controllers/Tr2ActionAnimateCurveSet.js +10 -0
  7. package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
  8. package/dist/controllers/Tr2ActionAnimateValue.js +26 -0
  9. package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
  10. package/dist/controllers/Tr2ActionBindRTPC.js +11 -0
  11. package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
  12. package/dist/controllers/Tr2ActionCallback.js +5 -0
  13. package/dist/controllers/Tr2ActionCallback.js.map +1 -1
  14. package/dist/controllers/Tr2ActionChildEffect.js +63 -0
  15. package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
  16. package/dist/controllers/Tr2ActionOverlay.js +68 -0
  17. package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
  18. package/dist/controllers/Tr2ActionPlayCurveSet.js +16 -0
  19. package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
  20. package/dist/controllers/Tr2ActionPlayMeshAnimation.js +29 -0
  21. package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
  22. package/dist/controllers/Tr2ActionPlaySound.js +11 -0
  23. package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
  24. package/dist/controllers/Tr2ActionPython.js +11 -0
  25. package/dist/controllers/Tr2ActionPython.js.map +1 -1
  26. package/dist/controllers/Tr2ActionResetClipSphereCenter.js +17 -0
  27. package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
  28. package/dist/controllers/Tr2ActionSetAttenuationScaling.js +5 -0
  29. package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
  30. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +5 -0
  31. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
  32. package/dist/controllers/Tr2ActionSetAudioSwitch.js +5 -0
  33. package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
  34. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +23 -0
  35. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  36. package/dist/controllers/Tr2ActionSetShaderOption.js +5 -0
  37. package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
  38. package/dist/controllers/Tr2ActionSetValue.js +35 -0
  39. package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
  40. package/dist/controllers/Tr2ActionSpawnParticles.js +10 -0
  41. package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
  42. package/dist/controllers/Tr2BindingPoint.js +67 -0
  43. package/dist/controllers/Tr2BindingPoint.js.map +1 -1
  44. package/dist/controllers/Tr2Controller.js +37 -0
  45. package/dist/controllers/Tr2Controller.js.map +1 -1
  46. package/dist/controllers/Tr2ControllerEventHandler.js +10 -0
  47. package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
  48. package/dist/controllers/Tr2ControllerExpression.js +17 -0
  49. package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
  50. package/dist/controllers/Tr2ControllerFloatVariable.js +6 -0
  51. package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
  52. package/dist/controllers/Tr2ControllerReference.js +11 -0
  53. package/dist/controllers/Tr2ControllerReference.js.map +1 -1
  54. package/dist/controllers/Tr2StateMachine.js +17 -0
  55. package/dist/controllers/Tr2StateMachine.js.map +1 -1
  56. package/dist/controllers/Tr2StateMachineState.js +47 -0
  57. package/dist/controllers/Tr2StateMachineState.js.map +1 -1
  58. package/dist/controllers/Tr2StateMachineTransition.js +29 -0
  59. package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
  60. package/dist/controllers/Tr2SyncToAnimation.js +5 -0
  61. package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
  62. package/dist/controllers/Tr2TimelineController.js +61 -0
  63. package/dist/controllers/Tr2TimelineController.js.map +1 -1
  64. package/dist/controllers/contracts.js +24 -1
  65. package/dist/controllers/contracts.js.map +1 -1
  66. package/dist/controllers/index.js +1 -1
  67. package/dist/curves/CjsGrannyCurves.js +150 -0
  68. package/dist/curves/CjsGrannyCurves.js.map +1 -1
  69. package/dist/curves/Tr2BoneMatrixCurve.js +23 -0
  70. package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
  71. package/dist/curves/Tr2CameraFollowCurveKey.js +6 -0
  72. package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
  73. package/dist/curves/Tr2CurveColor.js +6 -0
  74. package/dist/curves/Tr2CurveColor.js.map +1 -1
  75. package/dist/curves/Tr2CurveColorMixer.js +6 -0
  76. package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
  77. package/dist/curves/Tr2CurveCombiner.js +5 -0
  78. package/dist/curves/Tr2CurveCombiner.js.map +1 -1
  79. package/dist/curves/Tr2CurveConstant.js +16 -0
  80. package/dist/curves/Tr2CurveConstant.js.map +1 -1
  81. package/dist/curves/Tr2CurveEulerRotation.js +5 -0
  82. package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
  83. package/dist/curves/Tr2CurveEulerRotationExpression.js +66 -0
  84. package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
  85. package/dist/curves/Tr2CurveQuaternion.js +5 -0
  86. package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
  87. package/dist/curves/Tr2CurveQuaternionKey.js +5 -0
  88. package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
  89. package/dist/curves/Tr2CurveRandomAxisRotation.js +28 -0
  90. package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
  91. package/dist/curves/Tr2CurveScalar.js +35 -0
  92. package/dist/curves/Tr2CurveScalar.js.map +1 -1
  93. package/dist/curves/Tr2CurveScalarExpression.js +11 -0
  94. package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
  95. package/dist/curves/Tr2CurveScalarKey.js +6 -0
  96. package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
  97. package/dist/curves/Tr2CurveSetRange.js +5 -0
  98. package/dist/curves/Tr2CurveSetRange.js.map +1 -1
  99. package/dist/curves/Tr2CurveVector2.js +5 -0
  100. package/dist/curves/Tr2CurveVector2.js.map +1 -1
  101. package/dist/curves/Tr2CurveVector3.js +5 -0
  102. package/dist/curves/Tr2CurveVector3.js.map +1 -1
  103. package/dist/curves/Tr2CurveVector3Expression.js +71 -0
  104. package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
  105. package/dist/curves/Tr2CurveVector3Lerp.js +6 -0
  106. package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
  107. package/dist/curves/Tr2DistanceTracker.js +6 -0
  108. package/dist/curves/Tr2DistanceTracker.js.map +1 -1
  109. package/dist/curves/Tr2FollowCurve.js +6 -0
  110. package/dist/curves/Tr2FollowCurve.js.map +1 -1
  111. package/dist/curves/Tr2GrannyEventTrack.js +5 -0
  112. package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
  113. package/dist/curves/Tr2GrannyTrack.js +6 -0
  114. package/dist/curves/Tr2GrannyTrack.js.map +1 -1
  115. package/dist/curves/Tr2GrannyTransformTrack.js +6 -0
  116. package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
  117. package/dist/curves/Tr2GrannyVectorTrack.js +5 -0
  118. package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
  119. package/dist/curves/Tr2MatrixKey.js +5 -0
  120. package/dist/curves/Tr2MatrixKey.js.map +1 -1
  121. package/dist/curves/Tr2ObjectFollowCurveKey.js +6 -0
  122. package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
  123. package/dist/curves/Tr2QuaternionLerpCurve.js +6 -0
  124. package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
  125. package/dist/curves/Tr2RotationAdapter.js +6 -0
  126. package/dist/curves/Tr2RotationAdapter.js.map +1 -1
  127. package/dist/curves/Tr2ScalarExprKey.js +18 -0
  128. package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
  129. package/dist/curves/Tr2ScalarExprKeyCurve.js +23 -0
  130. package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
  131. package/dist/curves/Tr2ScalarFader.js +11 -0
  132. package/dist/curves/Tr2ScalarFader.js.map +1 -1
  133. package/dist/curves/Tr2TranslationAdapter.js +6 -0
  134. package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
  135. package/dist/curves/TriColorSequencer.js +6 -0
  136. package/dist/curves/TriColorSequencer.js.map +1 -1
  137. package/dist/curves/TriCurveSet.js +23 -0
  138. package/dist/curves/TriCurveSet.js.map +1 -1
  139. package/dist/curves/TriEventCurve.js +23 -0
  140. package/dist/curves/TriEventCurve.js.map +1 -1
  141. package/dist/curves/TriEventKey.js +5 -0
  142. package/dist/curves/TriEventKey.js.map +1 -1
  143. package/dist/curves/TriPerlinCurve.js +30 -0
  144. package/dist/curves/TriPerlinCurve.js.map +1 -1
  145. package/dist/curves/TriVectorSequencer.js +6 -0
  146. package/dist/curves/TriVectorSequencer.js.map +1 -1
  147. package/dist/eve/AudioGameObject.js +89 -1
  148. package/dist/eve/AudioGameObject.js.map +1 -1
  149. package/dist/eve/BackAndForthData.js +7 -0
  150. package/dist/eve/BackAndForthData.js.map +1 -1
  151. package/dist/eve/CjsDistributionRandom.js +6 -0
  152. package/dist/eve/CjsDistributionRandom.js.map +1 -1
  153. package/dist/eve/CjsEveThrottleableState.js +11 -0
  154. package/dist/eve/CjsEveThrottleableState.js.map +1 -1
  155. package/dist/eve/EveChildUpdateParams.js +7 -0
  156. package/dist/eve/EveChildUpdateParams.js.map +1 -1
  157. package/dist/eve/EveComponentTypes.js.map +1 -1
  158. package/dist/eve/EveCustomMask.js +58 -27
  159. package/dist/eve/EveCustomMask.js.map +1 -1
  160. package/dist/eve/EveDistanceField.js +84 -0
  161. package/dist/eve/EveDistanceField.js.map +1 -1
  162. package/dist/eve/EveEntity.js +138 -0
  163. package/dist/eve/EveEntity.js.map +1 -0
  164. package/dist/eve/EveImpactOverlay.js +61 -0
  165. package/dist/eve/EveImpactOverlay.js.map +1 -1
  166. package/dist/eve/EveLODHelper.js +17 -13
  167. package/dist/eve/EveLODHelper.js.map +1 -1
  168. package/dist/eve/EveLineData.js +2 -0
  169. package/dist/eve/EveLineData.js.map +1 -1
  170. package/dist/eve/EveThrottleable.js +11 -0
  171. package/dist/eve/EveThrottleable.js.map +1 -1
  172. package/dist/eve/FollowASplineData.js +7 -0
  173. package/dist/eve/FollowASplineData.js.map +1 -1
  174. package/dist/eve/FormationData.js +6 -0
  175. package/dist/eve/FormationData.js.map +1 -1
  176. package/dist/eve/InertiaData.js +7 -0
  177. package/dist/eve/InertiaData.js.map +1 -1
  178. package/dist/eve/PlacementDataWithIdentifier.js +7 -0
  179. package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
  180. package/dist/eve/PlayFXData.js +7 -0
  181. package/dist/eve/PlayFXData.js.map +1 -1
  182. package/dist/eve/SeekTargetData.js +7 -0
  183. package/dist/eve/SeekTargetData.js.map +1 -1
  184. package/dist/eve/{EveSpaceObjectAttachmentUtils.js → attachment/EveSpaceObjectAttachmentUtils.js} +11 -11
  185. package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
  186. package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
  187. package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
  188. package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +13 -2
  189. package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
  190. package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
  191. package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
  192. package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +204 -35
  193. package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
  194. package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +205 -12
  195. package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
  196. package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +49 -1
  197. package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
  198. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
  199. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
  200. package/dist/eve/{EveHazeSet.js → attachment/haze/EveHazeSet.js} +65 -6
  201. package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
  202. package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
  203. package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
  204. package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +13 -2
  205. package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
  206. package/dist/eve/attachment/itemSetBounds.js +131 -0
  207. package/dist/eve/attachment/itemSetBounds.js.map +1 -0
  208. package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +14 -2
  209. package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
  210. package/dist/eve/{EvePlaneSet.js → attachment/plane/EvePlaneSet.js} +119 -7
  211. package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
  212. package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
  213. package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
  214. package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +13 -2
  215. package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
  216. package/dist/eve/{EveSpotlightSet.js → attachment/spotlight/EveSpotlightSet.js} +86 -6
  217. package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
  218. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
  219. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
  220. package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +14 -2
  221. package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
  222. package/dist/eve/{EveSpriteLineSet.js → attachment/sprite/EveSpriteLineSet.js} +69 -7
  223. package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
  224. package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +29 -4
  225. package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
  226. package/dist/eve/{EveSpriteSet.js → attachment/sprite/EveSpriteSet.js} +87 -8
  227. package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
  228. package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +23 -26
  229. package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
  230. package/dist/eve/attachment/turrets/EveTurretFiringFX.js +184 -2
  231. package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  232. package/dist/eve/attachment/turrets/EveTurretSet.js +236 -7
  233. package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  234. package/dist/eve/attachment/turrets/EveTurretTarget.js +112 -0
  235. package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  236. package/dist/eve/camera/EveCamera.js +644 -0
  237. package/dist/eve/camera/EveCamera.js.map +1 -0
  238. package/dist/eve/child/EveChildAudio.js +63 -0
  239. package/dist/eve/child/EveChildAudio.js.map +1 -1
  240. package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
  241. package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
  242. package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +41 -3
  243. package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
  244. package/dist/eve/child/EveChildContainer.js +175 -16
  245. package/dist/eve/child/EveChildContainer.js.map +1 -1
  246. package/dist/eve/child/EveChildEffectPropagator.js +1 -1
  247. package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
  248. package/dist/eve/child/EveChildFogVolume.js +72 -0
  249. package/dist/eve/child/EveChildFogVolume.js.map +1 -1
  250. package/dist/eve/child/EveChildInheritProperties.js +17 -0
  251. package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
  252. package/dist/eve/child/EveChildInstancedMeshes.js +211 -1
  253. package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
  254. package/dist/eve/child/EveChildLightingOverride.js +74 -0
  255. package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
  256. package/dist/{generated/eve → eve}/child/EveChildLink.js +17 -16
  257. package/dist/eve/child/EveChildLink.js.map +1 -0
  258. package/dist/eve/child/EveChildMesh.js +351 -105
  259. package/dist/eve/child/EveChildMesh.js.map +1 -1
  260. package/dist/eve/child/EveChildSpherePin.js +108 -0
  261. package/dist/eve/child/EveChildSpherePin.js.map +1 -0
  262. package/dist/eve/child/EveChildTransform.js +44 -1
  263. package/dist/eve/child/EveChildTransform.js.map +1 -1
  264. package/dist/eve/child/IEveSpaceObjectChild.js +5 -0
  265. package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
  266. package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
  267. package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
  268. package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
  269. package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
  270. package/dist/eve/child/behaviors/Wander.js +99 -0
  271. package/dist/eve/child/behaviors/Wander.js.map +1 -0
  272. package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
  273. package/dist/eve/child/behaviors/enums.js.map +1 -0
  274. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
  275. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
  276. package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +8 -2
  277. package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
  278. package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +9 -7
  279. package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
  280. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
  281. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
  282. package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +3 -3
  283. package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
  284. package/dist/eve/child/lineSetPaths/EveBezierCurve.js +65 -0
  285. package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  286. package/dist/eve/child/lineSetPaths/EveCircle.js +63 -0
  287. package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  288. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +24 -16
  289. package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
  290. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +5 -0
  291. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
  292. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +22 -19
  293. package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
  294. package/dist/eve/child/modifiers/EveChildModifierBooster.js +6 -0
  295. package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
  296. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +5 -0
  297. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
  298. package/dist/eve/child/modifiers/EveChildModifierHalo.js +5 -0
  299. package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
  300. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +6 -0
  301. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
  302. package/dist/eve/child/modifiers/EveChildModifierSRT.js +5 -0
  303. package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  304. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +31 -17
  305. package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
  306. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +16 -14
  307. package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
  308. package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +11 -4
  309. package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
  310. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +12 -12
  311. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
  312. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +6 -6
  313. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
  314. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +12 -12
  315. package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
  316. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +8 -8
  317. package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
  318. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +17 -17
  319. package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
  320. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +7 -7
  321. package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
  322. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +7 -7
  323. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
  324. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +17 -17
  325. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
  326. package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +132 -3
  327. package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
  328. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +12 -1
  329. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
  330. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +9 -1
  331. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
  332. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +12 -1
  333. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
  334. package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
  335. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +16 -3
  336. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
  337. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +31 -3
  338. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
  339. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +34 -3
  340. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
  341. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +14 -2
  342. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
  343. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +13 -2
  344. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
  345. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +13 -2
  346. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
  347. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +13 -2
  348. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
  349. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +19 -1
  350. package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
  351. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +25 -1
  352. package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
  353. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +17 -1
  354. package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
  355. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +20 -1
  356. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
  357. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +20 -1
  358. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
  359. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +20 -1
  360. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
  361. package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +44 -2
  362. package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
  363. package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
  364. package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
  365. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
  366. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
  367. package/dist/eve/index.js +117 -47
  368. package/dist/eve/index.js.map +1 -1
  369. package/dist/eve/lights/CjsLightData.js +7 -0
  370. package/dist/eve/lights/CjsLightData.js.map +1 -1
  371. package/dist/eve/lights/Tr2Light.js +41 -0
  372. package/dist/eve/lights/Tr2Light.js.map +1 -1
  373. package/dist/eve/lights/Tr2PointLight.js +5 -0
  374. package/dist/eve/lights/Tr2PointLight.js.map +1 -1
  375. package/dist/eve/lights/Tr2SpotLight.js +5 -0
  376. package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
  377. package/dist/eve/lights/Tr2TexturedPointLight.js +10 -0
  378. package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  379. package/dist/eve/lights/lightConversion.js +29 -27
  380. package/dist/eve/lights/lightConversion.js.map +1 -1
  381. package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +20 -1
  382. package/dist/eve/locator/EveLocator2.js.map +1 -0
  383. package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +43 -1
  384. package/dist/eve/locator/EveLocatorSets.js.map +1 -0
  385. package/dist/eve/{Locator.js → locator/Locator.js} +6 -1
  386. package/dist/eve/locator/Locator.js.map +1 -0
  387. package/dist/eve/{LocatorData.js → locator/LocatorData.js} +3 -1
  388. package/dist/eve/locator/LocatorData.js.map +1 -0
  389. package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
  390. package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
  391. package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +5 -5
  392. package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
  393. package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +5 -5
  394. package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
  395. package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +6 -6
  396. package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
  397. package/dist/{generated/eve/scene → eve/particles/static}/EveSceneStaticParticles.js +70 -36
  398. package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
  399. package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
  400. package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
  401. package/dist/eve/renderable/stretch/CjsStretchRuntime.js +76 -0
  402. package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
  403. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +85 -1
  404. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  405. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +91 -0
  406. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
  407. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +36 -0
  408. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
  409. package/dist/eve/renderable/stretch/EveStretch.js +158 -9
  410. package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
  411. package/dist/eve/renderable/stretch/EveStretch2.js +121 -12
  412. package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
  413. package/dist/eve/renderable/stretch/EveStretch3.js +261 -8
  414. package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
  415. package/dist/eve/scene/EveSpaceScene.js +56 -6
  416. package/dist/eve/scene/EveSpaceScene.js.map +1 -1
  417. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +24 -1
  418. package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
  419. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +74 -2
  420. package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
  421. package/dist/eve/scene/picking/EvePickingContext.js +61 -0
  422. package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
  423. package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
  424. package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
  425. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
  426. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
  427. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +19 -19
  428. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
  429. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +19 -19
  430. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
  431. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +12 -12
  432. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
  433. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +12 -12
  434. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
  435. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +30 -30
  436. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
  437. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +9 -9
  438. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
  439. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +23 -23
  440. package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
  441. package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
  442. package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +26 -1
  443. package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
  444. package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +17 -1
  445. package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
  446. package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +21 -5
  447. package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
  448. package/dist/eve/socket/EveSocketParameterFilePath.js +5 -5
  449. package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
  450. package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +17 -1
  451. package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
  452. package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +17 -1
  453. package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
  454. package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +42 -2
  455. package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
  456. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +17 -1
  457. package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
  458. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +17 -1
  459. package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
  460. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +17 -1
  461. package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
  462. package/dist/eve/spaceObject/EveEffectRoot2.js +58 -31
  463. package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  464. package/dist/eve/spaceObject/EveMissile.js +49 -1
  465. package/dist/eve/spaceObject/EveMissile.js.map +1 -1
  466. package/dist/eve/spaceObject/EveMissileWarhead.js +100 -1
  467. package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
  468. package/dist/eve/spaceObject/EveMobile.js +104 -0
  469. package/dist/eve/spaceObject/EveMobile.js.map +1 -1
  470. package/dist/eve/spaceObject/EveRootTransform.js +17 -0
  471. package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
  472. package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +32 -12
  473. package/dist/eve/spaceObject/EveShip2.js.map +1 -0
  474. package/dist/eve/spaceObject/EveSpaceObject2.js +726 -199
  475. package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  476. package/dist/eve/spaceObject/EveTransform.js +100 -4
  477. package/dist/eve/spaceObject/EveTransform.js.map +1 -1
  478. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
  479. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
  480. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
  481. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
  482. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
  483. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
  484. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
  485. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
  486. package/dist/{generated/eve/spaceObject → eve/spaceObject/planet}/EvePlanet.js +2 -2
  487. package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
  488. package/dist/{generated/eve → eve}/spaceObject/swarm/EveSwarmRenderable.js +102 -64
  489. package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
  490. package/dist/eve/ui/EveEllipseDefinition.js +15 -0
  491. package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
  492. package/dist/eve/ui/EveEllipseSet.js +42 -0
  493. package/dist/eve/ui/EveEllipseSet.js.map +1 -1
  494. package/dist/{generated/eve → eve}/ui/EveSpherePin.js +76 -11
  495. package/dist/eve/ui/EveSpherePin.js.map +1 -0
  496. package/dist/eve/ui/EveSprite2dBracket.js +5 -0
  497. package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
  498. package/dist/eve/ui/EveUiObject.js +11 -0
  499. package/dist/eve/ui/EveUiObject.js.map +1 -1
  500. package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +67 -6
  501. package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
  502. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
  503. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
  504. package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +22 -2
  505. package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
  506. package/dist/eve/virtualCamera/EveVirtualCamera.js +152 -0
  507. package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
  508. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +65 -0
  509. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
  510. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +17 -0
  511. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
  512. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +19 -0
  513. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
  514. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +17 -0
  515. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
  516. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +29 -0
  517. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
  518. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +15 -0
  519. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
  520. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +38 -0
  521. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
  522. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +17 -0
  523. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
  524. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +18 -0
  525. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
  526. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +20 -0
  527. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
  528. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +20 -0
  529. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
  530. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +11 -0
  531. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
  532. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +14 -0
  533. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
  534. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +16 -0
  535. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
  536. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +20 -0
  537. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
  538. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +36 -0
  539. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
  540. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +36 -0
  541. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
  542. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +11 -0
  543. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
  544. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +37 -0
  545. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
  546. package/dist/eve/volume/EveBoxVolume.js +59 -0
  547. package/dist/eve/volume/EveBoxVolume.js.map +1 -1
  548. package/dist/eve/volume/EveEllipsoidVolume.js +54 -0
  549. package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
  550. package/dist/eve/volume/EveSphereVolume.js +34 -0
  551. package/dist/eve/volume/EveSphereVolume.js.map +1 -1
  552. package/dist/generated/eve/child/EveChildCloud2.js +138 -138
  553. package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
  554. package/dist/generated/eve/child/EveChildParticleSystem.js +10 -4
  555. package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
  556. package/dist/generated/eve/child/EveChildSocket.js +1 -1
  557. package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
  558. package/dist/generated/eve/child/behaviors/BackAndForth.js +14 -17
  559. package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
  560. package/dist/generated/eve/child/behaviors/BehaviorGroup.js +2 -2
  561. package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  562. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +26 -29
  563. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
  564. package/dist/generated/eve/child/behaviors/FollowASpline.js +13 -17
  565. package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
  566. package/dist/generated/eve/child/behaviors/PlayFX.js +14 -14
  567. package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
  568. package/dist/generated/eve/child/behaviors/SeekTarget.js +1 -1
  569. package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
  570. package/dist/generated/eve/child/behaviors/index.js +0 -6
  571. package/dist/generated/eve/child/behaviors/index.js.map +1 -1
  572. package/dist/generated/eve/child/index.js +0 -23
  573. package/dist/generated/eve/child/index.js.map +1 -1
  574. package/dist/generated/eve/effect/index.js +0 -3
  575. package/dist/generated/eve/effect/index.js.map +1 -1
  576. package/dist/generated/eve/index.js +0 -88
  577. package/dist/generated/eve/index.js.map +1 -1
  578. package/dist/generated/eve/scene/index.js +0 -6
  579. package/dist/generated/eve/scene/index.js.map +1 -1
  580. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +20 -20
  581. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  582. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +1 -1
  583. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  584. package/dist/generated/eve/smartLights/index.js +0 -8
  585. package/dist/generated/eve/smartLights/index.js.map +1 -1
  586. package/dist/generated/eve/spaceObject/index.js +0 -4
  587. package/dist/generated/eve/spaceObject/index.js.map +1 -1
  588. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +11 -11
  589. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  590. package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
  591. package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
  592. package/dist/generated/eve/ui/index.js +0 -4
  593. package/dist/generated/eve/ui/index.js.map +1 -1
  594. package/dist/generated/index.js +0 -93
  595. package/dist/generated/index.js.map +1 -1
  596. package/dist/generated/trinityCore/index.js +0 -5
  597. package/dist/generated/trinityCore/index.js.map +1 -1
  598. package/dist/index.js +130 -155
  599. package/dist/index.js.map +1 -1
  600. package/dist/particle/Tr2GpuSharedEmitter.js +39 -0
  601. package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
  602. package/dist/particle/Tr2GpuUniqueEmitter.js +5 -0
  603. package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
  604. package/dist/particle/Tr2ParticleAttractorForce.js +10 -0
  605. package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
  606. package/dist/particle/Tr2ParticleDirectForce.js +7 -0
  607. package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
  608. package/dist/particle/Tr2ParticleDragForce.js +7 -0
  609. package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
  610. package/dist/particle/Tr2ParticleElementDeclaration.js +5 -0
  611. package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
  612. package/dist/particle/Tr2ParticleFluidDragForce.js +10 -0
  613. package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
  614. package/dist/particle/Tr2ParticleSpring.js +10 -0
  615. package/dist/particle/Tr2ParticleSpring.js.map +1 -1
  616. package/dist/particle/Tr2ParticleVortexForce.js +10 -0
  617. package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
  618. package/dist/particle/particleElementBinding.js +12 -0
  619. package/dist/particle/particleElementBinding.js.map +1 -1
  620. package/dist/postProcess/Tr2PPBloomEffect.js +6 -0
  621. package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
  622. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +16 -0
  623. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
  624. package/dist/postProcess/Tr2PPGenericEffect.js +7 -0
  625. package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
  626. package/dist/postProcess/Tr2PPTaaEffect.js +10 -0
  627. package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
  628. package/dist/postProcess/Tr2PPTonemappingEffect.js +5 -0
  629. package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
  630. package/dist/postProcess/Tr2PostProcess.js +5 -0
  631. package/dist/postProcess/Tr2PostProcess.js.map +1 -1
  632. package/dist/postProcess/Tr2PostProcess2.js +147 -0
  633. package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
  634. package/dist/postProcess/Tr2PostProcessAttributes.js +89 -0
  635. package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  636. package/dist/renderJob/Tr2RenderJobs.js +34 -0
  637. package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
  638. package/dist/renderJob/TriRenderJob.js +59 -0
  639. package/dist/renderJob/TriRenderJob.js.map +1 -1
  640. package/dist/renderJob/TriRenderStep.js +20 -0
  641. package/dist/renderJob/TriRenderStep.js.map +1 -1
  642. package/dist/renderJob/TriStepClear.js +18 -0
  643. package/dist/renderJob/TriStepClear.js.map +1 -1
  644. package/dist/renderJob/TriStepCopyRenderTarget.js +51 -0
  645. package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
  646. package/dist/renderJob/TriStepEnableWireframeMode.js +9 -0
  647. package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
  648. package/dist/renderJob/TriStepGenerateMipMaps.js +9 -0
  649. package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
  650. package/dist/renderJob/TriStepPopDepthStencil.js +6 -0
  651. package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
  652. package/dist/renderJob/TriStepPopProjection.js +6 -0
  653. package/dist/renderJob/TriStepPopProjection.js.map +1 -1
  654. package/dist/renderJob/TriStepPopRenderTarget.js +12 -0
  655. package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
  656. package/dist/renderJob/TriStepPopViewTransform.js +6 -0
  657. package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
  658. package/dist/renderJob/TriStepPopViewport.js +6 -0
  659. package/dist/renderJob/TriStepPopViewport.js.map +1 -1
  660. package/dist/renderJob/TriStepPresentSwapChain.js +12 -0
  661. package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
  662. package/dist/renderJob/TriStepPushDepthStencil.js +17 -0
  663. package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
  664. package/dist/renderJob/TriStepPushProjection.js +6 -0
  665. package/dist/renderJob/TriStepPushProjection.js.map +1 -1
  666. package/dist/renderJob/TriStepPushRenderTarget.js +9 -0
  667. package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
  668. package/dist/renderJob/TriStepPushViewTransform.js +6 -0
  669. package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
  670. package/dist/renderJob/TriStepPushViewport.js +6 -0
  671. package/dist/renderJob/TriStepPushViewport.js.map +1 -1
  672. package/dist/renderJob/TriStepRemoteSync.js +17 -0
  673. package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
  674. package/dist/renderJob/TriStepResolve.js +13 -0
  675. package/dist/renderJob/TriStepResolve.js.map +1 -1
  676. package/dist/renderJob/TriStepRunJob.js +12 -0
  677. package/dist/renderJob/TriStepRunJob.js.map +1 -1
  678. package/dist/renderJob/TriStepSetDepthStencil.js +12 -0
  679. package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
  680. package/dist/renderJob/TriStepSetProjection.js +14 -0
  681. package/dist/renderJob/TriStepSetProjection.js.map +1 -1
  682. package/dist/renderJob/TriStepSetRenderState.js +20 -0
  683. package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
  684. package/dist/renderJob/TriStepSetRenderTarget.js +12 -0
  685. package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
  686. package/dist/renderJob/TriStepSetStdRndStates.js +18 -0
  687. package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
  688. package/dist/renderJob/TriStepSetView.js +29 -2
  689. package/dist/renderJob/TriStepSetView.js.map +1 -1
  690. package/dist/renderJob/TriStepSetViewport.js +17 -0
  691. package/dist/renderJob/TriStepSetViewport.js.map +1 -1
  692. package/dist/renderJob/TriStepSetVisualizationMode.js +19 -0
  693. package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
  694. package/dist/shader/Tr2Effect.js +217 -2
  695. package/dist/shader/Tr2Effect.js.map +1 -1
  696. package/dist/shader/Tr2Material.js +41 -0
  697. package/dist/shader/Tr2Material.js.map +1 -1
  698. package/dist/shader/index.js +1 -11
  699. package/dist/shader/index.js.map +1 -1
  700. package/dist/shader/material/Tr2EffectLibraryParameters.js +7 -0
  701. package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
  702. package/dist/shader/material/Tr2EffectPassParameters.js +23 -0
  703. package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
  704. package/dist/shader/material/Tr2MaterialStageInput.js +15 -0
  705. package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
  706. package/dist/shader/parameter/CjsParameter.js +94 -0
  707. package/dist/shader/parameter/CjsParameter.js.map +1 -1
  708. package/dist/shader/parameter/CjsVectorParameter.js +20 -0
  709. package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
  710. package/dist/shader/parameter/Tr2FloatParameter.js +53 -0
  711. package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
  712. package/dist/shader/parameter/Tr2GeometryBufferParameter.js +39 -0
  713. package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  714. package/dist/shader/parameter/Tr2Matrix4Parameter.js +54 -0
  715. package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  716. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +54 -0
  717. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  718. package/dist/shader/parameter/Tr2TextureAnimationParameter.js +35 -0
  719. package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  720. package/dist/shader/parameter/Tr2Vector2Parameter.js +86 -0
  721. package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  722. package/dist/shader/parameter/Tr2Vector3Parameter.js +95 -0
  723. package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  724. package/dist/shader/parameter/Tr2Vector4Parameter.js +105 -0
  725. package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  726. package/dist/shader/parameter/TriFloatArrayParameter.js +26 -0
  727. package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  728. package/dist/shader/parameter/TriTextureParameter.js +84 -0
  729. package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
  730. package/dist/shader/parameter/TriTransformParameter.js +2 -0
  731. package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
  732. package/dist/shader/parameter/TriVariableParameter.js +38 -0
  733. package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
  734. package/dist/shader/parameter/TriVector4.js +2 -0
  735. package/dist/shader/parameter/TriVector4.js.map +1 -1
  736. package/dist/shader/reflection/Tr2ShaderOption.js +6 -1
  737. package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
  738. package/dist/shader/support/CjsVariableStore.js +140 -0
  739. package/dist/shader/support/CjsVariableStore.js.map +1 -1
  740. package/dist/shader/support/Tr2ShaderBuffer.js +15 -0
  741. package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
  742. package/dist/trinityCore/CjsBatchManager.js +62 -2
  743. package/dist/trinityCore/CjsBatchManager.js.map +1 -1
  744. package/dist/trinityCore/GrannyBoneOffset.js +51 -0
  745. package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
  746. package/dist/trinityCore/ITriRenderBatchAccumulator.js +65 -3
  747. package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
  748. package/dist/trinityCore/Tr2DirectInstanceData.js +19 -0
  749. package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
  750. package/dist/trinityCore/Tr2ExpressionTermInfo.js +21 -0
  751. package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
  752. package/dist/trinityCore/Tr2GpuBuffer.js +5 -0
  753. package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
  754. package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +137 -8
  755. package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
  756. package/dist/trinityCore/Tr2InstancedMesh.js +52 -0
  757. package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
  758. package/dist/trinityCore/Tr2MaterialParameterStore.js +5 -0
  759. package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
  760. package/dist/trinityCore/Tr2Mesh.js +37 -0
  761. package/dist/trinityCore/Tr2Mesh.js.map +1 -1
  762. package/dist/trinityCore/Tr2MeshArea.js +78 -0
  763. package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
  764. package/dist/trinityCore/Tr2MeshBase.js +98 -2
  765. package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
  766. package/dist/trinityCore/Tr2PerObjectData.js +10 -0
  767. package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
  768. package/dist/trinityCore/Tr2PickType.js +33 -0
  769. package/dist/trinityCore/Tr2PickType.js.map +1 -0
  770. package/dist/trinityCore/Tr2RenderBatch.js +137 -0
  771. package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
  772. package/dist/trinityCore/Tr2RenderContext.js +271 -0
  773. package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
  774. package/dist/trinityCore/Tr2RuntimeInstanceData.js +179 -0
  775. package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
  776. package/dist/trinityCore/Tr2ShLightingManager.js +397 -0
  777. package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
  778. package/dist/trinityCore/Tr2VariableStore.js +26 -0
  779. package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
  780. package/dist/trinityCore/Tr2VisibilityResults.js +5 -0
  781. package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
  782. package/dist/trinityCore/TriDevice.js +5 -0
  783. package/dist/trinityCore/TriDevice.js.map +1 -1
  784. package/dist/trinityCore/TriFrustum.js +21 -14
  785. package/dist/trinityCore/TriFrustum.js.map +1 -1
  786. package/dist/trinityCore/TriObserverLocal.js +43 -0
  787. package/dist/trinityCore/TriObserverLocal.js.map +1 -1
  788. package/dist/trinityCore/TriProjection.js +86 -32
  789. package/dist/trinityCore/TriProjection.js.map +1 -1
  790. package/dist/trinityCore/TriRect.js +12 -0
  791. package/dist/trinityCore/TriRect.js.map +1 -1
  792. package/dist/trinityCore/TriRenderBatchAccumulator.js +46 -0
  793. package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
  794. package/dist/trinityCore/TriRenderBatchMap.js +39 -2
  795. package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
  796. package/dist/trinityCore/TriSettings.js +38 -0
  797. package/dist/trinityCore/TriSettings.js.map +1 -1
  798. package/dist/trinityCore/TriVariable.js +30 -0
  799. package/dist/trinityCore/TriVariable.js.map +1 -1
  800. package/dist/trinityCore/TriView.js +16 -1
  801. package/dist/trinityCore/TriView.js.map +1 -1
  802. package/dist/trinityCore/TriViewport.js +12 -0
  803. package/dist/trinityCore/TriViewport.js.map +1 -1
  804. package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +1 -1
  805. package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
  806. package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
  807. package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
  808. package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
  809. package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
  810. package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +30 -6
  811. package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
  812. package/dist/trinityCore/binding/TriValueBinding.js +648 -0
  813. package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
  814. package/dist/trinityCore/index.js +11 -4
  815. package/dist/trinityCore/index.js.map +1 -1
  816. package/dist/trinityCore/pickRay.js +84 -0
  817. package/dist/trinityCore/pickRay.js.map +1 -0
  818. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +931 -0
  819. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
  820. package/dist/trinityCore/rawData/RawData.js +294 -38
  821. package/dist/trinityCore/rawData/RawData.js.map +1 -1
  822. package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
  823. package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
  824. package/dist/utilities/Range.js +53 -0
  825. package/dist/utilities/Range.js.map +1 -1
  826. package/docs/README.md +88 -0
  827. package/docs/architecture.md +162 -0
  828. package/docs/concepts/eve-runtime-behavior.md +86 -0
  829. package/docs/concepts/generated-class-lifecycle.md +116 -0
  830. package/docs/reference/api.md +76 -0
  831. package/docs/reference/classes/eve-runtime.md +106 -0
  832. package/docs/reference/classes/trinity-core.md +26 -0
  833. package/docs/reference/implementation-status.md +104 -0
  834. package/docs/reference/main-semantic-extraction.md +104 -0
  835. package/package.json +33 -24
  836. package/dist/eve/DecalVSPerObjectData.js +0 -34
  837. package/dist/eve/DecalVSPerObjectData.js.map +0 -1
  838. package/dist/eve/EveBannerItem.js +0 -43
  839. package/dist/eve/EveBannerItem.js.map +0 -1
  840. package/dist/eve/EveBannerLight.js.map +0 -1
  841. package/dist/eve/EveBannerSet.js +0 -190
  842. package/dist/eve/EveBannerSet.js.map +0 -1
  843. package/dist/eve/EveBasicPerObjectData.js +0 -31
  844. package/dist/eve/EveBasicPerObjectData.js.map +0 -1
  845. package/dist/eve/EveBoosterSet2.js.map +0 -1
  846. package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
  847. package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
  848. package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
  849. package/dist/eve/EveHazeSet.js.map +0 -1
  850. package/dist/eve/EveHazeSetLight.js.map +0 -1
  851. package/dist/eve/EveLocator2.js.map +0 -1
  852. package/dist/eve/EveLocatorSets.js.map +0 -1
  853. package/dist/eve/EveParticleDirectForce.js.map +0 -1
  854. package/dist/eve/EveParticleDragForce.js.map +0 -1
  855. package/dist/eve/EveParticleSpring.js.map +0 -1
  856. package/dist/eve/EvePerObjectPSData.js +0 -29
  857. package/dist/eve/EvePerObjectPSData.js.map +0 -1
  858. package/dist/eve/EvePerObjectVSData.js +0 -29
  859. package/dist/eve/EvePerObjectVSData.js.map +0 -1
  860. package/dist/eve/EvePlaneLight.js.map +0 -1
  861. package/dist/eve/EvePlaneSet.js.map +0 -1
  862. package/dist/eve/EvePlaneSetItem.js +0 -45
  863. package/dist/eve/EvePlaneSetItem.js.map +0 -1
  864. package/dist/eve/EveSpaceObjectAttachmentUtils.js.map +0 -1
  865. package/dist/eve/EveSpaceObjectDecal.js +0 -150
  866. package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
  867. package/dist/eve/EveSpaceObjectPSData.js +0 -73
  868. package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
  869. package/dist/eve/EveSpaceObjectVSData.js +0 -79
  870. package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
  871. package/dist/eve/EveSpacePerObjectData.js +0 -97
  872. package/dist/eve/EveSpacePerObjectData.js.map +0 -1
  873. package/dist/eve/EveSpherePinPerObjectData.js +0 -37
  874. package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
  875. package/dist/eve/EveSpotlightLight.js.map +0 -1
  876. package/dist/eve/EveSpotlightSet.js.map +0 -1
  877. package/dist/eve/EveSpriteLight.js.map +0 -1
  878. package/dist/eve/EveSpriteLineSet.js.map +0 -1
  879. package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
  880. package/dist/eve/EveSpriteSet.js.map +0 -1
  881. package/dist/eve/EveTrailsSet.js.map +0 -1
  882. package/dist/eve/Locator.js.map +0 -1
  883. package/dist/eve/LocatorData.js.map +0 -1
  884. package/dist/eve/ProcessLifetimeData.js.map +0 -1
  885. package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
  886. package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
  887. package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
  888. package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
  889. package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
  890. package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
  891. package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
  892. package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
  893. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
  894. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
  895. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
  896. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
  897. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
  898. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
  899. package/dist/generated/eve/EveCamera.js +0 -264
  900. package/dist/generated/eve/EveCamera.js.map +0 -1
  901. package/dist/generated/eve/EveEntity.js +0 -81
  902. package/dist/generated/eve/EveEntity.js.map +0 -1
  903. package/dist/generated/eve/attachment/decal/index.js +0 -2
  904. package/dist/generated/eve/attachment/decal/index.js.map +0 -1
  905. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
  906. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
  907. package/dist/generated/eve/attachment/haze/index.js +0 -2
  908. package/dist/generated/eve/attachment/haze/index.js.map +0 -1
  909. package/dist/generated/eve/attachment/index.js +0 -5
  910. package/dist/generated/eve/attachment/index.js.map +0 -1
  911. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
  912. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
  913. package/dist/generated/eve/attachment/spotlights/index.js +0 -2
  914. package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
  915. package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
  916. package/dist/generated/eve/attachment/sprites/index.js +0 -2
  917. package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
  918. package/dist/generated/eve/attachment/turrets/enums.js +0 -32
  919. package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
  920. package/dist/generated/eve/attachment/turrets/index.js +0 -2
  921. package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
  922. package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
  923. package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
  924. package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
  925. package/dist/generated/eve/child/EveChildLink.js.map +0 -1
  926. package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
  927. package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
  928. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
  929. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
  930. package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
  931. package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
  932. package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
  933. package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
  934. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
  935. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
  936. package/dist/generated/eve/child/behaviors/Wander.js +0 -92
  937. package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
  938. package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
  939. package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
  940. package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
  941. package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
  942. package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
  943. package/dist/generated/eve/child/modifiers/index.js +0 -5
  944. package/dist/generated/eve/child/modifiers/index.js.map +0 -1
  945. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
  946. package/dist/generated/eve/child/procedural/index.js +0 -10
  947. package/dist/generated/eve/child/procedural/index.js.map +0 -1
  948. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
  949. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
  950. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
  951. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
  952. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
  953. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
  954. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
  955. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
  956. package/dist/generated/eve/child/procedural/selection/index.js +0 -9
  957. package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
  958. package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
  959. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
  960. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
  961. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
  962. package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
  963. package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
  964. package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
  965. package/dist/generated/eve/distribution/index.js +0 -19
  966. package/dist/generated/eve/distribution/index.js.map +0 -1
  967. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
  968. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
  969. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
  970. package/dist/generated/eve/distribution/placement/index.js +0 -4
  971. package/dist/generated/eve/distribution/placement/index.js.map +0 -1
  972. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
  973. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
  974. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
  975. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
  976. package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
  977. package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
  978. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
  979. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
  980. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
  981. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
  982. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
  983. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
  984. package/dist/generated/eve/distribution/spawners/index.js +0 -7
  985. package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
  986. package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
  987. package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
  988. package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
  989. package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
  990. package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
  991. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
  992. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
  993. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
  994. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
  995. package/dist/generated/eve/fxAttributes/index.js +0 -3
  996. package/dist/generated/eve/fxAttributes/index.js.map +0 -1
  997. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
  998. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
  999. package/dist/generated/eve/overlays/index.js +0 -2
  1000. package/dist/generated/eve/overlays/index.js.map +0 -1
  1001. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
  1002. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
  1003. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
  1004. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
  1005. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
  1006. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
  1007. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
  1008. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
  1009. package/dist/generated/eve/perObjectData/index.js +0 -5
  1010. package/dist/generated/eve/perObjectData/index.js.map +0 -1
  1011. package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
  1012. package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
  1013. package/dist/generated/eve/scene/EvePickingContext.js +0 -43
  1014. package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
  1015. package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
  1016. package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
  1017. package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
  1018. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
  1019. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
  1020. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
  1021. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
  1022. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
  1023. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
  1024. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
  1025. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
  1026. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
  1027. package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
  1028. package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
  1029. package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
  1030. package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
  1031. package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
  1032. package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
  1033. package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
  1034. package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
  1035. package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
  1036. package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
  1037. package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
  1038. package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
  1039. package/dist/generated/eve/socket/index.js +0 -10
  1040. package/dist/generated/eve/socket/index.js.map +0 -1
  1041. package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
  1042. package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
  1043. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
  1044. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
  1045. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
  1046. package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
  1047. package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
  1048. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
  1049. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
  1050. package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
  1051. package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
  1052. package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
  1053. package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
  1054. package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
  1055. package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
  1056. package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
  1057. package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
  1058. package/dist/generated/trinityCore/TriValueBinding.js +0 -249
  1059. package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
  1060. package/dist/shader/Tr2Shader.js +0 -150
  1061. package/dist/shader/Tr2Shader.js.map +0 -1
  1062. package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
  1063. package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
  1064. package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
  1065. package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
  1066. package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
  1067. package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
  1068. package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
  1069. package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
  1070. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
  1071. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
  1072. package/dist/shader/reflection/Tr2EffectResource.js +0 -63
  1073. package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
  1074. package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
  1075. package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
  1076. package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
  1077. package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
  1078. package/dist/shader/reflection/Tr2Pass.js +0 -46
  1079. package/dist/shader/reflection/Tr2Pass.js.map +0 -1
  1080. package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
  1081. package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
  1082. package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
  1083. package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
  1084. package/dist/trinityCore/rawData/RawDataStore.js +0 -232
  1085. package/dist/trinityCore/rawData/RawDataStore.js.map +0 -1
  1086. /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
  1087. /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EveBannerSet.js","sources":["../../../../../src/eve/attachment/banner/EveBannerSet.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveBannerSet.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveBannerSet.cpp\r\nimport { box3 } from \"@carbonenginejs/runtime-utils/box3\";\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { sph3 } from \"@carbonenginejs/runtime-utils/sph3\";\r\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveEntity } from \"../../EveEntity.js\";\r\nimport { EveBannerItem } from \"./EveBannerItem.js\";\r\nimport { EveBannerLight } from \"./EveBannerLight.js\";\r\nimport { EveComponentType } from \"../../EveComponentTypes.js\";\r\nimport { Saturate } from \"../EveSpaceObjectAttachmentUtils.js\";\r\nimport { Tr2Light } from \"../../lights/Tr2Light.js\";\r\nimport { FLOAT_MAX } from \"../../../trinityCore/TriFrustum.js\";\r\nimport { CreateItemSetBoundingBoxes, GetItemSetAabb } from \"../itemSetBounds.js\";\r\nimport {\r\n AsPerPointLightData,\r\n CopyLightData,\r\n CreateLightDataScratch,\r\n CreateLightRecord,\r\n MatrixCopyFrom3x4\r\n} from \"../../lights/lightConversion.js\";\r\n\r\n\r\n/**\r\n * A hull's authored banner quads, owning their static and per-bone bounds, the\r\n * largest single banner radius its LOD is measured on, and the banner lights.\r\n */\r\n@type.define({ className: \"EveBannerSet\", family: \"eve/attachment/banners\" })\r\nexport class EveBannerSet extends EveEntity\r\n{\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.list(\"EveBannerItem\")\r\n banners = [];\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effect = null;\r\n\r\n @io.persist\r\n @type.boolean\r\n isPickable = false;\r\n\r\n @io.readwrite\r\n @type.boolean\r\n display = true;\r\n\r\n @io.persist\r\n @type.int32\r\n key = 0;\r\n\r\n @io.persist\r\n @type.list(\"EveBannerLight\")\r\n lights = [];\r\n\r\n // SOF-authored primary banner texture parameter; persisted so the values\r\n // interchange reproduces Carbon's hidden banner binding.\r\n @io.persist\r\n @type.objectRef(\"TriTextureParameter\")\r\n primaryTextureParameter = null;\r\n\r\n #rebuildRevision = 0;\r\n\r\n /** m_aabb (h) - the union of every banner that rides the parent transform. */\r\n #staticBounds = box3.create();\r\n\r\n /** m_skinnedBoxes (cpp:403) - [{ boneIndex, bounds }], ascending. */\r\n #boneBounds = [];\r\n\r\n /** m_maxBannerRadius (cpp:421) - the largest single banner half-diagonal,\r\n * which is the radius the LOD test measures rather than the whole set. */\r\n #maxBannerRadius = 0;\r\n\r\n /** m_isVisible - the result of the last UpdateVisibility. */\r\n #isVisible = false;\r\n\r\n /** Carbon m_activationStrength (ctor 0, EveBannerSet.cpp:94). Lights are\r\n * BLACK until UpdateLights runs. */\r\n #activationStrength = 0;\r\n\r\n /**\r\n * Recomputes the bounds a banner set answers with - the static box, the\r\n * per-bone boxes and the largest single banner half-diagonal - and marks the\r\n * packed geometry stale; a set without an effect builds no bounds at all, so\r\n * it reads as invisible rather than unbounded.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Rebuild()\r\n {\r\n // Physical geometry, buffers and batches are backend work; the bounds are\r\n // not. Carbon rebuilds both together (cpp:397-431).\r\n this.#rebuildRevision++;\r\n this.__state.rebuild.add(\"packedGeometry\");\r\n\r\n box3.empty(this.#staticBounds);\r\n this.#boneBounds.length = 0;\r\n this.#maxBannerRadius = 0;\r\n\r\n // Carbon bails before building ANY bounds when the set has no effect\r\n // (cpp:406-409) - an effectless banner set is invisible, not unbounded.\r\n if (!this.effect)\r\n {\r\n return;\r\n }\r\n\r\n // Carbon inlines the shared grouping here, and never gates it on a skinned\r\n // flag: any banner with a bone of its own gets its own box (cpp:424).\r\n CreateItemSetBoundingBoxes(this.#staticBounds, this.#boneBounds, true, this.banners);\r\n\r\n for (const banner of this.banners)\r\n {\r\n banner.GetBounds(EveBannerSet.#bannerScratch);\r\n this.#maxBannerRadius = Math.max(\r\n this.#maxBannerRadius,\r\n box3.radius(EveBannerSet.#bannerScratch)\r\n );\r\n }\r\n }\r\n\r\n /** Carbon EveBannerSet::GetAabb (cpp:392-395): the item-set bounds. The bone\r\n * count is forwarded ungated - a banner set has no skinned flag. */\r\n @carbon.method\r\n @impl.implemented\r\n GetAabb(out, bones = null, boneCount = 0)\r\n {\r\n return GetItemSetAabb(out, this.#staticBounds, this.#boneBounds, bones, boneCount);\r\n }\r\n\r\n /** The largest single banner half-diagonal, as measured by the last Rebuild. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon reads the m_maxBannerRadius member directly; JavaScript exposes it through an accessor.\")\r\n GetMaxBannerRadius()\r\n {\r\n return this.#maxBannerRadius;\r\n }\r\n\r\n /** The result of the last UpdateVisibility (Carbon m_isVisible). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon reads the m_isVisible member directly; JavaScript exposes it through an accessor.\")\r\n GetVisibility()\r\n {\r\n return this.#isVisible;\r\n }\r\n\r\n /**\r\n * Carbon EveBannerSet::UpdateVisibility (cpp:117-161). The frustum test is the\r\n * usual transformed item-set box, but the LOD gate is unlike any other set:\r\n *\r\n * - It measures the CLOSEST POINT ON THE SET SPHERE to the camera, carrying\r\n * the largest SINGLE banner radius. A row of banners therefore lods out on\r\n * how big one banner looks, not on how big the row is.\r\n * - A camera INSIDE the set sphere skips the gate entirely and leaves the\r\n * screen size at FLT_MAX, which is also what the effect is then told.\r\n * - The bar is HALF the visibility threshold, not the threshold.\r\n *\r\n * The effect is told the screen size on EVERY path, culled or not, because it\r\n * drives texture streaming rather than drawing.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(updateContext, parentTransform, bones = null, boneCount = 0)\r\n {\r\n const aabb = this.GetAabb(EveBannerSet.#aabbScratch, bones, boneCount);\r\n if (box3.isEmpty(aabb))\r\n {\r\n this.#isVisible = false;\r\n return false;\r\n }\r\n\r\n box3.transformMat4(aabb, aabb, parentTransform);\r\n\r\n const frustum = updateContext?.GetFrustum?.() ?? null;\r\n this.#isVisible = !!frustum?.IsBoxVisible(aabb);\r\n\r\n let isLoddedOut = true;\r\n let screenSize = FLOAT_MAX;\r\n\r\n if (frustum)\r\n {\r\n // Carbon BoundingSphereFromBox: the box centre with half its full\r\n // diagonal. The centre is written into the sphere in place, so the radius\r\n // is assigned after - never inside a sph3.set that would clear it.\r\n const sphere = EveBannerSet.#sphereScratch;\r\n sphere[3] = box3.toPositionRadius(aabb, sph3.$position(sphere));\r\n\r\n if (sph3.containsPoint(sphere, frustum.viewPos))\r\n {\r\n isLoddedOut = false;\r\n }\r\n else\r\n {\r\n // The point on the set sphere nearest the camera, given the largest\r\n // single banner as the thing being measured.\r\n const closest = vec3.subtract(EveBannerSet.#closestScratch, frustum.viewPos, sph3.$position(sphere));\r\n vec3.normalize(closest, closest);\r\n vec3.scaleAndAdd(closest, sph3.$position(sphere), closest, sph3.radius(sphere));\r\n\r\n const element = sph3.fromPositionRadius(EveBannerSet.#elementScratch, closest, this.#maxBannerRadius);\r\n screenSize = frustum.GetPixelSizeAccrossEst(element);\r\n if (screenSize > (updateContext.GetVisibilityThreshold?.() ?? 0) * 0.5)\r\n {\r\n isLoddedOut = false;\r\n }\r\n }\r\n }\r\n\r\n this.effect?.UsedWithScreenSize?.(screenSize, this.#maxBannerRadius, EveBannerSet.#uvDensities);\r\n\r\n if (isLoddedOut)\r\n {\r\n this.#isVisible = false;\r\n }\r\n return this.#isVisible;\r\n }\r\n\r\n /** Carbon EveBannerSet::GetDebugOptions (cpp:219-224). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2DebugRendererOptions is an engine-owned set; a Set (add) or an insert duck is accepted.\")\r\n GetDebugOptions(options = new Set())\r\n {\r\n for (const option of EveBannerSet.DebugOptions)\r\n {\r\n if (options?.add) options.add(option);\r\n else options?.insert?.(option);\r\n }\r\n return options;\r\n }\r\n\r\n /**\r\n * Carbon EveBannerSet::RenderDebugInfo (cpp:226-311): three independent\r\n * options, each emitting draw intents onto the injected debug renderer.\r\n *\r\n * \"Banner Sets\" draws every banner TWICE - wireframe then solid - as a\r\n * near-flat box (z +/- 0.005), NOT the half-open bounds box the LOD uses. A\r\n * banner whose bone index is out of range is drawn RED instead of blue, which\r\n * is how a missing bone shows up on screen.\r\n *\r\n * \"Banner Sets Bounds\" draws the item-set box in the parent space, and\r\n * \"Banner Sets Lights\" draws each light twice, inner then outer radius, with\r\n * the saturated authored color - or the texture average color when a primary\r\n * texture parameter is attached, exactly as GetLights decides it.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"ITr2DebugRenderer2 and Tr2DebugObjectReference are engine-owned; the reference collapses to (owner, index) arguments and the Effect enum to its ordinal.\")\r\n RenderDebugInfo(renderer, parentTransform, bones = null, boneCount = 0)\r\n {\r\n if (!renderer) return false;\r\n\r\n if (renderer.HasOption?.(this, \"Banner Sets\"))\r\n {\r\n const transform = EveBannerSet.#debugTransform;\r\n for (let index = 0; index < this.banners.length; index++)\r\n {\r\n const banner = this.banners[index];\r\n mat4.fromRotationTranslationScale(transform, banner.rotation, banner.position, banner.scaling);\r\n\r\n let color = EveBannerSet.#debugBannerColor;\r\n if (banner.bone >= 0)\r\n {\r\n if (bones && banner.bone < boneCount)\r\n {\r\n MatrixCopyFrom3x4(EveBannerSet.#debugBone, bones, banner.bone);\r\n // Carbon (row-vector): t * boneTF - the banner applies first.\r\n mat4.multiply(transform, EveBannerSet.#debugBone, transform);\r\n }\r\n else\r\n {\r\n color = EveBannerSet.#debugMissingBoneColor;\r\n }\r\n }\r\n mat4.multiply(transform, parentTransform, transform);\r\n\r\n renderer.DrawBox?.(this, index, transform, EveBannerSet.#debugBoxMin, EveBannerSet.#debugBoxMax, EveBannerSet.DebugEffect.Wireframe, color);\r\n renderer.DrawBox?.(this, index, transform, EveBannerSet.#debugBoxMin, EveBannerSet.#debugBoxMax, EveBannerSet.DebugEffect.Solid, 0);\r\n }\r\n }\r\n\r\n if (renderer.HasOption?.(this, \"Banner Sets Bounds\"))\r\n {\r\n const aabb = this.GetAabb(EveBannerSet.#debugBounds, bones, boneCount);\r\n renderer.DrawBox?.(this, -1, parentTransform, box3.$min(aabb), box3.$max(aabb), EveBannerSet.DebugEffect.Wireframe, 0xff00ff00);\r\n }\r\n\r\n if (renderer.HasOption?.(this, \"Banner Sets Lights\"))\r\n {\r\n const color = EveBannerSet.#debugLightColor;\r\n for (const light of this.lights)\r\n {\r\n const transform = mat4.fromTranslation(EveBannerSet.#debugTransform, light.lightData.position);\r\n // Carbon (row-vector): TranslationMatrix(position) * boneMatrix.\r\n mat4.multiply(transform, light.boneMatrix, transform);\r\n\r\n if (this.primaryTextureParameter)\r\n {\r\n this.GetAverageColor(color);\r\n }\r\n else\r\n {\r\n Saturate(color, light.lightData.color, light.saturation);\r\n }\r\n\r\n color[3] = 0.5;\r\n renderer.DrawSphere?.(this, light.index, transform, light.lightData.innerRadius, 10, EveBannerSet.DebugEffect.Solid, color);\r\n color[3] = 0.3;\r\n renderer.DrawSphere?.(this, light.index, transform, light.lightData.radius, 10, EveBannerSet.DebugEffect.Solid, color);\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * The SOF reference id of the banner at an index, which is how a caller maps a\r\n * picked banner back to its authored slot.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetReference(index)\r\n {\r\n return this.banners[index].reference;\r\n }\r\n\r\n /** Measures the generated banner surface exactly as Carbon does: flat\r\n * banners use authored X/Y scale, while curved banners sum the same\r\n * approximately five-degree transformed arc chords used by geometry\r\n * generation. */\r\n @carbon.method\r\n @impl.implemented\r\n static GetBannerAspectRatio(banner)\r\n {\r\n const flatX = banner.angleX <= 0;\r\n const flatY = banner.angleY <= 0;\r\n if (flatX && flatY)\r\n {\r\n return banner.scaling[0] / banner.scaling[1];\r\n }\r\n\r\n const transform = mat4.fromRotationTranslationScale(\r\n EveBannerSet.#aspectTransform,\r\n banner.rotation,\r\n banner.position,\r\n banner.scaling\r\n );\r\n if (flatX)\r\n {\r\n const angleY = EveBannerSet.#clampBannerAngle(banner.angleY);\r\n const halfAngleY = angleY / 180 * Math.PI / 2;\r\n const scaleY = 0.5 / Math.sin(halfAngleY);\r\n const vLength = EveBannerSet.#measureVerticalArc(transform, angleY, halfAngleY, scaleY, scaleY);\r\n return banner.scaling[0] / vLength;\r\n }\r\n if (flatY)\r\n {\r\n const angleX = EveBannerSet.#clampBannerAngle(banner.angleX);\r\n const halfAngleX = angleX / 180 * Math.PI / 2;\r\n const scaleX = 0.5 / Math.sin(halfAngleX);\r\n const uLength = EveBannerSet.#measureHorizontalArc(transform, angleX, halfAngleX, scaleX, scaleX);\r\n return uLength / banner.scaling[1];\r\n }\r\n\r\n const angleX = EveBannerSet.#clampBannerAngle(banner.angleX);\r\n const angleY = EveBannerSet.#clampBannerAngle(banner.angleY);\r\n const halfAngleX = angleX / 180 * Math.PI / 2;\r\n const halfAngleY = angleY / 180 * Math.PI / 2;\r\n const scaleX = 0.5 / Math.sin(halfAngleX);\r\n const scaleY = 0.5 / Math.sin(halfAngleY);\r\n const scaleZ = Math.min(scaleX, scaleY);\r\n const uLength = EveBannerSet.#measureHorizontalArc(transform, angleX, halfAngleX, scaleX, scaleZ);\r\n const vLength = EveBannerSet.#measureVerticalArc(transform, angleY, halfAngleY, scaleY, scaleZ);\r\n return uLength / vLength;\r\n }\r\n\r\n /**\r\n * Runs the first Rebuild so the set has bounds before its first visibility\r\n * test.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n this.Rebuild();\r\n return true;\r\n }\r\n\r\n /**\r\n * Copies a loose banner description into a stored EveBannerItem, appends it\r\n * and returns the copy; the source object is not retained.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n AddBanner(banner)\r\n {\r\n const copy = EveBannerSet.#copyBanner(banner);\r\n this.banners.push(copy);\r\n return copy;\r\n }\r\n\r\n /**\r\n * Sets the effect that draws the banners; without one Rebuild produces no\r\n * bounds and the set never draws.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetEffect(effect)\r\n {\r\n this.effect = effect ?? null;\r\n }\r\n\r\n /** Sets the banner key that the set's picking id is derived from. */\r\n @carbon.method\r\n @impl.implemented\r\n SetKey(key)\r\n {\r\n this.key = Number(key) | 0;\r\n }\r\n\r\n /** The picking id this set writes, which is 101 plus the authored key. */\r\n @carbon.method\r\n @impl.implemented\r\n GetPickingID()\r\n {\r\n return (101 + this.key) >>> 0;\r\n }\r\n\r\n /**\r\n * Sets a shader option on the banner effect, doing nothing when no effect that\r\n * accepts options is attached.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetShaderOption(name, value)\r\n {\r\n if (this.effect && typeof this.effect.SetOption === \"function\")\r\n {\r\n this.effect.SetOption(name, value);\r\n }\r\n }\r\n\r\n /**\r\n * Sets the texture parameter whose average colour replaces the authored colour\r\n * of every banner light.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetPrimaryTextureParameter(parameter)\r\n {\r\n this.primaryTextureParameter = parameter ?? null;\r\n }\r\n\r\n /**\r\n * Converts a SOF-authored light description into an EveBannerLight and appends\r\n * it to the set.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n AddLightFromSOF(light)\r\n {\r\n this.lights.push(EveBannerLight.FromSOF(light));\r\n }\r\n\r\n /** Carbon EveBannerSet::RegisterComponents (cpp:457-464): LightOwner\r\n * UNCONDITIONAL (no lights-empty check, unlike the other packed sets -\r\n * GetLights self-gates on display/lights instead, cpp:468). */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n }\r\n\r\n /** Carbon EveBannerSet::UpdateLights (cpp:164-183): the shared packed-set\r\n * bone pattern (boneIndex > 0 only; column-stride Float4x3 unpack; 4th\r\n * column zeroed, [15] = 1; boneMatrix *= parentTransform - Carbon\r\n * row-vector, bone FIRST: gl operands SWAP; else copy the parent). Stamps\r\n * the activation strength (boosterGain unused by banners). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateLights(parentTransform, bones, boneCount, activationStrength, _boosterGain = 0)\r\n {\r\n for (const light of this.lights)\r\n {\r\n const boneIndex = light.lightData.boneIndex;\r\n if (bones && boneIndex > 0 && boneIndex < boneCount)\r\n {\r\n MatrixCopyFrom3x4(light.boneMatrix, bones, boneIndex);\r\n light.boneMatrix[3] = 0;\r\n light.boneMatrix[7] = 0;\r\n light.boneMatrix[11] = 0;\r\n light.boneMatrix[15] = 1;\r\n // Carbon (row-vector): boneMatrix * parentTransform - bone first.\r\n mat4.multiply(light.boneMatrix, parentTransform, light.boneMatrix);\r\n }\r\n else\r\n {\r\n mat4.copy(light.boneMatrix, parentTransform);\r\n }\r\n }\r\n this.#activationStrength = Number(activationStrength) || 0;\r\n }\r\n\r\n /** Carbon EveBannerSet::GetAverageColor (cpp:441-455): the PRIMARY texture\r\n * parameter's average color, (0,0,0,0) when the map or resource is\r\n * missing (contrast EvePlaneSet's white default and four-map product). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The texture average color is a resource capability - read as a GetAverageColor duck on the parameter's resource, zero when absent.\")\r\n GetAverageColor(out = new Float32Array(4))\r\n {\r\n const average = this.primaryTextureParameter?.GetResource?.()?.GetAverageColor?.();\r\n if (average)\r\n {\r\n out[0] = average[0];\r\n out[1] = average[1];\r\n out[2] = average[2];\r\n out[3] = average[3];\r\n }\r\n else\r\n {\r\n out.fill(0);\r\n }\r\n return out;\r\n }\r\n\r\n /** Carbon EveBannerSet::GetLights (cpp:466-491): the ONLY packed set with\r\n * a display gate in GetLights (its registration is unconditional,\r\n * cpp:457-464); an averageColor with zero alpha submits NOTHING (texture\r\n * not loaded yet, cpp:474-477); the loop iterates BY VALUE (`auto light`,\r\n * cpp:482) - the authored color is REPLACED entirely by\r\n * Saturate(averageColor, saturation) on a scratch copy (cpp:484 -\r\n * contrast EvePlaneSet's multiply); no blink/fade; point conversion on\r\n * the bone matrix. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The texture average color and profile packing follow the adapted ducks above.\")\r\n GetLights(lightManager)\r\n {\r\n if (!this.display || this.lights.length === 0)\r\n {\r\n return;\r\n }\r\n const averageColor = EveBannerSet.#averageColorScratch;\r\n this.GetAverageColor(averageColor);\r\n if (averageColor[3] === 0)\r\n {\r\n return;\r\n }\r\n\r\n const features = EveBannerSet.#features;\r\n features.parentBrightness = this.#activationStrength;\r\n features.parentScale = 1;\r\n const quality = lightManager?.GetCurrentSpaceSceneShadowQuality?.() ?? 0;\r\n const record = EveBannerSet.#lightRecord;\r\n const dataCopy = EveBannerSet.#lightDataScratch;\r\n\r\n for (const light of this.lights)\r\n {\r\n CopyLightData(dataCopy, light.lightData);\r\n Saturate(dataCopy.color, averageColor, light.saturation);\r\n AsPerPointLightData(record, dataCopy, light.boneMatrix, features, quality);\r\n record.lightType = Tr2Light.POINT_LIGHT;\r\n record.lightData = light.lightData;\r\n record.lightProfile = light.lightProfile;\r\n record.owner = this;\r\n lightManager?.AddLight?.(record);\r\n }\r\n }\r\n\r\n /** Carbon ITr2DebugRenderer2::Effect (Include/ITr2DebugRenderer2.h:134-139). */\r\n static DebugEffect = Object.freeze({ Wireframe: 0, Solid: 1, Lit: 2 });\r\n\r\n /** The option names this set publishes (cpp:221-223). */\r\n static DebugOptions = Object.freeze([\"Banner Sets\", \"Banner Sets Bounds\", \"Banner Sets Lights\"]);\r\n\r\n static #debugTransform = mat4.create();\r\n\r\n static #debugBone = mat4.create();\r\n\r\n static #debugBounds = box3.create();\r\n\r\n static #debugLightColor = new Float32Array(4);\r\n\r\n static #debugBoxMin = Object.freeze([-0.5, -0.5, -0.005]);\r\n\r\n static #debugBoxMax = Object.freeze([0.5, 0.5, 0.005]);\r\n\r\n static #debugBannerColor = Object.freeze([0.1, 0.1, 0.7, 0.5]);\r\n\r\n static #debugMissingBoneColor = Object.freeze([0.7, 0.1, 0.1, 0.5]);\r\n\r\n /** Per-frame scratch - UpdateVisibility must not allocate. */\r\n static #aabbScratch = box3.create();\r\n\r\n static #sphereScratch = sph3.create();\r\n\r\n static #elementScratch = sph3.create();\r\n\r\n static #closestScratch = vec3.create();\r\n\r\n static #bannerScratch = box3.create();\r\n\r\n /** Carbon passes a single 1.0 density (cpp:154) - a banner is one flat quad. */\r\n static #uvDensities = Object.freeze([1]);\r\n\r\n static #features = { parentBrightness: 0, parentScale: 1 };\r\n\r\n static #lightRecord = CreateLightRecord();\r\n\r\n static #lightDataScratch = CreateLightDataScratch();\r\n\r\n static #averageColorScratch = new Float32Array(4);\r\n\r\n static #aspectTransform = mat4.create();\r\n\r\n static #aspectPosition = vec3.create();\r\n\r\n static #aspectPreviousPosition = vec3.create();\r\n\r\n /**\r\n * Clamps an authored curvature angle to the 0..180 degree range the arc\r\n * measurement assumes.\r\n */\r\n static #clampBannerAngle(angle)\r\n {\r\n return Math.max(0, Math.min(Number(angle), 180));\r\n }\r\n\r\n /**\r\n * Sums the transformed chord lengths of the horizontal curvature arc, sampled\r\n * at roughly one segment per five degrees, giving the banner's real U length\r\n * as the generated geometry would have it.\r\n */\r\n static #measureHorizontalArc(transform, angle, halfAngle, scaleX, scaleZ)\r\n {\r\n const segments = 1 + Math.floor(angle / 5);\r\n const position = EveBannerSet.#aspectPosition;\r\n const previous = EveBannerSet.#aspectPreviousPosition;\r\n let length = 0;\r\n\r\n for (let index = 0; index <= segments; index++)\r\n {\r\n const value = index / segments;\r\n const sampleAngle = -halfAngle + value * 2 * halfAngle;\r\n vec3.set(\r\n position,\r\n Math.sin(sampleAngle) * scaleX,\r\n 0,\r\n (Math.cos(sampleAngle) - 1) * scaleZ\r\n );\r\n vec3.transformMat4(position, position, transform);\r\n if (index) length += vec3.distance(previous, position);\r\n vec3.copy(previous, position);\r\n }\r\n return length;\r\n }\r\n\r\n /**\r\n * Sums the transformed chord lengths of the vertical curvature arc, sampled at\r\n * roughly one segment per five degrees, giving the banner's real V length as\r\n * the generated geometry would have it.\r\n */\r\n static #measureVerticalArc(transform, angle, halfAngle, scaleY, scaleZ)\r\n {\r\n const segments = 1 + Math.floor(angle / 5);\r\n const position = EveBannerSet.#aspectPosition;\r\n const previous = EveBannerSet.#aspectPreviousPosition;\r\n let length = 0;\r\n\r\n for (let index = 0; index <= segments; index++)\r\n {\r\n const value = index / segments;\r\n const sampleAngle = -halfAngle + value * 2 * halfAngle + Math.PI / 2;\r\n vec3.set(\r\n position,\r\n 0,\r\n Math.cos(sampleAngle) * scaleY,\r\n (Math.sin(sampleAngle) - 1) * scaleZ\r\n );\r\n vec3.transformMat4(position, position, transform);\r\n if (index) length += vec3.distance(previous, position);\r\n vec3.copy(previous, position);\r\n }\r\n return length;\r\n }\r\n\r\n /**\r\n * Builds an EveBannerItem from a loose banner description, leaving the item's\r\n * own default in place for every field the source omits.\r\n */\r\n static #copyBanner(source)\r\n {\r\n const banner = new EveBannerItem();\r\n if (!source) return banner;\r\n banner.bone = Number(source.bone ?? -1) | 0;\r\n vec3.copy(banner.position, source.position ?? banner.position);\r\n quat.copy(banner.rotation, source.rotation ?? banner.rotation);\r\n vec3.copy(banner.scaling, source.scaling ?? banner.scaling);\r\n banner.angleX = Number(source.angleX ?? 0);\r\n banner.angleY = Number(source.angleY ?? 0);\r\n banner.reference = Number(source.reference ?? 0) | 0;\r\n return banner;\r\n }\r\n\r\n}\r\n"],"names":["_EveBannerSet","_identity","EveBannerSet","EveEntity","e","_init_banners","_init_extra_banners","_init_name","_init_extra_name","_init_effect","_init_extra_effect","_init_isPickable","_init_extra_isPickable","_init_display","_init_extra_display","_init_key","_init_extra_key","_init_lights","_init_extra_lights","_init_primaryTextureParameter","_init_extra_primaryTextureParameter","_initProto","_initStatic","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","list","string","objectRef","boolean","readwrite","int32","carbon","method","impl","adapted","implemented","reason","banners","name","effect","isPickable","display","key","lights","primaryTextureParameter","box3","create","Rebuild","__state","add","empty","length","CreateItemSetBoundingBoxes","banner","GetBounds","Math","max","radius","GetAabb","out","bones","boneCount","GetItemSetAabb","GetMaxBannerRadius","GetVisibility","UpdateVisibility","updateContext","parentTransform","aabb","isEmpty","transformMat4","frustum","GetFrustum","IsBoxVisible","isLoddedOut","screenSize","FLOAT_MAX","sphere","toPositionRadius","sph3","$position","containsPoint","viewPos","closest","vec3","subtract","normalize","scaleAndAdd","element","fromPositionRadius","GetPixelSizeAccrossEst","GetVisibilityThreshold","UsedWithScreenSize","GetDebugOptions","options","Set","option","DebugOptions","insert","RenderDebugInfo","renderer","HasOption","transform","index","mat4","fromRotationTranslationScale","rotation","position","scaling","color","bone","MatrixCopyFrom3x4","multiply","DrawBox","DebugEffect","Wireframe","Solid","$min","$max","light","fromTranslation","lightData","boneMatrix","GetAverageColor","Saturate","saturation","DrawSphere","innerRadius","GetReference","reference","GetBannerAspectRatio","flatX","angleX","flatY","angleY","halfAngleY","PI","scaleY","sin","vLength","halfAngleX","scaleX","uLength","scaleZ","min","Initialize","AddBanner","copy","push","SetEffect","SetKey","Number","GetPickingID","SetShaderOption","value","SetOption","SetPrimaryTextureParameter","parameter","AddLightFromSOF","EveBannerLight","FromSOF","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","UpdateLights","activationStrength","_boosterGain","boneIndex","Float32Array","average","GetResource","fill","GetLights","lightManager","averageColor","features","parentBrightness","parentScale","quality","GetCurrentSpaceSceneShadowQuality","record","dataCopy","CopyLightData","AsPerPointLightData","lightType","Tr2Light","POINT_LIGHT","lightProfile","owner","AddLight","Object","freeze","Lit","CreateLightRecord","CreateLightDataScratch","#clampBannerAngle","angle","#measureHorizontalArc","halfAngle","segments","floor","previous","sampleAngle","set","cos","distance","#measureVerticalArc","#copyBanner","source","EveBannerItem","quat","constructor"],"mappings":"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"}
@@ -1,12 +1,13 @@
1
- import { applyDecs2311 as _applyDecs2311, identity as _identity } from '../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { applyDecs2311 as _applyDecs2311, identity as _identity } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
3
+ import { sph3 } from '@carbonenginejs/runtime-utils/sph3';
3
4
  import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
4
5
  import { vec4 } from '@carbonenginejs/runtime-utils/vec4';
5
6
  import { CjsModel } from '@carbonenginejs/runtime-utils/model';
6
7
  import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
7
- import { EveEntity as _EveEntity } from '../generated/eve/EveEntity.js';
8
+ import { EveEntity as _EveEntity } from '../../EveEntity.js';
8
9
  import { EveBoosterSet2Renderable as _EveBoosterSet2Render } from './EveBoosterSet2Renderable.js';
9
- import { EveComponentType } from './EveComponentTypes.js';
10
+ import { EveComponentType } from '../../EveComponentTypes.js';
10
11
 
11
12
  let _initClass, _init_transform, _init_extra_transform, _init_functionality, _init_extra_functionality, _init_hasTrail, _init_extra_hasTrail, _init_atlasIndex, _init_extra_atlasIndex, _init_atlasIndex2, _init_extra_atlasIndex2, _init_lightScale, _init_extra_lightScale, _initProto, _initClass2, _init_flareLodEnabled, _init_extra_flareLodEnabled, _init_staticTrailLength, _init_extra_staticTrailLength, _init_trailsStaticOffsets, _init_extra_trailsStaticOffsets, _init_trailsStaticOffsets2, _init_extra_trailsStaticOffsets2, _init_trailsStaticOffsets3, _init_extra_trailsStaticOffsets3, _init_trailsStaticOffsets4, _init_extra_trailsStaticOffsets4, _init_trailsStaticOffsets5, _init_extra_trailsStaticOffsets5, _init_lightOffset, _init_extra_lightOffset, _init_lightFlickerAmplitude, _init_extra_lightFlickerAmplitude, _init_lightFlickerFrequency, _init_extra_lightFlickerFrequency, _init_lightRadius, _init_extra_lightRadius, _init_lightColor, _init_extra_lightColor, _init_lightWarpRadius, _init_extra_lightWarpRadius, _init_lightWarpColor, _init_extra_lightWarpColor, _init_display, _init_extra_display, _init_alwaysOnIntensity, _init_extra_alwaysOnIntensity, _init_warpGlowColor, _init_extra_warpGlowColor, _init_glowColor, _init_extra_glowColor, _init_haloColor, _init_extra_haloColor, _init_warpHaloColor, _init_extra_warpHaloColor, _init_effectFar, _init_extra_effectFar, _init_effect, _init_extra_effect, _init_instances, _init_extra_instances, _init_maxVel, _init_extra_maxVel, _init_glowScale, _init_extra_glowScale, _init_symHaloScale, _init_extra_symHaloScale, _init_haloScaleX, _init_extra_haloScaleX, _init_haloScaleY, _init_extra_haloScaleY, _init_trailsSmoothing, _init_extra_trailsSmoothing, _init_glows, _init_extra_glows, _init_maxSize, _init_extra_maxSize, _init_boosterBoundingSphereCenter, _init_extra_boosterBoundingSphereCenter, _init_boosterBoundingSphereRadius, _init_extra_boosterBoundingSphereRadius, _init_warpIntensity, _init_extra_warpIntensity, _init_physicsUpdate, _init_extra_physicsUpdate, _init_destinyUpdate, _init_extra_destinyUpdate, _init_alwaysOn, _init_extra_alwaysOn, _init_trails, _init_extra_trails, _init_items, _init_extra_items, _ClearRuntimeItems, _AddRuntimeItem;
12
13
 
@@ -15,6 +16,11 @@ let _initClass, _init_transform, _init_extra_transform, _init_functionality, _in
15
16
  const LIGHT_NOISE_SIZE = 128;
16
17
  const LIGHT_NOISE = new Float32Array(LIGHT_NOISE_SIZE);
17
18
  let LIGHT_NOISE_INITIALIZED = false;
19
+
20
+ /**
21
+ * One authored booster placement: its local transform, functionality inputs,
22
+ * atlas slots, light scale and whether it emits a trail.
23
+ */
18
24
  let _EveBoosterSet2Item;
19
25
  class EveBoosterSet2Item extends CjsModel {
20
26
  static {
@@ -50,7 +56,7 @@ new class extends _identity {
50
56
  } = _applyDecs2311(this, [type.define({
51
57
  className: "EveBoosterSet2",
52
58
  family: "eve/attachment/boosters"
53
- })], [[[io, io.notify, io, io.readwrite, type, type.boolean], 16, "flareLodEnabled"], [[void 0, io.flag("staticTrailOffsets"), io, io.notify, io, io.persist, type, type.float32], 16, "staticTrailLength"], [[io, io.persist, type, type.vec3], 16, "trailsStaticOffsets0"], [[io, io.persist, type, type.vec3], 16, "trailsStaticOffsets1"], [[io, io.persist, type, type.vec3], 16, "trailsStaticOffsets2"], [[io, io.persist, type, type.vec3], 16, "trailsStaticOffsets3"], [[io, io.persist, type, type.vec3], 16, "trailsStaticOffsets4"], [[io, io.persist, type, type.float32], 16, "lightOffset"], [[io, io.persist, type, type.float32], 16, "lightFlickerAmplitude"], [[io, io.persist, type, type.float32], 16, "lightFlickerFrequency"], [[io, io.persist, type, type.float32], 16, "lightRadius"], [[io, io.persist, type, type.color], 16, "lightColor"], [[io, io.persist, type, type.float32], 16, "lightWarpRadius"], [[io, io.persist, type, type.color], 16, "lightWarpColor"], [[io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.float32], 16, "alwaysOnIntensity"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.color], 16, "warpGlowColor"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.color], 16, "glowColor"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.color], 16, "haloColor"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.color], 16, "warpHaloColor"], [[io, io.persist, void 0, type.objectRef("Tr2Effect")], 16, "effectFar"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.objectRef("Tr2Effect")], 16, "effect"], [[io, io.read, void 0, type.list("EveBoosterSet2Renderable")], 16, "instances"], [[io, io.readwrite, type, type.float32], 16, "maxVel"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.float32], 16, "glowScale"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.float32], 16, "symHaloScale"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.float32], 16, "haloScaleX"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.float32], 16, "haloScaleY"], [[io, io.persist, type, type.float32], 16, "trailsSmoothing"], [[io, io.persist, void 0, type.objectRef("EveSpriteSet")], 16, "glows"], [[io, io.read, type, type.float32], 16, "maxSize"], [[io, io.read, type, type.vec3], 16, "boosterBoundingSphereCenter"], [[io, io.read, type, type.float32], 16, "boosterBoundingSphereRadius"], [[io, io.readwrite, type, type.float32], 16, "warpIntensity"], [[io, io.persist, type, type.boolean], 16, "physicsUpdate"], [[io, io.persist, type, type.boolean], 16, "destinyUpdate"], [[io, io.persist, type, type.boolean], 16, "alwaysOn"], [[io, io.persist, void 0, type.objectRef("EveTrailsSet")], 16, "trails"], [[void 0, io.flag("items"), void 0, io.rebuild("packedGeometry"), io, io.notify, io, io.persist, void 0, type.list("EveBoosterSet2Item")], 16, "items"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted], 18, "OnModified"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetCount"], [[carbon, carbon.method, impl, impl.adapted], 18, "Update"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateTrails"], [[carbon, carbon.method, impl, impl.adapted], 18, "Clear"], [[carbon, carbon.method, impl, impl.adapted], 18, "Add"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetData"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetLightData"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetGlow"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetTrail"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetBoosterIntensity"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetBoosterData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRevision"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Tr2Renderer::GetAnimationTime relocates onto the light-manager duck (GetAnimationTime, default 0); the g_lightNoise table is module state filled with Math.random (Carbon fills it with rand()/RAND_MAX - random either way).")], 18, "GetLights"]], 0, void 0, _EveEntity));
59
+ })], [[[io, io.notify, io, io.readwrite, type, type.boolean], 16, "flareLodEnabled"], [[void 0, io.flag("staticTrailOffsets"), io, io.notify, io, io.persist, type, type.float32], 16, "staticTrailLength"], [[io, io.persist, type, type.vec3], 16, "trailsStaticOffsets0"], [[io, io.persist, type, type.vec3], 16, "trailsStaticOffsets1"], [[io, io.persist, type, type.vec3], 16, "trailsStaticOffsets2"], [[io, io.persist, type, type.vec3], 16, "trailsStaticOffsets3"], [[io, io.persist, type, type.vec3], 16, "trailsStaticOffsets4"], [[io, io.persist, type, type.float32], 16, "lightOffset"], [[io, io.persist, type, type.float32], 16, "lightFlickerAmplitude"], [[io, io.persist, type, type.float32], 16, "lightFlickerFrequency"], [[io, io.persist, type, type.float32], 16, "lightRadius"], [[io, io.persist, type, type.color], 16, "lightColor"], [[io, io.persist, type, type.float32], 16, "lightWarpRadius"], [[io, io.persist, type, type.color], 16, "lightWarpColor"], [[io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.float32], 16, "alwaysOnIntensity"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.color], 16, "warpGlowColor"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.color], 16, "glowColor"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.color], 16, "haloColor"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.color], 16, "warpHaloColor"], [[io, io.persist, void 0, type.objectRef("Tr2Effect")], 16, "effectFar"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.objectRef("Tr2Effect")], 16, "effect"], [[io, io.read, void 0, type.list("EveBoosterSet2Renderable")], 16, "instances"], [[io, io.readwrite, type, type.float32], 16, "maxVel"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.float32], 16, "glowScale"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.float32], 16, "symHaloScale"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.float32], 16, "haloScaleX"], [[void 0, io.flag("flares"), io, io.notify, io, io.persist, type, type.float32], 16, "haloScaleY"], [[io, io.persist, type, type.float32], 16, "trailsSmoothing"], [[io, io.persist, void 0, type.objectRef("EveSpriteSet")], 16, "glows"], [[io, io.read, type, type.float32], 16, "maxSize"], [[io, io.read, type, type.vec3], 16, "boosterBoundingSphereCenter"], [[io, io.read, type, type.float32], 16, "boosterBoundingSphereRadius"], [[io, io.readwrite, type, type.float32], 16, "warpIntensity"], [[io, io.persist, type, type.boolean], 16, "physicsUpdate"], [[io, io.persist, type, type.boolean], 16, "destinyUpdate"], [[io, io.persist, type, type.boolean], 16, "alwaysOn"], [[io, io.persist, void 0, type.objectRef("EveTrailsSet")], 16, "trails"], [[void 0, io.flag("items"), void 0, io.rebuild("packedGeometry"), io, io.notify, io, io.persist, void 0, type.list("EveBoosterSet2Item")], 16, "items"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted], 18, "OnModified"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetCount"], [[carbon, carbon.method, impl, impl.adapted], 18, "Update"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateTrails"], [[carbon, carbon.method, impl, impl.adapted], 18, "Clear"], [[carbon, carbon.method, impl, impl.adapted], 18, "Add"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetData"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetLightData"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetGlow"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetTrail"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetBoosterIntensity"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Set-level aggregate with no Carbon counterpart; sph3.union replaces a hand-rolled merge.")], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetBoosterData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRevision"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("A glow duck lacking UpdateVisibility is treated as visible rather than culled.")], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's mutable member read becomes an accessor; the quad renderer that consumes it is engine-owned.")], 18, "GetGlowsVisible"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Tr2Renderer::GetAnimationTime relocates onto the light-manager duck (GetAnimationTime, default 0); the g_lightNoise table is module state filled with Math.random (Carbon fills it with rand()/RAND_MAX - random either way).")], 18, "GetLights"]], 0, void 0, _EveEntity));
54
60
  _ClearRuntimeItems = function (owner) {
55
61
  owner.#singleBoosters.length = 0;
56
62
  owner.glows?.Clear?.();
@@ -204,6 +210,14 @@ new class extends _identity {
204
210
  items = (_init_extra_trails(this), _init_items(this, []));
205
211
  #singleBoosters = (_init_extra_items(this), []);
206
212
  #revision = 0;
213
+
214
+ /** m_glowsVisible (cpp:682) - starts visible, recomputed by UpdateVisibility. */
215
+ #glowsVisible = true;
216
+
217
+ /**
218
+ * Derives the runtime boosters, flares and trails from the authored items and
219
+ * binds every renderable instance back to this set.
220
+ */
207
221
  Initialize() {
208
222
  _EveBoosterSet.#RebuildItems(this);
209
223
  for (const renderable of this.instances) {
@@ -212,6 +226,12 @@ new class extends _identity {
212
226
  this.#revision++;
213
227
  return true;
214
228
  }
229
+
230
+ /**
231
+ * Applies whichever of the items, staticTrailOffsets and flares rebuild flags
232
+ * a property change raised, rebuilding only what that flag covers, and bumps
233
+ * the revision.
234
+ */
215
235
  OnModified(_options = {}) {
216
236
  const flags = this.__state.flags;
217
237
  if (flags.has("items")) {
@@ -230,6 +250,12 @@ new class extends _identity {
230
250
  this.#revision++;
231
251
  return true;
232
252
  }
253
+
254
+ /**
255
+ * Resizes the renderable instance list - one instance per ship drawing this
256
+ * booster set - keeping at least one, and rebinds every instance; returns the
257
+ * resulting count.
258
+ */
233
259
  SetCount(count) {
234
260
  const requested = Math.trunc(Number(count));
235
261
  const target = Number.isFinite(requested) ? Math.max(1, requested) : 1;
@@ -247,6 +273,12 @@ new class extends _identity {
247
273
  this.#revision++;
248
274
  return this.instances.length;
249
275
  }
276
+
277
+ /**
278
+ * Updates one renderable instance from the parent's transform, speed,
279
+ * acceleration and rotation, creating the first instance when the set has
280
+ * none; returns false when boosterInstance is out of range.
281
+ */
250
282
  Update(deltaTime, time, parentMatrix = mat4.create(), parentSpeed = 0, parentAcceleration = _EveBoosterSet.#zero, parentRotation = _EveBoosterSet.#identityRotation, boosterInstance = 0) {
251
283
  if (!this.instances.length) {
252
284
  this.SetCount(1);
@@ -258,6 +290,11 @@ new class extends _identity {
258
290
  this.instances[index]?.Update?.(deltaTime, time, parentMatrix, parentSpeed, parentAcceleration, parentRotation);
259
291
  return true;
260
292
  }
293
+
294
+ /**
295
+ * Advances every instance's trail spline and then the trail set itself;
296
+ * returns false when no trail set is attached.
297
+ */
261
298
  UpdateTrails(deltaTime, time) {
262
299
  if (!this.trails) {
263
300
  return false;
@@ -269,11 +306,22 @@ new class extends _identity {
269
306
  this.trails.Update?.(time);
270
307
  return updated;
271
308
  }
309
+
310
+ /**
311
+ * Drops the authored items along with everything derived from them - runtime
312
+ * boosters, glows, trails, bounding sphere and max size.
313
+ */
272
314
  Clear() {
273
315
  this.items.length = 0;
274
316
  _EveBoosterSet.#ClearRuntimeItems(this);
275
317
  this.#revision++;
276
318
  }
319
+
320
+ /**
321
+ * Appends an authored booster placement and immediately derives its runtime
322
+ * booster, flares and trail; returns the new item's index and throws a
323
+ * TypeError when localMatrix is not sixteen values.
324
+ */
277
325
  Add(localMatrix, functionality, hasTrail, atlasIndex0, atlasIndex1, lightScale = 1) {
278
326
  if (!localMatrix || localMatrix.length !== 16) {
279
327
  throw new TypeError("EveBoosterSet2 transforms must contain 16 values");
@@ -290,6 +338,29 @@ new class extends _identity {
290
338
  this.#revision++;
291
339
  return this.items.length - 1;
292
340
  }
341
+
342
+ /**
343
+ * Empties the derived booster records, glows and trails and resets the set
344
+ * bounding sphere and max size, leaving the authored items alone.
345
+ */
346
+
347
+ /**
348
+ * Discards the derived state and re-derives it from every authored item, then
349
+ * clears both the items and flares rebuild flags.
350
+ */
351
+
352
+ /**
353
+ * Derives one runtime booster from an authored item - scale from the larger of
354
+ * the transform's X and Y basis lengths, a light position pushed back along -Z
355
+ * by lightOffset, and a random light flicker phase - then creates its flares
356
+ * and its trail (offset back half a unit along the booster axis), and grows
357
+ * the set bounding sphere and max size.
358
+ */
359
+
360
+ /**
361
+ * Sets the whole flare description in one call: glow and halo scales with
362
+ * their normal and warp colours, plus the always-on flag.
363
+ */
293
364
  SetData(glowScale, glowColor, warpGlowColor, symHaloScale, haloScaleX, haloScaleY, haloColor, warpHaloColor, alwaysOn) {
294
365
  this.glowScale = Number(glowScale);
295
366
  vec4.copy(this.glowColor, glowColor);
@@ -301,6 +372,11 @@ new class extends _identity {
301
372
  vec4.copy(this.warpHaloColor, warpHaloColor);
302
373
  this.alwaysOn = !!alwaysOn;
303
374
  }
375
+
376
+ /**
377
+ * Sets the whole booster point-light description in one call: light offset,
378
+ * flicker amplitude and frequency, and the normal and warp radius and colour.
379
+ */
304
380
  SetLightData(offset, flickerAmplitude, flickerFrequency, radius, color, warpRadius, warpColor) {
305
381
  this.lightOffset = Number(offset);
306
382
  this.lightFlickerAmplitude = Number(flickerAmplitude);
@@ -310,16 +386,36 @@ new class extends _identity {
310
386
  this.lightWarpRadius = Number(warpRadius);
311
387
  vec4.copy(this.lightWarpColor, warpColor);
312
388
  }
389
+
390
+ /**
391
+ * Sets the near and far booster effects; the renderable's boosterHighLod flag
392
+ * picks between them at draw time.
393
+ */
313
394
  SetEffect(effect, effectFar) {
314
395
  this.effect = effect ?? null;
315
396
  this.effectFar = effectFar ?? null;
316
397
  }
398
+
399
+ /**
400
+ * Attaches the sprite set that the per-booster flares are added to; without
401
+ * one no flares are created.
402
+ */
317
403
  SetGlow(glow) {
318
404
  this.glows = glow ?? null;
319
405
  }
406
+
407
+ /**
408
+ * Attaches the trails set that per-booster trails are added to; without one no
409
+ * trails are created.
410
+ */
320
411
  SetTrail(trail) {
321
412
  this.trails = trail ?? null;
322
413
  }
414
+
415
+ /**
416
+ * The intensity of one renderable instance, or the mean across every instance
417
+ * when no index is given; zero when the set has no instances.
418
+ */
323
419
  GetBoosterIntensity(index = null) {
324
420
  if (index !== null && index !== undefined) {
325
421
  return this.instances[Number(index) >>> 0]?.GetIntensity?.() ?? 0;
@@ -333,13 +429,28 @@ new class extends _identity {
333
429
  }
334
430
  return intensity / this.instances.length;
335
431
  }
336
- GetBoundingSphere() {
337
- const result = vec4.create();
432
+
433
+ /** The union of every renderable's world bounding sphere. Carbon has no
434
+ * set-level equivalent (each renderable answers for itself); `out` is
435
+ * required so a caller can keep its own scratch. An empty set leaves `out`
436
+ * empty (sph3 radius -1) rather than reporting a zero-radius sphere at the
437
+ * origin. */
438
+ GetBoundingSphere(out) {
439
+ sph3.empty(out);
338
440
  for (const renderable of this.instances) {
339
- _EveBoosterSet.#MergeSphere(result, renderable?.GetBoundingSphere?.());
441
+ if (renderable?.GetBoundingSphere) {
442
+ renderable.GetBoundingSphere(_EveBoosterSet.#sphereScratch);
443
+ sph3.union(out, out, _EveBoosterSet.#sphereScratch);
444
+ }
340
445
  }
341
- return result;
446
+ return out;
342
447
  }
448
+
449
+ /**
450
+ * The derived runtime boosters as deep copies - transform, functionality,
451
+ * light position, radius and phase, atlas indices and trail flag - safe for an
452
+ * adapter to keep.
453
+ */
343
454
  GetBoosterData() {
344
455
  return this.#singleBoosters.map(booster => ({
345
456
  transform: mat4.clone(booster.transform),
@@ -352,10 +463,72 @@ new class extends _identity {
352
463
  hasTrail: booster.hasTrail
353
464
  }));
354
465
  }
466
+
467
+ /**
468
+ * A counter bumped whenever the authored items or the instance list change, so
469
+ * an adapter can tell its packed data is stale.
470
+ */
355
471
  GetRevision() {
356
472
  return this.#revision;
357
473
  }
358
474
 
475
+ /** Carbon EveBoosterSet2::UpdateVisibility (cpp:1096-1116): a display gate,
476
+ * then per-renderable LOD, then ONE glow test - the loop breaks on the first
477
+ * renderable whose glow sprite set is on screen, so `glowsVisible` is a
478
+ * whole-set flag, not per booster.
479
+ *
480
+ * The glow test is EveSpriteSet::UpdateVisibility - a transformed item-set
481
+ * AABB against the frustum. A foreign glow duck without that method is taken
482
+ * as visible rather than culled; the flare is still gated per renderable by
483
+ * `boostersVisible` (cpp:1264). */
484
+ UpdateVisibility(updateContext) {
485
+ this.#glowsVisible = false;
486
+ if (!this.display) {
487
+ return false;
488
+ }
489
+ for (const renderable of this.instances) {
490
+ renderable?.UpdateVisibility?.(updateContext);
491
+ }
492
+ if (this.glows) {
493
+ for (const renderable of this.instances) {
494
+ const transform = renderable?.GetParentTransform?.();
495
+ if (!transform) {
496
+ continue;
497
+ }
498
+ // cpp:1109 passes nullptr bones deliberately, and it is not a deferral:
499
+ // booster glows are tied to the booster LOCATORS, so each glow is placed
500
+ // by its renderable's parent transform (the locator placement) rather
501
+ // than by a bone index. There is nothing for a bone palette to resolve.
502
+ const visible = this.glows.UpdateVisibility ? this.glows.UpdateVisibility(updateContext, transform, null, 0) : true;
503
+ if (visible) {
504
+ this.#glowsVisible = true;
505
+ break;
506
+ }
507
+ }
508
+ }
509
+ return this.#glowsVisible;
510
+ }
511
+
512
+ /** Whether any booster glow sprite passed the last UpdateVisibility. Carbon
513
+ * reads m_glowsVisible directly in AddToQuadRenderer (cpp:1257); the quad
514
+ * renderer is engine-side here, so the flag is exposed instead. */
515
+ GetGlowsVisible() {
516
+ return this.#glowsVisible;
517
+ }
518
+
519
+ /** Carbon EveBoosterSet2::GetRenderables (cpp:1130-1145): gated on display
520
+ * AND on the set owning an effect, then delegated to each renderable's own
521
+ * visibility. */
522
+ GetRenderables(out = []) {
523
+ if (!this.display || !this.effect) {
524
+ return out;
525
+ }
526
+ for (const renderable of this.instances) {
527
+ renderable?.GetRenderables?.(out);
528
+ }
529
+ return out;
530
+ }
531
+
359
532
  /** Carbon EveBoosterSet2::RegisterComponents (cpp:1272-1279): unconditional
360
533
  * LightOwner leaf self-registration. */
361
534
  RegisterComponents() {
@@ -415,6 +588,28 @@ new class extends _identity {
415
588
  }
416
589
  }
417
590
  }
591
+
592
+ /**
593
+ * Adds the three flare sprites Carbon authors per booster - the glow, the
594
+ * symmetric halo and the separately scaled X/Y halo - placed at increasing
595
+ * distances back along the booster axis and sharing one random blink seed; the
596
+ * axis is shortened for boosters below scale 3.
597
+ */
598
+
599
+ /**
600
+ * Adds one flare sprite to the glow set, offset back along the booster
601
+ * direction by distance and carrying its normal and warp colours.
602
+ */
603
+
604
+ /**
605
+ * Grows the set bounding sphere just far enough to include one booster
606
+ * position, leaving it unchanged when the position already falls inside.
607
+ */
608
+
609
+ /**
610
+ * Redistributes the five static trail control offsets evenly backwards along
611
+ * -Z across staticTrailLength and clears the staticTrailOffsets flag.
612
+ */
418
613
  }];
419
614
  #ClearRuntimeItems(_0) {
420
615
  return _ClearRuntimeItems.apply(this, arguments);
@@ -471,33 +666,7 @@ new class extends _identity {
471
666
  vec3.set(offsets[index], 0, 0, -step * index);
472
667
  }
473
668
  }
474
- #MergeSphere(target, source) {
475
- if (!source || source.length !== 4) {
476
- return target;
477
- }
478
- const targetRadius = target[3];
479
- const sourceRadius = source[3];
480
- const delta = vec3.fromValues(source[0] - target[0], source[1] - target[1], source[2] - target[2]);
481
- const distance = vec3.length(delta);
482
- if (targetRadius >= distance + sourceRadius) {
483
- return target;
484
- }
485
- if (sourceRadius >= distance + targetRadius) {
486
- vec4.copy(target, source);
487
- return target;
488
- }
489
- if (!distance) {
490
- target[3] = Math.max(targetRadius, sourceRadius);
491
- return target;
492
- }
493
- const radius = 0.5 * (distance + targetRadius + sourceRadius);
494
- const factor = (radius - targetRadius) / distance;
495
- target[0] += delta[0] * factor;
496
- target[1] += delta[1] * factor;
497
- target[2] += delta[2] * factor;
498
- target[3] = radius;
499
- return target;
500
- }
669
+ #sphereScratch = sph3.create();
501
670
  #zero = Object.freeze([0, 0, 0]);
502
671
  #identityRotation = Object.freeze([0, 0, 0, 1]);
503
672
  #defaultFunctionality = Object.freeze([0, 1, 1, 1]);