@carbonenginejs/runtime-trinity 0.5.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 (1499) 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 +12 -2
  7. package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
  8. package/dist/controllers/Tr2ActionAnimateValue.js +28 -2
  9. package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
  10. package/dist/controllers/Tr2ActionBindRTPC.js +13 -2
  11. package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
  12. package/dist/controllers/Tr2ActionCallback.js +7 -2
  13. package/dist/controllers/Tr2ActionCallback.js.map +1 -1
  14. package/dist/controllers/Tr2ActionChildEffect.js +65 -2
  15. package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
  16. package/dist/controllers/Tr2ActionOverlay.js +70 -2
  17. package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
  18. package/dist/controllers/Tr2ActionPlayCurveSet.js +18 -2
  19. package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
  20. package/dist/controllers/Tr2ActionPlayMeshAnimation.js +31 -2
  21. package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
  22. package/dist/controllers/Tr2ActionPlaySound.js +13 -2
  23. package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
  24. package/dist/controllers/Tr2ActionPython.js +13 -2
  25. package/dist/controllers/Tr2ActionPython.js.map +1 -1
  26. package/dist/controllers/Tr2ActionResetClipSphereCenter.js +21 -4
  27. package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
  28. package/dist/controllers/Tr2ActionSetAttenuationScaling.js +7 -2
  29. package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
  30. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +7 -2
  31. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
  32. package/dist/controllers/Tr2ActionSetAudioSwitch.js +7 -2
  33. package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
  34. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +25 -2
  35. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  36. package/dist/controllers/Tr2ActionSetShaderOption.js +7 -2
  37. package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
  38. package/dist/controllers/Tr2ActionSetValue.js +37 -2
  39. package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
  40. package/dist/controllers/Tr2ActionSpawnParticles.js +12 -2
  41. package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
  42. package/dist/controllers/Tr2BindingPoint.js +71 -4
  43. package/dist/controllers/Tr2BindingPoint.js.map +1 -1
  44. package/dist/controllers/Tr2Controller.js +39 -2
  45. package/dist/controllers/Tr2Controller.js.map +1 -1
  46. package/dist/controllers/Tr2ControllerEventHandler.js +12 -2
  47. package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
  48. package/dist/controllers/Tr2ControllerExpression.js +19 -2
  49. package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
  50. package/dist/controllers/Tr2ControllerFloatVariable.js +8 -2
  51. package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
  52. package/dist/controllers/Tr2ControllerReference.js +13 -2
  53. package/dist/controllers/Tr2ControllerReference.js.map +1 -1
  54. package/dist/controllers/Tr2StateMachine.js +19 -2
  55. package/dist/controllers/Tr2StateMachine.js.map +1 -1
  56. package/dist/controllers/Tr2StateMachineState.js +49 -2
  57. package/dist/controllers/Tr2StateMachineState.js.map +1 -1
  58. package/dist/controllers/Tr2StateMachineTransition.js +31 -2
  59. package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
  60. package/dist/controllers/Tr2SyncToAnimation.js +7 -2
  61. package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
  62. package/dist/controllers/Tr2TimelineController.js +63 -2
  63. package/dist/controllers/Tr2TimelineController.js.map +1 -1
  64. package/dist/controllers/Tr2TimelineEntry.js +2 -2
  65. package/dist/controllers/Tr2TimelineEntry.js.map +1 -1
  66. package/dist/controllers/contracts.js +24 -1
  67. package/dist/controllers/contracts.js.map +1 -1
  68. package/dist/controllers/index.js +1 -1
  69. package/dist/curves/CjsGrannyCurves.js +151 -1
  70. package/dist/curves/CjsGrannyCurves.js.map +1 -1
  71. package/dist/curves/Tr2BoneMatrixCurve.js +27 -4
  72. package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
  73. package/dist/curves/Tr2CameraFollowCurveKey.js +9 -3
  74. package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
  75. package/dist/curves/Tr2CurveColor.js +10 -4
  76. package/dist/curves/Tr2CurveColor.js.map +1 -1
  77. package/dist/curves/Tr2CurveColorMixer.js +10 -4
  78. package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
  79. package/dist/curves/Tr2CurveCombiner.js +8 -3
  80. package/dist/curves/Tr2CurveCombiner.js.map +1 -1
  81. package/dist/curves/Tr2CurveConstant.js +22 -6
  82. package/dist/curves/Tr2CurveConstant.js.map +1 -1
  83. package/dist/curves/Tr2CurveEulerRotation.js +8 -3
  84. package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
  85. package/dist/curves/Tr2CurveEulerRotationExpression.js +69 -3
  86. package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
  87. package/dist/curves/Tr2CurveQuaternion.js +8 -3
  88. package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
  89. package/dist/curves/Tr2CurveQuaternionKey.js +8 -3
  90. package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
  91. package/dist/curves/Tr2CurveRandomAxisRotation.js +31 -3
  92. package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
  93. package/dist/curves/Tr2CurveScalar.js +40 -5
  94. package/dist/curves/Tr2CurveScalar.js.map +1 -1
  95. package/dist/curves/Tr2CurveScalarExpression.js +13 -2
  96. package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
  97. package/dist/curves/Tr2CurveScalarKey.js +8 -2
  98. package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
  99. package/dist/curves/Tr2CurveSetRange.js +7 -2
  100. package/dist/curves/Tr2CurveSetRange.js.map +1 -1
  101. package/dist/curves/Tr2CurveVector2.js +8 -3
  102. package/dist/curves/Tr2CurveVector2.js.map +1 -1
  103. package/dist/curves/Tr2CurveVector3.js +8 -3
  104. package/dist/curves/Tr2CurveVector3.js.map +1 -1
  105. package/dist/curves/Tr2CurveVector3Expression.js +74 -3
  106. package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
  107. package/dist/curves/Tr2CurveVector3Lerp.js +9 -3
  108. package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
  109. package/dist/curves/Tr2DistanceTracker.js +9 -3
  110. package/dist/curves/Tr2DistanceTracker.js.map +1 -1
  111. package/dist/curves/Tr2FollowCurve.js +9 -3
  112. package/dist/curves/Tr2FollowCurve.js.map +1 -1
  113. package/dist/curves/Tr2GrannyEventTrack.js +6 -1
  114. package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
  115. package/dist/curves/Tr2GrannyTrack.js +8 -2
  116. package/dist/curves/Tr2GrannyTrack.js.map +1 -1
  117. package/dist/curves/Tr2GrannyTransformTrack.js +9 -3
  118. package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
  119. package/dist/curves/Tr2GrannyVectorTrack.js +6 -1
  120. package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
  121. package/dist/curves/Tr2MatrixKey.js +8 -3
  122. package/dist/curves/Tr2MatrixKey.js.map +1 -1
  123. package/dist/curves/Tr2ObjectFollowCurveKey.js +10 -4
  124. package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
  125. package/dist/curves/Tr2QuaternionLerpCurve.js +10 -4
  126. package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
  127. package/dist/curves/Tr2RotationAdapter.js +9 -3
  128. package/dist/curves/Tr2RotationAdapter.js.map +1 -1
  129. package/dist/curves/Tr2ScalarExprKey.js +21 -3
  130. package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
  131. package/dist/curves/Tr2ScalarExprKeyCurve.js +27 -4
  132. package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
  133. package/dist/curves/Tr2ScalarFader.js +14 -3
  134. package/dist/curves/Tr2ScalarFader.js.map +1 -1
  135. package/dist/curves/Tr2TranslationAdapter.js +10 -4
  136. package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
  137. package/dist/curves/TriColorSequencer.js +10 -4
  138. package/dist/curves/TriColorSequencer.js.map +1 -1
  139. package/dist/curves/TriCurveSet.js +25 -2
  140. package/dist/curves/TriCurveSet.js.map +1 -1
  141. package/dist/curves/TriEventCurve.js +25 -2
  142. package/dist/curves/TriEventCurve.js.map +1 -1
  143. package/dist/curves/TriEventKey.js +7 -2
  144. package/dist/curves/TriEventKey.js.map +1 -1
  145. package/dist/curves/TriPerlinCurve.js +33 -3
  146. package/dist/curves/TriPerlinCurve.js.map +1 -1
  147. package/dist/curves/TriVectorSequencer.js +10 -4
  148. package/dist/curves/TriVectorSequencer.js.map +1 -1
  149. package/dist/eve/AudioGameObject.js +95 -7
  150. package/dist/eve/AudioGameObject.js.map +1 -1
  151. package/dist/eve/BackAndForthData.js +10 -3
  152. package/dist/eve/BackAndForthData.js.map +1 -1
  153. package/dist/eve/CjsDistributionRandom.js +6 -0
  154. package/dist/eve/CjsDistributionRandom.js.map +1 -1
  155. package/dist/eve/CjsEveThrottleableState.js +11 -0
  156. package/dist/eve/CjsEveThrottleableState.js.map +1 -1
  157. package/dist/eve/EveChildUpdateParams.js +11 -4
  158. package/dist/eve/EveChildUpdateParams.js.map +1 -1
  159. package/dist/eve/EveComponentTypes.js.map +1 -1
  160. package/dist/eve/EveCustomMask.js +64 -33
  161. package/dist/eve/EveCustomMask.js.map +1 -1
  162. package/dist/eve/EveDistanceField.js +87 -3
  163. package/dist/eve/EveDistanceField.js.map +1 -1
  164. package/dist/eve/EveEntity.js +138 -0
  165. package/dist/eve/EveEntity.js.map +1 -0
  166. package/dist/eve/EveImpactOverlay.js +64 -3
  167. package/dist/eve/EveImpactOverlay.js.map +1 -1
  168. package/dist/eve/EveLODHelper.js +17 -13
  169. package/dist/eve/EveLODHelper.js.map +1 -1
  170. package/dist/eve/EveLineData.js +6 -4
  171. package/dist/eve/EveLineData.js.map +1 -1
  172. package/dist/eve/EveThrottleable.js +13 -2
  173. package/dist/eve/EveThrottleable.js.map +1 -1
  174. package/dist/eve/EveUpdateContext.js +3 -3
  175. package/dist/eve/EveUpdateContext.js.map +1 -1
  176. package/dist/eve/FollowASplineData.js +9 -2
  177. package/dist/eve/FollowASplineData.js.map +1 -1
  178. package/dist/eve/FormationData.js +8 -2
  179. package/dist/eve/FormationData.js.map +1 -1
  180. package/dist/eve/InertiaData.js +10 -3
  181. package/dist/eve/InertiaData.js.map +1 -1
  182. package/dist/eve/PlacementDataWithIdentifier.js +11 -4
  183. package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
  184. package/dist/eve/PlayFXData.js +10 -3
  185. package/dist/eve/PlayFXData.js.map +1 -1
  186. package/dist/eve/SeekTargetData.js +10 -3
  187. package/dist/eve/SeekTargetData.js.map +1 -1
  188. package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js +105 -0
  189. package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
  190. package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
  191. package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
  192. package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +16 -5
  193. package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
  194. package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
  195. package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
  196. package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +267 -46
  197. package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
  198. package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +216 -15
  199. package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
  200. package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +52 -4
  201. package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
  202. package/dist/eve/attachment/decal/DecalMeshCache.js +2 -2
  203. package/dist/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  204. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
  205. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
  206. package/dist/eve/attachment/haze/EveHazeSet.js +187 -0
  207. package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
  208. package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
  209. package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
  210. package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +16 -5
  211. package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
  212. package/dist/eve/attachment/itemSetBounds.js +131 -0
  213. package/dist/eve/attachment/itemSetBounds.js.map +1 -0
  214. package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +17 -5
  215. package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
  216. package/dist/eve/attachment/plane/EvePlaneSet.js +303 -0
  217. package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
  218. package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
  219. package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
  220. package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +16 -5
  221. package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
  222. package/dist/eve/attachment/spotlight/EveSpotlightSet.js +235 -0
  223. package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
  224. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
  225. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
  226. package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +17 -5
  227. package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
  228. package/dist/eve/attachment/sprite/EveSpriteLineSet.js +192 -0
  229. package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
  230. package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +34 -9
  231. package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
  232. package/dist/eve/attachment/sprite/EveSpriteSet.js +255 -0
  233. package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
  234. package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +28 -31
  235. package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
  236. package/dist/eve/attachment/turrets/EveTurretFiringFX.js +187 -5
  237. package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  238. package/dist/eve/attachment/turrets/EveTurretSet.js +333 -19
  239. package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  240. package/dist/eve/attachment/turrets/EveTurretTarget.js +115 -3
  241. package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  242. package/dist/eve/camera/EveCamera.js +644 -0
  243. package/dist/eve/camera/EveCamera.js.map +1 -0
  244. package/dist/eve/child/EveChildAudio.js +67 -4
  245. package/dist/eve/child/EveChildAudio.js.map +1 -1
  246. package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
  247. package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
  248. package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +46 -8
  249. package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
  250. package/dist/eve/child/EveChildContainer.js +181 -22
  251. package/dist/eve/child/EveChildContainer.js.map +1 -1
  252. package/dist/eve/child/EveChildEffectPropagator.js +5 -5
  253. package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
  254. package/dist/eve/child/EveChildFogVolume.js +76 -4
  255. package/dist/eve/child/EveChildFogVolume.js.map +1 -1
  256. package/dist/eve/child/EveChildInheritProperties.js +20 -3
  257. package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
  258. package/dist/eve/child/EveChildInstanceTransform.js +4 -4
  259. package/dist/eve/child/EveChildInstanceTransform.js.map +1 -1
  260. package/dist/eve/child/EveChildInstancedMeshes.js +485 -23
  261. package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
  262. package/dist/eve/child/EveChildLightingOverride.js +78 -4
  263. package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
  264. package/dist/{generated/eve → eve}/child/EveChildLink.js +23 -22
  265. package/dist/eve/child/EveChildLink.js.map +1 -0
  266. package/dist/eve/child/EveChildMesh.js +366 -111
  267. package/dist/eve/child/EveChildMesh.js.map +1 -1
  268. package/dist/eve/child/EveChildSpherePin.js +108 -0
  269. package/dist/eve/child/EveChildSpherePin.js.map +1 -0
  270. package/dist/eve/child/EveChildTransform.js +48 -5
  271. package/dist/eve/child/EveChildTransform.js.map +1 -1
  272. package/dist/eve/child/EveCloudVolumeBall.js +4 -4
  273. package/dist/eve/child/EveCloudVolumeBall.js.map +1 -1
  274. package/dist/eve/child/IEveSpaceObjectChild.js +7 -2
  275. package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
  276. package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
  277. package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
  278. package/dist/eve/child/behaviors/DroneAgent.js +5 -5
  279. package/dist/eve/child/behaviors/DroneAgent.js.map +1 -1
  280. package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
  281. package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
  282. package/dist/eve/child/behaviors/Wander.js +99 -0
  283. package/dist/eve/child/behaviors/Wander.js.map +1 -0
  284. package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
  285. package/dist/eve/child/behaviors/enums.js.map +1 -0
  286. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
  287. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
  288. package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +10 -4
  289. package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
  290. package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +11 -9
  291. package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
  292. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
  293. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
  294. package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +6 -6
  295. package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
  296. package/dist/eve/child/lineSetPaths/EveBezierCurve.js +82 -8
  297. package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  298. package/dist/eve/child/lineSetPaths/EveCircle.js +82 -8
  299. package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  300. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +27 -19
  301. package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
  302. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +8 -3
  303. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
  304. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +26 -23
  305. package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
  306. package/dist/eve/child/modifiers/EveChildModifierBooster.js +10 -4
  307. package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
  308. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +12 -6
  309. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
  310. package/dist/eve/child/modifiers/EveChildModifierHalo.js +9 -4
  311. package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
  312. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +10 -4
  313. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
  314. package/dist/eve/child/modifiers/EveChildModifierSRT.js +10 -5
  315. package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  316. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +36 -22
  317. package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
  318. package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js +2 -2
  319. package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js.map +1 -1
  320. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +19 -17
  321. package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
  322. package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +15 -8
  323. package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
  324. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +14 -14
  325. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
  326. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +8 -8
  327. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
  328. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +14 -14
  329. package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
  330. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +10 -10
  331. package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
  332. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +19 -19
  333. package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
  334. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +9 -9
  335. package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
  336. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +9 -9
  337. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
  338. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +19 -19
  339. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
  340. package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +136 -7
  341. package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
  342. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +14 -3
  343. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
  344. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +13 -5
  345. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
  346. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +16 -5
  347. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
  348. package/dist/eve/distribution/attributeModifiers/InitialPlacement.js +2 -2
  349. package/dist/eve/distribution/attributeModifiers/InitialPlacement.js.map +1 -1
  350. package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
  351. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +18 -5
  352. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
  353. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +33 -5
  354. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
  355. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +38 -7
  356. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
  357. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +16 -4
  358. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
  359. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +16 -5
  360. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
  361. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +17 -6
  362. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
  363. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +16 -5
  364. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
  365. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +21 -3
  366. package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
  367. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +27 -3
  368. package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
  369. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +19 -3
  370. package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
  371. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +24 -5
  372. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
  373. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +23 -4
  374. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
  375. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +23 -4
  376. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
  377. package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +81 -9
  378. package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
  379. package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
  380. package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
  381. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
  382. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
  383. package/dist/eve/index.js +118 -46
  384. package/dist/eve/index.js.map +1 -1
  385. package/dist/eve/lights/CjsLightData.js +12 -5
  386. package/dist/eve/lights/CjsLightData.js.map +1 -1
  387. package/dist/eve/lights/LightFeatures.js +2 -2
  388. package/dist/eve/lights/LightFeatures.js.map +1 -1
  389. package/dist/eve/lights/Tr2Light.js +130 -4
  390. package/dist/eve/lights/Tr2Light.js.map +1 -1
  391. package/dist/eve/lights/Tr2PointLight.js +9 -4
  392. package/dist/eve/lights/Tr2PointLight.js.map +1 -1
  393. package/dist/eve/lights/Tr2SpotLight.js +9 -4
  394. package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
  395. package/dist/eve/lights/Tr2TexturedPointLight.js +11 -1
  396. package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  397. package/dist/eve/lights/lightConversion.js +196 -0
  398. package/dist/eve/lights/lightConversion.js.map +1 -0
  399. package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +23 -4
  400. package/dist/eve/locator/EveLocator2.js.map +1 -0
  401. package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +46 -4
  402. package/dist/eve/locator/EveLocatorSets.js.map +1 -0
  403. package/dist/eve/{Locator.js → locator/Locator.js} +10 -5
  404. package/dist/eve/locator/Locator.js.map +1 -0
  405. package/dist/eve/{LocatorData.js → locator/LocatorData.js} +7 -5
  406. package/dist/eve/locator/LocatorData.js.map +1 -0
  407. package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
  408. package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
  409. package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +6 -6
  410. package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
  411. package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +6 -6
  412. package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
  413. package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +7 -7
  414. package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
  415. package/dist/eve/particles/static/EveSceneStaticParticles.js +326 -0
  416. package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
  417. package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
  418. package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
  419. package/dist/eve/renderable/stretch/CjsStretchRuntime.js +78 -2
  420. package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
  421. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +88 -4
  422. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  423. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +95 -4
  424. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
  425. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +40 -4
  426. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
  427. package/dist/eve/renderable/stretch/EveStretch.js +162 -13
  428. package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
  429. package/dist/eve/renderable/stretch/EveStretch2.js +125 -16
  430. package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
  431. package/dist/eve/renderable/stretch/EveStretch3.js +265 -12
  432. package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
  433. package/dist/eve/scene/EveSpaceScene.js +62 -12
  434. package/dist/eve/scene/EveSpaceScene.js.map +1 -1
  435. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +26 -3
  436. package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
  437. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +76 -4
  438. package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
  439. package/dist/eve/scene/picking/EvePickingContext.js +61 -0
  440. package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
  441. package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
  442. package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
  443. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
  444. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
  445. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +20 -20
  446. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
  447. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +21 -21
  448. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
  449. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +14 -14
  450. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
  451. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +13 -13
  452. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
  453. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +32 -32
  454. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
  455. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +11 -11
  456. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
  457. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +25 -25
  458. package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
  459. package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
  460. package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +28 -3
  461. package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
  462. package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +18 -2
  463. package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
  464. package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +23 -7
  465. package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
  466. package/dist/eve/socket/EveSocketParameterFilePath.js +6 -6
  467. package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
  468. package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +18 -2
  469. package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
  470. package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +18 -2
  471. package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
  472. package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +44 -4
  473. package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
  474. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +19 -3
  475. package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
  476. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +19 -3
  477. package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
  478. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +19 -3
  479. package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
  480. package/dist/eve/spaceObject/EveEffectRoot2.js +69 -33
  481. package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  482. package/dist/eve/spaceObject/EveMissile.js +55 -7
  483. package/dist/eve/spaceObject/EveMissile.js.map +1 -1
  484. package/dist/eve/spaceObject/EveMissileWarhead.js +112 -16
  485. package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
  486. package/dist/eve/spaceObject/EveMobile.js +107 -3
  487. package/dist/eve/spaceObject/EveMobile.js.map +1 -1
  488. package/dist/eve/spaceObject/EveRootTransform.js +21 -4
  489. package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
  490. package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +34 -14
  491. package/dist/eve/spaceObject/EveShip2.js.map +1 -0
  492. package/dist/eve/spaceObject/EveSpaceObject2.js +747 -205
  493. package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  494. package/dist/eve/spaceObject/EveStation2.js +1 -1
  495. package/dist/eve/spaceObject/EveStation2.js.map +1 -1
  496. package/dist/eve/spaceObject/EveTransform.js +124 -24
  497. package/dist/eve/spaceObject/EveTransform.js.map +1 -1
  498. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
  499. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
  500. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
  501. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
  502. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
  503. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
  504. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
  505. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
  506. package/dist/eve/spaceObject/planet/EvePlanet.js +63 -0
  507. package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
  508. package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js +225 -0
  509. package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
  510. package/dist/eve/spaceObject/swarm/SwarmVehicle.js +4 -4
  511. package/dist/eve/spaceObject/swarm/SwarmVehicle.js.map +1 -1
  512. package/dist/eve/spaceObject/swarm/SwarmVehicleDebug.js +3 -3
  513. package/dist/eve/spaceObject/swarm/SwarmVehicleDebug.js.map +1 -1
  514. package/dist/eve/ui/EveEllipseDefinition.js +18 -3
  515. package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
  516. package/dist/eve/ui/EveEllipseSet.js +44 -2
  517. package/dist/eve/ui/EveEllipseSet.js.map +1 -1
  518. package/dist/eve/ui/EveSpherePin.js +159 -0
  519. package/dist/eve/ui/EveSpherePin.js.map +1 -0
  520. package/dist/eve/ui/EveSprite2dBracket.js +9 -4
  521. package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
  522. package/dist/eve/ui/EveUiObject.js +12 -1
  523. package/dist/eve/ui/EveUiObject.js.map +1 -1
  524. package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +71 -10
  525. package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
  526. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
  527. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
  528. package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +24 -4
  529. package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
  530. package/dist/eve/virtualCamera/EveVirtualCamera.js +158 -6
  531. package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
  532. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +67 -2
  533. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
  534. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +18 -1
  535. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
  536. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +21 -2
  537. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
  538. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +18 -1
  539. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
  540. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +30 -1
  541. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
  542. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +16 -1
  543. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
  544. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +42 -4
  545. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
  546. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +19 -2
  547. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
  548. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +20 -2
  549. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
  550. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +22 -2
  551. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
  552. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +22 -2
  553. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
  554. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +13 -2
  555. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
  556. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +16 -2
  557. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
  558. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +18 -2
  559. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
  560. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +23 -3
  561. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
  562. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +38 -2
  563. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
  564. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +38 -2
  565. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
  566. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +12 -1
  567. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
  568. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +39 -2
  569. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
  570. package/dist/eve/volume/EveBoxVolume.js +63 -4
  571. package/dist/eve/volume/EveBoxVolume.js.map +1 -1
  572. package/dist/eve/volume/EveEllipsoidVolume.js +58 -4
  573. package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
  574. package/dist/eve/volume/EveSphereVolume.js +37 -3
  575. package/dist/eve/volume/EveSphereVolume.js.map +1 -1
  576. package/dist/generated/curves/Tr2VectorFunctionModifier.js +3 -3
  577. package/dist/generated/curves/Tr2VectorFunctionModifier.js.map +1 -1
  578. package/dist/generated/eve/child/EveChildCloud.js +5 -5
  579. package/dist/generated/eve/child/EveChildCloud.js.map +1 -1
  580. package/dist/generated/eve/child/EveChildCloud2.js +759 -48
  581. package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
  582. package/dist/generated/eve/child/EveChildExplosion.js +4 -4
  583. package/dist/generated/eve/child/EveChildExplosion.js.map +1 -1
  584. package/dist/generated/eve/child/EveChildInstanceContainer.js +1 -1
  585. package/dist/generated/eve/child/EveChildInstanceContainer.js.map +1 -1
  586. package/dist/generated/eve/child/EveChildInstanceMeshRenderer.js +3 -3
  587. package/dist/generated/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
  588. package/dist/generated/eve/child/EveChildLineSet.js +2 -2
  589. package/dist/generated/eve/child/EveChildLineSet.js.map +1 -1
  590. package/dist/generated/eve/child/EveChildParticleSphere.js +3 -3
  591. package/dist/generated/eve/child/EveChildParticleSphere.js.map +1 -1
  592. package/dist/generated/eve/child/EveChildParticleSystem.js +16 -10
  593. package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
  594. package/dist/generated/eve/child/EveChildPlug.js +1 -1
  595. package/dist/generated/eve/child/EveChildPlug.js.map +1 -1
  596. package/dist/generated/eve/child/EveChildPostProcessVolume.js +4 -4
  597. package/dist/generated/eve/child/EveChildPostProcessVolume.js.map +1 -1
  598. package/dist/generated/eve/child/EveChildQuad.js +5 -5
  599. package/dist/generated/eve/child/EveChildQuad.js.map +1 -1
  600. package/dist/generated/eve/child/EveChildRef.js +1 -1
  601. package/dist/generated/eve/child/EveChildRef.js.map +1 -1
  602. package/dist/generated/eve/child/EveChildSocket.js +2 -2
  603. package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
  604. package/dist/generated/eve/child/EveCloudEditableVolume.js +2 -2
  605. package/dist/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
  606. package/dist/generated/eve/child/EveCloudVolumeTextureParameter.js +2 -2
  607. package/dist/generated/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
  608. package/dist/generated/eve/child/IEveLightingOverride.js +2 -2
  609. package/dist/generated/eve/child/IEveLightingOverride.js.map +1 -1
  610. package/dist/generated/eve/child/behaviors/Allign.js +3 -3
  611. package/dist/generated/eve/child/behaviors/Allign.js.map +1 -1
  612. package/dist/generated/eve/child/behaviors/ApproachGroup.js +3 -3
  613. package/dist/generated/eve/child/behaviors/ApproachGroup.js.map +1 -1
  614. package/dist/generated/eve/child/behaviors/BackAndForth.js +18 -21
  615. package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
  616. package/dist/generated/eve/child/behaviors/BehaviorGroup.js +7 -7
  617. package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  618. package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js +5 -5
  619. package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
  620. package/dist/generated/eve/child/behaviors/DroneAvoidance.js +3 -3
  621. package/dist/generated/eve/child/behaviors/DroneAvoidance.js.map +1 -1
  622. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +29 -32
  623. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
  624. package/dist/generated/eve/child/behaviors/FollowASpline.js +16 -20
  625. package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
  626. package/dist/generated/eve/child/behaviors/Formation.js +4 -4
  627. package/dist/generated/eve/child/behaviors/Formation.js.map +1 -1
  628. package/dist/generated/eve/child/behaviors/Inertia.js +4 -4
  629. package/dist/generated/eve/child/behaviors/Inertia.js.map +1 -1
  630. package/dist/generated/eve/child/behaviors/PlayFX.js +16 -16
  631. package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
  632. package/dist/generated/eve/child/behaviors/SeekTarget.js +4 -4
  633. package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
  634. package/dist/generated/eve/child/behaviors/SpawnDrones.js +4 -4
  635. package/dist/generated/eve/child/behaviors/SpawnDrones.js.map +1 -1
  636. package/dist/generated/eve/child/behaviors/index.js +0 -6
  637. package/dist/generated/eve/child/behaviors/index.js.map +1 -1
  638. package/dist/generated/eve/child/index.js +0 -23
  639. package/dist/generated/eve/child/index.js.map +1 -1
  640. package/dist/generated/eve/child/lineSetPaths/EveLineChildContainer.js +1 -1
  641. package/dist/generated/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
  642. package/dist/generated/eve/effect/EveOccluder.js +2 -2
  643. package/dist/generated/eve/effect/EveOccluder.js.map +1 -1
  644. package/dist/generated/eve/effect/EveStarfield.js +2 -2
  645. package/dist/generated/eve/effect/EveStarfield.js.map +1 -1
  646. package/dist/generated/eve/effect/index.js +0 -3
  647. package/dist/generated/eve/effect/index.js.map +1 -1
  648. package/dist/generated/eve/index.js +0 -88
  649. package/dist/generated/eve/index.js.map +1 -1
  650. package/dist/generated/eve/lights/Tr2FactionLight.js +4 -4
  651. package/dist/generated/eve/lights/Tr2FactionLight.js.map +1 -1
  652. package/dist/generated/eve/scene/EvePendingPickingReadback.js +2 -2
  653. package/dist/generated/eve/scene/EvePendingPickingReadback.js.map +1 -1
  654. package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js +3 -3
  655. package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
  656. package/dist/generated/eve/scene/index.js +0 -6
  657. package/dist/generated/eve/scene/index.js.map +1 -1
  658. package/dist/generated/eve/smartLights/EveChildSmartLightSet.js +2 -2
  659. package/dist/generated/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
  660. package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js +3 -3
  661. package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
  662. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +23 -23
  663. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  664. package/dist/generated/eve/smartLights/EveSmartLightMesh.js +1 -1
  665. package/dist/generated/eve/smartLights/EveSmartLightMesh.js.map +1 -1
  666. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +6 -6
  667. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  668. package/dist/generated/eve/smartLights/EveSmartLightQuad.js +6 -6
  669. package/dist/generated/eve/smartLights/EveSmartLightQuad.js.map +1 -1
  670. package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js +1 -1
  671. package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
  672. package/dist/generated/eve/smartLights/index.js +0 -8
  673. package/dist/generated/eve/smartLights/index.js.map +1 -1
  674. package/dist/generated/eve/spaceObject/index.js +0 -4
  675. package/dist/generated/eve/spaceObject/index.js.map +1 -1
  676. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +194 -173
  677. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  678. package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
  679. package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
  680. package/dist/generated/eve/ui/EveConnector.js +4 -4
  681. package/dist/generated/eve/ui/EveConnector.js.map +1 -1
  682. package/dist/generated/eve/ui/EveCurveLineSet.js +2 -2
  683. package/dist/generated/eve/ui/EveCurveLineSet.js.map +1 -1
  684. package/dist/generated/eve/ui/EveLineContainer.js +2 -2
  685. package/dist/generated/eve/ui/EveLineContainer.js.map +1 -1
  686. package/dist/generated/eve/ui/EveProjectBracket.js +4 -4
  687. package/dist/generated/eve/ui/EveProjectBracket.js.map +1 -1
  688. package/dist/generated/eve/ui/EveSprite2dBracketRenderer.js +2 -2
  689. package/dist/generated/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
  690. package/dist/generated/eve/ui/EveTacticalOverlay.js +4 -4
  691. package/dist/generated/eve/ui/EveTacticalOverlay.js.map +1 -1
  692. package/dist/generated/eve/ui/index.js +0 -4
  693. package/dist/generated/eve/ui/index.js.map +1 -1
  694. package/dist/generated/font/Tr2FontManager.js +2 -2
  695. package/dist/generated/font/Tr2FontManager.js.map +1 -1
  696. package/dist/generated/font/Tr2FontMeasurer.js +2 -2
  697. package/dist/generated/font/Tr2FontMeasurer.js.map +1 -1
  698. package/dist/generated/font/Tr2SBitWrapper.js +2 -2
  699. package/dist/generated/font/Tr2SBitWrapper.js.map +1 -1
  700. package/dist/generated/index.js +0 -93
  701. package/dist/generated/index.js.map +1 -1
  702. package/dist/generated/particle/ITr2GenericEmitter.js +4 -4
  703. package/dist/generated/particle/ITr2GenericEmitter.js.map +1 -1
  704. package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js +4 -4
  705. package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
  706. package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js +3 -3
  707. package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
  708. package/dist/generated/particle/Tr2DynamicEmitter.js +2 -2
  709. package/dist/generated/particle/Tr2DynamicEmitter.js.map +1 -1
  710. package/dist/generated/particle/Tr2ElementBlendConstraint.js +3 -3
  711. package/dist/generated/particle/Tr2ElementBlendConstraint.js.map +1 -1
  712. package/dist/generated/particle/Tr2ForceSphereVolume.js +3 -3
  713. package/dist/generated/particle/Tr2ForceSphereVolume.js.map +1 -1
  714. package/dist/generated/particle/Tr2GpuParticleSystem.js +2 -2
  715. package/dist/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
  716. package/dist/generated/particle/Tr2ParticleSystem.js +3 -3
  717. package/dist/generated/particle/Tr2ParticleSystem.js.map +1 -1
  718. package/dist/generated/particle/Tr2ParticleTurbulenceForce.js +5 -5
  719. package/dist/generated/particle/Tr2ParticleTurbulenceForce.js.map +1 -1
  720. package/dist/generated/particle/Tr2PlaneConstraint.js +4 -4
  721. package/dist/generated/particle/Tr2PlaneConstraint.js.map +1 -1
  722. package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js +2 -2
  723. package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
  724. package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js +3 -3
  725. package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
  726. package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js +3 -3
  727. package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js.map +1 -1
  728. package/dist/generated/particle/Tr2SphereConstraint.js +4 -4
  729. package/dist/generated/particle/Tr2SphereConstraint.js.map +1 -1
  730. package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js +4 -4
  731. package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js.map +1 -1
  732. package/dist/generated/particle/Tr2StaticEmitter.js +2 -2
  733. package/dist/generated/particle/Tr2StaticEmitter.js.map +1 -1
  734. package/dist/generated/postProcess/Tr2PostProcessRenderer.js +2 -2
  735. package/dist/generated/postProcess/Tr2PostProcessRenderer.js.map +1 -1
  736. package/dist/generated/raytracing/Tr2RaytracingGeometry.js +3 -3
  737. package/dist/generated/raytracing/Tr2RaytracingGeometry.js.map +1 -1
  738. package/dist/generated/raytracing/Tr2RaytracingManager.js +2 -2
  739. package/dist/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
  740. package/dist/generated/raytracing/Tr2RaytracingMesh.js +2 -2
  741. package/dist/generated/raytracing/Tr2RaytracingMesh.js.map +1 -1
  742. package/dist/generated/raytracing/Tr2RaytracingPipelineStateManager.js +2 -2
  743. package/dist/generated/raytracing/Tr2RaytracingPipelineStateManager.js.map +1 -1
  744. package/dist/generated/renderJob/Tr2RenderNodeEffect.js +2 -2
  745. package/dist/generated/renderJob/Tr2RenderNodeEffect.js.map +1 -1
  746. package/dist/generated/renderJob/Tr2RenderNodeSprite2dScene.js +2 -2
  747. package/dist/generated/renderJob/Tr2RenderNodeSprite2dScene.js.map +1 -1
  748. package/dist/generated/renderJob/Tr2StepExecuteRenderNode.js +1 -1
  749. package/dist/generated/renderJob/Tr2StepExecuteRenderNode.js.map +1 -1
  750. package/dist/generated/renderJob/TriStepClearUav.js +2 -2
  751. package/dist/generated/renderJob/TriStepClearUav.js.map +1 -1
  752. package/dist/generated/renderJob/TriStepFilterVisibilityResults.js +1 -1
  753. package/dist/generated/renderJob/TriStepFilterVisibilityResults.js.map +1 -1
  754. package/dist/generated/renderJob/TriStepPythonCB.js +1 -1
  755. package/dist/generated/renderJob/TriStepPythonCB.js.map +1 -1
  756. package/dist/generated/renderJob/TriStepRemoteUpdate.js +1 -1
  757. package/dist/generated/renderJob/TriStepRemoteUpdate.js.map +1 -1
  758. package/dist/generated/renderJob/TriStepRenderAtlas.js +3 -3
  759. package/dist/generated/renderJob/TriStepRenderAtlas.js.map +1 -1
  760. package/dist/generated/renderJob/TriStepRenderDebug.js +2 -2
  761. package/dist/generated/renderJob/TriStepRenderDebug.js.map +1 -1
  762. package/dist/generated/renderJob/TriStepRenderEffect.js +2 -2
  763. package/dist/generated/renderJob/TriStepRenderEffect.js.map +1 -1
  764. package/dist/generated/renderJob/TriStepRenderFps.js +1 -1
  765. package/dist/generated/renderJob/TriStepRenderFps.js.map +1 -1
  766. package/dist/generated/renderJob/TriStepRenderLineGraph.js +1 -1
  767. package/dist/generated/renderJob/TriStepRenderLineGraph.js.map +1 -1
  768. package/dist/generated/renderJob/TriStepRenderObject.js +1 -1
  769. package/dist/generated/renderJob/TriStepRenderObject.js.map +1 -1
  770. package/dist/generated/renderJob/TriStepRenderPass.js +1 -1
  771. package/dist/generated/renderJob/TriStepRenderPass.js.map +1 -1
  772. package/dist/generated/renderJob/TriStepRenderScene.js +1 -1
  773. package/dist/generated/renderJob/TriStepRenderScene.js.map +1 -1
  774. package/dist/generated/renderJob/TriStepRenderSceneDebug.js +1 -1
  775. package/dist/generated/renderJob/TriStepRenderSceneDebug.js.map +1 -1
  776. package/dist/generated/renderJob/TriStepRenderTexture.js +2 -2
  777. package/dist/generated/renderJob/TriStepRenderTexture.js.map +1 -1
  778. package/dist/generated/renderJob/TriStepRunComputeShader.js +1 -1
  779. package/dist/generated/renderJob/TriStepRunComputeShader.js.map +1 -1
  780. package/dist/generated/renderJob/TriStepSetDebugRenderer.js +1 -1
  781. package/dist/generated/renderJob/TriStepSetDebugRenderer.js.map +1 -1
  782. package/dist/generated/renderJob/TriStepSetUpscalingContextID.js +1 -1
  783. package/dist/generated/renderJob/TriStepSetUpscalingContextID.js.map +1 -1
  784. package/dist/generated/renderJob/TriStepSetVariableStore.js +1 -1
  785. package/dist/generated/renderJob/TriStepSetVariableStore.js.map +1 -1
  786. package/dist/generated/renderJob/TriStepTestBlocking.js +1 -1
  787. package/dist/generated/renderJob/TriStepTestBlocking.js.map +1 -1
  788. package/dist/generated/renderJob/TriStepToggleCubemap.js +1 -1
  789. package/dist/generated/renderJob/TriStepToggleCubemap.js.map +1 -1
  790. package/dist/generated/renderJob/TriStepUpdate.js +1 -1
  791. package/dist/generated/renderJob/TriStepUpdate.js.map +1 -1
  792. package/dist/generated/sprite2d/Tr2Sprite2d.js +1 -1
  793. package/dist/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
  794. package/dist/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
  795. package/dist/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
  796. package/dist/generated/sprite2d/Tr2Sprite2dContainer.js +1 -1
  797. package/dist/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
  798. package/dist/generated/sprite2d/Tr2Sprite2dContainerBase.js +1 -1
  799. package/dist/generated/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
  800. package/dist/generated/sprite2d/Tr2Sprite2dDisplayList.js +4 -4
  801. package/dist/generated/sprite2d/Tr2Sprite2dDisplayList.js.map +1 -1
  802. package/dist/generated/sprite2d/Tr2Sprite2dFrame.js +1 -1
  803. package/dist/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
  804. package/dist/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
  805. package/dist/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
  806. package/dist/generated/sprite2d/Tr2Sprite2dLine.js +3 -3
  807. package/dist/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
  808. package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js +3 -3
  809. package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
  810. package/dist/generated/sprite2d/Tr2Sprite2dPickingMask.js +2 -2
  811. package/dist/generated/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
  812. package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js +4 -4
  813. package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
  814. package/dist/generated/sprite2d/Tr2Sprite2dRenderJob.js +1 -1
  815. package/dist/generated/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
  816. package/dist/generated/sprite2d/Tr2Sprite2dScene.js +6 -6
  817. package/dist/generated/sprite2d/Tr2Sprite2dScene.js.map +1 -1
  818. package/dist/generated/sprite2d/Tr2Sprite2dStretch.js +1 -1
  819. package/dist/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
  820. package/dist/generated/sprite2d/Tr2Sprite2dStretchVertical.js +1 -1
  821. package/dist/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
  822. package/dist/generated/sprite2d/Tr2Sprite2dTextObject.js +1 -1
  823. package/dist/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
  824. package/dist/generated/sprite2d/Tr2Sprite2dTexture.js +3 -3
  825. package/dist/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
  826. package/dist/generated/sprite2d/Tr2Sprite2dTransform.js +2 -2
  827. package/dist/generated/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
  828. package/dist/generated/sprite2d/Tr2Sprite2dVertex.js +2 -2
  829. package/dist/generated/sprite2d/Tr2Sprite2dVertex.js.map +1 -1
  830. package/dist/generated/sprite2d/Tr2SpriteObject.js +3 -3
  831. package/dist/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
  832. package/dist/generated/sprite2d/Tr2SpriteObjectBase.js +2 -2
  833. package/dist/generated/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
  834. package/dist/generated/sprite2d/Tr2TexturedSpriteObject.js +1 -1
  835. package/dist/generated/sprite2d/Tr2TexturedSpriteObject.js.map +1 -1
  836. package/dist/generated/trinityCore/ITr2FroxelFogSettings.js +2 -2
  837. package/dist/generated/trinityCore/ITr2FroxelFogSettings.js.map +1 -1
  838. package/dist/generated/trinityCore/ITr2ImpostorSource.js +3 -3
  839. package/dist/generated/trinityCore/ITr2ImpostorSource.js.map +1 -1
  840. package/dist/generated/trinityCore/ITr2InstanceData.js +2 -2
  841. package/dist/generated/trinityCore/ITr2InstanceData.js.map +1 -1
  842. package/dist/generated/trinityCore/Tr2AtlasTexture.js +2 -2
  843. package/dist/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
  844. package/dist/generated/trinityCore/Tr2BoundingLineSet.js +2 -2
  845. package/dist/generated/trinityCore/Tr2BoundingLineSet.js.map +1 -1
  846. package/dist/generated/trinityCore/Tr2CurveLineSet.js +5 -5
  847. package/dist/generated/trinityCore/Tr2CurveLineSet.js.map +1 -1
  848. package/dist/generated/trinityCore/Tr2DebugRenderer.js +4 -4
  849. package/dist/generated/trinityCore/Tr2DebugRenderer.js.map +1 -1
  850. package/dist/generated/trinityCore/Tr2Denoiser.js +2 -2
  851. package/dist/generated/trinityCore/Tr2Denoiser.js.map +1 -1
  852. package/dist/generated/trinityCore/Tr2GpuProfiler.js +2 -2
  853. package/dist/generated/trinityCore/Tr2GpuProfiler.js.map +1 -1
  854. package/dist/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
  855. package/dist/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
  856. package/dist/generated/trinityCore/Tr2GrannyPrimitiveSet.js +1 -1
  857. package/dist/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
  858. package/dist/generated/trinityCore/Tr2HostBitmap.js +3 -3
  859. package/dist/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
  860. package/dist/generated/trinityCore/Tr2ImpostorManager.js +2 -2
  861. package/dist/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
  862. package/dist/generated/trinityCore/Tr2KelvinColor.js +2 -2
  863. package/dist/generated/trinityCore/Tr2KelvinColor.js.map +1 -1
  864. package/dist/generated/trinityCore/Tr2LineGraph.js +3 -3
  865. package/dist/generated/trinityCore/Tr2LineGraph.js.map +1 -1
  866. package/dist/generated/trinityCore/Tr2LineSet.js +3 -3
  867. package/dist/generated/trinityCore/Tr2LineSet.js.map +1 -1
  868. package/dist/generated/trinityCore/Tr2ManipulationTool.js +5 -5
  869. package/dist/generated/trinityCore/Tr2ManipulationTool.js.map +1 -1
  870. package/dist/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
  871. package/dist/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
  872. package/dist/generated/trinityCore/Tr2PrimitiveSet.js +4 -4
  873. package/dist/generated/trinityCore/Tr2PrimitiveSet.js.map +1 -1
  874. package/dist/generated/trinityCore/Tr2PrimitiveText.js +3 -3
  875. package/dist/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
  876. package/dist/generated/trinityCore/Tr2ProjectBoundingBoxBracket.js +2 -2
  877. package/dist/generated/trinityCore/Tr2ProjectBoundingBoxBracket.js.map +1 -1
  878. package/dist/generated/trinityCore/Tr2QuadRenderer.js +2 -2
  879. package/dist/generated/trinityCore/Tr2QuadRenderer.js.map +1 -1
  880. package/dist/generated/trinityCore/Tr2ReflectionProbe.js +4 -4
  881. package/dist/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
  882. package/dist/generated/trinityCore/Tr2RingBuffer.js +2 -2
  883. package/dist/generated/trinityCore/Tr2RingBuffer.js.map +1 -1
  884. package/dist/generated/trinityCore/Tr2RotationTool.js +2 -2
  885. package/dist/generated/trinityCore/Tr2RotationTool.js.map +1 -1
  886. package/dist/generated/trinityCore/Tr2SSAO.js +2 -2
  887. package/dist/generated/trinityCore/Tr2SSAO.js.map +1 -1
  888. package/dist/generated/trinityCore/Tr2SSSSS.js +3 -3
  889. package/dist/generated/trinityCore/Tr2SSSSS.js.map +1 -1
  890. package/dist/generated/trinityCore/Tr2ScalingTool.js +3 -3
  891. package/dist/generated/trinityCore/Tr2ScalingTool.js.map +1 -1
  892. package/dist/generated/trinityCore/Tr2ShadowMap.js +2 -2
  893. package/dist/generated/trinityCore/Tr2ShadowMap.js.map +1 -1
  894. package/dist/generated/trinityCore/Tr2SolidSet.js +3 -3
  895. package/dist/generated/trinityCore/Tr2SolidSet.js.map +1 -1
  896. package/dist/generated/trinityCore/Tr2StreamingBitmapSaver.js +3 -3
  897. package/dist/generated/trinityCore/Tr2StreamingBitmapSaver.js.map +1 -1
  898. package/dist/generated/trinityCore/Tr2TextureAnimation.js +2 -2
  899. package/dist/generated/trinityCore/Tr2TextureAnimation.js.map +1 -1
  900. package/dist/generated/trinityCore/Tr2TextureArray.js +3 -3
  901. package/dist/generated/trinityCore/Tr2TextureArray.js.map +1 -1
  902. package/dist/generated/trinityCore/Tr2TextureAtlas.js +3 -3
  903. package/dist/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
  904. package/dist/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
  905. package/dist/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
  906. package/dist/generated/trinityCore/Tr2TextureReference.js +2 -2
  907. package/dist/generated/trinityCore/Tr2TextureReference.js.map +1 -1
  908. package/dist/generated/trinityCore/Tr2Transform.js +5 -5
  909. package/dist/generated/trinityCore/Tr2Transform.js.map +1 -1
  910. package/dist/generated/trinityCore/Tr2TransientTextureReference.js +2 -2
  911. package/dist/generated/trinityCore/Tr2TransientTextureReference.js.map +1 -1
  912. package/dist/generated/trinityCore/Tr2TranslationTool.js +2 -2
  913. package/dist/generated/trinityCore/Tr2TranslationTool.js.map +1 -1
  914. package/dist/generated/trinityCore/Tr2VolumetricsRenderer.js +2 -2
  915. package/dist/generated/trinityCore/Tr2VolumetricsRenderer.js.map +1 -1
  916. package/dist/generated/trinityCore/TriLineSet.js +4 -4
  917. package/dist/generated/trinityCore/TriLineSet.js.map +1 -1
  918. package/dist/generated/trinityCore/TriRigidOrientation.js +4 -4
  919. package/dist/generated/trinityCore/TriRigidOrientation.js.map +1 -1
  920. package/dist/generated/trinityCore/index.js +0 -5
  921. package/dist/generated/trinityCore/index.js.map +1 -1
  922. package/dist/generated/utilities/Float4x3.js +2 -2
  923. package/dist/generated/utilities/Float4x3.js.map +1 -1
  924. package/dist/generated/utilities/Obb.js +3 -3
  925. package/dist/generated/utilities/Obb.js.map +1 -1
  926. package/dist/generated/utilities/Tr2MaterialBoundsAdjustment.js +2 -2
  927. package/dist/generated/utilities/Tr2MaterialBoundsAdjustment.js.map +1 -1
  928. package/dist/index.js +131 -152
  929. package/dist/index.js.map +1 -1
  930. package/dist/particle/Tr2GpuSharedEmitter.js +43 -4
  931. package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
  932. package/dist/particle/Tr2GpuUniqueEmitter.js +7 -2
  933. package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
  934. package/dist/particle/Tr2ParticleAttractorForce.js +13 -3
  935. package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
  936. package/dist/particle/Tr2ParticleDirectForce.js +10 -3
  937. package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
  938. package/dist/particle/Tr2ParticleDragForce.js +10 -3
  939. package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
  940. package/dist/particle/Tr2ParticleElementData.js +2 -2
  941. package/dist/particle/Tr2ParticleElementData.js.map +1 -1
  942. package/dist/particle/Tr2ParticleElementDeclaration.js +7 -2
  943. package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
  944. package/dist/particle/Tr2ParticleElementDeclarationName.js +2 -2
  945. package/dist/particle/Tr2ParticleElementDeclarationName.js.map +1 -1
  946. package/dist/particle/Tr2ParticleFluidDragForce.js +13 -3
  947. package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
  948. package/dist/particle/Tr2ParticleSpring.js +13 -3
  949. package/dist/particle/Tr2ParticleSpring.js.map +1 -1
  950. package/dist/particle/Tr2ParticleVortexForce.js +13 -3
  951. package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
  952. package/dist/particle/particleElementBinding.js +12 -0
  953. package/dist/particle/particleElementBinding.js.map +1 -1
  954. package/dist/postProcess/BlurContext.js +2 -2
  955. package/dist/postProcess/BlurContext.js.map +1 -1
  956. package/dist/postProcess/GaussianData.js +4 -4
  957. package/dist/postProcess/GaussianData.js.map +1 -1
  958. package/dist/postProcess/Tr2PPBloomEffect.js +8 -2
  959. package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
  960. package/dist/postProcess/Tr2PPColorCorrectionEffect.js +2 -2
  961. package/dist/postProcess/Tr2PPColorCorrectionEffect.js.map +1 -1
  962. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +17 -1
  963. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
  964. package/dist/postProcess/Tr2PPDesaturateEffect.js +1 -1
  965. package/dist/postProcess/Tr2PPDesaturateEffect.js.map +1 -1
  966. package/dist/postProcess/Tr2PPDynamicExposureEffect.js +1 -1
  967. package/dist/postProcess/Tr2PPDynamicExposureEffect.js.map +1 -1
  968. package/dist/postProcess/Tr2PPEffect.js +2 -2
  969. package/dist/postProcess/Tr2PPEffect.js.map +1 -1
  970. package/dist/postProcess/Tr2PPFadeEffect.js +2 -2
  971. package/dist/postProcess/Tr2PPFadeEffect.js.map +1 -1
  972. package/dist/postProcess/Tr2PPFilmGrainEffect.js +1 -1
  973. package/dist/postProcess/Tr2PPFilmGrainEffect.js.map +1 -1
  974. package/dist/postProcess/Tr2PPFogEffect.js +4 -4
  975. package/dist/postProcess/Tr2PPFogEffect.js.map +1 -1
  976. package/dist/postProcess/Tr2PPGenericEffect.js +8 -1
  977. package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
  978. package/dist/postProcess/Tr2PPGodRaysEffect.js +2 -2
  979. package/dist/postProcess/Tr2PPGodRaysEffect.js.map +1 -1
  980. package/dist/postProcess/Tr2PPLutEffect.js +1 -1
  981. package/dist/postProcess/Tr2PPLutEffect.js.map +1 -1
  982. package/dist/postProcess/Tr2PPSignalLossEffect.js +1 -1
  983. package/dist/postProcess/Tr2PPSignalLossEffect.js.map +1 -1
  984. package/dist/postProcess/Tr2PPTaaEffect.js +11 -1
  985. package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
  986. package/dist/postProcess/Tr2PPTonemappingEffect.js +6 -1
  987. package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
  988. package/dist/postProcess/Tr2PPVignetteEffect.js +3 -3
  989. package/dist/postProcess/Tr2PPVignetteEffect.js.map +1 -1
  990. package/dist/postProcess/Tr2PostProcess.js +7 -2
  991. package/dist/postProcess/Tr2PostProcess.js.map +1 -1
  992. package/dist/postProcess/Tr2PostProcess2.js +149 -2
  993. package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
  994. package/dist/postProcess/Tr2PostProcessAttributes.js +94 -5
  995. package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  996. package/dist/renderJob/Tr2RenderJobs.js +36 -2
  997. package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
  998. package/dist/renderJob/TriRenderJob.js +61 -2
  999. package/dist/renderJob/TriRenderJob.js.map +1 -1
  1000. package/dist/renderJob/TriRenderStep.js +22 -2
  1001. package/dist/renderJob/TriRenderStep.js.map +1 -1
  1002. package/dist/renderJob/TriStepClear.js +20 -2
  1003. package/dist/renderJob/TriStepClear.js.map +1 -1
  1004. package/dist/renderJob/TriStepCopyRenderTarget.js +52 -1
  1005. package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
  1006. package/dist/renderJob/TriStepEnableWireframeMode.js +10 -1
  1007. package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
  1008. package/dist/renderJob/TriStepGenerateMipMaps.js +10 -1
  1009. package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
  1010. package/dist/renderJob/TriStepPopDepthStencil.js +7 -1
  1011. package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
  1012. package/dist/renderJob/TriStepPopProjection.js +7 -1
  1013. package/dist/renderJob/TriStepPopProjection.js.map +1 -1
  1014. package/dist/renderJob/TriStepPopRenderTarget.js +13 -1
  1015. package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
  1016. package/dist/renderJob/TriStepPopViewTransform.js +7 -1
  1017. package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
  1018. package/dist/renderJob/TriStepPopViewport.js +7 -1
  1019. package/dist/renderJob/TriStepPopViewport.js.map +1 -1
  1020. package/dist/renderJob/TriStepPresentSwapChain.js +13 -1
  1021. package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
  1022. package/dist/renderJob/TriStepPushDepthStencil.js +18 -1
  1023. package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
  1024. package/dist/renderJob/TriStepPushProjection.js +7 -1
  1025. package/dist/renderJob/TriStepPushProjection.js.map +1 -1
  1026. package/dist/renderJob/TriStepPushRenderTarget.js +10 -1
  1027. package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
  1028. package/dist/renderJob/TriStepPushViewTransform.js +7 -1
  1029. package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
  1030. package/dist/renderJob/TriStepPushViewport.js +7 -1
  1031. package/dist/renderJob/TriStepPushViewport.js.map +1 -1
  1032. package/dist/renderJob/TriStepRemoteSync.js +18 -1
  1033. package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
  1034. package/dist/renderJob/TriStepResolve.js +14 -1
  1035. package/dist/renderJob/TriStepResolve.js.map +1 -1
  1036. package/dist/renderJob/TriStepRunJob.js +13 -1
  1037. package/dist/renderJob/TriStepRunJob.js.map +1 -1
  1038. package/dist/renderJob/TriStepSetDepthStencil.js +13 -1
  1039. package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
  1040. package/dist/renderJob/TriStepSetProjection.js +15 -1
  1041. package/dist/renderJob/TriStepSetProjection.js.map +1 -1
  1042. package/dist/renderJob/TriStepSetRenderState.js +22 -2
  1043. package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
  1044. package/dist/renderJob/TriStepSetRenderTarget.js +13 -1
  1045. package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
  1046. package/dist/renderJob/TriStepSetStdRndStates.js +19 -1
  1047. package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
  1048. package/dist/renderJob/TriStepSetView.js +30 -3
  1049. package/dist/renderJob/TriStepSetView.js.map +1 -1
  1050. package/dist/renderJob/TriStepSetViewport.js +18 -1
  1051. package/dist/renderJob/TriStepSetViewport.js.map +1 -1
  1052. package/dist/renderJob/TriStepSetVisualizationMode.js +20 -1
  1053. package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
  1054. package/dist/shader/Tr2Effect.js +219 -4
  1055. package/dist/shader/Tr2Effect.js.map +1 -1
  1056. package/dist/shader/Tr2Material.js +43 -2
  1057. package/dist/shader/Tr2Material.js.map +1 -1
  1058. package/dist/shader/index.js +1 -11
  1059. package/dist/shader/index.js.map +1 -1
  1060. package/dist/shader/material/Tr2EffectLibraryParameters.js +9 -2
  1061. package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
  1062. package/dist/shader/material/Tr2EffectParam.js +2 -2
  1063. package/dist/shader/material/Tr2EffectParam.js.map +1 -1
  1064. package/dist/shader/material/Tr2EffectPassParameters.js +25 -2
  1065. package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
  1066. package/dist/shader/material/Tr2EffectTechniqueInputs.js +2 -2
  1067. package/dist/shader/material/Tr2EffectTechniqueInputs.js.map +1 -1
  1068. package/dist/shader/material/Tr2MaterialStageInput.js +17 -2
  1069. package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
  1070. package/dist/shader/material/Tr2SharedConstantBuffers.js +2 -2
  1071. package/dist/shader/material/Tr2SharedConstantBuffers.js.map +1 -1
  1072. package/dist/shader/parameter/CjsParameter.js +95 -1
  1073. package/dist/shader/parameter/CjsParameter.js.map +1 -1
  1074. package/dist/shader/parameter/CjsVectorParameter.js +20 -0
  1075. package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
  1076. package/dist/shader/parameter/Tr2ConstantEffectParameter.js +2 -2
  1077. package/dist/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
  1078. package/dist/shader/parameter/Tr2FloatParameter.js +54 -1
  1079. package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
  1080. package/dist/shader/parameter/Tr2GeometryBufferParameter.js +41 -2
  1081. package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  1082. package/dist/shader/parameter/Tr2Matrix4Parameter.js +56 -2
  1083. package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  1084. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +55 -1
  1085. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  1086. package/dist/shader/parameter/Tr2TextureAnimationParameter.js +36 -1
  1087. package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  1088. package/dist/shader/parameter/Tr2Vector2Parameter.js +89 -3
  1089. package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  1090. package/dist/shader/parameter/Tr2Vector3Parameter.js +98 -3
  1091. package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  1092. package/dist/shader/parameter/Tr2Vector4Parameter.js +108 -3
  1093. package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  1094. package/dist/shader/parameter/TriFloatArrayParameter.js +27 -1
  1095. package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  1096. package/dist/shader/parameter/TriTextureParameter.js +86 -2
  1097. package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
  1098. package/dist/shader/parameter/TriTransformParameter.js +29 -6
  1099. package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
  1100. package/dist/shader/parameter/TriVariableParameter.js +40 -2
  1101. package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
  1102. package/dist/shader/parameter/TriVector4.js +5 -3
  1103. package/dist/shader/parameter/TriVector4.js.map +1 -1
  1104. package/dist/shader/reflection/Tr2ShaderOption.js +8 -3
  1105. package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
  1106. package/dist/shader/sampler/Tr2SamplerOverride.js +2 -2
  1107. package/dist/shader/sampler/Tr2SamplerOverride.js.map +1 -1
  1108. package/dist/shader/sampler/Tr2SamplerOverrideData.js +2 -2
  1109. package/dist/shader/sampler/Tr2SamplerOverrideData.js.map +1 -1
  1110. package/dist/shader/support/CjsVariableStore.js +140 -0
  1111. package/dist/shader/support/CjsVariableStore.js.map +1 -1
  1112. package/dist/shader/support/Tr2DataTextureManager.js +2 -2
  1113. package/dist/shader/support/Tr2DataTextureManager.js.map +1 -1
  1114. package/dist/shader/support/Tr2EffectStateManager.js +2 -2
  1115. package/dist/shader/support/Tr2EffectStateManager.js.map +1 -1
  1116. package/dist/shader/support/Tr2ShaderBuffer.js +17 -2
  1117. package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
  1118. package/dist/sprite2d/Tr2Sprite2dClipRect.js +2 -2
  1119. package/dist/sprite2d/Tr2Sprite2dClipRect.js.map +1 -1
  1120. package/dist/sprite2d/Tr2Sprite2dD3DVertex.js +2 -2
  1121. package/dist/sprite2d/Tr2Sprite2dD3DVertex.js.map +1 -1
  1122. package/dist/sprite2d/Tr2Sprite2dLineTraceVertex.js +4 -4
  1123. package/dist/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
  1124. package/dist/sprite2d/Tr2Sprite2dTriangle.js +2 -2
  1125. package/dist/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
  1126. package/dist/sprite2d/Tr2Sprite2dVertexBase.js +5 -5
  1127. package/dist/sprite2d/Tr2Sprite2dVertexBase.js.map +1 -1
  1128. package/dist/trinityCore/CjsBatchManager.js +67 -1
  1129. package/dist/trinityCore/CjsBatchManager.js.map +1 -1
  1130. package/dist/trinityCore/GrannyBoneOffset.js +56 -5
  1131. package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
  1132. package/dist/trinityCore/ITriRenderBatchAccumulator.js +90 -2
  1133. package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
  1134. package/dist/trinityCore/Tr2DepthStencil.js +3 -3
  1135. package/dist/trinityCore/Tr2DepthStencil.js.map +1 -1
  1136. package/dist/trinityCore/Tr2DirectInstanceData.js +22 -3
  1137. package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
  1138. package/dist/trinityCore/Tr2ExpressionTermInfo.js +23 -2
  1139. package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
  1140. package/dist/trinityCore/Tr2GpuBuffer.js +8 -3
  1141. package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
  1142. package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +143 -14
  1143. package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
  1144. package/dist/trinityCore/Tr2InstancedMesh.js +54 -2
  1145. package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
  1146. package/dist/trinityCore/Tr2MaterialParameterStore.js +7 -2
  1147. package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
  1148. package/dist/trinityCore/Tr2Mesh.js +38 -1
  1149. package/dist/trinityCore/Tr2Mesh.js.map +1 -1
  1150. package/dist/trinityCore/Tr2MeshArea.js +80 -2
  1151. package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
  1152. package/dist/trinityCore/Tr2MeshBase.js +101 -5
  1153. package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
  1154. package/dist/trinityCore/Tr2PerObjectData.js +10 -0
  1155. package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
  1156. package/dist/trinityCore/Tr2PickType.js +33 -0
  1157. package/dist/trinityCore/Tr2PickType.js.map +1 -0
  1158. package/dist/trinityCore/Tr2PrimaryRenderContext.js +2 -2
  1159. package/dist/trinityCore/Tr2PrimaryRenderContext.js.map +1 -1
  1160. package/dist/trinityCore/Tr2RenderBatch.js +139 -2
  1161. package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
  1162. package/dist/trinityCore/Tr2RenderContext.js +275 -4
  1163. package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
  1164. package/dist/trinityCore/Tr2RenderTarget.js +3 -3
  1165. package/dist/trinityCore/Tr2RenderTarget.js.map +1 -1
  1166. package/dist/trinityCore/Tr2RuntimeGpuBuffer.js +2 -2
  1167. package/dist/trinityCore/Tr2RuntimeGpuBuffer.js.map +1 -1
  1168. package/dist/trinityCore/Tr2RuntimeInstanceData.js +182 -3
  1169. package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
  1170. package/dist/trinityCore/Tr2SerializedMorphAnimation.js +2 -2
  1171. package/dist/trinityCore/Tr2SerializedMorphAnimation.js.map +1 -1
  1172. package/dist/trinityCore/Tr2ShLightingManager.js +397 -0
  1173. package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
  1174. package/dist/trinityCore/Tr2SwapChain.js +2 -2
  1175. package/dist/trinityCore/Tr2SwapChain.js.map +1 -1
  1176. package/dist/trinityCore/Tr2VariableStore.js +28 -2
  1177. package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
  1178. package/dist/trinityCore/Tr2VisibilityResults.js +9 -4
  1179. package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
  1180. package/dist/trinityCore/TriDevice.js +8 -3
  1181. package/dist/trinityCore/TriDevice.js.map +1 -1
  1182. package/dist/trinityCore/TriFloat.js +2 -2
  1183. package/dist/trinityCore/TriFloat.js.map +1 -1
  1184. package/dist/trinityCore/TriFrustum.js +24 -17
  1185. package/dist/trinityCore/TriFrustum.js.map +1 -1
  1186. package/dist/trinityCore/TriFrustumOrtho.js +2 -2
  1187. package/dist/trinityCore/TriFrustumOrtho.js.map +1 -1
  1188. package/dist/trinityCore/TriObserverLocal.js +46 -3
  1189. package/dist/trinityCore/TriObserverLocal.js.map +1 -1
  1190. package/dist/trinityCore/TriProjection.js +88 -34
  1191. package/dist/trinityCore/TriProjection.js.map +1 -1
  1192. package/dist/trinityCore/TriRect.js +14 -2
  1193. package/dist/trinityCore/TriRect.js.map +1 -1
  1194. package/dist/trinityCore/TriRenderBatchAccumulator.js +48 -2
  1195. package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
  1196. package/dist/trinityCore/TriRenderBatchMap.js +47 -1
  1197. package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
  1198. package/dist/trinityCore/TriSettings.js +40 -2
  1199. package/dist/trinityCore/TriSettings.js.map +1 -1
  1200. package/dist/trinityCore/TriTorque.js +4 -4
  1201. package/dist/trinityCore/TriTorque.js.map +1 -1
  1202. package/dist/trinityCore/TriVariable.js +32 -2
  1203. package/dist/trinityCore/TriVariable.js.map +1 -1
  1204. package/dist/trinityCore/TriView.js +19 -4
  1205. package/dist/trinityCore/TriView.js.map +1 -1
  1206. package/dist/trinityCore/TriViewport.js +14 -2
  1207. package/dist/trinityCore/TriViewport.js.map +1 -1
  1208. package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +4 -4
  1209. package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
  1210. package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
  1211. package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
  1212. package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
  1213. package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
  1214. package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +31 -7
  1215. package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
  1216. package/dist/trinityCore/binding/TriValueBinding.js +648 -0
  1217. package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
  1218. package/dist/trinityCore/index.js +11 -2
  1219. package/dist/trinityCore/index.js.map +1 -1
  1220. package/dist/trinityCore/pickRay.js +84 -0
  1221. package/dist/trinityCore/pickRay.js.map +1 -0
  1222. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +931 -0
  1223. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
  1224. package/dist/trinityCore/rawData/RawData.js +434 -0
  1225. package/dist/trinityCore/rawData/RawData.js.map +1 -0
  1226. package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
  1227. package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
  1228. package/dist/ui/Tr2PresentParameters.js +2 -2
  1229. package/dist/ui/Tr2PresentParameters.js.map +1 -1
  1230. package/dist/utilities/Range.js +55 -2
  1231. package/dist/utilities/Range.js.map +1 -1
  1232. package/docs/README.md +88 -0
  1233. package/docs/architecture.md +162 -0
  1234. package/docs/concepts/eve-runtime-behavior.md +86 -0
  1235. package/docs/concepts/generated-class-lifecycle.md +116 -0
  1236. package/docs/reference/api.md +76 -0
  1237. package/docs/reference/classes/eve-runtime.md +106 -0
  1238. package/docs/reference/classes/trinity-core.md +26 -0
  1239. package/docs/reference/implementation-status.md +104 -0
  1240. package/docs/reference/main-semantic-extraction.md +104 -0
  1241. package/package.json +33 -26
  1242. package/dist/eve/DecalVSPerObjectData.js +0 -34
  1243. package/dist/eve/DecalVSPerObjectData.js.map +0 -1
  1244. package/dist/eve/EveBannerItem.js +0 -43
  1245. package/dist/eve/EveBannerItem.js.map +0 -1
  1246. package/dist/eve/EveBannerLight.js.map +0 -1
  1247. package/dist/eve/EveBannerSet.js +0 -109
  1248. package/dist/eve/EveBannerSet.js.map +0 -1
  1249. package/dist/eve/EveBasicPerObjectData.js +0 -31
  1250. package/dist/eve/EveBasicPerObjectData.js.map +0 -1
  1251. package/dist/eve/EveBoosterSet2.js.map +0 -1
  1252. package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
  1253. package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
  1254. package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
  1255. package/dist/eve/EveHazeSet.js +0 -72
  1256. package/dist/eve/EveHazeSet.js.map +0 -1
  1257. package/dist/eve/EveHazeSetLight.js.map +0 -1
  1258. package/dist/eve/EveLocator2.js.map +0 -1
  1259. package/dist/eve/EveLocatorSets.js.map +0 -1
  1260. package/dist/eve/EveParticleDirectForce.js.map +0 -1
  1261. package/dist/eve/EveParticleDragForce.js.map +0 -1
  1262. package/dist/eve/EveParticleSpring.js.map +0 -1
  1263. package/dist/eve/EvePerObjectPSData.js +0 -29
  1264. package/dist/eve/EvePerObjectPSData.js.map +0 -1
  1265. package/dist/eve/EvePerObjectVSData.js +0 -29
  1266. package/dist/eve/EvePerObjectVSData.js.map +0 -1
  1267. package/dist/eve/EvePlaneLight.js.map +0 -1
  1268. package/dist/eve/EvePlaneSet.js +0 -104
  1269. package/dist/eve/EvePlaneSet.js.map +0 -1
  1270. package/dist/eve/EvePlaneSetItem.js +0 -45
  1271. package/dist/eve/EvePlaneSetItem.js.map +0 -1
  1272. package/dist/eve/EveSpaceObjectDecal.js +0 -150
  1273. package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
  1274. package/dist/eve/EveSpaceObjectPSData.js +0 -73
  1275. package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
  1276. package/dist/eve/EveSpaceObjectVSData.js +0 -79
  1277. package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
  1278. package/dist/eve/EveSpacePerObjectData.js +0 -97
  1279. package/dist/eve/EveSpacePerObjectData.js.map +0 -1
  1280. package/dist/eve/EveSpherePinPerObjectData.js +0 -37
  1281. package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
  1282. package/dist/eve/EveSpotlightLight.js.map +0 -1
  1283. package/dist/eve/EveSpotlightSet.js +0 -98
  1284. package/dist/eve/EveSpotlightSet.js.map +0 -1
  1285. package/dist/eve/EveSpriteLight.js.map +0 -1
  1286. package/dist/eve/EveSpriteLineSet.js +0 -74
  1287. package/dist/eve/EveSpriteLineSet.js.map +0 -1
  1288. package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
  1289. package/dist/eve/EveSpriteSet.js +0 -115
  1290. package/dist/eve/EveSpriteSet.js.map +0 -1
  1291. package/dist/eve/EveTrailsSet.js.map +0 -1
  1292. package/dist/eve/Locator.js.map +0 -1
  1293. package/dist/eve/LocatorData.js.map +0 -1
  1294. package/dist/eve/ProcessLifetimeData.js.map +0 -1
  1295. package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
  1296. package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
  1297. package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
  1298. package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
  1299. package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
  1300. package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
  1301. package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
  1302. package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
  1303. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
  1304. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
  1305. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
  1306. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
  1307. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
  1308. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
  1309. package/dist/generated/eve/EveCamera.js +0 -264
  1310. package/dist/generated/eve/EveCamera.js.map +0 -1
  1311. package/dist/generated/eve/EveEntity.js +0 -81
  1312. package/dist/generated/eve/EveEntity.js.map +0 -1
  1313. package/dist/generated/eve/attachment/decal/index.js +0 -2
  1314. package/dist/generated/eve/attachment/decal/index.js.map +0 -1
  1315. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
  1316. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
  1317. package/dist/generated/eve/attachment/haze/index.js +0 -2
  1318. package/dist/generated/eve/attachment/haze/index.js.map +0 -1
  1319. package/dist/generated/eve/attachment/index.js +0 -5
  1320. package/dist/generated/eve/attachment/index.js.map +0 -1
  1321. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
  1322. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
  1323. package/dist/generated/eve/attachment/spotlights/index.js +0 -2
  1324. package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
  1325. package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
  1326. package/dist/generated/eve/attachment/sprites/index.js +0 -2
  1327. package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
  1328. package/dist/generated/eve/attachment/turrets/enums.js +0 -32
  1329. package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
  1330. package/dist/generated/eve/attachment/turrets/index.js +0 -2
  1331. package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
  1332. package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
  1333. package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
  1334. package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
  1335. package/dist/generated/eve/child/EveChildLink.js.map +0 -1
  1336. package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
  1337. package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
  1338. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
  1339. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
  1340. package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
  1341. package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
  1342. package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
  1343. package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
  1344. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
  1345. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
  1346. package/dist/generated/eve/child/behaviors/Wander.js +0 -92
  1347. package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
  1348. package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
  1349. package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
  1350. package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
  1351. package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
  1352. package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
  1353. package/dist/generated/eve/child/modifiers/index.js +0 -5
  1354. package/dist/generated/eve/child/modifiers/index.js.map +0 -1
  1355. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
  1356. package/dist/generated/eve/child/procedural/index.js +0 -10
  1357. package/dist/generated/eve/child/procedural/index.js.map +0 -1
  1358. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
  1359. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
  1360. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
  1361. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
  1362. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
  1363. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
  1364. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
  1365. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
  1366. package/dist/generated/eve/child/procedural/selection/index.js +0 -9
  1367. package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
  1368. package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
  1369. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
  1370. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
  1371. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
  1372. package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
  1373. package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
  1374. package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
  1375. package/dist/generated/eve/distribution/index.js +0 -19
  1376. package/dist/generated/eve/distribution/index.js.map +0 -1
  1377. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
  1378. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
  1379. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
  1380. package/dist/generated/eve/distribution/placement/index.js +0 -4
  1381. package/dist/generated/eve/distribution/placement/index.js.map +0 -1
  1382. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
  1383. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
  1384. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
  1385. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
  1386. package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
  1387. package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
  1388. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
  1389. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
  1390. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
  1391. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
  1392. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
  1393. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
  1394. package/dist/generated/eve/distribution/spawners/index.js +0 -7
  1395. package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
  1396. package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
  1397. package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
  1398. package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
  1399. package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
  1400. package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
  1401. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
  1402. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
  1403. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
  1404. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
  1405. package/dist/generated/eve/fxAttributes/index.js +0 -3
  1406. package/dist/generated/eve/fxAttributes/index.js.map +0 -1
  1407. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
  1408. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
  1409. package/dist/generated/eve/overlays/index.js +0 -2
  1410. package/dist/generated/eve/overlays/index.js.map +0 -1
  1411. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
  1412. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
  1413. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
  1414. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
  1415. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
  1416. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
  1417. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
  1418. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
  1419. package/dist/generated/eve/perObjectData/index.js +0 -5
  1420. package/dist/generated/eve/perObjectData/index.js.map +0 -1
  1421. package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
  1422. package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
  1423. package/dist/generated/eve/scene/EvePickingContext.js +0 -43
  1424. package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
  1425. package/dist/generated/eve/scene/EveSceneStaticParticles.js +0 -173
  1426. package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
  1427. package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
  1428. package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
  1429. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
  1430. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
  1431. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
  1432. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
  1433. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
  1434. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
  1435. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
  1436. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
  1437. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
  1438. package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
  1439. package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
  1440. package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
  1441. package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
  1442. package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
  1443. package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
  1444. package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
  1445. package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
  1446. package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
  1447. package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
  1448. package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
  1449. package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
  1450. package/dist/generated/eve/socket/index.js +0 -10
  1451. package/dist/generated/eve/socket/index.js.map +0 -1
  1452. package/dist/generated/eve/spaceObject/EvePlanet.js +0 -47
  1453. package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
  1454. package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
  1455. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
  1456. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
  1457. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js +0 -129
  1458. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
  1459. package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
  1460. package/dist/generated/eve/ui/EveSpherePin.js +0 -94
  1461. package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
  1462. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
  1463. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
  1464. package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
  1465. package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
  1466. package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
  1467. package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
  1468. package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
  1469. package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
  1470. package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
  1471. package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
  1472. package/dist/generated/trinityCore/TriValueBinding.js +0 -249
  1473. package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
  1474. package/dist/shader/Tr2Shader.js +0 -150
  1475. package/dist/shader/Tr2Shader.js.map +0 -1
  1476. package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
  1477. package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
  1478. package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
  1479. package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
  1480. package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
  1481. package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
  1482. package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
  1483. package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
  1484. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
  1485. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
  1486. package/dist/shader/reflection/Tr2EffectResource.js +0 -63
  1487. package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
  1488. package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
  1489. package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
  1490. package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
  1491. package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
  1492. package/dist/shader/reflection/Tr2Pass.js +0 -46
  1493. package/dist/shader/reflection/Tr2Pass.js.map +0 -1
  1494. package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
  1495. package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
  1496. package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
  1497. package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
  1498. /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
  1499. /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
@@ -1,23 +1,29 @@
1
1
  import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { io, type, carbon, impl, schema } from '@carbonenginejs/core-types/schema';
3
- import { EveEntity as _EveEntity } from '../../generated/eve/EveEntity.js';
2
+ import { io, type, carbon, impl, schema } from '@carbonenginejs/runtime-utils/schema';
3
+ import { EveEntity as _EveEntity } from '../EveEntity.js';
4
4
  import { EveChildUpdateParams as _EveChildUpdateParams } from '../EveChildUpdateParams.js';
5
5
  import { EveChildInheritProperties as _EveChildInheritPrope } from '../child/EveChildInheritProperties.js';
6
- import { box3 } from '@carbonenginejs/core-math/box3';
7
- import { mat4 } from '@carbonenginejs/core-math/mat4';
8
- import { quat } from '@carbonenginejs/core-math/quat';
9
- import { sph3 } from '@carbonenginejs/core-math/sph3';
10
- import { vec3 } from '@carbonenginejs/core-math/vec3';
11
- import { vec4 } from '@carbonenginejs/core-math/vec4';
6
+ import { box3 } from '@carbonenginejs/runtime-utils/box3';
7
+ import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
8
+ import { quat } from '@carbonenginejs/runtime-utils/quat';
9
+ import { sph3 } from '@carbonenginejs/runtime-utils/sph3';
10
+ import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
11
+ import { vec4 } from '@carbonenginejs/runtime-utils/vec4';
12
12
  import { ReflectionMode } from '../../generated/eve/enums.js';
13
13
  import { EveComponentType, ShouldReflect } from '../EveComponentTypes.js';
14
14
  import { ImpactConfiguration } from '../../generated/include/enums.js';
15
- import { Tr2Lod, EveLODHelper } from '../EveLODHelper.js';
16
- import { TriBatchType } from '@carbonenginejs/runtime-const/graphics';
17
- import { Tr2PerObjectData } from '../../trinityCore/Tr2PerObjectData.js';
15
+ import { EveLODHelper } from '../EveLODHelper.js';
16
+ import { TriBatchType } from '@carbonenginejs/runtime-utils/graphics';
17
+ import { MatrixCopyFrom3x4 } from '../lights/lightConversion.js';
18
+ import { getBoneList } from '../../trinityCore/Tr2GrannyAnimation.js';
18
19
  import { TriRenderBatchAreaBlock, Tr2RenderBatch } from '../../trinityCore/Tr2RenderBatch.js';
20
+ import { RawData } from '../../trinityCore/rawData/RawData.js';
21
+ import { TR2_PICK_TYPE_DEFAULT, Tr2PickType } from '../../trinityCore/Tr2PickType.js';
22
+ import { IEveSpaceObject2ParentData as _IEveSpaceObject2Pare } from './IEveSpaceObject2ParentData.js';
23
+ import { EveCustomMask as _EveCustomMask } from '../EveCustomMask.js';
24
+ import { Tr2Lod } from '@carbonenginejs/runtime-utils/const/trinity';
19
25
 
20
- let _initProto, _initClass, _init_reflectionMode, _init_extra_reflectionMode, _init_effectChildren, _init_extra_effectChildren, _init_children, _init_extra_children, _init_name, _init_extra_name, _init_mute, _init_extra_mute, _init_inheritProperties, _init_extra_inheritProperties, _init_customMasks, _init_extra_customMasks, _init_overlayEffects, _init_extra_overlayEffects, _init_positionDelta, _init_extra_positionDelta, _init_lodLevel, _init_extra_lodLevel, _init_curveSets, _init_extra_curveSets, _init_isPickable, _init_extra_isPickable, _init_estimatedPixelDiameter, _init_extra_estimatedPixelDiameter, _init_estimatedPixelDiameterWithChildren, _init_extra_estimatedPixelDiameterWithChildren, _init_generatedShapeEllipsoidCenter, _init_extra_generatedShapeEllipsoidCenter, _init_generatedShapeEllipsoidRadius, _init_extra_generatedShapeEllipsoidRadius, _init_animationUpdater, _init_extra_animationUpdater, _init_dna, _init_extra_dna, _init_castShadow, _init_extra_castShadow, _init_isAnimated, _init_extra_isAnimated, _init_dynamicBoundingSphereEnabled, _init_extra_dynamicBoundingSphereEnabled, _init_attachments, _init_extra_attachments, _init_decals, _init_extra_decals, _init_lights, _init_extra_lights, _init_externalParameters, _init_extra_externalParameters, _init_controllers, _init_extra_controllers, _init_locators, _init_extra_locators, _init_mesh, _init_extra_mesh, _init_impactOverlay, _init_extra_impactOverlay, _init_clipSphereCenter, _init_extra_clipSphereCenter, _init_clipSphereFactor, _init_extra_clipSphereFactor, _init_clipSphereFactor2, _init_extra_clipSphereFactor2, _init_observers, _init_extra_observers, _init_worldPosition, _init_extra_worldPosition, _init_rotationCurve, _init_extra_rotationCurve, _init_worldRotation, _init_extra_worldRotation, _init_modelScale, _init_extra_modelScale, _init_locatorSets, _init_extra_locatorSets, _init_activationStrength, _init_extra_activationStrength, _init_albedoColor, _init_extra_albedoColor, _init_display, _init_extra_display, _init_update, _init_extra_update, _init_secondaryLightingSphereRadius, _init_extra_secondaryLightingSphereRadius, _init_boundingSphereCenter, _init_extra_boundingSphereCenter, _init_dirtLevel, _init_extra_dirtLevel, _init_customShaderData, _init_extra_customShaderData, _init_lastDamageLocatorHit, _init_extra_lastDamageLocatorHit, _init_boundingSphereRadius, _init_extra_boundingSphereRadius, _init_modelWorldPosition, _init_extra_modelWorldPosition, _init_modelTranslationCurve, _init_extra_modelTranslationCurve, _init_modelRotationCurve, _init_extra_modelRotationCurve, _init_shapeEllipsoidCenter, _init_extra_shapeEllipsoidCenter, _init_shapeEllipsoidRadius, _init_extra_shapeEllipsoidRadius, _init_translationCurve, _init_extra_translationCurve, _init_worldTransform, _init_extra_worldTransform, _init_inverseWorldTransform, _init_extra_inverseWorldTransform, _init_lastWorldTransform, _init_extra_lastWorldTransform, _init_worldVelocity, _init_extra_worldVelocity, _init_audioGeometry, _init_extra_audioGeometry, _init_isVisible, _init_extra_isVisible;
26
+ let _initProto, _initClass, _init_reflectionMode, _init_extra_reflectionMode, _init_effectChildren, _init_extra_effectChildren, _init_children, _init_extra_children, _init_name, _init_extra_name, _init_mute, _init_extra_mute, _init_inheritProperties, _init_extra_inheritProperties, _init_customMasks, _init_extra_customMasks, _init_overlayEffects, _init_extra_overlayEffects, _init_positionDelta, _init_extra_positionDelta, _init_lodLevel, _init_extra_lodLevel, _init_curveSets, _init_extra_curveSets, _init_isPickable, _init_extra_isPickable, _init_estimatedPixelDiameter, _init_extra_estimatedPixelDiameter, _init_estimatedPixelDiameterWithChildren, _init_extra_estimatedPixelDiameterWithChildren, _init_generatedShapeEllipsoidCenter, _init_extra_generatedShapeEllipsoidCenter, _init_generatedShapeEllipsoidRadius, _init_extra_generatedShapeEllipsoidRadius, _init_animationUpdater, _init_extra_animationUpdater, _init_dna, _init_extra_dna, _init_castShadow, _init_extra_castShadow, _init_isAnimated, _init_extra_isAnimated, _init_dynamicBoundingSphereEnabled, _init_extra_dynamicBoundingSphereEnabled, _init_attachments, _init_extra_attachments, _init_decals, _init_extra_decals, _init_lights, _init_extra_lights, _init_externalParameters, _init_extra_externalParameters, _init_controllers, _init_extra_controllers, _init_locators, _init_extra_locators, _init_mesh, _init_extra_mesh, _init_impactOverlay, _init_extra_impactOverlay, _init_clipSphereCenter, _init_extra_clipSphereCenter, _init_clipSphereFactor, _init_extra_clipSphereFactor, _init_clipSphereFactor2, _init_extra_clipSphereFactor2, _init_observers, _init_extra_observers, _init_worldPosition, _init_extra_worldPosition, _init_rotationCurve, _init_extra_rotationCurve, _init_worldRotation, _init_extra_worldRotation, _init_modelScale, _init_extra_modelScale, _init_locatorSets, _init_extra_locatorSets, _init_activationStrength, _init_extra_activationStrength, _init_albedoColor, _init_extra_albedoColor, _init_display, _init_extra_display, _init_update, _init_extra_update, _init_secondaryLightingSphereRadius, _init_extra_secondaryLightingSphereRadius, _init_boundingSphereCenter, _init_extra_boundingSphereCenter, _init_dirtLevel, _init_extra_dirtLevel, _init_customShaderData, _init_extra_customShaderData, _init_spaceObjectShipData, _init_extra_spaceObjectShipData, _init_lastDamageLocatorHit, _init_extra_lastDamageLocatorHit, _init_boundingSphereRadius, _init_extra_boundingSphereRadius, _init_modelWorldPosition, _init_extra_modelWorldPosition, _init_modelTranslationCurve, _init_extra_modelTranslationCurve, _init_modelRotationCurve, _init_extra_modelRotationCurve, _init_shapeEllipsoidCenter, _init_extra_shapeEllipsoidCenter, _init_shapeEllipsoidRadius, _init_extra_shapeEllipsoidRadius, _init_translationCurve, _init_extra_translationCurve, _init_worldTransform, _init_extra_worldTransform, _init_inverseWorldTransform, _init_extra_inverseWorldTransform, _init_lastWorldTransform, _init_extra_lastWorldTransform, _init_worldVelocity, _init_extra_worldVelocity, _init_audioGeometry, _init_extra_audioGeometry, _init_isVisible, _init_extra_isVisible;
21
27
 
22
28
  // Static scratch for the sorted-transparent area pass (allocation rules: hot
23
29
  // per-frame path, copy-into, never allocate per call).
@@ -28,17 +34,24 @@ const TRANSPARENT_CENTER = vec3.create();
28
34
  // Carbon EveMeshOverlayEffect::OverlayType (EveMeshOverlayEffect.h:35-41).
29
35
  const OVERLAY_TYPE_OPAQUEONLY = 0;
30
36
  const OVERLAY_TYPE_ALL = 1;
37
+
38
+ /**
39
+ * The hull of an EVE space object - its mesh, locators, locator sets, decals,
40
+ * attachments, lights, effect children, overlay effects, impact overlay and
41
+ * controllers - together with the curve-driven world transform, visibility, LOD
42
+ * and batch submission that drive them each frame.
43
+ */
31
44
  let _EveSpaceObject;
32
45
  new class extends _identity {
33
46
  static [class EveSpaceObject2 extends _EveEntity {
34
47
  static {
35
48
  ({
36
- e: [_init_reflectionMode, _init_extra_reflectionMode, _init_effectChildren, _init_extra_effectChildren, _init_children, _init_extra_children, _init_name, _init_extra_name, _init_mute, _init_extra_mute, _init_inheritProperties, _init_extra_inheritProperties, _init_customMasks, _init_extra_customMasks, _init_overlayEffects, _init_extra_overlayEffects, _init_positionDelta, _init_extra_positionDelta, _init_lodLevel, _init_extra_lodLevel, _init_curveSets, _init_extra_curveSets, _init_isPickable, _init_extra_isPickable, _init_estimatedPixelDiameter, _init_extra_estimatedPixelDiameter, _init_estimatedPixelDiameterWithChildren, _init_extra_estimatedPixelDiameterWithChildren, _init_generatedShapeEllipsoidCenter, _init_extra_generatedShapeEllipsoidCenter, _init_generatedShapeEllipsoidRadius, _init_extra_generatedShapeEllipsoidRadius, _init_animationUpdater, _init_extra_animationUpdater, _init_dna, _init_extra_dna, _init_castShadow, _init_extra_castShadow, _init_isAnimated, _init_extra_isAnimated, _init_dynamicBoundingSphereEnabled, _init_extra_dynamicBoundingSphereEnabled, _init_attachments, _init_extra_attachments, _init_decals, _init_extra_decals, _init_lights, _init_extra_lights, _init_externalParameters, _init_extra_externalParameters, _init_controllers, _init_extra_controllers, _init_locators, _init_extra_locators, _init_mesh, _init_extra_mesh, _init_impactOverlay, _init_extra_impactOverlay, _init_clipSphereCenter, _init_extra_clipSphereCenter, _init_clipSphereFactor, _init_extra_clipSphereFactor, _init_clipSphereFactor2, _init_extra_clipSphereFactor2, _init_observers, _init_extra_observers, _init_worldPosition, _init_extra_worldPosition, _init_rotationCurve, _init_extra_rotationCurve, _init_worldRotation, _init_extra_worldRotation, _init_modelScale, _init_extra_modelScale, _init_locatorSets, _init_extra_locatorSets, _init_activationStrength, _init_extra_activationStrength, _init_albedoColor, _init_extra_albedoColor, _init_display, _init_extra_display, _init_update, _init_extra_update, _init_secondaryLightingSphereRadius, _init_extra_secondaryLightingSphereRadius, _init_boundingSphereCenter, _init_extra_boundingSphereCenter, _init_dirtLevel, _init_extra_dirtLevel, _init_customShaderData, _init_extra_customShaderData, _init_lastDamageLocatorHit, _init_extra_lastDamageLocatorHit, _init_boundingSphereRadius, _init_extra_boundingSphereRadius, _init_modelWorldPosition, _init_extra_modelWorldPosition, _init_modelTranslationCurve, _init_extra_modelTranslationCurve, _init_modelRotationCurve, _init_extra_modelRotationCurve, _init_shapeEllipsoidCenter, _init_extra_shapeEllipsoidCenter, _init_shapeEllipsoidRadius, _init_extra_shapeEllipsoidRadius, _init_translationCurve, _init_extra_translationCurve, _init_worldTransform, _init_extra_worldTransform, _init_inverseWorldTransform, _init_extra_inverseWorldTransform, _init_lastWorldTransform, _init_extra_lastWorldTransform, _init_worldVelocity, _init_extra_worldVelocity, _init_audioGeometry, _init_extra_audioGeometry, _init_isVisible, _init_extra_isVisible, _initProto],
49
+ e: [_init_reflectionMode, _init_extra_reflectionMode, _init_effectChildren, _init_extra_effectChildren, _init_children, _init_extra_children, _init_name, _init_extra_name, _init_mute, _init_extra_mute, _init_inheritProperties, _init_extra_inheritProperties, _init_customMasks, _init_extra_customMasks, _init_overlayEffects, _init_extra_overlayEffects, _init_positionDelta, _init_extra_positionDelta, _init_lodLevel, _init_extra_lodLevel, _init_curveSets, _init_extra_curveSets, _init_isPickable, _init_extra_isPickable, _init_estimatedPixelDiameter, _init_extra_estimatedPixelDiameter, _init_estimatedPixelDiameterWithChildren, _init_extra_estimatedPixelDiameterWithChildren, _init_generatedShapeEllipsoidCenter, _init_extra_generatedShapeEllipsoidCenter, _init_generatedShapeEllipsoidRadius, _init_extra_generatedShapeEllipsoidRadius, _init_animationUpdater, _init_extra_animationUpdater, _init_dna, _init_extra_dna, _init_castShadow, _init_extra_castShadow, _init_isAnimated, _init_extra_isAnimated, _init_dynamicBoundingSphereEnabled, _init_extra_dynamicBoundingSphereEnabled, _init_attachments, _init_extra_attachments, _init_decals, _init_extra_decals, _init_lights, _init_extra_lights, _init_externalParameters, _init_extra_externalParameters, _init_controllers, _init_extra_controllers, _init_locators, _init_extra_locators, _init_mesh, _init_extra_mesh, _init_impactOverlay, _init_extra_impactOverlay, _init_clipSphereCenter, _init_extra_clipSphereCenter, _init_clipSphereFactor, _init_extra_clipSphereFactor, _init_clipSphereFactor2, _init_extra_clipSphereFactor2, _init_observers, _init_extra_observers, _init_worldPosition, _init_extra_worldPosition, _init_rotationCurve, _init_extra_rotationCurve, _init_worldRotation, _init_extra_worldRotation, _init_modelScale, _init_extra_modelScale, _init_locatorSets, _init_extra_locatorSets, _init_activationStrength, _init_extra_activationStrength, _init_albedoColor, _init_extra_albedoColor, _init_display, _init_extra_display, _init_update, _init_extra_update, _init_secondaryLightingSphereRadius, _init_extra_secondaryLightingSphereRadius, _init_boundingSphereCenter, _init_extra_boundingSphereCenter, _init_dirtLevel, _init_extra_dirtLevel, _init_customShaderData, _init_extra_customShaderData, _init_spaceObjectShipData, _init_extra_spaceObjectShipData, _init_lastDamageLocatorHit, _init_extra_lastDamageLocatorHit, _init_boundingSphereRadius, _init_extra_boundingSphereRadius, _init_modelWorldPosition, _init_extra_modelWorldPosition, _init_modelTranslationCurve, _init_extra_modelTranslationCurve, _init_modelRotationCurve, _init_extra_modelRotationCurve, _init_shapeEllipsoidCenter, _init_extra_shapeEllipsoidCenter, _init_shapeEllipsoidRadius, _init_extra_shapeEllipsoidRadius, _init_translationCurve, _init_extra_translationCurve, _init_worldTransform, _init_extra_worldTransform, _init_inverseWorldTransform, _init_extra_inverseWorldTransform, _init_lastWorldTransform, _init_extra_lastWorldTransform, _init_worldVelocity, _init_extra_worldVelocity, _init_audioGeometry, _init_extra_audioGeometry, _init_isVisible, _init_extra_isVisible, _initProto],
37
50
  c: [_EveSpaceObject, _initClass]
38
51
  } = _applyDecs2311(this, [type.define({
39
52
  className: "EveSpaceObject2",
40
53
  family: "eve/spaceObject"
41
- })], [[[io, io.notify, io, io.persist, type, type.int32, void 0, schema.enum("ReflectionMode")], 16, "reflectionMode"], [[io, io.persist, void 0, type.list("IEveSpaceObjectChild")], 16, "effectChildren"], [[io, io.persist, void 0, type.list("IEveTransform")], 16, "children"], [[io, io.notify, io, io.persist, type, type.string], 16, "name"], [[io, io.notify, io, io.readwrite, type, type.boolean], 16, "mute"], [[io, io.readwrite, void 0, type.objectRef("EveChildInheritProperties")], 16, "inheritProperties"], [[io, io.persist, void 0, type.list("EveCustomMask")], 16, "customMasks"], [[io, io.persist, void 0, type.list("EveMeshOverlayEffect")], 16, "overlayEffects"], [[io, io.read, void 0, type.objectRef("Tr2BindingVector3")], 16, "positionDelta"], [[io, io.read, type, type.int32, void 0, schema.enum("Tr2Lod")], 16, "lodLevel"], [[io, io.persist, void 0, type.list("TriCurveSet")], 16, "curveSets"], [[io, io.readwrite, type, type.boolean], 16, "isPickable"], [[io, io.read, type, type.float32], 16, "estimatedPixelDiameter"], [[io, io.read, type, type.float32], 16, "estimatedPixelDiameterWithChildren"], [[io, io.read, type, type.vec3], 16, "generatedShapeEllipsoidCenter"], [[io, io.read, type, type.vec3], 16, "generatedShapeEllipsoidRadius"], [[io, io.read, void 0, type.objectRef("Tr2GrannyAnimation")], 16, "animationUpdater"], [[io, io.persist, type, type.string], 16, "dna"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "castShadow"], [[io, io.persist, type, type.boolean], 16, "isAnimated"], [[io, io.persist, type, type.boolean], 16, "dynamicBoundingSphereEnabled"], [[io, io.persist, void 0, type.list("IEveSpaceObjectAttachment")], 16, "attachments"], [[io, io.persist, void 0, type.list("EveSpaceObjectDecal")], 16, "decals"], [[io, io.notify, io, io.persist, void 0, type.list("Tr2Light")], 16, "lights"], [[io, io.persist, void 0, type.list("Tr2ExternalParameter")], 16, "externalParameters"], [[io, io.persist, void 0, type.list("ITr2Controller")], 16, "controllers"], [[io, io.persist, void 0, type.list("EveLocator2")], 16, "locators"], [[io, io.persist, void 0, type.objectRef("Tr2MeshBase")], 16, "mesh"], [[io, io.persist, void 0, type.objectRef("EveImpactOverlay")], 16, "impactOverlay"], [[io, io.persist, type, type.vec3], 16, "clipSphereCenter"], [[io, io.notify, io, io.readwrite, type, type.float32], 16, "clipSphereFactor2"], [[io, io.notify, io, io.readwrite, type, type.float32], 16, "clipSphereFactor"], [[io, io.persist, void 0, type.list("TriObserverLocal")], 16, "observers"], [[io, io.read, type, type.vec3], 16, "worldPosition"], [[io, io.persist, void 0, type.objectRef("ITriQuaternionFunction")], 16, "rotationCurve"], [[io, io.read, type, type.quat], 16, "worldRotation"], [[io, io.persist, type, type.float32], 16, "modelScale"], [[io, io.persist, void 0, type.list("EveLocatorSets")], 16, "locatorSets"], [[io, io.readwrite, type, type.float32], 16, "activationStrength"], [[io, io.readwrite, type, type.color], 16, "albedoColor"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.boolean], 16, "update"], [[io, io.read, type, type.float32], 16, "secondaryLightingSphereRadius"], [[io, io.persist, type, type.vec3], 16, "boundingSphereCenter"], [[io, io.notify, io, io.readwrite, type, type.float32], 16, "dirtLevel"], [[io, io.readwrite, type, type.vec4], 16, "customShaderData"], [[io, io.read, type, type.int32], 16, "lastDamageLocatorHit"], [[io, io.persist, type, type.float32], 16, "boundingSphereRadius"], [[io, io.read, type, type.vec3], 16, "modelWorldPosition"], [[io, io.persist, void 0, type.objectRef("ITriVectorFunction")], 16, "modelTranslationCurve"], [[io, io.persist, void 0, type.objectRef("ITriQuaternionFunction")], 16, "modelRotationCurve"], [[io, io.persist, type, type.vec3], 16, "shapeEllipsoidCenter"], [[io, io.persist, type, type.vec3], 16, "shapeEllipsoidRadius"], [[io, io.persist, void 0, type.objectRef("ITriVectorFunction")], 16, "translationCurve"], [[io, io.read, type, type.mat4], 16, "worldTransform"], [[io, io.read, type, type.mat4], 16, "inverseWorldTransform"], [[io, io.read, type, type.mat4], 16, "lastWorldTransform"], [[io, io.read, type, type.vec3], 16, "worldVelocity"], [[io, io.readwrite, void 0, type.objectRef("ITr2AudGeometry")], 16, "audioGeometry"], [[type, type.boolean], 16, "isVisible"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMesh"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMesh"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddController"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddObserver"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetInheritProperties"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetEffectChildByName"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddToEffectChildrenList"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddLight"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearLights"], [[carbon, carbon.method, impl, impl.implemented], 18, "RemoveFromEffectChildrenList"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetModelRotationCurve"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetModelRotationCurve"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetModelTranslationCurve"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetModelTranslationCurve"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateWorldTransform"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The browser runtime refreshes the cache with world-transform updates instead of Carbon's renderer-side PrepareShaderData pass.")], 18, "UpdateWorldBounds"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Native impostor, raytracing, and audio-emitter realization remain engine-owned; graph visibility and LOD state are preserved.")], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Impostor submission and decal mesh caches are engine-owned; Trinity returns the backend-neutral renderable graph.")], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Overlay area-block batches are deferred; the view position arrives via the appended render-context argument instead of Carbon's renderer global.")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon rebuilds from the geometry-resource notify callback; the GPU-free port rebuilds lazily on first batch use from the mesh areas alone.")], 18, "RebuildCachedData"], [[carbon, carbon.method, impl, impl.implemented], 18, "ReleaseCachedData"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Realized-LOD draw args are engine-resolved from the geometry source descriptor; primitive-count gating happens at realization.")], 18, "GetShadowBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Generated EveMeshOverlayEffect has no method surface yet, so the per-batch-type effect selection reads its fields here until the class is promoted; realized-LOD draw args defer to the engine.")], 18, "GetBatchesFromOverlayVector"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The overlay HasTransparentArea predicate reads the generated class's transparentEffects field until the class is promoted.")], 18, "HasTransparentBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reads the Tr2Renderer view-position global; the relocated camera state arrives via the threaded render context.")], 18, "GetSortValue"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Persistent VS/PS device buffers are engine-owned; the record carries the object reference the engine serializer consumes.")], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowPerObjectData"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetLights"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "IsCastingShadow"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "DisplayChildren"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetObserverTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocalToWorldTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetWorldPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetWorldRotation"], [[carbon, carbon.method, impl, impl.implemented], 18, "FindSoundEmitter"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMute"], [[carbon, carbon.method, impl, impl.adapted], 18, "PlayAnimationEx"], [[carbon, carbon.method, impl, impl.adapted], 18, "CalculateSkinnedBoundingBoxFromTransform"], [[carbon, carbon.method, impl, impl.adapted], 18, "CalculateSkinnedBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearImpactDamage"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearAnimations"], [[carbon, carbon.method, impl, impl.implemented], 18, "CreateImpactFromPosition"], [[carbon, carbon.method, impl, impl.adapted], 18, "CreateImpact"], [[carbon, carbon.method, impl, impl.implemented], 18, "EndAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "FreezeHighDetailMesh"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDamageLocatorCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorsForSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetCloseLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetGoodLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetDamageLocatorDirection"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS keeps output parameters last and returns a validity flag for targetable callers.")], 18, "GetDamageLocatorPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetClosestDamageLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("TriRand is represented by Math.random; all locator scoring remains source-faithful.")], 18, "GetGoodDamageLocatorIndex"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRadius"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMissPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetImpactConfiguration"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasImpactConfigurationShield"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses an out-last signature; the ellipsoid intersection is otherwise source-faithful CPU math.")], 18, "GetImpactPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateImpact"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDamageLocator"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetTransformedDamageLocator"], [[carbon, carbon.method, impl, impl.adapted], 18, "IsImpostor"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorPositionFromSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorRotationFromSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "HandleControllerEvent"], [[carbon, carbon.method, impl, impl.adapted], 18, "PlayAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChainAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChainAnimationEx"], [[carbon, carbon.method, impl, impl.adapted], 18, "RebuildBoundingSphereInformation"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's CcpMath::Sphere is represented by core-math sph3; object-shaped center/radius input is accepted at adapter boundaries.")], 18, "SetBoundingSphereInformation"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetControllerVariables"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Geometry resources without multi-LOD support expose their sole browser LOD as index zero.")], 18, "GetLastUsedMeshLod"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetLocatorTransform"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetLocalBoundingBox"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetWorldBoundingBox"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsBoundingBoxReady"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("TriFrustum is supplied structurally by the active engine; both exact and estimated browser frustum methods are supported.")], 18, "EstimatePixelDiameter"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsInFrustum"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphereCenter"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphereRadius"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetBoneCount"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetImpactDamageState"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetImpactAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetControllerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetProceduralContainerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "StartControllers"], [[carbon, carbon.method, impl, impl.adapted], 18, "TransformLocators"]], 0, void 0, _EveEntity));
54
+ })], [[[io, io.notify, io, io.persist, type, type.int32, void 0, schema.enum("ReflectionMode")], 16, "reflectionMode"], [[io, io.persist, void 0, type.list("IEveSpaceObjectChild")], 16, "effectChildren"], [[io, io.persist, void 0, type.list("IEveTransform")], 16, "children"], [[io, io.notify, io, io.persist, type, type.string], 16, "name"], [[io, io.notify, io, io.readwrite, type, type.boolean], 16, "mute"], [[io, io.readwrite, void 0, type.objectRef("EveChildInheritProperties")], 16, "inheritProperties"], [[io, io.persist, void 0, type.list("EveCustomMask")], 16, "customMasks"], [[io, io.persist, void 0, type.list("EveMeshOverlayEffect")], 16, "overlayEffects"], [[io, io.read, void 0, type.objectRef("Tr2BindingVector3")], 16, "positionDelta"], [[io, io.read, type, type.int32, void 0, schema.enum("Tr2Lod")], 16, "lodLevel"], [[io, io.persist, void 0, type.list("TriCurveSet")], 16, "curveSets"], [[io, io.readwrite, type, type.boolean], 16, "isPickable"], [[io, io.read, type, type.float32], 16, "estimatedPixelDiameter"], [[io, io.read, type, type.float32], 16, "estimatedPixelDiameterWithChildren"], [[io, io.read, type, type.vec3], 16, "generatedShapeEllipsoidCenter"], [[io, io.read, type, type.vec3], 16, "generatedShapeEllipsoidRadius"], [[io, io.read, void 0, type.objectRef("Tr2GrannyAnimation")], 16, "animationUpdater"], [[io, io.persist, type, type.string], 16, "dna"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "castShadow"], [[io, io.persist, type, type.boolean], 16, "isAnimated"], [[io, io.persist, type, type.boolean], 16, "dynamicBoundingSphereEnabled"], [[io, io.persist, void 0, type.list("IEveSpaceObjectAttachment")], 16, "attachments"], [[io, io.persist, void 0, type.list("EveSpaceObjectDecal")], 16, "decals"], [[io, io.notify, io, io.persist, void 0, type.list("Tr2Light")], 16, "lights"], [[io, io.persist, void 0, type.list("Tr2ExternalParameter")], 16, "externalParameters"], [[io, io.persist, void 0, type.list("ITr2Controller")], 16, "controllers"], [[io, io.persist, void 0, type.list("EveLocator2")], 16, "locators"], [[io, io.persist, void 0, type.objectRef("Tr2MeshBase")], 16, "mesh"], [[io, io.persist, void 0, type.objectRef("EveImpactOverlay")], 16, "impactOverlay"], [[io, io.persist, type, type.vec3], 16, "clipSphereCenter"], [[io, io.notify, io, io.readwrite, type, type.float32], 16, "clipSphereFactor2"], [[io, io.notify, io, io.readwrite, type, type.float32], 16, "clipSphereFactor"], [[io, io.persist, void 0, type.list("TriObserverLocal")], 16, "observers"], [[io, io.read, type, type.vec3], 16, "worldPosition"], [[io, io.persist, void 0, type.objectRef("ITriQuaternionFunction")], 16, "rotationCurve"], [[io, io.read, type, type.quat], 16, "worldRotation"], [[io, io.persist, type, type.float32], 16, "modelScale"], [[io, io.persist, void 0, type.list("EveLocatorSets")], 16, "locatorSets"], [[io, io.readwrite, type, type.float32], 16, "activationStrength"], [[io, io.readwrite, type, type.color], 16, "albedoColor"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.boolean], 16, "update"], [[io, io.read, type, type.float32], 16, "secondaryLightingSphereRadius"], [[io, io.persist, type, type.vec3], 16, "boundingSphereCenter"], [[io, io.notify, io, io.readwrite, type, type.float32], 16, "dirtLevel"], [[io, io.readwrite, type, type.vec4], 16, "customShaderData"], [[io, io.read, type, type.vec4], 16, "spaceObjectShipData"], [[io, io.read, type, type.int32], 16, "lastDamageLocatorHit"], [[io, io.persist, type, type.float32], 16, "boundingSphereRadius"], [[io, io.read, type, type.vec3], 16, "modelWorldPosition"], [[io, io.persist, void 0, type.objectRef("ITriVectorFunction")], 16, "modelTranslationCurve"], [[io, io.persist, void 0, type.objectRef("ITriQuaternionFunction")], 16, "modelRotationCurve"], [[io, io.persist, type, type.vec3], 16, "shapeEllipsoidCenter"], [[io, io.persist, type, type.vec3], 16, "shapeEllipsoidRadius"], [[io, io.persist, void 0, type.objectRef("ITriVectorFunction")], 16, "translationCurve"], [[io, io.read, type, type.mat4], 16, "worldTransform"], [[io, io.read, type, type.mat4], 16, "inverseWorldTransform"], [[io, io.read, type, type.mat4], 16, "lastWorldTransform"], [[io, io.read, type, type.vec3], 16, "worldVelocity"], [[io, io.readwrite, void 0, type.objectRef("ITr2AudGeometry")], 16, "audioGeometry"], [[type, type.boolean], 16, "isVisible"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMesh"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMesh"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddController"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddObserver"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetInheritProperties"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetEffectChildByName"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddToEffectChildrenList"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddLight"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearLights"], [[carbon, carbon.method, impl, impl.implemented], 18, "RemoveFromEffectChildrenList"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetModelRotationCurve"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetModelRotationCurve"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetModelTranslationCurve"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetModelTranslationCurve"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateWorldTransform"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The browser runtime refreshes the cache with world-transform updates instead of Carbon's renderer-side PrepareShaderData pass.")], 18, "UpdateWorldBounds"], [[carbon, carbon.method, impl, impl.implemented], 18, "PrepareShaderData"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateShLighting"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearShLighting"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetParentData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectStructs"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Native impostor, raytracing, and audio-emitter realization remain engine-owned; graph visibility and LOD state are preserved.")], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Impostor submission and decal mesh caches are engine-owned; Trinity returns the backend-neutral renderable graph.")], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Overlay area-block batches are deferred; the view position arrives via the appended render-context argument instead of Carbon's renderer global.")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon rebuilds from the geometry-resource notify callback; the GPU-free port rebuilds lazily on first batch use from the mesh areas alone.")], 18, "RebuildCachedData"], [[carbon, carbon.method, impl, impl.implemented], 18, "ReleaseCachedData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPickingBatches"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetID"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Realized-LOD draw args are engine-resolved from the geometry source descriptor; primitive-count gating happens at realization.")], 18, "GetShadowBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Overlay selection is fully represented in the CPU graph; realized-LOD draw arguments remain engine-owned.")], 18, "GetBatchesFromOverlayVector"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Portable mesh area access replaces Carbon's native mesh-area vectors.")], 18, "HasTransparentBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reads the Tr2Renderer view-position global; the relocated camera state arrives via the threaded render context.")], 18, "GetSortValue"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Persistent VS/PS device buffers are engine-owned; the record carries the object reference the engine serializer consumes.")], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowPerObjectData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLights"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "IsCastingShadow"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "DisplayChildren"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetObserverTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocalToWorldTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetModelCenterWorldPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetWorldPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetWorldRotation"], [[carbon, carbon.method, impl, impl.implemented], 18, "FindSoundEmitter"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMute"], [[carbon, carbon.method, impl, impl.adapted], 18, "PlayAnimationEx"], [[carbon, carbon.method, impl, impl.adapted], 18, "CalculateSkinnedBoundingBoxFromTransform"], [[carbon, carbon.method, impl, impl.adapted], 18, "CalculateSkinnedBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearImpactDamage"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearAnimations"], [[carbon, carbon.method, impl, impl.implemented], 18, "CreateImpactFromPosition"], [[carbon, carbon.method, impl, impl.adapted], 18, "CreateImpact"], [[carbon, carbon.method, impl, impl.implemented], 18, "EndAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "FreezeHighDetailMesh"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDamageLocatorCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorsForSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetCloseLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetGoodLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetDamageLocatorDirection"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS keeps output parameters last and returns a validity flag for targetable callers.")], 18, "GetDamageLocatorPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetClosestDamageLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("TriRand is represented by Math.random; all locator scoring remains source-faithful.")], 18, "GetGoodDamageLocatorIndex"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRadius"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMissPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetImpactConfiguration"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasImpactConfigurationShield"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses an out-last signature; the ellipsoid intersection is otherwise source-faithful CPU math.")], 18, "GetImpactPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateImpact"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDamageLocator"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetTransformedDamageLocator"], [[carbon, carbon.method, impl, impl.adapted], 18, "IsImpostor"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorPositionFromSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocatorRotationFromSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "HandleControllerEvent"], [[carbon, carbon.method, impl, impl.adapted], 18, "PlayAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChainAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChainAnimationEx"], [[carbon, carbon.method, impl, impl.adapted], 18, "RebuildBoundingSphereInformation"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's CcpMath::Sphere is represented by core-math sph3; object-shaped center/radius input is accepted at adapter boundaries.")], 18, "SetBoundingSphereInformation"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetControllerVariables"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Geometry resources without multi-LOD support expose their sole browser LOD as index zero.")], 18, "GetLastUsedMeshLod"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetLocatorTransform"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetLocalBoundingBox"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetWorldBoundingBox"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsBoundingBoxReady"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("TriFrustum is supplied structurally by the active engine; both exact and estimated browser frustum methods are supported.")], 18, "EstimatePixelDiameter"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsInFrustum"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphereCenter"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphereRadius"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetBoneCount"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetImpactDamageState"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetImpactAnimation"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetControllerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetProceduralContainerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "StartControllers"], [[carbon, carbon.method, impl, impl.adapted], 18, "TransformLocators"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShapeEllipsoid"]], 0, void 0, _EveEntity));
42
55
  }
43
56
  /** m_reflectionMode (EntityComponents::ReflectionMode - enum ReflectionMode) [READWRITE, PERSIST, NOTIFY, ENUM] */
44
57
  reflectionMode = (_initProto(this), _init_reflectionMode(this, 3));
@@ -178,8 +191,15 @@ new class extends _identity {
178
191
  /** m_psData.customData (Vector4) [READWRITE] - script/SOF-driven custom shader data. */
179
192
  customShaderData = (_init_extra_dirtLevel(this), _init_customShaderData(this, vec4.create()));
180
193
 
194
+ /**
195
+ * m_spaceObjectShipData (Vector4) [READ] - the packed shader ship data:
196
+ * .y activation strength, .z dirt level, .w bounding-sphere radius
197
+ * (PrepareShaderData, cpp:734-744). .x is authored elsewhere and left alone.
198
+ */
199
+ spaceObjectShipData = (_init_extra_customShaderData(this), _init_spaceObjectShipData(this, vec4.create()));
200
+
181
201
  /** m_lastDamageLocatorHit (int) [READ] */
182
- lastDamageLocatorHit = (_init_extra_customShaderData(this), _init_lastDamageLocatorHit(this, -1));
202
+ lastDamageLocatorHit = (_init_extra_spaceObjectShipData(this), _init_lastDamageLocatorHit(this, -1));
183
203
 
184
204
  /** m_boundingSphereRadius (float) [READWRITE, PERSIST] */
185
205
  boundingSphereRadius = (_init_extra_lastDamageLocatorHit(this), _init_boundingSphereRadius(this, -1));
@@ -241,12 +261,43 @@ new class extends _identity {
241
261
 
242
262
  // Carbon m_impostorMode: the impostor system that raises it is unported.
243
263
  #impostorMode = false;
264
+
265
+ /** EVE_SPACEOBJECT_CUSTOWMASK_MAX (EveSpaceObject2.h:49) - custom-mask slots. */
266
+
267
+ /**
268
+ * Carbon g_secondaryLightingRadiusCutoffFactor (cpp:52), a registered engine
269
+ * setting defaulting to 0.3. It scales this hull's bounding radius into the
270
+ * cutoff below which a secondary light source is too small to matter.
271
+ */
272
+
273
+ /** Scratch for the per-frame shader-data fill; never allocate in it. */
274
+
275
+ // Carbon m_vsData / m_psData: the PERSISTENT per-object records. They are
276
+ // owner-held members across frames rather than pool leases, because the
277
+ // object fills them during update and reads them back afterwards
278
+ // (cpp:3747 takes the world translation out of the STORED transposed matrix).
279
+ // Carbon's paired m_perObjectDataVs/m_perObjectDataPs GPU buffers are the
280
+ // engine's business; Invalidate on these records carries the same signal.
281
+ #vsData = RawData.create("EveSpaceObjectVSData");
282
+ #psData = RawData.create("EveSpaceObjectPSData");
283
+
284
+ /** Alias for the mesh property; reads and writes go straight to mesh. */
244
285
  get meshLod() {
245
286
  return this.mesh;
246
287
  }
288
+
289
+ /** Alias for the mesh property; reads and writes go straight to mesh. */
247
290
  set meshLod(mesh) {
248
291
  this.mesh = mesh ?? null;
249
292
  }
293
+
294
+ /**
295
+ * Links the authored controllers, pushes authored inherit properties down to
296
+ * the effect children and lights, and derives the impact overlay's damage
297
+ * locator count from the "damage" locator set - which Carbon does at build
298
+ * time - so a field-populated graph reaches the same live state as the
299
+ * authoring path.
300
+ */
250
301
  Initialize() {
251
302
  for (const controller of this.controllers) {
252
303
  if (!controller?.IsLinked?.()) {
@@ -271,12 +322,24 @@ new class extends _identity {
271
322
  }
272
323
  return true;
273
324
  }
325
+
326
+ /** Returns the hull mesh, or null when none is attached. */
274
327
  GetMesh() {
275
328
  return this.mesh;
276
329
  }
330
+
331
+ /**
332
+ * Replaces the hull mesh; the cached area blocks are only rebuilt on the next
333
+ * batch call.
334
+ */
277
335
  SetMesh(mesh) {
278
336
  this.mesh = mesh ?? null;
279
337
  }
338
+
339
+ /**
340
+ * Appends a controller, links it to this object when it is not already linked,
341
+ * and replays the current controller variables onto it.
342
+ */
280
343
  AddController(controller) {
281
344
  this.controllers.push(controller);
282
345
  if (!controller?.IsLinked?.()) {
@@ -285,10 +348,22 @@ new class extends _identity {
285
348
  _EveSpaceObject.#ApplyControllerVariables(controller, this.#controllerVariables, "SetVariable");
286
349
  return controller;
287
350
  }
351
+
352
+ /**
353
+ * Appends a placement observer, which is repositioned from the observer
354
+ * transform on every synchronous update; the observer is returned for
355
+ * chaining.
356
+ */
288
357
  AddObserver(observer) {
289
358
  this.observers.push(observer);
290
359
  return observer;
291
360
  }
361
+
362
+ /**
363
+ * Sets the colour set that effect children and lights inherit, creating the
364
+ * inherit-properties holder on first use, and pushes it to the existing
365
+ * children and lights.
366
+ */
292
367
  SetInheritProperties(colorSet) {
293
368
  if (!this.inheritProperties) {
294
369
  this.inheritProperties = new _EveChildInheritPrope();
@@ -296,6 +371,8 @@ new class extends _identity {
296
371
  this.inheritProperties.SetProperties(colorSet);
297
372
  this.#PropagateInheritProperties();
298
373
  }
374
+
375
+ /** Pushes the current inherited properties to every effect child and light. */
299
376
  #PropagateInheritProperties() {
300
377
  const properties = this.inheritProperties.GetProperties();
301
378
  for (const child of this.effectChildren) {
@@ -305,6 +382,11 @@ new class extends _identity {
305
382
  light?.SetInheritProperties?.(properties);
306
383
  }
307
384
  }
385
+
386
+ /**
387
+ * Returns the first effect child with the given name, or null when none
388
+ * matches.
389
+ */
308
390
  GetEffectChildByName(name) {
309
391
  const target = String(name ?? "");
310
392
  for (const child of this.effectChildren) {
@@ -314,6 +396,12 @@ new class extends _identity {
314
396
  }
315
397
  return null;
316
398
  }
399
+
400
+ /**
401
+ * Appends an effect child, first giving it the hull's inherited properties and
402
+ * then replaying the current controller variables onto it, so a late addition
403
+ * starts in the same state as the rest.
404
+ */
317
405
  AddToEffectChildrenList(child) {
318
406
  if (this.inheritProperties) {
319
407
  child?.SetInheritProperties?.(this.inheritProperties.GetProperties());
@@ -322,15 +410,27 @@ new class extends _identity {
322
410
  _EveSpaceObject.#ApplyControllerVariables(child, this.#controllerVariables, "SetControllerVariable");
323
411
  return child;
324
412
  }
413
+
414
+ /** Appends a light, first giving it the hull's inherited properties. */
325
415
  AddLight(light) {
326
416
  if (this.inheritProperties) {
327
417
  light?.SetInheritProperties?.(this.inheritProperties.GetProperties());
328
418
  }
329
419
  this.lights.push(light);
330
420
  }
421
+
422
+ /**
423
+ * Drops every light from the hull; component registration is not revisited
424
+ * here.
425
+ */
331
426
  ClearLights() {
332
427
  this.lights.length = 0;
333
428
  }
429
+
430
+ /**
431
+ * Removes an effect child, returning false when it is not attached to this
432
+ * hull.
433
+ */
334
434
  RemoveFromEffectChildrenList(child) {
335
435
  const index = this.effectChildren.indexOf(child);
336
436
  if (index === -1) {
@@ -339,18 +439,38 @@ new class extends _identity {
339
439
  this.effectChildren.splice(index, 1);
340
440
  return true;
341
441
  }
442
+
443
+ /**
444
+ * Sets the curve that rotates the model within the hull's ball rotation, or
445
+ * clears it when passed nothing.
446
+ */
342
447
  SetModelRotationCurve(curve) {
343
448
  this.modelRotationCurve = curve ?? null;
344
449
  }
450
+
451
+ /** Returns the model rotation curve, or null when none is set. */
345
452
  GetModelRotationCurve() {
346
453
  return this.modelRotationCurve;
347
454
  }
455
+
456
+ /**
457
+ * Sets the curve that offsets the model within the hull's ball position, or
458
+ * clears it when passed nothing.
459
+ */
348
460
  SetModelTranslationCurve(curve) {
349
461
  this.modelTranslationCurve = curve ?? null;
350
462
  }
463
+
464
+ /** Returns the model translation curve, or null when none is set. */
351
465
  GetModelTranslationCurve() {
352
466
  return this.modelTranslationCurve;
353
467
  }
468
+
469
+ /**
470
+ * Rebuilds the hull world transform for a frame from the ball position and rotation curves plus the optional model translation and rotation curves, applies modelScale as a uniform scale, then refreshes the inverse transform and the world bounds; the previous world transform is kept for motion vectors and the world velocity comes from the position curve's derivative.
471
+ * @param {number} time Frame time; repeating the previous call's time is a no-op.
472
+ * @returns {boolean} False when the transform had already been built for this time.
473
+ */
354
474
  UpdateWorldTransform(time) {
355
475
  const nextTime = Number(time) || 0;
356
476
  if (this.#lastUpdateTransformTime === nextTime) {
@@ -358,6 +478,10 @@ new class extends _identity {
358
478
  }
359
479
  this.#lastUpdateTransformTime = nextTime;
360
480
  mat4.copy(this.lastWorldTransform, this.worldTransform);
481
+ // Carbon cpp:2675-2676: the OUTGOING transform becomes worldTransformLast,
482
+ // stored transposed in both records, before the new one is built.
483
+ this.#vsData.SetAndTranspose("worldTransformLast", this.lastWorldTransform);
484
+ this.#psData.SetAndTranspose("worldTransformLast", this.lastWorldTransform);
361
485
  _EveSpaceObject.#UpdateCurve(this.translationCurve, nextTime, this.worldPosition, _EveSpaceObject.#zero);
362
486
  if (this.translationCurve?.GetValueDotAt) {
363
487
  this.translationCurve.GetValueDotAt(nextTime, this.worldVelocity);
@@ -374,6 +498,11 @@ new class extends _identity {
374
498
  }
375
499
  mat4.fromQuat(this.worldTransform, rotation);
376
500
  if (this.modelScale !== 1) {
501
+ // Carbon (row-vector): m_worldTransform * scaleMatrix - scale LAST
502
+ // (cpp:2711-2716). gl mat4.scale builds W*S = scale FIRST; equivalent
503
+ // ONLY because modelScale is strictly uniform (a uniform scale commutes
504
+ // with the pure rotation here). If modelScale ever becomes a vec3 this
505
+ // must become mat4.multiply(w, S, w) per the swap rule.
377
506
  mat4.scale(this.worldTransform, this.worldTransform, [this.modelScale, this.modelScale, this.modelScale]);
378
507
  }
379
508
  if (this.modelTranslationCurve) {
@@ -395,9 +524,9 @@ new class extends _identity {
395
524
  return true;
396
525
  }
397
526
 
398
- /**
399
- * Refreshes Carbon's realized world-space sphere from the dynamic skinned
400
- * sphere when available, otherwise from the authored local sphere.
527
+ /**
528
+ * Refreshes Carbon's realized world-space sphere from the dynamic skinned
529
+ * sphere when available, otherwise from the authored local sphere.
401
530
  */
402
531
  UpdateWorldBounds() {
403
532
  const updater = this.animationUpdater;
@@ -416,6 +545,114 @@ new class extends _identity {
416
545
  }
417
546
  return false;
418
547
  }
548
+
549
+ /**
550
+ * Carbon EveSpaceObject2::PrepareShaderData (cpp:734-763): refreshes the
551
+ * world bounds, packs the ship data, and derives the clip-sphere dissolve
552
+ * values into the persistent per-object records.
553
+ */
554
+ PrepareShaderData(updateContext = null) {
555
+ this.UpdateWorldBounds();
556
+
557
+ // An impact overlay may damp the activation strength; otherwise full on.
558
+ this.spaceObjectShipData[1] = this.impactOverlay ? this.impactOverlay.GetActivationStrength?.(updateContext) ?? 1 : 1;
559
+ this.spaceObjectShipData[3] = this.GetBoundingSphereRadius();
560
+ this.spaceObjectShipData[2] = this.dirtLevel;
561
+
562
+ // clipSphereFactor runs 0 (fully visible) to 1 (invisible); the shader gets
563
+ // a signed squared radius rather than the factor itself.
564
+ let normalizedBoundingRadius = this.GetBoundingSphereRadius() / (this.modelScale === 0 ? 1 : this.modelScale);
565
+ const clipOffset = vec3.length(this.clipSphereCenter);
566
+ normalizedBoundingRadius += clipOffset;
567
+ const insideSpherePercentage = Math.min(1, clipOffset / normalizedBoundingRadius);
568
+ const dissolveRadius = this.clipSphereFactor * normalizedBoundingRadius * (1 + insideSpherePercentage);
569
+ const center = this.GetBoundingSphereCenter();
570
+ const clipSphereCenter = _EveSpaceObject.#clipSphereCenterScratch;
571
+ vec3.add(clipSphereCenter, this.clipSphereCenter, center);
572
+ const clipRadiusSq = Math.sign(dissolveRadius) * dissolveRadius * dissolveRadius;
573
+ this.#psData.Set("clipSphereCenter", clipSphereCenter);
574
+ this.#psData.Set("clipRadiusSq", [clipRadiusSq]);
575
+ this.#vsData.Set("clipData", [clipSphereCenter[0], clipSphereCenter[1], clipSphereCenter[2], clipRadiusSq]);
576
+ const dissolveRadius2 = this.clipSphereFactor2 * normalizedBoundingRadius * (1 + insideSpherePercentage);
577
+ this.#psData.Set("clipRadius2Sq", [Math.sign(dissolveRadius2) * dissolveRadius2 * dissolveRadius2]);
578
+ this.#psData.Set("clipSphereFactor", [this.clipSphereFactor]);
579
+ this.#psData.Set("clipSphereFactor2", [this.clipSphereFactor2]);
580
+ }
581
+
582
+ /**
583
+ * Carbon EveSpaceObject2::UpdateShLighting (cpp:1411-1421): asks the scene's
584
+ * SH lighting manager for this hull's secondary-lighting coefficients, faded
585
+ * in across the low-detail threshold so a hull entering that range does not
586
+ * pop. The coefficients are cleared first, which is also what leaves the
587
+ * unwritten tail zero on the L1 path.
588
+ * @param {Object} manager - Tr2ShLightingManager
589
+ * @param {Object} [updateContext] - frame context, for the detail thresholds
590
+ */
591
+ UpdateShLighting(manager, updateContext = null) {
592
+ const coefficients = this.#psData.Get("shLightingCoefficients");
593
+ coefficients.fill(0);
594
+ const lowThreshold = _EveSpaceObject.#GetContextValue(updateContext, "GetLowDetailThreshold", "lowDetailThreshold");
595
+ if (!(this.estimatedPixelDiameterWithChildren > lowThreshold) || typeof manager?.GetLighting !== "function") {
596
+ return false;
597
+ }
598
+ const mediumThreshold = _EveSpaceObject.#GetContextValue(updateContext, "GetMediumDetailThreshold", "mediumDetailThreshold");
599
+ const intensityFadeRadius = (mediumThreshold - lowThreshold) * 0.25;
600
+ const intensity = Math.min(Math.max((this.estimatedPixelDiameterWithChildren - lowThreshold) / intensityFadeRadius, 0), 1);
601
+ manager.GetLighting(this.worldPosition, intensity, this.boundingSphereRadius * _EveSpaceObject.SECONDARY_LIGHTING_RADIUS_CUTOFF_FACTOR, coefficients);
602
+ return true;
603
+ }
604
+
605
+ /**
606
+ * Carbon EveSpaceObject2::ClearShLighting (cpp:1423-1426): drops this hull's
607
+ * secondary-lighting contribution back to nothing.
608
+ */
609
+ ClearShLighting() {
610
+ this.#psData.Get("shLightingCoefficients").fill(0);
611
+ return true;
612
+ }
613
+
614
+ /**
615
+ * Carbon EveSpaceObject2::GetParentData (cpp:1872-1885): the values an
616
+ * attachment needs from its hull. `shLighting` is a LIVE view into the PS
617
+ * record, exactly as Carbon hands out a raw pointer into m_psData - an
618
+ * attachment reading it sees the hull's current coefficients.
619
+ * @param {Object} [out] - caller-owned record, refreshed in place
620
+ */
621
+ GetParentData(out = new _IEveSpaceObject2Pare()) {
622
+ mat4.copy(out.transform, this.worldTransform);
623
+ // Carbon memsets the record and never assigns killCount on this path.
624
+ out.killCount = 0;
625
+ vec4.copy(out.shipData, this.spaceObjectShipData);
626
+ vec3.copy(out.clipSphereCenter, this.#psData.Get("clipSphereCenter"));
627
+ out.clipRadiusSq = this.#psData.Get("clipRadiusSq")[0];
628
+ out.clipRadius2Sq = this.#psData.Get("clipRadius2Sq")[0];
629
+ out.clipFactor = this.#psData.Get("clipSphereFactor")[0];
630
+ out.clipFactor2 = this.#psData.Get("clipSphereFactor2")[0];
631
+ out.shLighting = this.#psData.Get("shLightingCoefficients");
632
+ vec4.copy(out.customData, this.#psData.Get("customData"));
633
+ return out;
634
+ }
635
+
636
+ /**
637
+ * Carbon EveSpaceObject2::GetPerObjectStructs (cpp:1485-1490): hands a copy
638
+ * of both records to a caller, with the VS record's customData taken from the
639
+ * PS record as Carbon does.
640
+ * @returns {{vs: RawData, ps: RawData}} independent copies, not live records
641
+ */
642
+ GetPerObjectStructs(vsData = RawData.create("EveSpaceObjectVSData"), psData = RawData.create("EveSpaceObjectPSData")) {
643
+ vsData.CopyFrom(this.#vsData);
644
+ psData.CopyFrom(this.#psData);
645
+ vsData.Set("customData", this.#psData.Get("customData"));
646
+ return {
647
+ vs: vsData,
648
+ ps: psData
649
+ };
650
+ }
651
+
652
+ /**
653
+ * Refreshes the world transform, then - when the update flag is on - places the observers, stamps the LOD-gated curve clock while advancing the overlay effects, runs the effect children's synchronous pass with the current placement, and updates the impact overlay; the overlay effects receive the context time as both clocks, as Carbon does.
654
+ * @returns {boolean} False when the update flag is off; the world transform is refreshed either way.
655
+ */
419
656
  UpdateSyncronous(updateContext = null) {
420
657
  const time = _EveSpaceObject.#GetContextValue(updateContext, "GetTime", "currentTime", "time");
421
658
  this.UpdateWorldTransform(time);
@@ -452,6 +689,11 @@ new class extends _identity {
452
689
  this.impactOverlay?.UpdateSyncronous?.(updateContext, this);
453
690
  return true;
454
691
  }
692
+
693
+ /**
694
+ * Runs the controllers at a frequency derived from the hull's estimated pixel diameter against the context's high-detail threshold, advances the object curve sets only on frames the synchronous LOD gate stamped, then updates the transform children, the effect children and the impact overlay.
695
+ * @returns {number} The controller update frequency in 0..1, which is also handed to the effect children; 0 when the hull is not visible or the update flag is off.
696
+ */
455
697
  UpdateAsyncronous(updateContext = null) {
456
698
  if (!this.update) {
457
699
  return 0;
@@ -462,6 +704,42 @@ new class extends _identity {
462
704
  controller?.Update?.(frequency);
463
705
  }
464
706
 
707
+ // Carbon cpp:626-663: the persistent buffers are invalidated once per
708
+ // frame, then the shader data is prepared and copied into both records.
709
+ this.#vsData.Invalidate();
710
+ this.#psData.Invalidate();
711
+ const previousActivationStrength = this.spaceObjectShipData[1];
712
+ this.PrepareShaderData(updateContext);
713
+ if (previousActivationStrength !== this.spaceObjectShipData[1]) {
714
+ this.SetControllerVariable?.("ActivationStrength", this.spaceObjectShipData[1]);
715
+ }
716
+ this.#psData.Set("shipData", this.spaceObjectShipData);
717
+ this.#vsData.Set("shipData", this.spaceObjectShipData);
718
+ // m_psData.customData is script/SOF-driven; the model field is its author.
719
+ this.#psData.Set("customData", this.customShaderData);
720
+ // Both records carry the same two matrices; each is written from the
721
+ // LOGICAL transform, which produces the bytes Carbon's `m_psData.x =
722
+ // m_vsData.x` copy of the already-transposed value produces.
723
+ this.#vsData.SetAndTranspose("worldTransform", this.worldTransform);
724
+ this.#vsData.SetAndTranspose("invWorldTransform", this.inverseWorldTransform);
725
+ this.#psData.SetAndTranspose("worldTransform", this.worldTransform);
726
+ this.#psData.SetAndTranspose("invWorldTransform", this.inverseWorldTransform);
727
+ const shapeCenter = _EveSpaceObject.#shapeCenterScratch;
728
+ const shapeRadius = _EveSpaceObject.#shapeRadiusScratch;
729
+ this.GetShapeEllipsoid(shapeCenter, shapeRadius);
730
+ this.#vsData.Set("ellpsoidRadii", [shapeRadius[0], shapeRadius[1], shapeRadius[2], 0]);
731
+ this.#vsData.Set("ellpsoidCenter", [shapeCenter[0], shapeCenter[1], shapeCenter[2], 0]);
732
+ if (this.impactOverlay) {
733
+ this.#psData.Set("impactDataOffset", [this.impactOverlay.GetDataTextureOffset?.() ?? 0]);
734
+ }
735
+ for (let slot = 0; slot < _EveSpaceObject.CUSTOM_MASK_MAX; slot++) {
736
+ if (this.customMasks.length > slot) {
737
+ this.customMasks[slot]?.FillPerObjectData?.(slot, this.#vsData, this.#psData);
738
+ } else {
739
+ _EveCustomMask.ZeroPerObjectData(slot, this.#vsData, this.#psData);
740
+ }
741
+ }
742
+
465
743
  // Object-level curve sets update only on frames the sync-side LOD gate
466
744
  // stamped, receiving the context time as BOTH realTime and simTime
467
745
  // (Carbon EveSpaceObject2::UpdateAsyncronous: if (m_lastCurveUpdateTime ==
@@ -491,9 +769,9 @@ new class extends _identity {
491
769
  return frequency;
492
770
  }
493
771
 
494
- /**
495
- * Updates Carbon's visibility, pixel-size, and mesh-LOD state, then forwards
496
- * visibility to the explicitly owned visual branches.
772
+ /**
773
+ * Updates Carbon's visibility, pixel-size, and mesh-LOD state, then forwards
774
+ * visibility to the explicitly owned visual branches.
497
775
  */
498
776
  UpdateVisibility(updateContext = null, _parentTransform = _EveSpaceObject.#identityTransform) {
499
777
  this.isVisible = false;
@@ -518,8 +796,15 @@ new class extends _identity {
518
796
  this.#isMeshVisible = true;
519
797
  }
520
798
  }
799
+
800
+ // Bones so a bone-parented attachment's bounds follow its bone, which is
801
+ // what drives the per-bone AABB union (Carbon BoundingBox.cpp:815-833).
802
+ const {
803
+ bones,
804
+ boneCount
805
+ } = getBoneList(this.animationUpdater);
521
806
  for (const attachment of this.attachments) {
522
- if (attachment?.UpdateVisibility?.(updateContext, this.worldTransform, null, 0)) {
807
+ if (attachment?.UpdateVisibility?.(updateContext, this.worldTransform, bones, boneCount)) {
523
808
  this.#isMeshVisible = true;
524
809
  this.isVisible = true;
525
810
  }
@@ -582,10 +867,10 @@ new class extends _identity {
582
867
  return out;
583
868
  }
584
869
 
585
- /** Carbon ITr2Renderable contract (EveSpaceObject2.cpp:1097-1140): activated
586
- * attachments recurse, the impact overlay contributes, the hull mesh delegates
587
- * per batch type, and TRANSPARENT routes through the distance-sorted area
588
- * path. GetBatchesFromOverlayVector (precomputed overlay area blocks) is
870
+ /** Carbon ITr2Renderable contract (EveSpaceObject2.cpp:1097-1140): activated
871
+ * attachments recurse, the impact overlay contributes, the hull mesh delegates
872
+ * per batch type, and TRANSPARENT routes through the distance-sorted area
873
+ * path. GetBatchesFromOverlayVector (precomputed overlay area blocks) is
589
874
  * deferred with the overlay realization work. */
590
875
  GetBatches(batches, batchType, perObjectData, reason, renderContext = null) {
591
876
  if (!this.mesh) return false;
@@ -620,6 +905,13 @@ new class extends _identity {
620
905
  // order into the order-preserving TRANSPARENT accumulator. Bounding boxes come
621
906
  // from the geometry resource when it exposes them; a failed lookup keeps
622
907
  // Carbon's origin-center fallback.
908
+
909
+ /**
910
+ * Commits the mesh's transparent areas back-to-front, ordering them by the
911
+ * squared distance from the view position to each area's world-space
912
+ * bounding-box center and falling back to the object origin when the geometry
913
+ * resource cannot supply a box.
914
+ */
623
915
  #GetSortedTransparentBatches(areas, batches, perObjectData, renderContext) {
624
916
  const geometry = this.mesh.GetGeometryResource?.() ?? null;
625
917
  const viewPosition = renderContext?.GetViewPosition?.();
@@ -650,10 +942,10 @@ new class extends _identity {
650
942
  }
651
943
  }
652
944
 
653
- /** Rebuilds the cached overlay/shadow area-block lists from the current mesh
654
- * (Carbon RebuildCachedData, EveSpaceObject2.cpp:2077-2097, triggered there by
655
- * the geometry-resource load callback). TYPE_ALL = shadow-casting OPAQUE +
656
- * TRANSPARENT + DECAL areas; TYPE_OPAQUEONLY = shadow-casting OPAQUE; the
945
+ /** Rebuilds the cached overlay/shadow area-block lists from the current mesh
946
+ * (Carbon RebuildCachedData, EveSpaceObject2.cpp:2077-2097, triggered there by
947
+ * the geometry-resource load callback). TYPE_ALL = shadow-casting OPAQUE +
948
+ * TRANSPARENT + DECAL areas; TYPE_OPAQUEONLY = shadow-casting OPAQUE; the
657
949
  * shadow list groups OPAQUE areas by shared material. All coalesced. */
658
950
  RebuildCachedData() {
659
951
  this.ReleaseCachedData();
@@ -672,6 +964,11 @@ new class extends _identity {
672
964
  }
673
965
  this.#cachedAreaBlocksBuilt = true;
674
966
  }
967
+
968
+ /**
969
+ * Drops the cached overlay and shadow area-block lists so the next batch call
970
+ * rebuilds them from the current mesh.
971
+ */
675
972
  ReleaseCachedData() {
676
973
  for (const blocks of this.#overlayMeshAreaBlocks) {
677
974
  blocks.length = 0;
@@ -679,14 +976,68 @@ new class extends _identity {
679
976
  this.#shadowMeshOpaqueAreas.length = 0;
680
977
  this.#cachedAreaBlocksBuilt = false;
681
978
  }
979
+
980
+ /**
981
+ * Rebuilds the cached area blocks on first use when a mesh is attached; Carbon
982
+ * instead rebuilds them from the geometry-resource load callback.
983
+ */
682
984
  #EnsureCachedAreaBlocks() {
683
985
  if (!this.#cachedAreaBlocksBuilt && this.mesh) this.RebuildCachedData();
684
986
  }
685
987
 
686
- /** Carbon GetShadowBatches (EveSpaceObject2.cpp:1143-1184): one batch per
687
- * cached shared-material OPAQUE area block, using the area's own material.
688
- * Carbon bakes realized-LOD draw args; the GPU-free port defers them to the
689
- * engine via the geometry source descriptor, so shadowPixelSize travels unused
988
+ /**
989
+ * Carbon EveSpaceObject2::GetPickingBatches (cpp:3645-3675): collects the
990
+ * geometry a pick pass should test, by mask. It is ordinary batch collection
991
+ * - the pick itself is an engine pass that renders these and reads IDs back.
992
+ *
993
+ * The OPAQUE bit deliberately pulls in the transparent and additive OVERLAY
994
+ * effects too, so a cloaking hull stays pickable.
995
+ *
996
+ * @param {Object} batches - the picking accumulator
997
+ * @param {Number} pickTypes - a Tr2PickType mask
998
+ * @param {Object} perObjectData - this hull's per-object record
999
+ */
1000
+ GetPickingBatches(batches, pickTypes = TR2_PICK_TYPE_DEFAULT, perObjectData = null) {
1001
+ if (pickTypes & Tr2PickType.PICK_TYPE_PICKING) {
1002
+ this.GetBatches(batches, TriBatchType.TRIBATCHTYPE_PICKING, perObjectData);
1003
+ }
1004
+ if (pickTypes & Tr2PickType.PICK_TYPE_OPAQUE) {
1005
+ this.GetBatches(batches, TriBatchType.TRIBATCHTYPE_OPAQUE, perObjectData);
1006
+ this.GetBatches(batches, TriBatchType.TRIBATCHTYPE_DECAL, perObjectData);
1007
+ this.GetBatchesFromOverlayVector(batches, perObjectData, TriBatchType.TRIBATCHTYPE_TRANSPARENT, this.mesh);
1008
+ this.GetBatchesFromOverlayVector(batches, perObjectData, TriBatchType.TRIBATCHTYPE_ADDITIVE, this.mesh);
1009
+ }
1010
+ if (pickTypes & Tr2PickType.PICK_TYPE_TRANSPARENT) {
1011
+ // Carbon takes the mesh's OWN areas here rather than going through
1012
+ // GetBatches, and returns early when the mesh is absent or hidden - so a
1013
+ // hidden mesh suppresses the transparent pass only, not the ones above.
1014
+ if (!this.mesh || this.mesh.display === false) {
1015
+ return true;
1016
+ }
1017
+ for (const batchType of [TriBatchType.TRIBATCHTYPE_TRANSPARENT, TriBatchType.TRIBATCHTYPE_ADDITIVE]) {
1018
+ const areas = this.mesh.GetAreas?.(batchType);
1019
+ if (areas) {
1020
+ this.mesh.GetBatches?.(batches, areas, perObjectData);
1021
+ }
1022
+ }
1023
+ }
1024
+ return true;
1025
+ }
1026
+
1027
+ /**
1028
+ * Carbon EveSpaceObject2::GetID (cpp:3640-3643): a picked area resolves to
1029
+ * the hull itself, so the area index is deliberately ignored.
1030
+ * @param {Number} [_areaID] - the picked area, unused by this class
1031
+ * @returns {EveSpaceObject2} this
1032
+ */
1033
+ GetID(_areaID = 0) {
1034
+ return this;
1035
+ }
1036
+
1037
+ /** Carbon GetShadowBatches (EveSpaceObject2.cpp:1143-1184): one batch per
1038
+ * cached shared-material OPAQUE area block, using the area's own material.
1039
+ * Carbon bakes realized-LOD draw args; the GPU-free port defers them to the
1040
+ * engine via the geometry source descriptor, so shadowPixelSize travels unused
690
1041
  * until engine LOD selection consumes it. */
691
1042
  GetShadowBatches(batches, perObjectData, _shadowPixelSize) {
692
1043
  if (!this.mesh || this.mesh.display === false) return false;
@@ -709,10 +1060,10 @@ new class extends _identity {
709
1060
  return committed;
710
1061
  }
711
1062
 
712
- /** Carbon GetBatchesFromOverlayVector (EveSpaceObject2.cpp:1199-1285): the
713
- * impact overlay's armor-damage shader draws over the TYPE_ALL blocks at
714
- * maximum priority; each displayed overlay effect draws its per-batch-type
715
- * effects over its overlay-type blocks (OPAQUE -> TYPE_OPAQUEONLY, everything
1063
+ /** Carbon GetBatchesFromOverlayVector (EveSpaceObject2.cpp:1199-1285): the
1064
+ * impact overlay's armor-damage shader draws over the TYPE_ALL blocks at
1065
+ * maximum priority; each displayed overlay effect draws its per-batch-type
1066
+ * effects over its overlay-type blocks (OPAQUE -> TYPE_OPAQUEONLY, everything
716
1067
  * else -> TYPE_ALL). */
717
1068
  GetBatchesFromOverlayVector(batches, perObjectData, batchType, mesh) {
718
1069
  const impactEffect = this.impactOverlay?.GetArmorDamageShader?.(batchType) ?? null;
@@ -730,7 +1081,7 @@ new class extends _identity {
730
1081
  for (const overlay of this.overlayEffects) {
731
1082
  const effects = this.#OverlayEffectsFor(overlay, batchType);
732
1083
  if (!effects) continue;
733
- const overlayType = batchType === TriBatchType.TRIBATCHTYPE_OPAQUE ? OVERLAY_TYPE_OPAQUEONLY : OVERLAY_TYPE_ALL;
1084
+ const overlayType = overlay.GetType(batchType);
734
1085
  const blocks = this.#overlayMeshAreaBlocks[overlayType];
735
1086
  for (const effect of effects) {
736
1087
  for (const block of blocks) {
@@ -740,6 +1091,12 @@ new class extends _identity {
740
1091
  }
741
1092
  return (batches.GetBatchCount?.() ?? 0) > committedBefore;
742
1093
  }
1094
+
1095
+ /**
1096
+ * Builds and commits one render batch drawing a single cached area block with
1097
+ * the given material and optional priority, skipping the block when the
1098
+ * material yields no valid batch.
1099
+ */
743
1100
  #CommitBlockBatch(batches, material, geometry, meshIndex, block, perObjectData, priority) {
744
1101
  const batch = new Tr2RenderBatch();
745
1102
  batch.SetMaterial(material);
@@ -750,35 +1107,34 @@ new class extends _identity {
750
1107
  batches.Commit(batch);
751
1108
  }
752
1109
 
753
- // EveMeshOverlayEffect::GetEffects (display-gated, per batch type). Prefers a
754
- // promoted method surface; falls back to the generated class's fields.
1110
+ // EveMeshOverlayEffect::GetEffects (display-gated, per batch type).
1111
+
1112
+ /**
1113
+ * Returns an overlay effect's display-gated effect list for a batch type, or
1114
+ * null when it contributes none.
1115
+ */
755
1116
  #OverlayEffectsFor(overlay, batchType) {
756
- if (!overlay) return null;
757
- if (typeof overlay.GetEffects === "function") return overlay.GetEffects(batchType) ?? null;
758
- if (overlay.display === false) return null;
759
- switch (batchType) {
760
- case TriBatchType.TRIBATCHTYPE_OPAQUE:
761
- return overlay.opaqueEffects ?? null;
762
- case TriBatchType.TRIBATCHTYPE_DECAL:
763
- return overlay.decalEffects ?? null;
764
- case TriBatchType.TRIBATCHTYPE_TRANSPARENT:
765
- return overlay.transparentEffects ?? null;
766
- case TriBatchType.TRIBATCHTYPE_ADDITIVE:
767
- return overlay.additiveEffects ?? null;
768
- case TriBatchType.TRIBATCHTYPE_DISTORTION:
769
- return overlay.distortionEffects ?? null;
770
- default:
771
- return null;
772
- }
1117
+ return overlay?.GetEffects?.(batchType) ?? null;
773
1118
  }
1119
+
1120
+ /**
1121
+ * Reports whether the hull mesh has transparent areas or any overlay effect
1122
+ * does, which tells the renderer to route this object through the sorted
1123
+ * transparent pass.
1124
+ */
774
1125
  HasTransparentBatches() {
775
1126
  if (!this.mesh) return false;
776
1127
  if ((this.mesh.GetAreas?.(TriBatchType.TRIBATCHTYPE_TRANSPARENT)?.length ?? 0) > 0) return true;
777
1128
  for (const overlay of this.overlayEffects) {
778
- if (overlay?.HasTransparentArea?.() ?? (overlay?.transparentEffects?.length ?? 0) > 0) return true;
1129
+ if (overlay?.HasTransparentArea?.()) return true;
779
1130
  }
780
1131
  return false;
781
1132
  }
1133
+
1134
+ /**
1135
+ * Returns the distance from the render context's view position to the hull
1136
+ * world translation, used to order transparent renderables back-to-front.
1137
+ */
782
1138
  GetSortValue(renderContext = null) {
783
1139
  const viewPosition = renderContext?.GetViewPosition?.();
784
1140
  const x = (viewPosition?.[0] ?? 0) - this.worldTransform[12];
@@ -787,14 +1143,25 @@ new class extends _identity {
787
1143
  return Math.hypot(x, y, z);
788
1144
  }
789
1145
 
790
- /** Carbon allocates Tr2PerObjectDataWithPersistentBuffers<EveSpaceObject2>,
791
- * which calls back into the object at upload time; the GPU-free record carries
792
- * the same live object reference for the engine serializer (the space-object
1146
+ /** Carbon allocates Tr2PerObjectDataWithPersistentBuffers<EveSpaceObject2>,
1147
+ * which calls back into the object at upload time; the GPU-free record carries
1148
+ * the same live object reference for the engine serializer (the space-object
793
1149
  * Main profile) to pull current values at realization. */
794
- GetPerObjectData(accumulator = null) {
795
- const data = typeof accumulator?.Allocate === "function" ? accumulator.Allocate(Tr2PerObjectData) : new Tr2PerObjectData();
796
- data.object = this;
797
- return data;
1150
+ GetPerObjectData(_accumulator = null) {
1151
+ // Carbon cpp:1437-1445: the bone ring is uploaded and its OFFSETS stamped
1152
+ // into the record, then a pooled handle referencing the two persistent
1153
+ // buffers is returned. The offsets are GPU addresses with no CPU
1154
+ // derivation, so they stay at their zero default here; the bone count is
1155
+ // CPU-known and is written.
1156
+ const boneCount = this.animationUpdater?.IsInitialized?.() ? this.animationUpdater.GetMeshBoneCount?.() ?? 0 : null;
1157
+ if (boneCount !== null) {
1158
+ this.#vsData.SetIndex("boneOffsets", 2, [boneCount]);
1159
+ }
1160
+ this.#vsData.Set("customData", this.#psData.Get("customData"));
1161
+ return {
1162
+ vs: this.#vsData,
1163
+ ps: this.#psData
1164
+ };
798
1165
  }
799
1166
 
800
1167
  /** Carbon forwards the shadow pass to the same per-object record. */
@@ -802,24 +1169,41 @@ new class extends _identity {
802
1169
  return this.GetPerObjectData(accumulator);
803
1170
  }
804
1171
 
805
- /** Carbon EveSpaceObject2::GetLights (cpp:3536-3560): submits m_lights to
806
- * the light manager. Awaits the LightOwner consumption pass
807
- * (Tr2LightManager submission is unported); registration presence is the
808
- * "LightOwner" duck contract. */
809
- GetLights(..._args) {
810
- throw new Error("EveSpaceObject2.GetLights is not implemented in CarbonEngineJS.");
1172
+ /** Carbon EveSpaceObject2::GetLights (cpp:3536-3555): display gate only
1173
+ * (no lights-empty early-out, unlike EveChildMesh), then per light
1174
+ * AddLight(manager, worldTransform, 1, bones, boneCount) FOLLOWED by
1175
+ * SetBrightnessMultiplier(m_activationStrength) - the order is contract:
1176
+ * the submission uses the multiplier stamped on the PREVIOUS pass (first
1177
+ * pass uses the Tr2Light default 1) - one frame of activation-strength
1178
+ * lag, preserved verbatim. cpp:3554's dead `DisplayChildren()` local is
1179
+ * not ported. */
1180
+ GetLights(lightManager) {
1181
+ if (!this.display) {
1182
+ return;
1183
+ }
1184
+
1185
+ // cpp:3545-3547 - Tr2GrannyAnimationUtils::GetBoneList, so a bone-parented
1186
+ // light is placed by its bone rather than by the object transform alone.
1187
+ const {
1188
+ bones,
1189
+ boneCount
1190
+ } = getBoneList(this.animationUpdater);
1191
+ for (const light of this.lights) {
1192
+ light?.AddLight?.(lightManager, this.worldTransform, 1, bones, boneCount);
1193
+ light?.SetBrightnessMultiplier?.(this.activationStrength);
1194
+ }
811
1195
  }
812
1196
 
813
- /** Carbon EveSpaceObject2::IsCastingShadow (cpp:1940-1990) culls against the
814
- * camera/shadow frustums; awaits the TriFrustum port (visibility pass).
1197
+ /** Carbon EveSpaceObject2::IsCastingShadow (cpp:1940-1990) culls against the
1198
+ * camera/shadow frustums; awaits the TriFrustum port (visibility pass).
815
1199
  * Presence satisfies the "ShadowCaster" duck contract. */
816
1200
  IsCastingShadow(..._args) {
817
1201
  throw new Error("EveSpaceObject2.IsCastingShadow is not implemented in CarbonEngineJS.");
818
1202
  }
819
1203
 
820
- /** Carbon EveSpaceObject2::RegisterComponents (cpp:3568-3609): registers its
821
- * own components and its children with the scene registration container "so
822
- * we don't have to traverse the tree every frame". RegisterAudioGeometry
1204
+ /** Carbon EveSpaceObject2::RegisterComponents (cpp:3568-3609): registers its
1205
+ * own components and its children with the scene registration container "so
1206
+ * we don't have to traverse the tree every frame". RegisterAudioGeometry
823
1207
  * (cpp:3572-3575) is audio-engine-owned and unported. Gate m_display. */
824
1208
  RegisterComponents() {
825
1209
  const registry = this.GetComponentRegistry();
@@ -842,10 +1226,10 @@ new class extends _identity {
842
1226
  }
843
1227
  }
844
1228
 
845
- /** Carbon EveSpaceObject2::UnRegisterComponents (cpp:3615-3638): forwards
846
- * the un-registration to the children only - EveEntity::UnRegister already
847
- * called UnRegisterAllComponents(this) first (EveEntity.cpp:90) - and does
848
- * not re-check display. UnregisterAudioGeometry (cpp:3617) is
1229
+ /** Carbon EveSpaceObject2::UnRegisterComponents (cpp:3615-3638): forwards
1230
+ * the un-registration to the children only - EveEntity::UnRegister already
1231
+ * called UnRegisterAllComponents(this) first (EveEntity.cpp:90) - and does
1232
+ * not re-check display. UnregisterAudioGeometry (cpp:3617) is
849
1233
  * audio-engine-owned and unported. */
850
1234
  UnRegisterComponents() {
851
1235
  const registry = this.GetComponentRegistry();
@@ -858,21 +1242,57 @@ new class extends _identity {
858
1242
  }
859
1243
  }
860
1244
  }
1245
+
1246
+ /**
1247
+ * Reports whether children and effect children should be shown; always true on
1248
+ * the base hull, subclasses gate it on activation state.
1249
+ */
861
1250
  DisplayChildren() {
862
1251
  return true;
863
1252
  }
1253
+
1254
+ /**
1255
+ * Returns the transform placement observers are attached to - the live hull
1256
+ * world transform.
1257
+ */
864
1258
  GetObserverTransform() {
865
1259
  return this.worldTransform;
866
1260
  }
1261
+
1262
+ /**
1263
+ * Returns the transform effect children are placed against - the live hull
1264
+ * world transform, not a copy.
1265
+ */
867
1266
  GetLocalToWorldTransform() {
868
1267
  return this.worldTransform;
869
1268
  }
1269
+
1270
+ /** Carbon's non-updating model-center query. */
1271
+ GetModelCenterWorldPosition(out) {
1272
+ vec3.transformMat4(out, this.boundingSphereCenter, this.worldTransform);
1273
+ }
1274
+
1275
+ /**
1276
+ * Returns the live curve-sampled ball position; the array is the object's own
1277
+ * field and is rewritten by the next transform update.
1278
+ */
870
1279
  GetWorldPosition() {
871
1280
  return this.worldPosition;
872
1281
  }
1282
+
1283
+ /**
1284
+ * Returns the live curve-sampled ball rotation, which excludes the model
1285
+ * rotation curve; the quaternion is the object's own field and is rewritten by
1286
+ * the next transform update.
1287
+ */
873
1288
  GetWorldRotation() {
874
1289
  return this.worldRotation;
875
1290
  }
1291
+
1292
+ /**
1293
+ * Finds a sound emitter by observer name on this hull and then recursively in
1294
+ * the effect children, returning null when no emitter carries the name.
1295
+ */
876
1296
  FindSoundEmitter(name) {
877
1297
  const target = String(name ?? "");
878
1298
  for (const observer of this.observers) {
@@ -888,6 +1308,11 @@ new class extends _identity {
888
1308
  }
889
1309
  return null;
890
1310
  }
1311
+
1312
+ /**
1313
+ * Sets the mute flag and pushes it to every effect child and placement
1314
+ * observer.
1315
+ */
891
1316
  SetMute(mute) {
892
1317
  this.mute = !!mute;
893
1318
  for (const child of this.effectChildren) {
@@ -898,19 +1323,19 @@ new class extends _identity {
898
1323
  }
899
1324
  }
900
1325
 
901
- /**
902
- * Plays an animation with explicit loop, start, and speed settings
903
- * (Carbon PlayAnimationEx, MAP_METHOD_AND_WRAP_OPTIONAL_ARGS).
1326
+ /**
1327
+ * Plays an animation with explicit loop, start, and speed settings
1328
+ * (Carbon PlayAnimationEx, MAP_METHOD_AND_WRAP_OPTIONAL_ARGS).
904
1329
  */
905
1330
  PlayAnimationEx(animName, loopCount, start, speed, clearWhenDone = true) {
906
1331
  this.#PlayAnimation(animName, true, loopCount, start, speed, clearWhenDone);
907
1332
  }
908
1333
 
909
- /**
910
- * Calculates the skinned bounding box under a transform (CMF path: the
911
- * local box corners transformed with perspective divide). The granny path
912
- * is unported. Returns an inverted-empty { min, max } box when dynamic
913
- * bounds are disabled, as Carbon's BoundingBoxInitialize does.
1334
+ /**
1335
+ * Calculates the skinned bounding box under a transform (CMF path: the
1336
+ * local box corners transformed with perspective divide). The granny path
1337
+ * is unported. Returns an inverted-empty { min, max } box when dynamic
1338
+ * bounds are disabled, as Carbon's BoundingBoxInitialize does.
914
1339
  */
915
1340
  CalculateSkinnedBoundingBoxFromTransform(transform) {
916
1341
  const min = vec3.fromValues(Infinity, Infinity, Infinity);
@@ -934,10 +1359,10 @@ new class extends _identity {
934
1359
  };
935
1360
  }
936
1361
 
937
- /**
938
- * Calculates the skinned bounding sphere (CMF path: the current bounding
939
- * sphere; granny path unported). Returns (0,0,0,-1) when dynamic bounds
940
- * are disabled.
1362
+ /**
1363
+ * Calculates the skinned bounding sphere (CMF path: the current bounding
1364
+ * sphere; granny path unported). Returns (0,0,0,-1) when dynamic bounds
1365
+ * are disabled.
941
1366
  */
942
1367
  CalculateSkinnedBoundingSphere(out = vec4.create()) {
943
1368
  if (this.dynamicBoundingSphereEnabled && this.mesh?.GetGeometryResource?.()?.IsUsingCMF?.()) {
@@ -947,30 +1372,30 @@ new class extends _identity {
947
1372
  return vec4.set(out, 0, 0, 0, -1);
948
1373
  }
949
1374
 
950
- /**
951
- * Clears all impact and damage effects on the impact overlay.
1375
+ /**
1376
+ * Clears all impact and damage effects on the impact overlay.
952
1377
  */
953
1378
  ClearImpactDamage() {
954
1379
  this.impactOverlay?.Clear?.();
955
1380
  }
956
1381
 
957
- /**
958
- * Clears all animations on the animation updater.
1382
+ /**
1383
+ * Clears all animations on the animation updater.
959
1384
  */
960
1385
  ClearAnimations() {
961
1386
  this.animationUpdater?.ClearAnimations?.();
962
1387
  }
963
1388
 
964
- /**
965
- * Creates an impact facing a position on the closest facing damage locator.
1389
+ /**
1390
+ * Creates an impact facing a position on the closest facing damage locator.
966
1391
  */
967
1392
  CreateImpactFromPosition(position, direction, lifeTime, size) {
968
1393
  const closestDamageLocator = this.#GetClosestLocatorIndex(position, _EveSpaceObject.#damageLocatorSetName);
969
1394
  return this.CreateImpact(closestDamageLocator, direction, lifeTime, size);
970
1395
  }
971
1396
 
972
- /**
973
- * Creates an impact effect on a damage locator through the impact overlay.
1397
+ /**
1398
+ * Creates an impact effect on a damage locator through the impact overlay.
974
1399
  */
975
1400
  CreateImpact(damageLocatorIndex, direction, lifeTime, size) {
976
1401
  if (this.impactOverlay) {
@@ -979,16 +1404,16 @@ new class extends _identity {
979
1404
  return -1;
980
1405
  }
981
1406
 
982
- /**
983
- * Ends the current animation on the animation updater.
1407
+ /**
1408
+ * Ends the current animation on the animation updater.
984
1409
  */
985
1410
  EndAnimation() {
986
1411
  this.animationUpdater?.EndAnimation?.();
987
1412
  }
988
1413
 
989
- /**
990
- * Freezes LOD selection at the current mesh and marks decal geometry
991
- * frozen.
1414
+ /**
1415
+ * Freezes LOD selection at the current mesh and marks decal geometry
1416
+ * frozen.
992
1417
  */
993
1418
  FreezeHighDetailMesh() {
994
1419
  this.#allowLodSelection = false;
@@ -997,31 +1422,31 @@ new class extends _identity {
997
1422
  }
998
1423
  }
999
1424
 
1000
- /**
1001
- * Gets the number of damage locators on this object.
1425
+ /**
1426
+ * Gets the number of damage locators on this object.
1002
1427
  */
1003
1428
  GetDamageLocatorCount() {
1004
1429
  return this.GetLocatorCount(_EveSpaceObject.#damageLocatorSetName);
1005
1430
  }
1006
1431
 
1007
- /**
1008
- * Gets the number of locators in a named locator set.
1432
+ /**
1433
+ * Gets the number of locators in a named locator set.
1009
1434
  */
1010
1435
  GetLocatorCount(locatorSetName) {
1011
1436
  return this.#GetLocatorsForSet(locatorSetName)?.length ?? 0;
1012
1437
  }
1013
1438
 
1014
- /**
1015
- * Gets the first locator list whose set has the requested Carbon name.
1016
- * The returned list remains owned by the locator set.
1439
+ /**
1440
+ * Gets the first locator list whose set has the requested Carbon name.
1441
+ * The returned list remains owned by the locator set.
1017
1442
  */
1018
1443
  GetLocatorsForSet(locatorSetName) {
1019
1444
  return this.#GetLocatorsForSet(locatorSetName);
1020
1445
  }
1021
1446
 
1022
- /**
1023
- * Gets the closest locator in a set to a world position, ignoring locator
1024
- * facing. Returns -1 when the set is missing or empty.
1447
+ /**
1448
+ * Gets the closest locator in a set to a world position, ignoring locator
1449
+ * facing. Returns -1 when the set is missing or empty.
1025
1450
  */
1026
1451
  GetCloseLocatorIndex(position, locatorSetName) {
1027
1452
  const locators = this.#GetLocatorsForSet(locatorSetName);
@@ -1044,19 +1469,19 @@ new class extends _identity {
1044
1469
  return closestIndex;
1045
1470
  }
1046
1471
 
1047
- /**
1048
- * Carbon's script surface maps GetGoodLocatorIndex to GetCloseLocatorIndex
1049
- * (EveSpaceObject2_Blue.cpp); the internal randomized fit heuristic is not
1050
- * script-exposed.
1472
+ /**
1473
+ * Carbon's script surface maps GetGoodLocatorIndex to GetCloseLocatorIndex
1474
+ * (EveSpaceObject2_Blue.cpp); the internal randomized fit heuristic is not
1475
+ * script-exposed.
1051
1476
  */
1052
1477
  GetGoodLocatorIndex(position, locatorSetName) {
1053
1478
  return this.GetCloseLocatorIndex(position, locatorSetName);
1054
1479
  }
1055
1480
 
1056
- /**
1057
- * Gets the local direction of an indexed damage locator, (0,0,0) for
1058
- * indices out of range (Carbon script GetDamageLocatorDirection maps to
1059
- * GetDamageLocatorDirectionLocal).
1481
+ /**
1482
+ * Gets the local direction of an indexed damage locator, (0,0,0) for
1483
+ * indices out of range (Carbon script GetDamageLocatorDirection maps to
1484
+ * GetDamageLocatorDirectionLocal).
1060
1485
  */
1061
1486
  GetDamageLocatorDirection(index, inWorldSpaceOrOut = vec3.create(), out = vec3.create()) {
1062
1487
  const targetableCall = typeof inWorldSpaceOrOut === "boolean";
@@ -1176,7 +1601,7 @@ new class extends _identity {
1176
1601
  vec3.transformMat4(_EveSpaceObject.#rayOrigin, posPrev, this.inverseWorldTransform);
1177
1602
  vec3.transformMat4(_EveSpaceObject.#rayEnd, posNow, this.inverseWorldTransform);
1178
1603
  vec3.subtract(_EveSpaceObject.#rayDirection, _EveSpaceObject.#rayEnd, _EveSpaceObject.#rayOrigin);
1179
- this.#GetShapeEllipsoid(_EveSpaceObject.#ellipsoidCenter, _EveSpaceObject.#ellipsoidRadii);
1604
+ this.GetShapeEllipsoid(_EveSpaceObject.#ellipsoidCenter, _EveSpaceObject.#ellipsoidRadii);
1180
1605
  const t = _EveSpaceObject.#IntersectEllipsoidRay(out, _EveSpaceObject.#ellipsoidCenter, _EveSpaceObject.#ellipsoidRadii, _EveSpaceObject.#rayOrigin, _EveSpaceObject.#rayDirection);
1181
1606
  if (t !== null && t >= -1 && t <= 1) {
1182
1607
  vec3.transformMat4(out, out, this.worldTransform);
@@ -1194,9 +1619,9 @@ new class extends _identity {
1194
1619
  return this.impactOverlay?.UpdateImpact?.(out, direction, impactIndex) ?? false;
1195
1620
  }
1196
1621
 
1197
- /**
1198
- * Gets the local position of an indexed damage locator, (0,0,0) for
1199
- * indices out of range.
1622
+ /**
1623
+ * Gets the local position of an indexed damage locator, (0,0,0) for
1624
+ * indices out of range.
1200
1625
  */
1201
1626
  GetDamageLocator(index, out = vec3.create()) {
1202
1627
  const locators = this.#GetLocatorsForSet(_EveSpaceObject.#damageLocatorSetName);
@@ -1208,9 +1633,9 @@ new class extends _identity {
1208
1633
  return out;
1209
1634
  }
1210
1635
 
1211
- /**
1212
- * Gets the world-space position of an indexed damage locator, (0,0,0) for
1213
- * indices out of range (returned untransformed, as Carbon does).
1636
+ /**
1637
+ * Gets the world-space position of an indexed damage locator, (0,0,0) for
1638
+ * indices out of range (returned untransformed, as Carbon does).
1214
1639
  */
1215
1640
  GetTransformedDamageLocator(index, out = vec3.create()) {
1216
1641
  const locators = this.#GetLocatorsForSet(_EveSpaceObject.#damageLocatorSetName);
@@ -1222,18 +1647,18 @@ new class extends _identity {
1222
1647
  return vec3.transformMat4(out, out, this.worldTransform);
1223
1648
  }
1224
1649
 
1225
- /**
1226
- * Checks whether this object is in impostor mode. The impostor system that
1227
- * raises the flag is unported, so this reports the default until then.
1650
+ /**
1651
+ * Checks whether this object is in impostor mode. The impostor system that
1652
+ * raises the flag is unported, so this reports the default until then.
1228
1653
  */
1229
1654
  IsImpostor() {
1230
1655
  return this.#impostorMode;
1231
1656
  }
1232
1657
 
1233
- /**
1234
- * Gets a locator position from a named set. Out-of-range or missing-set
1235
- * queries return the world translation in world space and (0,0,0) in
1236
- * object space, as Carbon does.
1658
+ /**
1659
+ * Gets a locator position from a named set. Out-of-range or missing-set
1660
+ * queries return the world translation in world space and (0,0,0) in
1661
+ * object space, as Carbon does.
1237
1662
  */
1238
1663
  GetLocatorPositionFromSet(index, inWorldSpace, locatorSetName, out = vec3.create()) {
1239
1664
  const locators = this.#GetLocatorsForSet(locatorSetName);
@@ -1251,9 +1676,9 @@ new class extends _identity {
1251
1676
  return out;
1252
1677
  }
1253
1678
 
1254
- /**
1255
- * Gets a locator direction from a named set. Out-of-range or missing-set
1256
- * queries return (0,1,0), as Carbon does.
1679
+ /**
1680
+ * Gets a locator direction from a named set. Out-of-range or missing-set
1681
+ * queries return (0,1,0), as Carbon does.
1257
1682
  */
1258
1683
  GetLocatorRotationFromSet(index, inWorldSpace, locatorSetName, out = vec3.create()) {
1259
1684
  const locators = this.#GetLocatorsForSet(locatorSetName);
@@ -1267,6 +1692,11 @@ new class extends _identity {
1267
1692
  }
1268
1693
  return out;
1269
1694
  }
1695
+
1696
+ /**
1697
+ * Raises a named controller event on this hull's controllers and forwards it
1698
+ * to the effect children and overlay effects.
1699
+ */
1270
1700
  HandleControllerEvent(name) {
1271
1701
  const eventName = String(name ?? "");
1272
1702
  for (const controller of this.controllers) {
@@ -1280,24 +1710,24 @@ new class extends _identity {
1280
1710
  }
1281
1711
  }
1282
1712
 
1283
- /**
1284
- * Plays an animation once, replacing the current one
1285
- * (Carbon script PlayAnimation maps to PlayAnimationOnce).
1713
+ /**
1714
+ * Plays an animation once, replacing the current one
1715
+ * (Carbon script PlayAnimation maps to PlayAnimationOnce).
1286
1716
  */
1287
1717
  PlayAnimation(animName) {
1288
1718
  this.#PlayAnimation(animName, true, 1, 0, 1, true);
1289
1719
  }
1290
1720
 
1291
- /**
1292
- * Chains an animation once after the current one (Carbon ChainAnimation).
1721
+ /**
1722
+ * Chains an animation once after the current one (Carbon ChainAnimation).
1293
1723
  */
1294
1724
  ChainAnimation(animName) {
1295
1725
  this.#PlayAnimation(animName, false, 1, 0, 1, true);
1296
1726
  }
1297
1727
 
1298
- /**
1299
- * Chains an animation with explicit loop, start, and speed settings
1300
- * (Carbon ChainAnimationEx).
1728
+ /**
1729
+ * Chains an animation with explicit loop, start, and speed settings
1730
+ * (Carbon ChainAnimationEx).
1301
1731
  */
1302
1732
  ChainAnimationEx(animName, loopCount, start, speed) {
1303
1733
  this.#PlayAnimation(animName, false, loopCount, start, speed, true);
@@ -1306,13 +1736,18 @@ new class extends _identity {
1306
1736
  // Carbon EveSpaceObject2::PlayAnimation: every playback wrapper funnels
1307
1737
  // into the animation updater, which owns playback state; a missing updater
1308
1738
  // is a Carbon-faithful no-op.
1739
+
1740
+ /**
1741
+ * Forwards a playback request to the animation updater, which owns all
1742
+ * animation state; a hull without an updater does nothing, as in Carbon.
1743
+ */
1309
1744
  #PlayAnimation(animName, replace, loopCount, delay, speed, clearWhenDone) {
1310
1745
  this.animationUpdater?.PlayAnimation?.(String(animName ?? ""), replace, loopCount, delay, speed, clearWhenDone);
1311
1746
  }
1312
1747
 
1313
- /**
1314
- * Recalculates the authored bounding sphere from the mesh geometry
1315
- * resource. Fails when no mesh or ready geometry resource is attached.
1748
+ /**
1749
+ * Recalculates the authored bounding sphere from the mesh geometry
1750
+ * resource. Fails when no mesh or ready geometry resource is attached.
1316
1751
  */
1317
1752
  RebuildBoundingSphereInformation() {
1318
1753
  const mesh = this.mesh;
@@ -1342,6 +1777,11 @@ new class extends _identity {
1342
1777
  this.UpdateWorldBounds();
1343
1778
  return this;
1344
1779
  }
1780
+
1781
+ /**
1782
+ * Returns a plain-object snapshot of the controller variables currently
1783
+ * stamped on this hull.
1784
+ */
1345
1785
  GetControllerVariables() {
1346
1786
  return Object.fromEntries(this.#controllerVariables);
1347
1787
  }
@@ -1354,11 +1794,11 @@ new class extends _identity {
1354
1794
  return geometryResource.GetLodIndexForScreenSize?.(this.mesh?.GetMeshIndex?.() ?? 0, this.#meshScreenSize) ?? 0;
1355
1795
  }
1356
1796
 
1357
- /**
1358
- * Gets a named locator's transform (Carbon script GetLocatorTransform maps
1359
- * to GetEveLocatorTransform): the identity for unknown names, the animated
1360
- * bone world transform when the animation updater resolves the name, else
1361
- * the authored locator transform.
1797
+ /**
1798
+ * Gets a named locator's transform (Carbon script GetLocatorTransform maps
1799
+ * to GetEveLocatorTransform): the identity for unknown names, the animated
1800
+ * bone world transform when the animation updater resolves the name, else
1801
+ * the authored locator transform.
1362
1802
  */
1363
1803
  GetLocatorTransform(name, out = mat4.create()) {
1364
1804
  const target = String(name ?? "");
@@ -1378,11 +1818,11 @@ new class extends _identity {
1378
1818
  return mat4.copy(out, locator.GetTransform());
1379
1819
  }
1380
1820
 
1381
- /**
1382
- * Gets the local axis-aligned bounding box: dynamic skinned bounds when
1383
- * enabled, else the mesh box, else the cached box (at worst it lags one
1384
- * frame). With out arguments it fills them and returns true; without, it
1385
- * returns { min, max }.
1821
+ /**
1822
+ * Gets the local axis-aligned bounding box: dynamic skinned bounds when
1823
+ * enabled, else the mesh box, else the cached box (at worst it lags one
1824
+ * frame). With out arguments it fills them and returns true; without, it
1825
+ * returns { min, max }.
1386
1826
  */
1387
1827
  GetLocalBoundingBox(minBounds, maxBounds) {
1388
1828
  const min = vec3.create();
@@ -1414,7 +1854,7 @@ new class extends _identity {
1414
1854
  /** Gets Carbon's cached local box transformed into a world-axis-aligned box. */
1415
1855
  GetWorldBoundingBox(minBounds, maxBounds) {
1416
1856
  box3.fromBounds(_EveSpaceObject.#localBox, this.#localAabbMin, this.#localAabbMax);
1417
- _EveSpaceObject.#TransformBox(_EveSpaceObject.#worldBox, _EveSpaceObject.#localBox, this.worldTransform);
1857
+ box3.transformMat4(_EveSpaceObject.#worldBox, _EveSpaceObject.#localBox, this.worldTransform);
1418
1858
  const min = minBounds ?? vec3.create();
1419
1859
  const max = maxBounds ?? vec3.create();
1420
1860
  vec3.set(min, _EveSpaceObject.#worldBox[0], _EveSpaceObject.#worldBox[1], _EveSpaceObject.#worldBox[2]);
@@ -1431,9 +1871,9 @@ new class extends _identity {
1431
1871
  return !!geometryResource?.IsGood?.();
1432
1872
  }
1433
1873
 
1434
- /**
1435
- * Gets Carbon's realized world sphere, optionally accumulated with transform
1436
- * and effect children when query is EVE_BOUNDS_WITH_CHILDREN.
1874
+ /**
1875
+ * Gets Carbon's realized world sphere, optionally accumulated with transform
1876
+ * and effect children when query is EVE_BOUNDS_WITH_CHILDREN.
1437
1877
  */
1438
1878
  GetBoundingSphere(out = sph3.create(), query = 0) {
1439
1879
  if (!this.UpdateWorldBounds()) return false;
@@ -1469,9 +1909,9 @@ new class extends _identity {
1469
1909
  return this.#isInFrustum;
1470
1910
  }
1471
1911
 
1472
- /**
1473
- * Gets the bounding sphere center, preferring the dynamic skinned sphere
1474
- * when one is published.
1912
+ /**
1913
+ * Gets the bounding sphere center, preferring the dynamic skinned sphere
1914
+ * when one is published.
1475
1915
  */
1476
1916
  GetBoundingSphereCenter(out = vec3.create()) {
1477
1917
  if (this.#dynamicBoundingSphere[3] !== -1) {
@@ -1480,9 +1920,9 @@ new class extends _identity {
1480
1920
  return vec3.copy(out, this.boundingSphereCenter);
1481
1921
  }
1482
1922
 
1483
- /**
1484
- * Gets the model-scaled bounding sphere radius, preferring the dynamic
1485
- * skinned sphere when one is published.
1923
+ /**
1924
+ * Gets the model-scaled bounding sphere radius, preferring the dynamic
1925
+ * skinned sphere when one is published.
1486
1926
  */
1487
1927
  GetBoundingSphereRadius() {
1488
1928
  if (this.#dynamicBoundingSphere[3] !== -1) {
@@ -1491,9 +1931,9 @@ new class extends _identity {
1491
1931
  return this.modelScale * this.boundingSphereRadius;
1492
1932
  }
1493
1933
 
1494
- /**
1495
- * Gets the number of mesh-bound bones. Carbon dereferences the animation
1496
- * updater unchecked; CarbonEngineJS reports 0 when none is attached.
1934
+ /**
1935
+ * Gets the number of mesh-bound bones. Carbon dereferences the animation
1936
+ * updater unchecked; CarbonEngineJS reports 0 when none is attached.
1497
1937
  */
1498
1938
  GetBoneCount() {
1499
1939
  const updater = this.animationUpdater;
@@ -1508,6 +1948,12 @@ new class extends _identity {
1508
1948
  }
1509
1949
  return updater.GetMeshBindingBoneCount?.() ?? 0;
1510
1950
  }
1951
+
1952
+ /**
1953
+ * Pushes shield, armor and hull damage levels to the impact overlay and
1954
+ * mirrors them into the ShieldDamage, ArmorDamage and HullDamage controller
1955
+ * variables so bound effects follow.
1956
+ */
1511
1957
  SetImpactDamageState(shield, armor, hull, doCreateArmorImpacts = true) {
1512
1958
  this.impactOverlay?.SetDamageState?.(shield, armor, hull, doCreateArmorImpacts);
1513
1959
  this.SetControllerVariable("ShieldDamage", shield);
@@ -1515,12 +1961,18 @@ new class extends _identity {
1515
1961
  this.SetControllerVariable("HullDamage", hull);
1516
1962
  }
1517
1963
 
1518
- /**
1519
- * Toggles a named impact-overlay animation (boosters, hardeners, ...).
1964
+ /**
1965
+ * Toggles a named impact-overlay animation (boosters, hardeners, ...).
1520
1966
  */
1521
1967
  SetImpactAnimation(name, enable, duration) {
1522
1968
  this.impactOverlay?.ToggleEffect?.(name, enable, duration);
1523
1969
  }
1970
+
1971
+ /**
1972
+ * Stores a controller variable on the hull and pushes it to the controllers,
1973
+ * effect children and overlay effects; the stored value is replayed onto
1974
+ * controllers and children added later.
1975
+ */
1524
1976
  SetControllerVariable(name, value) {
1525
1977
  const key = String(name ?? "");
1526
1978
  const next = Number(value);
@@ -1535,11 +1987,21 @@ new class extends _identity {
1535
1987
  overlay?.SetControllerVariable?.(key, next);
1536
1988
  }
1537
1989
  }
1990
+
1991
+ /**
1992
+ * Forwards a procedural-container variable to every effect child; the hull
1993
+ * itself keeps no copy.
1994
+ */
1538
1995
  SetProceduralContainerVariable(name, value) {
1539
1996
  for (const child of this.effectChildren) {
1540
1997
  child?.SetProceduralContainerVariable?.(name, value);
1541
1998
  }
1542
1999
  }
2000
+
2001
+ /**
2002
+ * Starts this hull's controllers and those of its effect children and overlay
2003
+ * effects.
2004
+ */
1543
2005
  StartControllers() {
1544
2006
  for (const controller of this.controllers) {
1545
2007
  controller?.Start?.();
@@ -1552,13 +2014,13 @@ new class extends _identity {
1552
2014
  }
1553
2015
  }
1554
2016
 
1555
- /**
1556
- * Applies bone and model transforms to locators and returns
1557
- * [position, rotation, boneIndex] tuples, as the Carbon script surface
1558
- * does (TransformLocators maps to PyTransformLocators). Accepts either
1559
- * locator records ({ position, direction, boneIndex }, Carbon's
1560
- * LocatorStructureList shape) or the same [position, rotation, boneIndex]
1561
- * tuple shape it returns.
2017
+ /**
2018
+ * Applies bone and model transforms to locators and returns
2019
+ * [position, rotation, boneIndex] tuples, as the Carbon script surface
2020
+ * does (TransformLocators maps to PyTransformLocators). Accepts either
2021
+ * locator records ({ position, direction, boneIndex }, Carbon's
2022
+ * LocatorStructureList shape) or the same [position, rotation, boneIndex]
2023
+ * tuple shape it returns.
1562
2024
  */
1563
2025
  TransformLocators(locators = []) {
1564
2026
  const result = [];
@@ -1586,6 +2048,12 @@ new class extends _identity {
1586
2048
 
1587
2049
  // Carbon Blue TransformLocator: bone-attached records pick up the mesh
1588
2050
  // bone matrix; without bone data the authored values pass through.
2051
+
2052
+ /**
2053
+ * Applies the mesh bone matrix to a locator position and rotation for
2054
+ * bone-attached locators; the authored values pass through unchanged when
2055
+ * there is no usable bone data.
2056
+ */
1589
2057
  #TransformLocator(position, rotation, boneIndex) {
1590
2058
  const updater = this.animationUpdater;
1591
2059
  if (boneIndex <= 0 || !updater?.IsInitialized?.()) {
@@ -1603,6 +2071,12 @@ new class extends _identity {
1603
2071
  // Carbon Blue ApplyModelTransform samples both curves at the Be::Time()
1604
2072
  // origin (pure GetValueAt, no playback advance): translation adds, model
1605
2073
  // rotation rotates the position and pre-multiplies.
2074
+
2075
+ /**
2076
+ * Applies the model translation and rotation curves sampled at time 0 to a
2077
+ * locator position and rotation, matching Carbon's Blue locator surface, which
2078
+ * reads the curves without advancing playback.
2079
+ */
1606
2080
  #ApplyModelTransform(position, rotation) {
1607
2081
  if (this.modelTranslationCurve) {
1608
2082
  const translation = vec3.create();
@@ -1618,6 +2092,11 @@ new class extends _identity {
1618
2092
  }
1619
2093
 
1620
2094
  // Carbon GetLocatorsForSet: first set matching the name wins.
2095
+
2096
+ /**
2097
+ * Returns the locator list of the first locator set carrying the name, or null
2098
+ * when no set matches; the list stays owned by the locator set.
2099
+ */
1621
2100
  #GetLocatorsForSet(locatorSetName) {
1622
2101
  const target = String(locatorSetName ?? "");
1623
2102
  for (const set of this.locatorSets) {
@@ -1632,6 +2111,13 @@ new class extends _identity {
1632
2111
  // authored quaternion; bone-attached locators additionally apply the mesh
1633
2112
  // bone matrix. Carbon leaves the outputs untouched (caller-uninitialized)
1634
2113
  // when bone data is missing; CarbonEngineJS keeps the unskinned values.
2114
+
2115
+ /**
2116
+ * Writes a locator's object-space position and its direction, which is +Y
2117
+ * rotated by the authored quaternion, applying the mesh bone matrix for
2118
+ * bone-attached locators; where Carbon leaves the outputs untouched when bone
2119
+ * data is missing, this keeps the unskinned values.
2120
+ */
1635
2121
  #GetLocatorInObjectSpace(outPosition, outDirection, locator) {
1636
2122
  vec3.transformQuat(outDirection, _EveSpaceObject.#unitY, locator.direction);
1637
2123
  vec3.copy(outPosition, locator.position);
@@ -1650,6 +2136,12 @@ new class extends _identity {
1650
2136
 
1651
2137
  // Carbon GetClosestLocatorIndex: facing-gated closest search; 0 when the
1652
2138
  // set is missing, -1 when no locator faces the position.
2139
+
2140
+ /**
2141
+ * Returns the index of the nearest locator in a named set that faces the given
2142
+ * world position - 0 when the set is missing, -1 when no locator faces the
2143
+ * position.
2144
+ */
1653
2145
  #GetClosestLocatorIndex(position, locatorSetName) {
1654
2146
  const locators = this.#GetLocatorsForSet(locatorSetName);
1655
2147
  if (!locators) {
@@ -1673,7 +2165,16 @@ new class extends _identity {
1673
2165
  }
1674
2166
  return closestIndex;
1675
2167
  }
1676
- #GetShapeEllipsoid(outCenter, outRadii) {
2168
+
2169
+ /**
2170
+ * Reports whether a locator faces a position, by testing that stepping the
2171
+ * object-space position back along the locator direction shortens it.
2172
+ */
2173
+
2174
+ /** Rotates a direction by a matrix's rotation basis, ignoring its translation. */
2175
+
2176
+ /** Carbon's authored-or-derived local shape ellipsoid query. */
2177
+ GetShapeEllipsoid(outCenter, outRadii) {
1677
2178
  if (this.shapeEllipsoidRadius[0] > 0) {
1678
2179
  vec3.copy(outCenter, this.shapeEllipsoidCenter);
1679
2180
  vec3.copy(outRadii, this.shapeEllipsoidRadius);
@@ -1691,12 +2192,67 @@ new class extends _identity {
1691
2192
  vec3.copy(this.generatedShapeEllipsoidRadius, outRadii);
1692
2193
  }
1693
2194
 
2195
+ /**
2196
+ * Maps the negated dot product of a locator direction and an offset direction
2197
+ * onto Carbon's square-root fit score, the ranking used to pick a varied
2198
+ * damage locator.
2199
+ */
2200
+
2201
+ /**
2202
+ * Intersects a ray with an axis-aligned ellipsoid in the ellipsoid's own space and writes the hit point into out.
2203
+ * @returns {number|null} The ray parameter at the hit, or null when the ray is degenerate or misses.
2204
+ */
2205
+
2206
+ /** Reports whether a point lies inside an axis-aligned ellipsoid. */
2207
+
1694
2208
  // Mesh bone matrices come from the animation updater; only mat4-shaped
1695
2209
  // entries are usable.
1696
2210
 
1697
- // Avoid box3.transformMat4's legacy all-components-sum empty sentinel: a
1698
- // valid symmetric box such as [-1,-1,-1,1,1,1] has that same sum.
2211
+ /**
2212
+ * Unpacks one bone from the updater's palette into a mat4, or null when the
2213
+ * index is out of range.
2214
+ *
2215
+ * The palette is Carbon's storage - one contiguous Float4x3 buffer, stride
2216
+ * 12 - so a bone is expanded rather than borrowed. Carbon does the same at
2217
+ * every read site with TriMatrixCopyFrom3x4.
2218
+ */
2219
+
2220
+ /**
2221
+ * Replays every stored controller variable onto a newly added controller or
2222
+ * effect child through the named setter, so late additions start with the same
2223
+ * state.
2224
+ */
2225
+
2226
+ /**
2227
+ * Samples a curve into out through whichever of Update or GetValueAt it
2228
+ * exposes, writing the fallback when there is no curve and copying back curves
2229
+ * that return a new array instead of filling out.
2230
+ */
2231
+
2232
+ /**
2233
+ * Reads a numeric value from the update context, preferring a getter method
2234
+ * and falling back to the named properties, and yields 0 when nothing supplies
2235
+ * it.
2236
+ */
2237
+
2238
+ /**
2239
+ * Returns a world sphere's on-screen diameter in pixels from the frustum's
2240
+ * exact query, or 0 when the frustum does not expose it.
2241
+ */
2242
+
2243
+ /**
2244
+ * Returns a world sphere's on-screen diameter in pixels, preferring the
2245
+ * frustum's cheaper estimated query and falling back to the exact one, or 0
2246
+ * when the frustum exposes neither.
2247
+ */
2248
+
2249
+ /** Writes a center and radius into a caller-owned sph3. */
1699
2250
  }];
2251
+ CUSTOM_MASK_MAX = _EveCustomMask.CUSTOM_MASK_COUNT;
2252
+ SECONDARY_LIGHTING_RADIUS_CUTOFF_FACTOR = 0.3;
2253
+ #clipSphereCenterScratch = vec3.create();
2254
+ #shapeCenterScratch = vec3.create();
2255
+ #shapeRadiusScratch = vec3.create();
1700
2256
  #IsLocatorFacingPosition(locatorDirection, posInObjectSpace) {
1701
2257
  const moved = vec3.subtract(vec3.create(), posInObjectSpace, locatorDirection);
1702
2258
  return vec3.squaredLength(moved) < vec3.squaredLength(posInObjectSpace);
@@ -1741,8 +2297,10 @@ new class extends _identity {
1741
2297
  }
1742
2298
  #GetBoneMatrix(updater, boneIndex) {
1743
2299
  const bones = updater.GetMeshBoneMatrixList?.();
1744
- const bone = bones?.[boneIndex];
1745
- return bone && bone.length >= 16 ? bone : null;
2300
+ if (!bones || boneIndex < 0 || (boneIndex + 1) * 12 > bones.length) {
2301
+ return null;
2302
+ }
2303
+ return MatrixCopyFrom3x4(mat4.create(), bones, boneIndex);
1746
2304
  }
1747
2305
  #ApplyControllerVariables(target, variables, methodName) {
1748
2306
  const setter = target?.[methodName];
@@ -1796,21 +2354,6 @@ new class extends _identity {
1796
2354
  #SetSphere(out, center, radius) {
1797
2355
  return sph3.set(out, center[0], center[1], center[2], radius);
1798
2356
  }
1799
- #TransformBox(out, bounds, transform) {
1800
- out[0] = out[1] = out[2] = Infinity;
1801
- out[3] = out[4] = out[5] = -Infinity;
1802
- for (let index = 0; index < 8; index++) {
1803
- vec3.set(_EveSpaceObject.#boxCorner, index & 1 ? bounds[3] : bounds[0], index & 2 ? bounds[4] : bounds[1], index & 4 ? bounds[5] : bounds[2]);
1804
- vec3.transformMat4(_EveSpaceObject.#boxCorner, _EveSpaceObject.#boxCorner, transform);
1805
- out[0] = Math.min(out[0], _EveSpaceObject.#boxCorner[0]);
1806
- out[1] = Math.min(out[1], _EveSpaceObject.#boxCorner[1]);
1807
- out[2] = Math.min(out[2], _EveSpaceObject.#boxCorner[2]);
1808
- out[3] = Math.max(out[3], _EveSpaceObject.#boxCorner[0]);
1809
- out[4] = Math.max(out[4], _EveSpaceObject.#boxCorner[1]);
1810
- out[5] = Math.max(out[5], _EveSpaceObject.#boxCorner[2]);
1811
- }
1812
- return out;
1813
- }
1814
2357
  #zero = Object.freeze([0, 0, 0]);
1815
2358
  #unitY = Object.freeze([0, 1, 0]);
1816
2359
  #locatorDirection = vec3.create();
@@ -1831,7 +2374,6 @@ new class extends _identity {
1831
2374
  #worldSphere = sph3.create();
1832
2375
  #localBox = box3.create();
1833
2376
  #worldBox = box3.create();
1834
- #boxCorner = vec3.create();
1835
2377
  #identityRotation = Object.freeze([0, 0, 0, 1]);
1836
2378
  #identityTransform = mat4.create();
1837
2379
  #damageLocatorSetName = "damage";