@carbonenginejs/runtime-trinity 0.4.0 → 0.5.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 (966) hide show
  1. package/README.md +139 -7
  2. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +1 -1
  3. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  4. package/dist/controllers/Tr2BindingPoint.js +1 -1
  5. package/dist/controllers/Tr2BindingPoint.js.map +1 -1
  6. package/dist/controllers/Tr2ControllerExpression.js +7 -7
  7. package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
  8. package/dist/curves/CjsGrannyCurves.js +119 -5
  9. package/dist/curves/CjsGrannyCurves.js.map +1 -1
  10. package/dist/curves/Tr2BoneMatrixCurve.js +59 -4
  11. package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
  12. package/dist/curves/Tr2CurveRandomAxisRotation.js +4 -3
  13. package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
  14. package/dist/curves/Tr2GrannyTrack.js +1 -1
  15. package/dist/curves/Tr2GrannyTrack.js.map +1 -1
  16. package/dist/curves/Tr2MatrixKey.js +1 -1
  17. package/dist/curves/Tr2MatrixKey.js.map +1 -1
  18. package/dist/curves/Tr2ScalarExprKey.js +106 -103
  19. package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
  20. package/dist/curves/TriColorSequencer.js +86 -0
  21. package/dist/curves/TriColorSequencer.js.map +1 -0
  22. package/dist/curves/TriEventCurve.js +1 -1
  23. package/dist/curves/TriEventCurve.js.map +1 -1
  24. package/dist/curves/TriPerlinCurve.js +2 -49
  25. package/dist/curves/TriPerlinCurve.js.map +1 -1
  26. package/dist/curves/TriVectorSequencer.js +103 -0
  27. package/dist/curves/TriVectorSequencer.js.map +1 -0
  28. package/dist/curves/index.js +2 -0
  29. package/dist/curves/index.js.map +1 -1
  30. package/dist/eve/AudioGameObject.js +121 -0
  31. package/dist/eve/AudioGameObject.js.map +1 -0
  32. package/dist/eve/CjsDistributionRandom.js +39 -0
  33. package/dist/eve/CjsDistributionRandom.js.map +1 -0
  34. package/dist/eve/EveBannerItem.js +6 -2
  35. package/dist/eve/EveBannerItem.js.map +1 -1
  36. package/dist/eve/EveBannerLight.js +9 -12
  37. package/dist/eve/EveBannerLight.js.map +1 -1
  38. package/dist/eve/EveBannerSet.js +21 -1
  39. package/dist/eve/EveBannerSet.js.map +1 -1
  40. package/dist/eve/EveBoosterSet2.js +20 -2
  41. package/dist/eve/EveBoosterSet2.js.map +1 -1
  42. package/dist/eve/EveComponentTypes.js +116 -0
  43. package/dist/eve/EveComponentTypes.js.map +1 -0
  44. package/dist/eve/EveHazeSet.js +19 -1
  45. package/dist/eve/EveHazeSet.js.map +1 -1
  46. package/dist/eve/EveHazeSetLight.js +9 -12
  47. package/dist/eve/EveHazeSetLight.js.map +1 -1
  48. package/dist/eve/EveParticleDirectForce.js +25 -0
  49. package/dist/eve/EveParticleDirectForce.js.map +1 -0
  50. package/dist/eve/EveParticleDragForce.js +25 -0
  51. package/dist/eve/EveParticleDragForce.js.map +1 -0
  52. package/dist/eve/EveParticleSpring.js +26 -0
  53. package/dist/eve/EveParticleSpring.js.map +1 -0
  54. package/dist/eve/EvePlaneLight.js +9 -15
  55. package/dist/eve/EvePlaneLight.js.map +1 -1
  56. package/dist/eve/EvePlaneSet.js +20 -1
  57. package/dist/eve/EvePlaneSet.js.map +1 -1
  58. package/dist/eve/EvePlaneSetItem.js +1 -1
  59. package/dist/eve/EvePlaneSetItem.js.map +1 -1
  60. package/dist/eve/EveSpaceObjectDecal.js +1 -1
  61. package/dist/eve/EveSpaceObjectDecal.js.map +1 -1
  62. package/dist/eve/EveSpacePerObjectData.js +14 -4
  63. package/dist/eve/EveSpacePerObjectData.js.map +1 -1
  64. package/dist/eve/EveSpotlightLight.js +9 -12
  65. package/dist/eve/EveSpotlightLight.js.map +1 -1
  66. package/dist/eve/EveSpotlightSet.js +19 -1
  67. package/dist/eve/EveSpotlightSet.js.map +1 -1
  68. package/dist/eve/EveSpriteLight.js +9 -15
  69. package/dist/eve/EveSpriteLight.js.map +1 -1
  70. package/dist/eve/EveSpriteLineSet.js +19 -1
  71. package/dist/eve/EveSpriteLineSet.js.map +1 -1
  72. package/dist/eve/EveSpriteLineSetItem.js +1 -1
  73. package/dist/eve/EveSpriteLineSetItem.js.map +1 -1
  74. package/dist/eve/EveSpriteSet.js +19 -1
  75. package/dist/eve/EveSpriteSet.js.map +1 -1
  76. package/dist/eve/EveTrailsSet.js +1 -1
  77. package/dist/eve/EveTrailsSet.js.map +1 -1
  78. package/dist/eve/EveUpdateContext.js +195 -31
  79. package/dist/eve/EveUpdateContext.js.map +1 -1
  80. package/dist/eve/Locator.js +2 -2
  81. package/dist/eve/Locator.js.map +1 -1
  82. package/dist/eve/attachment/decal/DecalMeshCache.js +47 -0
  83. package/dist/eve/attachment/decal/DecalMeshCache.js.map +1 -0
  84. package/dist/eve/attachment/turrets/EveTurretFiringFX.js +424 -0
  85. package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -0
  86. package/dist/eve/attachment/turrets/EveTurretSet.js +788 -0
  87. package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -0
  88. package/dist/{generated/eve → eve}/attachment/turrets/EveTurretSetPSData.js +6 -4
  89. package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +1 -0
  90. package/dist/{generated/eve → eve}/attachment/turrets/EveTurretSetVSData.js +12 -8
  91. package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +1 -0
  92. package/dist/eve/attachment/turrets/EveTurretTarget.js +216 -0
  93. package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -0
  94. package/dist/eve/child/EveChildAudio.js +89 -0
  95. package/dist/eve/child/EveChildAudio.js.map +1 -0
  96. package/dist/eve/child/EveChildContainer.js +540 -14
  97. package/dist/eve/child/EveChildContainer.js.map +1 -1
  98. package/dist/eve/child/EveChildEffectPropagator.js +600 -0
  99. package/dist/eve/child/EveChildEffectPropagator.js.map +1 -0
  100. package/dist/eve/child/EveChildFogVolume.js +183 -0
  101. package/dist/eve/child/EveChildFogVolume.js.map +1 -0
  102. package/dist/{generated/eve → eve}/child/EveChildInstanceTransform.js +1 -1
  103. package/dist/eve/child/EveChildInstanceTransform.js.map +1 -0
  104. package/dist/eve/child/EveChildInstancedMeshes.js +45 -3
  105. package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
  106. package/dist/eve/child/EveChildLightingOverride.js +159 -0
  107. package/dist/eve/child/EveChildLightingOverride.js.map +1 -0
  108. package/dist/eve/child/EveChildMesh.js +571 -13
  109. package/dist/eve/child/EveChildMesh.js.map +1 -1
  110. package/dist/eve/child/EveChildTransform.js +39 -24
  111. package/dist/eve/child/EveChildTransform.js.map +1 -1
  112. package/dist/{generated/eve → eve}/child/EveCloudVolumeBall.js +1 -1
  113. package/dist/eve/child/EveCloudVolumeBall.js.map +1 -0
  114. package/dist/{generated/eve → eve}/child/behaviors/DroneAgent.js +1 -1
  115. package/dist/eve/child/behaviors/DroneAgent.js.map +1 -0
  116. package/dist/{generated/eve → eve}/child/behaviors/SplineTunnel.js +1 -1
  117. package/dist/eve/child/behaviors/SplineTunnel.js.map +1 -0
  118. package/dist/{generated/eve → eve}/child/behaviors/SplineTunnelPoint.js +1 -1
  119. package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +1 -0
  120. package/dist/eve/child/lineSetPaths/EveBezierCurve.js +2 -1
  121. package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  122. package/dist/eve/child/lineSetPaths/EveCircle.js +2 -1
  123. package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  124. package/dist/eve/child/modifiers/EveChildModifierBooster.js +6 -4
  125. package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
  126. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +3 -2
  127. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
  128. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +5 -3
  129. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
  130. package/dist/eve/child/modifiers/EveChildModifierSRT.js +6 -4
  131. package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  132. package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js +7 -2
  133. package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js.map +1 -1
  134. package/dist/{generated/eve → eve}/distribution/attributeModifiers/InitialPlacement.js +1 -1
  135. package/dist/eve/distribution/attributeModifiers/InitialPlacement.js.map +1 -0
  136. package/dist/eve/index.js +49 -1
  137. package/dist/eve/index.js.map +1 -1
  138. package/dist/{generated/eve/lights/LightData.js → eve/lights/CjsLightData.js} +59 -44
  139. package/dist/eve/lights/CjsLightData.js.map +1 -0
  140. package/dist/{generated/eve → eve}/lights/LightFeatures.js +1 -1
  141. package/dist/eve/lights/LightFeatures.js.map +1 -0
  142. package/dist/eve/lights/Tr2Light.js +30 -38
  143. package/dist/eve/lights/Tr2Light.js.map +1 -1
  144. package/dist/eve/lights/Tr2PointLight.js +37 -15
  145. package/dist/eve/lights/Tr2PointLight.js.map +1 -1
  146. package/dist/eve/lights/Tr2SpotLight.js +41 -15
  147. package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
  148. package/dist/eve/lights/Tr2TexturedPointLight.js +10 -31
  149. package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  150. package/dist/eve/perObjectData/DecalPSPerObjectData.js +56 -0
  151. package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +1 -0
  152. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +31 -0
  153. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
  154. package/dist/{generated/eve → eve}/perObjectData/EveTurretSetPerObjectData.js +5 -3
  155. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
  156. package/dist/{generated/eve → eve}/perObjectData/MergeMorphsConstantBuffer.js +1 -1
  157. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +1 -0
  158. package/dist/eve/renderable/stretch/CjsStretchRuntime.js +129 -0
  159. package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -0
  160. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +127 -0
  161. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -0
  162. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +200 -0
  163. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -0
  164. package/dist/eve/{EveRemotePositionCurve.js → renderable/stretch/EveRemotePositionCurve.js} +2 -2
  165. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -0
  166. package/dist/eve/renderable/stretch/EveStretch.js +293 -0
  167. package/dist/eve/renderable/stretch/EveStretch.js.map +1 -0
  168. package/dist/eve/renderable/stretch/EveStretch2.js +188 -0
  169. package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -0
  170. package/dist/eve/renderable/stretch/EveStretch3.js +335 -0
  171. package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -0
  172. package/dist/eve/scene/EveSpaceScene.js +475 -21
  173. package/dist/eve/scene/EveSpaceScene.js.map +1 -1
  174. package/dist/eve/socket/EveSocketParameterFilePath.js +26 -0
  175. package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -0
  176. package/dist/eve/spaceObject/EveEffectRoot2.js +690 -0
  177. package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -0
  178. package/dist/eve/spaceObject/EveMissile.js +165 -0
  179. package/dist/eve/spaceObject/EveMissile.js.map +1 -0
  180. package/dist/eve/spaceObject/EveMissileWarhead.js +318 -0
  181. package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -0
  182. package/dist/eve/spaceObject/EveMobile.js +292 -0
  183. package/dist/eve/spaceObject/EveMobile.js.map +1 -0
  184. package/dist/eve/spaceObject/EveRootTransform.js +182 -0
  185. package/dist/eve/spaceObject/EveRootTransform.js.map +1 -0
  186. package/dist/eve/spaceObject/EveSpaceObject2.js +743 -15
  187. package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  188. package/dist/eve/spaceObject/EveTransform.js +264 -0
  189. package/dist/eve/spaceObject/EveTransform.js.map +1 -0
  190. package/dist/{generated/eve → eve}/spaceObject/swarm/SwarmVehicle.js +1 -1
  191. package/dist/eve/spaceObject/swarm/SwarmVehicle.js.map +1 -0
  192. package/dist/{generated/eve → eve}/spaceObject/swarm/SwarmVehicleDebug.js +1 -1
  193. package/dist/eve/spaceObject/swarm/SwarmVehicleDebug.js.map +1 -0
  194. package/dist/{generated/eve → eve}/ui/EveEllipseDefinition.js +17 -16
  195. package/dist/eve/ui/EveEllipseDefinition.js.map +1 -0
  196. package/dist/{generated/eve → eve}/ui/EveEllipseSet.js +42 -32
  197. package/dist/eve/ui/EveEllipseSet.js.map +1 -0
  198. package/dist/eve/ui/EveSprite2dBracket.js +75 -0
  199. package/dist/eve/ui/EveSprite2dBracket.js.map +1 -0
  200. package/dist/eve/ui/EveUiObject.js +58 -0
  201. package/dist/eve/ui/EveUiObject.js.map +1 -0
  202. package/dist/eve/volume/EveBoxVolume.js +47 -1
  203. package/dist/eve/volume/EveBoxVolume.js.map +1 -1
  204. package/dist/eve/volume/EveEllipsoidVolume.js +28 -1
  205. package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
  206. package/dist/eve/volume/EveSphereVolume.js +24 -1
  207. package/dist/eve/volume/EveSphereVolume.js.map +1 -1
  208. package/dist/generated/{trinityCore → curves}/Tr2VectorFunctionModifier.js +2 -2
  209. package/dist/generated/curves/Tr2VectorFunctionModifier.js.map +1 -0
  210. package/dist/generated/curves/index.js +1 -3
  211. package/dist/generated/curves/index.js.map +1 -1
  212. package/dist/generated/eve/EveCamera.js +100 -21
  213. package/dist/generated/eve/EveCamera.js.map +1 -1
  214. package/dist/generated/eve/EveEntity.js +59 -12
  215. package/dist/generated/eve/EveEntity.js.map +1 -1
  216. package/dist/generated/eve/attachment/decal/index.js +1 -1
  217. package/dist/generated/eve/attachment/index.js +0 -6
  218. package/dist/generated/eve/attachment/index.js.map +1 -1
  219. package/dist/generated/eve/attachment/turrets/enums.js.map +1 -1
  220. package/dist/generated/eve/attachment/turrets/index.js +0 -5
  221. package/dist/generated/eve/attachment/turrets/index.js.map +1 -1
  222. package/dist/generated/eve/child/EveChildBehaviorSystem.js +319 -7
  223. package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +1 -1
  224. package/dist/generated/eve/child/EveChildBulletStorm.js +67 -13
  225. package/dist/generated/eve/child/EveChildBulletStorm.js.map +1 -1
  226. package/dist/generated/eve/child/EveChildCloud2.js +88 -5
  227. package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
  228. package/dist/generated/eve/child/EveChildExplosion.js +116 -13
  229. package/dist/generated/eve/child/EveChildExplosion.js.map +1 -1
  230. package/dist/generated/eve/child/EveChildInstanceContainer.js +42 -8
  231. package/dist/generated/eve/child/EveChildInstanceContainer.js.map +1 -1
  232. package/dist/generated/eve/child/EveChildLineSet.js +3 -3
  233. package/dist/generated/eve/child/EveChildLineSet.js.map +1 -1
  234. package/dist/generated/eve/child/EveChildLink.js +218 -36
  235. package/dist/generated/eve/child/EveChildLink.js.map +1 -1
  236. package/dist/generated/eve/child/EveChildParticleSphere.js +40 -4
  237. package/dist/generated/eve/child/EveChildParticleSphere.js.map +1 -1
  238. package/dist/generated/eve/child/EveChildParticleSystem.js +282 -10
  239. package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
  240. package/dist/generated/eve/child/EveChildPlug.js +36 -8
  241. package/dist/generated/eve/child/EveChildPlug.js.map +1 -1
  242. package/dist/generated/eve/child/EveChildPostProcessVolume.js +230 -32
  243. package/dist/generated/eve/child/EveChildPostProcessVolume.js.map +1 -1
  244. package/dist/generated/eve/child/EveChildQuad.js +290 -38
  245. package/dist/generated/eve/child/EveChildQuad.js.map +1 -1
  246. package/dist/generated/eve/child/EveChildRef.js +35 -12
  247. package/dist/generated/eve/child/EveChildRef.js.map +1 -1
  248. package/dist/generated/eve/child/EveChildSocket.js +52 -14
  249. package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
  250. package/dist/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
  251. package/dist/generated/eve/child/behaviors/Allign.js +114 -9
  252. package/dist/generated/eve/child/behaviors/Allign.js.map +1 -1
  253. package/dist/generated/eve/child/behaviors/ApproachGroup.js +117 -9
  254. package/dist/generated/eve/child/behaviors/ApproachGroup.js.map +1 -1
  255. package/dist/generated/eve/child/behaviors/BackAndForth.js +195 -7
  256. package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
  257. package/dist/generated/eve/child/behaviors/BehaviorGroup.js +675 -17
  258. package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  259. package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js +223 -75
  260. package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
  261. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +54 -9
  262. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
  263. package/dist/generated/eve/child/behaviors/DroneAvoidance.js +134 -9
  264. package/dist/generated/eve/child/behaviors/DroneAvoidance.js.map +1 -1
  265. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +302 -9
  266. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
  267. package/dist/generated/eve/child/behaviors/FollowASpline.js +336 -12
  268. package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
  269. package/dist/generated/eve/child/behaviors/Formation.js +304 -9
  270. package/dist/generated/eve/child/behaviors/Formation.js.map +1 -1
  271. package/dist/generated/eve/child/behaviors/InclusionVolume.js +70 -9
  272. package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +1 -1
  273. package/dist/generated/eve/child/behaviors/Inertia.js +101 -9
  274. package/dist/generated/eve/child/behaviors/Inertia.js.map +1 -1
  275. package/dist/generated/eve/child/behaviors/PlayFX.js +208 -9
  276. package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
  277. package/dist/generated/eve/child/behaviors/ProcessLifetime.js +412 -9
  278. package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +1 -1
  279. package/dist/generated/eve/child/behaviors/SeekTarget.js +102 -18
  280. package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
  281. package/dist/generated/eve/child/behaviors/SpawnDrones.js +111 -3
  282. package/dist/generated/eve/child/behaviors/SpawnDrones.js.map +1 -1
  283. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +114 -11
  284. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +1 -1
  285. package/dist/generated/eve/child/behaviors/Wander.js +52 -9
  286. package/dist/generated/eve/child/behaviors/Wander.js.map +1 -1
  287. package/dist/generated/eve/child/behaviors/enums.js.map +1 -1
  288. package/dist/generated/eve/child/behaviors/index.js +0 -3
  289. package/dist/generated/eve/child/behaviors/index.js.map +1 -1
  290. package/dist/generated/eve/child/enums.js.map +1 -1
  291. package/dist/generated/eve/child/index.js +0 -9
  292. package/dist/generated/eve/child/index.js.map +1 -1
  293. package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js +66 -22
  294. package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
  295. package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js +117 -21
  296. package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
  297. package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js +87 -22
  298. package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
  299. package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +37 -5
  300. package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
  301. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js +302 -48
  302. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
  303. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +76 -4
  304. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
  305. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +58 -4
  306. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
  307. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js +92 -5
  308. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
  309. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +78 -4
  310. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
  311. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js +137 -4
  312. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
  313. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +73 -4
  314. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
  315. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +63 -4
  316. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
  317. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js +123 -4
  318. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
  319. package/dist/generated/eve/distribution/EveBaseDistributionMethod.js +360 -45
  320. package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
  321. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +11 -5
  322. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
  323. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +27 -5
  324. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
  325. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +36 -5
  326. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
  327. package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -1
  328. package/dist/generated/eve/distribution/attributeModifiers/index.js.map +1 -1
  329. package/dist/generated/eve/distribution/index.js +0 -1
  330. package/dist/generated/eve/distribution/index.js.map +1 -1
  331. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +30 -4
  332. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
  333. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +59 -4
  334. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
  335. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +67 -4
  336. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
  337. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +26 -4
  338. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
  339. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +25 -4
  340. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
  341. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +28 -4
  342. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
  343. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +28 -4
  344. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
  345. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js +27 -4
  346. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
  347. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +40 -5
  348. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
  349. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js +27 -4
  350. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
  351. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +65 -4
  352. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
  353. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +55 -4
  354. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
  355. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +63 -4
  356. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
  357. package/dist/generated/eve/effect/EveLensflare.js +11 -6
  358. package/dist/generated/eve/effect/EveLensflare.js.map +1 -1
  359. package/dist/generated/eve/effect/EveMultiEffect.js +24 -11
  360. package/dist/generated/eve/effect/EveMultiEffect.js.map +1 -1
  361. package/dist/generated/eve/enums.js.map +1 -1
  362. package/dist/generated/eve/index.js +9 -43
  363. package/dist/generated/eve/index.js.map +1 -1
  364. package/dist/generated/eve/lights/Tr2FactionLight.js +116 -26
  365. package/dist/generated/eve/lights/Tr2FactionLight.js.map +1 -1
  366. package/dist/generated/eve/lights/index.js +0 -2
  367. package/dist/generated/eve/lights/index.js.map +1 -1
  368. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
  369. package/dist/generated/eve/perObjectData/index.js +0 -3
  370. package/dist/generated/eve/perObjectData/index.js.map +1 -1
  371. package/dist/generated/eve/renderable/index.js +0 -5
  372. package/dist/generated/eve/renderable/index.js.map +1 -1
  373. package/dist/generated/eve/renderable/stretch/enums.js.map +1 -1
  374. package/dist/generated/eve/renderable/stretch/index.js +0 -5
  375. package/dist/generated/eve/renderable/stretch/index.js.map +1 -1
  376. package/dist/generated/eve/scene/EveComponentCollection.js +32 -5
  377. package/dist/generated/eve/scene/EveComponentCollection.js.map +1 -1
  378. package/dist/generated/eve/scene/EveComponentRegistry.js +117 -5
  379. package/dist/generated/eve/scene/EveComponentRegistry.js.map +1 -1
  380. package/dist/generated/eve/scene/EveSceneStaticParticles.js +117 -11
  381. package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +1 -1
  382. package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js +2 -2
  383. package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
  384. package/dist/generated/eve/scene/TriShadowFrustum.js +74 -22
  385. package/dist/generated/eve/scene/TriShadowFrustum.js.map +1 -1
  386. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +128 -26
  387. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +1 -1
  388. package/dist/generated/eve/scene/index.js +0 -2
  389. package/dist/generated/eve/scene/index.js.map +1 -1
  390. package/dist/generated/eve/smartLights/EveChildSmartLightSet.js +204 -28
  391. package/dist/generated/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
  392. package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js +78 -10
  393. package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
  394. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +220 -26
  395. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  396. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +291 -40
  397. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  398. package/dist/generated/eve/smartLights/EveSmartLightQuad.js +293 -36
  399. package/dist/generated/eve/smartLights/EveSmartLightQuad.js.map +1 -1
  400. package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js +33 -13
  401. package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
  402. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +70 -5
  403. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
  404. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +184 -70
  405. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
  406. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +68 -9
  407. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
  408. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +63 -9
  409. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
  410. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +253 -26
  411. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
  412. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +37 -9
  413. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
  414. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +145 -9
  415. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
  416. package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +1 -1
  417. package/dist/generated/eve/smartLights/index.js +1 -1
  418. package/dist/generated/eve/socket/EveSocketParameterBindingBase.js +33 -5
  419. package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +1 -1
  420. package/dist/generated/eve/socket/EveSocketParameterBool.js +56 -0
  421. package/dist/generated/eve/socket/EveSocketParameterBool.js.map +1 -0
  422. package/dist/generated/eve/socket/EveSocketParameterColor.js +68 -0
  423. package/dist/generated/eve/socket/EveSocketParameterColor.js.map +1 -0
  424. package/dist/generated/eve/socket/EveSocketParameterFloat.js +56 -0
  425. package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +1 -0
  426. package/dist/generated/eve/socket/EveSocketParameterInt.js +56 -0
  427. package/dist/generated/eve/socket/EveSocketParameterInt.js.map +1 -0
  428. package/dist/generated/eve/socket/EveSocketParameterString.js +54 -5
  429. package/dist/generated/eve/socket/EveSocketParameterString.js.map +1 -1
  430. package/dist/generated/eve/socket/EveSocketParameterVector2.js +64 -0
  431. package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +1 -0
  432. package/dist/generated/eve/socket/EveSocketParameterVector3.js +64 -0
  433. package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +1 -0
  434. package/dist/generated/eve/socket/EveSocketParameterVector4.js +64 -0
  435. package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +1 -0
  436. package/dist/generated/eve/socket/index.js +7 -1
  437. package/dist/generated/eve/socket/index.js.map +1 -1
  438. package/dist/generated/eve/spaceObject/EvePlanet.js +1 -1
  439. package/dist/generated/eve/spaceObject/EvePlanet.js.map +1 -1
  440. package/dist/generated/eve/spaceObject/EveShip2.js +194 -11
  441. package/dist/generated/eve/spaceObject/EveShip2.js.map +1 -1
  442. package/dist/generated/eve/spaceObject/enums.js.map +1 -1
  443. package/dist/generated/eve/spaceObject/index.js +0 -8
  444. package/dist/generated/eve/spaceObject/index.js.map +1 -1
  445. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +104 -15
  446. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  447. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js +83 -7
  448. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
  449. package/dist/generated/eve/spaceObject/swarm/index.js +0 -2
  450. package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
  451. package/dist/generated/eve/ui/EveLineSet.js +49 -19
  452. package/dist/generated/eve/ui/EveLineSet.js.map +1 -1
  453. package/dist/generated/{trinityCore → eve/ui}/EveSprite2dBracketRenderer.js +3 -3
  454. package/dist/generated/eve/ui/EveSprite2dBracketRenderer.js.map +1 -0
  455. package/dist/generated/eve/ui/EveTacticalTrails.js +20 -8
  456. package/dist/generated/eve/ui/EveTacticalTrails.js.map +1 -1
  457. package/dist/generated/eve/ui/enums.js.map +1 -1
  458. package/dist/generated/eve/ui/index.js +1 -4
  459. package/dist/generated/eve/ui/index.js.map +1 -1
  460. package/dist/generated/include/enums.js.map +1 -1
  461. package/dist/generated/include/index.js +0 -9
  462. package/dist/generated/include/index.js.map +1 -1
  463. package/dist/generated/index.js +14 -116
  464. package/dist/generated/index.js.map +1 -1
  465. package/dist/generated/particle/ITr2GenericEmitter.js +31 -1
  466. package/dist/generated/particle/ITr2GenericEmitter.js.map +1 -1
  467. package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js +114 -64
  468. package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
  469. package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js +62 -26
  470. package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
  471. package/dist/generated/particle/Tr2DynamicEmitter.js +186 -37
  472. package/dist/generated/particle/Tr2DynamicEmitter.js.map +1 -1
  473. package/dist/generated/particle/Tr2ElementBlendConstraint.js +56 -26
  474. package/dist/generated/particle/Tr2ElementBlendConstraint.js.map +1 -1
  475. package/dist/generated/particle/Tr2ForceSphereVolume.js +68 -28
  476. package/dist/generated/particle/Tr2ForceSphereVolume.js.map +1 -1
  477. package/dist/generated/particle/Tr2ParticleSystem.js +266 -10
  478. package/dist/generated/particle/Tr2ParticleSystem.js.map +1 -1
  479. package/dist/generated/particle/Tr2ParticleTurbulenceForce.js +41 -4
  480. package/dist/generated/particle/Tr2ParticleTurbulenceForce.js.map +1 -1
  481. package/dist/generated/particle/Tr2PlaneConstraint.js +160 -42
  482. package/dist/generated/particle/Tr2PlaneConstraint.js.map +1 -1
  483. package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js +71 -22
  484. package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
  485. package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js +59 -26
  486. package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
  487. package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js +59 -26
  488. package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js.map +1 -1
  489. package/dist/generated/particle/Tr2SphereConstraint.js +202 -46
  490. package/dist/generated/particle/Tr2SphereConstraint.js.map +1 -1
  491. package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js +120 -64
  492. package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js.map +1 -1
  493. package/dist/generated/particle/Tr2StaticEmitter.js +79 -9
  494. package/dist/generated/particle/Tr2StaticEmitter.js.map +1 -1
  495. package/dist/generated/particle/index.js +0 -4
  496. package/dist/generated/particle/index.js.map +1 -1
  497. package/dist/generated/postProcess/enums.js.map +1 -1
  498. package/dist/generated/postProcess/index.js +0 -14
  499. package/dist/generated/postProcess/index.js.map +1 -1
  500. package/dist/generated/raytracing/Tr2RaytracingGeometry.js +67 -65
  501. package/dist/generated/raytracing/Tr2RaytracingGeometry.js.map +1 -1
  502. package/dist/generated/raytracing/index.js +0 -1
  503. package/dist/generated/raytracing/index.js.map +1 -1
  504. package/dist/generated/renderJob/Tr2RenderNodeEffect.js +100 -0
  505. package/dist/generated/renderJob/Tr2RenderNodeEffect.js.map +1 -0
  506. package/dist/generated/{trinityCore → renderJob}/Tr2RenderNodeSprite2dScene.js +2 -2
  507. package/dist/generated/renderJob/Tr2RenderNodeSprite2dScene.js.map +1 -0
  508. package/dist/generated/renderJob/TriStepClearUav.js +22 -3
  509. package/dist/generated/renderJob/TriStepClearUav.js.map +1 -1
  510. package/dist/generated/renderJob/TriStepFilterVisibilityResults.js +23 -4
  511. package/dist/generated/renderJob/TriStepFilterVisibilityResults.js.map +1 -1
  512. package/dist/generated/renderJob/TriStepPythonCB.js +20 -5
  513. package/dist/generated/renderJob/TriStepPythonCB.js.map +1 -1
  514. package/dist/generated/renderJob/TriStepRenderAtlas.js +8 -3
  515. package/dist/generated/renderJob/TriStepRenderAtlas.js.map +1 -1
  516. package/dist/generated/renderJob/TriStepRenderDebug.js +59 -24
  517. package/dist/generated/renderJob/TriStepRenderDebug.js.map +1 -1
  518. package/dist/generated/renderJob/TriStepRenderEffect.js +10 -3
  519. package/dist/generated/renderJob/TriStepRenderEffect.js.map +1 -1
  520. package/dist/generated/renderJob/TriStepRenderLineGraph.js +32 -3
  521. package/dist/generated/renderJob/TriStepRenderLineGraph.js.map +1 -1
  522. package/dist/generated/renderJob/TriStepRenderObject.js +19 -7
  523. package/dist/generated/renderJob/TriStepRenderObject.js.map +1 -1
  524. package/dist/generated/renderJob/TriStepRenderPass.js +8 -3
  525. package/dist/generated/renderJob/TriStepRenderPass.js.map +1 -1
  526. package/dist/generated/renderJob/TriStepRenderScene.js +7 -3
  527. package/dist/generated/renderJob/TriStepRenderScene.js.map +1 -1
  528. package/dist/generated/renderJob/TriStepRenderSceneDebug.js +7 -3
  529. package/dist/generated/renderJob/TriStepRenderSceneDebug.js.map +1 -1
  530. package/dist/generated/renderJob/TriStepRenderTexture.js +21 -3
  531. package/dist/generated/renderJob/TriStepRenderTexture.js.map +1 -1
  532. package/dist/generated/renderJob/TriStepRunComputeShader.js +14 -3
  533. package/dist/generated/renderJob/TriStepRunComputeShader.js.map +1 -1
  534. package/dist/generated/renderJob/TriStepSetDebugRenderer.js +10 -3
  535. package/dist/generated/renderJob/TriStepSetDebugRenderer.js.map +1 -1
  536. package/dist/generated/renderJob/TriStepSetUpscalingContextID.js +8 -4
  537. package/dist/generated/renderJob/TriStepSetUpscalingContextID.js.map +1 -1
  538. package/dist/generated/renderJob/TriStepSetVariableStore.js +24 -6
  539. package/dist/generated/renderJob/TriStepSetVariableStore.js.map +1 -1
  540. package/dist/generated/renderJob/TriStepToggleCubemap.js +16 -4
  541. package/dist/generated/renderJob/TriStepToggleCubemap.js.map +1 -1
  542. package/dist/generated/renderJob/TriStepUpdate.js +7 -3
  543. package/dist/generated/renderJob/TriStepUpdate.js.map +1 -1
  544. package/dist/generated/renderJob/enums.js.map +1 -1
  545. package/dist/generated/renderJob/index.js +2 -1
  546. package/dist/generated/renderJob/index.js.map +1 -1
  547. package/dist/generated/shader/enums.js.map +1 -1
  548. package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js +127 -41
  549. package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
  550. package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js +122 -33
  551. package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
  552. package/dist/generated/sprite2d/Tr2Sprite2dScene.js.map +1 -1
  553. package/dist/generated/sprite2d/Tr2Sprite2dTransform.js +51 -31
  554. package/dist/generated/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
  555. package/dist/generated/sprite2d/Tr2Sprite2dVertex.js +37 -26
  556. package/dist/generated/sprite2d/Tr2Sprite2dVertex.js.map +1 -1
  557. package/dist/generated/sprite2d/Tr2SpriteObjectBase.js +5 -6
  558. package/dist/generated/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
  559. package/dist/generated/sprite2d/enums.js.map +1 -1
  560. package/dist/generated/sprite2d/index.js +0 -5
  561. package/dist/generated/sprite2d/index.js.map +1 -1
  562. package/dist/generated/trinityCore/Tr2BoundingLineSet.js +31 -3
  563. package/dist/generated/trinityCore/Tr2BoundingLineSet.js.map +1 -1
  564. package/dist/generated/trinityCore/Tr2CurveLineSet.js +214 -136
  565. package/dist/generated/trinityCore/Tr2CurveLineSet.js.map +1 -1
  566. package/dist/generated/trinityCore/Tr2DebugRenderer.js +113 -87
  567. package/dist/generated/trinityCore/Tr2DebugRenderer.js.map +1 -1
  568. package/dist/generated/trinityCore/Tr2DynamicBinding.js +1 -1
  569. package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +1 -1
  570. package/dist/generated/trinityCore/Tr2ExternalParameter.js +147 -33
  571. package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +1 -1
  572. package/dist/generated/trinityCore/Tr2GpuProfiler.js.map +1 -1
  573. package/dist/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
  574. package/dist/generated/trinityCore/Tr2GrannyAnimation.js +646 -52
  575. package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +1 -1
  576. package/dist/generated/trinityCore/Tr2HostBitmap.js +189 -177
  577. package/dist/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
  578. package/dist/generated/trinityCore/Tr2LineGraph.js +49 -8
  579. package/dist/generated/trinityCore/Tr2LineGraph.js.map +1 -1
  580. package/dist/generated/trinityCore/Tr2LineSet.js +36 -11
  581. package/dist/generated/trinityCore/Tr2LineSet.js.map +1 -1
  582. package/dist/generated/trinityCore/Tr2ManipulationTool.js +39 -11
  583. package/dist/generated/trinityCore/Tr2ManipulationTool.js.map +1 -1
  584. package/dist/generated/trinityCore/Tr2PrimitiveSet.js +46 -42
  585. package/dist/generated/trinityCore/Tr2PrimitiveSet.js.map +1 -1
  586. package/dist/generated/trinityCore/Tr2QuadRenderer.js +199 -45
  587. package/dist/generated/trinityCore/Tr2QuadRenderer.js.map +1 -1
  588. package/dist/generated/trinityCore/Tr2SSAO.js +15 -15
  589. package/dist/generated/trinityCore/Tr2SSAO.js.map +1 -1
  590. package/dist/generated/trinityCore/Tr2ScalingTool.js +17 -3
  591. package/dist/generated/trinityCore/Tr2ScalingTool.js.map +1 -1
  592. package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +1 -1
  593. package/dist/generated/trinityCore/Tr2SolidSet.js +43 -7
  594. package/dist/generated/trinityCore/Tr2SolidSet.js.map +1 -1
  595. package/dist/generated/trinityCore/Tr2TextureAnimation.js +75 -40
  596. package/dist/generated/trinityCore/Tr2TextureAnimation.js.map +1 -1
  597. package/dist/generated/trinityCore/Tr2TextureArray.js +1 -1
  598. package/dist/generated/trinityCore/Tr2TextureArray.js.map +1 -1
  599. package/dist/generated/trinityCore/Tr2TextureAtlas.js +4 -0
  600. package/dist/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
  601. package/dist/generated/trinityCore/TriLineSet.js +115 -21
  602. package/dist/generated/trinityCore/TriLineSet.js.map +1 -1
  603. package/dist/generated/trinityCore/TriRigidOrientation.js +23 -3
  604. package/dist/generated/trinityCore/TriRigidOrientation.js.map +1 -1
  605. package/dist/generated/trinityCore/TriValueBinding.js +230 -40
  606. package/dist/generated/trinityCore/TriValueBinding.js.map +1 -1
  607. package/dist/generated/trinityCore/enums.js +1 -84
  608. package/dist/generated/trinityCore/enums.js.map +1 -1
  609. package/dist/generated/trinityCore/index.js +2 -27
  610. package/dist/generated/trinityCore/index.js.map +1 -1
  611. package/dist/generated/ui/index.js +0 -4
  612. package/dist/generated/ui/index.js.map +1 -1
  613. package/dist/generated/utilities/index.js +0 -5
  614. package/dist/generated/utilities/index.js.map +1 -1
  615. package/dist/index.js +115 -129
  616. package/dist/index.js.map +1 -1
  617. package/dist/particle/Tr2GpuSharedEmitter.js +37 -100
  618. package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
  619. package/dist/{generated/particle → particle}/Tr2ParticleElementData.js +1 -1
  620. package/dist/particle/Tr2ParticleElementData.js.map +1 -0
  621. package/dist/particle/Tr2ParticleElementDeclaration.js +70 -0
  622. package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -0
  623. package/dist/particle/Tr2ParticleElementDeclarationName.js +80 -0
  624. package/dist/particle/Tr2ParticleElementDeclarationName.js.map +1 -0
  625. package/dist/particle/index.js +4 -1
  626. package/dist/particle/index.js.map +1 -1
  627. package/dist/particle/particleElementBinding.js +37 -0
  628. package/dist/particle/particleElementBinding.js.map +1 -0
  629. package/dist/{generated/postProcess → postProcess}/BlurContext.js +6 -1
  630. package/dist/postProcess/BlurContext.js.map +1 -0
  631. package/dist/{generated/postProcess → postProcess}/GaussianData.js +1 -1
  632. package/dist/postProcess/GaussianData.js.map +1 -0
  633. package/dist/postProcess/Tr2PPBloomEffect.js +1 -1
  634. package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
  635. package/dist/{generated/postProcess → postProcess}/Tr2PPColorCorrectionEffect.js +1 -1
  636. package/dist/postProcess/Tr2PPColorCorrectionEffect.js.map +1 -0
  637. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +1 -1
  638. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
  639. package/dist/{generated/postProcess → postProcess}/Tr2PPDesaturateEffect.js +1 -1
  640. package/dist/postProcess/Tr2PPDesaturateEffect.js.map +1 -0
  641. package/dist/{generated/postProcess → postProcess}/Tr2PPDynamicExposureEffect.js +1 -1
  642. package/dist/postProcess/Tr2PPDynamicExposureEffect.js.map +1 -0
  643. package/dist/{generated/postProcess → postProcess}/Tr2PPEffect.js +6 -1
  644. package/dist/postProcess/Tr2PPEffect.js.map +1 -0
  645. package/dist/{generated/postProcess → postProcess}/Tr2PPFadeEffect.js +6 -1
  646. package/dist/postProcess/Tr2PPFadeEffect.js.map +1 -0
  647. package/dist/{generated/postProcess → postProcess}/Tr2PPFilmGrainEffect.js +6 -1
  648. package/dist/postProcess/Tr2PPFilmGrainEffect.js.map +1 -0
  649. package/dist/{generated/postProcess → postProcess}/Tr2PPFogEffect.js +6 -1
  650. package/dist/postProcess/Tr2PPFogEffect.js.map +1 -0
  651. package/dist/postProcess/Tr2PPGenericEffect.js +1 -1
  652. package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
  653. package/dist/{generated/postProcess → postProcess}/Tr2PPGodRaysEffect.js +6 -1
  654. package/dist/postProcess/Tr2PPGodRaysEffect.js.map +1 -0
  655. package/dist/{generated/postProcess → postProcess}/Tr2PPLutEffect.js +6 -1
  656. package/dist/postProcess/Tr2PPLutEffect.js.map +1 -0
  657. package/dist/{generated/postProcess → postProcess}/Tr2PPSignalLossEffect.js +6 -1
  658. package/dist/postProcess/Tr2PPSignalLossEffect.js.map +1 -0
  659. package/dist/postProcess/Tr2PPTaaEffect.js +1 -1
  660. package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
  661. package/dist/postProcess/Tr2PPTonemappingEffect.js +1 -1
  662. package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
  663. package/dist/{generated/postProcess → postProcess}/Tr2PPVignetteEffect.js +6 -1
  664. package/dist/postProcess/Tr2PPVignetteEffect.js.map +1 -0
  665. package/dist/postProcess/Tr2PostProcess.js +35 -0
  666. package/dist/postProcess/Tr2PostProcess.js.map +1 -0
  667. package/dist/postProcess/Tr2PostProcessAttributes.js +7 -7
  668. package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  669. package/dist/postProcess/index.js +18 -18
  670. package/dist/renderJob/TriStepRemoteSync.js +42 -0
  671. package/dist/renderJob/TriStepRemoteSync.js.map +1 -0
  672. package/dist/renderJob/index.js +1 -0
  673. package/dist/renderJob/index.js.map +1 -1
  674. package/dist/shader/Tr2Effect.js +110 -4
  675. package/dist/shader/Tr2Effect.js.map +1 -1
  676. package/dist/shader/parameter/CjsParameter.js +55 -0
  677. package/dist/shader/parameter/CjsParameter.js.map +1 -1
  678. package/dist/shader/parameter/Tr2ConstantEffectParameter.js +4 -4
  679. package/dist/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
  680. package/dist/shader/parameter/Tr2FloatParameter.js +6 -1
  681. package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
  682. package/dist/shader/parameter/Tr2GeometryBufferParameter.js +9 -1
  683. package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  684. package/dist/shader/parameter/Tr2Matrix4Parameter.js +6 -1
  685. package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  686. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +6 -1
  687. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  688. package/dist/shader/parameter/Tr2TextureAnimationParameter.js +6 -1
  689. package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  690. package/dist/shader/parameter/Tr2Vector2Parameter.js +74 -6
  691. package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  692. package/dist/shader/parameter/Tr2Vector3Parameter.js +90 -6
  693. package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  694. package/dist/shader/parameter/Tr2Vector4Parameter.js +70 -1
  695. package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  696. package/dist/shader/parameter/TriFloatArrayParameter.js +9 -1
  697. package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  698. package/dist/shader/parameter/TriTextureParameter.js +9 -1
  699. package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
  700. package/dist/shader/parameter/TriTransformParameter.js +16 -2
  701. package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
  702. package/dist/shader/parameter/TriVariableParameter.js +6 -1
  703. package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
  704. package/dist/shader/reflection/Tr2ShaderOption.js +1 -1
  705. package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
  706. package/dist/shader/sampler/Tr2SamplerOverride.js +1 -1
  707. package/dist/shader/sampler/Tr2SamplerOverride.js.map +1 -1
  708. package/dist/{generated/sprite2d → sprite2d}/Tr2Sprite2dClipRect.js +1 -1
  709. package/dist/sprite2d/Tr2Sprite2dClipRect.js.map +1 -0
  710. package/dist/{generated/sprite2d → sprite2d}/Tr2Sprite2dD3DVertex.js +1 -1
  711. package/dist/sprite2d/Tr2Sprite2dD3DVertex.js.map +1 -0
  712. package/dist/{generated/sprite2d → sprite2d}/Tr2Sprite2dLineTraceVertex.js +1 -1
  713. package/dist/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -0
  714. package/dist/{generated/sprite2d → sprite2d}/Tr2Sprite2dTriangle.js +1 -1
  715. package/dist/sprite2d/Tr2Sprite2dTriangle.js.map +1 -0
  716. package/dist/{generated/sprite2d → sprite2d}/Tr2Sprite2dVertexBase.js +4 -4
  717. package/dist/sprite2d/Tr2Sprite2dVertexBase.js.map +1 -0
  718. package/dist/trinityCore/CjsBatchManager.js +203 -0
  719. package/dist/trinityCore/CjsBatchManager.js.map +1 -0
  720. package/dist/trinityCore/GrannyBoneOffset.js +89 -0
  721. package/dist/trinityCore/GrannyBoneOffset.js.map +1 -0
  722. package/dist/trinityCore/ITriRenderBatchAccumulator.js +57 -0
  723. package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -0
  724. package/dist/{generated/trinityCore → trinityCore}/Tr2BindingVector3.js +1 -1
  725. package/dist/trinityCore/Tr2BindingVector3.js.map +1 -0
  726. package/dist/trinityCore/Tr2DirectInstanceData.js +85 -0
  727. package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -0
  728. package/dist/trinityCore/Tr2ExpressionTermInfo.js +5 -1
  729. package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
  730. package/dist/trinityCore/Tr2GpuBuffer.js +12 -5
  731. package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
  732. package/dist/trinityCore/Tr2InstancedMesh.js +59 -1
  733. package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
  734. package/dist/{generated/trinityCore → trinityCore}/Tr2MaterialParameterStore.js +13 -7
  735. package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -0
  736. package/dist/trinityCore/Tr2Mesh.js +140 -2
  737. package/dist/trinityCore/Tr2Mesh.js.map +1 -1
  738. package/dist/trinityCore/Tr2MeshArea.js +71 -9
  739. package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
  740. package/dist/trinityCore/Tr2MeshBase.js +76 -5
  741. package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
  742. package/dist/trinityCore/Tr2PerObjectData.js +23 -0
  743. package/dist/trinityCore/Tr2PerObjectData.js.map +1 -0
  744. package/dist/{generated/trinityCore → trinityCore}/Tr2PyValueBinding.js +1 -1
  745. package/dist/trinityCore/Tr2PyValueBinding.js.map +1 -0
  746. package/dist/trinityCore/Tr2RenderBatch.js +267 -0
  747. package/dist/trinityCore/Tr2RenderBatch.js.map +1 -0
  748. package/dist/trinityCore/Tr2RenderContext.js +239 -0
  749. package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
  750. package/dist/trinityCore/Tr2RuntimeInstanceData.js +80 -1
  751. package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
  752. package/dist/{generated/trinityCore → trinityCore}/Tr2SerializedMorphAnimation.js +1 -1
  753. package/dist/trinityCore/Tr2SerializedMorphAnimation.js.map +1 -0
  754. package/dist/trinityCore/Tr2VisibilityResults.js +104 -0
  755. package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -0
  756. package/dist/trinityCore/TriDevice.js +58 -4
  757. package/dist/trinityCore/TriDevice.js.map +1 -1
  758. package/dist/{generated/trinityCore → trinityCore}/TriFloat.js +1 -1
  759. package/dist/trinityCore/TriFloat.js.map +1 -0
  760. package/dist/trinityCore/TriFrustum.js +374 -0
  761. package/dist/trinityCore/TriFrustum.js.map +1 -0
  762. package/dist/trinityCore/TriFrustumOrtho.js +158 -0
  763. package/dist/trinityCore/TriFrustumOrtho.js.map +1 -0
  764. package/dist/trinityCore/TriObserverLocal.js +7 -1
  765. package/dist/trinityCore/TriObserverLocal.js.map +1 -1
  766. package/dist/trinityCore/TriRenderBatchAccumulator.js +119 -0
  767. package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -0
  768. package/dist/trinityCore/TriRenderBatchMap.js +61 -0
  769. package/dist/trinityCore/TriRenderBatchMap.js.map +1 -0
  770. package/dist/trinityCore/TriSettings.js +82 -0
  771. package/dist/trinityCore/TriSettings.js.map +1 -0
  772. package/dist/{generated/trinityCore → trinityCore}/TriTorque.js +1 -1
  773. package/dist/trinityCore/TriTorque.js.map +1 -0
  774. package/dist/trinityCore/TriVariable.js +39 -1
  775. package/dist/trinityCore/TriVariable.js.map +1 -1
  776. package/dist/{generated/trinityCore → trinityCore}/TriView.js +7 -9
  777. package/dist/trinityCore/TriView.js.map +1 -0
  778. package/dist/trinityCore/TriViewport.js +7 -1
  779. package/dist/trinityCore/TriViewport.js.map +1 -1
  780. package/dist/trinityCore/index.js +23 -5
  781. package/dist/trinityCore/index.js.map +1 -1
  782. package/package.json +2 -2
  783. package/dist/eve/EveRemotePositionCurve.js.map +0 -1
  784. package/dist/generated/curves/Tr2CurveRasterizeDestination.js +0 -37
  785. package/dist/generated/curves/Tr2CurveRasterizeDestination.js.map +0 -1
  786. package/dist/generated/curves/Tr2CurveScalarDefinition.js +0 -48
  787. package/dist/generated/curves/Tr2CurveScalarDefinition.js.map +0 -1
  788. package/dist/generated/curves/Tr2Key.js +0 -47
  789. package/dist/generated/curves/Tr2Key.js.map +0 -1
  790. package/dist/generated/eve/AudioGameObject.js +0 -77
  791. package/dist/generated/eve/AudioGameObject.js.map +0 -1
  792. package/dist/generated/eve/attachment/decal/DecalMeshCache.js +0 -37
  793. package/dist/generated/eve/attachment/decal/DecalMeshCache.js.map +0 -1
  794. package/dist/generated/eve/attachment/turrets/EveTurretFiringFX.js +0 -130
  795. package/dist/generated/eve/attachment/turrets/EveTurretFiringFX.js.map +0 -1
  796. package/dist/generated/eve/attachment/turrets/EveTurretSet.js +0 -307
  797. package/dist/generated/eve/attachment/turrets/EveTurretSet.js.map +0 -1
  798. package/dist/generated/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
  799. package/dist/generated/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
  800. package/dist/generated/eve/attachment/turrets/EveTurretTarget.js +0 -54
  801. package/dist/generated/eve/attachment/turrets/EveTurretTarget.js.map +0 -1
  802. package/dist/generated/eve/child/EveChildAudio.js +0 -47
  803. package/dist/generated/eve/child/EveChildAudio.js.map +0 -1
  804. package/dist/generated/eve/child/EveChildEffectPropagator.js +0 -121
  805. package/dist/generated/eve/child/EveChildEffectPropagator.js.map +0 -1
  806. package/dist/generated/eve/child/EveChildFogVolume.js +0 -63
  807. package/dist/generated/eve/child/EveChildFogVolume.js.map +0 -1
  808. package/dist/generated/eve/child/EveChildInstanceTransform.js.map +0 -1
  809. package/dist/generated/eve/child/EveChildLightingOverride.js +0 -62
  810. package/dist/generated/eve/child/EveChildLightingOverride.js.map +0 -1
  811. package/dist/generated/eve/child/EveCloudVolumeBall.js.map +0 -1
  812. package/dist/generated/eve/child/behaviors/DroneAgent.js.map +0 -1
  813. package/dist/generated/eve/child/behaviors/SplineTunnel.js.map +0 -1
  814. package/dist/generated/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
  815. package/dist/generated/eve/distribution/attributeModifiers/InitialPlacement.js.map +0 -1
  816. package/dist/generated/eve/lights/LightData.js.map +0 -1
  817. package/dist/generated/eve/lights/LightFeatures.js.map +0 -1
  818. package/dist/generated/eve/perObjectData/DecalPSPerObjectData.js +0 -48
  819. package/dist/generated/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
  820. package/dist/generated/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
  821. package/dist/generated/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
  822. package/dist/generated/eve/renderable/stretch/EveFiringEffectElementContainer.js +0 -57
  823. package/dist/generated/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +0 -1
  824. package/dist/generated/eve/renderable/stretch/EveLocalPositionCurve.js +0 -93
  825. package/dist/generated/eve/renderable/stretch/EveLocalPositionCurve.js.map +0 -1
  826. package/dist/generated/eve/renderable/stretch/EveStretch.js +0 -109
  827. package/dist/generated/eve/renderable/stretch/EveStretch.js.map +0 -1
  828. package/dist/generated/eve/renderable/stretch/EveStretch2.js +0 -67
  829. package/dist/generated/eve/renderable/stretch/EveStretch2.js.map +0 -1
  830. package/dist/generated/eve/renderable/stretch/EveStretch3.js +0 -101
  831. package/dist/generated/eve/renderable/stretch/EveStretch3.js.map +0 -1
  832. package/dist/generated/eve/scene/EveInstancedMeshManager.js +0 -206
  833. package/dist/generated/eve/scene/EveInstancedMeshManager.js.map +0 -1
  834. package/dist/generated/eve/scene/Tr2OcclusionBuffer.js +0 -46
  835. package/dist/generated/eve/scene/Tr2OcclusionBuffer.js.map +0 -1
  836. package/dist/generated/eve/socket/_className.js +0 -44
  837. package/dist/generated/eve/socket/_className.js.map +0 -1
  838. package/dist/generated/eve/spaceObject/EveEffectRoot2.js +0 -150
  839. package/dist/generated/eve/spaceObject/EveEffectRoot2.js.map +0 -1
  840. package/dist/generated/eve/spaceObject/EveMissile.js +0 -53
  841. package/dist/generated/eve/spaceObject/EveMissile.js.map +0 -1
  842. package/dist/generated/eve/spaceObject/EveMissileWarhead.js +0 -90
  843. package/dist/generated/eve/spaceObject/EveMissileWarhead.js.map +0 -1
  844. package/dist/generated/eve/spaceObject/EveMobile.js +0 -49
  845. package/dist/generated/eve/spaceObject/EveMobile.js.map +0 -1
  846. package/dist/generated/eve/spaceObject/EveRootTransform.js +0 -48
  847. package/dist/generated/eve/spaceObject/EveRootTransform.js.map +0 -1
  848. package/dist/generated/eve/spaceObject/EveTransform.js +0 -72
  849. package/dist/generated/eve/spaceObject/EveTransform.js.map +0 -1
  850. package/dist/generated/eve/spaceObject/swarm/SwarmVehicle.js.map +0 -1
  851. package/dist/generated/eve/spaceObject/swarm/SwarmVehicleDebug.js.map +0 -1
  852. package/dist/generated/eve/ui/EveEllipseDefinition.js.map +0 -1
  853. package/dist/generated/eve/ui/EveEllipseSet.js.map +0 -1
  854. package/dist/generated/eve/ui/EveSpherePinIndexTree.js +0 -49
  855. package/dist/generated/eve/ui/EveSpherePinIndexTree.js.map +0 -1
  856. package/dist/generated/eve/ui/EveUiObject.js +0 -41
  857. package/dist/generated/eve/ui/EveUiObject.js.map +0 -1
  858. package/dist/generated/include/ITr2InteriorLight.js +0 -37
  859. package/dist/generated/include/ITr2InteriorLight.js.map +0 -1
  860. package/dist/generated/include/ITriDevice.js +0 -31
  861. package/dist/generated/include/ITriDevice.js.map +0 -1
  862. package/dist/generated/include/ITriEffectTextureParameter.js +0 -31
  863. package/dist/generated/include/ITriEffectTextureParameter.js.map +0 -1
  864. package/dist/generated/include/Point.js +0 -34
  865. package/dist/generated/include/Point.js.map +0 -1
  866. package/dist/generated/include/Tr2CurveBase.js +0 -79
  867. package/dist/generated/include/Tr2CurveBase.js.map +0 -1
  868. package/dist/generated/include/Tr2DebugColor.js +0 -40
  869. package/dist/generated/include/Tr2DebugColor.js.map +0 -1
  870. package/dist/generated/include/Tr2DebugObjectReference.js +0 -34
  871. package/dist/generated/include/Tr2DebugObjectReference.js.map +0 -1
  872. package/dist/generated/include/Tr2Rect.js +0 -40
  873. package/dist/generated/include/Tr2Rect.js.map +0 -1
  874. package/dist/generated/include/TriPerlinNoise.js +0 -34
  875. package/dist/generated/include/TriPerlinNoise.js.map +0 -1
  876. package/dist/generated/particle/Tr2ParticleElementData.js.map +0 -1
  877. package/dist/generated/particle/Tr2ParticleElementDeclaration.js +0 -37
  878. package/dist/generated/particle/Tr2ParticleElementDeclaration.js.map +0 -1
  879. package/dist/generated/particle/Tr2ParticleElementDeclarationName.js +0 -42
  880. package/dist/generated/particle/Tr2ParticleElementDeclarationName.js.map +0 -1
  881. package/dist/generated/particle/Tr2ParticleStreamIterator.js +0 -37
  882. package/dist/generated/particle/Tr2ParticleStreamIterator.js.map +0 -1
  883. package/dist/generated/postProcess/BlurContext.js.map +0 -1
  884. package/dist/generated/postProcess/CASConstants.js +0 -34
  885. package/dist/generated/postProcess/CASConstants.js.map +0 -1
  886. package/dist/generated/postProcess/GaussianData.js.map +0 -1
  887. package/dist/generated/postProcess/Tr2PPColorCorrectionEffect.js.map +0 -1
  888. package/dist/generated/postProcess/Tr2PPDesaturateEffect.js.map +0 -1
  889. package/dist/generated/postProcess/Tr2PPDynamicExposureEffect.js.map +0 -1
  890. package/dist/generated/postProcess/Tr2PPEffect.js.map +0 -1
  891. package/dist/generated/postProcess/Tr2PPFadeEffect.js.map +0 -1
  892. package/dist/generated/postProcess/Tr2PPFilmGrainEffect.js.map +0 -1
  893. package/dist/generated/postProcess/Tr2PPFogEffect.js.map +0 -1
  894. package/dist/generated/postProcess/Tr2PPGodRaysEffect.js.map +0 -1
  895. package/dist/generated/postProcess/Tr2PPLutEffect.js.map +0 -1
  896. package/dist/generated/postProcess/Tr2PPSignalLossEffect.js.map +0 -1
  897. package/dist/generated/postProcess/Tr2PPVignetteEffect.js.map +0 -1
  898. package/dist/generated/raytracing/Tr2RaytracingMeshArea.js +0 -40
  899. package/dist/generated/raytracing/Tr2RaytracingMeshArea.js.map +0 -1
  900. package/dist/generated/renderJob/TriStepRemoteSync.js +0 -45
  901. package/dist/generated/renderJob/TriStepRemoteSync.js.map +0 -1
  902. package/dist/generated/sprite2d/Tr2Sprite2dClipRect.js.map +0 -1
  903. package/dist/generated/sprite2d/Tr2Sprite2dD3DVertex.js.map +0 -1
  904. package/dist/generated/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +0 -1
  905. package/dist/generated/sprite2d/Tr2Sprite2dTriangle.js.map +0 -1
  906. package/dist/generated/sprite2d/Tr2Sprite2dVertexBase.js.map +0 -1
  907. package/dist/generated/trinityCore/EveSprite2dBracket.js +0 -42
  908. package/dist/generated/trinityCore/EveSprite2dBracket.js.map +0 -1
  909. package/dist/generated/trinityCore/EveSprite2dBracketRenderer.js.map +0 -1
  910. package/dist/generated/trinityCore/GrannyBoneOffset.js +0 -52
  911. package/dist/generated/trinityCore/GrannyBoneOffset.js.map +0 -1
  912. package/dist/generated/trinityCore/Tr2BindingVector3.js.map +0 -1
  913. package/dist/generated/trinityCore/Tr2DirectInstanceData.js +0 -40
  914. package/dist/generated/trinityCore/Tr2DirectInstanceData.js.map +0 -1
  915. package/dist/generated/trinityCore/Tr2DisplayMode.js +0 -49
  916. package/dist/generated/trinityCore/Tr2DisplayMode.js.map +0 -1
  917. package/dist/generated/trinityCore/Tr2GStateAnimation.js +0 -210
  918. package/dist/generated/trinityCore/Tr2GStateAnimation.js.map +0 -1
  919. package/dist/generated/trinityCore/Tr2GStateParameter.js +0 -67
  920. package/dist/generated/trinityCore/Tr2GStateParameter.js.map +0 -1
  921. package/dist/generated/trinityCore/Tr2MaterialParameterStore.js.map +0 -1
  922. package/dist/generated/trinityCore/Tr2PlatformInfo.js +0 -33
  923. package/dist/generated/trinityCore/Tr2PlatformInfo.js.map +0 -1
  924. package/dist/generated/trinityCore/Tr2PostProcess.js +0 -31
  925. package/dist/generated/trinityCore/Tr2PostProcess.js.map +0 -1
  926. package/dist/generated/trinityCore/Tr2PyValueBinding.js.map +0 -1
  927. package/dist/generated/trinityCore/Tr2RenderNodeEffect.js +0 -64
  928. package/dist/generated/trinityCore/Tr2RenderNodeEffect.js.map +0 -1
  929. package/dist/generated/trinityCore/Tr2RenderNodeSprite2dScene.js.map +0 -1
  930. package/dist/generated/trinityCore/Tr2SerializedMorphAnimation.js.map +0 -1
  931. package/dist/generated/trinityCore/Tr2VectorFunctionModifier.js.map +0 -1
  932. package/dist/generated/trinityCore/Tr2VideoAdapter.js +0 -60
  933. package/dist/generated/trinityCore/Tr2VideoAdapter.js.map +0 -1
  934. package/dist/generated/trinityCore/Tr2VideoDriver.js +0 -46
  935. package/dist/generated/trinityCore/Tr2VideoDriver.js.map +0 -1
  936. package/dist/generated/trinityCore/Tr2VisibilityResults.js +0 -41
  937. package/dist/generated/trinityCore/Tr2VisibilityResults.js.map +0 -1
  938. package/dist/generated/trinityCore/TriColorSequencer.js +0 -48
  939. package/dist/generated/trinityCore/TriColorSequencer.js.map +0 -1
  940. package/dist/generated/trinityCore/TriFloat.js.map +0 -1
  941. package/dist/generated/trinityCore/TriSettings.js +0 -64
  942. package/dist/generated/trinityCore/TriSettings.js.map +0 -1
  943. package/dist/generated/trinityCore/TriTorque.js.map +0 -1
  944. package/dist/generated/trinityCore/TriVectorSequencer.js +0 -48
  945. package/dist/generated/trinityCore/TriVectorSequencer.js.map +0 -1
  946. package/dist/generated/trinityCore/TriView.js.map +0 -1
  947. package/dist/generated/ui/Tr2MainWindow.js +0 -203
  948. package/dist/generated/ui/Tr2MainWindow.js.map +0 -1
  949. package/dist/generated/ui/Tr2MainWindowState.js +0 -63
  950. package/dist/generated/ui/Tr2MainWindowState.js.map +0 -1
  951. package/dist/generated/ui/Tr2MouseCursor.js +0 -55
  952. package/dist/generated/ui/Tr2MouseCursor.js.map +0 -1
  953. package/dist/generated/ui/UIScancode.js +0 -37
  954. package/dist/generated/ui/UIScancode.js.map +0 -1
  955. package/dist/generated/utilities/AreaBoundsInfo.js +0 -34
  956. package/dist/generated/utilities/AreaBoundsInfo.js.map +0 -1
  957. package/dist/generated/utilities/BoundingBox.js +0 -34
  958. package/dist/generated/utilities/BoundingBox.js.map +0 -1
  959. package/dist/generated/utilities/MeshBoundsInfo.js +0 -52
  960. package/dist/generated/utilities/MeshBoundsInfo.js.map +0 -1
  961. package/dist/generated/utilities/Vector3d.js +0 -58
  962. package/dist/generated/utilities/Vector3d.js.map +0 -1
  963. package/dist/generated/utilities/Vector4d.js +0 -49
  964. package/dist/generated/utilities/Vector4d.js.map +0 -1
  965. package/dist/trinityCore/Tr2VideoAdapters.js +0 -79
  966. package/dist/trinityCore/Tr2VideoAdapters.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EveEffectRoot2.js","sources":["../../../../src/eve/spaceObject/EveEffectRoot2.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveEffectRoot2.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveEffectRoot2.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveEffectRoot2_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\r\nimport { quat } from \"@carbonenginejs/core-math/quat\";\r\nimport { sph3 } from \"@carbonenginejs/core-math/sph3\";\r\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\r\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveEntity } from \"../../generated/eve/EveEntity.js\";\r\nimport { EveChildUpdateParams } from \"../EveChildUpdateParams.js\";\r\nimport { EveLODHelper, Tr2Lod } from \"../EveLODHelper.js\";\r\nimport { EveSpaceObjectPSData } from \"../EveSpaceObjectPSData.js\";\r\nimport { EveSpaceObjectVSData } from \"../EveSpaceObjectVSData.js\";\r\nimport { EveComponentType } from \"../EveComponentTypes.js\";\r\n\r\n\r\n@type.define({ className: \"EveEffectRoot2\", family: \"eve/spaceObject\" })\r\nexport class EveEffectRoot2 extends EveEntity\r\n{\r\n\r\n /** m_effectChildren (PIEveSpaceObjectChildVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"IEveSpaceObjectChild\")\r\n effectChildren = [];\r\n\r\n /** m_estimatedSize (float) [READ] */\r\n @io.read\r\n @type.float32\r\n estimatedSize = 0;\r\n\r\n /** m_lodLevel (Tr2Lod - enum Tr2Lod) [READ] */\r\n @io.read\r\n @type.int32\r\n @schema.enum(\"Tr2Lod\")\r\n lodLevel = Tr2Lod.TR2_LOD_HIGH;\r\n\r\n /** m_mute (bool) [READWRITE, NOTIFY] */\r\n @io.notify\r\n @io.readwrite\r\n @type.boolean\r\n mute = false;\r\n\r\n /** m_display (bool) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n /** m_name (std::string) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n /** m_dynamicLODSelection (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n dynamicLOD = false;\r\n\r\n /** m_scaling (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n scaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_rotation (Quaternion) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.quat\r\n rotation = quat.create();\r\n\r\n /** m_translation (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n translation = vec3.create();\r\n\r\n /** m_effectDuration (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n duration = -1;\r\n\r\n /** m_secondaryLightingEmissiveColor (Color) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.color\r\n secondaryLightingEmissiveColor = vec4.create();\r\n\r\n /** m_curveSets (PTriCurveSetVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"TriCurveSet\")\r\n curveSets = [];\r\n\r\n /** m_lights (PTr2LightVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"Tr2Light\")\r\n lights = [];\r\n\r\n /** m_externalParameters (PTr2ExternalParameterVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"Tr2ExternalParameter\")\r\n externalParameters = [];\r\n\r\n /** m_controllers (PITr2ControllerVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"ITr2Controller\")\r\n controllers = [];\r\n\r\n /** m_observers (PTriObserverLocalVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"TriObserverLocal\")\r\n observers = [];\r\n\r\n /** m_ballRotation (ITriQuaternionFunctionPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"ITriQuaternionFunction\")\r\n rotationCurve = null;\r\n\r\n /** m_secondaryLightingSphereRadiusLocal (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n secondaryLightingSphereRadius = 0.5;\r\n\r\n /** m_boundingSphere.xyz, exposed by Carbon's MAPFLOATARRAYSIZE Blue mapping. */\r\n @impl.adapted\r\n @impl.reason(\"The schema scanner omits MAPFLOATARRAYSIZE; Carbon exposes the three persisted center components separately from radius.\")\r\n @io.persist\r\n @type.vec3\r\n boundingSphereCenter = vec3.create();\r\n\r\n /** m_boundingSphere.w (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n boundingSphereRadius = 0;\r\n\r\n /** m_modelTranslation (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"ITriVectorFunction\")\r\n modelTranslationCurve = null;\r\n\r\n /** m_modelRotation (ITriQuaternionFunctionPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"ITriQuaternionFunction\")\r\n modelRotationCurve = null;\r\n\r\n /** m_ballPosition (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"ITriVectorFunction\")\r\n translationCurve = null;\r\n\r\n #changeLOD = true;\r\n #controllerVariables = new Map();\r\n #lastUpdateMatrix = mat4.create();\r\n #localTransform = mat4.create();\r\n #secondaryLightingSphereRadiusWorld = 0.5;\r\n #worldTransform = mat4.create();\r\n\r\n /** Links authored controllers after graph hydration. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Blue root locking is represented by the hydrated JavaScript object identity.\")\r\n Initialize()\r\n {\r\n for (const controller of this.controllers)\r\n {\r\n if (!controller?.IsLinked?.()) controller?.Link?.(this);\r\n EveEffectRoot2.#ApplyControllerVariables(controller, this.#controllerVariables, \"SetVariable\");\r\n }\r\n return true;\r\n }\r\n\r\n /** Adds and initializes a controller through Carbon's list-notify behavior. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Plain JavaScript arrays have no Blue IList notifications, so insertion behavior is explicit.\")\r\n AddController(controller)\r\n {\r\n this.controllers.push(controller);\r\n if (!controller?.IsLinked?.()) controller?.Link?.(this);\r\n EveEffectRoot2.#ApplyControllerVariables(controller, this.#controllerVariables, \"SetVariable\");\r\n return controller;\r\n }\r\n\r\n /** Removes and unlinks a controller through Carbon's list-notify behavior. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Plain JavaScript arrays have no Blue IList notifications, so removal behavior is explicit.\")\r\n RemoveController(controller)\r\n {\r\n const index = this.controllers.indexOf(controller);\r\n if (index === -1) return false;\r\n this.controllers.splice(index, 1);\r\n controller?.Unlink?.();\r\n return true;\r\n }\r\n\r\n /** Evaluates root curves and updates children that require synchronous placement. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon task and lock ownership is omitted; child update parameters retain the source graph contract.\")\r\n UpdateSyncronous(updateContext = null)\r\n {\r\n const time = EveEffectRoot2.#GetContextValue(updateContext, \"GetTime\", \"currentTime\", \"time\");\r\n this.UpdateWorldTransform(time);\r\n mat4.fromRotationTranslationScale(this.#localTransform, this.rotation, this.translation, this.scaling);\r\n // Carbon (row-vector): m_localTransform * m_worldTransform - local first.\r\n mat4.multiply(this.#lastUpdateMatrix, this.#worldTransform, this.#localTransform);\r\n this.#secondaryLightingSphereRadiusWorld = this.secondaryLightingSphereRadius *\r\n (this.scaling[0] + this.scaling[1] + this.scaling[2]) / 3;\r\n\r\n for (const observer of this.observers) observer?.Update?.(this.#lastUpdateMatrix);\r\n if (this.effectChildren.length)\r\n {\r\n const params = this.#CreateChildUpdateParams();\r\n for (const child of this.effectChildren) child?.UpdateSyncronous?.(updateContext, params);\r\n }\r\n return true;\r\n }\r\n\r\n /** Advances controllers, root curve sets, and effect children. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Controller and child work is forwarded synchronously through the GPU-free graph instead of Carbon task groups.\")\r\n UpdateAsyncronous(updateContext = null)\r\n {\r\n let frequency = 0;\r\n if (this.display)\r\n {\r\n if (this.dynamicLOD)\r\n {\r\n const threshold = EveEffectRoot2.#GetContextValue(updateContext, \"GetHighDetailThreshold\", \"highDetailThreshold\");\r\n if (threshold > 0) frequency = Math.min(1, this.estimatedSize / threshold);\r\n }\r\n else\r\n {\r\n frequency = 0.5;\r\n }\r\n }\r\n\r\n this.UpdateControllers(frequency);\r\n const time = EveEffectRoot2.#GetContextValue(updateContext, \"GetTime\", \"currentTime\", \"time\");\r\n for (const curveSet of this.curveSets) curveSet?.Update?.(time, time);\r\n if (this.effectChildren.length)\r\n {\r\n const params = this.#CreateChildUpdateParams();\r\n params.controllerUpdateFrequency = frequency;\r\n for (const child of this.effectChildren) child?.UpdateAsyncronous?.(updateContext, params);\r\n }\r\n return frequency;\r\n }\r\n\r\n /** Updates dynamic LOD and forwards visibility to the effect children. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Frustum and threshold state is supplied by the explicit update context rather than renderer globals.\")\r\n UpdateVisibility(updateContext = null, parentTransform = EveEffectRoot2.#identity)\r\n {\r\n if (!this.display) return false;\r\n if (this.dynamicLOD)\r\n {\r\n this.GetBoundingSphere(EveEffectRoot2.#localSphere);\r\n sph3.transformMat4(EveEffectRoot2.#worldSphere, EveEffectRoot2.#localSphere, this.#worldTransform);\r\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\r\n if (frustum?.IsSphereVisible?.(EveEffectRoot2.#worldSphere) !== false)\r\n {\r\n this.estimatedSize = Number(frustum?.GetPixelSizeAccross?.(EveEffectRoot2.#worldSphere) ?? this.estimatedSize) || 0;\r\n }\r\n\r\n const oldLod = this.lodLevel;\r\n this.lodLevel = Tr2Lod.TR2_LOD_LOW;\r\n const medium = EveEffectRoot2.#GetContextValue(updateContext, \"GetMediumDetailThreshold\", \"mediumDetailThreshold\");\r\n const low = EveEffectRoot2.#GetContextValue(updateContext, \"GetLowDetailThreshold\", \"lowDetailThreshold\");\r\n if (this.estimatedSize >= medium) this.lodLevel = Tr2Lod.TR2_LOD_HIGH;\r\n else if (this.estimatedSize >= low) this.lodLevel = Tr2Lod.TR2_LOD_MEDIUM;\r\n this.#changeLOD ||= oldLod !== this.lodLevel;\r\n }\r\n\r\n for (const child of this.effectChildren)\r\n {\r\n child?.UpdateVisibility?.(updateContext, parentTransform, this.lodLevel);\r\n }\r\n return true;\r\n }\r\n\r\n /** Collects child renderables after applying a pending LOD change. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n if (!this.display) return out;\r\n if (this.#changeLOD)\r\n {\r\n this.#changeLOD = false;\r\n for (const child of this.effectChildren) child?.ChangeLOD?.(this.lodLevel);\r\n }\r\n for (const child of this.effectChildren) child?.GetRenderables?.(out);\r\n return out;\r\n }\r\n\r\n /** Advances every controller at the selected detail frequency. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateControllers(updateFrequency)\r\n {\r\n for (const controller of this.controllers) controller?.Update?.(updateFrequency);\r\n }\r\n\r\n /** Returns the authored local bounding sphere. */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n vec4.set(\r\n out,\r\n this.boundingSphereCenter[0],\r\n this.boundingSphereCenter[1],\r\n this.boundingSphereCenter[2],\r\n this.boundingSphereRadius\r\n );\r\n return true;\r\n }\r\n\r\n /** Returns the authored bounding-sphere radius. */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphereRadius()\r\n {\r\n return this.boundingSphereRadius;\r\n }\r\n\r\n /** Evaluates the ball/model curves into the detached root transform. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Curve outputs use CarbonEngineJS's time-first, output-second convention.\")\r\n UpdateWorldTransform(time)\r\n {\r\n EveEffectRoot2.#UpdateCurve(this.translationCurve, time, EveEffectRoot2.#translation, EveEffectRoot2.#zero);\r\n EveEffectRoot2.#UpdateCurve(this.rotationCurve, time, EveEffectRoot2.#rotation, EveEffectRoot2.#identityRotation);\r\n if (this.modelRotationCurve)\r\n {\r\n EveEffectRoot2.#UpdateCurve(this.modelRotationCurve, time, EveEffectRoot2.#modelRotation, EveEffectRoot2.#identityRotation);\r\n // Carbon (row-vector): rotation = modelRotation * rotation - model first.\r\n quat.multiply(EveEffectRoot2.#rotation, EveEffectRoot2.#rotation, EveEffectRoot2.#modelRotation);\r\n }\r\n\r\n mat4.fromRotationTranslation(this.#worldTransform, EveEffectRoot2.#rotation, EveEffectRoot2.#translation);\r\n if (this.modelTranslationCurve)\r\n {\r\n EveEffectRoot2.#UpdateCurve(this.modelTranslationCurve, time, EveEffectRoot2.#modelTranslation, EveEffectRoot2.#zero);\r\n vec3.transformMat4(EveEffectRoot2.#modelTranslation, EveEffectRoot2.#modelTranslation, this.#worldTransform);\r\n this.#worldTransform[12] = EveEffectRoot2.#modelTranslation[0];\r\n this.#worldTransform[13] = EveEffectRoot2.#modelTranslation[1];\r\n this.#worldTransform[14] = EveEffectRoot2.#modelTranslation[2];\r\n }\r\n return this.#worldTransform;\r\n }\r\n\r\n /** Updates and returns the model-center world position. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses an out-last signature for output parameters.\")\r\n UpdateModelCenterWorldPosition(time, out = vec3.create())\r\n {\r\n this.UpdateWorldTransform(time);\r\n mat4.fromRotationTranslationScale(this.#localTransform, this.rotation, this.translation, this.scaling);\r\n // Carbon (row-vector): currentTransform * m_worldTransform - local first.\r\n mat4.multiply(EveEffectRoot2.#centerTransform, this.#worldTransform, this.#localTransform);\r\n return vec3.transformMat4(out, this.boundingSphereCenter, EveEffectRoot2.#centerTransform);\r\n }\r\n\r\n /** Returns the last model-center world position without advancing curves. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses an out-last signature for output parameters.\")\r\n GetModelCenterWorldPosition(out = vec3.create())\r\n {\r\n return vec3.transformMat4(out, this.boundingSphereCenter, this.#lastUpdateMatrix);\r\n }\r\n\r\n /** Effect roots do not expose a local AABB in Carbon. */\r\n @carbon.method\r\n @impl.noop\r\n GetLocalBoundingBox(_min, _max)\r\n {\r\n return false;\r\n }\r\n\r\n /** Returns the last composed local-to-world transform. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS returns the caller-owned output matrix.\")\r\n GetLocalToWorldTransform(out = mat4.create())\r\n {\r\n return mat4.copy(out, this.#lastUpdateMatrix);\r\n }\r\n\r\n /** Registers every child with an injected quad renderer. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The quad renderer is an injected engine-owned capability.\")\r\n RegisterWithQuadRenderer(quadRenderer)\r\n {\r\n for (const child of this.effectChildren) child?.RegisterWithQuadRenderer?.(quadRenderer);\r\n }\r\n\r\n /** Adds visible child quads to an injected renderer. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The quad renderer is an injected engine-owned capability.\")\r\n AddQuadsToQuadRenderer(frustum, quadRenderer)\r\n {\r\n if (!this.display) return;\r\n for (const child of this.effectChildren) child?.AddQuadsToQuadRenderer?.(frustum, quadRenderer);\r\n }\r\n\r\n /** Carbon EveEffectRoot2::RegisterComponents (cpp:496-513): LightOwner when\r\n * lights are authored, then forwards the effect children. Gate m_display. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.display)\r\n {\r\n if (this.lights.length)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n for (const child of this.effectChildren)\r\n {\r\n child?.Register?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveEffectRoot2::UnRegisterComponents (cpp:515-528): forwards the\r\n * effect children only (own components were already removed by\r\n * EveEntity::UnRegister, EveEntity.cpp:90); no display re-check. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const child of this.effectChildren)\r\n {\r\n child?.UnRegister?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Adds authored lights using the effect's composed placement and average scale. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The light manager is an injected engine-owned capability.\")\r\n GetLights(lightManager)\r\n {\r\n if (!this.display) return;\r\n const transform = this.#lastUpdateMatrix;\r\n const scale = (\r\n Math.hypot(transform[0], transform[1], transform[2]) +\r\n Math.hypot(transform[4], transform[5], transform[6]) +\r\n Math.hypot(transform[8], transform[9], transform[10])\r\n ) / 3;\r\n for (const light of this.lights) light?.AddLight?.(lightManager, transform, scale);\r\n }\r\n\r\n /** Adds an authored light. */\r\n @carbon.method\r\n @impl.implemented\r\n AddLight(light)\r\n {\r\n this.lights.push(light);\r\n return light;\r\n }\r\n\r\n /** Removes all authored lights. */\r\n @carbon.method\r\n @impl.implemented\r\n ClearLights()\r\n {\r\n this.lights.length = 0;\r\n }\r\n\r\n /** Initializes the portable child-facing space-object records. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Native constant-buffer structs are represented by GPU-free value records.\")\r\n GetPerObjectStructs(vsData = new EveSpaceObjectVSData(), psData = new EveSpaceObjectPSData())\r\n {\r\n EveEffectRoot2.#ZeroNumericRecord(vsData);\r\n EveEffectRoot2.#ZeroNumericRecord(psData);\r\n vsData.shipData[1] = 1;\r\n vsData.shipData[3] = 1;\r\n psData.shipData[1] = 1;\r\n psData.shipData[3] = 1;\r\n return { vsData, psData };\r\n }\r\n\r\n /** Registers this root as a secondary light source with an injected manager. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The SH lighting manager is injected; Trinity owns only the authored source values.\")\r\n RegisterSecondaryLightSource(manager)\r\n {\r\n return manager?.RegisterSecondaryLightSource?.(\r\n this.#worldTransform.subarray(12, 15),\r\n this.#secondaryLightingSphereRadiusWorld,\r\n EveEffectRoot2.#noAlbedo,\r\n this.secondaryLightingEmissiveColor\r\n );\r\n }\r\n\r\n /** Unregisters this root from an injected secondary-light manager. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The SH lighting manager is injected; Trinity owns only the authored source values.\")\r\n UnregisterSecondaryLightSource(manager)\r\n {\r\n return manager?.UnregisterSecondaryLightSource?.(this.#worldTransform.subarray(12, 15));\r\n }\r\n\r\n /** Plays root and child-owned curve sets. */\r\n @carbon.method\r\n @impl.implemented\r\n Start()\r\n {\r\n for (const curveSet of this.curveSets) curveSet?.Play?.();\r\n for (const child of this.effectChildren)\r\n {\r\n if (child?.PlayAllCurveSets) child.PlayAllCurveSets();\r\n else child?.PlayCurveSets?.();\r\n }\r\n }\r\n\r\n /** Stops root and child-owned curve sets. */\r\n @carbon.method\r\n @impl.implemented\r\n Stop()\r\n {\r\n for (const curveSet of this.curveSets) curveSet?.Stop?.();\r\n for (const child of this.effectChildren)\r\n {\r\n if (child?.StopAllCurveSets) child.StopAllCurveSets();\r\n else child?.StopCurveSets?.();\r\n }\r\n }\r\n\r\n /** Effect roots have no damage locators. */\r\n @carbon.method\r\n @impl.noop\r\n GetDamageLocatorCount()\r\n {\r\n return 0;\r\n }\r\n\r\n /** Returns the detached root translation as the sole target point. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses output parameters last and returns the targetable validity flag.\")\r\n GetDamageLocatorPosition(_index, _inWorldSpace, out = vec3.create())\r\n {\r\n vec3.set(out, this.#worldTransform[12], this.#worldTransform[13], this.#worldTransform[14]);\r\n return true;\r\n }\r\n\r\n /** Returns Carbon's constant +Y target direction. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses output parameters last and returns the targetable validity flag.\")\r\n GetDamageLocatorDirection(_index, _inWorldSpace, out = vec3.create())\r\n {\r\n vec3.set(out, 0, 1, 0);\r\n return true;\r\n }\r\n\r\n /** Tests whether a projectile has reached the root target point. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses an out-last signature for output parameters.\")\r\n GetImpactPosition(locator, _posPrev, posNow, epsilon, out = vec3.create())\r\n {\r\n this.GetDamageLocatorPosition(locator, true, out);\r\n return vec3.squaredDistance(posNow, out) < Number(epsilon);\r\n }\r\n\r\n /** Effect roots never use shield impact geometry. */\r\n @carbon.method\r\n @impl.noop\r\n HasImpactConfigurationShield()\r\n {\r\n return false;\r\n }\r\n\r\n /** Effect roots use their only target point. */\r\n @carbon.method\r\n @impl.noop\r\n GetClosestDamageLocatorIndex(_position)\r\n {\r\n return 0;\r\n }\r\n\r\n /** Effect roots use their only target point. */\r\n @carbon.method\r\n @impl.noop\r\n GetGoodDamageLocatorIndex(_position)\r\n {\r\n return 0;\r\n }\r\n\r\n /** Returns the authored target radius. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRadius()\r\n {\r\n return this.boundingSphereRadius;\r\n }\r\n\r\n /** Effect roots do not create attached impact overlays. */\r\n @carbon.method\r\n @impl.noop\r\n CreateImpact(_damageLocatorIndex, _direction, _lifeTime, _size)\r\n {\r\n return -1;\r\n }\r\n\r\n /** Effect roots do not update attached impact overlays. */\r\n @carbon.method\r\n @impl.noop\r\n UpdateImpact(_out, _direction, _impactIndex)\r\n {\r\n return false;\r\n }\r\n\r\n /** Returns the detached root world position. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS returns the caller-owned output vector.\")\r\n GetWorldPosition(out = vec3.create())\r\n {\r\n return vec3.set(out, this.#worldTransform[12], this.#worldTransform[13], this.#worldTransform[14]);\r\n }\r\n\r\n /** Returns the authored local rotation composed with the detached root rotation. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS returns the caller-owned output quaternion.\")\r\n GetWorldRotation(out = quat.create())\r\n {\r\n mat4.getRotation(EveEffectRoot2.#worldRotation, this.#worldTransform);\r\n // Carbon (row-vector): m_rotation * RotationQuaternion(world) - local first.\r\n quat.multiply(out, EveEffectRoot2.#worldRotation, this.rotation);\r\n return quat.normalize(out, out);\r\n }\r\n\r\n /** Computes a miss point just outside the root's spherical silhouette. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMissPosition(hit, source, out = vec3.create())\r\n {\r\n this.GetDamageLocatorPosition(-1, true, out);\r\n if (!hit || !source) return out;\r\n vec3.subtract(EveEffectRoot2.#missOffset, hit, out);\r\n vec3.subtract(EveEffectRoot2.#missDirection, hit, source);\r\n const directionLength = vec3.length(EveEffectRoot2.#missDirection);\r\n if (directionLength) vec3.scale(EveEffectRoot2.#missDirection, EveEffectRoot2.#missDirection, 1 / directionLength);\r\n vec3.scaleAndAdd(\r\n EveEffectRoot2.#missOffset,\r\n EveEffectRoot2.#missOffset,\r\n EveEffectRoot2.#missDirection,\r\n -vec3.dot(EveEffectRoot2.#missDirection, EveEffectRoot2.#missOffset)\r\n );\r\n const offsetLength = vec3.length(EveEffectRoot2.#missOffset);\r\n if (offsetLength) vec3.scale(EveEffectRoot2.#missOffset, EveEffectRoot2.#missOffset, 1 / offsetLength);\r\n return vec3.scaleAndAdd(out, out, EveEffectRoot2.#missOffset, this.boundingSphereRadius * 1.125);\r\n }\r\n\r\n /** Returns the owned effect-child list. */\r\n @carbon.method\r\n @impl.implemented\r\n GetChildren()\r\n {\r\n return this.effectChildren;\r\n }\r\n\r\n /** Decomposes a matrix into the authored local SRT fields. */\r\n @carbon.method\r\n @impl.implemented\r\n SetTransform(transform)\r\n {\r\n mat4.getScaling(this.scaling, transform);\r\n mat4.getRotation(this.rotation, transform);\r\n mat4.getTranslation(this.translation, transform);\r\n }\r\n\r\n /** Plays matching root and child curve sets. */\r\n @carbon.method\r\n @impl.implemented\r\n PlayCurveSet(name, rangeName = \"\")\r\n {\r\n const target = String(name ?? \"\");\r\n for (const curveSet of this.curveSets)\r\n {\r\n if ((curveSet?.GetName?.() ?? curveSet?.name) !== target) continue;\r\n if (rangeName) curveSet?.PlayTimeRange?.(rangeName);\r\n else\r\n {\r\n curveSet?.ResetTimeRange?.();\r\n curveSet?.Play?.();\r\n }\r\n }\r\n for (const child of this.effectChildren) child?.PlayCurveSet?.(target, rangeName);\r\n }\r\n\r\n /** Stops matching root and child curve sets. */\r\n @carbon.method\r\n @impl.implemented\r\n StopCurveSet(name)\r\n {\r\n const target = String(name ?? \"\");\r\n for (const curveSet of this.curveSets)\r\n {\r\n if ((curveSet?.GetName?.() ?? curveSet?.name) === target) curveSet?.Stop?.();\r\n }\r\n for (const child of this.effectChildren) child?.StopCurveSet?.(target);\r\n }\r\n\r\n /** Samples matching root and child curve sets at an explicit time. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateCurveSet(name, time)\r\n {\r\n const target = String(name ?? \"\");\r\n for (const curveSet of this.curveSets)\r\n {\r\n if ((curveSet?.GetName?.() ?? curveSet?.name) === target) curveSet?.Update?.(time, time);\r\n }\r\n for (const child of this.effectChildren) child?.UpdateCurveSet?.(target, time);\r\n }\r\n\r\n /** Returns the maximum duration of matching root and child curve sets. */\r\n @carbon.method\r\n @impl.implemented\r\n GetCurveSetDuration(name)\r\n {\r\n const target = String(name ?? \"\");\r\n let duration = 0;\r\n for (const curveSet of this.curveSets)\r\n {\r\n if ((curveSet?.GetName?.() ?? curveSet?.name) === target)\r\n {\r\n duration = Math.max(duration, Number(curveSet?.GetMaxCurveDuration?.() ?? 0));\r\n }\r\n }\r\n for (const child of this.effectChildren)\r\n {\r\n duration = Math.max(duration, Number(child?.GetCurveSetDuration?.(target) ?? 0));\r\n }\r\n return duration;\r\n }\r\n\r\n /** Returns the maximum named range duration in matching root and child sets. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRangeDuration(name, rangeName)\r\n {\r\n const target = String(name ?? \"\");\r\n let duration = 0;\r\n for (const curveSet of this.curveSets)\r\n {\r\n if ((curveSet?.GetName?.() ?? curveSet?.name) === target)\r\n {\r\n duration = Math.max(duration, Number(curveSet?.GetRangeDuration?.(rangeName) ?? 0));\r\n }\r\n }\r\n for (const child of this.effectChildren)\r\n {\r\n duration = Math.max(duration, Number(child?.GetRangeDuration?.(target, rangeName) ?? 0));\r\n }\r\n return duration;\r\n }\r\n\r\n /** Collects the Carbon debug-option names and child options. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The debug renderer/options collection is an injected engine-owned capability.\")\r\n GetDebugOptions(options = new Set())\r\n {\r\n options.add?.(\"Bounding Sphere\");\r\n options.add?.(\"Lights\");\r\n for (const observer of this.observers) observer?.GetDebugOptions?.(options);\r\n for (const child of this.effectChildren) child?.GetDebugOptions?.(options);\r\n return options;\r\n }\r\n\r\n /** Forwards root debug geometry to an injected debug renderer. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The debug renderer is an injected engine-owned capability.\")\r\n RenderDebugInfo(renderer)\r\n {\r\n if (renderer?.HasOption?.(this, \"Bounding Sphere\"))\r\n {\r\n renderer?.DrawSphere?.(this, this.boundingSphereCenter, this.boundingSphereRadius, 8, \"wireframe\", 0xffff00ff);\r\n }\r\n for (const child of this.effectChildren) child?.RenderDebugInfo?.(renderer);\r\n if (renderer?.HasOption?.(this, \"Lights\"))\r\n {\r\n for (const light of this.lights) light?.RenderDebugInfo?.(renderer, this.#worldTransform);\r\n }\r\n for (const observer of this.observers) observer?.RenderDebugInfo?.(renderer);\r\n }\r\n\r\n /** Stores and propagates a controller variable to current and future members. */\r\n @carbon.method\r\n @impl.implemented\r\n SetControllerVariable(name, value)\r\n {\r\n const key = String(name ?? \"\");\r\n const next = Number(value);\r\n this.#controllerVariables.set(key, next);\r\n for (const controller of this.controllers) controller?.SetVariable?.(key, next);\r\n for (const child of this.effectChildren) child?.SetControllerVariable?.(key, next);\r\n }\r\n\r\n /** Propagates an event to controllers and effect children. */\r\n @carbon.method\r\n @impl.implemented\r\n HandleControllerEvent(name)\r\n {\r\n const eventName = String(name ?? \"\");\r\n for (const controller of this.controllers) controller?.HandleEvent?.(eventName);\r\n for (const child of this.effectChildren) child?.HandleControllerEvent?.(eventName);\r\n }\r\n\r\n /** Starts controllers on the root and its effect children. */\r\n @carbon.method\r\n @impl.implemented\r\n StartControllers()\r\n {\r\n for (const controller of this.controllers) controller?.Start?.();\r\n for (const child of this.effectChildren) child?.StartControllers?.();\r\n }\r\n\r\n /** Finds a named direct effect child. */\r\n @carbon.method\r\n @impl.implemented\r\n GetEffectChildByName(name)\r\n {\r\n const target = String(name ?? \"\");\r\n for (const child of this.effectChildren)\r\n {\r\n if ((child?.GetName?.() ?? child?.name ?? \"\") === target) return child;\r\n }\r\n return null;\r\n }\r\n\r\n /** Adds and initializes an effect child through Carbon's list-notify behavior. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Plain JavaScript arrays have no Blue IList notifications, so insertion behavior is explicit.\")\r\n AddToEffectChildrenList(child)\r\n {\r\n this.effectChildren.push(child);\r\n EveEffectRoot2.#ApplyControllerVariables(child, this.#controllerVariables, \"SetControllerVariable\");\r\n child?.StartControllers?.();\r\n return child;\r\n }\r\n\r\n /** Removes an effect child. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Plain JavaScript arrays have no Blue IList notifications, so removal behavior is explicit.\")\r\n RemoveFromEffectChildrenList(child)\r\n {\r\n const index = this.effectChildren.indexOf(child);\r\n if (index === -1) return false;\r\n this.effectChildren.splice(index, 1);\r\n return true;\r\n }\r\n\r\n /** Applies a shader option to every effect child. */\r\n @carbon.method\r\n @impl.implemented\r\n SetShaderOption(name, value)\r\n {\r\n for (const child of this.effectChildren) child?.SetShaderOption?.(name, value);\r\n }\r\n\r\n /** Finds a named observer or child-owned sound emitter. */\r\n @carbon.method\r\n @impl.implemented\r\n FindSoundEmitter(name)\r\n {\r\n const target = String(name ?? \"\");\r\n for (const observer of this.observers)\r\n {\r\n if ((observer?.name ?? \"\") === target)\r\n {\r\n return typeof observer.GetObserver === \"function\" ? observer.GetObserver() : observer.observer ?? null;\r\n }\r\n }\r\n for (const child of this.effectChildren)\r\n {\r\n const emitter = child?.FindSoundEmitter?.(target);\r\n if (emitter) return emitter;\r\n }\r\n return null;\r\n }\r\n\r\n /** Adds a placement observer. */\r\n @carbon.method\r\n @impl.implemented\r\n AddObserver(observer)\r\n {\r\n this.observers.push(observer);\r\n return observer;\r\n }\r\n\r\n /** Applies the mute state to effect children and placement observers. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The explicit setter replaces Carbon's Blue field-notify callback.\")\r\n SetMute(isMute)\r\n {\r\n this.mute = !!isMute;\r\n for (const child of this.effectChildren) child?.SetMute?.(this.mute);\r\n for (const observer of this.observers) observer?.SetMute?.(this.mute);\r\n }\r\n\r\n /** Freezes every child at Carbon's high-detail LOD. */\r\n @carbon.method\r\n @impl.implemented\r\n FreezeHighDetailMesh()\r\n {\r\n this.lodLevel = Tr2Lod.TR2_LOD_HIGH;\r\n this.#changeLOD = false;\r\n for (const child of this.effectChildren) child?.ChangeLOD?.(this.lodLevel);\r\n }\r\n\r\n /** Propagates a procedural-container variable to every effect child. */\r\n @carbon.method\r\n @impl.implemented\r\n SetProceduralContainerVariable(name, value)\r\n {\r\n for (const child of this.effectChildren) child?.SetProceduralContainerVariable?.(name, value);\r\n }\r\n\r\n #CreateChildUpdateParams()\r\n {\r\n const params = new EveChildUpdateParams();\r\n params.spaceObjectParent = this;\r\n params.isVisible = this.display;\r\n mat4.copy(params.localToWorldTransform, this.#lastUpdateMatrix);\r\n return params;\r\n }\r\n\r\n static #ApplyControllerVariables(target, variables, methodName)\r\n {\r\n const setter = target?.[methodName];\r\n if (typeof setter !== \"function\") return;\r\n for (const [name, value] of variables) setter.call(target, name, value);\r\n }\r\n\r\n static #GetContextValue(context, methodName, ...propertyNames)\r\n {\r\n const method = context?.[methodName];\r\n if (typeof method === \"function\") return Number(method.call(context)) || 0;\r\n for (const propertyName of propertyNames)\r\n {\r\n if (context?.[propertyName] !== undefined && context?.[propertyName] !== null)\r\n {\r\n return Number(context[propertyName]) || 0;\r\n }\r\n }\r\n return 0;\r\n }\r\n\r\n static #UpdateCurve(curve, time, out, fallback)\r\n {\r\n if (!curve)\r\n {\r\n for (let index = 0; index < out.length; index++) out[index] = fallback[index];\r\n return out;\r\n }\r\n let result;\r\n if (typeof curve.Update === \"function\") result = curve.Update(time, out);\r\n else if (typeof curve.GetValueAt === \"function\") result = curve.GetValueAt(time, out);\r\n if ((Array.isArray(result) || ArrayBuffer.isView(result)) && result !== out)\r\n {\r\n for (let index = 0; index < out.length; index++) out[index] = result[index];\r\n }\r\n return out;\r\n }\r\n\r\n static #ZeroNumericRecord(record)\r\n {\r\n for (const [name, value] of Object.entries(record))\r\n {\r\n if (typeof value === \"number\") record[name] = 0;\r\n else if (ArrayBuffer.isView(value)) value.fill(0);\r\n else if (Array.isArray(value))\r\n {\r\n for (let index = 0; index < value.length; index++)\r\n {\r\n if (typeof value[index] === \"number\") value[index] = 0;\r\n else if (ArrayBuffer.isView(value[index])) value[index].fill(0);\r\n }\r\n }\r\n }\r\n }\r\n\r\n static #identity = mat4.create();\r\n static #centerTransform = mat4.create();\r\n static #localSphere = vec4.create();\r\n static #worldSphere = vec4.create();\r\n static #zero = vec3.create();\r\n static #translation = vec3.create();\r\n static #modelTranslation = vec3.create();\r\n static #missOffset = vec3.create();\r\n static #missDirection = vec3.create();\r\n static #identityRotation = quat.create();\r\n static #rotation = quat.create();\r\n static #modelRotation = quat.create();\r\n static #worldRotation = quat.create();\r\n static #noAlbedo = vec4.create();\r\n\r\n static Tr2Lod = Tr2Lod;\r\n\r\n}\r\n"],"names":["_EveEffectRoot","_identity","EveEffectRoot2","EveEntity","e","_init_effectChildren","_init_extra_effectChildren","_init_estimatedSize","_init_extra_estimatedSize","_init_lodLevel","_init_extra_lodLevel","_init_mute","_init_extra_mute","_init_display","_init_extra_display","_init_name","_init_extra_name","_init_dynamicLOD","_init_extra_dynamicLOD","_init_scaling","_init_extra_scaling","_init_rotation","_init_extra_rotation","_init_translation","_init_extra_translation","_init_duration","_init_extra_duration","_init_secondaryLightingEmissiveColor","_init_extra_secondaryLightingEmissiveColor","_init_curveSets","_init_extra_curveSets","_init_lights","_init_extra_lights","_init_externalParameters","_init_extra_externalParameters","_init_controllers","_init_extra_controllers","_init_observers","_init_extra_observers","_init_rotationCurve","_init_extra_rotationCurve","_init_secondaryLightingSphereRadius","_init_extra_secondaryLightingSphereRadius","_init_boundingSphereCenter","_init_extra_boundingSphereCenter","_init_boundingSphereRadius","_init_extra_boundingSphereRadius","_init_modelTranslationCurve","_init_extra_modelTranslationCurve","_init_modelRotationCurve","_init_extra_modelRotationCurve","_init_translationCurve","_init_extra_translationCurve","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","list","read","float32","int32","schema","enum","notify","readwrite","boolean","string","vec3","quat","color","model","impl","adapted","reason","carbon","method","implemented","noop","effectChildren","estimatedSize","lodLevel","Tr2Lod","TR2_LOD_HIGH","mute","display","name","dynamicLOD","scaling","fromValues","rotation","create","translation","duration","secondaryLightingEmissiveColor","vec4","curveSets","lights","externalParameters","controllers","observers","rotationCurve","secondaryLightingSphereRadius","boundingSphereCenter","boundingSphereRadius","modelTranslationCurve","modelRotationCurve","translationCurve","Map","mat4","Initialize","controller","IsLinked","Link","AddController","push","RemoveController","index","indexOf","splice","Unlink","UpdateSyncronous","updateContext","time","UpdateWorldTransform","fromRotationTranslationScale","multiply","observer","Update","length","params","child","UpdateAsyncronous","frequency","threshold","Math","min","UpdateControllers","curveSet","controllerUpdateFrequency","UpdateVisibility","parentTransform","GetBoundingSphere","sph3","transformMat4","frustum","GetFrustum","IsSphereVisible","Number","GetPixelSizeAccross","oldLod","TR2_LOD_LOW","medium","low","TR2_LOD_MEDIUM","GetRenderables","out","ChangeLOD","updateFrequency","set","GetBoundingSphereRadius","fromRotationTranslation","UpdateModelCenterWorldPosition","GetModelCenterWorldPosition","GetLocalBoundingBox","_min","_max","GetLocalToWorldTransform","copy","RegisterWithQuadRenderer","quadRenderer","AddQuadsToQuadRenderer","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","Register","UnRegisterComponents","UnRegister","GetLights","lightManager","transform","scale","hypot","light","AddLight","ClearLights","GetPerObjectStructs","vsData","EveSpaceObjectVSData","psData","EveSpaceObjectPSData","shipData","RegisterSecondaryLightSource","manager","subarray","UnregisterSecondaryLightSource","Start","Play","PlayAllCurveSets","PlayCurveSets","Stop","StopAllCurveSets","StopCurveSets","GetDamageLocatorCount","GetDamageLocatorPosition","_index","_inWorldSpace","GetDamageLocatorDirection","GetImpactPosition","locator","_posPrev","posNow","epsilon","squaredDistance","HasImpactConfigurationShield","GetClosestDamageLocatorIndex","_position","GetGoodDamageLocatorIndex","GetRadius","CreateImpact","_damageLocatorIndex","_direction","_lifeTime","_size","UpdateImpact","_out","_impactIndex","GetWorldPosition","GetWorldRotation","getRotation","normalize","GetMissPosition","hit","source","subtract","directionLength","scaleAndAdd","dot","offsetLength","GetChildren","SetTransform","getScaling","getTranslation","PlayCurveSet","rangeName","target","String","GetName","PlayTimeRange","ResetTimeRange","StopCurveSet","UpdateCurveSet","GetCurveSetDuration","max","GetMaxCurveDuration","GetRangeDuration","GetDebugOptions","options","Set","add","RenderDebugInfo","renderer","HasOption","DrawSphere","SetControllerVariable","value","key","next","SetVariable","HandleControllerEvent","eventName","HandleEvent","StartControllers","GetEffectChildByName","AddToEffectChildrenList","RemoveFromEffectChildrenList","SetShaderOption","FindSoundEmitter","GetObserver","emitter","AddObserver","SetMute","isMute","FreezeHighDetailMesh","SetProceduralContainerVariable","#CreateChildUpdateParams","EveChildUpdateParams","spaceObjectParent","isVisible","localToWorldTransform","#ApplyControllerVariables","variables","methodName","setter","call","#GetContextValue","context","propertyNames","propertyName","undefined","#UpdateCurve","curve","fallback","result","GetValueAt","Array","isArray","ArrayBuffer","isView","#ZeroNumericRecord","record","Object","entries","fill","constructor"],"mappings":";;;;;;;;;;;;;;;AAc2D,IAAAA;AAAA,IAAA,cAAAC,SAAA,CAAA;AAAA,EAAA,QAG3D,MAAAC,cAAA,SACoCC,UAAS,CAC7C;AAAA,IAAA;AAAA,MAAA,CAAA;QAAAC,CAAA,EAAA,CAAAC,oBAAA,EAAAC,0BAAA,EAAAC,mBAAA,EAAAC,yBAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,oCAAA,EAAAC,0CAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,8BAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,mBAAA,EAAAC,yBAAA,EAAAC,mCAAA,EAAAC,yCAAA,EAAAC,0BAAA,EAAAC,gCAAA,EAAAC,0BAAA,EAAAC,gCAAA,EAAAC,2BAAA,EAAAC,iCAAA,EAAAC,wBAAA,EAAAC,8BAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,UAAA,CAAA;QAAAC,CAAA,EAAA,CAAAtD,cAAA,EAAAuD,UAAA;AAAA,OAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,gBAAgB;AAAEC,QAAAA,MAAM,EAAE;AAAkB,OAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAKrEC,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACM,IAAI,CAAC,sBAAsB,CAAC,4BAIjCF,EAAE,EAAFA,EAAE,CAACG,IAAI,EACPP,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAIZJ,EAAE,EAAFA,EAAE,CAACG,IAAI,EACPP,IAAI,EAAJA,IAAI,CAACS,KAAK,EAAA,MAAA,EACVC,MAAM,CAACC,IAAI,CAAC,QAAQ,CAAC,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAIrBP,EAAE,EAAFA,EAAE,CAACQ,MAAM,EACTR,EAAE,EAAFA,EAAE,CAACS,SAAS,EACZb,IAAI,EAAJA,IAAI,CAACc,OAAO,kBAIZV,EAAE,EAAFA,EAAE,CAACQ,MAAM,EACTR,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACc,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAIZV,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACe,MAAM,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAIXX,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACc,OAAO,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAIZV,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACgB,IAAI,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAITZ,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACiB,IAAI,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAITb,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACgB,IAAI,yBAITZ,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAIZJ,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACkB,KAAK,4CAIVd,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACM,IAAI,CAAC,aAAa,CAAC,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAIxBF,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACM,IAAI,CAAC,UAAU,CAAC,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAIrBF,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACM,IAAI,CAAC,sBAAsB,CAAC,gCAIjCF,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACM,IAAI,CAAC,gBAAgB,CAAC,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAI3BF,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACM,IAAI,CAAC,kBAAkB,CAAC,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAI7BF,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACmB,KAAK,CAAC,wBAAwB,CAAC,2BAIpCf,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,+BAAA,CAAA,EAAA,CAAA,CAIZY,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,0HAA0H,CAAC,EACvIlB,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACgB,IAAI,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAITZ,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACQ,OAAO,kCAIZJ,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACmB,KAAK,CAAC,oBAAoB,CAAC,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAIhCf,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACmB,KAAK,CAAC,wBAAwB,CAAC,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAIpCf,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACmB,KAAK,CAAC,oBAAoB,CAAC,8BAWhCI,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,8EAA8E,CAAC,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAY3FC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,8FAA8F,CAAC,CAAA,EAAA,EAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAU3GC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,4FAA4F,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAWzGC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,sGAAsG,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAqBnHC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,UACZD,IAAI,CAACE,MAAM,CAAC,gHAAgH,CAAC,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CA8B7HC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,UACZD,IAAI,CAACE,MAAM,CAAC,sGAAsG,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CA+BnHC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAchBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAOhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAchBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,CAOhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,0EAA0E,CAAC,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAyBvFC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,kEAAkE,CAAC,4CAW/EC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,kEAAkE,CAAC,yCAO/EC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACM,IAAI,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAOTH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,wDAAwD,CAAC,CAAA,EAAA,EAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,CAOrEC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,2DAA2D,CAAC,sCAOxEC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,2DAA2D,CAAC,CAAA,EAAA,EAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,CASxEC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAoBhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAchBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,2DAA2D,CAAC,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAcxEC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAQhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAOhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,UACZD,IAAI,CAACE,MAAM,CAAC,2EAA2E,CAAC,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAaxFC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,UACZD,IAAI,CAACE,MAAM,CAAC,oFAAoF,CAAC,CAAA,EAAA,EAAA,EAAA,8BAAA,CAAA,EAAA,CAAA,CAYjGC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,oFAAoF,CAAC,CAAA,EAAA,EAAA,EAAA,gCAAA,CAAA,EAAA,CAAA,CAOjGC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAYhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAYhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACM,IAAI,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAOTH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,sFAAsF,CAAC,CAAA,EAAA,EAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,CAQnGC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,UACZD,IAAI,CAACE,MAAM,CAAC,sFAAsF,CAAC,CAAA,EAAA,EAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,CAQnGC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,UACZD,IAAI,CAACE,MAAM,CAAC,kEAAkE,CAAC,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAQ/EC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACM,IAAI,CAAA,EAAA,EAAA,EAAA,8BAAA,CAAA,EAAA,CAAA,CAOTH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACM,IAAI,CAAA,EAAA,EAAA,EAAA,8BAAA,CAAA,EAAA,CAAA,CAOTH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACM,IAAI,CAAA,EAAA,EAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,CAOTH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAOhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACM,IAAI,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAOTH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACM,IAAI,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAOTH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,wDAAwD,CAAC,8BAOrEC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,4DAA4D,CAAC,8BAUzEC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAqBhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAOhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAShBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAkBhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAYhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAYhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAoBhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAoBhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,+EAA+E,CAAC,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAW5FC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,UACZD,IAAI,CAACE,MAAM,CAAC,4DAA4D,CAAC,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAgBzEC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAWhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAShBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAQhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAYhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,8FAA8F,CAAC,CAAA,EAAA,EAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,CAU3GC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,4FAA4F,CAAC,0CAUzGC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAOhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,8BAoBhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAQhBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,mEAAmE,CAAC,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAShFC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAShBF,MAAM,EAANA,MAAM,CAACC,MAAM,EACbJ,IAAI,EAAJA,IAAI,CAACK,WAAW,sDAz5BiB/E,UAAS,CAAA;AAAA;AAG3C;AAGAiF,IAAAA,cAAc,IAAA/B,UAAA,CAAA,IAAA,CAAA,EAAAhD,oBAAA,OAAG,EAAE,CAAA;;AAEnB;AAGAgF,IAAAA,aAAa,IAAA/E,0BAAA,CAAA,IAAA,CAAA,EAAAC,mBAAA,OAAG,CAAC,CAAA;;AAEjB;AAIA+E,IAAAA,QAAQ,IAAA9E,yBAAA,CAAA,IAAA,CAAA,EAAAC,cAAA,CAAA,IAAA,EAAG8E,MAAM,CAACC,YAAY,CAAA;;AAE9B;AAIAC,IAAAA,IAAI,IAAA/E,oBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,KAAK,CAAA;;AAEZ;AAIA+E,IAAAA,OAAO,IAAA9E,gBAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,IAAI,CAAA;;AAEd;AAGA8E,IAAAA,IAAI,IAAA7E,mBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,EAAE,CAAA;;AAET;AAGA6E,IAAAA,UAAU,IAAA5E,gBAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAG,KAAK,CAAA;;AAElB;AAGA4E,IAAAA,OAAO,IAAA3E,sBAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAGsD,IAAI,CAACqB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;;AAElC;IAGAC,QAAQ,IAAA3E,mBAAA,CAAA,IAAA,CAAA,EAAAC,cAAA,OAAGqD,IAAI,CAACsB,MAAM,EAAE,CAAA;;AAExB;IAGAC,WAAW,IAAA3E,oBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAGkD,IAAI,CAACuB,MAAM,EAAE,CAAA;;AAE3B;AAGAE,IAAAA,QAAQ,IAAA1E,uBAAA,CAAA,IAAA,CAAA,EAAAC,cAAA,CAAA,IAAA,EAAG,EAAE,CAAA;;AAEb;IAGA0E,8BAA8B,IAAAzE,oBAAA,CAAA,IAAA,CAAA,EAAAC,oCAAA,OAAGyE,IAAI,CAACJ,MAAM,EAAE,CAAA;;AAE9C;AAGAK,IAAAA,SAAS,IAAAzE,0CAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,EAAE,CAAA;;AAEd;AAGAyE,IAAAA,MAAM,IAAAxE,qBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,EAAE,CAAA;;AAEX;AAGAwE,IAAAA,kBAAkB,IAAAvE,kBAAA,CAAA,IAAA,CAAA,EAAAC,wBAAA,OAAG,EAAE,CAAA;;AAEvB;AAGAuE,IAAAA,WAAW,IAAAtE,8BAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,EAAE,CAAA;;AAEhB;AAGAsE,IAAAA,SAAS,IAAArE,uBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,EAAE,CAAA;;AAEd;AAGAqE,IAAAA,aAAa,IAAApE,qBAAA,CAAA,IAAA,CAAA,EAAAC,mBAAA,OAAG,IAAI,CAAA;;AAEpB;AAGAoE,IAAAA,6BAA6B,IAAAnE,yBAAA,CAAA,IAAA,CAAA,EAAAC,mCAAA,OAAG,GAAG,CAAA;;AAEnC;IAKAmE,oBAAoB,IAAAlE,yCAAA,CAAA,IAAA,CAAA,EAAAC,0BAAA,OAAG8B,IAAI,CAACuB,MAAM,EAAE,CAAA;;AAEpC;AAGAa,IAAAA,oBAAoB,IAAAjE,gCAAA,CAAA,IAAA,CAAA,EAAAC,0BAAA,OAAG,CAAC,CAAA;;AAExB;AAGAiE,IAAAA,qBAAqB,IAAAhE,gCAAA,CAAA,IAAA,CAAA,EAAAC,2BAAA,OAAG,IAAI,CAAA;;AAE5B;AAGAgE,IAAAA,kBAAkB,IAAA/D,iCAAA,CAAA,IAAA,CAAA,EAAAC,wBAAA,OAAG,IAAI,CAAA;;AAEzB;AAGA+D,IAAAA,gBAAgB,IAAA9D,8BAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,IAAI,CAAA;AAEvB,IAAA,UAAU,IAAAC,4BAAA,CAAA,IAAA,CAAA,EAAG,IAAI;AACjB,IAAA,oBAAoB,GAAG,IAAI6D,GAAG,EAAE;AAChC,IAAA,iBAAiB,GAAGC,IAAI,CAAClB,MAAM,EAAE;AACjC,IAAA,eAAe,GAAGkB,IAAI,CAAClB,MAAM,EAAE;IAC/B,mCAAmC,GAAG,GAAG;AACzC,IAAA,eAAe,GAAGkB,IAAI,CAAClB,MAAM,EAAE;;AAE/B;AAIAmB,IAAAA,UAAUA,GACV;AACE,MAAA,KAAK,MAAMC,UAAU,IAAI,IAAI,CAACZ,WAAW,EACzC;AACE,QAAA,IAAI,CAACY,UAAU,EAAEC,QAAQ,IAAI,EAAED,UAAU,EAAEE,IAAI,GAAG,IAAI,CAAC;AACvDpH,QAAAA,cAAc,CAAC,yBAAyB,CAACkH,UAAU,EAAE,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC;AAChG,MAAA;AACA,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;IAIAG,aAAaA,CAACH,UAAU,EACxB;AACE,MAAA,IAAI,CAACZ,WAAW,CAACgB,IAAI,CAACJ,UAAU,CAAC;AACjC,MAAA,IAAI,CAACA,UAAU,EAAEC,QAAQ,IAAI,EAAED,UAAU,EAAEE,IAAI,GAAG,IAAI,CAAC;AACvDpH,MAAAA,cAAc,CAAC,yBAAyB,CAACkH,UAAU,EAAE,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC;AAC9F,MAAA,OAAOA,UAAU;AACnB,IAAA;;AAEA;IAIAK,gBAAgBA,CAACL,UAAU,EAC3B;MACE,MAAMM,KAAK,GAAG,IAAI,CAAClB,WAAW,CAACmB,OAAO,CAACP,UAAU,CAAC;AAClD,MAAA,IAAIM,KAAK,KAAK,EAAE,EAAE,OAAO,KAAK;MAC9B,IAAI,CAAClB,WAAW,CAACoB,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;MACjCN,UAAU,EAAES,MAAM,IAAI;AACtB,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AAIAC,IAAAA,gBAAgBA,CAACC,aAAa,GAAG,IAAI,EACrC;AACE,MAAA,MAAMC,IAAI,GAAG9H,cAAc,CAAC,gBAAgB,CAAC6H,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;AAC7F,MAAA,IAAI,CAACE,oBAAoB,CAACD,IAAI,CAAC;AAC/Bd,MAAAA,IAAI,CAACgB,4BAA4B,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAACnC,QAAQ,EAAE,IAAI,CAACE,WAAW,EAAE,IAAI,CAACJ,OAAO,CAAC;AACtG;AACAqB,MAAAA,IAAI,CAACiB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC;AACjF,MAAA,IAAI,CAAC,mCAAmC,GAAG,IAAI,CAACxB,6BAA6B,IAC1E,IAAI,CAACd,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAACA,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAACA,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAE3D,MAAA,KAAK,MAAMuC,QAAQ,IAAI,IAAI,CAAC3B,SAAS,EAAE2B,QAAQ,EAAEC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;AACjF,MAAA,IAAI,IAAI,CAACjD,cAAc,CAACkD,MAAM,EAC9B;AACE,QAAA,MAAMC,MAAM,GAAG,IAAI,CAAC,wBAAwB,EAAE;AAC9C,QAAA,KAAK,MAAMC,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAEV,gBAAgB,GAAGC,aAAa,EAAEQ,MAAM,CAAC;AAC3F,MAAA;AACA,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AAIAE,IAAAA,iBAAiBA,CAACV,aAAa,GAAG,IAAI,EACtC;MACE,IAAIW,SAAS,GAAG,CAAC;MACjB,IAAI,IAAI,CAAChD,OAAO,EAChB;QACE,IAAI,IAAI,CAACE,UAAU,EACnB;AACE,UAAA,MAAM+C,SAAS,GAAGzI,cAAc,CAAC,gBAAgB,CAAC6H,aAAa,EAAE,wBAAwB,EAAE,qBAAqB,CAAC;AACjH,UAAA,IAAIY,SAAS,GAAG,CAAC,EAAED,SAAS,GAAGE,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,IAAI,CAACxD,aAAa,GAAGsD,SAAS,CAAC;AAC5E,QAAA,CAAC,MAED;AACED,UAAAA,SAAS,GAAG,GAAG;AACjB,QAAA;AACF,MAAA;AAEA,MAAA,IAAI,CAACI,iBAAiB,CAACJ,SAAS,CAAC;AACjC,MAAA,MAAMV,IAAI,GAAG9H,cAAc,CAAC,gBAAgB,CAAC6H,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;AAC7F,MAAA,KAAK,MAAMgB,QAAQ,IAAI,IAAI,CAAC1C,SAAS,EAAE0C,QAAQ,EAAEV,MAAM,GAAGL,IAAI,EAAEA,IAAI,CAAC;AACrE,MAAA,IAAI,IAAI,CAAC5C,cAAc,CAACkD,MAAM,EAC9B;AACE,QAAA,MAAMC,MAAM,GAAG,IAAI,CAAC,wBAAwB,EAAE;QAC9CA,MAAM,CAACS,yBAAyB,GAAGN,SAAS;AAC5C,QAAA,KAAK,MAAMF,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAEC,iBAAiB,GAAGV,aAAa,EAAEQ,MAAM,CAAC;AAC5F,MAAA;AACA,MAAA,OAAOG,SAAS;AAClB,IAAA;;AAEA;IAIAO,gBAAgBA,CAAClB,aAAa,GAAG,IAAI,EAAEmB,eAAe,GAAGhJ,cAAc,CAAC,SAAS,EACjF;AACE,MAAA,IAAI,CAAC,IAAI,CAACwF,OAAO,EAAE,OAAO,KAAK;MAC/B,IAAI,IAAI,CAACE,UAAU,EACnB;AACE,QAAA,IAAI,CAACuD,iBAAiB,CAACjJ,cAAc,CAAC,YAAY,CAAC;AACnDkJ,QAAAA,IAAI,CAACC,aAAa,CAACnJ,cAAc,CAAC,YAAY,EAAEA,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;QAClG,MAAMoJ,OAAO,GAAGvB,aAAa,EAAEwB,UAAU,IAAI,IAAIxB,aAAa,EAAEuB,OAAO;QACvE,IAAIA,OAAO,EAAEE,eAAe,GAAGtJ,cAAc,CAAC,YAAY,CAAC,KAAK,KAAK,EACrE;UACE,IAAI,CAACmF,aAAa,GAAGoE,MAAM,CAACH,OAAO,EAAEI,mBAAmB,GAAGxJ,cAAc,CAAC,YAAY,CAAC,IAAI,IAAI,CAACmF,aAAa,CAAC,IAAI,CAAC;AACrH,QAAA;AAEA,QAAA,MAAMsE,MAAM,GAAG,IAAI,CAACrE,QAAQ;AAC5B,QAAA,IAAI,CAACA,QAAQ,GAAGC,MAAM,CAACqE,WAAW;AAClC,QAAA,MAAMC,MAAM,GAAG3J,cAAc,CAAC,gBAAgB,CAAC6H,aAAa,EAAE,0BAA0B,EAAE,uBAAuB,CAAC;AAClH,QAAA,MAAM+B,GAAG,GAAG5J,cAAc,CAAC,gBAAgB,CAAC6H,aAAa,EAAE,uBAAuB,EAAE,oBAAoB,CAAC;AACzG,QAAA,IAAI,IAAI,CAAC1C,aAAa,IAAIwE,MAAM,EAAE,IAAI,CAACvE,QAAQ,GAAGC,MAAM,CAACC,YAAY,CAAC,KACjE,IAAI,IAAI,CAACH,aAAa,IAAIyE,GAAG,EAAE,IAAI,CAACxE,QAAQ,GAAGC,MAAM,CAACwE,cAAc;QACzE,IAAI,CAAC,UAAU,KAAKJ,MAAM,KAAK,IAAI,CAACrE,QAAQ;AAC9C,MAAA;AAEA,MAAA,KAAK,MAAMkD,KAAK,IAAI,IAAI,CAACpD,cAAc,EACvC;QACEoD,KAAK,EAAES,gBAAgB,GAAGlB,aAAa,EAAEmB,eAAe,EAAE,IAAI,CAAC5D,QAAQ,CAAC;AAC1E,MAAA;AACA,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AAGA0E,IAAAA,cAAcA,CAACC,GAAG,GAAG,EAAE,EACvB;AACE,MAAA,IAAI,CAAC,IAAI,CAACvE,OAAO,EAAE,OAAOuE,GAAG;AAC7B,MAAA,IAAI,IAAI,CAAC,UAAU,EACnB;AACE,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,QAAA,KAAK,MAAMzB,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAE0B,SAAS,GAAG,IAAI,CAAC5E,QAAQ,CAAC;AAC5E,MAAA;AACA,MAAA,KAAK,MAAMkD,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAEwB,cAAc,GAAGC,GAAG,CAAC;AACrE,MAAA,OAAOA,GAAG;AACZ,IAAA;;AAEA;IAGAnB,iBAAiBA,CAACqB,eAAe,EACjC;AACE,MAAA,KAAK,MAAM/C,UAAU,IAAI,IAAI,CAACZ,WAAW,EAAEY,UAAU,EAAEiB,MAAM,GAAG8B,eAAe,CAAC;AAClF,IAAA;;AAEA;IAGAhB,iBAAiBA,CAACc,GAAG,GAAG7D,IAAI,CAACJ,MAAM,EAAE,EACrC;AACEI,MAAAA,IAAI,CAACgE,GAAG,CACNH,GAAG,EACH,IAAI,CAACrD,oBAAoB,CAAC,CAAC,CAAC,EAC5B,IAAI,CAACA,oBAAoB,CAAC,CAAC,CAAC,EAC5B,IAAI,CAACA,oBAAoB,CAAC,CAAC,CAAC,EAC5B,IAAI,CAACC,oBACP,CAAC;AACD,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AAGAwD,IAAAA,uBAAuBA,GACvB;MACE,OAAO,IAAI,CAACxD,oBAAoB;AAClC,IAAA;;AAEA;IAIAoB,oBAAoBA,CAACD,IAAI,EACzB;AACE9H,MAAAA,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC8G,gBAAgB,EAAEgB,IAAI,EAAE9H,cAAc,CAAC,YAAY,EAAEA,cAAc,CAAC,KAAK,CAAC;AAC3GA,MAAAA,cAAc,CAAC,YAAY,CAAC,IAAI,CAACwG,aAAa,EAAEsB,IAAI,EAAE9H,cAAc,CAAC,SAAS,EAAEA,cAAc,CAAC,iBAAiB,CAAC;MACjH,IAAI,IAAI,CAAC6G,kBAAkB,EAC3B;AACE7G,QAAAA,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC6G,kBAAkB,EAAEiB,IAAI,EAAE9H,cAAc,CAAC,cAAc,EAAEA,cAAc,CAAC,iBAAiB,CAAC;AAC3H;AACAwE,QAAAA,IAAI,CAACyD,QAAQ,CAACjI,cAAc,CAAC,SAAS,EAAEA,cAAc,CAAC,SAAS,EAAEA,cAAc,CAAC,cAAc,CAAC;AAClG,MAAA;AAEAgH,MAAAA,IAAI,CAACoD,uBAAuB,CAAC,IAAI,CAAC,eAAe,EAAEpK,cAAc,CAAC,SAAS,EAAEA,cAAc,CAAC,YAAY,CAAC;MACzG,IAAI,IAAI,CAAC4G,qBAAqB,EAC9B;AACE5G,QAAAA,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC4G,qBAAqB,EAAEkB,IAAI,EAAE9H,cAAc,CAAC,iBAAiB,EAAEA,cAAc,CAAC,KAAK,CAAC;AACrHuE,QAAAA,IAAI,CAAC4E,aAAa,CAACnJ,cAAc,CAAC,iBAAiB,EAAEA,cAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,eAAe,CAAC;AAC5G,QAAA,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAGA,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC9D,QAAA,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAGA,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC9D,QAAA,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAGA,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAChE,MAAA;MACA,OAAO,IAAI,CAAC,eAAe;AAC7B,IAAA;;AAEA;IAIAqK,8BAA8BA,CAACvC,IAAI,EAAEiC,GAAG,GAAGxF,IAAI,CAACuB,MAAM,EAAE,EACxD;AACE,MAAA,IAAI,CAACiC,oBAAoB,CAACD,IAAI,CAAC;AAC/Bd,MAAAA,IAAI,CAACgB,4BAA4B,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAACnC,QAAQ,EAAE,IAAI,CAACE,WAAW,EAAE,IAAI,CAACJ,OAAO,CAAC;AACtG;AACAqB,MAAAA,IAAI,CAACiB,QAAQ,CAACjI,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC;AAC1F,MAAA,OAAOuE,IAAI,CAAC4E,aAAa,CAACY,GAAG,EAAE,IAAI,CAACrD,oBAAoB,EAAE1G,cAAc,CAAC,gBAAgB,CAAC;AAC5F,IAAA;;AAEA;IAIAsK,2BAA2BA,CAACP,GAAG,GAAGxF,IAAI,CAACuB,MAAM,EAAE,EAC/C;AACE,MAAA,OAAOvB,IAAI,CAAC4E,aAAa,CAACY,GAAG,EAAE,IAAI,CAACrD,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACnF,IAAA;;AAEA;AAGA6D,IAAAA,mBAAmBA,CAACC,IAAI,EAAEC,IAAI,EAC9B;AACE,MAAA,OAAO,KAAK;AACd,IAAA;;AAEA;IAIAC,wBAAwBA,CAACX,GAAG,GAAG/C,IAAI,CAAClB,MAAM,EAAE,EAC5C;MACE,OAAOkB,IAAI,CAAC2D,IAAI,CAACZ,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC;AAC/C,IAAA;;AAEA;IAIAa,wBAAwBA,CAACC,YAAY,EACrC;AACE,MAAA,KAAK,MAAMvC,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAEsC,wBAAwB,GAAGC,YAAY,CAAC;AAC1F,IAAA;;AAEA;AAIAC,IAAAA,sBAAsBA,CAAC1B,OAAO,EAAEyB,YAAY,EAC5C;AACE,MAAA,IAAI,CAAC,IAAI,CAACrF,OAAO,EAAE;AACnB,MAAA,KAAK,MAAM8C,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAEwC,sBAAsB,GAAG1B,OAAO,EAAEyB,YAAY,CAAC;AACjG,IAAA;;AAEA;AACF;AAGEE,IAAAA,kBAAkBA,GAClB;AACE,MAAA,MAAMC,QAAQ,GAAG,IAAI,CAACC,oBAAoB,EAAE;AAC5C,MAAA,IAAID,QAAQ,IAAI,IAAI,CAACxF,OAAO,EAC5B;AACE,QAAA,IAAI,IAAI,CAACY,MAAM,CAACgC,MAAM,EACtB;UACE4C,QAAQ,CAACE,iBAAiB,CAACC,gBAAgB,CAACC,UAAU,EAAE,IAAI,CAAC;AAC/D,QAAA;AACA,QAAA,KAAK,MAAM9C,KAAK,IAAI,IAAI,CAACpD,cAAc,EACvC;AACEoD,UAAAA,KAAK,EAAE+C,QAAQ,GAAGL,QAAQ,CAAC;AAC7B,QAAA;AACF,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AAGEM,IAAAA,oBAAoBA,GACpB;AACE,MAAA,MAAMN,QAAQ,GAAG,IAAI,CAACC,oBAAoB,EAAE;AAC5C,MAAA,IAAID,QAAQ,EACZ;AACE,QAAA,KAAK,MAAM1C,KAAK,IAAI,IAAI,CAACpD,cAAc,EACvC;AACEoD,UAAAA,KAAK,EAAEiD,UAAU,GAAGP,QAAQ,CAAC;AAC/B,QAAA;AACF,MAAA;AACF,IAAA;;AAEA;IAIAQ,SAASA,CAACC,YAAY,EACtB;AACE,MAAA,IAAI,CAAC,IAAI,CAACjG,OAAO,EAAE;AACnB,MAAA,MAAMkG,SAAS,GAAG,IAAI,CAAC,iBAAiB;AACxC,MAAA,MAAMC,KAAK,GAAG,CACZjD,IAAI,CAACkD,KAAK,CAACF,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,CAAC,GACpDhD,IAAI,CAACkD,KAAK,CAACF,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,CAAC,GACpDhD,IAAI,CAACkD,KAAK,CAACF,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,EAAE,CAAC,CAAC,IACnD,CAAC;AACL,MAAA,KAAK,MAAMG,KAAK,IAAI,IAAI,CAACzF,MAAM,EAAEyF,KAAK,EAAEC,QAAQ,GAAGL,YAAY,EAAEC,SAAS,EAAEC,KAAK,CAAC;AACpF,IAAA;;AAEA;IAGAG,QAAQA,CAACD,KAAK,EACd;AACE,MAAA,IAAI,CAACzF,MAAM,CAACkB,IAAI,CAACuE,KAAK,CAAC;AACvB,MAAA,OAAOA,KAAK;AACd,IAAA;;AAEA;AAGAE,IAAAA,WAAWA,GACX;AACE,MAAA,IAAI,CAAC3F,MAAM,CAACgC,MAAM,GAAG,CAAC;AACxB,IAAA;;AAEA;AAIA4D,IAAAA,mBAAmBA,CAACC,MAAM,GAAG,IAAIC,qBAAoB,EAAE,EAAEC,MAAM,GAAG,IAAIC,qBAAoB,EAAE,EAC5F;AACEpM,MAAAA,cAAc,CAAC,kBAAkB,CAACiM,MAAM,CAAC;AACzCjM,MAAAA,cAAc,CAAC,kBAAkB,CAACmM,MAAM,CAAC;AACzCF,MAAAA,MAAM,CAACI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;AACtBJ,MAAAA,MAAM,CAACI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;AACtBF,MAAAA,MAAM,CAACE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;AACtBF,MAAAA,MAAM,CAACE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;MACtB,OAAO;QAAEJ,MAAM;AAAEE,QAAAA;OAAQ;AAC3B,IAAA;;AAEA;IAIAG,4BAA4BA,CAACC,OAAO,EACpC;AACE,MAAA,OAAOA,OAAO,EAAED,4BAA4B,GAC1C,IAAI,CAAC,eAAe,CAACE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EACrC,IAAI,CAAC,mCAAmC,EACxCxM,cAAc,CAAC,SAAS,EACxB,IAAI,CAACiG,8BACP,CAAC;AACH,IAAA;;AAEA;IAIAwG,8BAA8BA,CAACF,OAAO,EACtC;AACE,MAAA,OAAOA,OAAO,EAAEE,8BAA8B,GAAG,IAAI,CAAC,eAAe,CAACD,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACzF,IAAA;;AAEA;AAGAE,IAAAA,KAAKA,GACL;MACE,KAAK,MAAM7D,QAAQ,IAAI,IAAI,CAAC1C,SAAS,EAAE0C,QAAQ,EAAE8D,IAAI,IAAI;AACzD,MAAA,KAAK,MAAMrE,KAAK,IAAI,IAAI,CAACpD,cAAc,EACvC;AACE,QAAA,IAAIoD,KAAK,EAAEsE,gBAAgB,EAAEtE,KAAK,CAACsE,gBAAgB,EAAE,CAAC,KACjDtE,KAAK,EAAEuE,aAAa,IAAI;AAC/B,MAAA;AACF,IAAA;;AAEA;AAGAC,IAAAA,IAAIA,GACJ;MACE,KAAK,MAAMjE,QAAQ,IAAI,IAAI,CAAC1C,SAAS,EAAE0C,QAAQ,EAAEiE,IAAI,IAAI;AACzD,MAAA,KAAK,MAAMxE,KAAK,IAAI,IAAI,CAACpD,cAAc,EACvC;AACE,QAAA,IAAIoD,KAAK,EAAEyE,gBAAgB,EAAEzE,KAAK,CAACyE,gBAAgB,EAAE,CAAC,KACjDzE,KAAK,EAAE0E,aAAa,IAAI;AAC/B,MAAA;AACF,IAAA;;AAEA;AAGAC,IAAAA,qBAAqBA,GACrB;AACE,MAAA,OAAO,CAAC;AACV,IAAA;;AAEA;AAIAC,IAAAA,wBAAwBA,CAACC,MAAM,EAAEC,aAAa,EAAErD,GAAG,GAAGxF,IAAI,CAACuB,MAAM,EAAE,EACnE;AACEvB,MAAAA,IAAI,CAAC2F,GAAG,CAACH,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;AAC3F,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AAIAsD,IAAAA,yBAAyBA,CAACF,MAAM,EAAEC,aAAa,EAAErD,GAAG,GAAGxF,IAAI,CAACuB,MAAM,EAAE,EACpE;MACEvB,IAAI,CAAC2F,GAAG,CAACH,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACtB,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AAIAuD,IAAAA,iBAAiBA,CAACC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,OAAO,EAAE3D,GAAG,GAAGxF,IAAI,CAACuB,MAAM,EAAE,EACzE;MACE,IAAI,CAACoH,wBAAwB,CAACK,OAAO,EAAE,IAAI,EAAExD,GAAG,CAAC;AACjD,MAAA,OAAOxF,IAAI,CAACoJ,eAAe,CAACF,MAAM,EAAE1D,GAAG,CAAC,GAAGR,MAAM,CAACmE,OAAO,CAAC;AAC5D,IAAA;;AAEA;AAGAE,IAAAA,4BAA4BA,GAC5B;AACE,MAAA,OAAO,KAAK;AACd,IAAA;;AAEA;IAGAC,4BAA4BA,CAACC,SAAS,EACtC;AACE,MAAA,OAAO,CAAC;AACV,IAAA;;AAEA;IAGAC,yBAAyBA,CAACD,SAAS,EACnC;AACE,MAAA,OAAO,CAAC;AACV,IAAA;;AAEA;AAGAE,IAAAA,SAASA,GACT;MACE,OAAO,IAAI,CAACrH,oBAAoB;AAClC,IAAA;;AAEA;IAGAsH,YAAYA,CAACC,mBAAmB,EAAEC,UAAU,EAAEC,SAAS,EAAEC,KAAK,EAC9D;AACE,MAAA,OAAO,EAAE;AACX,IAAA;;AAEA;AAGAC,IAAAA,YAAYA,CAACC,IAAI,EAAEJ,UAAU,EAAEK,YAAY,EAC3C;AACE,MAAA,OAAO,KAAK;AACd,IAAA;;AAEA;IAIAC,gBAAgBA,CAAC1E,GAAG,GAAGxF,IAAI,CAACuB,MAAM,EAAE,EACpC;AACE,MAAA,OAAOvB,IAAI,CAAC2F,GAAG,CAACH,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;AACpG,IAAA;;AAEA;IAIA2E,gBAAgBA,CAAC3E,GAAG,GAAGvF,IAAI,CAACsB,MAAM,EAAE,EACpC;AACEkB,MAAAA,IAAI,CAAC2H,WAAW,CAAC3O,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC;AACrE;AACAwE,MAAAA,IAAI,CAACyD,QAAQ,CAAC8B,GAAG,EAAE/J,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC6F,QAAQ,CAAC;AAChE,MAAA,OAAOrB,IAAI,CAACoK,SAAS,CAAC7E,GAAG,EAAEA,GAAG,CAAC;AACjC,IAAA;;AAEA;AAGA8E,IAAAA,eAAeA,CAACC,GAAG,EAAEC,MAAM,EAAEhF,GAAG,GAAGxF,IAAI,CAACuB,MAAM,EAAE,EAChD;MACE,IAAI,CAACoH,wBAAwB,CAAC,EAAE,EAAE,IAAI,EAAEnD,GAAG,CAAC;AAC5C,MAAA,IAAI,CAAC+E,GAAG,IAAI,CAACC,MAAM,EAAE,OAAOhF,GAAG;MAC/BxF,IAAI,CAACyK,QAAQ,CAAChP,cAAc,CAAC,WAAW,EAAE8O,GAAG,EAAE/E,GAAG,CAAC;MACnDxF,IAAI,CAACyK,QAAQ,CAAChP,cAAc,CAAC,cAAc,EAAE8O,GAAG,EAAEC,MAAM,CAAC;MACzD,MAAME,eAAe,GAAG1K,IAAI,CAAC6D,MAAM,CAACpI,cAAc,CAAC,cAAc,CAAC;AAClE,MAAA,IAAIiP,eAAe,EAAE1K,IAAI,CAACoH,KAAK,CAAC3L,cAAc,CAAC,cAAc,EAAEA,cAAc,CAAC,cAAc,EAAE,CAAC,GAAGiP,eAAe,CAAC;AAClH1K,MAAAA,IAAI,CAAC2K,WAAW,CACdlP,cAAc,CAAC,WAAW,EAC1BA,cAAc,CAAC,WAAW,EAC1BA,cAAc,CAAC,cAAc,EAC7B,CAACuE,IAAI,CAAC4K,GAAG,CAACnP,cAAc,CAAC,cAAc,EAAEA,cAAc,CAAC,WAAW,CACrE,CAAC;MACD,MAAMoP,YAAY,GAAG7K,IAAI,CAAC6D,MAAM,CAACpI,cAAc,CAAC,WAAW,CAAC;AAC5D,MAAA,IAAIoP,YAAY,EAAE7K,IAAI,CAACoH,KAAK,CAAC3L,cAAc,CAAC,WAAW,EAAEA,cAAc,CAAC,WAAW,EAAE,CAAC,GAAGoP,YAAY,CAAC;AACtG,MAAA,OAAO7K,IAAI,CAAC2K,WAAW,CAACnF,GAAG,EAAEA,GAAG,EAAE/J,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC2G,oBAAoB,GAAG,KAAK,CAAC;AAClG,IAAA;;AAEA;AAGA0I,IAAAA,WAAWA,GACX;MACE,OAAO,IAAI,CAACnK,cAAc;AAC5B,IAAA;;AAEA;IAGAoK,YAAYA,CAAC5D,SAAS,EACtB;MACE1E,IAAI,CAACuI,UAAU,CAAC,IAAI,CAAC5J,OAAO,EAAE+F,SAAS,CAAC;MACxC1E,IAAI,CAAC2H,WAAW,CAAC,IAAI,CAAC9I,QAAQ,EAAE6F,SAAS,CAAC;MAC1C1E,IAAI,CAACwI,cAAc,CAAC,IAAI,CAACzJ,WAAW,EAAE2F,SAAS,CAAC;AAClD,IAAA;;AAEA;AAGA+D,IAAAA,YAAYA,CAAChK,IAAI,EAAEiK,SAAS,GAAG,EAAE,EACjC;AACE,MAAA,MAAMC,MAAM,GAAGC,MAAM,CAACnK,IAAI,IAAI,EAAE,CAAC;AACjC,MAAA,KAAK,MAAMoD,QAAQ,IAAI,IAAI,CAAC1C,SAAS,EACrC;AACE,QAAA,IAAI,CAAC0C,QAAQ,EAAEgH,OAAO,IAAI,IAAIhH,QAAQ,EAAEpD,IAAI,MAAMkK,MAAM,EAAE;QAC1D,IAAID,SAAS,EAAE7G,QAAQ,EAAEiH,aAAa,GAAGJ,SAAS,CAAC,CAAC,KAEpD;UACE7G,QAAQ,EAAEkH,cAAc,IAAI;UAC5BlH,QAAQ,EAAE8D,IAAI,IAAI;AACpB,QAAA;AACF,MAAA;AACA,MAAA,KAAK,MAAMrE,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAEmH,YAAY,GAAGE,MAAM,EAAED,SAAS,CAAC;AACnF,IAAA;;AAEA;IAGAM,YAAYA,CAACvK,IAAI,EACjB;AACE,MAAA,MAAMkK,MAAM,GAAGC,MAAM,CAACnK,IAAI,IAAI,EAAE,CAAC;AACjC,MAAA,KAAK,MAAMoD,QAAQ,IAAI,IAAI,CAAC1C,SAAS,EACrC;AACE,QAAA,IAAI,CAAC0C,QAAQ,EAAEgH,OAAO,IAAI,IAAIhH,QAAQ,EAAEpD,IAAI,MAAMkK,MAAM,EAAE9G,QAAQ,EAAEiE,IAAI,IAAI;AAC9E,MAAA;AACA,MAAA,KAAK,MAAMxE,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAE0H,YAAY,GAAGL,MAAM,CAAC;AACxE,IAAA;;AAEA;AAGAM,IAAAA,cAAcA,CAACxK,IAAI,EAAEqC,IAAI,EACzB;AACE,MAAA,MAAM6H,MAAM,GAAGC,MAAM,CAACnK,IAAI,IAAI,EAAE,CAAC;AACjC,MAAA,KAAK,MAAMoD,QAAQ,IAAI,IAAI,CAAC1C,SAAS,EACrC;QACE,IAAI,CAAC0C,QAAQ,EAAEgH,OAAO,IAAI,IAAIhH,QAAQ,EAAEpD,IAAI,MAAMkK,MAAM,EAAE9G,QAAQ,EAAEV,MAAM,GAAGL,IAAI,EAAEA,IAAI,CAAC;AAC1F,MAAA;AACA,MAAA,KAAK,MAAMQ,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAE2H,cAAc,GAAGN,MAAM,EAAE7H,IAAI,CAAC;AAChF,IAAA;;AAEA;IAGAoI,mBAAmBA,CAACzK,IAAI,EACxB;AACE,MAAA,MAAMkK,MAAM,GAAGC,MAAM,CAACnK,IAAI,IAAI,EAAE,CAAC;MACjC,IAAIO,QAAQ,GAAG,CAAC;AAChB,MAAA,KAAK,MAAM6C,QAAQ,IAAI,IAAI,CAAC1C,SAAS,EACrC;AACE,QAAA,IAAI,CAAC0C,QAAQ,EAAEgH,OAAO,IAAI,IAAIhH,QAAQ,EAAEpD,IAAI,MAAMkK,MAAM,EACxD;AACE3J,UAAAA,QAAQ,GAAG0C,IAAI,CAACyH,GAAG,CAACnK,QAAQ,EAAEuD,MAAM,CAACV,QAAQ,EAAEuH,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC;AAC/E,QAAA;AACF,MAAA;AACA,MAAA,KAAK,MAAM9H,KAAK,IAAI,IAAI,CAACpD,cAAc,EACvC;AACEc,QAAAA,QAAQ,GAAG0C,IAAI,CAACyH,GAAG,CAACnK,QAAQ,EAAEuD,MAAM,CAACjB,KAAK,EAAE4H,mBAAmB,GAAGP,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAClF,MAAA;AACA,MAAA,OAAO3J,QAAQ;AACjB,IAAA;;AAEA;AAGAqK,IAAAA,gBAAgBA,CAAC5K,IAAI,EAAEiK,SAAS,EAChC;AACE,MAAA,MAAMC,MAAM,GAAGC,MAAM,CAACnK,IAAI,IAAI,EAAE,CAAC;MACjC,IAAIO,QAAQ,GAAG,CAAC;AAChB,MAAA,KAAK,MAAM6C,QAAQ,IAAI,IAAI,CAAC1C,SAAS,EACrC;AACE,QAAA,IAAI,CAAC0C,QAAQ,EAAEgH,OAAO,IAAI,IAAIhH,QAAQ,EAAEpD,IAAI,MAAMkK,MAAM,EACxD;AACE3J,UAAAA,QAAQ,GAAG0C,IAAI,CAACyH,GAAG,CAACnK,QAAQ,EAAEuD,MAAM,CAACV,QAAQ,EAAEwH,gBAAgB,GAAGX,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACrF,QAAA;AACF,MAAA;AACA,MAAA,KAAK,MAAMpH,KAAK,IAAI,IAAI,CAACpD,cAAc,EACvC;QACEc,QAAQ,GAAG0C,IAAI,CAACyH,GAAG,CAACnK,QAAQ,EAAEuD,MAAM,CAACjB,KAAK,EAAE+H,gBAAgB,GAAGV,MAAM,EAAED,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1F,MAAA;AACA,MAAA,OAAO1J,QAAQ;AACjB,IAAA;;AAEA;AAIAsK,IAAAA,eAAeA,CAACC,OAAO,GAAG,IAAIC,GAAG,EAAE,EACnC;AACED,MAAAA,OAAO,CAACE,GAAG,GAAG,iBAAiB,CAAC;AAChCF,MAAAA,OAAO,CAACE,GAAG,GAAG,QAAQ,CAAC;AACvB,MAAA,KAAK,MAAMvI,QAAQ,IAAI,IAAI,CAAC3B,SAAS,EAAE2B,QAAQ,EAAEoI,eAAe,GAAGC,OAAO,CAAC;AAC3E,MAAA,KAAK,MAAMjI,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAEgI,eAAe,GAAGC,OAAO,CAAC;AAC1E,MAAA,OAAOA,OAAO;AAChB,IAAA;;AAEA;IAIAG,eAAeA,CAACC,QAAQ,EACxB;MACE,IAAIA,QAAQ,EAAEC,SAAS,GAAG,IAAI,EAAE,iBAAiB,CAAC,EAClD;AACED,QAAAA,QAAQ,EAAEE,UAAU,GAAG,IAAI,EAAE,IAAI,CAACnK,oBAAoB,EAAE,IAAI,CAACC,oBAAoB,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC;AAChH,MAAA;AACA,MAAA,KAAK,MAAM2B,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAEoI,eAAe,GAAGC,QAAQ,CAAC;MAC3E,IAAIA,QAAQ,EAAEC,SAAS,GAAG,IAAI,EAAE,QAAQ,CAAC,EACzC;AACE,QAAA,KAAK,MAAM/E,KAAK,IAAI,IAAI,CAACzF,MAAM,EAAEyF,KAAK,EAAE6E,eAAe,GAAGC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC;AAC3F,MAAA;AACA,MAAA,KAAK,MAAMzI,QAAQ,IAAI,IAAI,CAAC3B,SAAS,EAAE2B,QAAQ,EAAEwI,eAAe,GAAGC,QAAQ,CAAC;AAC9E,IAAA;;AAEA;AAGAG,IAAAA,qBAAqBA,CAACrL,IAAI,EAAEsL,KAAK,EACjC;AACE,MAAA,MAAMC,GAAG,GAAGpB,MAAM,CAACnK,IAAI,IAAI,EAAE,CAAC;AAC9B,MAAA,MAAMwL,IAAI,GAAG1H,MAAM,CAACwH,KAAK,CAAC;MAC1B,IAAI,CAAC,oBAAoB,CAAC7G,GAAG,CAAC8G,GAAG,EAAEC,IAAI,CAAC;AACxC,MAAA,KAAK,MAAM/J,UAAU,IAAI,IAAI,CAACZ,WAAW,EAAEY,UAAU,EAAEgK,WAAW,GAAGF,GAAG,EAAEC,IAAI,CAAC;AAC/E,MAAA,KAAK,MAAM3I,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAEwI,qBAAqB,GAAGE,GAAG,EAAEC,IAAI,CAAC;AACpF,IAAA;;AAEA;IAGAE,qBAAqBA,CAAC1L,IAAI,EAC1B;AACE,MAAA,MAAM2L,SAAS,GAAGxB,MAAM,CAACnK,IAAI,IAAI,EAAE,CAAC;AACpC,MAAA,KAAK,MAAMyB,UAAU,IAAI,IAAI,CAACZ,WAAW,EAAEY,UAAU,EAAEmK,WAAW,GAAGD,SAAS,CAAC;AAC/E,MAAA,KAAK,MAAM9I,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAE6I,qBAAqB,GAAGC,SAAS,CAAC;AACpF,IAAA;;AAEA;AAGAE,IAAAA,gBAAgBA,GAChB;MACE,KAAK,MAAMpK,UAAU,IAAI,IAAI,CAACZ,WAAW,EAAEY,UAAU,EAAEwF,KAAK,IAAI;MAChE,KAAK,MAAMpE,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAEgJ,gBAAgB,IAAI;AACtE,IAAA;;AAEA;IAGAC,oBAAoBA,CAAC9L,IAAI,EACzB;AACE,MAAA,MAAMkK,MAAM,GAAGC,MAAM,CAACnK,IAAI,IAAI,EAAE,CAAC;AACjC,MAAA,KAAK,MAAM6C,KAAK,IAAI,IAAI,CAACpD,cAAc,EACvC;AACE,QAAA,IAAI,CAACoD,KAAK,EAAEuH,OAAO,IAAI,IAAIvH,KAAK,EAAE7C,IAAI,IAAI,EAAE,MAAMkK,MAAM,EAAE,OAAOrH,KAAK;AACxE,MAAA;AACA,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;IAIAkJ,uBAAuBA,CAAClJ,KAAK,EAC7B;AACE,MAAA,IAAI,CAACpD,cAAc,CAACoC,IAAI,CAACgB,KAAK,CAAC;AAC/BtI,MAAAA,cAAc,CAAC,yBAAyB,CAACsI,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;MACnGA,KAAK,EAAEgJ,gBAAgB,IAAI;AAC3B,MAAA,OAAOhJ,KAAK;AACd,IAAA;;AAEA;IAIAmJ,4BAA4BA,CAACnJ,KAAK,EAClC;MACE,MAAMd,KAAK,GAAG,IAAI,CAACtC,cAAc,CAACuC,OAAO,CAACa,KAAK,CAAC;AAChD,MAAA,IAAId,KAAK,KAAK,EAAE,EAAE,OAAO,KAAK;MAC9B,IAAI,CAACtC,cAAc,CAACwC,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;AACpC,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AAGAkK,IAAAA,eAAeA,CAACjM,IAAI,EAAEsL,KAAK,EAC3B;AACE,MAAA,KAAK,MAAMzI,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAEoJ,eAAe,GAAGjM,IAAI,EAAEsL,KAAK,CAAC;AAChF,IAAA;;AAEA;IAGAY,gBAAgBA,CAAClM,IAAI,EACrB;AACE,MAAA,MAAMkK,MAAM,GAAGC,MAAM,CAACnK,IAAI,IAAI,EAAE,CAAC;AACjC,MAAA,KAAK,MAAMyC,QAAQ,IAAI,IAAI,CAAC3B,SAAS,EACrC;QACE,IAAI,CAAC2B,QAAQ,EAAEzC,IAAI,IAAI,EAAE,MAAMkK,MAAM,EACrC;AACE,UAAA,OAAO,OAAOzH,QAAQ,CAAC0J,WAAW,KAAK,UAAU,GAAG1J,QAAQ,CAAC0J,WAAW,EAAE,GAAG1J,QAAQ,CAACA,QAAQ,IAAI,IAAI;AACxG,QAAA;AACF,MAAA;AACA,MAAA,KAAK,MAAMI,KAAK,IAAI,IAAI,CAACpD,cAAc,EACvC;AACE,QAAA,MAAM2M,OAAO,GAAGvJ,KAAK,EAAEqJ,gBAAgB,GAAGhC,MAAM,CAAC;QACjD,IAAIkC,OAAO,EAAE,OAAOA,OAAO;AAC7B,MAAA;AACA,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;IAGAC,WAAWA,CAAC5J,QAAQ,EACpB;AACE,MAAA,IAAI,CAAC3B,SAAS,CAACe,IAAI,CAACY,QAAQ,CAAC;AAC7B,MAAA,OAAOA,QAAQ;AACjB,IAAA;;AAEA;IAIA6J,OAAOA,CAACC,MAAM,EACd;AACE,MAAA,IAAI,CAACzM,IAAI,GAAG,CAAC,CAACyM,MAAM;AACpB,MAAA,KAAK,MAAM1J,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAEyJ,OAAO,GAAG,IAAI,CAACxM,IAAI,CAAC;AACpE,MAAA,KAAK,MAAM2C,QAAQ,IAAI,IAAI,CAAC3B,SAAS,EAAE2B,QAAQ,EAAE6J,OAAO,GAAG,IAAI,CAACxM,IAAI,CAAC;AACvE,IAAA;;AAEA;AAGA0M,IAAAA,oBAAoBA,GACpB;AACE,MAAA,IAAI,CAAC7M,QAAQ,GAAGC,MAAM,CAACC,YAAY;AACnC,MAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,MAAA,KAAK,MAAMgD,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAE0B,SAAS,GAAG,IAAI,CAAC5E,QAAQ,CAAC;AAC5E,IAAA;;AAEA;AAGA8M,IAAAA,8BAA8BA,CAACzM,IAAI,EAAEsL,KAAK,EAC1C;AACE,MAAA,KAAK,MAAMzI,KAAK,IAAI,IAAI,CAACpD,cAAc,EAAEoD,KAAK,EAAE4J,8BAA8B,GAAGzM,IAAI,EAAEsL,KAAK,CAAC;AAC/F,IAAA;IAEA,wBAAwBoB,GACxB;AACE,MAAA,MAAM9J,MAAM,GAAG,IAAI+J,qBAAoB,EAAE;MACzC/J,MAAM,CAACgK,iBAAiB,GAAG,IAAI;AAC/BhK,MAAAA,MAAM,CAACiK,SAAS,GAAG,IAAI,CAAC9M,OAAO;MAC/BwB,IAAI,CAAC2D,IAAI,CAACtC,MAAM,CAACkK,qBAAqB,EAAE,IAAI,CAAC,iBAAiB,CAAC;AAC/D,MAAA,OAAOlK,MAAM;AACf,IAAA;GA0ED;AAxEQ,EAAA,yBAAyBmK,CAAC7C,MAAM,EAAE8C,SAAS,EAAEC,UAAU,EAC9D;AACE,IAAA,MAAMC,MAAM,GAAGhD,MAAM,GAAG+C,UAAU,CAAC;AACnC,IAAA,IAAI,OAAOC,MAAM,KAAK,UAAU,EAAE;AAClC,IAAA,KAAK,MAAM,CAAClN,IAAI,EAAEsL,KAAK,CAAC,IAAI0B,SAAS,EAAEE,MAAM,CAACC,IAAI,CAACjD,MAAM,EAAElK,IAAI,EAAEsL,KAAK,CAAC;AACzE,EAAA;EAEO,gBAAgB8B,CAACC,OAAO,EAAEJ,UAAU,EAAE,GAAGK,aAAa,EAC7D;AACE,IAAA,MAAMhO,MAAM,GAAG+N,OAAO,GAAGJ,UAAU,CAAC;AACpC,IAAA,IAAI,OAAO3N,MAAM,KAAK,UAAU,EAAE,OAAOwE,MAAM,CAACxE,MAAM,CAAC6N,IAAI,CAACE,OAAO,CAAC,CAAC,IAAI,CAAC;AAC1E,IAAA,KAAK,MAAME,YAAY,IAAID,aAAa,EACxC;AACE,MAAA,IAAID,OAAO,GAAGE,YAAY,CAAC,KAAKC,SAAS,IAAIH,OAAO,GAAGE,YAAY,CAAC,KAAK,IAAI,EAC7E;QACE,OAAOzJ,MAAM,CAACuJ,OAAO,CAACE,YAAY,CAAC,CAAC,IAAI,CAAC;AAC3C,MAAA;AACF,IAAA;AACA,IAAA,OAAO,CAAC;AACV,EAAA;EAEO,YAAYE,CAACC,KAAK,EAAErL,IAAI,EAAEiC,GAAG,EAAEqJ,QAAQ,EAC9C;IACE,IAAI,CAACD,KAAK,EACV;MACE,KAAK,IAAI3L,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGuC,GAAG,CAAC3B,MAAM,EAAEZ,KAAK,EAAE,EAAEuC,GAAG,CAACvC,KAAK,CAAC,GAAG4L,QAAQ,CAAC5L,KAAK,CAAC;AAC7E,MAAA,OAAOuC,GAAG;AACZ,IAAA;AACA,IAAA,IAAIsJ,MAAM;AACV,IAAA,IAAI,OAAOF,KAAK,CAAChL,MAAM,KAAK,UAAU,EAAEkL,MAAM,GAAGF,KAAK,CAAChL,MAAM,CAACL,IAAI,EAAEiC,GAAG,CAAC,CAAC,KACpE,IAAI,OAAOoJ,KAAK,CAACG,UAAU,KAAK,UAAU,EAAED,MAAM,GAAGF,KAAK,CAACG,UAAU,CAACxL,IAAI,EAAEiC,GAAG,CAAC;AACrF,IAAA,IAAI,CAACwJ,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,IAAII,WAAW,CAACC,MAAM,CAACL,MAAM,CAAC,KAAKA,MAAM,KAAKtJ,GAAG,EAC3E;MACE,KAAK,IAAIvC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGuC,GAAG,CAAC3B,MAAM,EAAEZ,KAAK,EAAE,EAAEuC,GAAG,CAACvC,KAAK,CAAC,GAAG6L,MAAM,CAAC7L,KAAK,CAAC;AAC7E,IAAA;AACA,IAAA,OAAOuC,GAAG;AACZ,EAAA;EAEO,kBAAkB4J,CAACC,MAAM,EAChC;AACE,IAAA,KAAK,MAAM,CAACnO,IAAI,EAAEsL,KAAK,CAAC,IAAI8C,MAAM,CAACC,OAAO,CAACF,MAAM,CAAC,EAClD;AACE,MAAA,IAAI,OAAO7C,KAAK,KAAK,QAAQ,EAAE6C,MAAM,CAACnO,IAAI,CAAC,GAAG,CAAC,CAAC,KAC3C,IAAIgO,WAAW,CAACC,MAAM,CAAC3C,KAAK,CAAC,EAAEA,KAAK,CAACgD,IAAI,CAAC,CAAC,CAAC,CAAC,KAC7C,IAAIR,KAAK,CAACC,OAAO,CAACzC,KAAK,CAAC,EAC7B;AACE,QAAA,KAAK,IAAIvJ,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGuJ,KAAK,CAAC3I,MAAM,EAAEZ,KAAK,EAAE,EACjD;AACE,UAAA,IAAI,OAAOuJ,KAAK,CAACvJ,KAAK,CAAC,KAAK,QAAQ,EAAEuJ,KAAK,CAACvJ,KAAK,CAAC,GAAG,CAAC,CAAC,KAClD,IAAIiM,WAAW,CAACC,MAAM,CAAC3C,KAAK,CAACvJ,KAAK,CAAC,CAAC,EAAEuJ,KAAK,CAACvJ,KAAK,CAAC,CAACuM,IAAI,CAAC,CAAC,CAAC;AACjE,QAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA;AAEO,EAAA,SAAS,GAAG/M,IAAI,CAAClB,MAAM,EAAE;AACzB,EAAA,gBAAgB,GAAGkB,IAAI,CAAClB,MAAM,EAAE;AAChC,EAAA,YAAY,GAAGI,IAAI,CAACJ,MAAM,EAAE;AAC5B,EAAA,YAAY,GAAGI,IAAI,CAACJ,MAAM,EAAE;AAC5B,EAAA,KAAK,GAAGvB,IAAI,CAACuB,MAAM,EAAE;AACrB,EAAA,YAAY,GAAGvB,IAAI,CAACuB,MAAM,EAAE;AAC5B,EAAA,iBAAiB,GAAGvB,IAAI,CAACuB,MAAM,EAAE;AACjC,EAAA,WAAW,GAAGvB,IAAI,CAACuB,MAAM,EAAE;AAC3B,EAAA,cAAc,GAAGvB,IAAI,CAACuB,MAAM,EAAE;AAC9B,EAAA,iBAAiB,GAAGtB,IAAI,CAACsB,MAAM,EAAE;AACjC,EAAA,SAAS,GAAGtB,IAAI,CAACsB,MAAM,EAAE;AACzB,EAAA,cAAc,GAAGtB,IAAI,CAACsB,MAAM,EAAE;AAC9B,EAAA,cAAc,GAAGtB,IAAI,CAACsB,MAAM,EAAE;AAC9B,EAAA,SAAS,GAAGI,IAAI,CAACJ,MAAM,EAAE;AAEzBT,EAAAA,MAAM,GAAGA,MAAM;EAAC2O,WAAAA,GAAA;IAAA,KAAA,CAAAlU,cAAA,GAAAuD,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
@@ -0,0 +1,165 @@
1
+ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { mat4 } from '@carbonenginejs/core-math/mat4';
3
+ import { quat } from '@carbonenginejs/core-math/quat';
4
+ import { sph3 } from '@carbonenginejs/core-math/sph3';
5
+ import { vec3 } from '@carbonenginejs/core-math/vec3';
6
+ import { vec4 } from '@carbonenginejs/core-math/vec4';
7
+ import { io, type, carbon, impl } from '@carbonenginejs/core-types/schema';
8
+ import { EveLODHelper, Tr2Lod } from '../EveLODHelper.js';
9
+ import { EveSpaceObject2 as _EveSpaceObject } from './EveSpaceObject2.js';
10
+ import { EveMissileWarhead as _EveMissileWarhead } from './EveMissileWarhead.js';
11
+
12
+ let _initProto, _initClass, _init_warheads, _init_extra_warheads, _init_updateWarheads, _init_extra_updateWarheads, _init_target, _init_extra_target, _init_targetRadius, _init_extra_targetRadius, _init_explosionCallback, _init_extra_explosionCallback;
13
+ let _EveMissile;
14
+ new class extends _identity {
15
+ static [class EveMissile extends _EveSpaceObject {
16
+ static {
17
+ ({
18
+ e: [_init_warheads, _init_extra_warheads, _init_updateWarheads, _init_extra_updateWarheads, _init_target, _init_extra_target, _init_targetRadius, _init_extra_targetRadius, _init_explosionCallback, _init_extra_explosionCallback, _initProto],
19
+ c: [_EveMissile, _initClass]
20
+ } = _applyDecs2311(this, [type.define({
21
+ className: "EveMissile",
22
+ family: "eve/spaceObject"
23
+ })], [[[io, io.persist, void 0, type.list("EveMissileWarhead")], 16, "warheads"], [[io, io.readwrite, type, type.boolean], 16, "updateWarheads"], [[io, io.readwrite, void 0, type.objectRef("ITriTargetable")], 16, "target"], [[io, io.readwrite, type, type.float32], 16, "targetRadius"], [[io, io.readwrite, void 0, type.rawStruct("BlueScriptCallback")], 16, "explosionCallback"], [[carbon, carbon.method, impl, impl.implemented], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "Start"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Targetable output parameters and curve samples use the org-standard out-last convention; CPU flight behavior remains source-faithful.")], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "RebuildMissileBoundingSphere"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The missile owns no renderable; its warheads publish their own backend-neutral records.")], 18, "GetPerObjectData"]], 0, void 0, _EveSpaceObject));
24
+ }
25
+ warheads = (_initProto(this), _init_warheads(this, []));
26
+ updateWarheads = (_init_extra_warheads(this), _init_updateWarheads(this, true));
27
+ target = (_init_extra_updateWarheads(this), _init_target(this, null));
28
+ targetRadius = (_init_extra_target(this), _init_targetRadius(this, 0));
29
+ explosionCallback = (_init_extra_targetRadius(this), _init_explosionCallback(this, null));
30
+ #inheritedStartVelocity = (_init_extra_explosionCallback(this), vec3.create());
31
+ #inheritedVelocity = vec3.create();
32
+ #time = 0;
33
+ #estimatedTotalAliveTime = 1;
34
+ #lastValidSpeed = 0;
35
+ Initialize() {
36
+ super.Initialize();
37
+ for (const warhead of this.warheads) warhead?.EnableParticleEmitting?.(false);
38
+ return true;
39
+ }
40
+ Start(shipVelocity, estimatedFlyingTime) {
41
+ vec3.copy(this.#inheritedVelocity, shipVelocity ?? _EveMissile.#zero);
42
+ this.#estimatedTotalAliveTime = Number(estimatedFlyingTime) || 0;
43
+ for (const warhead of this.warheads) warhead?.EnableParticleEmitting?.(false);
44
+ this.#time = 0;
45
+ vec3.copy(this.#inheritedStartVelocity, this.#inheritedVelocity);
46
+ this.#lastValidSpeed = 0;
47
+ }
48
+ UpdateSyncronous(context) {
49
+ super.UpdateSyncronous(context);
50
+ const time = Number(context?.GetTime?.() ?? context?.currentTime ?? context?.time ?? 0);
51
+ const deltaTime = Number(context?.GetDeltaT?.() ?? context?.deltaTime ?? context?.deltaT ?? 0);
52
+ mat4.identity(_EveMissile.#inverseBallRotation);
53
+ if (this.rotationCurve) {
54
+ sampleCurve(this.rotationCurve, time, _EveMissile.#ballRotation, _EveMissile.#identityRotation);
55
+ quat.invert(_EveMissile.#ballRotation, _EveMissile.#ballRotation);
56
+ mat4.fromQuat(_EveMissile.#inverseBallRotation, _EveMissile.#ballRotation);
57
+ }
58
+ this.#time += deltaTime;
59
+ vec3.set(_EveMissile.#missilePosition, 0, 0, 0);
60
+ vec3.set(_EveMissile.#missileVelocity, 0, 0, 0);
61
+ if (this.translationCurve && this.target) {
62
+ sampleCurve(this.translationCurve, time, _EveMissile.#missilePosition, _EveMissile.#zero);
63
+ sampleDerivative(this.translationCurve, time, _EveMissile.#missileVelocity);
64
+ this.target.GetDamageLocatorPosition?.(-1, true, _EveMissile.#targetPosition);
65
+ const speed = vec3.length(_EveMissile.#missileVelocity);
66
+ if (speed > 0) {
67
+ this.#estimatedTotalAliveTime = this.#time + (vec3.distance(_EveMissile.#missilePosition, _EveMissile.#targetPosition) - this.targetRadius) / speed;
68
+ this.#lastValidSpeed = speed;
69
+ } else if (this.#lastValidSpeed > 0) {
70
+ vec3.subtract(_EveMissile.#missileVelocity, _EveMissile.#missilePosition, _EveMissile.#targetPosition);
71
+ const length = vec3.length(_EveMissile.#missileVelocity);
72
+ if (length) vec3.scale(_EveMissile.#missileVelocity, _EveMissile.#missileVelocity, this.#lastValidSpeed / length);
73
+ }
74
+ }
75
+ vec3.copy(_EveMissile.#worldPosition, this.GetWorldPosition());
76
+ const originShift = context?.GetOriginShift?.() ?? context?.originShift ?? _EveMissile.#zero;
77
+ for (const warhead of this.warheads) {
78
+ if (!warhead) continue;
79
+ const event = warhead.UpdateState(deltaTime, this.#estimatedTotalAliveTime, this.target);
80
+ if (warhead.GetState() !== _EveMissileWarhead.State.STATE_DEAD) {
81
+ vec3.copy(_EveMissile.#locatorPosition, _EveMissile.#worldPosition);
82
+ if (this.target) this.target.GetDamageLocatorPosition?.(warhead.GetTargetLocator(), true, _EveMissile.#locatorPosition);
83
+ vec3.subtract(_EveMissile.#locatorOffset, _EveMissile.#locatorPosition, _EveMissile.#worldPosition);
84
+ vec3.transformMat4(_EveMissile.#locatorOffset, _EveMissile.#locatorOffset, _EveMissile.#inverseBallRotation);
85
+ mat4.fromTranslation(_EveMissile.#locatorTransform, _EveMissile.#locatorOffset);
86
+ warhead.UpdateEndTransform(_EveMissile.#locatorTransform, event === _EveMissileWarhead.StateChangeEvent.EVT_SWITCH_TARGET);
87
+ if (this.updateWarheads) {
88
+ warhead.UpdateWarhead(deltaTime, this.#estimatedTotalAliveTime, _EveMissile.#missileVelocity, this.#inheritedVelocity, _EveMissile.#inverseBallRotation, this.worldTransform, originShift);
89
+ }
90
+ warhead.Update(context);
91
+ }
92
+ const impactEvent = warhead.CheckImpact(deltaTime, this.#estimatedTotalAliveTime, this.target);
93
+ if (impactEvent === _EveMissileWarhead.StateChangeEvent.EVT_EXPLODE) callExplosionCallback(this.explosionCallback, warhead.GetWarheadID());
94
+ }
95
+ this.RebuildMissileBoundingSphere();
96
+ return true;
97
+ }
98
+ UpdateVisibility(context, _parentTransform = _EveMissile.#identity) {
99
+ for (const warhead of this.warheads) {
100
+ if (!warhead) continue;
101
+ mat4.multiply(_EveMissile.#warheadTransform, this.worldTransform, warhead.GetCurrentOffsetTransform());
102
+ warhead.UpdateVisibility(context, _EveMissile.#warheadTransform);
103
+ this.lodLevel = EveLODHelper.MergeLOD(this.lodLevel, warhead.GetLODLevel?.() ?? Tr2Lod.TR2_LOD_UNSPECIFIED);
104
+ }
105
+ return true;
106
+ }
107
+ GetRenderables(out = []) {
108
+ for (const warhead of this.warheads) warhead?.GetRenderables?.(out);
109
+ return out;
110
+ }
111
+ GetBoundingSphere(out = vec4.create()) {
112
+ vec4.set(_EveMissile.#localSphere, this.boundingSphereCenter[0], this.boundingSphereCenter[1], this.boundingSphereCenter[2], this.boundingSphereRadius);
113
+ sph3.transformMat4(out, _EveMissile.#localSphere, this.worldTransform);
114
+ return true;
115
+ }
116
+ RebuildMissileBoundingSphere() {
117
+ vec4.set(_EveMissile.#mergedSphere, 0, 0, 0, 0);
118
+ for (const warhead of this.warheads) {
119
+ if (!warhead?.GetLocalBoundingSphere?.(_EveMissile.#warheadSphere)) continue;
120
+ sph3.union(_EveMissile.#mergedSphere, _EveMissile.#mergedSphere, _EveMissile.#warheadSphere);
121
+ }
122
+ vec3.set(this.boundingSphereCenter, _EveMissile.#mergedSphere[0], _EveMissile.#mergedSphere[1], _EveMissile.#mergedSphere[2]);
123
+ this.boundingSphereRadius = _EveMissile.#mergedSphere[3];
124
+ return true;
125
+ }
126
+ GetPerObjectData() {
127
+ return null;
128
+ }
129
+ }];
130
+ #zero = vec3.create();
131
+ #identity = mat4.create();
132
+ #identityRotation = quat.create();
133
+ #ballRotation = quat.create();
134
+ #inverseBallRotation = mat4.create();
135
+ #missilePosition = vec3.create();
136
+ #missileVelocity = vec3.create();
137
+ #targetPosition = vec3.create();
138
+ #worldPosition = vec3.create();
139
+ #locatorPosition = vec3.create();
140
+ #locatorOffset = vec3.create();
141
+ #locatorTransform = mat4.create();
142
+ #warheadTransform = mat4.create();
143
+ #localSphere = vec4.create();
144
+ #warheadSphere = vec4.create();
145
+ #mergedSphere = vec4.create();
146
+ constructor() {
147
+ super(_EveMissile), _initClass();
148
+ }
149
+ }();
150
+ function sampleCurve(curve, time, out, fallback) {
151
+ const value = curve?.GetValueAt?.(time, out) ?? curve?.Update?.(time, out);
152
+ if (value?.length >= out.length && value !== out) out.set(value);else if (value === undefined && !curve?.GetValueAt && !curve?.Update) out.set(fallback);
153
+ return out;
154
+ }
155
+ function sampleDerivative(curve, time, out) {
156
+ const value = curve?.GetValueDotAt?.(time, out);
157
+ if (value?.length >= 3 && value !== out) vec3.copy(out, value);else if (!curve?.GetValueDotAt) vec3.set(out, 0, 0, 0);
158
+ return out;
159
+ }
160
+ function callExplosionCallback(callback, id) {
161
+ if (typeof callback === "function") callback(id);else callback?.CallVoid?.(id);
162
+ }
163
+
164
+ export { _EveMissile as EveMissile };
165
+ //# sourceMappingURL=EveMissile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EveMissile.js","sources":["../../../../src/eve/spaceObject/EveMissile.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\EveMissile.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\EveMissile.cpp\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\nimport { quat } from \"@carbonenginejs/core-math/quat\";\nimport { sph3 } from \"@carbonenginejs/core-math/sph3\";\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { EveLODHelper, Tr2Lod } from \"../EveLODHelper.js\";\nimport { EveSpaceObject2 } from \"./EveSpaceObject2.js\";\nimport { EveMissileWarhead } from \"./EveMissileWarhead.js\";\n\n\n@type.define({ className: \"EveMissile\", family: \"eve/spaceObject\" })\nexport class EveMissile extends EveSpaceObject2\n{\n @io.persist @type.list(\"EveMissileWarhead\") warheads = [];\n @io.readwrite @type.boolean updateWarheads = true;\n @io.readwrite @type.objectRef(\"ITriTargetable\") target = null;\n @io.readwrite @type.float32 targetRadius = 0;\n @io.readwrite @type.rawStruct(\"BlueScriptCallback\") explosionCallback = null;\n\n #inheritedStartVelocity = vec3.create();\n #inheritedVelocity = vec3.create();\n #time = 0;\n #estimatedTotalAliveTime = 1;\n #lastValidSpeed = 0;\n\n @carbon.method\n @impl.implemented\n Initialize()\n {\n super.Initialize();\n for (const warhead of this.warheads) warhead?.EnableParticleEmitting?.(false);\n return true;\n }\n\n @carbon.method\n @impl.implemented\n Start(shipVelocity, estimatedFlyingTime)\n {\n vec3.copy(this.#inheritedVelocity, shipVelocity ?? EveMissile.#zero);\n this.#estimatedTotalAliveTime = Number(estimatedFlyingTime) || 0;\n for (const warhead of this.warheads) warhead?.EnableParticleEmitting?.(false);\n this.#time = 0;\n vec3.copy(this.#inheritedStartVelocity, this.#inheritedVelocity);\n this.#lastValidSpeed = 0;\n }\n\n @carbon.method\n @impl.adapted\n @impl.reason(\"Targetable output parameters and curve samples use the org-standard out-last convention; CPU flight behavior remains source-faithful.\")\n UpdateSyncronous(context)\n {\n super.UpdateSyncronous(context);\n const time = Number(context?.GetTime?.() ?? context?.currentTime ?? context?.time ?? 0);\n const deltaTime = Number(context?.GetDeltaT?.() ?? context?.deltaTime ?? context?.deltaT ?? 0);\n mat4.identity(EveMissile.#inverseBallRotation);\n if (this.rotationCurve)\n {\n sampleCurve(this.rotationCurve, time, EveMissile.#ballRotation, EveMissile.#identityRotation);\n quat.invert(EveMissile.#ballRotation, EveMissile.#ballRotation);\n mat4.fromQuat(EveMissile.#inverseBallRotation, EveMissile.#ballRotation);\n }\n this.#time += deltaTime;\n vec3.set(EveMissile.#missilePosition, 0, 0, 0);\n vec3.set(EveMissile.#missileVelocity, 0, 0, 0);\n if (this.translationCurve && this.target)\n {\n sampleCurve(this.translationCurve, time, EveMissile.#missilePosition, EveMissile.#zero);\n sampleDerivative(this.translationCurve, time, EveMissile.#missileVelocity);\n this.target.GetDamageLocatorPosition?.(-1, true, EveMissile.#targetPosition);\n const speed = vec3.length(EveMissile.#missileVelocity);\n if (speed > 0)\n {\n this.#estimatedTotalAliveTime = this.#time + (vec3.distance(EveMissile.#missilePosition, EveMissile.#targetPosition) - this.targetRadius) / speed;\n this.#lastValidSpeed = speed;\n }\n else if (this.#lastValidSpeed > 0)\n {\n vec3.subtract(EveMissile.#missileVelocity, EveMissile.#missilePosition, EveMissile.#targetPosition);\n const length = vec3.length(EveMissile.#missileVelocity);\n if (length) vec3.scale(EveMissile.#missileVelocity, EveMissile.#missileVelocity, this.#lastValidSpeed / length);\n }\n }\n\n vec3.copy(EveMissile.#worldPosition, this.GetWorldPosition());\n const originShift = context?.GetOriginShift?.() ?? context?.originShift ?? EveMissile.#zero;\n for (const warhead of this.warheads)\n {\n if (!warhead) continue;\n const event = warhead.UpdateState(deltaTime, this.#estimatedTotalAliveTime, this.target);\n if (warhead.GetState() !== EveMissileWarhead.State.STATE_DEAD)\n {\n vec3.copy(EveMissile.#locatorPosition, EveMissile.#worldPosition);\n if (this.target) this.target.GetDamageLocatorPosition?.(warhead.GetTargetLocator(), true, EveMissile.#locatorPosition);\n vec3.subtract(EveMissile.#locatorOffset, EveMissile.#locatorPosition, EveMissile.#worldPosition);\n vec3.transformMat4(EveMissile.#locatorOffset, EveMissile.#locatorOffset, EveMissile.#inverseBallRotation);\n mat4.fromTranslation(EveMissile.#locatorTransform, EveMissile.#locatorOffset);\n warhead.UpdateEndTransform(EveMissile.#locatorTransform, event === EveMissileWarhead.StateChangeEvent.EVT_SWITCH_TARGET);\n if (this.updateWarheads)\n {\n warhead.UpdateWarhead(deltaTime, this.#estimatedTotalAliveTime, EveMissile.#missileVelocity, this.#inheritedVelocity, EveMissile.#inverseBallRotation, this.worldTransform, originShift);\n }\n warhead.Update(context);\n }\n const impactEvent = warhead.CheckImpact(deltaTime, this.#estimatedTotalAliveTime, this.target);\n if (impactEvent === EveMissileWarhead.StateChangeEvent.EVT_EXPLODE) callExplosionCallback(this.explosionCallback, warhead.GetWarheadID());\n }\n this.RebuildMissileBoundingSphere();\n return true;\n }\n\n @carbon.method\n @impl.implemented\n UpdateVisibility(context, _parentTransform = EveMissile.#identity)\n {\n for (const warhead of this.warheads)\n {\n if (!warhead) continue;\n mat4.multiply(EveMissile.#warheadTransform, this.worldTransform, warhead.GetCurrentOffsetTransform());\n warhead.UpdateVisibility(context, EveMissile.#warheadTransform);\n this.lodLevel = EveLODHelper.MergeLOD(this.lodLevel, warhead.GetLODLevel?.() ?? Tr2Lod.TR2_LOD_UNSPECIFIED);\n }\n return true;\n }\n\n @carbon.method\n @impl.implemented\n GetRenderables(out = [])\n {\n for (const warhead of this.warheads) warhead?.GetRenderables?.(out);\n return out;\n }\n\n @carbon.method\n @impl.implemented\n GetBoundingSphere(out = vec4.create())\n {\n vec4.set(EveMissile.#localSphere, this.boundingSphereCenter[0], this.boundingSphereCenter[1], this.boundingSphereCenter[2], this.boundingSphereRadius);\n sph3.transformMat4(out, EveMissile.#localSphere, this.worldTransform);\n return true;\n }\n\n @carbon.method\n @impl.implemented\n RebuildMissileBoundingSphere()\n {\n vec4.set(EveMissile.#mergedSphere, 0, 0, 0, 0);\n for (const warhead of this.warheads)\n {\n if (!warhead?.GetLocalBoundingSphere?.(EveMissile.#warheadSphere)) continue;\n sph3.union(EveMissile.#mergedSphere, EveMissile.#mergedSphere, EveMissile.#warheadSphere);\n }\n vec3.set(this.boundingSphereCenter, EveMissile.#mergedSphere[0], EveMissile.#mergedSphere[1], EveMissile.#mergedSphere[2]);\n this.boundingSphereRadius = EveMissile.#mergedSphere[3];\n return true;\n }\n\n @carbon.method\n @impl.adapted\n @impl.reason(\"The missile owns no renderable; its warheads publish their own backend-neutral records.\")\n GetPerObjectData()\n {\n return null;\n }\n\n static #zero = vec3.create();\n static #identity = mat4.create();\n static #identityRotation = quat.create();\n static #ballRotation = quat.create();\n static #inverseBallRotation = mat4.create();\n static #missilePosition = vec3.create();\n static #missileVelocity = vec3.create();\n static #targetPosition = vec3.create();\n static #worldPosition = vec3.create();\n static #locatorPosition = vec3.create();\n static #locatorOffset = vec3.create();\n static #locatorTransform = mat4.create();\n static #warheadTransform = mat4.create();\n static #localSphere = vec4.create();\n static #warheadSphere = vec4.create();\n static #mergedSphere = vec4.create();\n}\n\nfunction sampleCurve(curve, time, out, fallback)\n{\n const value = curve?.GetValueAt?.(time, out) ?? curve?.Update?.(time, out);\n if (value?.length >= out.length && value !== out) out.set(value);\n else if (value === undefined && !curve?.GetValueAt && !curve?.Update) out.set(fallback);\n return out;\n}\n\nfunction sampleDerivative(curve, time, out)\n{\n const value = curve?.GetValueDotAt?.(time, out);\n if (value?.length >= 3 && value !== out) vec3.copy(out, value);\n else if (!curve?.GetValueDotAt) vec3.set(out, 0, 0, 0);\n return out;\n}\n\nfunction callExplosionCallback(callback, id)\n{\n if (typeof callback === \"function\") callback(id);\n else callback?.CallVoid?.(id);\n}\n"],"names":["_EveMissile","_identity","EveMissile","EveSpaceObject2","e","_init_warheads","_init_extra_warheads","_init_updateWarheads","_init_extra_updateWarheads","_init_target","_init_extra_target","_init_targetRadius","_init_extra_targetRadius","_init_explosionCallback","_init_extra_explosionCallback","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","list","readwrite","boolean","objectRef","float32","rawStruct","carbon","method","impl","implemented","adapted","reason","warheads","updateWarheads","target","targetRadius","explosionCallback","vec3","create","Initialize","warhead","EnableParticleEmitting","Start","shipVelocity","estimatedFlyingTime","copy","Number","UpdateSyncronous","context","time","GetTime","currentTime","deltaTime","GetDeltaT","deltaT","mat4","identity","rotationCurve","sampleCurve","quat","invert","fromQuat","set","translationCurve","sampleDerivative","GetDamageLocatorPosition","speed","length","distance","subtract","scale","GetWorldPosition","originShift","GetOriginShift","event","UpdateState","GetState","EveMissileWarhead","State","STATE_DEAD","GetTargetLocator","transformMat4","fromTranslation","UpdateEndTransform","StateChangeEvent","EVT_SWITCH_TARGET","UpdateWarhead","worldTransform","Update","impactEvent","CheckImpact","EVT_EXPLODE","callExplosionCallback","GetWarheadID","RebuildMissileBoundingSphere","UpdateVisibility","_parentTransform","multiply","GetCurrentOffsetTransform","lodLevel","EveLODHelper","MergeLOD","GetLODLevel","Tr2Lod","TR2_LOD_UNSPECIFIED","GetRenderables","out","GetBoundingSphere","vec4","boundingSphereCenter","boundingSphereRadius","sph3","GetLocalBoundingSphere","union","GetPerObjectData","constructor","curve","fallback","value","GetValueAt","undefined","GetValueDotAt","callback","id","CallVoid"],"mappings":"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"}