@carbonenginejs/runtime-trinity 0.5.0 → 0.6.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 (1232) hide show
  1. package/dist/controllers/Tr2ActionAnimateCurveSet.js +2 -2
  2. package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
  3. package/dist/controllers/Tr2ActionAnimateValue.js +2 -2
  4. package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
  5. package/dist/controllers/Tr2ActionBindRTPC.js +2 -2
  6. package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
  7. package/dist/controllers/Tr2ActionCallback.js +2 -2
  8. package/dist/controllers/Tr2ActionCallback.js.map +1 -1
  9. package/dist/controllers/Tr2ActionChildEffect.js +2 -2
  10. package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
  11. package/dist/controllers/Tr2ActionOverlay.js +2 -2
  12. package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
  13. package/dist/controllers/Tr2ActionPlayCurveSet.js +2 -2
  14. package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
  15. package/dist/controllers/Tr2ActionPlayMeshAnimation.js +2 -2
  16. package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
  17. package/dist/controllers/Tr2ActionPlaySound.js +2 -2
  18. package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
  19. package/dist/controllers/Tr2ActionPython.js +2 -2
  20. package/dist/controllers/Tr2ActionPython.js.map +1 -1
  21. package/dist/controllers/Tr2ActionResetClipSphereCenter.js +4 -4
  22. package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
  23. package/dist/controllers/Tr2ActionSetAttenuationScaling.js +2 -2
  24. package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
  25. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +2 -2
  26. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
  27. package/dist/controllers/Tr2ActionSetAudioSwitch.js +2 -2
  28. package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
  29. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +2 -2
  30. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  31. package/dist/controllers/Tr2ActionSetShaderOption.js +2 -2
  32. package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
  33. package/dist/controllers/Tr2ActionSetValue.js +2 -2
  34. package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
  35. package/dist/controllers/Tr2ActionSpawnParticles.js +2 -2
  36. package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
  37. package/dist/controllers/Tr2BindingPoint.js +4 -4
  38. package/dist/controllers/Tr2BindingPoint.js.map +1 -1
  39. package/dist/controllers/Tr2Controller.js +2 -2
  40. package/dist/controllers/Tr2Controller.js.map +1 -1
  41. package/dist/controllers/Tr2ControllerEventHandler.js +2 -2
  42. package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
  43. package/dist/controllers/Tr2ControllerExpression.js +2 -2
  44. package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
  45. package/dist/controllers/Tr2ControllerFloatVariable.js +2 -2
  46. package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
  47. package/dist/controllers/Tr2ControllerReference.js +2 -2
  48. package/dist/controllers/Tr2ControllerReference.js.map +1 -1
  49. package/dist/controllers/Tr2StateMachine.js +2 -2
  50. package/dist/controllers/Tr2StateMachine.js.map +1 -1
  51. package/dist/controllers/Tr2StateMachineState.js +2 -2
  52. package/dist/controllers/Tr2StateMachineState.js.map +1 -1
  53. package/dist/controllers/Tr2StateMachineTransition.js +2 -2
  54. package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
  55. package/dist/controllers/Tr2SyncToAnimation.js +2 -2
  56. package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
  57. package/dist/controllers/Tr2TimelineController.js +2 -2
  58. package/dist/controllers/Tr2TimelineController.js.map +1 -1
  59. package/dist/controllers/Tr2TimelineEntry.js +2 -2
  60. package/dist/controllers/Tr2TimelineEntry.js.map +1 -1
  61. package/dist/curves/CjsGrannyCurves.js +1 -1
  62. package/dist/curves/CjsGrannyCurves.js.map +1 -1
  63. package/dist/curves/Tr2BoneMatrixCurve.js +4 -4
  64. package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
  65. package/dist/curves/Tr2CameraFollowCurveKey.js +3 -3
  66. package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
  67. package/dist/curves/Tr2CurveColor.js +4 -4
  68. package/dist/curves/Tr2CurveColor.js.map +1 -1
  69. package/dist/curves/Tr2CurveColorMixer.js +4 -4
  70. package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
  71. package/dist/curves/Tr2CurveCombiner.js +3 -3
  72. package/dist/curves/Tr2CurveCombiner.js.map +1 -1
  73. package/dist/curves/Tr2CurveConstant.js +6 -6
  74. package/dist/curves/Tr2CurveConstant.js.map +1 -1
  75. package/dist/curves/Tr2CurveEulerRotation.js +3 -3
  76. package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
  77. package/dist/curves/Tr2CurveEulerRotationExpression.js +3 -3
  78. package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
  79. package/dist/curves/Tr2CurveQuaternion.js +3 -3
  80. package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
  81. package/dist/curves/Tr2CurveQuaternionKey.js +3 -3
  82. package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
  83. package/dist/curves/Tr2CurveRandomAxisRotation.js +3 -3
  84. package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
  85. package/dist/curves/Tr2CurveScalar.js +5 -5
  86. package/dist/curves/Tr2CurveScalar.js.map +1 -1
  87. package/dist/curves/Tr2CurveScalarExpression.js +2 -2
  88. package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
  89. package/dist/curves/Tr2CurveScalarKey.js +2 -2
  90. package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
  91. package/dist/curves/Tr2CurveSetRange.js +2 -2
  92. package/dist/curves/Tr2CurveSetRange.js.map +1 -1
  93. package/dist/curves/Tr2CurveVector2.js +3 -3
  94. package/dist/curves/Tr2CurveVector2.js.map +1 -1
  95. package/dist/curves/Tr2CurveVector3.js +3 -3
  96. package/dist/curves/Tr2CurveVector3.js.map +1 -1
  97. package/dist/curves/Tr2CurveVector3Expression.js +3 -3
  98. package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
  99. package/dist/curves/Tr2CurveVector3Lerp.js +3 -3
  100. package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
  101. package/dist/curves/Tr2DistanceTracker.js +3 -3
  102. package/dist/curves/Tr2DistanceTracker.js.map +1 -1
  103. package/dist/curves/Tr2FollowCurve.js +3 -3
  104. package/dist/curves/Tr2FollowCurve.js.map +1 -1
  105. package/dist/curves/Tr2GrannyEventTrack.js +1 -1
  106. package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
  107. package/dist/curves/Tr2GrannyTrack.js +2 -2
  108. package/dist/curves/Tr2GrannyTrack.js.map +1 -1
  109. package/dist/curves/Tr2GrannyTransformTrack.js +3 -3
  110. package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
  111. package/dist/curves/Tr2GrannyVectorTrack.js +1 -1
  112. package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
  113. package/dist/curves/Tr2MatrixKey.js +3 -3
  114. package/dist/curves/Tr2MatrixKey.js.map +1 -1
  115. package/dist/curves/Tr2ObjectFollowCurveKey.js +4 -4
  116. package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
  117. package/dist/curves/Tr2QuaternionLerpCurve.js +4 -4
  118. package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
  119. package/dist/curves/Tr2RotationAdapter.js +3 -3
  120. package/dist/curves/Tr2RotationAdapter.js.map +1 -1
  121. package/dist/curves/Tr2ScalarExprKey.js +3 -3
  122. package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
  123. package/dist/curves/Tr2ScalarExprKeyCurve.js +4 -4
  124. package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
  125. package/dist/curves/Tr2ScalarFader.js +3 -3
  126. package/dist/curves/Tr2ScalarFader.js.map +1 -1
  127. package/dist/curves/Tr2TranslationAdapter.js +4 -4
  128. package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
  129. package/dist/curves/TriColorSequencer.js +4 -4
  130. package/dist/curves/TriColorSequencer.js.map +1 -1
  131. package/dist/curves/TriCurveSet.js +2 -2
  132. package/dist/curves/TriCurveSet.js.map +1 -1
  133. package/dist/curves/TriEventCurve.js +2 -2
  134. package/dist/curves/TriEventCurve.js.map +1 -1
  135. package/dist/curves/TriEventKey.js +2 -2
  136. package/dist/curves/TriEventKey.js.map +1 -1
  137. package/dist/curves/TriPerlinCurve.js +3 -3
  138. package/dist/curves/TriPerlinCurve.js.map +1 -1
  139. package/dist/curves/TriVectorSequencer.js +4 -4
  140. package/dist/curves/TriVectorSequencer.js.map +1 -1
  141. package/dist/eve/AudioGameObject.js +6 -6
  142. package/dist/eve/AudioGameObject.js.map +1 -1
  143. package/dist/eve/BackAndForthData.js +3 -3
  144. package/dist/eve/BackAndForthData.js.map +1 -1
  145. package/dist/eve/DecalVSPerObjectData.js +3 -3
  146. package/dist/eve/DecalVSPerObjectData.js.map +1 -1
  147. package/dist/eve/EveBannerItem.js +4 -4
  148. package/dist/eve/EveBannerItem.js.map +1 -1
  149. package/dist/eve/EveBannerLight.js +3 -3
  150. package/dist/eve/EveBannerLight.js.map +1 -1
  151. package/dist/eve/EveBannerSet.js +91 -10
  152. package/dist/eve/EveBannerSet.js.map +1 -1
  153. package/dist/eve/EveBasicPerObjectData.js +3 -3
  154. package/dist/eve/EveBasicPerObjectData.js.map +1 -1
  155. package/dist/eve/EveBoosterSet2.js +64 -12
  156. package/dist/eve/EveBoosterSet2.js.map +1 -1
  157. package/dist/eve/EveBoosterSet2Renderable.js +15 -7
  158. package/dist/eve/EveBoosterSet2Renderable.js.map +1 -1
  159. package/dist/eve/EveChildSpherePinPerObjectData.js +5 -5
  160. package/dist/eve/EveChildSpherePinPerObjectData.js.map +1 -1
  161. package/dist/eve/EveChildUpdateParams.js +4 -4
  162. package/dist/eve/EveChildUpdateParams.js.map +1 -1
  163. package/dist/eve/EveCustomMask.js +6 -6
  164. package/dist/eve/EveCustomMask.js.map +1 -1
  165. package/dist/eve/EveDistanceField.js +3 -3
  166. package/dist/eve/EveDistanceField.js.map +1 -1
  167. package/dist/eve/EveHazeSet.js +114 -58
  168. package/dist/eve/EveHazeSet.js.map +1 -1
  169. package/dist/eve/EveHazeSetLight.js +3 -3
  170. package/dist/eve/EveHazeSetLight.js.map +1 -1
  171. package/dist/eve/EveImpactOverlay.js +3 -3
  172. package/dist/eve/EveImpactOverlay.js.map +1 -1
  173. package/dist/eve/EveLineData.js +4 -4
  174. package/dist/eve/EveLineData.js.map +1 -1
  175. package/dist/eve/EveLocator2.js +3 -3
  176. package/dist/eve/EveLocator2.js.map +1 -1
  177. package/dist/eve/EveLocatorSets.js +3 -3
  178. package/dist/eve/EveLocatorSets.js.map +1 -1
  179. package/dist/eve/EveParticleDirectForce.js +1 -1
  180. package/dist/eve/EveParticleDirectForce.js.map +1 -1
  181. package/dist/eve/EveParticleDragForce.js +1 -1
  182. package/dist/eve/EveParticleDragForce.js.map +1 -1
  183. package/dist/eve/EveParticleSpring.js +1 -1
  184. package/dist/eve/EveParticleSpring.js.map +1 -1
  185. package/dist/eve/EvePerObjectPSData.js +3 -3
  186. package/dist/eve/EvePerObjectPSData.js.map +1 -1
  187. package/dist/eve/EvePerObjectVSData.js +3 -3
  188. package/dist/eve/EvePerObjectVSData.js.map +1 -1
  189. package/dist/eve/EvePlaneLight.js +3 -3
  190. package/dist/eve/EvePlaneLight.js.map +1 -1
  191. package/dist/eve/EvePlaneSet.js +177 -90
  192. package/dist/eve/EvePlaneSet.js.map +1 -1
  193. package/dist/eve/EvePlaneSetItem.js +5 -5
  194. package/dist/eve/EvePlaneSetItem.js.map +1 -1
  195. package/dist/eve/EveSpaceObjectAttachmentUtils.js +105 -0
  196. package/dist/eve/EveSpaceObjectAttachmentUtils.js.map +1 -0
  197. package/dist/eve/EveSpaceObjectDecal.js +5 -5
  198. package/dist/eve/EveSpaceObjectDecal.js.map +1 -1
  199. package/dist/eve/EveSpaceObjectPSData.js +5 -5
  200. package/dist/eve/EveSpaceObjectPSData.js.map +1 -1
  201. package/dist/eve/EveSpaceObjectVSData.js +4 -4
  202. package/dist/eve/EveSpaceObjectVSData.js.map +1 -1
  203. package/dist/eve/EveSpacePerObjectData.js +5 -5
  204. package/dist/eve/EveSpacePerObjectData.js.map +1 -1
  205. package/dist/eve/EveSpherePinPerObjectData.js +5 -5
  206. package/dist/eve/EveSpherePinPerObjectData.js.map +1 -1
  207. package/dist/eve/EveSpotlightLight.js +3 -3
  208. package/dist/eve/EveSpotlightLight.js.map +1 -1
  209. package/dist/eve/EveSpotlightSet.js +141 -84
  210. package/dist/eve/EveSpotlightSet.js.map +1 -1
  211. package/dist/eve/EveSpriteLight.js +3 -3
  212. package/dist/eve/EveSpriteLight.js.map +1 -1
  213. package/dist/eve/EveSpriteLineSet.js +116 -60
  214. package/dist/eve/EveSpriteLineSet.js.map +1 -1
  215. package/dist/eve/EveSpriteLineSetItem.js +5 -5
  216. package/dist/eve/EveSpriteLineSetItem.js.map +1 -1
  217. package/dist/eve/EveSpriteSet.js +160 -99
  218. package/dist/eve/EveSpriteSet.js.map +1 -1
  219. package/dist/eve/EveThrottleable.js +2 -2
  220. package/dist/eve/EveThrottleable.js.map +1 -1
  221. package/dist/eve/EveTrailsSet.js +3 -3
  222. package/dist/eve/EveTrailsSet.js.map +1 -1
  223. package/dist/eve/EveUpdateContext.js +3 -3
  224. package/dist/eve/EveUpdateContext.js.map +1 -1
  225. package/dist/eve/FollowASplineData.js +2 -2
  226. package/dist/eve/FollowASplineData.js.map +1 -1
  227. package/dist/eve/FormationData.js +2 -2
  228. package/dist/eve/FormationData.js.map +1 -1
  229. package/dist/eve/InertiaData.js +3 -3
  230. package/dist/eve/InertiaData.js.map +1 -1
  231. package/dist/eve/Locator.js +4 -4
  232. package/dist/eve/Locator.js.map +1 -1
  233. package/dist/eve/LocatorData.js +4 -4
  234. package/dist/eve/LocatorData.js.map +1 -1
  235. package/dist/eve/PlacementDataWithIdentifier.js +4 -4
  236. package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
  237. package/dist/eve/PlayFXData.js +3 -3
  238. package/dist/eve/PlayFXData.js.map +1 -1
  239. package/dist/eve/ProcessLifetimeData.js +2 -2
  240. package/dist/eve/ProcessLifetimeData.js.map +1 -1
  241. package/dist/eve/SeekTargetData.js +3 -3
  242. package/dist/eve/SeekTargetData.js.map +1 -1
  243. package/dist/eve/attachment/decal/DecalMeshCache.js +2 -2
  244. package/dist/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  245. package/dist/eve/attachment/turrets/EveTurretFiringFX.js +3 -3
  246. package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  247. package/dist/eve/attachment/turrets/EveTurretSet.js +104 -19
  248. package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  249. package/dist/eve/attachment/turrets/EveTurretSetPSData.js +4 -4
  250. package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +1 -1
  251. package/dist/eve/attachment/turrets/EveTurretSetVSData.js +5 -5
  252. package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +1 -1
  253. package/dist/eve/attachment/turrets/EveTurretTarget.js +3 -3
  254. package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  255. package/dist/eve/child/EveChildAudio.js +4 -4
  256. package/dist/eve/child/EveChildAudio.js.map +1 -1
  257. package/dist/eve/child/EveChildContainer.js +6 -6
  258. package/dist/eve/child/EveChildContainer.js.map +1 -1
  259. package/dist/eve/child/EveChildEffectPropagator.js +4 -4
  260. package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
  261. package/dist/eve/child/EveChildFogVolume.js +4 -4
  262. package/dist/eve/child/EveChildFogVolume.js.map +1 -1
  263. package/dist/eve/child/EveChildInheritProperties.js +3 -3
  264. package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
  265. package/dist/eve/child/EveChildInstanceTransform.js +4 -4
  266. package/dist/eve/child/EveChildInstanceTransform.js.map +1 -1
  267. package/dist/eve/child/EveChildInstancedMeshes.js +273 -21
  268. package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
  269. package/dist/eve/child/EveChildLightingOverride.js +4 -4
  270. package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
  271. package/dist/eve/child/EveChildMesh.js +23 -14
  272. package/dist/eve/child/EveChildMesh.js.map +1 -1
  273. package/dist/eve/child/EveChildTransform.js +4 -4
  274. package/dist/eve/child/EveChildTransform.js.map +1 -1
  275. package/dist/eve/child/EveCloudVolumeBall.js +4 -4
  276. package/dist/eve/child/EveCloudVolumeBall.js.map +1 -1
  277. package/dist/eve/child/IEveSpaceObjectChild.js +2 -2
  278. package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
  279. package/dist/eve/child/behaviors/DroneAgent.js +5 -5
  280. package/dist/eve/child/behaviors/DroneAgent.js.map +1 -1
  281. package/dist/eve/child/behaviors/SplineTunnel.js +2 -2
  282. package/dist/eve/child/behaviors/SplineTunnel.js.map +1 -1
  283. package/dist/eve/child/behaviors/SplineTunnelPoint.js +3 -3
  284. package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +1 -1
  285. package/dist/eve/child/lineSetPaths/EveBezierCurve.js +17 -8
  286. package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  287. package/dist/eve/child/lineSetPaths/EveCircle.js +19 -8
  288. package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  289. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +3 -3
  290. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
  291. package/dist/eve/child/modifiers/EveChildModifierBooster.js +4 -4
  292. package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
  293. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +7 -6
  294. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
  295. package/dist/eve/child/modifiers/EveChildModifierHalo.js +4 -4
  296. package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
  297. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +4 -4
  298. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
  299. package/dist/eve/child/modifiers/EveChildModifierSRT.js +5 -5
  300. package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  301. package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js +2 -2
  302. package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js.map +1 -1
  303. package/dist/eve/distribution/attributeModifiers/InitialPlacement.js +2 -2
  304. package/dist/eve/distribution/attributeModifiers/InitialPlacement.js.map +1 -1
  305. package/dist/eve/index.js +3 -1
  306. package/dist/eve/index.js.map +1 -1
  307. package/dist/eve/lights/CjsLightData.js +5 -5
  308. package/dist/eve/lights/CjsLightData.js.map +1 -1
  309. package/dist/eve/lights/LightFeatures.js +2 -2
  310. package/dist/eve/lights/LightFeatures.js.map +1 -1
  311. package/dist/eve/lights/Tr2Light.js +89 -4
  312. package/dist/eve/lights/Tr2Light.js.map +1 -1
  313. package/dist/eve/lights/Tr2PointLight.js +4 -4
  314. package/dist/eve/lights/Tr2PointLight.js.map +1 -1
  315. package/dist/eve/lights/Tr2SpotLight.js +4 -4
  316. package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
  317. package/dist/eve/lights/Tr2TexturedPointLight.js +1 -1
  318. package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  319. package/dist/eve/lights/lightConversion.js +194 -0
  320. package/dist/eve/lights/lightConversion.js.map +1 -0
  321. package/dist/eve/perObjectData/DecalPSPerObjectData.js +4 -4
  322. package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +1 -1
  323. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +4 -4
  324. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -1
  325. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +2 -2
  326. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +1 -1
  327. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +2 -2
  328. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +1 -1
  329. package/dist/eve/renderable/stretch/CjsStretchRuntime.js +2 -2
  330. package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
  331. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +3 -3
  332. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  333. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +4 -4
  334. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
  335. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +4 -4
  336. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
  337. package/dist/eve/renderable/stretch/EveStretch.js +4 -4
  338. package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
  339. package/dist/eve/renderable/stretch/EveStretch2.js +4 -4
  340. package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
  341. package/dist/eve/renderable/stretch/EveStretch3.js +4 -4
  342. package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
  343. package/dist/eve/scene/EveSpaceScene.js +6 -6
  344. package/dist/eve/scene/EveSpaceScene.js.map +1 -1
  345. package/dist/eve/socket/EveSocketParameterFilePath.js +1 -1
  346. package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
  347. package/dist/eve/spaceObject/EveEffectRoot2.js +16 -7
  348. package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  349. package/dist/eve/spaceObject/EveMissile.js +6 -6
  350. package/dist/eve/spaceObject/EveMissile.js.map +1 -1
  351. package/dist/eve/spaceObject/EveMissileWarhead.js +13 -16
  352. package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
  353. package/dist/eve/spaceObject/EveMobile.js +3 -3
  354. package/dist/eve/spaceObject/EveMobile.js.map +1 -1
  355. package/dist/eve/spaceObject/EveRootTransform.js +4 -4
  356. package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
  357. package/dist/eve/spaceObject/EveSpaceObject2.js +30 -15
  358. package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  359. package/dist/eve/spaceObject/EveStation2.js +1 -1
  360. package/dist/eve/spaceObject/EveStation2.js.map +1 -1
  361. package/dist/eve/spaceObject/EveTransform.js +27 -23
  362. package/dist/eve/spaceObject/EveTransform.js.map +1 -1
  363. package/dist/eve/spaceObject/swarm/SwarmVehicle.js +4 -4
  364. package/dist/eve/spaceObject/swarm/SwarmVehicle.js.map +1 -1
  365. package/dist/eve/spaceObject/swarm/SwarmVehicleDebug.js +3 -3
  366. package/dist/eve/spaceObject/swarm/SwarmVehicleDebug.js.map +1 -1
  367. package/dist/eve/ui/EveEllipseDefinition.js +3 -3
  368. package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
  369. package/dist/eve/ui/EveEllipseSet.js +2 -2
  370. package/dist/eve/ui/EveEllipseSet.js.map +1 -1
  371. package/dist/eve/ui/EveSprite2dBracket.js +4 -4
  372. package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
  373. package/dist/eve/ui/EveUiObject.js +1 -1
  374. package/dist/eve/ui/EveUiObject.js.map +1 -1
  375. package/dist/eve/virtualCamera/EveVirtualCamera.js +6 -6
  376. package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
  377. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +2 -2
  378. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
  379. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +1 -1
  380. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
  381. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +2 -2
  382. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
  383. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +1 -1
  384. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
  385. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +1 -1
  386. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
  387. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +1 -1
  388. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
  389. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +4 -4
  390. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
  391. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +2 -2
  392. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
  393. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +2 -2
  394. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
  395. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +2 -2
  396. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
  397. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +2 -2
  398. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
  399. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +2 -2
  400. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
  401. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +2 -2
  402. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
  403. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +2 -2
  404. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
  405. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +3 -3
  406. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
  407. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +2 -2
  408. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
  409. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +2 -2
  410. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
  411. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +1 -1
  412. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
  413. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +2 -2
  414. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
  415. package/dist/eve/volume/EveBoxVolume.js +4 -4
  416. package/dist/eve/volume/EveBoxVolume.js.map +1 -1
  417. package/dist/eve/volume/EveEllipsoidVolume.js +4 -4
  418. package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
  419. package/dist/eve/volume/EveSphereVolume.js +3 -3
  420. package/dist/eve/volume/EveSphereVolume.js.map +1 -1
  421. package/dist/generated/curves/Tr2VectorFunctionModifier.js +3 -3
  422. package/dist/generated/curves/Tr2VectorFunctionModifier.js.map +1 -1
  423. package/dist/generated/eve/EveCamera.js +4 -4
  424. package/dist/generated/eve/EveCamera.js.map +1 -1
  425. package/dist/generated/eve/EveEntity.js +2 -2
  426. package/dist/generated/eve/EveEntity.js.map +1 -1
  427. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +5 -5
  428. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +1 -1
  429. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +5 -5
  430. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +1 -1
  431. package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js +4 -4
  432. package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +1 -1
  433. package/dist/generated/eve/child/EveChildBehaviorSystem.js +2 -2
  434. package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +1 -1
  435. package/dist/generated/eve/child/EveChildBulletStorm.js +5 -5
  436. package/dist/generated/eve/child/EveChildBulletStorm.js.map +1 -1
  437. package/dist/generated/eve/child/EveChildCloud.js +5 -5
  438. package/dist/generated/eve/child/EveChildCloud.js.map +1 -1
  439. package/dist/generated/eve/child/EveChildCloud2.js +763 -52
  440. package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
  441. package/dist/generated/eve/child/EveChildExplosion.js +4 -4
  442. package/dist/generated/eve/child/EveChildExplosion.js.map +1 -1
  443. package/dist/generated/eve/child/EveChildInstanceContainer.js +1 -1
  444. package/dist/generated/eve/child/EveChildInstanceContainer.js.map +1 -1
  445. package/dist/generated/eve/child/EveChildInstanceMeshRenderer.js +3 -3
  446. package/dist/generated/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
  447. package/dist/generated/eve/child/EveChildLineSet.js +2 -2
  448. package/dist/generated/eve/child/EveChildLineSet.js.map +1 -1
  449. package/dist/generated/eve/child/EveChildLink.js +6 -6
  450. package/dist/generated/eve/child/EveChildLink.js.map +1 -1
  451. package/dist/generated/eve/child/EveChildParticleSphere.js +3 -3
  452. package/dist/generated/eve/child/EveChildParticleSphere.js.map +1 -1
  453. package/dist/generated/eve/child/EveChildParticleSystem.js +6 -6
  454. package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
  455. package/dist/generated/eve/child/EveChildPlug.js +1 -1
  456. package/dist/generated/eve/child/EveChildPlug.js.map +1 -1
  457. package/dist/generated/eve/child/EveChildPostProcessVolume.js +4 -4
  458. package/dist/generated/eve/child/EveChildPostProcessVolume.js.map +1 -1
  459. package/dist/generated/eve/child/EveChildQuad.js +5 -5
  460. package/dist/generated/eve/child/EveChildQuad.js.map +1 -1
  461. package/dist/generated/eve/child/EveChildRef.js +1 -1
  462. package/dist/generated/eve/child/EveChildRef.js.map +1 -1
  463. package/dist/generated/eve/child/EveChildSocket.js +1 -1
  464. package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
  465. package/dist/generated/eve/child/EveChildSpherePin.js +3 -3
  466. package/dist/generated/eve/child/EveChildSpherePin.js.map +1 -1
  467. package/dist/generated/eve/child/EveCloudEditableVolume.js +2 -2
  468. package/dist/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
  469. package/dist/generated/eve/child/EveCloudVolumeTextureParameter.js +2 -2
  470. package/dist/generated/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
  471. package/dist/generated/eve/child/IEveLightingOverride.js +2 -2
  472. package/dist/generated/eve/child/IEveLightingOverride.js.map +1 -1
  473. package/dist/generated/eve/child/behaviors/Allign.js +3 -3
  474. package/dist/generated/eve/child/behaviors/Allign.js.map +1 -1
  475. package/dist/generated/eve/child/behaviors/ApproachGroup.js +3 -3
  476. package/dist/generated/eve/child/behaviors/ApproachGroup.js.map +1 -1
  477. package/dist/generated/eve/child/behaviors/BackAndForth.js +4 -4
  478. package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
  479. package/dist/generated/eve/child/behaviors/BehaviorGroup.js +5 -5
  480. package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  481. package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js +5 -5
  482. package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
  483. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +3 -3
  484. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
  485. package/dist/generated/eve/child/behaviors/DroneAvoidance.js +3 -3
  486. package/dist/generated/eve/child/behaviors/DroneAvoidance.js.map +1 -1
  487. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +3 -3
  488. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
  489. package/dist/generated/eve/child/behaviors/FollowASpline.js +3 -3
  490. package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
  491. package/dist/generated/eve/child/behaviors/Formation.js +4 -4
  492. package/dist/generated/eve/child/behaviors/Formation.js.map +1 -1
  493. package/dist/generated/eve/child/behaviors/InclusionVolume.js +3 -3
  494. package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +1 -1
  495. package/dist/generated/eve/child/behaviors/Inertia.js +4 -4
  496. package/dist/generated/eve/child/behaviors/Inertia.js.map +1 -1
  497. package/dist/generated/eve/child/behaviors/PlayFX.js +2 -2
  498. package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
  499. package/dist/generated/eve/child/behaviors/ProcessLifetime.js +4 -4
  500. package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +1 -1
  501. package/dist/generated/eve/child/behaviors/SeekTarget.js +3 -3
  502. package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
  503. package/dist/generated/eve/child/behaviors/SpawnDrones.js +4 -4
  504. package/dist/generated/eve/child/behaviors/SpawnDrones.js.map +1 -1
  505. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +3 -3
  506. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +1 -1
  507. package/dist/generated/eve/child/behaviors/Wander.js +4 -4
  508. package/dist/generated/eve/child/behaviors/Wander.js.map +1 -1
  509. package/dist/generated/eve/child/lineSetPaths/EveLineChildContainer.js +1 -1
  510. package/dist/generated/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
  511. package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js +3 -3
  512. package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
  513. package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js +4 -4
  514. package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
  515. package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js +5 -5
  516. package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
  517. package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +3 -3
  518. package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
  519. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js +4 -4
  520. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
  521. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +2 -2
  522. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
  523. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +2 -2
  524. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
  525. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js +2 -2
  526. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
  527. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +2 -2
  528. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
  529. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js +2 -2
  530. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
  531. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +2 -2
  532. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
  533. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +2 -2
  534. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
  535. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js +2 -2
  536. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
  537. package/dist/generated/eve/distribution/EveBaseDistributionMethod.js +4 -4
  538. package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
  539. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +2 -2
  540. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
  541. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +4 -4
  542. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
  543. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +4 -4
  544. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
  545. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +2 -2
  546. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
  547. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +2 -2
  548. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
  549. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +4 -4
  550. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
  551. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +2 -2
  552. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
  553. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +3 -3
  554. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
  555. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +4 -4
  556. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
  557. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +3 -3
  558. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
  559. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js +2 -2
  560. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
  561. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +2 -2
  562. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
  563. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js +2 -2
  564. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
  565. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +4 -4
  566. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
  567. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +3 -3
  568. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
  569. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +3 -3
  570. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
  571. package/dist/generated/eve/effect/EveLensflare.js +38 -8
  572. package/dist/generated/eve/effect/EveLensflare.js.map +1 -1
  573. package/dist/generated/eve/effect/EveMultiEffect.js +2 -2
  574. package/dist/generated/eve/effect/EveMultiEffect.js.map +1 -1
  575. package/dist/generated/eve/effect/EveMultiEffectParameter.js +2 -2
  576. package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +1 -1
  577. package/dist/generated/eve/effect/EveOccluder.js +2 -2
  578. package/dist/generated/eve/effect/EveOccluder.js.map +1 -1
  579. package/dist/generated/eve/effect/EveStarfield.js +2 -2
  580. package/dist/generated/eve/effect/EveStarfield.js.map +1 -1
  581. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +3 -3
  582. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +1 -1
  583. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +4 -4
  584. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -1
  585. package/dist/generated/eve/index.js +1 -1
  586. package/dist/generated/eve/lights/Tr2FactionLight.js +4 -4
  587. package/dist/generated/eve/lights/Tr2FactionLight.js.map +1 -1
  588. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +2 -2
  589. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
  590. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +4 -4
  591. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +1 -1
  592. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +4 -4
  593. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -1
  594. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +2 -2
  595. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +1 -1
  596. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +3 -3
  597. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -1
  598. package/dist/generated/eve/scene/EveComponentCollection.js +2 -2
  599. package/dist/generated/eve/scene/EveComponentCollection.js.map +1 -1
  600. package/dist/generated/eve/scene/EveComponentRegistry.js +2 -2
  601. package/dist/generated/eve/scene/EveComponentRegistry.js.map +1 -1
  602. package/dist/generated/eve/scene/EvePendingPickingReadback.js +2 -2
  603. package/dist/generated/eve/scene/EvePendingPickingReadback.js.map +1 -1
  604. package/dist/generated/eve/scene/EvePickingContext.js +2 -2
  605. package/dist/generated/eve/scene/EvePickingContext.js.map +1 -1
  606. package/dist/generated/eve/scene/EveSceneStaticParticles.js +129 -10
  607. package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +1 -1
  608. package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js +3 -3
  609. package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
  610. package/dist/generated/eve/scene/TriShadowFrustum.js +3 -3
  611. package/dist/generated/eve/scene/TriShadowFrustum.js.map +1 -1
  612. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +3 -3
  613. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +1 -1
  614. package/dist/generated/eve/scene/index.js +1 -1
  615. package/dist/generated/eve/smartLights/EveChildSmartLightSet.js +2 -2
  616. package/dist/generated/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
  617. package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js +3 -3
  618. package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
  619. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +3 -3
  620. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  621. package/dist/generated/eve/smartLights/EveSmartLightMesh.js +1 -1
  622. package/dist/generated/eve/smartLights/EveSmartLightMesh.js.map +1 -1
  623. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +5 -5
  624. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  625. package/dist/generated/eve/smartLights/EveSmartLightQuad.js +6 -6
  626. package/dist/generated/eve/smartLights/EveSmartLightQuad.js.map +1 -1
  627. package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js +1 -1
  628. package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
  629. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +1 -1
  630. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
  631. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +2 -2
  632. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
  633. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +2 -2
  634. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
  635. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +1 -1
  636. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
  637. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +2 -2
  638. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
  639. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +2 -2
  640. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
  641. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +2 -2
  642. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
  643. package/dist/generated/eve/socket/EveSocketParameterBindingBase.js +2 -2
  644. package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +1 -1
  645. package/dist/generated/eve/socket/EveSocketParameterBool.js +1 -1
  646. package/dist/generated/eve/socket/EveSocketParameterBool.js.map +1 -1
  647. package/dist/generated/eve/socket/EveSocketParameterColor.js +2 -2
  648. package/dist/generated/eve/socket/EveSocketParameterColor.js.map +1 -1
  649. package/dist/generated/eve/socket/EveSocketParameterFloat.js +1 -1
  650. package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +1 -1
  651. package/dist/generated/eve/socket/EveSocketParameterInt.js +1 -1
  652. package/dist/generated/eve/socket/EveSocketParameterInt.js.map +1 -1
  653. package/dist/generated/eve/socket/EveSocketParameterString.js +2 -2
  654. package/dist/generated/eve/socket/EveSocketParameterString.js.map +1 -1
  655. package/dist/generated/eve/socket/EveSocketParameterVector2.js +2 -2
  656. package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +1 -1
  657. package/dist/generated/eve/socket/EveSocketParameterVector3.js +2 -2
  658. package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +1 -1
  659. package/dist/generated/eve/socket/EveSocketParameterVector4.js +2 -2
  660. package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +1 -1
  661. package/dist/generated/eve/spaceObject/EvePlanet.js +54 -38
  662. package/dist/generated/eve/spaceObject/EvePlanet.js.map +1 -1
  663. package/dist/generated/eve/spaceObject/EveShip2.js +3 -3
  664. package/dist/generated/eve/spaceObject/EveShip2.js.map +1 -1
  665. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +2 -2
  666. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +1 -1
  667. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +192 -171
  668. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  669. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js +74 -16
  670. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
  671. package/dist/generated/eve/ui/EveConnector.js +4 -4
  672. package/dist/generated/eve/ui/EveConnector.js.map +1 -1
  673. package/dist/generated/eve/ui/EveCurveLineSet.js +2 -2
  674. package/dist/generated/eve/ui/EveCurveLineSet.js.map +1 -1
  675. package/dist/generated/eve/ui/EveLineContainer.js +2 -2
  676. package/dist/generated/eve/ui/EveLineContainer.js.map +1 -1
  677. package/dist/generated/eve/ui/EveLineSet.js +4 -4
  678. package/dist/generated/eve/ui/EveLineSet.js.map +1 -1
  679. package/dist/generated/eve/ui/EveProjectBracket.js +4 -4
  680. package/dist/generated/eve/ui/EveProjectBracket.js.map +1 -1
  681. package/dist/generated/eve/ui/EveSpherePin.js +5 -5
  682. package/dist/generated/eve/ui/EveSpherePin.js.map +1 -1
  683. package/dist/generated/eve/ui/EveSprite2dBracketRenderer.js +2 -2
  684. package/dist/generated/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
  685. package/dist/generated/eve/ui/EveTacticalOverlay.js +4 -4
  686. package/dist/generated/eve/ui/EveTacticalOverlay.js.map +1 -1
  687. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +3 -3
  688. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +1 -1
  689. package/dist/generated/eve/ui/EveTacticalTrails.js +2 -2
  690. package/dist/generated/eve/ui/EveTacticalTrails.js.map +1 -1
  691. package/dist/generated/font/Tr2FontManager.js +2 -2
  692. package/dist/generated/font/Tr2FontManager.js.map +1 -1
  693. package/dist/generated/font/Tr2FontMeasurer.js +2 -2
  694. package/dist/generated/font/Tr2FontMeasurer.js.map +1 -1
  695. package/dist/generated/font/Tr2SBitWrapper.js +2 -2
  696. package/dist/generated/font/Tr2SBitWrapper.js.map +1 -1
  697. package/dist/generated/index.js +1 -1
  698. package/dist/generated/particle/ITr2GenericEmitter.js +4 -4
  699. package/dist/generated/particle/ITr2GenericEmitter.js.map +1 -1
  700. package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js +4 -4
  701. package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
  702. package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js +3 -3
  703. package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
  704. package/dist/generated/particle/Tr2DynamicEmitter.js +2 -2
  705. package/dist/generated/particle/Tr2DynamicEmitter.js.map +1 -1
  706. package/dist/generated/particle/Tr2ElementBlendConstraint.js +3 -3
  707. package/dist/generated/particle/Tr2ElementBlendConstraint.js.map +1 -1
  708. package/dist/generated/particle/Tr2ForceSphereVolume.js +3 -3
  709. package/dist/generated/particle/Tr2ForceSphereVolume.js.map +1 -1
  710. package/dist/generated/particle/Tr2GpuParticleSystem.js +2 -2
  711. package/dist/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
  712. package/dist/generated/particle/Tr2ParticleSystem.js +3 -3
  713. package/dist/generated/particle/Tr2ParticleSystem.js.map +1 -1
  714. package/dist/generated/particle/Tr2ParticleTurbulenceForce.js +5 -5
  715. package/dist/generated/particle/Tr2ParticleTurbulenceForce.js.map +1 -1
  716. package/dist/generated/particle/Tr2PlaneConstraint.js +4 -4
  717. package/dist/generated/particle/Tr2PlaneConstraint.js.map +1 -1
  718. package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js +2 -2
  719. package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
  720. package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js +3 -3
  721. package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
  722. package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js +3 -3
  723. package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js.map +1 -1
  724. package/dist/generated/particle/Tr2SphereConstraint.js +4 -4
  725. package/dist/generated/particle/Tr2SphereConstraint.js.map +1 -1
  726. package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js +4 -4
  727. package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js.map +1 -1
  728. package/dist/generated/particle/Tr2StaticEmitter.js +2 -2
  729. package/dist/generated/particle/Tr2StaticEmitter.js.map +1 -1
  730. package/dist/generated/postProcess/Tr2PostProcessRenderer.js +2 -2
  731. package/dist/generated/postProcess/Tr2PostProcessRenderer.js.map +1 -1
  732. package/dist/generated/raytracing/Tr2RaytracingGeometry.js +3 -3
  733. package/dist/generated/raytracing/Tr2RaytracingGeometry.js.map +1 -1
  734. package/dist/generated/raytracing/Tr2RaytracingManager.js +2 -2
  735. package/dist/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
  736. package/dist/generated/raytracing/Tr2RaytracingMesh.js +2 -2
  737. package/dist/generated/raytracing/Tr2RaytracingMesh.js.map +1 -1
  738. package/dist/generated/raytracing/Tr2RaytracingPipelineStateManager.js +2 -2
  739. package/dist/generated/raytracing/Tr2RaytracingPipelineStateManager.js.map +1 -1
  740. package/dist/generated/renderJob/Tr2RenderNodeEffect.js +2 -2
  741. package/dist/generated/renderJob/Tr2RenderNodeEffect.js.map +1 -1
  742. package/dist/generated/renderJob/Tr2RenderNodeSprite2dScene.js +2 -2
  743. package/dist/generated/renderJob/Tr2RenderNodeSprite2dScene.js.map +1 -1
  744. package/dist/generated/renderJob/Tr2StepExecuteRenderNode.js +1 -1
  745. package/dist/generated/renderJob/Tr2StepExecuteRenderNode.js.map +1 -1
  746. package/dist/generated/renderJob/TriStepClearUav.js +2 -2
  747. package/dist/generated/renderJob/TriStepClearUav.js.map +1 -1
  748. package/dist/generated/renderJob/TriStepFilterVisibilityResults.js +1 -1
  749. package/dist/generated/renderJob/TriStepFilterVisibilityResults.js.map +1 -1
  750. package/dist/generated/renderJob/TriStepPythonCB.js +1 -1
  751. package/dist/generated/renderJob/TriStepPythonCB.js.map +1 -1
  752. package/dist/generated/renderJob/TriStepRemoteUpdate.js +1 -1
  753. package/dist/generated/renderJob/TriStepRemoteUpdate.js.map +1 -1
  754. package/dist/generated/renderJob/TriStepRenderAtlas.js +3 -3
  755. package/dist/generated/renderJob/TriStepRenderAtlas.js.map +1 -1
  756. package/dist/generated/renderJob/TriStepRenderDebug.js +2 -2
  757. package/dist/generated/renderJob/TriStepRenderDebug.js.map +1 -1
  758. package/dist/generated/renderJob/TriStepRenderEffect.js +2 -2
  759. package/dist/generated/renderJob/TriStepRenderEffect.js.map +1 -1
  760. package/dist/generated/renderJob/TriStepRenderFps.js +1 -1
  761. package/dist/generated/renderJob/TriStepRenderFps.js.map +1 -1
  762. package/dist/generated/renderJob/TriStepRenderLineGraph.js +1 -1
  763. package/dist/generated/renderJob/TriStepRenderLineGraph.js.map +1 -1
  764. package/dist/generated/renderJob/TriStepRenderObject.js +1 -1
  765. package/dist/generated/renderJob/TriStepRenderObject.js.map +1 -1
  766. package/dist/generated/renderJob/TriStepRenderPass.js +1 -1
  767. package/dist/generated/renderJob/TriStepRenderPass.js.map +1 -1
  768. package/dist/generated/renderJob/TriStepRenderScene.js +1 -1
  769. package/dist/generated/renderJob/TriStepRenderScene.js.map +1 -1
  770. package/dist/generated/renderJob/TriStepRenderSceneDebug.js +1 -1
  771. package/dist/generated/renderJob/TriStepRenderSceneDebug.js.map +1 -1
  772. package/dist/generated/renderJob/TriStepRenderTexture.js +2 -2
  773. package/dist/generated/renderJob/TriStepRenderTexture.js.map +1 -1
  774. package/dist/generated/renderJob/TriStepRunComputeShader.js +1 -1
  775. package/dist/generated/renderJob/TriStepRunComputeShader.js.map +1 -1
  776. package/dist/generated/renderJob/TriStepSetDebugRenderer.js +1 -1
  777. package/dist/generated/renderJob/TriStepSetDebugRenderer.js.map +1 -1
  778. package/dist/generated/renderJob/TriStepSetUpscalingContextID.js +1 -1
  779. package/dist/generated/renderJob/TriStepSetUpscalingContextID.js.map +1 -1
  780. package/dist/generated/renderJob/TriStepSetVariableStore.js +1 -1
  781. package/dist/generated/renderJob/TriStepSetVariableStore.js.map +1 -1
  782. package/dist/generated/renderJob/TriStepTestBlocking.js +1 -1
  783. package/dist/generated/renderJob/TriStepTestBlocking.js.map +1 -1
  784. package/dist/generated/renderJob/TriStepToggleCubemap.js +1 -1
  785. package/dist/generated/renderJob/TriStepToggleCubemap.js.map +1 -1
  786. package/dist/generated/renderJob/TriStepUpdate.js +1 -1
  787. package/dist/generated/renderJob/TriStepUpdate.js.map +1 -1
  788. package/dist/generated/sprite2d/Tr2Sprite2d.js +1 -1
  789. package/dist/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
  790. package/dist/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
  791. package/dist/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
  792. package/dist/generated/sprite2d/Tr2Sprite2dContainer.js +1 -1
  793. package/dist/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
  794. package/dist/generated/sprite2d/Tr2Sprite2dContainerBase.js +1 -1
  795. package/dist/generated/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
  796. package/dist/generated/sprite2d/Tr2Sprite2dDisplayList.js +4 -4
  797. package/dist/generated/sprite2d/Tr2Sprite2dDisplayList.js.map +1 -1
  798. package/dist/generated/sprite2d/Tr2Sprite2dFrame.js +1 -1
  799. package/dist/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
  800. package/dist/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
  801. package/dist/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
  802. package/dist/generated/sprite2d/Tr2Sprite2dLine.js +3 -3
  803. package/dist/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
  804. package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js +3 -3
  805. package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
  806. package/dist/generated/sprite2d/Tr2Sprite2dPickingMask.js +2 -2
  807. package/dist/generated/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
  808. package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js +4 -4
  809. package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
  810. package/dist/generated/sprite2d/Tr2Sprite2dRenderJob.js +1 -1
  811. package/dist/generated/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
  812. package/dist/generated/sprite2d/Tr2Sprite2dScene.js +6 -6
  813. package/dist/generated/sprite2d/Tr2Sprite2dScene.js.map +1 -1
  814. package/dist/generated/sprite2d/Tr2Sprite2dStretch.js +1 -1
  815. package/dist/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
  816. package/dist/generated/sprite2d/Tr2Sprite2dStretchVertical.js +1 -1
  817. package/dist/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
  818. package/dist/generated/sprite2d/Tr2Sprite2dTextObject.js +1 -1
  819. package/dist/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
  820. package/dist/generated/sprite2d/Tr2Sprite2dTexture.js +3 -3
  821. package/dist/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
  822. package/dist/generated/sprite2d/Tr2Sprite2dTransform.js +2 -2
  823. package/dist/generated/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
  824. package/dist/generated/sprite2d/Tr2Sprite2dVertex.js +2 -2
  825. package/dist/generated/sprite2d/Tr2Sprite2dVertex.js.map +1 -1
  826. package/dist/generated/sprite2d/Tr2SpriteObject.js +3 -3
  827. package/dist/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
  828. package/dist/generated/sprite2d/Tr2SpriteObjectBase.js +2 -2
  829. package/dist/generated/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
  830. package/dist/generated/sprite2d/Tr2TexturedSpriteObject.js +1 -1
  831. package/dist/generated/sprite2d/Tr2TexturedSpriteObject.js.map +1 -1
  832. package/dist/generated/trinityCore/ITr2FroxelFogSettings.js +2 -2
  833. package/dist/generated/trinityCore/ITr2FroxelFogSettings.js.map +1 -1
  834. package/dist/generated/trinityCore/ITr2ImpostorSource.js +3 -3
  835. package/dist/generated/trinityCore/ITr2ImpostorSource.js.map +1 -1
  836. package/dist/generated/trinityCore/ITr2InstanceData.js +2 -2
  837. package/dist/generated/trinityCore/ITr2InstanceData.js.map +1 -1
  838. package/dist/generated/trinityCore/Tr2AtlasTexture.js +2 -2
  839. package/dist/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
  840. package/dist/generated/trinityCore/Tr2BoundingLineSet.js +2 -2
  841. package/dist/generated/trinityCore/Tr2BoundingLineSet.js.map +1 -1
  842. package/dist/generated/trinityCore/Tr2CurveLineSet.js +5 -5
  843. package/dist/generated/trinityCore/Tr2CurveLineSet.js.map +1 -1
  844. package/dist/generated/trinityCore/Tr2DebugRenderer.js +4 -4
  845. package/dist/generated/trinityCore/Tr2DebugRenderer.js.map +1 -1
  846. package/dist/generated/trinityCore/Tr2Denoiser.js +2 -2
  847. package/dist/generated/trinityCore/Tr2Denoiser.js.map +1 -1
  848. package/dist/generated/trinityCore/Tr2DynamicBinding.js +2 -2
  849. package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +1 -1
  850. package/dist/generated/trinityCore/Tr2ExternalParameter.js +2 -2
  851. package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +1 -1
  852. package/dist/generated/trinityCore/Tr2GpuProfiler.js +2 -2
  853. package/dist/generated/trinityCore/Tr2GpuProfiler.js.map +1 -1
  854. package/dist/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
  855. package/dist/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
  856. package/dist/generated/trinityCore/Tr2GrannyAnimation.js +6 -6
  857. package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +1 -1
  858. package/dist/generated/trinityCore/Tr2GrannyPrimitiveSet.js +1 -1
  859. package/dist/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
  860. package/dist/generated/trinityCore/Tr2HostBitmap.js +3 -3
  861. package/dist/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
  862. package/dist/generated/trinityCore/Tr2ImpostorManager.js +2 -2
  863. package/dist/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
  864. package/dist/generated/trinityCore/Tr2KelvinColor.js +2 -2
  865. package/dist/generated/trinityCore/Tr2KelvinColor.js.map +1 -1
  866. package/dist/generated/trinityCore/Tr2LineGraph.js +3 -3
  867. package/dist/generated/trinityCore/Tr2LineGraph.js.map +1 -1
  868. package/dist/generated/trinityCore/Tr2LineSet.js +3 -3
  869. package/dist/generated/trinityCore/Tr2LineSet.js.map +1 -1
  870. package/dist/generated/trinityCore/Tr2ManipulationTool.js +5 -5
  871. package/dist/generated/trinityCore/Tr2ManipulationTool.js.map +1 -1
  872. package/dist/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
  873. package/dist/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
  874. package/dist/generated/trinityCore/Tr2PrimitiveSet.js +4 -4
  875. package/dist/generated/trinityCore/Tr2PrimitiveSet.js.map +1 -1
  876. package/dist/generated/trinityCore/Tr2PrimitiveText.js +3 -3
  877. package/dist/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
  878. package/dist/generated/trinityCore/Tr2ProjectBoundingBoxBracket.js +2 -2
  879. package/dist/generated/trinityCore/Tr2ProjectBoundingBoxBracket.js.map +1 -1
  880. package/dist/generated/trinityCore/Tr2QuadRenderer.js +2 -2
  881. package/dist/generated/trinityCore/Tr2QuadRenderer.js.map +1 -1
  882. package/dist/generated/trinityCore/Tr2ReflectionProbe.js +4 -4
  883. package/dist/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
  884. package/dist/generated/trinityCore/Tr2RingBuffer.js +2 -2
  885. package/dist/generated/trinityCore/Tr2RingBuffer.js.map +1 -1
  886. package/dist/generated/trinityCore/Tr2RotationTool.js +2 -2
  887. package/dist/generated/trinityCore/Tr2RotationTool.js.map +1 -1
  888. package/dist/generated/trinityCore/Tr2SSAO.js +2 -2
  889. package/dist/generated/trinityCore/Tr2SSAO.js.map +1 -1
  890. package/dist/generated/trinityCore/Tr2SSSSS.js +3 -3
  891. package/dist/generated/trinityCore/Tr2SSSSS.js.map +1 -1
  892. package/dist/generated/trinityCore/Tr2ScalingTool.js +3 -3
  893. package/dist/generated/trinityCore/Tr2ScalingTool.js.map +1 -1
  894. package/dist/generated/trinityCore/Tr2ShLightingManager.js +2 -2
  895. package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +1 -1
  896. package/dist/generated/trinityCore/Tr2ShadowMap.js +2 -2
  897. package/dist/generated/trinityCore/Tr2ShadowMap.js.map +1 -1
  898. package/dist/generated/trinityCore/Tr2SolidSet.js +3 -3
  899. package/dist/generated/trinityCore/Tr2SolidSet.js.map +1 -1
  900. package/dist/generated/trinityCore/Tr2StreamingBitmapSaver.js +3 -3
  901. package/dist/generated/trinityCore/Tr2StreamingBitmapSaver.js.map +1 -1
  902. package/dist/generated/trinityCore/Tr2TextureAnimation.js +2 -2
  903. package/dist/generated/trinityCore/Tr2TextureAnimation.js.map +1 -1
  904. package/dist/generated/trinityCore/Tr2TextureArray.js +3 -3
  905. package/dist/generated/trinityCore/Tr2TextureArray.js.map +1 -1
  906. package/dist/generated/trinityCore/Tr2TextureAtlas.js +3 -3
  907. package/dist/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
  908. package/dist/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
  909. package/dist/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
  910. package/dist/generated/trinityCore/Tr2TextureReference.js +2 -2
  911. package/dist/generated/trinityCore/Tr2TextureReference.js.map +1 -1
  912. package/dist/generated/trinityCore/Tr2Transform.js +5 -5
  913. package/dist/generated/trinityCore/Tr2Transform.js.map +1 -1
  914. package/dist/generated/trinityCore/Tr2TransientTextureReference.js +2 -2
  915. package/dist/generated/trinityCore/Tr2TransientTextureReference.js.map +1 -1
  916. package/dist/generated/trinityCore/Tr2TranslationTool.js +2 -2
  917. package/dist/generated/trinityCore/Tr2TranslationTool.js.map +1 -1
  918. package/dist/generated/trinityCore/Tr2VolumetricsRenderer.js +2 -2
  919. package/dist/generated/trinityCore/Tr2VolumetricsRenderer.js.map +1 -1
  920. package/dist/generated/trinityCore/TriLineSet.js +4 -4
  921. package/dist/generated/trinityCore/TriLineSet.js.map +1 -1
  922. package/dist/generated/trinityCore/TriRigidOrientation.js +4 -4
  923. package/dist/generated/trinityCore/TriRigidOrientation.js.map +1 -1
  924. package/dist/generated/trinityCore/TriValueBinding.js +3 -3
  925. package/dist/generated/trinityCore/TriValueBinding.js.map +1 -1
  926. package/dist/generated/utilities/Float4x3.js +2 -2
  927. package/dist/generated/utilities/Float4x3.js.map +1 -1
  928. package/dist/generated/utilities/Obb.js +3 -3
  929. package/dist/generated/utilities/Obb.js.map +1 -1
  930. package/dist/generated/utilities/Tr2MaterialBoundsAdjustment.js +2 -2
  931. package/dist/generated/utilities/Tr2MaterialBoundsAdjustment.js.map +1 -1
  932. package/dist/index.js +6 -2
  933. package/dist/index.js.map +1 -1
  934. package/dist/particle/Tr2GpuSharedEmitter.js +4 -4
  935. package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
  936. package/dist/particle/Tr2GpuUniqueEmitter.js +2 -2
  937. package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
  938. package/dist/particle/Tr2ParticleAttractorForce.js +3 -3
  939. package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
  940. package/dist/particle/Tr2ParticleDirectForce.js +3 -3
  941. package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
  942. package/dist/particle/Tr2ParticleDragForce.js +3 -3
  943. package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
  944. package/dist/particle/Tr2ParticleElementData.js +2 -2
  945. package/dist/particle/Tr2ParticleElementData.js.map +1 -1
  946. package/dist/particle/Tr2ParticleElementDeclaration.js +2 -2
  947. package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
  948. package/dist/particle/Tr2ParticleElementDeclarationName.js +2 -2
  949. package/dist/particle/Tr2ParticleElementDeclarationName.js.map +1 -1
  950. package/dist/particle/Tr2ParticleFluidDragForce.js +3 -3
  951. package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
  952. package/dist/particle/Tr2ParticleSpring.js +3 -3
  953. package/dist/particle/Tr2ParticleSpring.js.map +1 -1
  954. package/dist/particle/Tr2ParticleVortexForce.js +3 -3
  955. package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
  956. package/dist/postProcess/BlurContext.js +2 -2
  957. package/dist/postProcess/BlurContext.js.map +1 -1
  958. package/dist/postProcess/GaussianData.js +4 -4
  959. package/dist/postProcess/GaussianData.js.map +1 -1
  960. package/dist/postProcess/Tr2PPBloomEffect.js +2 -2
  961. package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
  962. package/dist/postProcess/Tr2PPColorCorrectionEffect.js +2 -2
  963. package/dist/postProcess/Tr2PPColorCorrectionEffect.js.map +1 -1
  964. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +1 -1
  965. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
  966. package/dist/postProcess/Tr2PPDesaturateEffect.js +1 -1
  967. package/dist/postProcess/Tr2PPDesaturateEffect.js.map +1 -1
  968. package/dist/postProcess/Tr2PPDynamicExposureEffect.js +1 -1
  969. package/dist/postProcess/Tr2PPDynamicExposureEffect.js.map +1 -1
  970. package/dist/postProcess/Tr2PPEffect.js +2 -2
  971. package/dist/postProcess/Tr2PPEffect.js.map +1 -1
  972. package/dist/postProcess/Tr2PPFadeEffect.js +2 -2
  973. package/dist/postProcess/Tr2PPFadeEffect.js.map +1 -1
  974. package/dist/postProcess/Tr2PPFilmGrainEffect.js +1 -1
  975. package/dist/postProcess/Tr2PPFilmGrainEffect.js.map +1 -1
  976. package/dist/postProcess/Tr2PPFogEffect.js +4 -4
  977. package/dist/postProcess/Tr2PPFogEffect.js.map +1 -1
  978. package/dist/postProcess/Tr2PPGenericEffect.js +1 -1
  979. package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
  980. package/dist/postProcess/Tr2PPGodRaysEffect.js +2 -2
  981. package/dist/postProcess/Tr2PPGodRaysEffect.js.map +1 -1
  982. package/dist/postProcess/Tr2PPLutEffect.js +1 -1
  983. package/dist/postProcess/Tr2PPLutEffect.js.map +1 -1
  984. package/dist/postProcess/Tr2PPSignalLossEffect.js +1 -1
  985. package/dist/postProcess/Tr2PPSignalLossEffect.js.map +1 -1
  986. package/dist/postProcess/Tr2PPTaaEffect.js +1 -1
  987. package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
  988. package/dist/postProcess/Tr2PPTonemappingEffect.js +1 -1
  989. package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
  990. package/dist/postProcess/Tr2PPVignetteEffect.js +3 -3
  991. package/dist/postProcess/Tr2PPVignetteEffect.js.map +1 -1
  992. package/dist/postProcess/Tr2PostProcess.js +2 -2
  993. package/dist/postProcess/Tr2PostProcess.js.map +1 -1
  994. package/dist/postProcess/Tr2PostProcess2.js +2 -2
  995. package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
  996. package/dist/postProcess/Tr2PostProcessAttributes.js +5 -5
  997. package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  998. package/dist/renderJob/Tr2RenderJobs.js +2 -2
  999. package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
  1000. package/dist/renderJob/TriRenderJob.js +2 -2
  1001. package/dist/renderJob/TriRenderJob.js.map +1 -1
  1002. package/dist/renderJob/TriRenderStep.js +2 -2
  1003. package/dist/renderJob/TriRenderStep.js.map +1 -1
  1004. package/dist/renderJob/TriStepClear.js +2 -2
  1005. package/dist/renderJob/TriStepClear.js.map +1 -1
  1006. package/dist/renderJob/TriStepCopyRenderTarget.js +1 -1
  1007. package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
  1008. package/dist/renderJob/TriStepEnableWireframeMode.js +1 -1
  1009. package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
  1010. package/dist/renderJob/TriStepGenerateMipMaps.js +1 -1
  1011. package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
  1012. package/dist/renderJob/TriStepPopDepthStencil.js +1 -1
  1013. package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
  1014. package/dist/renderJob/TriStepPopProjection.js +1 -1
  1015. package/dist/renderJob/TriStepPopProjection.js.map +1 -1
  1016. package/dist/renderJob/TriStepPopRenderTarget.js +1 -1
  1017. package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
  1018. package/dist/renderJob/TriStepPopViewTransform.js +1 -1
  1019. package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
  1020. package/dist/renderJob/TriStepPopViewport.js +1 -1
  1021. package/dist/renderJob/TriStepPopViewport.js.map +1 -1
  1022. package/dist/renderJob/TriStepPresentSwapChain.js +1 -1
  1023. package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
  1024. package/dist/renderJob/TriStepPushDepthStencil.js +1 -1
  1025. package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
  1026. package/dist/renderJob/TriStepPushProjection.js +1 -1
  1027. package/dist/renderJob/TriStepPushProjection.js.map +1 -1
  1028. package/dist/renderJob/TriStepPushRenderTarget.js +1 -1
  1029. package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
  1030. package/dist/renderJob/TriStepPushViewTransform.js +1 -1
  1031. package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
  1032. package/dist/renderJob/TriStepPushViewport.js +1 -1
  1033. package/dist/renderJob/TriStepPushViewport.js.map +1 -1
  1034. package/dist/renderJob/TriStepRemoteSync.js +1 -1
  1035. package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
  1036. package/dist/renderJob/TriStepResolve.js +1 -1
  1037. package/dist/renderJob/TriStepResolve.js.map +1 -1
  1038. package/dist/renderJob/TriStepRunJob.js +1 -1
  1039. package/dist/renderJob/TriStepRunJob.js.map +1 -1
  1040. package/dist/renderJob/TriStepSetDepthStencil.js +1 -1
  1041. package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
  1042. package/dist/renderJob/TriStepSetProjection.js +1 -1
  1043. package/dist/renderJob/TriStepSetProjection.js.map +1 -1
  1044. package/dist/renderJob/TriStepSetRenderState.js +2 -2
  1045. package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
  1046. package/dist/renderJob/TriStepSetRenderTarget.js +1 -1
  1047. package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
  1048. package/dist/renderJob/TriStepSetStdRndStates.js +1 -1
  1049. package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
  1050. package/dist/renderJob/TriStepSetView.js +1 -1
  1051. package/dist/renderJob/TriStepSetView.js.map +1 -1
  1052. package/dist/renderJob/TriStepSetViewport.js +1 -1
  1053. package/dist/renderJob/TriStepSetViewport.js.map +1 -1
  1054. package/dist/renderJob/TriStepSetVisualizationMode.js +1 -1
  1055. package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
  1056. package/dist/shader/Tr2Effect.js +2 -2
  1057. package/dist/shader/Tr2Effect.js.map +1 -1
  1058. package/dist/shader/Tr2Material.js +2 -2
  1059. package/dist/shader/Tr2Material.js.map +1 -1
  1060. package/dist/shader/Tr2Shader.js +2 -2
  1061. package/dist/shader/Tr2Shader.js.map +1 -1
  1062. package/dist/shader/material/Tr2EffectLibraryParameters.js +2 -2
  1063. package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
  1064. package/dist/shader/material/Tr2EffectParam.js +2 -2
  1065. package/dist/shader/material/Tr2EffectParam.js.map +1 -1
  1066. package/dist/shader/material/Tr2EffectPassParameters.js +2 -2
  1067. package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
  1068. package/dist/shader/material/Tr2EffectTechniqueInputs.js +2 -2
  1069. package/dist/shader/material/Tr2EffectTechniqueInputs.js.map +1 -1
  1070. package/dist/shader/material/Tr2MaterialStageInput.js +2 -2
  1071. package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
  1072. package/dist/shader/material/Tr2SharedConstantBuffers.js +2 -2
  1073. package/dist/shader/material/Tr2SharedConstantBuffers.js.map +1 -1
  1074. package/dist/shader/parameter/CjsParameter.js +1 -1
  1075. package/dist/shader/parameter/CjsParameter.js.map +1 -1
  1076. package/dist/shader/parameter/Tr2ConstantEffectParameter.js +2 -2
  1077. package/dist/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
  1078. package/dist/shader/parameter/Tr2FloatParameter.js +1 -1
  1079. package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
  1080. package/dist/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
  1081. package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  1082. package/dist/shader/parameter/Tr2Matrix4Parameter.js +2 -2
  1083. package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  1084. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +1 -1
  1085. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  1086. package/dist/shader/parameter/Tr2TextureAnimationParameter.js +1 -1
  1087. package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  1088. package/dist/shader/parameter/Tr2Vector2Parameter.js +3 -3
  1089. package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  1090. package/dist/shader/parameter/Tr2Vector3Parameter.js +3 -3
  1091. package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  1092. package/dist/shader/parameter/Tr2Vector4Parameter.js +3 -3
  1093. package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  1094. package/dist/shader/parameter/TriFloatArrayParameter.js +1 -1
  1095. package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  1096. package/dist/shader/parameter/TriTextureParameter.js +2 -2
  1097. package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
  1098. package/dist/shader/parameter/TriTransformParameter.js +27 -6
  1099. package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
  1100. package/dist/shader/parameter/TriVariableParameter.js +2 -2
  1101. package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
  1102. package/dist/shader/parameter/TriVector4.js +3 -3
  1103. package/dist/shader/parameter/TriVector4.js.map +1 -1
  1104. package/dist/shader/reflection/Tr2EffectConstant.js +2 -2
  1105. package/dist/shader/reflection/Tr2EffectConstant.js.map +1 -1
  1106. package/dist/shader/reflection/Tr2EffectDefine.js +2 -2
  1107. package/dist/shader/reflection/Tr2EffectDefine.js.map +1 -1
  1108. package/dist/shader/reflection/Tr2EffectDescription.js +2 -2
  1109. package/dist/shader/reflection/Tr2EffectDescription.js.map +1 -1
  1110. package/dist/shader/reflection/Tr2EffectLibrary.js +2 -2
  1111. package/dist/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  1112. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +2 -2
  1113. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
  1114. package/dist/shader/reflection/Tr2EffectResource.js +2 -2
  1115. package/dist/shader/reflection/Tr2EffectResource.js.map +1 -1
  1116. package/dist/shader/reflection/Tr2EffectStageInput.js +2 -2
  1117. package/dist/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  1118. package/dist/shader/reflection/Tr2EffectTechnique.js +2 -2
  1119. package/dist/shader/reflection/Tr2EffectTechnique.js.map +1 -1
  1120. package/dist/shader/reflection/Tr2Pass.js +2 -2
  1121. package/dist/shader/reflection/Tr2Pass.js.map +1 -1
  1122. package/dist/shader/reflection/Tr2ShaderOption.js +2 -2
  1123. package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
  1124. package/dist/shader/sampler/Tr2SamplerOverride.js +2 -2
  1125. package/dist/shader/sampler/Tr2SamplerOverride.js.map +1 -1
  1126. package/dist/shader/sampler/Tr2SamplerOverrideData.js +2 -2
  1127. package/dist/shader/sampler/Tr2SamplerOverrideData.js.map +1 -1
  1128. package/dist/shader/sampler/Tr2SamplerSetup.js +2 -2
  1129. package/dist/shader/sampler/Tr2SamplerSetup.js.map +1 -1
  1130. package/dist/shader/support/Tr2DataTextureManager.js +2 -2
  1131. package/dist/shader/support/Tr2DataTextureManager.js.map +1 -1
  1132. package/dist/shader/support/Tr2EffectStateManager.js +2 -2
  1133. package/dist/shader/support/Tr2EffectStateManager.js.map +1 -1
  1134. package/dist/shader/support/Tr2ShaderBuffer.js +2 -2
  1135. package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
  1136. package/dist/sprite2d/Tr2Sprite2dClipRect.js +2 -2
  1137. package/dist/sprite2d/Tr2Sprite2dClipRect.js.map +1 -1
  1138. package/dist/sprite2d/Tr2Sprite2dD3DVertex.js +2 -2
  1139. package/dist/sprite2d/Tr2Sprite2dD3DVertex.js.map +1 -1
  1140. package/dist/sprite2d/Tr2Sprite2dLineTraceVertex.js +4 -4
  1141. package/dist/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
  1142. package/dist/sprite2d/Tr2Sprite2dTriangle.js +2 -2
  1143. package/dist/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
  1144. package/dist/sprite2d/Tr2Sprite2dVertexBase.js +5 -5
  1145. package/dist/sprite2d/Tr2Sprite2dVertexBase.js.map +1 -1
  1146. package/dist/trinityCore/CjsBatchManager.js +7 -1
  1147. package/dist/trinityCore/CjsBatchManager.js.map +1 -1
  1148. package/dist/trinityCore/GrannyBoneOffset.js +5 -5
  1149. package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
  1150. package/dist/trinityCore/ITriRenderBatchAccumulator.js +28 -2
  1151. package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
  1152. package/dist/trinityCore/Tr2BindingVector3.js +3 -3
  1153. package/dist/trinityCore/Tr2BindingVector3.js.map +1 -1
  1154. package/dist/trinityCore/Tr2DepthStencil.js +3 -3
  1155. package/dist/trinityCore/Tr2DepthStencil.js.map +1 -1
  1156. package/dist/trinityCore/Tr2DirectInstanceData.js +3 -3
  1157. package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
  1158. package/dist/trinityCore/Tr2ExpressionTermInfo.js +2 -2
  1159. package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
  1160. package/dist/trinityCore/Tr2GpuBuffer.js +3 -3
  1161. package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
  1162. package/dist/trinityCore/Tr2InstancedMesh.js +2 -2
  1163. package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
  1164. package/dist/trinityCore/Tr2MaterialParameterStore.js +2 -2
  1165. package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
  1166. package/dist/trinityCore/Tr2Mesh.js +1 -1
  1167. package/dist/trinityCore/Tr2Mesh.js.map +1 -1
  1168. package/dist/trinityCore/Tr2MeshArea.js +2 -2
  1169. package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
  1170. package/dist/trinityCore/Tr2MeshBase.js +3 -3
  1171. package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
  1172. package/dist/trinityCore/Tr2PrimaryRenderContext.js +2 -2
  1173. package/dist/trinityCore/Tr2PrimaryRenderContext.js.map +1 -1
  1174. package/dist/trinityCore/Tr2PyValueBinding.js +2 -2
  1175. package/dist/trinityCore/Tr2PyValueBinding.js.map +1 -1
  1176. package/dist/trinityCore/Tr2RenderBatch.js +2 -2
  1177. package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
  1178. package/dist/trinityCore/Tr2RenderContext.js +4 -4
  1179. package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
  1180. package/dist/trinityCore/Tr2RenderTarget.js +3 -3
  1181. package/dist/trinityCore/Tr2RenderTarget.js.map +1 -1
  1182. package/dist/trinityCore/Tr2RuntimeGpuBuffer.js +2 -2
  1183. package/dist/trinityCore/Tr2RuntimeGpuBuffer.js.map +1 -1
  1184. package/dist/trinityCore/Tr2RuntimeInstanceData.js +3 -3
  1185. package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
  1186. package/dist/trinityCore/Tr2SerializedMorphAnimation.js +2 -2
  1187. package/dist/trinityCore/Tr2SerializedMorphAnimation.js.map +1 -1
  1188. package/dist/trinityCore/Tr2SwapChain.js +2 -2
  1189. package/dist/trinityCore/Tr2SwapChain.js.map +1 -1
  1190. package/dist/trinityCore/Tr2VariableStore.js +2 -2
  1191. package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
  1192. package/dist/trinityCore/Tr2VisibilityResults.js +4 -4
  1193. package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
  1194. package/dist/trinityCore/TriDevice.js +3 -3
  1195. package/dist/trinityCore/TriDevice.js.map +1 -1
  1196. package/dist/trinityCore/TriFloat.js +2 -2
  1197. package/dist/trinityCore/TriFloat.js.map +1 -1
  1198. package/dist/trinityCore/TriFrustum.js +3 -3
  1199. package/dist/trinityCore/TriFrustum.js.map +1 -1
  1200. package/dist/trinityCore/TriFrustumOrtho.js +2 -2
  1201. package/dist/trinityCore/TriFrustumOrtho.js.map +1 -1
  1202. package/dist/trinityCore/TriObserverLocal.js +3 -3
  1203. package/dist/trinityCore/TriObserverLocal.js.map +1 -1
  1204. package/dist/trinityCore/TriProjection.js +3 -3
  1205. package/dist/trinityCore/TriProjection.js.map +1 -1
  1206. package/dist/trinityCore/TriRect.js +2 -2
  1207. package/dist/trinityCore/TriRect.js.map +1 -1
  1208. package/dist/trinityCore/TriRenderBatchAccumulator.js +2 -2
  1209. package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
  1210. package/dist/trinityCore/TriRenderBatchMap.js +10 -1
  1211. package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
  1212. package/dist/trinityCore/TriSettings.js +2 -2
  1213. package/dist/trinityCore/TriSettings.js.map +1 -1
  1214. package/dist/trinityCore/TriTorque.js +4 -4
  1215. package/dist/trinityCore/TriTorque.js.map +1 -1
  1216. package/dist/trinityCore/TriVariable.js +2 -2
  1217. package/dist/trinityCore/TriVariable.js.map +1 -1
  1218. package/dist/trinityCore/TriView.js +3 -3
  1219. package/dist/trinityCore/TriView.js.map +1 -1
  1220. package/dist/trinityCore/TriViewport.js +2 -2
  1221. package/dist/trinityCore/TriViewport.js.map +1 -1
  1222. package/dist/trinityCore/index.js +2 -0
  1223. package/dist/trinityCore/index.js.map +1 -1
  1224. package/dist/trinityCore/rawData/RawData.js +178 -0
  1225. package/dist/trinityCore/rawData/RawData.js.map +1 -0
  1226. package/dist/trinityCore/rawData/RawDataStore.js +232 -0
  1227. package/dist/trinityCore/rawData/RawDataStore.js.map +1 -0
  1228. package/dist/ui/Tr2PresentParameters.js +2 -2
  1229. package/dist/ui/Tr2PresentParameters.js.map +1 -1
  1230. package/dist/utilities/Range.js +2 -2
  1231. package/dist/utilities/Range.js.map +1 -1
  1232. package/package.json +2 -4
@@ -1 +1 @@
1
- {"version":3,"file":"EveChildLightingOverride.js","sources":["../../../../src/eve/child/EveChildLightingOverride.js"],"sourcesContent":["// Ported/adapted from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildLightingOverride.h\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildLightingOverride.cpp\r\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\r\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\r\nimport { impl, io, schema, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveChildTransform } from \"./EveChildTransform.js\";\r\nimport { EveComponentType } from \"../EveComponentTypes.js\";\r\n\r\n\r\n@type.define({ className: \"EveChildLightingOverride\", family: \"eve/child\" })\r\nexport class EveChildLightingOverride extends EveChildTransform\r\n{\r\n #overrideIntensity = 0;\r\n #boundingSphere = { center: vec3.create(), radius: 0, initialized: false };\r\n\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Priority\")\r\n priority = 2;\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.float32\r\n backgroundIntensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n intensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n reflectionIntensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n sunIntensity = 1;\r\n\r\n @io.persist\r\n @type.color\r\n sunColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n @io.persist\r\n @type.list(\"IEveVolume\")\r\n volumes = [];\r\n\r\n /** Carbon EveChildLightingOverride::RegisterComponents (cpp:47-50):\r\n * unconditional EveLightingOverride leaf self-registration. Carbon's\r\n * UnRegisterComponents (cpp:52-55) only removes this same component, which\r\n * EveEntity::UnRegister already did via UnRegisterAllComponents\r\n * (EveEntity.cpp:90), so the JS un-side keeps the base no-op. */\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n registry.RegisterComponent(EveComponentType.EveLightingOverride, this);\r\n }\r\n }\r\n\r\n @impl.implemented\r\n GetOverrides()\r\n {\r\n return {\r\n priority: this.priority,\r\n intensity: this.#overrideIntensity,\r\n value: {\r\n sunColor: vec4.clone(this.sunColor),\r\n sunIntensity: this.sunIntensity,\r\n backgroundIntensity: this.backgroundIntensity,\r\n reflectionIntensity: this.reflectionIntensity\r\n }\r\n };\r\n }\r\n\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n @impl.adapted\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n vec4.set(out, this.#boundingSphere.center[0], this.#boundingSphere.center[1], this.#boundingSphere.center[2], this.#boundingSphere.radius);\r\n return true;\r\n }\r\n\r\n UpdateSyncronous(_updateContext, _params)\r\n {\r\n }\r\n\r\n @impl.adapted\r\n UpdateAsyncronous(updateContext, params = {})\r\n {\r\n this.UpdateTransform(params.localToWorldTransform ?? mat4.create());\r\n this.#RebuildBoundingSphere();\r\n\r\n if (this.volumes.length === 0)\r\n {\r\n this.#overrideIntensity = this.intensity;\r\n return;\r\n }\r\n\r\n this.#overrideIntensity = 0;\r\n const viewPosition = updateContext?.renderContext?.GetViewPosition?.();\r\n const inverse = mat4.invert(mat4.create(), this.worldTransform);\r\n if (!viewPosition || !inverse || !this.#boundingSphere.initialized) return;\r\n const localView = vec3.transformMat4(vec3.create(), viewPosition, inverse);\r\n if (vec3.distance(localView, this.#boundingSphere.center) > this.#boundingSphere.radius) return;\r\n\r\n for (const volume of this.volumes)\r\n {\r\n this.#overrideIntensity = Math.max(this.#overrideIntensity, Number(volume?.GetIntensity?.(localView)) || 0);\r\n if (this.#overrideIntensity >= 1) break;\r\n }\r\n this.#overrideIntensity *= this.intensity;\r\n }\r\n\r\n GetLocalToWorldTransform(out = mat4.create())\r\n {\r\n return mat4.copy(out, this.worldTransform);\r\n }\r\n\r\n Setup(scale, rotation, translation, lowestLodVisible)\r\n {\r\n return super.Setup(scale, rotation, translation, lowestLodVisible);\r\n }\r\n\r\n IsAlwaysOn()\r\n {\r\n return true;\r\n }\r\n\r\n Initialize()\r\n {\r\n this.#RebuildBoundingSphere();\r\n return true;\r\n }\r\n\r\n UpdateVisibility(_updateContext, _parentTransform, _parentLod)\r\n {\r\n }\r\n\r\n GetRenderables(_renderables)\r\n {\r\n }\r\n\r\n ChangeLOD(_lod)\r\n {\r\n }\r\n\r\n static Priority = Object.freeze({\r\n SCENE_DEFAULT_PRIORITY: 0,\r\n LOW_PRIORITY: 1,\r\n MEDIUM_PRIORITY: 2,\r\n HIGH_PRIORITY: 3,\r\n UI_PRIORITY: 4,\r\n PRIORITY_COUNT: 5\r\n });\r\n\r\n #RebuildBoundingSphere()\r\n {\r\n const target = this.#boundingSphere;\r\n vec3.set(target.center, 0, 0, 0);\r\n target.radius = 0;\r\n target.initialized = false;\r\n\r\n for (const volume of this.volumes)\r\n {\r\n const sphere = volume?.GetBoundingSphere?.();\r\n if (!sphere?.center || !Number.isFinite(sphere.radius) || sphere.radius < 0) continue;\r\n if (!target.initialized)\r\n {\r\n vec3.copy(target.center, sphere.center);\r\n target.radius = sphere.radius;\r\n target.initialized = true;\r\n continue;\r\n }\r\n EveChildLightingOverride.#UnionSphere(target, sphere);\r\n }\r\n }\r\n\r\n static #UnionSphere(target, sphere)\r\n {\r\n const delta = vec3.subtract(vec3.create(), sphere.center, target.center);\r\n const distance = vec3.length(delta);\r\n if (distance + sphere.radius <= target.radius) return;\r\n if (distance + target.radius <= sphere.radius)\r\n {\r\n vec3.copy(target.center, sphere.center);\r\n target.radius = sphere.radius;\r\n return;\r\n }\r\n if (distance === 0)\r\n {\r\n target.radius = Math.max(target.radius, sphere.radius);\r\n return;\r\n }\r\n const radius = (target.radius + sphere.radius + distance) * 0.5;\r\n vec3.scaleAndAdd(target.center, target.center, delta, (radius - target.radius) / distance);\r\n target.radius = radius;\r\n }\r\n}\r\n"],"names":["_EveChildLightingOver","_identity","EveChildLightingOverride","EveChildTransform","e","_init_priority","_init_extra_priority","_init_name","_init_extra_name","_init_backgroundIntensity","_init_extra_backgroundIntensity","_init_intensity","_init_extra_intensity","_init_reflectionIntensity","_init_extra_reflectionIntensity","_init_sunIntensity","_init_extra_sunIntensity","_init_sunColor","_init_extra_sunColor","_init_volumes","_init_extra_volumes","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","int32","schema","enum","string","float32","color","list","impl","implemented","adapted","constructor","args","center","vec3","create","radius","initialized","priority","name","backgroundIntensity","intensity","reflectionIntensity","sunIntensity","sunColor","vec4","fromValues","volumes","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","EveLightingOverride","GetOverrides","value","clone","GetName","SetName","String","GetBoundingSphere","out","set","UpdateSyncronous","_updateContext","_params","UpdateAsyncronous","updateContext","params","UpdateTransform","localToWorldTransform","mat4","length","viewPosition","renderContext","GetViewPosition","inverse","invert","worldTransform","localView","transformMat4","distance","volume","Math","max","Number","GetIntensity","GetLocalToWorldTransform","copy","Setup","scale","rotation","translation","lowestLodVisible","IsAlwaysOn","Initialize","UpdateVisibility","_parentTransform","_parentLod","GetRenderables","_renderables","ChangeLOD","_lod","#RebuildBoundingSphere","target","sphere","isFinite","Priority","Object","freeze","SCENE_DEFAULT_PRIORITY","LOW_PRIORITY","MEDIUM_PRIORITY","HIGH_PRIORITY","UI_PRIORITY","PRIORITY_COUNT","#UnionSphere","delta","subtract","scaleAndAdd"],"mappings":"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"}
1
+ {"version":3,"file":"EveChildLightingOverride.js","sources":["../../../../src/eve/child/EveChildLightingOverride.js"],"sourcesContent":["// Ported/adapted from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildLightingOverride.h\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildLightingOverride.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\r\nimport { impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { EveChildTransform } from \"./EveChildTransform.js\";\r\nimport { EveComponentType } from \"../EveComponentTypes.js\";\r\n\r\n\r\n@type.define({ className: \"EveChildLightingOverride\", family: \"eve/child\" })\r\nexport class EveChildLightingOverride extends EveChildTransform\r\n{\r\n #overrideIntensity = 0;\r\n #boundingSphere = { center: vec3.create(), radius: 0, initialized: false };\r\n\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Priority\")\r\n priority = 2;\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.float32\r\n backgroundIntensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n intensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n reflectionIntensity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n sunIntensity = 1;\r\n\r\n @io.persist\r\n @type.color\r\n sunColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n @io.persist\r\n @type.list(\"IEveVolume\")\r\n volumes = [];\r\n\r\n /** Carbon EveChildLightingOverride::RegisterComponents (cpp:47-50):\r\n * unconditional EveLightingOverride leaf self-registration. Carbon's\r\n * UnRegisterComponents (cpp:52-55) only removes this same component, which\r\n * EveEntity::UnRegister already did via UnRegisterAllComponents\r\n * (EveEntity.cpp:90), so the JS un-side keeps the base no-op. */\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n registry.RegisterComponent(EveComponentType.EveLightingOverride, this);\r\n }\r\n }\r\n\r\n @impl.implemented\r\n GetOverrides()\r\n {\r\n return {\r\n priority: this.priority,\r\n intensity: this.#overrideIntensity,\r\n value: {\r\n sunColor: vec4.clone(this.sunColor),\r\n sunIntensity: this.sunIntensity,\r\n backgroundIntensity: this.backgroundIntensity,\r\n reflectionIntensity: this.reflectionIntensity\r\n }\r\n };\r\n }\r\n\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n @impl.adapted\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n vec4.set(out, this.#boundingSphere.center[0], this.#boundingSphere.center[1], this.#boundingSphere.center[2], this.#boundingSphere.radius);\r\n return true;\r\n }\r\n\r\n UpdateSyncronous(_updateContext, _params)\r\n {\r\n }\r\n\r\n @impl.adapted\r\n UpdateAsyncronous(updateContext, params = {})\r\n {\r\n this.UpdateTransform(params.localToWorldTransform ?? mat4.create());\r\n this.#RebuildBoundingSphere();\r\n\r\n if (this.volumes.length === 0)\r\n {\r\n this.#overrideIntensity = this.intensity;\r\n return;\r\n }\r\n\r\n this.#overrideIntensity = 0;\r\n const viewPosition = updateContext?.renderContext?.GetViewPosition?.();\r\n const inverse = mat4.invert(mat4.create(), this.worldTransform);\r\n if (!viewPosition || !inverse || !this.#boundingSphere.initialized) return;\r\n const localView = vec3.transformMat4(vec3.create(), viewPosition, inverse);\r\n if (vec3.distance(localView, this.#boundingSphere.center) > this.#boundingSphere.radius) return;\r\n\r\n for (const volume of this.volumes)\r\n {\r\n this.#overrideIntensity = Math.max(this.#overrideIntensity, Number(volume?.GetIntensity?.(localView)) || 0);\r\n if (this.#overrideIntensity >= 1) break;\r\n }\r\n this.#overrideIntensity *= this.intensity;\r\n }\r\n\r\n GetLocalToWorldTransform(out = mat4.create())\r\n {\r\n return mat4.copy(out, this.worldTransform);\r\n }\r\n\r\n Setup(scale, rotation, translation, lowestLodVisible)\r\n {\r\n return super.Setup(scale, rotation, translation, lowestLodVisible);\r\n }\r\n\r\n IsAlwaysOn()\r\n {\r\n return true;\r\n }\r\n\r\n Initialize()\r\n {\r\n this.#RebuildBoundingSphere();\r\n return true;\r\n }\r\n\r\n UpdateVisibility(_updateContext, _parentTransform, _parentLod)\r\n {\r\n }\r\n\r\n GetRenderables(_renderables)\r\n {\r\n }\r\n\r\n ChangeLOD(_lod)\r\n {\r\n }\r\n\r\n static Priority = Object.freeze({\r\n SCENE_DEFAULT_PRIORITY: 0,\r\n LOW_PRIORITY: 1,\r\n MEDIUM_PRIORITY: 2,\r\n HIGH_PRIORITY: 3,\r\n UI_PRIORITY: 4,\r\n PRIORITY_COUNT: 5\r\n });\r\n\r\n #RebuildBoundingSphere()\r\n {\r\n const target = this.#boundingSphere;\r\n vec3.set(target.center, 0, 0, 0);\r\n target.radius = 0;\r\n target.initialized = false;\r\n\r\n for (const volume of this.volumes)\r\n {\r\n const sphere = volume?.GetBoundingSphere?.();\r\n if (!sphere?.center || !Number.isFinite(sphere.radius) || sphere.radius < 0) continue;\r\n if (!target.initialized)\r\n {\r\n vec3.copy(target.center, sphere.center);\r\n target.radius = sphere.radius;\r\n target.initialized = true;\r\n continue;\r\n }\r\n EveChildLightingOverride.#UnionSphere(target, sphere);\r\n }\r\n }\r\n\r\n static #UnionSphere(target, sphere)\r\n {\r\n const delta = vec3.subtract(vec3.create(), sphere.center, target.center);\r\n const distance = vec3.length(delta);\r\n if (distance + sphere.radius <= target.radius) return;\r\n if (distance + target.radius <= sphere.radius)\r\n {\r\n vec3.copy(target.center, sphere.center);\r\n target.radius = sphere.radius;\r\n return;\r\n }\r\n if (distance === 0)\r\n {\r\n target.radius = Math.max(target.radius, sphere.radius);\r\n return;\r\n }\r\n const radius = (target.radius + sphere.radius + distance) * 0.5;\r\n vec3.scaleAndAdd(target.center, target.center, delta, (radius - target.radius) / distance);\r\n target.radius = radius;\r\n }\r\n}\r\n"],"names":["_EveChildLightingOver","_identity","EveChildLightingOverride","EveChildTransform","e","_init_priority","_init_extra_priority","_init_name","_init_extra_name","_init_backgroundIntensity","_init_extra_backgroundIntensity","_init_intensity","_init_extra_intensity","_init_reflectionIntensity","_init_extra_reflectionIntensity","_init_sunIntensity","_init_extra_sunIntensity","_init_sunColor","_init_extra_sunColor","_init_volumes","_init_extra_volumes","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","int32","schema","enum","string","float32","color","list","impl","implemented","adapted","constructor","args","center","vec3","create","radius","initialized","priority","name","backgroundIntensity","intensity","reflectionIntensity","sunIntensity","sunColor","vec4","fromValues","volumes","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","EveLightingOverride","GetOverrides","value","clone","GetName","SetName","String","GetBoundingSphere","out","set","UpdateSyncronous","_updateContext","_params","UpdateAsyncronous","updateContext","params","UpdateTransform","localToWorldTransform","mat4","length","viewPosition","renderContext","GetViewPosition","inverse","invert","worldTransform","localView","transformMat4","distance","volume","Math","max","Number","GetIntensity","GetLocalToWorldTransform","copy","Setup","scale","rotation","translation","lowestLodVisible","IsAlwaysOn","Initialize","UpdateVisibility","_parentTransform","_parentLod","GetRenderables","_renderables","ChangeLOD","_lod","#RebuildBoundingSphere","target","sphere","isFinite","Priority","Object","freeze","SCENE_DEFAULT_PRIORITY","LOW_PRIORITY","MEDIUM_PRIORITY","HIGH_PRIORITY","UI_PRIORITY","PRIORITY_COUNT","#UnionSphere","delta","subtract","scaleAndAdd"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { mat4 } from '@carbonenginejs/core-math/mat4';
3
- import { quat } from '@carbonenginejs/core-math/quat';
4
- import { sph3 } from '@carbonenginejs/core-math/sph3';
5
- import { vec3 } from '@carbonenginejs/core-math/vec3';
6
- import { vec4 } from '@carbonenginejs/core-math/vec4';
7
- import { io, type, carbon, impl, schema } from '@carbonenginejs/core-types/schema';
8
- import { TriBatchType } from '@carbonenginejs/runtime-const/graphics';
2
+ import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
3
+ import { quat } from '@carbonenginejs/runtime-utils/quat';
4
+ import { sph3 } from '@carbonenginejs/runtime-utils/sph3';
5
+ import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
6
+ import { vec4 } from '@carbonenginejs/runtime-utils/vec4';
7
+ import { io, type, carbon, impl, schema } from '@carbonenginejs/runtime-utils/schema';
8
+ import { TriBatchType } from '@carbonenginejs/runtime-utils/graphics';
9
9
  import { EveChildTransform as _EveChildTransform, applyTransformModifiers } from './EveChildTransform.js';
10
10
  import { Origin } from '../../generated/eve/child/enums.js';
11
11
  import { ReflectionMode } from '../../generated/eve/enums.js';
@@ -39,7 +39,7 @@ new class extends _identity {
39
39
  } = _applyDecs2311(this, [type.define({
40
40
  className: "EveChildMesh",
41
41
  family: "eve/child"
42
- })], [[[io, io.notify, io, io.persist, type, type.int32, void 0, schema.enum("ReflectionMode")], 16, "reflectionMode"], [[io, io.persist, void 0, type.list("IEveChildTransformModifier")], 16, "transformModifiers"], [[io, io.read, type, type.mat4], 16, "worldTransform"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "display"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "castShadow"], [[io, io.notify, io, io.persist, void 0, type.objectRef("Tr2MeshBase")], 16, "mesh"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.quat], 16, "rotation"], [[io, io.persist, type, type.vec3], 16, "translation"], [[io, io.persist, type, type.vec3], 16, "scaling"], [[io, io.persist, type, type.mat4], 16, "localTransform"], [[io, io.persist, void 0, type.list("EveSpaceObjectDecal")], 16, "decals"], [[io, io.persist, type, type.boolean], 16, "staticTransform"], [[io, io.notify, io, io.persist, void 0, type.objectRef("Tr2GrannyAnimation")], 16, "animationUpdater"], [[io, io.persist, void 0, type.list("IEveSpaceObjectAttachment")], 16, "attachments"], [[io, io.persist, void 0, type.list("Tr2Light")], 16, "lights"], [[io, io.persist, type, type.int32, void 0, schema.enum("Tr2Lod")], 16, "lowestLodVisible"], [[io, io.persist, type, type.float32], 16, "minScreenSize"], [[io, io.persist, type, type.float32], 16, "sortValueOffset"], [[io, io.persist, type, type.float32], 16, "sortValueScale"], [[io, io.read, type, type.float32], 16, "currentScreenSize"], [[io, io.read, type, type.float32], 16, "currentInstanceScreenSize"], [[io, io.persist, type, type.boolean], 16, "useSRT"], [[io, io.persist, type, type.boolean], 16, "updateAnimation"], [[io, io.persist, type, type.int32, void 0, schema.enum("Origin")], 16, "origin"], [[void 0, io.rebuild("instanceBuffer"), io, io.persist, void 0, type.array("mat4")], 16, "instanceTransforms"], [[io, io.persist, type, type.string], 16, "sofDna"], [[io, io.persist, type, type.string], 16, "sofParentHullName"], [[io, io.persist, type, type.string], 16, "sofLocatorSetName"], [[io, io.persist, type, type.string], 16, "sofLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "Setup"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetInstanceTransforms"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetInstanceTransforms"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetMesh"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetOrigin"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetScale"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetReflectionMode"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetCastShadow"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetMinScreenSize"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocalToWorldTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddTransformModifier"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddDecal"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddAttachment"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearAttachments"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddLight"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearLights"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsAlwaysOn"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMorphTargetNames"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMorphTargetWeight"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMorphTargetWeight"], [[impl, impl.adapted], 18, "UpdateMorphAnimationBuffer"], [[impl, impl.adapted], 18, "GetMorphTargets"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetSofSourceLocator"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Audio-geometry registration is engine-owned and the animationUpdater branches await the JS animation seam; nothing else remains in Carbon's body.")], 18, "UpdateSyncronous"], [[carbon, carbon.method, void 0, carbon.contextual(["camera"]), impl, impl.adapted], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Bone-fed decal/attachment bounds await the animation seam and the raytracing refresh is engine-owned; the LOD/screen-size math is ported.")], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The decal mesh cache is engine-owned (null placeholder); collection structure is ported.")], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasTransparentBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Frustum and threshold arrive via the duck-typed update context instead of renderer state.")], 18, "IsVisible"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Screen-size LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("shadowPixelSize LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.")], 18, "GetShadowBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reads the Tr2Renderer view-position global; the relocated camera state arrives via the threaded render context.")], 18, "GetSortValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowPerObjectData"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Persistent VS/PS device buffers and bone/morph ring offsets are engine-owned; the record carries the object reference the engine serializer consumes.")], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Overload dispatch by argument shape and a length-1 out array replace C++ overloading and the float& out-param; the shadow math is ported.")], 18, "IsCastingShadow"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChangeLOD"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetLights"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetPickingBatches"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "InitializeAnimation"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "BakeMorphs"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "UnbakeMorphs"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "IsMeshBaked"]], 0, void 0, _EveChildTransform));
42
+ })], [[[io, io.notify, io, io.persist, type, type.int32, void 0, schema.enum("ReflectionMode")], 16, "reflectionMode"], [[io, io.persist, void 0, type.list("IEveChildTransformModifier")], 16, "transformModifiers"], [[io, io.read, type, type.mat4], 16, "worldTransform"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "display"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "castShadow"], [[io, io.notify, io, io.persist, void 0, type.objectRef("Tr2MeshBase")], 16, "mesh"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.quat], 16, "rotation"], [[io, io.persist, type, type.vec3], 16, "translation"], [[io, io.persist, type, type.vec3], 16, "scaling"], [[io, io.persist, type, type.mat4], 16, "localTransform"], [[io, io.persist, void 0, type.list("EveSpaceObjectDecal")], 16, "decals"], [[io, io.persist, type, type.boolean], 16, "staticTransform"], [[io, io.notify, io, io.persist, void 0, type.objectRef("Tr2GrannyAnimation")], 16, "animationUpdater"], [[io, io.persist, void 0, type.list("IEveSpaceObjectAttachment")], 16, "attachments"], [[io, io.persist, void 0, type.list("Tr2Light")], 16, "lights"], [[io, io.persist, type, type.int32, void 0, schema.enum("Tr2Lod")], 16, "lowestLodVisible"], [[io, io.persist, type, type.float32], 16, "minScreenSize"], [[io, io.persist, type, type.float32], 16, "sortValueOffset"], [[io, io.persist, type, type.float32], 16, "sortValueScale"], [[io, io.read, type, type.float32], 16, "currentScreenSize"], [[io, io.read, type, type.float32], 16, "currentInstanceScreenSize"], [[io, io.persist, type, type.boolean], 16, "useSRT"], [[io, io.persist, type, type.boolean], 16, "updateAnimation"], [[io, io.persist, type, type.int32, void 0, schema.enum("Origin")], 16, "origin"], [[void 0, io.rebuild("instanceBuffer"), io, io.persist, void 0, type.array("mat4")], 16, "instanceTransforms"], [[io, io.persist, type, type.string], 16, "sofDna"], [[io, io.persist, type, type.string], 16, "sofParentHullName"], [[io, io.persist, type, type.string], 16, "sofLocatorSetName"], [[io, io.persist, type, type.string], 16, "sofLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "Setup"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetInstanceTransforms"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetInstanceTransforms"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetMesh"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetOrigin"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetScale"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetReflectionMode"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetCastShadow"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetMinScreenSize"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocalToWorldTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddTransformModifier"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddDecal"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddAttachment"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearAttachments"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddLight"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearLights"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsAlwaysOn"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMorphTargetNames"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMorphTargetWeight"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMorphTargetWeight"], [[impl, impl.adapted], 18, "UpdateMorphAnimationBuffer"], [[impl, impl.adapted], 18, "GetMorphTargets"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetSofSourceLocator"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Audio-geometry registration is engine-owned and the animationUpdater branches await the JS animation seam; nothing else remains in Carbon's body.")], 18, "UpdateSyncronous"], [[carbon, carbon.method, void 0, carbon.contextual(["camera"]), impl, impl.adapted], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Bone-fed decal/attachment bounds await the animation seam and the raytracing refresh is engine-owned; the LOD/screen-size math is ported.")], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The decal mesh cache is engine-owned (null placeholder); collection structure is ported.")], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasTransparentBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Frustum and threshold arrive via the duck-typed update context instead of renderer state.")], 18, "IsVisible"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Screen-size LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("shadowPixelSize LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.")], 18, "GetShadowBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reads the Tr2Renderer view-position global; the relocated camera state arrives via the threaded render context.")], 18, "GetSortValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowPerObjectData"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Persistent VS/PS device buffers and bone/morph ring offsets are engine-owned; the record carries the object reference the engine serializer consumes.")], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Overload dispatch by argument shape and a length-1 out array replace C++ overloading and the float& out-param; the shadow math is ported.")], 18, "IsCastingShadow"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChangeLOD"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("GetBoneTransforms (cpp:1285-1307) rides the granny animation updater - awaits the JS animation seam; (null, 0) is passed per the file's UpdateAsyncronous convention.")], 18, "GetLights"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetPickingBatches"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "InitializeAnimation"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "BakeMorphs"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "UnbakeMorphs"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "IsMeshBaked"]], 0, void 0, _EveChildTransform));
43
43
  }
44
44
  constructor(...args) {
45
45
  super(...args);
@@ -663,12 +663,21 @@ new class extends _identity {
663
663
  }
664
664
  }
665
665
 
666
- /** Carbon EveChildMesh::GetLights (cpp:1638-1667): submits m_lights to the
667
- * light manager. Awaits the LightOwner consumption pass (Tr2LightManager
668
- * submission is unported); presence satisfies the "LightOwner" duck
669
- * contract. */
670
- GetLights(..._args) {
671
- throw new Error("EveChildMesh.GetLights is not implemented in CarbonEngineJS.");
666
+ /** Carbon EveChildMesh::GetLights (cpp:1638-1652): BOTH gates (empty
667
+ * lights and display, cpp:1640 - unlike EveSpaceObject2's display-only),
668
+ * then per light AddLight(manager, worldTransform, 1, bones, boneCount)
669
+ * FOLLOWED by SetBrightnessMultiplier(m_activationStrength) - the
670
+ * one-frame-lag order is contract (the submission uses the multiplier
671
+ * stamped on the previous pass; the first pass uses the Tr2Light default
672
+ * 1). */
673
+ GetLights(lightManager) {
674
+ if (!this.lights.length || !this.display) {
675
+ return;
676
+ }
677
+ for (const light of this.lights) {
678
+ light?.AddLight?.(lightManager, this.worldTransform, 1, null, 0);
679
+ light?.SetBrightnessMultiplier?.(this.#activationStrength);
680
+ }
672
681
  }
673
682
 
674
683
  /** Carbon EveChildMesh::GetPickingBatches (cpp:862-889) maps Tr2PickTypes
@@ -1 +1 @@
1
- {"version":3,"file":"EveChildMesh.js","sources":["../../../../src/eve/child/EveChildMesh.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildMesh.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildMesh.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildMesh_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\r\nimport { quat } from \"@carbonenginejs/core-math/quat\";\r\nimport { sph3 } from \"@carbonenginejs/core-math/sph3\";\r\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\r\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { TriBatchType } from \"@carbonenginejs/runtime-const/graphics\";\r\nimport { EveChildTransform, applyTransformModifiers } from \"./EveChildTransform.js\";\r\nimport { Origin } from \"../../generated/eve/child/enums.js\";\r\nimport { ReflectionMode } from \"../../generated/eve/enums.js\";\r\nimport { EveComponentType, ShouldReflect } from \"../EveComponentTypes.js\";\r\nimport { Tr2RenderReason } from \"../../generated/trinityCore/enums.js\";\r\nimport { Tr2Lod } from \"../EveLODHelper.js\";\r\nimport { Tr2PerObjectData } from \"../../trinityCore/Tr2PerObjectData.js\";\r\n\r\n// Module scratch for the hot per-frame visibility/shadow paths (allocation\r\n// rules: copy-into, never allocate per call; child updates run sequentially so\r\n// the scratch is non-reentrant by construction).\r\nconst INVERSE_WORLD_SCRATCH = mat4.create();\r\nconst LOCAL_VIEW_SCRATCH = vec3.create();\r\nconst INSTANCE_SPHERE_SCRATCH = vec4.create();\r\nconst SHADOW_SPHERE_SCRATCH = vec4.create();\r\nconst BOX_CORNER_SCRATCH = vec3.create();\r\nconst BOX_QUERY_SCRATCH = { min: vec3.create(), max: vec3.create() };\r\nconst ZERO_VEC3 = vec3.create();\r\n\r\n\r\n@type.define({ className: \"EveChildMesh\", family: \"eve/child\" })\r\nexport class EveChildMesh extends EveChildTransform\r\n{\r\n #isMorphsBaked = false;\r\n\r\n #morphAnimationBuffer = [];\r\n\r\n #morphAnimationOffsets = {\r\n runtimeEvaluatedOffset: 0,\r\n runtimeEvaluatedCount: 0,\r\n bakedOffset: 0,\r\n bakedCount: 0,\r\n allCount: 0\r\n };\r\n\r\n // Carbon m_isVisible/m_instancesVisible/m_hasUpdated/m_activationStrength:\r\n // runtime-only frame state (never persisted; Carbon keeps them out of the\r\n // Blue surface too).\r\n #isVisible = false;\r\n\r\n #instancesVisible = false;\r\n\r\n #hasUpdated = false;\r\n\r\n #activationStrength = 1;\r\n\r\n // Carbon m_worldBoundingBox/m_worldBoundingSphere: world-space bounds\r\n // refreshed by UpdateAsyncronous; the sphere is invalid while radius <= 0.\r\n #worldBoundsMin = vec3.create();\r\n\r\n #worldBoundsMax = vec3.create();\r\n\r\n #worldBoundsValid = false;\r\n\r\n #worldBoundingSphere = vec4.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"ReflectionMode\")\r\n reflectionMode = 3;\r\n\r\n @io.persist\r\n @type.list(\"IEveChildTransformModifier\")\r\n transformModifiers = [];\r\n\r\n @io.read\r\n @type.mat4\r\n worldTransform = mat4.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n castShadow = false;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.objectRef(\"Tr2MeshBase\")\r\n mesh = null;\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.quat\r\n rotation = quat.create();\r\n\r\n @io.persist\r\n @type.vec3\r\n translation = vec3.create();\r\n\r\n @io.persist\r\n @type.vec3\r\n scaling = vec3.fromValues(1, 1, 1);\r\n\r\n @io.persist\r\n @type.mat4\r\n localTransform = mat4.create();\r\n\r\n @io.persist\r\n @type.list(\"EveSpaceObjectDecal\")\r\n decals = [];\r\n\r\n @io.persist\r\n @type.boolean\r\n staticTransform = false;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.objectRef(\"Tr2GrannyAnimation\")\r\n animationUpdater = null;\r\n\r\n @io.persist\r\n @type.list(\"IEveSpaceObjectAttachment\")\r\n attachments = [];\r\n\r\n @io.persist\r\n @type.list(\"Tr2Light\")\r\n lights = [];\r\n\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Tr2Lod\")\r\n lowestLodVisible = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n minScreenSize = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n sortValueOffset = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n sortValueScale = 1;\r\n\r\n @io.read\r\n @type.float32\r\n currentScreenSize = -1;\r\n\r\n @io.read\r\n @type.float32\r\n currentInstanceScreenSize = -1;\r\n\r\n @io.persist\r\n @type.boolean\r\n useSRT = true;\r\n\r\n @io.persist\r\n @type.boolean\r\n updateAnimation = true;\r\n\r\n // SOF-authored placement/instance values; persisted so the values\r\n // interchange reproduces Carbon's hidden child placement state.\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Origin\")\r\n origin = 0;\r\n\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.array(\"mat4\")\r\n instanceTransforms = [];\r\n\r\n @io.persist\r\n @type.string\r\n sofDna = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofParentHullName = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofLocatorSetName = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofLocatorIndex = \"\";\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n if (this.staticTransform)\r\n {\r\n this.RebuildLocalTransform();\r\n }\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n Setup(scale = null, rotation = null, translation = null, lowestLodVisible = null)\r\n {\r\n super.Setup(scale, rotation, translation, lowestLodVisible);\r\n if (lowestLodVisible !== null && lowestLodVisible !== undefined)\r\n {\r\n this.lowestLodVisible = Number(lowestLodVisible) | 0;\r\n }\r\n return this.localTransform;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetInstanceTransforms(instances)\r\n {\r\n const next = [];\r\n for (const transform of instances ?? [])\r\n {\r\n if (!transform || transform.length !== 16)\r\n {\r\n throw new TypeError(\"EveChildMesh instance transforms must contain 16 values\");\r\n }\r\n next.push(mat4.clone(transform));\r\n }\r\n this.instanceTransforms = next;\r\n return this.instanceTransforms;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetInstanceTransforms()\r\n {\r\n return this.instanceTransforms;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetMesh(mesh)\r\n {\r\n this.mesh = mesh ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetOrigin(origin)\r\n {\r\n this.origin = Number(origin) | 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetScale(scale)\r\n {\r\n vec3.copy(this.scaling, scale);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetReflectionMode(mode)\r\n {\r\n this.reflectionMode = Number(mode) | 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetCastShadow(castShadow)\r\n {\r\n this.castShadow = !!castShadow;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetMinScreenSize(minScreenSize)\r\n {\r\n this.minScreenSize = Number(minScreenSize);\r\n }\r\n\r\n /** Carbon EveChildMesh::GetLocalToWorldTransform (cpp:1047-1050); the\r\n * optional out follows the EveChildInstancedMeshes copy-out shape. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalToWorldTransform(out = null)\r\n {\r\n if (out)\r\n {\r\n return mat4.copy(out, this.worldTransform);\r\n }\r\n return this.worldTransform;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddTransformModifier(modifier)\r\n {\r\n this.transformModifiers.push(modifier);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddDecal(decal)\r\n {\r\n this.decals.push(decal);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddAttachment(attachment)\r\n {\r\n this.attachments.push(attachment);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n ClearAttachments()\r\n {\r\n this.attachments.length = 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddLight(light)\r\n {\r\n this.lights.push(light);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n ClearLights()\r\n {\r\n this.lights.length = 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n IsAlwaysOn()\r\n {\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetShaderOption(name, value)\r\n {\r\n this.mesh?.SetShaderOption?.(name, value);\r\n for (const decal of this.decals)\r\n {\r\n decal?.SetShaderOption?.(name, value);\r\n }\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.SetShaderOption?.(name, value);\r\n }\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetMorphTargetNames()\r\n {\r\n return this.mesh?.GetMorphTargetNames?.() ?? [];\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetMorphTargetWeight(name, weight)\r\n {\r\n this.mesh?.SetMorphTargetWeight?.(name, weight);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetMorphTargetWeight(name)\r\n {\r\n return this.mesh?.GetMorphTargetWeight?.(name) ?? 0;\r\n }\r\n\r\n /** Rebuilds the source-backed indexed morph buffer from manual and animation weights. */\r\n @impl.adapted\r\n UpdateMorphAnimationBuffer()\r\n {\r\n const names = this.mesh?.GetMorphTargetNames?.();\r\n\r\n this.#morphAnimationOffsets = {\r\n runtimeEvaluatedOffset: 0,\r\n runtimeEvaluatedCount: 0,\r\n bakedOffset: 0,\r\n bakedCount: 0,\r\n allCount: 0\r\n };\r\n\r\n if (!Array.isArray(names))\r\n {\r\n this.#morphAnimationBuffer = [];\r\n return 0;\r\n }\r\n\r\n const manual = this.mesh?.GetMorphAnimations?.();\r\n const records = names.map((name, index) => ({\r\n index,\r\n weight: ReadMorphWeight(\r\n ReadNamedMorph(manual, name) ?? this.mesh?.GetMorphTargetWeight?.(name) ?? 0,\r\n name,\r\n \"mesh\"\r\n ),\r\n baked: !!(this.mesh?.IsBakedMorph?.(index)\r\n ?? this.mesh?.GetBakedMorphTarget?.(name)\r\n ?? false)\r\n }));\r\n\r\n if (this.animationUpdater?.IsInitialized?.())\r\n {\r\n const animated = this.animationUpdater.GetMorphAnimations?.();\r\n\r\n for (const record of records)\r\n {\r\n const name = names[record.index];\r\n const value = ReadNamedMorph(animated, name);\r\n\r\n if (value !== undefined)\r\n {\r\n record.weight = ReadMorphWeight(value, name, \"animation\");\r\n }\r\n }\r\n }\r\n\r\n const runtime = [];\r\n const baked = [];\r\n const inactive = [];\r\n\r\n for (const record of records)\r\n {\r\n if (record.weight >= 0.001)\r\n {\r\n (record.baked ? baked : runtime).push(record);\r\n }\r\n else\r\n {\r\n inactive.push(record);\r\n }\r\n }\r\n\r\n this.#morphAnimationBuffer = [ ...runtime, ...baked, ...inactive ];\r\n this.#morphAnimationOffsets.runtimeEvaluatedCount = runtime.length;\r\n this.#morphAnimationOffsets.bakedOffset = runtime.length;\r\n this.#morphAnimationOffsets.bakedCount = baked.length;\r\n this.#morphAnimationOffsets.allCount = runtime.length + baked.length;\r\n return this.#morphAnimationOffsets.allCount;\r\n }\r\n\r\n /** Returns detached active indexed morph records for the native filter. */\r\n @impl.adapted\r\n GetMorphTargets(filter = 2)\r\n {\r\n const normalized = NormalizeMorphFilter(filter);\r\n let offset = 0;\r\n let count = 0;\r\n\r\n if (normalized === 2)\r\n {\r\n count = this.#morphAnimationOffsets.allCount;\r\n }\r\n else if (normalized === 0)\r\n {\r\n offset = this.#isMorphsBaked\r\n ? this.#morphAnimationOffsets.runtimeEvaluatedOffset\r\n : 0;\r\n count = this.#isMorphsBaked\r\n ? this.#morphAnimationOffsets.runtimeEvaluatedCount\r\n : this.#morphAnimationOffsets.allCount;\r\n }\r\n else\r\n {\r\n offset = this.#morphAnimationOffsets.bakedOffset;\r\n count = this.#morphAnimationOffsets.bakedCount;\r\n }\r\n\r\n return this.#morphAnimationBuffer.slice(offset, offset + count)\r\n .map(value => ({ index: value.index, weight: value.weight }));\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetSofSourceLocator()\r\n {\r\n return null;\r\n }\r\n\r\n /**\r\n * Sync-side frame update (Carbon EveChildMesh::UpdateSyncronous,\r\n * cpp:1002-1045). Carbon's body is entirely audio-geometry registration\r\n * (cpp:1004-1010, 1044 - engine/audio-owned, omitted) plus animationUpdater\r\n * re-binding and PrePhysicsAnimation stepping (cpp:1011-1042 - skipped: the\r\n * JS animation seam is absent, there is no Tr2GrannyAnimation runtime), so\r\n * the port is a documented frame-contract no-op.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Audio-geometry registration is engine-owned and the animationUpdater branches await the JS animation seam; nothing else remains in Carbon's body.\")\r\n UpdateSyncronous(_updateContext, _params)\r\n {\r\n }\r\n\r\n /**\r\n * Per-frame async update (Carbon EveChildMesh::UpdateAsyncronous,\r\n * cpp:903-1000): rebuild the world transform from the parent, fold the\r\n * transform modifiers over it, store the activation strength, refresh the\r\n * attachment lights, the morph buffer, and the world bounds. The GPU ring\r\n * buffer advance/per-object-data invalidation (cpp:905-909), audio geometry\r\n * (cpp:920-930), parent VS/PS struct refresh (cpp:932-960), and the skinned\r\n * GetBounds overload are not modelled, hence @impl.adapted.\r\n * @param {Object} updateContext - frame context (EveUpdateContext), threaded to modifiers\r\n * @param {EveChildUpdateParams} params - localToWorldTransform + boneCount/bones\r\n * @returns {Float32Array} worldTransform\r\n */\r\n @carbon.method\r\n @carbon.contextual([\"camera\"])\r\n @impl.adapted\r\n UpdateAsyncronous(updateContext, params)\r\n {\r\n const parentTransform = params?.localToWorldTransform;\r\n\r\n if (parentTransform && parentTransform.length === 16)\r\n {\r\n this.UpdateTransform(parentTransform);\r\n }\r\n\r\n applyTransformModifiers(\r\n this,\r\n updateContext,\r\n params?.boneCount ?? 0,\r\n params?.bones ?? null\r\n );\r\n\r\n this.#activationStrength = Number(params?.activationStrength ?? 1);\r\n\r\n // Carbon (cpp:962-970): attachments refresh their lights from the updated\r\n // world transform. Bones come from GetBoneTransforms (animationUpdater) -\r\n // null until the JS animation seam exists.\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.UpdateLights?.(this.worldTransform, null, 0, this.#activationStrength, 0);\r\n }\r\n\r\n this.UpdateMorphAnimationBuffer();\r\n\r\n // Carbon (cpp:974-997): world AABB from the mesh bounds, world sphere\r\n // enclosing it. The skinned GetBounds overload (animation transforms +\r\n // morph targets, cpp:977-982) awaits the animation seam; Tr2MeshBase::\r\n // GetBounds itself is a recorded gap (CARBON-PARITY-REVIEW-2026-07-23.md\r\n // section 2.3), hence the duck call (Tr2InstancedMesh implements it).\r\n this.#worldBoundsValid = false;\r\n const bounds = this.mesh?.GetBounds?.();\r\n\r\n if (bounds?.min && bounds?.max)\r\n {\r\n this.#worldBoundsMin[0] = this.#worldBoundsMin[1] = this.#worldBoundsMin[2] = Infinity;\r\n this.#worldBoundsMax[0] = this.#worldBoundsMax[1] = this.#worldBoundsMax[2] = -Infinity;\r\n for (let index = 0; index < 8; index++)\r\n {\r\n vec3.set(\r\n BOX_CORNER_SCRATCH,\r\n index & 1 ? bounds.max[0] : bounds.min[0],\r\n index & 2 ? bounds.max[1] : bounds.min[1],\r\n index & 4 ? bounds.max[2] : bounds.min[2]\r\n );\r\n vec3.transformMat4(BOX_CORNER_SCRATCH, BOX_CORNER_SCRATCH, this.worldTransform);\r\n vec3.min(this.#worldBoundsMin, this.#worldBoundsMin, BOX_CORNER_SCRATCH);\r\n vec3.max(this.#worldBoundsMax, this.#worldBoundsMax, BOX_CORNER_SCRATCH);\r\n }\r\n this.#worldBoundsValid = true;\r\n sph3.fromBounds(this.#worldBoundingSphere, this.#worldBoundsMin, this.#worldBoundsMax);\r\n }\r\n else\r\n {\r\n sph3.set(this.#worldBoundingSphere, 0, 0, 0, 0);\r\n }\r\n\r\n this.#hasUpdated = true;\r\n return this.worldTransform;\r\n }\r\n\r\n /**\r\n * Frame visibility + LOD state (Carbon EveChildMesh::UpdateVisibility,\r\n * cpp:366-463): screen size via the frustum, invLodFactor scaling, the\r\n * minScreenSize/lowestLodVisible gates, the per-instance visibility gate,\r\n * and the attachment/decal visibility fan-out. Carbon recomputes the local\r\n * mesh bounds here (cpp:380-394) but consumes only the world sphere/box\r\n * computed in UpdateAsyncronous, so the dead recompute is skipped. The\r\n * raytracing branch (cpp:450-462) is engine-owned and omitted.\r\n * @param {Object} updateContext - frame context (frustum + invLodFactor ducks)\r\n * @param {Float32Array} _parentTransform\r\n * @param {Number} parentLod - parent Tr2Lod level\r\n * @returns {Boolean} isVisible\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Bone-fed decal/attachment bounds await the animation seam and the raytracing refresh is engine-owned; the LOD/screen-size math is ported.\")\r\n UpdateVisibility(updateContext, _parentTransform = null, parentLod = Tr2Lod.TR2_LOD_HIGH)\r\n {\r\n this.#isVisible = false;\r\n this.currentScreenSize = -1;\r\n this.#instancesVisible = false;\r\n this.currentInstanceScreenSize = -1;\r\n\r\n if (!this.#hasUpdated)\r\n {\r\n return false;\r\n }\r\n\r\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\r\n const invLodFactor = Number(updateContext?.GetInvLodFactor?.() ?? updateContext?.invLodFactor) || 1;\r\n\r\n if (this.mesh)\r\n {\r\n this.currentScreenSize = Number(frustum?.GetPixelSizeAccross?.(this.#worldBoundingSphere) ?? Infinity) || 0;\r\n\r\n // Cached Tr2InstancedMesh downcast in Carbon (m_instancedMesh); the JS\r\n // port duck-types the instanced surface instead.\r\n const instanced = typeof this.mesh.GetInstanceBoundsClosestToPoint === \"function\";\r\n let instanceBounds = null;\r\n\r\n if (instanced)\r\n {\r\n // Carbon: TransformCoord(frustum.m_viewPos, Inverse(m_worldTransform))\r\n // - a single-matrix point transform (no composition; TransformCoord\r\n // maps to vec3.transformMat4 unchanged per the math conventions).\r\n if (!mat4.invert(INVERSE_WORLD_SCRATCH, this.worldTransform))\r\n {\r\n mat4.identity(INVERSE_WORLD_SCRATCH);\r\n }\r\n const viewPos = frustum?.m_viewPos ?? frustum?.viewPos ?? frustum?.GetViewPosition?.() ?? ZERO_VEC3;\r\n vec3.transformMat4(LOCAL_VIEW_SCRATCH, viewPos, INVERSE_WORLD_SCRATCH);\r\n instanceBounds = this.mesh.GetInstanceBoundsClosestToPoint(LOCAL_VIEW_SCRATCH);\r\n }\r\n\r\n if (instanceBounds)\r\n {\r\n // Carbon: instanceBounds.Transform(m_worldTransform) - single-matrix\r\n // sphere transform, ported via sph3.transformMat4.\r\n sph3.set(\r\n INSTANCE_SPHERE_SCRATCH,\r\n instanceBounds.center[0],\r\n instanceBounds.center[1],\r\n instanceBounds.center[2],\r\n instanceBounds.radius\r\n );\r\n sph3.transformMat4(INSTANCE_SPHERE_SCRATCH, INSTANCE_SPHERE_SCRATCH, this.worldTransform);\r\n this.currentInstanceScreenSize = Number(frustum?.GetPixelSizeAccross?.(INSTANCE_SPHERE_SCRATCH) ?? Infinity) || 0;\r\n this.mesh.UseWithScreenSize?.(this.currentInstanceScreenSize, INSTANCE_SPHERE_SCRATCH[3]);\r\n }\r\n else\r\n {\r\n // Carbon uses std::numeric_limits<float>::max(); Infinity keeps the\r\n // instance gate permanently open the same way.\r\n this.currentInstanceScreenSize = Infinity;\r\n this.mesh.UseWithScreenSize?.(this.currentScreenSize, this.#worldBoundingSphere[3]);\r\n }\r\n\r\n this.currentScreenSize *= invLodFactor;\r\n this.currentInstanceScreenSize *= invLodFactor;\r\n\r\n BOX_QUERY_SCRATCH.min = this.#worldBoundsMin;\r\n BOX_QUERY_SCRATCH.max = this.#worldBoundsMax;\r\n const boxVisible = this.#worldBoundsValid &&\r\n (frustum?.IsBoxVisible ? !!frustum.IsBoxVisible(BOX_QUERY_SCRATCH) : true);\r\n\r\n if (boxVisible)\r\n {\r\n this.#isVisible = parentLod >= this.lowestLodVisible && this.currentScreenSize >= this.minScreenSize;\r\n this.#instancesVisible = this.#isVisible &&\r\n this.currentInstanceScreenSize >= EveChildMesh.#instanceScreenSizeThreshold;\r\n }\r\n }\r\n\r\n // Carbon (cpp:427-435): attachments always refresh visibility; bones from\r\n // GetBoneTransforms await the animation seam.\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.UpdateVisibility?.(updateContext, this.worldTransform, null, 0);\r\n }\r\n\r\n if (this.#isVisible)\r\n {\r\n for (const decal of this.decals)\r\n {\r\n // Carbon (cpp:441-446) feeds animated bone matrices to the decal first\r\n // - skipped until the JS animation seam exists. Carbon passes\r\n // &m_parentData (per-object shading struct, GPU seam); the owning\r\n // child stands in as the duck-typed parent.\r\n decal?.UpdateVisibility?.(updateContext, this);\r\n }\r\n }\r\n\r\n return this.#isVisible;\r\n }\r\n\r\n /**\r\n * Collects this child (and its decals) as renderables (Carbon\r\n * EveChildMesh::GetRenderables, cpp:571-616): instanced meshes contribute\r\n * only while the per-instance gate passed; decals ride along through their\r\n * duck-typed renderable collectors (mesh cache is engine-owned, passed null\r\n * as in EveSpaceObject2.GetRenderables).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The decal mesh cache is engine-owned (null placeholder); collection structure is ported.\")\r\n GetRenderables(out = [])\r\n {\r\n if (!this.#isVisible)\r\n {\r\n return out;\r\n }\r\n\r\n const instanced = typeof this.mesh?.GetInstanceBoundsClosestToPoint === \"function\";\r\n\r\n if (instanced)\r\n {\r\n if (this.#instancesVisible)\r\n {\r\n out.push(this);\r\n if (this.decals.length && this.mesh.GetGeometryResource?.())\r\n {\r\n for (const decal of this.decals)\r\n {\r\n decal?.GetInstancedRenderables?.(out, null, this.mesh, this.currentInstanceScreenSize);\r\n }\r\n }\r\n }\r\n }\r\n else\r\n {\r\n out.push(this);\r\n const geometryResource = this.mesh?.GetGeometryResource?.();\r\n if (this.decals.length && geometryResource)\r\n {\r\n for (const decal of this.decals)\r\n {\r\n decal?.GetRenderables?.(out, null, geometryResource, this.currentScreenSize);\r\n }\r\n }\r\n }\r\n\r\n return out;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetBoundingSphere (cpp:618-627): the realized world\r\n * sphere, valid only after an update produced bounds (radius > 0). */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(out = vec4.create(), _query = 0)\r\n {\r\n if (this.#worldBoundingSphere[3] > 0)\r\n {\r\n vec4.copy(out, this.#worldBoundingSphere);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::HasTransparentBatches (cpp:629-637). */\r\n @carbon.method\r\n @impl.implemented\r\n HasTransparentBatches()\r\n {\r\n if (this.display && this.mesh)\r\n {\r\n return (this.mesh.GetAreas?.(TriBatchType.TRIBATCHTYPE_TRANSPARENT)?.length ?? 0) > 0;\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::IsVisible (cpp:639-650): sphere-in-frustum plus the\r\n * estimated pixel size against the context visibility threshold. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Frustum and threshold arrive via the duck-typed update context instead of renderer state.\")\r\n IsVisible(updateContext)\r\n {\r\n if (this.#worldBoundingSphere[3] > 0)\r\n {\r\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\r\n if (frustum?.IsSphereVisible?.(this.#worldBoundingSphere) !== false)\r\n {\r\n const method = frustum?.GetPixelSizeAccrossEst ?? frustum?.GetPixelSizeAccross;\r\n const size = Number(typeof method === \"function\" ? method.call(frustum, this.#worldBoundingSphere) : 0) || 0;\r\n const threshold = Number(updateContext?.GetVisibilityThreshold?.() ?? updateContext?.visibilityThreshold) || 0;\r\n return size >= threshold;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetBatches (cpp:652-670): the mesh delegates per\r\n * batch type and activated attachments recurse. Carbon also passes\r\n * min(currentInstanceScreenSize, currentScreenSize) for LOD selection and a\r\n * reverse-winding flag from Determinant(m_worldTransform) < 0; both are\r\n * resolved by the engine at batch realization in the GPU-free port.\r\n * Returns whether any batch was committed (JS addition; Carbon returns\r\n * void). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Screen-size LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.\")\r\n GetBatches(batches, batchType, perObjectData, reason = Tr2RenderReason.TR2RENDERREASON_NORMAL)\r\n {\r\n if (!this.display)\r\n {\r\n return false;\r\n }\r\n\r\n let committed = false;\r\n\r\n if (this.mesh)\r\n {\r\n committed = this.mesh.GetBatches(batches, this.mesh.GetAreas(batchType), perObjectData) === true;\r\n }\r\n\r\n if (this.#activationStrength !== 0)\r\n {\r\n for (const attachment of this.attachments)\r\n {\r\n committed = attachment?.GetBatches?.(batches, batchType, perObjectData, reason) === true || committed;\r\n }\r\n }\r\n\r\n return committed;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetShadowBatches (cpp:672-681): the OPAQUE areas\r\n * only, gated on display/mesh/hasUpdated. shadowPixelSize and the\r\n * reverse-winding flag are engine-resolved at realization. Returns whether\r\n * any batch was committed (JS addition; Carbon returns void). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"shadowPixelSize LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.\")\r\n GetShadowBatches(batches, perObjectData, _shadowPixelSize)\r\n {\r\n if (this.display && this.mesh && this.#hasUpdated)\r\n {\r\n return this.mesh.GetBatches(batches, this.mesh.GetAreas(TriBatchType.TRIBATCHTYPE_OPAQUE), perObjectData) === true;\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetSortValue (cpp:787-792): view distance scaled by\r\n * sortValueScale plus sortValueOffset. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon reads the Tr2Renderer view-position global; the relocated camera state arrives via the threaded render context.\")\r\n GetSortValue(renderContext = null)\r\n {\r\n const viewPosition = renderContext?.GetViewPosition?.();\r\n const x = (viewPosition?.[0] ?? 0) - this.worldTransform[12];\r\n const y = (viewPosition?.[1] ?? 0) - this.worldTransform[13];\r\n const z = (viewPosition?.[2] ?? 0) - this.worldTransform[14];\r\n return Math.hypot(x, y, z) * this.sortValueScale + this.sortValueOffset;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetShadowPerObjectData (cpp:794-797) forwards the\r\n * shadow pass to the same per-object record. */\r\n @carbon.method\r\n @impl.implemented\r\n GetShadowPerObjectData(accumulator = null)\r\n {\r\n return this.GetPerObjectData(accumulator);\r\n }\r\n\r\n /** Carbon EveChildMesh::GetPerObjectData (cpp:799-843) uploads bone/morph\r\n * ring-buffer offsets and allocates Tr2PerObjectDataWithPersistentBuffers;\r\n * those fills are GPU ring-buffer state, so the GPU-free record carries the\r\n * live object reference for the engine serializer to pull current values at\r\n * realization (mirrors EveSpaceObject2.GetPerObjectData). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Persistent VS/PS device buffers and bone/morph ring offsets are engine-owned; the record carries the object reference the engine serializer consumes.\")\r\n GetPerObjectData(accumulator = null)\r\n {\r\n const data = typeof accumulator?.Allocate === \"function\"\r\n ? accumulator.Allocate(Tr2PerObjectData)\r\n : new Tr2PerObjectData();\r\n data.object = this;\r\n return data;\r\n }\r\n\r\n /**\r\n * Carbon's two IsCastingShadow overloads, dispatched on the second argument:\r\n * a position vector (length >= 3) selects the sphere-overlap overload\r\n * (cpp:338-364); anything else is the shadow-frustum overload (cpp:295-336),\r\n * whose Carbon out-param float& sizeInShadow becomes the optional trailing\r\n * length-1 array (out-params last).\r\n * @param {Object} cameraFrustum\r\n * @param {Object|Float32Array} shadowFrustumOrPosition\r\n * @param {Number} renderReasonOrRadius\r\n * @param {Array|Number} sizeInShadowOutOrRenderReason\r\n * @returns {Boolean}\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Overload dispatch by argument shape and a length-1 out array replace C++ overloading and the float& out-param; the shadow math is ported.\")\r\n IsCastingShadow(cameraFrustum, shadowFrustumOrPosition, renderReasonOrRadius, sizeInShadowOutOrRenderReason = null)\r\n {\r\n if (!this.display || !this.castShadow || !this.#hasUpdated)\r\n {\r\n return false;\r\n }\r\n\r\n const positionOverload = typeof shadowFrustumOrPosition?.length === \"number\" &&\r\n shadowFrustumOrPosition.length >= 3;\r\n const renderReason = positionOverload\r\n ? Number(sizeInShadowOutOrRenderReason ?? Tr2RenderReason.TR2RENDERREASON_NORMAL)\r\n : Number(renderReasonOrRadius ?? Tr2RenderReason.TR2RENDERREASON_NORMAL);\r\n\r\n if (renderReason === Tr2RenderReason.TR2RENDERREASON_REFLECTION &&\r\n !ShouldReflect(this.reflectionMode))\r\n {\r\n return false;\r\n }\r\n\r\n if (positionOverload)\r\n {\r\n // Carbon (cpp:338-364): squared distance between the world sphere and\r\n // the query sphere against their combined radius.\r\n if (!this.GetBoundingSphere(SHADOW_SPHERE_SCRATCH))\r\n {\r\n return false;\r\n }\r\n const position = shadowFrustumOrPosition;\r\n const radius = Number(renderReasonOrRadius) || 0;\r\n const dx = SHADOW_SPHERE_SCRATCH[0] - position[0];\r\n const dy = SHADOW_SPHERE_SCRATCH[1] - position[1];\r\n const dz = SHADOW_SPHERE_SCRATCH[2] - position[2];\r\n const combined = radius + SHADOW_SPHERE_SCRATCH[3];\r\n return dx * dx + dy * dy + dz * dz - combined * combined < 0;\r\n }\r\n\r\n // Carbon (cpp:295-336): shadow-frustum visibility, then the size in the\r\n // shadow map from the instance sphere nearest the shadow eye (falling back\r\n // to the whole world sphere).\r\n const shadowFrustum = shadowFrustumOrPosition;\r\n const sizeOut = sizeInShadowOutOrRenderReason;\r\n if (sizeOut)\r\n {\r\n sizeOut[0] = 0;\r\n }\r\n\r\n if (this.#worldBoundingSphere[3] <= 0)\r\n {\r\n return false;\r\n }\r\n\r\n let sizeInShadow = 0;\r\n if (shadowFrustum?.IsVisible?.(cameraFrustum, this.#worldBoundingSphere))\r\n {\r\n let sphere = this.#worldBoundingSphere;\r\n if (typeof this.mesh?.GetInstanceBoundsClosestToPoint === \"function\")\r\n {\r\n // Carbon: TransformCoord(shadowFrustum.GetEyePos(), Inverse(\r\n // m_worldTransform)) - single-matrix point transform (no composition).\r\n if (!mat4.invert(INVERSE_WORLD_SCRATCH, this.worldTransform))\r\n {\r\n mat4.identity(INVERSE_WORLD_SCRATCH);\r\n }\r\n const eyePos = shadowFrustum?.GetEyePos?.() ?? ZERO_VEC3;\r\n vec3.transformMat4(LOCAL_VIEW_SCRATCH, eyePos, INVERSE_WORLD_SCRATCH);\r\n const instanceBounds = this.mesh.GetInstanceBoundsClosestToPoint(LOCAL_VIEW_SCRATCH);\r\n if (instanceBounds)\r\n {\r\n // Carbon: instanceBounds.Transform(m_worldTransform) - single-matrix\r\n // sphere transform.\r\n sph3.set(\r\n INSTANCE_SPHERE_SCRATCH,\r\n instanceBounds.center[0],\r\n instanceBounds.center[1],\r\n instanceBounds.center[2],\r\n instanceBounds.radius\r\n );\r\n sph3.transformMat4(INSTANCE_SPHERE_SCRATCH, INSTANCE_SPHERE_SCRATCH, this.worldTransform);\r\n sphere = INSTANCE_SPHERE_SCRATCH;\r\n }\r\n }\r\n sizeInShadow = Number(shadowFrustum?.GetSizeInShadow?.(sphere)) || 0;\r\n }\r\n\r\n if (sizeOut)\r\n {\r\n sizeOut[0] = sizeInShadow;\r\n }\r\n return sizeInShadow > 5;\r\n }\r\n\r\n /** Carbon EveChildMesh::ChangeLOD (cpp:1052-1054) is an intentional no-op. */\r\n @carbon.method\r\n @impl.implemented\r\n ChangeLOD(_lod)\r\n {\r\n }\r\n\r\n /** Carbon EveChildMesh::RegisterComponents (cpp:239-269): LightOwner when\r\n * lights are authored; ReflectionRenderable (ShouldReflect) and ShadowCaster\r\n * (castShadow) only when a mesh is present; then forwards the attachments.\r\n * Gate m_display. \"MeshMorph\" stays OUT-OF-BAND: Carbon registers it at\r\n * baked-morph need inside BakeMorphs (cpp:1404-1409), not here - the JS\r\n * BakeMorphs stub is the site that would register it when the GPU morph\r\n * bake is ported. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.display)\r\n {\r\n if (this.lights.length)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n\r\n if (this.mesh !== null)\r\n {\r\n if (ShouldReflect(this.reflectionMode))\r\n {\r\n registry.RegisterComponent(EveComponentType.ReflectionRenderable, this);\r\n }\r\n if (this.castShadow)\r\n {\r\n registry.RegisterComponent(EveComponentType.ShadowCaster, this);\r\n }\r\n }\r\n\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.Register?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildMesh::UnRegisterComponents (cpp:275-290): forwards the\r\n * attachments only (own components were already removed by\r\n * EveEntity::UnRegister, EveEntity.cpp:90); no display re-check.\r\n * UnregisterAudioGeometry (cpp:277) is audio-engine-owned and unported. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.UnRegister?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildMesh::GetLights (cpp:1638-1667): submits m_lights to the\r\n * light manager. Awaits the LightOwner consumption pass (Tr2LightManager\r\n * submission is unported); presence satisfies the \"LightOwner\" duck\r\n * contract. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetLights(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.GetLights is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon EveChildMesh::GetPickingBatches (cpp:862-889) maps Tr2PickTypes\r\n * flags onto batch-type collections with transparent/additive special\r\n * casing; the pick-type flag enum is not yet ported, so the surface fails\r\n * loudly rather than mis-collecting. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetPickingBatches(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.GetPickingBatches is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon EveChildMesh::InitializeAnimation (cpp:217-232) wires the\r\n * animationUpdater to the mesh geometry resource; awaits the JS animation\r\n * seam (no Tr2GrannyAnimation runtime). */\r\n @carbon.method\r\n @impl.notImplemented\r\n InitializeAnimation(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.InitializeAnimation is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon BakeMorphs runs the merge-morphs GPU compute pass; GPU-owned. */\r\n @carbon.method\r\n @impl.notImplemented\r\n BakeMorphs(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.BakeMorphs is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon UnbakeMorphs releases the baked-morph GPU allocation; GPU-owned. */\r\n @carbon.method\r\n @impl.notImplemented\r\n UnbakeMorphs(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.UnbakeMorphs is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon IsMeshBaked reads the baked-morph GPU allocation state; GPU-owned. */\r\n @carbon.method\r\n @impl.notImplemented\r\n IsMeshBaked(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.IsMeshBaked is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n // Carbon s_instanceScreenSizeThreshold (EveChildMesh.cpp:22).\r\n static #instanceScreenSizeThreshold = 1;\r\n\r\n static Origin = Origin;\r\n\r\n static ReflectionMode = ReflectionMode;\r\n\r\n static Tr2Lod = Tr2Lod;\r\n\r\n}\r\n\r\nfunction ReadNamedMorph(values, name)\r\n{\r\n if (values instanceof Map)\r\n {\r\n return values.has(name) ? values.get(name) : undefined;\r\n }\r\n\r\n if (values && typeof values === \"object\" && Object.hasOwn(values, name))\r\n {\r\n return values[name];\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction ReadMorphWeight(value, name, source)\r\n{\r\n const weight = Number(value && typeof value === \"object\" ? value.weight : value);\r\n\r\n if (!Number.isFinite(weight))\r\n {\r\n throw new TypeError(`EveChildMesh ${source} morph target \"${name}\" weight must be finite`);\r\n }\r\n\r\n return weight;\r\n}\r\n\r\nfunction NormalizeMorphFilter(value)\r\n{\r\n if (typeof value === \"string\")\r\n {\r\n const normalized = value.toLowerCase();\r\n if (normalized === \"runtime\" || normalized === \"runtime_evaluated\") return 0;\r\n if (normalized === \"baked\") return 1;\r\n if (normalized === \"all\") return 2;\r\n }\r\n\r\n const filter = Number(value);\r\n if (filter === 0 || filter === 1 || filter === 2) return filter;\r\n throw new TypeError(`Unsupported EveChildMesh morph target filter \"${value}\"`);\r\n}\r\n"],"names":["INVERSE_WORLD_SCRATCH","mat4","create","LOCAL_VIEW_SCRATCH","vec3","INSTANCE_SPHERE_SCRATCH","vec4","SHADOW_SPHERE_SCRATCH","BOX_CORNER_SCRATCH","BOX_QUERY_SCRATCH","min","max","ZERO_VEC3","_EveChildMesh","_identity","EveChildMesh","EveChildTransform","e","_init_reflectionMode","_init_extra_reflectionMode","_init_transformModifiers","_init_extra_transformModifiers","_init_worldTransform","_init_extra_worldTransform","_init_display","_init_extra_display","_init_castShadow","_init_extra_castShadow","_init_mesh","_init_extra_mesh","_init_name","_init_extra_name","_init_rotation","_init_extra_rotation","_init_translation","_init_extra_translation","_init_scaling","_init_extra_scaling","_init_localTransform","_init_extra_localTransform","_init_decals","_init_extra_decals","_init_staticTransform","_init_extra_staticTransform","_init_animationUpdater","_init_extra_animationUpdater","_init_attachments","_init_extra_attachments","_init_lights","_init_extra_lights","_init_lowestLodVisible","_init_extra_lowestLodVisible","_init_minScreenSize","_init_extra_minScreenSize","_init_sortValueOffset","_init_extra_sortValueOffset","_init_sortValueScale","_init_extra_sortValueScale","_init_currentScreenSize","_init_extra_currentScreenSize","_init_currentInstanceScreenSize","_init_extra_currentInstanceScreenSize","_init_useSRT","_init_extra_useSRT","_init_updateAnimation","_init_extra_updateAnimation","_init_origin","_init_extra_origin","_init_instanceTransforms","_init_extra_instanceTransforms","_init_sofDna","_init_extra_sofDna","_init_sofParentHullName","_init_extra_sofParentHullName","_init_sofLocatorSetName","_init_extra_sofLocatorSetName","_init_sofLocatorIndex","_init_extra_sofLocatorIndex","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","schema","enum","list","read","boolean","objectRef","string","quat","float32","rebuild","array","carbon","method","impl","adapted","implemented","reason","contextual","notImplemented","constructor","args","runtimeEvaluatedOffset","runtimeEvaluatedCount","bakedOffset","bakedCount","allCount","reflectionMode","transformModifiers","worldTransform","display","castShadow","mesh","name","rotation","translation","scaling","fromValues","localTransform","decals","staticTransform","animationUpdater","attachments","lights","lowestLodVisible","minScreenSize","sortValueOffset","sortValueScale","currentScreenSize","currentInstanceScreenSize","useSRT","updateAnimation","origin","instanceTransforms","sofDna","sofParentHullName","sofLocatorSetName","sofLocatorIndex","Initialize","RebuildLocalTransform","Setup","scale","undefined","Number","SetInstanceTransforms","instances","next","transform","length","TypeError","push","clone","GetInstanceTransforms","SetMesh","SetOrigin","SetScale","copy","SetReflectionMode","mode","SetCastShadow","SetMinScreenSize","GetLocalToWorldTransform","out","GetName","SetName","String","AddTransformModifier","modifier","AddDecal","decal","AddAttachment","attachment","ClearAttachments","AddLight","light","ClearLights","IsAlwaysOn","SetShaderOption","value","GetMorphTargetNames","SetMorphTargetWeight","weight","GetMorphTargetWeight","UpdateMorphAnimationBuffer","names","Array","isArray","manual","GetMorphAnimations","records","map","index","ReadMorphWeight","ReadNamedMorph","baked","IsBakedMorph","GetBakedMorphTarget","IsInitialized","animated","record","runtime","inactive","GetMorphTargets","filter","normalized","NormalizeMorphFilter","offset","count","slice","GetSofSourceLocator","UpdateSyncronous","_updateContext","_params","UpdateAsyncronous","updateContext","params","parentTransform","localToWorldTransform","UpdateTransform","applyTransformModifiers","boneCount","bones","activationStrength","UpdateLights","bounds","GetBounds","Infinity","set","transformMat4","sph3","fromBounds","UpdateVisibility","_parentTransform","parentLod","Tr2Lod","TR2_LOD_HIGH","frustum","GetFrustum","invLodFactor","GetInvLodFactor","GetPixelSizeAccross","instanced","GetInstanceBoundsClosestToPoint","instanceBounds","invert","identity","viewPos","m_viewPos","GetViewPosition","center","radius","UseWithScreenSize","boxVisible","IsBoxVisible","GetRenderables","GetGeometryResource","GetInstancedRenderables","geometryResource","GetBoundingSphere","_query","HasTransparentBatches","GetAreas","TriBatchType","TRIBATCHTYPE_TRANSPARENT","IsVisible","IsSphereVisible","GetPixelSizeAccrossEst","size","call","threshold","GetVisibilityThreshold","visibilityThreshold","GetBatches","batches","batchType","perObjectData","Tr2RenderReason","TR2RENDERREASON_NORMAL","committed","GetShadowBatches","_shadowPixelSize","TRIBATCHTYPE_OPAQUE","GetSortValue","renderContext","viewPosition","x","y","z","Math","hypot","GetShadowPerObjectData","accumulator","GetPerObjectData","data","Allocate","Tr2PerObjectData","object","IsCastingShadow","cameraFrustum","shadowFrustumOrPosition","renderReasonOrRadius","sizeInShadowOutOrRenderReason","positionOverload","renderReason","TR2RENDERREASON_REFLECTION","ShouldReflect","position","dx","dy","dz","combined","shadowFrustum","sizeOut","sizeInShadow","sphere","eyePos","GetEyePos","GetSizeInShadow","ChangeLOD","_lod","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","ReflectionRenderable","ShadowCaster","Register","UnRegisterComponents","UnRegister","GetLights","_args","Error","GetPickingBatches","InitializeAnimation","BakeMorphs","UnbakeMorphs","IsMeshBaked","Origin","ReflectionMode","values","Map","has","get","Object","hasOwn","source","isFinite","toLowerCase"],"mappings":";;;;;;;;;;;;;;;;;;AAkBA;AACA;AACA;AACA,MAAMA,qBAAqB,GAAGC,IAAI,CAACC,MAAM,EAAE;AAC3C,MAAMC,kBAAkB,GAAGC,IAAI,CAACF,MAAM,EAAE;AACxC,MAAMG,uBAAuB,GAAGC,IAAI,CAACJ,MAAM,EAAE;AAC7C,MAAMK,qBAAqB,GAAGD,IAAI,CAACJ,MAAM,EAAE;AAC3C,MAAMM,kBAAkB,GAAGJ,IAAI,CAACF,MAAM,EAAE;AACxC,MAAMO,iBAAiB,GAAG;AAAEC,EAAAA,GAAG,EAAEN,IAAI,CAACF,MAAM,EAAE;AAAES,EAAAA,GAAG,EAAEP,IAAI,CAACF,MAAM;AAAG,CAAC;AACpE,MAAMU,SAAS,GAAGR,IAAI,CAACF,MAAM,EAAE;AAAC,IAAAW;AAAA,IAAA,cAAAC,SAAA,CAAA;AAAA,EAAA,QAGhC,MAAAC,YAAA,SACkCC,kBAAiB,CACnD;AAAA,IAAA;AAAA,MAAA,CAAA;QAAAC,CAAA,EAAA,CAAAC,oBAAA,EAAAC,0BAAA,EAAAC,wBAAA,EAAAC,8BAAA,EAAAC,oBAAA,EAAAC,0BAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,oBAAA,EAAAC,0BAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,mBAAA,EAAAC,yBAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,oBAAA,EAAAC,0BAAA,EAAAC,uBAAA,EAAAC,6BAAA,EAAAC,+BAAA,EAAAC,qCAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,8BAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,uBAAA,EAAAC,6BAAA,EAAAC,uBAAA,EAAAC,6BAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,UAAA,CAAA;QAAAC,CAAA,EAAA,CAAAlE,aAAA,EAAAmE,UAAA;AAAA,OAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,cAAc;AAAEC,QAAAA,MAAM,EAAE;AAAY,OAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAoC7DC,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACO,KAAK,EAAA,MAAA,EACVC,MAAM,CAACC,IAAI,CAAC,gBAAgB,CAAC,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAG7BL,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACU,IAAI,CAAC,4BAA4B,CAAC,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAGvCN,EAAE,EAAFA,EAAE,CAACO,IAAI,EACPX,IAAI,EAAJA,IAAI,CAACjF,IAAI,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAGTqF,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACY,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAGZR,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACY,OAAO,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAGZR,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACa,SAAS,CAAC,aAAa,CAAC,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAG7BT,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACc,MAAM,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAGXV,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACe,IAAI,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAGTX,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAAC9E,IAAI,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAGTkF,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAAC9E,IAAI,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAGTkF,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACjF,IAAI,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAGTqF,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACU,IAAI,CAAC,qBAAqB,CAAC,oBAGhCN,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACY,OAAO,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAGZR,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACa,SAAS,CAAC,oBAAoB,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAGpCT,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACU,IAAI,CAAC,2BAA2B,CAAC,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAGtCN,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACU,IAAI,CAAC,UAAU,CAAC,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAGrBN,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACO,KAAK,EAAA,MAAA,EACVC,MAAM,CAACC,IAAI,CAAC,QAAQ,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAGrBL,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACgB,OAAO,CAAA,EAAA,EAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAGZZ,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACgB,OAAO,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAGZZ,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACgB,OAAO,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAGZZ,EAAE,EAAFA,EAAE,CAACO,IAAI,EACPX,IAAI,EAAJA,IAAI,CAACgB,OAAO,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAGZZ,EAAE,EAAFA,EAAE,CAACO,IAAI,EACPX,IAAI,EAAJA,IAAI,CAACgB,OAAO,CAAA,EAAA,EAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,CAGZZ,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACY,OAAO,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAGZR,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACY,OAAO,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAKZR,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACO,KAAK,EAAA,MAAA,EACVC,MAAM,CAACC,IAAI,CAAC,QAAQ,CAAC,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,MAAA,EAGrBL,EAAE,CAACa,OAAO,CAAC,gBAAgB,CAAC,EAC5Bb,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACkB,KAAK,CAAC,MAAM,CAAC,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAGlBd,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACc,MAAM,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAGXV,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACc,MAAM,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAGXV,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACc,MAAM,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAGXV,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACc,MAAM,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAGXK,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAUZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAWhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAgBhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAMZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,2BAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAQhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,CAUhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,2BAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAchBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAMZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,kCAMZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAOZD,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,4BAAA,CAAA,EAAA,CAAA,CAyEZD,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CA8BZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAcZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACG,MAAM,CAAC,mJAAmJ,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAiBhKL,MAAM,EAANA,MAAM,CAACC,MAAM,EAAA,MAAA,EACbD,MAAM,CAACM,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAC7BJ,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CA8EZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACG,MAAM,CAAC,2IAA2I,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CA2GxJL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACG,MAAM,CAAC,0FAA0F,CAAC,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CA0CvGL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAYhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAYhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACG,MAAM,CAAC,2FAA2F,CAAC,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAwBxGL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,UACZD,IAAI,CAACG,MAAM,CAAC,oHAAoH,CAAC,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CA8BjIL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACG,MAAM,CAAC,wHAAwH,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAYrIL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACG,MAAM,CAAC,wHAAwH,CAAC,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAYrIL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,CAWhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACG,MAAM,CAAC,uJAAuJ,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAsBpKL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACG,MAAM,CAAC,2IAA2I,CAAC,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CA6FxJL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAYhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAkChBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAiBhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACK,cAAc,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAUnBP,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACK,cAAc,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CASnBP,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACK,cAAc,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAOnBP,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACK,cAAc,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAOnBP,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACK,cAAc,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAOnBP,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACK,cAAc,mCArkCY5F,kBAAiB,CAAA;AAAA;AAAA6F,IAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,MAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;MAAAjC,2BAAA,CAAA,IAAA,CAAA;AAAA,IAAA;AAEjD,IAAA,cAAc,IAAAC,UAAA,CAAA,IAAA,CAAA,EAAG,KAAK;IAEtB,qBAAqB,GAAG,EAAE;AAE1B,IAAA,sBAAsB,GAAG;AACvBiC,MAAAA,sBAAsB,EAAE,CAAC;AACzBC,MAAAA,qBAAqB,EAAE,CAAC;AACxBC,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,UAAU,EAAE,CAAC;AACbC,MAAAA,QAAQ,EAAE;KACX;;AAED;AACA;AACA;IACA,UAAU,GAAG,KAAK;IAElB,iBAAiB,GAAG,KAAK;IAEzB,WAAW,GAAG,KAAK;IAEnB,mBAAmB,GAAG,CAAC;;AAEvB;AACA;AACA,IAAA,eAAe,GAAG/G,IAAI,CAACF,MAAM,EAAE;AAE/B,IAAA,eAAe,GAAGE,IAAI,CAACF,MAAM,EAAE;IAE/B,iBAAiB,GAAG,KAAK;AAEzB,IAAA,oBAAoB,GAAGI,IAAI,CAACJ,MAAM,EAAE;IAMpCkH,cAAc,GAAAlG,oBAAA,CAAA,IAAA,EAAG,CAAC,CAAA;AAIlBmG,IAAAA,kBAAkB,IAAAlG,0BAAA,CAAA,IAAA,CAAA,EAAAC,wBAAA,OAAG,EAAE,CAAA;IAIvBkG,cAAc,IAAAjG,8BAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAGrB,IAAI,CAACC,MAAM,EAAE,CAAA;AAK9BqH,IAAAA,OAAO,IAAAhG,0BAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,IAAI,CAAA;AAKdgG,IAAAA,UAAU,IAAA/F,mBAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAG,KAAK,CAAA;AAKlB+F,IAAAA,IAAI,IAAA9F,sBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,IAAI,CAAA;AAIX8F,IAAAA,IAAI,IAAA7F,gBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,EAAE,CAAA;IAIT6F,QAAQ,IAAA5F,gBAAA,CAAA,IAAA,CAAA,EAAAC,cAAA,OAAGiE,IAAI,CAAC/F,MAAM,EAAE,CAAA;IAIxB0H,WAAW,IAAA3F,oBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG9B,IAAI,CAACF,MAAM,EAAE,CAAA;AAI3B2H,IAAAA,OAAO,IAAA1F,uBAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAGhC,IAAI,CAAC0H,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAIlCC,cAAc,IAAA1F,mBAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAGrC,IAAI,CAACC,MAAM,EAAE,CAAA;AAI9B8H,IAAAA,MAAM,IAAAzF,0BAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,EAAE,CAAA;AAIXyF,IAAAA,eAAe,IAAAxF,kBAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,OAAG,KAAK,CAAA;AAKvBwF,IAAAA,gBAAgB,IAAAvF,2BAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,IAAI,CAAA;AAIvBuF,IAAAA,WAAW,IAAAtF,4BAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,EAAE,CAAA;AAIhBsF,IAAAA,MAAM,IAAArF,uBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,EAAE,CAAA;AAKXqF,IAAAA,gBAAgB,IAAApF,kBAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,CAAC,CAAA;AAIpBoF,IAAAA,aAAa,IAAAnF,4BAAA,CAAA,IAAA,CAAA,EAAAC,mBAAA,OAAG,CAAC,CAAA;AAIjBmF,IAAAA,eAAe,IAAAlF,yBAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,OAAG,CAAC,CAAA;AAInBkF,IAAAA,cAAc,IAAAjF,2BAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAG,CAAC,CAAA;AAIlBiF,IAAAA,iBAAiB,IAAAhF,0BAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,CAAA,IAAA,EAAG,EAAE,CAAA;AAItBgF,IAAAA,yBAAyB,IAAA/E,6BAAA,CAAA,IAAA,CAAA,EAAAC,+BAAA,CAAA,IAAA,EAAG,EAAE,CAAA;AAI9B+E,IAAAA,MAAM,IAAA9E,qCAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,IAAI,CAAA;AAIb8E,IAAAA,eAAe,IAAA7E,kBAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,OAAG,IAAI,CAAA;;AAEtB;AACA;AAIA6E,IAAAA,MAAM,IAAA5E,2BAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,CAAC,CAAA;AAKV4E,IAAAA,kBAAkB,IAAA3E,kBAAA,CAAA,IAAA,CAAA,EAAAC,wBAAA,OAAG,EAAE,CAAA;AAIvB2E,IAAAA,MAAM,IAAA1E,8BAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,EAAE,CAAA;AAIX0E,IAAAA,iBAAiB,IAAAzE,kBAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,OAAG,EAAE,CAAA;AAItByE,IAAAA,iBAAiB,IAAAxE,6BAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,OAAG,EAAE,CAAA;AAItBwE,IAAAA,eAAe,IAAAvE,6BAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,OAAG,EAAE,CAAA;AAIpBuE,IAAAA,UAAUA,GACV;MACE,IAAI,IAAI,CAAClB,eAAe,EACxB;QACE,IAAI,CAACmB,qBAAqB,EAAE;AAC9B,MAAA;AACA,MAAA,OAAO,IAAI;AACb,IAAA;AAIAC,IAAAA,KAAKA,CAACC,KAAK,GAAG,IAAI,EAAE3B,QAAQ,GAAG,IAAI,EAAEC,WAAW,GAAG,IAAI,EAAES,gBAAgB,GAAG,IAAI,EAChF;MACE,KAAK,CAACgB,KAAK,CAACC,KAAK,EAAE3B,QAAQ,EAAEC,WAAW,EAAES,gBAAgB,CAAC;AAC3D,MAAA,IAAIA,gBAAgB,KAAK,IAAI,IAAIA,gBAAgB,KAAKkB,SAAS,EAC/D;QACE,IAAI,CAAClB,gBAAgB,GAAGmB,MAAM,CAACnB,gBAAgB,CAAC,GAAG,CAAC;AACtD,MAAA;MACA,OAAO,IAAI,CAACN,cAAc;AAC5B,IAAA;IAIA0B,qBAAqBA,CAACC,SAAS,EAC/B;MACE,MAAMC,IAAI,GAAG,EAAE;AACf,MAAA,KAAK,MAAMC,SAAS,IAAIF,SAAS,IAAI,EAAE,EACvC;QACE,IAAI,CAACE,SAAS,IAAIA,SAAS,CAACC,MAAM,KAAK,EAAE,EACzC;AACE,UAAA,MAAM,IAAIC,SAAS,CAAC,yDAAyD,CAAC;AAChF,QAAA;QACAH,IAAI,CAACI,IAAI,CAAC9J,IAAI,CAAC+J,KAAK,CAACJ,SAAS,CAAC,CAAC;AAClC,MAAA;MACA,IAAI,CAACd,kBAAkB,GAAGa,IAAI;MAC9B,OAAO,IAAI,CAACb,kBAAkB;AAChC,IAAA;AAIAmB,IAAAA,qBAAqBA,GACrB;MACE,OAAO,IAAI,CAACnB,kBAAkB;AAChC,IAAA;IAIAoB,OAAOA,CAACzC,IAAI,EACZ;AACE,MAAA,IAAI,CAACA,IAAI,GAAGA,IAAI,IAAI,IAAI;AAC1B,IAAA;IAIA0C,SAASA,CAACtB,MAAM,EAChB;MACE,IAAI,CAACA,MAAM,GAAGW,MAAM,CAACX,MAAM,CAAC,GAAG,CAAC;AAClC,IAAA;IAIAuB,QAAQA,CAACd,KAAK,EACd;MACElJ,IAAI,CAACiK,IAAI,CAAC,IAAI,CAACxC,OAAO,EAAEyB,KAAK,CAAC;AAChC,IAAA;IAIAgB,iBAAiBA,CAACC,IAAI,EACtB;MACE,IAAI,CAACnD,cAAc,GAAGoC,MAAM,CAACe,IAAI,CAAC,GAAG,CAAC;AACxC,IAAA;IAIAC,aAAaA,CAAChD,UAAU,EACxB;AACE,MAAA,IAAI,CAACA,UAAU,GAAG,CAAC,CAACA,UAAU;AAChC,IAAA;IAIAiD,gBAAgBA,CAACnC,aAAa,EAC9B;AACE,MAAA,IAAI,CAACA,aAAa,GAAGkB,MAAM,CAAClB,aAAa,CAAC;AAC5C,IAAA;;AAEA;AACF;AAGEoC,IAAAA,wBAAwBA,CAACC,GAAG,GAAG,IAAI,EACnC;AACE,MAAA,IAAIA,GAAG,EACP;QACE,OAAO1K,IAAI,CAACoK,IAAI,CAACM,GAAG,EAAE,IAAI,CAACrD,cAAc,CAAC;AAC5C,MAAA;MACA,OAAO,IAAI,CAACA,cAAc;AAC5B,IAAA;AAIAsD,IAAAA,OAAOA,GACP;MACE,OAAO,IAAI,CAAClD,IAAI;AAClB,IAAA;IAIAmD,OAAOA,CAACnD,IAAI,EACZ;MACE,IAAI,CAACA,IAAI,GAAGoD,MAAM,CAACpD,IAAI,IAAI,EAAE,CAAC;AAChC,IAAA;IAIAqD,oBAAoBA,CAACC,QAAQ,EAC7B;AACE,MAAA,IAAI,CAAC3D,kBAAkB,CAAC0C,IAAI,CAACiB,QAAQ,CAAC;AACxC,IAAA;IAIAC,QAAQA,CAACC,KAAK,EACd;AACE,MAAA,IAAI,CAAClD,MAAM,CAAC+B,IAAI,CAACmB,KAAK,CAAC;AACzB,IAAA;IAIAC,aAAaA,CAACC,UAAU,EACxB;AACE,MAAA,IAAI,CAACjD,WAAW,CAAC4B,IAAI,CAACqB,UAAU,CAAC;AACnC,IAAA;AAIAC,IAAAA,gBAAgBA,GAChB;AACE,MAAA,IAAI,CAAClD,WAAW,CAAC0B,MAAM,GAAG,CAAC;AAC7B,IAAA;IAIAyB,QAAQA,CAACC,KAAK,EACd;AACE,MAAA,IAAI,CAACnD,MAAM,CAAC2B,IAAI,CAACwB,KAAK,CAAC;AACzB,IAAA;AAIAC,IAAAA,WAAWA,GACX;AACE,MAAA,IAAI,CAACpD,MAAM,CAACyB,MAAM,GAAG,CAAC;AACxB,IAAA;AAIA4B,IAAAA,UAAUA,GACV;AACE,MAAA,OAAO,IAAI;AACb,IAAA;AAIAC,IAAAA,eAAeA,CAAChE,IAAI,EAAEiE,KAAK,EAC3B;MACE,IAAI,CAAClE,IAAI,EAAEiE,eAAe,GAAGhE,IAAI,EAAEiE,KAAK,CAAC;AACzC,MAAA,KAAK,MAAMT,KAAK,IAAI,IAAI,CAAClD,MAAM,EAC/B;AACEkD,QAAAA,KAAK,EAAEQ,eAAe,GAAGhE,IAAI,EAAEiE,KAAK,CAAC;AACvC,MAAA;AACA,MAAA,KAAK,MAAMP,UAAU,IAAI,IAAI,CAACjD,WAAW,EACzC;AACEiD,QAAAA,UAAU,EAAEM,eAAe,GAAGhE,IAAI,EAAEiE,KAAK,CAAC;AAC5C,MAAA;AACF,IAAA;AAIAC,IAAAA,mBAAmBA,GACnB;MACE,OAAO,IAAI,CAACnE,IAAI,EAAEmE,mBAAmB,IAAI,IAAI,EAAE;AACjD,IAAA;AAIAC,IAAAA,oBAAoBA,CAACnE,IAAI,EAAEoE,MAAM,EACjC;MACE,IAAI,CAACrE,IAAI,EAAEoE,oBAAoB,GAAGnE,IAAI,EAAEoE,MAAM,CAAC;AACjD,IAAA;IAIAC,oBAAoBA,CAACrE,IAAI,EACzB;MACE,OAAO,IAAI,CAACD,IAAI,EAAEsE,oBAAoB,GAAGrE,IAAI,CAAC,IAAI,CAAC;AACrD,IAAA;;AAEA;AAEAsE,IAAAA,0BAA0BA,GAC1B;MACE,MAAMC,KAAK,GAAG,IAAI,CAACxE,IAAI,EAAEmE,mBAAmB,IAAI;MAEhD,IAAI,CAAC,sBAAsB,GAAG;AAC5B7E,QAAAA,sBAAsB,EAAE,CAAC;AACzBC,QAAAA,qBAAqB,EAAE,CAAC;AACxBC,QAAAA,WAAW,EAAE,CAAC;AACdC,QAAAA,UAAU,EAAE,CAAC;AACbC,QAAAA,QAAQ,EAAE;OACX;AAED,MAAA,IAAI,CAAC+E,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EACzB;AACE,QAAA,IAAI,CAAC,qBAAqB,GAAG,EAAE;AAC/B,QAAA,OAAO,CAAC;AACV,MAAA;MAEA,MAAMG,MAAM,GAAG,IAAI,CAAC3E,IAAI,EAAE4E,kBAAkB,IAAI;MAChD,MAAMC,OAAO,GAAGL,KAAK,CAACM,GAAG,CAAC,CAAC7E,IAAI,EAAE8E,KAAK,MAAM;QAC1CA,KAAK;QACLV,MAAM,EAAEW,eAAe,CACrBC,cAAc,CAACN,MAAM,EAAE1E,IAAI,CAAC,IAAI,IAAI,CAACD,IAAI,EAAEsE,oBAAoB,GAAGrE,IAAI,CAAC,IAAI,CAAC,EAC5EA,IAAI,EACJ,MACF,CAAC;QACDiF,KAAK,EAAE,CAAC,EAAE,IAAI,CAAClF,IAAI,EAAEmF,YAAY,GAAGJ,KAAK,CAAC,IACrC,IAAI,CAAC/E,IAAI,EAAEoF,mBAAmB,GAAGnF,IAAI,CAAC,IACtC,KAAK;AACZ,OAAC,CAAC,CAAC;AAEH,MAAA,IAAI,IAAI,CAACQ,gBAAgB,EAAE4E,aAAa,IAAI,EAC5C;QACE,MAAMC,QAAQ,GAAG,IAAI,CAAC7E,gBAAgB,CAACmE,kBAAkB,IAAI;AAE7D,QAAA,KAAK,MAAMW,MAAM,IAAIV,OAAO,EAC5B;AACE,UAAA,MAAM5E,IAAI,GAAGuE,KAAK,CAACe,MAAM,CAACR,KAAK,CAAC;AAChC,UAAA,MAAMb,KAAK,GAAGe,cAAc,CAACK,QAAQ,EAAErF,IAAI,CAAC;UAE5C,IAAIiE,KAAK,KAAKpC,SAAS,EACvB;YACEyD,MAAM,CAAClB,MAAM,GAAGW,eAAe,CAACd,KAAK,EAAEjE,IAAI,EAAE,WAAW,CAAC;AAC3D,UAAA;AACF,QAAA;AACF,MAAA;MAEA,MAAMuF,OAAO,GAAG,EAAE;MAClB,MAAMN,KAAK,GAAG,EAAE;MAChB,MAAMO,QAAQ,GAAG,EAAE;AAEnB,MAAA,KAAK,MAAMF,MAAM,IAAIV,OAAO,EAC5B;AACE,QAAA,IAAIU,MAAM,CAAClB,MAAM,IAAI,KAAK,EAC1B;UACE,CAACkB,MAAM,CAACL,KAAK,GAAGA,KAAK,GAAGM,OAAO,EAAElD,IAAI,CAACiD,MAAM,CAAC;AAC/C,QAAA,CAAC,MAED;AACEE,UAAAA,QAAQ,CAACnD,IAAI,CAACiD,MAAM,CAAC;AACvB,QAAA;AACF,MAAA;AAEA,MAAA,IAAI,CAAC,qBAAqB,GAAG,CAAE,GAAGC,OAAO,EAAE,GAAGN,KAAK,EAAE,GAAGO,QAAQ,CAAE;MAClE,IAAI,CAAC,sBAAsB,CAAClG,qBAAqB,GAAGiG,OAAO,CAACpD,MAAM;MAClE,IAAI,CAAC,sBAAsB,CAAC5C,WAAW,GAAGgG,OAAO,CAACpD,MAAM;MACxD,IAAI,CAAC,sBAAsB,CAAC3C,UAAU,GAAGyF,KAAK,CAAC9C,MAAM;AACrD,MAAA,IAAI,CAAC,sBAAsB,CAAC1C,QAAQ,GAAG8F,OAAO,CAACpD,MAAM,GAAG8C,KAAK,CAAC9C,MAAM;AACpE,MAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC1C,QAAQ;AAC7C,IAAA;;AAEA;AAEAgG,IAAAA,eAAeA,CAACC,MAAM,GAAG,CAAC,EAC1B;AACE,MAAA,MAAMC,UAAU,GAAGC,oBAAoB,CAACF,MAAM,CAAC;MAC/C,IAAIG,MAAM,GAAG,CAAC;MACd,IAAIC,KAAK,GAAG,CAAC;MAEb,IAAIH,UAAU,KAAK,CAAC,EACpB;AACEG,QAAAA,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAACrG,QAAQ;AAC9C,MAAA,CAAC,MACI,IAAIkG,UAAU,KAAK,CAAC,EACzB;AACEE,QAAAA,MAAM,GAAG,IAAI,CAAC,cAAc,GACxB,IAAI,CAAC,sBAAsB,CAACxG,sBAAsB,GAClD,CAAC;AACLyG,QAAAA,KAAK,GAAG,IAAI,CAAC,cAAc,GACvB,IAAI,CAAC,sBAAsB,CAACxG,qBAAqB,GACjD,IAAI,CAAC,sBAAsB,CAACG,QAAQ;AAC1C,MAAA,CAAC,MAED;AACEoG,QAAAA,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAACtG,WAAW;AAChDuG,QAAAA,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAACtG,UAAU;AAChD,MAAA;AAEA,MAAA,OAAO,IAAI,CAAC,qBAAqB,CAACuG,KAAK,CAACF,MAAM,EAAEA,MAAM,GAAGC,KAAK,CAAC,CAC5DjB,GAAG,CAACZ,KAAK,KAAK;QAAEa,KAAK,EAAEb,KAAK,CAACa,KAAK;QAAEV,MAAM,EAAEH,KAAK,CAACG;AAAO,OAAC,CAAC,CAAC;AACjE,IAAA;AAIA4B,IAAAA,mBAAmBA,GACnB;AACE,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AAIEC,IAAAA,gBAAgBA,CAACC,cAAc,EAAEC,OAAO,EACxC,CACA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIEC,IAAAA,iBAAiBA,CAACC,aAAa,EAAEC,MAAM,EACvC;AACE,MAAA,MAAMC,eAAe,GAAGD,MAAM,EAAEE,qBAAqB;AAErD,MAAA,IAAID,eAAe,IAAIA,eAAe,CAACpE,MAAM,KAAK,EAAE,EACpD;AACE,QAAA,IAAI,CAACsE,eAAe,CAACF,eAAe,CAAC;AACvC,MAAA;AAEAG,MAAAA,uBAAuB,CACrB,IAAI,EACJL,aAAa,EACbC,MAAM,EAAEK,SAAS,IAAI,CAAC,EACtBL,MAAM,EAAEM,KAAK,IAAI,IACnB,CAAC;MAED,IAAI,CAAC,mBAAmB,GAAG9E,MAAM,CAACwE,MAAM,EAAEO,kBAAkB,IAAI,CAAC,CAAC;;AAElE;AACA;AACA;AACA,MAAA,KAAK,MAAMnD,UAAU,IAAI,IAAI,CAACjD,WAAW,EACzC;AACEiD,QAAAA,UAAU,EAAEoD,YAAY,GAAG,IAAI,CAAClH,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;AACvF,MAAA;MAEA,IAAI,CAAC0E,0BAA0B,EAAE;;AAEjC;AACA;AACA;AACA;AACA;AACA,MAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;MAC9B,MAAMyC,MAAM,GAAG,IAAI,CAAChH,IAAI,EAAEiH,SAAS,IAAI;AAEvC,MAAA,IAAID,MAAM,EAAE/N,GAAG,IAAI+N,MAAM,EAAE9N,GAAG,EAC9B;QACE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAGgO,QAAQ;QACtF,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAACA,QAAQ;QACvF,KAAK,IAAInC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,CAAC,EAAEA,KAAK,EAAE,EACtC;UACEpM,IAAI,CAACwO,GAAG,CACNpO,kBAAkB,EAClBgM,KAAK,GAAG,CAAC,GAAGiC,MAAM,CAAC9N,GAAG,CAAC,CAAC,CAAC,GAAG8N,MAAM,CAAC/N,GAAG,CAAC,CAAC,CAAC,EACzC8L,KAAK,GAAG,CAAC,GAAGiC,MAAM,CAAC9N,GAAG,CAAC,CAAC,CAAC,GAAG8N,MAAM,CAAC/N,GAAG,CAAC,CAAC,CAAC,EACzC8L,KAAK,GAAG,CAAC,GAAGiC,MAAM,CAAC9N,GAAG,CAAC,CAAC,CAAC,GAAG8N,MAAM,CAAC/N,GAAG,CAAC,CAAC,CAC1C,CAAC;UACDN,IAAI,CAACyO,aAAa,CAACrO,kBAAkB,EAAEA,kBAAkB,EAAE,IAAI,CAAC8G,cAAc,CAAC;AAC/ElH,UAAAA,IAAI,CAACM,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,EAAEF,kBAAkB,CAAC;AACxEJ,UAAAA,IAAI,CAACO,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,EAAEH,kBAAkB,CAAC;AAC1E,QAAA;AACA,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;AAC7BsO,QAAAA,IAAI,CAACC,UAAU,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC;AACxF,MAAA,CAAC,MAED;AACED,QAAAA,IAAI,CAACF,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACjD,MAAA;AAEA,MAAA,IAAI,CAAC,WAAW,GAAG,IAAI;MACvB,OAAO,IAAI,CAACtH,cAAc;AAC5B,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIE0H,IAAAA,gBAAgBA,CAACjB,aAAa,EAAEkB,gBAAgB,GAAG,IAAI,EAAEC,SAAS,GAAGC,MAAM,CAACC,YAAY,EACxF;AACE,MAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,MAAA,IAAI,CAAC3G,iBAAiB,GAAG,EAAE;AAC3B,MAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;AAC9B,MAAA,IAAI,CAACC,yBAAyB,GAAG,EAAE;AAEnC,MAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EACrB;AACE,QAAA,OAAO,KAAK;AACd,MAAA;MAEA,MAAM2G,OAAO,GAAGtB,aAAa,EAAEuB,UAAU,IAAI,IAAIvB,aAAa,EAAEsB,OAAO;AACvE,MAAA,MAAME,YAAY,GAAG/F,MAAM,CAACuE,aAAa,EAAEyB,eAAe,IAAI,IAAIzB,aAAa,EAAEwB,YAAY,CAAC,IAAI,CAAC;MAEnG,IAAI,IAAI,CAAC9H,IAAI,EACb;AACE,QAAA,IAAI,CAACgB,iBAAiB,GAAGe,MAAM,CAAC6F,OAAO,EAAEI,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAId,QAAQ,CAAC,IAAI,CAAC;;AAE3G;AACA;QACA,MAAMe,SAAS,GAAG,OAAO,IAAI,CAACjI,IAAI,CAACkI,+BAA+B,KAAK,UAAU;QACjF,IAAIC,cAAc,GAAG,IAAI;AAEzB,QAAA,IAAIF,SAAS,EACb;AACE;AACA;AACA;UACA,IAAI,CAACzP,IAAI,CAAC4P,MAAM,CAAC7P,qBAAqB,EAAE,IAAI,CAACsH,cAAc,CAAC,EAC5D;AACErH,YAAAA,IAAI,CAAC6P,QAAQ,CAAC9P,qBAAqB,CAAC;AACtC,UAAA;AACA,UAAA,MAAM+P,OAAO,GAAGV,OAAO,EAAEW,SAAS,IAAIX,OAAO,EAAEU,OAAO,IAAIV,OAAO,EAAEY,eAAe,IAAI,IAAIrP,SAAS;UACnGR,IAAI,CAACyO,aAAa,CAAC1O,kBAAkB,EAAE4P,OAAO,EAAE/P,qBAAqB,CAAC;UACtE4P,cAAc,GAAG,IAAI,CAACnI,IAAI,CAACkI,+BAA+B,CAACxP,kBAAkB,CAAC;AAChF,QAAA;AAEA,QAAA,IAAIyP,cAAc,EAClB;AACE;AACA;AACAd,UAAAA,IAAI,CAACF,GAAG,CACNvO,uBAAuB,EACvBuP,cAAc,CAACM,MAAM,CAAC,CAAC,CAAC,EACxBN,cAAc,CAACM,MAAM,CAAC,CAAC,CAAC,EACxBN,cAAc,CAACM,MAAM,CAAC,CAAC,CAAC,EACxBN,cAAc,CAACO,MACjB,CAAC;UACDrB,IAAI,CAACD,aAAa,CAACxO,uBAAuB,EAAEA,uBAAuB,EAAE,IAAI,CAACiH,cAAc,CAAC;AACzF,UAAA,IAAI,CAACoB,yBAAyB,GAAGc,MAAM,CAAC6F,OAAO,EAAEI,mBAAmB,GAAGpP,uBAAuB,CAAC,IAAIsO,QAAQ,CAAC,IAAI,CAAC;AACjH,UAAA,IAAI,CAAClH,IAAI,CAAC2I,iBAAiB,GAAG,IAAI,CAAC1H,yBAAyB,EAAErI,uBAAuB,CAAC,CAAC,CAAC,CAAC;AAC3F,QAAA,CAAC,MAED;AACE;AACA;UACA,IAAI,CAACqI,yBAAyB,GAAGiG,QAAQ;AACzC,UAAA,IAAI,CAAClH,IAAI,CAAC2I,iBAAiB,GAAG,IAAI,CAAC3H,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;AACrF,QAAA;QAEA,IAAI,CAACA,iBAAiB,IAAI8G,YAAY;QACtC,IAAI,CAAC7G,yBAAyB,IAAI6G,YAAY;AAE9C9O,QAAAA,iBAAiB,CAACC,GAAG,GAAG,IAAI,CAAC,eAAe;AAC5CD,QAAAA,iBAAiB,CAACE,GAAG,GAAG,IAAI,CAAC,eAAe;QAC5C,MAAM0P,UAAU,GAAG,IAAI,CAAC,iBAAiB,KACtChB,OAAO,EAAEiB,YAAY,GAAG,CAAC,CAACjB,OAAO,CAACiB,YAAY,CAAC7P,iBAAiB,CAAC,GAAG,IAAI,CAAC;AAE5E,QAAA,IAAI4P,UAAU,EACd;AACE,UAAA,IAAI,CAAC,UAAU,GAAGnB,SAAS,IAAI,IAAI,CAAC7G,gBAAgB,IAAI,IAAI,CAACI,iBAAiB,IAAI,IAAI,CAACH,aAAa;AACpG,UAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,IACtC,IAAI,CAACI,yBAAyB,IAAI3H,aAAY,CAAC,4BAA4B;AAC/E,QAAA;AACF,MAAA;;AAEA;AACA;AACA,MAAA,KAAK,MAAMqK,UAAU,IAAI,IAAI,CAACjD,WAAW,EACzC;AACEiD,QAAAA,UAAU,EAAE4D,gBAAgB,GAAGjB,aAAa,EAAE,IAAI,CAACzG,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7E,MAAA;AAEA,MAAA,IAAI,IAAI,CAAC,UAAU,EACnB;AACE,QAAA,KAAK,MAAM4D,KAAK,IAAI,IAAI,CAAClD,MAAM,EAC/B;AACE;AACA;AACA;AACA;AACAkD,UAAAA,KAAK,EAAE8D,gBAAgB,GAAGjB,aAAa,EAAE,IAAI,CAAC;AAChD,QAAA;AACF,MAAA;MAEA,OAAO,IAAI,CAAC,UAAU;AACxB,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AAIEwC,IAAAA,cAAcA,CAAC5F,GAAG,GAAG,EAAE,EACvB;AACE,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EACpB;AACE,QAAA,OAAOA,GAAG;AACZ,MAAA;MAEA,MAAM+E,SAAS,GAAG,OAAO,IAAI,CAACjI,IAAI,EAAEkI,+BAA+B,KAAK,UAAU;AAElF,MAAA,IAAID,SAAS,EACb;AACE,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAC1B;AACE/E,UAAAA,GAAG,CAACZ,IAAI,CAAC,IAAI,CAAC;AACd,UAAA,IAAI,IAAI,CAAC/B,MAAM,CAAC6B,MAAM,IAAI,IAAI,CAACpC,IAAI,CAAC+I,mBAAmB,IAAI,EAC3D;AACE,YAAA,KAAK,MAAMtF,KAAK,IAAI,IAAI,CAAClD,MAAM,EAC/B;AACEkD,cAAAA,KAAK,EAAEuF,uBAAuB,GAAG9F,GAAG,EAAE,IAAI,EAAE,IAAI,CAAClD,IAAI,EAAE,IAAI,CAACiB,yBAAyB,CAAC;AACxF,YAAA;AACF,UAAA;AACF,QAAA;AACF,MAAA,CAAC,MAED;AACEiC,QAAAA,GAAG,CAACZ,IAAI,CAAC,IAAI,CAAC;QACd,MAAM2G,gBAAgB,GAAG,IAAI,CAACjJ,IAAI,EAAE+I,mBAAmB,IAAI;AAC3D,QAAA,IAAI,IAAI,CAACxI,MAAM,CAAC6B,MAAM,IAAI6G,gBAAgB,EAC1C;AACE,UAAA,KAAK,MAAMxF,KAAK,IAAI,IAAI,CAAClD,MAAM,EAC/B;AACEkD,YAAAA,KAAK,EAAEqF,cAAc,GAAG5F,GAAG,EAAE,IAAI,EAAE+F,gBAAgB,EAAE,IAAI,CAACjI,iBAAiB,CAAC;AAC9E,UAAA;AACF,QAAA;AACF,MAAA;AAEA,MAAA,OAAOkC,GAAG;AACZ,IAAA;;AAEA;AACF;AAGEgG,IAAAA,iBAAiBA,CAAChG,GAAG,GAAGrK,IAAI,CAACJ,MAAM,EAAE,EAAE0Q,MAAM,GAAG,CAAC,EACjD;MACE,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,EACpC;QACEtQ,IAAI,CAAC+J,IAAI,CAACM,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC;AACzC,QAAA,OAAO,IAAI;AACb,MAAA;AACA,MAAA,OAAO,KAAK;AACd,IAAA;;AAEA;AAGAkG,IAAAA,qBAAqBA,GACrB;AACE,MAAA,IAAI,IAAI,CAACtJ,OAAO,IAAI,IAAI,CAACE,IAAI,EAC7B;AACE,QAAA,OAAO,CAAC,IAAI,CAACA,IAAI,CAACqJ,QAAQ,GAAGC,YAAY,CAACC,wBAAwB,CAAC,EAAEnH,MAAM,IAAI,CAAC,IAAI,CAAC;AACvF,MAAA;AACA,MAAA,OAAO,KAAK;AACd,IAAA;;AAEA;AACF;IAIEoH,SAASA,CAAClD,aAAa,EACvB;MACE,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,EACpC;QACE,MAAMsB,OAAO,GAAGtB,aAAa,EAAEuB,UAAU,IAAI,IAAIvB,aAAa,EAAEsB,OAAO;QACvE,IAAIA,OAAO,EAAE6B,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,KAAK,EACnE;UACE,MAAM5K,MAAM,GAAG+I,OAAO,EAAE8B,sBAAsB,IAAI9B,OAAO,EAAEI,mBAAmB;UAC9E,MAAM2B,IAAI,GAAG5H,MAAM,CAAC,OAAOlD,MAAM,KAAK,UAAU,GAAGA,MAAM,CAAC+K,IAAI,CAAChC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AAC5G,UAAA,MAAMiC,SAAS,GAAG9H,MAAM,CAACuE,aAAa,EAAEwD,sBAAsB,IAAI,IAAIxD,aAAa,EAAEyD,mBAAmB,CAAC,IAAI,CAAC;UAC9G,OAAOJ,IAAI,IAAIE,SAAS;AAC1B,QAAA;AACF,MAAA;AACA,MAAA,OAAO,KAAK;AACd,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AAIEG,IAAAA,UAAUA,CAACC,OAAO,EAAEC,SAAS,EAAEC,aAAa,EAAElL,MAAM,GAAGmL,eAAe,CAACC,sBAAsB,EAC7F;AACE,MAAA,IAAI,CAAC,IAAI,CAACvK,OAAO,EACjB;AACE,QAAA,OAAO,KAAK;AACd,MAAA;MAEA,IAAIwK,SAAS,GAAG,KAAK;MAErB,IAAI,IAAI,CAACtK,IAAI,EACb;QACEsK,SAAS,GAAG,IAAI,CAACtK,IAAI,CAACgK,UAAU,CAACC,OAAO,EAAE,IAAI,CAACjK,IAAI,CAACqJ,QAAQ,CAACa,SAAS,CAAC,EAAEC,aAAa,CAAC,KAAK,IAAI;AAClG,MAAA;AAEA,MAAA,IAAI,IAAI,CAAC,mBAAmB,KAAK,CAAC,EAClC;AACE,QAAA,KAAK,MAAMxG,UAAU,IAAI,IAAI,CAACjD,WAAW,EACzC;AACE4J,UAAAA,SAAS,GAAG3G,UAAU,EAAEqG,UAAU,GAAGC,OAAO,EAAEC,SAAS,EAAEC,aAAa,EAAElL,MAAM,CAAC,KAAK,IAAI,IAAIqL,SAAS;AACvG,QAAA;AACF,MAAA;AAEA,MAAA,OAAOA,SAAS;AAClB,IAAA;;AAEA;AACF;AACA;AACA;AAIEC,IAAAA,gBAAgBA,CAACN,OAAO,EAAEE,aAAa,EAAEK,gBAAgB,EACzD;AACE,MAAA,IAAI,IAAI,CAAC1K,OAAO,IAAI,IAAI,CAACE,IAAI,IAAI,IAAI,CAAC,WAAW,EACjD;QACE,OAAO,IAAI,CAACA,IAAI,CAACgK,UAAU,CAACC,OAAO,EAAE,IAAI,CAACjK,IAAI,CAACqJ,QAAQ,CAACC,YAAY,CAACmB,mBAAmB,CAAC,EAAEN,aAAa,CAAC,KAAK,IAAI;AACpH,MAAA;AACA,MAAA,OAAO,KAAK;AACd,IAAA;;AAEA;AACF;AAIEO,IAAAA,YAAYA,CAACC,aAAa,GAAG,IAAI,EACjC;AACE,MAAA,MAAMC,YAAY,GAAGD,aAAa,EAAEnC,eAAe,IAAI;AACvD,MAAA,MAAMqC,CAAC,GAAG,CAACD,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC/K,cAAc,CAAC,EAAE,CAAC;AAC5D,MAAA,MAAMiL,CAAC,GAAG,CAACF,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC/K,cAAc,CAAC,EAAE,CAAC;AAC5D,MAAA,MAAMkL,CAAC,GAAG,CAACH,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC/K,cAAc,CAAC,EAAE,CAAC;AAC5D,MAAA,OAAOmL,IAAI,CAACC,KAAK,CAACJ,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAG,IAAI,CAAChK,cAAc,GAAG,IAAI,CAACD,eAAe;AACzE,IAAA;;AAEA;AACF;AAGEoK,IAAAA,sBAAsBA,CAACC,WAAW,GAAG,IAAI,EACzC;AACE,MAAA,OAAO,IAAI,CAACC,gBAAgB,CAACD,WAAW,CAAC;AAC3C,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAIEC,IAAAA,gBAAgBA,CAACD,WAAW,GAAG,IAAI,EACnC;AACE,MAAA,MAAME,IAAI,GAAG,OAAOF,WAAW,EAAEG,QAAQ,KAAK,UAAU,GACpDH,WAAW,CAACG,QAAQ,CAACC,gBAAgB,CAAC,GACtC,IAAIA,gBAAgB,EAAE;MAC1BF,IAAI,CAACG,MAAM,GAAG,IAAI;AAClB,MAAA,OAAOH,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAIEI,eAAeA,CAACC,aAAa,EAAEC,uBAAuB,EAAEC,oBAAoB,EAAEC,6BAA6B,GAAG,IAAI,EAClH;AACE,MAAA,IAAI,CAAC,IAAI,CAAC/L,OAAO,IAAI,CAAC,IAAI,CAACC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,EAC1D;AACE,QAAA,OAAO,KAAK;AACd,MAAA;AAEA,MAAA,MAAM+L,gBAAgB,GAAG,OAAOH,uBAAuB,EAAEvJ,MAAM,KAAK,QAAQ,IAC1EuJ,uBAAuB,CAACvJ,MAAM,IAAI,CAAC;MACrC,MAAM2J,YAAY,GAAGD,gBAAgB,GACjC/J,MAAM,CAAC8J,6BAA6B,IAAIzB,eAAe,CAACC,sBAAsB,CAAC,GAC/EtI,MAAM,CAAC6J,oBAAoB,IAAIxB,eAAe,CAACC,sBAAsB,CAAC;AAE1E,MAAA,IAAI0B,YAAY,KAAK3B,eAAe,CAAC4B,0BAA0B,IAC7D,CAACC,aAAa,CAAC,IAAI,CAACtM,cAAc,CAAC,EACrC;AACE,QAAA,OAAO,KAAK;AACd,MAAA;AAEA,MAAA,IAAImM,gBAAgB,EACpB;AACE;AACA;AACA,QAAA,IAAI,CAAC,IAAI,CAAC5C,iBAAiB,CAACpQ,qBAAqB,CAAC,EAClD;AACE,UAAA,OAAO,KAAK;AACd,QAAA;QACA,MAAMoT,QAAQ,GAAGP,uBAAuB;AACxC,QAAA,MAAMjD,MAAM,GAAG3G,MAAM,CAAC6J,oBAAoB,CAAC,IAAI,CAAC;QAChD,MAAMO,EAAE,GAAGrT,qBAAqB,CAAC,CAAC,CAAC,GAAGoT,QAAQ,CAAC,CAAC,CAAC;QACjD,MAAME,EAAE,GAAGtT,qBAAqB,CAAC,CAAC,CAAC,GAAGoT,QAAQ,CAAC,CAAC,CAAC;QACjD,MAAMG,EAAE,GAAGvT,qBAAqB,CAAC,CAAC,CAAC,GAAGoT,QAAQ,CAAC,CAAC,CAAC;AACjD,QAAA,MAAMI,QAAQ,GAAG5D,MAAM,GAAG5P,qBAAqB,CAAC,CAAC,CAAC;AAClD,QAAA,OAAOqT,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE,GAAGC,QAAQ,GAAGA,QAAQ,GAAG,CAAC;AAC9D,MAAA;;AAEA;AACA;AACA;MACA,MAAMC,aAAa,GAAGZ,uBAAuB;MAC7C,MAAMa,OAAO,GAAGX,6BAA6B;AAC7C,MAAA,IAAIW,OAAO,EACX;AACEA,QAAAA,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAChB,MAAA;MAEA,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,EACrC;AACE,QAAA,OAAO,KAAK;AACd,MAAA;MAEA,IAAIC,YAAY,GAAG,CAAC;MACpB,IAAIF,aAAa,EAAE/C,SAAS,GAAGkC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,EACxE;AACE,QAAA,IAAIgB,MAAM,GAAG,IAAI,CAAC,oBAAoB;QACtC,IAAI,OAAO,IAAI,CAAC1M,IAAI,EAAEkI,+BAA+B,KAAK,UAAU,EACpE;AACE;AACA;UACA,IAAI,CAAC1P,IAAI,CAAC4P,MAAM,CAAC7P,qBAAqB,EAAE,IAAI,CAACsH,cAAc,CAAC,EAC5D;AACErH,YAAAA,IAAI,CAAC6P,QAAQ,CAAC9P,qBAAqB,CAAC;AACtC,UAAA;UACA,MAAMoU,MAAM,GAAGJ,aAAa,EAAEK,SAAS,IAAI,IAAIzT,SAAS;UACxDR,IAAI,CAACyO,aAAa,CAAC1O,kBAAkB,EAAEiU,MAAM,EAAEpU,qBAAqB,CAAC;UACrE,MAAM4P,cAAc,GAAG,IAAI,CAACnI,IAAI,CAACkI,+BAA+B,CAACxP,kBAAkB,CAAC;AACpF,UAAA,IAAIyP,cAAc,EAClB;AACE;AACA;AACAd,YAAAA,IAAI,CAACF,GAAG,CACNvO,uBAAuB,EACvBuP,cAAc,CAACM,MAAM,CAAC,CAAC,CAAC,EACxBN,cAAc,CAACM,MAAM,CAAC,CAAC,CAAC,EACxBN,cAAc,CAACM,MAAM,CAAC,CAAC,CAAC,EACxBN,cAAc,CAACO,MACjB,CAAC;YACDrB,IAAI,CAACD,aAAa,CAACxO,uBAAuB,EAAEA,uBAAuB,EAAE,IAAI,CAACiH,cAAc,CAAC;AACzF6M,YAAAA,MAAM,GAAG9T,uBAAuB;AAClC,UAAA;AACF,QAAA;QACA6T,YAAY,GAAG1K,MAAM,CAACwK,aAAa,EAAEM,eAAe,GAAGH,MAAM,CAAC,CAAC,IAAI,CAAC;AACtE,MAAA;AAEA,MAAA,IAAIF,OAAO,EACX;AACEA,QAAAA,OAAO,CAAC,CAAC,CAAC,GAAGC,YAAY;AAC3B,MAAA;MACA,OAAOA,YAAY,GAAG,CAAC;AACzB,IAAA;;AAEA;IAGAK,SAASA,CAACC,IAAI,EACd,CACA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AAGEC,IAAAA,kBAAkBA,GAClB;AACE,MAAA,MAAMC,QAAQ,GAAG,IAAI,CAACC,oBAAoB,EAAE;AAC5C,MAAA,IAAID,QAAQ,IAAI,IAAI,CAACnN,OAAO,EAC5B;AACE,QAAA,IAAI,IAAI,CAACa,MAAM,CAACyB,MAAM,EACtB;UACE6K,QAAQ,CAACE,iBAAiB,CAACC,gBAAgB,CAACC,UAAU,EAAE,IAAI,CAAC;AAC/D,QAAA;AAEA,QAAA,IAAI,IAAI,CAACrN,IAAI,KAAK,IAAI,EACtB;AACE,UAAA,IAAIiM,aAAa,CAAC,IAAI,CAACtM,cAAc,CAAC,EACtC;YACEsN,QAAQ,CAACE,iBAAiB,CAACC,gBAAgB,CAACE,oBAAoB,EAAE,IAAI,CAAC;AACzE,UAAA;UACA,IAAI,IAAI,CAACvN,UAAU,EACnB;YACEkN,QAAQ,CAACE,iBAAiB,CAACC,gBAAgB,CAACG,YAAY,EAAE,IAAI,CAAC;AACjE,UAAA;AACF,QAAA;AAEA,QAAA,KAAK,MAAM5J,UAAU,IAAI,IAAI,CAACjD,WAAW,EACzC;AACEiD,UAAAA,UAAU,EAAE6J,QAAQ,GAAGP,QAAQ,CAAC;AAClC,QAAA;AACF,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AACA;AAGEQ,IAAAA,oBAAoBA,GACpB;AACE,MAAA,MAAMR,QAAQ,GAAG,IAAI,CAACC,oBAAoB,EAAE;AAC5C,MAAA,IAAID,QAAQ,EACZ;AACE,QAAA,KAAK,MAAMtJ,UAAU,IAAI,IAAI,CAACjD,WAAW,EACzC;AACEiD,UAAAA,UAAU,EAAE+J,UAAU,GAAGT,QAAQ,CAAC;AACpC,QAAA;AACF,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AACA;IAGEU,SAASA,CAAC,GAAGC,KAAK,EAClB;AACE,MAAA,MAAM,IAAIC,KAAK,CAAC,8DAA8D,CAAC;AACjF,IAAA;;AAEA;AACF;AACA;AACA;IAGEC,iBAAiBA,CAAC,GAAGF,KAAK,EAC1B;AACE,MAAA,MAAM,IAAIC,KAAK,CAAC,sEAAsE,CAAC;AACzF,IAAA;;AAEA;AACF;AACA;IAGEE,mBAAmBA,CAAC,GAAGH,KAAK,EAC5B;AACE,MAAA,MAAM,IAAIC,KAAK,CAAC,wEAAwE,CAAC;AAC3F,IAAA;;AAEA;IAGAG,UAAUA,CAAC,GAAGJ,KAAK,EACnB;AACE,MAAA,MAAM,IAAIC,KAAK,CAAC,+DAA+D,CAAC;AAClF,IAAA;;AAEA;IAGAI,YAAYA,CAAC,GAAGL,KAAK,EACrB;AACE,MAAA,MAAM,IAAIC,KAAK,CAAC,iEAAiE,CAAC;AACpF,IAAA;;AAEA;IAGAK,WAAWA,CAAC,GAAGN,KAAK,EACpB;AACE,MAAA,MAAM,IAAIC,KAAK,CAAC,gEAAgE,CAAC;AACnF,IAAA;;AAEA;GASD;EARQ,4BAA4B,GAAG,CAAC;AAEhCM,EAAAA,MAAM,GAAGA,MAAM;AAEfC,EAAAA,cAAc,GAAGA,cAAc;AAE/B1G,EAAAA,MAAM,GAAGA,MAAM;EAACtI,WAAAA,GAAA;IAAA,KAAA,CAAAhG,aAAA,GAAAmE,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;AAIzB,SAAS0H,cAAcA,CAACoJ,MAAM,EAAEpO,IAAI,EACpC;EACE,IAAIoO,MAAM,YAAYC,GAAG,EACzB;AACE,IAAA,OAAOD,MAAM,CAACE,GAAG,CAACtO,IAAI,CAAC,GAAGoO,MAAM,CAACG,GAAG,CAACvO,IAAI,CAAC,GAAG6B,SAAS;AACxD,EAAA;AAEA,EAAA,IAAIuM,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAII,MAAM,CAACC,MAAM,CAACL,MAAM,EAAEpO,IAAI,CAAC,EACvE;IACE,OAAOoO,MAAM,CAACpO,IAAI,CAAC;AACrB,EAAA;AAEA,EAAA,OAAO6B,SAAS;AAClB;AAEA,SAASkD,eAAeA,CAACd,KAAK,EAAEjE,IAAI,EAAE0O,MAAM,EAC5C;AACE,EAAA,MAAMtK,MAAM,GAAGtC,MAAM,CAACmC,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACG,MAAM,GAAGH,KAAK,CAAC;AAEhF,EAAA,IAAI,CAACnC,MAAM,CAAC6M,QAAQ,CAACvK,MAAM,CAAC,EAC5B;IACE,MAAM,IAAIhC,SAAS,CAAC,CAAA,aAAA,EAAgBsM,MAAM,CAAA,eAAA,EAAkB1O,IAAI,yBAAyB,CAAC;AAC5F,EAAA;AAEA,EAAA,OAAOoE,MAAM;AACf;AAEA,SAASwB,oBAAoBA,CAAC3B,KAAK,EACnC;AACE,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAC7B;AACE,IAAA,MAAM0B,UAAU,GAAG1B,KAAK,CAAC2K,WAAW,EAAE;IACtC,IAAIjJ,UAAU,KAAK,SAAS,IAAIA,UAAU,KAAK,mBAAmB,EAAE,OAAO,CAAC;AAC5E,IAAA,IAAIA,UAAU,KAAK,OAAO,EAAE,OAAO,CAAC;AACpC,IAAA,IAAIA,UAAU,KAAK,KAAK,EAAE,OAAO,CAAC;AACpC,EAAA;AAEA,EAAA,MAAMD,MAAM,GAAG5D,MAAM,CAACmC,KAAK,CAAC;AAC5B,EAAA,IAAIyB,MAAM,KAAK,CAAC,IAAIA,MAAM,KAAK,CAAC,IAAIA,MAAM,KAAK,CAAC,EAAE,OAAOA,MAAM;AAC/D,EAAA,MAAM,IAAItD,SAAS,CAAC,CAAA,8CAAA,EAAiD6B,KAAK,GAAG,CAAC;AAChF;;;;"}
1
+ {"version":3,"file":"EveChildMesh.js","sources":["../../../../src/eve/child/EveChildMesh.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildMesh.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildMesh.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Children\\EveChildMesh_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\r\nimport { quat } from \"@carbonenginejs/runtime-utils/quat\";\r\nimport { sph3 } from \"@carbonenginejs/runtime-utils/sph3\";\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/runtime-utils/vec4\";\r\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { TriBatchType } from \"@carbonenginejs/runtime-utils/graphics\";\r\nimport { EveChildTransform, applyTransformModifiers } from \"./EveChildTransform.js\";\r\nimport { Origin } from \"../../generated/eve/child/enums.js\";\r\nimport { ReflectionMode } from \"../../generated/eve/enums.js\";\r\nimport { EveComponentType, ShouldReflect } from \"../EveComponentTypes.js\";\r\nimport { Tr2RenderReason } from \"../../generated/trinityCore/enums.js\";\r\nimport { Tr2Lod } from \"../EveLODHelper.js\";\r\nimport { Tr2PerObjectData } from \"../../trinityCore/Tr2PerObjectData.js\";\r\n\r\n// Module scratch for the hot per-frame visibility/shadow paths (allocation\r\n// rules: copy-into, never allocate per call; child updates run sequentially so\r\n// the scratch is non-reentrant by construction).\r\nconst INVERSE_WORLD_SCRATCH = mat4.create();\r\nconst LOCAL_VIEW_SCRATCH = vec3.create();\r\nconst INSTANCE_SPHERE_SCRATCH = vec4.create();\r\nconst SHADOW_SPHERE_SCRATCH = vec4.create();\r\nconst BOX_CORNER_SCRATCH = vec3.create();\r\nconst BOX_QUERY_SCRATCH = { min: vec3.create(), max: vec3.create() };\r\nconst ZERO_VEC3 = vec3.create();\r\n\r\n\r\n@type.define({ className: \"EveChildMesh\", family: \"eve/child\" })\r\nexport class EveChildMesh extends EveChildTransform\r\n{\r\n #isMorphsBaked = false;\r\n\r\n #morphAnimationBuffer = [];\r\n\r\n #morphAnimationOffsets = {\r\n runtimeEvaluatedOffset: 0,\r\n runtimeEvaluatedCount: 0,\r\n bakedOffset: 0,\r\n bakedCount: 0,\r\n allCount: 0\r\n };\r\n\r\n // Carbon m_isVisible/m_instancesVisible/m_hasUpdated/m_activationStrength:\r\n // runtime-only frame state (never persisted; Carbon keeps them out of the\r\n // Blue surface too).\r\n #isVisible = false;\r\n\r\n #instancesVisible = false;\r\n\r\n #hasUpdated = false;\r\n\r\n #activationStrength = 1;\r\n\r\n // Carbon m_worldBoundingBox/m_worldBoundingSphere: world-space bounds\r\n // refreshed by UpdateAsyncronous; the sphere is invalid while radius <= 0.\r\n #worldBoundsMin = vec3.create();\r\n\r\n #worldBoundsMax = vec3.create();\r\n\r\n #worldBoundsValid = false;\r\n\r\n #worldBoundingSphere = vec4.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"ReflectionMode\")\r\n reflectionMode = 3;\r\n\r\n @io.persist\r\n @type.list(\"IEveChildTransformModifier\")\r\n transformModifiers = [];\r\n\r\n @io.read\r\n @type.mat4\r\n worldTransform = mat4.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n castShadow = false;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.objectRef(\"Tr2MeshBase\")\r\n mesh = null;\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.quat\r\n rotation = quat.create();\r\n\r\n @io.persist\r\n @type.vec3\r\n translation = vec3.create();\r\n\r\n @io.persist\r\n @type.vec3\r\n scaling = vec3.fromValues(1, 1, 1);\r\n\r\n @io.persist\r\n @type.mat4\r\n localTransform = mat4.create();\r\n\r\n @io.persist\r\n @type.list(\"EveSpaceObjectDecal\")\r\n decals = [];\r\n\r\n @io.persist\r\n @type.boolean\r\n staticTransform = false;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.objectRef(\"Tr2GrannyAnimation\")\r\n animationUpdater = null;\r\n\r\n @io.persist\r\n @type.list(\"IEveSpaceObjectAttachment\")\r\n attachments = [];\r\n\r\n @io.persist\r\n @type.list(\"Tr2Light\")\r\n lights = [];\r\n\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Tr2Lod\")\r\n lowestLodVisible = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n minScreenSize = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n sortValueOffset = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n sortValueScale = 1;\r\n\r\n @io.read\r\n @type.float32\r\n currentScreenSize = -1;\r\n\r\n @io.read\r\n @type.float32\r\n currentInstanceScreenSize = -1;\r\n\r\n @io.persist\r\n @type.boolean\r\n useSRT = true;\r\n\r\n @io.persist\r\n @type.boolean\r\n updateAnimation = true;\r\n\r\n // SOF-authored placement/instance values; persisted so the values\r\n // interchange reproduces Carbon's hidden child placement state.\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Origin\")\r\n origin = 0;\r\n\r\n @io.rebuild(\"instanceBuffer\")\r\n @io.persist\r\n @type.array(\"mat4\")\r\n instanceTransforms = [];\r\n\r\n @io.persist\r\n @type.string\r\n sofDna = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofParentHullName = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofLocatorSetName = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n sofLocatorIndex = \"\";\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n if (this.staticTransform)\r\n {\r\n this.RebuildLocalTransform();\r\n }\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n Setup(scale = null, rotation = null, translation = null, lowestLodVisible = null)\r\n {\r\n super.Setup(scale, rotation, translation, lowestLodVisible);\r\n if (lowestLodVisible !== null && lowestLodVisible !== undefined)\r\n {\r\n this.lowestLodVisible = Number(lowestLodVisible) | 0;\r\n }\r\n return this.localTransform;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetInstanceTransforms(instances)\r\n {\r\n const next = [];\r\n for (const transform of instances ?? [])\r\n {\r\n if (!transform || transform.length !== 16)\r\n {\r\n throw new TypeError(\"EveChildMesh instance transforms must contain 16 values\");\r\n }\r\n next.push(mat4.clone(transform));\r\n }\r\n this.instanceTransforms = next;\r\n return this.instanceTransforms;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetInstanceTransforms()\r\n {\r\n return this.instanceTransforms;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetMesh(mesh)\r\n {\r\n this.mesh = mesh ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetOrigin(origin)\r\n {\r\n this.origin = Number(origin) | 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetScale(scale)\r\n {\r\n vec3.copy(this.scaling, scale);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetReflectionMode(mode)\r\n {\r\n this.reflectionMode = Number(mode) | 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetCastShadow(castShadow)\r\n {\r\n this.castShadow = !!castShadow;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetMinScreenSize(minScreenSize)\r\n {\r\n this.minScreenSize = Number(minScreenSize);\r\n }\r\n\r\n /** Carbon EveChildMesh::GetLocalToWorldTransform (cpp:1047-1050); the\r\n * optional out follows the EveChildInstancedMeshes copy-out shape. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalToWorldTransform(out = null)\r\n {\r\n if (out)\r\n {\r\n return mat4.copy(out, this.worldTransform);\r\n }\r\n return this.worldTransform;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddTransformModifier(modifier)\r\n {\r\n this.transformModifiers.push(modifier);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddDecal(decal)\r\n {\r\n this.decals.push(decal);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddAttachment(attachment)\r\n {\r\n this.attachments.push(attachment);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n ClearAttachments()\r\n {\r\n this.attachments.length = 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddLight(light)\r\n {\r\n this.lights.push(light);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n ClearLights()\r\n {\r\n this.lights.length = 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n IsAlwaysOn()\r\n {\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetShaderOption(name, value)\r\n {\r\n this.mesh?.SetShaderOption?.(name, value);\r\n for (const decal of this.decals)\r\n {\r\n decal?.SetShaderOption?.(name, value);\r\n }\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.SetShaderOption?.(name, value);\r\n }\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetMorphTargetNames()\r\n {\r\n return this.mesh?.GetMorphTargetNames?.() ?? [];\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetMorphTargetWeight(name, weight)\r\n {\r\n this.mesh?.SetMorphTargetWeight?.(name, weight);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetMorphTargetWeight(name)\r\n {\r\n return this.mesh?.GetMorphTargetWeight?.(name) ?? 0;\r\n }\r\n\r\n /** Rebuilds the source-backed indexed morph buffer from manual and animation weights. */\r\n @impl.adapted\r\n UpdateMorphAnimationBuffer()\r\n {\r\n const names = this.mesh?.GetMorphTargetNames?.();\r\n\r\n this.#morphAnimationOffsets = {\r\n runtimeEvaluatedOffset: 0,\r\n runtimeEvaluatedCount: 0,\r\n bakedOffset: 0,\r\n bakedCount: 0,\r\n allCount: 0\r\n };\r\n\r\n if (!Array.isArray(names))\r\n {\r\n this.#morphAnimationBuffer = [];\r\n return 0;\r\n }\r\n\r\n const manual = this.mesh?.GetMorphAnimations?.();\r\n const records = names.map((name, index) => ({\r\n index,\r\n weight: ReadMorphWeight(\r\n ReadNamedMorph(manual, name) ?? this.mesh?.GetMorphTargetWeight?.(name) ?? 0,\r\n name,\r\n \"mesh\"\r\n ),\r\n baked: !!(this.mesh?.IsBakedMorph?.(index)\r\n ?? this.mesh?.GetBakedMorphTarget?.(name)\r\n ?? false)\r\n }));\r\n\r\n if (this.animationUpdater?.IsInitialized?.())\r\n {\r\n const animated = this.animationUpdater.GetMorphAnimations?.();\r\n\r\n for (const record of records)\r\n {\r\n const name = names[record.index];\r\n const value = ReadNamedMorph(animated, name);\r\n\r\n if (value !== undefined)\r\n {\r\n record.weight = ReadMorphWeight(value, name, \"animation\");\r\n }\r\n }\r\n }\r\n\r\n const runtime = [];\r\n const baked = [];\r\n const inactive = [];\r\n\r\n for (const record of records)\r\n {\r\n if (record.weight >= 0.001)\r\n {\r\n (record.baked ? baked : runtime).push(record);\r\n }\r\n else\r\n {\r\n inactive.push(record);\r\n }\r\n }\r\n\r\n this.#morphAnimationBuffer = [ ...runtime, ...baked, ...inactive ];\r\n this.#morphAnimationOffsets.runtimeEvaluatedCount = runtime.length;\r\n this.#morphAnimationOffsets.bakedOffset = runtime.length;\r\n this.#morphAnimationOffsets.bakedCount = baked.length;\r\n this.#morphAnimationOffsets.allCount = runtime.length + baked.length;\r\n return this.#morphAnimationOffsets.allCount;\r\n }\r\n\r\n /** Returns detached active indexed morph records for the native filter. */\r\n @impl.adapted\r\n GetMorphTargets(filter = 2)\r\n {\r\n const normalized = NormalizeMorphFilter(filter);\r\n let offset = 0;\r\n let count = 0;\r\n\r\n if (normalized === 2)\r\n {\r\n count = this.#morphAnimationOffsets.allCount;\r\n }\r\n else if (normalized === 0)\r\n {\r\n offset = this.#isMorphsBaked\r\n ? this.#morphAnimationOffsets.runtimeEvaluatedOffset\r\n : 0;\r\n count = this.#isMorphsBaked\r\n ? this.#morphAnimationOffsets.runtimeEvaluatedCount\r\n : this.#morphAnimationOffsets.allCount;\r\n }\r\n else\r\n {\r\n offset = this.#morphAnimationOffsets.bakedOffset;\r\n count = this.#morphAnimationOffsets.bakedCount;\r\n }\r\n\r\n return this.#morphAnimationBuffer.slice(offset, offset + count)\r\n .map(value => ({ index: value.index, weight: value.weight }));\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetSofSourceLocator()\r\n {\r\n return null;\r\n }\r\n\r\n /**\r\n * Sync-side frame update (Carbon EveChildMesh::UpdateSyncronous,\r\n * cpp:1002-1045). Carbon's body is entirely audio-geometry registration\r\n * (cpp:1004-1010, 1044 - engine/audio-owned, omitted) plus animationUpdater\r\n * re-binding and PrePhysicsAnimation stepping (cpp:1011-1042 - skipped: the\r\n * JS animation seam is absent, there is no Tr2GrannyAnimation runtime), so\r\n * the port is a documented frame-contract no-op.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Audio-geometry registration is engine-owned and the animationUpdater branches await the JS animation seam; nothing else remains in Carbon's body.\")\r\n UpdateSyncronous(_updateContext, _params)\r\n {\r\n }\r\n\r\n /**\r\n * Per-frame async update (Carbon EveChildMesh::UpdateAsyncronous,\r\n * cpp:903-1000): rebuild the world transform from the parent, fold the\r\n * transform modifiers over it, store the activation strength, refresh the\r\n * attachment lights, the morph buffer, and the world bounds. The GPU ring\r\n * buffer advance/per-object-data invalidation (cpp:905-909), audio geometry\r\n * (cpp:920-930), parent VS/PS struct refresh (cpp:932-960), and the skinned\r\n * GetBounds overload are not modelled, hence @impl.adapted.\r\n * @param {Object} updateContext - frame context (EveUpdateContext), threaded to modifiers\r\n * @param {EveChildUpdateParams} params - localToWorldTransform + boneCount/bones\r\n * @returns {Float32Array} worldTransform\r\n */\r\n @carbon.method\r\n @carbon.contextual([\"camera\"])\r\n @impl.adapted\r\n UpdateAsyncronous(updateContext, params)\r\n {\r\n const parentTransform = params?.localToWorldTransform;\r\n\r\n if (parentTransform && parentTransform.length === 16)\r\n {\r\n this.UpdateTransform(parentTransform);\r\n }\r\n\r\n applyTransformModifiers(\r\n this,\r\n updateContext,\r\n params?.boneCount ?? 0,\r\n params?.bones ?? null\r\n );\r\n\r\n this.#activationStrength = Number(params?.activationStrength ?? 1);\r\n\r\n // Carbon (cpp:962-970): attachments refresh their lights from the updated\r\n // world transform. Bones come from GetBoneTransforms (animationUpdater) -\r\n // null until the JS animation seam exists.\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.UpdateLights?.(this.worldTransform, null, 0, this.#activationStrength, 0);\r\n }\r\n\r\n this.UpdateMorphAnimationBuffer();\r\n\r\n // Carbon (cpp:974-997): world AABB from the mesh bounds, world sphere\r\n // enclosing it. The skinned GetBounds overload (animation transforms +\r\n // morph targets, cpp:977-982) awaits the animation seam; Tr2MeshBase::\r\n // GetBounds itself is a recorded gap (CARBON-PARITY-REVIEW-2026-07-23.md\r\n // section 2.3), hence the duck call (Tr2InstancedMesh implements it).\r\n this.#worldBoundsValid = false;\r\n const bounds = this.mesh?.GetBounds?.();\r\n\r\n if (bounds?.min && bounds?.max)\r\n {\r\n this.#worldBoundsMin[0] = this.#worldBoundsMin[1] = this.#worldBoundsMin[2] = Infinity;\r\n this.#worldBoundsMax[0] = this.#worldBoundsMax[1] = this.#worldBoundsMax[2] = -Infinity;\r\n for (let index = 0; index < 8; index++)\r\n {\r\n vec3.set(\r\n BOX_CORNER_SCRATCH,\r\n index & 1 ? bounds.max[0] : bounds.min[0],\r\n index & 2 ? bounds.max[1] : bounds.min[1],\r\n index & 4 ? bounds.max[2] : bounds.min[2]\r\n );\r\n vec3.transformMat4(BOX_CORNER_SCRATCH, BOX_CORNER_SCRATCH, this.worldTransform);\r\n vec3.min(this.#worldBoundsMin, this.#worldBoundsMin, BOX_CORNER_SCRATCH);\r\n vec3.max(this.#worldBoundsMax, this.#worldBoundsMax, BOX_CORNER_SCRATCH);\r\n }\r\n this.#worldBoundsValid = true;\r\n sph3.fromBounds(this.#worldBoundingSphere, this.#worldBoundsMin, this.#worldBoundsMax);\r\n }\r\n else\r\n {\r\n sph3.set(this.#worldBoundingSphere, 0, 0, 0, 0);\r\n }\r\n\r\n this.#hasUpdated = true;\r\n return this.worldTransform;\r\n }\r\n\r\n /**\r\n * Frame visibility + LOD state (Carbon EveChildMesh::UpdateVisibility,\r\n * cpp:366-463): screen size via the frustum, invLodFactor scaling, the\r\n * minScreenSize/lowestLodVisible gates, the per-instance visibility gate,\r\n * and the attachment/decal visibility fan-out. Carbon recomputes the local\r\n * mesh bounds here (cpp:380-394) but consumes only the world sphere/box\r\n * computed in UpdateAsyncronous, so the dead recompute is skipped. The\r\n * raytracing branch (cpp:450-462) is engine-owned and omitted.\r\n * @param {Object} updateContext - frame context (frustum + invLodFactor ducks)\r\n * @param {Float32Array} _parentTransform\r\n * @param {Number} parentLod - parent Tr2Lod level\r\n * @returns {Boolean} isVisible\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Bone-fed decal/attachment bounds await the animation seam and the raytracing refresh is engine-owned; the LOD/screen-size math is ported.\")\r\n UpdateVisibility(updateContext, _parentTransform = null, parentLod = Tr2Lod.TR2_LOD_HIGH)\r\n {\r\n this.#isVisible = false;\r\n this.currentScreenSize = -1;\r\n this.#instancesVisible = false;\r\n this.currentInstanceScreenSize = -1;\r\n\r\n if (!this.#hasUpdated)\r\n {\r\n return false;\r\n }\r\n\r\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\r\n const invLodFactor = Number(updateContext?.GetInvLodFactor?.() ?? updateContext?.invLodFactor) || 1;\r\n\r\n if (this.mesh)\r\n {\r\n this.currentScreenSize = Number(frustum?.GetPixelSizeAccross?.(this.#worldBoundingSphere) ?? Infinity) || 0;\r\n\r\n // Cached Tr2InstancedMesh downcast in Carbon (m_instancedMesh); the JS\r\n // port duck-types the instanced surface instead.\r\n const instanced = typeof this.mesh.GetInstanceBoundsClosestToPoint === \"function\";\r\n let instanceBounds = null;\r\n\r\n if (instanced)\r\n {\r\n // Carbon: TransformCoord(frustum.m_viewPos, Inverse(m_worldTransform))\r\n // - a single-matrix point transform (no composition; TransformCoord\r\n // maps to vec3.transformMat4 unchanged per the math conventions).\r\n if (!mat4.invert(INVERSE_WORLD_SCRATCH, this.worldTransform))\r\n {\r\n mat4.identity(INVERSE_WORLD_SCRATCH);\r\n }\r\n const viewPos = frustum?.m_viewPos ?? frustum?.viewPos ?? frustum?.GetViewPosition?.() ?? ZERO_VEC3;\r\n vec3.transformMat4(LOCAL_VIEW_SCRATCH, viewPos, INVERSE_WORLD_SCRATCH);\r\n instanceBounds = this.mesh.GetInstanceBoundsClosestToPoint(LOCAL_VIEW_SCRATCH);\r\n }\r\n\r\n if (instanceBounds)\r\n {\r\n // Carbon: instanceBounds.Transform(m_worldTransform) - single-matrix\r\n // sphere transform, ported via sph3.transformMat4.\r\n sph3.set(\r\n INSTANCE_SPHERE_SCRATCH,\r\n instanceBounds.center[0],\r\n instanceBounds.center[1],\r\n instanceBounds.center[2],\r\n instanceBounds.radius\r\n );\r\n sph3.transformMat4(INSTANCE_SPHERE_SCRATCH, INSTANCE_SPHERE_SCRATCH, this.worldTransform);\r\n this.currentInstanceScreenSize = Number(frustum?.GetPixelSizeAccross?.(INSTANCE_SPHERE_SCRATCH) ?? Infinity) || 0;\r\n this.mesh.UseWithScreenSize?.(this.currentInstanceScreenSize, INSTANCE_SPHERE_SCRATCH[3]);\r\n }\r\n else\r\n {\r\n // Carbon uses std::numeric_limits<float>::max(); Infinity keeps the\r\n // instance gate permanently open the same way.\r\n this.currentInstanceScreenSize = Infinity;\r\n this.mesh.UseWithScreenSize?.(this.currentScreenSize, this.#worldBoundingSphere[3]);\r\n }\r\n\r\n this.currentScreenSize *= invLodFactor;\r\n this.currentInstanceScreenSize *= invLodFactor;\r\n\r\n BOX_QUERY_SCRATCH.min = this.#worldBoundsMin;\r\n BOX_QUERY_SCRATCH.max = this.#worldBoundsMax;\r\n const boxVisible = this.#worldBoundsValid &&\r\n (frustum?.IsBoxVisible ? !!frustum.IsBoxVisible(BOX_QUERY_SCRATCH) : true);\r\n\r\n if (boxVisible)\r\n {\r\n this.#isVisible = parentLod >= this.lowestLodVisible && this.currentScreenSize >= this.minScreenSize;\r\n this.#instancesVisible = this.#isVisible &&\r\n this.currentInstanceScreenSize >= EveChildMesh.#instanceScreenSizeThreshold;\r\n }\r\n }\r\n\r\n // Carbon (cpp:427-435): attachments always refresh visibility; bones from\r\n // GetBoneTransforms await the animation seam.\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.UpdateVisibility?.(updateContext, this.worldTransform, null, 0);\r\n }\r\n\r\n if (this.#isVisible)\r\n {\r\n for (const decal of this.decals)\r\n {\r\n // Carbon (cpp:441-446) feeds animated bone matrices to the decal first\r\n // - skipped until the JS animation seam exists. Carbon passes\r\n // &m_parentData (per-object shading struct, GPU seam); the owning\r\n // child stands in as the duck-typed parent.\r\n decal?.UpdateVisibility?.(updateContext, this);\r\n }\r\n }\r\n\r\n return this.#isVisible;\r\n }\r\n\r\n /**\r\n * Collects this child (and its decals) as renderables (Carbon\r\n * EveChildMesh::GetRenderables, cpp:571-616): instanced meshes contribute\r\n * only while the per-instance gate passed; decals ride along through their\r\n * duck-typed renderable collectors (mesh cache is engine-owned, passed null\r\n * as in EveSpaceObject2.GetRenderables).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The decal mesh cache is engine-owned (null placeholder); collection structure is ported.\")\r\n GetRenderables(out = [])\r\n {\r\n if (!this.#isVisible)\r\n {\r\n return out;\r\n }\r\n\r\n const instanced = typeof this.mesh?.GetInstanceBoundsClosestToPoint === \"function\";\r\n\r\n if (instanced)\r\n {\r\n if (this.#instancesVisible)\r\n {\r\n out.push(this);\r\n if (this.decals.length && this.mesh.GetGeometryResource?.())\r\n {\r\n for (const decal of this.decals)\r\n {\r\n decal?.GetInstancedRenderables?.(out, null, this.mesh, this.currentInstanceScreenSize);\r\n }\r\n }\r\n }\r\n }\r\n else\r\n {\r\n out.push(this);\r\n const geometryResource = this.mesh?.GetGeometryResource?.();\r\n if (this.decals.length && geometryResource)\r\n {\r\n for (const decal of this.decals)\r\n {\r\n decal?.GetRenderables?.(out, null, geometryResource, this.currentScreenSize);\r\n }\r\n }\r\n }\r\n\r\n return out;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetBoundingSphere (cpp:618-627): the realized world\r\n * sphere, valid only after an update produced bounds (radius > 0). */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(out = vec4.create(), _query = 0)\r\n {\r\n if (this.#worldBoundingSphere[3] > 0)\r\n {\r\n vec4.copy(out, this.#worldBoundingSphere);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::HasTransparentBatches (cpp:629-637). */\r\n @carbon.method\r\n @impl.implemented\r\n HasTransparentBatches()\r\n {\r\n if (this.display && this.mesh)\r\n {\r\n return (this.mesh.GetAreas?.(TriBatchType.TRIBATCHTYPE_TRANSPARENT)?.length ?? 0) > 0;\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::IsVisible (cpp:639-650): sphere-in-frustum plus the\r\n * estimated pixel size against the context visibility threshold. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Frustum and threshold arrive via the duck-typed update context instead of renderer state.\")\r\n IsVisible(updateContext)\r\n {\r\n if (this.#worldBoundingSphere[3] > 0)\r\n {\r\n const frustum = updateContext?.GetFrustum?.() ?? updateContext?.frustum;\r\n if (frustum?.IsSphereVisible?.(this.#worldBoundingSphere) !== false)\r\n {\r\n const method = frustum?.GetPixelSizeAccrossEst ?? frustum?.GetPixelSizeAccross;\r\n const size = Number(typeof method === \"function\" ? method.call(frustum, this.#worldBoundingSphere) : 0) || 0;\r\n const threshold = Number(updateContext?.GetVisibilityThreshold?.() ?? updateContext?.visibilityThreshold) || 0;\r\n return size >= threshold;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetBatches (cpp:652-670): the mesh delegates per\r\n * batch type and activated attachments recurse. Carbon also passes\r\n * min(currentInstanceScreenSize, currentScreenSize) for LOD selection and a\r\n * reverse-winding flag from Determinant(m_worldTransform) < 0; both are\r\n * resolved by the engine at batch realization in the GPU-free port.\r\n * Returns whether any batch was committed (JS addition; Carbon returns\r\n * void). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Screen-size LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.\")\r\n GetBatches(batches, batchType, perObjectData, reason = Tr2RenderReason.TR2RENDERREASON_NORMAL)\r\n {\r\n if (!this.display)\r\n {\r\n return false;\r\n }\r\n\r\n let committed = false;\r\n\r\n if (this.mesh)\r\n {\r\n committed = this.mesh.GetBatches(batches, this.mesh.GetAreas(batchType), perObjectData) === true;\r\n }\r\n\r\n if (this.#activationStrength !== 0)\r\n {\r\n for (const attachment of this.attachments)\r\n {\r\n committed = attachment?.GetBatches?.(batches, batchType, perObjectData, reason) === true || committed;\r\n }\r\n }\r\n\r\n return committed;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetShadowBatches (cpp:672-681): the OPAQUE areas\r\n * only, gated on display/mesh/hasUpdated. shadowPixelSize and the\r\n * reverse-winding flag are engine-resolved at realization. Returns whether\r\n * any batch was committed (JS addition; Carbon returns void). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"shadowPixelSize LOD selection and winding reversal are engine-resolved at realization; delegation structure is ported.\")\r\n GetShadowBatches(batches, perObjectData, _shadowPixelSize)\r\n {\r\n if (this.display && this.mesh && this.#hasUpdated)\r\n {\r\n return this.mesh.GetBatches(batches, this.mesh.GetAreas(TriBatchType.TRIBATCHTYPE_OPAQUE), perObjectData) === true;\r\n }\r\n return false;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetSortValue (cpp:787-792): view distance scaled by\r\n * sortValueScale plus sortValueOffset. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon reads the Tr2Renderer view-position global; the relocated camera state arrives via the threaded render context.\")\r\n GetSortValue(renderContext = null)\r\n {\r\n const viewPosition = renderContext?.GetViewPosition?.();\r\n const x = (viewPosition?.[0] ?? 0) - this.worldTransform[12];\r\n const y = (viewPosition?.[1] ?? 0) - this.worldTransform[13];\r\n const z = (viewPosition?.[2] ?? 0) - this.worldTransform[14];\r\n return Math.hypot(x, y, z) * this.sortValueScale + this.sortValueOffset;\r\n }\r\n\r\n /** Carbon EveChildMesh::GetShadowPerObjectData (cpp:794-797) forwards the\r\n * shadow pass to the same per-object record. */\r\n @carbon.method\r\n @impl.implemented\r\n GetShadowPerObjectData(accumulator = null)\r\n {\r\n return this.GetPerObjectData(accumulator);\r\n }\r\n\r\n /** Carbon EveChildMesh::GetPerObjectData (cpp:799-843) uploads bone/morph\r\n * ring-buffer offsets and allocates Tr2PerObjectDataWithPersistentBuffers;\r\n * those fills are GPU ring-buffer state, so the GPU-free record carries the\r\n * live object reference for the engine serializer to pull current values at\r\n * realization (mirrors EveSpaceObject2.GetPerObjectData). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Persistent VS/PS device buffers and bone/morph ring offsets are engine-owned; the record carries the object reference the engine serializer consumes.\")\r\n GetPerObjectData(accumulator = null)\r\n {\r\n const data = typeof accumulator?.Allocate === \"function\"\r\n ? accumulator.Allocate(Tr2PerObjectData)\r\n : new Tr2PerObjectData();\r\n data.object = this;\r\n return data;\r\n }\r\n\r\n /**\r\n * Carbon's two IsCastingShadow overloads, dispatched on the second argument:\r\n * a position vector (length >= 3) selects the sphere-overlap overload\r\n * (cpp:338-364); anything else is the shadow-frustum overload (cpp:295-336),\r\n * whose Carbon out-param float& sizeInShadow becomes the optional trailing\r\n * length-1 array (out-params last).\r\n * @param {Object} cameraFrustum\r\n * @param {Object|Float32Array} shadowFrustumOrPosition\r\n * @param {Number} renderReasonOrRadius\r\n * @param {Array|Number} sizeInShadowOutOrRenderReason\r\n * @returns {Boolean}\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Overload dispatch by argument shape and a length-1 out array replace C++ overloading and the float& out-param; the shadow math is ported.\")\r\n IsCastingShadow(cameraFrustum, shadowFrustumOrPosition, renderReasonOrRadius, sizeInShadowOutOrRenderReason = null)\r\n {\r\n if (!this.display || !this.castShadow || !this.#hasUpdated)\r\n {\r\n return false;\r\n }\r\n\r\n const positionOverload = typeof shadowFrustumOrPosition?.length === \"number\" &&\r\n shadowFrustumOrPosition.length >= 3;\r\n const renderReason = positionOverload\r\n ? Number(sizeInShadowOutOrRenderReason ?? Tr2RenderReason.TR2RENDERREASON_NORMAL)\r\n : Number(renderReasonOrRadius ?? Tr2RenderReason.TR2RENDERREASON_NORMAL);\r\n\r\n if (renderReason === Tr2RenderReason.TR2RENDERREASON_REFLECTION &&\r\n !ShouldReflect(this.reflectionMode))\r\n {\r\n return false;\r\n }\r\n\r\n if (positionOverload)\r\n {\r\n // Carbon (cpp:338-364): squared distance between the world sphere and\r\n // the query sphere against their combined radius.\r\n if (!this.GetBoundingSphere(SHADOW_SPHERE_SCRATCH))\r\n {\r\n return false;\r\n }\r\n const position = shadowFrustumOrPosition;\r\n const radius = Number(renderReasonOrRadius) || 0;\r\n const dx = SHADOW_SPHERE_SCRATCH[0] - position[0];\r\n const dy = SHADOW_SPHERE_SCRATCH[1] - position[1];\r\n const dz = SHADOW_SPHERE_SCRATCH[2] - position[2];\r\n const combined = radius + SHADOW_SPHERE_SCRATCH[3];\r\n return dx * dx + dy * dy + dz * dz - combined * combined < 0;\r\n }\r\n\r\n // Carbon (cpp:295-336): shadow-frustum visibility, then the size in the\r\n // shadow map from the instance sphere nearest the shadow eye (falling back\r\n // to the whole world sphere).\r\n const shadowFrustum = shadowFrustumOrPosition;\r\n const sizeOut = sizeInShadowOutOrRenderReason;\r\n if (sizeOut)\r\n {\r\n sizeOut[0] = 0;\r\n }\r\n\r\n if (this.#worldBoundingSphere[3] <= 0)\r\n {\r\n return false;\r\n }\r\n\r\n let sizeInShadow = 0;\r\n if (shadowFrustum?.IsVisible?.(cameraFrustum, this.#worldBoundingSphere))\r\n {\r\n let sphere = this.#worldBoundingSphere;\r\n if (typeof this.mesh?.GetInstanceBoundsClosestToPoint === \"function\")\r\n {\r\n // Carbon: TransformCoord(shadowFrustum.GetEyePos(), Inverse(\r\n // m_worldTransform)) - single-matrix point transform (no composition).\r\n if (!mat4.invert(INVERSE_WORLD_SCRATCH, this.worldTransform))\r\n {\r\n mat4.identity(INVERSE_WORLD_SCRATCH);\r\n }\r\n const eyePos = shadowFrustum?.GetEyePos?.() ?? ZERO_VEC3;\r\n vec3.transformMat4(LOCAL_VIEW_SCRATCH, eyePos, INVERSE_WORLD_SCRATCH);\r\n const instanceBounds = this.mesh.GetInstanceBoundsClosestToPoint(LOCAL_VIEW_SCRATCH);\r\n if (instanceBounds)\r\n {\r\n // Carbon: instanceBounds.Transform(m_worldTransform) - single-matrix\r\n // sphere transform.\r\n sph3.set(\r\n INSTANCE_SPHERE_SCRATCH,\r\n instanceBounds.center[0],\r\n instanceBounds.center[1],\r\n instanceBounds.center[2],\r\n instanceBounds.radius\r\n );\r\n sph3.transformMat4(INSTANCE_SPHERE_SCRATCH, INSTANCE_SPHERE_SCRATCH, this.worldTransform);\r\n sphere = INSTANCE_SPHERE_SCRATCH;\r\n }\r\n }\r\n sizeInShadow = Number(shadowFrustum?.GetSizeInShadow?.(sphere)) || 0;\r\n }\r\n\r\n if (sizeOut)\r\n {\r\n sizeOut[0] = sizeInShadow;\r\n }\r\n return sizeInShadow > 5;\r\n }\r\n\r\n /** Carbon EveChildMesh::ChangeLOD (cpp:1052-1054) is an intentional no-op. */\r\n @carbon.method\r\n @impl.implemented\r\n ChangeLOD(_lod)\r\n {\r\n }\r\n\r\n /** Carbon EveChildMesh::RegisterComponents (cpp:239-269): LightOwner when\r\n * lights are authored; ReflectionRenderable (ShouldReflect) and ShadowCaster\r\n * (castShadow) only when a mesh is present; then forwards the attachments.\r\n * Gate m_display. \"MeshMorph\" stays OUT-OF-BAND: Carbon registers it at\r\n * baked-morph need inside BakeMorphs (cpp:1404-1409), not here - the JS\r\n * BakeMorphs stub is the site that would register it when the GPU morph\r\n * bake is ported. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.display)\r\n {\r\n if (this.lights.length)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n\r\n if (this.mesh !== null)\r\n {\r\n if (ShouldReflect(this.reflectionMode))\r\n {\r\n registry.RegisterComponent(EveComponentType.ReflectionRenderable, this);\r\n }\r\n if (this.castShadow)\r\n {\r\n registry.RegisterComponent(EveComponentType.ShadowCaster, this);\r\n }\r\n }\r\n\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.Register?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildMesh::UnRegisterComponents (cpp:275-290): forwards the\r\n * attachments only (own components were already removed by\r\n * EveEntity::UnRegister, EveEntity.cpp:90); no display re-check.\r\n * UnregisterAudioGeometry (cpp:277) is audio-engine-owned and unported. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const attachment of this.attachments)\r\n {\r\n attachment?.UnRegister?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildMesh::GetLights (cpp:1638-1652): BOTH gates (empty\r\n * lights and display, cpp:1640 - unlike EveSpaceObject2's display-only),\r\n * then per light AddLight(manager, worldTransform, 1, bones, boneCount)\r\n * FOLLOWED by SetBrightnessMultiplier(m_activationStrength) - the\r\n * one-frame-lag order is contract (the submission uses the multiplier\r\n * stamped on the previous pass; the first pass uses the Tr2Light default\r\n * 1). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"GetBoneTransforms (cpp:1285-1307) rides the granny animation updater - awaits the JS animation seam; (null, 0) is passed per the file's UpdateAsyncronous convention.\")\r\n GetLights(lightManager)\r\n {\r\n if (!this.lights.length || !this.display)\r\n {\r\n return;\r\n }\r\n for (const light of this.lights)\r\n {\r\n light?.AddLight?.(lightManager, this.worldTransform, 1, null, 0);\r\n light?.SetBrightnessMultiplier?.(this.#activationStrength);\r\n }\r\n }\r\n\r\n /** Carbon EveChildMesh::GetPickingBatches (cpp:862-889) maps Tr2PickTypes\r\n * flags onto batch-type collections with transparent/additive special\r\n * casing; the pick-type flag enum is not yet ported, so the surface fails\r\n * loudly rather than mis-collecting. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetPickingBatches(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.GetPickingBatches is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon EveChildMesh::InitializeAnimation (cpp:217-232) wires the\r\n * animationUpdater to the mesh geometry resource; awaits the JS animation\r\n * seam (no Tr2GrannyAnimation runtime). */\r\n @carbon.method\r\n @impl.notImplemented\r\n InitializeAnimation(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.InitializeAnimation is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon BakeMorphs runs the merge-morphs GPU compute pass; GPU-owned. */\r\n @carbon.method\r\n @impl.notImplemented\r\n BakeMorphs(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.BakeMorphs is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon UnbakeMorphs releases the baked-morph GPU allocation; GPU-owned. */\r\n @carbon.method\r\n @impl.notImplemented\r\n UnbakeMorphs(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.UnbakeMorphs is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon IsMeshBaked reads the baked-morph GPU allocation state; GPU-owned. */\r\n @carbon.method\r\n @impl.notImplemented\r\n IsMeshBaked(..._args)\r\n {\r\n throw new Error(\"EveChildMesh.IsMeshBaked is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n // Carbon s_instanceScreenSizeThreshold (EveChildMesh.cpp:22).\r\n static #instanceScreenSizeThreshold = 1;\r\n\r\n static Origin = Origin;\r\n\r\n static ReflectionMode = ReflectionMode;\r\n\r\n static Tr2Lod = Tr2Lod;\r\n\r\n}\r\n\r\nfunction ReadNamedMorph(values, name)\r\n{\r\n if (values instanceof Map)\r\n {\r\n return values.has(name) ? values.get(name) : undefined;\r\n }\r\n\r\n if (values && typeof values === \"object\" && Object.hasOwn(values, name))\r\n {\r\n return values[name];\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction ReadMorphWeight(value, name, source)\r\n{\r\n const weight = Number(value && typeof value === \"object\" ? value.weight : value);\r\n\r\n if (!Number.isFinite(weight))\r\n {\r\n throw new TypeError(`EveChildMesh ${source} morph target \"${name}\" weight must be finite`);\r\n }\r\n\r\n return weight;\r\n}\r\n\r\nfunction NormalizeMorphFilter(value)\r\n{\r\n if (typeof value === \"string\")\r\n {\r\n const normalized = value.toLowerCase();\r\n if (normalized === \"runtime\" || normalized === \"runtime_evaluated\") return 0;\r\n if (normalized === \"baked\") return 1;\r\n if (normalized === \"all\") return 2;\r\n }\r\n\r\n const filter = Number(value);\r\n if (filter === 0 || filter === 1 || filter === 2) return filter;\r\n throw new TypeError(`Unsupported EveChildMesh morph target filter \"${value}\"`);\r\n}\r\n"],"names":["INVERSE_WORLD_SCRATCH","mat4","create","LOCAL_VIEW_SCRATCH","vec3","INSTANCE_SPHERE_SCRATCH","vec4","SHADOW_SPHERE_SCRATCH","BOX_CORNER_SCRATCH","BOX_QUERY_SCRATCH","min","max","ZERO_VEC3","_EveChildMesh","_identity","EveChildMesh","EveChildTransform","e","_init_reflectionMode","_init_extra_reflectionMode","_init_transformModifiers","_init_extra_transformModifiers","_init_worldTransform","_init_extra_worldTransform","_init_display","_init_extra_display","_init_castShadow","_init_extra_castShadow","_init_mesh","_init_extra_mesh","_init_name","_init_extra_name","_init_rotation","_init_extra_rotation","_init_translation","_init_extra_translation","_init_scaling","_init_extra_scaling","_init_localTransform","_init_extra_localTransform","_init_decals","_init_extra_decals","_init_staticTransform","_init_extra_staticTransform","_init_animationUpdater","_init_extra_animationUpdater","_init_attachments","_init_extra_attachments","_init_lights","_init_extra_lights","_init_lowestLodVisible","_init_extra_lowestLodVisible","_init_minScreenSize","_init_extra_minScreenSize","_init_sortValueOffset","_init_extra_sortValueOffset","_init_sortValueScale","_init_extra_sortValueScale","_init_currentScreenSize","_init_extra_currentScreenSize","_init_currentInstanceScreenSize","_init_extra_currentInstanceScreenSize","_init_useSRT","_init_extra_useSRT","_init_updateAnimation","_init_extra_updateAnimation","_init_origin","_init_extra_origin","_init_instanceTransforms","_init_extra_instanceTransforms","_init_sofDna","_init_extra_sofDna","_init_sofParentHullName","_init_extra_sofParentHullName","_init_sofLocatorSetName","_init_extra_sofLocatorSetName","_init_sofLocatorIndex","_init_extra_sofLocatorIndex","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","schema","enum","list","read","boolean","objectRef","string","quat","float32","rebuild","array","carbon","method","impl","adapted","implemented","reason","contextual","notImplemented","constructor","args","runtimeEvaluatedOffset","runtimeEvaluatedCount","bakedOffset","bakedCount","allCount","reflectionMode","transformModifiers","worldTransform","display","castShadow","mesh","name","rotation","translation","scaling","fromValues","localTransform","decals","staticTransform","animationUpdater","attachments","lights","lowestLodVisible","minScreenSize","sortValueOffset","sortValueScale","currentScreenSize","currentInstanceScreenSize","useSRT","updateAnimation","origin","instanceTransforms","sofDna","sofParentHullName","sofLocatorSetName","sofLocatorIndex","Initialize","RebuildLocalTransform","Setup","scale","undefined","Number","SetInstanceTransforms","instances","next","transform","length","TypeError","push","clone","GetInstanceTransforms","SetMesh","SetOrigin","SetScale","copy","SetReflectionMode","mode","SetCastShadow","SetMinScreenSize","GetLocalToWorldTransform","out","GetName","SetName","String","AddTransformModifier","modifier","AddDecal","decal","AddAttachment","attachment","ClearAttachments","AddLight","light","ClearLights","IsAlwaysOn","SetShaderOption","value","GetMorphTargetNames","SetMorphTargetWeight","weight","GetMorphTargetWeight","UpdateMorphAnimationBuffer","names","Array","isArray","manual","GetMorphAnimations","records","map","index","ReadMorphWeight","ReadNamedMorph","baked","IsBakedMorph","GetBakedMorphTarget","IsInitialized","animated","record","runtime","inactive","GetMorphTargets","filter","normalized","NormalizeMorphFilter","offset","count","slice","GetSofSourceLocator","UpdateSyncronous","_updateContext","_params","UpdateAsyncronous","updateContext","params","parentTransform","localToWorldTransform","UpdateTransform","applyTransformModifiers","boneCount","bones","activationStrength","UpdateLights","bounds","GetBounds","Infinity","set","transformMat4","sph3","fromBounds","UpdateVisibility","_parentTransform","parentLod","Tr2Lod","TR2_LOD_HIGH","frustum","GetFrustum","invLodFactor","GetInvLodFactor","GetPixelSizeAccross","instanced","GetInstanceBoundsClosestToPoint","instanceBounds","invert","identity","viewPos","m_viewPos","GetViewPosition","center","radius","UseWithScreenSize","boxVisible","IsBoxVisible","GetRenderables","GetGeometryResource","GetInstancedRenderables","geometryResource","GetBoundingSphere","_query","HasTransparentBatches","GetAreas","TriBatchType","TRIBATCHTYPE_TRANSPARENT","IsVisible","IsSphereVisible","GetPixelSizeAccrossEst","size","call","threshold","GetVisibilityThreshold","visibilityThreshold","GetBatches","batches","batchType","perObjectData","Tr2RenderReason","TR2RENDERREASON_NORMAL","committed","GetShadowBatches","_shadowPixelSize","TRIBATCHTYPE_OPAQUE","GetSortValue","renderContext","viewPosition","x","y","z","Math","hypot","GetShadowPerObjectData","accumulator","GetPerObjectData","data","Allocate","Tr2PerObjectData","object","IsCastingShadow","cameraFrustum","shadowFrustumOrPosition","renderReasonOrRadius","sizeInShadowOutOrRenderReason","positionOverload","renderReason","TR2RENDERREASON_REFLECTION","ShouldReflect","position","dx","dy","dz","combined","shadowFrustum","sizeOut","sizeInShadow","sphere","eyePos","GetEyePos","GetSizeInShadow","ChangeLOD","_lod","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","ReflectionRenderable","ShadowCaster","Register","UnRegisterComponents","UnRegister","GetLights","lightManager","SetBrightnessMultiplier","GetPickingBatches","_args","Error","InitializeAnimation","BakeMorphs","UnbakeMorphs","IsMeshBaked","Origin","ReflectionMode","values","Map","has","get","Object","hasOwn","source","isFinite","toLowerCase"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { mat4 } from '@carbonenginejs/core-math/mat4';
3
- import { quat } from '@carbonenginejs/core-math/quat';
4
- import { vec3 } from '@carbonenginejs/core-math/vec3';
5
- import { type, carbon, impl } from '@carbonenginejs/core-types/schema';
2
+ import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
3
+ import { quat } from '@carbonenginejs/runtime-utils/quat';
4
+ import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
5
+ import { type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
6
6
  import { EveEntity as _EveEntity } from '../../generated/eve/EveEntity.js';
7
7
 
8
8
  let _initProto, _initClass, _init_translation, _init_extra_translation, _init_scaling, _init_extra_scaling, _init_rotation, _init_extra_rotation, _init_localTransform, _init_extra_localTransform, _init_worldTransform, _init_extra_worldTransform, _init_staticTransform, _init_extra_staticTransform, _init_useSRT, _init_extra_useSRT, _init_useStaticRotation, _init_extra_useStaticRotation, _init_useStaticScale, _init_extra_useStaticScale;