@carbonenginejs/runtime-trinity 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1499) hide show
  1. package/README.md +35 -243
  2. package/dist/controllers/CjsControllerExpressionProgram.js +157 -0
  3. package/dist/controllers/CjsControllerExpressionProgram.js.map +1 -1
  4. package/dist/controllers/ITr2ControllerAction.js +57 -0
  5. package/dist/controllers/ITr2ControllerAction.js.map +1 -1
  6. package/dist/controllers/Tr2ActionAnimateCurveSet.js +12 -2
  7. package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
  8. package/dist/controllers/Tr2ActionAnimateValue.js +28 -2
  9. package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
  10. package/dist/controllers/Tr2ActionBindRTPC.js +13 -2
  11. package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
  12. package/dist/controllers/Tr2ActionCallback.js +7 -2
  13. package/dist/controllers/Tr2ActionCallback.js.map +1 -1
  14. package/dist/controllers/Tr2ActionChildEffect.js +65 -2
  15. package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
  16. package/dist/controllers/Tr2ActionOverlay.js +70 -2
  17. package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
  18. package/dist/controllers/Tr2ActionPlayCurveSet.js +18 -2
  19. package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
  20. package/dist/controllers/Tr2ActionPlayMeshAnimation.js +31 -2
  21. package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
  22. package/dist/controllers/Tr2ActionPlaySound.js +13 -2
  23. package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
  24. package/dist/controllers/Tr2ActionPython.js +13 -2
  25. package/dist/controllers/Tr2ActionPython.js.map +1 -1
  26. package/dist/controllers/Tr2ActionResetClipSphereCenter.js +21 -4
  27. package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
  28. package/dist/controllers/Tr2ActionSetAttenuationScaling.js +7 -2
  29. package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
  30. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +7 -2
  31. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
  32. package/dist/controllers/Tr2ActionSetAudioSwitch.js +7 -2
  33. package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
  34. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +25 -2
  35. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  36. package/dist/controllers/Tr2ActionSetShaderOption.js +7 -2
  37. package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
  38. package/dist/controllers/Tr2ActionSetValue.js +37 -2
  39. package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
  40. package/dist/controllers/Tr2ActionSpawnParticles.js +12 -2
  41. package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
  42. package/dist/controllers/Tr2BindingPoint.js +71 -4
  43. package/dist/controllers/Tr2BindingPoint.js.map +1 -1
  44. package/dist/controllers/Tr2Controller.js +39 -2
  45. package/dist/controllers/Tr2Controller.js.map +1 -1
  46. package/dist/controllers/Tr2ControllerEventHandler.js +12 -2
  47. package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
  48. package/dist/controllers/Tr2ControllerExpression.js +19 -2
  49. package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
  50. package/dist/controllers/Tr2ControllerFloatVariable.js +8 -2
  51. package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
  52. package/dist/controllers/Tr2ControllerReference.js +13 -2
  53. package/dist/controllers/Tr2ControllerReference.js.map +1 -1
  54. package/dist/controllers/Tr2StateMachine.js +19 -2
  55. package/dist/controllers/Tr2StateMachine.js.map +1 -1
  56. package/dist/controllers/Tr2StateMachineState.js +49 -2
  57. package/dist/controllers/Tr2StateMachineState.js.map +1 -1
  58. package/dist/controllers/Tr2StateMachineTransition.js +31 -2
  59. package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
  60. package/dist/controllers/Tr2SyncToAnimation.js +7 -2
  61. package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
  62. package/dist/controllers/Tr2TimelineController.js +63 -2
  63. package/dist/controllers/Tr2TimelineController.js.map +1 -1
  64. package/dist/controllers/Tr2TimelineEntry.js +2 -2
  65. package/dist/controllers/Tr2TimelineEntry.js.map +1 -1
  66. package/dist/controllers/contracts.js +24 -1
  67. package/dist/controllers/contracts.js.map +1 -1
  68. package/dist/controllers/index.js +1 -1
  69. package/dist/curves/CjsGrannyCurves.js +151 -1
  70. package/dist/curves/CjsGrannyCurves.js.map +1 -1
  71. package/dist/curves/Tr2BoneMatrixCurve.js +27 -4
  72. package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
  73. package/dist/curves/Tr2CameraFollowCurveKey.js +9 -3
  74. package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
  75. package/dist/curves/Tr2CurveColor.js +10 -4
  76. package/dist/curves/Tr2CurveColor.js.map +1 -1
  77. package/dist/curves/Tr2CurveColorMixer.js +10 -4
  78. package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
  79. package/dist/curves/Tr2CurveCombiner.js +8 -3
  80. package/dist/curves/Tr2CurveCombiner.js.map +1 -1
  81. package/dist/curves/Tr2CurveConstant.js +22 -6
  82. package/dist/curves/Tr2CurveConstant.js.map +1 -1
  83. package/dist/curves/Tr2CurveEulerRotation.js +8 -3
  84. package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
  85. package/dist/curves/Tr2CurveEulerRotationExpression.js +69 -3
  86. package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
  87. package/dist/curves/Tr2CurveQuaternion.js +8 -3
  88. package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
  89. package/dist/curves/Tr2CurveQuaternionKey.js +8 -3
  90. package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
  91. package/dist/curves/Tr2CurveRandomAxisRotation.js +31 -3
  92. package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
  93. package/dist/curves/Tr2CurveScalar.js +40 -5
  94. package/dist/curves/Tr2CurveScalar.js.map +1 -1
  95. package/dist/curves/Tr2CurveScalarExpression.js +13 -2
  96. package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
  97. package/dist/curves/Tr2CurveScalarKey.js +8 -2
  98. package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
  99. package/dist/curves/Tr2CurveSetRange.js +7 -2
  100. package/dist/curves/Tr2CurveSetRange.js.map +1 -1
  101. package/dist/curves/Tr2CurveVector2.js +8 -3
  102. package/dist/curves/Tr2CurveVector2.js.map +1 -1
  103. package/dist/curves/Tr2CurveVector3.js +8 -3
  104. package/dist/curves/Tr2CurveVector3.js.map +1 -1
  105. package/dist/curves/Tr2CurveVector3Expression.js +74 -3
  106. package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
  107. package/dist/curves/Tr2CurveVector3Lerp.js +9 -3
  108. package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
  109. package/dist/curves/Tr2DistanceTracker.js +9 -3
  110. package/dist/curves/Tr2DistanceTracker.js.map +1 -1
  111. package/dist/curves/Tr2FollowCurve.js +9 -3
  112. package/dist/curves/Tr2FollowCurve.js.map +1 -1
  113. package/dist/curves/Tr2GrannyEventTrack.js +6 -1
  114. package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
  115. package/dist/curves/Tr2GrannyTrack.js +8 -2
  116. package/dist/curves/Tr2GrannyTrack.js.map +1 -1
  117. package/dist/curves/Tr2GrannyTransformTrack.js +9 -3
  118. package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
  119. package/dist/curves/Tr2GrannyVectorTrack.js +6 -1
  120. package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
  121. package/dist/curves/Tr2MatrixKey.js +8 -3
  122. package/dist/curves/Tr2MatrixKey.js.map +1 -1
  123. package/dist/curves/Tr2ObjectFollowCurveKey.js +10 -4
  124. package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
  125. package/dist/curves/Tr2QuaternionLerpCurve.js +10 -4
  126. package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
  127. package/dist/curves/Tr2RotationAdapter.js +9 -3
  128. package/dist/curves/Tr2RotationAdapter.js.map +1 -1
  129. package/dist/curves/Tr2ScalarExprKey.js +21 -3
  130. package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
  131. package/dist/curves/Tr2ScalarExprKeyCurve.js +27 -4
  132. package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
  133. package/dist/curves/Tr2ScalarFader.js +14 -3
  134. package/dist/curves/Tr2ScalarFader.js.map +1 -1
  135. package/dist/curves/Tr2TranslationAdapter.js +10 -4
  136. package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
  137. package/dist/curves/TriColorSequencer.js +10 -4
  138. package/dist/curves/TriColorSequencer.js.map +1 -1
  139. package/dist/curves/TriCurveSet.js +25 -2
  140. package/dist/curves/TriCurveSet.js.map +1 -1
  141. package/dist/curves/TriEventCurve.js +25 -2
  142. package/dist/curves/TriEventCurve.js.map +1 -1
  143. package/dist/curves/TriEventKey.js +7 -2
  144. package/dist/curves/TriEventKey.js.map +1 -1
  145. package/dist/curves/TriPerlinCurve.js +33 -3
  146. package/dist/curves/TriPerlinCurve.js.map +1 -1
  147. package/dist/curves/TriVectorSequencer.js +10 -4
  148. package/dist/curves/TriVectorSequencer.js.map +1 -1
  149. package/dist/eve/AudioGameObject.js +95 -7
  150. package/dist/eve/AudioGameObject.js.map +1 -1
  151. package/dist/eve/BackAndForthData.js +10 -3
  152. package/dist/eve/BackAndForthData.js.map +1 -1
  153. package/dist/eve/CjsDistributionRandom.js +6 -0
  154. package/dist/eve/CjsDistributionRandom.js.map +1 -1
  155. package/dist/eve/CjsEveThrottleableState.js +11 -0
  156. package/dist/eve/CjsEveThrottleableState.js.map +1 -1
  157. package/dist/eve/EveChildUpdateParams.js +11 -4
  158. package/dist/eve/EveChildUpdateParams.js.map +1 -1
  159. package/dist/eve/EveComponentTypes.js.map +1 -1
  160. package/dist/eve/EveCustomMask.js +64 -33
  161. package/dist/eve/EveCustomMask.js.map +1 -1
  162. package/dist/eve/EveDistanceField.js +87 -3
  163. package/dist/eve/EveDistanceField.js.map +1 -1
  164. package/dist/eve/EveEntity.js +138 -0
  165. package/dist/eve/EveEntity.js.map +1 -0
  166. package/dist/eve/EveImpactOverlay.js +64 -3
  167. package/dist/eve/EveImpactOverlay.js.map +1 -1
  168. package/dist/eve/EveLODHelper.js +17 -13
  169. package/dist/eve/EveLODHelper.js.map +1 -1
  170. package/dist/eve/EveLineData.js +6 -4
  171. package/dist/eve/EveLineData.js.map +1 -1
  172. package/dist/eve/EveThrottleable.js +13 -2
  173. package/dist/eve/EveThrottleable.js.map +1 -1
  174. package/dist/eve/EveUpdateContext.js +3 -3
  175. package/dist/eve/EveUpdateContext.js.map +1 -1
  176. package/dist/eve/FollowASplineData.js +9 -2
  177. package/dist/eve/FollowASplineData.js.map +1 -1
  178. package/dist/eve/FormationData.js +8 -2
  179. package/dist/eve/FormationData.js.map +1 -1
  180. package/dist/eve/InertiaData.js +10 -3
  181. package/dist/eve/InertiaData.js.map +1 -1
  182. package/dist/eve/PlacementDataWithIdentifier.js +11 -4
  183. package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
  184. package/dist/eve/PlayFXData.js +10 -3
  185. package/dist/eve/PlayFXData.js.map +1 -1
  186. package/dist/eve/SeekTargetData.js +10 -3
  187. package/dist/eve/SeekTargetData.js.map +1 -1
  188. package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js +105 -0
  189. package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
  190. package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
  191. package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
  192. package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +16 -5
  193. package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
  194. package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
  195. package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
  196. package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +267 -46
  197. package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
  198. package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +216 -15
  199. package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
  200. package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +52 -4
  201. package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
  202. package/dist/eve/attachment/decal/DecalMeshCache.js +2 -2
  203. package/dist/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  204. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
  205. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
  206. package/dist/eve/attachment/haze/EveHazeSet.js +187 -0
  207. package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
  208. package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
  209. package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
  210. package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +16 -5
  211. package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
  212. package/dist/eve/attachment/itemSetBounds.js +131 -0
  213. package/dist/eve/attachment/itemSetBounds.js.map +1 -0
  214. package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +17 -5
  215. package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
  216. package/dist/eve/attachment/plane/EvePlaneSet.js +303 -0
  217. package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
  218. package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
  219. package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
  220. package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +16 -5
  221. package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
  222. package/dist/eve/attachment/spotlight/EveSpotlightSet.js +235 -0
  223. package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
  224. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
  225. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
  226. package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +17 -5
  227. package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
  228. package/dist/eve/attachment/sprite/EveSpriteLineSet.js +192 -0
  229. package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
  230. package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +34 -9
  231. package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
  232. package/dist/eve/attachment/sprite/EveSpriteSet.js +255 -0
  233. package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
  234. package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +28 -31
  235. package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
  236. package/dist/eve/attachment/turrets/EveTurretFiringFX.js +187 -5
  237. package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  238. package/dist/eve/attachment/turrets/EveTurretSet.js +333 -19
  239. package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  240. package/dist/eve/attachment/turrets/EveTurretTarget.js +115 -3
  241. package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  242. package/dist/eve/camera/EveCamera.js +644 -0
  243. package/dist/eve/camera/EveCamera.js.map +1 -0
  244. package/dist/eve/child/EveChildAudio.js +67 -4
  245. package/dist/eve/child/EveChildAudio.js.map +1 -1
  246. package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
  247. package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
  248. package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +46 -8
  249. package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
  250. package/dist/eve/child/EveChildContainer.js +181 -22
  251. package/dist/eve/child/EveChildContainer.js.map +1 -1
  252. package/dist/eve/child/EveChildEffectPropagator.js +5 -5
  253. package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
  254. package/dist/eve/child/EveChildFogVolume.js +76 -4
  255. package/dist/eve/child/EveChildFogVolume.js.map +1 -1
  256. package/dist/eve/child/EveChildInheritProperties.js +20 -3
  257. package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
  258. package/dist/eve/child/EveChildInstanceTransform.js +4 -4
  259. package/dist/eve/child/EveChildInstanceTransform.js.map +1 -1
  260. package/dist/eve/child/EveChildInstancedMeshes.js +485 -23
  261. package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
  262. package/dist/eve/child/EveChildLightingOverride.js +78 -4
  263. package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
  264. package/dist/{generated/eve → eve}/child/EveChildLink.js +23 -22
  265. package/dist/eve/child/EveChildLink.js.map +1 -0
  266. package/dist/eve/child/EveChildMesh.js +366 -111
  267. package/dist/eve/child/EveChildMesh.js.map +1 -1
  268. package/dist/eve/child/EveChildSpherePin.js +108 -0
  269. package/dist/eve/child/EveChildSpherePin.js.map +1 -0
  270. package/dist/eve/child/EveChildTransform.js +48 -5
  271. package/dist/eve/child/EveChildTransform.js.map +1 -1
  272. package/dist/eve/child/EveCloudVolumeBall.js +4 -4
  273. package/dist/eve/child/EveCloudVolumeBall.js.map +1 -1
  274. package/dist/eve/child/IEveSpaceObjectChild.js +7 -2
  275. package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
  276. package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
  277. package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
  278. package/dist/eve/child/behaviors/DroneAgent.js +5 -5
  279. package/dist/eve/child/behaviors/DroneAgent.js.map +1 -1
  280. package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
  281. package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
  282. package/dist/eve/child/behaviors/Wander.js +99 -0
  283. package/dist/eve/child/behaviors/Wander.js.map +1 -0
  284. package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
  285. package/dist/eve/child/behaviors/enums.js.map +1 -0
  286. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
  287. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
  288. package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +10 -4
  289. package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
  290. package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +11 -9
  291. package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
  292. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
  293. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
  294. package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +6 -6
  295. package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
  296. package/dist/eve/child/lineSetPaths/EveBezierCurve.js +82 -8
  297. package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  298. package/dist/eve/child/lineSetPaths/EveCircle.js +82 -8
  299. package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  300. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +27 -19
  301. package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
  302. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +8 -3
  303. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
  304. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +26 -23
  305. package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
  306. package/dist/eve/child/modifiers/EveChildModifierBooster.js +10 -4
  307. package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
  308. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +12 -6
  309. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
  310. package/dist/eve/child/modifiers/EveChildModifierHalo.js +9 -4
  311. package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
  312. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +10 -4
  313. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
  314. package/dist/eve/child/modifiers/EveChildModifierSRT.js +10 -5
  315. package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  316. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +36 -22
  317. package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
  318. package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js +2 -2
  319. package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js.map +1 -1
  320. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +19 -17
  321. package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
  322. package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +15 -8
  323. package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
  324. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +14 -14
  325. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
  326. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +8 -8
  327. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
  328. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +14 -14
  329. package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
  330. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +10 -10
  331. package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
  332. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +19 -19
  333. package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
  334. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +9 -9
  335. package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
  336. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +9 -9
  337. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
  338. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +19 -19
  339. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
  340. package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +136 -7
  341. package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
  342. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +14 -3
  343. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
  344. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +13 -5
  345. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
  346. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +16 -5
  347. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
  348. package/dist/eve/distribution/attributeModifiers/InitialPlacement.js +2 -2
  349. package/dist/eve/distribution/attributeModifiers/InitialPlacement.js.map +1 -1
  350. package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
  351. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +18 -5
  352. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
  353. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +33 -5
  354. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
  355. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +38 -7
  356. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
  357. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +16 -4
  358. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
  359. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +16 -5
  360. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
  361. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +17 -6
  362. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
  363. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +16 -5
  364. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
  365. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +21 -3
  366. package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
  367. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +27 -3
  368. package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
  369. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +19 -3
  370. package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
  371. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +24 -5
  372. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
  373. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +23 -4
  374. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
  375. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +23 -4
  376. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
  377. package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +81 -9
  378. package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
  379. package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
  380. package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
  381. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
  382. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
  383. package/dist/eve/index.js +118 -46
  384. package/dist/eve/index.js.map +1 -1
  385. package/dist/eve/lights/CjsLightData.js +12 -5
  386. package/dist/eve/lights/CjsLightData.js.map +1 -1
  387. package/dist/eve/lights/LightFeatures.js +2 -2
  388. package/dist/eve/lights/LightFeatures.js.map +1 -1
  389. package/dist/eve/lights/Tr2Light.js +130 -4
  390. package/dist/eve/lights/Tr2Light.js.map +1 -1
  391. package/dist/eve/lights/Tr2PointLight.js +9 -4
  392. package/dist/eve/lights/Tr2PointLight.js.map +1 -1
  393. package/dist/eve/lights/Tr2SpotLight.js +9 -4
  394. package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
  395. package/dist/eve/lights/Tr2TexturedPointLight.js +11 -1
  396. package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  397. package/dist/eve/lights/lightConversion.js +196 -0
  398. package/dist/eve/lights/lightConversion.js.map +1 -0
  399. package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +23 -4
  400. package/dist/eve/locator/EveLocator2.js.map +1 -0
  401. package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +46 -4
  402. package/dist/eve/locator/EveLocatorSets.js.map +1 -0
  403. package/dist/eve/{Locator.js → locator/Locator.js} +10 -5
  404. package/dist/eve/locator/Locator.js.map +1 -0
  405. package/dist/eve/{LocatorData.js → locator/LocatorData.js} +7 -5
  406. package/dist/eve/locator/LocatorData.js.map +1 -0
  407. package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
  408. package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
  409. package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +6 -6
  410. package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
  411. package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +6 -6
  412. package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
  413. package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +7 -7
  414. package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
  415. package/dist/eve/particles/static/EveSceneStaticParticles.js +326 -0
  416. package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
  417. package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
  418. package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
  419. package/dist/eve/renderable/stretch/CjsStretchRuntime.js +78 -2
  420. package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
  421. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +88 -4
  422. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  423. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +95 -4
  424. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
  425. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +40 -4
  426. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
  427. package/dist/eve/renderable/stretch/EveStretch.js +162 -13
  428. package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
  429. package/dist/eve/renderable/stretch/EveStretch2.js +125 -16
  430. package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
  431. package/dist/eve/renderable/stretch/EveStretch3.js +265 -12
  432. package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
  433. package/dist/eve/scene/EveSpaceScene.js +62 -12
  434. package/dist/eve/scene/EveSpaceScene.js.map +1 -1
  435. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +26 -3
  436. package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
  437. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +76 -4
  438. package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
  439. package/dist/eve/scene/picking/EvePickingContext.js +61 -0
  440. package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
  441. package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
  442. package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
  443. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
  444. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
  445. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +20 -20
  446. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
  447. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +21 -21
  448. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
  449. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +14 -14
  450. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
  451. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +13 -13
  452. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
  453. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +32 -32
  454. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
  455. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +11 -11
  456. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
  457. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +25 -25
  458. package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
  459. package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
  460. package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +28 -3
  461. package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
  462. package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +18 -2
  463. package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
  464. package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +23 -7
  465. package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
  466. package/dist/eve/socket/EveSocketParameterFilePath.js +6 -6
  467. package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
  468. package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +18 -2
  469. package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
  470. package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +18 -2
  471. package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
  472. package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +44 -4
  473. package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
  474. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +19 -3
  475. package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
  476. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +19 -3
  477. package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
  478. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +19 -3
  479. package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
  480. package/dist/eve/spaceObject/EveEffectRoot2.js +69 -33
  481. package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  482. package/dist/eve/spaceObject/EveMissile.js +55 -7
  483. package/dist/eve/spaceObject/EveMissile.js.map +1 -1
  484. package/dist/eve/spaceObject/EveMissileWarhead.js +112 -16
  485. package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
  486. package/dist/eve/spaceObject/EveMobile.js +107 -3
  487. package/dist/eve/spaceObject/EveMobile.js.map +1 -1
  488. package/dist/eve/spaceObject/EveRootTransform.js +21 -4
  489. package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
  490. package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +34 -14
  491. package/dist/eve/spaceObject/EveShip2.js.map +1 -0
  492. package/dist/eve/spaceObject/EveSpaceObject2.js +747 -205
  493. package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  494. package/dist/eve/spaceObject/EveStation2.js +1 -1
  495. package/dist/eve/spaceObject/EveStation2.js.map +1 -1
  496. package/dist/eve/spaceObject/EveTransform.js +124 -24
  497. package/dist/eve/spaceObject/EveTransform.js.map +1 -1
  498. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
  499. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
  500. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
  501. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
  502. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
  503. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
  504. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
  505. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
  506. package/dist/eve/spaceObject/planet/EvePlanet.js +63 -0
  507. package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
  508. package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js +225 -0
  509. package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
  510. package/dist/eve/spaceObject/swarm/SwarmVehicle.js +4 -4
  511. package/dist/eve/spaceObject/swarm/SwarmVehicle.js.map +1 -1
  512. package/dist/eve/spaceObject/swarm/SwarmVehicleDebug.js +3 -3
  513. package/dist/eve/spaceObject/swarm/SwarmVehicleDebug.js.map +1 -1
  514. package/dist/eve/ui/EveEllipseDefinition.js +18 -3
  515. package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
  516. package/dist/eve/ui/EveEllipseSet.js +44 -2
  517. package/dist/eve/ui/EveEllipseSet.js.map +1 -1
  518. package/dist/eve/ui/EveSpherePin.js +159 -0
  519. package/dist/eve/ui/EveSpherePin.js.map +1 -0
  520. package/dist/eve/ui/EveSprite2dBracket.js +9 -4
  521. package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
  522. package/dist/eve/ui/EveUiObject.js +12 -1
  523. package/dist/eve/ui/EveUiObject.js.map +1 -1
  524. package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +71 -10
  525. package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
  526. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
  527. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
  528. package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +24 -4
  529. package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
  530. package/dist/eve/virtualCamera/EveVirtualCamera.js +158 -6
  531. package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
  532. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +67 -2
  533. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
  534. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +18 -1
  535. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
  536. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +21 -2
  537. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
  538. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +18 -1
  539. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
  540. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +30 -1
  541. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
  542. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +16 -1
  543. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
  544. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +42 -4
  545. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
  546. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +19 -2
  547. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
  548. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +20 -2
  549. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
  550. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +22 -2
  551. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
  552. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +22 -2
  553. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
  554. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +13 -2
  555. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
  556. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +16 -2
  557. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
  558. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +18 -2
  559. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
  560. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +23 -3
  561. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
  562. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +38 -2
  563. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
  564. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +38 -2
  565. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
  566. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +12 -1
  567. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
  568. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +39 -2
  569. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
  570. package/dist/eve/volume/EveBoxVolume.js +63 -4
  571. package/dist/eve/volume/EveBoxVolume.js.map +1 -1
  572. package/dist/eve/volume/EveEllipsoidVolume.js +58 -4
  573. package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
  574. package/dist/eve/volume/EveSphereVolume.js +37 -3
  575. package/dist/eve/volume/EveSphereVolume.js.map +1 -1
  576. package/dist/generated/curves/Tr2VectorFunctionModifier.js +3 -3
  577. package/dist/generated/curves/Tr2VectorFunctionModifier.js.map +1 -1
  578. package/dist/generated/eve/child/EveChildCloud.js +5 -5
  579. package/dist/generated/eve/child/EveChildCloud.js.map +1 -1
  580. package/dist/generated/eve/child/EveChildCloud2.js +759 -48
  581. package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
  582. package/dist/generated/eve/child/EveChildExplosion.js +4 -4
  583. package/dist/generated/eve/child/EveChildExplosion.js.map +1 -1
  584. package/dist/generated/eve/child/EveChildInstanceContainer.js +1 -1
  585. package/dist/generated/eve/child/EveChildInstanceContainer.js.map +1 -1
  586. package/dist/generated/eve/child/EveChildInstanceMeshRenderer.js +3 -3
  587. package/dist/generated/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
  588. package/dist/generated/eve/child/EveChildLineSet.js +2 -2
  589. package/dist/generated/eve/child/EveChildLineSet.js.map +1 -1
  590. package/dist/generated/eve/child/EveChildParticleSphere.js +3 -3
  591. package/dist/generated/eve/child/EveChildParticleSphere.js.map +1 -1
  592. package/dist/generated/eve/child/EveChildParticleSystem.js +16 -10
  593. package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
  594. package/dist/generated/eve/child/EveChildPlug.js +1 -1
  595. package/dist/generated/eve/child/EveChildPlug.js.map +1 -1
  596. package/dist/generated/eve/child/EveChildPostProcessVolume.js +4 -4
  597. package/dist/generated/eve/child/EveChildPostProcessVolume.js.map +1 -1
  598. package/dist/generated/eve/child/EveChildQuad.js +5 -5
  599. package/dist/generated/eve/child/EveChildQuad.js.map +1 -1
  600. package/dist/generated/eve/child/EveChildRef.js +1 -1
  601. package/dist/generated/eve/child/EveChildRef.js.map +1 -1
  602. package/dist/generated/eve/child/EveChildSocket.js +2 -2
  603. package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
  604. package/dist/generated/eve/child/EveCloudEditableVolume.js +2 -2
  605. package/dist/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
  606. package/dist/generated/eve/child/EveCloudVolumeTextureParameter.js +2 -2
  607. package/dist/generated/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
  608. package/dist/generated/eve/child/IEveLightingOverride.js +2 -2
  609. package/dist/generated/eve/child/IEveLightingOverride.js.map +1 -1
  610. package/dist/generated/eve/child/behaviors/Allign.js +3 -3
  611. package/dist/generated/eve/child/behaviors/Allign.js.map +1 -1
  612. package/dist/generated/eve/child/behaviors/ApproachGroup.js +3 -3
  613. package/dist/generated/eve/child/behaviors/ApproachGroup.js.map +1 -1
  614. package/dist/generated/eve/child/behaviors/BackAndForth.js +18 -21
  615. package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
  616. package/dist/generated/eve/child/behaviors/BehaviorGroup.js +7 -7
  617. package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  618. package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js +5 -5
  619. package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
  620. package/dist/generated/eve/child/behaviors/DroneAvoidance.js +3 -3
  621. package/dist/generated/eve/child/behaviors/DroneAvoidance.js.map +1 -1
  622. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +29 -32
  623. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
  624. package/dist/generated/eve/child/behaviors/FollowASpline.js +16 -20
  625. package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
  626. package/dist/generated/eve/child/behaviors/Formation.js +4 -4
  627. package/dist/generated/eve/child/behaviors/Formation.js.map +1 -1
  628. package/dist/generated/eve/child/behaviors/Inertia.js +4 -4
  629. package/dist/generated/eve/child/behaviors/Inertia.js.map +1 -1
  630. package/dist/generated/eve/child/behaviors/PlayFX.js +16 -16
  631. package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
  632. package/dist/generated/eve/child/behaviors/SeekTarget.js +4 -4
  633. package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
  634. package/dist/generated/eve/child/behaviors/SpawnDrones.js +4 -4
  635. package/dist/generated/eve/child/behaviors/SpawnDrones.js.map +1 -1
  636. package/dist/generated/eve/child/behaviors/index.js +0 -6
  637. package/dist/generated/eve/child/behaviors/index.js.map +1 -1
  638. package/dist/generated/eve/child/index.js +0 -23
  639. package/dist/generated/eve/child/index.js.map +1 -1
  640. package/dist/generated/eve/child/lineSetPaths/EveLineChildContainer.js +1 -1
  641. package/dist/generated/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
  642. package/dist/generated/eve/effect/EveOccluder.js +2 -2
  643. package/dist/generated/eve/effect/EveOccluder.js.map +1 -1
  644. package/dist/generated/eve/effect/EveStarfield.js +2 -2
  645. package/dist/generated/eve/effect/EveStarfield.js.map +1 -1
  646. package/dist/generated/eve/effect/index.js +0 -3
  647. package/dist/generated/eve/effect/index.js.map +1 -1
  648. package/dist/generated/eve/index.js +0 -88
  649. package/dist/generated/eve/index.js.map +1 -1
  650. package/dist/generated/eve/lights/Tr2FactionLight.js +4 -4
  651. package/dist/generated/eve/lights/Tr2FactionLight.js.map +1 -1
  652. package/dist/generated/eve/scene/EvePendingPickingReadback.js +2 -2
  653. package/dist/generated/eve/scene/EvePendingPickingReadback.js.map +1 -1
  654. package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js +3 -3
  655. package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
  656. package/dist/generated/eve/scene/index.js +0 -6
  657. package/dist/generated/eve/scene/index.js.map +1 -1
  658. package/dist/generated/eve/smartLights/EveChildSmartLightSet.js +2 -2
  659. package/dist/generated/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
  660. package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js +3 -3
  661. package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
  662. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +23 -23
  663. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  664. package/dist/generated/eve/smartLights/EveSmartLightMesh.js +1 -1
  665. package/dist/generated/eve/smartLights/EveSmartLightMesh.js.map +1 -1
  666. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +6 -6
  667. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  668. package/dist/generated/eve/smartLights/EveSmartLightQuad.js +6 -6
  669. package/dist/generated/eve/smartLights/EveSmartLightQuad.js.map +1 -1
  670. package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js +1 -1
  671. package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
  672. package/dist/generated/eve/smartLights/index.js +0 -8
  673. package/dist/generated/eve/smartLights/index.js.map +1 -1
  674. package/dist/generated/eve/spaceObject/index.js +0 -4
  675. package/dist/generated/eve/spaceObject/index.js.map +1 -1
  676. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +194 -173
  677. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  678. package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
  679. package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
  680. package/dist/generated/eve/ui/EveConnector.js +4 -4
  681. package/dist/generated/eve/ui/EveConnector.js.map +1 -1
  682. package/dist/generated/eve/ui/EveCurveLineSet.js +2 -2
  683. package/dist/generated/eve/ui/EveCurveLineSet.js.map +1 -1
  684. package/dist/generated/eve/ui/EveLineContainer.js +2 -2
  685. package/dist/generated/eve/ui/EveLineContainer.js.map +1 -1
  686. package/dist/generated/eve/ui/EveProjectBracket.js +4 -4
  687. package/dist/generated/eve/ui/EveProjectBracket.js.map +1 -1
  688. package/dist/generated/eve/ui/EveSprite2dBracketRenderer.js +2 -2
  689. package/dist/generated/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
  690. package/dist/generated/eve/ui/EveTacticalOverlay.js +4 -4
  691. package/dist/generated/eve/ui/EveTacticalOverlay.js.map +1 -1
  692. package/dist/generated/eve/ui/index.js +0 -4
  693. package/dist/generated/eve/ui/index.js.map +1 -1
  694. package/dist/generated/font/Tr2FontManager.js +2 -2
  695. package/dist/generated/font/Tr2FontManager.js.map +1 -1
  696. package/dist/generated/font/Tr2FontMeasurer.js +2 -2
  697. package/dist/generated/font/Tr2FontMeasurer.js.map +1 -1
  698. package/dist/generated/font/Tr2SBitWrapper.js +2 -2
  699. package/dist/generated/font/Tr2SBitWrapper.js.map +1 -1
  700. package/dist/generated/index.js +0 -93
  701. package/dist/generated/index.js.map +1 -1
  702. package/dist/generated/particle/ITr2GenericEmitter.js +4 -4
  703. package/dist/generated/particle/ITr2GenericEmitter.js.map +1 -1
  704. package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js +4 -4
  705. package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
  706. package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js +3 -3
  707. package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
  708. package/dist/generated/particle/Tr2DynamicEmitter.js +2 -2
  709. package/dist/generated/particle/Tr2DynamicEmitter.js.map +1 -1
  710. package/dist/generated/particle/Tr2ElementBlendConstraint.js +3 -3
  711. package/dist/generated/particle/Tr2ElementBlendConstraint.js.map +1 -1
  712. package/dist/generated/particle/Tr2ForceSphereVolume.js +3 -3
  713. package/dist/generated/particle/Tr2ForceSphereVolume.js.map +1 -1
  714. package/dist/generated/particle/Tr2GpuParticleSystem.js +2 -2
  715. package/dist/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
  716. package/dist/generated/particle/Tr2ParticleSystem.js +3 -3
  717. package/dist/generated/particle/Tr2ParticleSystem.js.map +1 -1
  718. package/dist/generated/particle/Tr2ParticleTurbulenceForce.js +5 -5
  719. package/dist/generated/particle/Tr2ParticleTurbulenceForce.js.map +1 -1
  720. package/dist/generated/particle/Tr2PlaneConstraint.js +4 -4
  721. package/dist/generated/particle/Tr2PlaneConstraint.js.map +1 -1
  722. package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js +2 -2
  723. package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
  724. package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js +3 -3
  725. package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
  726. package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js +3 -3
  727. package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js.map +1 -1
  728. package/dist/generated/particle/Tr2SphereConstraint.js +4 -4
  729. package/dist/generated/particle/Tr2SphereConstraint.js.map +1 -1
  730. package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js +4 -4
  731. package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js.map +1 -1
  732. package/dist/generated/particle/Tr2StaticEmitter.js +2 -2
  733. package/dist/generated/particle/Tr2StaticEmitter.js.map +1 -1
  734. package/dist/generated/postProcess/Tr2PostProcessRenderer.js +2 -2
  735. package/dist/generated/postProcess/Tr2PostProcessRenderer.js.map +1 -1
  736. package/dist/generated/raytracing/Tr2RaytracingGeometry.js +3 -3
  737. package/dist/generated/raytracing/Tr2RaytracingGeometry.js.map +1 -1
  738. package/dist/generated/raytracing/Tr2RaytracingManager.js +2 -2
  739. package/dist/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
  740. package/dist/generated/raytracing/Tr2RaytracingMesh.js +2 -2
  741. package/dist/generated/raytracing/Tr2RaytracingMesh.js.map +1 -1
  742. package/dist/generated/raytracing/Tr2RaytracingPipelineStateManager.js +2 -2
  743. package/dist/generated/raytracing/Tr2RaytracingPipelineStateManager.js.map +1 -1
  744. package/dist/generated/renderJob/Tr2RenderNodeEffect.js +2 -2
  745. package/dist/generated/renderJob/Tr2RenderNodeEffect.js.map +1 -1
  746. package/dist/generated/renderJob/Tr2RenderNodeSprite2dScene.js +2 -2
  747. package/dist/generated/renderJob/Tr2RenderNodeSprite2dScene.js.map +1 -1
  748. package/dist/generated/renderJob/Tr2StepExecuteRenderNode.js +1 -1
  749. package/dist/generated/renderJob/Tr2StepExecuteRenderNode.js.map +1 -1
  750. package/dist/generated/renderJob/TriStepClearUav.js +2 -2
  751. package/dist/generated/renderJob/TriStepClearUav.js.map +1 -1
  752. package/dist/generated/renderJob/TriStepFilterVisibilityResults.js +1 -1
  753. package/dist/generated/renderJob/TriStepFilterVisibilityResults.js.map +1 -1
  754. package/dist/generated/renderJob/TriStepPythonCB.js +1 -1
  755. package/dist/generated/renderJob/TriStepPythonCB.js.map +1 -1
  756. package/dist/generated/renderJob/TriStepRemoteUpdate.js +1 -1
  757. package/dist/generated/renderJob/TriStepRemoteUpdate.js.map +1 -1
  758. package/dist/generated/renderJob/TriStepRenderAtlas.js +3 -3
  759. package/dist/generated/renderJob/TriStepRenderAtlas.js.map +1 -1
  760. package/dist/generated/renderJob/TriStepRenderDebug.js +2 -2
  761. package/dist/generated/renderJob/TriStepRenderDebug.js.map +1 -1
  762. package/dist/generated/renderJob/TriStepRenderEffect.js +2 -2
  763. package/dist/generated/renderJob/TriStepRenderEffect.js.map +1 -1
  764. package/dist/generated/renderJob/TriStepRenderFps.js +1 -1
  765. package/dist/generated/renderJob/TriStepRenderFps.js.map +1 -1
  766. package/dist/generated/renderJob/TriStepRenderLineGraph.js +1 -1
  767. package/dist/generated/renderJob/TriStepRenderLineGraph.js.map +1 -1
  768. package/dist/generated/renderJob/TriStepRenderObject.js +1 -1
  769. package/dist/generated/renderJob/TriStepRenderObject.js.map +1 -1
  770. package/dist/generated/renderJob/TriStepRenderPass.js +1 -1
  771. package/dist/generated/renderJob/TriStepRenderPass.js.map +1 -1
  772. package/dist/generated/renderJob/TriStepRenderScene.js +1 -1
  773. package/dist/generated/renderJob/TriStepRenderScene.js.map +1 -1
  774. package/dist/generated/renderJob/TriStepRenderSceneDebug.js +1 -1
  775. package/dist/generated/renderJob/TriStepRenderSceneDebug.js.map +1 -1
  776. package/dist/generated/renderJob/TriStepRenderTexture.js +2 -2
  777. package/dist/generated/renderJob/TriStepRenderTexture.js.map +1 -1
  778. package/dist/generated/renderJob/TriStepRunComputeShader.js +1 -1
  779. package/dist/generated/renderJob/TriStepRunComputeShader.js.map +1 -1
  780. package/dist/generated/renderJob/TriStepSetDebugRenderer.js +1 -1
  781. package/dist/generated/renderJob/TriStepSetDebugRenderer.js.map +1 -1
  782. package/dist/generated/renderJob/TriStepSetUpscalingContextID.js +1 -1
  783. package/dist/generated/renderJob/TriStepSetUpscalingContextID.js.map +1 -1
  784. package/dist/generated/renderJob/TriStepSetVariableStore.js +1 -1
  785. package/dist/generated/renderJob/TriStepSetVariableStore.js.map +1 -1
  786. package/dist/generated/renderJob/TriStepTestBlocking.js +1 -1
  787. package/dist/generated/renderJob/TriStepTestBlocking.js.map +1 -1
  788. package/dist/generated/renderJob/TriStepToggleCubemap.js +1 -1
  789. package/dist/generated/renderJob/TriStepToggleCubemap.js.map +1 -1
  790. package/dist/generated/renderJob/TriStepUpdate.js +1 -1
  791. package/dist/generated/renderJob/TriStepUpdate.js.map +1 -1
  792. package/dist/generated/sprite2d/Tr2Sprite2d.js +1 -1
  793. package/dist/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
  794. package/dist/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
  795. package/dist/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
  796. package/dist/generated/sprite2d/Tr2Sprite2dContainer.js +1 -1
  797. package/dist/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
  798. package/dist/generated/sprite2d/Tr2Sprite2dContainerBase.js +1 -1
  799. package/dist/generated/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
  800. package/dist/generated/sprite2d/Tr2Sprite2dDisplayList.js +4 -4
  801. package/dist/generated/sprite2d/Tr2Sprite2dDisplayList.js.map +1 -1
  802. package/dist/generated/sprite2d/Tr2Sprite2dFrame.js +1 -1
  803. package/dist/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
  804. package/dist/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
  805. package/dist/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
  806. package/dist/generated/sprite2d/Tr2Sprite2dLine.js +3 -3
  807. package/dist/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
  808. package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js +3 -3
  809. package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
  810. package/dist/generated/sprite2d/Tr2Sprite2dPickingMask.js +2 -2
  811. package/dist/generated/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
  812. package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js +4 -4
  813. package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
  814. package/dist/generated/sprite2d/Tr2Sprite2dRenderJob.js +1 -1
  815. package/dist/generated/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
  816. package/dist/generated/sprite2d/Tr2Sprite2dScene.js +6 -6
  817. package/dist/generated/sprite2d/Tr2Sprite2dScene.js.map +1 -1
  818. package/dist/generated/sprite2d/Tr2Sprite2dStretch.js +1 -1
  819. package/dist/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
  820. package/dist/generated/sprite2d/Tr2Sprite2dStretchVertical.js +1 -1
  821. package/dist/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
  822. package/dist/generated/sprite2d/Tr2Sprite2dTextObject.js +1 -1
  823. package/dist/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
  824. package/dist/generated/sprite2d/Tr2Sprite2dTexture.js +3 -3
  825. package/dist/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
  826. package/dist/generated/sprite2d/Tr2Sprite2dTransform.js +2 -2
  827. package/dist/generated/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
  828. package/dist/generated/sprite2d/Tr2Sprite2dVertex.js +2 -2
  829. package/dist/generated/sprite2d/Tr2Sprite2dVertex.js.map +1 -1
  830. package/dist/generated/sprite2d/Tr2SpriteObject.js +3 -3
  831. package/dist/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
  832. package/dist/generated/sprite2d/Tr2SpriteObjectBase.js +2 -2
  833. package/dist/generated/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
  834. package/dist/generated/sprite2d/Tr2TexturedSpriteObject.js +1 -1
  835. package/dist/generated/sprite2d/Tr2TexturedSpriteObject.js.map +1 -1
  836. package/dist/generated/trinityCore/ITr2FroxelFogSettings.js +2 -2
  837. package/dist/generated/trinityCore/ITr2FroxelFogSettings.js.map +1 -1
  838. package/dist/generated/trinityCore/ITr2ImpostorSource.js +3 -3
  839. package/dist/generated/trinityCore/ITr2ImpostorSource.js.map +1 -1
  840. package/dist/generated/trinityCore/ITr2InstanceData.js +2 -2
  841. package/dist/generated/trinityCore/ITr2InstanceData.js.map +1 -1
  842. package/dist/generated/trinityCore/Tr2AtlasTexture.js +2 -2
  843. package/dist/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
  844. package/dist/generated/trinityCore/Tr2BoundingLineSet.js +2 -2
  845. package/dist/generated/trinityCore/Tr2BoundingLineSet.js.map +1 -1
  846. package/dist/generated/trinityCore/Tr2CurveLineSet.js +5 -5
  847. package/dist/generated/trinityCore/Tr2CurveLineSet.js.map +1 -1
  848. package/dist/generated/trinityCore/Tr2DebugRenderer.js +4 -4
  849. package/dist/generated/trinityCore/Tr2DebugRenderer.js.map +1 -1
  850. package/dist/generated/trinityCore/Tr2Denoiser.js +2 -2
  851. package/dist/generated/trinityCore/Tr2Denoiser.js.map +1 -1
  852. package/dist/generated/trinityCore/Tr2GpuProfiler.js +2 -2
  853. package/dist/generated/trinityCore/Tr2GpuProfiler.js.map +1 -1
  854. package/dist/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
  855. package/dist/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
  856. package/dist/generated/trinityCore/Tr2GrannyPrimitiveSet.js +1 -1
  857. package/dist/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
  858. package/dist/generated/trinityCore/Tr2HostBitmap.js +3 -3
  859. package/dist/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
  860. package/dist/generated/trinityCore/Tr2ImpostorManager.js +2 -2
  861. package/dist/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
  862. package/dist/generated/trinityCore/Tr2KelvinColor.js +2 -2
  863. package/dist/generated/trinityCore/Tr2KelvinColor.js.map +1 -1
  864. package/dist/generated/trinityCore/Tr2LineGraph.js +3 -3
  865. package/dist/generated/trinityCore/Tr2LineGraph.js.map +1 -1
  866. package/dist/generated/trinityCore/Tr2LineSet.js +3 -3
  867. package/dist/generated/trinityCore/Tr2LineSet.js.map +1 -1
  868. package/dist/generated/trinityCore/Tr2ManipulationTool.js +5 -5
  869. package/dist/generated/trinityCore/Tr2ManipulationTool.js.map +1 -1
  870. package/dist/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
  871. package/dist/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
  872. package/dist/generated/trinityCore/Tr2PrimitiveSet.js +4 -4
  873. package/dist/generated/trinityCore/Tr2PrimitiveSet.js.map +1 -1
  874. package/dist/generated/trinityCore/Tr2PrimitiveText.js +3 -3
  875. package/dist/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
  876. package/dist/generated/trinityCore/Tr2ProjectBoundingBoxBracket.js +2 -2
  877. package/dist/generated/trinityCore/Tr2ProjectBoundingBoxBracket.js.map +1 -1
  878. package/dist/generated/trinityCore/Tr2QuadRenderer.js +2 -2
  879. package/dist/generated/trinityCore/Tr2QuadRenderer.js.map +1 -1
  880. package/dist/generated/trinityCore/Tr2ReflectionProbe.js +4 -4
  881. package/dist/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
  882. package/dist/generated/trinityCore/Tr2RingBuffer.js +2 -2
  883. package/dist/generated/trinityCore/Tr2RingBuffer.js.map +1 -1
  884. package/dist/generated/trinityCore/Tr2RotationTool.js +2 -2
  885. package/dist/generated/trinityCore/Tr2RotationTool.js.map +1 -1
  886. package/dist/generated/trinityCore/Tr2SSAO.js +2 -2
  887. package/dist/generated/trinityCore/Tr2SSAO.js.map +1 -1
  888. package/dist/generated/trinityCore/Tr2SSSSS.js +3 -3
  889. package/dist/generated/trinityCore/Tr2SSSSS.js.map +1 -1
  890. package/dist/generated/trinityCore/Tr2ScalingTool.js +3 -3
  891. package/dist/generated/trinityCore/Tr2ScalingTool.js.map +1 -1
  892. package/dist/generated/trinityCore/Tr2ShadowMap.js +2 -2
  893. package/dist/generated/trinityCore/Tr2ShadowMap.js.map +1 -1
  894. package/dist/generated/trinityCore/Tr2SolidSet.js +3 -3
  895. package/dist/generated/trinityCore/Tr2SolidSet.js.map +1 -1
  896. package/dist/generated/trinityCore/Tr2StreamingBitmapSaver.js +3 -3
  897. package/dist/generated/trinityCore/Tr2StreamingBitmapSaver.js.map +1 -1
  898. package/dist/generated/trinityCore/Tr2TextureAnimation.js +2 -2
  899. package/dist/generated/trinityCore/Tr2TextureAnimation.js.map +1 -1
  900. package/dist/generated/trinityCore/Tr2TextureArray.js +3 -3
  901. package/dist/generated/trinityCore/Tr2TextureArray.js.map +1 -1
  902. package/dist/generated/trinityCore/Tr2TextureAtlas.js +3 -3
  903. package/dist/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
  904. package/dist/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
  905. package/dist/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
  906. package/dist/generated/trinityCore/Tr2TextureReference.js +2 -2
  907. package/dist/generated/trinityCore/Tr2TextureReference.js.map +1 -1
  908. package/dist/generated/trinityCore/Tr2Transform.js +5 -5
  909. package/dist/generated/trinityCore/Tr2Transform.js.map +1 -1
  910. package/dist/generated/trinityCore/Tr2TransientTextureReference.js +2 -2
  911. package/dist/generated/trinityCore/Tr2TransientTextureReference.js.map +1 -1
  912. package/dist/generated/trinityCore/Tr2TranslationTool.js +2 -2
  913. package/dist/generated/trinityCore/Tr2TranslationTool.js.map +1 -1
  914. package/dist/generated/trinityCore/Tr2VolumetricsRenderer.js +2 -2
  915. package/dist/generated/trinityCore/Tr2VolumetricsRenderer.js.map +1 -1
  916. package/dist/generated/trinityCore/TriLineSet.js +4 -4
  917. package/dist/generated/trinityCore/TriLineSet.js.map +1 -1
  918. package/dist/generated/trinityCore/TriRigidOrientation.js +4 -4
  919. package/dist/generated/trinityCore/TriRigidOrientation.js.map +1 -1
  920. package/dist/generated/trinityCore/index.js +0 -5
  921. package/dist/generated/trinityCore/index.js.map +1 -1
  922. package/dist/generated/utilities/Float4x3.js +2 -2
  923. package/dist/generated/utilities/Float4x3.js.map +1 -1
  924. package/dist/generated/utilities/Obb.js +3 -3
  925. package/dist/generated/utilities/Obb.js.map +1 -1
  926. package/dist/generated/utilities/Tr2MaterialBoundsAdjustment.js +2 -2
  927. package/dist/generated/utilities/Tr2MaterialBoundsAdjustment.js.map +1 -1
  928. package/dist/index.js +131 -152
  929. package/dist/index.js.map +1 -1
  930. package/dist/particle/Tr2GpuSharedEmitter.js +43 -4
  931. package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
  932. package/dist/particle/Tr2GpuUniqueEmitter.js +7 -2
  933. package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
  934. package/dist/particle/Tr2ParticleAttractorForce.js +13 -3
  935. package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
  936. package/dist/particle/Tr2ParticleDirectForce.js +10 -3
  937. package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
  938. package/dist/particle/Tr2ParticleDragForce.js +10 -3
  939. package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
  940. package/dist/particle/Tr2ParticleElementData.js +2 -2
  941. package/dist/particle/Tr2ParticleElementData.js.map +1 -1
  942. package/dist/particle/Tr2ParticleElementDeclaration.js +7 -2
  943. package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
  944. package/dist/particle/Tr2ParticleElementDeclarationName.js +2 -2
  945. package/dist/particle/Tr2ParticleElementDeclarationName.js.map +1 -1
  946. package/dist/particle/Tr2ParticleFluidDragForce.js +13 -3
  947. package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
  948. package/dist/particle/Tr2ParticleSpring.js +13 -3
  949. package/dist/particle/Tr2ParticleSpring.js.map +1 -1
  950. package/dist/particle/Tr2ParticleVortexForce.js +13 -3
  951. package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
  952. package/dist/particle/particleElementBinding.js +12 -0
  953. package/dist/particle/particleElementBinding.js.map +1 -1
  954. package/dist/postProcess/BlurContext.js +2 -2
  955. package/dist/postProcess/BlurContext.js.map +1 -1
  956. package/dist/postProcess/GaussianData.js +4 -4
  957. package/dist/postProcess/GaussianData.js.map +1 -1
  958. package/dist/postProcess/Tr2PPBloomEffect.js +8 -2
  959. package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
  960. package/dist/postProcess/Tr2PPColorCorrectionEffect.js +2 -2
  961. package/dist/postProcess/Tr2PPColorCorrectionEffect.js.map +1 -1
  962. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +17 -1
  963. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
  964. package/dist/postProcess/Tr2PPDesaturateEffect.js +1 -1
  965. package/dist/postProcess/Tr2PPDesaturateEffect.js.map +1 -1
  966. package/dist/postProcess/Tr2PPDynamicExposureEffect.js +1 -1
  967. package/dist/postProcess/Tr2PPDynamicExposureEffect.js.map +1 -1
  968. package/dist/postProcess/Tr2PPEffect.js +2 -2
  969. package/dist/postProcess/Tr2PPEffect.js.map +1 -1
  970. package/dist/postProcess/Tr2PPFadeEffect.js +2 -2
  971. package/dist/postProcess/Tr2PPFadeEffect.js.map +1 -1
  972. package/dist/postProcess/Tr2PPFilmGrainEffect.js +1 -1
  973. package/dist/postProcess/Tr2PPFilmGrainEffect.js.map +1 -1
  974. package/dist/postProcess/Tr2PPFogEffect.js +4 -4
  975. package/dist/postProcess/Tr2PPFogEffect.js.map +1 -1
  976. package/dist/postProcess/Tr2PPGenericEffect.js +8 -1
  977. package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
  978. package/dist/postProcess/Tr2PPGodRaysEffect.js +2 -2
  979. package/dist/postProcess/Tr2PPGodRaysEffect.js.map +1 -1
  980. package/dist/postProcess/Tr2PPLutEffect.js +1 -1
  981. package/dist/postProcess/Tr2PPLutEffect.js.map +1 -1
  982. package/dist/postProcess/Tr2PPSignalLossEffect.js +1 -1
  983. package/dist/postProcess/Tr2PPSignalLossEffect.js.map +1 -1
  984. package/dist/postProcess/Tr2PPTaaEffect.js +11 -1
  985. package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
  986. package/dist/postProcess/Tr2PPTonemappingEffect.js +6 -1
  987. package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
  988. package/dist/postProcess/Tr2PPVignetteEffect.js +3 -3
  989. package/dist/postProcess/Tr2PPVignetteEffect.js.map +1 -1
  990. package/dist/postProcess/Tr2PostProcess.js +7 -2
  991. package/dist/postProcess/Tr2PostProcess.js.map +1 -1
  992. package/dist/postProcess/Tr2PostProcess2.js +149 -2
  993. package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
  994. package/dist/postProcess/Tr2PostProcessAttributes.js +94 -5
  995. package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  996. package/dist/renderJob/Tr2RenderJobs.js +36 -2
  997. package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
  998. package/dist/renderJob/TriRenderJob.js +61 -2
  999. package/dist/renderJob/TriRenderJob.js.map +1 -1
  1000. package/dist/renderJob/TriRenderStep.js +22 -2
  1001. package/dist/renderJob/TriRenderStep.js.map +1 -1
  1002. package/dist/renderJob/TriStepClear.js +20 -2
  1003. package/dist/renderJob/TriStepClear.js.map +1 -1
  1004. package/dist/renderJob/TriStepCopyRenderTarget.js +52 -1
  1005. package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
  1006. package/dist/renderJob/TriStepEnableWireframeMode.js +10 -1
  1007. package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
  1008. package/dist/renderJob/TriStepGenerateMipMaps.js +10 -1
  1009. package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
  1010. package/dist/renderJob/TriStepPopDepthStencil.js +7 -1
  1011. package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
  1012. package/dist/renderJob/TriStepPopProjection.js +7 -1
  1013. package/dist/renderJob/TriStepPopProjection.js.map +1 -1
  1014. package/dist/renderJob/TriStepPopRenderTarget.js +13 -1
  1015. package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
  1016. package/dist/renderJob/TriStepPopViewTransform.js +7 -1
  1017. package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
  1018. package/dist/renderJob/TriStepPopViewport.js +7 -1
  1019. package/dist/renderJob/TriStepPopViewport.js.map +1 -1
  1020. package/dist/renderJob/TriStepPresentSwapChain.js +13 -1
  1021. package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
  1022. package/dist/renderJob/TriStepPushDepthStencil.js +18 -1
  1023. package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
  1024. package/dist/renderJob/TriStepPushProjection.js +7 -1
  1025. package/dist/renderJob/TriStepPushProjection.js.map +1 -1
  1026. package/dist/renderJob/TriStepPushRenderTarget.js +10 -1
  1027. package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
  1028. package/dist/renderJob/TriStepPushViewTransform.js +7 -1
  1029. package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
  1030. package/dist/renderJob/TriStepPushViewport.js +7 -1
  1031. package/dist/renderJob/TriStepPushViewport.js.map +1 -1
  1032. package/dist/renderJob/TriStepRemoteSync.js +18 -1
  1033. package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
  1034. package/dist/renderJob/TriStepResolve.js +14 -1
  1035. package/dist/renderJob/TriStepResolve.js.map +1 -1
  1036. package/dist/renderJob/TriStepRunJob.js +13 -1
  1037. package/dist/renderJob/TriStepRunJob.js.map +1 -1
  1038. package/dist/renderJob/TriStepSetDepthStencil.js +13 -1
  1039. package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
  1040. package/dist/renderJob/TriStepSetProjection.js +15 -1
  1041. package/dist/renderJob/TriStepSetProjection.js.map +1 -1
  1042. package/dist/renderJob/TriStepSetRenderState.js +22 -2
  1043. package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
  1044. package/dist/renderJob/TriStepSetRenderTarget.js +13 -1
  1045. package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
  1046. package/dist/renderJob/TriStepSetStdRndStates.js +19 -1
  1047. package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
  1048. package/dist/renderJob/TriStepSetView.js +30 -3
  1049. package/dist/renderJob/TriStepSetView.js.map +1 -1
  1050. package/dist/renderJob/TriStepSetViewport.js +18 -1
  1051. package/dist/renderJob/TriStepSetViewport.js.map +1 -1
  1052. package/dist/renderJob/TriStepSetVisualizationMode.js +20 -1
  1053. package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
  1054. package/dist/shader/Tr2Effect.js +219 -4
  1055. package/dist/shader/Tr2Effect.js.map +1 -1
  1056. package/dist/shader/Tr2Material.js +43 -2
  1057. package/dist/shader/Tr2Material.js.map +1 -1
  1058. package/dist/shader/index.js +1 -11
  1059. package/dist/shader/index.js.map +1 -1
  1060. package/dist/shader/material/Tr2EffectLibraryParameters.js +9 -2
  1061. package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
  1062. package/dist/shader/material/Tr2EffectParam.js +2 -2
  1063. package/dist/shader/material/Tr2EffectParam.js.map +1 -1
  1064. package/dist/shader/material/Tr2EffectPassParameters.js +25 -2
  1065. package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
  1066. package/dist/shader/material/Tr2EffectTechniqueInputs.js +2 -2
  1067. package/dist/shader/material/Tr2EffectTechniqueInputs.js.map +1 -1
  1068. package/dist/shader/material/Tr2MaterialStageInput.js +17 -2
  1069. package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
  1070. package/dist/shader/material/Tr2SharedConstantBuffers.js +2 -2
  1071. package/dist/shader/material/Tr2SharedConstantBuffers.js.map +1 -1
  1072. package/dist/shader/parameter/CjsParameter.js +95 -1
  1073. package/dist/shader/parameter/CjsParameter.js.map +1 -1
  1074. package/dist/shader/parameter/CjsVectorParameter.js +20 -0
  1075. package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
  1076. package/dist/shader/parameter/Tr2ConstantEffectParameter.js +2 -2
  1077. package/dist/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
  1078. package/dist/shader/parameter/Tr2FloatParameter.js +54 -1
  1079. package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
  1080. package/dist/shader/parameter/Tr2GeometryBufferParameter.js +41 -2
  1081. package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  1082. package/dist/shader/parameter/Tr2Matrix4Parameter.js +56 -2
  1083. package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  1084. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +55 -1
  1085. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  1086. package/dist/shader/parameter/Tr2TextureAnimationParameter.js +36 -1
  1087. package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  1088. package/dist/shader/parameter/Tr2Vector2Parameter.js +89 -3
  1089. package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  1090. package/dist/shader/parameter/Tr2Vector3Parameter.js +98 -3
  1091. package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  1092. package/dist/shader/parameter/Tr2Vector4Parameter.js +108 -3
  1093. package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  1094. package/dist/shader/parameter/TriFloatArrayParameter.js +27 -1
  1095. package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  1096. package/dist/shader/parameter/TriTextureParameter.js +86 -2
  1097. package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
  1098. package/dist/shader/parameter/TriTransformParameter.js +29 -6
  1099. package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
  1100. package/dist/shader/parameter/TriVariableParameter.js +40 -2
  1101. package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
  1102. package/dist/shader/parameter/TriVector4.js +5 -3
  1103. package/dist/shader/parameter/TriVector4.js.map +1 -1
  1104. package/dist/shader/reflection/Tr2ShaderOption.js +8 -3
  1105. package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
  1106. package/dist/shader/sampler/Tr2SamplerOverride.js +2 -2
  1107. package/dist/shader/sampler/Tr2SamplerOverride.js.map +1 -1
  1108. package/dist/shader/sampler/Tr2SamplerOverrideData.js +2 -2
  1109. package/dist/shader/sampler/Tr2SamplerOverrideData.js.map +1 -1
  1110. package/dist/shader/support/CjsVariableStore.js +140 -0
  1111. package/dist/shader/support/CjsVariableStore.js.map +1 -1
  1112. package/dist/shader/support/Tr2DataTextureManager.js +2 -2
  1113. package/dist/shader/support/Tr2DataTextureManager.js.map +1 -1
  1114. package/dist/shader/support/Tr2EffectStateManager.js +2 -2
  1115. package/dist/shader/support/Tr2EffectStateManager.js.map +1 -1
  1116. package/dist/shader/support/Tr2ShaderBuffer.js +17 -2
  1117. package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
  1118. package/dist/sprite2d/Tr2Sprite2dClipRect.js +2 -2
  1119. package/dist/sprite2d/Tr2Sprite2dClipRect.js.map +1 -1
  1120. package/dist/sprite2d/Tr2Sprite2dD3DVertex.js +2 -2
  1121. package/dist/sprite2d/Tr2Sprite2dD3DVertex.js.map +1 -1
  1122. package/dist/sprite2d/Tr2Sprite2dLineTraceVertex.js +4 -4
  1123. package/dist/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
  1124. package/dist/sprite2d/Tr2Sprite2dTriangle.js +2 -2
  1125. package/dist/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
  1126. package/dist/sprite2d/Tr2Sprite2dVertexBase.js +5 -5
  1127. package/dist/sprite2d/Tr2Sprite2dVertexBase.js.map +1 -1
  1128. package/dist/trinityCore/CjsBatchManager.js +67 -1
  1129. package/dist/trinityCore/CjsBatchManager.js.map +1 -1
  1130. package/dist/trinityCore/GrannyBoneOffset.js +56 -5
  1131. package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
  1132. package/dist/trinityCore/ITriRenderBatchAccumulator.js +90 -2
  1133. package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
  1134. package/dist/trinityCore/Tr2DepthStencil.js +3 -3
  1135. package/dist/trinityCore/Tr2DepthStencil.js.map +1 -1
  1136. package/dist/trinityCore/Tr2DirectInstanceData.js +22 -3
  1137. package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
  1138. package/dist/trinityCore/Tr2ExpressionTermInfo.js +23 -2
  1139. package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
  1140. package/dist/trinityCore/Tr2GpuBuffer.js +8 -3
  1141. package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
  1142. package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +143 -14
  1143. package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
  1144. package/dist/trinityCore/Tr2InstancedMesh.js +54 -2
  1145. package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
  1146. package/dist/trinityCore/Tr2MaterialParameterStore.js +7 -2
  1147. package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
  1148. package/dist/trinityCore/Tr2Mesh.js +38 -1
  1149. package/dist/trinityCore/Tr2Mesh.js.map +1 -1
  1150. package/dist/trinityCore/Tr2MeshArea.js +80 -2
  1151. package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
  1152. package/dist/trinityCore/Tr2MeshBase.js +101 -5
  1153. package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
  1154. package/dist/trinityCore/Tr2PerObjectData.js +10 -0
  1155. package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
  1156. package/dist/trinityCore/Tr2PickType.js +33 -0
  1157. package/dist/trinityCore/Tr2PickType.js.map +1 -0
  1158. package/dist/trinityCore/Tr2PrimaryRenderContext.js +2 -2
  1159. package/dist/trinityCore/Tr2PrimaryRenderContext.js.map +1 -1
  1160. package/dist/trinityCore/Tr2RenderBatch.js +139 -2
  1161. package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
  1162. package/dist/trinityCore/Tr2RenderContext.js +275 -4
  1163. package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
  1164. package/dist/trinityCore/Tr2RenderTarget.js +3 -3
  1165. package/dist/trinityCore/Tr2RenderTarget.js.map +1 -1
  1166. package/dist/trinityCore/Tr2RuntimeGpuBuffer.js +2 -2
  1167. package/dist/trinityCore/Tr2RuntimeGpuBuffer.js.map +1 -1
  1168. package/dist/trinityCore/Tr2RuntimeInstanceData.js +182 -3
  1169. package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
  1170. package/dist/trinityCore/Tr2SerializedMorphAnimation.js +2 -2
  1171. package/dist/trinityCore/Tr2SerializedMorphAnimation.js.map +1 -1
  1172. package/dist/trinityCore/Tr2ShLightingManager.js +397 -0
  1173. package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
  1174. package/dist/trinityCore/Tr2SwapChain.js +2 -2
  1175. package/dist/trinityCore/Tr2SwapChain.js.map +1 -1
  1176. package/dist/trinityCore/Tr2VariableStore.js +28 -2
  1177. package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
  1178. package/dist/trinityCore/Tr2VisibilityResults.js +9 -4
  1179. package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
  1180. package/dist/trinityCore/TriDevice.js +8 -3
  1181. package/dist/trinityCore/TriDevice.js.map +1 -1
  1182. package/dist/trinityCore/TriFloat.js +2 -2
  1183. package/dist/trinityCore/TriFloat.js.map +1 -1
  1184. package/dist/trinityCore/TriFrustum.js +24 -17
  1185. package/dist/trinityCore/TriFrustum.js.map +1 -1
  1186. package/dist/trinityCore/TriFrustumOrtho.js +2 -2
  1187. package/dist/trinityCore/TriFrustumOrtho.js.map +1 -1
  1188. package/dist/trinityCore/TriObserverLocal.js +46 -3
  1189. package/dist/trinityCore/TriObserverLocal.js.map +1 -1
  1190. package/dist/trinityCore/TriProjection.js +88 -34
  1191. package/dist/trinityCore/TriProjection.js.map +1 -1
  1192. package/dist/trinityCore/TriRect.js +14 -2
  1193. package/dist/trinityCore/TriRect.js.map +1 -1
  1194. package/dist/trinityCore/TriRenderBatchAccumulator.js +48 -2
  1195. package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
  1196. package/dist/trinityCore/TriRenderBatchMap.js +47 -1
  1197. package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
  1198. package/dist/trinityCore/TriSettings.js +40 -2
  1199. package/dist/trinityCore/TriSettings.js.map +1 -1
  1200. package/dist/trinityCore/TriTorque.js +4 -4
  1201. package/dist/trinityCore/TriTorque.js.map +1 -1
  1202. package/dist/trinityCore/TriVariable.js +32 -2
  1203. package/dist/trinityCore/TriVariable.js.map +1 -1
  1204. package/dist/trinityCore/TriView.js +19 -4
  1205. package/dist/trinityCore/TriView.js.map +1 -1
  1206. package/dist/trinityCore/TriViewport.js +14 -2
  1207. package/dist/trinityCore/TriViewport.js.map +1 -1
  1208. package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +4 -4
  1209. package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
  1210. package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
  1211. package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
  1212. package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
  1213. package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
  1214. package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +31 -7
  1215. package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
  1216. package/dist/trinityCore/binding/TriValueBinding.js +648 -0
  1217. package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
  1218. package/dist/trinityCore/index.js +11 -2
  1219. package/dist/trinityCore/index.js.map +1 -1
  1220. package/dist/trinityCore/pickRay.js +84 -0
  1221. package/dist/trinityCore/pickRay.js.map +1 -0
  1222. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +931 -0
  1223. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
  1224. package/dist/trinityCore/rawData/RawData.js +434 -0
  1225. package/dist/trinityCore/rawData/RawData.js.map +1 -0
  1226. package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
  1227. package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
  1228. package/dist/ui/Tr2PresentParameters.js +2 -2
  1229. package/dist/ui/Tr2PresentParameters.js.map +1 -1
  1230. package/dist/utilities/Range.js +55 -2
  1231. package/dist/utilities/Range.js.map +1 -1
  1232. package/docs/README.md +88 -0
  1233. package/docs/architecture.md +162 -0
  1234. package/docs/concepts/eve-runtime-behavior.md +86 -0
  1235. package/docs/concepts/generated-class-lifecycle.md +116 -0
  1236. package/docs/reference/api.md +76 -0
  1237. package/docs/reference/classes/eve-runtime.md +106 -0
  1238. package/docs/reference/classes/trinity-core.md +26 -0
  1239. package/docs/reference/implementation-status.md +104 -0
  1240. package/docs/reference/main-semantic-extraction.md +104 -0
  1241. package/package.json +33 -26
  1242. package/dist/eve/DecalVSPerObjectData.js +0 -34
  1243. package/dist/eve/DecalVSPerObjectData.js.map +0 -1
  1244. package/dist/eve/EveBannerItem.js +0 -43
  1245. package/dist/eve/EveBannerItem.js.map +0 -1
  1246. package/dist/eve/EveBannerLight.js.map +0 -1
  1247. package/dist/eve/EveBannerSet.js +0 -109
  1248. package/dist/eve/EveBannerSet.js.map +0 -1
  1249. package/dist/eve/EveBasicPerObjectData.js +0 -31
  1250. package/dist/eve/EveBasicPerObjectData.js.map +0 -1
  1251. package/dist/eve/EveBoosterSet2.js.map +0 -1
  1252. package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
  1253. package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
  1254. package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
  1255. package/dist/eve/EveHazeSet.js +0 -72
  1256. package/dist/eve/EveHazeSet.js.map +0 -1
  1257. package/dist/eve/EveHazeSetLight.js.map +0 -1
  1258. package/dist/eve/EveLocator2.js.map +0 -1
  1259. package/dist/eve/EveLocatorSets.js.map +0 -1
  1260. package/dist/eve/EveParticleDirectForce.js.map +0 -1
  1261. package/dist/eve/EveParticleDragForce.js.map +0 -1
  1262. package/dist/eve/EveParticleSpring.js.map +0 -1
  1263. package/dist/eve/EvePerObjectPSData.js +0 -29
  1264. package/dist/eve/EvePerObjectPSData.js.map +0 -1
  1265. package/dist/eve/EvePerObjectVSData.js +0 -29
  1266. package/dist/eve/EvePerObjectVSData.js.map +0 -1
  1267. package/dist/eve/EvePlaneLight.js.map +0 -1
  1268. package/dist/eve/EvePlaneSet.js +0 -104
  1269. package/dist/eve/EvePlaneSet.js.map +0 -1
  1270. package/dist/eve/EvePlaneSetItem.js +0 -45
  1271. package/dist/eve/EvePlaneSetItem.js.map +0 -1
  1272. package/dist/eve/EveSpaceObjectDecal.js +0 -150
  1273. package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
  1274. package/dist/eve/EveSpaceObjectPSData.js +0 -73
  1275. package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
  1276. package/dist/eve/EveSpaceObjectVSData.js +0 -79
  1277. package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
  1278. package/dist/eve/EveSpacePerObjectData.js +0 -97
  1279. package/dist/eve/EveSpacePerObjectData.js.map +0 -1
  1280. package/dist/eve/EveSpherePinPerObjectData.js +0 -37
  1281. package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
  1282. package/dist/eve/EveSpotlightLight.js.map +0 -1
  1283. package/dist/eve/EveSpotlightSet.js +0 -98
  1284. package/dist/eve/EveSpotlightSet.js.map +0 -1
  1285. package/dist/eve/EveSpriteLight.js.map +0 -1
  1286. package/dist/eve/EveSpriteLineSet.js +0 -74
  1287. package/dist/eve/EveSpriteLineSet.js.map +0 -1
  1288. package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
  1289. package/dist/eve/EveSpriteSet.js +0 -115
  1290. package/dist/eve/EveSpriteSet.js.map +0 -1
  1291. package/dist/eve/EveTrailsSet.js.map +0 -1
  1292. package/dist/eve/Locator.js.map +0 -1
  1293. package/dist/eve/LocatorData.js.map +0 -1
  1294. package/dist/eve/ProcessLifetimeData.js.map +0 -1
  1295. package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
  1296. package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
  1297. package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
  1298. package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
  1299. package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
  1300. package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
  1301. package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
  1302. package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
  1303. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
  1304. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
  1305. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
  1306. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
  1307. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
  1308. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
  1309. package/dist/generated/eve/EveCamera.js +0 -264
  1310. package/dist/generated/eve/EveCamera.js.map +0 -1
  1311. package/dist/generated/eve/EveEntity.js +0 -81
  1312. package/dist/generated/eve/EveEntity.js.map +0 -1
  1313. package/dist/generated/eve/attachment/decal/index.js +0 -2
  1314. package/dist/generated/eve/attachment/decal/index.js.map +0 -1
  1315. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
  1316. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
  1317. package/dist/generated/eve/attachment/haze/index.js +0 -2
  1318. package/dist/generated/eve/attachment/haze/index.js.map +0 -1
  1319. package/dist/generated/eve/attachment/index.js +0 -5
  1320. package/dist/generated/eve/attachment/index.js.map +0 -1
  1321. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
  1322. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
  1323. package/dist/generated/eve/attachment/spotlights/index.js +0 -2
  1324. package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
  1325. package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
  1326. package/dist/generated/eve/attachment/sprites/index.js +0 -2
  1327. package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
  1328. package/dist/generated/eve/attachment/turrets/enums.js +0 -32
  1329. package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
  1330. package/dist/generated/eve/attachment/turrets/index.js +0 -2
  1331. package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
  1332. package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
  1333. package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
  1334. package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
  1335. package/dist/generated/eve/child/EveChildLink.js.map +0 -1
  1336. package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
  1337. package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
  1338. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
  1339. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
  1340. package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
  1341. package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
  1342. package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
  1343. package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
  1344. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
  1345. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
  1346. package/dist/generated/eve/child/behaviors/Wander.js +0 -92
  1347. package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
  1348. package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
  1349. package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
  1350. package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
  1351. package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
  1352. package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
  1353. package/dist/generated/eve/child/modifiers/index.js +0 -5
  1354. package/dist/generated/eve/child/modifiers/index.js.map +0 -1
  1355. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
  1356. package/dist/generated/eve/child/procedural/index.js +0 -10
  1357. package/dist/generated/eve/child/procedural/index.js.map +0 -1
  1358. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
  1359. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
  1360. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
  1361. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
  1362. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
  1363. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
  1364. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
  1365. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
  1366. package/dist/generated/eve/child/procedural/selection/index.js +0 -9
  1367. package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
  1368. package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
  1369. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
  1370. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
  1371. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
  1372. package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
  1373. package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
  1374. package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
  1375. package/dist/generated/eve/distribution/index.js +0 -19
  1376. package/dist/generated/eve/distribution/index.js.map +0 -1
  1377. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
  1378. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
  1379. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
  1380. package/dist/generated/eve/distribution/placement/index.js +0 -4
  1381. package/dist/generated/eve/distribution/placement/index.js.map +0 -1
  1382. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
  1383. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
  1384. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
  1385. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
  1386. package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
  1387. package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
  1388. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
  1389. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
  1390. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
  1391. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
  1392. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
  1393. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
  1394. package/dist/generated/eve/distribution/spawners/index.js +0 -7
  1395. package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
  1396. package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
  1397. package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
  1398. package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
  1399. package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
  1400. package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
  1401. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
  1402. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
  1403. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
  1404. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
  1405. package/dist/generated/eve/fxAttributes/index.js +0 -3
  1406. package/dist/generated/eve/fxAttributes/index.js.map +0 -1
  1407. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
  1408. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
  1409. package/dist/generated/eve/overlays/index.js +0 -2
  1410. package/dist/generated/eve/overlays/index.js.map +0 -1
  1411. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
  1412. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
  1413. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
  1414. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
  1415. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
  1416. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
  1417. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
  1418. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
  1419. package/dist/generated/eve/perObjectData/index.js +0 -5
  1420. package/dist/generated/eve/perObjectData/index.js.map +0 -1
  1421. package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
  1422. package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
  1423. package/dist/generated/eve/scene/EvePickingContext.js +0 -43
  1424. package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
  1425. package/dist/generated/eve/scene/EveSceneStaticParticles.js +0 -173
  1426. package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
  1427. package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
  1428. package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
  1429. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
  1430. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
  1431. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
  1432. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
  1433. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
  1434. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
  1435. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
  1436. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
  1437. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
  1438. package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
  1439. package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
  1440. package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
  1441. package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
  1442. package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
  1443. package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
  1444. package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
  1445. package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
  1446. package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
  1447. package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
  1448. package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
  1449. package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
  1450. package/dist/generated/eve/socket/index.js +0 -10
  1451. package/dist/generated/eve/socket/index.js.map +0 -1
  1452. package/dist/generated/eve/spaceObject/EvePlanet.js +0 -47
  1453. package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
  1454. package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
  1455. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
  1456. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
  1457. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js +0 -129
  1458. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
  1459. package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
  1460. package/dist/generated/eve/ui/EveSpherePin.js +0 -94
  1461. package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
  1462. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
  1463. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
  1464. package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
  1465. package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
  1466. package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
  1467. package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
  1468. package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
  1469. package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
  1470. package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
  1471. package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
  1472. package/dist/generated/trinityCore/TriValueBinding.js +0 -249
  1473. package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
  1474. package/dist/shader/Tr2Shader.js +0 -150
  1475. package/dist/shader/Tr2Shader.js.map +0 -1
  1476. package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
  1477. package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
  1478. package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
  1479. package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
  1480. package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
  1481. package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
  1482. package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
  1483. package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
  1484. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
  1485. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
  1486. package/dist/shader/reflection/Tr2EffectResource.js +0 -63
  1487. package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
  1488. package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
  1489. package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
  1490. package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
  1491. package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
  1492. package/dist/shader/reflection/Tr2Pass.js +0 -46
  1493. package/dist/shader/reflection/Tr2Pass.js.map +0 -1
  1494. package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
  1495. package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
  1496. package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
  1497. package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
  1498. /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
  1499. /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"EveChildMesh.js","sources":["../../../../src/eve/child/EveChildMesh.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildMesh.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildMesh.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildMesh_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\r\nimport { quat } from \"@carbonenginejs/core-math/quat\";\r\nimport { sph3 } from \"@carbonenginejs/core-math/sph3\";\r\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\r\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { TriBatchType } from \"@carbonenginejs/runtime-const/graphics\";\r\nimport { EveChildTransform, applyTransformModifiers } from \"./EveChildTransform.js\";\r\nimport { Origin } from \"../../generated/eve/child/enums.js\";\r\nimport { ReflectionMode } from \"../../generated/eve/enums.js\";\r\nimport { EveComponentType, ShouldReflect } from \"../EveComponentTypes.js\";\r\nimport { Tr2RenderReason } from \"../../generated/trinityCore/enums.js\";\r\nimport { Tr2Lod } from \"../EveLODHelper.js\";\r\nimport { Tr2PerObjectData } from \"../../trinityCore/Tr2PerObjectData.js\";\r\n\r\n// Module scratch for the hot per-frame visibility/shadow paths (allocation\r\n// rules: copy-into, never allocate per call; child updates run sequentially so\r\n// the scratch is non-reentrant by construction).\r\nconst INVERSE_WORLD_SCRATCH = mat4.create();\r\nconst LOCAL_VIEW_SCRATCH = vec3.create();\r\nconst INSTANCE_SPHERE_SCRATCH = vec4.create();\r\nconst SHADOW_SPHERE_SCRATCH = vec4.create();\r\nconst BOX_CORNER_SCRATCH = vec3.create();\r\nconst BOX_QUERY_SCRATCH = { min: vec3.create(), max: vec3.create() };\r\nconst ZERO_VEC3 = vec3.create();\r\n\r\n\r\n@type.define({ className: \"EveChildMesh\", family: \"eve/child\" })\r\nexport class EveChildMesh extends EveChildTransform\r\n{\r\n #isMorphsBaked = false;\r\n\r\n #morphAnimationBuffer = [];\r\n\r\n #morphAnimationOffsets = {\r\n runtimeEvaluatedOffset: 0,\r\n runtimeEvaluatedCount: 0,\r\n bakedOffset: 0,\r\n bakedCount: 0,\r\n allCount: 0\r\n };\r\n\r\n // Carbon m_isVisible/m_instancesVisible/m_hasUpdated/m_activationStrength:\r\n // runtime-only frame state (never persisted; Carbon keeps them out of the\r\n // Blue surface too).\r\n #isVisible = false;\r\n\r\n #instancesVisible = false;\r\n\r\n #hasUpdated = false;\r\n\r\n #activationStrength = 1;\r\n\r\n // Carbon m_worldBoundingBox/m_worldBoundingSphere: world-space bounds\r\n // refreshed by UpdateAsyncronous; the sphere is invalid while radius <= 0.\r\n #worldBoundsMin = vec3.create();\r\n\r\n #worldBoundsMax = vec3.create();\r\n\r\n #worldBoundsValid = false;\r\n\r\n #worldBoundingSphere = vec4.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"ReflectionMode\")\r\n reflectionMode = 3;\r\n\r\n @io.persist\r\n @type.list(\"IEveChildTransformModifier\")\r\n transformModifiers = [];\r\n\r\n @io.read\r\n @type.mat4\r\n worldTransform = mat4.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n castShadow = false;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.objectRef(\"Tr2MeshBase\")\r\n mesh = null;\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.quat\r\n rotation = quat.create();\r\n\r\n @io.persist\r\n @type.vec3\r\n translation = vec3.create();\r\n\r\n @io.persist\r\n @type.vec3\r\n scaling = vec3.fromValues(1, 1, 1);\r\n\r\n @io.persist\r\n @type.mat4\r\n localTransform = mat4.create();\r\n\r\n @io.persist\r\n @type.list(\"EveSpaceObjectDecal\")\r\n decals = [];\r\n\r\n @io.persist\r\n @type.boolean\r\n staticTransform = false;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.objectRef(\"Tr2GrannyAnimation\")\r\n animationUpdater = null;\r\n\r\n @io.persist\r\n @type.list(\"IEveSpaceObjectAttachment\")\r\n attachments = [];\r\n\r\n @io.persist\r\n @type.list(\"Tr2Light\")\r\n lights = [];\r\n\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Tr2Lod\")\r\n lowestLodVisible = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n minScreenSize = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n sortValueOffset = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n sortValueScale = 1;\r\n\r\n @io.read\r\n @type.float32\r\n currentScreenSize = -1;\r\n\r\n @io.read\r\n @type.float32\r\n currentInstanceScreenSize = -1;\r\n\r\n @io.persist\r\n @type.boolean\r\n useSRT = true;\r\n\r\n @io.persist\r\n @type.boolean\r\n updateAnimation = true;\r\n\r\n // SOF-authored placement/instance values; persisted so the values\r\n // interchange reproduces Carbon's hidden child placement state.\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Origin\")\r\n origin = 0;\r\n\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.array(\"mat4\")\r\n instanceTransforms = [];\r\n\r\n @io.persist\r\n @type.string\r\n sofDna = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofParentHullName = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofLocatorSetName = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofLocatorIndex = \"\";\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n if (this.staticTransform)\r\n {\r\n this.RebuildLocalTransform();\r\n }\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n Setup(scale = null, rotation = null, translation = null, lowestLodVisible = null)\r\n {\r\n super.Setup(scale, rotation, translation, lowestLodVisible);\r\n if (lowestLodVisible !== null && lowestLodVisible !== undefined)\r\n {\r\n this.lowestLodVisible = Number(lowestLodVisible) | 0;\r\n }\r\n return this.localTransform;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetInstanceTransforms(instances)\r\n {\r\n const next = [];\r\n for (const transform of instances ?? [])\r\n {\r\n if (!transform || transform.length !== 16)\r\n {\r\n throw new TypeError(\"EveChildMesh instance transforms must contain 16 values\");\r\n }\r\n next.push(mat4.clone(transform));\r\n }\r\n this.instanceTransforms = next;\r\n return this.instanceTransforms;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetInstanceTransforms()\r\n {\r\n return this.instanceTransforms;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetMesh(mesh)\r\n {\r\n this.mesh = mesh ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetOrigin(origin)\r\n {\r\n this.origin = Number(origin) | 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetScale(scale)\r\n {\r\n vec3.copy(this.scaling, scale);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetReflectionMode(mode)\r\n {\r\n this.reflectionMode = Number(mode) | 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetCastShadow(castShadow)\r\n {\r\n this.castShadow = !!castShadow;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetMinScreenSize(minScreenSize)\r\n {\r\n this.minScreenSize = Number(minScreenSize);\r\n }\r\n\r\n /** Carbon EveChildMesh::GetLocalToWorldTransform (cpp:1047-1050); the\r\n * optional out follows the EveChildInstancedMeshes copy-out shape. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalToWorldTransform(out = null)\r\n {\r\n if (out)\r\n {\r\n return mat4.copy(out, this.worldTransform);\r\n }\r\n return this.worldTransform;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddTransformModifier(modifier)\r\n {\r\n this.transformModifiers.push(modifier);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddDecal(decal)\r\n {\r\n this.decals.push(decal);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddAttachment(attachment)\r\n {\r\n this.attachments.push(attachment);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n ClearAttachments()\r\n {\r\n this.attachments.length = 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddLight(light)\r\n {\r\n this.lights.push(light);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n ClearLights()\r\n {\r\n this.lights.length = 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n IsAlwaysOn()\r\n {\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetShaderOption(name, value)\r\n {\r\n this.mesh?.SetShaderOption?.(name, value);\r\n for (const decal of this.decals)\r\n {\r\n decal?.SetShaderOption?.(name, value);\r\n }\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.SetShaderOption?.(name, value);\r\n }\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetMorphTargetNames()\r\n {\r\n return this.mesh?.GetMorphTargetNames?.() ?? [];\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetMorphTargetWeight(name, weight)\r\n {\r\n this.mesh?.SetMorphTargetWeight?.(name, weight);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetMorphTargetWeight(name)\r\n {\r\n return this.mesh?.GetMorphTargetWeight?.(name) ?? 0;\r\n }\r\n\r\n /** Rebuilds the source-backed indexed morph buffer from manual and animation weights. */\r\n @impl.adapted\r\n UpdateMorphAnimationBuffer()\r\n {\r\n const names = this.mesh?.GetMorphTargetNames?.();\r\n\r\n this.#morphAnimationOffsets = {\r\n runtimeEvaluatedOffset: 0,\r\n runtimeEvaluatedCount: 0,\r\n bakedOffset: 0,\r\n bakedCount: 0,\r\n allCount: 0\r\n };\r\n\r\n if (!Array.isArray(names))\r\n {\r\n this.#morphAnimationBuffer = [];\r\n return 0;\r\n }\r\n\r\n const manual = this.mesh?.GetMorphAnimations?.();\r\n const records = names.map((name, index) => ({\r\n index,\r\n weight: ReadMorphWeight(\r\n ReadNamedMorph(manual, name) ?? this.mesh?.GetMorphTargetWeight?.(name) ?? 0,\r\n name,\r\n \"mesh\"\r\n ),\r\n baked: !!(this.mesh?.IsBakedMorph?.(index)\r\n ?? this.mesh?.GetBakedMorphTarget?.(name)\r\n ?? false)\r\n }));\r\n\r\n if (this.animationUpdater?.IsInitialized?.())\r\n {\r\n const animated = this.animationUpdater.GetMorphAnimations?.();\r\n\r\n for (const record of records)\r\n {\r\n const name = names[record.index];\r\n const value = ReadNamedMorph(animated, name);\r\n\r\n if (value !== undefined)\r\n {\r\n record.weight = ReadMorphWeight(value, name, \"animation\");\r\n }\r\n }\r\n }\r\n\r\n const runtime = [];\r\n const baked = [];\r\n const inactive = [];\r\n\r\n for (const record of records)\r\n {\r\n if (record.weight >= 0.001)\r\n {\r\n (record.baked ? baked : runtime).push(record);\r\n }\r\n else\r\n {\r\n inactive.push(record);\r\n }\r\n }\r\n\r\n this.#morphAnimationBuffer = [ ...runtime, ...baked, ...inactive ];\r\n this.#morphAnimationOffsets.runtimeEvaluatedCount = runtime.length;\r\n this.#morphAnimationOffsets.bakedOffset = runtime.length;\r\n this.#morphAnimationOffsets.bakedCount = baked.length;\r\n this.#morphAnimationOffsets.allCount = runtime.length + baked.length;\r\n return this.#morphAnimationOffsets.allCount;\r\n }\r\n\r\n /** Returns detached active indexed morph records for the native filter. */\r\n @impl.adapted\r\n GetMorphTargets(filter = 2)\r\n {\r\n const normalized = NormalizeMorphFilter(filter);\r\n let offset = 0;\r\n let count = 0;\r\n\r\n if (normalized === 2)\r\n {\r\n count = this.#morphAnimationOffsets.allCount;\r\n }\r\n else if (normalized === 0)\r\n {\r\n offset = this.#isMorphsBaked\r\n ? this.#morphAnimationOffsets.runtimeEvaluatedOffset\r\n : 0;\r\n count = this.#isMorphsBaked\r\n ? this.#morphAnimationOffsets.runtimeEvaluatedCount\r\n : this.#morphAnimationOffsets.allCount;\r\n }\r\n else\r\n {\r\n offset = this.#morphAnimationOffsets.bakedOffset;\r\n count = this.#morphAnimationOffsets.bakedCount;\r\n }\r\n\r\n return this.#morphAnimationBuffer.slice(offset, offset + count)\r\n .map(value => ({ index: value.index, weight: value.weight }));\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetSofSourceLocator()\r\n {\r\n return null;\r\n }\r\n\r\n /**\r\n * Sync-side frame update (Carbon EveChildMesh::UpdateSyncronous,\r\n * cpp:1002-1045). Carbon's body is entirely audio-geometry registration\r\n * (cpp:1004-1010, 1044 - engine/audio-owned, omitted) plus animationUpdater\r\n * re-binding and PrePhysicsAnimation stepping (cpp:1011-1042 - skipped: the\r\n * JS animation seam is absent, there is no Tr2GrannyAnimation runtime), so\r\n * the port is a documented frame-contract no-op.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Audio-geometry registration is engine-owned and the animationUpdater branches await the JS animation seam; nothing else remains in Carbon's body.\")\r\n UpdateSyncronous(_updateContext, _params)\r\n {\r\n }\r\n\r\n /**\r\n * Per-frame async update (Carbon EveChildMesh::UpdateAsyncronous,\r\n * cpp:903-1000): rebuild the world transform from the parent, fold the\r\n * transform modifiers over it, store the activation strength, refresh the\r\n * attachment lights, the morph buffer, and the world bounds. The GPU ring\r\n * buffer advance/per-object-data invalidation (cpp:905-909), audio geometry\r\n * (cpp:920-930), parent VS/PS struct refresh (cpp:932-960), and the skinned\r\n * GetBounds overload are not modelled, hence @impl.adapted.\r\n * @param {Object} updateContext - frame context (EveUpdateContext), threaded to modifiers\r\n * @param {EveChildUpdateParams} params - localToWorldTransform + boneCount/bones\r\n * @returns {Float32Array} worldTransform\r\n */\r\n @carbon.method\r\n @carbon.contextual([\"camera\"])\r\n @impl.adapted\r\n UpdateAsyncronous(updateContext, params)\r\n {\r\n const parentTransform = params?.localToWorldTransform;\r\n\r\n if (parentTransform && parentTransform.length === 16)\r\n {\r\n this.UpdateTransform(parentTransform);\r\n }\r\n\r\n applyTransformModifiers(\r\n this,\r\n updateContext,\r\n params?.boneCount ?? 0,\r\n params?.bones ?? null\r\n );\r\n\r\n this.#activationStrength = Number(params?.activationStrength ?? 1);\r\n\r\n // Carbon (cpp:962-970): attachments refresh their lights from the updated\r\n // world transform. Bones come from GetBoneTransforms (animationUpdater) -\r\n // null until the JS animation seam exists.\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.UpdateLights?.(this.worldTransform, null, 0, this.#activationStrength, 0);\r\n }\r\n\r\n this.UpdateMorphAnimationBuffer();\r\n\r\n // Carbon (cpp:974-997): world AABB from the mesh bounds, world sphere\r\n // enclosing it. The skinned GetBounds overload (animation transforms +\r\n // morph targets, cpp:977-982) awaits the animation seam; Tr2MeshBase::\r\n // GetBounds itself is a recorded gap (CARBON-PARITY-REVIEW-2026-07-23.md\r\n // section 2.3), hence the duck call (Tr2InstancedMesh implements it).\r\n this.#worldBoundsValid = false;\r\n const bounds = this.mesh?.GetBounds?.();\r\n\r\n if (bounds?.min && bounds?.max)\r\n {\r\n this.#worldBoundsMin[0] = this.#worldBoundsMin[1] = this.#worldBoundsMin[2] = Infinity;\r\n this.#worldBoundsMax[0] = this.#worldBoundsMax[1] = this.#worldBoundsMax[2] = -Infinity;\r\n for (let index = 0; index < 8; index++)\r\n {\r\n vec3.set(\r\n BOX_CORNER_SCRATCH,\r\n index & 1 ? bounds.max[0] : bounds.min[0],\r\n index & 2 ? bounds.max[1] : bounds.min[1],\r\n index & 4 ? bounds.max[2] : bounds.min[2]\r\n );\r\n vec3.transformMat4(BOX_CORNER_SCRATCH, BOX_CORNER_SCRATCH, this.worldTransform);\r\n vec3.min(this.#worldBoundsMin, this.#worldBoundsMin, BOX_CORNER_SCRATCH);\r\n vec3.max(this.#worldBoundsMax, this.#worldBoundsMax, BOX_CORNER_SCRATCH);\r\n }\r\n this.#worldBoundsValid = true;\r\n sph3.fromBounds(this.#worldBoundingSphere, this.#worldBoundsMin, this.#worldBoundsMax);\r\n }\r\n else\r\n {\r\n sph3.set(this.#worldBoundingSphere, 0, 0, 0, 0);\r\n }\r\n\r\n this.#hasUpdated = true;\r\n return this.worldTransform;\r\n }\r\n\r\n /**\r\n * Frame visibility + LOD state (Carbon EveChildMesh::UpdateVisibility,\r\n * cpp:366-463): screen size via the frustum, invLodFactor scaling, the\r\n * minScreenSize/lowestLodVisible gates, the per-instance visibility gate,\r\n * and the attachment/decal visibility fan-out. Carbon recomputes the local\r\n * mesh bounds here (cpp:380-394) but consumes only the world sphere/box\r\n * computed in UpdateAsyncronous, so the dead recompute is skipped. The\r\n * raytracing branch (cpp:450-462) is engine-owned and omitted.\r\n * @param {Object} updateContext - frame context (frustum + invLodFactor ducks)\r\n * @param {Float32Array} _parentTransform\r\n * @param {Number} parentLod - parent Tr2Lod level\r\n * @returns {Boolean} isVisible\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Bone-fed decal/attachment bounds await the animation seam and the raytracing refresh is engine-owned; the LOD/screen-size math is ported.\")\r\n UpdateVisibility(updateContext, _parentTransform = null, parentLod = Tr2Lod.TR2_LOD_HIGH)\r\n {\r\n this.#isVisible = false;\r\n this.currentScreenSize = -1;\r\n this.#instancesVisible = false;\r\n this.currentInstanceScreenSize = -1;\r\n\r\n if (!this.#hasUpdated)\r\n {\r\n return false;\r\n }\r\n\r\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\r\n const invLodFactor = Number(updateContext?.GetInvLodFactor?.() ?? updateContext?.invLodFactor) || 1;\r\n\r\n if (this.mesh)\r\n {\r\n this.currentScreenSize = Number(frustum?.GetPixelSizeAccross?.(this.#worldBoundingSphere) ?? Infinity) || 0;\r\n\r\n // Cached Tr2InstancedMesh downcast in Carbon (m_instancedMesh); the JS\r\n // port duck-types the instanced surface instead.\r\n const instanced = typeof this.mesh.GetInstanceBoundsClosestToPoint === \"function\";\r\n let instanceBounds = null;\r\n\r\n if (instanced)\r\n {\r\n // Carbon: TransformCoord(frustum.m_viewPos, Inverse(m_worldTransform))\r\n // - a single-matrix point transform (no composition; TransformCoord\r\n // maps to vec3.transformMat4 unchanged per the math conventions).\r\n if (!mat4.invert(INVERSE_WORLD_SCRATCH, this.worldTransform))\r\n {\r\n mat4.identity(INVERSE_WORLD_SCRATCH);\r\n }\r\n const viewPos = frustum?.m_viewPos ?? frustum?.viewPos ?? frustum?.GetViewPosition?.() ?? ZERO_VEC3;\r\n vec3.transformMat4(LOCAL_VIEW_SCRATCH, viewPos, INVERSE_WORLD_SCRATCH);\r\n instanceBounds = this.mesh.GetInstanceBoundsClosestToPoint(LOCAL_VIEW_SCRATCH);\r\n }\r\n\r\n if (instanceBounds)\r\n {\r\n // Carbon: instanceBounds.Transform(m_worldTransform) - single-matrix\r\n // sphere transform, ported via sph3.transformMat4.\r\n sph3.set(\r\n INSTANCE_SPHERE_SCRATCH,\r\n instanceBounds.center[0],\r\n instanceBounds.center[1],\r\n instanceBounds.center[2],\r\n instanceBounds.radius\r\n );\r\n sph3.transformMat4(INSTANCE_SPHERE_SCRATCH, INSTANCE_SPHERE_SCRATCH, this.worldTransform);\r\n this.currentInstanceScreenSize = Number(frustum?.GetPixelSizeAccross?.(INSTANCE_SPHERE_SCRATCH) ?? Infinity) || 0;\r\n this.mesh.UseWithScreenSize?.(this.currentInstanceScreenSize, INSTANCE_SPHERE_SCRATCH[3]);\r\n }\r\n else\r\n {\r\n // Carbon uses std::numeric_limits<float>::max(); Infinity keeps the\r\n // instance gate permanently open the same way.\r\n this.currentInstanceScreenSize = Infinity;\r\n this.mesh.UseWithScreenSize?.(this.currentScreenSize, this.#worldBoundingSphere[3]);\r\n }\r\n\r\n this.currentScreenSize *= invLodFactor;\r\n this.currentInstanceScreenSize *= invLodFactor;\r\n\r\n BOX_QUERY_SCRATCH.min = this.#worldBoundsMin;\r\n BOX_QUERY_SCRATCH.max = this.#worldBoundsMax;\r\n const boxVisible = this.#worldBoundsValid &&\r\n (frustum?.IsBoxVisible ? !!frustum.IsBoxVisible(BOX_QUERY_SCRATCH) : true);\r\n\r\n if (boxVisible)\r\n {\r\n this.#isVisible = parentLod >= this.lowestLodVisible && this.currentScreenSize >= this.minScreenSize;\r\n this.#instancesVisible = this.#isVisible &&\r\n this.currentInstanceScreenSize >= EveChildMesh.#instanceScreenSizeThreshold;\r\n }\r\n }\r\n\r\n // Carbon (cpp:427-435): attachments always refresh visibility; bones from\r\n // GetBoneTransforms await the animation seam.\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.UpdateVisibility?.(updateContext, this.worldTransform, null, 0);\r\n }\r\n\r\n if (this.#isVisible)\r\n {\r\n for (const decal of this.decals)\r\n {\r\n // Carbon (cpp:441-446) feeds animated bone matrices to the decal first\r\n // - skipped until the JS animation seam exists. Carbon passes\r\n // &m_parentData (per-object shading struct, GPU seam); the owning\r\n // child stands in as the duck-typed parent.\r\n decal?.UpdateVisibility?.(updateContext, this);\r\n }\r\n }\r\n\r\n return this.#isVisible;\r\n }\r\n\r\n /**\r\n * Collects this child (and its decals) as renderables (Carbon\r\n * EveChildMesh::GetRenderables, cpp:571-616): instanced meshes contribute\r\n * only while the per-instance gate passed; decals ride along through their\r\n * duck-typed renderable collectors (mesh cache is engine-owned, passed null\r\n * as in EveSpaceObject2.GetRenderables).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The decal mesh cache is engine-owned (null placeholder); collection structure is ported.\")\r\n GetRenderables(out = [])\r\n {\r\n if (!this.#isVisible)\r\n {\r\n return out;\r\n }\r\n\r\n const instanced = typeof this.mesh?.GetInstanceBoundsClosestToPoint === \"function\";\r\n\r\n if (instanced)\r\n {\r\n if (this.#instancesVisible)\r\n {\r\n out.push(this);\r\n if (this.decals.length && this.mesh.GetGeometryResource?.())\r\n {\r\n for (const decal of this.decals)\r\n {\r\n decal?.GetInstancedRenderables?.(out, null, this.mesh, this.currentInstanceScreenSize);\r\n }\r\n }\r\n }\r\n }\r\n else\r\n {\r\n out.push(this);\r\n const geometryResource = this.mesh?.GetGeometryResource?.();\r\n if (this.decals.length && geometryResource)\r\n {\r\n for (const decal of this.decals)\r\n {\r\n decal?.GetRenderables?.(out, null, geometryResource, this.currentScreenSize);\r\n }\r\n }\r\n }\r\n\r\n return out;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetBoundingSphere (cpp:618-627): the realized world\r\n * sphere, valid only after an update produced bounds (radius > 0). */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(out = vec4.create(), _query = 0)\r\n {\r\n if (this.#worldBoundingSphere[3] > 0)\r\n {\r\n vec4.copy(out, this.#worldBoundingSphere);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::HasTransparentBatches (cpp:629-637). */\r\n @carbon.method\r\n @impl.implemented\r\n HasTransparentBatches()\r\n {\r\n if (this.display && this.mesh)\r\n {\r\n return (this.mesh.GetAreas?.(TriBatchType.TRIBATCHTYPE_TRANSPARENT)?.length ?? 0) > 0;\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::IsVisible (cpp:639-650): sphere-in-frustum plus the\r\n * estimated pixel size against the context visibility threshold. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Frustum and threshold arrive via the duck-typed update context instead of renderer state.\")\r\n IsVisible(updateContext)\r\n {\r\n if (this.#worldBoundingSphere[3] > 0)\r\n {\r\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\r\n if (frustum?.IsSphereVisible?.(this.#worldBoundingSphere) !== false)\r\n {\r\n const method = frustum?.GetPixelSizeAccrossEst ?? frustum?.GetPixelSizeAccross;\r\n const size = Number(typeof method === \"function\" ? method.call(frustum, this.#worldBoundingSphere) : 0) || 0;\r\n const threshold = Number(updateContext?.GetVisibilityThreshold?.() ?? updateContext?.visibilityThreshold) || 0;\r\n return size >= threshold;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetBatches (cpp:652-670): the mesh delegates per\r\n * batch type and activated attachments recurse. Carbon also passes\r\n * min(currentInstanceScreenSize, currentScreenSize) for LOD selection and a\r\n * reverse-winding flag from Determinant(m_worldTransform) < 0; both are\r\n * resolved by the engine at batch realization in the GPU-free port.\r\n * Returns whether any batch was committed (JS addition; Carbon returns\r\n * void). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Screen-size LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.\")\r\n GetBatches(batches, batchType, perObjectData, reason = Tr2RenderReason.TR2RENDERREASON_NORMAL)\r\n {\r\n if (!this.display)\r\n {\r\n return false;\r\n }\r\n\r\n let committed = false;\r\n\r\n if (this.mesh)\r\n {\r\n committed = this.mesh.GetBatches(batches, this.mesh.GetAreas(batchType), perObjectData) === true;\r\n }\r\n\r\n if (this.#activationStrength !== 0)\r\n {\r\n for (const attachment of this.attachments)\r\n {\r\n committed = attachment?.GetBatches?.(batches, batchType, perObjectData, reason) === true || committed;\r\n }\r\n }\r\n\r\n return committed;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetShadowBatches (cpp:672-681): the OPAQUE areas\r\n * only, gated on display/mesh/hasUpdated. shadowPixelSize and the\r\n * reverse-winding flag are engine-resolved at realization. Returns whether\r\n * any batch was committed (JS addition; Carbon returns void). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"shadowPixelSize LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.\")\r\n GetShadowBatches(batches, perObjectData, _shadowPixelSize)\r\n {\r\n if (this.display && this.mesh && this.#hasUpdated)\r\n {\r\n return this.mesh.GetBatches(batches, this.mesh.GetAreas(TriBatchType.TRIBATCHTYPE_OPAQUE), perObjectData) === true;\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetSortValue (cpp:787-792): view distance scaled by\r\n * sortValueScale plus sortValueOffset. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon reads the Tr2Renderer view-position global; the relocated camera state arrives via the threaded render context.\")\r\n GetSortValue(renderContext = null)\r\n {\r\n const viewPosition = renderContext?.GetViewPosition?.();\r\n const x = (viewPosition?.[0] ?? 0) - this.worldTransform[12];\r\n const y = (viewPosition?.[1] ?? 0) - this.worldTransform[13];\r\n const z = (viewPosition?.[2] ?? 0) - this.worldTransform[14];\r\n return Math.hypot(x, y, z) * this.sortValueScale + this.sortValueOffset;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetShadowPerObjectData (cpp:794-797) forwards the\r\n * shadow pass to the same per-object record. */\r\n @carbon.method\r\n @impl.implemented\r\n GetShadowPerObjectData(accumulator = null)\r\n {\r\n return this.GetPerObjectData(accumulator);\r\n }\r\n\r\n /** Carbon EveChildMesh::GetPerObjectData (cpp:799-843) uploads bone/morph\r\n * ring-buffer offsets and allocates Tr2PerObjectDataWithPersistentBuffers;\r\n * those fills are GPU ring-buffer state, so the GPU-free record carries the\r\n * live object reference for the engine serializer to pull current values at\r\n * realization (mirrors EveSpaceObject2.GetPerObjectData). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Persistent VS/PS device buffers and bone/morph ring offsets are engine-owned; the record carries the object reference the engine serializer consumes.\")\r\n GetPerObjectData(accumulator = null)\r\n {\r\n const data = typeof accumulator?.Allocate === \"function\"\r\n ? accumulator.Allocate(Tr2PerObjectData)\r\n : new Tr2PerObjectData();\r\n data.object = this;\r\n return data;\r\n }\r\n\r\n /**\r\n * Carbon's two IsCastingShadow overloads, dispatched on the second argument:\r\n * a position vector (length >= 3) selects the sphere-overlap overload\r\n * (cpp:338-364); anything else is the shadow-frustum overload (cpp:295-336),\r\n * whose Carbon out-param float& sizeInShadow becomes the optional trailing\r\n * length-1 array (out-params last).\r\n * @param {Object} cameraFrustum\r\n * @param {Object|Float32Array} shadowFrustumOrPosition\r\n * @param {Number} renderReasonOrRadius\r\n * @param {Array|Number} sizeInShadowOutOrRenderReason\r\n * @returns {Boolean}\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Overload dispatch by argument shape and a length-1 out array replace C++ overloading and the float& out-param; the shadow math is ported.\")\r\n IsCastingShadow(cameraFrustum, shadowFrustumOrPosition, renderReasonOrRadius, sizeInShadowOutOrRenderReason = null)\r\n {\r\n if (!this.display || !this.castShadow || !this.#hasUpdated)\r\n {\r\n return false;\r\n }\r\n\r\n const positionOverload = typeof shadowFrustumOrPosition?.length === \"number\" &&\r\n shadowFrustumOrPosition.length >= 3;\r\n const renderReason = positionOverload\r\n ? Number(sizeInShadowOutOrRenderReason ?? Tr2RenderReason.TR2RENDERREASON_NORMAL)\r\n : Number(renderReasonOrRadius ?? Tr2RenderReason.TR2RENDERREASON_NORMAL);\r\n\r\n if (renderReason === Tr2RenderReason.TR2RENDERREASON_REFLECTION &&\r\n !ShouldReflect(this.reflectionMode))\r\n {\r\n return false;\r\n }\r\n\r\n if (positionOverload)\r\n {\r\n // Carbon (cpp:338-364): squared distance between the world sphere and\r\n // the query sphere against their combined radius.\r\n if (!this.GetBoundingSphere(SHADOW_SPHERE_SCRATCH))\r\n {\r\n return false;\r\n }\r\n const position = shadowFrustumOrPosition;\r\n const radius = Number(renderReasonOrRadius) || 0;\r\n const dx = SHADOW_SPHERE_SCRATCH[0] - position[0];\r\n const dy = SHADOW_SPHERE_SCRATCH[1] - position[1];\r\n const dz = SHADOW_SPHERE_SCRATCH[2] - position[2];\r\n const combined = radius + SHADOW_SPHERE_SCRATCH[3];\r\n return dx * dx + dy * dy + dz * dz - combined * combined < 0;\r\n }\r\n\r\n // Carbon (cpp:295-336): shadow-frustum visibility, then the size in the\r\n // shadow map from the instance sphere nearest the shadow eye (falling back\r\n // to the whole world sphere).\r\n const shadowFrustum = shadowFrustumOrPosition;\r\n const sizeOut = sizeInShadowOutOrRenderReason;\r\n if (sizeOut)\r\n {\r\n sizeOut[0] = 0;\r\n }\r\n\r\n if (this.#worldBoundingSphere[3] <= 0)\r\n {\r\n return false;\r\n }\r\n\r\n let sizeInShadow = 0;\r\n if (shadowFrustum?.IsVisible?.(cameraFrustum, this.#worldBoundingSphere))\r\n {\r\n let sphere = this.#worldBoundingSphere;\r\n if (typeof this.mesh?.GetInstanceBoundsClosestToPoint === \"function\")\r\n {\r\n // Carbon: TransformCoord(shadowFrustum.GetEyePos(), Inverse(\r\n // m_worldTransform)) - single-matrix point transform (no composition).\r\n if (!mat4.invert(INVERSE_WORLD_SCRATCH, this.worldTransform))\r\n {\r\n mat4.identity(INVERSE_WORLD_SCRATCH);\r\n }\r\n const eyePos = shadowFrustum?.GetEyePos?.() ?? ZERO_VEC3;\r\n vec3.transformMat4(LOCAL_VIEW_SCRATCH, eyePos, INVERSE_WORLD_SCRATCH);\r\n const instanceBounds = this.mesh.GetInstanceBoundsClosestToPoint(LOCAL_VIEW_SCRATCH);\r\n if (instanceBounds)\r\n {\r\n // Carbon: instanceBounds.Transform(m_worldTransform) - single-matrix\r\n // sphere transform.\r\n sph3.set(\r\n INSTANCE_SPHERE_SCRATCH,\r\n instanceBounds.center[0],\r\n instanceBounds.center[1],\r\n instanceBounds.center[2],\r\n instanceBounds.radius\r\n );\r\n sph3.transformMat4(INSTANCE_SPHERE_SCRATCH, INSTANCE_SPHERE_SCRATCH, this.worldTransform);\r\n sphere = INSTANCE_SPHERE_SCRATCH;\r\n }\r\n }\r\n sizeInShadow = Number(shadowFrustum?.GetSizeInShadow?.(sphere)) || 0;\r\n }\r\n\r\n if (sizeOut)\r\n {\r\n sizeOut[0] = sizeInShadow;\r\n }\r\n return sizeInShadow > 5;\r\n }\r\n\r\n /** Carbon EveChildMesh::ChangeLOD (cpp:1052-1054) is an intentional no-op. */\r\n @carbon.method\r\n @impl.implemented\r\n ChangeLOD(_lod)\r\n {\r\n }\r\n\r\n /** Carbon EveChildMesh::RegisterComponents (cpp:239-269): LightOwner when\r\n * lights are authored; ReflectionRenderable (ShouldReflect) and ShadowCaster\r\n * (castShadow) only when a mesh is present; then forwards the attachments.\r\n * Gate m_display. \"MeshMorph\" stays OUT-OF-BAND: Carbon registers it at\r\n * baked-morph need inside BakeMorphs (cpp:1404-1409), not here - the JS\r\n * BakeMorphs stub is the site that would register it when the GPU morph\r\n * bake is ported. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.display)\r\n {\r\n if (this.lights.length)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n\r\n if (this.mesh !== null)\r\n {\r\n if (ShouldReflect(this.reflectionMode))\r\n {\r\n registry.RegisterComponent(EveComponentType.ReflectionRenderable, this);\r\n }\r\n if (this.castShadow)\r\n {\r\n registry.RegisterComponent(EveComponentType.ShadowCaster, this);\r\n }\r\n }\r\n\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.Register?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildMesh::UnRegisterComponents (cpp:275-290): forwards the\r\n * attachments only (own components were already removed by\r\n * EveEntity::UnRegister, EveEntity.cpp:90); no display re-check.\r\n * UnregisterAudioGeometry (cpp:277) is audio-engine-owned and unported. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.UnRegister?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildMesh::GetLights (cpp:1638-1667): submits m_lights to the\r\n * light manager. Awaits the LightOwner consumption pass (Tr2LightManager\r\n * submission is unported); presence satisfies the \"LightOwner\" duck\r\n * contract. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetLights(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.GetLights is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon EveChildMesh::GetPickingBatches (cpp:862-889) maps Tr2PickTypes\r\n * flags onto batch-type collections with transparent/additive special\r\n * casing; the pick-type flag enum is not yet ported, so the surface fails\r\n * loudly rather than mis-collecting. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetPickingBatches(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.GetPickingBatches is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon EveChildMesh::InitializeAnimation (cpp:217-232) wires the\r\n * animationUpdater to the mesh geometry resource; awaits the JS animation\r\n * seam (no Tr2GrannyAnimation runtime). */\r\n @carbon.method\r\n @impl.notImplemented\r\n InitializeAnimation(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.InitializeAnimation is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon BakeMorphs runs the merge-morphs GPU compute pass; GPU-owned. */\r\n @carbon.method\r\n @impl.notImplemented\r\n BakeMorphs(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.BakeMorphs is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon UnbakeMorphs releases the baked-morph GPU allocation; GPU-owned. */\r\n @carbon.method\r\n @impl.notImplemented\r\n UnbakeMorphs(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.UnbakeMorphs is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon IsMeshBaked reads the baked-morph GPU allocation state; GPU-owned. */\r\n @carbon.method\r\n @impl.notImplemented\r\n IsMeshBaked(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.IsMeshBaked is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n // Carbon s_instanceScreenSizeThreshold (EveChildMesh.cpp:22).\r\n static #instanceScreenSizeThreshold = 1;\r\n\r\n static Origin = Origin;\r\n\r\n static ReflectionMode = ReflectionMode;\r\n\r\n static Tr2Lod = Tr2Lod;\r\n\r\n}\r\n\r\nfunction ReadNamedMorph(values, name)\r\n{\r\n if (values instanceof Map)\r\n {\r\n return values.has(name) ? values.get(name) : undefined;\r\n }\r\n\r\n if (values && typeof values === \"object\" && Object.hasOwn(values, name))\r\n {\r\n return values[name];\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction ReadMorphWeight(value, name, source)\r\n{\r\n const weight = Number(value && typeof value === \"object\" ? value.weight : value);\r\n\r\n if (!Number.isFinite(weight))\r\n {\r\n throw new TypeError(`EveChildMesh ${source} morph target \"${name}\" weight must be finite`);\r\n }\r\n\r\n return weight;\r\n}\r\n\r\nfunction NormalizeMorphFilter(value)\r\n{\r\n if (typeof value === \"string\")\r\n {\r\n const normalized = value.toLowerCase();\r\n if (normalized === \"runtime\" || normalized === \"runtime_evaluated\") return 0;\r\n if (normalized === \"baked\") return 1;\r\n if (normalized === \"all\") return 2;\r\n }\r\n\r\n const filter = Number(value);\r\n if (filter === 0 || filter === 1 || filter === 2) return filter;\r\n throw new TypeError(`Unsupported EveChildMesh morph target filter \"${value}\"`);\r\n}\r\n"],"names":["INVERSE_WORLD_SCRATCH","mat4","create","LOCAL_VIEW_SCRATCH","vec3","INSTANCE_SPHERE_SCRATCH","vec4","SHADOW_SPHERE_SCRATCH","BOX_CORNER_SCRATCH","BOX_QUERY_SCRATCH","min","max","ZERO_VEC3","_EveChildMesh","_identity","EveChildMesh","EveChildTransform","e","_init_reflectionMode","_init_extra_reflectionMode","_init_transformModifiers","_init_extra_transformModifiers","_init_worldTransform","_init_extra_worldTransform","_init_display","_init_extra_display","_init_castShadow","_init_extra_castShadow","_init_mesh","_init_extra_mesh","_init_name","_init_extra_name","_init_rotation","_init_extra_rotation","_init_translation","_init_extra_translation","_init_scaling","_init_extra_scaling","_init_localTransform","_init_extra_localTransform","_init_decals","_init_extra_decals","_init_staticTransform","_init_extra_staticTransform","_init_animationUpdater","_init_extra_animationUpdater","_init_attachments","_init_extra_attachments","_init_lights","_init_extra_lights","_init_lowestLodVisible","_init_extra_lowestLodVisible","_init_minScreenSize","_init_extra_minScreenSize","_init_sortValueOffset","_init_extra_sortValueOffset","_init_sortValueScale","_init_extra_sortValueScale","_init_currentScreenSize","_init_extra_currentScreenSize","_init_currentInstanceScreenSize","_init_extra_currentInstanceScreenSize","_init_useSRT","_init_extra_useSRT","_init_updateAnimation","_init_extra_updateAnimation","_init_origin","_init_extra_origin","_init_instanceTransforms","_init_extra_instanceTransforms","_init_sofDna","_init_extra_sofDna","_init_sofParentHullName","_init_extra_sofParentHullName","_init_sofLocatorSetName","_init_extra_sofLocatorSetName","_init_sofLocatorIndex","_init_extra_sofLocatorIndex","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","schema","enum","list","read","boolean","objectRef","string","quat","float32","rebuild","array","carbon","method","impl","adapted","implemented","reason","contextual","notImplemented","constructor","args","runtimeEvaluatedOffset","runtimeEvaluatedCount","bakedOffset","bakedCount","allCount","reflectionMode","transformModifiers","worldTransform","display","castShadow","mesh","name","rotation","translation","scaling","fromValues","localTransform","decals","staticTransform","animationUpdater","attachments","lights","lowestLodVisible","minScreenSize","sortValueOffset","sortValueScale","currentScreenSize","currentInstanceScreenSize","useSRT","updateAnimation","origin","instanceTransforms","sofDna","sofParentHullName","sofLocatorSetName","sofLocatorIndex","Initialize","RebuildLocalTransform","Setup","scale","undefined","Number","SetInstanceTransforms","instances","next","transform","length","TypeError","push","clone","GetInstanceTransforms","SetMesh","SetOrigin","SetScale","copy","SetReflectionMode","mode","SetCastShadow","SetMinScreenSize","GetLocalToWorldTransform","out","GetName","SetName","String","AddTransformModifier","modifier","AddDecal","decal","AddAttachment","attachment","ClearAttachments","AddLight","light","ClearLights","IsAlwaysOn","SetShaderOption","value","GetMorphTargetNames","SetMorphTargetWeight","weight","GetMorphTargetWeight","UpdateMorphAnimationBuffer","names","Array","isArray","manual","GetMorphAnimations","records","map","index","ReadMorphWeight","ReadNamedMorph","baked","IsBakedMorph","GetBakedMorphTarget","IsInitialized","animated","record","runtime","inactive","GetMorphTargets","filter","normalized","NormalizeMorphFilter","offset","count","slice","GetSofSourceLocator","UpdateSyncronous","_updateContext","_params","UpdateAsyncronous","updateContext","params","parentTransform","localToWorldTransform","UpdateTransform","applyTransformModifiers","boneCount","bones","activationStrength","UpdateLights","bounds","GetBounds","Infinity","set","transformMat4","sph3","fromBounds","UpdateVisibility","_parentTransform","parentLod","Tr2Lod","TR2_LOD_HIGH","frustum","GetFrustum","invLodFactor","GetInvLodFactor","GetPixelSizeAccross","instanced","GetInstanceBoundsClosestToPoint","instanceBounds","invert","identity","viewPos","m_viewPos","GetViewPosition","center","radius","UseWithScreenSize","boxVisible","IsBoxVisible","GetRenderables","GetGeometryResource","GetInstancedRenderables","geometryResource","GetBoundingSphere","_query","HasTransparentBatches","GetAreas","TriBatchType","TRIBATCHTYPE_TRANSPARENT","IsVisible","IsSphereVisible","GetPixelSizeAccrossEst","size","call","threshold","GetVisibilityThreshold","visibilityThreshold","GetBatches","batches","batchType","perObjectData","Tr2RenderReason","TR2RENDERREASON_NORMAL","committed","GetShadowBatches","_shadowPixelSize","TRIBATCHTYPE_OPAQUE","GetSortValue","renderContext","viewPosition","x","y","z","Math","hypot","GetShadowPerObjectData","accumulator","GetPerObjectData","data","Allocate","Tr2PerObjectData","object","IsCastingShadow","cameraFrustum","shadowFrustumOrPosition","renderReasonOrRadius","sizeInShadowOutOrRenderReason","positionOverload","renderReason","TR2RENDERREASON_REFLECTION","ShouldReflect","position","dx","dy","dz","combined","shadowFrustum","sizeOut","sizeInShadow","sphere","eyePos","GetEyePos","GetSizeInShadow","ChangeLOD","_lod","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","ReflectionRenderable","ShadowCaster","Register","UnRegisterComponents","UnRegister","GetLights","_args","Error","GetPickingBatches","InitializeAnimation","BakeMorphs","UnbakeMorphs","IsMeshBaked","Origin","ReflectionMode","values","Map","has","get","Object","hasOwn","source","isFinite","toLowerCase"],"mappings":"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"}
1
+ {"version":3,"file":"EveChildMesh.js","sources":["../../../../src/eve/child/EveChildMesh.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildMesh.h\n// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildMesh.cpp\n// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildMesh_Blue.cpp\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\nimport { sph3 } from \"@carbonenginejs/runtime-utils/sph3\";\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\nimport { getBoneList } from \"../../trinityCore/Tr2GrannyAnimation.js\";\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { TriBatchType } from \"@carbonenginejs/runtime-utils/graphics\";\nimport { EveChildTransform, applyTransformModifiers } from \"./EveChildTransform.js\";\nimport { Origin } from \"../../generated/eve/child/enums.js\";\nimport { ReflectionMode } from \"../../generated/eve/enums.js\";\nimport { EveComponentType, ShouldReflect } from \"../EveComponentTypes.js\";\nimport { Tr2RenderReason } from \"../../generated/trinityCore/enums.js\";\nimport { Tr2Lod } from \"../EveLODHelper.js\";\nimport { Tr2PerObjectData } from \"../../trinityCore/Tr2PerObjectData.js\";\nimport { TR2_PICK_TYPE_DEFAULT, Tr2PickType } from \"../../trinityCore/Tr2PickType.js\";\nimport {\n createChildPerObjectRecords,\n inheritParentPerObjectData,\n stampChildTransforms\n} from \"../perObjectData/childPerObjectRecords.js\";\n\n// Module scratch for the hot per-frame visibility/shadow paths (allocation\n// rules: copy-into, never allocate per call; child updates run sequentially so\n// the scratch is non-reentrant by construction).\nconst INVERSE_WORLD_SCRATCH = mat4.create();\nconst LOCAL_VIEW_SCRATCH = vec3.create();\nconst INSTANCE_SPHERE_SCRATCH = vec4.create();\nconst SHADOW_SPHERE_SCRATCH = vec4.create();\nconst BOX_CORNER_SCRATCH = vec3.create();\nconst BOX_QUERY_SCRATCH = { min: vec3.create(), max: vec3.create() };\nconst ZERO_VEC3 = vec3.create();\n\n// Carbon's (nullptr, 0) bone result - frozen so callers cannot mutate it.\nconst NO_BONE_TRANSFORMS = Object.freeze({ bones: null, boneCount: 0 });\n\n\n/**\n * Space-object child that draws one mesh under its own transform, owning its\n * decals, lights, attachments, morph weights, world bounds and screen-size LOD\n * state.\n */\n@type.define({ className: \"EveChildMesh\", family: \"eve/child\" })\nexport class EveChildMesh extends EveChildTransform\n{\n #isMorphsBaked = false;\n\n #morphAnimationBuffer = [];\n\n #morphAnimationOffsets = {\n runtimeEvaluatedOffset: 0,\n runtimeEvaluatedCount: 0,\n bakedOffset: 0,\n bakedCount: 0,\n allCount: 0\n };\n\n // Carbon m_isVisible/m_instancesVisible/m_hasUpdated/m_activationStrength:\n // runtime-only frame state (never persisted; Carbon keeps them out of the\n // Blue surface too).\n #isVisible = false;\n\n #instancesVisible = false;\n\n #hasUpdated = false;\n\n #activationStrength = 1;\n\n /** m_vsData / m_psData - this child's PERSISTENT per-object record pair. */\n #perObjectData = createChildPerObjectRecords();\n\n /** Carbon's local `lastWorldTransform` (cpp:912), kept across frames here. */\n #lastWorldTransform = mat4.create();\n\n // Carbon m_worldBoundingBox/m_worldBoundingSphere: world-space bounds\n // refreshed by UpdateAsyncronous; the sphere is invalid while radius <= 0.\n #worldBoundsMin = vec3.create();\n\n #worldBoundsMax = vec3.create();\n\n #worldBoundsValid = false;\n\n #worldBoundingSphere = vec4.create();\n\n @io.notify\n @io.persist\n @type.int32\n @schema.enum(\"ReflectionMode\")\n reflectionMode = 3;\n\n @io.persist\n @type.list(\"IEveChildTransformModifier\")\n transformModifiers = [];\n\n @io.read\n @type.mat4\n worldTransform = mat4.create();\n\n @io.notify\n @io.persist\n @type.boolean\n display = true;\n\n @io.notify\n @io.persist\n @type.boolean\n castShadow = false;\n\n @io.notify\n @io.persist\n @type.objectRef(\"Tr2MeshBase\")\n mesh = null;\n\n @io.persist\n @type.string\n name = \"\";\n\n @io.persist\n @type.quat\n rotation = quat.create();\n\n @io.persist\n @type.vec3\n translation = vec3.create();\n\n @io.persist\n @type.vec3\n scaling = vec3.fromValues(1, 1, 1);\n\n @io.persist\n @type.mat4\n localTransform = mat4.create();\n\n @io.persist\n @type.list(\"EveSpaceObjectDecal\")\n decals = [];\n\n @io.persist\n @type.boolean\n staticTransform = false;\n\n @io.notify\n @io.persist\n @type.objectRef(\"Tr2GrannyAnimation\")\n animationUpdater = null;\n\n @io.persist\n @type.list(\"IEveSpaceObjectAttachment\")\n attachments = [];\n\n @io.persist\n @type.list(\"Tr2Light\")\n lights = [];\n\n @io.persist\n @type.int32\n @schema.enum(\"Tr2Lod\")\n lowestLodVisible = 0;\n\n @io.persist\n @type.float32\n minScreenSize = 0;\n\n @io.persist\n @type.float32\n sortValueOffset = 0;\n\n @io.persist\n @type.float32\n sortValueScale = 1;\n\n @io.read\n @type.float32\n currentScreenSize = -1;\n\n @io.read\n @type.float32\n currentInstanceScreenSize = -1;\n\n @io.persist\n @type.boolean\n useSRT = true;\n\n @io.persist\n @type.boolean\n updateAnimation = true;\n\n // SOF-authored placement/instance values; persisted so the values\n // interchange reproduces Carbon's hidden child placement state.\n @io.persist\n @type.int32\n @schema.enum(\"Origin\")\n origin = 0;\n\n @io.rebuild(\"instanceBuffer\")\n @io.persist\n @type.array(\"mat4\")\n instanceTransforms = [];\n\n @io.persist\n @type.string\n sofDna = \"\";\n\n @io.persist\n @type.string\n sofParentHullName = \"\";\n\n @io.persist\n @type.string\n sofLocatorSetName = \"\";\n\n @io.persist\n @type.string\n sofLocatorIndex = \"\";\n\n /**\n * Rebuilds the local transform up front when the child is marked\n * staticTransform, since UpdateTransform will not rebuild it on later frames.\n */\n @carbon.method\n @impl.adapted\n Initialize()\n {\n if (this.staticTransform)\n {\n this.RebuildLocalTransform();\n }\n\n // cpp:84 - bind the updater to this mesh's geometry.\n this.InitializeAnimation();\n\n return true;\n }\n\n /**\n * Applies the authored scale/rotation/translation and, when supplied, the\n * lowest LOD level at which the child stays visible; returns the rebuilt local\n * transform.\n */\n @carbon.method\n @impl.implemented\n Setup(scale = null, rotation = null, translation = null, lowestLodVisible = null)\n {\n super.Setup(scale, rotation, translation, lowestLodVisible);\n if (lowestLodVisible !== null && lowestLodVisible !== undefined)\n {\n this.lowestLodVisible = Number(lowestLodVisible) | 0;\n }\n return this.localTransform;\n }\n\n /**\n * Replaces the instance placement list with clones of the supplied matrices, so later caller mutations do not reach the child.\n * @param {Iterable<Float32Array>} instances - 16-value matrices; a wrongly sized entry throws TypeError\n * @returns {Array<Float32Array>} the stored list\n */\n @carbon.method\n @impl.implemented\n SetInstanceTransforms(instances)\n {\n const next = [];\n for (const transform of instances ?? [])\n {\n if (!transform || transform.length !== 16)\n {\n throw new TypeError(\"EveChildMesh instance transforms must contain 16 values\");\n }\n next.push(mat4.clone(transform));\n }\n this.instanceTransforms = next;\n return this.instanceTransforms;\n }\n\n /**\n * Returns the live instance transform list, not a copy - mutating it changes\n * what the child renders.\n */\n @carbon.method\n @impl.adapted\n GetInstanceTransforms()\n {\n return this.instanceTransforms;\n }\n\n /**\n * Assigns the Tr2MeshBase this child draws; a nullish value clears it, which\n * also makes the child permanently invisible (UpdateVisibility requires a\n * mesh).\n */\n @carbon.method\n @impl.implemented\n SetMesh(mesh)\n {\n this.mesh = mesh ?? null;\n }\n\n /**\n * Records whether this child's placement was authored in space or by SOF (the\n * Origin enum).\n */\n @carbon.method\n @impl.implemented\n SetOrigin(origin)\n {\n this.origin = Number(origin) | 0;\n }\n\n /**\n * Copies the given scale into the child's SRT scaling; it reaches the world\n * transform on the next local-transform rebuild.\n */\n @carbon.method\n @impl.implemented\n SetScale(scale)\n {\n vec3.copy(this.scaling, scale);\n }\n\n /**\n * Sets the reflection mode, which decides whether the child registers as a\n * ReflectionRenderable and whether it casts shadows during reflection passes.\n */\n @carbon.method\n @impl.implemented\n SetReflectionMode(mode)\n {\n this.reflectionMode = Number(mode) | 0;\n }\n\n /**\n * Sets whether the child registers as a shadow caster and contributes opaque\n * shadow batches.\n */\n @carbon.method\n @impl.implemented\n SetCastShadow(castShadow)\n {\n this.castShadow = !!castShadow;\n }\n\n /**\n * Sets the minimum screen size, in pixels across, that the child's world\n * bounding sphere must reach - after the frame's inverse LOD factor scaling -\n * before UpdateVisibility marks it visible.\n */\n @carbon.method\n @impl.implemented\n SetMinScreenSize(minScreenSize)\n {\n this.minScreenSize = Number(minScreenSize);\n }\n\n /** Carbon EveChildMesh::GetLocalToWorldTransform (cpp:1047-1050); the\n * optional out follows the EveChildInstancedMeshes copy-out shape. */\n @carbon.method\n @impl.implemented\n GetLocalToWorldTransform(out = null)\n {\n if (out)\n {\n return mat4.copy(out, this.worldTransform);\n }\n return this.worldTransform;\n }\n\n /**\n * The authored name, persisted with the child and used to identify it in the\n * parent graph.\n */\n @carbon.method\n @impl.implemented\n GetName()\n {\n return this.name;\n }\n\n /** Sets the authored child name, coercing nullish to the empty string. */\n @carbon.method\n @impl.implemented\n SetName(name)\n {\n this.name = String(name ?? \"\");\n }\n\n /**\n * Appends a transform modifier; modifiers fold over the child's world\n * transform in insertion order on each async update.\n */\n @carbon.method\n @impl.implemented\n AddTransformModifier(modifier)\n {\n this.transformModifiers.push(modifier);\n }\n\n /**\n * Appends a decal; decals refresh their visibility only while the child itself\n * is visible, and ride along in GetRenderables when the mesh has a geometry\n * resource.\n */\n @carbon.method\n @impl.implemented\n AddDecal(decal)\n {\n this.decals.push(decal);\n }\n\n /**\n * Appends an attachment; attachments refresh their lights and visibility every\n * frame regardless of the child's own visibility.\n */\n @carbon.method\n @impl.implemented\n AddAttachment(attachment)\n {\n this.attachments.push(attachment);\n }\n\n /**\n * Drops every attachment, removing their lights, batches and visibility\n * updates from this child.\n */\n @carbon.method\n @impl.implemented\n ClearAttachments()\n {\n this.attachments.length = 0;\n }\n\n /**\n * Appends a light, submitted to the light manager from the child's world\n * transform while the child displays.\n */\n @carbon.method\n @impl.implemented\n AddLight(light)\n {\n this.lights.push(light);\n }\n\n /**\n * Drops every light, which also stops the child registering as a LightOwner on\n * the next component registration.\n */\n @carbon.method\n @impl.implemented\n ClearLights()\n {\n this.lights.length = 0;\n }\n\n /** Returns true unconditionally - a child mesh reports itself as always on. */\n @carbon.method\n @impl.implemented\n IsAlwaysOn()\n {\n return true;\n }\n\n /** Forwards a shader option to the mesh, every decal and every attachment. */\n @carbon.method\n @impl.implemented\n SetShaderOption(name, value)\n {\n this.mesh?.SetShaderOption?.(name, value);\n for (const decal of this.decals)\n {\n decal?.SetShaderOption?.(name, value);\n }\n for (const attachment of this.attachments)\n {\n attachment?.SetShaderOption?.(name, value);\n }\n }\n\n /**\n * Names of the mesh's morph targets in index order, or an empty array when the\n * mesh exposes none; the indices line up with the records GetMorphTargets\n * returns.\n */\n @carbon.method\n @impl.adapted\n GetMorphTargetNames()\n {\n return this.mesh?.GetMorphTargetNames?.() ?? [];\n }\n\n /**\n * Writes a named morph weight on the mesh; it only reaches the render path\n * after the next UpdateMorphAnimationBuffer pass re-sorts the indexed buffer.\n */\n @carbon.method\n @impl.adapted\n SetMorphTargetWeight(name, weight)\n {\n this.mesh?.SetMorphTargetWeight?.(name, weight);\n }\n\n /**\n * Reads a named morph weight straight from the mesh (0 when it has no such\n * target), bypassing any animation-driven value the morph buffer may have\n * applied.\n */\n @carbon.method\n @impl.adapted\n GetMorphTargetWeight(name)\n {\n return this.mesh?.GetMorphTargetWeight?.(name) ?? 0;\n }\n\n /** Rebuilds the source-backed indexed morph buffer from manual and animation weights. */\n @impl.adapted\n UpdateMorphAnimationBuffer()\n {\n const names = this.mesh?.GetMorphTargetNames?.();\n\n this.#morphAnimationOffsets = {\n runtimeEvaluatedOffset: 0,\n runtimeEvaluatedCount: 0,\n bakedOffset: 0,\n bakedCount: 0,\n allCount: 0\n };\n\n if (!Array.isArray(names))\n {\n this.#morphAnimationBuffer = [];\n return 0;\n }\n\n const manual = this.mesh?.GetMorphAnimations?.();\n const records = names.map((name, index) => ({\n index,\n weight: ReadMorphWeight(\n ReadNamedMorph(manual, name) ?? this.mesh?.GetMorphTargetWeight?.(name) ?? 0,\n name,\n \"mesh\"\n ),\n baked: !!(this.mesh?.IsBakedMorph?.(index)\n ?? this.mesh?.GetBakedMorphTarget?.(name)\n ?? false)\n }));\n\n if (this.animationUpdater?.IsInitialized?.())\n {\n const animated = this.animationUpdater.GetMorphAnimations?.();\n\n for (const record of records)\n {\n const name = names[record.index];\n const value = ReadNamedMorph(animated, name);\n\n if (value !== undefined)\n {\n record.weight = ReadMorphWeight(value, name, \"animation\");\n }\n }\n }\n\n const runtime = [];\n const baked = [];\n const inactive = [];\n\n for (const record of records)\n {\n if (record.weight >= 0.001)\n {\n (record.baked ? baked : runtime).push(record);\n }\n else\n {\n inactive.push(record);\n }\n }\n\n this.#morphAnimationBuffer = [ ...runtime, ...baked, ...inactive ];\n this.#morphAnimationOffsets.runtimeEvaluatedCount = runtime.length;\n this.#morphAnimationOffsets.bakedOffset = runtime.length;\n this.#morphAnimationOffsets.bakedCount = baked.length;\n this.#morphAnimationOffsets.allCount = runtime.length + baked.length;\n return this.#morphAnimationOffsets.allCount;\n }\n\n /** Returns detached active indexed morph records for the native filter. */\n @impl.adapted\n GetMorphTargets(filter = 2)\n {\n const normalized = NormalizeMorphFilter(filter);\n let offset = 0;\n let count = 0;\n\n if (normalized === 2)\n {\n count = this.#morphAnimationOffsets.allCount;\n }\n else if (normalized === 0)\n {\n offset = this.#isMorphsBaked\n ? this.#morphAnimationOffsets.runtimeEvaluatedOffset\n : 0;\n count = this.#isMorphsBaked\n ? this.#morphAnimationOffsets.runtimeEvaluatedCount\n : this.#morphAnimationOffsets.allCount;\n }\n else\n {\n offset = this.#morphAnimationOffsets.bakedOffset;\n count = this.#morphAnimationOffsets.bakedCount;\n }\n\n return this.#morphAnimationBuffer.slice(offset, offset + count)\n .map(value => ({ index: value.index, weight: value.weight }));\n }\n\n /**\n * Always returns null: a child mesh exposes no packed area-id lookup, since\n * its SOF identity lives directly on its\n * sofParentHullName/sofLocatorSetName/sofLocatorIndex fields.\n */\n @carbon.method\n @impl.adapted\n GetSofSourceLocator()\n {\n return null;\n }\n\n /**\n * Sync-side frame update (Carbon EveChildMesh::UpdateSyncronous,\n * cpp:1002-1045). Carbon's body is entirely audio-geometry registration\n * (cpp:1004-1010, 1044 - engine/audio-owned, omitted) plus animationUpdater\n * re-binding and PrePhysicsAnimation stepping (cpp:1011-1042 - skipped: the\n * JS animation seam is absent, there is no Tr2GrannyAnimation runtime), so\n * the port is a documented frame-contract no-op.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Audio-geometry registration is engine-owned and the animationUpdater branches await the JS animation seam; nothing else remains in Carbon's body.\")\n UpdateSyncronous(_updateContext, _params)\n {\n }\n\n /**\n * Per-frame async update (Carbon EveChildMesh::UpdateAsyncronous,\n * cpp:903-1000): rebuild the world transform from the parent, fold the\n * transform modifiers over it, store the activation strength, refresh the\n * attachment lights, the morph buffer, and the world bounds. The GPU ring\n * buffer advance/per-object-data invalidation (cpp:905-909), audio geometry\n * (cpp:920-930), parent VS/PS struct refresh (cpp:932-960), and the skinned\n * GetBounds overload are not modelled, hence @impl.adapted.\n * @param {Object} updateContext - frame context (EveUpdateContext), threaded to modifiers\n * @param {EveChildUpdateParams} params - localToWorldTransform + boneCount/bones\n * @returns {Float32Array} worldTransform\n */\n @carbon.method\n @carbon.contextual([\"camera\"])\n @impl.adapted\n UpdateAsyncronous(updateContext, params)\n {\n const parentTransform = params?.localToWorldTransform;\n\n // Carbon captures the OUTGOING transform before rebuilding (cpp:912).\n mat4.copy(this.#lastWorldTransform, this.worldTransform);\n\n if (parentTransform && parentTransform.length === 16)\n {\n this.UpdateTransform(parentTransform);\n }\n\n applyTransformModifiers(\n this,\n updateContext,\n params?.boneCount ?? 0,\n params?.bones ?? null\n );\n\n // Carbon cpp:932-954: inherit the hull's per-object values, rebase the clip\n // data by this child's translation, then stamp our own transforms.\n inheritParentPerObjectData(this.#perObjectData, params?.spaceObjectParent, this.translation);\n stampChildTransforms(this.#perObjectData, this.worldTransform, this.#lastWorldTransform);\n\n this.#activationStrength = Number(params?.activationStrength ?? 1);\n\n // Carbon (cpp:962-970): attachments refresh their lights from the updated\n // world transform. Bones come from GetBoneTransforms (animationUpdater) -\n // null until the JS animation seam exists.\n for (const attachment of this.attachments)\n {\n attachment?.UpdateLights?.(this.worldTransform, null, 0, this.#activationStrength, 0);\n }\n\n this.UpdateMorphAnimationBuffer();\n\n // Carbon (cpp:974-997): world AABB from the mesh bounds, world sphere\n // enclosing it. The skinned GetBounds overload (animation transforms +\n // morph targets, cpp:977-982) awaits the animation seam; Tr2MeshBase::\n // GetBounds itself is a recorded gap (CARBON-PARITY-REVIEW-2026-07-23.md\n // section 2.3), hence the duck call (Tr2InstancedMesh implements it).\n this.#worldBoundsValid = false;\n const bounds = this.mesh?.GetBounds?.();\n\n if (bounds?.min && bounds?.max)\n {\n this.#worldBoundsMin[0] = this.#worldBoundsMin[1] = this.#worldBoundsMin[2] = Infinity;\n this.#worldBoundsMax[0] = this.#worldBoundsMax[1] = this.#worldBoundsMax[2] = -Infinity;\n for (let index = 0; index < 8; index++)\n {\n vec3.set(\n BOX_CORNER_SCRATCH,\n index & 1 ? bounds.max[0] : bounds.min[0],\n index & 2 ? bounds.max[1] : bounds.min[1],\n index & 4 ? bounds.max[2] : bounds.min[2]\n );\n vec3.transformMat4(BOX_CORNER_SCRATCH, BOX_CORNER_SCRATCH, this.worldTransform);\n vec3.min(this.#worldBoundsMin, this.#worldBoundsMin, BOX_CORNER_SCRATCH);\n vec3.max(this.#worldBoundsMax, this.#worldBoundsMax, BOX_CORNER_SCRATCH);\n }\n this.#worldBoundsValid = true;\n sph3.fromBounds(this.#worldBoundingSphere, this.#worldBoundsMin, this.#worldBoundsMax);\n }\n else\n {\n sph3.set(this.#worldBoundingSphere, 0, 0, 0, 0);\n }\n\n this.#hasUpdated = true;\n return this.worldTransform;\n }\n\n /**\n * Frame visibility + LOD state (Carbon EveChildMesh::UpdateVisibility,\n * cpp:366-463): screen size via the frustum, invLodFactor scaling, the\n * minScreenSize/lowestLodVisible gates, the per-instance visibility gate,\n * and the attachment/decal visibility fan-out. Carbon recomputes the local\n * mesh bounds here (cpp:380-394) but consumes only the world sphere/box\n * computed in UpdateAsyncronous, so the dead recompute is skipped. The\n * raytracing branch (cpp:450-462) is engine-owned and omitted.\n * @param {Object} updateContext - frame context (frustum + invLodFactor ducks)\n * @param {Float32Array} _parentTransform\n * @param {Number} parentLod - parent Tr2Lod level\n * @returns {Boolean} isVisible\n */\n /**\n * The mesh's bone palette, as a borrowed Float4x3 buffer and its bone count.\n *\n * Carbon `EveChildMesh::GetBoneTransforms` (cpp:1285-1307). Carbon branches:\n * the updater's own palette when it has a mesh binding, otherwise a separate\n * `Tr2AnimationMeshBinding` palette. Only the first branch exists here -\n * `Tr2AnimationMeshBinding` is unported - so a mesh relying on the second\n * gets no bones rather than the wrong ones.\n *\n * Carbon also assigns `accumulatedTransforms` at cpp:1295 and never reads it;\n * a dead local, not reproduced.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Tr2AnimationMeshBinding is unported, so the second bone source (Carbon cpp:1303-1306) yields no bones rather than wrong ones.\")\n GetBoneTransforms()\n {\n const updater = this.animationUpdater;\n\n if (!updater?.IsInitialized?.())\n {\n return NO_BONE_TRANSFORMS;\n }\n\n // cpp:1297-1302 - the updater's own palette when it binds to the mesh.\n if (updater.HasMeshBinding?.())\n {\n return getBoneList(updater);\n }\n\n // cpp:1303-1306 would fall to a Tr2AnimationMeshBinding palette here. That\n // class is unported, so this yields no bones rather than the wrong ones.\n return NO_BONE_TRANSFORMS;\n }\n\n @carbon.method\n @impl.adapted\n @impl.reason(\"Bone-fed decal bounds still await the decal seam and the raytracing refresh is engine-owned; the LOD/screen-size math and the bone-fed attachment pass are ported.\")\n UpdateVisibility(updateContext, _parentTransform = null, parentLod = Tr2Lod.TR2_LOD_HIGH)\n {\n this.#isVisible = false;\n this.currentScreenSize = -1;\n this.#instancesVisible = false;\n this.currentInstanceScreenSize = -1;\n\n if (!this.#hasUpdated)\n {\n return false;\n }\n\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\n const invLodFactor = Number(updateContext?.GetInvLodFactor?.() ?? updateContext?.invLodFactor) || 1;\n\n if (this.mesh)\n {\n this.currentScreenSize = Number(frustum?.GetPixelSizeAccross?.(this.#worldBoundingSphere) ?? Infinity) || 0;\n\n // Cached Tr2InstancedMesh downcast in Carbon (m_instancedMesh); the JS\n // port duck-types the instanced surface instead.\n const instanced = typeof this.mesh.GetInstanceBoundsClosestToPoint === \"function\";\n let instanceBounds = null;\n\n if (instanced)\n {\n // Carbon: TransformCoord(frustum.m_viewPos, Inverse(m_worldTransform))\n // - a single-matrix point transform (no composition; TransformCoord\n // maps to vec3.transformMat4 unchanged per the math conventions).\n if (!mat4.invert(INVERSE_WORLD_SCRATCH, this.worldTransform))\n {\n mat4.identity(INVERSE_WORLD_SCRATCH);\n }\n const viewPos = frustum?.m_viewPos ?? frustum?.viewPos ?? frustum?.GetViewPosition?.() ?? ZERO_VEC3;\n vec3.transformMat4(LOCAL_VIEW_SCRATCH, viewPos, INVERSE_WORLD_SCRATCH);\n instanceBounds = this.mesh.GetInstanceBoundsClosestToPoint(LOCAL_VIEW_SCRATCH);\n }\n\n if (instanceBounds)\n {\n // Carbon: instanceBounds.Transform(m_worldTransform) - single-matrix\n // sphere transform, ported via sph3.transformMat4.\n sph3.set(\n INSTANCE_SPHERE_SCRATCH,\n instanceBounds.center[0],\n instanceBounds.center[1],\n instanceBounds.center[2],\n instanceBounds.radius\n );\n sph3.transformMat4(INSTANCE_SPHERE_SCRATCH, INSTANCE_SPHERE_SCRATCH, this.worldTransform);\n this.currentInstanceScreenSize = Number(frustum?.GetPixelSizeAccross?.(INSTANCE_SPHERE_SCRATCH) ?? Infinity) || 0;\n this.mesh.UseWithScreenSize?.(this.currentInstanceScreenSize, INSTANCE_SPHERE_SCRATCH[3]);\n }\n else\n {\n // Carbon uses std::numeric_limits<float>::max(); Infinity keeps the\n // instance gate permanently open the same way.\n this.currentInstanceScreenSize = Infinity;\n this.mesh.UseWithScreenSize?.(this.currentScreenSize, this.#worldBoundingSphere[3]);\n }\n\n this.currentScreenSize *= invLodFactor;\n this.currentInstanceScreenSize *= invLodFactor;\n\n BOX_QUERY_SCRATCH.min = this.#worldBoundsMin;\n BOX_QUERY_SCRATCH.max = this.#worldBoundsMax;\n const boxVisible = this.#worldBoundsValid &&\n (frustum?.IsBoxVisible ? !!frustum.IsBoxVisible(BOX_QUERY_SCRATCH) : true);\n\n if (boxVisible)\n {\n this.#isVisible = parentLod >= this.lowestLodVisible && this.currentScreenSize >= this.minScreenSize;\n this.#instancesVisible = this.#isVisible &&\n this.currentInstanceScreenSize >= EveChildMesh.#instanceScreenSizeThreshold;\n }\n }\n\n // Carbon (cpp:427-435): attachments always refresh visibility, fed the bone\n // palette so a bone-parented attachment is placed by its bone.\n const { bones, boneCount } = this.GetBoneTransforms();\n\n for (const attachment of this.attachments)\n {\n attachment?.UpdateVisibility?.(updateContext, this.worldTransform, bones, boneCount);\n }\n\n if (this.#isVisible)\n {\n for (const decal of this.decals)\n {\n // Carbon (cpp:441-446) feeds animated bone matrices to the decal first\n // - skipped until the JS animation seam exists. Carbon passes\n // &m_parentData (per-object shading struct, GPU seam); the owning\n // child stands in as the duck-typed parent.\n decal?.UpdateVisibility?.(updateContext, this);\n }\n }\n\n return this.#isVisible;\n }\n\n /**\n * Collects this child (and its decals) as renderables (Carbon\n * EveChildMesh::GetRenderables, cpp:571-616): instanced meshes contribute\n * only while the per-instance gate passed; decals ride along through their\n * duck-typed renderable collectors (mesh cache is engine-owned, passed null\n * as in EveSpaceObject2.GetRenderables).\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"The decal mesh cache is engine-owned (null placeholder); collection structure is ported.\")\n GetRenderables(out = [])\n {\n if (!this.#isVisible)\n {\n return out;\n }\n\n const instanced = typeof this.mesh?.GetInstanceBoundsClosestToPoint === \"function\";\n\n if (instanced)\n {\n if (this.#instancesVisible)\n {\n out.push(this);\n if (this.decals.length && this.mesh.GetGeometryResource?.())\n {\n for (const decal of this.decals)\n {\n decal?.GetInstancedRenderables?.(out, null, this.mesh, this.currentInstanceScreenSize);\n }\n }\n }\n }\n else\n {\n out.push(this);\n const geometryResource = this.mesh?.GetGeometryResource?.();\n if (this.decals.length && geometryResource)\n {\n for (const decal of this.decals)\n {\n decal?.GetRenderables?.(out, null, geometryResource, this.currentScreenSize);\n }\n }\n }\n\n return out;\n }\n\n /** Carbon EveChildMesh::GetBoundingSphere (cpp:618-627): the realized world\n * sphere, valid only after an update produced bounds (radius > 0). */\n @carbon.method\n @impl.implemented\n GetBoundingSphere(out = vec4.create(), _query = 0)\n {\n if (this.#worldBoundingSphere[3] > 0)\n {\n vec4.copy(out, this.#worldBoundingSphere);\n return true;\n }\n return false;\n }\n\n /** Carbon EveChildMesh::HasTransparentBatches (cpp:629-637). */\n @carbon.method\n @impl.implemented\n HasTransparentBatches()\n {\n if (this.display && this.mesh)\n {\n return (this.mesh.GetAreas?.(TriBatchType.TRIBATCHTYPE_TRANSPARENT)?.length ?? 0) > 0;\n }\n return false;\n }\n\n /** Carbon EveChildMesh::IsVisible (cpp:639-650): sphere-in-frustum plus the\n * estimated pixel size against the context visibility threshold. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Frustum and threshold arrive via the duck-typed update context instead of renderer state.\")\n IsVisible(updateContext)\n {\n if (this.#worldBoundingSphere[3] > 0)\n {\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\n if (frustum?.IsSphereVisible?.(this.#worldBoundingSphere) !== false)\n {\n const method = frustum?.GetPixelSizeAccrossEst ?? frustum?.GetPixelSizeAccross;\n const size = Number(typeof method === \"function\" ? method.call(frustum, this.#worldBoundingSphere) : 0) || 0;\n const threshold = Number(updateContext?.GetVisibilityThreshold?.() ?? updateContext?.visibilityThreshold) || 0;\n return size >= threshold;\n }\n }\n return false;\n }\n\n /** Carbon EveChildMesh::GetBatches (cpp:652-670): the mesh delegates per\n * batch type and activated attachments recurse. Carbon also passes\n * min(currentInstanceScreenSize, currentScreenSize) for LOD selection and a\n * reverse-winding flag from Determinant(m_worldTransform) < 0; both are\n * resolved by the engine at batch realization in the GPU-free port.\n * Returns whether any batch was committed (JS addition; Carbon returns\n * void). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Screen-size LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.\")\n GetBatches(batches, batchType, perObjectData, reason = Tr2RenderReason.TR2RENDERREASON_NORMAL)\n {\n if (!this.display)\n {\n return false;\n }\n\n let committed = false;\n\n if (this.mesh)\n {\n committed = this.mesh.GetBatches(batches, this.mesh.GetAreas(batchType), perObjectData) === true;\n }\n\n if (this.#activationStrength !== 0)\n {\n for (const attachment of this.attachments)\n {\n committed = attachment?.GetBatches?.(batches, batchType, perObjectData, reason) === true || committed;\n }\n }\n\n return committed;\n }\n\n /** Carbon EveChildMesh::GetShadowBatches (cpp:672-681): the OPAQUE areas\n * only, gated on display/mesh/hasUpdated. shadowPixelSize and the\n * reverse-winding flag are engine-resolved at realization. Returns whether\n * any batch was committed (JS addition; Carbon returns void). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"shadowPixelSize LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.\")\n GetShadowBatches(batches, perObjectData, _shadowPixelSize)\n {\n if (this.display && this.mesh && this.#hasUpdated)\n {\n return this.mesh.GetBatches(batches, this.mesh.GetAreas(TriBatchType.TRIBATCHTYPE_OPAQUE), perObjectData) === true;\n }\n return false;\n }\n\n /** Carbon EveChildMesh::GetSortValue (cpp:787-792): view distance scaled by\n * sortValueScale plus sortValueOffset. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon reads the Tr2Renderer view-position global; the relocated camera state arrives via the threaded render context.\")\n GetSortValue(renderContext = null)\n {\n const viewPosition = renderContext?.GetViewPosition?.();\n const x = (viewPosition?.[0] ?? 0) - this.worldTransform[12];\n const y = (viewPosition?.[1] ?? 0) - this.worldTransform[13];\n const z = (viewPosition?.[2] ?? 0) - this.worldTransform[14];\n return Math.hypot(x, y, z) * this.sortValueScale + this.sortValueOffset;\n }\n\n /** Carbon EveChildMesh::GetShadowPerObjectData (cpp:794-797) forwards the\n * shadow pass to the same per-object record. */\n @carbon.method\n @impl.implemented\n GetShadowPerObjectData(accumulator = null)\n {\n return this.GetPerObjectData(accumulator);\n }\n\n /**\n * Carbon EveChildMesh::GetPerObjectData (cpp:799-843): resets the morph\n * counters, uploads the bone and morph rings, then hands back a handle over\n * this child's two PERSISTENT buffers.\n *\n * The ring OFFSETS (`boneOffsets[0..1]`, `morphTargetAnimationDataOffset`,\n * `morphTargetVertexDataOffset`, `bakedMorphTargetVertexDataOffset`) are GPU\n * addresses with no CPU derivation, so they keep their defaults; the counts,\n * which are CPU-known, are written.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"GPU ring-buffer offsets have no CPU derivation and keep their defaults; every CPU-known field is filled.\")\n GetPerObjectData(_accumulator = null)\n {\n this.#perObjectData.vs.Set(\"activeMorphTargetsCount\", [ 0 ]);\n // Carbon seeds the baked-morph offset with UINT32_MAX, not zero.\n this.#perObjectData.vs.Set(\"bakedMorphTargetVertexDataOffset\", [ 0xffffffff ]);\n\n if (this.animationUpdater?.IsInitialized?.())\n {\n const boneCount = this.animationUpdater.GetMeshBoneCount?.() ?? 0;\n this.#perObjectData.vs.SetIndex(\"boneOffsets\", 2, [ boneCount ]);\n }\n\n return { vs: this.#perObjectData.vs, ps: this.#perObjectData.ps };\n }\n\n /**\n * Carbon's two IsCastingShadow overloads, dispatched on the second argument:\n * a position vector (length >= 3) selects the sphere-overlap overload\n * (cpp:338-364); anything else is the shadow-frustum overload (cpp:295-336),\n * whose Carbon out-param float& sizeInShadow becomes the optional trailing\n * length-1 array (out-params last).\n * @param {Object} cameraFrustum\n * @param {Object|Float32Array} shadowFrustumOrPosition\n * @param {Number} renderReasonOrRadius\n * @param {Array|Number} sizeInShadowOutOrRenderReason\n * @returns {Boolean}\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Overload dispatch by argument shape and a length-1 out array replace C++ overloading and the float& out-param; the shadow math is ported.\")\n IsCastingShadow(cameraFrustum, shadowFrustumOrPosition, renderReasonOrRadius, sizeInShadowOutOrRenderReason = null)\n {\n if (!this.display || !this.castShadow || !this.#hasUpdated)\n {\n return false;\n }\n\n const positionOverload = typeof shadowFrustumOrPosition?.length === \"number\" &&\n shadowFrustumOrPosition.length >= 3;\n const renderReason = positionOverload\n ? Number(sizeInShadowOutOrRenderReason ?? Tr2RenderReason.TR2RENDERREASON_NORMAL)\n : Number(renderReasonOrRadius ?? Tr2RenderReason.TR2RENDERREASON_NORMAL);\n\n if (renderReason === Tr2RenderReason.TR2RENDERREASON_REFLECTION &&\n !ShouldReflect(this.reflectionMode))\n {\n return false;\n }\n\n if (positionOverload)\n {\n // Carbon (cpp:338-364): squared distance between the world sphere and\n // the query sphere against their combined radius.\n if (!this.GetBoundingSphere(SHADOW_SPHERE_SCRATCH))\n {\n return false;\n }\n const position = shadowFrustumOrPosition;\n const radius = Number(renderReasonOrRadius) || 0;\n const dx = SHADOW_SPHERE_SCRATCH[0] - position[0];\n const dy = SHADOW_SPHERE_SCRATCH[1] - position[1];\n const dz = SHADOW_SPHERE_SCRATCH[2] - position[2];\n const combined = radius + SHADOW_SPHERE_SCRATCH[3];\n return dx * dx + dy * dy + dz * dz - combined * combined < 0;\n }\n\n // Carbon (cpp:295-336): shadow-frustum visibility, then the size in the\n // shadow map from the instance sphere nearest the shadow eye (falling back\n // to the whole world sphere).\n const shadowFrustum = shadowFrustumOrPosition;\n const sizeOut = sizeInShadowOutOrRenderReason;\n if (sizeOut)\n {\n sizeOut[0] = 0;\n }\n\n if (this.#worldBoundingSphere[3] <= 0)\n {\n return false;\n }\n\n let sizeInShadow = 0;\n if (shadowFrustum?.IsVisible?.(cameraFrustum, this.#worldBoundingSphere))\n {\n let sphere = this.#worldBoundingSphere;\n if (typeof this.mesh?.GetInstanceBoundsClosestToPoint === \"function\")\n {\n // Carbon: TransformCoord(shadowFrustum.GetEyePos(), Inverse(\n // m_worldTransform)) - single-matrix point transform (no composition).\n if (!mat4.invert(INVERSE_WORLD_SCRATCH, this.worldTransform))\n {\n mat4.identity(INVERSE_WORLD_SCRATCH);\n }\n const eyePos = shadowFrustum?.GetEyePos?.() ?? ZERO_VEC3;\n vec3.transformMat4(LOCAL_VIEW_SCRATCH, eyePos, INVERSE_WORLD_SCRATCH);\n const instanceBounds = this.mesh.GetInstanceBoundsClosestToPoint(LOCAL_VIEW_SCRATCH);\n if (instanceBounds)\n {\n // Carbon: instanceBounds.Transform(m_worldTransform) - single-matrix\n // sphere transform.\n sph3.set(\n INSTANCE_SPHERE_SCRATCH,\n instanceBounds.center[0],\n instanceBounds.center[1],\n instanceBounds.center[2],\n instanceBounds.radius\n );\n sph3.transformMat4(INSTANCE_SPHERE_SCRATCH, INSTANCE_SPHERE_SCRATCH, this.worldTransform);\n sphere = INSTANCE_SPHERE_SCRATCH;\n }\n }\n sizeInShadow = Number(shadowFrustum?.GetSizeInShadow?.(sphere)) || 0;\n }\n\n if (sizeOut)\n {\n sizeOut[0] = sizeInShadow;\n }\n return sizeInShadow > 5;\n }\n\n /** Carbon EveChildMesh::ChangeLOD (cpp:1052-1054) is an intentional no-op. */\n @carbon.method\n @impl.implemented\n ChangeLOD(_lod)\n {\n }\n\n /** Carbon EveChildMesh::RegisterComponents (cpp:239-269): LightOwner when\n * lights are authored; ReflectionRenderable (ShouldReflect) and ShadowCaster\n * (castShadow) only when a mesh is present; then forwards the attachments.\n * Gate m_display. \"MeshMorph\" stays OUT-OF-BAND: Carbon registers it at\n * baked-morph need inside BakeMorphs (cpp:1404-1409), not here - the JS\n * BakeMorphs stub is the site that would register it when the GPU morph\n * bake is ported. */\n @carbon.method\n @impl.implemented\n RegisterComponents()\n {\n const registry = this.GetComponentRegistry();\n if (registry && this.display)\n {\n if (this.lights.length)\n {\n registry.RegisterComponent(EveComponentType.LightOwner, this);\n }\n\n if (this.mesh !== null)\n {\n if (ShouldReflect(this.reflectionMode))\n {\n registry.RegisterComponent(EveComponentType.ReflectionRenderable, this);\n }\n if (this.castShadow)\n {\n registry.RegisterComponent(EveComponentType.ShadowCaster, this);\n }\n }\n\n for (const attachment of this.attachments)\n {\n attachment?.Register?.(registry);\n }\n }\n }\n\n /** Carbon EveChildMesh::UnRegisterComponents (cpp:275-290): forwards the\n * attachments only (own components were already removed by\n * EveEntity::UnRegister, EveEntity.cpp:90); no display re-check.\n * UnregisterAudioGeometry (cpp:277) is audio-engine-owned and unported. */\n @carbon.method\n @impl.implemented\n UnRegisterComponents()\n {\n const registry = this.GetComponentRegistry();\n if (registry)\n {\n for (const attachment of this.attachments)\n {\n attachment?.UnRegister?.(registry);\n }\n }\n }\n\n /** Carbon EveChildMesh::GetLights (cpp:1638-1652): BOTH gates (empty\n * lights and display, cpp:1640 - unlike EveSpaceObject2's display-only),\n * then per light AddLight(manager, worldTransform, 1, bones, boneCount)\n * FOLLOWED by SetBrightnessMultiplier(m_activationStrength) - the\n * one-frame-lag order is contract (the submission uses the multiplier\n * stamped on the previous pass; the first pass uses the Tr2Light default\n * 1). */\n @carbon.method\n @impl.implemented\n GetLights(lightManager)\n {\n if (!this.lights.length || !this.display)\n {\n return;\n }\n\n // cpp:1645 - bones so a bone-parented light is placed by its bone.\n const { bones, boneCount } = this.GetBoneTransforms();\n\n for (const light of this.lights)\n {\n light?.AddLight?.(lightManager, this.worldTransform, 1, bones, boneCount);\n light?.SetBrightnessMultiplier?.(this.#activationStrength);\n }\n }\n\n /** Carbon EveChildMesh::GetID returns GetRawRoot(), i.e. this object. */\n @carbon.method\n @impl.implemented\n GetID(_area = 0)\n {\n return this;\n }\n\n /**\n * Carbon EveChildMesh::GetPickingBatches (cpp:862-889): collects the geometry\n * a pick pass should test, by mask. Unlike the hull's version this one has no\n * overlay effects to pull in.\n *\n * @param {Object} batches - the picking accumulator\n * @param {Number} pickTypes - a Tr2PickType mask\n * @param {Object} perObjectData - this child's per-object record\n */\n @carbon.method\n @impl.implemented\n GetPickingBatches(batches, pickTypes = TR2_PICK_TYPE_DEFAULT, perObjectData = null)\n {\n if (pickTypes & Tr2PickType.PICK_TYPE_PICKING)\n {\n this.GetBatches(batches, TriBatchType.TRIBATCHTYPE_PICKING, perObjectData);\n }\n\n if (pickTypes & Tr2PickType.PICK_TYPE_OPAQUE)\n {\n this.GetBatches(batches, TriBatchType.TRIBATCHTYPE_OPAQUE, perObjectData);\n this.GetBatches(batches, TriBatchType.TRIBATCHTYPE_DECAL, perObjectData);\n }\n\n if (pickTypes & Tr2PickType.PICK_TYPE_TRANSPARENT)\n {\n // A hidden mesh suppresses the transparent pass only; Carbon returns\n // early here, after the collections above have already run.\n if (!this.mesh || this.mesh.display === false)\n {\n return true;\n }\n\n for (const batchType of [ TriBatchType.TRIBATCHTYPE_TRANSPARENT, TriBatchType.TRIBATCHTYPE_ADDITIVE ])\n {\n const areas = this.mesh.GetAreas?.(batchType);\n\n if (areas)\n {\n this.mesh.GetBatches?.(batches, areas, perObjectData);\n }\n }\n }\n\n return true;\n }\n\n /**\n * Binds the animation updater to this mesh's geometry, so a child with no\n * animation resource of its own animates from the mesh's own bone binding.\n *\n * Carbon `EveChildMesh::InitializeAnimation` (cpp:217-232). Only runs when\n * the updater has no authored resPath - one that does keeps its own\n * resource. When the mesh has no geometry yet the shared binding is cleared\n * rather than left stale, so a later mesh swap rebinds cleanly.\n */\n @carbon.method\n @impl.implemented\n InitializeAnimation()\n {\n const updater = this.animationUpdater;\n\n if (!updater || updater.resPath_)\n {\n return;\n }\n\n const geometry = this.mesh?.GetGeometryResource?.();\n\n if (geometry)\n {\n updater.SetUseMeshBinding?.(true);\n updater.SetSharedGeometryRes?.(geometry);\n return;\n }\n\n updater.SetSharedGeometryRes?.(null);\n }\n\n /** Carbon BakeMorphs runs the merge-morphs GPU compute pass; GPU-owned. */\n @carbon.method\n @impl.notImplemented\n BakeMorphs(..._args)\n {\n throw new Error(\"EveChildMesh.BakeMorphs is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon UnbakeMorphs releases the baked-morph GPU allocation; GPU-owned. */\n @carbon.method\n @impl.notImplemented\n UnbakeMorphs(..._args)\n {\n throw new Error(\"EveChildMesh.UnbakeMorphs is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon IsMeshBaked reads the baked-morph GPU allocation state; GPU-owned. */\n @carbon.method\n @impl.notImplemented\n IsMeshBaked(..._args)\n {\n throw new Error(\"EveChildMesh.IsMeshBaked is not implemented in CarbonEngineJS.\");\n }\n\n // Carbon s_instanceScreenSizeThreshold (EveChildMesh.cpp:22).\n static #instanceScreenSizeThreshold = 1;\n\n static Origin = Origin;\n\n static ReflectionMode = ReflectionMode;\n\n static Tr2Lod = Tr2Lod;\n\n}\n\nfunction ReadNamedMorph(values, name)\n{\n if (values instanceof Map)\n {\n return values.has(name) ? values.get(name) : undefined;\n }\n\n if (values && typeof values === \"object\" && Object.hasOwn(values, name))\n {\n return values[name];\n }\n\n return undefined;\n}\n\nfunction ReadMorphWeight(value, name, source)\n{\n const weight = Number(value && typeof value === \"object\" ? value.weight : value);\n\n if (!Number.isFinite(weight))\n {\n throw new TypeError(`EveChildMesh ${source} morph target \"${name}\" weight must be finite`);\n }\n\n return weight;\n}\n\nfunction NormalizeMorphFilter(value)\n{\n if (typeof value === \"string\")\n {\n const normalized = value.toLowerCase();\n if (normalized === \"runtime\" || normalized === \"runtime_evaluated\") return 0;\n if (normalized === \"baked\") return 1;\n if (normalized === \"all\") return 2;\n }\n\n const filter = Number(value);\n if (filter === 0 || filter === 1 || filter === 2) return filter;\n throw new TypeError(`Unsupported EveChildMesh morph target filter \"${value}\"`);\n}\n"],"names":["INVERSE_WORLD_SCRATCH","mat4","create","LOCAL_VIEW_SCRATCH","vec3","INSTANCE_SPHERE_SCRATCH","vec4","SHADOW_SPHERE_SCRATCH","BOX_CORNER_SCRATCH","BOX_QUERY_SCRATCH","min","max","ZERO_VEC3","NO_BONE_TRANSFORMS","Object","freeze","bones","boneCount","_EveChildMesh","_identity","EveChildMesh","EveChildTransform","e","_init_reflectionMode","_init_extra_reflectionMode","_init_transformModifiers","_init_extra_transformModifiers","_init_worldTransform","_init_extra_worldTransform","_init_display","_init_extra_display","_init_castShadow","_init_extra_castShadow","_init_mesh","_init_extra_mesh","_init_name","_init_extra_name","_init_rotation","_init_extra_rotation","_init_translation","_init_extra_translation","_init_scaling","_init_extra_scaling","_init_localTransform","_init_extra_localTransform","_init_decals","_init_extra_decals","_init_staticTransform","_init_extra_staticTransform","_init_animationUpdater","_init_extra_animationUpdater","_init_attachments","_init_extra_attachments","_init_lights","_init_extra_lights","_init_lowestLodVisible","_init_extra_lowestLodVisible","_init_minScreenSize","_init_extra_minScreenSize","_init_sortValueOffset","_init_extra_sortValueOffset","_init_sortValueScale","_init_extra_sortValueScale","_init_currentScreenSize","_init_extra_currentScreenSize","_init_currentInstanceScreenSize","_init_extra_currentInstanceScreenSize","_init_useSRT","_init_extra_useSRT","_init_updateAnimation","_init_extra_updateAnimation","_init_origin","_init_extra_origin","_init_instanceTransforms","_init_extra_instanceTransforms","_init_sofDna","_init_extra_sofDna","_init_sofParentHullName","_init_extra_sofParentHullName","_init_sofLocatorSetName","_init_extra_sofLocatorSetName","_init_sofLocatorIndex","_init_extra_sofLocatorIndex","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","schema","enum","list","read","boolean","objectRef","string","quat","float32","rebuild","array","carbon","method","impl","adapted","implemented","reason","contextual","notImplemented","constructor","args","runtimeEvaluatedOffset","runtimeEvaluatedCount","bakedOffset","bakedCount","allCount","createChildPerObjectRecords","reflectionMode","transformModifiers","worldTransform","display","castShadow","mesh","name","rotation","translation","scaling","fromValues","localTransform","decals","staticTransform","animationUpdater","attachments","lights","lowestLodVisible","minScreenSize","sortValueOffset","sortValueScale","currentScreenSize","currentInstanceScreenSize","useSRT","updateAnimation","origin","instanceTransforms","sofDna","sofParentHullName","sofLocatorSetName","sofLocatorIndex","Initialize","RebuildLocalTransform","InitializeAnimation","Setup","scale","undefined","Number","SetInstanceTransforms","instances","next","transform","length","TypeError","push","clone","GetInstanceTransforms","SetMesh","SetOrigin","SetScale","copy","SetReflectionMode","mode","SetCastShadow","SetMinScreenSize","GetLocalToWorldTransform","out","GetName","SetName","String","AddTransformModifier","modifier","AddDecal","decal","AddAttachment","attachment","ClearAttachments","AddLight","light","ClearLights","IsAlwaysOn","SetShaderOption","value","GetMorphTargetNames","SetMorphTargetWeight","weight","GetMorphTargetWeight","UpdateMorphAnimationBuffer","names","Array","isArray","manual","GetMorphAnimations","records","map","index","ReadMorphWeight","ReadNamedMorph","baked","IsBakedMorph","GetBakedMorphTarget","IsInitialized","animated","record","runtime","inactive","GetMorphTargets","filter","normalized","NormalizeMorphFilter","offset","count","slice","GetSofSourceLocator","UpdateSyncronous","_updateContext","_params","UpdateAsyncronous","updateContext","params","parentTransform","localToWorldTransform","UpdateTransform","applyTransformModifiers","inheritParentPerObjectData","spaceObjectParent","stampChildTransforms","activationStrength","UpdateLights","bounds","GetBounds","Infinity","set","transformMat4","sph3","fromBounds","GetBoneTransforms","updater","HasMeshBinding","getBoneList","UpdateVisibility","_parentTransform","parentLod","Tr2Lod","TR2_LOD_HIGH","frustum","GetFrustum","invLodFactor","GetInvLodFactor","GetPixelSizeAccross","instanced","GetInstanceBoundsClosestToPoint","instanceBounds","invert","identity","viewPos","m_viewPos","GetViewPosition","center","radius","UseWithScreenSize","boxVisible","IsBoxVisible","GetRenderables","GetGeometryResource","GetInstancedRenderables","geometryResource","GetBoundingSphere","_query","HasTransparentBatches","GetAreas","TriBatchType","TRIBATCHTYPE_TRANSPARENT","IsVisible","IsSphereVisible","GetPixelSizeAccrossEst","size","call","threshold","GetVisibilityThreshold","visibilityThreshold","GetBatches","batches","batchType","perObjectData","Tr2RenderReason","TR2RENDERREASON_NORMAL","committed","GetShadowBatches","_shadowPixelSize","TRIBATCHTYPE_OPAQUE","GetSortValue","renderContext","viewPosition","x","y","z","Math","hypot","GetShadowPerObjectData","accumulator","GetPerObjectData","_accumulator","vs","Set","GetMeshBoneCount","SetIndex","ps","IsCastingShadow","cameraFrustum","shadowFrustumOrPosition","renderReasonOrRadius","sizeInShadowOutOrRenderReason","positionOverload","renderReason","TR2RENDERREASON_REFLECTION","ShouldReflect","position","dx","dy","dz","combined","shadowFrustum","sizeOut","sizeInShadow","sphere","eyePos","GetEyePos","GetSizeInShadow","ChangeLOD","_lod","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","ReflectionRenderable","ShadowCaster","Register","UnRegisterComponents","UnRegister","GetLights","lightManager","SetBrightnessMultiplier","GetID","_area","GetPickingBatches","pickTypes","TR2_PICK_TYPE_DEFAULT","Tr2PickType","PICK_TYPE_PICKING","TRIBATCHTYPE_PICKING","PICK_TYPE_OPAQUE","TRIBATCHTYPE_DECAL","PICK_TYPE_TRANSPARENT","TRIBATCHTYPE_ADDITIVE","areas","resPath_","geometry","SetUseMeshBinding","SetSharedGeometryRes","BakeMorphs","_args","Error","UnbakeMorphs","IsMeshBaked","Origin","ReflectionMode","values","Map","has","get","hasOwn","source","isFinite","toLowerCase"],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import { applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { io, type, carbon, impl, CjsSchema } from '@carbonenginejs/runtime-utils/schema';
3
+ import { EveChildMesh as _EveChildMesh } from './EveChildMesh.js';
4
+ import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
5
+ import { vec4 } from '@carbonenginejs/runtime-utils/vec4';
6
+
7
+ let _initProto, _initClass, _init_curveSets, _init_extra_curveSets, _init_centerNormal, _init_extra_centerNormal, _init_pinMaxRadius, _init_extra_pinMaxRadius, _init_pinRadius, _init_extra_pinRadius, _init_pinRotation, _init_extra_pinRotation, _init_pinAlphaThreshold, _init_extra_pinAlphaThreshold;
8
+
9
+ /**
10
+ * Child mesh that draws a pin on a sphere's surface, contributing the pin's
11
+ * centre normal, radius, rotation, alpha threshold and colour to its own
12
+ * per-object shader data.
13
+ */
14
+ let _EveChildSpherePin;
15
+ class EveChildSpherePin extends _EveChildMesh {
16
+ static {
17
+ ({
18
+ e: [_init_curveSets, _init_extra_curveSets, _init_centerNormal, _init_extra_centerNormal, _init_pinMaxRadius, _init_extra_pinMaxRadius, _init_pinRadius, _init_extra_pinRadius, _init_pinRotation, _init_extra_pinRotation, _init_pinAlphaThreshold, _init_extra_pinAlphaThreshold, _initProto],
19
+ c: [_EveChildSpherePin, _initClass]
20
+ } = _applyDecs2311(this, [type.define({
21
+ className: "EveChildSpherePin",
22
+ family: "eve/child"
23
+ })], [[[io, io.persist, void 0, type.list("TriCurveSet")], 16, "curveSets"], [[io, io.notify, io, io.persist, type, type.vec3], 16, "centerNormal"], [[io, io.notify, io, io.persist, type, type.float32], 16, "pinMaxRadius"], [[io, io.notify, io, io.persist, type, type.float32], 16, "pinRadius"], [[io, io.notify, io, io.persist, type, type.float32], 16, "pinRotation"], [[io, io.notify, io, io.persist, type, type.float32], 16, "pinAlphaThreshold"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectData"]], 0, void 0, _EveChildMesh));
24
+ }
25
+ constructor(...args) {
26
+ super(...args);
27
+ _init_extra_pinAlphaThreshold(this);
28
+ }
29
+ #pinColor = (_initProto(this), vec4.fromValues(1, 1, 1, 1));
30
+
31
+ /** Carbon maps both Blue names to the same m_pinColor storage. */
32
+ get pinColor() {
33
+ return this.#pinColor;
34
+ }
35
+
36
+ /**
37
+ * Copies a four-component colour into the owned buffer; a shorter value is
38
+ * ignored rather than partially applied.
39
+ */
40
+ set pinColor(value) {
41
+ if (value?.length >= 4) {
42
+ vec4.copy(this.#pinColor, value);
43
+ }
44
+ }
45
+
46
+ /** Blue alias for pinColor. */
47
+ get color() {
48
+ return this.#pinColor;
49
+ }
50
+
51
+ /** Blue alias that writes through to pinColor. */
52
+ set color(value) {
53
+ this.pinColor = value;
54
+ }
55
+
56
+ /** m_curveSets (PTriCurveSetVector) [READ, PERSIST] */
57
+ curveSets = _init_curveSets(this, []);
58
+
59
+ /** m_centerNormal (Vector3) [READWRITE, NOTIFY, PERSIST] */
60
+ centerNormal = (_init_extra_curveSets(this), _init_centerNormal(this, vec3.create()));
61
+
62
+ /** m_pinMaxRadius (float) [READWRITE, NOTIFY, PERSIST] */
63
+ pinMaxRadius = (_init_extra_centerNormal(this), _init_pinMaxRadius(this, 0.2));
64
+
65
+ /** m_pinRadius (float) [READWRITE, NOTIFY, PERSIST] */
66
+ pinRadius = (_init_extra_pinMaxRadius(this), _init_pinRadius(this, 0));
67
+
68
+ /** m_pinRotation (float) [READWRITE, NOTIFY, PERSIST] */
69
+ pinRotation = (_init_extra_pinRadius(this), _init_pinRotation(this, 0));
70
+
71
+ /** m_pinAlphaThreshold (float) [READWRITE, NOTIFY, PERSIST] */
72
+ pinAlphaThreshold = (_init_extra_pinRotation(this), _init_pinAlphaThreshold(this, 0));
73
+
74
+ /** Carbon updates the mesh first, then advances every attached curve set. */
75
+ UpdateAsyncronous(updateContext, params) {
76
+ super.UpdateAsyncronous(updateContext, params);
77
+ const time = updateContext?.GetTime?.() ?? updateContext?.currentTime ?? 0;
78
+ for (const curveSet of this.curveSets) {
79
+ curveSet?.Update?.(time, time);
80
+ }
81
+ }
82
+
83
+ /**
84
+ * Carbon EveChildSpherePin::GetPerObjectData (cpp:40-62). One transient
85
+ * payload; Set(MATRIX) performs Carbon's `Transpose(m_worldTransform)`.
86
+ * The struct registers with stages ["vs", "ps"]: the SAME bytes are bound
87
+ * to both per-object slots (cpp:68-75).
88
+ */
89
+ GetPerObjectData(accumulator) {
90
+ const data = accumulator.Alloc("EveChildSpherePinPerObjectData");
91
+ data.SetAndTranspose("worldMatrix", this.worldTransform);
92
+ data.Set("pinPosition", [this.centerNormal[0], this.centerNormal[1], this.centerNormal[2], this.pinRadius]);
93
+ data.Set("pinRotation", [this.pinRotation, 0, 0, 0]);
94
+ data.Set("pinColor", this.#pinColor);
95
+ data.Set("pinThreshold", [this.pinAlphaThreshold, 0, 0, 0]);
96
+ data.Set("pinRadiusPrecalc", [Math.sin(this.pinRadius), Math.cos(this.pinRadius), Math.sin(this.pinRotation), Math.cos(this.pinRotation)]);
97
+ data.Set("pinUV", [1, 1, 0, 0]);
98
+ return data;
99
+ }
100
+ static {
101
+ _initClass();
102
+ }
103
+ }
104
+ CjsSchema.decorateField(_EveChildSpherePin, "pinColor", io.notify, io.persist, type.color);
105
+ CjsSchema.decorateField(_EveChildSpherePin, "color", io.notify, io.persist, type.color);
106
+
107
+ export { _EveChildSpherePin as EveChildSpherePin };
108
+ //# sourceMappingURL=EveChildSpherePin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EveChildSpherePin.js","sources":["../../../../src/eve/child/EveChildSpherePin.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildSpherePin.h\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildSpherePin.cpp\r\nimport { CjsSchema, carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveChildMesh } from \"./EveChildMesh.js\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\r\n\r\n/**\r\n * Child mesh that draws a pin on a sphere's surface, contributing the pin's\r\n * centre normal, radius, rotation, alpha threshold and colour to its own\r\n * per-object shader data.\r\n */\r\n@type.define({ className: \"EveChildSpherePin\", family: \"eve/child\" })\r\nexport class EveChildSpherePin extends EveChildMesh\r\n{\r\n\r\n #pinColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n /** Carbon maps both Blue names to the same m_pinColor storage. */\r\n get pinColor()\r\n {\r\n return this.#pinColor;\r\n }\r\n\r\n /**\r\n * Copies a four-component colour into the owned buffer; a shorter value is\r\n * ignored rather than partially applied.\r\n */\r\n set pinColor(value)\r\n {\r\n if (value?.length >= 4)\r\n {\r\n vec4.copy(this.#pinColor, value);\r\n }\r\n }\r\n\r\n /** Blue alias for pinColor. */\r\n get color()\r\n {\r\n return this.#pinColor;\r\n }\r\n\r\n /** Blue alias that writes through to pinColor. */\r\n set color(value)\r\n {\r\n this.pinColor = value;\r\n }\r\n\r\n /** m_curveSets (PTriCurveSetVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"TriCurveSet\")\r\n curveSets = [];\r\n\r\n /** m_centerNormal (Vector3) [READWRITE, NOTIFY, PERSIST] */\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n centerNormal = vec3.create();\r\n\r\n /** m_pinMaxRadius (float) [READWRITE, NOTIFY, PERSIST] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n pinMaxRadius = 0.2;\r\n\r\n /** m_pinRadius (float) [READWRITE, NOTIFY, PERSIST] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n pinRadius = 0;\r\n\r\n /** m_pinRotation (float) [READWRITE, NOTIFY, PERSIST] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n pinRotation = 0;\r\n\r\n /** m_pinAlphaThreshold (float) [READWRITE, NOTIFY, PERSIST] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n pinAlphaThreshold = 0;\r\n\r\n /** Carbon updates the mesh first, then advances every attached curve set. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateAsyncronous(updateContext, params)\r\n {\r\n super.UpdateAsyncronous(updateContext, params);\r\n const time = updateContext?.GetTime?.() ?? updateContext?.currentTime ?? 0;\r\n for (const curveSet of this.curveSets)\r\n {\r\n curveSet?.Update?.(time, time);\r\n }\r\n }\r\n\r\n /**\r\n * Carbon EveChildSpherePin::GetPerObjectData (cpp:40-62). One transient\r\n * payload; Set(MATRIX) performs Carbon's `Transpose(m_worldTransform)`.\r\n * The struct registers with stages [\"vs\", \"ps\"]: the SAME bytes are bound\r\n * to both per-object slots (cpp:68-75).\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetPerObjectData(accumulator)\r\n {\r\n const data = accumulator.Alloc(\"EveChildSpherePinPerObjectData\");\r\n\r\n data.SetAndTranspose(\"worldMatrix\", this.worldTransform);\r\n data.Set(\"pinPosition\", [\r\n this.centerNormal[0],\r\n this.centerNormal[1],\r\n this.centerNormal[2],\r\n this.pinRadius\r\n ]);\r\n data.Set(\"pinRotation\", [this.pinRotation, 0, 0, 0]);\r\n data.Set(\"pinColor\", this.#pinColor);\r\n data.Set(\"pinThreshold\", [this.pinAlphaThreshold, 0, 0, 0]);\r\n data.Set(\"pinRadiusPrecalc\", [\r\n Math.sin(this.pinRadius),\r\n Math.cos(this.pinRadius),\r\n Math.sin(this.pinRotation),\r\n Math.cos(this.pinRotation)\r\n ]);\r\n data.Set(\"pinUV\", [1, 1, 0, 0]);\r\n\r\n return data;\r\n }\r\n\r\n}\r\n\r\nCjsSchema.decorateField(EveChildSpherePin, \"pinColor\", io.notify, io.persist, type.color);\r\nCjsSchema.decorateField(EveChildSpherePin, \"color\", io.notify, io.persist, type.color);\r\n"],"names":["_EveChildSpherePin","EveChildSpherePin","EveChildMesh","e","_init_curveSets","_init_extra_curveSets","_init_centerNormal","_init_extra_centerNormal","_init_pinMaxRadius","_init_extra_pinMaxRadius","_init_pinRadius","_init_extra_pinRadius","_init_pinRotation","_init_extra_pinRotation","_init_pinAlphaThreshold","_init_extra_pinAlphaThreshold","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","list","notify","vec3","float32","carbon","method","impl","implemented","constructor","args","vec4","fromValues","pinColor","value","length","copy","color","curveSets","centerNormal","create","pinMaxRadius","pinRadius","pinRotation","pinAlphaThreshold","UpdateAsyncronous","updateContext","params","time","GetTime","currentTime","curveSet","Update","GetPerObjectData","accumulator","data","Alloc","SetAndTranspose","worldTransform","Set","Math","sin","cos","CjsSchema","decorateField"],"mappings":";;;;;;;;AAQA;AACA;AACA;AACA;AACA;AAJA,IAAAA;AAKA,MAAAC,iBAAA,SACuCC,aAAY,CACnD;AAAA,EAAA;AAAA,IAAA,CAAA;MAAAC,CAAA,EAAA,CAAAC,eAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,uBAAA,EAAAC,6BAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAAjB,kBAAA,EAAAkB,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,mBAAmB;AAAEC,MAAAA,MAAM,EAAE;AAAY,KAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAqClEC,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACM,IAAI,CAAC,aAAa,CAAC,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAIxBF,EAAE,EAAFA,EAAE,CAACG,MAAM,EACTH,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,IAAI,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAITJ,EAAE,EAAFA,EAAE,CAACG,MAAM,EACTH,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAIZL,EAAE,EAAFA,EAAE,CAACG,MAAM,EACTH,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAIZL,EAAE,EAAFA,EAAE,CAACG,MAAM,EACTH,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAIZL,EAAE,EAAFA,EAAE,CAACG,MAAM,EACTH,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAIZC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAiBhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,wCA1FoB/B,aAAY,CAAA;AAAA;AAAAgC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAApB,6BAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAGjD,EAAA,SAAS,IAAAC,UAAA,CAAA,IAAA,CAAA,EAAGoB,IAAI,CAACC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;AAEvC;EACA,IAAIC,QAAQA,GACZ;IACE,OAAO,IAAI,CAAC,SAAS;AACvB,EAAA;;AAEA;AACF;AACA;AACA;EACE,IAAIA,QAAQA,CAACC,KAAK,EAClB;AACE,IAAA,IAAIA,KAAK,EAAEC,MAAM,IAAI,CAAC,EACtB;MACEJ,IAAI,CAACK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAEF,KAAK,CAAC;AAClC,IAAA;AACF,EAAA;;AAEA;EACA,IAAIG,KAAKA,GACT;IACE,OAAO,IAAI,CAAC,SAAS;AACvB,EAAA;;AAEA;EACA,IAAIA,KAAKA,CAACH,KAAK,EACf;IACE,IAAI,CAACD,QAAQ,GAAGC,KAAK;AACvB,EAAA;;AAEA;EAGAI,SAAS,GAAAvC,eAAA,CAAA,IAAA,EAAG,EAAE,CAAA;;AAEd;EAIAwC,YAAY,IAAAvC,qBAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAGsB,IAAI,CAACiB,MAAM,EAAE,CAAA;;AAE5B;AAIAC,EAAAA,YAAY,IAAAvC,wBAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,GAAG,CAAA;;AAElB;AAIAuC,EAAAA,SAAS,IAAAtC,wBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,CAAC,CAAA;;AAEb;AAIAsC,EAAAA,WAAW,IAAArC,qBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,CAAC,CAAA;;AAEf;AAIAqC,EAAAA,iBAAiB,IAAApC,uBAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,OAAG,CAAC,CAAA;;AAErB;AAGAoC,EAAAA,iBAAiBA,CAACC,aAAa,EAAEC,MAAM,EACvC;AACE,IAAA,KAAK,CAACF,iBAAiB,CAACC,aAAa,EAAEC,MAAM,CAAC;AAC9C,IAAA,MAAMC,IAAI,GAAGF,aAAa,EAAEG,OAAO,IAAI,IAAIH,aAAa,EAAEI,WAAW,IAAI,CAAC;AAC1E,IAAA,KAAK,MAAMC,QAAQ,IAAI,IAAI,CAACb,SAAS,EACrC;AACEa,MAAAA,QAAQ,EAAEC,MAAM,GAAGJ,IAAI,EAAEA,IAAI,CAAC;AAChC,IAAA;AACF,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EAGEK,gBAAgBA,CAACC,WAAW,EAC5B;AACE,IAAA,MAAMC,IAAI,GAAGD,WAAW,CAACE,KAAK,CAAC,gCAAgC,CAAC;IAEhED,IAAI,CAACE,eAAe,CAAC,aAAa,EAAE,IAAI,CAACC,cAAc,CAAC;AACxDH,IAAAA,IAAI,CAACI,GAAG,CAAC,aAAa,EAAE,CACtB,IAAI,CAACpB,YAAY,CAAC,CAAC,CAAC,EACpB,IAAI,CAACA,YAAY,CAAC,CAAC,CAAC,EACpB,IAAI,CAACA,YAAY,CAAC,CAAC,CAAC,EACpB,IAAI,CAACG,SAAS,CACf,CAAC;AACFa,IAAAA,IAAI,CAACI,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,CAAChB,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpDY,IAAI,CAACI,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;AACpCJ,IAAAA,IAAI,CAACI,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,CAACf,iBAAiB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3DW,IAAAA,IAAI,CAACI,GAAG,CAAC,kBAAkB,EAAE,CAC3BC,IAAI,CAACC,GAAG,CAAC,IAAI,CAACnB,SAAS,CAAC,EACxBkB,IAAI,CAACE,GAAG,CAAC,IAAI,CAACpB,SAAS,CAAC,EACxBkB,IAAI,CAACC,GAAG,CAAC,IAAI,CAAClB,WAAW,CAAC,EAC1BiB,IAAI,CAACE,GAAG,CAAC,IAAI,CAACnB,WAAW,CAAC,CAC3B,CAAC;AACFY,IAAAA,IAAI,CAACI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/B,IAAA,OAAOJ,IAAI;AACb,EAAA;AAAC,EAAA;IAAA1C,UAAA,EAAA;AAAA;AAEH;AAEAkD,SAAS,CAACC,aAAa,CAACpE,kBAAiB,EAAE,UAAU,EAAEuB,EAAE,CAACG,MAAM,EAAEH,EAAE,CAACC,OAAO,EAAEL,IAAI,CAACsB,KAAK,CAAC;AACzF0B,SAAS,CAACC,aAAa,CAACpE,kBAAiB,EAAE,OAAO,EAAEuB,EAAE,CAACG,MAAM,EAAEH,EAAE,CAACC,OAAO,EAAEL,IAAI,CAACsB,KAAK,CAAC;;;;"}