@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":"EveChildInstancedMeshes.js","sources":["../../../../src/eve/child/EveChildInstancedMeshes.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildInstancedMeshes.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildInstancedMeshes.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildInstancedMeshes_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\r\nimport { CjsModel } from \"@carbonenginejs/core-types/model\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveEntity } from \"../../generated/eve/EveEntity.js\";\r\nimport { EveComponentType } from \"../EveComponentTypes.js\";\r\n\r\n\r\n@type.define({ className: \"EveChildInstancedMeshArea\", family: \"eve/child\" })\r\nexport class EveChildInstancedMeshArea extends CjsModel\r\n{\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effect = null;\r\n\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.uint32\r\n batchType = 0;\r\n\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.uint32\r\n areaIndex = 0;\r\n\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.uint32\r\n areaCount = 1;\r\n\r\n @io.read\r\n @type.float32\r\n effectHash = 0;\r\n}\r\n\r\n\r\n@type.define({ className: \"EveChildInstancedMeshInstance\", family: \"eve/child\" })\r\nexport class EveChildInstancedMeshInstance extends CjsModel\r\n{\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.mat4\r\n transform = mat4.create();\r\n\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.uint32\r\n sphereIndex = 0;\r\n}\r\n\r\n\r\n@type.define({ className: \"EveChildInstancedMesh\", family: \"eve/child\" })\r\nexport class EveChildInstancedMesh extends CjsModel\r\n{\r\n @io.persist\r\n @type.string\r\n geometryPath = \"\";\r\n\r\n @io.persist\r\n @type.boolean\r\n castsShadow = false;\r\n\r\n @io.persist\r\n @type.int32\r\n reflectionMode = 3;\r\n\r\n @io.persist\r\n @type.uint32\r\n meshIndex = 0;\r\n\r\n @io.persist\r\n @type.list(\"EveChildInstancedMeshArea\")\r\n areas = [];\r\n\r\n @io.persist\r\n @type.list(\"EveChildInstancedMeshInstance\")\r\n instances = [];\r\n\r\n @io.persist\r\n @type.string\r\n sofHullName = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofLocatorSetName = \"\";\r\n\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n #geometry = null;\r\n\r\n GetGeometryResource()\r\n {\r\n return this.#geometry;\r\n }\r\n\r\n SetGeometryResource(resource)\r\n {\r\n this.#geometry = resource ?? null;\r\n }\r\n}\r\n\r\n\r\n@type.define({ className: \"EveChildInstancedMeshes\", family: \"eve/child\" })\r\nexport class EveChildInstancedMeshes extends EveEntity\r\n{\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.read\r\n @type.mat4\r\n worldTransform = mat4.create();\r\n\r\n @io.read\r\n @type.boolean\r\n hasUpdated = false;\r\n\r\n @io.persist\r\n @type.list(\"EveChildInstancedMesh\")\r\n meshes = [];\r\n\r\n #revision = 0;\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.adapted\r\n UpdateVisibility()\r\n {\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(renderables = [])\r\n {\r\n return renderables;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere()\r\n {\r\n return false;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSyncronous(_updateContext, params)\r\n {\r\n if (params?.localToWorldTransform?.length === 16)\r\n {\r\n mat4.copy(this.worldTransform, params.localToWorldTransform);\r\n }\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n UpdateAsyncronous()\r\n {\r\n this.hasUpdated = true;\r\n }\r\n\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 Setup()\r\n {\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n ChangeLOD()\r\n {\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetOrigin()\r\n {\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n IsAlwaysOn()\r\n {\r\n return false;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetShaderOption(name, value)\r\n {\r\n for (const mesh of this.meshes)\r\n {\r\n for (const area of mesh.areas)\r\n {\r\n area.effect?.SetOption?.(name, value);\r\n area.effectHash = EveChildInstancedMeshes.#GetEffectHash(area.effect);\r\n }\r\n }\r\n this.#revision++;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n AddMesh(\r\n geometryPath,\r\n castsShadow,\r\n reflectionMode,\r\n meshIndex,\r\n areas,\r\n instanceTransforms,\r\n sofHullName = \"\",\r\n sofLocatorSetName = \"\"\r\n )\r\n {\r\n const sourceAreas = Array.from(areas ?? []);\r\n const sourceTransforms = Array.from(instanceTransforms ?? []);\r\n if (!sourceAreas.length || !sourceTransforms.length)\r\n {\r\n return false;\r\n }\r\n\r\n const normalizedAreas = sourceAreas.map(area => EveChildInstancedMeshes.#CreateArea(area));\r\n const instances = sourceTransforms.map((transform, sphereIndex) =>\r\n {\r\n if (!transform || transform.length !== 16)\r\n {\r\n throw new TypeError(\"EveChildInstancedMeshes instance transforms must contain 16 values\");\r\n }\r\n const instance = new EveChildInstancedMeshInstance();\r\n mat4.copy(instance.transform, transform);\r\n instance.sphereIndex = sphereIndex;\r\n return instance;\r\n });\r\n\r\n const mesh = new EveChildInstancedMesh();\r\n mesh.geometryPath = String(geometryPath ?? \"\");\r\n mesh.castsShadow = !!castsShadow;\r\n mesh.reflectionMode = reflectionMode === undefined ? 3 : Number(reflectionMode) | 0;\r\n mesh.meshIndex = Number(meshIndex) >>> 0;\r\n mesh.areas = normalizedAreas;\r\n mesh.instances = instances;\r\n mesh.sofHullName = String(sofHullName ?? \"\");\r\n mesh.sofLocatorSetName = String(sofLocatorSetName ?? \"\");\r\n this.meshes.push(mesh);\r\n this.#revision++;\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Clear()\r\n {\r\n this.meshes.length = 0;\r\n this.hasUpdated = false;\r\n this.#revision++;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetSofSourceLocator(areaId)\r\n {\r\n const value = Number(areaId) >>> 0;\r\n const mesh = this.meshes[value >>> 16];\r\n if (!mesh || !mesh.sofHullName)\r\n {\r\n return null;\r\n }\r\n return [mesh.sofHullName, mesh.sofLocatorSetName, value & 0xffff];\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetMeshCount()\r\n {\r\n return this.meshes.length;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetMeshInfo(meshId)\r\n {\r\n const mesh = EveChildInstancedMeshes.#GetMesh(this.meshes, meshId);\r\n return [\r\n mesh.geometryPath,\r\n mesh.GetGeometryResource(),\r\n mesh.meshIndex,\r\n mesh.castsShadow,\r\n mesh.reflectionMode,\r\n mesh.areas.length,\r\n mesh.instances.length\r\n ];\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetAreaInfo(meshId, areaId)\r\n {\r\n const mesh = EveChildInstancedMeshes.#GetMesh(this.meshes, meshId);\r\n const index = Number(areaId) >>> 0;\r\n if (index >= mesh.areas.length)\r\n {\r\n throw new RangeError(`EveChildInstancedMeshes area index ${index} is out of range`);\r\n }\r\n const area = mesh.areas[index];\r\n return [area.effect, area.batchType, area.areaIndex, area.areaCount];\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetMeshDisplay(meshId)\r\n {\r\n return EveChildInstancedMeshes.#GetMesh(this.meshes, meshId).display;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetMeshDisplay(meshId, display)\r\n {\r\n const mesh = EveChildInstancedMeshes.#GetMesh(this.meshes, meshId);\r\n const next = !!display;\r\n if (mesh.display !== next)\r\n {\r\n mesh.display = next;\r\n this.#revision++;\r\n }\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetGeometryResource(meshId, geometry)\r\n {\r\n const mesh = EveChildInstancedMeshes.#GetMesh(this.meshes, meshId);\r\n if (mesh.GetGeometryResource() !== geometry)\r\n {\r\n mesh.SetGeometryResource(geometry);\r\n this.#revision++;\r\n }\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetMeshData(meshId)\r\n {\r\n const mesh = EveChildInstancedMeshes.#GetMesh(this.meshes, meshId);\r\n return EveChildInstancedMeshes.#CloneMesh(mesh);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetRevision()\r\n {\r\n return this.#revision;\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::RegisterComponents (cpp:36-43):\r\n * unconditional InstancedMeshProvider + ShadowCaster leaf\r\n * self-registration. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n registry.RegisterComponent(EveComponentType.InstancedMeshProvider, this);\r\n registry.RegisterComponent(EveComponentType.ShadowCaster, this);\r\n }\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::UnRegisterComponents (cpp:45-48) only\r\n * calls UnregisterFromMeshManager (GPU mesh-manager handle cleanup,\r\n * unported); own components were already removed by EveEntity::UnRegister\r\n * (EveEntity.cpp:90). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"UnregisterFromMeshManager releases GPU mesh-group/sphere/per-object handles owned by the engine's EveInstancedMeshManager.\")\r\n UnRegisterComponents()\r\n {\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::AddMeshesToManager (cpp:472-535)\r\n * uploads instance data to the engine-owned EveInstancedMeshManager;\r\n * presence satisfies the \"InstancedMeshProvider\" duck contract. */\r\n @carbon.method\r\n @impl.notImplemented\r\n AddMeshesToManager(..._args)\r\n {\r\n throw new Error(\"EveChildInstancedMeshes.AddMeshesToManager is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::IsCastingShadow (cpp:73-76) always\r\n * returns false (instanced shadows cull per instance group); presence\r\n * satisfies the \"ShadowCaster\" duck contract. */\r\n @carbon.method\r\n @impl.implemented\r\n IsCastingShadow(..._args)\r\n {\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::GetShadowBatches (cpp:78-80) is an\r\n * intentional no-op (the instanced mesh manager emits the batches). */\r\n @carbon.method\r\n @impl.noop\r\n GetShadowBatches(..._args)\r\n {\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::GetShadowPerObjectData (cpp:82-85)\r\n * returns null (per-object data flows through the mesh manager). */\r\n @carbon.method\r\n @impl.implemented\r\n GetShadowPerObjectData(..._args)\r\n {\r\n return null;\r\n }\r\n\r\n static #GetMesh(meshes, meshId)\r\n {\r\n const index = Number(meshId) >>> 0;\r\n if (index >= meshes.length)\r\n {\r\n throw new RangeError(`EveChildInstancedMeshes mesh index ${index} is out of range`);\r\n }\r\n return meshes[index];\r\n }\r\n\r\n static #CreateArea(value)\r\n {\r\n const source = value ?? {};\r\n const area = new EveChildInstancedMeshArea();\r\n area.effect = source.effect ?? null;\r\n area.batchType = Number(source.batchType) >>> 0;\r\n area.areaIndex = Number(source.areaIndex) >>> 0;\r\n area.areaCount = source.areaCount === undefined ? 1 : Number(source.areaCount) >>> 0;\r\n area.effectHash = EveChildInstancedMeshes.#GetEffectHash(area.effect);\r\n return area;\r\n }\r\n\r\n static #CloneMesh(mesh)\r\n {\r\n return {\r\n geometryPath: mesh.geometryPath,\r\n geometry: mesh.GetGeometryResource(),\r\n castsShadow: mesh.castsShadow,\r\n reflectionMode: mesh.reflectionMode,\r\n meshIndex: mesh.meshIndex,\r\n areas: mesh.areas.map(area => ({ ...area })),\r\n instances: mesh.instances.map(instance => ({\r\n transform: mat4.clone(instance.transform),\r\n sphereIndex: instance.sphereIndex\r\n })),\r\n sofHullName: mesh.sofHullName,\r\n sofLocatorSetName: mesh.sofLocatorSetName,\r\n display: mesh.display\r\n };\r\n }\r\n\r\n static #GetEffectHash(effect)\r\n {\r\n const hash = effect?.GetHashValue?.() ?? effect?.hash ?? 0;\r\n return Number(hash) || 0;\r\n }\r\n\r\n}\r\n"],"names":["_EveChildInstancedMes","EveChildInstancedMeshArea","CjsModel","e","_init_effect","_init_extra_effect","_init_batchType","_init_extra_batchType","_init_areaIndex","_init_extra_areaIndex","_init_areaCount","_init_extra_areaCount","_init_effectHash","_init_extra_effectHash","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","objectRef","uint32","read","float32","constructor","args","effect","batchType","areaIndex","areaCount","effectHash","_EveChildInstancedMes2","EveChildInstancedMeshInstance","_init_transform","_init_extra_transform","_init_sphereIndex","_init_extra_sphereIndex","_initClass2","mat4","transform","create","sphereIndex","_EveChildInstancedMes3","EveChildInstancedMesh","_init_geometryPath","_init_extra_geometryPath","_init_castsShadow","_init_extra_castsShadow","_init_reflectionMode","_init_extra_reflectionMode","_init_meshIndex","_init_extra_meshIndex","_init_areas","_init_extra_areas","_init_instances","_init_extra_instances","_init_sofHullName","_init_extra_sofHullName","_init_sofLocatorSetName","_init_extra_sofLocatorSetName","_init_display","_init_extra_display","_initClass3","string","boolean","int32","list","geometryPath","castsShadow","reflectionMode","meshIndex","areas","instances","sofHullName","sofLocatorSetName","display","GetGeometryResource","SetGeometryResource","resource","_EveChildInstancedMes4","_identity","EveChildInstancedMeshes","EveEntity","_init_name","_init_extra_name","_init_worldTransform","_init_extra_worldTransform","_init_hasUpdated","_init_extra_hasUpdated","_init_meshes","_init_extra_meshes","_initProto","_initClass4","carbon","method","impl","implemented","adapted","reason","notImplemented","noop","name","worldTransform","hasUpdated","meshes","GetName","SetName","String","UpdateVisibility","GetRenderables","renderables","GetBoundingSphere","UpdateSyncronous","_updateContext","params","localToWorldTransform","length","copy","UpdateAsyncronous","GetLocalToWorldTransform","out","Setup","ChangeLOD","SetOrigin","IsAlwaysOn","SetShaderOption","value","mesh","area","SetOption","AddMesh","instanceTransforms","sourceAreas","Array","from","sourceTransforms","normalizedAreas","map","TypeError","instance","undefined","Number","push","Clear","GetSofSourceLocator","areaId","GetMeshCount","GetMeshInfo","meshId","GetAreaInfo","index","RangeError","GetMeshDisplay","SetMeshDisplay","next","geometry","GetMeshData","GetRevision","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","InstancedMeshProvider","ShadowCaster","UnRegisterComponents","AddMeshesToManager","_args","Error","IsCastingShadow","GetShadowBatches","GetShadowPerObjectData","#GetMesh","#CreateArea","source","#CloneMesh","clone","#GetEffectHash","hash","GetHashValue"],"mappings":";;;;;;;;AAO2D,IAAAA;AAG3D,MAAAC,yBAAA,SAC+CC,QAAQ,CACvD;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,GAAAC,YAAA,EAAAC,kBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,sBAAA,CAAA;MAAAC,CAAA,EAAA,CAAAd,qBAAA,EAAAe,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,2BAA2B;AAAEC,MAAAA,MAAM,EAAE;AAAY,KAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAG1EC,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACO,SAAS,CAAC,WAAW,CAAC,4BAG3BH,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,MAAM,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,MAAA,EAGXJ,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,MAAM,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,MAAA,EAGXJ,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,MAAM,uBAGXJ,EAAE,EAAFA,EAAE,CAACK,IAAI,EACPT,IAAI,EAAJA,IAAI,CAACU,OAAO,kCAvBgCzB,QAAQ,CAAA;AAAA;AAAA0B,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAhB,sBAAA,CAAA,IAAA,CAAA;AAAA,EAAA;EAKrDiB,MAAM,GAAA1B,YAAA,CAAA,IAAA,EAAG,IAAI,CAAA;AAKb2B,EAAAA,SAAS,IAAA1B,kBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,CAAC,CAAA;AAKb0B,EAAAA,SAAS,IAAAzB,qBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,CAAC,CAAA;AAKbyB,EAAAA,SAAS,IAAAxB,qBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,CAAC,CAAA;AAIbwB,EAAAA,UAAU,IAAAvB,qBAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAG,CAAC,CAAA;AAAC,EAAA;IAAAG,UAAA,EAAA;AAAA;AACjB;AAAC,IAAAoB;AAGD,MAAAC,6BAAA,SACmDlC,QAAQ,CAC3D;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,GAAAkC,eAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,uBAAA,CAAA;MAAA1B,CAAA,EAAA,CAAAqB,sBAAA,EAAAM,WAAA;AAAA,KAAA,GAAAzB,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,+BAA+B;AAAEC,MAAAA,MAAM,EAAE;AAAY,KAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAG9EC,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACyB,IAAI,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,MAAA,EAGTrB,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,MAAM,mCATqCvB,QAAQ,CAAA;AAAA;AAAA0B,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAW,uBAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAKzDG,EAAAA,SAAS,GAAAN,eAAA,CAAA,IAAA,EAAGK,IAAI,CAACE,MAAM,EAAE,CAAA;AAKzBC,EAAAA,WAAW,IAAAP,qBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,CAAC,CAAA;AAAC,EAAA;IAAAE,WAAA,EAAA;AAAA;AAClB;AAAC,IAAAK;AAGD,MAAAC,qBAAA,SAC2C7C,QAAQ,CACnD;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,EAAA,CAAA6C,kBAAA,EAAAC,wBAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,oBAAA,EAAAC,0BAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,WAAA,EAAAC,iBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,uBAAA,EAAAC,6BAAA,EAAAC,aAAA,EAAAC,mBAAA,CAAA;MAAAnD,CAAA,EAAA,CAAAgC,sBAAA,EAAAoB,WAAA;AAAA,KAAA,GAAAlD,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,uBAAuB;AAAEC,MAAAA,MAAM,EAAE;KAAa,CAAC,CAAA,EAAA,CAAA,CAAA,CAGtEC,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACkD,MAAM,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAGX9C,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACmD,OAAO,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAGZ/C,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACoD,KAAK,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAGVhD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,MAAM,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAGXJ,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACqD,IAAI,CAAC,2BAA2B,CAAC,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAGtCjD,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACqD,IAAI,CAAC,+BAA+B,CAAC,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAG1CjD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACkD,MAAM,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAGX9C,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACkD,MAAM,+BAGX9C,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACmD,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAnC4BlE,QAAQ,CAAA;AAAA;EAIjDqE,YAAY,GAAAvB,kBAAA,CAAA,IAAA,EAAG,EAAE,CAAA;AAIjBwB,EAAAA,WAAW,IAAAvB,wBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,KAAK,CAAA;AAInBuB,EAAAA,cAAc,IAAAtB,uBAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAG,CAAC,CAAA;AAIlBsB,EAAAA,SAAS,IAAArB,0BAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,CAAC,CAAA;AAIbqB,EAAAA,KAAK,IAAApB,qBAAA,CAAA,IAAA,CAAA,EAAAC,WAAA,OAAG,EAAE,CAAA;AAIVoB,EAAAA,SAAS,IAAAnB,iBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,EAAE,CAAA;AAIdmB,EAAAA,WAAW,IAAAlB,qBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,EAAE,CAAA;AAIhBkB,EAAAA,iBAAiB,IAAAjB,uBAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,OAAG,EAAE,CAAA;AAItBiB,EAAAA,OAAO,IAAAhB,6BAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,IAAI,CAAA;AAEd,EAAA,SAAS,IAAAC,mBAAA,CAAA,IAAA,CAAA,EAAG,IAAI;AAEhBe,EAAAA,mBAAmBA,GACnB;IACE,OAAO,IAAI,CAAC,SAAS;AACvB,EAAA;EAEAC,mBAAmBA,CAACC,QAAQ,EAC5B;AACE,IAAA,IAAI,CAAC,SAAS,GAAGA,QAAQ,IAAI,IAAI;AACnC,EAAA;AAAC,EAAA;IAAAhB,WAAA,EAAA;AAAA;AACH;AAAC,IAAAiB;AAAA,IAAA,cAAAC,SAAA,CAAA;AAAA,EAAA,QAGD,MAAAC,uBAAA,SAC6CC,UAAS,CACtD;AAAA,IAAA;AAAA,MAAA,CAAA;AAAAnF,QAAAA,CAAA,GAAAoF,UAAA,EAAAC,gBAAA,EAAAC,oBAAA,EAAAC,0BAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,UAAA,CAAA;QAAAjF,CAAA,EAAA,CAAAqE,sBAAA,EAAAa,WAAA;AAAA,OAAA,GAAAhF,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,yBAAyB;AAAEC,QAAAA,MAAM,EAAE;OAAa,CAAC,MAGxEC,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACkD,MAAM,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAGX9C,EAAE,EAAFA,EAAE,CAACK,IAAI,EACPT,IAAI,EAAJA,IAAI,CAACyB,IAAI,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAGTrB,EAAE,EAAFA,EAAE,CAACK,IAAI,EACPT,IAAI,EAAJA,IAAI,CAACmD,OAAO,wBAGZ/C,EAAE,EAAFA,EAAE,CAACE,OAAO,UACVN,IAAI,CAACqD,IAAI,CAAC,uBAAuB,CAAC,oBAKlC2B,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAMhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAMhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAKZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAMhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAMhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,8BAShBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAMZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,CAUhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAKhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAKhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,uBAKZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAMhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAcZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CA8CZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAQZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAYhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,0BAMhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAeZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAaZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,4BAMZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAYZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,iCAWZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAOZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAShBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAehBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,4HAA4H,CAAC,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAQzIL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACI,cAAc,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CASnBN,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,6BAQhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACK,IAAI,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAOTP,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,wBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EA5U0Bd,UAAS,CAAA;AAAA;AAIpDmB,IAAAA,IAAI,IAAAV,UAAA,CAAA,IAAA,CAAA,EAAAR,UAAA,OAAG,EAAE,CAAA;IAITmB,cAAc,IAAAlB,gBAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAG/C,IAAI,CAACE,MAAM,EAAE,CAAA;AAI9B+D,IAAAA,UAAU,IAAAjB,0BAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAG,KAAK,CAAA;AAIlBiB,IAAAA,MAAM,IAAAhB,sBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,EAAE,CAAA;AAEX,IAAA,SAAS,IAAAC,kBAAA,CAAA,IAAA,CAAA,EAAG,CAAC;AAIbe,IAAAA,OAAOA,GACP;MACE,OAAO,IAAI,CAACJ,IAAI;AAClB,IAAA;IAIAK,OAAOA,CAACL,IAAI,EACZ;MACE,IAAI,CAACA,IAAI,GAAGM,MAAM,CAACN,IAAI,IAAI,EAAE,CAAC;AAChC,IAAA;IAIAO,gBAAgBA,GAChB,CACA;AAIAC,IAAAA,cAAcA,CAACC,WAAW,GAAG,EAAE,EAC/B;AACE,MAAA,OAAOA,WAAW;AACpB,IAAA;AAIAC,IAAAA,iBAAiBA,GACjB;AACE,MAAA,OAAO,KAAK;AACd,IAAA;AAIAC,IAAAA,gBAAgBA,CAACC,cAAc,EAAEC,MAAM,EACvC;AACE,MAAA,IAAIA,MAAM,EAAEC,qBAAqB,EAAEC,MAAM,KAAK,EAAE,EAChD;QACE9E,IAAI,CAAC+E,IAAI,CAAC,IAAI,CAACf,cAAc,EAAEY,MAAM,CAACC,qBAAqB,CAAC;AAC9D,MAAA;AACF,IAAA;AAIAG,IAAAA,iBAAiBA,GACjB;MACE,IAAI,CAACf,UAAU,GAAG,IAAI;AACxB,IAAA;AAIAgB,IAAAA,wBAAwBA,CAACC,GAAG,GAAG,IAAI,EACnC;AACE,MAAA,IAAIA,GAAG,EACP;QACE,OAAOlF,IAAI,CAAC+E,IAAI,CAACG,GAAG,EAAE,IAAI,CAAClB,cAAc,CAAC;AAC5C,MAAA;MACA,OAAO,IAAI,CAACA,cAAc;AAC5B,IAAA;IAIAmB,KAAKA,GACL,CACA;IAIAC,SAASA,GACT,CACA;IAIAC,SAASA,GACT,CACA;AAIAC,IAAAA,UAAUA,GACV;AACE,MAAA,OAAO,KAAK;AACd,IAAA;AAIAC,IAAAA,eAAeA,CAACxB,IAAI,EAAEyB,KAAK,EAC3B;AACE,MAAA,KAAK,MAAMC,IAAI,IAAI,IAAI,CAACvB,MAAM,EAC9B;AACE,QAAA,KAAK,MAAMwB,IAAI,IAAID,IAAI,CAACxD,KAAK,EAC7B;UACEyD,IAAI,CAACtG,MAAM,EAAEuG,SAAS,GAAG5B,IAAI,EAAEyB,KAAK,CAAC;UACrCE,IAAI,CAAClG,UAAU,GAAGmD,sBAAuB,CAAC,cAAc,CAAC+C,IAAI,CAACtG,MAAM,CAAC;AACvE,QAAA;AACF,MAAA;MACA,IAAI,CAAC,SAAS,EAAE;AAClB,IAAA;IAIAwG,OAAOA,CACL/D,YAAY,EACZC,WAAW,EACXC,cAAc,EACdC,SAAS,EACTC,KAAK,EACL4D,kBAAkB,EAClB1D,WAAW,GAAG,EAAE,EAChBC,iBAAiB,GAAG,EAAE,EAExB;MACE,MAAM0D,WAAW,GAAGC,KAAK,CAACC,IAAI,CAAC/D,KAAK,IAAI,EAAE,CAAC;MAC3C,MAAMgE,gBAAgB,GAAGF,KAAK,CAACC,IAAI,CAACH,kBAAkB,IAAI,EAAE,CAAC;MAC7D,IAAI,CAACC,WAAW,CAAChB,MAAM,IAAI,CAACmB,gBAAgB,CAACnB,MAAM,EACnD;AACE,QAAA,OAAO,KAAK;AACd,MAAA;AAEA,MAAA,MAAMoB,eAAe,GAAGJ,WAAW,CAACK,GAAG,CAACT,IAAI,IAAI/C,sBAAuB,CAAC,WAAW,CAAC+C,IAAI,CAAC,CAAC;MAC1F,MAAMxD,SAAS,GAAG+D,gBAAgB,CAACE,GAAG,CAAC,CAAClG,SAAS,EAAEE,WAAW,KAC9D;QACE,IAAI,CAACF,SAAS,IAAIA,SAAS,CAAC6E,MAAM,KAAK,EAAE,EACzC;AACE,UAAA,MAAM,IAAIsB,SAAS,CAAC,oEAAoE,CAAC;AAC3F,QAAA;AACA,QAAA,MAAMC,QAAQ,GAAG,IAAI3G,sBAA6B,EAAE;QACpDM,IAAI,CAAC+E,IAAI,CAACsB,QAAQ,CAACpG,SAAS,EAAEA,SAAS,CAAC;QACxCoG,QAAQ,CAAClG,WAAW,GAAGA,WAAW;AAClC,QAAA,OAAOkG,QAAQ;AACjB,MAAA,CAAC,CAAC;AAEF,MAAA,MAAMZ,IAAI,GAAG,IAAIpF,sBAAqB,EAAE;MACxCoF,IAAI,CAAC5D,YAAY,GAAGwC,MAAM,CAACxC,YAAY,IAAI,EAAE,CAAC;AAC9C4D,MAAAA,IAAI,CAAC3D,WAAW,GAAG,CAAC,CAACA,WAAW;AAChC2D,MAAAA,IAAI,CAAC1D,cAAc,GAAGA,cAAc,KAAKuE,SAAS,GAAG,CAAC,GAAGC,MAAM,CAACxE,cAAc,CAAC,GAAG,CAAC;MACnF0D,IAAI,CAACzD,SAAS,GAAGuE,MAAM,CAACvE,SAAS,CAAC,KAAK,CAAC;MACxCyD,IAAI,CAACxD,KAAK,GAAGiE,eAAe;MAC5BT,IAAI,CAACvD,SAAS,GAAGA,SAAS;MAC1BuD,IAAI,CAACtD,WAAW,GAAGkC,MAAM,CAAClC,WAAW,IAAI,EAAE,CAAC;MAC5CsD,IAAI,CAACrD,iBAAiB,GAAGiC,MAAM,CAACjC,iBAAiB,IAAI,EAAE,CAAC;AACxD,MAAA,IAAI,CAAC8B,MAAM,CAACsC,IAAI,CAACf,IAAI,CAAC;MACtB,IAAI,CAAC,SAAS,EAAE;AAChB,MAAA,OAAO,IAAI;AACb,IAAA;AAIAgB,IAAAA,KAAKA,GACL;AACE,MAAA,IAAI,CAACvC,MAAM,CAACY,MAAM,GAAG,CAAC;MACtB,IAAI,CAACb,UAAU,GAAG,KAAK;MACvB,IAAI,CAAC,SAAS,EAAE;AAClB,IAAA;IAIAyC,mBAAmBA,CAACC,MAAM,EAC1B;AACE,MAAA,MAAMnB,KAAK,GAAGe,MAAM,CAACI,MAAM,CAAC,KAAK,CAAC;MAClC,MAAMlB,IAAI,GAAG,IAAI,CAACvB,MAAM,CAACsB,KAAK,KAAK,EAAE,CAAC;AACtC,MAAA,IAAI,CAACC,IAAI,IAAI,CAACA,IAAI,CAACtD,WAAW,EAC9B;AACE,QAAA,OAAO,IAAI;AACb,MAAA;AACA,MAAA,OAAO,CAACsD,IAAI,CAACtD,WAAW,EAAEsD,IAAI,CAACrD,iBAAiB,EAAEoD,KAAK,GAAG,MAAM,CAAC;AACnE,IAAA;AAIAoB,IAAAA,YAAYA,GACZ;AACE,MAAA,OAAO,IAAI,CAAC1C,MAAM,CAACY,MAAM;AAC3B,IAAA;IAIA+B,WAAWA,CAACC,MAAM,EAClB;AACE,MAAA,MAAMrB,IAAI,GAAG9C,sBAAuB,CAAC,QAAQ,CAAC,IAAI,CAACuB,MAAM,EAAE4C,MAAM,CAAC;AAClE,MAAA,OAAO,CACLrB,IAAI,CAAC5D,YAAY,EACjB4D,IAAI,CAACnD,mBAAmB,EAAE,EAC1BmD,IAAI,CAACzD,SAAS,EACdyD,IAAI,CAAC3D,WAAW,EAChB2D,IAAI,CAAC1D,cAAc,EACnB0D,IAAI,CAACxD,KAAK,CAAC6C,MAAM,EACjBW,IAAI,CAACvD,SAAS,CAAC4C,MAAM,CACtB;AACH,IAAA;AAIAiC,IAAAA,WAAWA,CAACD,MAAM,EAAEH,MAAM,EAC1B;AACE,MAAA,MAAMlB,IAAI,GAAG9C,sBAAuB,CAAC,QAAQ,CAAC,IAAI,CAACuB,MAAM,EAAE4C,MAAM,CAAC;AAClE,MAAA,MAAME,KAAK,GAAGT,MAAM,CAACI,MAAM,CAAC,KAAK,CAAC;AAClC,MAAA,IAAIK,KAAK,IAAIvB,IAAI,CAACxD,KAAK,CAAC6C,MAAM,EAC9B;AACE,QAAA,MAAM,IAAImC,UAAU,CAAC,CAAA,mCAAA,EAAsCD,KAAK,kBAAkB,CAAC;AACrF,MAAA;AACA,MAAA,MAAMtB,IAAI,GAAGD,IAAI,CAACxD,KAAK,CAAC+E,KAAK,CAAC;AAC9B,MAAA,OAAO,CAACtB,IAAI,CAACtG,MAAM,EAAEsG,IAAI,CAACrG,SAAS,EAAEqG,IAAI,CAACpG,SAAS,EAAEoG,IAAI,CAACnG,SAAS,CAAC;AACtE,IAAA;IAIA2H,cAAcA,CAACJ,MAAM,EACrB;AACE,MAAA,OAAOnE,sBAAuB,CAAC,QAAQ,CAAC,IAAI,CAACuB,MAAM,EAAE4C,MAAM,CAAC,CAACzE,OAAO;AACtE,IAAA;AAIA8E,IAAAA,cAAcA,CAACL,MAAM,EAAEzE,OAAO,EAC9B;AACE,MAAA,MAAMoD,IAAI,GAAG9C,sBAAuB,CAAC,QAAQ,CAAC,IAAI,CAACuB,MAAM,EAAE4C,MAAM,CAAC;AAClE,MAAA,MAAMM,IAAI,GAAG,CAAC,CAAC/E,OAAO;AACtB,MAAA,IAAIoD,IAAI,CAACpD,OAAO,KAAK+E,IAAI,EACzB;QACE3B,IAAI,CAACpD,OAAO,GAAG+E,IAAI;QACnB,IAAI,CAAC,SAAS,EAAE;AAClB,MAAA;AACF,IAAA;AAIA7E,IAAAA,mBAAmBA,CAACuE,MAAM,EAAEO,QAAQ,EACpC;AACE,MAAA,MAAM5B,IAAI,GAAG9C,sBAAuB,CAAC,QAAQ,CAAC,IAAI,CAACuB,MAAM,EAAE4C,MAAM,CAAC;AAClE,MAAA,IAAIrB,IAAI,CAACnD,mBAAmB,EAAE,KAAK+E,QAAQ,EAC3C;AACE5B,QAAAA,IAAI,CAAClD,mBAAmB,CAAC8E,QAAQ,CAAC;QAClC,IAAI,CAAC,SAAS,EAAE;AAClB,MAAA;AACF,IAAA;IAIAC,WAAWA,CAACR,MAAM,EAClB;AACE,MAAA,MAAMrB,IAAI,GAAG9C,sBAAuB,CAAC,QAAQ,CAAC,IAAI,CAACuB,MAAM,EAAE4C,MAAM,CAAC;AAClE,MAAA,OAAOnE,sBAAuB,CAAC,UAAU,CAAC8C,IAAI,CAAC;AACjD,IAAA;AAIA8B,IAAAA,WAAWA,GACX;MACE,OAAO,IAAI,CAAC,SAAS;AACvB,IAAA;;AAEA;AACF;AACA;AAGEC,IAAAA,kBAAkBA,GAClB;AACE,MAAA,MAAMC,QAAQ,GAAG,IAAI,CAACC,oBAAoB,EAAE;AAC5C,MAAA,IAAID,QAAQ,EACZ;QACEA,QAAQ,CAACE,iBAAiB,CAACC,gBAAgB,CAACC,qBAAqB,EAAE,IAAI,CAAC;QACxEJ,QAAQ,CAACE,iBAAiB,CAACC,gBAAgB,CAACE,YAAY,EAAE,IAAI,CAAC;AACjE,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AACA;IAIEC,oBAAoBA,GACpB,CACA;;AAEA;AACF;AACA;IAGEC,kBAAkBA,CAAC,GAAGC,KAAK,EAC3B;AACE,MAAA,MAAM,IAAIC,KAAK,CAAC,kFAAkF,CAAC;AACrG,IAAA;;AAEA;AACF;AACA;IAGEC,eAAeA,CAAC,GAAGF,KAAK,EACxB;AACE,MAAA,OAAO,KAAK;AACd,IAAA;;AAEA;AACF;AAGEG,IAAAA,gBAAgBA,CAAC,GAAGH,KAAK,EACzB,CACA;;AAEA;AACF;IAGEI,sBAAsBA,CAAC,GAAGJ,KAAK,EAC/B;AACE,MAAA,OAAO,IAAI;AACb,IAAA;GAiDD;AA/CQ,EAAA,QAAQK,CAACpE,MAAM,EAAE4C,MAAM,EAC9B;AACE,IAAA,MAAME,KAAK,GAAGT,MAAM,CAACO,MAAM,CAAC,KAAK,CAAC;AAClC,IAAA,IAAIE,KAAK,IAAI9C,MAAM,CAACY,MAAM,EAC1B;AACE,MAAA,MAAM,IAAImC,UAAU,CAAC,CAAA,mCAAA,EAAsCD,KAAK,kBAAkB,CAAC;AACrF,IAAA;IACA,OAAO9C,MAAM,CAAC8C,KAAK,CAAC;AACtB,EAAA;EAEO,WAAWuB,CAAC/C,KAAK,EACxB;AACE,IAAA,MAAMgD,MAAM,GAAGhD,KAAK,IAAI,EAAE;AAC1B,IAAA,MAAME,IAAI,GAAG,IAAInI,qBAAyB,EAAE;AAC5CmI,IAAAA,IAAI,CAACtG,MAAM,GAAGoJ,MAAM,CAACpJ,MAAM,IAAI,IAAI;IACnCsG,IAAI,CAACrG,SAAS,GAAGkH,MAAM,CAACiC,MAAM,CAACnJ,SAAS,CAAC,KAAK,CAAC;IAC/CqG,IAAI,CAACpG,SAAS,GAAGiH,MAAM,CAACiC,MAAM,CAAClJ,SAAS,CAAC,KAAK,CAAC;AAC/CoG,IAAAA,IAAI,CAACnG,SAAS,GAAGiJ,MAAM,CAACjJ,SAAS,KAAK+G,SAAS,GAAG,CAAC,GAAGC,MAAM,CAACiC,MAAM,CAACjJ,SAAS,CAAC,KAAK,CAAC;IACpFmG,IAAI,CAAClG,UAAU,GAAGmD,sBAAuB,CAAC,cAAc,CAAC+C,IAAI,CAACtG,MAAM,CAAC;AACrE,IAAA,OAAOsG,IAAI;AACb,EAAA;EAEO,UAAU+C,CAAChD,IAAI,EACtB;IACE,OAAO;MACL5D,YAAY,EAAE4D,IAAI,CAAC5D,YAAY;AAC/BwF,MAAAA,QAAQ,EAAE5B,IAAI,CAACnD,mBAAmB,EAAE;MACpCR,WAAW,EAAE2D,IAAI,CAAC3D,WAAW;MAC7BC,cAAc,EAAE0D,IAAI,CAAC1D,cAAc;MACnCC,SAAS,EAAEyD,IAAI,CAACzD,SAAS;MACzBC,KAAK,EAAEwD,IAAI,CAACxD,KAAK,CAACkE,GAAG,CAACT,IAAI,KAAK;QAAE,GAAGA;AAAK,OAAC,CAAC,CAAC;MAC5CxD,SAAS,EAAEuD,IAAI,CAACvD,SAAS,CAACiE,GAAG,CAACE,QAAQ,KAAK;QACzCpG,SAAS,EAAED,IAAI,CAAC0I,KAAK,CAACrC,QAAQ,CAACpG,SAAS,CAAC;QACzCE,WAAW,EAAEkG,QAAQ,CAAClG;AACxB,OAAC,CAAC,CAAC;MACHgC,WAAW,EAAEsD,IAAI,CAACtD,WAAW;MAC7BC,iBAAiB,EAAEqD,IAAI,CAACrD,iBAAiB;MACzCC,OAAO,EAAEoD,IAAI,CAACpD;KACf;AACH,EAAA;EAEO,cAAcsG,CAACvJ,MAAM,EAC5B;AACE,IAAA,MAAMwJ,IAAI,GAAGxJ,MAAM,EAAEyJ,YAAY,IAAI,IAAIzJ,MAAM,EAAEwJ,IAAI,IAAI,CAAC;AAC1D,IAAA,OAAOrC,MAAM,CAACqC,IAAI,CAAC,IAAI,CAAC;AAC1B,EAAA;EAAC1J,WAAAA,GAAA;IAAA,KAAA,CAAAuD,sBAAA,GAAAa,WAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
1
+ {"version":3,"file":"EveChildInstancedMeshes.js","sources":["../../../../src/eve/child/EveChildInstancedMeshes.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildInstancedMeshes.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildInstancedMeshes.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildInstancedMeshes_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveEntity } from \"../EveEntity.js\";\r\nimport { EveComponentType, ShouldReflect } from \"../EveComponentTypes.js\";\r\nimport { RawData } from \"../../trinityCore/rawData/RawData.js\";\r\n\r\n/** Carbon EveInstancedMeshManager::InstanceFlags (EveInstancedMeshManager.h:\r\n * 13-26, cpp:998-1048): a uint32 bitfield - bit (1 << batchType) per present\r\n * batch type, CASTS_SHADOW = 1 << 30, RENDER_IN_REFLECTION = 1 << 31. */\r\nexport const INSTANCE_FLAG_CASTS_SHADOW = 0x40000000;\r\nexport const INSTANCE_FLAG_RENDER_IN_REFLECTION = 0x80000000;\r\n\r\nconst POSITION_SCRATCH = vec3.create();\r\n\r\n\r\n/**\r\n * One shader area of an instanced mesh: the effect, its batch type, the area\r\n * range within the mesh, its cached effect hash and the mesh-group handle it is\r\n * registered under.\r\n */\r\n@type.define({ className: \"EveChildInstancedMeshArea\", family: \"eve/child\" })\r\nexport class EveChildInstancedMeshArea extends CjsModel\r\n{\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effect = null;\r\n\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.uint32\r\n batchType = 0;\r\n\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.uint32\r\n areaIndex = 0;\r\n\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.uint32\r\n areaCount = 1;\r\n\r\n @io.read\r\n @type.float32\r\n effectHash = 0;\r\n\r\n /** Carbon MeshArea::meshGroupHandle (EveChildInstancedMeshes.h:72) - the\r\n * manager registration handle; runtime state, not persisted. Truthy handles\r\n * carry .owner for the removal routing (EveInstancedMeshManager.h:41-72). */\r\n meshGroupHandle = null;\r\n}\r\n\r\n\r\n/**\r\n * A single placement of an instanced mesh: its transform and the index of its\r\n * cull sphere in the owning mesh's instance sphere list.\r\n */\r\n@type.define({ className: \"EveChildInstancedMeshInstance\", family: \"eve/child\" })\r\nexport class EveChildInstancedMeshInstance extends CjsModel\r\n{\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.mat4\r\n transform = mat4.create();\r\n\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.uint32\r\n sphereIndex = 0;\r\n}\r\n\r\n\r\n/**\r\n * One geometry-and-areas record inside an EveChildInstancedMeshes child, holding\r\n * its instance placements, per-instance world cull spheres, instance flags and\r\n * manager registration handles.\r\n */\r\n@type.define({ className: \"EveChildInstancedMesh\", family: \"eve/child\" })\r\nexport class EveChildInstancedMesh extends CjsModel\r\n{\r\n @io.persist\r\n @type.string\r\n geometryPath = \"\";\r\n\r\n @io.persist\r\n @type.boolean\r\n castsShadow = false;\r\n\r\n @io.persist\r\n @type.int32\r\n reflectionMode = 3;\r\n\r\n @io.persist\r\n @type.uint32\r\n meshIndex = 0;\r\n\r\n @io.persist\r\n @type.list(\"EveChildInstancedMeshArea\")\r\n areas = [];\r\n\r\n @io.persist\r\n @type.list(\"EveChildInstancedMeshInstance\")\r\n instances = [];\r\n\r\n @io.persist\r\n @type.string\r\n sofHullName = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofLocatorSetName = \"\";\r\n\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n /** Carbon Mesh::sphereHandle (h:110) - manager registration handle;\r\n * runtime state, not persisted. */\r\n sphereHandle = null;\r\n\r\n /** Carbon Mesh::worldBoundingSphere - stamped by UpdateAsyncronous\r\n * (cpp:270); the TriFrustum sphere-duck shape. */\r\n worldBoundingSphere = { center: vec3.create(), radius: 0 };\r\n\r\n /** Carbon Mesh::instanceSpheres - per-instance world cull spheres, stamped\r\n * by UpdateAsyncronous (cpp:259-269). */\r\n instanceSpheres = [];\r\n\r\n /** Carbon Mesh::flags (InstanceFlags uint32) - batch-type bits stamped at\r\n * AddMesh (cpp:422-425), CASTS_SHADOW at AddMesh (cpp:418-421),\r\n * RENDER_IN_REFLECTION refreshed each async pass (cpp:251). */\r\n flags = 0;\r\n\r\n #geometry = null;\r\n\r\n /**\r\n * Returns the geometry resource backing this mesh, or null while none has been\r\n * assigned; the mesh does not register with the manager until it is present\r\n * and good.\r\n */\r\n GetGeometryResource()\r\n {\r\n return this.#geometry;\r\n }\r\n\r\n /**\r\n * Assigns the geometry resource this mesh renders from; a nullish value clears\r\n * it. Runtime state, deliberately not persisted.\r\n */\r\n SetGeometryResource(resource)\r\n {\r\n this.#geometry = resource ?? null;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Space-object child that hands batches of instanced meshes to the engine's\r\n * instanced mesh manager, owning their registration handles, instance flags and\r\n * world cull bounds.\r\n */\r\n@type.define({ className: \"EveChildInstancedMeshes\", family: \"eve/child\" })\r\nexport class EveChildInstancedMeshes extends EveEntity\r\n{\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.read\r\n @type.mat4\r\n worldTransform = mat4.create();\r\n\r\n @io.read\r\n @type.boolean\r\n hasUpdated = false;\r\n\r\n @io.persist\r\n @type.list(\"EveChildInstancedMesh\")\r\n meshes = [];\r\n\r\n #revision = 0;\r\n\r\n /** Carbon m_perObjectDataHandle (h:143) - manager registration handle. */\r\n #perObjectDataHandle = null;\r\n\r\n /**\r\n * Carbon m_perObjectData (EveSpacePerObjectData): the PERSISTENT per-instance\r\n * record the mesh manager uploads into its structured buffer.\r\n */\r\n #perObjectData = RawData.create(\"EveSpacePerObjectData\");\r\n\r\n static #inverseScratch = mat4.create();\n\n /** EVE_SPACEOBJECT_CUSTOWMASK_MAX (EveSpaceObject2.h:49). */\n static CUSTOM_MASK_COUNT = 2;\r\n\r\n /** Carbon m_allRegistered (h:147) - the AddMeshesToManager retry latch:\r\n * set optimistically each pass, cleared by ANY not-ready mesh/area so the\r\n * per-frame CollectMeshes retries until geometry streams in. */\r\n #allRegistered = false;\r\n\r\n /**\r\n * The authored name, persisted with the child and used to identify it in the\r\n * parent graph.\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 /** Sets the authored child name, coercing nullish to the empty string. */\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 /**\r\n * Carbon EveChildInstancedMeshes::UpdateVisibility (cpp:183-186) only caches\r\n * the frame's camera frustum for later use; the JS port has no consumer for\r\n * that cache, so the frame hook does nothing.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n UpdateVisibility()\r\n {\r\n }\r\n\r\n /**\r\n * Carbon EveChildInstancedMeshes::GetRenderables (cpp:188-190) collects\r\n * nothing: the instanced mesh manager emits the draws, so the accumulator\r\n * comes back unchanged.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(renderables = [])\r\n {\r\n return renderables;\r\n }\r\n\r\n /**\r\n * Carbon EveChildInstancedMeshes::GetBoundingSphere (cpp:192-195) always\r\n * returns false - the child publishes no bounds of its own, because each mesh\r\n * registers its own sphere group with the manager.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere()\r\n {\r\n return false;\r\n }\r\n\r\n /**\r\n * Carbon EveChildInstancedMeshes::UpdateAsyncronous (cpp:204-238): the\r\n * per-instance record is this child's own transforms plus the hull values it\r\n * inherits, flattened into ONE struct - EveSpacePerObjectData carries both\r\n * the VS and PS halves because the manager uploads it as a single instance.\r\n * @param {Object} parent - the space-object parent, when there is one\r\n */\r\n #UpdatePerObjectData(parent)\r\n {\r\n const record = this.#perObjectData;\r\n\r\n // cpp:211: the STORED (already transposed) transform rolls into last.\r\n record.SetAndTranspose(\"worldTransformLast\", record.GetTransposed(\"worldTransform\"));\r\n record.SetAndTranspose(\"worldTransform\", this.worldTransform);\r\n\r\n // cpp:214 inverts the transposed matrix; by carbon-math-conventions F2 that\r\n // equals the transpose of the logical inverse, which is what this produces.\r\n const inverse = EveChildInstancedMeshes.#inverseScratch;\r\n if (!mat4.invert(inverse, this.worldTransform))\r\n {\r\n mat4.identity(inverse);\r\n }\r\n record.SetAndTranspose(\"invWorldTransform\", inverse);\r\n\r\n if (typeof parent?.GetPerObjectStructs !== \"function\")\r\n {\r\n return;\r\n }\r\n\r\n const { vs, ps } = parent.GetPerObjectStructs();\r\n\r\n for (const name of [ \"shipData\", \"clipSphereCenter\", \"clipRadiusSq\", \"clipRadius2Sq\",\r\n \"impactDataOffset\", \"clipSphereFactor2\", \"clipSphereFactor\" ])\r\n {\r\n record.Set(name, ps.Get(name));\r\n }\r\n for (const name of [ \"ellpsoidRadii\", \"ellpsoidCenter\", \"customData\" ])\r\n {\r\n record.Set(name, vs.Get(name));\r\n }\r\n record.Set(\"customMaskClamps\", ps.Get(\"customMaskClamps\"));\r\n record.Set(\"boneOffsets\", vs.Get(\"boneOffsets\"));\r\n\r\n for (let slot = 0; slot < EveChildInstancedMeshes.CUSTOM_MASK_COUNT; slot++)\r\n {\r\n record.SetAndTransposeIndex(\"customMaskMatrix\", slot, vs.GetTransposedIndex(\"customMaskMatrix\", slot));\r\n record.SetIndex(\"customMaskData\", slot, vs.GetIndex(\"customMaskData\", slot));\r\n record.SetIndex(\"customMaskMaterialIDs\", slot, ps.GetIndex(\"customMaskMaterialIDs\", slot));\r\n record.SetIndex(\"customMaskTargets\", slot, ps.GetIndex(\"customMaskTargets\", slot));\r\n }\r\n\r\n // cpp:238: the PS record's coefficients land in the record's shLighting.\r\n record.Set(\"shLighting\", ps.Get(\"shLightingCoefficients\"));\r\n }\r\n\r\n /**\r\n * Stamps the child's world transform from the parent's localToWorldTransform\r\n * (Carbon cpp:197-200); every per-instance cull sphere the async pass builds\r\n * is derived from it.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSyncronous(_updateContext, params)\r\n {\r\n if (params?.localToWorldTransform?.length === 16)\r\n {\r\n mat4.copy(this.worldTransform, params.localToWorldTransform);\r\n }\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::UpdateAsyncronous (cpp:202-328), the CPU\r\n * half: per-mesh RENDER_IN_REFLECTION refresh (cpp:251), the mesh-local\r\n * bounds sphere radius = |center| + radius (cpp:254-255), per-instance\r\n * world cull spheres - position from the instance translation (Carbon reads\r\n * the packed rows' w = _41.._43, i.e. the transform translation) moved\r\n * through the child world transform, radius scaled by the instance's max\r\n * basis length times the child worldScale (cpp:259-269; NOTE Carbon's two\r\n * scale extractions deliberately differ - worldScale uses the world\r\n * transform's basis ROWS while the instance scale uses the packed rows'\r\n * xyz = the transpose's rows; equal under rotation + uniform scale,\r\n * ported exactly) - the world bounding sphere over all instance spheres\r\n * (cpp:257-270), a live SetSphereGroupBounds refresh on registered handles\r\n * (cpp:272-278), and the hasUpdated stamp (cpp:281). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The EveSpaceObjectVS/PSData per-object constant copy (cpp:204-238) and the raytracing mesh build (cpp:283-327) are engine-owned; mesh bounds come from a GetMeshData duck ({minBounds, maxBounds}) and meshes without one are skipped fail-closed.\")\r\n UpdateAsyncronous(_updateContext, _params)\r\n {\r\n const w = this.worldTransform;\r\n // cpp:240-242 - worldScale from the world transform's basis rows.\r\n const worldScale = Math.max(\r\n Math.hypot(w[0], w[1], w[2]),\r\n Math.hypot(w[4], w[5], w[6]),\r\n Math.hypot(w[8], w[9], w[10])\r\n );\r\n\r\n for (const mesh of this.meshes)\r\n {\r\n const geometry = mesh.GetGeometryResource();\r\n if (!geometry || geometry.IsGood?.() === false)\r\n {\r\n continue;\r\n }\r\n\r\n // cpp:251 - refreshed every pass (set OR cleared).\r\n mesh.flags = ShouldReflect(mesh.reflectionMode)\r\n ? (mesh.flags | INSTANCE_FLAG_RENDER_IN_REFLECTION) >>> 0\r\n : (mesh.flags & ~INSTANCE_FLAG_RENDER_IN_REFLECTION) >>> 0;\r\n\r\n const meshData = geometry.GetMeshData?.(mesh.meshIndex);\r\n const minBounds = meshData?.minBounds ?? meshData?.m_minBounds;\r\n const maxBounds = meshData?.maxBounds ?? meshData?.m_maxBounds;\r\n if (!minBounds || !maxBounds)\r\n {\r\n continue;\r\n }\r\n // cpp:254-255 - Sphere(AABB): center (min+max)/2, radius |max-min|/2;\r\n // then radius = sphere.radius + |sphere.center| (origin-inclusive).\r\n const centerX = (minBounds[0] + maxBounds[0]) * 0.5;\r\n const centerY = (minBounds[1] + maxBounds[1]) * 0.5;\r\n const centerZ = (minBounds[2] + maxBounds[2]) * 0.5;\r\n const localRadius =\r\n Math.hypot(maxBounds[0] - minBounds[0], maxBounds[1] - minBounds[1], maxBounds[2] - minBounds[2]) * 0.5 +\r\n Math.hypot(centerX, centerY, centerZ);\r\n\r\n mesh.instanceSpheres.length = mesh.instances.length;\r\n let boundsMinX = Infinity, boundsMinY = Infinity, boundsMinZ = Infinity;\r\n let boundsMaxX = -Infinity, boundsMaxY = -Infinity, boundsMaxZ = -Infinity;\r\n for (let index = 0; index < mesh.instances.length; index++)\r\n {\r\n const transform = mesh.instances[index].transform;\r\n // cpp:261 - packed rows' w = the transform translation (gl [12..14]).\r\n POSITION_SCRATCH[0] = transform[12];\r\n POSITION_SCRATCH[1] = transform[13];\r\n POSITION_SCRATCH[2] = transform[14];\r\n // cpp:262-264 - instance scale from the packed rows' xyz (the\r\n // transpose's rows: gl (t[0],t[4],t[8]) / (t[1],t[5],t[9]) /\r\n // (t[2],t[6],t[10])) - deliberately NOT the same extraction as\r\n // worldScale above.\r\n const scale = Math.max(\r\n Math.hypot(transform[0], transform[4], transform[8]),\r\n Math.hypot(transform[1], transform[5], transform[9]),\r\n Math.hypot(transform[2], transform[6], transform[10])\r\n ) * worldScale;\r\n vec3.transformMat4(POSITION_SCRATCH, POSITION_SCRATCH, w);\r\n\r\n const radius = localRadius * scale;\r\n const sphere = mesh.instanceSpheres[index] ??= { center: vec3.create(), radius: 0 };\r\n vec3.copy(sphere.center, POSITION_SCRATCH);\r\n sphere.radius = radius;\r\n\r\n boundsMinX = Math.min(boundsMinX, POSITION_SCRATCH[0] - radius);\r\n boundsMinY = Math.min(boundsMinY, POSITION_SCRATCH[1] - radius);\r\n boundsMinZ = Math.min(boundsMinZ, POSITION_SCRATCH[2] - radius);\r\n boundsMaxX = Math.max(boundsMaxX, POSITION_SCRATCH[0] + radius);\r\n boundsMaxY = Math.max(boundsMaxY, POSITION_SCRATCH[1] + radius);\r\n boundsMaxZ = Math.max(boundsMaxZ, POSITION_SCRATCH[2] + radius);\r\n }\r\n if (mesh.instances.length)\r\n {\r\n // cpp:270 - Sphere(worldBounds).\r\n const sphereCenter = mesh.worldBoundingSphere.center;\r\n sphereCenter[0] = (boundsMinX + boundsMaxX) * 0.5;\r\n sphereCenter[1] = (boundsMinY + boundsMaxY) * 0.5;\r\n sphereCenter[2] = (boundsMinZ + boundsMaxZ) * 0.5;\r\n mesh.worldBoundingSphere.radius =\r\n Math.hypot(boundsMaxX - boundsMinX, boundsMaxY - boundsMinY, boundsMaxZ - boundsMinZ) * 0.5;\r\n\r\n // cpp:272-278 - live refresh of a registered sphere group.\r\n if (mesh.sphereHandle)\r\n {\r\n mesh.sphereHandle.owner?.SetSphereGroupBounds?.(mesh.sphereHandle, mesh.worldBoundingSphere, mesh.flags);\r\n }\r\n }\r\n }\r\n\r\n this.hasUpdated = true;\r\n }\r\n\r\n /**\r\n * Returns the child's world transform as stamped by the last sync update.\r\n * @param {Float32Array} [out] - caller-owned; when given, receives a copy and is returned instead of the live matrix\r\n * @returns {Float32Array} out when supplied, otherwise the live internal matrix\r\n */\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 /**\r\n * Carbon EveChildInstancedMeshes::Setup (cpp:335-337) is an intentional no-op:\r\n * placement comes from the authored per-instance transforms, not from an SRT\r\n * setup.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Setup()\r\n {\r\n }\r\n\r\n /**\r\n * Carbon EveChildInstancedMeshes::ChangeLOD (cpp:339-341) is an intentional\r\n * no-op; the child keeps no LOD state.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n ChangeLOD()\r\n {\r\n }\r\n\r\n /**\r\n * Accepts and discards the placement origin; this child has no Carbon origin\r\n * field and stores none.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetOrigin()\r\n {\r\n }\r\n\r\n /**\r\n * Returns false, so owners treat this child as subject to normal activation\r\n * gating.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n IsAlwaysOn()\r\n {\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::SetShaderOption (cpp:343-359): flips the\r\n * option and refreshes the effect hash on every area, then removes any\r\n * registered mesh-group handle and clears the latch - so the groups\r\n * re-register with the NEW effectHash on the next AddMeshesToManager pass.\r\n * Sphere/per-object handles deliberately stay registered. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon dereferences area.effect unguarded; the JS option write is optional-chained. Handle removal + latch clear are ported.\")\r\n SetShaderOption(name, value)\r\n {\r\n for (const mesh of this.meshes)\r\n {\r\n for (const area of mesh.areas)\r\n {\r\n area.effect?.SetOption?.(name, value);\r\n area.effectHash = EveChildInstancedMeshes.#GetEffectHash(area.effect);\r\n if (area.meshGroupHandle)\r\n {\r\n area.meshGroupHandle.owner?.RemoveMeshGroup?.(area.meshGroupHandle);\r\n area.meshGroupHandle = null;\r\n this.#allRegistered = false;\r\n }\r\n }\r\n }\r\n this.#revision++;\r\n }\r\n\r\n /**\r\n * Appends one instanced mesh: normalizes the area ducks, copies the instance transforms, stamps CASTS_SHADOW plus one flag bit per area batch type (Carbon cpp:418-425), and clears the registration latch so the next AddMeshesToManager pass picks it up.\r\n * @param {Iterable} areas - area ducks ({effect, batchType, areaIndex, areaCount})\r\n * @param {Iterable<Float32Array>} instanceTransforms - 16-value matrices; copied, not retained\r\n * @returns {Boolean} false when no areas or no instances were supplied (nothing is added)\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n AddMesh(\r\n geometryPath,\r\n castsShadow,\r\n reflectionMode,\r\n meshIndex,\r\n areas,\r\n instanceTransforms,\r\n sofHullName = \"\",\r\n sofLocatorSetName = \"\"\r\n )\r\n {\r\n const sourceAreas = Array.from(areas ?? []);\r\n const sourceTransforms = Array.from(instanceTransforms ?? []);\r\n if (!sourceAreas.length || !sourceTransforms.length)\r\n {\r\n return false;\r\n }\r\n\r\n const normalizedAreas = sourceAreas.map(area => EveChildInstancedMeshes.#CreateArea(area));\r\n const instances = sourceTransforms.map((transform, sphereIndex) =>\r\n {\r\n if (!transform || transform.length !== 16)\r\n {\r\n throw new TypeError(\"EveChildInstancedMeshes instance transforms must contain 16 values\");\r\n }\r\n const instance = new EveChildInstancedMeshInstance();\r\n mat4.copy(instance.transform, transform);\r\n instance.sphereIndex = sphereIndex;\r\n return instance;\r\n });\r\n\r\n const mesh = new EveChildInstancedMesh();\r\n mesh.geometryPath = String(geometryPath ?? \"\");\r\n mesh.castsShadow = !!castsShadow;\r\n mesh.reflectionMode = reflectionMode === undefined ? 3 : Number(reflectionMode) | 0;\r\n mesh.meshIndex = Number(meshIndex) >>> 0;\r\n mesh.areas = normalizedAreas;\r\n mesh.instances = instances;\r\n mesh.sofHullName = String(sofHullName ?? \"\");\r\n mesh.sofLocatorSetName = String(sofLocatorSetName ?? \"\");\r\n // Carbon (cpp:418-425): the CASTS_SHADOW flag and one bit per area batch\r\n // type are stamped at add time; RENDER_IN_REFLECTION is refreshed each\r\n // async pass. cpp:428 clears the registration latch.\r\n if (mesh.castsShadow)\r\n {\r\n mesh.flags = (mesh.flags | INSTANCE_FLAG_CASTS_SHADOW) >>> 0;\r\n }\r\n for (const area of mesh.areas)\r\n {\r\n mesh.flags = (mesh.flags | (1 << area.batchType)) >>> 0;\r\n }\r\n this.meshes.push(mesh);\r\n this.#allRegistered = false;\r\n this.#revision++;\r\n return true;\r\n }\r\n\r\n /**\r\n * Drops every mesh and clears the hasUpdated stamp so nothing re-registers\r\n * until another update pass runs; registration handles are NOT released here,\r\n * so call UnregisterFromMeshManager first when a manager still holds them.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Clear()\r\n {\r\n this.meshes.length = 0;\r\n this.hasUpdated = false;\r\n this.#revision++;\r\n }\r\n\r\n /**\r\n * Decodes a picking area id back to the SOF locator it came from.\r\n * @param {Number} areaId - mesh ordinal in the high 16 bits, locator index in the low 16 (the pairing AddMeshesToManager registers)\r\n * @returns {Array|null} [sofHullName, sofLocatorSetName, locatorIndex], or null when the mesh is unknown or carries no SOF hull name\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetSofSourceLocator(areaId)\r\n {\r\n const value = Number(areaId) >>> 0;\r\n const mesh = this.meshes[value >>> 16];\r\n if (!mesh || !mesh.sofHullName)\r\n {\r\n return null;\r\n }\r\n return [mesh.sofHullName, mesh.sofLocatorSetName, value & 0xffff];\r\n }\r\n\r\n /** Number of meshes currently held. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMeshCount()\r\n {\r\n return this.meshes.length;\r\n }\r\n\r\n /**\r\n * Reports one mesh's authoring state as a positional tuple (Carbon's multiple out-params).\r\n * @param {Number} meshId - mesh index; RangeError when out of range\r\n * @returns {Array} [geometryPath, geometryResource, meshIndex, castsShadow, reflectionMode, areaCount, instanceCount]\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetMeshInfo(meshId)\r\n {\r\n const mesh = EveChildInstancedMeshes.#GetMesh(this.meshes, meshId);\r\n return [\r\n mesh.geometryPath,\r\n mesh.GetGeometryResource(),\r\n mesh.meshIndex,\r\n mesh.castsShadow,\r\n mesh.reflectionMode,\r\n mesh.areas.length,\r\n mesh.instances.length\r\n ];\r\n }\r\n\r\n /**\r\n * Reports one area of one mesh as a positional tuple (Carbon's multiple out-params).\r\n * @param {Number} meshId - mesh index; RangeError when out of range\r\n * @param {Number} areaId - area index within that mesh; RangeError when out of range\r\n * @returns {Array} [effect, batchType, areaIndex, areaCount] - the effect is the live reference\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetAreaInfo(meshId, areaId)\r\n {\r\n const mesh = EveChildInstancedMeshes.#GetMesh(this.meshes, meshId);\r\n const index = Number(areaId) >>> 0;\r\n if (index >= mesh.areas.length)\r\n {\r\n throw new RangeError(`EveChildInstancedMeshes area index ${index} is out of range`);\r\n }\r\n const area = mesh.areas[index];\r\n return [area.effect, area.batchType, area.areaIndex, area.areaCount];\r\n }\r\n\r\n /**\r\n * Whether the given mesh is currently displayed; throws RangeError for an\r\n * unknown mesh index.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetMeshDisplay(meshId)\r\n {\r\n return EveChildInstancedMeshes.#GetMesh(this.meshes, meshId).display;\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::SetMeshDisplay (cpp:663-691): a toggle\r\n * clears the latch; turning a mesh OFF eagerly removes its sphere and\r\n * mesh-group handles - which is why AddMeshesToManager's display-off skip\r\n * does NOT clear the latch (the handles are already gone). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Handle invalidation after removal is explicit (Carbon's DataHandle is invalidated by the manager by reference).\")\r\n SetMeshDisplay(meshId, display)\r\n {\r\n const mesh = EveChildInstancedMeshes.#GetMesh(this.meshes, meshId);\r\n const next = !!display;\r\n if (mesh.display !== next)\r\n {\r\n mesh.display = next;\r\n this.#allRegistered = false;\r\n if (!next)\r\n {\r\n if (mesh.sphereHandle)\r\n {\r\n mesh.sphereHandle.owner?.RemoveBoundingSphereGroup?.(mesh.sphereHandle);\r\n mesh.sphereHandle = null;\r\n }\r\n for (const area of mesh.areas)\r\n {\r\n if (area.meshGroupHandle)\r\n {\r\n area.meshGroupHandle.owner?.RemoveMeshGroup?.(area.meshGroupHandle);\r\n area.meshGroupHandle = null;\r\n }\r\n }\r\n }\r\n this.#revision++;\r\n }\r\n }\r\n\r\n /**\r\n * Assigns one mesh's geometry resource, bumping the revision only when it\r\n * actually changes; registration waits for the next AddMeshesToManager pass.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetGeometryResource(meshId, geometry)\r\n {\r\n const mesh = EveChildInstancedMeshes.#GetMesh(this.meshes, meshId);\r\n if (mesh.GetGeometryResource() !== geometry)\r\n {\r\n mesh.SetGeometryResource(geometry);\r\n this.#revision++;\r\n }\r\n }\r\n\r\n /**\r\n * Returns a detached snapshot of one mesh - instance transforms cloned, areas\r\n * shallow-copied, geometry resource shared by reference - so callers can read\r\n * it without touching live registration state.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetMeshData(meshId)\r\n {\r\n const mesh = EveChildInstancedMeshes.#GetMesh(this.meshes, meshId);\r\n return EveChildInstancedMeshes.#CloneMesh(mesh);\r\n }\r\n\r\n /**\r\n * Monotonic counter bumped by every structural change (AddMesh, Clear,\r\n * SetMeshDisplay, SetGeometryResource, SetShaderOption), for consumers caching\r\n * derived data.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetRevision()\r\n {\r\n return this.#revision;\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::RegisterComponents (cpp:36-43):\r\n * unconditional InstancedMeshProvider + ShadowCaster leaf\r\n * self-registration. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n registry.RegisterComponent(EveComponentType.InstancedMeshProvider, this);\r\n registry.RegisterComponent(EveComponentType.ShadowCaster, this);\r\n }\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::UnRegisterComponents (cpp:45-48) only\r\n * calls UnregisterFromMeshManager; own components were already removed by\r\n * EveEntity::UnRegister (EveEntity.cpp:90). */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n this.UnregisterFromMeshManager();\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::UnregisterFromMeshManager (cpp:50-71):\r\n * every registered mesh-group / sphere-group / per-object handle is removed\r\n * through ITS OWN handle.owner (handles may span managers after a switch),\r\n * then the latch clears. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Handle invalidation after removal is explicit (Carbon's DataHandle is invalidated by the manager by reference).\")\r\n UnregisterFromMeshManager()\r\n {\r\n for (const mesh of this.meshes)\r\n {\r\n for (const area of mesh.areas)\r\n {\r\n if (area.meshGroupHandle)\r\n {\r\n area.meshGroupHandle.owner?.RemoveMeshGroup?.(area.meshGroupHandle);\r\n area.meshGroupHandle = null;\r\n }\r\n }\r\n if (mesh.sphereHandle)\r\n {\r\n mesh.sphereHandle.owner?.RemoveBoundingSphereGroup?.(mesh.sphereHandle);\r\n mesh.sphereHandle = null;\r\n }\r\n }\r\n if (this.#perObjectDataHandle)\r\n {\r\n this.#perObjectDataHandle.owner?.RemovePerObjectData?.(this.#perObjectDataHandle);\r\n this.#perObjectDataHandle = null;\r\n }\r\n this.#allRegistered = false;\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::AddMeshesToManager (cpp:472-553), the\r\n * InstancedMeshProvider entry the engine's CollectMeshes drives\r\n * (EveInstancedMeshManager.cpp:45-56; scene EveSpaceScene.cpp:1516).\r\n * Contract quirks preserved: nothing registers before the first update\r\n * pass (cpp:474); switching managers tears EVERYTHING down BEFORE the\r\n * latch early-out (cpp:478-481); the latch is set optimistically and\r\n * cleared by ANY not-ready mesh/area so the per-frame caller retries until\r\n * geometry streams in - EXCEPT display-off meshes, which skip WITHOUT\r\n * clearing it (their handles were already removed by SetMeshDisplay);\r\n * handles are add-once (partial re-registration after SetShaderOption /\r\n * display toggles); an area-level effect failure clears the latch while\r\n * the mesh's sphere group STAYS registered (Carbon's asymmetry);\r\n * pickingOwnerIndex is the mesh ordinal (pairs with GetSofSourceLocator's\r\n * meshIndex<<16 decode). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The manager is an injected engine duck returning handles (out-params become returns; .owner is stamped when the duck omits it); Carbon's combinedVertexDeclaration gate (cpp:499, a D3D declaration handle rebuilt in RebuildCachedData cpp:435-457) reduces to geometry presence + IsGood, and the declaration argument is passed as 0 for the engine to rebuild; GetRawRoot() becomes the object itself as picking owner.\")\r\n AddMeshesToManager(manager)\r\n {\r\n if (!this.hasUpdated)\r\n {\r\n return;\r\n }\r\n if (this.#perObjectDataHandle && this.#perObjectDataHandle.owner !== manager)\r\n {\r\n this.UnregisterFromMeshManager();\r\n }\r\n if (this.#allRegistered)\r\n {\r\n return;\r\n }\r\n\r\n if (!this.#perObjectDataHandle)\r\n {\r\n const handle = manager?.AddPerObjectData?.(this) ?? null;\r\n if (handle && typeof handle === \"object\" && !handle.owner)\r\n {\r\n handle.owner = manager;\r\n }\r\n this.#perObjectDataHandle = handle;\r\n }\r\n\r\n this.#allRegistered = true;\r\n for (let meshIndex = 0; meshIndex < this.meshes.length; meshIndex++)\r\n {\r\n const mesh = this.meshes[meshIndex];\r\n if (!mesh.display)\r\n {\r\n continue;\r\n }\r\n const geometry = mesh.GetGeometryResource();\r\n if (!geometry || geometry.IsGood?.() === false)\r\n {\r\n this.#allRegistered = false;\r\n continue;\r\n }\r\n if (!mesh.instances.length)\r\n {\r\n this.#allRegistered = false;\r\n continue;\r\n }\r\n if (mesh.instances.length !== mesh.instanceSpheres.length)\r\n {\r\n this.#allRegistered = false;\r\n continue;\r\n }\r\n\r\n if (!mesh.sphereHandle)\r\n {\r\n const handle = manager?.AddBoundingSphereGroup?.(\r\n mesh.worldBoundingSphere,\r\n mesh.flags,\r\n mesh.instanceSpheres,\r\n mesh.instanceSpheres.length\r\n ) ?? null;\r\n if (handle && typeof handle === \"object\" && !handle.owner)\r\n {\r\n handle.owner = manager;\r\n }\r\n mesh.sphereHandle = handle;\r\n }\r\n\r\n for (const area of mesh.areas)\r\n {\r\n if (area.meshGroupHandle)\r\n {\r\n continue;\r\n }\r\n if (!area.effect)\r\n {\r\n this.#allRegistered = false;\r\n continue;\r\n }\r\n const handle = manager?.AddMeshGroup?.(\r\n geometry,\r\n 0,\r\n area.batchType,\r\n mesh.meshIndex,\r\n area.areaIndex,\r\n area.areaCount,\r\n area.effect,\r\n area.effectHash,\r\n this.#perObjectDataHandle,\r\n mesh.sphereHandle,\r\n mesh.instances,\r\n mesh.instances.length,\r\n this,\r\n meshIndex\r\n ) ?? null;\r\n if (handle && typeof handle === \"object\" && !handle.owner)\r\n {\r\n handle.owner = manager;\r\n }\r\n area.meshGroupHandle = handle;\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::IsCastingShadow (cpp:73-76) always\r\n * returns false (instanced shadows cull per instance group); presence\r\n * satisfies the \"ShadowCaster\" duck contract. */\r\n @carbon.method\r\n @impl.implemented\r\n IsCastingShadow(..._args)\r\n {\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::GetShadowBatches (cpp:78-80) is an\r\n * intentional no-op (the instanced mesh manager emits the batches). */\r\n @carbon.method\r\n @impl.noop\r\n GetShadowBatches(..._args)\r\n {\r\n }\r\n\r\n /** Carbon EveChildInstancedMeshes::GetShadowPerObjectData (cpp:82-85)\r\n * returns null (per-object data flows through the mesh manager). */\r\n @carbon.method\r\n @impl.implemented\r\n GetShadowPerObjectData(..._args)\r\n {\r\n return null;\r\n }\r\n\r\n /**\r\n * Resolves a mesh index against the list, throwing RangeError rather than\r\n * returning undefined so every public accessor fails loudly.\r\n */\r\n static #GetMesh(meshes, meshId)\r\n {\r\n const index = Number(meshId) >>> 0;\r\n if (index >= meshes.length)\r\n {\r\n throw new RangeError(`EveChildInstancedMeshes mesh index ${index} is out of range`);\r\n }\r\n return meshes[index];\r\n }\r\n\r\n /**\r\n * Builds an area record from a plain duck, defaulting areaCount to 1 and\r\n * caching the effect hash the manager registers the mesh group under.\r\n */\r\n static #CreateArea(value)\r\n {\r\n const source = value ?? {};\r\n const area = new EveChildInstancedMeshArea();\r\n area.effect = source.effect ?? null;\r\n area.batchType = Number(source.batchType) >>> 0;\r\n area.areaIndex = Number(source.areaIndex) >>> 0;\r\n area.areaCount = source.areaCount === undefined ? 1 : Number(source.areaCount) >>> 0;\r\n area.effectHash = EveChildInstancedMeshes.#GetEffectHash(area.effect);\r\n return area;\r\n }\r\n\r\n /**\r\n * Deep-copies a mesh into a plain object for GetMeshData: instance transforms\r\n * cloned, areas spread-copied, the geometry resource shared by reference.\r\n */\r\n static #CloneMesh(mesh)\r\n {\r\n return {\r\n geometryPath: mesh.geometryPath,\r\n geometry: mesh.GetGeometryResource(),\r\n castsShadow: mesh.castsShadow,\r\n reflectionMode: mesh.reflectionMode,\r\n meshIndex: mesh.meshIndex,\r\n areas: mesh.areas.map(area => ({ ...area })),\r\n instances: mesh.instances.map(instance => ({\r\n transform: mat4.clone(instance.transform),\r\n sphereIndex: instance.sphereIndex\r\n })),\r\n sofHullName: mesh.sofHullName,\r\n sofLocatorSetName: mesh.sofLocatorSetName,\r\n display: mesh.display\r\n };\r\n }\r\n\r\n /**\r\n * Reads an effect's hash through GetHashValue() or a .hash field, yielding 0\r\n * when neither is available so a hashless effect still registers\r\n * deterministically.\r\n */\r\n static #GetEffectHash(effect)\r\n {\r\n const hash = effect?.GetHashValue?.() ?? effect?.hash ?? 0;\r\n return Number(hash) || 0;\r\n }\r\n\r\n}\r\n"],"names":["INSTANCE_FLAG_CASTS_SHADOW","INSTANCE_FLAG_RENDER_IN_REFLECTION","POSITION_SCRATCH","vec3","create","_EveChildInstancedMes","EveChildInstancedMeshArea","CjsModel","e","_init_effect","_init_extra_effect","_init_batchType","_init_extra_batchType","_init_areaIndex","_init_extra_areaIndex","_init_areaCount","_init_extra_areaCount","_init_effectHash","_init_extra_effectHash","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","objectRef","uint32","read","float32","effect","batchType","areaIndex","areaCount","effectHash","meshGroupHandle","_EveChildInstancedMes2","EveChildInstancedMeshInstance","_init_transform","_init_extra_transform","_init_sphereIndex","_init_extra_sphereIndex","_initClass2","mat4","constructor","args","transform","sphereIndex","_EveChildInstancedMes3","EveChildInstancedMesh","_init_geometryPath","_init_extra_geometryPath","_init_castsShadow","_init_extra_castsShadow","_init_reflectionMode","_init_extra_reflectionMode","_init_meshIndex","_init_extra_meshIndex","_init_areas","_init_extra_areas","_init_instances","_init_extra_instances","_init_sofHullName","_init_extra_sofHullName","_init_sofLocatorSetName","_init_extra_sofLocatorSetName","_init_display","_init_extra_display","_initClass3","string","boolean","int32","list","geometryPath","castsShadow","reflectionMode","meshIndex","areas","instances","sofHullName","sofLocatorSetName","display","sphereHandle","worldBoundingSphere","center","radius","instanceSpheres","flags","GetGeometryResource","SetGeometryResource","resource","_EveChildInstancedMes4","_identity","EveChildInstancedMeshes","EveEntity","_init_name","_init_extra_name","_init_worldTransform","_init_extra_worldTransform","_init_hasUpdated","_init_extra_hasUpdated","_init_meshes","_init_extra_meshes","_initProto","_initClass4","carbon","method","impl","implemented","adapted","reason","noop","name","worldTransform","hasUpdated","meshes","RawData","GetName","SetName","String","UpdateVisibility","GetRenderables","renderables","GetBoundingSphere","#UpdatePerObjectData","parent","record","SetAndTranspose","GetTransposed","inverse","invert","identity","GetPerObjectStructs","vs","ps","Set","Get","slot","CUSTOM_MASK_COUNT","SetAndTransposeIndex","GetTransposedIndex","SetIndex","GetIndex","UpdateSyncronous","_updateContext","params","localToWorldTransform","length","copy","UpdateAsyncronous","_params","w","worldScale","Math","max","hypot","mesh","geometry","IsGood","ShouldReflect","meshData","GetMeshData","minBounds","m_minBounds","maxBounds","m_maxBounds","centerX","centerY","centerZ","localRadius","boundsMinX","Infinity","boundsMinY","boundsMinZ","boundsMaxX","boundsMaxY","boundsMaxZ","index","scale","transformMat4","sphere","min","sphereCenter","owner","SetSphereGroupBounds","GetLocalToWorldTransform","out","Setup","ChangeLOD","SetOrigin","IsAlwaysOn","SetShaderOption","value","area","SetOption","RemoveMeshGroup","AddMesh","instanceTransforms","sourceAreas","Array","from","sourceTransforms","normalizedAreas","map","TypeError","instance","undefined","Number","push","Clear","GetSofSourceLocator","areaId","GetMeshCount","GetMeshInfo","meshId","GetAreaInfo","RangeError","GetMeshDisplay","SetMeshDisplay","next","RemoveBoundingSphereGroup","GetRevision","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","InstancedMeshProvider","ShadowCaster","UnRegisterComponents","UnregisterFromMeshManager","RemovePerObjectData","AddMeshesToManager","manager","handle","AddPerObjectData","AddBoundingSphereGroup","AddMeshGroup","IsCastingShadow","_args","GetShadowBatches","GetShadowPerObjectData","#GetMesh","#CreateArea","source","#CloneMesh","clone","#GetEffectHash","hash","GetHashValue"],"mappings":";;;;;;;;;;;AAWA;AACA;AACA;AACO,MAAMA,0BAA0B,GAAG;AACnC,MAAMC,kCAAkC,GAAG;AAElD,MAAMC,gBAAgB,GAAGC,IAAI,CAACC,MAAM,EAAE;;AAGtC;AACA;AACA;AACA;AACA;AAJA,IAAAC;AAKA,MAAAC,yBAAA,SAC+CC,QAAQ,CACvD;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,GAAAC,YAAA,EAAAC,kBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,sBAAA,CAAA;MAAAC,CAAA,EAAA,CAAAd,qBAAA,EAAAe,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,2BAA2B;AAAEC,MAAAA,MAAM,EAAE;AAAY,KAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAG1EC,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACO,SAAS,CAAC,WAAW,CAAC,4BAG3BH,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,MAAM,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,MAAA,EAGXJ,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,MAAM,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,MAAA,EAGXJ,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,MAAM,uBAGXJ,EAAE,EAAFA,EAAE,CAACK,IAAI,EACPT,IAAI,EAAJA,IAAI,CAACU,OAAO,kCAvBgCzB,QAAQ,CAAA;AAAA;EAKrD0B,MAAM,GAAAxB,YAAA,CAAA,IAAA,EAAG,IAAI,CAAA;AAKbyB,EAAAA,SAAS,IAAAxB,kBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,CAAC,CAAA;AAKbwB,EAAAA,SAAS,IAAAvB,qBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,CAAC,CAAA;AAKbuB,EAAAA,SAAS,IAAAtB,qBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,CAAC,CAAA;AAIbsB,EAAAA,UAAU,IAAArB,qBAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAG,CAAC,CAAA;;AAEd;AACF;AACA;EACEqB,eAAe,IAAApB,sBAAA,CAAA,IAAA,CAAA,EAAG,IAAI;AAAC,EAAA;IAAAE,UAAA,EAAA;AAAA;AACzB;AAGA,IAAAmB;AAIA,MAAAC,6BAAA,SACmDjC,QAAQ,CAC3D;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,GAAAiC,eAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,uBAAA,CAAA;MAAAzB,CAAA,EAAA,CAAAoB,sBAAA,EAAAM,WAAA;AAAA,KAAA,GAAAxB,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,+BAA+B;AAAEC,MAAAA,MAAM,EAAE;AAAY,KAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAG9EC,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACwB,IAAI,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,MAAA,EAGTpB,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,MAAM,mCATqCvB,QAAQ,CAAA;AAAA;AAAAwC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAJ,uBAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAKzDK,EAAAA,SAAS,GAAAR,eAAA,CAAA,IAAA,EAAGK,IAAI,CAAC1C,MAAM,EAAE,CAAA;AAKzB8C,EAAAA,WAAW,IAAAR,qBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,CAAC,CAAA;AAAC,EAAA;IAAAE,WAAA,EAAA;AAAA;AAClB;AAGA,IAAAM;AAKA,MAAAC,qBAAA,SAC2C7C,QAAQ,CACnD;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,EAAA,CAAA6C,kBAAA,EAAAC,wBAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,oBAAA,EAAAC,0BAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,WAAA,EAAAC,iBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,uBAAA,EAAAC,6BAAA,EAAAC,aAAA,EAAAC,mBAAA,CAAA;MAAAnD,CAAA,EAAA,CAAAgC,sBAAA,EAAAoB,WAAA;AAAA,KAAA,GAAAlD,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,uBAAuB;AAAEC,MAAAA,MAAM,EAAE;KAAa,CAAC,CAAA,EAAA,CAAA,CAAA,CAGtEC,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACkD,MAAM,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAGX9C,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACmD,OAAO,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAGZ/C,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACoD,KAAK,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAGVhD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,MAAM,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAGXJ,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACqD,IAAI,CAAC,2BAA2B,CAAC,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAGtCjD,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACqD,IAAI,CAAC,+BAA+B,CAAC,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAG1CjD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACkD,MAAM,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAGX9C,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACkD,MAAM,+BAGX9C,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACmD,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAnC4BlE,QAAQ,CAAA;AAAA;EAIjDqE,YAAY,GAAAvB,kBAAA,CAAA,IAAA,EAAG,EAAE,CAAA;AAIjBwB,EAAAA,WAAW,IAAAvB,wBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,KAAK,CAAA;AAInBuB,EAAAA,cAAc,IAAAtB,uBAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAG,CAAC,CAAA;AAIlBsB,EAAAA,SAAS,IAAArB,0BAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,CAAC,CAAA;AAIbqB,EAAAA,KAAK,IAAApB,qBAAA,CAAA,IAAA,CAAA,EAAAC,WAAA,OAAG,EAAE,CAAA;AAIVoB,EAAAA,SAAS,IAAAnB,iBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,EAAE,CAAA;AAIdmB,EAAAA,WAAW,IAAAlB,qBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,EAAE,CAAA;AAIhBkB,EAAAA,iBAAiB,IAAAjB,uBAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,OAAG,EAAE,CAAA;AAItBiB,EAAAA,OAAO,IAAAhB,6BAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,IAAI,CAAA;;AAEd;AACF;EACEgB,YAAY,IAAAf,mBAAA,CAAA,IAAA,CAAA,EAAG,IAAI;;AAEnB;AACF;AACEgB,EAAAA,mBAAmB,GAAG;AAAEC,IAAAA,MAAM,EAAEpF,IAAI,CAACC,MAAM,EAAE;AAAEoF,IAAAA,MAAM,EAAE;GAAG;;AAE1D;AACF;AACEC,EAAAA,eAAe,GAAG,EAAE;;AAEpB;AACF;AACA;AACEC,EAAAA,KAAK,GAAG,CAAC;EAET,SAAS,GAAG,IAAI;;AAEhB;AACF;AACA;AACA;AACA;AACEC,EAAAA,mBAAmBA,GACnB;IACE,OAAO,IAAI,CAAC,SAAS;AACvB,EAAA;;AAEA;AACF;AACA;AACA;EACEC,mBAAmBA,CAACC,QAAQ,EAC5B;AACE,IAAA,IAAI,CAAC,SAAS,GAAGA,QAAQ,IAAI,IAAI;AACnC,EAAA;AAAC,EAAA;IAAAtB,WAAA,EAAA;AAAA;AACH;AAGA,IAAAuB;AAAA,IAAA,cAAAC,SAAA,CAAA;AAAA,EAAA,QAKA,MAAAC,uBAAA,SAC6CC,UAAS,CACtD;AAAA,IAAA;AAAA,MAAA,CAAA;AAAAzF,QAAAA,CAAA,GAAA0F,UAAA,EAAAC,gBAAA,EAAAC,oBAAA,EAAAC,0BAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,UAAA,CAAA;QAAAvF,CAAA,EAAA,CAAA2E,sBAAA,EAAAa,WAAA;AAAA,OAAA,GAAAtF,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,yBAAyB;AAAEC,QAAAA,MAAM,EAAE;OAAa,CAAC,CAAA,EAAA,CAAA,CAAA,CAGxEC,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACkD,MAAM,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAGX9C,EAAE,EAAFA,EAAE,CAACK,IAAI,EACPT,IAAI,EAAJA,IAAI,CAACwB,IAAI,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAGTpB,EAAE,EAAFA,EAAE,CAACK,IAAI,EACPT,IAAI,EAAJA,IAAI,CAACmD,OAAO,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAGZ/C,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACqD,IAAI,CAAC,uBAAuB,CAAC,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CA4BlCiC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,qBAOhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAWhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAUZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,4BAWhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAkEhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAsBhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,oPAAoP,CAAC,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAmGjQL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,CAehBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAShBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAShBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CASZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAWhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,8HAA8H,CAAC,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CA0B3IL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CA+DZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAaZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAahBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAWhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAqBZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAiBZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAUZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,iHAAiH,CAAC,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAiC9HL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAgBZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAYZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAShBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAchBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAUhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,iHAAiH,CAAC,uCAyC9HL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,6ZAA6Z,CAAC,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAyG1aL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAQhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACI,IAAI,8BAOTN,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,wBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAnxB0Bd,UAAS,CAAA;AAAA;AAIpDkB,IAAAA,IAAI,IAAAT,UAAA,CAAA,IAAA,CAAA,EAAAR,UAAA,OAAG,EAAE,CAAA;IAITkB,cAAc,IAAAjB,gBAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAGtD,IAAI,CAAC1C,MAAM,EAAE,CAAA;AAI9BiH,IAAAA,UAAU,IAAAhB,0BAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAG,KAAK,CAAA;AAIlBgB,IAAAA,MAAM,IAAAf,sBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,EAAE,CAAA;AAEX,IAAA,SAAS,IAAAC,kBAAA,CAAA,IAAA,CAAA,EAAG,CAAC;;AAEb;IACA,oBAAoB,GAAG,IAAI;;AAE3B;AACF;AACA;AACA;AACE,IAAA,cAAc,GAAGc,OAAO,CAACnH,MAAM,CAAC,uBAAuB,CAAC;;AAIxD;;AAGA;AACF;AACA;IACE,cAAc,GAAG,KAAK;;AAEtB;AACF;AACA;AACA;AAGEoH,IAAAA,OAAOA,GACP;MACE,OAAO,IAAI,CAACL,IAAI;AAClB,IAAA;;AAEA;IAGAM,OAAOA,CAACN,IAAI,EACZ;MACE,IAAI,CAACA,IAAI,GAAGO,MAAM,CAACP,IAAI,IAAI,EAAE,CAAC;AAChC,IAAA;;AAEA;AACF;AACA;AACA;AACA;IAGEQ,gBAAgBA,GAChB,CACA;;AAEA;AACF;AACA;AACA;AACA;AAGEC,IAAAA,cAAcA,CAACC,WAAW,GAAG,EAAE,EAC/B;AACE,MAAA,OAAOA,WAAW;AACpB,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEC,IAAAA,iBAAiBA,GACjB;AACE,MAAA,OAAO,KAAK;AACd,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;IACE,oBAAoBC,CAACC,MAAM,EAC3B;AACE,MAAA,MAAMC,MAAM,GAAG,IAAI,CAAC,cAAc;;AAElC;MACAA,MAAM,CAACC,eAAe,CAAC,oBAAoB,EAAED,MAAM,CAACE,aAAa,CAAC,gBAAgB,CAAC,CAAC;MACpFF,MAAM,CAACC,eAAe,CAAC,gBAAgB,EAAE,IAAI,CAACd,cAAc,CAAC;;AAE7D;AACA;AACA,MAAA,MAAMgB,OAAO,GAAGpC,sBAAuB,CAAC,eAAe;MACvD,IAAI,CAAClD,IAAI,CAACuF,MAAM,CAACD,OAAO,EAAE,IAAI,CAAChB,cAAc,CAAC,EAC9C;AACEtE,QAAAA,IAAI,CAACwF,QAAQ,CAACF,OAAO,CAAC;AACxB,MAAA;AACAH,MAAAA,MAAM,CAACC,eAAe,CAAC,mBAAmB,EAAEE,OAAO,CAAC;AAEpD,MAAA,IAAI,OAAOJ,MAAM,EAAEO,mBAAmB,KAAK,UAAU,EACrD;AACE,QAAA;AACF,MAAA;MAEA,MAAM;QAAEC,EAAE;AAAEC,QAAAA;AAAG,OAAC,GAAGT,MAAM,CAACO,mBAAmB,EAAE;AAE/C,MAAA,KAAK,MAAMpB,IAAI,IAAI,CAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAClF,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,CAAE,EAC/D;QACEc,MAAM,CAACS,GAAG,CAACvB,IAAI,EAAEsB,EAAE,CAACE,GAAG,CAACxB,IAAI,CAAC,CAAC;AAChC,MAAA;MACA,KAAK,MAAMA,IAAI,IAAI,CAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,CAAE,EACtE;QACEc,MAAM,CAACS,GAAG,CAACvB,IAAI,EAAEqB,EAAE,CAACG,GAAG,CAACxB,IAAI,CAAC,CAAC;AAChC,MAAA;MACAc,MAAM,CAACS,GAAG,CAAC,kBAAkB,EAAED,EAAE,CAACE,GAAG,CAAC,kBAAkB,CAAC,CAAC;MAC1DV,MAAM,CAACS,GAAG,CAAC,aAAa,EAAEF,EAAE,CAACG,GAAG,CAAC,aAAa,CAAC,CAAC;AAEhD,MAAA,KAAK,IAAIC,IAAI,GAAG,CAAC,EAAEA,IAAI,GAAG5C,sBAAuB,CAAC6C,iBAAiB,EAAED,IAAI,EAAE,EAC3E;AACEX,QAAAA,MAAM,CAACa,oBAAoB,CAAC,kBAAkB,EAAEF,IAAI,EAAEJ,EAAE,CAACO,kBAAkB,CAAC,kBAAkB,EAAEH,IAAI,CAAC,CAAC;AACtGX,QAAAA,MAAM,CAACe,QAAQ,CAAC,gBAAgB,EAAEJ,IAAI,EAAEJ,EAAE,CAACS,QAAQ,CAAC,gBAAgB,EAAEL,IAAI,CAAC,CAAC;AAC5EX,QAAAA,MAAM,CAACe,QAAQ,CAAC,uBAAuB,EAAEJ,IAAI,EAAEH,EAAE,CAACQ,QAAQ,CAAC,uBAAuB,EAAEL,IAAI,CAAC,CAAC;AAC1FX,QAAAA,MAAM,CAACe,QAAQ,CAAC,mBAAmB,EAAEJ,IAAI,EAAEH,EAAE,CAACQ,QAAQ,CAAC,mBAAmB,EAAEL,IAAI,CAAC,CAAC;AACpF,MAAA;;AAEA;MACAX,MAAM,CAACS,GAAG,CAAC,YAAY,EAAED,EAAE,CAACE,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAC5D,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEO,IAAAA,gBAAgBA,CAACC,cAAc,EAAEC,MAAM,EACvC;AACE,MAAA,IAAIA,MAAM,EAAEC,qBAAqB,EAAEC,MAAM,KAAK,EAAE,EAChD;QACExG,IAAI,CAACyG,IAAI,CAAC,IAAI,CAACnC,cAAc,EAAEgC,MAAM,CAACC,qBAAqB,CAAC;AAC9D,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIEG,IAAAA,iBAAiBA,CAACL,cAAc,EAAEM,OAAO,EACzC;AACE,MAAA,MAAMC,CAAC,GAAG,IAAI,CAACtC,cAAc;AAC7B;AACA,MAAA,MAAMuC,UAAU,GAAGC,IAAI,CAACC,GAAG,CACzBD,IAAI,CAACE,KAAK,CAACJ,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5BE,IAAI,CAACE,KAAK,CAACJ,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5BE,IAAI,CAACE,KAAK,CAACJ,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,EAAE,CAAC,CAC9B,CAAC;AAED,MAAA,KAAK,MAAMK,IAAI,IAAI,IAAI,CAACzC,MAAM,EAC9B;AACE,QAAA,MAAM0C,QAAQ,GAAGD,IAAI,CAACpE,mBAAmB,EAAE;QAC3C,IAAI,CAACqE,QAAQ,IAAIA,QAAQ,CAACC,MAAM,IAAI,KAAK,KAAK,EAC9C;AACE,UAAA;AACF,QAAA;;AAEA;QACAF,IAAI,CAACrE,KAAK,GAAGwE,aAAa,CAACH,IAAI,CAACjF,cAAc,CAAC,GAC3C,CAACiF,IAAI,CAACrE,KAAK,GAAGzF,kCAAkC,MAAM,CAAC,GACvD,CAAC8J,IAAI,CAACrE,KAAK,GAAG,CAACzF,kCAAkC,MAAM,CAAC;QAE5D,MAAMkK,QAAQ,GAAGH,QAAQ,CAACI,WAAW,GAAGL,IAAI,CAAChF,SAAS,CAAC;QACvD,MAAMsF,SAAS,GAAGF,QAAQ,EAAEE,SAAS,IAAIF,QAAQ,EAAEG,WAAW;QAC9D,MAAMC,SAAS,GAAGJ,QAAQ,EAAEI,SAAS,IAAIJ,QAAQ,EAAEK,WAAW;AAC9D,QAAA,IAAI,CAACH,SAAS,IAAI,CAACE,SAAS,EAC5B;AACE,UAAA;AACF,QAAA;AACA;AACA;AACA,QAAA,MAAME,OAAO,GAAG,CAACJ,SAAS,CAAC,CAAC,CAAC,GAAGE,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG;AACnD,QAAA,MAAMG,OAAO,GAAG,CAACL,SAAS,CAAC,CAAC,CAAC,GAAGE,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG;AACnD,QAAA,MAAMI,OAAO,GAAG,CAACN,SAAS,CAAC,CAAC,CAAC,GAAGE,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG;QACnD,MAAMK,WAAW,GACfhB,IAAI,CAACE,KAAK,CAACS,SAAS,CAAC,CAAC,CAAC,GAAGF,SAAS,CAAC,CAAC,CAAC,EAAEE,SAAS,CAAC,CAAC,CAAC,GAAGF,SAAS,CAAC,CAAC,CAAC,EAAEE,SAAS,CAAC,CAAC,CAAC,GAAGF,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GACvGT,IAAI,CAACE,KAAK,CAACW,OAAO,EAAEC,OAAO,EAAEC,OAAO,CAAC;QAEvCZ,IAAI,CAACtE,eAAe,CAAC6D,MAAM,GAAGS,IAAI,CAAC9E,SAAS,CAACqE,MAAM;QACnD,IAAIuB,UAAU,GAAGC,QAAQ;AAAEC,UAAAA,UAAU,GAAGD,QAAQ;AAAEE,UAAAA,UAAU,GAAGF,QAAQ;QACvE,IAAIG,UAAU,GAAG,CAACH,QAAQ;UAAEI,UAAU,GAAG,CAACJ,QAAQ;UAAEK,UAAU,GAAG,CAACL,QAAQ;AAC1E,QAAA,KAAK,IAAIM,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGrB,IAAI,CAAC9E,SAAS,CAACqE,MAAM,EAAE8B,KAAK,EAAE,EAC1D;UACE,MAAMnI,SAAS,GAAG8G,IAAI,CAAC9E,SAAS,CAACmG,KAAK,CAAC,CAACnI,SAAS;AACjD;AACA/C,UAAAA,gBAAgB,CAAC,CAAC,CAAC,GAAG+C,SAAS,CAAC,EAAE,CAAC;AACnC/C,UAAAA,gBAAgB,CAAC,CAAC,CAAC,GAAG+C,SAAS,CAAC,EAAE,CAAC;AACnC/C,UAAAA,gBAAgB,CAAC,CAAC,CAAC,GAAG+C,SAAS,CAAC,EAAE,CAAC;AACnC;AACA;AACA;AACA;AACA,UAAA,MAAMoI,KAAK,GAAGzB,IAAI,CAACC,GAAG,CACpBD,IAAI,CAACE,KAAK,CAAC7G,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,CAAC,EACpD2G,IAAI,CAACE,KAAK,CAAC7G,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,CAAC,EACpD2G,IAAI,CAACE,KAAK,CAAC7G,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,EAAE,CAAC,CACtD,CAAC,GAAG0G,UAAU;UACdxJ,IAAI,CAACmL,aAAa,CAACpL,gBAAgB,EAAEA,gBAAgB,EAAEwJ,CAAC,CAAC;AAEzD,UAAA,MAAMlE,MAAM,GAAGoF,WAAW,GAAGS,KAAK;UAClC,MAAME,MAAM,GAAGxB,IAAI,CAACtE,eAAe,CAAC2F,KAAK,CAAC,KAAK;AAAE7F,YAAAA,MAAM,EAAEpF,IAAI,CAACC,MAAM,EAAE;AAAEoF,YAAAA,MAAM,EAAE;WAAG;UACnFrF,IAAI,CAACoJ,IAAI,CAACgC,MAAM,CAAChG,MAAM,EAAErF,gBAAgB,CAAC;UAC1CqL,MAAM,CAAC/F,MAAM,GAAGA,MAAM;AAEtBqF,UAAAA,UAAU,GAAGjB,IAAI,CAAC4B,GAAG,CAACX,UAAU,EAAE3K,gBAAgB,CAAC,CAAC,CAAC,GAAGsF,MAAM,CAAC;AAC/DuF,UAAAA,UAAU,GAAGnB,IAAI,CAAC4B,GAAG,CAACT,UAAU,EAAE7K,gBAAgB,CAAC,CAAC,CAAC,GAAGsF,MAAM,CAAC;AAC/DwF,UAAAA,UAAU,GAAGpB,IAAI,CAAC4B,GAAG,CAACR,UAAU,EAAE9K,gBAAgB,CAAC,CAAC,CAAC,GAAGsF,MAAM,CAAC;AAC/DyF,UAAAA,UAAU,GAAGrB,IAAI,CAACC,GAAG,CAACoB,UAAU,EAAE/K,gBAAgB,CAAC,CAAC,CAAC,GAAGsF,MAAM,CAAC;AAC/D0F,UAAAA,UAAU,GAAGtB,IAAI,CAACC,GAAG,CAACqB,UAAU,EAAEhL,gBAAgB,CAAC,CAAC,CAAC,GAAGsF,MAAM,CAAC;AAC/D2F,UAAAA,UAAU,GAAGvB,IAAI,CAACC,GAAG,CAACsB,UAAU,EAAEjL,gBAAgB,CAAC,CAAC,CAAC,GAAGsF,MAAM,CAAC;AACjE,QAAA;AACA,QAAA,IAAIuE,IAAI,CAAC9E,SAAS,CAACqE,MAAM,EACzB;AACE;AACA,UAAA,MAAMmC,YAAY,GAAG1B,IAAI,CAACzE,mBAAmB,CAACC,MAAM;UACpDkG,YAAY,CAAC,CAAC,CAAC,GAAG,CAACZ,UAAU,GAAGI,UAAU,IAAI,GAAG;UACjDQ,YAAY,CAAC,CAAC,CAAC,GAAG,CAACV,UAAU,GAAGG,UAAU,IAAI,GAAG;UACjDO,YAAY,CAAC,CAAC,CAAC,GAAG,CAACT,UAAU,GAAGG,UAAU,IAAI,GAAG;UACjDpB,IAAI,CAACzE,mBAAmB,CAACE,MAAM,GAC7BoE,IAAI,CAACE,KAAK,CAACmB,UAAU,GAAGJ,UAAU,EAAEK,UAAU,GAAGH,UAAU,EAAEI,UAAU,GAAGH,UAAU,CAAC,GAAG,GAAG;;AAE7F;UACA,IAAIjB,IAAI,CAAC1E,YAAY,EACrB;AACE0E,YAAAA,IAAI,CAAC1E,YAAY,CAACqG,KAAK,EAAEC,oBAAoB,GAAG5B,IAAI,CAAC1E,YAAY,EAAE0E,IAAI,CAACzE,mBAAmB,EAAEyE,IAAI,CAACrE,KAAK,CAAC;AAC1G,UAAA;AACF,QAAA;AACF,MAAA;MAEA,IAAI,CAAC2B,UAAU,GAAG,IAAI;AACxB,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEuE,IAAAA,wBAAwBA,CAACC,GAAG,GAAG,IAAI,EACnC;AACE,MAAA,IAAIA,GAAG,EACP;QACE,OAAO/I,IAAI,CAACyG,IAAI,CAACsC,GAAG,EAAE,IAAI,CAACzE,cAAc,CAAC;AAC5C,MAAA;MACA,OAAO,IAAI,CAACA,cAAc;AAC5B,IAAA;;AAEA;AACF;AACA;AACA;AACA;IAGE0E,KAAKA,GACL,CACA;;AAEA;AACF;AACA;AACA;IAGEC,SAASA,GACT,CACA;;AAEA;AACF;AACA;AACA;IAGEC,SAASA,GACT,CACA;;AAEA;AACF;AACA;AACA;AAGEC,IAAAA,UAAUA,GACV;AACE,MAAA,OAAO,KAAK;AACd,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAIEC,IAAAA,eAAeA,CAAC/E,IAAI,EAAEgF,KAAK,EAC3B;AACE,MAAA,KAAK,MAAMpC,IAAI,IAAI,IAAI,CAACzC,MAAM,EAC9B;AACE,QAAA,KAAK,MAAM8E,IAAI,IAAIrC,IAAI,CAAC/E,KAAK,EAC7B;UACEoH,IAAI,CAACnK,MAAM,EAAEoK,SAAS,GAAGlF,IAAI,EAAEgF,KAAK,CAAC;UACrCC,IAAI,CAAC/J,UAAU,GAAG2D,sBAAuB,CAAC,cAAc,CAACoG,IAAI,CAACnK,MAAM,CAAC;UACrE,IAAImK,IAAI,CAAC9J,eAAe,EACxB;YACE8J,IAAI,CAAC9J,eAAe,CAACoJ,KAAK,EAAEY,eAAe,GAAGF,IAAI,CAAC9J,eAAe,CAAC;YACnE8J,IAAI,CAAC9J,eAAe,GAAG,IAAI;AAC3B,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC7B,UAAA;AACF,QAAA;AACF,MAAA;MACA,IAAI,CAAC,SAAS,EAAE;AAClB,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;IAGEiK,OAAOA,CACL3H,YAAY,EACZC,WAAW,EACXC,cAAc,EACdC,SAAS,EACTC,KAAK,EACLwH,kBAAkB,EAClBtH,WAAW,GAAG,EAAE,EAChBC,iBAAiB,GAAG,EAAE,EAExB;MACE,MAAMsH,WAAW,GAAGC,KAAK,CAACC,IAAI,CAAC3H,KAAK,IAAI,EAAE,CAAC;MAC3C,MAAM4H,gBAAgB,GAAGF,KAAK,CAACC,IAAI,CAACH,kBAAkB,IAAI,EAAE,CAAC;MAC7D,IAAI,CAACC,WAAW,CAACnD,MAAM,IAAI,CAACsD,gBAAgB,CAACtD,MAAM,EACnD;AACE,QAAA,OAAO,KAAK;AACd,MAAA;AAEA,MAAA,MAAMuD,eAAe,GAAGJ,WAAW,CAACK,GAAG,CAACV,IAAI,IAAIpG,sBAAuB,CAAC,WAAW,CAACoG,IAAI,CAAC,CAAC;MAC1F,MAAMnH,SAAS,GAAG2H,gBAAgB,CAACE,GAAG,CAAC,CAAC7J,SAAS,EAAEC,WAAW,KAC9D;QACE,IAAI,CAACD,SAAS,IAAIA,SAAS,CAACqG,MAAM,KAAK,EAAE,EACzC;AACE,UAAA,MAAM,IAAIyD,SAAS,CAAC,oEAAoE,CAAC;AAC3F,QAAA;AACA,QAAA,MAAMC,QAAQ,GAAG,IAAIxK,sBAA6B,EAAE;QACpDM,IAAI,CAACyG,IAAI,CAACyD,QAAQ,CAAC/J,SAAS,EAAEA,SAAS,CAAC;QACxC+J,QAAQ,CAAC9J,WAAW,GAAGA,WAAW;AAClC,QAAA,OAAO8J,QAAQ;AACjB,MAAA,CAAC,CAAC;AAEF,MAAA,MAAMjD,IAAI,GAAG,IAAI3G,sBAAqB,EAAE;MACxC2G,IAAI,CAACnF,YAAY,GAAG8C,MAAM,CAAC9C,YAAY,IAAI,EAAE,CAAC;AAC9CmF,MAAAA,IAAI,CAAClF,WAAW,GAAG,CAAC,CAACA,WAAW;AAChCkF,MAAAA,IAAI,CAACjF,cAAc,GAAGA,cAAc,KAAKmI,SAAS,GAAG,CAAC,GAAGC,MAAM,CAACpI,cAAc,CAAC,GAAG,CAAC;MACnFiF,IAAI,CAAChF,SAAS,GAAGmI,MAAM,CAACnI,SAAS,CAAC,KAAK,CAAC;MACxCgF,IAAI,CAAC/E,KAAK,GAAG6H,eAAe;MAC5B9C,IAAI,CAAC9E,SAAS,GAAGA,SAAS;MAC1B8E,IAAI,CAAC7E,WAAW,GAAGwC,MAAM,CAACxC,WAAW,IAAI,EAAE,CAAC;MAC5C6E,IAAI,CAAC5E,iBAAiB,GAAGuC,MAAM,CAACvC,iBAAiB,IAAI,EAAE,CAAC;AACxD;AACA;AACA;MACA,IAAI4E,IAAI,CAAClF,WAAW,EACpB;QACEkF,IAAI,CAACrE,KAAK,GAAG,CAACqE,IAAI,CAACrE,KAAK,GAAG1F,0BAA0B,MAAM,CAAC;AAC9D,MAAA;AACA,MAAA,KAAK,MAAMoM,IAAI,IAAIrC,IAAI,CAAC/E,KAAK,EAC7B;AACE+E,QAAAA,IAAI,CAACrE,KAAK,GAAG,CAACqE,IAAI,CAACrE,KAAK,GAAI,CAAC,IAAI0G,IAAI,CAAClK,SAAU,MAAM,CAAC;AACzD,MAAA;AACA,MAAA,IAAI,CAACoF,MAAM,CAAC6F,IAAI,CAACpD,IAAI,CAAC;AACtB,MAAA,IAAI,CAAC,cAAc,GAAG,KAAK;MAC3B,IAAI,CAAC,SAAS,EAAE;AAChB,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEqD,IAAAA,KAAKA,GACL;AACE,MAAA,IAAI,CAAC9F,MAAM,CAACgC,MAAM,GAAG,CAAC;MACtB,IAAI,CAACjC,UAAU,GAAG,KAAK;MACvB,IAAI,CAAC,SAAS,EAAE;AAClB,IAAA;;AAEA;AACF;AACA;AACA;AACA;IAGEgG,mBAAmBA,CAACC,MAAM,EAC1B;AACE,MAAA,MAAMnB,KAAK,GAAGe,MAAM,CAACI,MAAM,CAAC,KAAK,CAAC;MAClC,MAAMvD,IAAI,GAAG,IAAI,CAACzC,MAAM,CAAC6E,KAAK,KAAK,EAAE,CAAC;AACtC,MAAA,IAAI,CAACpC,IAAI,IAAI,CAACA,IAAI,CAAC7E,WAAW,EAC9B;AACE,QAAA,OAAO,IAAI;AACb,MAAA;AACA,MAAA,OAAO,CAAC6E,IAAI,CAAC7E,WAAW,EAAE6E,IAAI,CAAC5E,iBAAiB,EAAEgH,KAAK,GAAG,MAAM,CAAC;AACnE,IAAA;;AAEA;AAGAoB,IAAAA,YAAYA,GACZ;AACE,MAAA,OAAO,IAAI,CAACjG,MAAM,CAACgC,MAAM;AAC3B,IAAA;;AAEA;AACF;AACA;AACA;AACA;IAGEkE,WAAWA,CAACC,MAAM,EAClB;AACE,MAAA,MAAM1D,IAAI,GAAG/D,sBAAuB,CAAC,QAAQ,CAAC,IAAI,CAACsB,MAAM,EAAEmG,MAAM,CAAC;AAClE,MAAA,OAAO,CACL1D,IAAI,CAACnF,YAAY,EACjBmF,IAAI,CAACpE,mBAAmB,EAAE,EAC1BoE,IAAI,CAAChF,SAAS,EACdgF,IAAI,CAAClF,WAAW,EAChBkF,IAAI,CAACjF,cAAc,EACnBiF,IAAI,CAAC/E,KAAK,CAACsE,MAAM,EACjBS,IAAI,CAAC9E,SAAS,CAACqE,MAAM,CACtB;AACH,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AAGEoE,IAAAA,WAAWA,CAACD,MAAM,EAAEH,MAAM,EAC1B;AACE,MAAA,MAAMvD,IAAI,GAAG/D,sBAAuB,CAAC,QAAQ,CAAC,IAAI,CAACsB,MAAM,EAAEmG,MAAM,CAAC;AAClE,MAAA,MAAMrC,KAAK,GAAG8B,MAAM,CAACI,MAAM,CAAC,KAAK,CAAC;AAClC,MAAA,IAAIlC,KAAK,IAAIrB,IAAI,CAAC/E,KAAK,CAACsE,MAAM,EAC9B;AACE,QAAA,MAAM,IAAIqE,UAAU,CAAC,CAAA,mCAAA,EAAsCvC,KAAK,kBAAkB,CAAC;AACrF,MAAA;AACA,MAAA,MAAMgB,IAAI,GAAGrC,IAAI,CAAC/E,KAAK,CAACoG,KAAK,CAAC;AAC9B,MAAA,OAAO,CAACgB,IAAI,CAACnK,MAAM,EAAEmK,IAAI,CAAClK,SAAS,EAAEkK,IAAI,CAACjK,SAAS,EAAEiK,IAAI,CAAChK,SAAS,CAAC;AACtE,IAAA;;AAEA;AACF;AACA;AACA;IAGEwL,cAAcA,CAACH,MAAM,EACrB;AACE,MAAA,OAAOzH,sBAAuB,CAAC,QAAQ,CAAC,IAAI,CAACsB,MAAM,EAAEmG,MAAM,CAAC,CAACrI,OAAO;AACtE,IAAA;;AAEA;AACF;AACA;AACA;AAIEyI,IAAAA,cAAcA,CAACJ,MAAM,EAAErI,OAAO,EAC9B;AACE,MAAA,MAAM2E,IAAI,GAAG/D,sBAAuB,CAAC,QAAQ,CAAC,IAAI,CAACsB,MAAM,EAAEmG,MAAM,CAAC;AAClE,MAAA,MAAMK,IAAI,GAAG,CAAC,CAAC1I,OAAO;AACtB,MAAA,IAAI2E,IAAI,CAAC3E,OAAO,KAAK0I,IAAI,EACzB;QACE/D,IAAI,CAAC3E,OAAO,GAAG0I,IAAI;AACnB,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;QAC3B,IAAI,CAACA,IAAI,EACT;UACE,IAAI/D,IAAI,CAAC1E,YAAY,EACrB;YACE0E,IAAI,CAAC1E,YAAY,CAACqG,KAAK,EAAEqC,yBAAyB,GAAGhE,IAAI,CAAC1E,YAAY,CAAC;YACvE0E,IAAI,CAAC1E,YAAY,GAAG,IAAI;AAC1B,UAAA;AACA,UAAA,KAAK,MAAM+G,IAAI,IAAIrC,IAAI,CAAC/E,KAAK,EAC7B;YACE,IAAIoH,IAAI,CAAC9J,eAAe,EACxB;cACE8J,IAAI,CAAC9J,eAAe,CAACoJ,KAAK,EAAEY,eAAe,GAAGF,IAAI,CAAC9J,eAAe,CAAC;cACnE8J,IAAI,CAAC9J,eAAe,GAAG,IAAI;AAC7B,YAAA;AACF,UAAA;AACF,QAAA;QACA,IAAI,CAAC,SAAS,EAAE;AAClB,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AACA;AAGEsD,IAAAA,mBAAmBA,CAAC6H,MAAM,EAAEzD,QAAQ,EACpC;AACE,MAAA,MAAMD,IAAI,GAAG/D,sBAAuB,CAAC,QAAQ,CAAC,IAAI,CAACsB,MAAM,EAAEmG,MAAM,CAAC;AAClE,MAAA,IAAI1D,IAAI,CAACpE,mBAAmB,EAAE,KAAKqE,QAAQ,EAC3C;AACED,QAAAA,IAAI,CAACnE,mBAAmB,CAACoE,QAAQ,CAAC;QAClC,IAAI,CAAC,SAAS,EAAE;AAClB,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AACA;AACA;IAGEI,WAAWA,CAACqD,MAAM,EAClB;AACE,MAAA,MAAM1D,IAAI,GAAG/D,sBAAuB,CAAC,QAAQ,CAAC,IAAI,CAACsB,MAAM,EAAEmG,MAAM,CAAC;AAClE,MAAA,OAAOzH,sBAAuB,CAAC,UAAU,CAAC+D,IAAI,CAAC;AACjD,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEiE,IAAAA,WAAWA,GACX;MACE,OAAO,IAAI,CAAC,SAAS;AACvB,IAAA;;AAEA;AACF;AACA;AAGEC,IAAAA,kBAAkBA,GAClB;AACE,MAAA,MAAMC,QAAQ,GAAG,IAAI,CAACC,oBAAoB,EAAE;AAC5C,MAAA,IAAID,QAAQ,EACZ;QACEA,QAAQ,CAACE,iBAAiB,CAACC,gBAAgB,CAACC,qBAAqB,EAAE,IAAI,CAAC;QACxEJ,QAAQ,CAACE,iBAAiB,CAACC,gBAAgB,CAACE,YAAY,EAAE,IAAI,CAAC;AACjE,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AAGEC,IAAAA,oBAAoBA,GACpB;MACE,IAAI,CAACC,yBAAyB,EAAE;AAClC,IAAA;;AAEA;AACF;AACA;AACA;AAIEA,IAAAA,yBAAyBA,GACzB;AACE,MAAA,KAAK,MAAM1E,IAAI,IAAI,IAAI,CAACzC,MAAM,EAC9B;AACE,QAAA,KAAK,MAAM8E,IAAI,IAAIrC,IAAI,CAAC/E,KAAK,EAC7B;UACE,IAAIoH,IAAI,CAAC9J,eAAe,EACxB;YACE8J,IAAI,CAAC9J,eAAe,CAACoJ,KAAK,EAAEY,eAAe,GAAGF,IAAI,CAAC9J,eAAe,CAAC;YACnE8J,IAAI,CAAC9J,eAAe,GAAG,IAAI;AAC7B,UAAA;AACF,QAAA;QACA,IAAIyH,IAAI,CAAC1E,YAAY,EACrB;UACE0E,IAAI,CAAC1E,YAAY,CAACqG,KAAK,EAAEqC,yBAAyB,GAAGhE,IAAI,CAAC1E,YAAY,CAAC;UACvE0E,IAAI,CAAC1E,YAAY,GAAG,IAAI;AAC1B,QAAA;AACF,MAAA;AACA,MAAA,IAAI,IAAI,CAAC,oBAAoB,EAC7B;AACE,QAAA,IAAI,CAAC,oBAAoB,CAACqG,KAAK,EAAEgD,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC;AACjF,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;AAClC,MAAA;AACA,MAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC7B,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAIEC,kBAAkBA,CAACC,OAAO,EAC1B;AACE,MAAA,IAAI,CAAC,IAAI,CAACvH,UAAU,EACpB;AACE,QAAA;AACF,MAAA;AACA,MAAA,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,CAACqE,KAAK,KAAKkD,OAAO,EAC5E;QACE,IAAI,CAACH,yBAAyB,EAAE;AAClC,MAAA;AACA,MAAA,IAAI,IAAI,CAAC,cAAc,EACvB;AACE,QAAA;AACF,MAAA;AAEA,MAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAC9B;QACE,MAAMI,MAAM,GAAGD,OAAO,EAAEE,gBAAgB,GAAG,IAAI,CAAC,IAAI,IAAI;QACxD,IAAID,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAI,CAACA,MAAM,CAACnD,KAAK,EACzD;UACEmD,MAAM,CAACnD,KAAK,GAAGkD,OAAO;AACxB,QAAA;AACA,QAAA,IAAI,CAAC,oBAAoB,GAAGC,MAAM;AACpC,MAAA;AAEA,MAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAC1B,MAAA,KAAK,IAAI9J,SAAS,GAAG,CAAC,EAAEA,SAAS,GAAG,IAAI,CAACuC,MAAM,CAACgC,MAAM,EAAEvE,SAAS,EAAE,EACnE;AACE,QAAA,MAAMgF,IAAI,GAAG,IAAI,CAACzC,MAAM,CAACvC,SAAS,CAAC;AACnC,QAAA,IAAI,CAACgF,IAAI,CAAC3E,OAAO,EACjB;AACE,UAAA;AACF,QAAA;AACA,QAAA,MAAM4E,QAAQ,GAAGD,IAAI,CAACpE,mBAAmB,EAAE;QAC3C,IAAI,CAACqE,QAAQ,IAAIA,QAAQ,CAACC,MAAM,IAAI,KAAK,KAAK,EAC9C;AACE,UAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,UAAA;AACF,QAAA;AACA,QAAA,IAAI,CAACF,IAAI,CAAC9E,SAAS,CAACqE,MAAM,EAC1B;AACE,UAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,UAAA;AACF,QAAA;QACA,IAAIS,IAAI,CAAC9E,SAAS,CAACqE,MAAM,KAAKS,IAAI,CAACtE,eAAe,CAAC6D,MAAM,EACzD;AACE,UAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,UAAA;AACF,QAAA;AAEA,QAAA,IAAI,CAACS,IAAI,CAAC1E,YAAY,EACtB;UACE,MAAMwJ,MAAM,GAAGD,OAAO,EAAEG,sBAAsB,GAC5ChF,IAAI,CAACzE,mBAAmB,EACxByE,IAAI,CAACrE,KAAK,EACVqE,IAAI,CAACtE,eAAe,EACpBsE,IAAI,CAACtE,eAAe,CAAC6D,MACvB,CAAC,IAAI,IAAI;UACT,IAAIuF,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAI,CAACA,MAAM,CAACnD,KAAK,EACzD;YACEmD,MAAM,CAACnD,KAAK,GAAGkD,OAAO;AACxB,UAAA;UACA7E,IAAI,CAAC1E,YAAY,GAAGwJ,MAAM;AAC5B,QAAA;AAEA,QAAA,KAAK,MAAMzC,IAAI,IAAIrC,IAAI,CAAC/E,KAAK,EAC7B;UACE,IAAIoH,IAAI,CAAC9J,eAAe,EACxB;AACE,YAAA;AACF,UAAA;AACA,UAAA,IAAI,CAAC8J,IAAI,CAACnK,MAAM,EAChB;AACE,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,YAAA;AACF,UAAA;UACA,MAAM4M,MAAM,GAAGD,OAAO,EAAEI,YAAY,GAClChF,QAAQ,EACR,CAAC,EACDoC,IAAI,CAAClK,SAAS,EACd6H,IAAI,CAAChF,SAAS,EACdqH,IAAI,CAACjK,SAAS,EACdiK,IAAI,CAAChK,SAAS,EACdgK,IAAI,CAACnK,MAAM,EACXmK,IAAI,CAAC/J,UAAU,EACf,IAAI,CAAC,oBAAoB,EACzB0H,IAAI,CAAC1E,YAAY,EACjB0E,IAAI,CAAC9E,SAAS,EACd8E,IAAI,CAAC9E,SAAS,CAACqE,MAAM,EACrB,IAAI,EACJvE,SACF,CAAC,IAAI,IAAI;UACT,IAAI8J,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAI,CAACA,MAAM,CAACnD,KAAK,EACzD;YACEmD,MAAM,CAACnD,KAAK,GAAGkD,OAAO;AACxB,UAAA;UACAxC,IAAI,CAAC9J,eAAe,GAAGuM,MAAM;AAC/B,QAAA;AACF,MAAA;AACF,IAAA;;AAEA;AACF;AACA;IAGEI,eAAeA,CAAC,GAAGC,KAAK,EACxB;AACE,MAAA,OAAO,KAAK;AACd,IAAA;;AAEA;AACF;AAGEC,IAAAA,gBAAgBA,CAAC,GAAGD,KAAK,EACzB,CACA;;AAEA;AACF;IAGEE,sBAAsBA,CAAC,GAAGF,KAAK,EAC/B;AACE,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;;AAWE;AACF;AACA;AACA;;AAaE;AACF;AACA;AACA;;AAoBE;AACF;AACA;AACA;AACA;GAOC;AA5zBQ,EAAA,eAAe,GAAGpM,IAAI,CAAC1C,MAAM,EAAE;AAG/ByI,EAAAA,iBAAiB,GAAG,CAAC;AA6vBrB,EAAA,QAAQwG,CAAC/H,MAAM,EAAEmG,MAAM,EAC9B;AACE,IAAA,MAAMrC,KAAK,GAAG8B,MAAM,CAACO,MAAM,CAAC,KAAK,CAAC;AAClC,IAAA,IAAIrC,KAAK,IAAI9D,MAAM,CAACgC,MAAM,EAC1B;AACE,MAAA,MAAM,IAAIqE,UAAU,CAAC,CAAA,mCAAA,EAAsCvC,KAAK,kBAAkB,CAAC;AACrF,IAAA;IACA,OAAO9D,MAAM,CAAC8D,KAAK,CAAC;AACtB,EAAA;EAMO,WAAWkE,CAACnD,KAAK,EACxB;AACE,IAAA,MAAMoD,MAAM,GAAGpD,KAAK,IAAI,EAAE;AAC1B,IAAA,MAAMC,IAAI,GAAG,IAAI9L,qBAAyB,EAAE;AAC5C8L,IAAAA,IAAI,CAACnK,MAAM,GAAGsN,MAAM,CAACtN,MAAM,IAAI,IAAI;IACnCmK,IAAI,CAAClK,SAAS,GAAGgL,MAAM,CAACqC,MAAM,CAACrN,SAAS,CAAC,KAAK,CAAC;IAC/CkK,IAAI,CAACjK,SAAS,GAAG+K,MAAM,CAACqC,MAAM,CAACpN,SAAS,CAAC,KAAK,CAAC;AAC/CiK,IAAAA,IAAI,CAAChK,SAAS,GAAGmN,MAAM,CAACnN,SAAS,KAAK6K,SAAS,GAAG,CAAC,GAAGC,MAAM,CAACqC,MAAM,CAACnN,SAAS,CAAC,KAAK,CAAC;IACpFgK,IAAI,CAAC/J,UAAU,GAAG2D,sBAAuB,CAAC,cAAc,CAACoG,IAAI,CAACnK,MAAM,CAAC;AACrE,IAAA,OAAOmK,IAAI;AACb,EAAA;EAMO,UAAUoD,CAACzF,IAAI,EACtB;IACE,OAAO;MACLnF,YAAY,EAAEmF,IAAI,CAACnF,YAAY;AAC/BoF,MAAAA,QAAQ,EAAED,IAAI,CAACpE,mBAAmB,EAAE;MACpCd,WAAW,EAAEkF,IAAI,CAAClF,WAAW;MAC7BC,cAAc,EAAEiF,IAAI,CAACjF,cAAc;MACnCC,SAAS,EAAEgF,IAAI,CAAChF,SAAS;MACzBC,KAAK,EAAE+E,IAAI,CAAC/E,KAAK,CAAC8H,GAAG,CAACV,IAAI,KAAK;QAAE,GAAGA;AAAK,OAAC,CAAC,CAAC;MAC5CnH,SAAS,EAAE8E,IAAI,CAAC9E,SAAS,CAAC6H,GAAG,CAACE,QAAQ,KAAK;QACzC/J,SAAS,EAAEH,IAAI,CAAC2M,KAAK,CAACzC,QAAQ,CAAC/J,SAAS,CAAC;QACzCC,WAAW,EAAE8J,QAAQ,CAAC9J;AACxB,OAAC,CAAC,CAAC;MACHgC,WAAW,EAAE6E,IAAI,CAAC7E,WAAW;MAC7BC,iBAAiB,EAAE4E,IAAI,CAAC5E,iBAAiB;MACzCC,OAAO,EAAE2E,IAAI,CAAC3E;KACf;AACH,EAAA;EAOO,cAAcsK,CAACzN,MAAM,EAC5B;AACE,IAAA,MAAM0N,IAAI,GAAG1N,MAAM,EAAE2N,YAAY,IAAI,IAAI3N,MAAM,EAAE0N,IAAI,IAAI,CAAC;AAC1D,IAAA,OAAOzC,MAAM,CAACyC,IAAI,CAAC,IAAI,CAAC;AAC1B,EAAA;EAAC5M,WAAAA,GAAA;IAAA,KAAA,CAAA+C,sBAAA,GAAAa,WAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
@@ -1,12 +1,18 @@
1
1
  import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { mat4 } from '@carbonenginejs/core-math/mat4';
3
- import { vec3 } from '@carbonenginejs/core-math/vec3';
4
- import { vec4 } from '@carbonenginejs/core-math/vec4';
5
- import { io, type, impl, schema } from '@carbonenginejs/core-types/schema';
2
+ import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
3
+ import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
4
+ import { vec4 } from '@carbonenginejs/runtime-utils/vec4';
5
+ import { io, type, impl, schema } from '@carbonenginejs/runtime-utils/schema';
6
6
  import { EveChildTransform as _EveChildTransform } from './EveChildTransform.js';
7
7
  import { EveComponentType } from '../EveComponentTypes.js';
8
8
 
9
9
  let _initProto, _initClass, _init_priority, _init_extra_priority, _init_name, _init_extra_name, _init_backgroundIntensity, _init_extra_backgroundIntensity, _init_intensity, _init_extra_intensity, _init_reflectionIntensity, _init_extra_reflectionIntensity, _init_sunIntensity, _init_extra_sunIntensity, _init_sunColor, _init_extra_sunColor, _init_volumes, _init_extra_volumes;
10
+
11
+ /**
12
+ * Space-object child that overrides scene sun, background and reflection
13
+ * lighting, its blend strength driven by how deeply the camera sits inside the
14
+ * volumes it owns.
15
+ */
10
16
  let _EveChildLightingOver;
11
17
  new class extends _identity {
12
18
  static [class EveChildLightingOverride extends _EveChildTransform {
@@ -49,6 +55,12 @@ new class extends _identity {
49
55
  registry.RegisterComponent(EveComponentType.EveLightingOverride, this);
50
56
  }
51
57
  }
58
+
59
+ /**
60
+ * Returns this child's contribution to the lighting system: its priority, the
61
+ * blend intensity resolved by the last async update, and the sun
62
+ * colour/intensity plus background and reflection intensities to blend toward.
63
+ */
52
64
  GetOverrides() {
53
65
  return {
54
66
  priority: this.priority,
@@ -61,17 +73,41 @@ new class extends _identity {
61
73
  }
62
74
  };
63
75
  }
76
+
77
+ /**
78
+ * The authored name, persisted with the override and used to identify it in
79
+ * the parent graph.
80
+ */
64
81
  GetName() {
65
82
  return this.name;
66
83
  }
84
+
85
+ /** Sets the authored override name, coercing nullish to the empty string. */
67
86
  SetName(name) {
68
87
  this.name = String(name ?? "");
69
88
  }
89
+
90
+ /**
91
+ * Copies the cached local-space bounding sphere into out and always reports success, even before any volume has contributed.
92
+ * @param {Float32Array} [out] - caller-owned; receives (x, y, z, radius)
93
+ * @returns {Boolean} always true
94
+ */
70
95
  GetBoundingSphere(out = vec4.create()) {
71
96
  vec4.set(out, this.#boundingSphere.center[0], this.#boundingSphere.center[1], this.#boundingSphere.center[2], this.#boundingSphere.radius);
72
97
  return true;
73
98
  }
99
+
100
+ /** No-op: a lighting override carries no sync-side frame work. */
74
101
  UpdateSyncronous(_updateContext, _params) {}
102
+
103
+ /**
104
+ * Rebuilds the world transform and bounding sphere, then resolves the override
105
+ * strength for the frame: with no volumes the authored intensity applies
106
+ * directly; otherwise the camera is moved into local space and, only while it
107
+ * is inside the bounding sphere, the strongest volume intensity there
108
+ * (short-circuiting at 1) is scaled by the authored intensity - a camera
109
+ * outside leaves the strength at zero.
110
+ */
75
111
  UpdateAsyncronous(updateContext, params = {}) {
76
112
  this.UpdateTransform(params.localToWorldTransform ?? mat4.create());
77
113
  this.#RebuildBoundingSphere();
@@ -91,22 +127,54 @@ new class extends _identity {
91
127
  }
92
128
  this.#overrideIntensity *= this.intensity;
93
129
  }
130
+
131
+ /**
132
+ * Copies the child's world transform, as rebuilt by the last async update.
133
+ * @param {Float32Array} [out] - caller-owned; allocated when omitted
134
+ * @returns {Float32Array} out
135
+ */
94
136
  GetLocalToWorldTransform(out = mat4.create()) {
95
137
  return mat4.copy(out, this.worldTransform);
96
138
  }
139
+
140
+ /**
141
+ * Applies the authored scale/rotation/translation through the shared child
142
+ * transform setup.
143
+ */
97
144
  Setup(scale, rotation, translation, lowestLodVisible) {
98
145
  return super.Setup(scale, rotation, translation, lowestLodVisible);
99
146
  }
147
+
148
+ /**
149
+ * Returns true unconditionally - a lighting override reports itself as always
150
+ * on.
151
+ */
100
152
  IsAlwaysOn() {
101
153
  return true;
102
154
  }
155
+
156
+ /**
157
+ * Builds the initial bounding sphere from the authored volumes so the first
158
+ * frame can already reject an outside camera.
159
+ */
103
160
  Initialize() {
104
161
  this.#RebuildBoundingSphere();
105
162
  return true;
106
163
  }
164
+
165
+ /** No-op: a lighting override is not renderable and keeps no visibility state. */
107
166
  UpdateVisibility(_updateContext, _parentTransform, _parentLod) {}
167
+
168
+ /** No-op: a lighting override contributes settings, never renderables. */
108
169
  GetRenderables(_renderables) {}
170
+
171
+ /** No-op: a lighting override has no LOD levels. */
109
172
  ChangeLOD(_lod) {}
173
+ /**
174
+ * Recomputes the cached bounding sphere as the union of the child volumes'
175
+ * spheres, skipping volumes with a missing centre or a non-finite/negative
176
+ * radius, and records whether any volume contributed.
177
+ */
110
178
  #RebuildBoundingSphere() {
111
179
  const target = this.#boundingSphere;
112
180
  vec3.set(target.center, 0, 0, 0);
@@ -124,6 +192,12 @@ new class extends _identity {
124
192
  _EveChildLightingOver.#UnionSphere(target, sphere);
125
193
  }
126
194
  }
195
+
196
+ /**
197
+ * Grows the target sphere in place so it also encloses the given sphere,
198
+ * short-circuiting when either already contains the other and handling
199
+ * coincident centres.
200
+ */
127
201
  }];
128
202
  Priority = Object.freeze({
129
203
  SCENE_DEFAULT_PRIORITY: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"EveChildLightingOverride.js","sources":["../../../../src/eve/child/EveChildLightingOverride.js"],"sourcesContent":["// Ported/adapted from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildLightingOverride.h\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildLightingOverride.cpp\r\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\r\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\r\nimport { impl, io, schema, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveChildTransform } from \"./EveChildTransform.js\";\r\nimport { EveComponentType } from \"../EveComponentTypes.js\";\r\n\r\n\r\n@type.define({ className: \"EveChildLightingOverride\", family: \"eve/child\" })\r\nexport class EveChildLightingOverride extends EveChildTransform\r\n{\r\n #overrideIntensity = 0;\r\n #boundingSphere = { center: vec3.create(), radius: 0, initialized: false };\r\n\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Priority\")\r\n priority = 2;\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.float32\r\n backgroundIntensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n intensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n reflectionIntensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n sunIntensity = 1;\r\n\r\n @io.persist\r\n @type.color\r\n sunColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n @io.persist\r\n @type.list(\"IEveVolume\")\r\n volumes = [];\r\n\r\n /** Carbon EveChildLightingOverride::RegisterComponents (cpp:47-50):\r\n * unconditional EveLightingOverride leaf self-registration. Carbon's\r\n * UnRegisterComponents (cpp:52-55) only removes this same component, which\r\n * EveEntity::UnRegister already did via UnRegisterAllComponents\r\n * (EveEntity.cpp:90), so the JS un-side keeps the base no-op. */\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n registry.RegisterComponent(EveComponentType.EveLightingOverride, this);\r\n }\r\n }\r\n\r\n @impl.implemented\r\n GetOverrides()\r\n {\r\n return {\r\n priority: this.priority,\r\n intensity: this.#overrideIntensity,\r\n value: {\r\n sunColor: vec4.clone(this.sunColor),\r\n sunIntensity: this.sunIntensity,\r\n backgroundIntensity: this.backgroundIntensity,\r\n reflectionIntensity: this.reflectionIntensity\r\n }\r\n };\r\n }\r\n\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n @impl.adapted\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n vec4.set(out, this.#boundingSphere.center[0], this.#boundingSphere.center[1], this.#boundingSphere.center[2], this.#boundingSphere.radius);\r\n return true;\r\n }\r\n\r\n UpdateSyncronous(_updateContext, _params)\r\n {\r\n }\r\n\r\n @impl.adapted\r\n UpdateAsyncronous(updateContext, params = {})\r\n {\r\n this.UpdateTransform(params.localToWorldTransform ?? mat4.create());\r\n this.#RebuildBoundingSphere();\r\n\r\n if (this.volumes.length === 0)\r\n {\r\n this.#overrideIntensity = this.intensity;\r\n return;\r\n }\r\n\r\n this.#overrideIntensity = 0;\r\n const viewPosition = updateContext?.renderContext?.GetViewPosition?.();\r\n const inverse = mat4.invert(mat4.create(), this.worldTransform);\r\n if (!viewPosition || !inverse || !this.#boundingSphere.initialized) return;\r\n const localView = vec3.transformMat4(vec3.create(), viewPosition, inverse);\r\n if (vec3.distance(localView, this.#boundingSphere.center) > this.#boundingSphere.radius) return;\r\n\r\n for (const volume of this.volumes)\r\n {\r\n this.#overrideIntensity = Math.max(this.#overrideIntensity, Number(volume?.GetIntensity?.(localView)) || 0);\r\n if (this.#overrideIntensity >= 1) break;\r\n }\r\n this.#overrideIntensity *= this.intensity;\r\n }\r\n\r\n GetLocalToWorldTransform(out = mat4.create())\r\n {\r\n return mat4.copy(out, this.worldTransform);\r\n }\r\n\r\n Setup(scale, rotation, translation, lowestLodVisible)\r\n {\r\n return super.Setup(scale, rotation, translation, lowestLodVisible);\r\n }\r\n\r\n IsAlwaysOn()\r\n {\r\n return true;\r\n }\r\n\r\n Initialize()\r\n {\r\n this.#RebuildBoundingSphere();\r\n return true;\r\n }\r\n\r\n UpdateVisibility(_updateContext, _parentTransform, _parentLod)\r\n {\r\n }\r\n\r\n GetRenderables(_renderables)\r\n {\r\n }\r\n\r\n ChangeLOD(_lod)\r\n {\r\n }\r\n\r\n static Priority = Object.freeze({\r\n SCENE_DEFAULT_PRIORITY: 0,\r\n LOW_PRIORITY: 1,\r\n MEDIUM_PRIORITY: 2,\r\n HIGH_PRIORITY: 3,\r\n UI_PRIORITY: 4,\r\n PRIORITY_COUNT: 5\r\n });\r\n\r\n #RebuildBoundingSphere()\r\n {\r\n const target = this.#boundingSphere;\r\n vec3.set(target.center, 0, 0, 0);\r\n target.radius = 0;\r\n target.initialized = false;\r\n\r\n for (const volume of this.volumes)\r\n {\r\n const sphere = volume?.GetBoundingSphere?.();\r\n if (!sphere?.center || !Number.isFinite(sphere.radius) || sphere.radius < 0) continue;\r\n if (!target.initialized)\r\n {\r\n vec3.copy(target.center, sphere.center);\r\n target.radius = sphere.radius;\r\n target.initialized = true;\r\n continue;\r\n }\r\n EveChildLightingOverride.#UnionSphere(target, sphere);\r\n }\r\n }\r\n\r\n static #UnionSphere(target, sphere)\r\n {\r\n const delta = vec3.subtract(vec3.create(), sphere.center, target.center);\r\n const distance = vec3.length(delta);\r\n if (distance + sphere.radius <= target.radius) return;\r\n if (distance + target.radius <= sphere.radius)\r\n {\r\n vec3.copy(target.center, sphere.center);\r\n target.radius = sphere.radius;\r\n return;\r\n }\r\n if (distance === 0)\r\n {\r\n target.radius = Math.max(target.radius, sphere.radius);\r\n return;\r\n }\r\n const radius = (target.radius + sphere.radius + distance) * 0.5;\r\n vec3.scaleAndAdd(target.center, target.center, delta, (radius - target.radius) / distance);\r\n target.radius = radius;\r\n }\r\n}\r\n"],"names":["_EveChildLightingOver","_identity","EveChildLightingOverride","EveChildTransform","e","_init_priority","_init_extra_priority","_init_name","_init_extra_name","_init_backgroundIntensity","_init_extra_backgroundIntensity","_init_intensity","_init_extra_intensity","_init_reflectionIntensity","_init_extra_reflectionIntensity","_init_sunIntensity","_init_extra_sunIntensity","_init_sunColor","_init_extra_sunColor","_init_volumes","_init_extra_volumes","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","int32","schema","enum","string","float32","color","list","impl","implemented","adapted","constructor","args","center","vec3","create","radius","initialized","priority","name","backgroundIntensity","intensity","reflectionIntensity","sunIntensity","sunColor","vec4","fromValues","volumes","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","EveLightingOverride","GetOverrides","value","clone","GetName","SetName","String","GetBoundingSphere","out","set","UpdateSyncronous","_updateContext","_params","UpdateAsyncronous","updateContext","params","UpdateTransform","localToWorldTransform","mat4","length","viewPosition","renderContext","GetViewPosition","inverse","invert","worldTransform","localView","transformMat4","distance","volume","Math","max","Number","GetIntensity","GetLocalToWorldTransform","copy","Setup","scale","rotation","translation","lowestLodVisible","IsAlwaysOn","Initialize","UpdateVisibility","_parentTransform","_parentLod","GetRenderables","_renderables","ChangeLOD","_lod","#RebuildBoundingSphere","target","sphere","isFinite","Priority","Object","freeze","SCENE_DEFAULT_PRIORITY","LOW_PRIORITY","MEDIUM_PRIORITY","HIGH_PRIORITY","UI_PRIORITY","PRIORITY_COUNT","#UnionSphere","delta","subtract","scaleAndAdd"],"mappings":"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"}
1
+ {"version":3,"file":"EveChildLightingOverride.js","sources":["../../../../src/eve/child/EveChildLightingOverride.js"],"sourcesContent":["// Ported/adapted from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildLightingOverride.h\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildLightingOverride.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\r\nimport { impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveChildTransform } from \"./EveChildTransform.js\";\r\nimport { EveComponentType } from \"../EveComponentTypes.js\";\r\n\r\n\r\n/**\r\n * Space-object child that overrides scene sun, background and reflection\r\n * lighting, its blend strength driven by how deeply the camera sits inside the\r\n * volumes it owns.\r\n */\r\n@type.define({ className: \"EveChildLightingOverride\", family: \"eve/child\" })\r\nexport class EveChildLightingOverride extends EveChildTransform\r\n{\r\n #overrideIntensity = 0;\r\n #boundingSphere = { center: vec3.create(), radius: 0, initialized: false };\r\n\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Priority\")\r\n priority = 2;\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.float32\r\n backgroundIntensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n intensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n reflectionIntensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n sunIntensity = 1;\r\n\r\n @io.persist\r\n @type.color\r\n sunColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n @io.persist\r\n @type.list(\"IEveVolume\")\r\n volumes = [];\r\n\r\n /** Carbon EveChildLightingOverride::RegisterComponents (cpp:47-50):\r\n * unconditional EveLightingOverride leaf self-registration. Carbon's\r\n * UnRegisterComponents (cpp:52-55) only removes this same component, which\r\n * EveEntity::UnRegister already did via UnRegisterAllComponents\r\n * (EveEntity.cpp:90), so the JS un-side keeps the base no-op. */\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n registry.RegisterComponent(EveComponentType.EveLightingOverride, this);\r\n }\r\n }\r\n\r\n /**\r\n * Returns this child's contribution to the lighting system: its priority, the\r\n * blend intensity resolved by the last async update, and the sun\r\n * colour/intensity plus background and reflection intensities to blend toward.\r\n */\r\n @impl.implemented\r\n GetOverrides()\r\n {\r\n return {\r\n priority: this.priority,\r\n intensity: this.#overrideIntensity,\r\n value: {\r\n sunColor: vec4.clone(this.sunColor),\r\n sunIntensity: this.sunIntensity,\r\n backgroundIntensity: this.backgroundIntensity,\r\n reflectionIntensity: this.reflectionIntensity\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * The authored name, persisted with the override and used to identify it in\r\n * the parent graph.\r\n */\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n /** Sets the authored override name, coercing nullish to the empty string. */\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n /**\r\n * Copies the cached local-space bounding sphere into out and always reports success, even before any volume has contributed.\r\n * @param {Float32Array} [out] - caller-owned; receives (x, y, z, radius)\r\n * @returns {Boolean} always true\r\n */\r\n @impl.adapted\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n vec4.set(out, this.#boundingSphere.center[0], this.#boundingSphere.center[1], this.#boundingSphere.center[2], this.#boundingSphere.radius);\r\n return true;\r\n }\r\n\r\n /** No-op: a lighting override carries no sync-side frame work. */\r\n UpdateSyncronous(_updateContext, _params)\r\n {\r\n }\r\n\r\n /**\r\n * Rebuilds the world transform and bounding sphere, then resolves the override\r\n * strength for the frame: with no volumes the authored intensity applies\r\n * directly; otherwise the camera is moved into local space and, only while it\r\n * is inside the bounding sphere, the strongest volume intensity there\r\n * (short-circuiting at 1) is scaled by the authored intensity - a camera\r\n * outside leaves the strength at zero.\r\n */\r\n @impl.adapted\r\n UpdateAsyncronous(updateContext, params = {})\r\n {\r\n this.UpdateTransform(params.localToWorldTransform ?? mat4.create());\r\n this.#RebuildBoundingSphere();\r\n\r\n if (this.volumes.length === 0)\r\n {\r\n this.#overrideIntensity = this.intensity;\r\n return;\r\n }\r\n\r\n this.#overrideIntensity = 0;\r\n const viewPosition = updateContext?.renderContext?.GetViewPosition?.();\r\n const inverse = mat4.invert(mat4.create(), this.worldTransform);\r\n if (!viewPosition || !inverse || !this.#boundingSphere.initialized) return;\r\n const localView = vec3.transformMat4(vec3.create(), viewPosition, inverse);\r\n if (vec3.distance(localView, this.#boundingSphere.center) > this.#boundingSphere.radius) return;\r\n\r\n for (const volume of this.volumes)\r\n {\r\n this.#overrideIntensity = Math.max(this.#overrideIntensity, Number(volume?.GetIntensity?.(localView)) || 0);\r\n if (this.#overrideIntensity >= 1) break;\r\n }\r\n this.#overrideIntensity *= this.intensity;\r\n }\r\n\r\n /**\r\n * Copies the child's world transform, as rebuilt by the last async update.\r\n * @param {Float32Array} [out] - caller-owned; allocated when omitted\r\n * @returns {Float32Array} out\r\n */\r\n GetLocalToWorldTransform(out = mat4.create())\r\n {\r\n return mat4.copy(out, this.worldTransform);\r\n }\r\n\r\n /**\r\n * Applies the authored scale/rotation/translation through the shared child\r\n * transform setup.\r\n */\r\n Setup(scale, rotation, translation, lowestLodVisible)\r\n {\r\n return super.Setup(scale, rotation, translation, lowestLodVisible);\r\n }\r\n\r\n /**\r\n * Returns true unconditionally - a lighting override reports itself as always\r\n * on.\r\n */\r\n IsAlwaysOn()\r\n {\r\n return true;\r\n }\r\n\r\n /**\r\n * Builds the initial bounding sphere from the authored volumes so the first\r\n * frame can already reject an outside camera.\r\n */\r\n Initialize()\r\n {\r\n this.#RebuildBoundingSphere();\r\n return true;\r\n }\r\n\r\n /** No-op: a lighting override is not renderable and keeps no visibility state. */\r\n UpdateVisibility(_updateContext, _parentTransform, _parentLod)\r\n {\r\n }\r\n\r\n /** No-op: a lighting override contributes settings, never renderables. */\r\n GetRenderables(_renderables)\r\n {\r\n }\r\n\r\n /** No-op: a lighting override has no LOD levels. */\r\n ChangeLOD(_lod)\r\n {\r\n }\r\n\r\n static Priority = Object.freeze({\r\n SCENE_DEFAULT_PRIORITY: 0,\r\n LOW_PRIORITY: 1,\r\n MEDIUM_PRIORITY: 2,\r\n HIGH_PRIORITY: 3,\r\n UI_PRIORITY: 4,\r\n PRIORITY_COUNT: 5\r\n });\r\n\r\n /**\r\n * Recomputes the cached bounding sphere as the union of the child volumes'\r\n * spheres, skipping volumes with a missing centre or a non-finite/negative\r\n * radius, and records whether any volume contributed.\r\n */\r\n #RebuildBoundingSphere()\r\n {\r\n const target = this.#boundingSphere;\r\n vec3.set(target.center, 0, 0, 0);\r\n target.radius = 0;\r\n target.initialized = false;\r\n\r\n for (const volume of this.volumes)\r\n {\r\n const sphere = volume?.GetBoundingSphere?.();\r\n if (!sphere?.center || !Number.isFinite(sphere.radius) || sphere.radius < 0) continue;\r\n if (!target.initialized)\r\n {\r\n vec3.copy(target.center, sphere.center);\r\n target.radius = sphere.radius;\r\n target.initialized = true;\r\n continue;\r\n }\r\n EveChildLightingOverride.#UnionSphere(target, sphere);\r\n }\r\n }\r\n\r\n /**\r\n * Grows the target sphere in place so it also encloses the given sphere,\r\n * short-circuiting when either already contains the other and handling\r\n * coincident centres.\r\n */\r\n static #UnionSphere(target, sphere)\r\n {\r\n const delta = vec3.subtract(vec3.create(), sphere.center, target.center);\r\n const distance = vec3.length(delta);\r\n if (distance + sphere.radius <= target.radius) return;\r\n if (distance + target.radius <= sphere.radius)\r\n {\r\n vec3.copy(target.center, sphere.center);\r\n target.radius = sphere.radius;\r\n return;\r\n }\r\n if (distance === 0)\r\n {\r\n target.radius = Math.max(target.radius, sphere.radius);\r\n return;\r\n }\r\n const radius = (target.radius + sphere.radius + distance) * 0.5;\r\n vec3.scaleAndAdd(target.center, target.center, delta, (radius - target.radius) / distance);\r\n target.radius = radius;\r\n }\r\n}\r\n"],"names":["_EveChildLightingOver","_identity","EveChildLightingOverride","EveChildTransform","e","_init_priority","_init_extra_priority","_init_name","_init_extra_name","_init_backgroundIntensity","_init_extra_backgroundIntensity","_init_intensity","_init_extra_intensity","_init_reflectionIntensity","_init_extra_reflectionIntensity","_init_sunIntensity","_init_extra_sunIntensity","_init_sunColor","_init_extra_sunColor","_init_volumes","_init_extra_volumes","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","int32","schema","enum","string","float32","color","list","impl","implemented","adapted","constructor","args","center","vec3","create","radius","initialized","priority","name","backgroundIntensity","intensity","reflectionIntensity","sunIntensity","sunColor","vec4","fromValues","volumes","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","EveLightingOverride","GetOverrides","value","clone","GetName","SetName","String","GetBoundingSphere","out","set","UpdateSyncronous","_updateContext","_params","UpdateAsyncronous","updateContext","params","UpdateTransform","localToWorldTransform","mat4","length","viewPosition","renderContext","GetViewPosition","inverse","invert","worldTransform","localView","transformMat4","distance","volume","Math","max","Number","GetIntensity","GetLocalToWorldTransform","copy","Setup","scale","rotation","translation","lowestLodVisible","IsAlwaysOn","Initialize","UpdateVisibility","_parentTransform","_parentLod","GetRenderables","_renderables","ChangeLOD","_lod","#RebuildBoundingSphere","target","sphere","isFinite","Priority","Object","freeze","SCENE_DEFAULT_PRIORITY","LOW_PRIORITY","MEDIUM_PRIORITY","HIGH_PRIORITY","UI_PRIORITY","PRIORITY_COUNT","#UnionSphere","delta","subtract","scaleAndAdd"],"mappings":"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"}
@@ -1,17 +1,18 @@
1
- import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { io, type, carbon, impl } from '@carbonenginejs/core-types/schema';
3
- import { EveChildMesh as _EveChildMesh } from '../../../eve/child/EveChildMesh.js';
4
- import { mat4 } from '@carbonenginejs/core-math/mat4';
5
- import { quat } from '@carbonenginejs/core-math/quat';
6
- import { sph3 } from '@carbonenginejs/core-math/sph3';
7
- import { vec3 } from '@carbonenginejs/core-math/vec3';
8
- import { vec4 } from '@carbonenginejs/core-math/vec4';
9
- import { EveSpaceObjectPSData as _EveSpaceObjectPSData } from '../../../eve/EveSpaceObjectPSData.js';
10
- import { EveSpaceObjectVSData as _EveSpaceObjectVSData } from '../../../eve/EveSpaceObjectVSData.js';
1
+ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
3
+ import { EveChildMesh as _EveChildMesh } from './EveChildMesh.js';
4
+ import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
5
+ import { quat } from '@carbonenginejs/runtime-utils/quat';
6
+ import { sph3 } from '@carbonenginejs/runtime-utils/sph3';
7
+ import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
8
+ import { vec4 } from '@carbonenginejs/runtime-utils/vec4';
11
9
 
12
10
  let _initProto, _initClass, _init_linkStrengthCurves, _init_extra_linkStrengthCurves, _init_linkStrengthBindings, _init_extra_linkStrengthBindings, _init_linkBarrier, _init_extra_linkBarrier, _init_currentDistance, _init_extra_currentDistance, _init_currentDirection, _init_extra_currentDirection, _init_target, _init_extra_target, _init_linkStrength, _init_extra_linkStrength, _init_targetRadius, _init_extra_targetRadius;
13
11
 
14
- /** EveChildLink (eve/child) - generated from schema shapeHash 9d53a00b.... */
12
+ /**
13
+ * A stretched link between a shield hull and an arc target: it orients itself
14
+ * along the arc, keeps its own final world placement, and inherits the hull per-object values.
15
+ */
15
16
  let _EveChildLink;
16
17
  new class extends _identity {
17
18
  static [class EveChildLink extends _EveChildMesh {
@@ -51,12 +52,6 @@ new class extends _identity {
51
52
  /** m_isVisible (bool, EveChildMesh) - result of the last UpdateVisibility pass. */
52
53
  #isVisible = (_init_extra_targetRadius(this), false);
53
54
 
54
- /** m_vsData (EveSpaceObjectVSData, EveChildMesh) - CPU record for the per-object VS constants. */
55
- #vsData = new _EveSpaceObjectVSData();
56
-
57
- /** m_psData (EveSpaceObjectPSData, EveChildMesh) - CPU record for the per-object PS constants. */
58
- #psData = new _EveSpaceObjectPSData();
59
-
60
55
  /**
61
56
  * Resolves the link direction and distance from the parent's model center to
62
57
  * the target function (EveChildLink.cpp:40-68).
@@ -159,11 +154,17 @@ new class extends _identity {
159
154
  const finalWorld = _EveChildLink.#finalWorld;
160
155
  mat4.translate(finalWorld, this.worldTransform, shieldEllipsoidCenter);
161
156
 
162
- // Per-object records (EveChildLink.cpp:142-151); the persistent-buffer
163
- // invalidation is engine-owned.
164
- params.spaceObjectParent?.GetPerObjectStructs?.(this.#vsData, this.#psData);
165
- mat4.transpose(this.#vsData.worldTransform, finalWorld);
166
- mat4.transpose(this.#vsData.worldTransformLast, linkRotation);
157
+ // Carbon cpp:143-151: invalidate, inherit the hull's structs, then stamp
158
+ // the link's own placement into the records EveChildMesh owns - Carbon
159
+ // inherits the same pair. worldTransformLast deliberately carries the LINK
160
+ // ROTATION rather than the previous transform, so a stretched link resolves
161
+ // its motion vector along the arc.
162
+ const records = this.GetPerObjectRecords();
163
+ records.vs.Invalidate();
164
+ records.ps.Invalidate();
165
+ params.spaceObjectParent?.GetPerObjectStructs?.(records.vs, records.ps);
166
+ records.vs.SetAndTranspose("worldTransform", finalWorld);
167
+ records.vs.SetAndTranspose("worldTransformLast", linkRotation);
167
168
  }
168
169
 
169
170
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EveChildLink.js","sources":["../../../../src/eve/child/EveChildLink.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/Children/EveChildLink.h\n// Generated by format-carbon carbon-class --emit. Verify against eve/child/EveChildLink.json.\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { EveChildMesh } from \"./EveChildMesh.js\";\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 { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\n\n/**\n * A stretched link between a shield hull and an arc target: it orients itself\n * along the arc, keeps its own final world placement, and inherits the hull per-object values.\n */\n@type.define({ className: \"EveChildLink\", family: \"eve/child\" })\nexport class EveChildLink extends EveChildMesh\n{\n\n /** m_linkStrengthCurves (PITriFunctionVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"ITriFunction\")\n linkStrengthCurves = [];\n\n /** m_linkStrengthBindings (PITr2ValueBindingVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"ITr2ValueBinding\")\n linkStrengthBindings = [];\n\n /** m_linkBarrier (float) [READWRITE] */\n @io.readwrite\n @type.float32\n linkBarrier = 1;\n\n /** m_currentDistance (float) [READ] */\n @io.read\n @type.float32\n currentDistance = 0;\n\n /** m_currentDirection (Vector3) [READ] */\n @io.read\n @type.vec3\n currentDirection = vec3.fromValues(0, 0, 1);\n\n /** m_target (ITriVectorFunctionPtr) [READWRITE] */\n @io.readwrite\n @type.objectRef(\"ITriVectorFunction\")\n target = null;\n\n /** m_linkStrength (float) [READ] */\n @io.read\n @type.float32\n linkStrength = 0;\n\n /** m_targetRadius (float) [READWRITE] */\n @io.readwrite\n @type.float32\n targetRadius = 0.5;\n\n /** m_isVisible (bool, EveChildMesh) - result of the last UpdateVisibility pass. */\n #isVisible = false;\n\n /**\n * Resolves the link direction and distance from the parent's model center to\n * the target function (EveChildLink.cpp:40-68).\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"EveChildMesh::UpdateSyncronous (animation/audio bookkeeping, EveChildMesh.cpp:1002) is not yet ported on the JS base, so only the link targeting runs; collaborators are duck-typed.\")\n UpdateSyncronous(updateContext, params)\n {\n // Carbon first calls EveChildMesh::UpdateSyncronous (EveChildLink.cpp:42);\n // the JS base class does not implement it yet - see the class reason.\n if (!this.target)\n {\n return;\n }\n const time = Number(updateContext?.GetTime?.() ?? updateContext?.currentTime ?? 0);\n const targetPosition = EveChildLink.#targetPosition;\n vec3.set(targetPosition, 0, 0, 0);\n const targetResult = this.target.GetValueAt?.(time, targetPosition);\n if (targetResult && targetResult !== targetPosition && targetResult.length >= 3)\n {\n vec3.copy(targetPosition, targetResult);\n }\n if (!params?.spaceObjectParent)\n {\n // EveChildLink.cpp:57-60: without a source parent there is no direction.\n return;\n }\n const sourcePosition = EveChildLink.#sourcePosition;\n vec3.set(sourcePosition, 0, 0, 0);\n const sourceResult = params.spaceObjectParent.GetModelCenterWorldPosition?.(sourcePosition);\n if (sourceResult && sourceResult !== sourcePosition && sourceResult.length >= 3)\n {\n vec3.copy(sourcePosition, sourceResult);\n }\n vec3.subtract(this.currentDirection, targetPosition, sourcePosition);\n this.currentDistance = vec3.length(this.currentDirection);\n vec3.normalize(this.currentDirection, this.currentDirection);\n }\n\n /**\n * Evaluates the link-strength curves/bindings, then composes the link\n * placement matrices and the per-object VS record\n * (EveChildLink.cpp:74-152). Replaces (does not call) the EveChildMesh\n * async update, as Carbon does.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Per-object GPU buffer invalidation (cpp:143-144) is engine-owned; parents and curves are duck-typed and the vs/ps records are the backend-neutral value classes.\")\n UpdateAsyncronous(_updateContext, params)\n {\n // Update the special link curves with last frame's strength, then copy\n // the bound values (EveChildLink.cpp:76-85).\n for (const curve of this.linkStrengthCurves)\n {\n curve?.UpdateValue?.(this.linkStrength);\n }\n for (const binding of this.linkStrengthBindings)\n {\n binding?.CopyValue?.();\n }\n\n // Parent world matrix and the parent's shield ellipsoid offset\n // (EveChildLink.cpp:87-106).\n const shieldEllipsoidCenter = EveChildLink.#shieldEllipsoidCenter;\n vec3.set(shieldEllipsoidCenter, 0, 0, 0);\n if (params?.childParent)\n {\n EveChildLink.#CopyLocalToWorld(this.worldTransform, params.childParent);\n }\n else if (params?.spaceObjectParent)\n {\n EveChildLink.#CopyLocalToWorld(this.worldTransform, params.spaceObjectParent);\n // Carbon queries the EveSpaceObject2 interface for GetShapeEllipsoid\n // (EveChildLink.cpp:96-101); parents without the duck-typed accessor\n // keep the zero center.\n params.spaceObjectParent.GetShapeEllipsoid?.(shieldEllipsoidCenter, EveChildLink.#shieldEllipsoidRadii);\n }\n else\n {\n return;\n }\n\n // Link rotation arcs the authored +Y mesh axis onto the current direction\n // (EveChildLink.cpp:108-111, TriMatrixRotationArc).\n const linkRotation = EveChildLink.#linkRotation;\n quat.rotationTo(EveChildLink.#arcQuat, EveChildLink.#meshDirection, this.currentDirection);\n mat4.fromQuat(linkRotation, EveChildLink.#arcQuat);\n\n if (this.currentDistance <= this.targetRadius)\n {\n // Always at 100% within the target radius (EveChildLink.cpp:113-117).\n this.linkStrength = 1;\n }\n else\n {\n // Strength from distance vs. barrier (EveChildLink.cpp:119-123).\n const div = Math.abs(this.linkBarrier - this.targetRadius);\n this.linkStrength = Math.min(1, Math.max(0, 1 - (this.currentDistance - this.targetRadius) / div));\n }\n\n // Inverse rotation-only world matrix (EveChildLink.cpp:125-128).\n const inverseRotationWorld = EveChildLink.#inverseRotationWorld;\n mat4.copy(inverseRotationWorld, this.worldTransform);\n inverseRotationWorld[12] = 0;\n inverseRotationWorld[13] = 0;\n inverseRotationWorld[14] = 0;\n if (!mat4.invert(inverseRotationWorld, inverseRotationWorld))\n {\n // JS-only guard: Carbon inverts unconditionally.\n mat4.identity(inverseRotationWorld);\n }\n\n // Carbon (row-vector): linkRotationMat * invRotationWorldMat - linkRotationMat first. (EveChildLink.cpp:131)\n mat4.multiply(linkRotation, inverseRotationWorld, linkRotation);\n\n // Stamp the offset to the target into the translation row\n // (EveChildLink.cpp:133-135, TriMatrixOverwriteTranslation).\n linkRotation[12] = this.currentDistance * this.currentDirection[0];\n linkRotation[13] = this.currentDistance * this.currentDirection[1];\n linkRotation[14] = this.currentDistance * this.currentDirection[2];\n\n // Carbon (row-vector): TranslationMatrix(shieldEllipsoidCenter) * m_worldTransform - translate first. (EveChildLink.cpp:138-140)\n const finalWorld = EveChildLink.#finalWorld;\n mat4.translate(finalWorld, this.worldTransform, shieldEllipsoidCenter);\n\n // Carbon cpp:143-151: invalidate, inherit the hull's structs, then stamp\n // the link's own placement into the records EveChildMesh owns - Carbon\n // inherits the same pair. worldTransformLast deliberately carries the LINK\n // ROTATION rather than the previous transform, so a stretched link resolves\n // its motion vector along the arc.\n const records = this.GetPerObjectRecords();\n records.vs.Invalidate();\n records.ps.Invalidate();\n params.spaceObjectParent?.GetPerObjectStructs?.(records.vs, records.ps);\n records.vs.SetAndTranspose(\"worldTransform\", finalWorld);\n records.vs.SetAndTranspose(\"worldTransformLast\", linkRotation);\n }\n\n /**\n * HOTFIX visibility from Carbon: never LOD out the tethering effect - a\n * present mesh is always visible (EveChildLink.cpp:154-169).\n */\n @carbon.method\n @impl.implemented\n UpdateVisibility(_updateContext, _parentTransform, _parentLod)\n {\n if (!this.display)\n {\n return;\n }\n this.#isVisible = false;\n this.currentScreenSize = -1;\n if (this.mesh)\n {\n this.#isVisible = true;\n }\n }\n\n /**\n * Sphere at the center of the link: (direction, 1) * distance / 2\n * transformed by the world matrix (EveChildLink.cpp:171-178).\n */\n @carbon.method\n @impl.implemented\n GetBoundingSphere(out = vec4.create(), _query = 0)\n {\n const halfDistance = this.currentDistance / 2;\n vec4.set(\n out,\n this.currentDirection[0] * halfDistance,\n this.currentDirection[1] * halfDistance,\n this.currentDirection[2] * halfDistance,\n halfDistance\n );\n sph3.transformMat4(out, out, this.worldTransform);\n return true;\n }\n\n /** Links never cast shadows (EveChildLink.cpp:180-183). */\n @carbon.method\n @impl.implemented\n IsCastingShadow(_cameraFrustum, _shadowFrustum, _renderReason, _sizeInShadow)\n {\n return false;\n }\n\n /** Returns the local-to-world matrix (EveChildLink.cpp:189-192). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"CarbonEngineJS uses an out-last signature and returns the matrix when no output is supplied.\")\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 * Copies a parent's local-to-world matrix into out, tolerating both the\n * out-parameter and the return-the-matrix JS signatures.\n */\n static #CopyLocalToWorld(out, parent)\n {\n const source = parent.GetLocalToWorldTransform?.(out);\n if (source && source !== out && source.length === 16)\n {\n mat4.copy(out, source);\n }\n return out;\n }\n\n static #meshDirection = vec3.fromValues(0, 1, 0);\n\n static #arcQuat = quat.create();\n\n static #linkRotation = mat4.create();\n\n static #inverseRotationWorld = mat4.create();\n\n static #finalWorld = mat4.create();\n\n static #shieldEllipsoidCenter = vec3.create();\n\n static #shieldEllipsoidRadii = vec3.create();\n\n static #targetPosition = vec3.create();\n\n static #sourcePosition = vec3.create();\n\n}\n"],"names":["_EveChildLink","_identity","EveChildLink","EveChildMesh","e","_init_linkStrengthCurves","_init_extra_linkStrengthCurves","_init_linkStrengthBindings","_init_extra_linkStrengthBindings","_init_linkBarrier","_init_extra_linkBarrier","_init_currentDistance","_init_extra_currentDistance","_init_currentDirection","_init_extra_currentDirection","_init_target","_init_extra_target","_init_linkStrength","_init_extra_linkStrength","_init_targetRadius","_init_extra_targetRadius","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","list","readwrite","float32","read","vec3","objectRef","carbon","method","impl","adapted","reason","implemented","linkStrengthCurves","linkStrengthBindings","linkBarrier","currentDistance","currentDirection","fromValues","target","linkStrength","targetRadius","UpdateSyncronous","updateContext","params","time","Number","GetTime","currentTime","targetPosition","set","targetResult","GetValueAt","length","copy","spaceObjectParent","sourcePosition","sourceResult","GetModelCenterWorldPosition","subtract","normalize","UpdateAsyncronous","_updateContext","curve","UpdateValue","binding","CopyValue","shieldEllipsoidCenter","childParent","worldTransform","GetShapeEllipsoid","linkRotation","quat","rotationTo","mat4","fromQuat","div","Math","abs","min","max","inverseRotationWorld","invert","identity","multiply","finalWorld","translate","records","GetPerObjectRecords","vs","Invalidate","ps","GetPerObjectStructs","SetAndTranspose","UpdateVisibility","_parentTransform","_parentLod","display","currentScreenSize","mesh","GetBoundingSphere","out","vec4","create","_query","halfDistance","sph3","transformMat4","IsCastingShadow","_cameraFrustum","_shadowFrustum","_renderReason","_sizeInShadow","GetLocalToWorldTransform","#CopyLocalToWorld","parent","source","constructor"],"mappings":"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"}