@carbonenginejs/runtime-trinity 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1087) hide show
  1. package/README.md +35 -243
  2. package/dist/controllers/CjsControllerExpressionProgram.js +157 -0
  3. package/dist/controllers/CjsControllerExpressionProgram.js.map +1 -1
  4. package/dist/controllers/ITr2ControllerAction.js +57 -0
  5. package/dist/controllers/ITr2ControllerAction.js.map +1 -1
  6. package/dist/controllers/Tr2ActionAnimateCurveSet.js +10 -0
  7. package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
  8. package/dist/controllers/Tr2ActionAnimateValue.js +26 -0
  9. package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
  10. package/dist/controllers/Tr2ActionBindRTPC.js +11 -0
  11. package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
  12. package/dist/controllers/Tr2ActionCallback.js +5 -0
  13. package/dist/controllers/Tr2ActionCallback.js.map +1 -1
  14. package/dist/controllers/Tr2ActionChildEffect.js +63 -0
  15. package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
  16. package/dist/controllers/Tr2ActionOverlay.js +68 -0
  17. package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
  18. package/dist/controllers/Tr2ActionPlayCurveSet.js +16 -0
  19. package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
  20. package/dist/controllers/Tr2ActionPlayMeshAnimation.js +29 -0
  21. package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
  22. package/dist/controllers/Tr2ActionPlaySound.js +11 -0
  23. package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
  24. package/dist/controllers/Tr2ActionPython.js +11 -0
  25. package/dist/controllers/Tr2ActionPython.js.map +1 -1
  26. package/dist/controllers/Tr2ActionResetClipSphereCenter.js +17 -0
  27. package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
  28. package/dist/controllers/Tr2ActionSetAttenuationScaling.js +5 -0
  29. package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
  30. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +5 -0
  31. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
  32. package/dist/controllers/Tr2ActionSetAudioSwitch.js +5 -0
  33. package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
  34. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +23 -0
  35. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  36. package/dist/controllers/Tr2ActionSetShaderOption.js +5 -0
  37. package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
  38. package/dist/controllers/Tr2ActionSetValue.js +35 -0
  39. package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
  40. package/dist/controllers/Tr2ActionSpawnParticles.js +10 -0
  41. package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
  42. package/dist/controllers/Tr2BindingPoint.js +67 -0
  43. package/dist/controllers/Tr2BindingPoint.js.map +1 -1
  44. package/dist/controllers/Tr2Controller.js +37 -0
  45. package/dist/controllers/Tr2Controller.js.map +1 -1
  46. package/dist/controllers/Tr2ControllerEventHandler.js +10 -0
  47. package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
  48. package/dist/controllers/Tr2ControllerExpression.js +17 -0
  49. package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
  50. package/dist/controllers/Tr2ControllerFloatVariable.js +6 -0
  51. package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
  52. package/dist/controllers/Tr2ControllerReference.js +11 -0
  53. package/dist/controllers/Tr2ControllerReference.js.map +1 -1
  54. package/dist/controllers/Tr2StateMachine.js +17 -0
  55. package/dist/controllers/Tr2StateMachine.js.map +1 -1
  56. package/dist/controllers/Tr2StateMachineState.js +47 -0
  57. package/dist/controllers/Tr2StateMachineState.js.map +1 -1
  58. package/dist/controllers/Tr2StateMachineTransition.js +29 -0
  59. package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
  60. package/dist/controllers/Tr2SyncToAnimation.js +5 -0
  61. package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
  62. package/dist/controllers/Tr2TimelineController.js +61 -0
  63. package/dist/controllers/Tr2TimelineController.js.map +1 -1
  64. package/dist/controllers/contracts.js +24 -1
  65. package/dist/controllers/contracts.js.map +1 -1
  66. package/dist/controllers/index.js +1 -1
  67. package/dist/curves/CjsGrannyCurves.js +150 -0
  68. package/dist/curves/CjsGrannyCurves.js.map +1 -1
  69. package/dist/curves/Tr2BoneMatrixCurve.js +23 -0
  70. package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
  71. package/dist/curves/Tr2CameraFollowCurveKey.js +6 -0
  72. package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
  73. package/dist/curves/Tr2CurveColor.js +6 -0
  74. package/dist/curves/Tr2CurveColor.js.map +1 -1
  75. package/dist/curves/Tr2CurveColorMixer.js +6 -0
  76. package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
  77. package/dist/curves/Tr2CurveCombiner.js +5 -0
  78. package/dist/curves/Tr2CurveCombiner.js.map +1 -1
  79. package/dist/curves/Tr2CurveConstant.js +16 -0
  80. package/dist/curves/Tr2CurveConstant.js.map +1 -1
  81. package/dist/curves/Tr2CurveEulerRotation.js +5 -0
  82. package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
  83. package/dist/curves/Tr2CurveEulerRotationExpression.js +66 -0
  84. package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
  85. package/dist/curves/Tr2CurveQuaternion.js +5 -0
  86. package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
  87. package/dist/curves/Tr2CurveQuaternionKey.js +5 -0
  88. package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
  89. package/dist/curves/Tr2CurveRandomAxisRotation.js +28 -0
  90. package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
  91. package/dist/curves/Tr2CurveScalar.js +35 -0
  92. package/dist/curves/Tr2CurveScalar.js.map +1 -1
  93. package/dist/curves/Tr2CurveScalarExpression.js +11 -0
  94. package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
  95. package/dist/curves/Tr2CurveScalarKey.js +6 -0
  96. package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
  97. package/dist/curves/Tr2CurveSetRange.js +5 -0
  98. package/dist/curves/Tr2CurveSetRange.js.map +1 -1
  99. package/dist/curves/Tr2CurveVector2.js +5 -0
  100. package/dist/curves/Tr2CurveVector2.js.map +1 -1
  101. package/dist/curves/Tr2CurveVector3.js +5 -0
  102. package/dist/curves/Tr2CurveVector3.js.map +1 -1
  103. package/dist/curves/Tr2CurveVector3Expression.js +71 -0
  104. package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
  105. package/dist/curves/Tr2CurveVector3Lerp.js +6 -0
  106. package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
  107. package/dist/curves/Tr2DistanceTracker.js +6 -0
  108. package/dist/curves/Tr2DistanceTracker.js.map +1 -1
  109. package/dist/curves/Tr2FollowCurve.js +6 -0
  110. package/dist/curves/Tr2FollowCurve.js.map +1 -1
  111. package/dist/curves/Tr2GrannyEventTrack.js +5 -0
  112. package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
  113. package/dist/curves/Tr2GrannyTrack.js +6 -0
  114. package/dist/curves/Tr2GrannyTrack.js.map +1 -1
  115. package/dist/curves/Tr2GrannyTransformTrack.js +6 -0
  116. package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
  117. package/dist/curves/Tr2GrannyVectorTrack.js +5 -0
  118. package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
  119. package/dist/curves/Tr2MatrixKey.js +5 -0
  120. package/dist/curves/Tr2MatrixKey.js.map +1 -1
  121. package/dist/curves/Tr2ObjectFollowCurveKey.js +6 -0
  122. package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
  123. package/dist/curves/Tr2QuaternionLerpCurve.js +6 -0
  124. package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
  125. package/dist/curves/Tr2RotationAdapter.js +6 -0
  126. package/dist/curves/Tr2RotationAdapter.js.map +1 -1
  127. package/dist/curves/Tr2ScalarExprKey.js +18 -0
  128. package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
  129. package/dist/curves/Tr2ScalarExprKeyCurve.js +23 -0
  130. package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
  131. package/dist/curves/Tr2ScalarFader.js +11 -0
  132. package/dist/curves/Tr2ScalarFader.js.map +1 -1
  133. package/dist/curves/Tr2TranslationAdapter.js +6 -0
  134. package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
  135. package/dist/curves/TriColorSequencer.js +6 -0
  136. package/dist/curves/TriColorSequencer.js.map +1 -1
  137. package/dist/curves/TriCurveSet.js +23 -0
  138. package/dist/curves/TriCurveSet.js.map +1 -1
  139. package/dist/curves/TriEventCurve.js +23 -0
  140. package/dist/curves/TriEventCurve.js.map +1 -1
  141. package/dist/curves/TriEventKey.js +5 -0
  142. package/dist/curves/TriEventKey.js.map +1 -1
  143. package/dist/curves/TriPerlinCurve.js +30 -0
  144. package/dist/curves/TriPerlinCurve.js.map +1 -1
  145. package/dist/curves/TriVectorSequencer.js +6 -0
  146. package/dist/curves/TriVectorSequencer.js.map +1 -1
  147. package/dist/eve/AudioGameObject.js +89 -1
  148. package/dist/eve/AudioGameObject.js.map +1 -1
  149. package/dist/eve/BackAndForthData.js +7 -0
  150. package/dist/eve/BackAndForthData.js.map +1 -1
  151. package/dist/eve/CjsDistributionRandom.js +6 -0
  152. package/dist/eve/CjsDistributionRandom.js.map +1 -1
  153. package/dist/eve/CjsEveThrottleableState.js +11 -0
  154. package/dist/eve/CjsEveThrottleableState.js.map +1 -1
  155. package/dist/eve/EveChildUpdateParams.js +7 -0
  156. package/dist/eve/EveChildUpdateParams.js.map +1 -1
  157. package/dist/eve/EveComponentTypes.js.map +1 -1
  158. package/dist/eve/EveCustomMask.js +58 -27
  159. package/dist/eve/EveCustomMask.js.map +1 -1
  160. package/dist/eve/EveDistanceField.js +84 -0
  161. package/dist/eve/EveDistanceField.js.map +1 -1
  162. package/dist/eve/EveEntity.js +138 -0
  163. package/dist/eve/EveEntity.js.map +1 -0
  164. package/dist/eve/EveImpactOverlay.js +61 -0
  165. package/dist/eve/EveImpactOverlay.js.map +1 -1
  166. package/dist/eve/EveLODHelper.js +17 -13
  167. package/dist/eve/EveLODHelper.js.map +1 -1
  168. package/dist/eve/EveLineData.js +2 -0
  169. package/dist/eve/EveLineData.js.map +1 -1
  170. package/dist/eve/EveThrottleable.js +11 -0
  171. package/dist/eve/EveThrottleable.js.map +1 -1
  172. package/dist/eve/FollowASplineData.js +7 -0
  173. package/dist/eve/FollowASplineData.js.map +1 -1
  174. package/dist/eve/FormationData.js +6 -0
  175. package/dist/eve/FormationData.js.map +1 -1
  176. package/dist/eve/InertiaData.js +7 -0
  177. package/dist/eve/InertiaData.js.map +1 -1
  178. package/dist/eve/PlacementDataWithIdentifier.js +7 -0
  179. package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
  180. package/dist/eve/PlayFXData.js +7 -0
  181. package/dist/eve/PlayFXData.js.map +1 -1
  182. package/dist/eve/SeekTargetData.js +7 -0
  183. package/dist/eve/SeekTargetData.js.map +1 -1
  184. package/dist/eve/{EveSpaceObjectAttachmentUtils.js → attachment/EveSpaceObjectAttachmentUtils.js} +11 -11
  185. package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
  186. package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
  187. package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
  188. package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +13 -2
  189. package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
  190. package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
  191. package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
  192. package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +204 -35
  193. package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
  194. package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +205 -12
  195. package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
  196. package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +49 -1
  197. package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
  198. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
  199. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
  200. package/dist/eve/{EveHazeSet.js → attachment/haze/EveHazeSet.js} +65 -6
  201. package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
  202. package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
  203. package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
  204. package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +13 -2
  205. package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
  206. package/dist/eve/attachment/itemSetBounds.js +131 -0
  207. package/dist/eve/attachment/itemSetBounds.js.map +1 -0
  208. package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +14 -2
  209. package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
  210. package/dist/eve/{EvePlaneSet.js → attachment/plane/EvePlaneSet.js} +119 -7
  211. package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
  212. package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
  213. package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
  214. package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +13 -2
  215. package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
  216. package/dist/eve/{EveSpotlightSet.js → attachment/spotlight/EveSpotlightSet.js} +86 -6
  217. package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
  218. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
  219. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
  220. package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +14 -2
  221. package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
  222. package/dist/eve/{EveSpriteLineSet.js → attachment/sprite/EveSpriteLineSet.js} +69 -7
  223. package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
  224. package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +29 -4
  225. package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
  226. package/dist/eve/{EveSpriteSet.js → attachment/sprite/EveSpriteSet.js} +87 -8
  227. package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
  228. package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +23 -26
  229. package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
  230. package/dist/eve/attachment/turrets/EveTurretFiringFX.js +184 -2
  231. package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  232. package/dist/eve/attachment/turrets/EveTurretSet.js +236 -7
  233. package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  234. package/dist/eve/attachment/turrets/EveTurretTarget.js +112 -0
  235. package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  236. package/dist/eve/camera/EveCamera.js +644 -0
  237. package/dist/eve/camera/EveCamera.js.map +1 -0
  238. package/dist/eve/child/EveChildAudio.js +63 -0
  239. package/dist/eve/child/EveChildAudio.js.map +1 -1
  240. package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
  241. package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
  242. package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +41 -3
  243. package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
  244. package/dist/eve/child/EveChildContainer.js +175 -16
  245. package/dist/eve/child/EveChildContainer.js.map +1 -1
  246. package/dist/eve/child/EveChildEffectPropagator.js +1 -1
  247. package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
  248. package/dist/eve/child/EveChildFogVolume.js +72 -0
  249. package/dist/eve/child/EveChildFogVolume.js.map +1 -1
  250. package/dist/eve/child/EveChildInheritProperties.js +17 -0
  251. package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
  252. package/dist/eve/child/EveChildInstancedMeshes.js +211 -1
  253. package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
  254. package/dist/eve/child/EveChildLightingOverride.js +74 -0
  255. package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
  256. package/dist/{generated/eve → eve}/child/EveChildLink.js +17 -16
  257. package/dist/eve/child/EveChildLink.js.map +1 -0
  258. package/dist/eve/child/EveChildMesh.js +351 -105
  259. package/dist/eve/child/EveChildMesh.js.map +1 -1
  260. package/dist/eve/child/EveChildSpherePin.js +108 -0
  261. package/dist/eve/child/EveChildSpherePin.js.map +1 -0
  262. package/dist/eve/child/EveChildTransform.js +44 -1
  263. package/dist/eve/child/EveChildTransform.js.map +1 -1
  264. package/dist/eve/child/IEveSpaceObjectChild.js +5 -0
  265. package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
  266. package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
  267. package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
  268. package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
  269. package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
  270. package/dist/eve/child/behaviors/Wander.js +99 -0
  271. package/dist/eve/child/behaviors/Wander.js.map +1 -0
  272. package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
  273. package/dist/eve/child/behaviors/enums.js.map +1 -0
  274. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
  275. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
  276. package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +8 -2
  277. package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
  278. package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +9 -7
  279. package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
  280. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
  281. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
  282. package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +3 -3
  283. package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
  284. package/dist/eve/child/lineSetPaths/EveBezierCurve.js +65 -0
  285. package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  286. package/dist/eve/child/lineSetPaths/EveCircle.js +63 -0
  287. package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  288. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +24 -16
  289. package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
  290. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +5 -0
  291. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
  292. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +22 -19
  293. package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
  294. package/dist/eve/child/modifiers/EveChildModifierBooster.js +6 -0
  295. package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
  296. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +5 -0
  297. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
  298. package/dist/eve/child/modifiers/EveChildModifierHalo.js +5 -0
  299. package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
  300. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +6 -0
  301. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
  302. package/dist/eve/child/modifiers/EveChildModifierSRT.js +5 -0
  303. package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  304. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +31 -17
  305. package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
  306. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +16 -14
  307. package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
  308. package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +11 -4
  309. package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
  310. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +12 -12
  311. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
  312. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +6 -6
  313. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
  314. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +12 -12
  315. package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
  316. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +8 -8
  317. package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
  318. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +17 -17
  319. package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
  320. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +7 -7
  321. package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
  322. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +7 -7
  323. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
  324. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +17 -17
  325. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
  326. package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +132 -3
  327. package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
  328. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +12 -1
  329. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
  330. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +9 -1
  331. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
  332. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +12 -1
  333. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
  334. package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
  335. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +16 -3
  336. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
  337. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +31 -3
  338. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
  339. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +34 -3
  340. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
  341. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +14 -2
  342. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
  343. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +13 -2
  344. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
  345. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +13 -2
  346. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
  347. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +13 -2
  348. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
  349. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +19 -1
  350. package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
  351. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +25 -1
  352. package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
  353. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +17 -1
  354. package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
  355. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +20 -1
  356. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
  357. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +20 -1
  358. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
  359. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +20 -1
  360. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
  361. package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +44 -2
  362. package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
  363. package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
  364. package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
  365. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
  366. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
  367. package/dist/eve/index.js +117 -47
  368. package/dist/eve/index.js.map +1 -1
  369. package/dist/eve/lights/CjsLightData.js +7 -0
  370. package/dist/eve/lights/CjsLightData.js.map +1 -1
  371. package/dist/eve/lights/Tr2Light.js +41 -0
  372. package/dist/eve/lights/Tr2Light.js.map +1 -1
  373. package/dist/eve/lights/Tr2PointLight.js +5 -0
  374. package/dist/eve/lights/Tr2PointLight.js.map +1 -1
  375. package/dist/eve/lights/Tr2SpotLight.js +5 -0
  376. package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
  377. package/dist/eve/lights/Tr2TexturedPointLight.js +10 -0
  378. package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  379. package/dist/eve/lights/lightConversion.js +29 -27
  380. package/dist/eve/lights/lightConversion.js.map +1 -1
  381. package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +20 -1
  382. package/dist/eve/locator/EveLocator2.js.map +1 -0
  383. package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +43 -1
  384. package/dist/eve/locator/EveLocatorSets.js.map +1 -0
  385. package/dist/eve/{Locator.js → locator/Locator.js} +6 -1
  386. package/dist/eve/locator/Locator.js.map +1 -0
  387. package/dist/eve/{LocatorData.js → locator/LocatorData.js} +3 -1
  388. package/dist/eve/locator/LocatorData.js.map +1 -0
  389. package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
  390. package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
  391. package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +5 -5
  392. package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
  393. package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +5 -5
  394. package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
  395. package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +6 -6
  396. package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
  397. package/dist/{generated/eve/scene → eve/particles/static}/EveSceneStaticParticles.js +70 -36
  398. package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
  399. package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
  400. package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
  401. package/dist/eve/renderable/stretch/CjsStretchRuntime.js +76 -0
  402. package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
  403. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +85 -1
  404. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  405. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +91 -0
  406. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
  407. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +36 -0
  408. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
  409. package/dist/eve/renderable/stretch/EveStretch.js +158 -9
  410. package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
  411. package/dist/eve/renderable/stretch/EveStretch2.js +121 -12
  412. package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
  413. package/dist/eve/renderable/stretch/EveStretch3.js +261 -8
  414. package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
  415. package/dist/eve/scene/EveSpaceScene.js +56 -6
  416. package/dist/eve/scene/EveSpaceScene.js.map +1 -1
  417. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +24 -1
  418. package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
  419. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +74 -2
  420. package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
  421. package/dist/eve/scene/picking/EvePickingContext.js +61 -0
  422. package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
  423. package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
  424. package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
  425. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
  426. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
  427. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +19 -19
  428. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
  429. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +19 -19
  430. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
  431. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +12 -12
  432. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
  433. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +12 -12
  434. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
  435. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +30 -30
  436. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
  437. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +9 -9
  438. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
  439. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +23 -23
  440. package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
  441. package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
  442. package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +26 -1
  443. package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
  444. package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +17 -1
  445. package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
  446. package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +21 -5
  447. package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
  448. package/dist/eve/socket/EveSocketParameterFilePath.js +5 -5
  449. package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
  450. package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +17 -1
  451. package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
  452. package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +17 -1
  453. package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
  454. package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +42 -2
  455. package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
  456. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +17 -1
  457. package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
  458. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +17 -1
  459. package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
  460. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +17 -1
  461. package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
  462. package/dist/eve/spaceObject/EveEffectRoot2.js +58 -31
  463. package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  464. package/dist/eve/spaceObject/EveMissile.js +49 -1
  465. package/dist/eve/spaceObject/EveMissile.js.map +1 -1
  466. package/dist/eve/spaceObject/EveMissileWarhead.js +100 -1
  467. package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
  468. package/dist/eve/spaceObject/EveMobile.js +104 -0
  469. package/dist/eve/spaceObject/EveMobile.js.map +1 -1
  470. package/dist/eve/spaceObject/EveRootTransform.js +17 -0
  471. package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
  472. package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +32 -12
  473. package/dist/eve/spaceObject/EveShip2.js.map +1 -0
  474. package/dist/eve/spaceObject/EveSpaceObject2.js +726 -199
  475. package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  476. package/dist/eve/spaceObject/EveTransform.js +100 -4
  477. package/dist/eve/spaceObject/EveTransform.js.map +1 -1
  478. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
  479. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
  480. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
  481. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
  482. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
  483. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
  484. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
  485. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
  486. package/dist/{generated/eve/spaceObject → eve/spaceObject/planet}/EvePlanet.js +2 -2
  487. package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
  488. package/dist/{generated/eve → eve}/spaceObject/swarm/EveSwarmRenderable.js +102 -64
  489. package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
  490. package/dist/eve/ui/EveEllipseDefinition.js +15 -0
  491. package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
  492. package/dist/eve/ui/EveEllipseSet.js +42 -0
  493. package/dist/eve/ui/EveEllipseSet.js.map +1 -1
  494. package/dist/{generated/eve → eve}/ui/EveSpherePin.js +76 -11
  495. package/dist/eve/ui/EveSpherePin.js.map +1 -0
  496. package/dist/eve/ui/EveSprite2dBracket.js +5 -0
  497. package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
  498. package/dist/eve/ui/EveUiObject.js +11 -0
  499. package/dist/eve/ui/EveUiObject.js.map +1 -1
  500. package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +67 -6
  501. package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
  502. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
  503. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
  504. package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +22 -2
  505. package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
  506. package/dist/eve/virtualCamera/EveVirtualCamera.js +152 -0
  507. package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
  508. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +65 -0
  509. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
  510. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +17 -0
  511. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
  512. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +19 -0
  513. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
  514. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +17 -0
  515. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
  516. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +29 -0
  517. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
  518. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +15 -0
  519. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
  520. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +38 -0
  521. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
  522. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +17 -0
  523. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
  524. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +18 -0
  525. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
  526. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +20 -0
  527. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
  528. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +20 -0
  529. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
  530. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +11 -0
  531. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
  532. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +14 -0
  533. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
  534. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +16 -0
  535. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
  536. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +20 -0
  537. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
  538. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +36 -0
  539. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
  540. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +36 -0
  541. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
  542. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +11 -0
  543. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
  544. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +37 -0
  545. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
  546. package/dist/eve/volume/EveBoxVolume.js +59 -0
  547. package/dist/eve/volume/EveBoxVolume.js.map +1 -1
  548. package/dist/eve/volume/EveEllipsoidVolume.js +54 -0
  549. package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
  550. package/dist/eve/volume/EveSphereVolume.js +34 -0
  551. package/dist/eve/volume/EveSphereVolume.js.map +1 -1
  552. package/dist/generated/eve/child/EveChildCloud2.js +138 -138
  553. package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
  554. package/dist/generated/eve/child/EveChildParticleSystem.js +10 -4
  555. package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
  556. package/dist/generated/eve/child/EveChildSocket.js +1 -1
  557. package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
  558. package/dist/generated/eve/child/behaviors/BackAndForth.js +14 -17
  559. package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
  560. package/dist/generated/eve/child/behaviors/BehaviorGroup.js +2 -2
  561. package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  562. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +26 -29
  563. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
  564. package/dist/generated/eve/child/behaviors/FollowASpline.js +13 -17
  565. package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
  566. package/dist/generated/eve/child/behaviors/PlayFX.js +14 -14
  567. package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
  568. package/dist/generated/eve/child/behaviors/SeekTarget.js +1 -1
  569. package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
  570. package/dist/generated/eve/child/behaviors/index.js +0 -6
  571. package/dist/generated/eve/child/behaviors/index.js.map +1 -1
  572. package/dist/generated/eve/child/index.js +0 -23
  573. package/dist/generated/eve/child/index.js.map +1 -1
  574. package/dist/generated/eve/effect/index.js +0 -3
  575. package/dist/generated/eve/effect/index.js.map +1 -1
  576. package/dist/generated/eve/index.js +0 -88
  577. package/dist/generated/eve/index.js.map +1 -1
  578. package/dist/generated/eve/scene/index.js +0 -6
  579. package/dist/generated/eve/scene/index.js.map +1 -1
  580. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +20 -20
  581. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  582. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +1 -1
  583. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  584. package/dist/generated/eve/smartLights/index.js +0 -8
  585. package/dist/generated/eve/smartLights/index.js.map +1 -1
  586. package/dist/generated/eve/spaceObject/index.js +0 -4
  587. package/dist/generated/eve/spaceObject/index.js.map +1 -1
  588. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +11 -11
  589. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  590. package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
  591. package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
  592. package/dist/generated/eve/ui/index.js +0 -4
  593. package/dist/generated/eve/ui/index.js.map +1 -1
  594. package/dist/generated/index.js +0 -93
  595. package/dist/generated/index.js.map +1 -1
  596. package/dist/generated/trinityCore/index.js +0 -5
  597. package/dist/generated/trinityCore/index.js.map +1 -1
  598. package/dist/index.js +130 -155
  599. package/dist/index.js.map +1 -1
  600. package/dist/particle/Tr2GpuSharedEmitter.js +39 -0
  601. package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
  602. package/dist/particle/Tr2GpuUniqueEmitter.js +5 -0
  603. package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
  604. package/dist/particle/Tr2ParticleAttractorForce.js +10 -0
  605. package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
  606. package/dist/particle/Tr2ParticleDirectForce.js +7 -0
  607. package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
  608. package/dist/particle/Tr2ParticleDragForce.js +7 -0
  609. package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
  610. package/dist/particle/Tr2ParticleElementDeclaration.js +5 -0
  611. package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
  612. package/dist/particle/Tr2ParticleFluidDragForce.js +10 -0
  613. package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
  614. package/dist/particle/Tr2ParticleSpring.js +10 -0
  615. package/dist/particle/Tr2ParticleSpring.js.map +1 -1
  616. package/dist/particle/Tr2ParticleVortexForce.js +10 -0
  617. package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
  618. package/dist/particle/particleElementBinding.js +12 -0
  619. package/dist/particle/particleElementBinding.js.map +1 -1
  620. package/dist/postProcess/Tr2PPBloomEffect.js +6 -0
  621. package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
  622. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +16 -0
  623. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
  624. package/dist/postProcess/Tr2PPGenericEffect.js +7 -0
  625. package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
  626. package/dist/postProcess/Tr2PPTaaEffect.js +10 -0
  627. package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
  628. package/dist/postProcess/Tr2PPTonemappingEffect.js +5 -0
  629. package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
  630. package/dist/postProcess/Tr2PostProcess.js +5 -0
  631. package/dist/postProcess/Tr2PostProcess.js.map +1 -1
  632. package/dist/postProcess/Tr2PostProcess2.js +147 -0
  633. package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
  634. package/dist/postProcess/Tr2PostProcessAttributes.js +89 -0
  635. package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  636. package/dist/renderJob/Tr2RenderJobs.js +34 -0
  637. package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
  638. package/dist/renderJob/TriRenderJob.js +59 -0
  639. package/dist/renderJob/TriRenderJob.js.map +1 -1
  640. package/dist/renderJob/TriRenderStep.js +20 -0
  641. package/dist/renderJob/TriRenderStep.js.map +1 -1
  642. package/dist/renderJob/TriStepClear.js +18 -0
  643. package/dist/renderJob/TriStepClear.js.map +1 -1
  644. package/dist/renderJob/TriStepCopyRenderTarget.js +51 -0
  645. package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
  646. package/dist/renderJob/TriStepEnableWireframeMode.js +9 -0
  647. package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
  648. package/dist/renderJob/TriStepGenerateMipMaps.js +9 -0
  649. package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
  650. package/dist/renderJob/TriStepPopDepthStencil.js +6 -0
  651. package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
  652. package/dist/renderJob/TriStepPopProjection.js +6 -0
  653. package/dist/renderJob/TriStepPopProjection.js.map +1 -1
  654. package/dist/renderJob/TriStepPopRenderTarget.js +12 -0
  655. package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
  656. package/dist/renderJob/TriStepPopViewTransform.js +6 -0
  657. package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
  658. package/dist/renderJob/TriStepPopViewport.js +6 -0
  659. package/dist/renderJob/TriStepPopViewport.js.map +1 -1
  660. package/dist/renderJob/TriStepPresentSwapChain.js +12 -0
  661. package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
  662. package/dist/renderJob/TriStepPushDepthStencil.js +17 -0
  663. package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
  664. package/dist/renderJob/TriStepPushProjection.js +6 -0
  665. package/dist/renderJob/TriStepPushProjection.js.map +1 -1
  666. package/dist/renderJob/TriStepPushRenderTarget.js +9 -0
  667. package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
  668. package/dist/renderJob/TriStepPushViewTransform.js +6 -0
  669. package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
  670. package/dist/renderJob/TriStepPushViewport.js +6 -0
  671. package/dist/renderJob/TriStepPushViewport.js.map +1 -1
  672. package/dist/renderJob/TriStepRemoteSync.js +17 -0
  673. package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
  674. package/dist/renderJob/TriStepResolve.js +13 -0
  675. package/dist/renderJob/TriStepResolve.js.map +1 -1
  676. package/dist/renderJob/TriStepRunJob.js +12 -0
  677. package/dist/renderJob/TriStepRunJob.js.map +1 -1
  678. package/dist/renderJob/TriStepSetDepthStencil.js +12 -0
  679. package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
  680. package/dist/renderJob/TriStepSetProjection.js +14 -0
  681. package/dist/renderJob/TriStepSetProjection.js.map +1 -1
  682. package/dist/renderJob/TriStepSetRenderState.js +20 -0
  683. package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
  684. package/dist/renderJob/TriStepSetRenderTarget.js +12 -0
  685. package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
  686. package/dist/renderJob/TriStepSetStdRndStates.js +18 -0
  687. package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
  688. package/dist/renderJob/TriStepSetView.js +29 -2
  689. package/dist/renderJob/TriStepSetView.js.map +1 -1
  690. package/dist/renderJob/TriStepSetViewport.js +17 -0
  691. package/dist/renderJob/TriStepSetViewport.js.map +1 -1
  692. package/dist/renderJob/TriStepSetVisualizationMode.js +19 -0
  693. package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
  694. package/dist/shader/Tr2Effect.js +217 -2
  695. package/dist/shader/Tr2Effect.js.map +1 -1
  696. package/dist/shader/Tr2Material.js +41 -0
  697. package/dist/shader/Tr2Material.js.map +1 -1
  698. package/dist/shader/index.js +1 -11
  699. package/dist/shader/index.js.map +1 -1
  700. package/dist/shader/material/Tr2EffectLibraryParameters.js +7 -0
  701. package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
  702. package/dist/shader/material/Tr2EffectPassParameters.js +23 -0
  703. package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
  704. package/dist/shader/material/Tr2MaterialStageInput.js +15 -0
  705. package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
  706. package/dist/shader/parameter/CjsParameter.js +94 -0
  707. package/dist/shader/parameter/CjsParameter.js.map +1 -1
  708. package/dist/shader/parameter/CjsVectorParameter.js +20 -0
  709. package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
  710. package/dist/shader/parameter/Tr2FloatParameter.js +53 -0
  711. package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
  712. package/dist/shader/parameter/Tr2GeometryBufferParameter.js +39 -0
  713. package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  714. package/dist/shader/parameter/Tr2Matrix4Parameter.js +54 -0
  715. package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  716. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +54 -0
  717. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  718. package/dist/shader/parameter/Tr2TextureAnimationParameter.js +35 -0
  719. package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  720. package/dist/shader/parameter/Tr2Vector2Parameter.js +86 -0
  721. package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  722. package/dist/shader/parameter/Tr2Vector3Parameter.js +95 -0
  723. package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  724. package/dist/shader/parameter/Tr2Vector4Parameter.js +105 -0
  725. package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  726. package/dist/shader/parameter/TriFloatArrayParameter.js +26 -0
  727. package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  728. package/dist/shader/parameter/TriTextureParameter.js +84 -0
  729. package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
  730. package/dist/shader/parameter/TriTransformParameter.js +2 -0
  731. package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
  732. package/dist/shader/parameter/TriVariableParameter.js +38 -0
  733. package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
  734. package/dist/shader/parameter/TriVector4.js +2 -0
  735. package/dist/shader/parameter/TriVector4.js.map +1 -1
  736. package/dist/shader/reflection/Tr2ShaderOption.js +6 -1
  737. package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
  738. package/dist/shader/support/CjsVariableStore.js +140 -0
  739. package/dist/shader/support/CjsVariableStore.js.map +1 -1
  740. package/dist/shader/support/Tr2ShaderBuffer.js +15 -0
  741. package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
  742. package/dist/trinityCore/CjsBatchManager.js +62 -2
  743. package/dist/trinityCore/CjsBatchManager.js.map +1 -1
  744. package/dist/trinityCore/GrannyBoneOffset.js +51 -0
  745. package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
  746. package/dist/trinityCore/ITriRenderBatchAccumulator.js +65 -3
  747. package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
  748. package/dist/trinityCore/Tr2DirectInstanceData.js +19 -0
  749. package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
  750. package/dist/trinityCore/Tr2ExpressionTermInfo.js +21 -0
  751. package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
  752. package/dist/trinityCore/Tr2GpuBuffer.js +5 -0
  753. package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
  754. package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +137 -8
  755. package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
  756. package/dist/trinityCore/Tr2InstancedMesh.js +52 -0
  757. package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
  758. package/dist/trinityCore/Tr2MaterialParameterStore.js +5 -0
  759. package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
  760. package/dist/trinityCore/Tr2Mesh.js +37 -0
  761. package/dist/trinityCore/Tr2Mesh.js.map +1 -1
  762. package/dist/trinityCore/Tr2MeshArea.js +78 -0
  763. package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
  764. package/dist/trinityCore/Tr2MeshBase.js +98 -2
  765. package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
  766. package/dist/trinityCore/Tr2PerObjectData.js +10 -0
  767. package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
  768. package/dist/trinityCore/Tr2PickType.js +33 -0
  769. package/dist/trinityCore/Tr2PickType.js.map +1 -0
  770. package/dist/trinityCore/Tr2RenderBatch.js +137 -0
  771. package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
  772. package/dist/trinityCore/Tr2RenderContext.js +271 -0
  773. package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
  774. package/dist/trinityCore/Tr2RuntimeInstanceData.js +179 -0
  775. package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
  776. package/dist/trinityCore/Tr2ShLightingManager.js +397 -0
  777. package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
  778. package/dist/trinityCore/Tr2VariableStore.js +26 -0
  779. package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
  780. package/dist/trinityCore/Tr2VisibilityResults.js +5 -0
  781. package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
  782. package/dist/trinityCore/TriDevice.js +5 -0
  783. package/dist/trinityCore/TriDevice.js.map +1 -1
  784. package/dist/trinityCore/TriFrustum.js +21 -14
  785. package/dist/trinityCore/TriFrustum.js.map +1 -1
  786. package/dist/trinityCore/TriObserverLocal.js +43 -0
  787. package/dist/trinityCore/TriObserverLocal.js.map +1 -1
  788. package/dist/trinityCore/TriProjection.js +86 -32
  789. package/dist/trinityCore/TriProjection.js.map +1 -1
  790. package/dist/trinityCore/TriRect.js +12 -0
  791. package/dist/trinityCore/TriRect.js.map +1 -1
  792. package/dist/trinityCore/TriRenderBatchAccumulator.js +46 -0
  793. package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
  794. package/dist/trinityCore/TriRenderBatchMap.js +39 -2
  795. package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
  796. package/dist/trinityCore/TriSettings.js +38 -0
  797. package/dist/trinityCore/TriSettings.js.map +1 -1
  798. package/dist/trinityCore/TriVariable.js +30 -0
  799. package/dist/trinityCore/TriVariable.js.map +1 -1
  800. package/dist/trinityCore/TriView.js +16 -1
  801. package/dist/trinityCore/TriView.js.map +1 -1
  802. package/dist/trinityCore/TriViewport.js +12 -0
  803. package/dist/trinityCore/TriViewport.js.map +1 -1
  804. package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +1 -1
  805. package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
  806. package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
  807. package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
  808. package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
  809. package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
  810. package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +30 -6
  811. package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
  812. package/dist/trinityCore/binding/TriValueBinding.js +648 -0
  813. package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
  814. package/dist/trinityCore/index.js +11 -4
  815. package/dist/trinityCore/index.js.map +1 -1
  816. package/dist/trinityCore/pickRay.js +84 -0
  817. package/dist/trinityCore/pickRay.js.map +1 -0
  818. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +931 -0
  819. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
  820. package/dist/trinityCore/rawData/RawData.js +294 -38
  821. package/dist/trinityCore/rawData/RawData.js.map +1 -1
  822. package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
  823. package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
  824. package/dist/utilities/Range.js +53 -0
  825. package/dist/utilities/Range.js.map +1 -1
  826. package/docs/README.md +88 -0
  827. package/docs/architecture.md +162 -0
  828. package/docs/concepts/eve-runtime-behavior.md +86 -0
  829. package/docs/concepts/generated-class-lifecycle.md +116 -0
  830. package/docs/reference/api.md +76 -0
  831. package/docs/reference/classes/eve-runtime.md +106 -0
  832. package/docs/reference/classes/trinity-core.md +26 -0
  833. package/docs/reference/implementation-status.md +104 -0
  834. package/docs/reference/main-semantic-extraction.md +104 -0
  835. package/package.json +33 -24
  836. package/dist/eve/DecalVSPerObjectData.js +0 -34
  837. package/dist/eve/DecalVSPerObjectData.js.map +0 -1
  838. package/dist/eve/EveBannerItem.js +0 -43
  839. package/dist/eve/EveBannerItem.js.map +0 -1
  840. package/dist/eve/EveBannerLight.js.map +0 -1
  841. package/dist/eve/EveBannerSet.js +0 -190
  842. package/dist/eve/EveBannerSet.js.map +0 -1
  843. package/dist/eve/EveBasicPerObjectData.js +0 -31
  844. package/dist/eve/EveBasicPerObjectData.js.map +0 -1
  845. package/dist/eve/EveBoosterSet2.js.map +0 -1
  846. package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
  847. package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
  848. package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
  849. package/dist/eve/EveHazeSet.js.map +0 -1
  850. package/dist/eve/EveHazeSetLight.js.map +0 -1
  851. package/dist/eve/EveLocator2.js.map +0 -1
  852. package/dist/eve/EveLocatorSets.js.map +0 -1
  853. package/dist/eve/EveParticleDirectForce.js.map +0 -1
  854. package/dist/eve/EveParticleDragForce.js.map +0 -1
  855. package/dist/eve/EveParticleSpring.js.map +0 -1
  856. package/dist/eve/EvePerObjectPSData.js +0 -29
  857. package/dist/eve/EvePerObjectPSData.js.map +0 -1
  858. package/dist/eve/EvePerObjectVSData.js +0 -29
  859. package/dist/eve/EvePerObjectVSData.js.map +0 -1
  860. package/dist/eve/EvePlaneLight.js.map +0 -1
  861. package/dist/eve/EvePlaneSet.js.map +0 -1
  862. package/dist/eve/EvePlaneSetItem.js +0 -45
  863. package/dist/eve/EvePlaneSetItem.js.map +0 -1
  864. package/dist/eve/EveSpaceObjectAttachmentUtils.js.map +0 -1
  865. package/dist/eve/EveSpaceObjectDecal.js +0 -150
  866. package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
  867. package/dist/eve/EveSpaceObjectPSData.js +0 -73
  868. package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
  869. package/dist/eve/EveSpaceObjectVSData.js +0 -79
  870. package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
  871. package/dist/eve/EveSpacePerObjectData.js +0 -97
  872. package/dist/eve/EveSpacePerObjectData.js.map +0 -1
  873. package/dist/eve/EveSpherePinPerObjectData.js +0 -37
  874. package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
  875. package/dist/eve/EveSpotlightLight.js.map +0 -1
  876. package/dist/eve/EveSpotlightSet.js.map +0 -1
  877. package/dist/eve/EveSpriteLight.js.map +0 -1
  878. package/dist/eve/EveSpriteLineSet.js.map +0 -1
  879. package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
  880. package/dist/eve/EveSpriteSet.js.map +0 -1
  881. package/dist/eve/EveTrailsSet.js.map +0 -1
  882. package/dist/eve/Locator.js.map +0 -1
  883. package/dist/eve/LocatorData.js.map +0 -1
  884. package/dist/eve/ProcessLifetimeData.js.map +0 -1
  885. package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
  886. package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
  887. package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
  888. package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
  889. package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
  890. package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
  891. package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
  892. package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
  893. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
  894. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
  895. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
  896. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
  897. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
  898. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
  899. package/dist/generated/eve/EveCamera.js +0 -264
  900. package/dist/generated/eve/EveCamera.js.map +0 -1
  901. package/dist/generated/eve/EveEntity.js +0 -81
  902. package/dist/generated/eve/EveEntity.js.map +0 -1
  903. package/dist/generated/eve/attachment/decal/index.js +0 -2
  904. package/dist/generated/eve/attachment/decal/index.js.map +0 -1
  905. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
  906. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
  907. package/dist/generated/eve/attachment/haze/index.js +0 -2
  908. package/dist/generated/eve/attachment/haze/index.js.map +0 -1
  909. package/dist/generated/eve/attachment/index.js +0 -5
  910. package/dist/generated/eve/attachment/index.js.map +0 -1
  911. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
  912. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
  913. package/dist/generated/eve/attachment/spotlights/index.js +0 -2
  914. package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
  915. package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
  916. package/dist/generated/eve/attachment/sprites/index.js +0 -2
  917. package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
  918. package/dist/generated/eve/attachment/turrets/enums.js +0 -32
  919. package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
  920. package/dist/generated/eve/attachment/turrets/index.js +0 -2
  921. package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
  922. package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
  923. package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
  924. package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
  925. package/dist/generated/eve/child/EveChildLink.js.map +0 -1
  926. package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
  927. package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
  928. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
  929. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
  930. package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
  931. package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
  932. package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
  933. package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
  934. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
  935. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
  936. package/dist/generated/eve/child/behaviors/Wander.js +0 -92
  937. package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
  938. package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
  939. package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
  940. package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
  941. package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
  942. package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
  943. package/dist/generated/eve/child/modifiers/index.js +0 -5
  944. package/dist/generated/eve/child/modifiers/index.js.map +0 -1
  945. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
  946. package/dist/generated/eve/child/procedural/index.js +0 -10
  947. package/dist/generated/eve/child/procedural/index.js.map +0 -1
  948. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
  949. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
  950. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
  951. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
  952. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
  953. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
  954. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
  955. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
  956. package/dist/generated/eve/child/procedural/selection/index.js +0 -9
  957. package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
  958. package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
  959. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
  960. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
  961. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
  962. package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
  963. package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
  964. package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
  965. package/dist/generated/eve/distribution/index.js +0 -19
  966. package/dist/generated/eve/distribution/index.js.map +0 -1
  967. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
  968. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
  969. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
  970. package/dist/generated/eve/distribution/placement/index.js +0 -4
  971. package/dist/generated/eve/distribution/placement/index.js.map +0 -1
  972. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
  973. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
  974. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
  975. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
  976. package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
  977. package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
  978. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
  979. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
  980. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
  981. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
  982. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
  983. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
  984. package/dist/generated/eve/distribution/spawners/index.js +0 -7
  985. package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
  986. package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
  987. package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
  988. package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
  989. package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
  990. package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
  991. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
  992. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
  993. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
  994. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
  995. package/dist/generated/eve/fxAttributes/index.js +0 -3
  996. package/dist/generated/eve/fxAttributes/index.js.map +0 -1
  997. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
  998. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
  999. package/dist/generated/eve/overlays/index.js +0 -2
  1000. package/dist/generated/eve/overlays/index.js.map +0 -1
  1001. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
  1002. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
  1003. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
  1004. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
  1005. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
  1006. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
  1007. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
  1008. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
  1009. package/dist/generated/eve/perObjectData/index.js +0 -5
  1010. package/dist/generated/eve/perObjectData/index.js.map +0 -1
  1011. package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
  1012. package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
  1013. package/dist/generated/eve/scene/EvePickingContext.js +0 -43
  1014. package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
  1015. package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
  1016. package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
  1017. package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
  1018. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
  1019. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
  1020. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
  1021. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
  1022. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
  1023. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
  1024. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
  1025. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
  1026. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
  1027. package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
  1028. package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
  1029. package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
  1030. package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
  1031. package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
  1032. package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
  1033. package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
  1034. package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
  1035. package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
  1036. package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
  1037. package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
  1038. package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
  1039. package/dist/generated/eve/socket/index.js +0 -10
  1040. package/dist/generated/eve/socket/index.js.map +0 -1
  1041. package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
  1042. package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
  1043. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
  1044. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
  1045. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
  1046. package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
  1047. package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
  1048. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
  1049. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
  1050. package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
  1051. package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
  1052. package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
  1053. package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
  1054. package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
  1055. package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
  1056. package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
  1057. package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
  1058. package/dist/generated/trinityCore/TriValueBinding.js +0 -249
  1059. package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
  1060. package/dist/shader/Tr2Shader.js +0 -150
  1061. package/dist/shader/Tr2Shader.js.map +0 -1
  1062. package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
  1063. package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
  1064. package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
  1065. package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
  1066. package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
  1067. package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
  1068. package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
  1069. package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
  1070. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
  1071. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
  1072. package/dist/shader/reflection/Tr2EffectResource.js +0 -63
  1073. package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
  1074. package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
  1075. package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
  1076. package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
  1077. package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
  1078. package/dist/shader/reflection/Tr2Pass.js +0 -46
  1079. package/dist/shader/reflection/Tr2Pass.js.map +0 -1
  1080. package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
  1081. package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
  1082. package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
  1083. package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
  1084. package/dist/trinityCore/rawData/RawDataStore.js +0 -232
  1085. package/dist/trinityCore/rawData/RawDataStore.js.map +0 -1
  1086. /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
  1087. /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
@@ -0,0 +1,90 @@
1
+ import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
2
+ import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
3
+ import { RawData } from '../../trinityCore/rawData/RawData.js';
4
+
5
+ // Source: trinity/trinity/Eve/SpaceObject/Children/EveChildMesh.cpp
6
+ // Source: trinity/trinity/Eve/SpaceObject/Children/EveChildContainer.cpp
7
+ // Source: trinity/trinity/Eve/SpaceObject/Children/EveChildBehaviorSystem.cpp
8
+ //
9
+ // The per-object record pair every space-object CHILD keeps.
10
+ //
11
+ // Carbon declares an identical `EveSpaceObjectVSData m_vsData` /
12
+ // `EveSpaceObjectPSData m_psData` pair on EveChildMesh, EveChildContainer and
13
+ // EveChildBehaviorSystem, constructs them the same way, and fills them with the
14
+ // same three-step block: inherit the parent's structs, rebase the clip data by
15
+ // the child's own translation, then stamp the child's transforms. The block is
16
+ // shared here rather than copied four times; the records themselves stay owned
17
+ // by each class, as Carbon has them.
18
+ const INVERSE_SCRATCH = mat4.create();
19
+ const CLIP_SCRATCH = vec3.create();
20
+
21
+ /** Carbon fills the whole field then overwrites x/y, so the tail is 0. */
22
+ const DEFAULT_SHIP_DATA = Object.freeze([0, 1, 0, 1]);
23
+
24
+ /** m_psData.screenSize default (EveChildMesh.cpp:65). */
25
+ const DEFAULT_SCREEN_SIZE = Object.freeze([0.5, 0.5, 0.5, 1]);
26
+
27
+ /**
28
+ * A child's persistent record pair, with Carbon's constructor defaults applied:
29
+ * shipData.y and .w are 1, and the PS record starts at a half screen size.
30
+ * @returns {{vs: RawData, ps: RawData}}
31
+ */
32
+ function createChildPerObjectRecords() {
33
+ const vs = RawData.create("EveSpaceObjectVSData");
34
+ const ps = RawData.create("EveSpaceObjectPSData");
35
+ vs.Set("shipData", DEFAULT_SHIP_DATA);
36
+ ps.Set("shipData", DEFAULT_SHIP_DATA);
37
+ ps.Set("screenSize", DEFAULT_SCREEN_SIZE);
38
+ return {
39
+ vs,
40
+ ps
41
+ };
42
+ }
43
+
44
+ /**
45
+ * Inherit the parent hull's per-object values, then move the clip data
46
+ * inversely to the child's own translation so the clip sphere stays put in
47
+ * world space (EveChildMesh.cpp:933-941).
48
+ *
49
+ * @param {{vs: RawData, ps: RawData}} records - the child's own pair
50
+ * @param {Object} parent - anything exposing GetPerObjectStructs
51
+ * @param {Float32Array} translation - the child's local translation
52
+ * @returns {Boolean} false when the parent cannot supply structs
53
+ */
54
+ function inheritParentPerObjectData(records, parent, translation) {
55
+ if (typeof parent?.GetPerObjectStructs !== "function") {
56
+ return false;
57
+ }
58
+ parent.GetPerObjectStructs(records.vs, records.ps);
59
+ const clipData = records.vs.Get("clipData");
60
+ records.vs.Set("clipData", [clipData[0] - translation[0], clipData[1] - translation[1], clipData[2] - translation[2], clipData[3]]);
61
+ vec3.subtract(CLIP_SCRATCH, records.ps.Get("clipSphereCenter"), translation);
62
+ records.ps.Set("clipSphereCenter", CLIP_SCRATCH);
63
+ return true;
64
+ }
65
+
66
+ /**
67
+ * Stamp the child's own transforms into both records (EveChildMesh.cpp:948-954).
68
+ *
69
+ * Carbon writes `invWorldTransform = Inverse( m_vsData.worldTransform )` - the
70
+ * inverse of the ALREADY-TRANSPOSED matrix. By carbon-math-conventions F2 that
71
+ * equals Transpose(Inverse(W)), so inverting the LOGICAL transform and letting
72
+ * SetAndTranspose encode it produces the same bytes with one transpose less.
73
+ *
74
+ * @param {{vs: RawData, ps: RawData}} records - the child's own pair
75
+ * @param {Float32Array} worldTransform - logical world transform
76
+ * @param {Float32Array} lastWorldTransform - logical previous world transform
77
+ */
78
+ function stampChildTransforms(records, worldTransform, lastWorldTransform) {
79
+ if (!mat4.invert(INVERSE_SCRATCH, worldTransform)) {
80
+ mat4.identity(INVERSE_SCRATCH);
81
+ }
82
+ for (const record of [records.vs, records.ps]) {
83
+ record.SetAndTranspose("worldTransform", worldTransform);
84
+ record.SetAndTranspose("worldTransformLast", lastWorldTransform);
85
+ record.SetAndTranspose("invWorldTransform", INVERSE_SCRATCH);
86
+ }
87
+ }
88
+
89
+ export { createChildPerObjectRecords, inheritParentPerObjectData, stampChildTransforms };
90
+ //# sourceMappingURL=childPerObjectRecords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"childPerObjectRecords.js","sources":["../../../../src/eve/perObjectData/childPerObjectRecords.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildMesh.cpp\n// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildContainer.cpp\n// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildBehaviorSystem.cpp\n//\n// The per-object record pair every space-object CHILD keeps.\n//\n// Carbon declares an identical `EveSpaceObjectVSData m_vsData` /\n// `EveSpaceObjectPSData m_psData` pair on EveChildMesh, EveChildContainer and\n// EveChildBehaviorSystem, constructs them the same way, and fills them with the\n// same three-step block: inherit the parent's structs, rebase the clip data by\n// the child's own translation, then stamp the child's transforms. The block is\n// shared here rather than copied four times; the records themselves stay owned\n// by each class, as Carbon has them.\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\n\nimport { RawData } from \"../../trinityCore/rawData/RawData.js\";\n\n\nconst INVERSE_SCRATCH = mat4.create();\n\nconst CLIP_SCRATCH = vec3.create();\n\n/** Carbon fills the whole field then overwrites x/y, so the tail is 0. */\nconst DEFAULT_SHIP_DATA = Object.freeze([ 0, 1, 0, 1 ]);\n\n/** m_psData.screenSize default (EveChildMesh.cpp:65). */\nconst DEFAULT_SCREEN_SIZE = Object.freeze([ 0.5, 0.5, 0.5, 1 ]);\n\n\n/**\n * A child's persistent record pair, with Carbon's constructor defaults applied:\n * shipData.y and .w are 1, and the PS record starts at a half screen size.\n * @returns {{vs: RawData, ps: RawData}}\n */\nexport function createChildPerObjectRecords()\n{\n const vs = RawData.create(\"EveSpaceObjectVSData\");\n const ps = RawData.create(\"EveSpaceObjectPSData\");\n\n vs.Set(\"shipData\", DEFAULT_SHIP_DATA);\n ps.Set(\"shipData\", DEFAULT_SHIP_DATA);\n ps.Set(\"screenSize\", DEFAULT_SCREEN_SIZE);\n\n return { vs, ps };\n}\n\n\n/**\n * Inherit the parent hull's per-object values, then move the clip data\n * inversely to the child's own translation so the clip sphere stays put in\n * world space (EveChildMesh.cpp:933-941).\n *\n * @param {{vs: RawData, ps: RawData}} records - the child's own pair\n * @param {Object} parent - anything exposing GetPerObjectStructs\n * @param {Float32Array} translation - the child's local translation\n * @returns {Boolean} false when the parent cannot supply structs\n */\nexport function inheritParentPerObjectData(records, parent, translation)\n{\n if (typeof parent?.GetPerObjectStructs !== \"function\")\n {\n return false;\n }\n\n parent.GetPerObjectStructs(records.vs, records.ps);\n\n const clipData = records.vs.Get(\"clipData\");\n records.vs.Set(\"clipData\", [\n clipData[0] - translation[0],\n clipData[1] - translation[1],\n clipData[2] - translation[2],\n clipData[3]\n ]);\n\n vec3.subtract(CLIP_SCRATCH, records.ps.Get(\"clipSphereCenter\"), translation);\n records.ps.Set(\"clipSphereCenter\", CLIP_SCRATCH);\n\n return true;\n}\n\n\n/**\n * Stamp the child's own transforms into both records (EveChildMesh.cpp:948-954).\n *\n * Carbon writes `invWorldTransform = Inverse( m_vsData.worldTransform )` - the\n * inverse of the ALREADY-TRANSPOSED matrix. By carbon-math-conventions F2 that\n * equals Transpose(Inverse(W)), so inverting the LOGICAL transform and letting\n * SetAndTranspose encode it produces the same bytes with one transpose less.\n *\n * @param {{vs: RawData, ps: RawData}} records - the child's own pair\n * @param {Float32Array} worldTransform - logical world transform\n * @param {Float32Array} lastWorldTransform - logical previous world transform\n */\nexport function stampChildTransforms(records, worldTransform, lastWorldTransform)\n{\n if (!mat4.invert(INVERSE_SCRATCH, worldTransform))\n {\n mat4.identity(INVERSE_SCRATCH);\n }\n\n for (const record of [ records.vs, records.ps ])\n {\n record.SetAndTranspose(\"worldTransform\", worldTransform);\n record.SetAndTranspose(\"worldTransformLast\", lastWorldTransform);\n record.SetAndTranspose(\"invWorldTransform\", INVERSE_SCRATCH);\n }\n}\n"],"names":["INVERSE_SCRATCH","mat4","create","CLIP_SCRATCH","vec3","DEFAULT_SHIP_DATA","Object","freeze","DEFAULT_SCREEN_SIZE","createChildPerObjectRecords","vs","RawData","ps","Set","inheritParentPerObjectData","records","parent","translation","GetPerObjectStructs","clipData","Get","subtract","stampChildTransforms","worldTransform","lastWorldTransform","invert","identity","record","SetAndTranspose"],"mappings":"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"}
@@ -1,47 +1,106 @@
1
1
  import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
2
2
  import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
3
3
 
4
+ /**
5
+ * Reads the current time from an update context, accepting a bare number or any
6
+ * of the GetTime()/currentTime/time spellings the hydrated contexts use.
7
+ */
4
8
  function getTime(context) {
5
9
  if (typeof context === "number") return context;
6
10
  return Number(context?.GetTime?.() ?? context?.currentTime ?? context?.time ?? 0);
7
11
  }
12
+
13
+ /**
14
+ * Reads the frame delta from an update context, accepting a bare number or any
15
+ * of the GetDeltaT()/deltaTime/deltaT spellings.
16
+ */
8
17
  function getDeltaTime(context) {
9
18
  if (typeof context === "number") return context;
10
19
  return Number(context?.GetDeltaT?.() ?? context?.deltaTime ?? context?.deltaT ?? 0);
11
20
  }
21
+
22
+ /**
23
+ * Reads the scene's floating-origin shift from an update context.
24
+ * @returns {Array} the context's own vector, or a shared zero vector that callers must not mutate
25
+ */
12
26
  function getOriginShift(context) {
13
27
  return context?.GetOriginShift?.() ?? context?.originShift ?? CjsStretchRuntime.ZERO;
14
28
  }
29
+
30
+ /**
31
+ * Samples a vector curve at time through whichever of Update/UpdateValue/GetValueAt the hydrated object exposes, falling back to its stored value field.
32
+ * @param {Array} out - caller-owned vec3; returned unchanged when the curve is null or exposes none of those entry points
33
+ * @returns {Array} out
34
+ */
15
35
  function sampleVector(curve, time, out) {
16
36
  if (!curve) return out;
17
37
  if (typeof curve.Update === "function") curve.Update(time, out);else if (typeof curve.UpdateValue === "function") curve.UpdateValue(time, out);else if (typeof curve.GetValueAt === "function") curve.GetValueAt(time, out);else if (curve.value?.length >= 3) vec3.copy(out, curve.value);
18
38
  return out;
19
39
  }
40
+
41
+ /**
42
+ * Advances a curve set to an absolute time, using UpdateDelta for objects that
43
+ * predate the two-argument Update.
44
+ */
20
45
  function updateCurveSet(curveSet, time) {
21
46
  if (!curveSet) return;
22
47
  if (typeof curveSet.Update === "function") curveSet.Update(time, time);else curveSet.UpdateDelta?.(time);
23
48
  }
49
+
50
+ /**
51
+ * Longest duration a curve set or curve reports through
52
+ * GetMaxCurveDuration/GetCurveDuration/duration, or 0 when it reports none.
53
+ */
24
54
  function getCurveDuration(value) {
25
55
  if (!value) return 0;
26
56
  return Number(value.GetMaxCurveDuration?.() ?? value.GetCurveDuration?.() ?? value.duration ?? 0);
27
57
  }
58
+
59
+ /**
60
+ * Runs a stretch child's synchronous update phase, tolerating the
61
+ * Synchronous/Syncronous spelling split and falling back to the firing-element
62
+ * hook.
63
+ */
28
64
  function updateChildSync(child, context, params) {
29
65
  if (!child) return;
30
66
  if (typeof child.UpdateSynchronous === "function") child.UpdateSynchronous(context, params);else if (typeof child.UpdateSyncronous === "function") child.UpdateSyncronous(context, params);else child.UpdateEffectSync?.(context, params);
31
67
  }
68
+
69
+ /**
70
+ * Runs a stretch child's asynchronous update phase, tolerating the
71
+ * Asynchronous/Asyncronous spelling split and falling back to the firing-element
72
+ * hook, then to a plain Update.
73
+ */
32
74
  function updateChildAsync(child, context, params) {
33
75
  if (!child) return;
34
76
  if (typeof child.UpdateAsynchronous === "function") child.UpdateAsynchronous(context, params);else if (typeof child.UpdateAsyncronous === "function") child.UpdateAsyncronous(context, params);else if (typeof child.UpdateEffectAsync === "function") child.UpdateEffectAsync(context, params);else child.Update?.(context, params);
35
77
  }
78
+
79
+ /**
80
+ * Hands a stretch child its world placement for the frame, falling back to the
81
+ * older UpdateViewDependentData entry point.
82
+ */
36
83
  function updateChildVisibility(child, context, transform) {
37
84
  if (!child) return;
38
85
  if (typeof child.UpdateVisibility === "function") child.UpdateVisibility(context, transform);else child.UpdateViewDependentData?.(transform, context);
39
86
  }
87
+
88
+ /**
89
+ * Appends a stretch child's renderables to out, pushing the child itself when it produces batches directly rather than delegating.
90
+ * @returns {Array} out
91
+ */
40
92
  function collectRenderables(child, out) {
41
93
  if (!child) return out;
42
94
  if (typeof child.GetRenderables === "function") child.GetRenderables(out);else if (typeof child.GetBatches === "function") out.push(child);
43
95
  return out;
44
96
  }
97
+
98
+ /**
99
+ * Builds the pair of endpoint bases for a stretch: the source basis has its Z axis pointing at the destination, and the destination basis is the same frame with X and Z negated so it faces back down the line. A zero-length span falls back to +Z, and the up reference is the world axis least aligned with the direction.
100
+ * @param {Array} source - caller-owned mat4, overwritten with the source basis
101
+ * @param {Array} destination - caller-owned mat4, overwritten with the destination basis
102
+ * @returns {Array} source
103
+ */
45
104
  function makeEndpointTransforms(sourcePosition, destinationPosition, source, destination) {
46
105
  const direction = CjsStretchRuntime.DIRECTION;
47
106
  const up = CjsStretchRuntime.UP;
@@ -61,6 +120,12 @@ function makeEndpointTransforms(sourcePosition, destinationPosition, source, des
61
120
  writeBasis(destination, xAxis, yAxis, direction, destinationPosition);
62
121
  return source;
63
122
  }
123
+
124
+ /**
125
+ * Builds the source endpoint basis and scales its Z axis by the endpoint distance, so a child authored one unit long in Z spans the gap exactly; negativeZ makes the span run backwards for effects authored down -Z.
126
+ * @param {Array} out - caller-owned mat4, overwritten
127
+ * @returns {Array} out
128
+ */
64
129
  function makeStretchTransform(sourcePosition, destinationPosition, out, negativeZ = false) {
65
130
  makeEndpointTransforms(sourcePosition, destinationPosition, out, CjsStretchRuntime.MATRIX);
66
131
  const length = vec3.distance(sourcePosition, destinationPosition) * (negativeZ ? -1 : 1);
@@ -69,6 +134,12 @@ function makeStretchTransform(sourcePosition, destinationPosition, out, negative
69
134
  out[10] *= length;
70
135
  return out;
71
136
  }
137
+
138
+ /**
139
+ * Writes a uniform-scale-plus-translation matrix.
140
+ * @param {Array} [out] - caller-owned mat4; a fresh matrix is allocated when omitted
141
+ * @returns {Array} out
142
+ */
72
143
  function translationMatrix(position, out = mat4.create(), scale = 1) {
73
144
  mat4.identity(out);
74
145
  out[0] = out[5] = out[10] = scale;
@@ -77,6 +148,11 @@ function translationMatrix(position, out = mat4.create(), scale = 1) {
77
148
  out[14] = position[2];
78
149
  return out;
79
150
  }
151
+
152
+ /**
153
+ * Grows out to the smallest sphere enclosing both spheres, where each is packed (x, y, z, radius). A negative-radius input is ignored, and an empty out is replaced outright rather than merged.
154
+ * @returns {Array} out
155
+ */
80
156
  function mergeSphere(out, sphere) {
81
157
  if (!(sphere?.[3] >= 0)) return out;
82
158
  if (!(out[3] > 0)) {
@@ -1 +1 @@
1
- {"version":3,"file":"CjsStretchRuntime.js","sources":["../../../../../src/eve/renderable/stretch/CjsStretchRuntime.js"],"sourcesContent":["import { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\n\n\nexport function getTime(context)\n{\n if (typeof context === \"number\") return context;\n return Number(context?.GetTime?.() ?? context?.currentTime ?? context?.time ?? 0);\n}\n\nexport function getDeltaTime(context)\n{\n if (typeof context === \"number\") return context;\n return Number(context?.GetDeltaT?.() ?? context?.deltaTime ?? context?.deltaT ?? 0);\n}\n\nexport function getOriginShift(context)\n{\n return context?.GetOriginShift?.() ?? context?.originShift ?? CjsStretchRuntime.ZERO;\n}\n\nexport function sampleVector(curve, time, out)\n{\n if (!curve) return out;\n if (typeof curve.Update === \"function\") curve.Update(time, out);\n else if (typeof curve.UpdateValue === \"function\") curve.UpdateValue(time, out);\n else if (typeof curve.GetValueAt === \"function\") curve.GetValueAt(time, out);\n else if (curve.value?.length >= 3) vec3.copy(out, curve.value);\n return out;\n}\n\nexport function updateCurveSet(curveSet, time)\n{\n if (!curveSet) return;\n if (typeof curveSet.Update === \"function\") curveSet.Update(time, time);\n else curveSet.UpdateDelta?.(time);\n}\n\nexport function getCurveDuration(value)\n{\n if (!value) return 0;\n return Number(value.GetMaxCurveDuration?.() ?? value.GetCurveDuration?.() ?? value.duration ?? 0);\n}\n\nexport function updateChildSync(child, context, params)\n{\n if (!child) return;\n if (typeof child.UpdateSynchronous === \"function\") child.UpdateSynchronous(context, params);\n else if (typeof child.UpdateSyncronous === \"function\") child.UpdateSyncronous(context, params);\n else child.UpdateEffectSync?.(context, params);\n}\n\nexport function updateChildAsync(child, context, params)\n{\n if (!child) return;\n if (typeof child.UpdateAsynchronous === \"function\") child.UpdateAsynchronous(context, params);\n else if (typeof child.UpdateAsyncronous === \"function\") child.UpdateAsyncronous(context, params);\n else if (typeof child.UpdateEffectAsync === \"function\") child.UpdateEffectAsync(context, params);\n else child.Update?.(context, params);\n}\n\nexport function updateChildVisibility(child, context, transform)\n{\n if (!child) return;\n if (typeof child.UpdateVisibility === \"function\") child.UpdateVisibility(context, transform);\n else child.UpdateViewDependentData?.(transform, context);\n}\n\nexport function collectRenderables(child, out)\n{\n if (!child) return out;\n if (typeof child.GetRenderables === \"function\") child.GetRenderables(out);\n else if (typeof child.GetBatches === \"function\") out.push(child);\n return out;\n}\n\nexport function makeEndpointTransforms(sourcePosition, destinationPosition, source, destination)\n{\n const direction = CjsStretchRuntime.DIRECTION;\n const up = CjsStretchRuntime.UP;\n const xAxis = CjsStretchRuntime.X;\n const yAxis = CjsStretchRuntime.Y;\n vec3.subtract(direction, destinationPosition, sourcePosition);\n\n if (vec3.squaredLength(direction) <= Number.EPSILON) vec3.set(direction, 0, 0, 1);\n else vec3.normalize(direction, direction);\n\n const ax = Math.abs(direction[0]);\n const ay = Math.abs(direction[1]);\n const az = Math.abs(direction[2]);\n if (ax < ay && ax < az) vec3.set(up, 1, 0, 0);\n else if (ay < ax && ay < az) vec3.set(up, 0, 1, 0);\n else vec3.set(up, 0, 0, 1);\n\n vec3.normalize(xAxis, vec3.cross(xAxis, up, direction));\n vec3.cross(yAxis, xAxis, direction);\n writeBasis(source, xAxis, yAxis, direction, sourcePosition);\n vec3.negate(xAxis, xAxis);\n vec3.negate(direction, direction);\n writeBasis(destination, xAxis, yAxis, direction, destinationPosition);\n return source;\n}\n\nexport function makeStretchTransform(sourcePosition, destinationPosition, out, negativeZ = false)\n{\n makeEndpointTransforms(sourcePosition, destinationPosition, out, CjsStretchRuntime.MATRIX);\n const length = vec3.distance(sourcePosition, destinationPosition) * (negativeZ ? -1 : 1);\n out[8] *= length;\n out[9] *= length;\n out[10] *= length;\n return out;\n}\n\nexport function translationMatrix(position, out = mat4.create(), scale = 1)\n{\n mat4.identity(out);\n out[0] = out[5] = out[10] = scale;\n out[12] = position[0];\n out[13] = position[1];\n out[14] = position[2];\n return out;\n}\n\nexport function mergeSphere(out, sphere)\n{\n if (!(sphere?.[3] >= 0)) return out;\n if (!(out[3] > 0))\n {\n out.set(sphere);\n return out;\n }\n const dx = sphere[0] - out[0];\n const dy = sphere[1] - out[1];\n const dz = sphere[2] - out[2];\n const distance = Math.hypot(dx, dy, dz);\n if (out[3] >= distance + sphere[3]) return out;\n if (sphere[3] >= distance + out[3])\n {\n out.set(sphere);\n return out;\n }\n const radius = (distance + out[3] + sphere[3]) * 0.5;\n const amount = distance ? (radius - out[3]) / distance : 0;\n out[0] += dx * amount;\n out[1] += dy * amount;\n out[2] += dz * amount;\n out[3] = radius;\n return out;\n}\n\nfunction writeBasis(out, xAxis, yAxis, zAxis, translation)\n{\n mat4.identity(out);\n out[0] = xAxis[0]; out[1] = xAxis[1]; out[2] = xAxis[2];\n out[4] = yAxis[0]; out[5] = yAxis[1]; out[6] = yAxis[2];\n out[8] = zAxis[0]; out[9] = zAxis[1]; out[10] = zAxis[2];\n out[12] = translation[0]; out[13] = translation[1]; out[14] = translation[2];\n return out;\n}\n\nconst CjsStretchRuntime = Object.freeze({\n ZERO: vec3.create(),\n DIRECTION: vec3.create(),\n UP: vec3.create(),\n X: vec3.create(),\n Y: vec3.create(),\n MATRIX: mat4.create()\n});\n"],"names":["getTime","context","Number","GetTime","currentTime","time","getDeltaTime","GetDeltaT","deltaTime","deltaT","getOriginShift","GetOriginShift","originShift","CjsStretchRuntime","ZERO","sampleVector","curve","out","Update","UpdateValue","GetValueAt","value","length","vec3","copy","updateCurveSet","curveSet","UpdateDelta","getCurveDuration","GetMaxCurveDuration","GetCurveDuration","duration","updateChildSync","child","params","UpdateSynchronous","UpdateSyncronous","UpdateEffectSync","updateChildAsync","UpdateAsynchronous","UpdateAsyncronous","UpdateEffectAsync","updateChildVisibility","transform","UpdateVisibility","UpdateViewDependentData","collectRenderables","GetRenderables","GetBatches","push","makeEndpointTransforms","sourcePosition","destinationPosition","source","destination","direction","DIRECTION","up","UP","xAxis","X","yAxis","Y","subtract","squaredLength","EPSILON","set","normalize","ax","Math","abs","ay","az","cross","writeBasis","negate","makeStretchTransform","negativeZ","MATRIX","distance","translationMatrix","position","mat4","create","scale","identity","mergeSphere","sphere","dx","dy","dz","hypot","radius","amount","zAxis","translation","Object","freeze"],"mappings":"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"}
1
+ {"version":3,"file":"CjsStretchRuntime.js","sources":["../../../../../src/eve/renderable/stretch/CjsStretchRuntime.js"],"sourcesContent":["import { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\n\n\n/**\n * Reads the current time from an update context, accepting a bare number or any\n * of the GetTime()/currentTime/time spellings the hydrated contexts use.\n */\nexport function getTime(context)\n{\n if (typeof context === \"number\") return context;\n return Number(context?.GetTime?.() ?? context?.currentTime ?? context?.time ?? 0);\n}\n\n/**\n * Reads the frame delta from an update context, accepting a bare number or any\n * of the GetDeltaT()/deltaTime/deltaT spellings.\n */\nexport function getDeltaTime(context)\n{\n if (typeof context === \"number\") return context;\n return Number(context?.GetDeltaT?.() ?? context?.deltaTime ?? context?.deltaT ?? 0);\n}\n\n/**\n * Reads the scene's floating-origin shift from an update context.\n * @returns {Array} the context's own vector, or a shared zero vector that callers must not mutate\n */\nexport function getOriginShift(context)\n{\n return context?.GetOriginShift?.() ?? context?.originShift ?? CjsStretchRuntime.ZERO;\n}\n\n/**\n * Samples a vector curve at time through whichever of Update/UpdateValue/GetValueAt the hydrated object exposes, falling back to its stored value field.\n * @param {Array} out - caller-owned vec3; returned unchanged when the curve is null or exposes none of those entry points\n * @returns {Array} out\n */\nexport function sampleVector(curve, time, out)\n{\n if (!curve) return out;\n if (typeof curve.Update === \"function\") curve.Update(time, out);\n else if (typeof curve.UpdateValue === \"function\") curve.UpdateValue(time, out);\n else if (typeof curve.GetValueAt === \"function\") curve.GetValueAt(time, out);\n else if (curve.value?.length >= 3) vec3.copy(out, curve.value);\n return out;\n}\n\n/**\n * Advances a curve set to an absolute time, using UpdateDelta for objects that\n * predate the two-argument Update.\n */\nexport function updateCurveSet(curveSet, time)\n{\n if (!curveSet) return;\n if (typeof curveSet.Update === \"function\") curveSet.Update(time, time);\n else curveSet.UpdateDelta?.(time);\n}\n\n/**\n * Longest duration a curve set or curve reports through\n * GetMaxCurveDuration/GetCurveDuration/duration, or 0 when it reports none.\n */\nexport function getCurveDuration(value)\n{\n if (!value) return 0;\n return Number(value.GetMaxCurveDuration?.() ?? value.GetCurveDuration?.() ?? value.duration ?? 0);\n}\n\n/**\n * Runs a stretch child's synchronous update phase, tolerating the\n * Synchronous/Syncronous spelling split and falling back to the firing-element\n * hook.\n */\nexport function updateChildSync(child, context, params)\n{\n if (!child) return;\n if (typeof child.UpdateSynchronous === \"function\") child.UpdateSynchronous(context, params);\n else if (typeof child.UpdateSyncronous === \"function\") child.UpdateSyncronous(context, params);\n else child.UpdateEffectSync?.(context, params);\n}\n\n/**\n * Runs a stretch child's asynchronous update phase, tolerating the\n * Asynchronous/Asyncronous spelling split and falling back to the firing-element\n * hook, then to a plain Update.\n */\nexport function updateChildAsync(child, context, params)\n{\n if (!child) return;\n if (typeof child.UpdateAsynchronous === \"function\") child.UpdateAsynchronous(context, params);\n else if (typeof child.UpdateAsyncronous === \"function\") child.UpdateAsyncronous(context, params);\n else if (typeof child.UpdateEffectAsync === \"function\") child.UpdateEffectAsync(context, params);\n else child.Update?.(context, params);\n}\n\n/**\n * Hands a stretch child its world placement for the frame, falling back to the\n * older UpdateViewDependentData entry point.\n */\nexport function updateChildVisibility(child, context, transform)\n{\n if (!child) return;\n if (typeof child.UpdateVisibility === \"function\") child.UpdateVisibility(context, transform);\n else child.UpdateViewDependentData?.(transform, context);\n}\n\n/**\n * Appends a stretch child's renderables to out, pushing the child itself when it produces batches directly rather than delegating.\n * @returns {Array} out\n */\nexport function collectRenderables(child, out)\n{\n if (!child) return out;\n if (typeof child.GetRenderables === \"function\") child.GetRenderables(out);\n else if (typeof child.GetBatches === \"function\") out.push(child);\n return out;\n}\n\n/**\n * Builds the pair of endpoint bases for a stretch: the source basis has its Z axis pointing at the destination, and the destination basis is the same frame with X and Z negated so it faces back down the line. A zero-length span falls back to +Z, and the up reference is the world axis least aligned with the direction.\n * @param {Array} source - caller-owned mat4, overwritten with the source basis\n * @param {Array} destination - caller-owned mat4, overwritten with the destination basis\n * @returns {Array} source\n */\nexport function makeEndpointTransforms(sourcePosition, destinationPosition, source, destination)\n{\n const direction = CjsStretchRuntime.DIRECTION;\n const up = CjsStretchRuntime.UP;\n const xAxis = CjsStretchRuntime.X;\n const yAxis = CjsStretchRuntime.Y;\n vec3.subtract(direction, destinationPosition, sourcePosition);\n\n if (vec3.squaredLength(direction) <= Number.EPSILON) vec3.set(direction, 0, 0, 1);\n else vec3.normalize(direction, direction);\n\n const ax = Math.abs(direction[0]);\n const ay = Math.abs(direction[1]);\n const az = Math.abs(direction[2]);\n if (ax < ay && ax < az) vec3.set(up, 1, 0, 0);\n else if (ay < ax && ay < az) vec3.set(up, 0, 1, 0);\n else vec3.set(up, 0, 0, 1);\n\n vec3.normalize(xAxis, vec3.cross(xAxis, up, direction));\n vec3.cross(yAxis, xAxis, direction);\n writeBasis(source, xAxis, yAxis, direction, sourcePosition);\n vec3.negate(xAxis, xAxis);\n vec3.negate(direction, direction);\n writeBasis(destination, xAxis, yAxis, direction, destinationPosition);\n return source;\n}\n\n/**\n * Builds the source endpoint basis and scales its Z axis by the endpoint distance, so a child authored one unit long in Z spans the gap exactly; negativeZ makes the span run backwards for effects authored down -Z.\n * @param {Array} out - caller-owned mat4, overwritten\n * @returns {Array} out\n */\nexport function makeStretchTransform(sourcePosition, destinationPosition, out, negativeZ = false)\n{\n makeEndpointTransforms(sourcePosition, destinationPosition, out, CjsStretchRuntime.MATRIX);\n const length = vec3.distance(sourcePosition, destinationPosition) * (negativeZ ? -1 : 1);\n out[8] *= length;\n out[9] *= length;\n out[10] *= length;\n return out;\n}\n\n/**\n * Writes a uniform-scale-plus-translation matrix.\n * @param {Array} [out] - caller-owned mat4; a fresh matrix is allocated when omitted\n * @returns {Array} out\n */\nexport function translationMatrix(position, out = mat4.create(), scale = 1)\n{\n mat4.identity(out);\n out[0] = out[5] = out[10] = scale;\n out[12] = position[0];\n out[13] = position[1];\n out[14] = position[2];\n return out;\n}\n\n/**\n * Grows out to the smallest sphere enclosing both spheres, where each is packed (x, y, z, radius). A negative-radius input is ignored, and an empty out is replaced outright rather than merged.\n * @returns {Array} out\n */\nexport function mergeSphere(out, sphere)\n{\n if (!(sphere?.[3] >= 0)) return out;\n if (!(out[3] > 0))\n {\n out.set(sphere);\n return out;\n }\n const dx = sphere[0] - out[0];\n const dy = sphere[1] - out[1];\n const dz = sphere[2] - out[2];\n const distance = Math.hypot(dx, dy, dz);\n if (out[3] >= distance + sphere[3]) return out;\n if (sphere[3] >= distance + out[3])\n {\n out.set(sphere);\n return out;\n }\n const radius = (distance + out[3] + sphere[3]) * 0.5;\n const amount = distance ? (radius - out[3]) / distance : 0;\n out[0] += dx * amount;\n out[1] += dy * amount;\n out[2] += dz * amount;\n out[3] = radius;\n return out;\n}\n\nfunction writeBasis(out, xAxis, yAxis, zAxis, translation)\n{\n mat4.identity(out);\n out[0] = xAxis[0]; out[1] = xAxis[1]; out[2] = xAxis[2];\n out[4] = yAxis[0]; out[5] = yAxis[1]; out[6] = yAxis[2];\n out[8] = zAxis[0]; out[9] = zAxis[1]; out[10] = zAxis[2];\n out[12] = translation[0]; out[13] = translation[1]; out[14] = translation[2];\n return out;\n}\n\nconst CjsStretchRuntime = Object.freeze({\n ZERO: vec3.create(),\n DIRECTION: vec3.create(),\n UP: vec3.create(),\n X: vec3.create(),\n Y: vec3.create(),\n MATRIX: mat4.create()\n});\n"],"names":["getTime","context","Number","GetTime","currentTime","time","getDeltaTime","GetDeltaT","deltaTime","deltaT","getOriginShift","GetOriginShift","originShift","CjsStretchRuntime","ZERO","sampleVector","curve","out","Update","UpdateValue","GetValueAt","value","length","vec3","copy","updateCurveSet","curveSet","UpdateDelta","getCurveDuration","GetMaxCurveDuration","GetCurveDuration","duration","updateChildSync","child","params","UpdateSynchronous","UpdateSyncronous","UpdateEffectSync","updateChildAsync","UpdateAsynchronous","UpdateAsyncronous","UpdateEffectAsync","updateChildVisibility","transform","UpdateVisibility","UpdateViewDependentData","collectRenderables","GetRenderables","GetBatches","push","makeEndpointTransforms","sourcePosition","destinationPosition","source","destination","direction","DIRECTION","up","UP","xAxis","X","yAxis","Y","subtract","squaredLength","EPSILON","set","normalize","ax","Math","abs","ay","az","cross","writeBasis","negate","makeStretchTransform","negativeZ","MATRIX","distance","translationMatrix","position","mat4","create","scale","identity","mergeSphere","sphere","dx","dy","dz","hypot","radius","amount","zAxis","translation","Object","freeze"],"mappings":"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"}
@@ -2,10 +2,15 @@ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../..
2
2
  import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
3
3
  import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
4
4
  import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
5
- import { EveEntity as _EveEntity } from '../../../generated/eve/EveEntity.js';
5
+ import { EveEntity as _EveEntity } from '../../EveEntity.js';
6
6
  import { updateChildSync, updateChildAsync, collectRenderables } from './CjsStretchRuntime.js';
7
7
 
8
8
  let _initProto, _initClass, _init_element, _init_extra_element, _init_source, _init_extra_source, _init_sourceTransform, _init_extra_sourceTransform, _init_destination, _init_extra_destination, _init_useSourceTransform, _init_extra_useSourceTransform, _init_displayDestination, _init_extra_displayDestination, _init_displaySource, _init_extra_displaySource, _init_display, _init_extra_display, _init_destinationScale, _init_extra_destinationScale;
9
+
10
+ /**
11
+ * A top-level wrapper that hosts one firing-effect element for editing, owning
12
+ * the endpoint state that is pushed into that element every update.
13
+ */
9
14
  let _EveFiringEffectEleme;
10
15
  new class extends _identity {
11
16
  static [class EveFiringEffectElementContainer extends _EveEntity {
@@ -28,6 +33,12 @@ new class extends _identity {
28
33
  display = (_init_extra_displaySource(this), _init_display(this, true));
29
34
  destinationScale = (_init_extra_display(this), _init_destinationScale(this, 1));
30
35
  #active = (_init_extra_destinationScale(this), false);
36
+
37
+ /**
38
+ * Pushes the container's endpoint state - source transform or position,
39
+ * destination scale and endpoint display flags - into the wrapped element,
40
+ * then updates the element, but only while the container is firing.
41
+ */
31
42
  UpdateSynchronous(context) {
32
43
  if (!this.element) return true;
33
44
  const source = this.useSourceTransform ? this.sourceTransform : this.source;
@@ -42,43 +53,96 @@ new class extends _identity {
42
53
  }
43
54
  return true;
44
55
  }
56
+
57
+ /** Carbon's IEveSpaceObject2 spelling of UpdateSynchronous; forwards unchanged. */
45
58
  UpdateSyncronous(context) {
46
59
  return this.UpdateSynchronous(context);
47
60
  }
61
+
62
+ /**
63
+ * The wrapped element is driven entirely from the synchronous phase, so this
64
+ * only reports success.
65
+ */
48
66
  UpdateAsynchronous(context) {
49
67
  return true;
50
68
  }
69
+
70
+ /**
71
+ * Carbon's IEveSpaceObject2 spelling of UpdateAsynchronous; forwards
72
+ * unchanged.
73
+ */
51
74
  UpdateAsyncronous(context) {
52
75
  return this.UpdateAsynchronous(context);
53
76
  }
77
+
78
+ /**
79
+ * Forwards the parent placement to the wrapped element under the container's
80
+ * own display flag.
81
+ */
54
82
  UpdateVisibility(context, transform) {
55
83
  if (this.display) this.element?.UpdateVisibility?.(context, transform);
56
84
  }
85
+
86
+ /**
87
+ * Appends the wrapped element's renderables to out while the container is displayed.
88
+ * @returns {Array} out
89
+ */
57
90
  GetRenderables(out = []) {
58
91
  if (this.display) collectRenderables(this.element, out);
59
92
  return out;
60
93
  }
94
+
95
+ /**
96
+ * Starts the wrapped element firing and marks the container active, which is
97
+ * what enables the per-frame element update.
98
+ */
61
99
  StartFiring(delay = 0) {
62
100
  this.element?.StartFiring?.(delay);
63
101
  this.#active = true;
64
102
  }
103
+
104
+ /**
105
+ * Stops the wrapped element and clears the active flag, halting the per-frame
106
+ * element update while still pushing endpoint state.
107
+ */
65
108
  StopFiring() {
66
109
  this.element?.StopFiring?.();
67
110
  this.#active = false;
68
111
  }
112
+
113
+ /**
114
+ * Toggles firing through StartFiring/StopFiring, ignoring a request that
115
+ * matches the current state so a repeated true does not restart the effect.
116
+ */
69
117
  SetActive(active) {
70
118
  if (!!active === this.#active) return;
71
119
  if (active) this.StartFiring(0);else this.StopFiring();
72
120
  }
121
+
122
+ /** Whether the container is currently firing. */
73
123
  GetActive() {
74
124
  return this.#active;
75
125
  }
126
+
127
+ /**
128
+ * Replaces the wrapped firing-effect element; the container's active state is
129
+ * not reapplied to the new element.
130
+ */
76
131
  SetElement(element) {
77
132
  this.element = element ?? null;
78
133
  }
134
+
135
+ /** The wrapped firing-effect element, or null. */
79
136
  GetElement() {
80
137
  return this.element;
81
138
  }
139
+
140
+ /**
141
+ * Records the endpoints, accepting either a 16-element source transform - kept
142
+ * whole, with its translation mirrored into source - or a source position;
143
+ * which one was given is latched in useSourceTransform and applied on the next
144
+ * synchronous update.
145
+ */
82
146
  SetFiringTransform(source, destination) {
83
147
  if (source?.length === 16) {
84
148
  mat4.copy(this.sourceTransform, source);
@@ -90,16 +154,36 @@ new class extends _identity {
90
154
  }
91
155
  vec3.copy(this.destination, destination);
92
156
  }
157
+
158
+ /**
159
+ * Records the destination-end scale forwarded to the element on the next
160
+ * synchronous update.
161
+ */
93
162
  SetDestObjectScale(scale) {
94
163
  this.destinationScale = Number(scale);
95
164
  }
165
+
166
+ /**
167
+ * Records which endpoints the element should draw; forwarded on the next
168
+ * synchronous update.
169
+ */
96
170
  DisplayEndPoints(displaySource, displayDestination) {
97
171
  this.displaySource = !!displaySource;
98
172
  this.displayDestination = !!displayDestination;
99
173
  }
174
+
175
+ /**
176
+ * Shows or hides the container, gating visibility and renderable collection
177
+ * but not the endpoint state push.
178
+ */
100
179
  SetDisplay(display) {
101
180
  this.display = !!display;
102
181
  }
182
+
183
+ /**
184
+ * Curve duration reported by the wrapped element, or 0 when there is no
185
+ * element.
186
+ */
103
187
  GetCurveDuration() {
104
188
  return Number(this.element?.GetCurveDuration?.() ?? 0);
105
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EveFiringEffectElementContainer.js","sources":["../../../../../src/eve/renderable/stretch/EveFiringEffectElementContainer.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\Renderable\\Stretch\\EveFiringEffectElementContainer.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\Renderable\\Stretch\\EveFiringEffectElementContainer.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveEntity } from \"../../../generated/eve/EveEntity.js\";\r\nimport { collectRenderables, updateChildAsync, updateChildSync } from \"./CjsStretchRuntime.js\";\r\n\r\n\r\n@type.define({ className: \"EveFiringEffectElementContainer\", family: \"eve/renderable/stretch\" })\r\nexport class EveFiringEffectElementContainer extends EveEntity\r\n{\r\n @io.persistOnly @type.model(\"IEveFiringEffectElement\") element = null;\r\n @io.readwrite @type.vec3 source = vec3.create();\r\n @io.persist @type.mat4 sourceTransform = mat4.create();\r\n @io.persist @type.vec3 destination = vec3.create();\r\n @io.persist @type.boolean useSourceTransform = false;\r\n @io.persist @type.boolean displayDestination = true;\r\n @io.persist @type.boolean displaySource = true;\r\n @io.persist @type.boolean display = true;\r\n @io.persist @type.float32 destinationScale = 1;\r\n\r\n #active = false;\r\n\r\n @carbon.method @impl.adapted\r\n @impl.reason(\"JavaScript uses duck-typed firing elements rather than Carbon QueryInterface dispatch.\")\r\n UpdateSynchronous(context)\r\n {\r\n if (!this.element) return true;\r\n const source = this.useSourceTransform ? this.sourceTransform : this.source;\r\n this.element.SetFiringTransform?.(source, this.destination);\r\n this.element.SetDestObjectScale?.(this.destinationScale);\r\n this.element.DisplayEndPoints?.(this.displaySource, this.displayDestination);\r\n if (this.#active)\r\n {\r\n if (typeof this.element.Update === \"function\") this.element.Update(context);\r\n else\r\n {\r\n updateChildSync(this.element, context);\r\n updateChildAsync(this.element, context);\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n UpdateSyncronous(context)\r\n {\r\n return this.UpdateSynchronous(context);\r\n }\r\n\r\n @carbon.method @impl.adapted\r\n @impl.reason(\"The browser runtime forwards lifecycle calls directly to the hydrated element.\")\r\n UpdateAsynchronous(context)\r\n {\r\n void context;\r\n return true;\r\n }\r\n\r\n UpdateAsyncronous(context)\r\n {\r\n return this.UpdateAsynchronous(context);\r\n }\r\n\r\n @carbon.method @impl.adapted\r\n @impl.reason(\"Visibility is graph-owned; the renderer consumes the collected element later.\")\r\n UpdateVisibility(context, transform)\r\n {\r\n if (this.display) this.element?.UpdateVisibility?.(context, transform);\r\n }\r\n\r\n @carbon.method @impl.adapted\r\n @impl.reason(\"Renderable collection is backend-neutral and leaves batch realization to the engine package.\")\r\n GetRenderables(out = [])\r\n {\r\n if (this.display) collectRenderables(this.element, out);\r\n return out;\r\n }\r\n\r\n @carbon.method @impl.implemented\r\n StartFiring(delay = 0)\r\n {\r\n this.element?.StartFiring?.(delay);\r\n this.#active = true;\r\n }\r\n\r\n @carbon.method @impl.implemented\r\n StopFiring()\r\n {\r\n this.element?.StopFiring?.();\r\n this.#active = false;\r\n }\r\n\r\n @carbon.method @impl.implemented\r\n SetActive(active)\r\n {\r\n if (!!active === this.#active) return;\r\n if (active) this.StartFiring(0);\r\n else this.StopFiring();\r\n }\r\n\r\n @carbon.method @impl.implemented\r\n GetActive()\r\n {\r\n return this.#active;\r\n }\r\n\r\n @carbon.method @impl.implemented\r\n SetElement(element)\r\n {\r\n this.element = element ?? null;\r\n }\r\n\r\n @carbon.method @impl.implemented\r\n GetElement()\r\n {\r\n return this.element;\r\n }\r\n\r\n @carbon.method @impl.implemented\r\n SetFiringTransform(source, destination)\r\n {\r\n if (source?.length === 16)\r\n {\r\n mat4.copy(this.sourceTransform, source);\r\n mat4.getTranslation(this.source, source);\r\n this.useSourceTransform = true;\r\n }\r\n else\r\n {\r\n vec3.copy(this.source, source ?? EveFiringEffectElementContainer.#zero);\r\n this.useSourceTransform = false;\r\n }\r\n vec3.copy(this.destination, destination);\r\n }\r\n\r\n @carbon.method @impl.implemented\r\n SetDestObjectScale(scale)\r\n {\r\n this.destinationScale = Number(scale);\r\n }\r\n\r\n @carbon.method @impl.implemented\r\n DisplayEndPoints(displaySource, displayDestination)\r\n {\r\n this.displaySource = !!displaySource;\r\n this.displayDestination = !!displayDestination;\r\n }\r\n\r\n @carbon.method @impl.implemented\r\n SetDisplay(display)\r\n {\r\n this.display = !!display;\r\n }\r\n\r\n @carbon.method @impl.implemented\r\n GetCurveDuration()\r\n {\r\n return Number(this.element?.GetCurveDuration?.() ?? 0);\r\n }\r\n\r\n /** Carbon EveFiringEffectElementContainer::RegisterComponents\r\n * (cpp:140-146): forwards the wrapped element (no gates; EveEntity.Register\r\n * tolerates a null registry). */\r\n @carbon.method @impl.implemented\r\n RegisterComponents()\r\n {\r\n this.element?.Register?.(this.GetComponentRegistry());\r\n }\r\n\r\n /** Carbon EveFiringEffectElementContainer::UnRegisterComponents\r\n * (cpp:148-154): forwards the wrapped element. */\r\n @carbon.method @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n this.element?.UnRegister?.(this.GetComponentRegistry());\r\n }\r\n\r\n static #zero = vec3.create();\r\n}\r\n"],"names":["_EveFiringEffectEleme","_identity","EveFiringEffectElementContainer","EveEntity","e","_init_element","_init_extra_element","_init_source","_init_extra_source","_init_sourceTransform","_init_extra_sourceTransform","_init_destination","_init_extra_destination","_init_useSourceTransform","_init_extra_useSourceTransform","_init_displayDestination","_init_extra_displayDestination","_init_displaySource","_init_extra_displaySource","_init_display","_init_extra_display","_init_destinationScale","_init_extra_destinationScale","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persistOnly","model","readwrite","vec3","persist","mat4","boolean","float32","carbon","method","impl","adapted","reason","implemented","element","source","create","sourceTransform","destination","useSourceTransform","displayDestination","displaySource","display","destinationScale","UpdateSynchronous","context","SetFiringTransform","SetDestObjectScale","DisplayEndPoints","Update","updateChildSync","updateChildAsync","UpdateSyncronous","UpdateAsynchronous","UpdateAsyncronous","UpdateVisibility","transform","GetRenderables","out","collectRenderables","StartFiring","delay","StopFiring","SetActive","active","GetActive","SetElement","GetElement","length","copy","getTranslation","scale","Number","SetDisplay","GetCurveDuration","RegisterComponents","Register","GetComponentRegistry","UnRegisterComponents","UnRegister","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"EveFiringEffectElementContainer.js","sources":["../../../../../src/eve/renderable/stretch/EveFiringEffectElementContainer.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\Renderable\\Stretch\\EveFiringEffectElementContainer.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\Renderable\\Stretch\\EveFiringEffectElementContainer.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveEntity } from \"../../EveEntity.js\";\r\nimport { collectRenderables, updateChildAsync, updateChildSync } from \"./CjsStretchRuntime.js\";\r\n\r\n\r\n/**\r\n * A top-level wrapper that hosts one firing-effect element for editing, owning\r\n * the endpoint state that is pushed into that element every update.\r\n */\r\n@type.define({ className: \"EveFiringEffectElementContainer\", family: \"eve/renderable/stretch\" })\r\nexport class EveFiringEffectElementContainer extends EveEntity\r\n{\r\n @io.persistOnly @type.model(\"IEveFiringEffectElement\") element = null;\r\n @io.readwrite @type.vec3 source = vec3.create();\r\n @io.persist @type.mat4 sourceTransform = mat4.create();\r\n @io.persist @type.vec3 destination = vec3.create();\r\n @io.persist @type.boolean useSourceTransform = false;\r\n @io.persist @type.boolean displayDestination = true;\r\n @io.persist @type.boolean displaySource = true;\r\n @io.persist @type.boolean display = true;\r\n @io.persist @type.float32 destinationScale = 1;\r\n\r\n #active = false;\r\n\r\n /**\r\n * Pushes the container's endpoint state - source transform or position,\r\n * destination scale and endpoint display flags - into the wrapped element,\r\n * then updates the element, but only while the container is firing.\r\n */\r\n @carbon.method @impl.adapted\r\n @impl.reason(\"JavaScript uses duck-typed firing elements rather than Carbon QueryInterface dispatch.\")\r\n UpdateSynchronous(context)\r\n {\r\n if (!this.element) return true;\r\n const source = this.useSourceTransform ? this.sourceTransform : this.source;\r\n this.element.SetFiringTransform?.(source, this.destination);\r\n this.element.SetDestObjectScale?.(this.destinationScale);\r\n this.element.DisplayEndPoints?.(this.displaySource, this.displayDestination);\r\n if (this.#active)\r\n {\r\n if (typeof this.element.Update === \"function\") this.element.Update(context);\r\n else\r\n {\r\n updateChildSync(this.element, context);\r\n updateChildAsync(this.element, context);\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /** Carbon's IEveSpaceObject2 spelling of UpdateSynchronous; forwards unchanged. */\r\n UpdateSyncronous(context)\r\n {\r\n return this.UpdateSynchronous(context);\r\n }\r\n\r\n /**\r\n * The wrapped element is driven entirely from the synchronous phase, so this\r\n * only reports success.\r\n */\r\n @carbon.method @impl.adapted\r\n @impl.reason(\"The browser runtime forwards lifecycle calls directly to the hydrated element.\")\r\n UpdateAsynchronous(context)\r\n {\r\n void context;\r\n return true;\r\n }\r\n\r\n /**\r\n * Carbon's IEveSpaceObject2 spelling of UpdateAsynchronous; forwards\r\n * unchanged.\r\n */\r\n UpdateAsyncronous(context)\r\n {\r\n return this.UpdateAsynchronous(context);\r\n }\r\n\r\n /**\r\n * Forwards the parent placement to the wrapped element under the container's\r\n * own display flag.\r\n */\r\n @carbon.method @impl.adapted\r\n @impl.reason(\"Visibility is graph-owned; the renderer consumes the collected element later.\")\r\n UpdateVisibility(context, transform)\r\n {\r\n if (this.display) this.element?.UpdateVisibility?.(context, transform);\r\n }\r\n\r\n /**\r\n * Appends the wrapped element's renderables to out while the container is displayed.\r\n * @returns {Array} out\r\n */\r\n @carbon.method @impl.adapted\r\n @impl.reason(\"Renderable collection is backend-neutral and leaves batch realization to the engine package.\")\r\n GetRenderables(out = [])\r\n {\r\n if (this.display) collectRenderables(this.element, out);\r\n return out;\r\n }\r\n\r\n /**\r\n * Starts the wrapped element firing and marks the container active, which is\r\n * what enables the per-frame element update.\r\n */\r\n @carbon.method @impl.implemented\r\n StartFiring(delay = 0)\r\n {\r\n this.element?.StartFiring?.(delay);\r\n this.#active = true;\r\n }\r\n\r\n /**\r\n * Stops the wrapped element and clears the active flag, halting the per-frame\r\n * element update while still pushing endpoint state.\r\n */\r\n @carbon.method @impl.implemented\r\n StopFiring()\r\n {\r\n this.element?.StopFiring?.();\r\n this.#active = false;\r\n }\r\n\r\n /**\r\n * Toggles firing through StartFiring/StopFiring, ignoring a request that\r\n * matches the current state so a repeated true does not restart the effect.\r\n */\r\n @carbon.method @impl.implemented\r\n SetActive(active)\r\n {\r\n if (!!active === this.#active) return;\r\n if (active) this.StartFiring(0);\r\n else this.StopFiring();\r\n }\r\n\r\n /** Whether the container is currently firing. */\r\n @carbon.method @impl.implemented\r\n GetActive()\r\n {\r\n return this.#active;\r\n }\r\n\r\n /**\r\n * Replaces the wrapped firing-effect element; the container's active state is\r\n * not reapplied to the new element.\r\n */\r\n @carbon.method @impl.implemented\r\n SetElement(element)\r\n {\r\n this.element = element ?? null;\r\n }\r\n\r\n /** The wrapped firing-effect element, or null. */\r\n @carbon.method @impl.implemented\r\n GetElement()\r\n {\r\n return this.element;\r\n }\r\n\r\n /**\r\n * Records the endpoints, accepting either a 16-element source transform - kept\r\n * whole, with its translation mirrored into source - or a source position;\r\n * which one was given is latched in useSourceTransform and applied on the next\r\n * synchronous update.\r\n */\r\n @carbon.method @impl.implemented\r\n SetFiringTransform(source, destination)\r\n {\r\n if (source?.length === 16)\r\n {\r\n mat4.copy(this.sourceTransform, source);\r\n mat4.getTranslation(this.source, source);\r\n this.useSourceTransform = true;\r\n }\r\n else\r\n {\r\n vec3.copy(this.source, source ?? EveFiringEffectElementContainer.#zero);\r\n this.useSourceTransform = false;\r\n }\r\n vec3.copy(this.destination, destination);\r\n }\r\n\r\n /**\r\n * Records the destination-end scale forwarded to the element on the next\r\n * synchronous update.\r\n */\r\n @carbon.method @impl.implemented\r\n SetDestObjectScale(scale)\r\n {\r\n this.destinationScale = Number(scale);\r\n }\r\n\r\n /**\r\n * Records which endpoints the element should draw; forwarded on the next\r\n * synchronous update.\r\n */\r\n @carbon.method @impl.implemented\r\n DisplayEndPoints(displaySource, displayDestination)\r\n {\r\n this.displaySource = !!displaySource;\r\n this.displayDestination = !!displayDestination;\r\n }\r\n\r\n /**\r\n * Shows or hides the container, gating visibility and renderable collection\r\n * but not the endpoint state push.\r\n */\r\n @carbon.method @impl.implemented\r\n SetDisplay(display)\r\n {\r\n this.display = !!display;\r\n }\r\n\r\n /**\r\n * Curve duration reported by the wrapped element, or 0 when there is no\r\n * element.\r\n */\r\n @carbon.method @impl.implemented\r\n GetCurveDuration()\r\n {\r\n return Number(this.element?.GetCurveDuration?.() ?? 0);\r\n }\r\n\r\n /** Carbon EveFiringEffectElementContainer::RegisterComponents\r\n * (cpp:140-146): forwards the wrapped element (no gates; EveEntity.Register\r\n * tolerates a null registry). */\r\n @carbon.method @impl.implemented\r\n RegisterComponents()\r\n {\r\n this.element?.Register?.(this.GetComponentRegistry());\r\n }\r\n\r\n /** Carbon EveFiringEffectElementContainer::UnRegisterComponents\r\n * (cpp:148-154): forwards the wrapped element. */\r\n @carbon.method @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n this.element?.UnRegister?.(this.GetComponentRegistry());\r\n }\r\n\r\n static #zero = vec3.create();\r\n}\r\n"],"names":["_EveFiringEffectEleme","_identity","EveFiringEffectElementContainer","EveEntity","e","_init_element","_init_extra_element","_init_source","_init_extra_source","_init_sourceTransform","_init_extra_sourceTransform","_init_destination","_init_extra_destination","_init_useSourceTransform","_init_extra_useSourceTransform","_init_displayDestination","_init_extra_displayDestination","_init_displaySource","_init_extra_displaySource","_init_display","_init_extra_display","_init_destinationScale","_init_extra_destinationScale","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persistOnly","model","readwrite","vec3","persist","mat4","boolean","float32","carbon","method","impl","adapted","reason","implemented","element","source","create","sourceTransform","destination","useSourceTransform","displayDestination","displaySource","display","destinationScale","UpdateSynchronous","context","SetFiringTransform","SetDestObjectScale","DisplayEndPoints","Update","updateChildSync","updateChildAsync","UpdateSyncronous","UpdateAsynchronous","UpdateAsyncronous","UpdateVisibility","transform","GetRenderables","out","collectRenderables","StartFiring","delay","StopFiring","SetActive","active","GetActive","SetElement","GetElement","length","copy","getTranslation","scale","Number","SetDisplay","GetCurveDuration","RegisterComponents","Register","GetComponentRegistry","UnRegisterComponents","UnRegister","constructor"],"mappings":";;;;;;;;;AASA;AACA;AACA;AACA;AAHA,IAAAA;AAAA,IAAA,cAAAC,SAAA,CAAA;AAAA,EAAA,QAIA,MAAAC,+BAAA,SACqDC,UAAS,CAC9D;AAAA,IAAA;AAAA,MAAA,CAAA;AAAAC,QAAAA,CAAA,GAAAC,aAAA,EAAAC,mBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,wBAAA,EAAAC,8BAAA,EAAAC,wBAAA,EAAAC,8BAAA,EAAAC,mBAAA,EAAAC,yBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,UAAA,CAAA;QAAAC,CAAA,EAAA,CAAAxB,qBAAA,EAAAyB,UAAA;AAAA,OAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,iCAAiC;AAAEC,QAAAA,MAAM,EAAE;AAAyB,OAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAG7FC,EAAE,EAAFA,EAAE,CAACC,WAAW,EAAA,MAAA,EAAEL,IAAI,CAACM,KAAK,CAAC,yBAAyB,CAAC,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CACrDF,EAAE,EAAFA,EAAE,CAACG,SAAS,EAAEP,IAAI,EAAJA,IAAI,CAACQ,IAAI,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CACvBJ,EAAE,EAAFA,EAAE,CAACK,OAAO,EAAET,IAAI,EAAJA,IAAI,CAACU,IAAI,6BACrBN,EAAE,EAAFA,EAAE,CAACK,OAAO,EAAET,IAAI,EAAJA,IAAI,CAACQ,IAAI,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CACrBJ,EAAE,EAAFA,EAAE,CAACK,OAAO,EAAET,IAAI,EAAJA,IAAI,CAACW,OAAO,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CACxBP,EAAE,EAAFA,EAAE,CAACK,OAAO,EAAET,IAAI,EAAJA,IAAI,CAACW,OAAO,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CACxBP,EAAE,EAAFA,EAAE,CAACK,OAAO,EAAET,IAAI,EAAJA,IAAI,CAACW,OAAO,2BACxBP,EAAE,EAAFA,EAAE,CAACK,OAAO,EAAET,IAAI,EAAJA,IAAI,CAACW,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CACxBP,EAAE,EAAFA,EAAE,CAACK,OAAO,EAAET,IAAI,EAAJA,IAAI,CAACY,OAAO,8BASxBC,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EAC3BD,IAAI,CAACE,MAAM,CAAC,wFAAwF,CAAC,+BA8BrGJ,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EAC3BD,IAAI,CAACE,MAAM,CAAC,gFAAgF,CAAC,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAoB7FJ,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EAC3BD,IAAI,CAACE,MAAM,CAAC,+EAA+E,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAU5FJ,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EAC3BD,IAAI,CAACE,MAAM,CAAC,8FAA8F,CAAC,4BAW3GJ,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAW/BL,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAW/BL,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACG,WAAW,uBAS/BL,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAU/BL,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAO/BL,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAY/BL,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACG,WAAW,gCAqB/BL,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAU/BL,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAW/BL,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACG,WAAW,wBAU/BL,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAS/BL,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAQ/BL,MAAM,EAANA,MAAM,CAACC,MAAM,EAAEC,IAAI,EAAJA,IAAI,CAACG,WAAW,4CA/NmB1C,UAAS,CAAA;AAAA;AAEL2C,IAAAA,OAAO,IAAAvB,UAAA,CAAA,IAAA,CAAA,EAAAlB,aAAA,OAAG,IAAI,CAAA;IAC5C0C,MAAM,IAAAzC,mBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG4B,IAAI,CAACa,MAAM,EAAE,CAAA;IACxBC,eAAe,IAAAzC,kBAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,OAAG4B,IAAI,CAACW,MAAM,EAAE,CAAA;IAC/BE,WAAW,IAAAxC,2BAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAGwB,IAAI,CAACa,MAAM,EAAE,CAAA;AACxBG,IAAAA,kBAAkB,IAAAvC,uBAAA,CAAA,IAAA,CAAA,EAAAC,wBAAA,OAAG,KAAK,CAAA;AAC1BuC,IAAAA,kBAAkB,IAAAtC,8BAAA,CAAA,IAAA,CAAA,EAAAC,wBAAA,OAAG,IAAI,CAAA;AACzBsC,IAAAA,aAAa,IAAArC,8BAAA,CAAA,IAAA,CAAA,EAAAC,mBAAA,OAAG,IAAI,CAAA;AACpBqC,IAAAA,OAAO,IAAApC,yBAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,IAAI,CAAA;AACdoC,IAAAA,gBAAgB,IAAAnC,mBAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,CAAC,CAAA;AAE9C,IAAA,OAAO,IAAAC,4BAAA,CAAA,IAAA,CAAA,EAAG,KAAK;;AAEf;AACF;AACA;AACA;AACA;IAGEkC,iBAAiBA,CAACC,OAAO,EACzB;AACE,MAAA,IAAI,CAAC,IAAI,CAACX,OAAO,EAAE,OAAO,IAAI;AAC9B,MAAA,MAAMC,MAAM,GAAG,IAAI,CAACI,kBAAkB,GAAG,IAAI,CAACF,eAAe,GAAG,IAAI,CAACF,MAAM;MAC3E,IAAI,CAACD,OAAO,CAACY,kBAAkB,GAAGX,MAAM,EAAE,IAAI,CAACG,WAAW,CAAC;MAC3D,IAAI,CAACJ,OAAO,CAACa,kBAAkB,GAAG,IAAI,CAACJ,gBAAgB,CAAC;AACxD,MAAA,IAAI,CAACT,OAAO,CAACc,gBAAgB,GAAG,IAAI,CAACP,aAAa,EAAE,IAAI,CAACD,kBAAkB,CAAC;AAC5E,MAAA,IAAI,IAAI,CAAC,OAAO,EAChB;AACE,QAAA,IAAI,OAAO,IAAI,CAACN,OAAO,CAACe,MAAM,KAAK,UAAU,EAAE,IAAI,CAACf,OAAO,CAACe,MAAM,CAACJ,OAAO,CAAC,CAAC,KAE5E;AACEK,UAAAA,eAAe,CAAC,IAAI,CAAChB,OAAO,EAAEW,OAAO,CAAC;AACtCM,UAAAA,gBAAgB,CAAC,IAAI,CAACjB,OAAO,EAAEW,OAAO,CAAC;AACzC,QAAA;AACF,MAAA;AACA,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;IACAO,gBAAgBA,CAACP,OAAO,EACxB;AACE,MAAA,OAAO,IAAI,CAACD,iBAAiB,CAACC,OAAO,CAAC;AACxC,IAAA;;AAEA;AACF;AACA;AACA;IAGEQ,kBAAkBA,CAACR,OAAO,EAC1B;AAEE,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;IACES,iBAAiBA,CAACT,OAAO,EACzB;AACE,MAAA,OAAO,IAAI,CAACQ,kBAAkB,CAACR,OAAO,CAAC;AACzC,IAAA;;AAEA;AACF;AACA;AACA;AAGEU,IAAAA,gBAAgBA,CAACV,OAAO,EAAEW,SAAS,EACnC;AACE,MAAA,IAAI,IAAI,CAACd,OAAO,EAAE,IAAI,CAACR,OAAO,EAAEqB,gBAAgB,GAAGV,OAAO,EAAEW,SAAS,CAAC;AACxE,IAAA;;AAEA;AACF;AACA;AACA;AAGEC,IAAAA,cAAcA,CAACC,GAAG,GAAG,EAAE,EACvB;MACE,IAAI,IAAI,CAAChB,OAAO,EAAEiB,kBAAkB,CAAC,IAAI,CAACzB,OAAO,EAAEwB,GAAG,CAAC;AACvD,MAAA,OAAOA,GAAG;AACZ,IAAA;;AAEA;AACF;AACA;AACA;AAEEE,IAAAA,WAAWA,CAACC,KAAK,GAAG,CAAC,EACrB;AACE,MAAA,IAAI,CAAC3B,OAAO,EAAE0B,WAAW,GAAGC,KAAK,CAAC;AAClC,MAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACrB,IAAA;;AAEA;AACF;AACA;AACA;AAEEC,IAAAA,UAAUA,GACV;AACE,MAAA,IAAI,CAAC5B,OAAO,EAAE4B,UAAU,IAAI;AAC5B,MAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACtB,IAAA;;AAEA;AACF;AACA;AACA;IAEEC,SAASA,CAACC,MAAM,EAChB;MACE,IAAI,CAAC,CAACA,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE;AAC/B,MAAA,IAAIA,MAAM,EAAE,IAAI,CAACJ,WAAW,CAAC,CAAC,CAAC,CAAC,KAC3B,IAAI,CAACE,UAAU,EAAE;AACxB,IAAA;;AAEA;AAEAG,IAAAA,SAASA,GACT;MACE,OAAO,IAAI,CAAC,OAAO;AACrB,IAAA;;AAEA;AACF;AACA;AACA;IAEEC,UAAUA,CAAChC,OAAO,EAClB;AACE,MAAA,IAAI,CAACA,OAAO,GAAGA,OAAO,IAAI,IAAI;AAChC,IAAA;;AAEA;AAEAiC,IAAAA,UAAUA,GACV;MACE,OAAO,IAAI,CAACjC,OAAO;AACrB,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AAEEY,IAAAA,kBAAkBA,CAACX,MAAM,EAAEG,WAAW,EACtC;AACE,MAAA,IAAIH,MAAM,EAAEiC,MAAM,KAAK,EAAE,EACzB;QACE3C,IAAI,CAAC4C,IAAI,CAAC,IAAI,CAAChC,eAAe,EAAEF,MAAM,CAAC;QACvCV,IAAI,CAAC6C,cAAc,CAAC,IAAI,CAACnC,MAAM,EAAEA,MAAM,CAAC;QACxC,IAAI,CAACI,kBAAkB,GAAG,IAAI;AAChC,MAAA,CAAC,MAED;AACEhB,QAAAA,IAAI,CAAC8C,IAAI,CAAC,IAAI,CAAClC,MAAM,EAAEA,MAAM,IAAI7C,qBAA+B,CAAC,KAAK,CAAC;QACvE,IAAI,CAACiD,kBAAkB,GAAG,KAAK;AACjC,MAAA;MACAhB,IAAI,CAAC8C,IAAI,CAAC,IAAI,CAAC/B,WAAW,EAAEA,WAAW,CAAC;AAC1C,IAAA;;AAEA;AACF;AACA;AACA;IAEES,kBAAkBA,CAACwB,KAAK,EACxB;AACE,MAAA,IAAI,CAAC5B,gBAAgB,GAAG6B,MAAM,CAACD,KAAK,CAAC;AACvC,IAAA;;AAEA;AACF;AACA;AACA;AAEEvB,IAAAA,gBAAgBA,CAACP,aAAa,EAAED,kBAAkB,EAClD;AACE,MAAA,IAAI,CAACC,aAAa,GAAG,CAAC,CAACA,aAAa;AACpC,MAAA,IAAI,CAACD,kBAAkB,GAAG,CAAC,CAACA,kBAAkB;AAChD,IAAA;;AAEA;AACF;AACA;AACA;IAEEiC,UAAUA,CAAC/B,OAAO,EAClB;AACE,MAAA,IAAI,CAACA,OAAO,GAAG,CAAC,CAACA,OAAO;AAC1B,IAAA;;AAEA;AACF;AACA;AACA;AAEEgC,IAAAA,gBAAgBA,GAChB;MACE,OAAOF,MAAM,CAAC,IAAI,CAACtC,OAAO,EAAEwC,gBAAgB,IAAI,IAAI,CAAC,CAAC;AACxD,IAAA;;AAEA;AACF;AACA;AAEEC,IAAAA,kBAAkBA,GAClB;MACE,IAAI,CAACzC,OAAO,EAAE0C,QAAQ,GAAG,IAAI,CAACC,oBAAoB,EAAE,CAAC;AACvD,IAAA;;AAEA;AACF;AAEEC,IAAAA,oBAAoBA,GACpB;MACE,IAAI,CAAC5C,OAAO,EAAE6C,UAAU,GAAG,IAAI,CAACF,oBAAoB,EAAE,CAAC;AACzD,IAAA;GAGD;AADQ,EAAA,KAAK,GAAGtD,IAAI,CAACa,MAAM,EAAE;EAAC4C,WAAAA,GAAA;IAAA,KAAA,CAAA5F,qBAAA,GAAAyB,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}