@carbonenginejs/runtime-trinity 0.6.0 → 0.8.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 (1091) hide show
  1. package/README.md +35 -243
  2. package/dist/controllers/CjsControllerExpressionProgram.js +157 -0
  3. package/dist/controllers/CjsControllerExpressionProgram.js.map +1 -1
  4. package/dist/controllers/ITr2ControllerAction.js +57 -0
  5. package/dist/controllers/ITr2ControllerAction.js.map +1 -1
  6. package/dist/controllers/Tr2ActionAnimateCurveSet.js +10 -0
  7. package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
  8. package/dist/controllers/Tr2ActionAnimateValue.js +26 -0
  9. package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
  10. package/dist/controllers/Tr2ActionBindRTPC.js +11 -0
  11. package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
  12. package/dist/controllers/Tr2ActionCallback.js +5 -0
  13. package/dist/controllers/Tr2ActionCallback.js.map +1 -1
  14. package/dist/controllers/Tr2ActionChildEffect.js +63 -0
  15. package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
  16. package/dist/controllers/Tr2ActionOverlay.js +68 -0
  17. package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
  18. package/dist/controllers/Tr2ActionPlayCurveSet.js +16 -0
  19. package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
  20. package/dist/controllers/Tr2ActionPlayMeshAnimation.js +29 -0
  21. package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
  22. package/dist/controllers/Tr2ActionPlaySound.js +11 -0
  23. package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
  24. package/dist/controllers/Tr2ActionPython.js +11 -0
  25. package/dist/controllers/Tr2ActionPython.js.map +1 -1
  26. package/dist/controllers/Tr2ActionResetClipSphereCenter.js +17 -0
  27. package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
  28. package/dist/controllers/Tr2ActionSetAttenuationScaling.js +5 -0
  29. package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
  30. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +5 -0
  31. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
  32. package/dist/controllers/Tr2ActionSetAudioSwitch.js +5 -0
  33. package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
  34. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +23 -0
  35. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  36. package/dist/controllers/Tr2ActionSetShaderOption.js +5 -0
  37. package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
  38. package/dist/controllers/Tr2ActionSetValue.js +35 -0
  39. package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
  40. package/dist/controllers/Tr2ActionSpawnParticles.js +10 -0
  41. package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
  42. package/dist/controllers/Tr2BindingPoint.js +67 -0
  43. package/dist/controllers/Tr2BindingPoint.js.map +1 -1
  44. package/dist/controllers/Tr2Controller.js +37 -0
  45. package/dist/controllers/Tr2Controller.js.map +1 -1
  46. package/dist/controllers/Tr2ControllerEventHandler.js +10 -0
  47. package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
  48. package/dist/controllers/Tr2ControllerExpression.js +17 -0
  49. package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
  50. package/dist/controllers/Tr2ControllerFloatVariable.js +6 -0
  51. package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
  52. package/dist/controllers/Tr2ControllerReference.js +11 -0
  53. package/dist/controllers/Tr2ControllerReference.js.map +1 -1
  54. package/dist/controllers/Tr2StateMachine.js +17 -0
  55. package/dist/controllers/Tr2StateMachine.js.map +1 -1
  56. package/dist/controllers/Tr2StateMachineState.js +47 -0
  57. package/dist/controllers/Tr2StateMachineState.js.map +1 -1
  58. package/dist/controllers/Tr2StateMachineTransition.js +29 -0
  59. package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
  60. package/dist/controllers/Tr2SyncToAnimation.js +5 -0
  61. package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
  62. package/dist/controllers/Tr2TimelineController.js +61 -0
  63. package/dist/controllers/Tr2TimelineController.js.map +1 -1
  64. package/dist/controllers/contracts.js +24 -1
  65. package/dist/controllers/contracts.js.map +1 -1
  66. package/dist/controllers/index.js +1 -1
  67. package/dist/curves/CjsGrannyCurves.js +150 -0
  68. package/dist/curves/CjsGrannyCurves.js.map +1 -1
  69. package/dist/curves/Tr2BoneMatrixCurve.js +23 -0
  70. package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
  71. package/dist/curves/Tr2CameraFollowCurveKey.js +6 -0
  72. package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
  73. package/dist/curves/Tr2CurveColor.js +6 -0
  74. package/dist/curves/Tr2CurveColor.js.map +1 -1
  75. package/dist/curves/Tr2CurveColorMixer.js +6 -0
  76. package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
  77. package/dist/curves/Tr2CurveCombiner.js +5 -0
  78. package/dist/curves/Tr2CurveCombiner.js.map +1 -1
  79. package/dist/curves/Tr2CurveConstant.js +16 -0
  80. package/dist/curves/Tr2CurveConstant.js.map +1 -1
  81. package/dist/curves/Tr2CurveEulerRotation.js +5 -0
  82. package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
  83. package/dist/curves/Tr2CurveEulerRotationExpression.js +66 -0
  84. package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
  85. package/dist/curves/Tr2CurveQuaternion.js +5 -0
  86. package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
  87. package/dist/curves/Tr2CurveQuaternionKey.js +5 -0
  88. package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
  89. package/dist/curves/Tr2CurveRandomAxisRotation.js +28 -0
  90. package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
  91. package/dist/curves/Tr2CurveScalar.js +35 -0
  92. package/dist/curves/Tr2CurveScalar.js.map +1 -1
  93. package/dist/curves/Tr2CurveScalarExpression.js +11 -0
  94. package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
  95. package/dist/curves/Tr2CurveScalarKey.js +6 -0
  96. package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
  97. package/dist/curves/Tr2CurveSetRange.js +5 -0
  98. package/dist/curves/Tr2CurveSetRange.js.map +1 -1
  99. package/dist/curves/Tr2CurveVector2.js +5 -0
  100. package/dist/curves/Tr2CurveVector2.js.map +1 -1
  101. package/dist/curves/Tr2CurveVector3.js +5 -0
  102. package/dist/curves/Tr2CurveVector3.js.map +1 -1
  103. package/dist/curves/Tr2CurveVector3Expression.js +71 -0
  104. package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
  105. package/dist/curves/Tr2CurveVector3Lerp.js +6 -0
  106. package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
  107. package/dist/curves/Tr2DistanceTracker.js +6 -0
  108. package/dist/curves/Tr2DistanceTracker.js.map +1 -1
  109. package/dist/curves/Tr2FollowCurve.js +6 -0
  110. package/dist/curves/Tr2FollowCurve.js.map +1 -1
  111. package/dist/curves/Tr2GrannyEventTrack.js +5 -0
  112. package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
  113. package/dist/curves/Tr2GrannyTrack.js +6 -0
  114. package/dist/curves/Tr2GrannyTrack.js.map +1 -1
  115. package/dist/curves/Tr2GrannyTransformTrack.js +6 -0
  116. package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
  117. package/dist/curves/Tr2GrannyVectorTrack.js +5 -0
  118. package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
  119. package/dist/curves/Tr2MatrixKey.js +5 -0
  120. package/dist/curves/Tr2MatrixKey.js.map +1 -1
  121. package/dist/curves/Tr2ObjectFollowCurveKey.js +6 -0
  122. package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
  123. package/dist/curves/Tr2QuaternionLerpCurve.js +6 -0
  124. package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
  125. package/dist/curves/Tr2RotationAdapter.js +6 -0
  126. package/dist/curves/Tr2RotationAdapter.js.map +1 -1
  127. package/dist/curves/Tr2ScalarExprKey.js +18 -0
  128. package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
  129. package/dist/curves/Tr2ScalarExprKeyCurve.js +23 -0
  130. package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
  131. package/dist/curves/Tr2ScalarFader.js +11 -0
  132. package/dist/curves/Tr2ScalarFader.js.map +1 -1
  133. package/dist/curves/Tr2TranslationAdapter.js +6 -0
  134. package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
  135. package/dist/curves/TriColorSequencer.js +6 -0
  136. package/dist/curves/TriColorSequencer.js.map +1 -1
  137. package/dist/curves/TriCurveSet.js +23 -0
  138. package/dist/curves/TriCurveSet.js.map +1 -1
  139. package/dist/curves/TriEventCurve.js +23 -0
  140. package/dist/curves/TriEventCurve.js.map +1 -1
  141. package/dist/curves/TriEventKey.js +5 -0
  142. package/dist/curves/TriEventKey.js.map +1 -1
  143. package/dist/curves/TriPerlinCurve.js +30 -0
  144. package/dist/curves/TriPerlinCurve.js.map +1 -1
  145. package/dist/curves/TriVectorSequencer.js +6 -0
  146. package/dist/curves/TriVectorSequencer.js.map +1 -1
  147. package/dist/eve/AudioGameObject.js +89 -1
  148. package/dist/eve/AudioGameObject.js.map +1 -1
  149. package/dist/eve/BackAndForthData.js +7 -0
  150. package/dist/eve/BackAndForthData.js.map +1 -1
  151. package/dist/eve/CjsDistributionRandom.js +6 -0
  152. package/dist/eve/CjsDistributionRandom.js.map +1 -1
  153. package/dist/eve/CjsEveThrottleableState.js +11 -0
  154. package/dist/eve/CjsEveThrottleableState.js.map +1 -1
  155. package/dist/eve/EveChildUpdateParams.js +7 -0
  156. package/dist/eve/EveChildUpdateParams.js.map +1 -1
  157. package/dist/eve/EveComponentTypes.js.map +1 -1
  158. package/dist/eve/EveCustomMask.js +58 -27
  159. package/dist/eve/EveCustomMask.js.map +1 -1
  160. package/dist/eve/EveDistanceField.js +84 -0
  161. package/dist/eve/EveDistanceField.js.map +1 -1
  162. package/dist/eve/EveEntity.js +138 -0
  163. package/dist/eve/EveEntity.js.map +1 -0
  164. package/dist/eve/EveImpactOverlay.js +61 -0
  165. package/dist/eve/EveImpactOverlay.js.map +1 -1
  166. package/dist/eve/EveLODHelper.js +17 -13
  167. package/dist/eve/EveLODHelper.js.map +1 -1
  168. package/dist/eve/EveLineData.js +2 -0
  169. package/dist/eve/EveLineData.js.map +1 -1
  170. package/dist/eve/EveThrottleable.js +11 -0
  171. package/dist/eve/EveThrottleable.js.map +1 -1
  172. package/dist/eve/FollowASplineData.js +7 -0
  173. package/dist/eve/FollowASplineData.js.map +1 -1
  174. package/dist/eve/FormationData.js +6 -0
  175. package/dist/eve/FormationData.js.map +1 -1
  176. package/dist/eve/InertiaData.js +7 -0
  177. package/dist/eve/InertiaData.js.map +1 -1
  178. package/dist/eve/PlacementDataWithIdentifier.js +7 -0
  179. package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
  180. package/dist/eve/PlayFXData.js +7 -0
  181. package/dist/eve/PlayFXData.js.map +1 -1
  182. package/dist/eve/SeekTargetData.js +7 -0
  183. package/dist/eve/SeekTargetData.js.map +1 -1
  184. package/dist/eve/{EveSpaceObjectAttachmentUtils.js → attachment/EveSpaceObjectAttachmentUtils.js} +11 -11
  185. package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
  186. package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
  187. package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
  188. package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +13 -2
  189. package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
  190. package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
  191. package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
  192. package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +204 -35
  193. package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
  194. package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +205 -12
  195. package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
  196. package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +49 -1
  197. package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
  198. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
  199. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
  200. package/dist/eve/{EveHazeSet.js → attachment/haze/EveHazeSet.js} +65 -6
  201. package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
  202. package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
  203. package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
  204. package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +13 -2
  205. package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
  206. package/dist/eve/attachment/itemSetBounds.js +131 -0
  207. package/dist/eve/attachment/itemSetBounds.js.map +1 -0
  208. package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +14 -2
  209. package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
  210. package/dist/eve/{EvePlaneSet.js → attachment/plane/EvePlaneSet.js} +119 -7
  211. package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
  212. package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
  213. package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
  214. package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +13 -2
  215. package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
  216. package/dist/eve/{EveSpotlightSet.js → attachment/spotlight/EveSpotlightSet.js} +86 -6
  217. package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
  218. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
  219. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
  220. package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +14 -2
  221. package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
  222. package/dist/eve/{EveSpriteLineSet.js → attachment/sprite/EveSpriteLineSet.js} +69 -7
  223. package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
  224. package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +29 -4
  225. package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
  226. package/dist/eve/{EveSpriteSet.js → attachment/sprite/EveSpriteSet.js} +87 -8
  227. package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
  228. package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +23 -26
  229. package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
  230. package/dist/eve/attachment/turrets/EveTurretFiringFX.js +184 -2
  231. package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  232. package/dist/eve/attachment/turrets/EveTurretSet.js +236 -7
  233. package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  234. package/dist/eve/attachment/turrets/EveTurretTarget.js +112 -0
  235. package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  236. package/dist/eve/camera/EveCamera.js +644 -0
  237. package/dist/eve/camera/EveCamera.js.map +1 -0
  238. package/dist/eve/child/EveChildAudio.js +63 -0
  239. package/dist/eve/child/EveChildAudio.js.map +1 -1
  240. package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
  241. package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
  242. package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +41 -3
  243. package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
  244. package/dist/eve/child/EveChildContainer.js +175 -16
  245. package/dist/eve/child/EveChildContainer.js.map +1 -1
  246. package/dist/eve/child/EveChildEffectPropagator.js +1 -1
  247. package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
  248. package/dist/eve/child/EveChildFogVolume.js +72 -0
  249. package/dist/eve/child/EveChildFogVolume.js.map +1 -1
  250. package/dist/eve/child/EveChildInheritProperties.js +17 -0
  251. package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
  252. package/dist/eve/child/EveChildInstancedMeshes.js +211 -1
  253. package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
  254. package/dist/eve/child/EveChildLightingOverride.js +74 -0
  255. package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
  256. package/dist/{generated/eve → eve}/child/EveChildLink.js +17 -16
  257. package/dist/eve/child/EveChildLink.js.map +1 -0
  258. package/dist/eve/child/EveChildMesh.js +351 -105
  259. package/dist/eve/child/EveChildMesh.js.map +1 -1
  260. package/dist/eve/child/EveChildSpherePin.js +108 -0
  261. package/dist/eve/child/EveChildSpherePin.js.map +1 -0
  262. package/dist/eve/child/EveChildTransform.js +44 -1
  263. package/dist/eve/child/EveChildTransform.js.map +1 -1
  264. package/dist/eve/child/IEveSpaceObjectChild.js +5 -0
  265. package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
  266. package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
  267. package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
  268. package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
  269. package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
  270. package/dist/eve/child/behaviors/Wander.js +99 -0
  271. package/dist/eve/child/behaviors/Wander.js.map +1 -0
  272. package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
  273. package/dist/eve/child/behaviors/enums.js.map +1 -0
  274. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
  275. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
  276. package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +8 -2
  277. package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
  278. package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +9 -7
  279. package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
  280. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
  281. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
  282. package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +3 -3
  283. package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
  284. package/dist/eve/child/lineSetPaths/EveBezierCurve.js +65 -0
  285. package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  286. package/dist/eve/child/lineSetPaths/EveCircle.js +63 -0
  287. package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  288. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +24 -16
  289. package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
  290. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +5 -0
  291. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
  292. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +22 -19
  293. package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
  294. package/dist/eve/child/modifiers/EveChildModifierBooster.js +6 -0
  295. package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
  296. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +5 -0
  297. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
  298. package/dist/eve/child/modifiers/EveChildModifierHalo.js +5 -0
  299. package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
  300. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +6 -0
  301. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
  302. package/dist/eve/child/modifiers/EveChildModifierSRT.js +5 -0
  303. package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  304. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +31 -17
  305. package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
  306. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +16 -14
  307. package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
  308. package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +11 -4
  309. package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
  310. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +12 -12
  311. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
  312. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +6 -6
  313. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
  314. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +12 -12
  315. package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
  316. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +8 -8
  317. package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
  318. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +17 -17
  319. package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
  320. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +7 -7
  321. package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
  322. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +7 -7
  323. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
  324. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +17 -17
  325. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
  326. package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +132 -3
  327. package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
  328. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +12 -1
  329. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
  330. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +9 -1
  331. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
  332. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +12 -1
  333. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
  334. package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
  335. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +16 -3
  336. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
  337. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +31 -3
  338. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
  339. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +34 -3
  340. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
  341. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +14 -2
  342. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
  343. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +13 -2
  344. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
  345. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +13 -2
  346. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
  347. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +13 -2
  348. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
  349. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +19 -1
  350. package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
  351. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +25 -1
  352. package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
  353. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +17 -1
  354. package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
  355. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +20 -1
  356. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
  357. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +20 -1
  358. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
  359. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +20 -1
  360. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
  361. package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +44 -2
  362. package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
  363. package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
  364. package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
  365. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
  366. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
  367. package/dist/eve/index.js +117 -47
  368. package/dist/eve/index.js.map +1 -1
  369. package/dist/eve/lights/CjsLightData.js +7 -0
  370. package/dist/eve/lights/CjsLightData.js.map +1 -1
  371. package/dist/eve/lights/Tr2Light.js +41 -0
  372. package/dist/eve/lights/Tr2Light.js.map +1 -1
  373. package/dist/eve/lights/Tr2PointLight.js +5 -0
  374. package/dist/eve/lights/Tr2PointLight.js.map +1 -1
  375. package/dist/eve/lights/Tr2SpotLight.js +5 -0
  376. package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
  377. package/dist/eve/lights/Tr2TexturedPointLight.js +10 -0
  378. package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  379. package/dist/eve/lights/lightConversion.js +29 -27
  380. package/dist/eve/lights/lightConversion.js.map +1 -1
  381. package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +20 -1
  382. package/dist/eve/locator/EveLocator2.js.map +1 -0
  383. package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +43 -1
  384. package/dist/eve/locator/EveLocatorSets.js.map +1 -0
  385. package/dist/eve/{Locator.js → locator/Locator.js} +6 -1
  386. package/dist/eve/locator/Locator.js.map +1 -0
  387. package/dist/eve/{LocatorData.js → locator/LocatorData.js} +3 -1
  388. package/dist/eve/locator/LocatorData.js.map +1 -0
  389. package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
  390. package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
  391. package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +5 -5
  392. package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
  393. package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +5 -5
  394. package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
  395. package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +6 -6
  396. package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
  397. package/dist/{generated/eve/scene → eve/particles/static}/EveSceneStaticParticles.js +70 -36
  398. package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
  399. package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
  400. package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
  401. package/dist/eve/renderable/stretch/CjsStretchRuntime.js +76 -0
  402. package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
  403. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +85 -1
  404. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  405. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +91 -0
  406. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
  407. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +36 -0
  408. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
  409. package/dist/eve/renderable/stretch/EveStretch.js +158 -9
  410. package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
  411. package/dist/eve/renderable/stretch/EveStretch2.js +121 -12
  412. package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
  413. package/dist/eve/renderable/stretch/EveStretch3.js +261 -8
  414. package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
  415. package/dist/eve/scene/EveSpaceScene.js +342 -6
  416. package/dist/eve/scene/EveSpaceScene.js.map +1 -1
  417. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +24 -1
  418. package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
  419. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +74 -2
  420. package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
  421. package/dist/eve/scene/picking/EvePickingContext.js +61 -0
  422. package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
  423. package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
  424. package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
  425. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
  426. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
  427. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +19 -19
  428. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
  429. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +19 -19
  430. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
  431. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +12 -12
  432. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
  433. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +12 -12
  434. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
  435. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +30 -30
  436. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
  437. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +9 -9
  438. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
  439. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +23 -23
  440. package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
  441. package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
  442. package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +26 -1
  443. package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
  444. package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +17 -1
  445. package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
  446. package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +21 -5
  447. package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
  448. package/dist/eve/socket/EveSocketParameterFilePath.js +5 -5
  449. package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
  450. package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +17 -1
  451. package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
  452. package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +17 -1
  453. package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
  454. package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +42 -2
  455. package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
  456. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +17 -1
  457. package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
  458. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +17 -1
  459. package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
  460. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +17 -1
  461. package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
  462. package/dist/eve/spaceObject/EveEffectRoot2.js +58 -31
  463. package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  464. package/dist/eve/spaceObject/EveMissile.js +49 -1
  465. package/dist/eve/spaceObject/EveMissile.js.map +1 -1
  466. package/dist/eve/spaceObject/EveMissileWarhead.js +100 -1
  467. package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
  468. package/dist/eve/spaceObject/EveMobile.js +104 -0
  469. package/dist/eve/spaceObject/EveMobile.js.map +1 -1
  470. package/dist/eve/spaceObject/EveRootTransform.js +17 -0
  471. package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
  472. package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +32 -12
  473. package/dist/eve/spaceObject/EveShip2.js.map +1 -0
  474. package/dist/eve/spaceObject/EveSpaceObject2.js +726 -199
  475. package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  476. package/dist/eve/spaceObject/EveTransform.js +143 -5
  477. package/dist/eve/spaceObject/EveTransform.js.map +1 -1
  478. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
  479. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
  480. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
  481. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
  482. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
  483. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
  484. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
  485. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
  486. package/dist/{generated/eve/spaceObject → eve/spaceObject/planet}/EvePlanet.js +2 -2
  487. package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
  488. package/dist/{generated/eve → eve}/spaceObject/swarm/EveSwarmRenderable.js +102 -64
  489. package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
  490. package/dist/eve/ui/EveEllipseDefinition.js +15 -0
  491. package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
  492. package/dist/eve/ui/EveEllipseSet.js +42 -0
  493. package/dist/eve/ui/EveEllipseSet.js.map +1 -1
  494. package/dist/{generated/eve → eve}/ui/EveSpherePin.js +76 -11
  495. package/dist/eve/ui/EveSpherePin.js.map +1 -0
  496. package/dist/eve/ui/EveSprite2dBracket.js +5 -0
  497. package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
  498. package/dist/eve/ui/EveUiObject.js +11 -0
  499. package/dist/eve/ui/EveUiObject.js.map +1 -1
  500. package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +67 -6
  501. package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
  502. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
  503. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
  504. package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +22 -2
  505. package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
  506. package/dist/eve/virtualCamera/EveVirtualCamera.js +152 -0
  507. package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
  508. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +65 -0
  509. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
  510. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +17 -0
  511. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
  512. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +19 -0
  513. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
  514. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +17 -0
  515. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
  516. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +29 -0
  517. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
  518. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +15 -0
  519. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
  520. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +38 -0
  521. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
  522. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +17 -0
  523. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
  524. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +18 -0
  525. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
  526. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +20 -0
  527. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
  528. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +20 -0
  529. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
  530. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +11 -0
  531. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
  532. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +14 -0
  533. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
  534. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +16 -0
  535. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
  536. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +20 -0
  537. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
  538. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +36 -0
  539. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
  540. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +36 -0
  541. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
  542. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +11 -0
  543. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
  544. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +37 -0
  545. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
  546. package/dist/eve/volume/EveBoxVolume.js +59 -0
  547. package/dist/eve/volume/EveBoxVolume.js.map +1 -1
  548. package/dist/eve/volume/EveEllipsoidVolume.js +54 -0
  549. package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
  550. package/dist/eve/volume/EveSphereVolume.js +34 -0
  551. package/dist/eve/volume/EveSphereVolume.js.map +1 -1
  552. package/dist/generated/eve/child/EveChildCloud2.js +138 -138
  553. package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
  554. package/dist/generated/eve/child/EveChildParticleSystem.js +10 -4
  555. package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
  556. package/dist/generated/eve/child/EveChildSocket.js +1 -1
  557. package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
  558. package/dist/generated/eve/child/behaviors/BackAndForth.js +14 -17
  559. package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
  560. package/dist/generated/eve/child/behaviors/BehaviorGroup.js +2 -2
  561. package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  562. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +26 -29
  563. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
  564. package/dist/generated/eve/child/behaviors/FollowASpline.js +13 -17
  565. package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
  566. package/dist/generated/eve/child/behaviors/PlayFX.js +14 -14
  567. package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
  568. package/dist/generated/eve/child/behaviors/SeekTarget.js +1 -1
  569. package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
  570. package/dist/generated/eve/child/behaviors/index.js +0 -6
  571. package/dist/generated/eve/child/behaviors/index.js.map +1 -1
  572. package/dist/generated/eve/child/index.js +0 -23
  573. package/dist/generated/eve/child/index.js.map +1 -1
  574. package/dist/generated/eve/effect/index.js +0 -3
  575. package/dist/generated/eve/effect/index.js.map +1 -1
  576. package/dist/generated/eve/index.js +0 -88
  577. package/dist/generated/eve/index.js.map +1 -1
  578. package/dist/generated/eve/scene/index.js +0 -6
  579. package/dist/generated/eve/scene/index.js.map +1 -1
  580. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +20 -20
  581. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  582. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +1 -1
  583. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  584. package/dist/generated/eve/smartLights/index.js +0 -8
  585. package/dist/generated/eve/smartLights/index.js.map +1 -1
  586. package/dist/generated/eve/spaceObject/index.js +0 -4
  587. package/dist/generated/eve/spaceObject/index.js.map +1 -1
  588. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +11 -11
  589. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  590. package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
  591. package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
  592. package/dist/generated/eve/ui/index.js +0 -4
  593. package/dist/generated/eve/ui/index.js.map +1 -1
  594. package/dist/generated/index.js +0 -93
  595. package/dist/generated/index.js.map +1 -1
  596. package/dist/generated/trinityCore/index.js +0 -5
  597. package/dist/generated/trinityCore/index.js.map +1 -1
  598. package/dist/index.js +130 -155
  599. package/dist/index.js.map +1 -1
  600. package/dist/particle/Tr2GpuSharedEmitter.js +39 -0
  601. package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
  602. package/dist/particle/Tr2GpuUniqueEmitter.js +5 -0
  603. package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
  604. package/dist/particle/Tr2ParticleAttractorForce.js +10 -0
  605. package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
  606. package/dist/particle/Tr2ParticleDirectForce.js +7 -0
  607. package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
  608. package/dist/particle/Tr2ParticleDragForce.js +7 -0
  609. package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
  610. package/dist/particle/Tr2ParticleElementDeclaration.js +5 -0
  611. package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
  612. package/dist/particle/Tr2ParticleFluidDragForce.js +10 -0
  613. package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
  614. package/dist/particle/Tr2ParticleSpring.js +10 -0
  615. package/dist/particle/Tr2ParticleSpring.js.map +1 -1
  616. package/dist/particle/Tr2ParticleVortexForce.js +10 -0
  617. package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
  618. package/dist/particle/particleElementBinding.js +12 -0
  619. package/dist/particle/particleElementBinding.js.map +1 -1
  620. package/dist/postProcess/Tr2PPBloomEffect.js +6 -0
  621. package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
  622. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +16 -0
  623. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
  624. package/dist/postProcess/Tr2PPGenericEffect.js +7 -0
  625. package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
  626. package/dist/postProcess/Tr2PPTaaEffect.js +10 -0
  627. package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
  628. package/dist/postProcess/Tr2PPTonemappingEffect.js +5 -0
  629. package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
  630. package/dist/postProcess/Tr2PostProcess.js +5 -0
  631. package/dist/postProcess/Tr2PostProcess.js.map +1 -1
  632. package/dist/postProcess/Tr2PostProcess2.js +147 -0
  633. package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
  634. package/dist/postProcess/Tr2PostProcessAttributes.js +89 -0
  635. package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  636. package/dist/renderJob/Tr2RenderJobs.js +34 -0
  637. package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
  638. package/dist/renderJob/TriRenderJob.js +59 -0
  639. package/dist/renderJob/TriRenderJob.js.map +1 -1
  640. package/dist/renderJob/TriRenderStep.js +20 -0
  641. package/dist/renderJob/TriRenderStep.js.map +1 -1
  642. package/dist/renderJob/TriStepClear.js +18 -0
  643. package/dist/renderJob/TriStepClear.js.map +1 -1
  644. package/dist/renderJob/TriStepCopyRenderTarget.js +51 -0
  645. package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
  646. package/dist/renderJob/TriStepEnableWireframeMode.js +9 -0
  647. package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
  648. package/dist/renderJob/TriStepGenerateMipMaps.js +9 -0
  649. package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
  650. package/dist/renderJob/TriStepPopDepthStencil.js +6 -0
  651. package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
  652. package/dist/renderJob/TriStepPopProjection.js +6 -0
  653. package/dist/renderJob/TriStepPopProjection.js.map +1 -1
  654. package/dist/renderJob/TriStepPopRenderTarget.js +12 -0
  655. package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
  656. package/dist/renderJob/TriStepPopViewTransform.js +6 -0
  657. package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
  658. package/dist/renderJob/TriStepPopViewport.js +6 -0
  659. package/dist/renderJob/TriStepPopViewport.js.map +1 -1
  660. package/dist/renderJob/TriStepPresentSwapChain.js +12 -0
  661. package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
  662. package/dist/renderJob/TriStepPushDepthStencil.js +17 -0
  663. package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
  664. package/dist/renderJob/TriStepPushProjection.js +6 -0
  665. package/dist/renderJob/TriStepPushProjection.js.map +1 -1
  666. package/dist/renderJob/TriStepPushRenderTarget.js +9 -0
  667. package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
  668. package/dist/renderJob/TriStepPushViewTransform.js +6 -0
  669. package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
  670. package/dist/renderJob/TriStepPushViewport.js +6 -0
  671. package/dist/renderJob/TriStepPushViewport.js.map +1 -1
  672. package/dist/renderJob/TriStepRemoteSync.js +17 -0
  673. package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
  674. package/dist/renderJob/TriStepResolve.js +13 -0
  675. package/dist/renderJob/TriStepResolve.js.map +1 -1
  676. package/dist/renderJob/TriStepRunJob.js +12 -0
  677. package/dist/renderJob/TriStepRunJob.js.map +1 -1
  678. package/dist/renderJob/TriStepSetDepthStencil.js +12 -0
  679. package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
  680. package/dist/renderJob/TriStepSetProjection.js +14 -0
  681. package/dist/renderJob/TriStepSetProjection.js.map +1 -1
  682. package/dist/renderJob/TriStepSetRenderState.js +20 -0
  683. package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
  684. package/dist/renderJob/TriStepSetRenderTarget.js +12 -0
  685. package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
  686. package/dist/renderJob/TriStepSetStdRndStates.js +18 -0
  687. package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
  688. package/dist/renderJob/TriStepSetView.js +29 -2
  689. package/dist/renderJob/TriStepSetView.js.map +1 -1
  690. package/dist/renderJob/TriStepSetViewport.js +17 -0
  691. package/dist/renderJob/TriStepSetViewport.js.map +1 -1
  692. package/dist/renderJob/TriStepSetVisualizationMode.js +19 -0
  693. package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
  694. package/dist/shader/Tr2Effect.js +217 -2
  695. package/dist/shader/Tr2Effect.js.map +1 -1
  696. package/dist/shader/Tr2Material.js +41 -0
  697. package/dist/shader/Tr2Material.js.map +1 -1
  698. package/dist/shader/index.js +1 -11
  699. package/dist/shader/index.js.map +1 -1
  700. package/dist/shader/material/Tr2EffectLibraryParameters.js +7 -0
  701. package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
  702. package/dist/shader/material/Tr2EffectPassParameters.js +23 -0
  703. package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
  704. package/dist/shader/material/Tr2MaterialStageInput.js +15 -0
  705. package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
  706. package/dist/shader/parameter/CjsParameter.js +94 -0
  707. package/dist/shader/parameter/CjsParameter.js.map +1 -1
  708. package/dist/shader/parameter/CjsVectorParameter.js +20 -0
  709. package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
  710. package/dist/shader/parameter/Tr2FloatParameter.js +53 -0
  711. package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
  712. package/dist/shader/parameter/Tr2GeometryBufferParameter.js +39 -0
  713. package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  714. package/dist/shader/parameter/Tr2Matrix4Parameter.js +54 -0
  715. package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  716. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +54 -0
  717. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  718. package/dist/shader/parameter/Tr2TextureAnimationParameter.js +35 -0
  719. package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  720. package/dist/shader/parameter/Tr2Vector2Parameter.js +86 -0
  721. package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  722. package/dist/shader/parameter/Tr2Vector3Parameter.js +95 -0
  723. package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  724. package/dist/shader/parameter/Tr2Vector4Parameter.js +105 -0
  725. package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  726. package/dist/shader/parameter/TriFloatArrayParameter.js +26 -0
  727. package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  728. package/dist/shader/parameter/TriTextureParameter.js +84 -0
  729. package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
  730. package/dist/shader/parameter/TriTransformParameter.js +2 -0
  731. package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
  732. package/dist/shader/parameter/TriVariableParameter.js +38 -0
  733. package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
  734. package/dist/shader/parameter/TriVector4.js +2 -0
  735. package/dist/shader/parameter/TriVector4.js.map +1 -1
  736. package/dist/shader/reflection/Tr2ShaderOption.js +6 -1
  737. package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
  738. package/dist/shader/support/CjsVariableStore.js +140 -0
  739. package/dist/shader/support/CjsVariableStore.js.map +1 -1
  740. package/dist/shader/support/Tr2ShaderBuffer.js +15 -0
  741. package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
  742. package/dist/trinityCore/CjsBatchManager.js +62 -2
  743. package/dist/trinityCore/CjsBatchManager.js.map +1 -1
  744. package/dist/trinityCore/GrannyBoneOffset.js +51 -0
  745. package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
  746. package/dist/trinityCore/ITriRenderBatchAccumulator.js +65 -3
  747. package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
  748. package/dist/trinityCore/Tr2DirectInstanceData.js +19 -0
  749. package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
  750. package/dist/trinityCore/Tr2ExpressionTermInfo.js +21 -0
  751. package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
  752. package/dist/trinityCore/Tr2GpuBuffer.js +5 -0
  753. package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
  754. package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +137 -8
  755. package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
  756. package/dist/trinityCore/Tr2InstancedMesh.js +52 -0
  757. package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
  758. package/dist/trinityCore/Tr2MaterialParameterStore.js +5 -0
  759. package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
  760. package/dist/trinityCore/Tr2Mesh.js +37 -0
  761. package/dist/trinityCore/Tr2Mesh.js.map +1 -1
  762. package/dist/trinityCore/Tr2MeshArea.js +78 -0
  763. package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
  764. package/dist/trinityCore/Tr2MeshBase.js +98 -2
  765. package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
  766. package/dist/trinityCore/Tr2PerObjectData.js +10 -0
  767. package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
  768. package/dist/trinityCore/Tr2PickType.js +33 -0
  769. package/dist/trinityCore/Tr2PickType.js.map +1 -0
  770. package/dist/trinityCore/Tr2RenderBatch.js +137 -0
  771. package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
  772. package/dist/trinityCore/Tr2RenderContext.js +271 -0
  773. package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
  774. package/dist/trinityCore/Tr2RuntimeInstanceData.js +179 -0
  775. package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
  776. package/dist/trinityCore/Tr2ShLightingManager.js +397 -0
  777. package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
  778. package/dist/trinityCore/Tr2VariableStore.js +26 -0
  779. package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
  780. package/dist/trinityCore/Tr2VisibilityResults.js +5 -0
  781. package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
  782. package/dist/trinityCore/TriDevice.js +5 -0
  783. package/dist/trinityCore/TriDevice.js.map +1 -1
  784. package/dist/trinityCore/TriFrustum.js +21 -14
  785. package/dist/trinityCore/TriFrustum.js.map +1 -1
  786. package/dist/trinityCore/TriObserverLocal.js +43 -0
  787. package/dist/trinityCore/TriObserverLocal.js.map +1 -1
  788. package/dist/trinityCore/TriProjection.js +86 -32
  789. package/dist/trinityCore/TriProjection.js.map +1 -1
  790. package/dist/trinityCore/TriRect.js +12 -0
  791. package/dist/trinityCore/TriRect.js.map +1 -1
  792. package/dist/trinityCore/TriRenderBatchAccumulator.js +46 -0
  793. package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
  794. package/dist/trinityCore/TriRenderBatchMap.js +39 -2
  795. package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
  796. package/dist/trinityCore/TriSettings.js +38 -0
  797. package/dist/trinityCore/TriSettings.js.map +1 -1
  798. package/dist/trinityCore/TriVariable.js +30 -0
  799. package/dist/trinityCore/TriVariable.js.map +1 -1
  800. package/dist/trinityCore/TriView.js +16 -1
  801. package/dist/trinityCore/TriView.js.map +1 -1
  802. package/dist/trinityCore/TriViewport.js +12 -0
  803. package/dist/trinityCore/TriViewport.js.map +1 -1
  804. package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +1 -1
  805. package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
  806. package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
  807. package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
  808. package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
  809. package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
  810. package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +30 -6
  811. package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
  812. package/dist/trinityCore/binding/TriValueBinding.js +648 -0
  813. package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
  814. package/dist/trinityCore/index.js +11 -4
  815. package/dist/trinityCore/index.js.map +1 -1
  816. package/dist/trinityCore/pickRay.js +84 -0
  817. package/dist/trinityCore/pickRay.js.map +1 -0
  818. package/dist/trinityCore/rawData/CjsPerFrameLayouts.js +517 -0
  819. package/dist/trinityCore/rawData/CjsPerFrameLayouts.js.map +1 -0
  820. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +790 -0
  821. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
  822. package/dist/trinityCore/rawData/RawData.js +323 -39
  823. package/dist/trinityCore/rawData/RawData.js.map +1 -1
  824. package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
  825. package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
  826. package/dist/trinityCore/rawData/constantLayout.js +175 -0
  827. package/dist/trinityCore/rawData/constantLayout.js.map +1 -0
  828. package/dist/utilities/Range.js +53 -0
  829. package/dist/utilities/Range.js.map +1 -1
  830. package/docs/README.md +88 -0
  831. package/docs/architecture.md +162 -0
  832. package/docs/concepts/eve-runtime-behavior.md +86 -0
  833. package/docs/concepts/generated-class-lifecycle.md +116 -0
  834. package/docs/reference/api.md +76 -0
  835. package/docs/reference/classes/eve-runtime.md +106 -0
  836. package/docs/reference/classes/trinity-core.md +26 -0
  837. package/docs/reference/implementation-status.md +104 -0
  838. package/docs/reference/main-semantic-extraction.md +104 -0
  839. package/package.json +34 -24
  840. package/dist/eve/DecalVSPerObjectData.js +0 -34
  841. package/dist/eve/DecalVSPerObjectData.js.map +0 -1
  842. package/dist/eve/EveBannerItem.js +0 -43
  843. package/dist/eve/EveBannerItem.js.map +0 -1
  844. package/dist/eve/EveBannerLight.js.map +0 -1
  845. package/dist/eve/EveBannerSet.js +0 -190
  846. package/dist/eve/EveBannerSet.js.map +0 -1
  847. package/dist/eve/EveBasicPerObjectData.js +0 -31
  848. package/dist/eve/EveBasicPerObjectData.js.map +0 -1
  849. package/dist/eve/EveBoosterSet2.js.map +0 -1
  850. package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
  851. package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
  852. package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
  853. package/dist/eve/EveHazeSet.js.map +0 -1
  854. package/dist/eve/EveHazeSetLight.js.map +0 -1
  855. package/dist/eve/EveLocator2.js.map +0 -1
  856. package/dist/eve/EveLocatorSets.js.map +0 -1
  857. package/dist/eve/EveParticleDirectForce.js.map +0 -1
  858. package/dist/eve/EveParticleDragForce.js.map +0 -1
  859. package/dist/eve/EveParticleSpring.js.map +0 -1
  860. package/dist/eve/EvePerObjectPSData.js +0 -29
  861. package/dist/eve/EvePerObjectPSData.js.map +0 -1
  862. package/dist/eve/EvePerObjectVSData.js +0 -29
  863. package/dist/eve/EvePerObjectVSData.js.map +0 -1
  864. package/dist/eve/EvePlaneLight.js.map +0 -1
  865. package/dist/eve/EvePlaneSet.js.map +0 -1
  866. package/dist/eve/EvePlaneSetItem.js +0 -45
  867. package/dist/eve/EvePlaneSetItem.js.map +0 -1
  868. package/dist/eve/EveSpaceObjectAttachmentUtils.js.map +0 -1
  869. package/dist/eve/EveSpaceObjectDecal.js +0 -150
  870. package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
  871. package/dist/eve/EveSpaceObjectPSData.js +0 -73
  872. package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
  873. package/dist/eve/EveSpaceObjectVSData.js +0 -79
  874. package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
  875. package/dist/eve/EveSpacePerObjectData.js +0 -97
  876. package/dist/eve/EveSpacePerObjectData.js.map +0 -1
  877. package/dist/eve/EveSpherePinPerObjectData.js +0 -37
  878. package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
  879. package/dist/eve/EveSpotlightLight.js.map +0 -1
  880. package/dist/eve/EveSpotlightSet.js.map +0 -1
  881. package/dist/eve/EveSpriteLight.js.map +0 -1
  882. package/dist/eve/EveSpriteLineSet.js.map +0 -1
  883. package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
  884. package/dist/eve/EveSpriteSet.js.map +0 -1
  885. package/dist/eve/EveTrailsSet.js.map +0 -1
  886. package/dist/eve/Locator.js.map +0 -1
  887. package/dist/eve/LocatorData.js.map +0 -1
  888. package/dist/eve/ProcessLifetimeData.js.map +0 -1
  889. package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
  890. package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
  891. package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
  892. package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
  893. package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
  894. package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
  895. package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
  896. package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
  897. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
  898. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
  899. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
  900. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
  901. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
  902. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
  903. package/dist/generated/eve/EveCamera.js +0 -264
  904. package/dist/generated/eve/EveCamera.js.map +0 -1
  905. package/dist/generated/eve/EveEntity.js +0 -81
  906. package/dist/generated/eve/EveEntity.js.map +0 -1
  907. package/dist/generated/eve/attachment/decal/index.js +0 -2
  908. package/dist/generated/eve/attachment/decal/index.js.map +0 -1
  909. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
  910. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
  911. package/dist/generated/eve/attachment/haze/index.js +0 -2
  912. package/dist/generated/eve/attachment/haze/index.js.map +0 -1
  913. package/dist/generated/eve/attachment/index.js +0 -5
  914. package/dist/generated/eve/attachment/index.js.map +0 -1
  915. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
  916. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
  917. package/dist/generated/eve/attachment/spotlights/index.js +0 -2
  918. package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
  919. package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
  920. package/dist/generated/eve/attachment/sprites/index.js +0 -2
  921. package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
  922. package/dist/generated/eve/attachment/turrets/enums.js +0 -32
  923. package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
  924. package/dist/generated/eve/attachment/turrets/index.js +0 -2
  925. package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
  926. package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
  927. package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
  928. package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
  929. package/dist/generated/eve/child/EveChildLink.js.map +0 -1
  930. package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
  931. package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
  932. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
  933. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
  934. package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
  935. package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
  936. package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
  937. package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
  938. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
  939. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
  940. package/dist/generated/eve/child/behaviors/Wander.js +0 -92
  941. package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
  942. package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
  943. package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
  944. package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
  945. package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
  946. package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
  947. package/dist/generated/eve/child/modifiers/index.js +0 -5
  948. package/dist/generated/eve/child/modifiers/index.js.map +0 -1
  949. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
  950. package/dist/generated/eve/child/procedural/index.js +0 -10
  951. package/dist/generated/eve/child/procedural/index.js.map +0 -1
  952. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
  953. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
  954. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
  955. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
  956. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
  957. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
  958. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
  959. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
  960. package/dist/generated/eve/child/procedural/selection/index.js +0 -9
  961. package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
  962. package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
  963. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
  964. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
  965. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
  966. package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
  967. package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
  968. package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
  969. package/dist/generated/eve/distribution/index.js +0 -19
  970. package/dist/generated/eve/distribution/index.js.map +0 -1
  971. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
  972. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
  973. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
  974. package/dist/generated/eve/distribution/placement/index.js +0 -4
  975. package/dist/generated/eve/distribution/placement/index.js.map +0 -1
  976. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
  977. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
  978. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
  979. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
  980. package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
  981. package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
  982. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
  983. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
  984. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
  985. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
  986. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
  987. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
  988. package/dist/generated/eve/distribution/spawners/index.js +0 -7
  989. package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
  990. package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
  991. package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
  992. package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
  993. package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
  994. package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
  995. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
  996. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
  997. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
  998. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
  999. package/dist/generated/eve/fxAttributes/index.js +0 -3
  1000. package/dist/generated/eve/fxAttributes/index.js.map +0 -1
  1001. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
  1002. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
  1003. package/dist/generated/eve/overlays/index.js +0 -2
  1004. package/dist/generated/eve/overlays/index.js.map +0 -1
  1005. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
  1006. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
  1007. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
  1008. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
  1009. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
  1010. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
  1011. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
  1012. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
  1013. package/dist/generated/eve/perObjectData/index.js +0 -5
  1014. package/dist/generated/eve/perObjectData/index.js.map +0 -1
  1015. package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
  1016. package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
  1017. package/dist/generated/eve/scene/EvePickingContext.js +0 -43
  1018. package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
  1019. package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
  1020. package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
  1021. package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
  1022. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
  1023. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
  1024. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
  1025. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
  1026. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
  1027. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
  1028. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
  1029. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
  1030. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
  1031. package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
  1032. package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
  1033. package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
  1034. package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
  1035. package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
  1036. package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
  1037. package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
  1038. package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
  1039. package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
  1040. package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
  1041. package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
  1042. package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
  1043. package/dist/generated/eve/socket/index.js +0 -10
  1044. package/dist/generated/eve/socket/index.js.map +0 -1
  1045. package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
  1046. package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
  1047. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
  1048. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
  1049. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
  1050. package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
  1051. package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
  1052. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
  1053. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
  1054. package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
  1055. package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
  1056. package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
  1057. package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
  1058. package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
  1059. package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
  1060. package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
  1061. package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
  1062. package/dist/generated/trinityCore/TriValueBinding.js +0 -249
  1063. package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
  1064. package/dist/shader/Tr2Shader.js +0 -150
  1065. package/dist/shader/Tr2Shader.js.map +0 -1
  1066. package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
  1067. package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
  1068. package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
  1069. package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
  1070. package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
  1071. package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
  1072. package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
  1073. package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
  1074. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
  1075. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
  1076. package/dist/shader/reflection/Tr2EffectResource.js +0 -63
  1077. package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
  1078. package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
  1079. package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
  1080. package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
  1081. package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
  1082. package/dist/shader/reflection/Tr2Pass.js +0 -46
  1083. package/dist/shader/reflection/Tr2Pass.js.map +0 -1
  1084. package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
  1085. package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
  1086. package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
  1087. package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
  1088. package/dist/trinityCore/rawData/RawDataStore.js +0 -232
  1089. package/dist/trinityCore/rawData/RawDataStore.js.map +0 -1
  1090. /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
  1091. /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"EveMissileWarhead.js","sources":["../../../../src/eve/spaceObject/EveMissileWarhead.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\EveMissileWarhead.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\EveMissileWarhead.cpp\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\nimport { carbonPerlin1D } from \"@carbonenginejs/runtime-utils/noise\";\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\";\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { EveTransform } from \"./EveTransform.js\";\n\n\n@type.define({ className: \"EveMissileWarhead\", family: \"eve/spaceObject\" })\nexport class EveMissileWarhead extends EveTransform\n{\n @io.persist @type.float32 pathOffsetNoiseScale = 0;\n @io.persist @type.float32 pathOffsetNoiseSpeed = 1;\n @io.readwrite @type.boolean startDataValid = false;\n @io.readwrite @type.vec3 pathOffset = vec3.create();\n @io.persist @type.float32 maxExplosionDistance = 40;\n @io.persist @type.float32 impactDuration = 0.6;\n @io.read @type.vec3 explosionPosition = vec3.create();\n @io.persist @type.float32 impactSize = 0;\n @io.persist @type.model(\"EveSpriteSet\") spriteSet = null;\n @io.read @type.int32 targetLocatorID = -1;\n @io.persist @type.float32 durationEjectPhase = 0;\n @io.readwrite @type.boolean doSpread = true;\n @io.persist @type.float32 acceleration = 1;\n @io.readwrite @type.int32 id = -1;\n @io.persist @type.float32 startEjectVelocity = 0;\n @io.persist @type.float32 warheadLength = 1;\n @io.persist @type.float32 warheadRadius = 1;\n\n #state = EveMissileWarhead.State.STATE_DELAYED;\n #flyingTime = 0;\n #movement = vec3.create();\n #positionLastFrame = vec3.create();\n #lastRelativePosition = vec3.create();\n #currentStartOffset = vec3.create();\n #startOrientation = quat.create();\n #oldEndOffset = vec3.create();\n #currentEndOffset = vec3.create();\n #endOffset = vec3.create();\n #currentOffset = vec3.create();\n #currentOrientation = quat.create();\n #currentEjectVelocity = 0;\n #currentDurationEjectPhase = 0;\n #currentOffsetTransform = mat4.create();\n #finalDestinationTimer = 0;\n #finalTargetTime = 0.75 - Math.random() * 0.1;\n #speedModifier = 1.04 - Math.random() * 0.08;\n #explosionDistance = 0;\n #bombFlightpath = false;\n #lastPositionValid = false;\n #noisePhase = EveMissileWarhead.#nextNoisePhase++ & 0xfff;\n #isVisible = true;\n\n @carbon.method\n @impl.implemented\n PrepareLaunch()\n {\n this.#currentEjectVelocity = this.startEjectVelocity;\n this.#currentDurationEjectPhase = this.durationEjectPhase;\n const distance = this.maxExplosionDistance - Math.random() * this.maxExplosionDistance * 0.5;\n this.#explosionDistance = distance * distance;\n this.#state = EveMissileWarhead.State.STATE_DELAYED;\n this.#flyingTime = 0;\n vec3.set(this.#currentStartOffset, 0, 0, 0);\n quat.identity(this.#startOrientation);\n this.startDataValid = false;\n vec3.set(this.#oldEndOffset, 0, 0, 0);\n vec3.set(this.#currentEndOffset, 0, 0, 0);\n vec3.set(this.#endOffset, 0, 0, 0);\n vec3.set(this.#currentOffset, 0, 0, 0);\n quat.identity(this.#currentOrientation);\n this.#finalDestinationTimer = 0;\n this.targetLocatorID = -1;\n vec3.set(this.explosionPosition, 0, 0, 0);\n mat4.identity(this.#currentOffsetTransform);\n this.#speedModifier = 1.04 - Math.random() * 0.08;\n this.#finalTargetTime = 0.75 - Math.random() * 0.1;\n this.#bombFlightpath = false;\n this.#lastPositionValid = false;\n }\n\n @carbon.method\n @impl.implemented\n Launch(startTransform)\n {\n mat4.getRotation(this.#startOrientation, startTransform);\n vec3.set(this.#currentStartOffset, startTransform[12], startTransform[13], startTransform[14]);\n quat.copy(this.#currentOrientation, this.#startOrientation);\n vec3.copy(this.#currentOffset, this.#currentStartOffset);\n this.startDataValid = true;\n this.#lastPositionValid = false;\n }\n\n @carbon.method\n @impl.implemented\n UpdateEndTransform(endTransform, switchLocators)\n {\n vec3.set(this.#endOffset, endTransform[12], endTransform[13], endTransform[14]);\n if (switchLocators)\n {\n this.#finalDestinationTimer = this.#flyingTime;\n vec3.copy(this.#oldEndOffset, this.#currentEndOffset);\n }\n }\n\n @carbon.method\n @impl.implemented\n UpdateState(deltaTime, estimatedTotalAliveTime, target)\n {\n this.#bombFlightpath = !target;\n let event = EveMissileWarhead.StateChangeEvent.EVT_NONE;\n const totalFlyingTime = Math.max((Number(estimatedTotalAliveTime) + 0.1) * this.#speedModifier, Number.EPSILON);\n const flight = clamp01(this.#flyingTime / totalFlyingTime);\n switch (this.#state)\n {\n case EveMissileWarhead.State.STATE_DELAYED:\n if (this.startDataValid) this.#state = EveMissileWarhead.State.STATE_LAUNCH;\n break;\n case EveMissileWarhead.State.STATE_LAUNCH:\n this.EnableParticleEmitting(true);\n this.#state = EveMissileWarhead.State.STATE_EJECTING;\n break;\n case EveMissileWarhead.State.STATE_EJECTING:\n this.#currentDurationEjectPhase -= Number(deltaTime);\n if (this.#currentDurationEjectPhase <= 0)\n {\n this.#currentDurationEjectPhase = 0;\n this.#state = EveMissileWarhead.State.STATE_START_TRACKING;\n }\n break;\n case EveMissileWarhead.State.STATE_START_TRACKING:\n this.targetLocatorID = target ? Number(target.GetGoodDamageLocatorIndex?.(this.GetWorldPosition()) ?? -1) | 0 : -1;\n this.#state = estimatedTotalAliveTime >= 5 && this.doSpread\n ? EveMissileWarhead.State.STATE_TRACKING_SPREAD\n : EveMissileWarhead.State.STATE_TRACKING_FINAL;\n break;\n case EveMissileWarhead.State.STATE_TRACKING_SPREAD:\n if (flight >= this.#finalTargetTime)\n {\n this.targetLocatorID = target ? Number(target.GetGoodDamageLocatorIndex?.(this.GetWorldPosition()) ?? -1) | 0 : -1;\n event = EveMissileWarhead.StateChangeEvent.EVT_SWITCH_TARGET;\n this.#state = EveMissileWarhead.State.STATE_TRACKING_FINAL;\n }\n break;\n case EveMissileWarhead.State.STATE_EXPLODED:\n this.#state = EveMissileWarhead.State.STATE_DEAD;\n break;\n default:\n break;\n }\n return event;\n }\n\n @carbon.method\n @impl.adapted\n @impl.reason(\"Targetable output parameters use the org-standard out-last calling convention.\")\n CheckImpact(deltaTime, estimatedTotalAliveTime, target)\n {\n if (this.#state !== EveMissileWarhead.State.STATE_TRACKING_FINAL || this.id < 0) return EveMissileWarhead.StateChangeEvent.EVT_NONE;\n const totalFlyingTime = Math.max((Number(estimatedTotalAliveTime) + 0.1) * this.#speedModifier, Number.EPSILON);\n const flight = clamp01((this.#flyingTime - Number(deltaTime)) / totalFlyingTime);\n const positionNow = this.GetWorldPosition(EveMissileWarhead.#positionNow);\n if (!target)\n {\n vec3.copy(this.explosionPosition, positionNow);\n this.#state = EveMissileWarhead.State.STATE_EXPLODED;\n return EveMissileWarhead.StateChangeEvent.EVT_EXPLODE;\n }\n\n vec3.subtract(EveMissileWarhead.#positionLast, positionNow, this.#movement);\n vec3.copy(EveMissileWarhead.#targetPosition, positionNow);\n const hit = target.GetImpactPosition?.(this.targetLocatorID, EveMissileWarhead.#positionLast, positionNow, this.#explosionDistance, EveMissileWarhead.#targetPosition) ?? false;\n if (flight < 1 && !hit) return EveMissileWarhead.StateChangeEvent.EVT_NONE;\n\n vec3.copy(this.explosionPosition, positionNow);\n vec3.subtract(EveMissileWarhead.#impactDirection, EveMissileWarhead.#targetPosition, positionNow);\n if (vec3.dot(EveMissileWarhead.#impactDirection, this.#movement) < 0) vec3.copy(this.explosionPosition, EveMissileWarhead.#targetPosition);\n if (this.impactSize > 0)\n {\n vec3.negate(EveMissileWarhead.#impactDirection, this.#movement);\n target.CreateImpact?.(this.targetLocatorID, EveMissileWarhead.#impactDirection, this.impactDuration, this.impactSize);\n }\n this.#state = EveMissileWarhead.State.STATE_EXPLODED;\n return EveMissileWarhead.StateChangeEvent.EVT_EXPLODE;\n }\n\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon's pointer-derived Perlin phase is replaced with a stable per-instance 12-bit sequence.\")\n Update(context)\n {\n const position = this.#flyingTime * this.pathOffsetNoiseSpeed + this.#noisePhase;\n this.pathOffset[0] = carbonPerlin1D(position, 1.1, 2, 3) * this.pathOffsetNoiseScale;\n this.pathOffset[1] = carbonPerlin1D(position + 10.1, 1.1, 2, 3) * this.pathOffsetNoiseScale;\n this.pathOffset[2] = carbonPerlin1D(position + 18.3, 1.1, 2, 3) * this.pathOffsetNoiseScale;\n vec3.subtract(this.#positionLastFrame, this.#positionLastFrame, context?.GetOriginShift?.() ?? context?.originShift ?? EveMissileWarhead.#zero);\n super.Update(context);\n this.GetWorldPosition(EveMissileWarhead.#positionNow);\n vec3.subtract(this.#movement, EveMissileWarhead.#positionNow, this.#positionLastFrame);\n vec3.copy(this.#positionLastFrame, EveMissileWarhead.#positionNow);\n }\n\n @carbon.method\n @impl.adapted\n @impl.reason(\"The CPU flight calculation is source-faithful; current world composition is also published immediately for headless graph consumers.\")\n UpdateWarhead(deltaTime, estimatedTotalAliveTime, currentBallVelocity, currentInheritedVelocity, inverseBallRotation, missileTransform, originShift = EveMissileWarhead.#zero)\n {\n const dt = Number(deltaTime) || 0;\n vec3.set(EveMissileWarhead.#ejectVelocity, 0, 0, this.#currentEjectVelocity);\n vec3.transformQuat(EveMissileWarhead.#ejectVelocity, EveMissileWarhead.#ejectVelocity, this.#startOrientation);\n transformNormal(EveMissileWarhead.#globalBallVelocity, currentBallVelocity, inverseBallRotation);\n if (this.#state >= EveMissileWarhead.State.STATE_START_TRACKING) this.#flyingTime += dt;\n\n const totalFlyingTime = Math.max((Number(estimatedTotalAliveTime) + 0.1) * this.#speedModifier, Number.EPSILON);\n const flight = clamp01(this.#flyingTime / totalFlyingTime);\n const quickFlight = clamp01(3 * flight);\n if (this.#state >= EveMissileWarhead.State.STATE_EJECTING) vec3.scaleAndAdd(this.#currentStartOffset, this.#currentStartOffset, EveMissileWarhead.#ejectVelocity, dt);\n vec3.scaleAndAdd(this.#currentStartOffset, this.#currentStartOffset, currentInheritedVelocity, dt);\n\n const denominator = totalFlyingTime - this.#finalDestinationTimer;\n const targetTime = denominator ? clamp01((this.#flyingTime - this.#finalDestinationTimer) / denominator) : 1;\n vec3.scale(EveMissileWarhead.#modifiedOldOffset, this.#oldEndOffset, 1 - clamp01(targetTime * 2));\n vec3.lerp(this.#currentEndOffset, EveMissileWarhead.#modifiedOldOffset, this.#endOffset, targetTime);\n vec3.lerp(this.#currentOffset, this.#currentStartOffset, this.#currentEndOffset, Math.pow(flight, 1 + this.acceleration));\n\n vec3.scale(EveMissileWarhead.#globalBallVelocity, EveMissileWarhead.#globalBallVelocity, 1 - flight);\n vec3.scaleAndAdd(this.#currentStartOffset, this.#currentStartOffset, EveMissileWarhead.#globalBallVelocity, -dt);\n this.#currentEjectVelocity = this.startEjectVelocity * (1 - Math.pow(quickFlight, 1 + this.acceleration));\n vec3.scaleAndAdd(this.#currentOffset, this.#currentOffset, this.pathOffset, Math.sin(Math.PI * flight) ** 2);\n if (this.#bombFlightpath) vec3.scale(this.#currentOffset, this.#currentOffset, (1 - quickFlight) ** 2);\n\n vec3.transformMat4(EveMissileWarhead.#relativePosition, this.#currentOffset, missileTransform);\n vec3.subtract(EveMissileWarhead.#translation, this.#lastRelativePosition, EveMissileWarhead.#relativePosition);\n vec3.add(EveMissileWarhead.#translation, EveMissileWarhead.#translation, originShift);\n vec3.copy(this.#lastRelativePosition, EveMissileWarhead.#relativePosition);\n if (this.#lastPositionValid && this.startDataValid)\n {\n const distanceSquared = vec3.squaredLength(EveMissileWarhead.#translation);\n if (distanceSquared > 0)\n {\n transformNormal(EveMissileWarhead.#translation, EveMissileWarhead.#translation, inverseBallRotation);\n mat4.arcFromForward(EveMissileWarhead.#orientationMatrix, EveMissileWarhead.#translation);\n mat4.getRotation(EveMissileWarhead.#orientationNow, EveMissileWarhead.#orientationMatrix);\n if (distanceSquared < 1)\n {\n quat.slerp(this.#currentOrientation, this.#currentOrientation, EveMissileWarhead.#orientationNow, distanceSquared);\n quat.normalize(this.#currentOrientation, this.#currentOrientation);\n }\n else quat.copy(this.#currentOrientation, EveMissileWarhead.#orientationNow);\n }\n }\n else this.#lastPositionValid = true;\n\n mat4.fromRotationTranslation(this.#currentOffsetTransform, this.#currentOrientation, this.#currentOffset);\n mat4.multiply(this.worldTransform, missileTransform, this.#currentOffsetTransform);\n }\n\n @carbon.method\n @impl.implemented\n EnableParticleEmitting(enable)\n {\n for (const child of this.children) for (const emitter of child?.particleEmitters ?? []) enableEmitter(emitter, enable);\n for (const emitter of this.particleEmitters) enableEmitter(emitter, enable);\n }\n\n @carbon.method\n @impl.implemented\n UpdateVisibility(context, parentTransform)\n {\n this.#isVisible = false;\n if (!this.startDataValid || this.#state === EveMissileWarhead.State.STATE_DEAD || !this.display) return false;\n mat4.copy(this.worldTransform, parentTransform);\n this.#isVisible = true;\n super.UpdateVisibility(context, parentTransform);\n return true;\n }\n\n @carbon.method\n @impl.implemented\n GetRenderables(out = [])\n {\n if (!this.#isVisible || this.lodLevel <= EveTransform.Tr2Lod.TR2_LOD_LOW) return out;\n if (this.mesh) out.push(this);\n this.spriteSet?.GetRenderables?.(out);\n return out;\n }\n\n @carbon.method\n @impl.implemented\n GetBoundingSphere(out = vec4.create())\n {\n vec4.set(EveMissileWarhead.#localSphere, 0, 0, this.warheadLength * 0.5, this.warheadLength * 0.5);\n sph3.transformMat4(out, EveMissileWarhead.#localSphere, this.worldTransform);\n return true;\n }\n\n @carbon.method\n @impl.implemented\n GetLocalBoundingSphere(out = vec4.create())\n {\n vec4.set(EveMissileWarhead.#localSphere, 0, 0, this.warheadLength * 0.5, this.warheadLength * 0.5);\n sph3.transformMat4(out, EveMissileWarhead.#localSphere, this.#currentOffsetTransform);\n return true;\n }\n\n @carbon.method\n @impl.implemented\n GetCurrentOffsetTransform()\n {\n return this.#currentOffsetTransform;\n }\n\n @carbon.method\n @impl.implemented\n GetTargetLocator()\n {\n return this.targetLocatorID;\n }\n\n @carbon.method\n @impl.implemented\n SetTargetLocator(locator)\n {\n this.targetLocatorID = Number(locator) | 0;\n }\n\n @carbon.method\n @impl.implemented\n GetState()\n {\n return this.#state;\n }\n\n @carbon.method\n @impl.implemented\n GetWarheadID()\n {\n return this.id;\n }\n\n @carbon.method\n @impl.adapted\n @impl.reason(\"Constant-buffer layout/packing is engine-owned; Trinity Allocs the record from the accumulator's store and Sets logical values by name (the store transposes the matrix per the engine layout).\")\n GetPerObjectData(accumulator)\n {\n const data = accumulator.Alloc(\"EveMissileWarheadPerObjectData\");\n data.Set(\"world\", this.worldTransform);\n data.Set(\"missileSize\", [this.warheadRadius, this.warheadLength, 0, 0]);\n return data;\n }\n\n static State = Object.freeze({\n STATE_DELAYED: 0,\n STATE_LAUNCH: 1,\n STATE_EJECTING: 2,\n STATE_START_TRACKING: 3,\n STATE_TRACKING_SPREAD: 4,\n STATE_TRACKING_FINAL: 5,\n STATE_EXPLODED: 6,\n STATE_DEAD: 7\n });\n\n static StateChangeEvent = Object.freeze({ EVT_SWITCH_TARGET: 0, EVT_EXPLODE: 1, EVT_NONE: 2 });\n\n static #nextNoisePhase = 1;\n static #zero = vec3.create();\n static #localSphere = vec4.create();\n static #positionNow = vec3.create();\n static #positionLast = vec3.create();\n static #targetPosition = vec3.create();\n static #impactDirection = vec3.create();\n static #ejectVelocity = vec3.create();\n static #globalBallVelocity = vec3.create();\n static #modifiedOldOffset = vec3.create();\n static #relativePosition = vec3.create();\n static #translation = vec3.create();\n static #orientationNow = quat.create();\n static #orientationMatrix = mat4.create();\n}\n\nfunction clamp01(value)\n{\n return Math.max(0, Math.min(1, Number(value) || 0));\n}\n\nfunction transformNormal(out, vector, matrix)\n{\n const x = vector?.[0] ?? 0;\n const y = vector?.[1] ?? 0;\n const z = vector?.[2] ?? 0;\n out[0] = matrix[0] * x + matrix[4] * y + matrix[8] * z;\n out[1] = matrix[1] * x + matrix[5] * y + matrix[9] * z;\n out[2] = matrix[2] * x + matrix[6] * y + matrix[10] * z;\n return out;\n}\n\nfunction enableEmitter(emitter, enable)\n{\n if (typeof emitter?.Enable === \"function\") emitter.Enable(!!enable);\n else if (typeof emitter?.SetEnabled === \"function\") emitter.SetEnabled(!!enable);\n else if (emitter) emitter.enabled = !!enable;\n}\n"],"names":["_EveMissileWarhead","_identity","EveMissileWarhead","EveTransform","e","_init_pathOffsetNoiseScale","_init_extra_pathOffsetNoiseScale","_init_pathOffsetNoiseSpeed","_init_extra_pathOffsetNoiseSpeed","_init_startDataValid","_init_extra_startDataValid","_init_pathOffset","_init_extra_pathOffset","_init_maxExplosionDistance","_init_extra_maxExplosionDistance","_init_impactDuration","_init_extra_impactDuration","_init_explosionPosition","_init_extra_explosionPosition","_init_impactSize","_init_extra_impactSize","_init_spriteSet","_init_extra_spriteSet","_init_targetLocatorID","_init_extra_targetLocatorID","_init_durationEjectPhase","_init_extra_durationEjectPhase","_init_doSpread","_init_extra_doSpread","_init_acceleration","_init_extra_acceleration","_init_id","_init_extra_id","_init_startEjectVelocity","_init_extra_startEjectVelocity","_init_warheadLength","_init_extra_warheadLength","_init_warheadRadius","_init_extra_warheadRadius","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","float32","readwrite","boolean","vec3","read","model","int32","carbon","method","impl","implemented","adapted","reason","pathOffsetNoiseScale","pathOffsetNoiseSpeed","startDataValid","pathOffset","create","maxExplosionDistance","impactDuration","explosionPosition","impactSize","spriteSet","targetLocatorID","durationEjectPhase","doSpread","acceleration","id","startEjectVelocity","warheadLength","warheadRadius","State","STATE_DELAYED","quat","mat4","Math","random","PrepareLaunch","distance","set","identity","Launch","startTransform","getRotation","copy","UpdateEndTransform","endTransform","switchLocators","UpdateState","deltaTime","estimatedTotalAliveTime","target","event","StateChangeEvent","EVT_NONE","totalFlyingTime","max","Number","EPSILON","flight","clamp01","STATE_LAUNCH","EnableParticleEmitting","STATE_EJECTING","STATE_START_TRACKING","GetGoodDamageLocatorIndex","GetWorldPosition","STATE_TRACKING_SPREAD","STATE_TRACKING_FINAL","EVT_SWITCH_TARGET","STATE_EXPLODED","STATE_DEAD","CheckImpact","positionNow","EVT_EXPLODE","subtract","hit","GetImpactPosition","dot","negate","CreateImpact","Update","context","position","carbonPerlin1D","GetOriginShift","originShift","UpdateWarhead","currentBallVelocity","currentInheritedVelocity","inverseBallRotation","missileTransform","dt","transformQuat","transformNormal","quickFlight","scaleAndAdd","denominator","targetTime","scale","lerp","pow","sin","PI","transformMat4","add","distanceSquared","squaredLength","arcFromForward","slerp","normalize","fromRotationTranslation","multiply","worldTransform","enable","child","children","emitter","particleEmitters","enableEmitter","UpdateVisibility","parentTransform","display","GetRenderables","out","lodLevel","Tr2Lod","TR2_LOD_LOW","mesh","push","GetBoundingSphere","vec4","sph3","GetLocalBoundingSphere","GetCurrentOffsetTransform","GetTargetLocator","SetTargetLocator","locator","GetState","GetWarheadID","GetPerObjectData","accumulator","data","Alloc","Set","Object","freeze","constructor","value","min","vector","matrix","x","y","z","Enable","SetEnabled","enabled"],"mappings":"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"}
1
+ {"version":3,"file":"EveMissileWarhead.js","sources":["../../../../src/eve/spaceObject/EveMissileWarhead.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\EveMissileWarhead.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\EveMissileWarhead.cpp\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\nimport { carbonPerlin1D } from \"@carbonenginejs/runtime-utils/noise\";\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\";\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { EveTransform } from \"./EveTransform.js\";\n\n\n/**\n * One warhead of a missile: its launch-to-explosion state machine, the\n * noise-perturbed offset path it flies relative to the missile, and the impact\n * test against the target.\n */\n@type.define({ className: \"EveMissileWarhead\", family: \"eve/spaceObject\" })\nexport class EveMissileWarhead extends EveTransform\n{\n @io.persist @type.float32 pathOffsetNoiseScale = 0;\n @io.persist @type.float32 pathOffsetNoiseSpeed = 1;\n @io.readwrite @type.boolean startDataValid = false;\n @io.readwrite @type.vec3 pathOffset = vec3.create();\n @io.persist @type.float32 maxExplosionDistance = 40;\n @io.persist @type.float32 impactDuration = 0.6;\n @io.read @type.vec3 explosionPosition = vec3.create();\n @io.persist @type.float32 impactSize = 0;\n @io.persist @type.model(\"EveSpriteSet\") spriteSet = null;\n @io.read @type.int32 targetLocatorID = -1;\n @io.persist @type.float32 durationEjectPhase = 0;\n @io.readwrite @type.boolean doSpread = true;\n @io.persist @type.float32 acceleration = 1;\n @io.readwrite @type.int32 id = -1;\n @io.persist @type.float32 startEjectVelocity = 0;\n @io.persist @type.float32 warheadLength = 1;\n @io.persist @type.float32 warheadRadius = 1;\n\n #state = EveMissileWarhead.State.STATE_DELAYED;\n #flyingTime = 0;\n #movement = vec3.create();\n #positionLastFrame = vec3.create();\n #lastRelativePosition = vec3.create();\n #currentStartOffset = vec3.create();\n #startOrientation = quat.create();\n #oldEndOffset = vec3.create();\n #currentEndOffset = vec3.create();\n #endOffset = vec3.create();\n #currentOffset = vec3.create();\n #currentOrientation = quat.create();\n #currentEjectVelocity = 0;\n #currentDurationEjectPhase = 0;\n #currentOffsetTransform = mat4.create();\n #finalDestinationTimer = 0;\n #finalTargetTime = 0.75 - Math.random() * 0.1;\n #speedModifier = 1.04 - Math.random() * 0.08;\n #explosionDistance = 0;\n #bombFlightpath = false;\n #lastPositionValid = false;\n #noisePhase = EveMissileWarhead.#nextNoisePhase++ & 0xfff;\n #isVisible = true;\n\n /**\n * Resets the warhead to its pre-launch state and re-rolls the randomized\n * explosion distance, speed modifier and final-target timing that vary this\n * flight.\n */\n @carbon.method\n @impl.implemented\n PrepareLaunch()\n {\n this.#currentEjectVelocity = this.startEjectVelocity;\n this.#currentDurationEjectPhase = this.durationEjectPhase;\n const distance = this.maxExplosionDistance - Math.random() * this.maxExplosionDistance * 0.5;\n this.#explosionDistance = distance * distance;\n this.#state = EveMissileWarhead.State.STATE_DELAYED;\n this.#flyingTime = 0;\n vec3.set(this.#currentStartOffset, 0, 0, 0);\n quat.identity(this.#startOrientation);\n this.startDataValid = false;\n vec3.set(this.#oldEndOffset, 0, 0, 0);\n vec3.set(this.#currentEndOffset, 0, 0, 0);\n vec3.set(this.#endOffset, 0, 0, 0);\n vec3.set(this.#currentOffset, 0, 0, 0);\n quat.identity(this.#currentOrientation);\n this.#finalDestinationTimer = 0;\n this.targetLocatorID = -1;\n vec3.set(this.explosionPosition, 0, 0, 0);\n mat4.identity(this.#currentOffsetTransform);\n this.#speedModifier = 1.04 - Math.random() * 0.08;\n this.#finalTargetTime = 0.75 - Math.random() * 0.1;\n this.#bombFlightpath = false;\n this.#lastPositionValid = false;\n }\n\n /**\n * Latches the launch transform as the warhead's start offset and orientation\n * and marks the start data valid, which releases the state machine from its\n * delayed state.\n */\n @carbon.method\n @impl.implemented\n Launch(startTransform)\n {\n mat4.getRotation(this.#startOrientation, startTransform);\n vec3.set(this.#currentStartOffset, startTransform[12], startTransform[13], startTransform[14]);\n quat.copy(this.#currentOrientation, this.#startOrientation);\n vec3.copy(this.#currentOffset, this.#currentStartOffset);\n this.startDataValid = true;\n this.#lastPositionValid = false;\n }\n\n /**\n * Sets the destination offset the warhead flies toward; on a target switch it\n * also snapshots the previous destination and flight time so the change is\n * blended in rather than snapped.\n */\n @carbon.method\n @impl.implemented\n UpdateEndTransform(endTransform, switchLocators)\n {\n vec3.set(this.#endOffset, endTransform[12], endTransform[13], endTransform[14]);\n if (switchLocators)\n {\n this.#finalDestinationTimer = this.#flyingTime;\n vec3.copy(this.#oldEndOffset, this.#currentEndOffset);\n }\n }\n\n /**\n * Advances the delayed/launch/ejecting/tracking state machine by one frame, picking a damage locator when tracking begins and again at the spread-to-final switch.\n * @returns {number} The state-change event the missile must act on, or EVT_NONE.\n */\n @carbon.method\n @impl.implemented\n UpdateState(deltaTime, estimatedTotalAliveTime, target)\n {\n this.#bombFlightpath = !target;\n let event = EveMissileWarhead.StateChangeEvent.EVT_NONE;\n const totalFlyingTime = Math.max((Number(estimatedTotalAliveTime) + 0.1) * this.#speedModifier, Number.EPSILON);\n const flight = clamp01(this.#flyingTime / totalFlyingTime);\n switch (this.#state)\n {\n case EveMissileWarhead.State.STATE_DELAYED:\n if (this.startDataValid) this.#state = EveMissileWarhead.State.STATE_LAUNCH;\n break;\n case EveMissileWarhead.State.STATE_LAUNCH:\n this.EnableParticleEmitting(true);\n this.#state = EveMissileWarhead.State.STATE_EJECTING;\n break;\n case EveMissileWarhead.State.STATE_EJECTING:\n this.#currentDurationEjectPhase -= Number(deltaTime);\n if (this.#currentDurationEjectPhase <= 0)\n {\n this.#currentDurationEjectPhase = 0;\n this.#state = EveMissileWarhead.State.STATE_START_TRACKING;\n }\n break;\n case EveMissileWarhead.State.STATE_START_TRACKING:\n this.targetLocatorID = target ? Number(target.GetGoodDamageLocatorIndex?.(this.GetWorldPosition()) ?? -1) | 0 : -1;\n this.#state = estimatedTotalAliveTime >= 5 && this.doSpread\n ? EveMissileWarhead.State.STATE_TRACKING_SPREAD\n : EveMissileWarhead.State.STATE_TRACKING_FINAL;\n break;\n case EveMissileWarhead.State.STATE_TRACKING_SPREAD:\n if (flight >= this.#finalTargetTime)\n {\n this.targetLocatorID = target ? Number(target.GetGoodDamageLocatorIndex?.(this.GetWorldPosition()) ?? -1) | 0 : -1;\n event = EveMissileWarhead.StateChangeEvent.EVT_SWITCH_TARGET;\n this.#state = EveMissileWarhead.State.STATE_TRACKING_FINAL;\n }\n break;\n case EveMissileWarhead.State.STATE_EXPLODED:\n this.#state = EveMissileWarhead.State.STATE_DEAD;\n break;\n default:\n break;\n }\n return event;\n }\n\n /**\n * Tests the final tracking segment for a hit on the target - or detonates immediately when there is no target - recording the explosion position and spawning an impact on the target when impactSize is set.\n * @returns {number} EVT_EXPLODE when the warhead detonated this frame, otherwise EVT_NONE.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Targetable output parameters use the org-standard out-last calling convention.\")\n CheckImpact(deltaTime, estimatedTotalAliveTime, target)\n {\n if (this.#state !== EveMissileWarhead.State.STATE_TRACKING_FINAL || this.id < 0) return EveMissileWarhead.StateChangeEvent.EVT_NONE;\n const totalFlyingTime = Math.max((Number(estimatedTotalAliveTime) + 0.1) * this.#speedModifier, Number.EPSILON);\n const flight = clamp01((this.#flyingTime - Number(deltaTime)) / totalFlyingTime);\n const positionNow = this.GetWorldPosition(EveMissileWarhead.#positionNow);\n if (!target)\n {\n vec3.copy(this.explosionPosition, positionNow);\n this.#state = EveMissileWarhead.State.STATE_EXPLODED;\n return EveMissileWarhead.StateChangeEvent.EVT_EXPLODE;\n }\n\n vec3.subtract(EveMissileWarhead.#positionLast, positionNow, this.#movement);\n vec3.copy(EveMissileWarhead.#targetPosition, positionNow);\n const hit = target.GetImpactPosition?.(this.targetLocatorID, EveMissileWarhead.#positionLast, positionNow, this.#explosionDistance, EveMissileWarhead.#targetPosition) ?? false;\n if (flight < 1 && !hit) return EveMissileWarhead.StateChangeEvent.EVT_NONE;\n\n vec3.copy(this.explosionPosition, positionNow);\n vec3.subtract(EveMissileWarhead.#impactDirection, EveMissileWarhead.#targetPosition, positionNow);\n if (vec3.dot(EveMissileWarhead.#impactDirection, this.#movement) < 0) vec3.copy(this.explosionPosition, EveMissileWarhead.#targetPosition);\n if (this.impactSize > 0)\n {\n vec3.negate(EveMissileWarhead.#impactDirection, this.#movement);\n target.CreateImpact?.(this.targetLocatorID, EveMissileWarhead.#impactDirection, this.impactDuration, this.impactSize);\n }\n this.#state = EveMissileWarhead.State.STATE_EXPLODED;\n return EveMissileWarhead.StateChangeEvent.EVT_EXPLODE;\n }\n\n /**\n * Samples the Perlin path offset for the current flight time, advances the\n * base transform, and recomputes the per-frame movement vector that impact\n * direction and orientation depend on; the noise phase is a stable\n * per-instance sequence rather than Carbon's pointer-derived one.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon's pointer-derived Perlin phase is replaced with a stable per-instance 12-bit sequence.\")\n Update(context)\n {\n const position = this.#flyingTime * this.pathOffsetNoiseSpeed + this.#noisePhase;\n this.pathOffset[0] = carbonPerlin1D(position, 1.1, 2, 3) * this.pathOffsetNoiseScale;\n this.pathOffset[1] = carbonPerlin1D(position + 10.1, 1.1, 2, 3) * this.pathOffsetNoiseScale;\n this.pathOffset[2] = carbonPerlin1D(position + 18.3, 1.1, 2, 3) * this.pathOffsetNoiseScale;\n vec3.subtract(this.#positionLastFrame, this.#positionLastFrame, context?.GetOriginShift?.() ?? context?.originShift ?? EveMissileWarhead.#zero);\n super.Update(context);\n this.GetWorldPosition(EveMissileWarhead.#positionNow);\n vec3.subtract(this.#movement, EveMissileWarhead.#positionNow, this.#positionLastFrame);\n vec3.copy(this.#positionLastFrame, EveMissileWarhead.#positionNow);\n }\n\n /**\n * Integrates one frame of flight - eject velocity, inherited ship velocity,\n * start-to-destination interpolation shaped by acceleration, the noise path\n * offset and the bomb falloff - then rebuilds the warhead's offset transform\n * and slerps its orientation toward the direction of travel.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"The CPU flight calculation is source-faithful; current world composition is also published immediately for headless graph consumers.\")\n UpdateWarhead(deltaTime, estimatedTotalAliveTime, currentBallVelocity, currentInheritedVelocity, inverseBallRotation, missileTransform, originShift = EveMissileWarhead.#zero)\n {\n const dt = Number(deltaTime) || 0;\n vec3.set(EveMissileWarhead.#ejectVelocity, 0, 0, this.#currentEjectVelocity);\n vec3.transformQuat(EveMissileWarhead.#ejectVelocity, EveMissileWarhead.#ejectVelocity, this.#startOrientation);\n transformNormal(EveMissileWarhead.#globalBallVelocity, currentBallVelocity, inverseBallRotation);\n if (this.#state >= EveMissileWarhead.State.STATE_START_TRACKING) this.#flyingTime += dt;\n\n const totalFlyingTime = Math.max((Number(estimatedTotalAliveTime) + 0.1) * this.#speedModifier, Number.EPSILON);\n const flight = clamp01(this.#flyingTime / totalFlyingTime);\n const quickFlight = clamp01(3 * flight);\n if (this.#state >= EveMissileWarhead.State.STATE_EJECTING) vec3.scaleAndAdd(this.#currentStartOffset, this.#currentStartOffset, EveMissileWarhead.#ejectVelocity, dt);\n vec3.scaleAndAdd(this.#currentStartOffset, this.#currentStartOffset, currentInheritedVelocity, dt);\n\n const denominator = totalFlyingTime - this.#finalDestinationTimer;\n const targetTime = denominator ? clamp01((this.#flyingTime - this.#finalDestinationTimer) / denominator) : 1;\n vec3.scale(EveMissileWarhead.#modifiedOldOffset, this.#oldEndOffset, 1 - clamp01(targetTime * 2));\n vec3.lerp(this.#currentEndOffset, EveMissileWarhead.#modifiedOldOffset, this.#endOffset, targetTime);\n vec3.lerp(this.#currentOffset, this.#currentStartOffset, this.#currentEndOffset, Math.pow(flight, 1 + this.acceleration));\n\n vec3.scale(EveMissileWarhead.#globalBallVelocity, EveMissileWarhead.#globalBallVelocity, 1 - flight);\n vec3.scaleAndAdd(this.#currentStartOffset, this.#currentStartOffset, EveMissileWarhead.#globalBallVelocity, -dt);\n this.#currentEjectVelocity = this.startEjectVelocity * (1 - Math.pow(quickFlight, 1 + this.acceleration));\n vec3.scaleAndAdd(this.#currentOffset, this.#currentOffset, this.pathOffset, Math.sin(Math.PI * flight) ** 2);\n if (this.#bombFlightpath) vec3.scale(this.#currentOffset, this.#currentOffset, (1 - quickFlight) ** 2);\n\n vec3.transformMat4(EveMissileWarhead.#relativePosition, this.#currentOffset, missileTransform);\n vec3.subtract(EveMissileWarhead.#translation, this.#lastRelativePosition, EveMissileWarhead.#relativePosition);\n vec3.add(EveMissileWarhead.#translation, EveMissileWarhead.#translation, originShift);\n vec3.copy(this.#lastRelativePosition, EveMissileWarhead.#relativePosition);\n if (this.#lastPositionValid && this.startDataValid)\n {\n const distanceSquared = vec3.squaredLength(EveMissileWarhead.#translation);\n if (distanceSquared > 0)\n {\n transformNormal(EveMissileWarhead.#translation, EveMissileWarhead.#translation, inverseBallRotation);\n mat4.arcFromForward(EveMissileWarhead.#orientationMatrix, EveMissileWarhead.#translation);\n mat4.getRotation(EveMissileWarhead.#orientationNow, EveMissileWarhead.#orientationMatrix);\n if (distanceSquared < 1)\n {\n quat.slerp(this.#currentOrientation, this.#currentOrientation, EveMissileWarhead.#orientationNow, distanceSquared);\n quat.normalize(this.#currentOrientation, this.#currentOrientation);\n }\n else quat.copy(this.#currentOrientation, EveMissileWarhead.#orientationNow);\n }\n }\n else this.#lastPositionValid = true;\n\n mat4.fromRotationTranslation(this.#currentOffsetTransform, this.#currentOrientation, this.#currentOffset);\n mat4.multiply(this.worldTransform, missileTransform, this.#currentOffsetTransform);\n }\n\n /**\n * Turns the warhead's own particle emitters and those of its children on or\n * off.\n */\n @carbon.method\n @impl.implemented\n EnableParticleEmitting(enable)\n {\n for (const child of this.children) for (const emitter of child?.particleEmitters ?? []) enableEmitter(emitter, enable);\n for (const emitter of this.particleEmitters) enableEmitter(emitter, enable);\n }\n\n /**\n * Snaps the world transform to the supplied parent transform and runs the base\n * visibility pass; returns false while the warhead is unlaunched, dead or\n * hidden.\n */\n @carbon.method\n @impl.implemented\n UpdateVisibility(context, parentTransform)\n {\n this.#isVisible = false;\n if (!this.startDataValid || this.#state === EveMissileWarhead.State.STATE_DEAD || !this.display) return false;\n mat4.copy(this.worldTransform, parentTransform);\n this.#isVisible = true;\n super.UpdateVisibility(context, parentTransform);\n return true;\n }\n\n /**\n * Appends the warhead mesh and its sprite set; nothing is appended while the\n * warhead is invisible or at low LOD.\n */\n @carbon.method\n @impl.implemented\n GetRenderables(out = [])\n {\n if (!this.#isVisible || this.lodLevel <= EveTransform.Tr2Lod.TR2_LOD_LOW) return out;\n if (this.mesh) out.push(this);\n this.spriteSet?.GetRenderables?.(out);\n return out;\n }\n\n /**\n * Writes the world-space sphere enclosing the warhead body, sized and centred\n * from warheadLength.\n */\n @carbon.method\n @impl.implemented\n GetBoundingSphere(out = vec4.create())\n {\n vec4.set(EveMissileWarhead.#localSphere, 0, 0, this.warheadLength * 0.5, this.warheadLength * 0.5);\n sph3.transformMat4(out, EveMissileWarhead.#localSphere, this.worldTransform);\n return true;\n }\n\n /**\n * Writes the warhead body sphere in the missile's space, which the missile\n * unions into its own bounding sphere.\n */\n @carbon.method\n @impl.implemented\n GetLocalBoundingSphere(out = vec4.create())\n {\n vec4.set(EveMissileWarhead.#localSphere, 0, 0, this.warheadLength * 0.5, this.warheadLength * 0.5);\n sph3.transformMat4(out, EveMissileWarhead.#localSphere, this.#currentOffsetTransform);\n return true;\n }\n\n /**\n * Returns the warhead's live offset transform relative to the missile; it is\n * the warhead's own matrix and is rewritten by the next flight update.\n */\n @carbon.method\n @impl.implemented\n GetCurrentOffsetTransform()\n {\n return this.#currentOffsetTransform;\n }\n\n /**\n * Returns the damage locator index this warhead is tracking, or -1 when none\n * has been chosen.\n */\n @carbon.method\n @impl.implemented\n GetTargetLocator()\n {\n return this.targetLocatorID;\n }\n\n /** Overrides the damage locator index this warhead tracks. */\n @carbon.method\n @impl.implemented\n SetTargetLocator(locator)\n {\n this.targetLocatorID = Number(locator) | 0;\n }\n\n /** Returns the current flight state, one of EveMissileWarhead.State. */\n @carbon.method\n @impl.implemented\n GetState()\n {\n return this.#state;\n }\n\n /**\n * Returns the authored warhead id, which the missile passes to the explosion\n * callback.\n */\n @carbon.method\n @impl.implemented\n GetWarheadID()\n {\n return this.id;\n }\n\n /**\n * Allocates the warhead's per-object record and sets the world transform and\n * the radius/length pair the shader needs; the record carries values only,\n * never GPU resources.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Constant-buffer layout/packing is engine-owned; Trinity Allocs the record from the accumulator's store and Sets logical values by name (the store transposes the matrix per the engine layout).\")\n GetPerObjectData(accumulator)\n {\n const data = accumulator.Alloc(\"EveMissileWarheadPerObjectData\");\n data.SetAndTranspose(\"world\", this.worldTransform);\n data.Set(\"missileSize\", [this.warheadRadius, this.warheadLength, 0, 0]);\n return data;\n }\n\n static State = Object.freeze({\n STATE_DELAYED: 0,\n STATE_LAUNCH: 1,\n STATE_EJECTING: 2,\n STATE_START_TRACKING: 3,\n STATE_TRACKING_SPREAD: 4,\n STATE_TRACKING_FINAL: 5,\n STATE_EXPLODED: 6,\n STATE_DEAD: 7\n });\n\n static StateChangeEvent = Object.freeze({ EVT_SWITCH_TARGET: 0, EVT_EXPLODE: 1, EVT_NONE: 2 });\n\n static #nextNoisePhase = 1;\n static #zero = vec3.create();\n static #localSphere = vec4.create();\n static #positionNow = vec3.create();\n static #positionLast = vec3.create();\n static #targetPosition = vec3.create();\n static #impactDirection = vec3.create();\n static #ejectVelocity = vec3.create();\n static #globalBallVelocity = vec3.create();\n static #modifiedOldOffset = vec3.create();\n static #relativePosition = vec3.create();\n static #translation = vec3.create();\n static #orientationNow = quat.create();\n static #orientationMatrix = mat4.create();\n}\n\nfunction clamp01(value)\n{\n return Math.max(0, Math.min(1, Number(value) || 0));\n}\n\nfunction transformNormal(out, vector, matrix)\n{\n const x = vector?.[0] ?? 0;\n const y = vector?.[1] ?? 0;\n const z = vector?.[2] ?? 0;\n out[0] = matrix[0] * x + matrix[4] * y + matrix[8] * z;\n out[1] = matrix[1] * x + matrix[5] * y + matrix[9] * z;\n out[2] = matrix[2] * x + matrix[6] * y + matrix[10] * z;\n return out;\n}\n\nfunction enableEmitter(emitter, enable)\n{\n if (typeof emitter?.Enable === \"function\") emitter.Enable(!!enable);\n else if (typeof emitter?.SetEnabled === \"function\") emitter.SetEnabled(!!enable);\n else if (emitter) emitter.enabled = !!enable;\n}\n"],"names":["_EveMissileWarhead","_identity","EveMissileWarhead","EveTransform","e","_init_pathOffsetNoiseScale","_init_extra_pathOffsetNoiseScale","_init_pathOffsetNoiseSpeed","_init_extra_pathOffsetNoiseSpeed","_init_startDataValid","_init_extra_startDataValid","_init_pathOffset","_init_extra_pathOffset","_init_maxExplosionDistance","_init_extra_maxExplosionDistance","_init_impactDuration","_init_extra_impactDuration","_init_explosionPosition","_init_extra_explosionPosition","_init_impactSize","_init_extra_impactSize","_init_spriteSet","_init_extra_spriteSet","_init_targetLocatorID","_init_extra_targetLocatorID","_init_durationEjectPhase","_init_extra_durationEjectPhase","_init_doSpread","_init_extra_doSpread","_init_acceleration","_init_extra_acceleration","_init_id","_init_extra_id","_init_startEjectVelocity","_init_extra_startEjectVelocity","_init_warheadLength","_init_extra_warheadLength","_init_warheadRadius","_init_extra_warheadRadius","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","float32","readwrite","boolean","vec3","read","model","int32","carbon","method","impl","implemented","adapted","reason","pathOffsetNoiseScale","pathOffsetNoiseSpeed","startDataValid","pathOffset","create","maxExplosionDistance","impactDuration","explosionPosition","impactSize","spriteSet","targetLocatorID","durationEjectPhase","doSpread","acceleration","id","startEjectVelocity","warheadLength","warheadRadius","State","STATE_DELAYED","quat","mat4","Math","random","PrepareLaunch","distance","set","identity","Launch","startTransform","getRotation","copy","UpdateEndTransform","endTransform","switchLocators","UpdateState","deltaTime","estimatedTotalAliveTime","target","event","StateChangeEvent","EVT_NONE","totalFlyingTime","max","Number","EPSILON","flight","clamp01","STATE_LAUNCH","EnableParticleEmitting","STATE_EJECTING","STATE_START_TRACKING","GetGoodDamageLocatorIndex","GetWorldPosition","STATE_TRACKING_SPREAD","STATE_TRACKING_FINAL","EVT_SWITCH_TARGET","STATE_EXPLODED","STATE_DEAD","CheckImpact","positionNow","EVT_EXPLODE","subtract","hit","GetImpactPosition","dot","negate","CreateImpact","Update","context","position","carbonPerlin1D","GetOriginShift","originShift","UpdateWarhead","currentBallVelocity","currentInheritedVelocity","inverseBallRotation","missileTransform","dt","transformQuat","transformNormal","quickFlight","scaleAndAdd","denominator","targetTime","scale","lerp","pow","sin","PI","transformMat4","add","distanceSquared","squaredLength","arcFromForward","slerp","normalize","fromRotationTranslation","multiply","worldTransform","enable","child","children","emitter","particleEmitters","enableEmitter","UpdateVisibility","parentTransform","display","GetRenderables","out","lodLevel","Tr2Lod","TR2_LOD_LOW","mesh","push","GetBoundingSphere","vec4","sph3","GetLocalBoundingSphere","GetCurrentOffsetTransform","GetTargetLocator","SetTargetLocator","locator","GetState","GetWarheadID","GetPerObjectData","accumulator","data","Alloc","SetAndTranspose","Set","Object","freeze","constructor","value","min","vector","matrix","x","y","z","Enable","SetEnabled","enabled"],"mappings":";;;;;;;;;;;;AAYA;AACA;AACA;AACA;AACA;AAJA,IAAAA;AAAA,IAAA,cAAAC,SAAA,CAAA;AAAA,EAAA,QAKA,MAAAC,iBAAA,SACuCC,aAAY,CACnD;AAAA,IAAA;AAAA,MAAA,CAAA;AAAAC,QAAAA,CAAA,EAAA,CAAAC,0BAAA,EAAAC,gCAAA,EAAAC,0BAAA,EAAAC,gCAAA,EAAAC,oBAAA,EAAAC,0BAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,0BAAA,EAAAC,gCAAA,EAAAC,oBAAA,EAAAC,0BAAA,EAAAC,uBAAA,EAAAC,6BAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,wBAAA,EAAAC,8BAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,QAAA,EAAAC,cAAA,EAAAC,wBAAA,EAAAC,8BAAA,EAAAC,mBAAA,EAAAC,yBAAA,EAAAC,mBAAA,EAAAC,yBAAA,EAAAC,UAAA,CAAA;QAAAC,CAAA,EAAA,CAAAxC,kBAAA,EAAAyC,UAAA;AAAA,OAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,mBAAmB;AAAEC,QAAAA,MAAM,EAAE;OAAmB,CAAC,CAAA,EAAA,CAAA,CAAA,CAGxEC,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAEL,IAAI,EAAJA,IAAI,CAACM,OAAO,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CACxBF,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAEL,IAAI,EAAJA,IAAI,CAACM,OAAO,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CACxBF,EAAE,EAAFA,EAAE,CAACG,SAAS,EAAEP,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAC1BJ,EAAE,EAAFA,EAAE,CAACG,SAAS,EAAEP,IAAI,EAAJA,IAAI,CAACS,IAAI,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CACvBL,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAEL,IAAI,EAAJA,IAAI,CAACM,OAAO,kCACxBF,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAEL,IAAI,EAAJA,IAAI,CAACM,OAAO,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CACxBF,EAAE,EAAFA,EAAE,CAACM,IAAI,EAAEV,IAAI,EAAJA,IAAI,CAACS,IAAI,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAClBL,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAEL,IAAI,EAAJA,IAAI,CAACM,OAAO,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CACxBF,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EAAEL,IAAI,CAACW,KAAK,CAAC,cAAc,CAAC,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CACtCP,EAAE,EAAFA,EAAE,CAACM,IAAI,EAAEV,IAAI,EAAJA,IAAI,CAACY,KAAK,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CACnBR,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAEL,IAAI,EAAJA,IAAI,CAACM,OAAO,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CACxBF,EAAE,EAAFA,EAAE,CAACG,SAAS,EAAEP,IAAI,EAAJA,IAAI,CAACQ,OAAO,sBAC1BJ,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAEL,IAAI,EAAJA,IAAI,CAACM,OAAO,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CACxBF,EAAE,EAAFA,EAAE,CAACG,SAAS,EAAEP,IAAI,EAAJA,IAAI,CAACY,KAAK,CAAA,EAAA,EAAA,EAAA,IAAA,CAAA,EAAA,CAAA,CACxBR,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAEL,IAAI,EAAJA,IAAI,CAACM,OAAO,gCACxBF,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAEL,IAAI,EAAJA,IAAI,CAACM,OAAO,CAAA,EAAA,EAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CACxBF,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAEL,IAAI,EAAJA,IAAI,CAACM,OAAO,CAAA,EAAA,EAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CA+BxBO,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAgChBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAgBhBH,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,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAmDhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,gFAAgF,CAAC,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAqC7FL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,+FAA+F,CAAC,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAoB5GL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,sIAAsI,CAAC,CAAA,EAAA,EAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAyDnJL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,CAYhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAehBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAahBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAYhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,CAYhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,CAUhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAOhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAOhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAUhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,0BAWhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,iMAAiM,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAxZ1K1D,aAAY,CAAA;AAAA;AAEvB2D,IAAAA,oBAAoB,IAAAvB,UAAA,CAAA,IAAA,CAAA,EAAAlC,0BAAA,OAAG,CAAC,CAAA;AACxB0D,IAAAA,oBAAoB,IAAAzD,gCAAA,CAAA,IAAA,CAAA,EAAAC,0BAAA,OAAG,CAAC,CAAA;AACtByD,IAAAA,cAAc,IAAAxD,gCAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAG,KAAK,CAAA;IACzBwD,UAAU,IAAAvD,0BAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAGyC,IAAI,CAACc,MAAM,EAAE,CAAA;AACzBC,IAAAA,oBAAoB,IAAAvD,sBAAA,CAAA,IAAA,CAAA,EAAAC,0BAAA,OAAG,EAAE,CAAA;AACzBuD,IAAAA,cAAc,IAAAtD,gCAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAG,GAAG,CAAA;IAC1BsD,iBAAiB,IAAArD,0BAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,OAAGmC,IAAI,CAACc,MAAM,EAAE,CAAA;AAC3BI,IAAAA,UAAU,IAAApD,6BAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAG,CAAC,CAAA;AACAoD,IAAAA,SAAS,IAAAnD,sBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,IAAI,CAAA;AACnCmD,IAAAA,eAAe,IAAAlD,qBAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,CAAA,IAAA,EAAG,EAAE,CAAA;AACfkD,IAAAA,kBAAkB,IAAAjD,2BAAA,CAAA,IAAA,CAAA,EAAAC,wBAAA,OAAG,CAAC,CAAA;AACpBiD,IAAAA,QAAQ,IAAAhD,8BAAA,CAAA,IAAA,CAAA,EAAAC,cAAA,OAAG,IAAI,CAAA;AACjBgD,IAAAA,YAAY,IAAA/C,oBAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,CAAC,CAAA;AAChB+C,IAAAA,EAAE,IAAA9C,wBAAA,CAAA,IAAA,CAAA,EAAAC,QAAA,CAAA,IAAA,EAAG,EAAE,CAAA;AACP8C,IAAAA,kBAAkB,IAAA7C,cAAA,CAAA,IAAA,CAAA,EAAAC,wBAAA,OAAG,CAAC,CAAA;AACtB6C,IAAAA,aAAa,IAAA5C,8BAAA,CAAA,IAAA,CAAA,EAAAC,mBAAA,OAAG,CAAC,CAAA;AACjB4C,IAAAA,aAAa,IAAA3C,yBAAA,CAAA,IAAA,CAAA,EAAAC,mBAAA,OAAG,CAAC,CAAA;IAE3C,MAAM,IAAAC,yBAAA,CAAA,IAAA,CAAA,EAAGpC,kBAAiB,CAAC8E,KAAK,CAACC,aAAa;IAC9C,WAAW,GAAG,CAAC;AACf,IAAA,SAAS,GAAG7B,IAAI,CAACc,MAAM,EAAE;AACzB,IAAA,kBAAkB,GAAGd,IAAI,CAACc,MAAM,EAAE;AAClC,IAAA,qBAAqB,GAAGd,IAAI,CAACc,MAAM,EAAE;AACrC,IAAA,mBAAmB,GAAGd,IAAI,CAACc,MAAM,EAAE;AACnC,IAAA,iBAAiB,GAAGgB,IAAI,CAAChB,MAAM,EAAE;AACjC,IAAA,aAAa,GAAGd,IAAI,CAACc,MAAM,EAAE;AAC7B,IAAA,iBAAiB,GAAGd,IAAI,CAACc,MAAM,EAAE;AACjC,IAAA,UAAU,GAAGd,IAAI,CAACc,MAAM,EAAE;AAC1B,IAAA,cAAc,GAAGd,IAAI,CAACc,MAAM,EAAE;AAC9B,IAAA,mBAAmB,GAAGgB,IAAI,CAAChB,MAAM,EAAE;IACnC,qBAAqB,GAAG,CAAC;IACzB,0BAA0B,GAAG,CAAC;AAC9B,IAAA,uBAAuB,GAAGiB,IAAI,CAACjB,MAAM,EAAE;IACvC,sBAAsB,GAAG,CAAC;IAC1B,gBAAgB,GAAG,IAAI,GAAGkB,IAAI,CAACC,MAAM,EAAE,GAAG,GAAG;IAC7C,cAAc,GAAG,IAAI,GAAGD,IAAI,CAACC,MAAM,EAAE,GAAG,IAAI;IAC5C,kBAAkB,GAAG,CAAC;IACtB,eAAe,GAAG,KAAK;IACvB,kBAAkB,GAAG,KAAK;IAC1B,WAAW,GAAGnF,kBAAiB,CAAC,eAAe,EAAE,GAAG,KAAK;IACzD,UAAU,GAAG,IAAI;;AAEjB;AACF;AACA;AACA;AACA;AAGEoF,IAAAA,aAAaA,GACb;AACE,MAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAACT,kBAAkB;AACpD,MAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAACJ,kBAAkB;AACzD,MAAA,MAAMc,QAAQ,GAAG,IAAI,CAACpB,oBAAoB,GAAGiB,IAAI,CAACC,MAAM,EAAE,GAAG,IAAI,CAAClB,oBAAoB,GAAG,GAAG;AAC5F,MAAA,IAAI,CAAC,kBAAkB,GAAGoB,QAAQ,GAAGA,QAAQ;MAC7C,IAAI,CAAC,MAAM,GAAGrF,kBAAiB,CAAC8E,KAAK,CAACC,aAAa;AACnD,MAAA,IAAI,CAAC,WAAW,GAAG,CAAC;AACpB7B,MAAAA,IAAI,CAACoC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3CN,MAAAA,IAAI,CAACO,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC;MACrC,IAAI,CAACzB,cAAc,GAAG,KAAK;AAC3BZ,MAAAA,IAAI,CAACoC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACrCpC,MAAAA,IAAI,CAACoC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzCpC,MAAAA,IAAI,CAACoC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAClCpC,MAAAA,IAAI,CAACoC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACtCN,MAAAA,IAAI,CAACO,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC;AACvC,MAAA,IAAI,CAAC,sBAAsB,GAAG,CAAC;AAC/B,MAAA,IAAI,CAACjB,eAAe,GAAG,EAAE;AACzBpB,MAAAA,IAAI,CAACoC,GAAG,CAAC,IAAI,CAACnB,iBAAiB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzCc,MAAAA,IAAI,CAACM,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC;AAC3C,MAAA,IAAI,CAAC,cAAc,GAAG,IAAI,GAAGL,IAAI,CAACC,MAAM,EAAE,GAAG,IAAI;AACjD,MAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAGD,IAAI,CAACC,MAAM,EAAE,GAAG,GAAG;AAClD,MAAA,IAAI,CAAC,eAAe,GAAG,KAAK;AAC5B,MAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;AACjC,IAAA;;AAEA;AACF;AACA;AACA;AACA;IAGEK,MAAMA,CAACC,cAAc,EACrB;MACER,IAAI,CAACS,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAED,cAAc,CAAC;MACxDvC,IAAI,CAACoC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAEG,cAAc,CAAC,EAAE,CAAC,EAAEA,cAAc,CAAC,EAAE,CAAC,EAAEA,cAAc,CAAC,EAAE,CAAC,CAAC;AAC9FT,MAAAA,IAAI,CAACW,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC;AAC3DzC,MAAAA,IAAI,CAACyC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,mBAAmB,CAAC;MACxD,IAAI,CAAC7B,cAAc,GAAG,IAAI;AAC1B,MAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;AACjC,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGE8B,IAAAA,kBAAkBA,CAACC,YAAY,EAAEC,cAAc,EAC/C;MACE5C,IAAI,CAACoC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAEO,YAAY,CAAC,EAAE,CAAC,EAAEA,YAAY,CAAC,EAAE,CAAC,EAAEA,YAAY,CAAC,EAAE,CAAC,CAAC;AAC/E,MAAA,IAAIC,cAAc,EAClB;AACE,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,WAAW;AAC9C5C,QAAAA,IAAI,CAACyC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACvD,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AACA;AAGEI,IAAAA,WAAWA,CAACC,SAAS,EAAEC,uBAAuB,EAAEC,MAAM,EACtD;AACE,MAAA,IAAI,CAAC,eAAe,GAAG,CAACA,MAAM;AAC9B,MAAA,IAAIC,KAAK,GAAGnG,kBAAiB,CAACoG,gBAAgB,CAACC,QAAQ;MACvD,MAAMC,eAAe,GAAGpB,IAAI,CAACqB,GAAG,CAAC,CAACC,MAAM,CAACP,uBAAuB,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,EAAEO,MAAM,CAACC,OAAO,CAAC;MAC/G,MAAMC,MAAM,GAAGC,OAAO,CAAC,IAAI,CAAC,WAAW,GAAGL,eAAe,CAAC;MAC1D,QAAQ,IAAI,CAAC,MAAM;AAEjB,QAAA,KAAKtG,kBAAiB,CAAC8E,KAAK,CAACC,aAAa;AACxC,UAAA,IAAI,IAAI,CAACjB,cAAc,EAAE,IAAI,CAAC,MAAM,GAAG9D,kBAAiB,CAAC8E,KAAK,CAAC8B,YAAY;AAC3E,UAAA;AACF,QAAA,KAAK5G,kBAAiB,CAAC8E,KAAK,CAAC8B,YAAY;AACvC,UAAA,IAAI,CAACC,sBAAsB,CAAC,IAAI,CAAC;UACjC,IAAI,CAAC,MAAM,GAAG7G,kBAAiB,CAAC8E,KAAK,CAACgC,cAAc;AACpD,UAAA;AACF,QAAA,KAAK9G,kBAAiB,CAAC8E,KAAK,CAACgC,cAAc;AACzC,UAAA,IAAI,CAAC,0BAA0B,IAAIN,MAAM,CAACR,SAAS,CAAC;AACpD,UAAA,IAAI,IAAI,CAAC,0BAA0B,IAAI,CAAC,EACxC;AACE,YAAA,IAAI,CAAC,0BAA0B,GAAG,CAAC;YACnC,IAAI,CAAC,MAAM,GAAGhG,kBAAiB,CAAC8E,KAAK,CAACiC,oBAAoB;AAC5D,UAAA;AACA,UAAA;AACF,QAAA,KAAK/G,kBAAiB,CAAC8E,KAAK,CAACiC,oBAAoB;UAC/C,IAAI,CAACzC,eAAe,GAAG4B,MAAM,GAAGM,MAAM,CAACN,MAAM,CAACc,yBAAyB,GAAG,IAAI,CAACC,gBAAgB,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE;UAClH,IAAI,CAAC,MAAM,GAAGhB,uBAAuB,IAAI,CAAC,IAAI,IAAI,CAACzB,QAAQ,GACvDxE,kBAAiB,CAAC8E,KAAK,CAACoC,qBAAqB,GAC7ClH,kBAAiB,CAAC8E,KAAK,CAACqC,oBAAoB;AAChD,UAAA;AACF,QAAA,KAAKnH,kBAAiB,CAAC8E,KAAK,CAACoC,qBAAqB;AAChD,UAAA,IAAIR,MAAM,IAAI,IAAI,CAAC,gBAAgB,EACnC;YACE,IAAI,CAACpC,eAAe,GAAG4B,MAAM,GAAGM,MAAM,CAACN,MAAM,CAACc,yBAAyB,GAAG,IAAI,CAACC,gBAAgB,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE;AAClHd,YAAAA,KAAK,GAAGnG,kBAAiB,CAACoG,gBAAgB,CAACgB,iBAAiB;YAC5D,IAAI,CAAC,MAAM,GAAGpH,kBAAiB,CAAC8E,KAAK,CAACqC,oBAAoB;AAC5D,UAAA;AACA,UAAA;AACF,QAAA,KAAKnH,kBAAiB,CAAC8E,KAAK,CAACuC,cAAc;UACzC,IAAI,CAAC,MAAM,GAAGrH,kBAAiB,CAAC8E,KAAK,CAACwC,UAAU;AAChD,UAAA;AAGJ;AACA,MAAA,OAAOnB,KAAK;AACd,IAAA;;AAEA;AACF;AACA;AACA;AAIEoB,IAAAA,WAAWA,CAACvB,SAAS,EAAEC,uBAAuB,EAAEC,MAAM,EACtD;MACE,IAAI,IAAI,CAAC,MAAM,KAAKlG,kBAAiB,CAAC8E,KAAK,CAACqC,oBAAoB,IAAI,IAAI,CAACzC,EAAE,GAAG,CAAC,EAAE,OAAO1E,kBAAiB,CAACoG,gBAAgB,CAACC,QAAQ;MACnI,MAAMC,eAAe,GAAGpB,IAAI,CAACqB,GAAG,CAAC,CAACC,MAAM,CAACP,uBAAuB,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,EAAEO,MAAM,CAACC,OAAO,CAAC;AAC/G,MAAA,MAAMC,MAAM,GAAGC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,GAAGH,MAAM,CAACR,SAAS,CAAC,IAAIM,eAAe,CAAC;MAChF,MAAMkB,WAAW,GAAG,IAAI,CAACP,gBAAgB,CAACjH,kBAAiB,CAAC,YAAY,CAAC;MACzE,IAAI,CAACkG,MAAM,EACX;QACEhD,IAAI,CAACyC,IAAI,CAAC,IAAI,CAACxB,iBAAiB,EAAEqD,WAAW,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAGxH,kBAAiB,CAAC8E,KAAK,CAACuC,cAAc;AACpD,QAAA,OAAOrH,kBAAiB,CAACoG,gBAAgB,CAACqB,WAAW;AACvD,MAAA;AAEAvE,MAAAA,IAAI,CAACwE,QAAQ,CAAC1H,kBAAiB,CAAC,aAAa,EAAEwH,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;MAC3EtE,IAAI,CAACyC,IAAI,CAAC3F,kBAAiB,CAAC,eAAe,EAAEwH,WAAW,CAAC;AACzD,MAAA,MAAMG,GAAG,GAAGzB,MAAM,CAAC0B,iBAAiB,GAAG,IAAI,CAACtD,eAAe,EAAEtE,kBAAiB,CAAC,aAAa,EAAEwH,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAExH,kBAAiB,CAAC,eAAe,CAAC,IAAI,KAAK;AAC/K,MAAA,IAAI0G,MAAM,GAAG,CAAC,IAAI,CAACiB,GAAG,EAAE,OAAO3H,kBAAiB,CAACoG,gBAAgB,CAACC,QAAQ;MAE1EnD,IAAI,CAACyC,IAAI,CAAC,IAAI,CAACxB,iBAAiB,EAAEqD,WAAW,CAAC;AAC9CtE,MAAAA,IAAI,CAACwE,QAAQ,CAAC1H,kBAAiB,CAAC,gBAAgB,EAAEA,kBAAiB,CAAC,eAAe,EAAEwH,WAAW,CAAC;AACjG,MAAA,IAAItE,IAAI,CAAC2E,GAAG,CAAC7H,kBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAEkD,IAAI,CAACyC,IAAI,CAAC,IAAI,CAACxB,iBAAiB,EAAEnE,kBAAiB,CAAC,eAAe,CAAC;AAC1I,MAAA,IAAI,IAAI,CAACoE,UAAU,GAAG,CAAC,EACvB;AACElB,QAAAA,IAAI,CAAC4E,MAAM,CAAC9H,kBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC;AAC/DkG,QAAAA,MAAM,CAAC6B,YAAY,GAAG,IAAI,CAACzD,eAAe,EAAEtE,kBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAACkE,cAAc,EAAE,IAAI,CAACE,UAAU,CAAC;AACvH,MAAA;MACA,IAAI,CAAC,MAAM,GAAGpE,kBAAiB,CAAC8E,KAAK,CAACuC,cAAc;AACpD,MAAA,OAAOrH,kBAAiB,CAACoG,gBAAgB,CAACqB,WAAW;AACvD,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;IAIEO,MAAMA,CAACC,OAAO,EACd;AACE,MAAA,MAAMC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAACrE,oBAAoB,GAAG,IAAI,CAAC,WAAW;AAChF,MAAA,IAAI,CAACE,UAAU,CAAC,CAAC,CAAC,GAAGoE,cAAc,CAACD,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAACtE,oBAAoB;MACpF,IAAI,CAACG,UAAU,CAAC,CAAC,CAAC,GAAGoE,cAAc,CAACD,QAAQ,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAACtE,oBAAoB;MAC3F,IAAI,CAACG,UAAU,CAAC,CAAC,CAAC,GAAGoE,cAAc,CAACD,QAAQ,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAACtE,oBAAoB;MAC3FV,IAAI,CAACwE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAEO,OAAO,EAAEG,cAAc,IAAI,IAAIH,OAAO,EAAEI,WAAW,IAAIrI,kBAAiB,CAAC,KAAK,CAAC;AAC/I,MAAA,KAAK,CAACgI,MAAM,CAACC,OAAO,CAAC;AACrB,MAAA,IAAI,CAAChB,gBAAgB,CAACjH,kBAAiB,CAAC,YAAY,CAAC;AACrDkD,MAAAA,IAAI,CAACwE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE1H,kBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACtFkD,MAAAA,IAAI,CAACyC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE3F,kBAAiB,CAAC,YAAY,CAAC;AACpE,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AAIEsI,IAAAA,aAAaA,CAACtC,SAAS,EAAEC,uBAAuB,EAAEsC,mBAAmB,EAAEC,wBAAwB,EAAEC,mBAAmB,EAAEC,gBAAgB,EAAEL,WAAW,GAAGrI,kBAAiB,CAAC,KAAK,EAC7K;AACE,MAAA,MAAM2I,EAAE,GAAGnC,MAAM,CAACR,SAAS,CAAC,IAAI,CAAC;AACjC9C,MAAAA,IAAI,CAACoC,GAAG,CAACtF,kBAAiB,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;AAC5EkD,MAAAA,IAAI,CAAC0F,aAAa,CAAC5I,kBAAiB,CAAC,cAAc,EAAEA,kBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC;MAC9G6I,eAAe,CAAC7I,kBAAiB,CAAC,mBAAmB,EAAEuI,mBAAmB,EAAEE,mBAAmB,CAAC;AAChG,MAAA,IAAI,IAAI,CAAC,MAAM,IAAIzI,kBAAiB,CAAC8E,KAAK,CAACiC,oBAAoB,EAAE,IAAI,CAAC,WAAW,IAAI4B,EAAE;MAEvF,MAAMrC,eAAe,GAAGpB,IAAI,CAACqB,GAAG,CAAC,CAACC,MAAM,CAACP,uBAAuB,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,EAAEO,MAAM,CAACC,OAAO,CAAC;MAC/G,MAAMC,MAAM,GAAGC,OAAO,CAAC,IAAI,CAAC,WAAW,GAAGL,eAAe,CAAC;AAC1D,MAAA,MAAMwC,WAAW,GAAGnC,OAAO,CAAC,CAAC,GAAGD,MAAM,CAAC;AACvC,MAAA,IAAI,IAAI,CAAC,MAAM,IAAI1G,kBAAiB,CAAC8E,KAAK,CAACgC,cAAc,EAAE5D,IAAI,CAAC6F,WAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE/I,kBAAiB,CAAC,cAAc,EAAE2I,EAAE,CAAC;AACrKzF,MAAAA,IAAI,CAAC6F,WAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAEP,wBAAwB,EAAEG,EAAE,CAAC;AAElG,MAAA,MAAMK,WAAW,GAAG1C,eAAe,GAAG,IAAI,CAAC,sBAAsB;MACjE,MAAM2C,UAAU,GAAGD,WAAW,GAAGrC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,sBAAsB,IAAIqC,WAAW,CAAC,GAAG,CAAC;MAC5G9F,IAAI,CAACgG,KAAK,CAAClJ,kBAAiB,CAAC,kBAAkB,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG2G,OAAO,CAACsC,UAAU,GAAG,CAAC,CAAC,CAAC;AACjG/F,MAAAA,IAAI,CAACiG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAEnJ,kBAAiB,CAAC,kBAAkB,EAAE,IAAI,CAAC,UAAU,EAAEiJ,UAAU,CAAC;AACpG/F,MAAAA,IAAI,CAACiG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,EAAEjE,IAAI,CAACkE,GAAG,CAAC1C,MAAM,EAAE,CAAC,GAAG,IAAI,CAACjC,YAAY,CAAC,CAAC;AAEzHvB,MAAAA,IAAI,CAACgG,KAAK,CAAClJ,kBAAiB,CAAC,mBAAmB,EAAEA,kBAAiB,CAAC,mBAAmB,EAAE,CAAC,GAAG0G,MAAM,CAAC;MACpGxD,IAAI,CAAC6F,WAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE/I,kBAAiB,CAAC,mBAAmB,EAAE,CAAC2I,EAAE,CAAC;MAChH,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAChE,kBAAkB,IAAI,CAAC,GAAGO,IAAI,CAACkE,GAAG,CAACN,WAAW,EAAE,CAAC,GAAG,IAAI,CAACrE,YAAY,CAAC,CAAC;AACzGvB,MAAAA,IAAI,CAAC6F,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAChF,UAAU,EAAEmB,IAAI,CAACmE,GAAG,CAACnE,IAAI,CAACoE,EAAE,GAAG5C,MAAM,CAAC,IAAI,CAAC,CAAC;MAC5G,IAAI,IAAI,CAAC,eAAe,EAAExD,IAAI,CAACgG,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,GAAGJ,WAAW,KAAK,CAAC,CAAC;AAEtG5F,MAAAA,IAAI,CAACqG,aAAa,CAACvJ,kBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,EAAE0I,gBAAgB,CAAC;AAC9FxF,MAAAA,IAAI,CAACwE,QAAQ,CAAC1H,kBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,qBAAqB,EAAEA,kBAAiB,CAAC,iBAAiB,CAAC;AAC9GkD,MAAAA,IAAI,CAACsG,GAAG,CAACxJ,kBAAiB,CAAC,YAAY,EAAEA,kBAAiB,CAAC,YAAY,EAAEqI,WAAW,CAAC;AACrFnF,MAAAA,IAAI,CAACyC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE3F,kBAAiB,CAAC,iBAAiB,CAAC;MAC1E,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC8D,cAAc,EAClD;QACE,MAAM2F,eAAe,GAAGvG,IAAI,CAACwG,aAAa,CAAC1J,kBAAiB,CAAC,YAAY,CAAC;QAC1E,IAAIyJ,eAAe,GAAG,CAAC,EACvB;AACEZ,UAAAA,eAAe,CAAC7I,kBAAiB,CAAC,YAAY,EAAEA,kBAAiB,CAAC,YAAY,EAAEyI,mBAAmB,CAAC;AACpGxD,UAAAA,IAAI,CAAC0E,cAAc,CAAC3J,kBAAiB,CAAC,kBAAkB,EAAEA,kBAAiB,CAAC,YAAY,CAAC;AACzFiF,UAAAA,IAAI,CAACS,WAAW,CAAC1F,kBAAiB,CAAC,eAAe,EAAEA,kBAAiB,CAAC,kBAAkB,CAAC;UACzF,IAAIyJ,eAAe,GAAG,CAAC,EACvB;AACEzE,YAAAA,IAAI,CAAC4E,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE5J,kBAAiB,CAAC,eAAe,EAAEyJ,eAAe,CAAC;AAClHzE,YAAAA,IAAI,CAAC6E,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACpE,UAAA,CAAC,MACI7E,IAAI,CAACW,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE3F,kBAAiB,CAAC,eAAe,CAAC;AAC7E,QAAA;AACF,MAAA,CAAC,MACI,IAAI,CAAC,kBAAkB,GAAG,IAAI;AAEnCiF,MAAAA,IAAI,CAAC6E,uBAAuB,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC;AACzG7E,MAAAA,IAAI,CAAC8E,QAAQ,CAAC,IAAI,CAACC,cAAc,EAAEtB,gBAAgB,EAAE,IAAI,CAAC,uBAAuB,CAAC;AACpF,IAAA;;AAEA;AACF;AACA;AACA;IAGE7B,sBAAsBA,CAACoD,MAAM,EAC7B;MACE,KAAK,MAAMC,KAAK,IAAI,IAAI,CAACC,QAAQ,EAAE,KAAK,MAAMC,OAAO,IAAIF,KAAK,EAAEG,gBAAgB,IAAI,EAAE,EAAEC,aAAa,CAACF,OAAO,EAAEH,MAAM,CAAC;AACtH,MAAA,KAAK,MAAMG,OAAO,IAAI,IAAI,CAACC,gBAAgB,EAAEC,aAAa,CAACF,OAAO,EAAEH,MAAM,CAAC;AAC7E,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEM,IAAAA,gBAAgBA,CAACtC,OAAO,EAAEuC,eAAe,EACzC;AACE,MAAA,IAAI,CAAC,UAAU,GAAG,KAAK;MACvB,IAAI,CAAC,IAAI,CAAC1G,cAAc,IAAI,IAAI,CAAC,MAAM,KAAK9D,kBAAiB,CAAC8E,KAAK,CAACwC,UAAU,IAAI,CAAC,IAAI,CAACmD,OAAO,EAAE,OAAO,KAAK;MAC7GxF,IAAI,CAACU,IAAI,CAAC,IAAI,CAACqE,cAAc,EAAEQ,eAAe,CAAC;AAC/C,MAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,MAAA,KAAK,CAACD,gBAAgB,CAACtC,OAAO,EAAEuC,eAAe,CAAC;AAChD,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;AAGEE,IAAAA,cAAcA,CAACC,GAAG,GAAG,EAAE,EACvB;AACE,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAACC,QAAQ,IAAI3K,aAAY,CAAC4K,MAAM,CAACC,WAAW,EAAE,OAAOH,GAAG;MACpF,IAAI,IAAI,CAACI,IAAI,EAAEJ,GAAG,CAACK,IAAI,CAAC,IAAI,CAAC;AAC7B,MAAA,IAAI,CAAC3G,SAAS,EAAEqG,cAAc,GAAGC,GAAG,CAAC;AACrC,MAAA,OAAOA,GAAG;AACZ,IAAA;;AAEA;AACF;AACA;AACA;IAGEM,iBAAiBA,CAACN,GAAG,GAAGO,IAAI,CAAClH,MAAM,EAAE,EACrC;MACEkH,IAAI,CAAC5F,GAAG,CAACtF,kBAAiB,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC4E,aAAa,GAAG,GAAG,EAAE,IAAI,CAACA,aAAa,GAAG,GAAG,CAAC;AAClGuG,MAAAA,IAAI,CAAC5B,aAAa,CAACoB,GAAG,EAAE3K,kBAAiB,CAAC,YAAY,EAAE,IAAI,CAACgK,cAAc,CAAC;AAC5E,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;IAGEoB,sBAAsBA,CAACT,GAAG,GAAGO,IAAI,CAAClH,MAAM,EAAE,EAC1C;MACEkH,IAAI,CAAC5F,GAAG,CAACtF,kBAAiB,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC4E,aAAa,GAAG,GAAG,EAAE,IAAI,CAACA,aAAa,GAAG,GAAG,CAAC;AAClGuG,MAAAA,IAAI,CAAC5B,aAAa,CAACoB,GAAG,EAAE3K,kBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,uBAAuB,CAAC;AACrF,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;AAGEqL,IAAAA,yBAAyBA,GACzB;MACE,OAAO,IAAI,CAAC,uBAAuB;AACrC,IAAA;;AAEA;AACF;AACA;AACA;AAGEC,IAAAA,gBAAgBA,GAChB;MACE,OAAO,IAAI,CAAChH,eAAe;AAC7B,IAAA;;AAEA;IAGAiH,gBAAgBA,CAACC,OAAO,EACxB;MACE,IAAI,CAAClH,eAAe,GAAGkC,MAAM,CAACgF,OAAO,CAAC,GAAG,CAAC;AAC5C,IAAA;;AAEA;AAGAC,IAAAA,QAAQA,GACR;MACE,OAAO,IAAI,CAAC,MAAM;AACpB,IAAA;;AAEA;AACF;AACA;AACA;AAGEC,IAAAA,YAAYA,GACZ;MACE,OAAO,IAAI,CAAChH,EAAE;AAChB,IAAA;;AAEA;AACF;AACA;AACA;AACA;IAIEiH,gBAAgBA,CAACC,WAAW,EAC5B;AACE,MAAA,MAAMC,IAAI,GAAGD,WAAW,CAACE,KAAK,CAAC,gCAAgC,CAAC;MAChED,IAAI,CAACE,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC/B,cAAc,CAAC;AAClD6B,MAAAA,IAAI,CAACG,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,CAACnH,aAAa,EAAE,IAAI,CAACD,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvE,MAAA,OAAOiH,IAAI;AACb,IAAA;GA6BD;AA3BQ/G,EAAAA,KAAK,GAAGmH,MAAM,CAACC,MAAM,CAAC;AAC3BnH,IAAAA,aAAa,EAAE,CAAC;AAChB6B,IAAAA,YAAY,EAAE,CAAC;AACfE,IAAAA,cAAc,EAAE,CAAC;AACjBC,IAAAA,oBAAoB,EAAE,CAAC;AACvBG,IAAAA,qBAAqB,EAAE,CAAC;AACxBC,IAAAA,oBAAoB,EAAE,CAAC;AACvBE,IAAAA,cAAc,EAAE,CAAC;AACjBC,IAAAA,UAAU,EAAE;AACd,GAAC,CAAC;AAEKlB,EAAAA,gBAAgB,GAAG6F,MAAM,CAACC,MAAM,CAAC;AAAE9E,IAAAA,iBAAiB,EAAE,CAAC;AAAEK,IAAAA,WAAW,EAAE,CAAC;AAAEpB,IAAAA,QAAQ,EAAE;AAAE,GAAC,CAAC;EAEvF,eAAe,GAAG,CAAC;AACnB,EAAA,KAAK,GAAGnD,IAAI,CAACc,MAAM,EAAE;AACrB,EAAA,YAAY,GAAGkH,IAAI,CAAClH,MAAM,EAAE;AAC5B,EAAA,YAAY,GAAGd,IAAI,CAACc,MAAM,EAAE;AAC5B,EAAA,aAAa,GAAGd,IAAI,CAACc,MAAM,EAAE;AAC7B,EAAA,eAAe,GAAGd,IAAI,CAACc,MAAM,EAAE;AAC/B,EAAA,gBAAgB,GAAGd,IAAI,CAACc,MAAM,EAAE;AAChC,EAAA,cAAc,GAAGd,IAAI,CAACc,MAAM,EAAE;AAC9B,EAAA,mBAAmB,GAAGd,IAAI,CAACc,MAAM,EAAE;AACnC,EAAA,kBAAkB,GAAGd,IAAI,CAACc,MAAM,EAAE;AAClC,EAAA,iBAAiB,GAAGd,IAAI,CAACc,MAAM,EAAE;AACjC,EAAA,YAAY,GAAGd,IAAI,CAACc,MAAM,EAAE;AAC5B,EAAA,eAAe,GAAGgB,IAAI,CAAChB,MAAM,EAAE;AAC/B,EAAA,kBAAkB,GAAGiB,IAAI,CAACjB,MAAM,EAAE;EAACmI,WAAAA,GAAA;IAAA,KAAA,CAAArM,kBAAA,GAAAyC,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;AAG5C,SAASoE,OAAOA,CAACyF,KAAK,EACtB;AACE,EAAA,OAAOlH,IAAI,CAACqB,GAAG,CAAC,CAAC,EAAErB,IAAI,CAACmH,GAAG,CAAC,CAAC,EAAE7F,MAAM,CAAC4F,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD;AAEA,SAASvD,eAAeA,CAAC8B,GAAG,EAAE2B,MAAM,EAAEC,MAAM,EAC5C;AACE,EAAA,MAAMC,CAAC,GAAGF,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;AAC1B,EAAA,MAAMG,CAAC,GAAGH,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;AAC1B,EAAA,MAAMI,CAAC,GAAGJ,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;EAC1B3B,GAAG,CAAC,CAAC,CAAC,GAAG4B,MAAM,CAAC,CAAC,CAAC,GAAGC,CAAC,GAAGD,MAAM,CAAC,CAAC,CAAC,GAAGE,CAAC,GAAGF,MAAM,CAAC,CAAC,CAAC,GAAGG,CAAC;EACtD/B,GAAG,CAAC,CAAC,CAAC,GAAG4B,MAAM,CAAC,CAAC,CAAC,GAAGC,CAAC,GAAGD,MAAM,CAAC,CAAC,CAAC,GAAGE,CAAC,GAAGF,MAAM,CAAC,CAAC,CAAC,GAAGG,CAAC;EACtD/B,GAAG,CAAC,CAAC,CAAC,GAAG4B,MAAM,CAAC,CAAC,CAAC,GAAGC,CAAC,GAAGD,MAAM,CAAC,CAAC,CAAC,GAAGE,CAAC,GAAGF,MAAM,CAAC,EAAE,CAAC,GAAGG,CAAC;AACvD,EAAA,OAAO/B,GAAG;AACZ;AAEA,SAASL,aAAaA,CAACF,OAAO,EAAEH,MAAM,EACtC;EACE,IAAI,OAAOG,OAAO,EAAEuC,MAAM,KAAK,UAAU,EAAEvC,OAAO,CAACuC,MAAM,CAAC,CAAC,CAAC1C,MAAM,CAAC,CAAC,KAC/D,IAAI,OAAOG,OAAO,EAAEwC,UAAU,KAAK,UAAU,EAAExC,OAAO,CAACwC,UAAU,CAAC,CAAC,CAAC3C,MAAM,CAAC,CAAC,KAC5E,IAAIG,OAAO,EAAEA,OAAO,CAACyC,OAAO,GAAG,CAAC,CAAC5C,MAAM;AAC9C;;;;"}
@@ -6,6 +6,12 @@ import { EveTurretSet as _EveTurretSet } from '../attachment/turrets/EveTurretSe
6
6
  import { EveSpaceObject2 as _EveSpaceObject } from './EveSpaceObject2.js';
7
7
 
8
8
  let _initProto, _initClass, _init_turretSets, _init_extra_turretSets, _init_ActiveTurretCount, _init_extra_ActiveTurretCount;
9
+
10
+ /**
11
+ * A space object that carries turret sets, keeping each set bound to the hull
12
+ * locators or animated bones it fires from and tracking how many of its turrets
13
+ * are active.
14
+ */
9
15
  let _EveMobile;
10
16
  new class extends _identity {
11
17
  static [class EveMobile extends _EveSpaceObject {
@@ -22,12 +28,19 @@ new class extends _identity {
22
28
  ActiveTurretCount = (_init_extra_turretSets(this), _init_ActiveTurretCount(this, 0));
23
29
  #turretSetsLocatorInfo = (_init_extra_ActiveTurretCount(this), []);
24
30
  #turretLocatorCountingInfo = new Map();
31
+
32
+ /**
33
+ * Runs the base initialization, then seeds the turret locator counters from
34
+ * the current locators and binds every turret set to them.
35
+ */
25
36
  Initialize() {
26
37
  super.Initialize();
27
38
  this.#resetTurretLocatorCounter(true);
28
39
  this.RebuildTurretPositions();
29
40
  return true;
30
41
  }
42
+
43
+ /** Rebinds the turret sets to their locators after the turret set list changes. */
31
44
  OnListModified() {
32
45
  this.RebuildTurretPositions();
33
46
  }
@@ -55,9 +68,21 @@ new class extends _identity {
55
68
  }
56
69
  }
57
70
  }
71
+
72
+ /**
73
+ * Returns the locator index a turret slot was bound to, or 0 when the set or
74
+ * slot has no binding.
75
+ */
58
76
  GetTurretLocatorIndex(turretSetIndex, slotIndex) {
59
77
  return this.#turretSetsLocatorInfo[turretSetIndex]?.locators?.[slotIndex]?.index ?? 0;
60
78
  }
79
+
80
+ /**
81
+ * Binds each turret set to the locators or animated bones whose names extend
82
+ * its locator name, allocating sets that do not name a turret locator from the
83
+ * shared locator_turret_ pool, and pushes each matched transform into the set
84
+ * as a local turret transform up to the per-set turret limit.
85
+ */
61
86
  RebuildTurretPositions() {
62
87
  this.#turretSetsLocatorInfo.length = 0;
63
88
  this.#resetTurretLocatorCounter(false);
@@ -118,6 +143,12 @@ new class extends _identity {
118
143
  }
119
144
  return true;
120
145
  }
146
+
147
+ /**
148
+ * Counts the unbroken run of locator_turret_<n>a/b locator pairs starting at
149
+ * 1, returning 0 when the set of 'a' locators does not match the set of 'b'
150
+ * locators.
151
+ */
121
152
  GetTurretLocatorCount() {
122
153
  let foundA = 0;
123
154
  let foundB = 0;
@@ -136,9 +167,20 @@ new class extends _identity {
136
167
  }
137
168
  return count;
138
169
  }
170
+
171
+ /**
172
+ * Returns how many turret sets were past the targeting state at the last
173
+ * synchronous update.
174
+ */
139
175
  GetActiveTurretCount() {
140
176
  return this.ActiveTurretCount;
141
177
  }
178
+
179
+ /**
180
+ * Runs the base synchronous update, refreshes bone-driven turret locator
181
+ * transforms, updates every turret set against the hull transform, and
182
+ * recounts the active turrets.
183
+ */
142
184
  UpdateSyncronous(context) {
143
185
  super.UpdateSyncronous(context);
144
186
  let activeCount = 0;
@@ -159,28 +201,51 @@ new class extends _identity {
159
201
  this.ActiveTurretCount = activeCount;
160
202
  return true;
161
203
  }
204
+
205
+ /** Runs the base asynchronous update and then the turret sets. */
162
206
  UpdateAsyncronous(context) {
163
207
  super.UpdateAsyncronous(context);
164
208
  return this.UpdateTurretsAsyncronous(context);
165
209
  }
210
+
211
+ /**
212
+ * Advances every turret set's asynchronous work, handing it the hull transform
213
+ * as its parent placement.
214
+ */
166
215
  UpdateTurretsAsyncronous(context) {
167
216
  for (const turretSet of this.turretSets) turretSet?.UpdateAsyncronous?.(context, {
168
217
  transform: this.GetTurretTransform(turretSet.swarmID)
169
218
  });
170
219
  return true;
171
220
  }
221
+
222
+ /**
223
+ * Runs the base visibility pass and, while display is on, forwards visibility
224
+ * to the turret sets.
225
+ */
172
226
  UpdateVisibility(context, _parentTransform = _EveMobile.#identity) {
173
227
  const visible = super.UpdateVisibility(context, _parentTransform);
174
228
  if (!this.display) return false;
175
229
  for (const turretSet of this.turretSets) turretSet?.UpdateVisibility?.(context);
176
230
  return visible;
177
231
  }
232
+
233
+ /**
234
+ * Appends the base renderables followed by every turret set's renderables;
235
+ * nothing is appended while display is off.
236
+ */
178
237
  GetRenderables(out = []) {
179
238
  if (!this.display) return out;
180
239
  super.GetRenderables(out);
181
240
  for (const turretSet of this.turretSets) turretSet?.GetRenderables?.(out);
182
241
  return out;
183
242
  }
243
+
244
+ /**
245
+ * Returns the hull's local bounding box grown to contain every turret set's
246
+ * box; with out parameters it fills them and returns true, without them it
247
+ * returns a { min, max } object.
248
+ */
184
249
  GetLocalBoundingBox(outMin, outMax) {
185
250
  const returnObject = !outMin || !outMax;
186
251
  outMin ??= vec3.create();
@@ -198,24 +263,46 @@ new class extends _identity {
198
263
  max: outMax
199
264
  } : true;
200
265
  }
266
+
267
+ /** Sets a controller variable on the hull and forwards it to every turret set. */
201
268
  SetControllerVariable(name, value) {
202
269
  super.SetControllerVariable(name, value);
203
270
  for (const turretSet of this.turretSets) turretSet?.SetControllerVariable?.(name, value);
204
271
  }
272
+
273
+ /** Raises a controller event on the hull and forwards it to every turret set. */
205
274
  HandleControllerEvent(name) {
206
275
  super.HandleControllerEvent(name);
207
276
  for (const turretSet of this.turretSets) turretSet?.HandleControllerEvent?.(name);
208
277
  }
278
+
279
+ /** Starts the hull's controllers and every turret set's controllers. */
209
280
  StartControllers() {
210
281
  super.StartControllers();
211
282
  for (const turretSet of this.turretSets) turretSet?.StartControllers?.();
212
283
  }
284
+
285
+ /**
286
+ * Children, turret sets and boosters are shown only while activation strength
287
+ * is above 0.5.
288
+ */
213
289
  DisplayChildren() {
214
290
  return this.activationStrength > 0.5;
215
291
  }
292
+
293
+ /**
294
+ * Returns the parent transform turret sets are placed against - the live hull
295
+ * world transform, regardless of swarm index.
296
+ */
216
297
  GetTurretTransform(_turretSetIndex = 0) {
217
298
  return this.worldTransform;
218
299
  }
300
+
301
+ /**
302
+ * Rebuilds the per-name-prefix counters that allocate turret sets to numbered
303
+ * locators, resetting each prefix's running count and, when asked, recomputing
304
+ * its total from the digit that follows the prefix.
305
+ */
219
306
  #resetTurretLocatorCounter(updateTotal) {
220
307
  for (const record of this.#locatorRecords()) {
221
308
  const separator = record.name.lastIndexOf("_");
@@ -235,6 +322,11 @@ new class extends _identity {
235
322
  }
236
323
  }
237
324
  }
325
+
326
+ /**
327
+ * Returns the next locator number to allocate for a name prefix together with
328
+ * that prefix's total, or null when the prefix is unknown.
329
+ */
238
330
  #getTurretLocatorCountingInfo(name) {
239
331
  const info = this.#turretLocatorCountingInfo.get(name);
240
332
  return info ? {
@@ -242,6 +334,12 @@ new class extends _identity {
242
334
  total: info.totalCount
243
335
  } : null;
244
336
  }
337
+
338
+ /**
339
+ * Builds the name-keyed list of authored locators and animation-updater bones
340
+ * that turret binding searches; a bone whose name is already taken by a
341
+ * locator is skipped.
342
+ */
245
343
  #locatorRecords() {
246
344
  const records = [];
247
345
  for (let index = 0; index < this.locators.length; index++) {
@@ -268,6 +366,12 @@ new class extends _identity {
268
366
  }
269
367
  return records;
270
368
  }
369
+
370
+ /**
371
+ * Copies a locator record's transform into the caller-owned out matrix - the
372
+ * animated bone world transform for bone records, the authored transform for
373
+ * locator records - and returns null when neither is available.
374
+ */
271
375
  #getLocatorRecordTransform(record, out) {
272
376
  if (record.type === "bone") {
273
377
  const value = this.animationUpdater?.GetBoneWorldTransform?.(record.name, out) ?? this.animationUpdater?.GetBoneTransform?.(record.index, out);
@@ -1 +1 @@
1
- {"version":3,"file":"EveMobile.js","sources":["../../../../src/eve/spaceObject/EveMobile.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\EveMobile.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\EveMobile.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveTurretSet } from \"../attachment/turrets/EveTurretSet.js\";\r\nimport { EveSpaceObject2 } from \"./EveSpaceObject2.js\";\r\n\r\n\r\n@type.define({ className: \"EveMobile\", family: \"eve/spaceObject\" })\r\nexport class EveMobile extends EveSpaceObject2\r\n{\r\n @io.notify\r\n @io.persist\r\n @type.list(\"EveTurretSet\")\r\n turretSets = [];\r\n\r\n @io.read\r\n @type.uint32\r\n ActiveTurretCount = 0;\r\n\r\n #turretSetsLocatorInfo = [];\r\n #turretLocatorCountingInfo = new Map();\r\n\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n super.Initialize();\r\n this.#resetTurretLocatorCounter(true);\r\n this.RebuildTurretPositions();\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"List notifications are represented by a direct browser callback; registry ownership remains runtime-engine work.\")\r\n OnListModified()\r\n {\r\n this.RebuildTurretPositions();\r\n }\r\n\r\n /** Carbon EveMobile::RegisterComponents (cpp:109-120): base registration,\r\n * then forwards the turret sets. Gate m_display. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n super.RegisterComponents();\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.display)\r\n {\r\n for (const turretSet of this.turretSets)\r\n {\r\n turretSet?.Register?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveMobile::UnRegisterComponents (cpp:126-138): base, then forwards\r\n * the turret sets without re-checking display. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n super.UnRegisterComponents();\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const turretSet of this.turretSets)\r\n {\r\n turretSet?.UnRegister?.(registry);\r\n }\r\n }\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetTurretLocatorIndex(turretSetIndex, slotIndex)\r\n {\r\n return this.#turretSetsLocatorInfo[turretSetIndex]?.locators?.[slotIndex]?.index ?? 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Authored EveLocator2 transforms and optional animation-updater bone transforms replace Carbon's locator-type pointer surface.\")\r\n RebuildTurretPositions()\r\n {\r\n this.#turretSetsLocatorInfo.length = 0;\r\n this.#resetTurretLocatorCounter(false);\r\n const records = this.#locatorRecords();\r\n for (const turretSet of this.turretSets)\r\n {\r\n if (!turretSet) continue;\r\n let name = String(turretSet.locatorName ?? \"\");\r\n let turretInName = name.includes(\"_turret_\");\r\n let locatorNumber = 0;\r\n if (!turretInName)\r\n {\r\n let counting = this.#getTurretLocatorCountingInfo(name);\r\n if (!counting)\r\n {\r\n name = \"locator_turret_\";\r\n counting = this.#getTurretLocatorCountingInfo(name);\r\n turretInName = true;\r\n }\r\n if (!counting)\r\n {\r\n this.#turretSetsLocatorInfo.push({ type: \"none\", locators: [] });\r\n continue;\r\n }\r\n locatorNumber = counting.current;\r\n if (locatorNumber > counting.total)\r\n {\r\n if (!turretInName)\r\n {\r\n name = \"locator_turret_\";\r\n counting = this.#getTurretLocatorCountingInfo(name);\r\n turretInName = true;\r\n }\r\n if (!counting || counting.current > counting.total)\r\n {\r\n this.#turretSetsLocatorInfo.push({ type: \"none\", locators: [] });\r\n continue;\r\n }\r\n locatorNumber = counting.current;\r\n }\r\n }\r\n if (turretInName) locatorNumber = Number(turretSet.slotNumber) | 0;\r\n const baseName = `${name}${locatorNumber}`;\r\n const matched = records\r\n .filter(record => record.name.startsWith(baseName))\r\n .sort((a, b) => a.name.localeCompare(b.name));\r\n const locatorInfo = { type: matched.some(record => record.type === \"bone\") ? \"bone\" : \"locator\", locators: [] };\r\n for (let index = 0; index < matched.length && index < EveTurretSet.MAX_TURRETS_PER_SET; index++)\r\n {\r\n const record = matched[index];\r\n const transform = this.#getLocatorRecordTransform(record, EveMobile.#locatorTransform);\r\n if (!transform) continue;\r\n turretSet.SetLocalTransform?.(index, transform);\r\n locatorInfo.locators.push(record);\r\n }\r\n this.#turretSetsLocatorInfo.push(locatorInfo);\r\n const counter = this.#turretLocatorCountingInfo.get(name);\r\n if (counter) counter.currentCount++;\r\n }\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetTurretLocatorCount()\r\n {\r\n let foundA = 0;\r\n let foundB = 0;\r\n for (const record of this.#locatorRecords())\r\n {\r\n const match = /^locator_turret_(\\d+)([ab])$/.exec(record.name);\r\n if (!match) continue;\r\n const index = Number(match[1]);\r\n if (!(index > 0 && index <= 32)) continue;\r\n if (match[2] === \"a\") foundA |= 1 << (index - 1);\r\n else foundB |= 1 << (index - 1);\r\n }\r\n if (foundA !== foundB && foundB) return 0;\r\n let count = 0;\r\n while (foundA & 1)\r\n {\r\n count++;\r\n foundA >>>= 1;\r\n }\r\n return count;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetActiveTurretCount()\r\n {\r\n return this.ActiveTurretCount;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Animated locator transforms use an optional animation-updater bone contract; all turret state updates remain in Trinity.\")\r\n UpdateSyncronous(context)\r\n {\r\n super.UpdateSyncronous(context);\r\n let activeCount = 0;\r\n for (let setIndex = 0; setIndex < this.turretSets.length; setIndex++)\r\n {\r\n const turretSet = this.turretSets[setIndex];\r\n if (!turretSet) continue;\r\n if (turretSet.state > EveTurretSet.State.STATE_TARGETING) activeCount++;\r\n const locatorInfo = this.#turretSetsLocatorInfo[setIndex];\r\n if (locatorInfo?.type === \"bone\")\r\n {\r\n for (let turretIndex = 0; turretIndex < locatorInfo.locators.length; turretIndex++)\r\n {\r\n const transform = this.#getLocatorRecordTransform(locatorInfo.locators[turretIndex], EveMobile.#locatorTransform);\r\n if (transform) turretSet.SetLocalTransform?.(turretIndex, transform);\r\n }\r\n turretSet.UpdateTurretTransforms?.(this.GetTurretTransform(turretSet.swarmID));\r\n }\r\n turretSet.UpdateSyncronous?.(context, this.GetTurretTransform(turretSet.swarmID));\r\n }\r\n this.ActiveTurretCount = activeCount;\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n UpdateAsyncronous(context)\r\n {\r\n super.UpdateAsyncronous(context);\r\n return this.UpdateTurretsAsyncronous(context);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's native ParentData constant buffers collapse to the portable parent transform required by turret graph updates.\")\r\n UpdateTurretsAsyncronous(context)\r\n {\r\n for (const turretSet of this.turretSets) turretSet?.UpdateAsyncronous?.(context, { transform: this.GetTurretTransform(turretSet.swarmID) });\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(context, _parentTransform = EveMobile.#identity)\r\n {\r\n const visible = super.UpdateVisibility(context, _parentTransform);\r\n if (!this.display) return false;\r\n for (const turretSet of this.turretSets) turretSet?.UpdateVisibility?.(context);\r\n return visible;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n if (!this.display) return out;\r\n super.GetRenderables(out);\r\n for (const turretSet of this.turretSets) turretSet?.GetRenderables?.(out);\r\n return out;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalBoundingBox(outMin, outMax)\r\n {\r\n const returnObject = !outMin || !outMax;\r\n outMin ??= vec3.create();\r\n outMax ??= vec3.create();\r\n const result = super.GetLocalBoundingBox(outMin, outMax);\r\n if (result === false) return false;\r\n for (const turretSet of this.turretSets)\r\n {\r\n if (turretSet?.GetLocalBoundingBox?.(EveMobile.#boundsMin, EveMobile.#boundsMax))\r\n {\r\n vec3.min(outMin, outMin, EveMobile.#boundsMin);\r\n vec3.max(outMax, outMax, EveMobile.#boundsMax);\r\n }\r\n }\r\n return returnObject ? { min: outMin, max: outMax } : true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetControllerVariable(name, value)\r\n {\r\n super.SetControllerVariable(name, value);\r\n for (const turretSet of this.turretSets) turretSet?.SetControllerVariable?.(name, value);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n HandleControllerEvent(name)\r\n {\r\n super.HandleControllerEvent(name);\r\n for (const turretSet of this.turretSets) turretSet?.HandleControllerEvent?.(name);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n StartControllers()\r\n {\r\n super.StartControllers();\r\n for (const turretSet of this.turretSets) turretSet?.StartControllers?.();\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n DisplayChildren()\r\n {\r\n return this.activationStrength > 0.5;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetTurretTransform(_turretSetIndex = 0)\r\n {\r\n return this.worldTransform;\r\n }\r\n\r\n #resetTurretLocatorCounter(updateTotal)\r\n {\r\n for (const record of this.#locatorRecords())\r\n {\r\n const separator = record.name.lastIndexOf(\"_\");\r\n if (separator < 0) continue;\r\n const prefix = record.name.slice(0, separator + 1);\r\n let info = this.#turretLocatorCountingInfo.get(prefix);\r\n if (!info)\r\n {\r\n info = { currentCount: 0, totalCount: 0 };\r\n this.#turretLocatorCountingInfo.set(prefix, info);\r\n }\r\n else info.currentCount = 0;\r\n if (updateTotal)\r\n {\r\n const number = Number.parseInt(record.name.slice(separator + 1, separator + 2), 10) || 0;\r\n info.totalCount = Math.max(info.totalCount, number);\r\n }\r\n }\r\n }\r\n\r\n #getTurretLocatorCountingInfo(name)\r\n {\r\n const info = this.#turretLocatorCountingInfo.get(name);\r\n return info ? { current: info.currentCount + 1, total: info.totalCount } : null;\r\n }\r\n\r\n #locatorRecords()\r\n {\r\n const records = [];\r\n for (let index = 0; index < this.locators.length; index++)\r\n {\r\n const locator = this.locators[index];\r\n const name = String(locator?.GetName?.() ?? locator?.name ?? \"\");\r\n if (name) records.push({ name, type: \"locator\", index, value: locator });\r\n }\r\n const updater = this.animationUpdater;\r\n const names = updater?.GetBoneNames?.() ?? updater?.boneNames ?? updater?.GetSkeleton?.()?.bones ?? updater?.skeleton?.bones ?? [];\r\n for (let index = 0; index < names.length; index++)\r\n {\r\n const value = names[index];\r\n const name = String(value?.name ?? value ?? \"\");\r\n if (name && !records.some(record => record.name === name)) records.push({ name, type: \"bone\", index, value });\r\n }\r\n return records;\r\n }\r\n\r\n #getLocatorRecordTransform(record, out)\r\n {\r\n if (record.type === \"bone\")\r\n {\r\n const value = this.animationUpdater?.GetBoneWorldTransform?.(record.name, out)\r\n ?? this.animationUpdater?.GetBoneTransform?.(record.index, out);\r\n if (value === false || value === null || value === undefined) return null;\r\n if (value?.length === 16 && value !== out) mat4.copy(out, value);\r\n return out;\r\n }\r\n const value = record.value?.GetTransform?.() ?? record.value?.transform;\r\n return value?.length === 16 ? mat4.copy(out, value) : null;\r\n }\r\n\r\n static #identity = mat4.create();\r\n static #locatorTransform = mat4.create();\r\n static #boundsMin = vec3.create();\r\n static #boundsMax = vec3.create();\r\n}\r\n"],"names":["_EveMobile","_identity","EveMobile","EveSpaceObject2","e","_init_turretSets","_init_extra_turretSets","_init_ActiveTurretCount","_init_extra_ActiveTurretCount","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","list","read","uint32","carbon","method","impl","implemented","adapted","reason","turretSets","ActiveTurretCount","Map","Initialize","RebuildTurretPositions","OnListModified","RegisterComponents","registry","GetComponentRegistry","display","turretSet","Register","UnRegisterComponents","UnRegister","GetTurretLocatorIndex","turretSetIndex","slotIndex","locators","index","length","records","name","String","locatorName","turretInName","includes","locatorNumber","counting","push","current","total","Number","slotNumber","baseName","matched","filter","record","startsWith","sort","a","b","localeCompare","locatorInfo","some","EveTurretSet","MAX_TURRETS_PER_SET","transform","SetLocalTransform","counter","get","currentCount","GetTurretLocatorCount","foundA","foundB","match","exec","count","GetActiveTurretCount","UpdateSyncronous","context","activeCount","setIndex","state","State","STATE_TARGETING","turretIndex","UpdateTurretTransforms","GetTurretTransform","swarmID","UpdateAsyncronous","UpdateTurretsAsyncronous","UpdateVisibility","_parentTransform","visible","GetRenderables","out","GetLocalBoundingBox","outMin","outMax","returnObject","vec3","create","result","min","max","SetControllerVariable","value","HandleControllerEvent","StartControllers","DisplayChildren","activationStrength","_turretSetIndex","worldTransform","#resetTurretLocatorCounter","updateTotal","separator","lastIndexOf","prefix","slice","info","totalCount","set","number","parseInt","Math","#getTurretLocatorCountingInfo","#locatorRecords","locator","GetName","updater","animationUpdater","names","GetBoneNames","boneNames","GetSkeleton","bones","skeleton","#getLocatorRecordTransform","GetBoneWorldTransform","GetBoneTransform","undefined","mat4","copy","GetTransform","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"EveMobile.js","sources":["../../../../src/eve/spaceObject/EveMobile.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\EveMobile.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\EveMobile.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveTurretSet } from \"../attachment/turrets/EveTurretSet.js\";\r\nimport { EveSpaceObject2 } from \"./EveSpaceObject2.js\";\r\n\r\n\r\n/**\r\n * A space object that carries turret sets, keeping each set bound to the hull\r\n * locators or animated bones it fires from and tracking how many of its turrets\r\n * are active.\r\n */\r\n@type.define({ className: \"EveMobile\", family: \"eve/spaceObject\" })\r\nexport class EveMobile extends EveSpaceObject2\r\n{\r\n @io.notify\r\n @io.persist\r\n @type.list(\"EveTurretSet\")\r\n turretSets = [];\r\n\r\n @io.read\r\n @type.uint32\r\n ActiveTurretCount = 0;\r\n\r\n #turretSetsLocatorInfo = [];\r\n #turretLocatorCountingInfo = new Map();\r\n\r\n /**\r\n * Runs the base initialization, then seeds the turret locator counters from\r\n * the current locators and binds every turret set to them.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n super.Initialize();\r\n this.#resetTurretLocatorCounter(true);\r\n this.RebuildTurretPositions();\r\n return true;\r\n }\r\n\r\n /** Rebinds the turret sets to their locators after the turret set list changes. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"List notifications are represented by a direct browser callback; registry ownership remains runtime-engine work.\")\r\n OnListModified()\r\n {\r\n this.RebuildTurretPositions();\r\n }\r\n\r\n /** Carbon EveMobile::RegisterComponents (cpp:109-120): base registration,\r\n * then forwards the turret sets. Gate m_display. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n super.RegisterComponents();\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.display)\r\n {\r\n for (const turretSet of this.turretSets)\r\n {\r\n turretSet?.Register?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveMobile::UnRegisterComponents (cpp:126-138): base, then forwards\r\n * the turret sets without re-checking display. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n super.UnRegisterComponents();\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const turretSet of this.turretSets)\r\n {\r\n turretSet?.UnRegister?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Returns the locator index a turret slot was bound to, or 0 when the set or\r\n * slot has no binding.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTurretLocatorIndex(turretSetIndex, slotIndex)\r\n {\r\n return this.#turretSetsLocatorInfo[turretSetIndex]?.locators?.[slotIndex]?.index ?? 0;\r\n }\r\n\r\n /**\r\n * Binds each turret set to the locators or animated bones whose names extend\r\n * its locator name, allocating sets that do not name a turret locator from the\r\n * shared locator_turret_ pool, and pushes each matched transform into the set\r\n * as a local turret transform up to the per-set turret limit.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Authored EveLocator2 transforms and optional animation-updater bone transforms replace Carbon's locator-type pointer surface.\")\r\n RebuildTurretPositions()\r\n {\r\n this.#turretSetsLocatorInfo.length = 0;\r\n this.#resetTurretLocatorCounter(false);\r\n const records = this.#locatorRecords();\r\n for (const turretSet of this.turretSets)\r\n {\r\n if (!turretSet) continue;\r\n let name = String(turretSet.locatorName ?? \"\");\r\n let turretInName = name.includes(\"_turret_\");\r\n let locatorNumber = 0;\r\n if (!turretInName)\r\n {\r\n let counting = this.#getTurretLocatorCountingInfo(name);\r\n if (!counting)\r\n {\r\n name = \"locator_turret_\";\r\n counting = this.#getTurretLocatorCountingInfo(name);\r\n turretInName = true;\r\n }\r\n if (!counting)\r\n {\r\n this.#turretSetsLocatorInfo.push({ type: \"none\", locators: [] });\r\n continue;\r\n }\r\n locatorNumber = counting.current;\r\n if (locatorNumber > counting.total)\r\n {\r\n if (!turretInName)\r\n {\r\n name = \"locator_turret_\";\r\n counting = this.#getTurretLocatorCountingInfo(name);\r\n turretInName = true;\r\n }\r\n if (!counting || counting.current > counting.total)\r\n {\r\n this.#turretSetsLocatorInfo.push({ type: \"none\", locators: [] });\r\n continue;\r\n }\r\n locatorNumber = counting.current;\r\n }\r\n }\r\n if (turretInName) locatorNumber = Number(turretSet.slotNumber) | 0;\r\n const baseName = `${name}${locatorNumber}`;\r\n const matched = records\r\n .filter(record => record.name.startsWith(baseName))\r\n .sort((a, b) => a.name.localeCompare(b.name));\r\n const locatorInfo = { type: matched.some(record => record.type === \"bone\") ? \"bone\" : \"locator\", locators: [] };\r\n for (let index = 0; index < matched.length && index < EveTurretSet.MAX_TURRETS_PER_SET; index++)\r\n {\r\n const record = matched[index];\r\n const transform = this.#getLocatorRecordTransform(record, EveMobile.#locatorTransform);\r\n if (!transform) continue;\r\n turretSet.SetLocalTransform?.(index, transform);\r\n locatorInfo.locators.push(record);\r\n }\r\n this.#turretSetsLocatorInfo.push(locatorInfo);\r\n const counter = this.#turretLocatorCountingInfo.get(name);\r\n if (counter) counter.currentCount++;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Counts the unbroken run of locator_turret_<n>a/b locator pairs starting at\r\n * 1, returning 0 when the set of 'a' locators does not match the set of 'b'\r\n * locators.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTurretLocatorCount()\r\n {\r\n let foundA = 0;\r\n let foundB = 0;\r\n for (const record of this.#locatorRecords())\r\n {\r\n const match = /^locator_turret_(\\d+)([ab])$/.exec(record.name);\r\n if (!match) continue;\r\n const index = Number(match[1]);\r\n if (!(index > 0 && index <= 32)) continue;\r\n if (match[2] === \"a\") foundA |= 1 << (index - 1);\r\n else foundB |= 1 << (index - 1);\r\n }\r\n if (foundA !== foundB && foundB) return 0;\r\n let count = 0;\r\n while (foundA & 1)\r\n {\r\n count++;\r\n foundA >>>= 1;\r\n }\r\n return count;\r\n }\r\n\r\n /**\r\n * Returns how many turret sets were past the targeting state at the last\r\n * synchronous update.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetActiveTurretCount()\r\n {\r\n return this.ActiveTurretCount;\r\n }\r\n\r\n /**\r\n * Runs the base synchronous update, refreshes bone-driven turret locator\r\n * transforms, updates every turret set against the hull transform, and\r\n * recounts the active turrets.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Animated locator transforms use an optional animation-updater bone contract; all turret state updates remain in Trinity.\")\r\n UpdateSyncronous(context)\r\n {\r\n super.UpdateSyncronous(context);\r\n let activeCount = 0;\r\n for (let setIndex = 0; setIndex < this.turretSets.length; setIndex++)\r\n {\r\n const turretSet = this.turretSets[setIndex];\r\n if (!turretSet) continue;\r\n if (turretSet.state > EveTurretSet.State.STATE_TARGETING) activeCount++;\r\n const locatorInfo = this.#turretSetsLocatorInfo[setIndex];\r\n if (locatorInfo?.type === \"bone\")\r\n {\r\n for (let turretIndex = 0; turretIndex < locatorInfo.locators.length; turretIndex++)\r\n {\r\n const transform = this.#getLocatorRecordTransform(locatorInfo.locators[turretIndex], EveMobile.#locatorTransform);\r\n if (transform) turretSet.SetLocalTransform?.(turretIndex, transform);\r\n }\r\n turretSet.UpdateTurretTransforms?.(this.GetTurretTransform(turretSet.swarmID));\r\n }\r\n turretSet.UpdateSyncronous?.(context, this.GetTurretTransform(turretSet.swarmID));\r\n }\r\n this.ActiveTurretCount = activeCount;\r\n return true;\r\n }\r\n\r\n /** Runs the base asynchronous update and then the turret sets. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateAsyncronous(context)\r\n {\r\n super.UpdateAsyncronous(context);\r\n return this.UpdateTurretsAsyncronous(context);\r\n }\r\n\r\n /**\r\n * Advances every turret set's asynchronous work, handing it the hull transform\r\n * as its parent placement.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's native ParentData constant buffers collapse to the portable parent transform required by turret graph updates.\")\r\n UpdateTurretsAsyncronous(context)\r\n {\r\n for (const turretSet of this.turretSets) turretSet?.UpdateAsyncronous?.(context, { transform: this.GetTurretTransform(turretSet.swarmID) });\r\n return true;\r\n }\r\n\r\n /**\r\n * Runs the base visibility pass and, while display is on, forwards visibility\r\n * to the turret sets.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(context, _parentTransform = EveMobile.#identity)\r\n {\r\n const visible = super.UpdateVisibility(context, _parentTransform);\r\n if (!this.display) return false;\r\n for (const turretSet of this.turretSets) turretSet?.UpdateVisibility?.(context);\r\n return visible;\r\n }\r\n\r\n /**\r\n * Appends the base renderables followed by every turret set's renderables;\r\n * nothing is appended while display is off.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n if (!this.display) return out;\r\n super.GetRenderables(out);\r\n for (const turretSet of this.turretSets) turretSet?.GetRenderables?.(out);\r\n return out;\r\n }\r\n\r\n /**\r\n * Returns the hull's local bounding box grown to contain every turret set's\r\n * box; with out parameters it fills them and returns true, without them it\r\n * returns a { min, max } object.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalBoundingBox(outMin, outMax)\r\n {\r\n const returnObject = !outMin || !outMax;\r\n outMin ??= vec3.create();\r\n outMax ??= vec3.create();\r\n const result = super.GetLocalBoundingBox(outMin, outMax);\r\n if (result === false) return false;\r\n for (const turretSet of this.turretSets)\r\n {\r\n if (turretSet?.GetLocalBoundingBox?.(EveMobile.#boundsMin, EveMobile.#boundsMax))\r\n {\r\n vec3.min(outMin, outMin, EveMobile.#boundsMin);\r\n vec3.max(outMax, outMax, EveMobile.#boundsMax);\r\n }\r\n }\r\n return returnObject ? { min: outMin, max: outMax } : true;\r\n }\r\n\r\n /** Sets a controller variable on the hull and forwards it to every turret set. */\r\n @carbon.method\r\n @impl.implemented\r\n SetControllerVariable(name, value)\r\n {\r\n super.SetControllerVariable(name, value);\r\n for (const turretSet of this.turretSets) turretSet?.SetControllerVariable?.(name, value);\r\n }\r\n\r\n /** Raises a controller event on the hull and forwards it to every turret set. */\r\n @carbon.method\r\n @impl.implemented\r\n HandleControllerEvent(name)\r\n {\r\n super.HandleControllerEvent(name);\r\n for (const turretSet of this.turretSets) turretSet?.HandleControllerEvent?.(name);\r\n }\r\n\r\n /** Starts the hull's controllers and every turret set's controllers. */\r\n @carbon.method\r\n @impl.implemented\r\n StartControllers()\r\n {\r\n super.StartControllers();\r\n for (const turretSet of this.turretSets) turretSet?.StartControllers?.();\r\n }\r\n\r\n /**\r\n * Children, turret sets and boosters are shown only while activation strength\r\n * is above 0.5.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n DisplayChildren()\r\n {\r\n return this.activationStrength > 0.5;\r\n }\r\n\r\n /**\r\n * Returns the parent transform turret sets are placed against - the live hull\r\n * world transform, regardless of swarm index.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTurretTransform(_turretSetIndex = 0)\r\n {\r\n return this.worldTransform;\r\n }\r\n\r\n /**\r\n * Rebuilds the per-name-prefix counters that allocate turret sets to numbered\r\n * locators, resetting each prefix's running count and, when asked, recomputing\r\n * its total from the digit that follows the prefix.\r\n */\r\n #resetTurretLocatorCounter(updateTotal)\r\n {\r\n for (const record of this.#locatorRecords())\r\n {\r\n const separator = record.name.lastIndexOf(\"_\");\r\n if (separator < 0) continue;\r\n const prefix = record.name.slice(0, separator + 1);\r\n let info = this.#turretLocatorCountingInfo.get(prefix);\r\n if (!info)\r\n {\r\n info = { currentCount: 0, totalCount: 0 };\r\n this.#turretLocatorCountingInfo.set(prefix, info);\r\n }\r\n else info.currentCount = 0;\r\n if (updateTotal)\r\n {\r\n const number = Number.parseInt(record.name.slice(separator + 1, separator + 2), 10) || 0;\r\n info.totalCount = Math.max(info.totalCount, number);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Returns the next locator number to allocate for a name prefix together with\r\n * that prefix's total, or null when the prefix is unknown.\r\n */\r\n #getTurretLocatorCountingInfo(name)\r\n {\r\n const info = this.#turretLocatorCountingInfo.get(name);\r\n return info ? { current: info.currentCount + 1, total: info.totalCount } : null;\r\n }\r\n\r\n /**\r\n * Builds the name-keyed list of authored locators and animation-updater bones\r\n * that turret binding searches; a bone whose name is already taken by a\r\n * locator is skipped.\r\n */\r\n #locatorRecords()\r\n {\r\n const records = [];\r\n for (let index = 0; index < this.locators.length; index++)\r\n {\r\n const locator = this.locators[index];\r\n const name = String(locator?.GetName?.() ?? locator?.name ?? \"\");\r\n if (name) records.push({ name, type: \"locator\", index, value: locator });\r\n }\r\n const updater = this.animationUpdater;\r\n const names = updater?.GetBoneNames?.() ?? updater?.boneNames ?? updater?.GetSkeleton?.()?.bones ?? updater?.skeleton?.bones ?? [];\r\n for (let index = 0; index < names.length; index++)\r\n {\r\n const value = names[index];\r\n const name = String(value?.name ?? value ?? \"\");\r\n if (name && !records.some(record => record.name === name)) records.push({ name, type: \"bone\", index, value });\r\n }\r\n return records;\r\n }\r\n\r\n /**\r\n * Copies a locator record's transform into the caller-owned out matrix - the\r\n * animated bone world transform for bone records, the authored transform for\r\n * locator records - and returns null when neither is available.\r\n */\r\n #getLocatorRecordTransform(record, out)\r\n {\r\n if (record.type === \"bone\")\r\n {\r\n const value = this.animationUpdater?.GetBoneWorldTransform?.(record.name, out)\r\n ?? this.animationUpdater?.GetBoneTransform?.(record.index, out);\r\n if (value === false || value === null || value === undefined) return null;\r\n if (value?.length === 16 && value !== out) mat4.copy(out, value);\r\n return out;\r\n }\r\n const value = record.value?.GetTransform?.() ?? record.value?.transform;\r\n return value?.length === 16 ? mat4.copy(out, value) : null;\r\n }\r\n\r\n static #identity = mat4.create();\r\n static #locatorTransform = mat4.create();\r\n static #boundsMin = vec3.create();\r\n static #boundsMax = vec3.create();\r\n}\r\n"],"names":["_EveMobile","_identity","EveMobile","EveSpaceObject2","e","_init_turretSets","_init_extra_turretSets","_init_ActiveTurretCount","_init_extra_ActiveTurretCount","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","list","read","uint32","carbon","method","impl","implemented","adapted","reason","turretSets","ActiveTurretCount","Map","Initialize","RebuildTurretPositions","OnListModified","RegisterComponents","registry","GetComponentRegistry","display","turretSet","Register","UnRegisterComponents","UnRegister","GetTurretLocatorIndex","turretSetIndex","slotIndex","locators","index","length","records","name","String","locatorName","turretInName","includes","locatorNumber","counting","push","current","total","Number","slotNumber","baseName","matched","filter","record","startsWith","sort","a","b","localeCompare","locatorInfo","some","EveTurretSet","MAX_TURRETS_PER_SET","transform","SetLocalTransform","counter","get","currentCount","GetTurretLocatorCount","foundA","foundB","match","exec","count","GetActiveTurretCount","UpdateSyncronous","context","activeCount","setIndex","state","State","STATE_TARGETING","turretIndex","UpdateTurretTransforms","GetTurretTransform","swarmID","UpdateAsyncronous","UpdateTurretsAsyncronous","UpdateVisibility","_parentTransform","visible","GetRenderables","out","GetLocalBoundingBox","outMin","outMax","returnObject","vec3","create","result","min","max","SetControllerVariable","value","HandleControllerEvent","StartControllers","DisplayChildren","activationStrength","_turretSetIndex","worldTransform","#resetTurretLocatorCounter","updateTotal","separator","lastIndexOf","prefix","slice","info","totalCount","set","number","parseInt","Math","#getTurretLocatorCountingInfo","#locatorRecords","locator","GetName","updater","animationUpdater","names","GetBoneNames","boneNames","GetSkeleton","bones","skeleton","#getLocatorRecordTransform","GetBoneWorldTransform","GetBoneTransform","undefined","mat4","copy","GetTransform","constructor"],"mappings":"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"}
@@ -6,6 +6,11 @@ import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
6
6
  import { EveTransform as _EveTransform } from './EveTransform.js';
7
7
 
8
8
  let _initProto, _initClass, _init_boundingSphereRadius, _init_extra_boundingSphereRadius, _init_rotationCurve, _init_extra_rotationCurve, _init_modelTranslationCurve, _init_extra_modelTranslationCurve, _init_modelRotationCurve, _init_extra_modelRotationCurve, _init_translationCurve, _init_extra_translationCurve;
9
+
10
+ /**
11
+ * A detached transform root whose own ball and model curves drive its matrix and
12
+ * which stands in as a single targetable point for missiles and impacts.
13
+ */
9
14
  let _EveRootTransform;
10
15
  new class extends _identity {
11
16
  static [class EveRootTransform extends _EveTransform {
@@ -142,6 +147,18 @@ new class extends _identity {
142
147
  GetBoundingSphereRadius() {
143
148
  return this.boundingSphereRadius;
144
149
  }
150
+
151
+ /**
152
+ * Reads a numeric value from the update context, preferring a getter method
153
+ * and falling back to the named properties, and yields 0 when nothing supplies
154
+ * it.
155
+ */
156
+
157
+ /**
158
+ * Samples a curve into out through whichever of Update or GetValueAt it
159
+ * exposes, writing the fallback when there is no curve and copying back curves
160
+ * that return a new array instead of filling out.
161
+ */
145
162
  }];
146
163
  #GetContextValue(context, methodName, ...propertyNames) {
147
164
  const method = context?.[methodName];