@carbonenginejs/runtime-trinity 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1087) hide show
  1. package/README.md +35 -243
  2. package/dist/controllers/CjsControllerExpressionProgram.js +157 -0
  3. package/dist/controllers/CjsControllerExpressionProgram.js.map +1 -1
  4. package/dist/controllers/ITr2ControllerAction.js +57 -0
  5. package/dist/controllers/ITr2ControllerAction.js.map +1 -1
  6. package/dist/controllers/Tr2ActionAnimateCurveSet.js +10 -0
  7. package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
  8. package/dist/controllers/Tr2ActionAnimateValue.js +26 -0
  9. package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
  10. package/dist/controllers/Tr2ActionBindRTPC.js +11 -0
  11. package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
  12. package/dist/controllers/Tr2ActionCallback.js +5 -0
  13. package/dist/controllers/Tr2ActionCallback.js.map +1 -1
  14. package/dist/controllers/Tr2ActionChildEffect.js +63 -0
  15. package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
  16. package/dist/controllers/Tr2ActionOverlay.js +68 -0
  17. package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
  18. package/dist/controllers/Tr2ActionPlayCurveSet.js +16 -0
  19. package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
  20. package/dist/controllers/Tr2ActionPlayMeshAnimation.js +29 -0
  21. package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
  22. package/dist/controllers/Tr2ActionPlaySound.js +11 -0
  23. package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
  24. package/dist/controllers/Tr2ActionPython.js +11 -0
  25. package/dist/controllers/Tr2ActionPython.js.map +1 -1
  26. package/dist/controllers/Tr2ActionResetClipSphereCenter.js +17 -0
  27. package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
  28. package/dist/controllers/Tr2ActionSetAttenuationScaling.js +5 -0
  29. package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
  30. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +5 -0
  31. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
  32. package/dist/controllers/Tr2ActionSetAudioSwitch.js +5 -0
  33. package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
  34. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +23 -0
  35. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  36. package/dist/controllers/Tr2ActionSetShaderOption.js +5 -0
  37. package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
  38. package/dist/controllers/Tr2ActionSetValue.js +35 -0
  39. package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
  40. package/dist/controllers/Tr2ActionSpawnParticles.js +10 -0
  41. package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
  42. package/dist/controllers/Tr2BindingPoint.js +67 -0
  43. package/dist/controllers/Tr2BindingPoint.js.map +1 -1
  44. package/dist/controllers/Tr2Controller.js +37 -0
  45. package/dist/controllers/Tr2Controller.js.map +1 -1
  46. package/dist/controllers/Tr2ControllerEventHandler.js +10 -0
  47. package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
  48. package/dist/controllers/Tr2ControllerExpression.js +17 -0
  49. package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
  50. package/dist/controllers/Tr2ControllerFloatVariable.js +6 -0
  51. package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
  52. package/dist/controllers/Tr2ControllerReference.js +11 -0
  53. package/dist/controllers/Tr2ControllerReference.js.map +1 -1
  54. package/dist/controllers/Tr2StateMachine.js +17 -0
  55. package/dist/controllers/Tr2StateMachine.js.map +1 -1
  56. package/dist/controllers/Tr2StateMachineState.js +47 -0
  57. package/dist/controllers/Tr2StateMachineState.js.map +1 -1
  58. package/dist/controllers/Tr2StateMachineTransition.js +29 -0
  59. package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
  60. package/dist/controllers/Tr2SyncToAnimation.js +5 -0
  61. package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
  62. package/dist/controllers/Tr2TimelineController.js +61 -0
  63. package/dist/controllers/Tr2TimelineController.js.map +1 -1
  64. package/dist/controllers/contracts.js +24 -1
  65. package/dist/controllers/contracts.js.map +1 -1
  66. package/dist/controllers/index.js +1 -1
  67. package/dist/curves/CjsGrannyCurves.js +150 -0
  68. package/dist/curves/CjsGrannyCurves.js.map +1 -1
  69. package/dist/curves/Tr2BoneMatrixCurve.js +23 -0
  70. package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
  71. package/dist/curves/Tr2CameraFollowCurveKey.js +6 -0
  72. package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
  73. package/dist/curves/Tr2CurveColor.js +6 -0
  74. package/dist/curves/Tr2CurveColor.js.map +1 -1
  75. package/dist/curves/Tr2CurveColorMixer.js +6 -0
  76. package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
  77. package/dist/curves/Tr2CurveCombiner.js +5 -0
  78. package/dist/curves/Tr2CurveCombiner.js.map +1 -1
  79. package/dist/curves/Tr2CurveConstant.js +16 -0
  80. package/dist/curves/Tr2CurveConstant.js.map +1 -1
  81. package/dist/curves/Tr2CurveEulerRotation.js +5 -0
  82. package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
  83. package/dist/curves/Tr2CurveEulerRotationExpression.js +66 -0
  84. package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
  85. package/dist/curves/Tr2CurveQuaternion.js +5 -0
  86. package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
  87. package/dist/curves/Tr2CurveQuaternionKey.js +5 -0
  88. package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
  89. package/dist/curves/Tr2CurveRandomAxisRotation.js +28 -0
  90. package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
  91. package/dist/curves/Tr2CurveScalar.js +35 -0
  92. package/dist/curves/Tr2CurveScalar.js.map +1 -1
  93. package/dist/curves/Tr2CurveScalarExpression.js +11 -0
  94. package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
  95. package/dist/curves/Tr2CurveScalarKey.js +6 -0
  96. package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
  97. package/dist/curves/Tr2CurveSetRange.js +5 -0
  98. package/dist/curves/Tr2CurveSetRange.js.map +1 -1
  99. package/dist/curves/Tr2CurveVector2.js +5 -0
  100. package/dist/curves/Tr2CurveVector2.js.map +1 -1
  101. package/dist/curves/Tr2CurveVector3.js +5 -0
  102. package/dist/curves/Tr2CurveVector3.js.map +1 -1
  103. package/dist/curves/Tr2CurveVector3Expression.js +71 -0
  104. package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
  105. package/dist/curves/Tr2CurveVector3Lerp.js +6 -0
  106. package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
  107. package/dist/curves/Tr2DistanceTracker.js +6 -0
  108. package/dist/curves/Tr2DistanceTracker.js.map +1 -1
  109. package/dist/curves/Tr2FollowCurve.js +6 -0
  110. package/dist/curves/Tr2FollowCurve.js.map +1 -1
  111. package/dist/curves/Tr2GrannyEventTrack.js +5 -0
  112. package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
  113. package/dist/curves/Tr2GrannyTrack.js +6 -0
  114. package/dist/curves/Tr2GrannyTrack.js.map +1 -1
  115. package/dist/curves/Tr2GrannyTransformTrack.js +6 -0
  116. package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
  117. package/dist/curves/Tr2GrannyVectorTrack.js +5 -0
  118. package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
  119. package/dist/curves/Tr2MatrixKey.js +5 -0
  120. package/dist/curves/Tr2MatrixKey.js.map +1 -1
  121. package/dist/curves/Tr2ObjectFollowCurveKey.js +6 -0
  122. package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
  123. package/dist/curves/Tr2QuaternionLerpCurve.js +6 -0
  124. package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
  125. package/dist/curves/Tr2RotationAdapter.js +6 -0
  126. package/dist/curves/Tr2RotationAdapter.js.map +1 -1
  127. package/dist/curves/Tr2ScalarExprKey.js +18 -0
  128. package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
  129. package/dist/curves/Tr2ScalarExprKeyCurve.js +23 -0
  130. package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
  131. package/dist/curves/Tr2ScalarFader.js +11 -0
  132. package/dist/curves/Tr2ScalarFader.js.map +1 -1
  133. package/dist/curves/Tr2TranslationAdapter.js +6 -0
  134. package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
  135. package/dist/curves/TriColorSequencer.js +6 -0
  136. package/dist/curves/TriColorSequencer.js.map +1 -1
  137. package/dist/curves/TriCurveSet.js +23 -0
  138. package/dist/curves/TriCurveSet.js.map +1 -1
  139. package/dist/curves/TriEventCurve.js +23 -0
  140. package/dist/curves/TriEventCurve.js.map +1 -1
  141. package/dist/curves/TriEventKey.js +5 -0
  142. package/dist/curves/TriEventKey.js.map +1 -1
  143. package/dist/curves/TriPerlinCurve.js +30 -0
  144. package/dist/curves/TriPerlinCurve.js.map +1 -1
  145. package/dist/curves/TriVectorSequencer.js +6 -0
  146. package/dist/curves/TriVectorSequencer.js.map +1 -1
  147. package/dist/eve/AudioGameObject.js +89 -1
  148. package/dist/eve/AudioGameObject.js.map +1 -1
  149. package/dist/eve/BackAndForthData.js +7 -0
  150. package/dist/eve/BackAndForthData.js.map +1 -1
  151. package/dist/eve/CjsDistributionRandom.js +6 -0
  152. package/dist/eve/CjsDistributionRandom.js.map +1 -1
  153. package/dist/eve/CjsEveThrottleableState.js +11 -0
  154. package/dist/eve/CjsEveThrottleableState.js.map +1 -1
  155. package/dist/eve/EveChildUpdateParams.js +7 -0
  156. package/dist/eve/EveChildUpdateParams.js.map +1 -1
  157. package/dist/eve/EveComponentTypes.js.map +1 -1
  158. package/dist/eve/EveCustomMask.js +58 -27
  159. package/dist/eve/EveCustomMask.js.map +1 -1
  160. package/dist/eve/EveDistanceField.js +84 -0
  161. package/dist/eve/EveDistanceField.js.map +1 -1
  162. package/dist/eve/EveEntity.js +138 -0
  163. package/dist/eve/EveEntity.js.map +1 -0
  164. package/dist/eve/EveImpactOverlay.js +61 -0
  165. package/dist/eve/EveImpactOverlay.js.map +1 -1
  166. package/dist/eve/EveLODHelper.js +17 -13
  167. package/dist/eve/EveLODHelper.js.map +1 -1
  168. package/dist/eve/EveLineData.js +2 -0
  169. package/dist/eve/EveLineData.js.map +1 -1
  170. package/dist/eve/EveThrottleable.js +11 -0
  171. package/dist/eve/EveThrottleable.js.map +1 -1
  172. package/dist/eve/FollowASplineData.js +7 -0
  173. package/dist/eve/FollowASplineData.js.map +1 -1
  174. package/dist/eve/FormationData.js +6 -0
  175. package/dist/eve/FormationData.js.map +1 -1
  176. package/dist/eve/InertiaData.js +7 -0
  177. package/dist/eve/InertiaData.js.map +1 -1
  178. package/dist/eve/PlacementDataWithIdentifier.js +7 -0
  179. package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
  180. package/dist/eve/PlayFXData.js +7 -0
  181. package/dist/eve/PlayFXData.js.map +1 -1
  182. package/dist/eve/SeekTargetData.js +7 -0
  183. package/dist/eve/SeekTargetData.js.map +1 -1
  184. package/dist/eve/{EveSpaceObjectAttachmentUtils.js → attachment/EveSpaceObjectAttachmentUtils.js} +11 -11
  185. package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
  186. package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
  187. package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
  188. package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +13 -2
  189. package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
  190. package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
  191. package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
  192. package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +204 -35
  193. package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
  194. package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +205 -12
  195. package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
  196. package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +49 -1
  197. package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
  198. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
  199. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
  200. package/dist/eve/{EveHazeSet.js → attachment/haze/EveHazeSet.js} +65 -6
  201. package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
  202. package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
  203. package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
  204. package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +13 -2
  205. package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
  206. package/dist/eve/attachment/itemSetBounds.js +131 -0
  207. package/dist/eve/attachment/itemSetBounds.js.map +1 -0
  208. package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +14 -2
  209. package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
  210. package/dist/eve/{EvePlaneSet.js → attachment/plane/EvePlaneSet.js} +119 -7
  211. package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
  212. package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
  213. package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
  214. package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +13 -2
  215. package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
  216. package/dist/eve/{EveSpotlightSet.js → attachment/spotlight/EveSpotlightSet.js} +86 -6
  217. package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
  218. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
  219. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
  220. package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +14 -2
  221. package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
  222. package/dist/eve/{EveSpriteLineSet.js → attachment/sprite/EveSpriteLineSet.js} +69 -7
  223. package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
  224. package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +29 -4
  225. package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
  226. package/dist/eve/{EveSpriteSet.js → attachment/sprite/EveSpriteSet.js} +87 -8
  227. package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
  228. package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +23 -26
  229. package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
  230. package/dist/eve/attachment/turrets/EveTurretFiringFX.js +184 -2
  231. package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  232. package/dist/eve/attachment/turrets/EveTurretSet.js +236 -7
  233. package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  234. package/dist/eve/attachment/turrets/EveTurretTarget.js +112 -0
  235. package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  236. package/dist/eve/camera/EveCamera.js +644 -0
  237. package/dist/eve/camera/EveCamera.js.map +1 -0
  238. package/dist/eve/child/EveChildAudio.js +63 -0
  239. package/dist/eve/child/EveChildAudio.js.map +1 -1
  240. package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
  241. package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
  242. package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +41 -3
  243. package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
  244. package/dist/eve/child/EveChildContainer.js +175 -16
  245. package/dist/eve/child/EveChildContainer.js.map +1 -1
  246. package/dist/eve/child/EveChildEffectPropagator.js +1 -1
  247. package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
  248. package/dist/eve/child/EveChildFogVolume.js +72 -0
  249. package/dist/eve/child/EveChildFogVolume.js.map +1 -1
  250. package/dist/eve/child/EveChildInheritProperties.js +17 -0
  251. package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
  252. package/dist/eve/child/EveChildInstancedMeshes.js +211 -1
  253. package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
  254. package/dist/eve/child/EveChildLightingOverride.js +74 -0
  255. package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
  256. package/dist/{generated/eve → eve}/child/EveChildLink.js +17 -16
  257. package/dist/eve/child/EveChildLink.js.map +1 -0
  258. package/dist/eve/child/EveChildMesh.js +351 -105
  259. package/dist/eve/child/EveChildMesh.js.map +1 -1
  260. package/dist/eve/child/EveChildSpherePin.js +108 -0
  261. package/dist/eve/child/EveChildSpherePin.js.map +1 -0
  262. package/dist/eve/child/EveChildTransform.js +44 -1
  263. package/dist/eve/child/EveChildTransform.js.map +1 -1
  264. package/dist/eve/child/IEveSpaceObjectChild.js +5 -0
  265. package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
  266. package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
  267. package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
  268. package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
  269. package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
  270. package/dist/eve/child/behaviors/Wander.js +99 -0
  271. package/dist/eve/child/behaviors/Wander.js.map +1 -0
  272. package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
  273. package/dist/eve/child/behaviors/enums.js.map +1 -0
  274. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
  275. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
  276. package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +8 -2
  277. package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
  278. package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +9 -7
  279. package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
  280. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
  281. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
  282. package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +3 -3
  283. package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
  284. package/dist/eve/child/lineSetPaths/EveBezierCurve.js +65 -0
  285. package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  286. package/dist/eve/child/lineSetPaths/EveCircle.js +63 -0
  287. package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  288. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +24 -16
  289. package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
  290. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +5 -0
  291. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
  292. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +22 -19
  293. package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
  294. package/dist/eve/child/modifiers/EveChildModifierBooster.js +6 -0
  295. package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
  296. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +5 -0
  297. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
  298. package/dist/eve/child/modifiers/EveChildModifierHalo.js +5 -0
  299. package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
  300. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +6 -0
  301. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
  302. package/dist/eve/child/modifiers/EveChildModifierSRT.js +5 -0
  303. package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  304. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +31 -17
  305. package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
  306. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +16 -14
  307. package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
  308. package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +11 -4
  309. package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
  310. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +12 -12
  311. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
  312. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +6 -6
  313. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
  314. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +12 -12
  315. package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
  316. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +8 -8
  317. package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
  318. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +17 -17
  319. package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
  320. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +7 -7
  321. package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
  322. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +7 -7
  323. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
  324. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +17 -17
  325. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
  326. package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +132 -3
  327. package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
  328. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +12 -1
  329. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
  330. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +9 -1
  331. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
  332. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +12 -1
  333. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
  334. package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
  335. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +16 -3
  336. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
  337. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +31 -3
  338. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
  339. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +34 -3
  340. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
  341. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +14 -2
  342. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
  343. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +13 -2
  344. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
  345. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +13 -2
  346. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
  347. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +13 -2
  348. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
  349. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +19 -1
  350. package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
  351. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +25 -1
  352. package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
  353. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +17 -1
  354. package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
  355. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +20 -1
  356. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
  357. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +20 -1
  358. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
  359. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +20 -1
  360. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
  361. package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +44 -2
  362. package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
  363. package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
  364. package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
  365. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
  366. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
  367. package/dist/eve/index.js +117 -47
  368. package/dist/eve/index.js.map +1 -1
  369. package/dist/eve/lights/CjsLightData.js +7 -0
  370. package/dist/eve/lights/CjsLightData.js.map +1 -1
  371. package/dist/eve/lights/Tr2Light.js +41 -0
  372. package/dist/eve/lights/Tr2Light.js.map +1 -1
  373. package/dist/eve/lights/Tr2PointLight.js +5 -0
  374. package/dist/eve/lights/Tr2PointLight.js.map +1 -1
  375. package/dist/eve/lights/Tr2SpotLight.js +5 -0
  376. package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
  377. package/dist/eve/lights/Tr2TexturedPointLight.js +10 -0
  378. package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  379. package/dist/eve/lights/lightConversion.js +29 -27
  380. package/dist/eve/lights/lightConversion.js.map +1 -1
  381. package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +20 -1
  382. package/dist/eve/locator/EveLocator2.js.map +1 -0
  383. package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +43 -1
  384. package/dist/eve/locator/EveLocatorSets.js.map +1 -0
  385. package/dist/eve/{Locator.js → locator/Locator.js} +6 -1
  386. package/dist/eve/locator/Locator.js.map +1 -0
  387. package/dist/eve/{LocatorData.js → locator/LocatorData.js} +3 -1
  388. package/dist/eve/locator/LocatorData.js.map +1 -0
  389. package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
  390. package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
  391. package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +5 -5
  392. package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
  393. package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +5 -5
  394. package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
  395. package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +6 -6
  396. package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
  397. package/dist/{generated/eve/scene → eve/particles/static}/EveSceneStaticParticles.js +70 -36
  398. package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
  399. package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
  400. package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
  401. package/dist/eve/renderable/stretch/CjsStretchRuntime.js +76 -0
  402. package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
  403. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +85 -1
  404. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  405. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +91 -0
  406. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
  407. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +36 -0
  408. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
  409. package/dist/eve/renderable/stretch/EveStretch.js +158 -9
  410. package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
  411. package/dist/eve/renderable/stretch/EveStretch2.js +121 -12
  412. package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
  413. package/dist/eve/renderable/stretch/EveStretch3.js +261 -8
  414. package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
  415. package/dist/eve/scene/EveSpaceScene.js +56 -6
  416. package/dist/eve/scene/EveSpaceScene.js.map +1 -1
  417. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +24 -1
  418. package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
  419. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +74 -2
  420. package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
  421. package/dist/eve/scene/picking/EvePickingContext.js +61 -0
  422. package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
  423. package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
  424. package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
  425. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
  426. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
  427. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +19 -19
  428. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
  429. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +19 -19
  430. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
  431. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +12 -12
  432. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
  433. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +12 -12
  434. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
  435. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +30 -30
  436. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
  437. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +9 -9
  438. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
  439. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +23 -23
  440. package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
  441. package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
  442. package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +26 -1
  443. package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
  444. package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +17 -1
  445. package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
  446. package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +21 -5
  447. package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
  448. package/dist/eve/socket/EveSocketParameterFilePath.js +5 -5
  449. package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
  450. package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +17 -1
  451. package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
  452. package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +17 -1
  453. package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
  454. package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +42 -2
  455. package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
  456. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +17 -1
  457. package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
  458. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +17 -1
  459. package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
  460. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +17 -1
  461. package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
  462. package/dist/eve/spaceObject/EveEffectRoot2.js +58 -31
  463. package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  464. package/dist/eve/spaceObject/EveMissile.js +49 -1
  465. package/dist/eve/spaceObject/EveMissile.js.map +1 -1
  466. package/dist/eve/spaceObject/EveMissileWarhead.js +100 -1
  467. package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
  468. package/dist/eve/spaceObject/EveMobile.js +104 -0
  469. package/dist/eve/spaceObject/EveMobile.js.map +1 -1
  470. package/dist/eve/spaceObject/EveRootTransform.js +17 -0
  471. package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
  472. package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +32 -12
  473. package/dist/eve/spaceObject/EveShip2.js.map +1 -0
  474. package/dist/eve/spaceObject/EveSpaceObject2.js +726 -199
  475. package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  476. package/dist/eve/spaceObject/EveTransform.js +100 -4
  477. package/dist/eve/spaceObject/EveTransform.js.map +1 -1
  478. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
  479. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
  480. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
  481. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
  482. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
  483. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
  484. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
  485. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
  486. package/dist/{generated/eve/spaceObject → eve/spaceObject/planet}/EvePlanet.js +2 -2
  487. package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
  488. package/dist/{generated/eve → eve}/spaceObject/swarm/EveSwarmRenderable.js +102 -64
  489. package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
  490. package/dist/eve/ui/EveEllipseDefinition.js +15 -0
  491. package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
  492. package/dist/eve/ui/EveEllipseSet.js +42 -0
  493. package/dist/eve/ui/EveEllipseSet.js.map +1 -1
  494. package/dist/{generated/eve → eve}/ui/EveSpherePin.js +76 -11
  495. package/dist/eve/ui/EveSpherePin.js.map +1 -0
  496. package/dist/eve/ui/EveSprite2dBracket.js +5 -0
  497. package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
  498. package/dist/eve/ui/EveUiObject.js +11 -0
  499. package/dist/eve/ui/EveUiObject.js.map +1 -1
  500. package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +67 -6
  501. package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
  502. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
  503. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
  504. package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +22 -2
  505. package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
  506. package/dist/eve/virtualCamera/EveVirtualCamera.js +152 -0
  507. package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
  508. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +65 -0
  509. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
  510. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +17 -0
  511. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
  512. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +19 -0
  513. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
  514. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +17 -0
  515. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
  516. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +29 -0
  517. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
  518. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +15 -0
  519. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
  520. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +38 -0
  521. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
  522. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +17 -0
  523. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
  524. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +18 -0
  525. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
  526. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +20 -0
  527. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
  528. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +20 -0
  529. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
  530. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +11 -0
  531. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
  532. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +14 -0
  533. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
  534. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +16 -0
  535. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
  536. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +20 -0
  537. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
  538. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +36 -0
  539. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
  540. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +36 -0
  541. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
  542. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +11 -0
  543. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
  544. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +37 -0
  545. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
  546. package/dist/eve/volume/EveBoxVolume.js +59 -0
  547. package/dist/eve/volume/EveBoxVolume.js.map +1 -1
  548. package/dist/eve/volume/EveEllipsoidVolume.js +54 -0
  549. package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
  550. package/dist/eve/volume/EveSphereVolume.js +34 -0
  551. package/dist/eve/volume/EveSphereVolume.js.map +1 -1
  552. package/dist/generated/eve/child/EveChildCloud2.js +138 -138
  553. package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
  554. package/dist/generated/eve/child/EveChildParticleSystem.js +10 -4
  555. package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
  556. package/dist/generated/eve/child/EveChildSocket.js +1 -1
  557. package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
  558. package/dist/generated/eve/child/behaviors/BackAndForth.js +14 -17
  559. package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
  560. package/dist/generated/eve/child/behaviors/BehaviorGroup.js +2 -2
  561. package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  562. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +26 -29
  563. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
  564. package/dist/generated/eve/child/behaviors/FollowASpline.js +13 -17
  565. package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
  566. package/dist/generated/eve/child/behaviors/PlayFX.js +14 -14
  567. package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
  568. package/dist/generated/eve/child/behaviors/SeekTarget.js +1 -1
  569. package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
  570. package/dist/generated/eve/child/behaviors/index.js +0 -6
  571. package/dist/generated/eve/child/behaviors/index.js.map +1 -1
  572. package/dist/generated/eve/child/index.js +0 -23
  573. package/dist/generated/eve/child/index.js.map +1 -1
  574. package/dist/generated/eve/effect/index.js +0 -3
  575. package/dist/generated/eve/effect/index.js.map +1 -1
  576. package/dist/generated/eve/index.js +0 -88
  577. package/dist/generated/eve/index.js.map +1 -1
  578. package/dist/generated/eve/scene/index.js +0 -6
  579. package/dist/generated/eve/scene/index.js.map +1 -1
  580. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +20 -20
  581. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  582. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +1 -1
  583. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  584. package/dist/generated/eve/smartLights/index.js +0 -8
  585. package/dist/generated/eve/smartLights/index.js.map +1 -1
  586. package/dist/generated/eve/spaceObject/index.js +0 -4
  587. package/dist/generated/eve/spaceObject/index.js.map +1 -1
  588. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +11 -11
  589. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  590. package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
  591. package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
  592. package/dist/generated/eve/ui/index.js +0 -4
  593. package/dist/generated/eve/ui/index.js.map +1 -1
  594. package/dist/generated/index.js +0 -93
  595. package/dist/generated/index.js.map +1 -1
  596. package/dist/generated/trinityCore/index.js +0 -5
  597. package/dist/generated/trinityCore/index.js.map +1 -1
  598. package/dist/index.js +130 -155
  599. package/dist/index.js.map +1 -1
  600. package/dist/particle/Tr2GpuSharedEmitter.js +39 -0
  601. package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
  602. package/dist/particle/Tr2GpuUniqueEmitter.js +5 -0
  603. package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
  604. package/dist/particle/Tr2ParticleAttractorForce.js +10 -0
  605. package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
  606. package/dist/particle/Tr2ParticleDirectForce.js +7 -0
  607. package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
  608. package/dist/particle/Tr2ParticleDragForce.js +7 -0
  609. package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
  610. package/dist/particle/Tr2ParticleElementDeclaration.js +5 -0
  611. package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
  612. package/dist/particle/Tr2ParticleFluidDragForce.js +10 -0
  613. package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
  614. package/dist/particle/Tr2ParticleSpring.js +10 -0
  615. package/dist/particle/Tr2ParticleSpring.js.map +1 -1
  616. package/dist/particle/Tr2ParticleVortexForce.js +10 -0
  617. package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
  618. package/dist/particle/particleElementBinding.js +12 -0
  619. package/dist/particle/particleElementBinding.js.map +1 -1
  620. package/dist/postProcess/Tr2PPBloomEffect.js +6 -0
  621. package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
  622. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +16 -0
  623. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
  624. package/dist/postProcess/Tr2PPGenericEffect.js +7 -0
  625. package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
  626. package/dist/postProcess/Tr2PPTaaEffect.js +10 -0
  627. package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
  628. package/dist/postProcess/Tr2PPTonemappingEffect.js +5 -0
  629. package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
  630. package/dist/postProcess/Tr2PostProcess.js +5 -0
  631. package/dist/postProcess/Tr2PostProcess.js.map +1 -1
  632. package/dist/postProcess/Tr2PostProcess2.js +147 -0
  633. package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
  634. package/dist/postProcess/Tr2PostProcessAttributes.js +89 -0
  635. package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  636. package/dist/renderJob/Tr2RenderJobs.js +34 -0
  637. package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
  638. package/dist/renderJob/TriRenderJob.js +59 -0
  639. package/dist/renderJob/TriRenderJob.js.map +1 -1
  640. package/dist/renderJob/TriRenderStep.js +20 -0
  641. package/dist/renderJob/TriRenderStep.js.map +1 -1
  642. package/dist/renderJob/TriStepClear.js +18 -0
  643. package/dist/renderJob/TriStepClear.js.map +1 -1
  644. package/dist/renderJob/TriStepCopyRenderTarget.js +51 -0
  645. package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
  646. package/dist/renderJob/TriStepEnableWireframeMode.js +9 -0
  647. package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
  648. package/dist/renderJob/TriStepGenerateMipMaps.js +9 -0
  649. package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
  650. package/dist/renderJob/TriStepPopDepthStencil.js +6 -0
  651. package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
  652. package/dist/renderJob/TriStepPopProjection.js +6 -0
  653. package/dist/renderJob/TriStepPopProjection.js.map +1 -1
  654. package/dist/renderJob/TriStepPopRenderTarget.js +12 -0
  655. package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
  656. package/dist/renderJob/TriStepPopViewTransform.js +6 -0
  657. package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
  658. package/dist/renderJob/TriStepPopViewport.js +6 -0
  659. package/dist/renderJob/TriStepPopViewport.js.map +1 -1
  660. package/dist/renderJob/TriStepPresentSwapChain.js +12 -0
  661. package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
  662. package/dist/renderJob/TriStepPushDepthStencil.js +17 -0
  663. package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
  664. package/dist/renderJob/TriStepPushProjection.js +6 -0
  665. package/dist/renderJob/TriStepPushProjection.js.map +1 -1
  666. package/dist/renderJob/TriStepPushRenderTarget.js +9 -0
  667. package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
  668. package/dist/renderJob/TriStepPushViewTransform.js +6 -0
  669. package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
  670. package/dist/renderJob/TriStepPushViewport.js +6 -0
  671. package/dist/renderJob/TriStepPushViewport.js.map +1 -1
  672. package/dist/renderJob/TriStepRemoteSync.js +17 -0
  673. package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
  674. package/dist/renderJob/TriStepResolve.js +13 -0
  675. package/dist/renderJob/TriStepResolve.js.map +1 -1
  676. package/dist/renderJob/TriStepRunJob.js +12 -0
  677. package/dist/renderJob/TriStepRunJob.js.map +1 -1
  678. package/dist/renderJob/TriStepSetDepthStencil.js +12 -0
  679. package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
  680. package/dist/renderJob/TriStepSetProjection.js +14 -0
  681. package/dist/renderJob/TriStepSetProjection.js.map +1 -1
  682. package/dist/renderJob/TriStepSetRenderState.js +20 -0
  683. package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
  684. package/dist/renderJob/TriStepSetRenderTarget.js +12 -0
  685. package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
  686. package/dist/renderJob/TriStepSetStdRndStates.js +18 -0
  687. package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
  688. package/dist/renderJob/TriStepSetView.js +29 -2
  689. package/dist/renderJob/TriStepSetView.js.map +1 -1
  690. package/dist/renderJob/TriStepSetViewport.js +17 -0
  691. package/dist/renderJob/TriStepSetViewport.js.map +1 -1
  692. package/dist/renderJob/TriStepSetVisualizationMode.js +19 -0
  693. package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
  694. package/dist/shader/Tr2Effect.js +217 -2
  695. package/dist/shader/Tr2Effect.js.map +1 -1
  696. package/dist/shader/Tr2Material.js +41 -0
  697. package/dist/shader/Tr2Material.js.map +1 -1
  698. package/dist/shader/index.js +1 -11
  699. package/dist/shader/index.js.map +1 -1
  700. package/dist/shader/material/Tr2EffectLibraryParameters.js +7 -0
  701. package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
  702. package/dist/shader/material/Tr2EffectPassParameters.js +23 -0
  703. package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
  704. package/dist/shader/material/Tr2MaterialStageInput.js +15 -0
  705. package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
  706. package/dist/shader/parameter/CjsParameter.js +94 -0
  707. package/dist/shader/parameter/CjsParameter.js.map +1 -1
  708. package/dist/shader/parameter/CjsVectorParameter.js +20 -0
  709. package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
  710. package/dist/shader/parameter/Tr2FloatParameter.js +53 -0
  711. package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
  712. package/dist/shader/parameter/Tr2GeometryBufferParameter.js +39 -0
  713. package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  714. package/dist/shader/parameter/Tr2Matrix4Parameter.js +54 -0
  715. package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  716. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +54 -0
  717. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  718. package/dist/shader/parameter/Tr2TextureAnimationParameter.js +35 -0
  719. package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  720. package/dist/shader/parameter/Tr2Vector2Parameter.js +86 -0
  721. package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  722. package/dist/shader/parameter/Tr2Vector3Parameter.js +95 -0
  723. package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  724. package/dist/shader/parameter/Tr2Vector4Parameter.js +105 -0
  725. package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  726. package/dist/shader/parameter/TriFloatArrayParameter.js +26 -0
  727. package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  728. package/dist/shader/parameter/TriTextureParameter.js +84 -0
  729. package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
  730. package/dist/shader/parameter/TriTransformParameter.js +2 -0
  731. package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
  732. package/dist/shader/parameter/TriVariableParameter.js +38 -0
  733. package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
  734. package/dist/shader/parameter/TriVector4.js +2 -0
  735. package/dist/shader/parameter/TriVector4.js.map +1 -1
  736. package/dist/shader/reflection/Tr2ShaderOption.js +6 -1
  737. package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
  738. package/dist/shader/support/CjsVariableStore.js +140 -0
  739. package/dist/shader/support/CjsVariableStore.js.map +1 -1
  740. package/dist/shader/support/Tr2ShaderBuffer.js +15 -0
  741. package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
  742. package/dist/trinityCore/CjsBatchManager.js +62 -2
  743. package/dist/trinityCore/CjsBatchManager.js.map +1 -1
  744. package/dist/trinityCore/GrannyBoneOffset.js +51 -0
  745. package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
  746. package/dist/trinityCore/ITriRenderBatchAccumulator.js +65 -3
  747. package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
  748. package/dist/trinityCore/Tr2DirectInstanceData.js +19 -0
  749. package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
  750. package/dist/trinityCore/Tr2ExpressionTermInfo.js +21 -0
  751. package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
  752. package/dist/trinityCore/Tr2GpuBuffer.js +5 -0
  753. package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
  754. package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +137 -8
  755. package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
  756. package/dist/trinityCore/Tr2InstancedMesh.js +52 -0
  757. package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
  758. package/dist/trinityCore/Tr2MaterialParameterStore.js +5 -0
  759. package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
  760. package/dist/trinityCore/Tr2Mesh.js +37 -0
  761. package/dist/trinityCore/Tr2Mesh.js.map +1 -1
  762. package/dist/trinityCore/Tr2MeshArea.js +78 -0
  763. package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
  764. package/dist/trinityCore/Tr2MeshBase.js +98 -2
  765. package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
  766. package/dist/trinityCore/Tr2PerObjectData.js +10 -0
  767. package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
  768. package/dist/trinityCore/Tr2PickType.js +33 -0
  769. package/dist/trinityCore/Tr2PickType.js.map +1 -0
  770. package/dist/trinityCore/Tr2RenderBatch.js +137 -0
  771. package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
  772. package/dist/trinityCore/Tr2RenderContext.js +271 -0
  773. package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
  774. package/dist/trinityCore/Tr2RuntimeInstanceData.js +179 -0
  775. package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
  776. package/dist/trinityCore/Tr2ShLightingManager.js +397 -0
  777. package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
  778. package/dist/trinityCore/Tr2VariableStore.js +26 -0
  779. package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
  780. package/dist/trinityCore/Tr2VisibilityResults.js +5 -0
  781. package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
  782. package/dist/trinityCore/TriDevice.js +5 -0
  783. package/dist/trinityCore/TriDevice.js.map +1 -1
  784. package/dist/trinityCore/TriFrustum.js +21 -14
  785. package/dist/trinityCore/TriFrustum.js.map +1 -1
  786. package/dist/trinityCore/TriObserverLocal.js +43 -0
  787. package/dist/trinityCore/TriObserverLocal.js.map +1 -1
  788. package/dist/trinityCore/TriProjection.js +86 -32
  789. package/dist/trinityCore/TriProjection.js.map +1 -1
  790. package/dist/trinityCore/TriRect.js +12 -0
  791. package/dist/trinityCore/TriRect.js.map +1 -1
  792. package/dist/trinityCore/TriRenderBatchAccumulator.js +46 -0
  793. package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
  794. package/dist/trinityCore/TriRenderBatchMap.js +39 -2
  795. package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
  796. package/dist/trinityCore/TriSettings.js +38 -0
  797. package/dist/trinityCore/TriSettings.js.map +1 -1
  798. package/dist/trinityCore/TriVariable.js +30 -0
  799. package/dist/trinityCore/TriVariable.js.map +1 -1
  800. package/dist/trinityCore/TriView.js +16 -1
  801. package/dist/trinityCore/TriView.js.map +1 -1
  802. package/dist/trinityCore/TriViewport.js +12 -0
  803. package/dist/trinityCore/TriViewport.js.map +1 -1
  804. package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +1 -1
  805. package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
  806. package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
  807. package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
  808. package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
  809. package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
  810. package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +30 -6
  811. package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
  812. package/dist/trinityCore/binding/TriValueBinding.js +648 -0
  813. package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
  814. package/dist/trinityCore/index.js +11 -4
  815. package/dist/trinityCore/index.js.map +1 -1
  816. package/dist/trinityCore/pickRay.js +84 -0
  817. package/dist/trinityCore/pickRay.js.map +1 -0
  818. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +931 -0
  819. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
  820. package/dist/trinityCore/rawData/RawData.js +294 -38
  821. package/dist/trinityCore/rawData/RawData.js.map +1 -1
  822. package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
  823. package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
  824. package/dist/utilities/Range.js +53 -0
  825. package/dist/utilities/Range.js.map +1 -1
  826. package/docs/README.md +88 -0
  827. package/docs/architecture.md +162 -0
  828. package/docs/concepts/eve-runtime-behavior.md +86 -0
  829. package/docs/concepts/generated-class-lifecycle.md +116 -0
  830. package/docs/reference/api.md +76 -0
  831. package/docs/reference/classes/eve-runtime.md +106 -0
  832. package/docs/reference/classes/trinity-core.md +26 -0
  833. package/docs/reference/implementation-status.md +104 -0
  834. package/docs/reference/main-semantic-extraction.md +104 -0
  835. package/package.json +33 -24
  836. package/dist/eve/DecalVSPerObjectData.js +0 -34
  837. package/dist/eve/DecalVSPerObjectData.js.map +0 -1
  838. package/dist/eve/EveBannerItem.js +0 -43
  839. package/dist/eve/EveBannerItem.js.map +0 -1
  840. package/dist/eve/EveBannerLight.js.map +0 -1
  841. package/dist/eve/EveBannerSet.js +0 -190
  842. package/dist/eve/EveBannerSet.js.map +0 -1
  843. package/dist/eve/EveBasicPerObjectData.js +0 -31
  844. package/dist/eve/EveBasicPerObjectData.js.map +0 -1
  845. package/dist/eve/EveBoosterSet2.js.map +0 -1
  846. package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
  847. package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
  848. package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
  849. package/dist/eve/EveHazeSet.js.map +0 -1
  850. package/dist/eve/EveHazeSetLight.js.map +0 -1
  851. package/dist/eve/EveLocator2.js.map +0 -1
  852. package/dist/eve/EveLocatorSets.js.map +0 -1
  853. package/dist/eve/EveParticleDirectForce.js.map +0 -1
  854. package/dist/eve/EveParticleDragForce.js.map +0 -1
  855. package/dist/eve/EveParticleSpring.js.map +0 -1
  856. package/dist/eve/EvePerObjectPSData.js +0 -29
  857. package/dist/eve/EvePerObjectPSData.js.map +0 -1
  858. package/dist/eve/EvePerObjectVSData.js +0 -29
  859. package/dist/eve/EvePerObjectVSData.js.map +0 -1
  860. package/dist/eve/EvePlaneLight.js.map +0 -1
  861. package/dist/eve/EvePlaneSet.js.map +0 -1
  862. package/dist/eve/EvePlaneSetItem.js +0 -45
  863. package/dist/eve/EvePlaneSetItem.js.map +0 -1
  864. package/dist/eve/EveSpaceObjectAttachmentUtils.js.map +0 -1
  865. package/dist/eve/EveSpaceObjectDecal.js +0 -150
  866. package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
  867. package/dist/eve/EveSpaceObjectPSData.js +0 -73
  868. package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
  869. package/dist/eve/EveSpaceObjectVSData.js +0 -79
  870. package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
  871. package/dist/eve/EveSpacePerObjectData.js +0 -97
  872. package/dist/eve/EveSpacePerObjectData.js.map +0 -1
  873. package/dist/eve/EveSpherePinPerObjectData.js +0 -37
  874. package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
  875. package/dist/eve/EveSpotlightLight.js.map +0 -1
  876. package/dist/eve/EveSpotlightSet.js.map +0 -1
  877. package/dist/eve/EveSpriteLight.js.map +0 -1
  878. package/dist/eve/EveSpriteLineSet.js.map +0 -1
  879. package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
  880. package/dist/eve/EveSpriteSet.js.map +0 -1
  881. package/dist/eve/EveTrailsSet.js.map +0 -1
  882. package/dist/eve/Locator.js.map +0 -1
  883. package/dist/eve/LocatorData.js.map +0 -1
  884. package/dist/eve/ProcessLifetimeData.js.map +0 -1
  885. package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
  886. package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
  887. package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
  888. package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
  889. package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
  890. package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
  891. package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
  892. package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
  893. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
  894. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
  895. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
  896. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
  897. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
  898. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
  899. package/dist/generated/eve/EveCamera.js +0 -264
  900. package/dist/generated/eve/EveCamera.js.map +0 -1
  901. package/dist/generated/eve/EveEntity.js +0 -81
  902. package/dist/generated/eve/EveEntity.js.map +0 -1
  903. package/dist/generated/eve/attachment/decal/index.js +0 -2
  904. package/dist/generated/eve/attachment/decal/index.js.map +0 -1
  905. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
  906. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
  907. package/dist/generated/eve/attachment/haze/index.js +0 -2
  908. package/dist/generated/eve/attachment/haze/index.js.map +0 -1
  909. package/dist/generated/eve/attachment/index.js +0 -5
  910. package/dist/generated/eve/attachment/index.js.map +0 -1
  911. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
  912. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
  913. package/dist/generated/eve/attachment/spotlights/index.js +0 -2
  914. package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
  915. package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
  916. package/dist/generated/eve/attachment/sprites/index.js +0 -2
  917. package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
  918. package/dist/generated/eve/attachment/turrets/enums.js +0 -32
  919. package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
  920. package/dist/generated/eve/attachment/turrets/index.js +0 -2
  921. package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
  922. package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
  923. package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
  924. package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
  925. package/dist/generated/eve/child/EveChildLink.js.map +0 -1
  926. package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
  927. package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
  928. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
  929. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
  930. package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
  931. package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
  932. package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
  933. package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
  934. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
  935. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
  936. package/dist/generated/eve/child/behaviors/Wander.js +0 -92
  937. package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
  938. package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
  939. package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
  940. package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
  941. package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
  942. package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
  943. package/dist/generated/eve/child/modifiers/index.js +0 -5
  944. package/dist/generated/eve/child/modifiers/index.js.map +0 -1
  945. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
  946. package/dist/generated/eve/child/procedural/index.js +0 -10
  947. package/dist/generated/eve/child/procedural/index.js.map +0 -1
  948. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
  949. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
  950. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
  951. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
  952. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
  953. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
  954. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
  955. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
  956. package/dist/generated/eve/child/procedural/selection/index.js +0 -9
  957. package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
  958. package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
  959. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
  960. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
  961. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
  962. package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
  963. package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
  964. package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
  965. package/dist/generated/eve/distribution/index.js +0 -19
  966. package/dist/generated/eve/distribution/index.js.map +0 -1
  967. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
  968. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
  969. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
  970. package/dist/generated/eve/distribution/placement/index.js +0 -4
  971. package/dist/generated/eve/distribution/placement/index.js.map +0 -1
  972. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
  973. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
  974. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
  975. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
  976. package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
  977. package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
  978. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
  979. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
  980. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
  981. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
  982. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
  983. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
  984. package/dist/generated/eve/distribution/spawners/index.js +0 -7
  985. package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
  986. package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
  987. package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
  988. package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
  989. package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
  990. package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
  991. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
  992. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
  993. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
  994. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
  995. package/dist/generated/eve/fxAttributes/index.js +0 -3
  996. package/dist/generated/eve/fxAttributes/index.js.map +0 -1
  997. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
  998. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
  999. package/dist/generated/eve/overlays/index.js +0 -2
  1000. package/dist/generated/eve/overlays/index.js.map +0 -1
  1001. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
  1002. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
  1003. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
  1004. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
  1005. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
  1006. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
  1007. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
  1008. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
  1009. package/dist/generated/eve/perObjectData/index.js +0 -5
  1010. package/dist/generated/eve/perObjectData/index.js.map +0 -1
  1011. package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
  1012. package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
  1013. package/dist/generated/eve/scene/EvePickingContext.js +0 -43
  1014. package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
  1015. package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
  1016. package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
  1017. package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
  1018. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
  1019. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
  1020. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
  1021. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
  1022. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
  1023. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
  1024. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
  1025. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
  1026. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
  1027. package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
  1028. package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
  1029. package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
  1030. package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
  1031. package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
  1032. package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
  1033. package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
  1034. package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
  1035. package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
  1036. package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
  1037. package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
  1038. package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
  1039. package/dist/generated/eve/socket/index.js +0 -10
  1040. package/dist/generated/eve/socket/index.js.map +0 -1
  1041. package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
  1042. package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
  1043. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
  1044. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
  1045. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
  1046. package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
  1047. package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
  1048. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
  1049. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
  1050. package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
  1051. package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
  1052. package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
  1053. package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
  1054. package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
  1055. package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
  1056. package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
  1057. package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
  1058. package/dist/generated/trinityCore/TriValueBinding.js +0 -249
  1059. package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
  1060. package/dist/shader/Tr2Shader.js +0 -150
  1061. package/dist/shader/Tr2Shader.js.map +0 -1
  1062. package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
  1063. package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
  1064. package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
  1065. package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
  1066. package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
  1067. package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
  1068. package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
  1069. package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
  1070. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
  1071. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
  1072. package/dist/shader/reflection/Tr2EffectResource.js +0 -63
  1073. package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
  1074. package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
  1075. package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
  1076. package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
  1077. package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
  1078. package/dist/shader/reflection/Tr2Pass.js +0 -46
  1079. package/dist/shader/reflection/Tr2Pass.js.map +0 -1
  1080. package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
  1081. package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
  1082. package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
  1083. package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
  1084. package/dist/trinityCore/rawData/RawDataStore.js +0 -232
  1085. package/dist/trinityCore/rawData/RawDataStore.js.map +0 -1
  1086. /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
  1087. /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"EveSpaceScene.js","sources":["../../../../src/eve/scene/EveSpaceScene.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveSpaceScene.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveSpaceScene.cpp\n//\n// Hand-maintained (promoted from src/generated/eve/scene; the generator skips it\n// while this file exists). Fields mirror the generated schema shell; the\n// additions are the per-frame update driver ported from Carbon\n// EveSpaceScene::Update and the scene-owned EveUpdateContext member (Carbon\n// m_updateContext - protected, so absent from the Blue schema scan).\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\nimport { EveEntity } from \"../../generated/eve/EveEntity.js\";\nimport { EveComponentRegistry } from \"../../generated/eve/scene/EveComponentRegistry.js\";\nimport { Tr2PostProcess2 } from \"../../postProcess/Tr2PostProcess2.js\";\nimport { Tr2PostProcessAttributes } from \"../../postProcess/Tr2PostProcessAttributes.js\";\nimport { EveComponentType } from \"../EveComponentTypes.js\";\nimport { EveUpdateContext } from \"../EveUpdateContext.js\";\nimport { EveEffectRoot2 } from \"../spaceObject/EveEffectRoot2.js\";\n\n\n// Module scratch for the per-frame sun-direction read (assume-dirty).\nconst sunDirectionScratch = vec3.create();\n\n// The scene-root parent transform for the visibility pass (Carbon\n// EveSpaceScene.cpp:1441 `const Matrix& identity = IdentityMatrix()`). Module\n// const, NEVER mutated - objects in m_objects are scene roots.\nconst IDENTITY = mat4.create();\n\n// ---------------------------------------------------------------------------\n// DRIVER-ORDER CONTRACT (per frame) - the CPU visibility/gather drive.\n// Carbon runs steps 5-12 inside EveSpaceScene::BeginRender/GatherBatches\n// (EveSpaceScene.cpp:1295-1427/1433-1525); CarbonEngineJS splits them into\n// scene-owned methods that an engine driver calls in this exact order:\n//\n// 1. Host stamps `updateContext.renderContext` (view -> derived inverse-view\n// + viewPos) and `updateContext.device`.\n// 2. Driver derives the frustum:\n// `frustum.DeriveFrustum(view, viewPos, projection, viewport)` from that\n// same renderContext state (Carbon cpp:476).\n// 3. `scene.StampFrameContext({ frustum, thresholds..., lodFactor,\n// raytracingEnabled })`.\n// 4. `scene.Update(realTime, simTime)` - internally ends with\n// `UpdatePostProcessAttributes()` then the sun-direction read (Carbon\n// cpp:584 -> 589).\n// 5. `scene.BlendLightingOverrides()` - BeginRender phase, before any gather\n// (Carbon cpp:1333, before GatherBatches cpp:1387).\n// 6. (engine) volumetrics `UpdateFogSettings(scene.componentRegistry,\n// scene.updateContext)` - engine reads \"FroxelFogSettings\"; not scene\n// work (cpp:1365-1370).\n// 7. `scene.UpdateVisibility(updateContext.renderContext\n// .GetInverseViewTransform())` - the cpp:1443-1467 block.\n// 8. `const renderables = scene.GetRenderables([])` - pre-culled\n// (cpp:1470-1507 minus impostors).\n// 9. `batchManager.Collect(renderables, reason, updateContext.renderContext)`\n// - with engine-registered collectors covering Carbon's [QUADS]\n// (cpp:1509-1511) and [INSTANCED] (cpp:1516-1520; the instanced collector\n// reads \"InstancedMeshProvider\" from `scene.componentRegistry`);\n// `Finalize` inside Collect = Carbon FinalizeBatches cpp:1522.\n// 10. `scene.GatherLights(lightManager)` - AFTER step 9 (Carbon cpp:1396-1416\n// runs after GatherBatches cpp:1387).\n// 11. (driver/engine, optional) `for (const lf of scene.lensflares)\n// lf?.PrepareRender?.(frustum)` (cpp:1419-1422; the JS lensflare shell has\n// no method yet - pure no-op today).\n// 12. (engine) reads registry collections directly: \"ShadowCaster\" (cascade\n// gate cpp:614-621, RT push cpp:1544-1547), \"VolumetricRenderable\",\n// \"FroxelFogSettings\", \"MeshMorph\" (engine may call\n// `scene.componentRegistry.Clear(\"MeshMorph\")` after bake),\n// \"ReflectionRenderable\" (secondary gather cpp:1886-1895).\n//\n// One-shot registration trigger: after graph build/mutation call\n// `scene.ReregisterEntities()` - covers objects + backgroundObjects + planets\n// (entity-guarded) + cameraAttachmentParent (cpp:4064-4089, matching what\n// OnListModified registers incrementally, cpp:3435-3491). uiObjects are\n// intentionally excluded everywhere (cpp:3462 gate) - Carbon never registers\n// or culls them.\n// ---------------------------------------------------------------------------\n\n/** EveSpaceScene (eve/scene) - hand-maintained from schema shapeHash 571234b0.... */\n@type.define({ className: \"EveSpaceScene\", family: \"eve/scene\" })\nexport class EveSpaceScene extends CjsModel\n{\n\n /** m_visualizeMethod (EveVisualizeMethod - enum EveVisualizeMethod) [READWRITE, ENUM] */\n @io.readwrite\n @type.int32\n @schema.enum(\"EveVisualizeMethod\")\n visualizeMethod = 0;\n\n /** m_envMap1ResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.string\n envMap1ResPath = \"\";\n\n /** m_envMap2ResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.string\n envMap2ResPath = \"\";\n\n /** m_envMap3ResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.string\n envMap3ResPath = \"\";\n\n /** m_lowQualityNebulaResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.string\n lowQualityNebulaResPath = \"\";\n\n /** m_lowQualityNebulaMixResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.string\n lowQualityNebulaMixResPath = \"\";\n\n /** m_envMapResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.string\n envMapResPath = \"\";\n\n /** m_fogColor (Color) [READWRITE, PERSIST] */\n @io.persist\n @type.color\n fogColor = vec4.create();\n\n /** m_sunData.DirWorld (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n sunDirection = vec3.create();\n\n /** m_ambientColor (Color) [READWRITE, PERSIST] */\n @io.persist\n @type.color\n ambientColor = vec4.create();\n\n /** m_shLightingManager (Tr2ShLightingManagerPtr) [PERSISTONLY] */\n @io.persistOnly\n @type.model(\"Tr2ShLightingManager\")\n shLightingManager = null;\n\n /** m_combinedPostProcessAttributes (Tr2PostProcessAttributesPtr) [READ] -\n * default-constructed like Carbon's ctor CreateInstance (cpp:297); refreshed\n * by UpdatePostProcessAttributes' re-export at MEDIUM_PRIORITY (cpp:407). */\n @io.read\n @type.objectRef(\"Tr2PostProcessAttributes\")\n combinedPostProcessAttributes = new Tr2PostProcessAttributes();\n\n /** m_dataTextureMgr (Tr2DataTextureManagerPtr) [READ] */\n @io.read\n @type.objectRef(\"Tr2DataTextureManager\")\n dataTextureMgr = null;\n\n /** m_dynamicObjectReflectionEnabled (bool) [READWRITE] */\n @io.readwrite\n @type.boolean\n dynamicObjectReflectionEnabled = true;\n\n /** m_componentRegistry (EveComponentRegistryPtr) [READ] */\n @io.read\n @type.objectRef(\"EveComponentRegistry\")\n componentRegistry = new EveComponentRegistry();\n\n /** m_cameraAttachmentParent (EveEffectRoot2Ptr) - protected Carbon scene\n * entity, default-constructed like Carbon's ctor CreateInstance (cpp:287, no\n * further setup applied). Consumers still optional-chain - deserialization\n * may null it. */\n @type.model(\"EveEffectRoot2\")\n cameraAttachmentParent = new EveEffectRoot2();\n\n /** m_postProcessDebug (BluePy) - protected Carbon debug payload. */\n @type.rawStruct(\"BluePy\")\n postProcessDebug = null;\n\n /** m_curveSets (PTriCurveSetVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"TriCurveSet\")\n curveSets = [];\n\n /** m_defaultDiffuseRoughness (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n defaultDiffuseRoughness = 1;\n\n /** m_fogStart (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n fogStart = 0;\n\n /** m_fogEnd (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n fogEnd = 0;\n\n /** m_reflectionIntensity (float) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.float32\n reflectionIntensity = 0;\n\n /** m_distanceFields (PEveDistanceFieldVector) [READ] */\n @io.read\n @type.list(\"EveDistanceField\")\n distanceFields = [];\n\n /** m_backgroundEffect (Tr2EffectPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"Tr2Effect\")\n backgroundEffect = null;\n\n /** m_backgroundReflectionIntensity (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n backgroundReflectionIntensity = 1;\n\n /** m_nebulaIntensity (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n nebulaIntensity = 1;\n\n /** m_display (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n display = true;\n\n /** m_backgroundRenderingEnabled (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n backgroundRenderingEnabled = false;\n\n /** m_update (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n update = true;\n\n /** m_impostorManager (Tr2ImpostorManagerPtr) [READWRITE] */\n @io.readwrite\n @type.objectRef(\"Tr2ImpostorManager\")\n impostorManager = null;\n\n /** m_lensflares (PEveLensflareVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"EveLensflare\")\n lensflares = [];\n\n /** m_externalParameters (PTr2ExternalParameterVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"Tr2ExternalParameter\")\n externalParameters = [];\n\n /** m_fogMax (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n fogMax = 0;\n\n /** m_staticParticles (PEveSceneStaticParticlesVector) [READ] */\n @io.read\n @type.list(\"EveSceneStaticParticles\")\n staticParticles = [];\n\n /** m_debugRenderer (Tr2DebugRendererPtr) [READWRITE] */\n @io.readwrite\n @type.objectRef(\"Tr2DebugRenderer\")\n debugRenderer = null;\n\n /** m_objects (PIEveSpaceObject2Vector) [READ, PERSIST] */\n @io.persist\n @type.list(\"IEveSpaceObject2\")\n objects = [];\n\n /** m_uiObjects (PIEveSpaceObject2Vector) [READ, PERSIST] */\n @io.persist\n @type.list(\"IEveSpaceObject2\")\n uiObjects = [];\n\n /** m_backgroundObjects (PIEveSpaceObject2Vector) [READ, PERSIST] */\n @io.persist\n @type.list(\"IEveSpaceObject2\")\n backgroundObjects = [];\n\n /** m_planets (PEvePlanetVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"EvePlanet\")\n planets = [];\n\n /** m_rtManager (Tr2RaytracingManagerPtr) [READWRITE] */\n @io.readwrite\n @type.objectRef(\"Tr2RaytracingManager\")\n raytracingManager = null;\n\n /** m_reflectionBackLightingColor (Color) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.color\n reflectionBackLightingColor = vec4.fromValues(2, 2, 2, 2);\n\n /** m_reflectionBackLightingContrast (float) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.float32\n reflectionBackLightingContrast = 8;\n\n /** m_reflectionProbe (Tr2ReflectionProbePtr) [READWRITE, NOTIFY] */\n @io.notify\n @io.readwrite\n @type.objectRef(\"Tr2ReflectionProbe\")\n reflectionProbe = null;\n\n /** m_volumetricsRenderer (Tr2VolumetricsRendererPtr) [READ] */\n @io.read\n @type.objectRef(\"Tr2VolumetricsRenderer\")\n volumetricsRenderer = null;\n\n /** m_starfield (EveStarfieldPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"EveStarfield\")\n starfield = null;\n\n /** m_planetScale (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n planetScale = 1000000;\n\n /** m_planetCameraScale (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n planetCameraScale = 1000000;\n\n /** m_sssss (Tr2SSSSSPtr) [READ] */\n @io.read\n @type.objectRef(\"Tr2SSSSS\")\n subSurfaceScattering = null;\n\n /** m_shadowQuality (ShadowQuality - enum ShadowQuality) [READWRITE, NOTIFY] */\n @io.notify\n @io.readwrite\n @type.int32\n @schema.enum(\"ShadowQuality\")\n shadowQualitySetting = 3;\n\n /** m_sunColor (Color) [READWRITE, PERSIST] */\n @io.persist\n @type.color\n sunDiffuseColor = vec4.fromValues(1, 1, 1, 1);\n\n /** m_sunColorWithDynamicLights (Color) [READWRITE, PERSIST] */\n @io.persist\n @type.color\n sunDiffuseColorWithDynamicLights = vec4.fromValues(1, 1, 1, 1);\n\n /** m_envMapRotation (Quaternion) [READWRITE, PERSIST] */\n @io.persist\n @type.quat\n envMapRotation = quat.create();\n\n /** m_ballpark (IEveBallparkPtr) [READWRITE] */\n @io.readwrite\n @type.objectRef(\"IEveBallpark\")\n ballpark = null;\n\n /** m_name (BlueSharedString) [READWRITE, PERSIST] */\n @io.persist\n @type.string\n name = \"\";\n\n /** m_sunBall (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"ITriVectorFunction\")\n sunBall = null;\n\n /** m_sceneDefaultPostProcess (Tr2PostProcess2Ptr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"Tr2PostProcess2\")\n postprocess = null;\n\n /** m_virtualCameraSystem (EveVirtualCameraSystemPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"EveVirtualCameraSystem\")\n virtualCameraSystem = null;\n\n /** m_warpTunnel (IEveSpaceObject2Ptr) [READWRITE] */\n @io.readwrite\n @type.objectRef(\"IEveSpaceObject2\")\n warpTunnel = null;\n\n /** m_perFrameDebug (float) [READWRITE] */\n @io.readwrite\n @type.float32\n perFrameDebug = 0;\n\n /** m_cascadedShadowMap (Tr2ShadowMapPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"Tr2ShadowMap\")\n cascadedShadowMap = null;\n\n /** m_updateTime (Be::Time) [READ] */\n @io.read\n @type.float64\n updateTime = 0;\n\n /** m_useSunColorWithDynamicLights (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n useSunDiffuseColorWithDynamicLights = false;\n\n /** m_envMap1 (ITr2TextureProviderPtr) [READ] */\n @io.read\n @type.objectRef(\"ITr2TextureProvider\")\n envMap1 = null;\n\n /** m_envMap2 (ITr2TextureProviderPtr) [READ] */\n @io.read\n @type.objectRef(\"ITr2TextureProvider\")\n envMap2 = null;\n\n /** m_envMap3 (ITr2TextureProviderPtr) [READ] */\n @io.read\n @type.objectRef(\"ITr2TextureProvider\")\n envMap3 = null;\n\n // Carbon m_updateContext (protected, absent from the Blue scan): the scene\n // owns ONE frame context, constructed once and re-stamped each Update. The\n // host/driver stamps updateContext.renderContext (camera view) + .device per\n // pass before calling Update - our explicit replacement for Carbon's\n // Tr2Renderer view statics.\n updateContext = new EveUpdateContext();\n\n // Carbon m_sceneDefaultPostProcessAttributes (EveSpaceScene.h:640, ctor\n // CreateInstance cpp:296): the scene default's attribute snapshot, refreshed\n // by UpdatePostProcessAttributes each frame.\n #sceneDefaultPostProcessAttributes = new Tr2PostProcessAttributes();\n\n // Carbon m_combinedPostProcess (EveSpaceScene.h:636): the merged output\n // post-process, lazily constructed on first combine (cpp:367-370).\n #combinedPostProcess = null;\n\n // Carbon m_currentSunColor / m_currentNebulaIntensity /\n // m_currentReflectionIntensity (EveSpaceScene.h:492-493/650, protected):\n // outputs of the BeginRender lighting-override blend (cpp:1360-1362).\n currentSunColor = vec4.create();\n\n currentNebulaIntensity = 0;\n\n currentReflectionIntensity = 0;\n\n // Carbon g_eveSpaceSceneDynamicLighting (registered setting\n // \"eveSpaceSceneDynamicLighting\", cpp:109-110, default false) - scoped to\n // the scene instead of a module global.\n dynamicLightingEnabled = false;\n\n // Carbon g_enablePostProcessDebugging (registered setting\n // \"enablePostProcessDebugging\", cpp:118-119, default false) - scoped to the\n // scene instead of a module global.\n enablePostProcessDebugging = false;\n\n /**\n * Stamps the per-frame frustum/threshold/LOD state onto the scene-owned\n * update context (Carbon EveSpaceScene::Update cpp:475-484, identical to the\n * already-updated fast path cpp:448-457). Carbon derives the frustum from\n * the Tr2Renderer view statics and reads the thresholds from console vars\n * divided by m_upscalingAmount (=1 by default, cpp:221); in CarbonEngineJS\n * the driver derives the frustum from the same renderContext state it\n * stamped and supplies the thresholds explicitly (pre-divided if it ever\n * upscales). Defaults are the Carbon console-var defaults (cpp:75-84).\n * The raytracing flag is Carbon's `m_shadowQuality == SHADOW_RAYTRACED &&\n * m_enableShadows` (cpp:457/484) - the driver computes it; the scene does\n * not. Stamps unconditionally: Carbon's same-frame fast path restamps\n * regardless of m_update (cpp:444-462); only the cold path skips stamping\n * when !m_update (cpp:466 precedes 475) - benign divergence.\n * @param {Object} [options]\n * @param {Object|null} [options.frustum] - a ready TriFrustum, held by reference\n * @param {Number} [options.visibilityThreshold]\n * @param {Number} [options.lowDetailThreshold]\n * @param {Number} [options.mediumDetailThreshold]\n * @param {Number} [options.highDetailThreshold]\n * @param {Number} [options.lodFactor]\n * @param {Boolean} [options.raytracingEnabled]\n */\n StampFrameContext({\n frustum = null,\n visibilityThreshold = 5,\n lowDetailThreshold = 100,\n mediumDetailThreshold = 400,\n highDetailThreshold = 800,\n lodFactor = 1,\n raytracingEnabled = false\n } = {})\n {\n const context = this.updateContext;\n context.SetFrustum(frustum);\n context.SetHighDetailThreshold(highDetailThreshold);\n context.SetMediumDetailThreshold(mediumDetailThreshold);\n context.SetLowDetailThreshold(lowDetailThreshold);\n context.SetVisibilityThreshold(visibilityThreshold);\n context.SetLodFactor(lodFactor);\n context.raytracingEnabled = !!raytracingEnabled;\n }\n\n /**\n * Per-frame scene update, ported from Carbon EveSpaceScene::Update: stamps the\n * scene-owned frame context (time, origin, data-texture manager), then drives\n * every collection in Carbon's order - background objects, warp tunnel,\n * starfield, static particles, data textures, distance fields, lensflares,\n * virtual camera system, curve sets, then all space/UI objects synchronous\n * first and asynchronous second (Carbon parallelizes the async pass on a task\n * group; JS runs it sequentially). Then combines the post-process attributes\n * (cpp:584) and finally reads the sun direction from the sun ball\n * (cpp:589-596).\n *\n * Adapted - deferred vs Carbon: the recording-frame dedup fast path,\n * frustum/threshold/LOD/raytracing stamping (now the driver's job via\n * StampFrameContext, called BEFORE Update), planet update (planet\n * view-matrix swap unported), and main-thread action flush (N/A).\n * @param {Number} realTime\n * @param {Number} simTime\n */\n @carbon.method\n @impl.adapted\n Update(realTime, simTime)\n {\n if (!this.update)\n {\n return;\n }\n\n const context = this.updateContext;\n context.SetTime(simTime);\n context.UpdateOrigin(this.ballpark);\n context.dataTextureManager = this.dataTextureMgr;\n\n for (const object of this.backgroundObjects)\n {\n object?.UpdateSyncronous?.(context);\n }\n for (const object of this.backgroundObjects)\n {\n object?.UpdateAsyncronous?.(context);\n }\n\n if (this.warpTunnel)\n {\n this.warpTunnel.UpdateSyncronous?.(context);\n this.warpTunnel.UpdateAsyncronous?.(context);\n }\n\n this.starfield?.Update?.(simTime);\n\n for (const staticParticles of this.staticParticles)\n {\n staticParticles?.Update?.(context);\n }\n\n this.dataTextureMgr?.Update?.(context);\n\n for (const distanceField of this.distanceFields)\n {\n distanceField?.Update?.(context);\n }\n\n for (const lensflare of this.lensflares)\n {\n lensflare?.Update?.(realTime, simTime);\n }\n\n this.virtualCameraSystem?.Update?.(realTime);\n\n for (const curveSet of this.curveSets)\n {\n curveSet?.Update?.(realTime, simTime);\n }\n\n for (const object of this.objects)\n {\n object?.UpdateSyncronous?.(context);\n }\n for (const object of this.uiObjects)\n {\n object?.UpdateSyncronous?.(context);\n }\n\n for (const object of this.objects)\n {\n object?.UpdateAsyncronous?.(context);\n }\n for (const object of this.uiObjects)\n {\n object?.UpdateAsyncronous?.(context);\n }\n\n // Combine the post-process attributes (Carbon cpp:584, after the async\n // pass + ExecuteMainThreadActions cpp:581 and before the sun read).\n this.UpdatePostProcessAttributes();\n\n // Sun direction from the sun ball: the normalized sun position, negated\n // (Carbon: m_sunData.DirWorld = -Normalize(sunDirection)).\n if (this.sunBall?.Update)\n {\n this.sunBall.Update(simTime, sunDirectionScratch);\n vec3.normalize(sunDirectionScratch, sunDirectionScratch);\n vec3.negate(this.sunDirection, sunDirectionScratch);\n }\n\n this.updateTime = simTime;\n }\n\n /** Carbon method PickObject (MAP_METHOD_AND_WRAP_OPTIONAL_ARGS). */\n @carbon.method\n @impl.notImplemented\n PickObject(...args)\n {\n throw new Error(\"EveSpaceScene.PickObject is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon method PickAsyncObject (MAP_METHOD_AND_WRAP_OPTIONAL_ARGS). */\n @carbon.method\n @impl.notImplemented\n PickAsyncObject(...args)\n {\n throw new Error(\"EveSpaceScene.PickAsyncObject is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon method PickObjectAndAreaID -> PyPickObjectAndAreaID (MAP_METHOD). */\n @carbon.method\n @impl.notImplemented\n PickObjectAndAreaID(...args)\n {\n throw new Error(\"EveSpaceScene.PickObjectAndAreaID is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon method PickInfinity (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.notImplemented\n PickInfinity(...args)\n {\n throw new Error(\"EveSpaceScene.PickInfinity is not implemented in CarbonEngineJS.\");\n }\n\n /**\n * The per-frame CPU visibility pass, ported from the [VISIBILITY] block of\n * Carbon EveSpaceScene::GatherBatches (EveSpaceScene.cpp:1443-1467; the\n * enclosing display gate is BeginRender cpp:1299-1302). Carbon's\n * Tr2ParallelDo loops (objects cpp:1445-1447, staticParticles cpp:1454-1456,\n * planets cpp:1458-1460) run sequentially in the same order; the lensflare\n * loop is sequential in Carbon too (cpp:1462-1466). LOD stamping (lodLevel,\n * isVisible, pixel diameters) happens INSIDE each object's UpdateVisibility;\n * per-object display gates live there too - the scene does not pre-filter.\n * uiObjects are never visited (Carbon never culls them). The camera parent's\n * SetTransform is pure decomposition (EveEffectRoot2.cpp:677-680 Decompose)\n * - no composition, so no row-vector operand swap here; this per-gather\n * Sync/Async pair is the camera parent's ONLY update, so its world transform\n * is the camera pose of the frame being gathered (cpp:1449-1452).\n * @param {Float32Array} inverseView - the inverse view matrix\n * (updateContext.renderContext.GetInverseViewTransform(); Carbon reads the\n * Tr2Renderer static at cpp:1449)\n */\n UpdateVisibility(inverseView)\n {\n if (!this.display)\n {\n return;\n }\n\n for (const object of this.objects)\n {\n object?.UpdateVisibility?.(this.updateContext, IDENTITY);\n }\n\n this.cameraAttachmentParent?.SetTransform?.(inverseView);\n this.cameraAttachmentParent?.UpdateSyncronous?.(this.updateContext);\n this.cameraAttachmentParent?.UpdateAsyncronous?.(this.updateContext);\n this.cameraAttachmentParent?.UpdateVisibility?.(this.updateContext, IDENTITY);\n\n for (const staticParticles of this.staticParticles)\n {\n staticParticles?.UpdateVisibility?.(this.updateContext);\n }\n\n for (const planet of this.planets)\n {\n planet?.UpdateZOnlyVisibility?.(this.updateContext);\n }\n\n // Sequential in Carbon too: \"until we have proper support for multiple\n // lensflares we just do it in a list\" (cpp:1462-1466).\n for (const lensflare of this.lensflares)\n {\n lensflare?.UpdateVisibility?.(this.updateContext);\n }\n }\n\n /** Gathers batchable renderables from the scene's objects for the batch\n * collection pass - the [GATHER] block of Carbon\n * EveSpaceScene::GatherBatches (EveSpaceScene.cpp:1470-1507): m_objects in\n * list order (cpp:1470-1475), then cameraAttachmentParent pushed LAST\n * (cpp:1476), then the staticParticles leg (cpp:1504-1507; Carbon signature\n * `GetRenderables(frustum, renderables)`, EveSceneStaticParticles.h - kept\n * with the out-parameter last per convention). Objects self-filter on the\n * visibility flags stamped by UpdateVisibility, so the array handed to\n * CjsBatchManager.Collect is pre-culled and this aggregation stays GPU-free.\n * The impostor-manager argument (cpp:1478-1502) is dropped - engine-owned.\n * Gather order matters downstream: the opaque accumulator receives batches\n * in gather order before Finalize sorts. */\n GetRenderables(out = [])\n {\n if (!this.display)\n {\n return out;\n }\n\n for (const object of this.objects) object?.GetRenderables?.(out);\n this.cameraAttachmentParent?.GetRenderables?.(out);\n for (const staticParticles of this.staticParticles)\n {\n staticParticles?.GetRenderables?.(this.updateContext.GetFrustum(), out);\n }\n return out;\n }\n\n /**\n * Refreshes the scene default's attribute snapshot, gathers every registered\n * PostProcessOwner's attributes, priority-blends them into the combined\n * post-process, copies the six engine effects through from the scene\n * default, and re-exports the result (Carbon\n * EveSpaceScene::UpdatePostProcessAttributes, EveSpaceScene.cpp:346-413).\n * Sort is descending by priority (cpp:372-377); Carbon's std::sort is\n * unstable while JS sort is stable - equal-priority ties keep registry\n * insertion order, which is blend-order-independent for every Sum-accumulated\n * attribute (the whole tie group is normalized together); only MaxWeight\n * ties at exactly equal weight (string paths / bools / DoF shape) could\n * differ from C++.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon's g_enablePostProcessDebugging global becomes the scene-scoped enablePostProcessDebugging field; the debug payload is a plain object, null when off.\")\n UpdatePostProcessAttributes()\n {\n if (!this.display)\n {\n return;\n }\n\n // Scene default refreshed BEFORE the gather (cpp:354); FromPostProcess\n // handles a null postprocess (reset + return).\n this.#sceneDefaultPostProcessAttributes.FromPostProcess(\n this.postprocess, Tr2PostProcessAttributes.SCENE_DEFAULT_PRIORITY, 1.0);\n\n const sources = [];\n for (const owner of this.componentRegistry?.GetComponents(EveComponentType.PostProcessOwner) ?? [])\n {\n // Carbon pushes unguarded (cpp:358-361); JS ducks may return null.\n const attributes = owner?.GetPostProcessAttributes?.();\n if (attributes)\n {\n sources.push(attributes);\n }\n }\n\n // Scene default appended LAST (cpp:363).\n sources.push(this.#sceneDefaultPostProcessAttributes);\n\n // The list is never empty (default always pushed) so Carbon's else-branch\n // (cpp:411) is unreachable; the guard is kept for shape fidelity.\n if (sources.length)\n {\n this.#combinedPostProcess ??= new Tr2PostProcess2();\n\n sources.sort((a, b) => b.priority - a.priority);\n\n if (this.enablePostProcessDebugging)\n {\n const observer = Tr2PostProcessAttributes.CreateDebugObserver();\n Tr2PostProcessAttributes.MergeInto(this.#combinedPostProcess, sources, observer);\n this.postProcessDebug = observer.GetDict();\n }\n else\n {\n Tr2PostProcessAttributes.MergeInto(this.#combinedPostProcess, sources);\n this.postProcessDebug = null;\n }\n\n // Engine-effect copy-through from the scene default only - NOT blended\n // (cpp:389-406).\n if (this.postprocess)\n {\n this.#combinedPostProcess.SetDynamicExposure(this.postprocess.GetDynamicExposureIfAvailable?.() ?? null);\n this.#combinedPostProcess.SetTaa(this.postprocess.GetTaaIfAvailable?.() ?? null);\n this.#combinedPostProcess.SetTonemapping(this.postprocess.GetTonemappingIfAvailable?.() ?? null);\n this.#combinedPostProcess.SetFog(this.postprocess.GetFogIfAvailable?.() ?? null);\n this.#combinedPostProcess.SetGodRays(this.postprocess.GetGodRaysIfAvailable?.() ?? null);\n this.#combinedPostProcess.SetGenericEffect(this.postprocess.GetGenericEffectIfAvailable?.() ?? null);\n }\n else\n {\n this.#combinedPostProcess.SetDynamicExposure(null);\n this.#combinedPostProcess.SetTaa(null);\n this.#combinedPostProcess.SetTonemapping(null);\n this.#combinedPostProcess.SetFog(null);\n this.#combinedPostProcess.SetGodRays(null);\n this.#combinedPostProcess.SetGenericEffect(null);\n }\n\n // Re-export the combined result as an attributes object at\n // MEDIUM_PRIORITY - consumed by nested-scene composition (cpp:407).\n (this.combinedPostProcessAttributes ??= new Tr2PostProcessAttributes())\n .FromPostProcess(this.#combinedPostProcess, Tr2PostProcessAttributes.MEDIUM_PRIORITY, 1.0);\n }\n else\n {\n this.#combinedPostProcess = null;\n }\n }\n\n /** Carbon method GetPostProcess (EveSpaceScene.cpp:420-427): the combined\n * post-process, or null while the scene is not displayed. */\n @carbon.method\n @impl.implemented\n GetPostProcess()\n {\n if (!this.display)\n {\n return null;\n }\n return this.#combinedPostProcess;\n }\n\n /**\n * Blends every registered EveLightingOverride against the scene baseline and\n * stamps currentSunColor / currentNebulaIntensity /\n * currentReflectionIntensity - the lighting-override block of Carbon\n * EveSpaceScene::BeginRender (EveSpaceScene.cpp:1333-1363). The baseline is\n * appended AFTER the sort at raw priority -1 - one below\n * SCENE_DEFAULT_PRIORITY=0, outside the legal enum range (Carbon casts -1,\n * cpp:1343) - so it always sits last. Scalar/color math only - no matrix\n * compositions, no row-vector swaps anywhere in this method. Same\n * stable-sort note as UpdatePostProcessAttributes - here fully benign, the\n * blend is symmetric within a tie group.\n */\n BlendLightingOverrides()\n {\n if (!this.display)\n {\n return;\n }\n\n const overrides = [];\n for (const component of this.componentRegistry?.GetComponents(EveComponentType.EveLightingOverride) ?? [])\n {\n overrides.push(component.GetOverrides());\n }\n overrides.sort((a, b) => b.priority - a.priority);\n\n // Baseline (cpp:1342-1357): the scene's own sun/nebula/reflection state,\n // sun color normalized by its max channel (all four components scaled).\n const sunColorSource = this.useSunDiffuseColorWithDynamicLights && this.dynamicLightingEnabled\n ? this.sunDiffuseColorWithDynamicLights\n : this.sunDiffuseColor;\n const sunIntensity = Math.max(sunColorSource[0], sunColorSource[1], sunColorSource[2]);\n const baselineSunColor = vec4.create();\n if (sunIntensity !== 0)\n {\n vec4.scale(baselineSunColor, sunColorSource, 1 / sunIntensity);\n }\n else\n {\n vec4.copy(baselineSunColor, sunColorSource);\n }\n overrides.push({\n priority: -1,\n intensity: 1,\n value: {\n sunColor: baselineSunColor,\n sunIntensity,\n backgroundIntensity: this.nebulaIntensity,\n reflectionIntensity: this.reflectionIntensity\n }\n });\n\n const over = EveSpaceScene.#SimplePriorityBlend(overrides);\n vec4.scale(this.currentSunColor, over.sunColor, over.sunIntensity);\n this.currentNebulaIntensity = over.backgroundIntensity;\n this.currentReflectionIntensity = over.reflectionIntensity;\n }\n\n /**\n * Drives the injected light manager through Carbon's dynamic-light gather\n * (EveSpaceScene::BeginRender, EveSpaceScene.cpp:1396-1416, AFTER\n * GatherBatches cpp:1387): shadow quality, clear (runs even with zero owners\n * - stale lights must drop), frustum, LOD cutoff, then every registered\n * LightOwner's GetLights (Carbon Tr2ParallelFor chunk-20 cpp:1405-1413; JS\n * sequential in collection order), then ResolveLightData. No JS\n * Tr2LightManager class exists - the manager is a duck and every manager\n * call is optional-chained so a partial duck still gets the owner loop.\n * Carbon runs the block only when a manager instance exists (dynamic\n * lighting on) - a null manager is a no-op. The recording frame number\n * Carbon passes to SetShadowQuality and the renderContext it passes to Clear\n * are engine recording state - the JS Clear receives the frame's\n * renderContext for ducks that want it.\n * @param {Object|null} lightManager\n */\n GatherLights(lightManager)\n {\n if (!lightManager || !this.display)\n {\n return;\n }\n\n lightManager.SetShadowQuality?.(this.shadowQualitySetting);\n lightManager.Clear?.(this.updateContext.renderContext);\n lightManager.SetFrustum?.(this.updateContext.GetFrustum());\n lightManager.AdjustLightCutoff?.(this.updateContext.GetLodFactor());\n\n for (const owner of this.componentRegistry?.GetComponents(EveComponentType.LightOwner) ?? [])\n {\n owner?.GetLights?.(lightManager);\n }\n\n lightManager.ResolveLightData?.();\n }\n\n /** Carbon method ReregisterEntities (MAP_METHOD_AND_WRAP, cpp:4064-4089).\n * Guarded no-op after ClearComponentRegistry has nulled the registry\n * (destroy-only path; Carbon would never call this afterwards). */\n @carbon.method\n @impl.implemented\n ReregisterEntities()\n {\n if (!this.componentRegistry)\n {\n return;\n }\n\n for (const collection of [this.objects, this.backgroundObjects, this.planets])\n {\n for (const object of collection)\n {\n if (object instanceof EveEntity)\n {\n this.componentRegistry.ReRegister(object);\n }\n }\n }\n if (this.cameraAttachmentParent instanceof EveEntity)\n {\n this.componentRegistry.ReRegister(this.cameraAttachmentParent);\n }\n }\n\n /** Carbon method ClearComponentRegistry (EveSpaceScene.cpp:4091-4099, called\n * from the destructor cpp:322). Entity component-state is deliberately NOT\n * cleared beyond what Clear() does - either the scene is being destroyed\n * (entities go too) or entities move to another scene and re-register there.\n * The JS registry Clear() additionally detaches entity.registry when it\n * points at this registry - strictly more hygienic than Carbon; kept. */\n @carbon.method\n @impl.implemented\n ClearComponentRegistry()\n {\n this.componentRegistry?.Clear();\n this.componentRegistry = null;\n }\n\n /** Carbon method GetPostProcessDebug (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.implemented\n GetPostProcessDebug()\n {\n return this.postProcessDebug;\n }\n\n /** Carbon method UpdateScene -> UpdateSceneFromScript (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.implemented\n UpdateScene(time)\n {\n return this.Update(time, time);\n }\n\n static EveVisualizeMethod = Object.freeze({\n VM_NONE: 0,\n VM_TEXCOORD0: 1,\n VM_TEXCOORD1: 2,\n VM_WHITE: 3,\n VM_OVERDRAW: 4,\n VW_WIREFRAME: 5,\n VW_LIGHT_COUNT: 6,\n VM_COUNT: 7,\n });\n\n static ShadowQuality = Object.freeze({\n SHADOW_DISABLED: 0,\n SHADOW_LOW: 1,\n SHADOW_HIGH: 2,\n SHADOW_RAYTRACED: 3,\n });\n\n /**\n * Carbon SimplePriorityBlend (PriorityBlend.h:371-413) specialized to the\n * IEveLightingOverride::Overrides value type\n * { sunColor: vec4, sunIntensity, backgroundIntensity, reflectionIntensity }\n * (EveChildLightingOverride.h:15-32) - `+` and `* weight` componentwise.\n * Walks the (already priority-desc-sorted) list in equal-priority groups:\n * factor = (1 / max(groupTotal, 1)) * remainingWeight\n * then subtracts the UNCLAMPED group total from remainingWeight. Two quirks\n * preserved exactly: (a) a group with total intensity 0.3 contributes at\n * weight 0.3*remaining and leaves 0.7 for lower priorities; (b) a group with\n * total 2 is normalized to consume exactly remainingWeight and terminates\n * (remaining goes to -1).\n * @param {Array} sources - [{ priority, intensity, value }] sorted high->low\n * @returns {{ sunColor: Float32Array, sunIntensity: Number,\n * backgroundIntensity: Number, reflectionIntensity: Number }}\n */\n static #SimplePriorityBlend(sources)\n {\n const result = {\n sunColor: vec4.create(),\n sunIntensity: 0,\n backgroundIntensity: 0,\n reflectionIntensity: 0\n };\n let remainingWeight = 1;\n\n for (let first = 0; first < sources.length;)\n {\n // The range of sources sharing the current priority.\n let last = first + 1;\n while (last < sources.length && sources[last].priority === sources[first].priority)\n {\n last++;\n }\n\n let totalPriorityIntensity = 0;\n for (let index = first; index < last; index++)\n {\n totalPriorityIntensity += sources[index].intensity;\n }\n if (totalPriorityIntensity === 0)\n {\n first = last;\n continue;\n }\n\n const normalizationFactor = 1 / Math.max(totalPriorityIntensity, 1) * remainingWeight;\n\n for (let index = first; index < last; index++)\n {\n const weight = sources[index].intensity * normalizationFactor;\n const value = sources[index].value;\n vec4.scaleAndAdd(result.sunColor, result.sunColor, value.sunColor, weight);\n result.sunIntensity += value.sunIntensity * weight;\n result.backgroundIntensity += value.backgroundIntensity * weight;\n result.reflectionIntensity += value.reflectionIntensity * weight;\n }\n\n // Subtracts the UNCLAMPED total (PriorityBlend.h:405).\n remainingWeight -= totalPriorityIntensity;\n first = last;\n if (remainingWeight <= 0)\n {\n break;\n }\n }\n return result;\n }\n\n}\n"],"names":["sunDirectionScratch","vec3","create","IDENTITY","mat4","_EveSpaceScene","_identity","EveSpaceScene","CjsModel","e","_init_visualizeMethod","_init_extra_visualizeMethod","_init_envMap1ResPath","_init_extra_envMap1ResPath","_init_envMap2ResPath","_init_extra_envMap2ResPath","_init_envMap3ResPath","_init_extra_envMap3ResPath","_init_lowQualityNebulaResPath","_init_extra_lowQualityNebulaResPath","_init_lowQualityNebulaMixResPath","_init_extra_lowQualityNebulaMixResPath","_init_envMapResPath","_init_extra_envMapResPath","_init_fogColor","_init_extra_fogColor","_init_sunDirection","_init_extra_sunDirection","_init_ambientColor","_init_extra_ambientColor","_init_shLightingManager","_init_extra_shLightingManager","_init_combinedPostProcessAttributes","_init_extra_combinedPostProcessAttributes","_init_dataTextureMgr","_init_extra_dataTextureMgr","_init_dynamicObjectReflectionEnabled","_init_extra_dynamicObjectReflectionEnabled","_init_componentRegistry","_init_extra_componentRegistry","_init_cameraAttachmentParent","_init_extra_cameraAttachmentParent","_init_postProcessDebug","_init_extra_postProcessDebug","_init_curveSets","_init_extra_curveSets","_init_defaultDiffuseRoughness","_init_extra_defaultDiffuseRoughness","_init_fogStart","_init_extra_fogStart","_init_fogEnd","_init_extra_fogEnd","_init_reflectionIntensity","_init_extra_reflectionIntensity","_init_distanceFields","_init_extra_distanceFields","_init_backgroundEffect","_init_extra_backgroundEffect","_init_backgroundReflectionIntensity","_init_extra_backgroundReflectionIntensity","_init_nebulaIntensity","_init_extra_nebulaIntensity","_init_display","_init_extra_display","_init_backgroundRenderingEnabled","_init_extra_backgroundRenderingEnabled","_init_update","_init_extra_update","_init_impostorManager","_init_extra_impostorManager","_init_lensflares","_init_extra_lensflares","_init_externalParameters","_init_extra_externalParameters","_init_fogMax","_init_extra_fogMax","_init_staticParticles","_init_extra_staticParticles","_init_debugRenderer","_init_extra_debugRenderer","_init_objects","_init_extra_objects","_init_uiObjects","_init_extra_uiObjects","_init_backgroundObjects","_init_extra_backgroundObjects","_init_planets","_init_extra_planets","_init_raytracingManager","_init_extra_raytracingManager","_init_reflectionBackLightingColor","_init_extra_reflectionBackLightingColor","_init_reflectionBackLightingContrast","_init_extra_reflectionBackLightingContrast","_init_reflectionProbe","_init_extra_reflectionProbe","_init_volumetricsRenderer","_init_extra_volumetricsRenderer","_init_starfield","_init_extra_starfield","_init_planetScale","_init_extra_planetScale","_init_planetCameraScale","_init_extra_planetCameraScale","_init_subSurfaceScattering","_init_extra_subSurfaceScattering","_init_shadowQualitySetting","_init_extra_shadowQualitySetting","_init_sunDiffuseColor","_init_extra_sunDiffuseColor","_init_sunDiffuseColorWithDynamicLights","_init_extra_sunDiffuseColorWithDynamicLights","_init_envMapRotation","_init_extra_envMapRotation","_init_ballpark","_init_extra_ballpark","_init_name","_init_extra_name","_init_sunBall","_init_extra_sunBall","_init_postprocess","_init_extra_postprocess","_init_virtualCameraSystem","_init_extra_virtualCameraSystem","_init_warpTunnel","_init_extra_warpTunnel","_init_perFrameDebug","_init_extra_perFrameDebug","_init_cascadedShadowMap","_init_extra_cascadedShadowMap","_init_updateTime","_init_extra_updateTime","_init_useSunDiffuseColorWithDynamicLights","_init_extra_useSunDiffuseColorWithDynamicLights","_init_envMap","_init_extra_envMap","_init_envMap2","_init_extra_envMap2","_init_envMap3","_init_extra_envMap3","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","readwrite","int32","schema","enum","notify","persist","string","color","persistOnly","model","read","objectRef","boolean","rawStruct","list","float32","quat","float64","carbon","method","impl","adapted","notImplemented","reason","implemented","visualizeMethod","envMap1ResPath","envMap2ResPath","envMap3ResPath","lowQualityNebulaResPath","lowQualityNebulaMixResPath","envMapResPath","fogColor","vec4","sunDirection","ambientColor","shLightingManager","combinedPostProcessAttributes","Tr2PostProcessAttributes","dataTextureMgr","dynamicObjectReflectionEnabled","componentRegistry","EveComponentRegistry","cameraAttachmentParent","EveEffectRoot2","postProcessDebug","curveSets","defaultDiffuseRoughness","fogStart","fogEnd","reflectionIntensity","distanceFields","backgroundEffect","backgroundReflectionIntensity","nebulaIntensity","display","backgroundRenderingEnabled","update","impostorManager","lensflares","externalParameters","fogMax","staticParticles","debugRenderer","objects","uiObjects","backgroundObjects","planets","raytracingManager","reflectionBackLightingColor","fromValues","reflectionBackLightingContrast","reflectionProbe","volumetricsRenderer","starfield","planetScale","planetCameraScale","subSurfaceScattering","shadowQualitySetting","sunDiffuseColor","sunDiffuseColorWithDynamicLights","envMapRotation","ballpark","name","sunBall","postprocess","virtualCameraSystem","warpTunnel","perFrameDebug","cascadedShadowMap","updateTime","useSunDiffuseColorWithDynamicLights","envMap1","envMap2","envMap3","updateContext","EveUpdateContext","currentSunColor","currentNebulaIntensity","currentReflectionIntensity","dynamicLightingEnabled","enablePostProcessDebugging","StampFrameContext","frustum","visibilityThreshold","lowDetailThreshold","mediumDetailThreshold","highDetailThreshold","lodFactor","raytracingEnabled","context","SetFrustum","SetHighDetailThreshold","SetMediumDetailThreshold","SetLowDetailThreshold","SetVisibilityThreshold","SetLodFactor","Update","realTime","simTime","SetTime","UpdateOrigin","dataTextureManager","object","UpdateSyncronous","UpdateAsyncronous","distanceField","lensflare","curveSet","UpdatePostProcessAttributes","normalize","negate","PickObject","args","Error","PickAsyncObject","PickObjectAndAreaID","PickInfinity","UpdateVisibility","inverseView","SetTransform","planet","UpdateZOnlyVisibility","GetRenderables","out","GetFrustum","FromPostProcess","SCENE_DEFAULT_PRIORITY","sources","owner","GetComponents","EveComponentType","PostProcessOwner","attributes","GetPostProcessAttributes","push","length","Tr2PostProcess2","sort","a","b","priority","observer","CreateDebugObserver","MergeInto","GetDict","SetDynamicExposure","GetDynamicExposureIfAvailable","SetTaa","GetTaaIfAvailable","SetTonemapping","GetTonemappingIfAvailable","SetFog","GetFogIfAvailable","SetGodRays","GetGodRaysIfAvailable","SetGenericEffect","GetGenericEffectIfAvailable","MEDIUM_PRIORITY","GetPostProcess","BlendLightingOverrides","overrides","component","EveLightingOverride","GetOverrides","sunColorSource","sunIntensity","Math","max","baselineSunColor","scale","copy","intensity","value","sunColor","backgroundIntensity","over","GatherLights","lightManager","SetShadowQuality","Clear","renderContext","AdjustLightCutoff","GetLodFactor","LightOwner","GetLights","ResolveLightData","ReregisterEntities","collection","EveEntity","ReRegister","ClearComponentRegistry","GetPostProcessDebug","UpdateScene","time","EveVisualizeMethod","Object","freeze","VM_NONE","VM_TEXCOORD0","VM_TEXCOORD1","VM_WHITE","VM_OVERDRAW","VW_WIREFRAME","VW_LIGHT_COUNT","VM_COUNT","ShadowQuality","SHADOW_DISABLED","SHADOW_LOW","SHADOW_HIGH","SHADOW_RAYTRACED","#SimplePriorityBlend","result","remainingWeight","first","last","totalPriorityIntensity","index","normalizationFactor","weight","scaleAndAdd","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"EveSpaceScene.js","sources":["../../../../src/eve/scene/EveSpaceScene.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveSpaceScene.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveSpaceScene.cpp\n//\n// Hand-maintained (promoted from src/generated/eve/scene; the generator skips it\n// while this file exists). Fields mirror the generated schema shell; the\n// additions are the per-frame update driver ported from Carbon\n// EveSpaceScene::Update and the scene-owned EveUpdateContext member (Carbon\n// m_updateContext - protected, so absent from the Blue schema scan).\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\nimport { EveEntity } from \"../EveEntity.js\";\nimport { EveComponentRegistry } from \"./components/EveComponentRegistry.js\";\nimport { Tr2PostProcess2 } from \"../../postProcess/Tr2PostProcess2.js\";\nimport { Tr2PostProcessAttributes } from \"../../postProcess/Tr2PostProcessAttributes.js\";\nimport { EveComponentType } from \"../EveComponentTypes.js\";\nimport { EveUpdateContext } from \"../EveUpdateContext.js\";\nimport { EveEffectRoot2 } from \"../spaceObject/EveEffectRoot2.js\";\nimport { convertProjectionCoordToWorldPickRay, screenToProjection } from \"../../trinityCore/pickRay.js\";\n\n\n// Module scratch for the per-frame sun-direction read (assume-dirty).\nconst sunDirectionScratch = vec3.create();\n\n// The scene-root parent transform for the visibility pass (Carbon\n// EveSpaceScene.cpp:1441 `const Matrix& identity = IdentityMatrix()`). Module\n// const, NEVER mutated - objects in m_objects are scene roots.\nconst IDENTITY = mat4.create();\n\n// ---------------------------------------------------------------------------\n// DRIVER-ORDER CONTRACT (per frame) - the CPU visibility/gather drive.\n// Carbon runs steps 5-12 inside EveSpaceScene::BeginRender/GatherBatches\n// (EveSpaceScene.cpp:1295-1427/1433-1525); CarbonEngineJS splits them into\n// scene-owned methods that an engine driver calls in this exact order:\n//\n// 1. Host stamps `updateContext.renderContext` (view -> derived inverse-view\n// + viewPos) and `updateContext.device`.\n// 2. Driver derives the frustum:\n// `frustum.DeriveFrustum(view, viewPos, projection, viewport)` from that\n// same renderContext state (Carbon cpp:476).\n// 3. `scene.StampFrameContext({ frustum, thresholds..., lodFactor,\n// raytracingEnabled })`.\n// 4. `scene.Update(realTime, simTime)` - internally ends with\n// `UpdatePostProcessAttributes()` then the sun-direction read (Carbon\n// cpp:584 -> 589).\n// 5. `scene.BlendLightingOverrides()` - BeginRender phase, before any gather\n// (Carbon cpp:1333, before GatherBatches cpp:1387).\n// 6. (engine) volumetrics `UpdateFogSettings(scene.componentRegistry,\n// scene.updateContext)` - engine reads \"FroxelFogSettings\"; not scene\n// work (cpp:1365-1370).\n// 7. `scene.UpdateVisibility(updateContext.renderContext\n// .GetInverseViewTransform())` - the cpp:1443-1467 block.\n// 8. `const renderables = scene.GetRenderables([])` - pre-culled\n// (cpp:1470-1507 minus impostors).\n// 9. `batchManager.Collect(renderables, reason, updateContext.renderContext)`\n// - with engine-registered collectors covering Carbon's [QUADS]\n// (cpp:1509-1511) and [INSTANCED] (cpp:1516-1520; the instanced collector\n// reads \"InstancedMeshProvider\" from `scene.componentRegistry`);\n// `Finalize` inside Collect = Carbon FinalizeBatches cpp:1522.\n// 10. `scene.GatherLights(lightManager)` - AFTER step 9 (Carbon cpp:1396-1416\n// runs after GatherBatches cpp:1387).\n// 10b. `scene.UpdateShLighting(objects)` - the LAST thing Carbon's gather does\n// (cpp:1524), so every receiver's secondary-lighting coefficients are\n// current for the frame being submitted. Skipped entirely when the scene\n// carries no shLightingManager.\n// 11. (driver/engine, optional) `for (const lf of scene.lensflares)\n// lf?.PrepareRender?.(frustum)` (cpp:1419-1422; the JS lensflare shell has\n// no method yet - pure no-op today).\n// 12. (engine) reads registry collections directly: \"ShadowCaster\" (cascade\n// gate cpp:614-621, RT push cpp:1544-1547), \"VolumetricRenderable\",\n// \"FroxelFogSettings\", \"MeshMorph\" (engine may call\n// `scene.componentRegistry.Clear(\"MeshMorph\")` after bake),\n// \"ReflectionRenderable\" (secondary gather cpp:1886-1895).\n//\n// One-shot registration trigger: after graph build/mutation call\n// `scene.ReregisterEntities()` - covers objects + backgroundObjects + planets\n// (entity-guarded) + cameraAttachmentParent (cpp:4064-4089, matching what\n// OnListModified registers incrementally, cpp:3435-3491). uiObjects are\n// intentionally excluded everywhere (cpp:3462 gate) - Carbon never registers\n// or culls them.\n// ---------------------------------------------------------------------------\n\n/** EveSpaceScene (eve/scene) - hand-maintained from schema shapeHash 571234b0.... */\n@type.define({ className: \"EveSpaceScene\", family: \"eve/scene\" })\nexport class EveSpaceScene extends CjsModel\n{\n\n /** m_visualizeMethod (EveVisualizeMethod - enum EveVisualizeMethod) [READWRITE, ENUM] */\n @io.readwrite\n @type.int32\n @schema.enum(\"EveVisualizeMethod\")\n visualizeMethod = 0;\n\n /** m_envMap1ResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.string\n envMap1ResPath = \"\";\n\n /** m_envMap2ResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.string\n envMap2ResPath = \"\";\n\n /** m_envMap3ResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.string\n envMap3ResPath = \"\";\n\n /** m_lowQualityNebulaResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.string\n lowQualityNebulaResPath = \"\";\n\n /** m_lowQualityNebulaMixResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.string\n lowQualityNebulaMixResPath = \"\";\n\n /** m_envMapResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.string\n envMapResPath = \"\";\n\n /** m_fogColor (Color) [READWRITE, PERSIST] */\n @io.persist\n @type.color\n fogColor = vec4.create();\n\n /** m_sunData.DirWorld (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n sunDirection = vec3.create();\n\n /** m_ambientColor (Color) [READWRITE, PERSIST] */\n @io.persist\n @type.color\n ambientColor = vec4.create();\n\n /** m_shLightingManager (Tr2ShLightingManagerPtr) [PERSISTONLY] */\n @io.persistOnly\n @type.model(\"Tr2ShLightingManager\")\n shLightingManager = null;\n\n /** m_combinedPostProcessAttributes (Tr2PostProcessAttributesPtr) [READ] -\n * default-constructed like Carbon's ctor CreateInstance (cpp:297); refreshed\n * by UpdatePostProcessAttributes' re-export at MEDIUM_PRIORITY (cpp:407). */\n @io.read\n @type.objectRef(\"Tr2PostProcessAttributes\")\n combinedPostProcessAttributes = new Tr2PostProcessAttributes();\n\n /** m_dataTextureMgr (Tr2DataTextureManagerPtr) [READ] */\n @io.read\n @type.objectRef(\"Tr2DataTextureManager\")\n dataTextureMgr = null;\n\n /** m_dynamicObjectReflectionEnabled (bool) [READWRITE] */\n @io.readwrite\n @type.boolean\n dynamicObjectReflectionEnabled = true;\n\n /** m_componentRegistry (EveComponentRegistryPtr) [READ] */\n @io.read\n @type.objectRef(\"EveComponentRegistry\")\n componentRegistry = new EveComponentRegistry();\n\n /** m_cameraAttachmentParent (EveEffectRoot2Ptr) - protected Carbon scene\n * entity, default-constructed like Carbon's ctor CreateInstance (cpp:287, no\n * further setup applied). Consumers still optional-chain - deserialization\n * may null it. */\n @type.model(\"EveEffectRoot2\")\n cameraAttachmentParent = new EveEffectRoot2();\n\n /** m_postProcessDebug (BluePy) - protected Carbon debug payload. */\n @type.rawStruct(\"BluePy\")\n postProcessDebug = null;\n\n /** m_curveSets (PTriCurveSetVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"TriCurveSet\")\n curveSets = [];\n\n /** m_defaultDiffuseRoughness (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n defaultDiffuseRoughness = 1;\n\n /** m_fogStart (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n fogStart = 0;\n\n /** m_fogEnd (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n fogEnd = 0;\n\n /** m_reflectionIntensity (float) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.float32\n reflectionIntensity = 0;\n\n /** m_distanceFields (PEveDistanceFieldVector) [READ] */\n @io.read\n @type.list(\"EveDistanceField\")\n distanceFields = [];\n\n /** m_backgroundEffect (Tr2EffectPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"Tr2Effect\")\n backgroundEffect = null;\n\n /** m_backgroundReflectionIntensity (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n backgroundReflectionIntensity = 1;\n\n /** m_nebulaIntensity (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n nebulaIntensity = 1;\n\n /** m_display (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n display = true;\n\n /** m_backgroundRenderingEnabled (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n backgroundRenderingEnabled = false;\n\n /** m_update (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n update = true;\n\n /** m_impostorManager (Tr2ImpostorManagerPtr) [READWRITE] */\n @io.readwrite\n @type.objectRef(\"Tr2ImpostorManager\")\n impostorManager = null;\n\n /** m_lensflares (PEveLensflareVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"EveLensflare\")\n lensflares = [];\n\n /** m_externalParameters (PTr2ExternalParameterVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"Tr2ExternalParameter\")\n externalParameters = [];\n\n /** m_fogMax (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n fogMax = 0;\n\n /** m_staticParticles (PEveSceneStaticParticlesVector) [READ] */\n @io.read\n @type.list(\"EveSceneStaticParticles\")\n staticParticles = [];\n\n /** m_debugRenderer (Tr2DebugRendererPtr) [READWRITE] */\n @io.readwrite\n @type.objectRef(\"Tr2DebugRenderer\")\n debugRenderer = null;\n\n /** m_objects (PIEveSpaceObject2Vector) [READ, PERSIST] */\n @io.persist\n @type.list(\"IEveSpaceObject2\")\n objects = [];\n\n /** m_uiObjects (PIEveSpaceObject2Vector) [READ, PERSIST] */\n @io.persist\n @type.list(\"IEveSpaceObject2\")\n uiObjects = [];\n\n /** m_backgroundObjects (PIEveSpaceObject2Vector) [READ, PERSIST] */\n @io.persist\n @type.list(\"IEveSpaceObject2\")\n backgroundObjects = [];\n\n /** m_planets (PEvePlanetVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"EvePlanet\")\n planets = [];\n\n /** m_rtManager (Tr2RaytracingManagerPtr) [READWRITE] */\n @io.readwrite\n @type.objectRef(\"Tr2RaytracingManager\")\n raytracingManager = null;\n\n /** m_reflectionBackLightingColor (Color) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.color\n reflectionBackLightingColor = vec4.fromValues(2, 2, 2, 2);\n\n /** m_reflectionBackLightingContrast (float) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.float32\n reflectionBackLightingContrast = 8;\n\n /** m_reflectionProbe (Tr2ReflectionProbePtr) [READWRITE, NOTIFY] */\n @io.notify\n @io.readwrite\n @type.objectRef(\"Tr2ReflectionProbe\")\n reflectionProbe = null;\n\n /** m_volumetricsRenderer (Tr2VolumetricsRendererPtr) [READ] */\n @io.read\n @type.objectRef(\"Tr2VolumetricsRenderer\")\n volumetricsRenderer = null;\n\n /** m_starfield (EveStarfieldPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"EveStarfield\")\n starfield = null;\n\n /** m_planetScale (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n planetScale = 1000000;\n\n /** m_planetCameraScale (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n planetCameraScale = 1000000;\n\n /** m_sssss (Tr2SSSSSPtr) [READ] */\n @io.read\n @type.objectRef(\"Tr2SSSSS\")\n subSurfaceScattering = null;\n\n /** m_shadowQuality (ShadowQuality - enum ShadowQuality) [READWRITE, NOTIFY] */\n @io.notify\n @io.readwrite\n @type.int32\n @schema.enum(\"ShadowQuality\")\n shadowQualitySetting = 3;\n\n /** m_sunColor (Color) [READWRITE, PERSIST] */\n @io.persist\n @type.color\n sunDiffuseColor = vec4.fromValues(1, 1, 1, 1);\n\n /** m_sunColorWithDynamicLights (Color) [READWRITE, PERSIST] */\n @io.persist\n @type.color\n sunDiffuseColorWithDynamicLights = vec4.fromValues(1, 1, 1, 1);\n\n /** m_envMapRotation (Quaternion) [READWRITE, PERSIST] */\n @io.persist\n @type.quat\n envMapRotation = quat.create();\n\n /** m_ballpark (IEveBallparkPtr) [READWRITE] */\n @io.readwrite\n @type.objectRef(\"IEveBallpark\")\n ballpark = null;\n\n /** m_name (BlueSharedString) [READWRITE, PERSIST] */\n @io.persist\n @type.string\n name = \"\";\n\n /** m_sunBall (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"ITriVectorFunction\")\n sunBall = null;\n\n /** m_sceneDefaultPostProcess (Tr2PostProcess2Ptr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"Tr2PostProcess2\")\n postprocess = null;\n\n /** m_virtualCameraSystem (EveVirtualCameraSystemPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"EveVirtualCameraSystem\")\n virtualCameraSystem = null;\n\n /** m_warpTunnel (IEveSpaceObject2Ptr) [READWRITE] */\n @io.readwrite\n @type.objectRef(\"IEveSpaceObject2\")\n warpTunnel = null;\n\n /** m_perFrameDebug (float) [READWRITE] */\n @io.readwrite\n @type.float32\n perFrameDebug = 0;\n\n /** m_cascadedShadowMap (Tr2ShadowMapPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"Tr2ShadowMap\")\n cascadedShadowMap = null;\n\n /** m_updateTime (Be::Time) [READ] */\n @io.read\n @type.float64\n updateTime = 0;\n\n /** m_useSunColorWithDynamicLights (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n useSunDiffuseColorWithDynamicLights = false;\n\n /** m_envMap1 (ITr2TextureProviderPtr) [READ] */\n @io.read\n @type.objectRef(\"ITr2TextureProvider\")\n envMap1 = null;\n\n /** m_envMap2 (ITr2TextureProviderPtr) [READ] */\n @io.read\n @type.objectRef(\"ITr2TextureProvider\")\n envMap2 = null;\n\n /** m_envMap3 (ITr2TextureProviderPtr) [READ] */\n @io.read\n @type.objectRef(\"ITr2TextureProvider\")\n envMap3 = null;\n\n // Carbon m_updateContext (protected, absent from the Blue scan): the scene\n // owns ONE frame context, constructed once and re-stamped each Update. The\n // host/driver stamps updateContext.renderContext (camera view) + .device per\n // pass before calling Update - our explicit replacement for Carbon's\n // Tr2Renderer view statics.\n updateContext = new EveUpdateContext();\n\n // Carbon m_sceneDefaultPostProcessAttributes (EveSpaceScene.h:640, ctor\n // CreateInstance cpp:296): the scene default's attribute snapshot, refreshed\n // by UpdatePostProcessAttributes each frame.\n #sceneDefaultPostProcessAttributes = new Tr2PostProcessAttributes();\n\n // Carbon m_combinedPostProcess (EveSpaceScene.h:636): the merged output\n // post-process, lazily constructed on first combine (cpp:367-370).\n #combinedPostProcess = null;\n\n // Carbon m_currentSunColor / m_currentNebulaIntensity /\n // m_currentReflectionIntensity (EveSpaceScene.h:492-493/650, protected):\n // outputs of the BeginRender lighting-override blend (cpp:1360-1362).\n currentSunColor = vec4.create();\n\n currentNebulaIntensity = 0;\n\n currentReflectionIntensity = 0;\n\n // Carbon g_eveSpaceSceneDynamicLighting (registered setting\n // \"eveSpaceSceneDynamicLighting\", cpp:109-110, default false) - scoped to\n // the scene instead of a module global.\n dynamicLightingEnabled = false;\n\n // Carbon g_enablePostProcessDebugging (registered setting\n // \"enablePostProcessDebugging\", cpp:118-119, default false) - scoped to the\n // scene instead of a module global.\n enablePostProcessDebugging = false;\n\n /**\n * Stamps the per-frame frustum/threshold/LOD state onto the scene-owned\n * update context (Carbon EveSpaceScene::Update cpp:475-484, identical to the\n * already-updated fast path cpp:448-457). Carbon derives the frustum from\n * the Tr2Renderer view statics and reads the thresholds from console vars\n * divided by m_upscalingAmount (=1 by default, cpp:221); in CarbonEngineJS\n * the driver derives the frustum from the same renderContext state it\n * stamped and supplies the thresholds explicitly (pre-divided if it ever\n * upscales). Defaults are the Carbon console-var defaults (cpp:75-84).\n * The raytracing flag is Carbon's `m_shadowQuality == SHADOW_RAYTRACED &&\n * m_enableShadows` (cpp:457/484) - the driver computes it; the scene does\n * not. Stamps unconditionally: Carbon's same-frame fast path restamps\n * regardless of m_update (cpp:444-462); only the cold path skips stamping\n * when !m_update (cpp:466 precedes 475) - benign divergence.\n * @param {Object} [options]\n * @param {Object|null} [options.frustum] - a ready TriFrustum, held by reference\n * @param {Number} [options.visibilityThreshold]\n * @param {Number} [options.lowDetailThreshold]\n * @param {Number} [options.mediumDetailThreshold]\n * @param {Number} [options.highDetailThreshold]\n * @param {Number} [options.lodFactor]\n * @param {Boolean} [options.raytracingEnabled]\n */\n StampFrameContext({\n frustum = null,\n visibilityThreshold = 5,\n lowDetailThreshold = 100,\n mediumDetailThreshold = 400,\n highDetailThreshold = 800,\n lodFactor = 1,\n raytracingEnabled = false\n } = {})\n {\n const context = this.updateContext;\n context.SetFrustum(frustum);\n context.SetHighDetailThreshold(highDetailThreshold);\n context.SetMediumDetailThreshold(mediumDetailThreshold);\n context.SetLowDetailThreshold(lowDetailThreshold);\n context.SetVisibilityThreshold(visibilityThreshold);\n context.SetLodFactor(lodFactor);\n context.raytracingEnabled = !!raytracingEnabled;\n }\n\n /**\n * Per-frame scene update, ported from Carbon EveSpaceScene::Update: stamps the\n * scene-owned frame context (time, origin, data-texture manager), then drives\n * every collection in Carbon's order - background objects, warp tunnel,\n * starfield, static particles, data textures, distance fields, lensflares,\n * virtual camera system, curve sets, then all space/UI objects synchronous\n * first and asynchronous second (Carbon parallelizes the async pass on a task\n * group; JS runs it sequentially). Then combines the post-process attributes\n * (cpp:584) and finally reads the sun direction from the sun ball\n * (cpp:589-596).\n *\n * Adapted - deferred vs Carbon: the recording-frame dedup fast path,\n * frustum/threshold/LOD/raytracing stamping (now the driver's job via\n * StampFrameContext, called BEFORE Update), planet update (planet\n * view-matrix swap unported), and main-thread action flush (N/A).\n * @param {Number} realTime\n * @param {Number} simTime\n */\n @carbon.method\n @impl.adapted\n Update(realTime, simTime)\n {\n if (!this.update)\n {\n return;\n }\n\n const context = this.updateContext;\n context.SetTime(simTime);\n context.UpdateOrigin(this.ballpark);\n context.dataTextureManager = this.dataTextureMgr;\n\n for (const object of this.backgroundObjects)\n {\n object?.UpdateSyncronous?.(context);\n }\n for (const object of this.backgroundObjects)\n {\n object?.UpdateAsyncronous?.(context);\n }\n\n if (this.warpTunnel)\n {\n this.warpTunnel.UpdateSyncronous?.(context);\n this.warpTunnel.UpdateAsyncronous?.(context);\n }\n\n this.starfield?.Update?.(simTime);\n\n for (const staticParticles of this.staticParticles)\n {\n staticParticles?.Update?.(context);\n }\n\n this.dataTextureMgr?.Update?.(context);\n\n for (const distanceField of this.distanceFields)\n {\n distanceField?.Update?.(context);\n }\n\n for (const lensflare of this.lensflares)\n {\n lensflare?.Update?.(realTime, simTime);\n }\n\n this.virtualCameraSystem?.Update?.(realTime);\n\n for (const curveSet of this.curveSets)\n {\n curveSet?.Update?.(realTime, simTime);\n }\n\n for (const object of this.objects)\n {\n object?.UpdateSyncronous?.(context);\n }\n for (const object of this.uiObjects)\n {\n object?.UpdateSyncronous?.(context);\n }\n\n for (const object of this.objects)\n {\n object?.UpdateAsyncronous?.(context);\n }\n for (const object of this.uiObjects)\n {\n object?.UpdateAsyncronous?.(context);\n }\n\n // Combine the post-process attributes (Carbon cpp:584, after the async\n // pass + ExecuteMainThreadActions cpp:581 and before the sun read).\n this.UpdatePostProcessAttributes();\n\n // Sun direction from the sun ball: the normalized sun position, negated\n // (Carbon: m_sunData.DirWorld = -Normalize(sunDirection)).\n if (this.sunBall?.Update)\n {\n this.sunBall.Update(simTime, sunDirectionScratch);\n vec3.normalize(sunDirectionScratch, sunDirectionScratch);\n vec3.negate(this.sunDirection, sunDirectionScratch);\n }\n\n this.updateTime = simTime;\n }\n\n /** Carbon method PickObject (MAP_METHOD_AND_WRAP_OPTIONAL_ARGS). */\n @carbon.method\n @impl.notImplemented\n PickObject(...args)\n {\n throw new Error(\"EveSpaceScene.PickObject is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon method PickAsyncObject (MAP_METHOD_AND_WRAP_OPTIONAL_ARGS). */\n @carbon.method\n @impl.notImplemented\n PickAsyncObject(...args)\n {\n throw new Error(\"EveSpaceScene.PickAsyncObject is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon method PickObjectAndAreaID -> PyPickObjectAndAreaID (MAP_METHOD). */\n @carbon.method\n @impl.notImplemented\n PickObjectAndAreaID(...args)\n {\n throw new Error(\"EveSpaceScene.PickObjectAndAreaID is not implemented in CarbonEngineJS.\");\n }\n\n /**\n * Carbon EveSpaceScene::PickInfinity (cpp:4039-4050): the world-space\n * DIRECTION a screen pixel points along - the pick ray with nothing to hit,\n * which is what a click on empty space resolves to. Pure math, no readback.\n *\n * @param {Number} x - screen x, in pixels\n * @param {Number} y - screen y, in pixels\n * @param {Float32Array} projection - the projection matrix\n * @param {Float32Array} view - the view matrix\n * @param {Object} [viewport] - { x, y, width, height }; the frame's render\n * context supplies one when this is omitted\n * @param {Float32Array} [out] - caller-owned direction\n * @returns {Float32Array|null} the normalized world direction, or null when\n * either matrix cannot be inverted\n */\n @carbon.method\n @impl.implemented\n PickInfinity(x, y, projection, view, viewport = null, out = vec3.create())\n {\n const resolved = viewport ?? this.updateContext?.renderContext?.GetViewport?.();\n const projected = screenToProjection(x, y, resolved);\n const ray = convertProjectionCoordToWorldPickRay(projected.x, projected.y, projection, view);\n\n return ray ? vec3.copy(out, ray.direction) : null;\n }\n\n /**\n * The per-frame CPU visibility pass, ported from the [VISIBILITY] block of\n * Carbon EveSpaceScene::GatherBatches (EveSpaceScene.cpp:1443-1467; the\n * enclosing display gate is BeginRender cpp:1299-1302). Carbon's\n * Tr2ParallelDo loops (objects cpp:1445-1447, staticParticles cpp:1454-1456,\n * planets cpp:1458-1460) run sequentially in the same order; the lensflare\n * loop is sequential in Carbon too (cpp:1462-1466). LOD stamping (lodLevel,\n * isVisible, pixel diameters) happens INSIDE each object's UpdateVisibility;\n * per-object display gates live there too - the scene does not pre-filter.\n * uiObjects are never visited (Carbon never culls them). The camera parent's\n * SetTransform is pure decomposition (EveEffectRoot2.cpp:677-680 Decompose)\n * - no composition, so no row-vector operand swap here; this per-gather\n * Sync/Async pair is the camera parent's ONLY update, so its world transform\n * is the camera pose of the frame being gathered (cpp:1449-1452).\n * @param {Float32Array} inverseView - the inverse view matrix\n * (updateContext.renderContext.GetInverseViewTransform(); Carbon reads the\n * Tr2Renderer static at cpp:1449)\n */\n UpdateVisibility(inverseView)\n {\n if (!this.display)\n {\n return;\n }\n\n for (const object of this.objects)\n {\n object?.UpdateVisibility?.(this.updateContext, IDENTITY);\n }\n\n this.cameraAttachmentParent?.SetTransform?.(inverseView);\n this.cameraAttachmentParent?.UpdateSyncronous?.(this.updateContext);\n this.cameraAttachmentParent?.UpdateAsyncronous?.(this.updateContext);\n this.cameraAttachmentParent?.UpdateVisibility?.(this.updateContext, IDENTITY);\n\n for (const staticParticles of this.staticParticles)\n {\n staticParticles?.UpdateVisibility?.(this.updateContext);\n }\n\n for (const planet of this.planets)\n {\n planet?.UpdateZOnlyVisibility?.(this.updateContext);\n }\n\n // Sequential in Carbon too: \"until we have proper support for multiple\n // lensflares we just do it in a list\" (cpp:1462-1466).\n for (const lensflare of this.lensflares)\n {\n lensflare?.UpdateVisibility?.(this.updateContext);\n }\n }\n\n /** Gathers batchable renderables from the scene's objects for the batch\n * collection pass - the [GATHER] block of Carbon\n * EveSpaceScene::GatherBatches (EveSpaceScene.cpp:1470-1507): m_objects in\n * list order (cpp:1470-1475), then cameraAttachmentParent pushed LAST\n * (cpp:1476), then the staticParticles leg (cpp:1504-1507; Carbon signature\n * `GetRenderables(frustum, renderables)`, EveSceneStaticParticles.h - kept\n * with the out-parameter last per convention). Objects self-filter on the\n * visibility flags stamped by UpdateVisibility, so the array handed to\n * CjsBatchManager.Collect is pre-culled and this aggregation stays GPU-free.\n * The impostor-manager argument (cpp:1478-1502) is dropped - engine-owned.\n * Gather order matters downstream: the opaque accumulator receives batches\n * in gather order before Finalize sorts. */\n GetRenderables(out = [])\n {\n if (!this.display)\n {\n return out;\n }\n\n for (const object of this.objects) object?.GetRenderables?.(out);\n this.cameraAttachmentParent?.GetRenderables?.(out);\n for (const staticParticles of this.staticParticles)\n {\n staticParticles?.GetRenderables?.(this.updateContext.GetFrustum(), out);\n }\n return out;\n }\n\n /**\n * Refreshes the scene default's attribute snapshot, gathers every registered\n * PostProcessOwner's attributes, priority-blends them into the combined\n * post-process, copies the six engine effects through from the scene\n * default, and re-exports the result (Carbon\n * EveSpaceScene::UpdatePostProcessAttributes, EveSpaceScene.cpp:346-413).\n * Sort is descending by priority (cpp:372-377); Carbon's std::sort is\n * unstable while JS sort is stable - equal-priority ties keep registry\n * insertion order, which is blend-order-independent for every Sum-accumulated\n * attribute (the whole tie group is normalized together); only MaxWeight\n * ties at exactly equal weight (string paths / bools / DoF shape) could\n * differ from C++.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon's g_enablePostProcessDebugging global becomes the scene-scoped enablePostProcessDebugging field; the debug payload is a plain object, null when off.\")\n UpdatePostProcessAttributes()\n {\n if (!this.display)\n {\n return;\n }\n\n // Scene default refreshed BEFORE the gather (cpp:354); FromPostProcess\n // handles a null postprocess (reset + return).\n this.#sceneDefaultPostProcessAttributes.FromPostProcess(\n this.postprocess, Tr2PostProcessAttributes.SCENE_DEFAULT_PRIORITY, 1.0);\n\n const sources = [];\n for (const owner of this.componentRegistry?.GetComponents(EveComponentType.PostProcessOwner) ?? [])\n {\n // Carbon pushes unguarded (cpp:358-361); JS ducks may return null.\n const attributes = owner?.GetPostProcessAttributes?.();\n if (attributes)\n {\n sources.push(attributes);\n }\n }\n\n // Scene default appended LAST (cpp:363).\n sources.push(this.#sceneDefaultPostProcessAttributes);\n\n // The list is never empty (default always pushed) so Carbon's else-branch\n // (cpp:411) is unreachable; the guard is kept for shape fidelity.\n if (sources.length)\n {\n this.#combinedPostProcess ??= new Tr2PostProcess2();\n\n sources.sort((a, b) => b.priority - a.priority);\n\n if (this.enablePostProcessDebugging)\n {\n const observer = Tr2PostProcessAttributes.CreateDebugObserver();\n Tr2PostProcessAttributes.MergeInto(this.#combinedPostProcess, sources, observer);\n this.postProcessDebug = observer.GetDict();\n }\n else\n {\n Tr2PostProcessAttributes.MergeInto(this.#combinedPostProcess, sources);\n this.postProcessDebug = null;\n }\n\n // Engine-effect copy-through from the scene default only - NOT blended\n // (cpp:389-406).\n if (this.postprocess)\n {\n this.#combinedPostProcess.SetDynamicExposure(this.postprocess.GetDynamicExposureIfAvailable?.() ?? null);\n this.#combinedPostProcess.SetTaa(this.postprocess.GetTaaIfAvailable?.() ?? null);\n this.#combinedPostProcess.SetTonemapping(this.postprocess.GetTonemappingIfAvailable?.() ?? null);\n this.#combinedPostProcess.SetFog(this.postprocess.GetFogIfAvailable?.() ?? null);\n this.#combinedPostProcess.SetGodRays(this.postprocess.GetGodRaysIfAvailable?.() ?? null);\n this.#combinedPostProcess.SetGenericEffect(this.postprocess.GetGenericEffectIfAvailable?.() ?? null);\n }\n else\n {\n this.#combinedPostProcess.SetDynamicExposure(null);\n this.#combinedPostProcess.SetTaa(null);\n this.#combinedPostProcess.SetTonemapping(null);\n this.#combinedPostProcess.SetFog(null);\n this.#combinedPostProcess.SetGodRays(null);\n this.#combinedPostProcess.SetGenericEffect(null);\n }\n\n // Re-export the combined result as an attributes object at\n // MEDIUM_PRIORITY - consumed by nested-scene composition (cpp:407).\n (this.combinedPostProcessAttributes ??= new Tr2PostProcessAttributes())\n .FromPostProcess(this.#combinedPostProcess, Tr2PostProcessAttributes.MEDIUM_PRIORITY, 1.0);\n }\n else\n {\n this.#combinedPostProcess = null;\n }\n }\n\n /** Carbon method GetPostProcess (EveSpaceScene.cpp:420-427): the combined\n * post-process, or null while the scene is not displayed. */\n @carbon.method\n @impl.implemented\n GetPostProcess()\n {\n if (!this.display)\n {\n return null;\n }\n return this.#combinedPostProcess;\n }\n\n /**\n * Blends every registered EveLightingOverride against the scene baseline and\n * stamps currentSunColor / currentNebulaIntensity /\n * currentReflectionIntensity - the lighting-override block of Carbon\n * EveSpaceScene::BeginRender (EveSpaceScene.cpp:1333-1363). The baseline is\n * appended AFTER the sort at raw priority -1 - one below\n * SCENE_DEFAULT_PRIORITY=0, outside the legal enum range (Carbon casts -1,\n * cpp:1343) - so it always sits last. Scalar/color math only - no matrix\n * compositions, no row-vector swaps anywhere in this method. Same\n * stable-sort note as UpdatePostProcessAttributes - here fully benign, the\n * blend is symmetric within a tie group.\n */\n BlendLightingOverrides()\n {\n if (!this.display)\n {\n return;\n }\n\n const overrides = [];\n for (const component of this.componentRegistry?.GetComponents(EveComponentType.EveLightingOverride) ?? [])\n {\n overrides.push(component.GetOverrides());\n }\n overrides.sort((a, b) => b.priority - a.priority);\n\n // Baseline (cpp:1342-1357): the scene's own sun/nebula/reflection state,\n // sun color normalized by its max channel (all four components scaled).\n const sunColorSource = this.useSunDiffuseColorWithDynamicLights && this.dynamicLightingEnabled\n ? this.sunDiffuseColorWithDynamicLights\n : this.sunDiffuseColor;\n const sunIntensity = Math.max(sunColorSource[0], sunColorSource[1], sunColorSource[2]);\n const baselineSunColor = vec4.create();\n if (sunIntensity !== 0)\n {\n vec4.scale(baselineSunColor, sunColorSource, 1 / sunIntensity);\n }\n else\n {\n vec4.copy(baselineSunColor, sunColorSource);\n }\n overrides.push({\n priority: -1,\n intensity: 1,\n value: {\n sunColor: baselineSunColor,\n sunIntensity,\n backgroundIntensity: this.nebulaIntensity,\n reflectionIntensity: this.reflectionIntensity\n }\n });\n\n const over = EveSpaceScene.#SimplePriorityBlend(overrides);\n vec4.scale(this.currentSunColor, over.sunColor, over.sunIntensity);\n this.currentNebulaIntensity = over.backgroundIntensity;\n this.currentReflectionIntensity = over.reflectionIntensity;\n }\n\n /**\n * Drives the injected light manager through Carbon's dynamic-light gather\n * (EveSpaceScene::BeginRender, EveSpaceScene.cpp:1396-1416, AFTER\n * GatherBatches cpp:1387): shadow quality, clear (runs even with zero owners\n * - stale lights must drop), frustum, LOD cutoff, then every registered\n * LightOwner's GetLights (Carbon Tr2ParallelFor chunk-20 cpp:1405-1413; JS\n * sequential in collection order), then ResolveLightData. No JS\n * Tr2LightManager class exists - the manager is a duck and every manager\n * call is optional-chained so a partial duck still gets the owner loop.\n * Carbon runs the block only when a manager instance exists (dynamic\n * lighting on) - a null manager is a no-op. The recording frame number\n * Carbon passes to SetShadowQuality and the renderContext it passes to Clear\n * are engine recording state - the JS Clear receives the frame's\n * renderContext for ducks that want it.\n * @param {Object|null} lightManager\n */\n GatherLights(lightManager)\n {\n if (!lightManager || !this.display)\n {\n return;\n }\n\n lightManager.SetShadowQuality?.(this.shadowQualitySetting);\n lightManager.Clear?.(this.updateContext.renderContext);\n lightManager.SetFrustum?.(this.updateContext.GetFrustum());\n lightManager.AdjustLightCutoff?.(this.updateContext.GetLodFactor());\n\n for (const owner of this.componentRegistry?.GetComponents(EveComponentType.LightOwner) ?? [])\n {\n owner?.GetLights?.(lightManager);\n }\n\n lightManager.ResolveLightData?.();\n }\n\n /**\n * Carbon EveSpaceScene::UpdateShLighting (cpp:1685-1703): hands every\n * secondary-lighting receiver the scene's SH manager, so each one samples the\n * bounce light at its own position. A scene with no manager does nothing, as\n * Carbon does.\n *\n * Carbon runs this at the very END of the gather (cpp:1524, after\n * FinalizeBatches), and over a parallel range; the JS pass is sequential\n * because the receivers write only their own records and share no state.\n *\n * @param {Array} objects - the frame's visible objects\n * @returns {Number} how many receivers were updated\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon's Tr2ParallelFor becomes a sequential pass; the receivers touch only their own per-object records.\")\n UpdateShLighting(objects = [])\n {\n if (!this.shLightingManager)\n {\n return 0;\n }\n\n let updated = 0;\n\n for (const object of objects)\n {\n if (typeof object?.UpdateShLighting !== \"function\")\n {\n continue;\n }\n object.UpdateShLighting(this.shLightingManager, this.updateContext);\n updated++;\n }\n\n return updated;\n }\n\n /** Carbon method ReregisterEntities (MAP_METHOD_AND_WRAP, cpp:4064-4089).\n * Guarded no-op after ClearComponentRegistry has nulled the registry\n * (destroy-only path; Carbon would never call this afterwards). */\n @carbon.method\n @impl.implemented\n ReregisterEntities()\n {\n if (!this.componentRegistry)\n {\n return;\n }\n\n for (const collection of [this.objects, this.backgroundObjects, this.planets])\n {\n for (const object of collection)\n {\n if (object instanceof EveEntity)\n {\n this.componentRegistry.ReRegister(object);\n }\n }\n }\n if (this.cameraAttachmentParent instanceof EveEntity)\n {\n this.componentRegistry.ReRegister(this.cameraAttachmentParent);\n }\n }\n\n /** Carbon method ClearComponentRegistry (EveSpaceScene.cpp:4091-4099, called\n * from the destructor cpp:322). Entity component-state is deliberately NOT\n * cleared beyond what Clear() does - either the scene is being destroyed\n * (entities go too) or entities move to another scene and re-register there.\n * The JS registry Clear() additionally detaches entity.registry when it\n * points at this registry - strictly more hygienic than Carbon; kept. */\n @carbon.method\n @impl.implemented\n ClearComponentRegistry()\n {\n this.componentRegistry?.Clear();\n this.componentRegistry = null;\n }\n\n /** Carbon method GetPostProcessDebug (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.implemented\n GetPostProcessDebug()\n {\n return this.postProcessDebug;\n }\n\n /** Carbon method UpdateScene -> UpdateSceneFromScript (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.implemented\n UpdateScene(time)\n {\n return this.Update(time, time);\n }\n\n static EveVisualizeMethod = Object.freeze({\n VM_NONE: 0,\n VM_TEXCOORD0: 1,\n VM_TEXCOORD1: 2,\n VM_WHITE: 3,\n VM_OVERDRAW: 4,\n VW_WIREFRAME: 5,\n VW_LIGHT_COUNT: 6,\n VM_COUNT: 7,\n });\n\n static ShadowQuality = Object.freeze({\n SHADOW_DISABLED: 0,\n SHADOW_LOW: 1,\n SHADOW_HIGH: 2,\n SHADOW_RAYTRACED: 3,\n });\n\n /**\n * Carbon SimplePriorityBlend (PriorityBlend.h:371-413) specialized to the\n * IEveLightingOverride::Overrides value type\n * { sunColor: vec4, sunIntensity, backgroundIntensity, reflectionIntensity }\n * (EveChildLightingOverride.h:15-32) - `+` and `* weight` componentwise.\n * Walks the (already priority-desc-sorted) list in equal-priority groups:\n * factor = (1 / max(groupTotal, 1)) * remainingWeight\n * then subtracts the UNCLAMPED group total from remainingWeight. Two quirks\n * preserved exactly: (a) a group with total intensity 0.3 contributes at\n * weight 0.3*remaining and leaves 0.7 for lower priorities; (b) a group with\n * total 2 is normalized to consume exactly remainingWeight and terminates\n * (remaining goes to -1).\n * @param {Array} sources - [{ priority, intensity, value }] sorted high->low\n * @returns {{ sunColor: Float32Array, sunIntensity: Number,\n * backgroundIntensity: Number, reflectionIntensity: Number }}\n */\n static #SimplePriorityBlend(sources)\n {\n const result = {\n sunColor: vec4.create(),\n sunIntensity: 0,\n backgroundIntensity: 0,\n reflectionIntensity: 0\n };\n let remainingWeight = 1;\n\n for (let first = 0; first < sources.length;)\n {\n // The range of sources sharing the current priority.\n let last = first + 1;\n while (last < sources.length && sources[last].priority === sources[first].priority)\n {\n last++;\n }\n\n let totalPriorityIntensity = 0;\n for (let index = first; index < last; index++)\n {\n totalPriorityIntensity += sources[index].intensity;\n }\n if (totalPriorityIntensity === 0)\n {\n first = last;\n continue;\n }\n\n const normalizationFactor = 1 / Math.max(totalPriorityIntensity, 1) * remainingWeight;\n\n for (let index = first; index < last; index++)\n {\n const weight = sources[index].intensity * normalizationFactor;\n const value = sources[index].value;\n vec4.scaleAndAdd(result.sunColor, result.sunColor, value.sunColor, weight);\n result.sunIntensity += value.sunIntensity * weight;\n result.backgroundIntensity += value.backgroundIntensity * weight;\n result.reflectionIntensity += value.reflectionIntensity * weight;\n }\n\n // Subtracts the UNCLAMPED total (PriorityBlend.h:405).\n remainingWeight -= totalPriorityIntensity;\n first = last;\n if (remainingWeight <= 0)\n {\n break;\n }\n }\n return result;\n }\n\n}\n"],"names":["sunDirectionScratch","vec3","create","IDENTITY","mat4","_EveSpaceScene","_identity","EveSpaceScene","CjsModel","e","_init_visualizeMethod","_init_extra_visualizeMethod","_init_envMap1ResPath","_init_extra_envMap1ResPath","_init_envMap2ResPath","_init_extra_envMap2ResPath","_init_envMap3ResPath","_init_extra_envMap3ResPath","_init_lowQualityNebulaResPath","_init_extra_lowQualityNebulaResPath","_init_lowQualityNebulaMixResPath","_init_extra_lowQualityNebulaMixResPath","_init_envMapResPath","_init_extra_envMapResPath","_init_fogColor","_init_extra_fogColor","_init_sunDirection","_init_extra_sunDirection","_init_ambientColor","_init_extra_ambientColor","_init_shLightingManager","_init_extra_shLightingManager","_init_combinedPostProcessAttributes","_init_extra_combinedPostProcessAttributes","_init_dataTextureMgr","_init_extra_dataTextureMgr","_init_dynamicObjectReflectionEnabled","_init_extra_dynamicObjectReflectionEnabled","_init_componentRegistry","_init_extra_componentRegistry","_init_cameraAttachmentParent","_init_extra_cameraAttachmentParent","_init_postProcessDebug","_init_extra_postProcessDebug","_init_curveSets","_init_extra_curveSets","_init_defaultDiffuseRoughness","_init_extra_defaultDiffuseRoughness","_init_fogStart","_init_extra_fogStart","_init_fogEnd","_init_extra_fogEnd","_init_reflectionIntensity","_init_extra_reflectionIntensity","_init_distanceFields","_init_extra_distanceFields","_init_backgroundEffect","_init_extra_backgroundEffect","_init_backgroundReflectionIntensity","_init_extra_backgroundReflectionIntensity","_init_nebulaIntensity","_init_extra_nebulaIntensity","_init_display","_init_extra_display","_init_backgroundRenderingEnabled","_init_extra_backgroundRenderingEnabled","_init_update","_init_extra_update","_init_impostorManager","_init_extra_impostorManager","_init_lensflares","_init_extra_lensflares","_init_externalParameters","_init_extra_externalParameters","_init_fogMax","_init_extra_fogMax","_init_staticParticles","_init_extra_staticParticles","_init_debugRenderer","_init_extra_debugRenderer","_init_objects","_init_extra_objects","_init_uiObjects","_init_extra_uiObjects","_init_backgroundObjects","_init_extra_backgroundObjects","_init_planets","_init_extra_planets","_init_raytracingManager","_init_extra_raytracingManager","_init_reflectionBackLightingColor","_init_extra_reflectionBackLightingColor","_init_reflectionBackLightingContrast","_init_extra_reflectionBackLightingContrast","_init_reflectionProbe","_init_extra_reflectionProbe","_init_volumetricsRenderer","_init_extra_volumetricsRenderer","_init_starfield","_init_extra_starfield","_init_planetScale","_init_extra_planetScale","_init_planetCameraScale","_init_extra_planetCameraScale","_init_subSurfaceScattering","_init_extra_subSurfaceScattering","_init_shadowQualitySetting","_init_extra_shadowQualitySetting","_init_sunDiffuseColor","_init_extra_sunDiffuseColor","_init_sunDiffuseColorWithDynamicLights","_init_extra_sunDiffuseColorWithDynamicLights","_init_envMapRotation","_init_extra_envMapRotation","_init_ballpark","_init_extra_ballpark","_init_name","_init_extra_name","_init_sunBall","_init_extra_sunBall","_init_postprocess","_init_extra_postprocess","_init_virtualCameraSystem","_init_extra_virtualCameraSystem","_init_warpTunnel","_init_extra_warpTunnel","_init_perFrameDebug","_init_extra_perFrameDebug","_init_cascadedShadowMap","_init_extra_cascadedShadowMap","_init_updateTime","_init_extra_updateTime","_init_useSunDiffuseColorWithDynamicLights","_init_extra_useSunDiffuseColorWithDynamicLights","_init_envMap","_init_extra_envMap","_init_envMap2","_init_extra_envMap2","_init_envMap3","_init_extra_envMap3","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","readwrite","int32","schema","enum","notify","persist","string","color","persistOnly","model","read","objectRef","boolean","rawStruct","list","float32","quat","float64","carbon","method","impl","adapted","notImplemented","implemented","reason","visualizeMethod","envMap1ResPath","envMap2ResPath","envMap3ResPath","lowQualityNebulaResPath","lowQualityNebulaMixResPath","envMapResPath","fogColor","vec4","sunDirection","ambientColor","shLightingManager","combinedPostProcessAttributes","Tr2PostProcessAttributes","dataTextureMgr","dynamicObjectReflectionEnabled","componentRegistry","EveComponentRegistry","cameraAttachmentParent","EveEffectRoot2","postProcessDebug","curveSets","defaultDiffuseRoughness","fogStart","fogEnd","reflectionIntensity","distanceFields","backgroundEffect","backgroundReflectionIntensity","nebulaIntensity","display","backgroundRenderingEnabled","update","impostorManager","lensflares","externalParameters","fogMax","staticParticles","debugRenderer","objects","uiObjects","backgroundObjects","planets","raytracingManager","reflectionBackLightingColor","fromValues","reflectionBackLightingContrast","reflectionProbe","volumetricsRenderer","starfield","planetScale","planetCameraScale","subSurfaceScattering","shadowQualitySetting","sunDiffuseColor","sunDiffuseColorWithDynamicLights","envMapRotation","ballpark","name","sunBall","postprocess","virtualCameraSystem","warpTunnel","perFrameDebug","cascadedShadowMap","updateTime","useSunDiffuseColorWithDynamicLights","envMap1","envMap2","envMap3","updateContext","EveUpdateContext","currentSunColor","currentNebulaIntensity","currentReflectionIntensity","dynamicLightingEnabled","enablePostProcessDebugging","StampFrameContext","frustum","visibilityThreshold","lowDetailThreshold","mediumDetailThreshold","highDetailThreshold","lodFactor","raytracingEnabled","context","SetFrustum","SetHighDetailThreshold","SetMediumDetailThreshold","SetLowDetailThreshold","SetVisibilityThreshold","SetLodFactor","Update","realTime","simTime","SetTime","UpdateOrigin","dataTextureManager","object","UpdateSyncronous","UpdateAsyncronous","distanceField","lensflare","curveSet","UpdatePostProcessAttributes","normalize","negate","PickObject","args","Error","PickAsyncObject","PickObjectAndAreaID","PickInfinity","x","y","projection","view","viewport","out","resolved","renderContext","GetViewport","projected","screenToProjection","ray","convertProjectionCoordToWorldPickRay","copy","direction","UpdateVisibility","inverseView","SetTransform","planet","UpdateZOnlyVisibility","GetRenderables","GetFrustum","FromPostProcess","SCENE_DEFAULT_PRIORITY","sources","owner","GetComponents","EveComponentType","PostProcessOwner","attributes","GetPostProcessAttributes","push","length","Tr2PostProcess2","sort","a","b","priority","observer","CreateDebugObserver","MergeInto","GetDict","SetDynamicExposure","GetDynamicExposureIfAvailable","SetTaa","GetTaaIfAvailable","SetTonemapping","GetTonemappingIfAvailable","SetFog","GetFogIfAvailable","SetGodRays","GetGodRaysIfAvailable","SetGenericEffect","GetGenericEffectIfAvailable","MEDIUM_PRIORITY","GetPostProcess","BlendLightingOverrides","overrides","component","EveLightingOverride","GetOverrides","sunColorSource","sunIntensity","Math","max","baselineSunColor","scale","intensity","value","sunColor","backgroundIntensity","over","GatherLights","lightManager","SetShadowQuality","Clear","AdjustLightCutoff","GetLodFactor","LightOwner","GetLights","ResolveLightData","UpdateShLighting","updated","ReregisterEntities","collection","EveEntity","ReRegister","ClearComponentRegistry","GetPostProcessDebug","UpdateScene","time","EveVisualizeMethod","Object","freeze","VM_NONE","VM_TEXCOORD0","VM_TEXCOORD1","VM_WHITE","VM_OVERDRAW","VW_WIREFRAME","VW_LIGHT_COUNT","VM_COUNT","ShadowQuality","SHADOW_DISABLED","SHADOW_LOW","SHADOW_HIGH","SHADOW_RAYTRACED","#SimplePriorityBlend","result","remainingWeight","first","last","totalPriorityIntensity","index","normalizationFactor","weight","scaleAndAdd","constructor"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { CjsModel } from '@carbonenginejs/runtime-utils/model';
4
4
 
5
5
  let _initProto, _initClass, _init_name, _init_extra_name, _init_bit, _init_extra_bit, _init_collection, _init_extra_collection;
6
6
 
7
- /** EveComponentCollection (eve/scene) - generated from schema shapeHash 8a69309e.... */
7
+ /** Stores entities belonging to one Eve component type. */
8
8
  let _EveComponentCollecti;
9
9
  class EveComponentCollection extends CjsModel {
10
10
  static {
@@ -28,11 +28,22 @@ class EveComponentCollection extends CjsModel {
28
28
 
29
29
  /** m_collection (std::vector<T*>) */
30
30
  collection = (_init_extra_bit(this), _init_collection(this, []));
31
+
32
+ /**
33
+ * Appends an entity and returns the index it was stored at, which the registry
34
+ * records on the entity.
35
+ */
31
36
  Add(entity) {
32
37
  const index = this.collection.length;
33
38
  this.collection.push(entity);
34
39
  return index;
35
40
  }
41
+
42
+ /**
43
+ * Removes the entry at an index by moving the last element into its place and
44
+ * returns that moved entity so the caller can fix up its stored index, or null
45
+ * when nothing moved or the index is out of range.
46
+ */
36
47
  SwapWithBack(index) {
37
48
  if (index < 0 || index >= this.collection.length) {
38
49
  return null;
@@ -46,12 +57,24 @@ class EveComponentCollection extends CjsModel {
46
57
  this.collection.pop();
47
58
  return swappedEntity;
48
59
  }
60
+
61
+ /**
62
+ * Drops all entities from the collection without touching their stored
63
+ * component state.
64
+ */
49
65
  Clear() {
50
66
  this.collection.length = 0;
51
67
  }
68
+
69
+ /**
70
+ * Returns the single mask bit the registry assigned to this collection, used
71
+ * as the key for an entity's per-component index.
72
+ */
52
73
  GetBit() {
53
74
  return this.bit;
54
75
  }
76
+
77
+ /** Returns the number of entities currently in the collection. */
55
78
  Size() {
56
79
  return this.collection.length;
57
80
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EveComponentCollection.js","sources":["../../../../../src/eve/scene/components/EveComponentCollection.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// Source: trinity/trinity/Eve/EveComponentRegistry.h\n// Hand-maintained after promotion from generated schema intake.\nimport { impl, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\n\n/** Stores entities belonging to one Eve component type. */\n@type.define({ className: \"EveComponentCollection\", family: \"eve/scene\" })\nexport class EveComponentCollection extends CjsModel\n{\n\n /** m_name (const char*) */\n @type.string\n name = \"\";\n\n /** m_bit (uint32_t) */\n @type.uint32\n bit = 0;\n\n /** m_collection (std::vector<T*>) */\n @type.list(\"T\")\n collection = [];\n\n /**\n * Appends an entity and returns the index it was stored at, which the registry\n * records on the entity.\n */\n @impl.implemented\n Add(entity)\n {\n const index = this.collection.length;\n this.collection.push(entity);\n return index;\n }\n\n /**\n * Removes the entry at an index by moving the last element into its place and\n * returns that moved entity so the caller can fix up its stored index, or null\n * when nothing moved or the index is out of range.\n */\n @impl.implemented\n SwapWithBack(index)\n {\n if (index < 0 || index >= this.collection.length)\n {\n return null;\n }\n const lastIndex = this.collection.length - 1;\n let swappedEntity = null;\n if (index !== lastIndex)\n {\n swappedEntity = this.collection[lastIndex];\n this.collection[index] = swappedEntity;\n }\n this.collection.pop();\n return swappedEntity;\n }\n\n /**\n * Drops all entities from the collection without touching their stored\n * component state.\n */\n @impl.implemented\n Clear()\n {\n this.collection.length = 0;\n }\n\n /**\n * Returns the single mask bit the registry assigned to this collection, used\n * as the key for an entity's per-component index.\n */\n @impl.implemented\n GetBit()\n {\n return this.bit;\n }\n\n /** Returns the number of entities currently in the collection. */\n @impl.implemented\n Size()\n {\n return this.collection.length;\n }\n\n}\n"],"names":["_EveComponentCollecti","EveComponentCollection","CjsModel","e","_init_name","_init_extra_name","_init_bit","_init_extra_bit","_init_collection","_init_extra_collection","_initProto","c","_initClass","_applyDecs","type","define","className","family","string","uint32","list","impl","implemented","constructor","args","name","bit","collection","Add","entity","index","length","push","SwapWithBack","lastIndex","swappedEntity","pop","Clear","GetBit","Size"],"mappings":"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"}
@@ -2,11 +2,11 @@ import { applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPlugin
2
2
  import { impl, carbon, type } from '@carbonenginejs/runtime-utils/schema';
3
3
  import { CjsModel } from '@carbonenginejs/runtime-utils/model';
4
4
  import { EveComponentCollection as _EveComponentCollecti } from './EveComponentCollection.js';
5
- import { EveComponentRequiredMethods } from '../../../eve/EveComponentTypes.js';
5
+ import { EveComponentRequiredMethods } from '../../EveComponentTypes.js';
6
6
 
7
7
  let _initProto, _initClass, _init_componentCollectionLoopGuard, _init_extra_componentCollectionLoopGuard, _init_registeredEntities, _init_extra_registeredEntities;
8
8
 
9
- /** EveComponentRegistry (eve/scene) - generated from schema shapeHash abca1458.... */
9
+ /** Indexes Eve entities and their component collections for scene processing. */
10
10
  let _EveComponentRegistry;
11
11
  class EveComponentRegistry extends CjsModel {
12
12
  static {
@@ -29,6 +29,11 @@ class EveComponentRegistry extends CjsModel {
29
29
 
30
30
  /** m_registeredEntities (std::vector<EveEntity*>) */
31
31
  registeredEntities = (_init_extra_componentCollectionLoopGuard(this), _init_registeredEntities(this, []));
32
+
33
+ /**
34
+ * Empties every component collection and detaches all registered entities,
35
+ * resetting their registry link and component state.
36
+ */
32
37
  Clear() {
33
38
  for (const collection of this.#componentCollections) {
34
39
  collection.Clear();
@@ -42,10 +47,20 @@ class EveComponentRegistry extends CjsModel {
42
47
  }
43
48
  this.registeredEntities.length = 0;
44
49
  }
50
+
51
+ /**
52
+ * Removes the entity from this registry and adds it back, moving it to the end
53
+ * of the registration order.
54
+ */
45
55
  ReRegister(entity) {
46
56
  entity.UnRegister(this);
47
57
  entity.Register(this);
48
58
  }
59
+
60
+ /**
61
+ * Adds an entity to the registry and records its index, returning false if the
62
+ * entity is already registered anywhere.
63
+ */
49
64
  Register(entity) {
50
65
  if (entity.indexInRegistry !== -1) {
51
66
  return false;
@@ -55,6 +70,12 @@ class EveComponentRegistry extends CjsModel {
55
70
  this.registeredEntities.push(entity);
56
71
  return true;
57
72
  }
73
+
74
+ /**
75
+ * Removes an entity by swapping the last registered entity into its slot,
76
+ * keeping the entity list dense, and returns false if the entity is not
77
+ * registered here.
78
+ */
58
79
  UnRegister(entity) {
59
80
  const index = entity.indexInRegistry;
60
81
  if (entity.registry !== this || index < 0 || index >= this.registeredEntities.length) {
@@ -71,14 +92,31 @@ class EveComponentRegistry extends CjsModel {
71
92
  entity.indexInRegistry = -1;
72
93
  return true;
73
94
  }
95
+
96
+ /**
97
+ * Drops the entity from every component collection while leaving it registered
98
+ * in the entity list.
99
+ */
74
100
  UnRegisterAllComponents(entity) {
75
101
  for (const collection of this.#componentCollections) {
76
102
  this.RemoveFromCollection(collection, entity);
77
103
  }
78
104
  }
105
+
106
+ /**
107
+ * Returns the collection for a component name, or null when no collection has
108
+ * been created for it yet.
109
+ */
79
110
  GetComponentCollection(componentName) {
80
111
  return this.#componentCollections.find(collection => collection.name === componentName) ?? null;
81
112
  }
113
+
114
+ /**
115
+ * Adds an entity to the named component's collection, creating the collection
116
+ * on demand, and throws if the entity is missing any method the component
117
+ * interface requires - the fail-closed stand-in for Carbon's compile-time
118
+ * RegisterComponent<T> constraint.
119
+ */
82
120
  RegisterComponent(componentName, entity) {
83
121
  // Fail-closed duck assertion: Carbon's RegisterComponent<T> cannot compile
84
122
  // for an entity that does not implement T; the JS port asserts the
@@ -96,10 +134,21 @@ class EveComponentRegistry extends CjsModel {
96
134
  }
97
135
  return this.AddToCollection(collection, entity);
98
136
  }
137
+
138
+ /**
139
+ * Removes an entity from the named component's collection, returning false
140
+ * when no such collection exists.
141
+ */
99
142
  UnRegisterComponent(componentName, entity) {
100
143
  const collection = this.GetComponentCollection(componentName);
101
144
  return collection ? this.RemoveFromCollection(collection, entity) : false;
102
145
  }
146
+
147
+ /**
148
+ * Creates a collection for a component name and assigns it the next free bit;
149
+ * throws once 32 collections exist because the entity component mask is 32
150
+ * bits wide.
151
+ */
103
152
  AddCollection(componentName) {
104
153
  if (this.#componentCollections.length >= 32) {
105
154
  throw new RangeError("EveComponentRegistry supports at most 32 component collections.");
@@ -110,6 +159,12 @@ class EveComponentRegistry extends CjsModel {
110
159
  this.#componentCollections.push(collection);
111
160
  return collection;
112
161
  }
162
+
163
+ /**
164
+ * Appends an entity to a collection and stores the resulting index on the
165
+ * entity under the collection's bit, returning false if it is already a
166
+ * member.
167
+ */
113
168
  AddToCollection(collection, entity) {
114
169
  if (entity.GetComponentIndex(collection.GetBit()) !== undefined) {
115
170
  return false;
@@ -118,6 +173,12 @@ class EveComponentRegistry extends CjsModel {
118
173
  entity.SetComponentState(collection.GetBit(), index);
119
174
  return true;
120
175
  }
176
+
177
+ /**
178
+ * Removes an entity from a collection by swapping the back element into its
179
+ * slot and fixing up the moved entity's stored index, returning false if it
180
+ * was not a member.
181
+ */
121
182
  RemoveFromCollection(collection, entity) {
122
183
  const bit = collection.GetBit();
123
184
  const index = entity.GetComponentIndex(bit);
@@ -131,9 +192,20 @@ class EveComponentRegistry extends CjsModel {
131
192
  entity.RemoveComponentState(bit);
132
193
  return true;
133
194
  }
195
+
196
+ /**
197
+ * Returns the live entity array backing the named component collection, or an
198
+ * empty array when the collection does not exist; the array is borrowed and
199
+ * changes as entities register.
200
+ */
134
201
  GetComponents(componentName) {
135
202
  return this.GetComponentCollection(componentName)?.collection ?? [];
136
203
  }
204
+
205
+ /**
206
+ * Returns how many entities are in the named component collection, or 0 when
207
+ * the collection does not exist.
208
+ */
137
209
  ComponentCount(componentName) {
138
210
  return this.GetComponentCollection(componentName)?.Size() ?? 0;
139
211
  }