@carbonenginejs/runtime 0.1.0-alpha.3 → 0.1.0-alpha.4

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 (1620) hide show
  1. package/NOTICE +5 -4
  2. package/dist/audio/generated/audio/AudEventKey.js +2 -2
  3. package/dist/audio/generated/audio/AudEventKey.js.map +1 -1
  4. package/dist/audio/generated/audio/AudSettings.js +2 -2
  5. package/dist/audio/generated/audio/AudSettings.js.map +1 -1
  6. package/dist/audio/index.js +1 -1
  7. package/dist/audio/trinity/audio/AudEmitter.js +4 -5
  8. package/dist/audio/trinity/audio/AudEmitter.js.map +1 -1
  9. package/dist/audio/trinity/audio/AudEventCurve.js +14 -14
  10. package/dist/audio/trinity/audio/AudEventCurve.js.map +1 -1
  11. package/dist/audio/trinity/audio/AudGameObjResource.js +13 -25
  12. package/dist/audio/trinity/audio/AudGameObjResource.js.map +1 -1
  13. package/dist/audio/trinity/audio/AudManager.js +2 -2
  14. package/dist/audio/trinity/audio/AudManager.js.map +1 -1
  15. package/dist/audio/trinity/audio/AudParameter.js +7 -11
  16. package/dist/audio/trinity/audio/AudParameter.js.map +1 -1
  17. package/dist/audio/trinity/audio/AudUIPlayer.js +2 -2
  18. package/dist/audio/trinity/audio/AudUIPlayer.js.map +1 -1
  19. package/dist/audio/trinity/audio/AudioCurveSetDriver.js +2 -2
  20. package/dist/audio/trinity/audio/AudioCurveSetDriver.js.map +1 -1
  21. package/dist/audio/trinity/audio/StretchAudio.js +2 -2
  22. package/dist/audio/trinity/audio/StretchAudio.js.map +1 -1
  23. package/dist/audio/trinity/index.js +1 -1
  24. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js +2 -2
  25. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js.map +1 -1
  26. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js +2 -2
  27. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js.map +1 -1
  28. package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js +1 -37
  29. package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js.map +1 -1
  30. package/dist/character/incarna/curves/Tr2ColorCurve.js +2 -2
  31. package/dist/character/incarna/curves/Tr2ColorCurve.js.map +1 -1
  32. package/dist/character/incarna/curves/Tr2ColorKey.js +2 -2
  33. package/dist/character/incarna/curves/Tr2ColorKey.js.map +1 -1
  34. package/dist/character/incarna/curves/Tr2ScalarCurve.js +2 -2
  35. package/dist/character/incarna/curves/Tr2ScalarCurve.js.map +1 -1
  36. package/dist/character/incarna/curves/Tr2ScalarKey.js +2 -2
  37. package/dist/character/incarna/curves/Tr2ScalarKey.js.map +1 -1
  38. package/dist/character/incarna/interior/Tr2InteriorCell.js +2 -2
  39. package/dist/character/incarna/interior/Tr2InteriorCell.js.map +1 -1
  40. package/dist/character/library/CjsCharacterLibrary.js +9 -16
  41. package/dist/character/library/CjsCharacterLibrary.js.map +1 -1
  42. package/dist/character/library/CjsCharacterLibraryDocuments.js +20 -4
  43. package/dist/character/library/CjsCharacterLibraryDocuments.js.map +1 -1
  44. package/dist/character/model/CjsCharacterRecord.js +2 -2
  45. package/dist/character/model/CjsCharacterRecord.js.map +1 -1
  46. package/dist/character/model/activity/CjsCharacterArchetype.js +2 -2
  47. package/dist/character/model/activity/CjsCharacterArchetype.js.map +1 -1
  48. package/dist/character/model/appearance/CjsCharacterColorLocation.js +2 -2
  49. package/dist/character/model/appearance/CjsCharacterColorLocation.js.map +1 -1
  50. package/dist/character/model/appearance/CjsCharacterColorName.js +2 -2
  51. package/dist/character/model/appearance/CjsCharacterColorName.js.map +1 -1
  52. package/dist/character/model/appearance/CjsCharacterColorSelection.js +2 -2
  53. package/dist/character/model/appearance/CjsCharacterColorSelection.js.map +1 -1
  54. package/dist/character/model/appearance/CjsCharacterSculptSelection.js +2 -2
  55. package/dist/character/model/appearance/CjsCharacterSculptSelection.js.map +1 -1
  56. package/dist/character/model/appearance/CjsCharacterSculptingLocation.js +2 -2
  57. package/dist/character/model/appearance/CjsCharacterSculptingLocation.js.map +1 -1
  58. package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js +2 -2
  59. package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js.map +1 -1
  60. package/dist/character/model/catalog/CjsCharacterColorValue.js +2 -2
  61. package/dist/character/model/catalog/CjsCharacterColorValue.js.map +1 -1
  62. package/dist/character/model/catalog/CjsCharacterDefinition.js +2 -2
  63. package/dist/character/model/catalog/CjsCharacterDefinition.js.map +1 -1
  64. package/dist/character/model/catalog/CjsCharacterMaterialProfile.js +2 -2
  65. package/dist/character/model/catalog/CjsCharacterMaterialProfile.js.map +1 -1
  66. package/dist/character/model/catalog/CjsCharacterModifierReference.js +2 -2
  67. package/dist/character/model/catalog/CjsCharacterModifierReference.js.map +1 -1
  68. package/dist/character/model/catalog/CjsCharacterPartMetadata.js +2 -2
  69. package/dist/character/model/catalog/CjsCharacterPartMetadata.js.map +1 -1
  70. package/dist/character/model/catalog/CjsCharacterPartModelBundle.js +2 -2
  71. package/dist/character/model/catalog/CjsCharacterPartModelBundle.js.map +1 -1
  72. package/dist/character/model/catalog/CjsCharacterPartSource.js +2 -2
  73. package/dist/character/model/catalog/CjsCharacterPartSource.js.map +1 -1
  74. package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js +2 -2
  75. package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js.map +1 -1
  76. package/dist/character/model/catalog/CjsCharacterPartType.js +2 -2
  77. package/dist/character/model/catalog/CjsCharacterPartType.js.map +1 -1
  78. package/dist/character/model/catalog/CjsCharacterProjectionProfile.js +2 -2
  79. package/dist/character/model/catalog/CjsCharacterProjectionProfile.js.map +1 -1
  80. package/dist/character/model/catalog/CjsCharacterRecipeEntry.js +2 -2
  81. package/dist/character/model/catalog/CjsCharacterRecipeEntry.js.map +1 -1
  82. package/dist/character/model/catalog/CjsCharacterRecipeProfile.js +2 -2
  83. package/dist/character/model/catalog/CjsCharacterRecipeProfile.js.map +1 -1
  84. package/dist/character/model/catalog/CjsCharacterTextureMetadata.js +2 -2
  85. package/dist/character/model/catalog/CjsCharacterTextureMetadata.js.map +1 -1
  86. package/dist/character/model/composition/CjsCharacterModifierLocation.js +2 -2
  87. package/dist/character/model/composition/CjsCharacterModifierLocation.js.map +1 -1
  88. package/dist/character/model/composition/CjsCharacterModifierSelection.js +2 -2
  89. package/dist/character/model/composition/CjsCharacterModifierSelection.js.map +1 -1
  90. package/dist/character/model/creation/CjsCharacterPaperdoll.js +2 -2
  91. package/dist/character/model/creation/CjsCharacterPaperdoll.js.map +1 -1
  92. package/dist/character/model/demographics/CjsCharacterAncestry.js +2 -2
  93. package/dist/character/model/demographics/CjsCharacterAncestry.js.map +1 -1
  94. package/dist/character/model/demographics/CjsCharacterBloodline.js +2 -2
  95. package/dist/character/model/demographics/CjsCharacterBloodline.js.map +1 -1
  96. package/dist/character/model/demographics/CjsCharacterRace.js +2 -2
  97. package/dist/character/model/demographics/CjsCharacterRace.js.map +1 -1
  98. package/dist/character/model/planning/CjsCharacterAppearanceBinding.js +2 -2
  99. package/dist/character/model/planning/CjsCharacterAppearanceBinding.js.map +1 -1
  100. package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js +2 -2
  101. package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js.map +1 -1
  102. package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js +2 -2
  103. package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js.map +1 -1
  104. package/dist/character/model/planning/CjsCharacterAppearanceLayer.js +2 -2
  105. package/dist/character/model/planning/CjsCharacterAppearanceLayer.js.map +1 -1
  106. package/dist/character/model/planning/CjsCharacterAppearancePlan.js +2 -2
  107. package/dist/character/model/planning/CjsCharacterAppearancePlan.js.map +1 -1
  108. package/dist/character/model/planning/CjsCharacterAppearanceSelection.js +2 -2
  109. package/dist/character/model/planning/CjsCharacterAppearanceSelection.js.map +1 -1
  110. package/dist/character/model/planning/CjsCharacterBindingAlpha.js +2 -2
  111. package/dist/character/model/planning/CjsCharacterBindingAlpha.js.map +1 -1
  112. package/dist/character/model/planning/CjsCharacterCompositionInput.js +2 -2
  113. package/dist/character/model/planning/CjsCharacterCompositionInput.js.map +1 -1
  114. package/dist/character/model/planning/CjsCharacterCompositionPass.js +2 -2
  115. package/dist/character/model/planning/CjsCharacterCompositionPass.js.map +1 -1
  116. package/dist/character/model/planning/CjsCharacterCompositionTarget.js +2 -2
  117. package/dist/character/model/planning/CjsCharacterCompositionTarget.js.map +1 -1
  118. package/dist/character/model/planning/CjsCharacterCoverage.js +2 -2
  119. package/dist/character/model/planning/CjsCharacterCoverage.js.map +1 -1
  120. package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js +2 -2
  121. package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js.map +1 -1
  122. package/dist/character/model/planning/CjsCharacterOrigin.js +2 -2
  123. package/dist/character/model/planning/CjsCharacterOrigin.js.map +1 -1
  124. package/dist/character/model/planning/CjsCharacterResolvedPart.js +2 -2
  125. package/dist/character/model/planning/CjsCharacterResolvedPart.js.map +1 -1
  126. package/dist/character/model/planning/CjsCharacterTextureAsset.js +2 -2
  127. package/dist/character/model/planning/CjsCharacterTextureAsset.js.map +1 -1
  128. package/dist/character/model/planning/CjsCharacterTextureChannel.js +2 -2
  129. package/dist/character/model/planning/CjsCharacterTextureChannel.js.map +1 -1
  130. package/dist/character/model/resources/CjsCharacterPortraitResource.js +2 -2
  131. package/dist/character/model/resources/CjsCharacterPortraitResource.js.map +1 -1
  132. package/dist/character/model/resources/CjsCharacterResource.js +2 -2
  133. package/dist/character/model/resources/CjsCharacterResource.js.map +1 -1
  134. package/dist/character/trinity/interior/Tr2IntSkinnedObject.js +6 -5
  135. package/dist/character/trinity/interior/Tr2IntSkinnedObject.js.map +1 -1
  136. package/dist/character/trinity/interior/Tr2InteriorLightSource.js +2 -2
  137. package/dist/character/trinity/interior/Tr2InteriorLightSource.js.map +1 -1
  138. package/dist/character/trinity/interior/Tr2InteriorPlaceable.js +4 -5
  139. package/dist/character/trinity/interior/Tr2InteriorPlaceable.js.map +1 -1
  140. package/dist/character/trinity/interior/Tr2InteriorScene.js +2 -2
  141. package/dist/character/trinity/interior/Tr2InteriorScene.js.map +1 -1
  142. package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js +2 -2
  143. package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js.map +1 -1
  144. package/dist/character/trinity/trinityCore/Tr2GStateParameter.js +2 -2
  145. package/dist/character/trinity/trinityCore/Tr2GStateParameter.js.map +1 -1
  146. package/dist/character/trinity/trinityCore/Tr2Model.js +2 -2
  147. package/dist/character/trinity/trinityCore/Tr2Model.js.map +1 -1
  148. package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js +21 -10
  149. package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js.map +1 -1
  150. package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js +64 -57
  151. package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js.map +1 -1
  152. package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js +1 -1
  153. package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js.map +1 -1
  154. package/dist/character/trinity/wod/WodBakingScene.js +2 -2
  155. package/dist/character/trinity/wod/WodBakingScene.js.map +1 -1
  156. package/dist/core/CjsLibrary.js +32 -685
  157. package/dist/core/CjsLibrary.js.map +1 -1
  158. package/dist/core/index.js +1 -2
  159. package/dist/core/index.js.map +1 -1
  160. package/dist/global/blue/BeInfo.js +95 -0
  161. package/dist/global/blue/BeInfo.js.map +1 -0
  162. package/dist/global/blue/CcpDateTime.js +53 -0
  163. package/dist/global/blue/CcpDateTime.js.map +1 -0
  164. package/dist/global/blue/CcpTime.js +148 -0
  165. package/dist/global/blue/CcpTime.js.map +1 -0
  166. package/dist/global/blue/CjsBlueOS.js +301 -0
  167. package/dist/global/blue/CjsBlueOS.js.map +1 -0
  168. package/dist/global/blue/CjsBluePaths.js +97 -0
  169. package/dist/global/blue/CjsBluePaths.js.map +1 -0
  170. package/dist/global/blue/IBlueDynamicResourceConstructor.js +29 -0
  171. package/dist/global/blue/IBlueDynamicResourceConstructor.js.map +1 -0
  172. package/dist/global/blue/IBlueEvents.js +34 -0
  173. package/dist/global/blue/IBlueEvents.js.map +1 -0
  174. package/dist/global/blue/IBlueOS.js +132 -0
  175. package/dist/global/blue/IBlueOS.js.map +1 -0
  176. package/dist/global/blue/IBluePaths.js +72 -0
  177. package/dist/global/blue/IBluePaths.js.map +1 -0
  178. package/dist/global/blue/IBlueResMan.js +93 -0
  179. package/dist/global/blue/IBlueResMan.js.map +1 -0
  180. package/dist/global/blue/IBlueResManNotifications.js +51 -0
  181. package/dist/global/blue/IBlueResManNotifications.js.map +1 -0
  182. package/dist/global/blue/ICatchupTicks.js +25 -0
  183. package/dist/global/blue/ICatchupTicks.js.map +1 -0
  184. package/dist/global/blue/IInitialize.js +47 -0
  185. package/dist/global/blue/IInitialize.js.map +1 -0
  186. package/dist/global/blue/IListNotify.js +44 -0
  187. package/dist/global/blue/IListNotify.js.map +1 -0
  188. package/dist/global/blue/INotify.js +65 -0
  189. package/dist/global/blue/INotify.js.map +1 -0
  190. package/dist/global/blue/ISimTimeRebaseNotify.js +28 -0
  191. package/dist/global/blue/ISimTimeRebaseNotify.js.map +1 -0
  192. package/dist/global/blue/IVariableTicker.js +24 -0
  193. package/dist/global/blue/IVariableTicker.js.map +1 -0
  194. package/dist/global/blue/blue.js +61 -0
  195. package/dist/global/blue/blue.js.map +1 -0
  196. package/dist/global/blue/enums/CjsBlueEnumRegistry.js +173 -0
  197. package/dist/global/blue/enums/CjsBlueEnumRegistry.js.map +1 -0
  198. package/dist/global/blue/index.js +19 -0
  199. package/dist/global/blue/index.js.map +1 -1
  200. package/dist/global/blue/registerTrinityEnums.js +43 -0
  201. package/dist/global/blue/registerTrinityEnums.js.map +1 -0
  202. package/dist/global/compose/abstract.js +81 -0
  203. package/dist/global/compose/abstract.js.map +1 -0
  204. package/dist/global/compose/interface.js +131 -26
  205. package/dist/global/compose/interface.js.map +1 -1
  206. package/dist/global/compose/notify.js +10 -1
  207. package/dist/global/compose/notify.js.map +1 -1
  208. package/dist/global/compose/values.js +116 -53
  209. package/dist/global/compose/values.js.map +1 -1
  210. package/dist/global/consts/blue.js +73 -0
  211. package/dist/global/consts/blue.js.map +1 -0
  212. package/dist/global/consts/graphics/index.js +1 -1
  213. package/dist/global/consts/graphics/trinityEnums.js +19 -7
  214. package/dist/global/consts/graphics/trinityEnums.js.map +1 -1
  215. package/dist/global/consts/index.js +2 -1
  216. package/dist/global/consts/index.js.map +1 -1
  217. package/dist/global/consts/trinity.js.map +1 -1
  218. package/dist/global/contracts/ITr2BoundingBox.js +1 -34
  219. package/dist/global/contracts/ITr2BoundingBox.js.map +1 -1
  220. package/dist/global/contracts/ITr2RenderNode.js +1 -27
  221. package/dist/global/contracts/ITr2RenderNode.js.map +1 -1
  222. package/dist/global/contracts/index.js +2 -4
  223. package/dist/global/contracts/index.js.map +1 -1
  224. package/dist/global/index.js +23 -5
  225. package/dist/global/index.js.map +1 -1
  226. package/dist/global/model/CjsModel.js +79 -98
  227. package/dist/global/model/CjsModel.js.map +1 -1
  228. package/dist/global/model/CjsModelState.js +0 -15
  229. package/dist/global/model/CjsModelState.js.map +1 -1
  230. package/dist/global/model/index.js +1 -1
  231. package/dist/global/schema/CjsSchema.js +177 -51
  232. package/dist/global/schema/CjsSchema.js.map +1 -1
  233. package/dist/global/schema/index.js +4 -3
  234. package/dist/global/schema/index.js.map +1 -1
  235. package/dist/global/schema/types/carbonTypes.js +1 -1
  236. package/dist/global/schema/types/carbonTypes.js.map +1 -1
  237. package/dist/global/utils/bytes.js +2 -0
  238. package/dist/global/utils/bytes.js.map +1 -1
  239. package/dist/global/utils/path.js +30 -1
  240. package/dist/global/utils/path.js.map +1 -1
  241. package/dist/index.js +57 -24
  242. package/dist/index.js.map +1 -1
  243. package/dist/resource/CjsResMan.js +33 -43
  244. package/dist/resource/CjsResMan.js.map +1 -1
  245. package/dist/resource/CjsResource.js +4 -1
  246. package/dist/resource/CjsResource.js.map +1 -1
  247. package/dist/resource/format/CjsBlueReader.js +0 -1
  248. package/dist/resource/format/CjsBlueReader.js.map +1 -1
  249. package/dist/resource/format/CjsResourceProbe.js +15 -16
  250. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  251. package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js +132 -75
  252. package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js.map +1 -1
  253. package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js +26 -0
  254. package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js.map +1 -1
  255. package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js +2 -1
  256. package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js.map +1 -1
  257. package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js +4 -0
  258. package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js.map +1 -0
  259. package/dist/resource/formats/black/core/blackDefinitions.js +1 -1
  260. package/dist/resource/formats/black/core/blackDefinitions.js.map +1 -1
  261. package/dist/resource/formats/black/core/blackSchema.js +1 -1
  262. package/dist/resource/formats/dds/CjsDdsFormat.js +50 -1
  263. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  264. package/dist/resource/formats/dds/core/helpers.js +51 -5
  265. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  266. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js +94 -0
  267. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js.map +1 -0
  268. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js +189 -0
  269. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js.map +1 -0
  270. package/dist/resource/formats/fsd/64/readers/index.js +2 -0
  271. package/dist/resource/formats/fsd/64/readers/index.js.map +1 -1
  272. package/dist/resource/formats/hlsl/core/detailMapFamily.js +18 -92
  273. package/dist/resource/formats/hlsl/core/detailMapFamily.js.map +1 -1
  274. package/dist/resource/formats/hlsl/core/textureArrayFamilies.js +285 -0
  275. package/dist/resource/formats/hlsl/core/textureArrayFamilies.js.map +1 -0
  276. package/dist/resource/formats/pickle/CjsPickleFormat.js +34 -14
  277. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  278. package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js +60 -451
  279. package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -1
  280. package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js +407 -0
  281. package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js.map +1 -0
  282. package/dist/resource/formats/pickle/core/pickleCommon.js +671 -0
  283. package/dist/resource/formats/pickle/core/pickleCommon.js.map +1 -0
  284. package/dist/resource/formats/red/core/blackDefinitions.js +1 -1
  285. package/dist/resource/formats/webgl/core/effectPackage.js +85 -7
  286. package/dist/resource/formats/webgl/core/effectPackage.js.map +1 -1
  287. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +659 -564
  288. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  289. package/dist/resource/formats/webgl/core/glslBackendBodySet.js +4 -4
  290. package/dist/resource/formats/webgl/core/glslBackendBodySet.js.map +1 -1
  291. package/dist/resource/formats/webgl/core/helpers.js +2 -2
  292. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  293. package/dist/resource/geometry/TriGeometryRes.js +61 -7
  294. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  295. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +11 -11
  296. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  297. package/dist/resource/index.js +9 -0
  298. package/dist/resource/index.js.map +1 -1
  299. package/dist/resource/shader/Tr2EffectRes.js +2 -3
  300. package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
  301. package/dist/resource/shader/Tr2MaterialArea.js +3 -3
  302. package/dist/resource/shader/Tr2MaterialArea.js.map +1 -1
  303. package/dist/resource/shader/Tr2MaterialMesh.js +2 -2
  304. package/dist/resource/shader/Tr2MaterialMesh.js.map +1 -1
  305. package/dist/resource/shader/Tr2MaterialRes.js +3 -3
  306. package/dist/resource/shader/Tr2MaterialRes.js.map +1 -1
  307. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +2 -2
  308. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  309. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +2 -2
  310. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  311. package/dist/resource/shader/reflection/Tr2Pass.js +4 -4
  312. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  313. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  314. package/dist/resource/texture/Tr2ImageRes.js +3 -4
  315. package/dist/resource/texture/Tr2ImageRes.js.map +1 -1
  316. package/dist/resource/texture/Tr2TextureLodManager.js +0 -1
  317. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  318. package/dist/resource/texture/Tr2TexturePackChannel.js +4 -4
  319. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  320. package/dist/resource/texture/Tr2TexturePipeline.js +3 -4
  321. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  322. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +5 -5
  323. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  324. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +3 -3
  325. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +2 -2
  327. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +6 -6
  329. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  330. package/dist/resource/texture/TriTextureRes.js +23 -22
  331. package/dist/resource/texture/TriTextureRes.js.map +1 -1
  332. package/dist/resource/video/AudioMetadata.js +41 -0
  333. package/dist/resource/video/AudioMetadata.js.map +1 -0
  334. package/dist/resource/video/IAudioSink.js +51 -0
  335. package/dist/resource/video/IAudioSink.js.map +1 -0
  336. package/dist/resource/video/IEncodedFrame.js +52 -0
  337. package/dist/resource/video/IEncodedFrame.js.map +1 -0
  338. package/dist/resource/video/IVideoContainerParser.js +70 -0
  339. package/dist/resource/video/IVideoContainerParser.js.map +1 -0
  340. package/dist/resource/video/IVideoDecoder.js +36 -0
  341. package/dist/resource/video/IVideoDecoder.js.map +1 -0
  342. package/dist/resource/video/PcmFrame.js +33 -0
  343. package/dist/resource/video/PcmFrame.js.map +1 -0
  344. package/dist/resource/video/VideoFrame.js +45 -0
  345. package/dist/resource/video/VideoFrame.js.map +1 -0
  346. package/dist/resource/video/VideoMetadata.js +34 -0
  347. package/dist/resource/video/VideoMetadata.js.map +1 -0
  348. package/dist/resource/video/enums.js +30 -0
  349. package/dist/resource/video/enums.js.map +1 -0
  350. package/dist/sof/EveSOF.js +176 -176
  351. package/dist/sof/EveSOF.js.map +1 -1
  352. package/dist/sof/EveSOFDNA.js +5 -1
  353. package/dist/sof/EveSOFDNA.js.map +1 -1
  354. package/dist/sof/EveSOFData.js +2 -2
  355. package/dist/sof/EveSOFData.js.map +1 -1
  356. package/dist/sof/faction/EveSOFDataFaction.js +2 -2
  357. package/dist/sof/faction/EveSOFDataFaction.js.map +1 -1
  358. package/dist/sof/faction/EveSOFDataFactionChild.js +2 -2
  359. package/dist/sof/faction/EveSOFDataFactionChild.js.map +1 -1
  360. package/dist/sof/faction/EveSOFDataFactionColorSet.js +189 -3
  361. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  362. package/dist/sof/faction/EveSOFDataFactionHullArea.js +2 -2
  363. package/dist/sof/faction/EveSOFDataFactionHullArea.js.map +1 -1
  364. package/dist/sof/faction/EveSOFDataFactionPlaneSet.js +2 -2
  365. package/dist/sof/faction/EveSOFDataFactionPlaneSet.js.map +1 -1
  366. package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js +2 -2
  367. package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js.map +1 -1
  368. package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js +2 -2
  369. package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js.map +1 -1
  370. package/dist/sof/generic/EveSOFDataGeneric.js +234 -230
  371. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  372. package/dist/sof/generic/EveSOFDataGenericDamage.js +2 -2
  373. package/dist/sof/generic/EveSOFDataGenericDamage.js.map +1 -1
  374. package/dist/sof/generic/EveSOFDataGenericDecalShader.js +2 -2
  375. package/dist/sof/generic/EveSOFDataGenericDecalShader.js.map +1 -1
  376. package/dist/sof/generic/EveSOFDataGenericHullCategory.js +27 -23
  377. package/dist/sof/generic/EveSOFDataGenericHullCategory.js.map +1 -1
  378. package/dist/sof/generic/EveSOFDataGenericHullDamage.js +2 -2
  379. package/dist/sof/generic/EveSOFDataGenericHullDamage.js.map +1 -1
  380. package/dist/sof/generic/EveSOFDataGenericShader.js +2 -2
  381. package/dist/sof/generic/EveSOFDataGenericShader.js.map +1 -1
  382. package/dist/sof/generic/EveSOFDataGenericString.js +2 -2
  383. package/dist/sof/generic/EveSOFDataGenericString.js.map +1 -1
  384. package/dist/sof/generic/EveSOFDataGenericSwarm.js +2 -2
  385. package/dist/sof/generic/EveSOFDataGenericSwarm.js.map +1 -1
  386. package/dist/sof/generic/EveSOFDataGenericVariant.js +2 -2
  387. package/dist/sof/generic/EveSOFDataGenericVariant.js.map +1 -1
  388. package/dist/sof/generic/EveSOFDataVisibilityGroup.js +2 -2
  389. package/dist/sof/generic/EveSOFDataVisibilityGroup.js.map +1 -1
  390. package/dist/sof/hull/EveSOFDataHull.js +56 -3
  391. package/dist/sof/hull/EveSOFDataHull.js.map +1 -1
  392. package/dist/sof/hull/EveSOFDataHullAnimation.js +2 -2
  393. package/dist/sof/hull/EveSOFDataHullAnimation.js.map +1 -1
  394. package/dist/sof/hull/EveSOFDataHullArea.js +58 -54
  395. package/dist/sof/hull/EveSOFDataHullArea.js.map +1 -1
  396. package/dist/sof/hull/EveSOFDataHullBanner.js +109 -3
  397. package/dist/sof/hull/EveSOFDataHullBanner.js.map +1 -1
  398. package/dist/sof/hull/EveSOFDataHullBannerLight.js +2 -2
  399. package/dist/sof/hull/EveSOFDataHullBannerLight.js.map +1 -1
  400. package/dist/sof/hull/EveSOFDataHullBannerSet.js +2 -2
  401. package/dist/sof/hull/EveSOFDataHullBannerSet.js.map +1 -1
  402. package/dist/sof/hull/EveSOFDataHullBannerSetItem.js +109 -3
  403. package/dist/sof/hull/EveSOFDataHullBannerSetItem.js.map +1 -1
  404. package/dist/sof/hull/EveSOFDataHullBooster.js +2 -2
  405. package/dist/sof/hull/EveSOFDataHullBooster.js.map +1 -1
  406. package/dist/sof/hull/EveSOFDataHullBoosterItem.js +2 -2
  407. package/dist/sof/hull/EveSOFDataHullBoosterItem.js.map +1 -1
  408. package/dist/sof/hull/EveSOFDataHullChild.js +55 -50
  409. package/dist/sof/hull/EveSOFDataHullChild.js.map +1 -1
  410. package/dist/sof/hull/EveSOFDataHullChildSet.js +2 -2
  411. package/dist/sof/hull/EveSOFDataHullChildSet.js.map +1 -1
  412. package/dist/sof/hull/EveSOFDataHullChildSetItem.js +51 -46
  413. package/dist/sof/hull/EveSOFDataHullChildSetItem.js.map +1 -1
  414. package/dist/sof/hull/EveSOFDataHullController.js +2 -2
  415. package/dist/sof/hull/EveSOFDataHullController.js.map +1 -1
  416. package/dist/sof/hull/EveSOFDataHullDecalSet.js +2 -2
  417. package/dist/sof/hull/EveSOFDataHullDecalSet.js.map +1 -1
  418. package/dist/sof/hull/EveSOFDataHullDecalSetItem.js +45 -3
  419. package/dist/sof/hull/EveSOFDataHullDecalSetItem.js.map +1 -1
  420. package/dist/sof/hull/EveSOFDataHullHazeSet.js +21 -3
  421. package/dist/sof/hull/EveSOFDataHullHazeSet.js.map +1 -1
  422. package/dist/sof/hull/EveSOFDataHullHazeSetItem.js +47 -43
  423. package/dist/sof/hull/EveSOFDataHullHazeSetItem.js.map +1 -1
  424. package/dist/sof/hull/EveSOFDataHullLightSet.js +2 -2
  425. package/dist/sof/hull/EveSOFDataHullLightSet.js.map +1 -1
  426. package/dist/sof/hull/EveSOFDataHullLightSetItem.js +4 -2
  427. package/dist/sof/hull/EveSOFDataHullLightSetItem.js.map +1 -1
  428. package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js +2 -2
  429. package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js.map +1 -1
  430. package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js +2 -2
  431. package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js.map +1 -1
  432. package/dist/sof/hull/EveSOFDataHullLocator.js +2 -2
  433. package/dist/sof/hull/EveSOFDataHullLocator.js.map +1 -1
  434. package/dist/sof/hull/EveSOFDataHullLocatorSet.js +2 -2
  435. package/dist/sof/hull/EveSOFDataHullLocatorSet.js.map +1 -1
  436. package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js +2 -2
  437. package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js.map +1 -1
  438. package/dist/sof/hull/EveSOFDataHullPlaneSet.js +29 -3
  439. package/dist/sof/hull/EveSOFDataHullPlaneSet.js.map +1 -1
  440. package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js +81 -75
  441. package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js.map +1 -1
  442. package/dist/sof/hull/EveSOFDataHullSoundEmitter.js +2 -2
  443. package/dist/sof/hull/EveSOFDataHullSoundEmitter.js.map +1 -1
  444. package/dist/sof/hull/EveSOFDataHullSpotlightSet.js +2 -2
  445. package/dist/sof/hull/EveSOFDataHullSpotlightSet.js.map +1 -1
  446. package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js +45 -41
  447. package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js.map +1 -1
  448. package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js +2 -2
  449. package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js.map +1 -1
  450. package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js +70 -66
  451. package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js.map +1 -1
  452. package/dist/sof/hull/EveSOFDataHullSpriteSet.js +2 -2
  453. package/dist/sof/hull/EveSOFDataHullSpriteSet.js.map +1 -1
  454. package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js +45 -41
  455. package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js.map +1 -1
  456. package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js +2 -2
  457. package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js.map +1 -1
  458. package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js +2 -2
  459. package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js.map +1 -1
  460. package/dist/sof/layout/EveSOFDataHullExtensionBucket.js +2 -2
  461. package/dist/sof/layout/EveSOFDataHullExtensionBucket.js.map +1 -1
  462. package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js +2 -2
  463. package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js.map +1 -1
  464. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js +2 -2
  465. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js.map +1 -1
  466. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js +35 -3
  467. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js.map +1 -1
  468. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js +2 -2
  469. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js.map +1 -1
  470. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js +2 -2
  471. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js.map +1 -1
  472. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js +2 -2
  473. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js.map +1 -1
  474. package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js +2 -2
  475. package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js.map +1 -1
  476. package/dist/sof/layout/EveSOFDataLayout.js +2 -2
  477. package/dist/sof/layout/EveSOFDataLayout.js.map +1 -1
  478. package/dist/sof/pattern/EveSOFDataPattern.js +2 -2
  479. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  480. package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js +2 -2
  481. package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js.map +1 -1
  482. package/dist/sof/pattern/EveSOFDataPatternLayer.js +60 -3
  483. package/dist/sof/pattern/EveSOFDataPatternLayer.js.map +1 -1
  484. package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js +23 -3
  485. package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js.map +1 -1
  486. package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js +2 -2
  487. package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js.map +1 -1
  488. package/dist/sof/pattern/EveSOFDataPatternPerHull.js +2 -2
  489. package/dist/sof/pattern/EveSOFDataPatternPerHull.js.map +1 -1
  490. package/dist/sof/pattern/EveSOFDataPatternTransform.js +2 -2
  491. package/dist/sof/pattern/EveSOFDataPatternTransform.js.map +1 -1
  492. package/dist/sof/race/EveSOFDataRace.js +46 -42
  493. package/dist/sof/race/EveSOFDataRace.js.map +1 -1
  494. package/dist/sof/race/EveSOFDataRaceDamage.js +2 -2
  495. package/dist/sof/race/EveSOFDataRaceDamage.js.map +1 -1
  496. package/dist/sof/shared/CjsExternalRef.js +2 -2
  497. package/dist/sof/shared/CjsExternalRef.js.map +1 -1
  498. package/dist/sof/shared/EveSOFDNADescriptor.js +2 -2
  499. package/dist/sof/shared/EveSOFDNADescriptor.js.map +1 -1
  500. package/dist/sof/shared/EveSOFDataArea.js +61 -3
  501. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  502. package/dist/sof/shared/EveSOFDataAreaMaterial.js +4 -2
  503. package/dist/sof/shared/EveSOFDataAreaMaterial.js.map +1 -1
  504. package/dist/sof/shared/EveSOFDataBlinkType.js +48 -8
  505. package/dist/sof/shared/EveSOFDataBlinkType.js.map +1 -1
  506. package/dist/sof/shared/EveSOFDataBooster.js +2 -2
  507. package/dist/sof/shared/EveSOFDataBooster.js.map +1 -1
  508. package/dist/sof/shared/EveSOFDataBoosterShape.js +2 -2
  509. package/dist/sof/shared/EveSOFDataBoosterShape.js.map +1 -1
  510. package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js +2 -2
  511. package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js.map +1 -1
  512. package/dist/sof/shared/EveSOFDataInstancedMesh.js +40 -3
  513. package/dist/sof/shared/EveSOFDataInstancedMesh.js.map +1 -1
  514. package/dist/sof/shared/EveSOFDataLogo.js +2 -2
  515. package/dist/sof/shared/EveSOFDataLogo.js.map +1 -1
  516. package/dist/sof/shared/EveSOFDataLogoSet.js +33 -3
  517. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  518. package/dist/sof/shared/EveSOFDataMaterial.js +2 -2
  519. package/dist/sof/shared/EveSOFDataMaterial.js.map +1 -1
  520. package/dist/sof/shared/EveSOFDataParameter.js +2 -2
  521. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  522. package/dist/sof/shared/EveSOFDataParameterBool.js +2 -2
  523. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -1
  524. package/dist/sof/shared/EveSOFDataParameterColor.js +2 -2
  525. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -1
  526. package/dist/sof/shared/EveSOFDataParameterFloat.js +2 -2
  527. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -1
  528. package/dist/sof/shared/EveSOFDataParameterInt.js +2 -2
  529. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -1
  530. package/dist/sof/shared/EveSOFDataParameterVector2.js +2 -2
  531. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -1
  532. package/dist/sof/shared/EveSOFDataParameterVector3.js +2 -2
  533. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -1
  534. package/dist/sof/shared/EveSOFDataPointLightAttachment.js +2 -2
  535. package/dist/sof/shared/EveSOFDataPointLightAttachment.js.map +1 -1
  536. package/dist/sof/shared/EveSOFDataSpotLightAttachment.js +2 -2
  537. package/dist/sof/shared/EveSOFDataSpotLightAttachment.js.map +1 -1
  538. package/dist/sof/shared/EveSOFDataTexture.js +2 -2
  539. package/dist/sof/shared/EveSOFDataTexture.js.map +1 -1
  540. package/dist/sof/shared/EveSOFDataTransform.js +2 -2
  541. package/dist/sof/shared/EveSOFDataTransform.js.map +1 -1
  542. package/dist/sof/shared/EveSofDataMeshInstance.js +2 -2
  543. package/dist/sof/shared/EveSofDataMeshInstance.js.map +1 -1
  544. package/dist/sof/sofDocumentValues.js +9 -0
  545. package/dist/sof/sofDocumentValues.js.map +1 -1
  546. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +2 -25
  547. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -1
  548. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js +2 -72
  549. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -1
  550. package/dist/trinity/controllers/ITr2ControllerOwner.js +1 -36
  551. package/dist/trinity/controllers/ITr2ControllerOwner.js.map +1 -1
  552. package/dist/trinity/controllers/Tr2Controller.js +4 -5
  553. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  554. package/dist/trinity/controllers/Tr2ControllerEventHandler.js +2 -2
  555. package/dist/trinity/controllers/Tr2ControllerEventHandler.js.map +1 -1
  556. package/dist/trinity/controllers/Tr2ControllerReference.js +9 -17
  557. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  558. package/dist/trinity/controllers/Tr2SyncToAnimation.js +4 -5
  559. package/dist/trinity/controllers/Tr2SyncToAnimation.js.map +1 -1
  560. package/dist/trinity/controllers/action/ITr2ControllerAction.js +1 -28
  561. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  562. package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js +9 -7
  563. package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js.map +1 -1
  564. package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js +11 -9
  565. package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js.map +1 -1
  566. package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js +9 -7
  567. package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js.map +1 -1
  568. package/dist/trinity/controllers/action/Tr2ActionCallback.js +4 -5
  569. package/dist/trinity/controllers/action/Tr2ActionCallback.js.map +1 -1
  570. package/dist/trinity/controllers/action/Tr2ActionChildEffect.js +4 -5
  571. package/dist/trinity/controllers/action/Tr2ActionChildEffect.js.map +1 -1
  572. package/dist/trinity/controllers/action/Tr2ActionOverlay.js +4 -5
  573. package/dist/trinity/controllers/action/Tr2ActionOverlay.js.map +1 -1
  574. package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js +4 -5
  575. package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js.map +1 -1
  576. package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js +13 -9
  577. package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js.map +1 -1
  578. package/dist/trinity/controllers/action/Tr2ActionPlaySound.js +4 -5
  579. package/dist/trinity/controllers/action/Tr2ActionPlaySound.js.map +1 -1
  580. package/dist/trinity/controllers/action/Tr2ActionPython.js +6 -6
  581. package/dist/trinity/controllers/action/Tr2ActionPython.js.map +1 -1
  582. package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js +4 -5
  583. package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js.map +1 -1
  584. package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js +4 -5
  585. package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js.map +1 -1
  586. package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js +4 -5
  587. package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
  588. package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js +4 -5
  589. package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js.map +1 -1
  590. package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js +8 -17
  591. package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  592. package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js +4 -5
  593. package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js.map +1 -1
  594. package/dist/trinity/controllers/action/Tr2ActionSetValue.js +11 -9
  595. package/dist/trinity/controllers/action/Tr2ActionSetValue.js.map +1 -1
  596. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +4 -5
  597. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  598. package/dist/trinity/controllers/contracts.js +27 -19
  599. package/dist/trinity/controllers/contracts.js.map +1 -1
  600. package/dist/trinity/controllers/expression/Tr2BindingPoint.js +6 -15
  601. package/dist/trinity/controllers/expression/Tr2BindingPoint.js.map +1 -1
  602. package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js +2 -2
  603. package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js.map +1 -1
  604. package/dist/trinity/controllers/expression/expressionRuntime.js +136 -0
  605. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -1
  606. package/dist/trinity/controllers/index.js +6 -6
  607. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +1 -24
  608. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  609. package/dist/trinity/controllers/state/Tr2StateMachine.js +4 -6
  610. package/dist/trinity/controllers/state/Tr2StateMachine.js.map +1 -1
  611. package/dist/trinity/controllers/state/Tr2StateMachineState.js +6 -6
  612. package/dist/trinity/controllers/state/Tr2StateMachineState.js.map +1 -1
  613. package/dist/trinity/controllers/state/Tr2StateMachineTransition.js +12 -9
  614. package/dist/trinity/controllers/state/Tr2StateMachineTransition.js.map +1 -1
  615. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +5 -6
  616. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  617. package/dist/trinity/core/ITr2Renderable.js +1 -49
  618. package/dist/trinity/core/ITr2Renderable.js.map +1 -1
  619. package/dist/trinity/core/ITr2Updateable.js +1 -22
  620. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  621. package/dist/trinity/core/ITriReroutable.js +56 -0
  622. package/dist/trinity/core/ITriReroutable.js.map +1 -0
  623. package/dist/trinity/core/Tr2Denoiser.js +2 -2
  624. package/dist/trinity/core/Tr2Denoiser.js.map +1 -1
  625. package/dist/trinity/core/Tr2MaterialParameterStore.js +2 -2
  626. package/dist/trinity/core/Tr2MaterialParameterStore.js.map +1 -1
  627. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js +2 -2
  628. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -1
  629. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +1 -1
  630. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -1
  631. package/dist/trinity/core/Tr2Renderer.js +161 -4
  632. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  633. package/dist/trinity/core/Tr2ShadowMap.js +3 -3
  634. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  635. package/dist/trinity/core/Tr2StreamingBitmapSaver.js +2 -2
  636. package/dist/trinity/core/Tr2StreamingBitmapSaver.js.map +1 -1
  637. package/dist/trinity/core/Tr2Transform.js +4 -5
  638. package/dist/trinity/core/Tr2Transform.js.map +1 -1
  639. package/dist/trinity/core/animation/Tr2GrannyAnimation.js +2 -2
  640. package/dist/trinity/core/animation/Tr2GrannyAnimation.js.map +1 -1
  641. package/dist/trinity/core/animation/Tr2TextureAnimation.js +2 -2
  642. package/dist/trinity/core/animation/Tr2TextureAnimation.js.map +1 -1
  643. package/dist/trinity/core/animation/TriRigidOrientation.js +2 -2
  644. package/dist/trinity/core/animation/TriRigidOrientation.js.map +1 -1
  645. package/dist/trinity/core/animation/TriTorque.js +2 -2
  646. package/dist/trinity/core/animation/TriTorque.js.map +1 -1
  647. package/dist/trinity/core/batch/CjsBatchManager.js +15 -50
  648. package/dist/trinity/core/batch/CjsBatchManager.js.map +1 -1
  649. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -1
  650. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js +12 -14
  651. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -1
  652. package/dist/trinity/core/binding/Tr2BindingVector3.js +2 -2
  653. package/dist/trinity/core/binding/Tr2BindingVector3.js.map +1 -1
  654. package/dist/trinity/core/binding/Tr2DynamicBinding.js +6 -20
  655. package/dist/trinity/core/binding/Tr2DynamicBinding.js.map +1 -1
  656. package/dist/trinity/core/binding/Tr2ExternalParameter.js +3 -6
  657. package/dist/trinity/core/binding/Tr2ExternalParameter.js.map +1 -1
  658. package/dist/trinity/core/binding/Tr2PyValueBinding.js +2 -2
  659. package/dist/trinity/core/binding/Tr2PyValueBinding.js.map +1 -1
  660. package/dist/trinity/core/binding/TriValueBinding.js +50 -24
  661. package/dist/trinity/core/binding/TriValueBinding.js.map +1 -1
  662. package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js +0 -6
  663. package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js.map +1 -1
  664. package/dist/trinity/core/context/CjsTrinityStepExecutor.js +7 -10
  665. package/dist/trinity/core/context/CjsTrinityStepExecutor.js.map +1 -1
  666. package/dist/trinity/core/context/Tr2RenderContext.js +74 -116
  667. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  668. package/dist/trinity/core/device/Tr2DepthStencil.js +2 -2
  669. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  670. package/dist/trinity/core/device/Tr2GpuBuffer.js +2 -2
  671. package/dist/trinity/core/device/Tr2GpuBuffer.js.map +1 -1
  672. package/dist/trinity/core/device/Tr2RenderTarget.js +2 -2
  673. package/dist/trinity/core/device/Tr2RenderTarget.js.map +1 -1
  674. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js +2 -2
  675. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -1
  676. package/dist/trinity/core/device/Tr2SwapChain.js +2 -2
  677. package/dist/trinity/core/device/Tr2SwapChain.js.map +1 -1
  678. package/dist/trinity/core/device/TriDevice.js +576 -37
  679. package/dist/trinity/core/device/TriDevice.js.map +1 -1
  680. package/dist/trinity/core/device/gTriDev.js +49 -0
  681. package/dist/trinity/core/device/gTriDev.js.map +1 -0
  682. package/dist/trinity/core/index.js +9 -5
  683. package/dist/trinity/core/index.js.map +1 -1
  684. package/dist/trinity/core/lighting/Tr2KelvinColor.js +2 -2
  685. package/dist/trinity/core/lighting/Tr2KelvinColor.js.map +1 -1
  686. package/dist/trinity/core/lighting/Tr2LightManager.js +7 -17
  687. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  688. package/dist/trinity/core/lighting/Tr2ShLightingManager.js +2 -2
  689. package/dist/trinity/core/lighting/Tr2ShLightingManager.js.map +1 -1
  690. package/dist/trinity/core/line/Tr2BoundingLineSet.js +2 -2
  691. package/dist/trinity/core/line/Tr2BoundingLineSet.js.map +1 -1
  692. package/dist/trinity/core/line/Tr2CurveLineSet.js +10 -7
  693. package/dist/trinity/core/line/Tr2CurveLineSet.js.map +1 -1
  694. package/dist/trinity/core/line/Tr2LineGraph.js +2 -2
  695. package/dist/trinity/core/line/Tr2LineGraph.js.map +1 -1
  696. package/dist/trinity/core/line/Tr2PrimitiveSet.js +4 -5
  697. package/dist/trinity/core/line/Tr2PrimitiveSet.js.map +1 -1
  698. package/dist/trinity/core/line/TriLineSet.js +2 -2
  699. package/dist/trinity/core/line/TriLineSet.js.map +1 -1
  700. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js +1 -37
  701. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -1
  702. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js +1 -34
  703. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -1
  704. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +5 -6
  705. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  706. package/dist/trinity/core/mesh/Tr2InstancedMesh.js +2 -2
  707. package/dist/trinity/core/mesh/Tr2InstancedMesh.js.map +1 -1
  708. package/dist/trinity/core/mesh/Tr2Mesh.js +288 -183
  709. package/dist/trinity/core/mesh/Tr2Mesh.js.map +1 -1
  710. package/dist/trinity/core/mesh/Tr2MeshArea.js +32 -3
  711. package/dist/trinity/core/mesh/Tr2MeshArea.js.map +1 -1
  712. package/dist/trinity/core/mesh/Tr2MeshBase.js +58 -8
  713. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  714. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +141 -142
  715. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  716. package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js +2 -2
  717. package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js.map +1 -1
  718. package/dist/trinity/core/procedural/GradientTextureConstructor.js +62 -0
  719. package/dist/trinity/core/procedural/GradientTextureConstructor.js.map +1 -0
  720. package/dist/trinity/core/procedural/gradientTexture.js +196 -0
  721. package/dist/trinity/core/procedural/gradientTexture.js.map +1 -0
  722. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -1
  723. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +5 -0
  724. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -1
  725. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +2 -0
  726. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -1
  727. package/dist/trinity/core/tool/Tr2ManipulationTool.js +2 -2
  728. package/dist/trinity/core/tool/Tr2ManipulationTool.js.map +1 -1
  729. package/dist/trinity/core/tool/Tr2RotationTool.js +2 -2
  730. package/dist/trinity/core/tool/Tr2RotationTool.js.map +1 -1
  731. package/dist/trinity/core/tool/Tr2ScalingTool.js +2 -2
  732. package/dist/trinity/core/tool/Tr2ScalingTool.js.map +1 -1
  733. package/dist/trinity/core/tool/Tr2TranslationTool.js +2 -2
  734. package/dist/trinity/core/tool/Tr2TranslationTool.js.map +1 -1
  735. package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js +2 -2
  736. package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js.map +1 -1
  737. package/dist/trinity/core/variable/TriFloat.js +2 -2
  738. package/dist/trinity/core/variable/TriFloat.js.map +1 -1
  739. package/dist/trinity/core/variable/TriObserverLocal.js +2 -2
  740. package/dist/trinity/core/variable/TriObserverLocal.js.map +1 -1
  741. package/dist/trinity/core/variable/TriVariable.js +2 -2
  742. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  743. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js +2 -0
  744. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -1
  745. package/dist/trinity/core/view/TriProjection.js +2 -2
  746. package/dist/trinity/core/view/TriProjection.js.map +1 -1
  747. package/dist/trinity/core/view/TriRect.js +2 -2
  748. package/dist/trinity/core/view/TriRect.js.map +1 -1
  749. package/dist/trinity/core/view/TriView.js +2 -2
  750. package/dist/trinity/core/view/TriView.js.map +1 -1
  751. package/dist/trinity/core/view/TriViewport.js +2 -2
  752. package/dist/trinity/core/view/TriViewport.js.map +1 -1
  753. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +3 -3
  754. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  755. package/dist/trinity/curves/Tr2CurveSetRange.js +2 -2
  756. package/dist/trinity/curves/Tr2CurveSetRange.js.map +1 -1
  757. package/dist/trinity/curves/TriCurveSet.js +2 -2
  758. package/dist/trinity/curves/TriCurveSet.js.map +1 -1
  759. package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js +2 -2
  760. package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js.map +1 -1
  761. package/dist/trinity/curves/curve/Tr2CurveColor.js +2 -2
  762. package/dist/trinity/curves/curve/Tr2CurveColor.js.map +1 -1
  763. package/dist/trinity/curves/curve/Tr2CurveColorMixer.js +2 -2
  764. package/dist/trinity/curves/curve/Tr2CurveColorMixer.js.map +1 -1
  765. package/dist/trinity/curves/curve/Tr2CurveCombiner.js +3 -3
  766. package/dist/trinity/curves/curve/Tr2CurveCombiner.js.map +1 -1
  767. package/dist/trinity/curves/curve/Tr2CurveConstant.js +2 -2
  768. package/dist/trinity/curves/curve/Tr2CurveConstant.js.map +1 -1
  769. package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js +2 -2
  770. package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js.map +1 -1
  771. package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js +2 -2
  772. package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js.map +1 -1
  773. package/dist/trinity/curves/curve/Tr2CurveQuaternion.js +3 -3
  774. package/dist/trinity/curves/curve/Tr2CurveQuaternion.js.map +1 -1
  775. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +2 -2
  776. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  777. package/dist/trinity/curves/curve/Tr2CurveScalar.js +3 -3
  778. package/dist/trinity/curves/curve/Tr2CurveScalar.js.map +1 -1
  779. package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js +2 -2
  780. package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js.map +1 -1
  781. package/dist/trinity/curves/curve/Tr2CurveVector2.js +2 -2
  782. package/dist/trinity/curves/curve/Tr2CurveVector2.js.map +1 -1
  783. package/dist/trinity/curves/curve/Tr2CurveVector3.js +2 -2
  784. package/dist/trinity/curves/curve/Tr2CurveVector3.js.map +1 -1
  785. package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js +2 -2
  786. package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js.map +1 -1
  787. package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js +2 -2
  788. package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js.map +1 -1
  789. package/dist/trinity/curves/curve/Tr2DistanceTracker.js +5 -5
  790. package/dist/trinity/curves/curve/Tr2DistanceTracker.js.map +1 -1
  791. package/dist/trinity/curves/curve/Tr2FollowCurve.js +2 -2
  792. package/dist/trinity/curves/curve/Tr2FollowCurve.js.map +1 -1
  793. package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js +2 -2
  794. package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js.map +1 -1
  795. package/dist/trinity/curves/curve/Tr2RotationAdapter.js +2 -2
  796. package/dist/trinity/curves/curve/Tr2RotationAdapter.js.map +1 -1
  797. package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js +2 -2
  798. package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js.map +1 -1
  799. package/dist/trinity/curves/curve/Tr2ScalarFader.js +2 -2
  800. package/dist/trinity/curves/curve/Tr2ScalarFader.js.map +1 -1
  801. package/dist/trinity/curves/curve/Tr2TranslationAdapter.js +2 -2
  802. package/dist/trinity/curves/curve/Tr2TranslationAdapter.js.map +1 -1
  803. package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js +2 -2
  804. package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js.map +1 -1
  805. package/dist/trinity/curves/curve/TriColorSequencer.js +18 -18
  806. package/dist/trinity/curves/curve/TriColorSequencer.js.map +1 -1
  807. package/dist/trinity/curves/curve/TriEventCurve.js +51 -51
  808. package/dist/trinity/curves/curve/TriEventCurve.js.map +1 -1
  809. package/dist/trinity/curves/curve/TriPerlinCurve.js +2 -2
  810. package/dist/trinity/curves/curve/TriPerlinCurve.js.map +1 -1
  811. package/dist/trinity/curves/curve/TriVectorSequencer.js +36 -36
  812. package/dist/trinity/curves/curve/TriVectorSequencer.js.map +1 -1
  813. package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js +2 -2
  814. package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js.map +1 -1
  815. package/dist/trinity/curves/key/Tr2MatrixKey.js +2 -2
  816. package/dist/trinity/curves/key/Tr2MatrixKey.js.map +1 -1
  817. package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js +2 -2
  818. package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js.map +1 -1
  819. package/dist/trinity/curves/key/Tr2ScalarExprKey.js +28 -24
  820. package/dist/trinity/curves/key/Tr2ScalarExprKey.js.map +1 -1
  821. package/dist/trinity/curves/key/TriEventKey.js +2 -2
  822. package/dist/trinity/curves/key/TriEventKey.js.map +1 -1
  823. package/dist/trinity/curves/track/Tr2GrannyEventTrack.js +2 -2
  824. package/dist/trinity/curves/track/Tr2GrannyEventTrack.js.map +1 -1
  825. package/dist/trinity/curves/track/Tr2GrannyTrack.js +9 -4
  826. package/dist/trinity/curves/track/Tr2GrannyTrack.js.map +1 -1
  827. package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js +2 -2
  828. package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js.map +1 -1
  829. package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js +2 -2
  830. package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js.map +1 -1
  831. package/dist/trinity/eve/AudioGameObject.js +6 -8
  832. package/dist/trinity/eve/AudioGameObject.js.map +1 -1
  833. package/dist/trinity/eve/EveCustomMask.js +2 -2
  834. package/dist/trinity/eve/EveCustomMask.js.map +1 -1
  835. package/dist/trinity/eve/EveDistanceField.js +6 -4
  836. package/dist/trinity/eve/EveDistanceField.js.map +1 -1
  837. package/dist/trinity/eve/EveImpactOverlay.js +2 -2
  838. package/dist/trinity/eve/EveImpactOverlay.js.map +1 -1
  839. package/dist/trinity/eve/EveThrottleable.js +2 -2
  840. package/dist/trinity/eve/EveThrottleable.js.map +1 -1
  841. package/dist/trinity/eve/EveTriggerVolume.js +4 -5
  842. package/dist/trinity/eve/EveTriggerVolume.js.map +1 -1
  843. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +1 -23
  844. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  845. package/dist/trinity/eve/IEveSpaceObject2.js +1 -24
  846. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  847. package/dist/trinity/eve/IEveTransform.js +1 -22
  848. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  849. package/dist/trinity/eve/attachment/banner/EveBannerItem.js +2 -2
  850. package/dist/trinity/eve/attachment/banner/EveBannerItem.js.map +1 -1
  851. package/dist/trinity/eve/attachment/banner/EveBannerLight.js +2 -2
  852. package/dist/trinity/eve/attachment/banner/EveBannerLight.js.map +1 -1
  853. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +20 -3
  854. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  855. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +127 -122
  856. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  857. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +5 -5
  858. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -1
  859. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +4 -5
  860. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  861. package/dist/trinity/eve/attachment/booster/EveTrailsSet.js +4 -2
  862. package/dist/trinity/eve/attachment/booster/EveTrailsSet.js.map +1 -1
  863. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +151 -148
  864. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  865. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +3 -3
  866. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  867. package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js +2 -2
  868. package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js.map +1 -1
  869. package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js +2 -2
  870. package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js.map +1 -1
  871. package/dist/trinity/eve/attachment/plane/EvePlaneLight.js +2 -2
  872. package/dist/trinity/eve/attachment/plane/EvePlaneLight.js.map +1 -1
  873. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +10 -4
  874. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  875. package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js +3 -2
  876. package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js.map +1 -1
  877. package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js +2 -2
  878. package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -1
  879. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +3 -3
  880. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  881. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js +2 -2
  882. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -1
  883. package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js +2 -2
  884. package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js.map +1 -1
  885. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +4 -4
  886. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  887. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js +2 -2
  888. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -1
  889. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +5 -5
  890. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  891. package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js +2 -2
  892. package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -1
  893. package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js +7 -4
  894. package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  895. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +177 -144
  896. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  897. package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js +2 -2
  898. package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  899. package/dist/trinity/eve/camera/EveCamera.js +5 -11
  900. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  901. package/dist/trinity/eve/child/EveChildAudio.js +4 -5
  902. package/dist/trinity/eve/child/EveChildAudio.js.map +1 -1
  903. package/dist/trinity/eve/child/EveChildBehaviorSystem.js +5 -6
  904. package/dist/trinity/eve/child/EveChildBehaviorSystem.js.map +1 -1
  905. package/dist/trinity/eve/child/EveChildBoosterSet.js +6 -6
  906. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  907. package/dist/trinity/eve/child/EveChildBulletStorm.js +4 -5
  908. package/dist/trinity/eve/child/EveChildBulletStorm.js.map +1 -1
  909. package/dist/trinity/eve/child/EveChildCloud.js +5 -6
  910. package/dist/trinity/eve/child/EveChildCloud.js.map +1 -1
  911. package/dist/trinity/eve/child/EveChildCloud2.js +166 -166
  912. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  913. package/dist/trinity/eve/child/EveChildContainer.js +235 -169
  914. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  915. package/dist/trinity/eve/child/EveChildEffectPropagator.js +9 -9
  916. package/dist/trinity/eve/child/EveChildEffectPropagator.js.map +1 -1
  917. package/dist/trinity/eve/child/EveChildExplosion.js +11 -7
  918. package/dist/trinity/eve/child/EveChildExplosion.js.map +1 -1
  919. package/dist/trinity/eve/child/EveChildFogVolume.js +2 -2
  920. package/dist/trinity/eve/child/EveChildFogVolume.js.map +1 -1
  921. package/dist/trinity/eve/child/EveChildInheritProperties.js +2 -2
  922. package/dist/trinity/eve/child/EveChildInheritProperties.js.map +1 -1
  923. package/dist/trinity/eve/child/EveChildInstanceContainer.js +2 -2
  924. package/dist/trinity/eve/child/EveChildInstanceContainer.js.map +1 -1
  925. package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js +11 -7
  926. package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
  927. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +2 -2
  928. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -1
  929. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +2 -2
  930. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -1
  931. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +2 -2
  932. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -1
  933. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js +4 -5
  934. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -1
  935. package/dist/trinity/eve/child/EveChildLightingOverride.js +4 -5
  936. package/dist/trinity/eve/child/EveChildLightingOverride.js.map +1 -1
  937. package/dist/trinity/eve/child/EveChildLineSet.js +4 -5
  938. package/dist/trinity/eve/child/EveChildLineSet.js.map +1 -1
  939. package/dist/trinity/eve/child/EveChildLink.js +2 -2
  940. package/dist/trinity/eve/child/EveChildLink.js.map +1 -1
  941. package/dist/trinity/eve/child/EveChildMesh.js +299 -227
  942. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  943. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +2 -2
  944. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -1
  945. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js +2 -2
  946. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -1
  947. package/dist/trinity/eve/child/EveChildParticleSphere.js +4 -5
  948. package/dist/trinity/eve/child/EveChildParticleSphere.js.map +1 -1
  949. package/dist/trinity/eve/child/EveChildParticleSystem.js +36 -36
  950. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  951. package/dist/trinity/eve/child/EveChildPlug.js +60 -14
  952. package/dist/trinity/eve/child/EveChildPlug.js.map +1 -1
  953. package/dist/trinity/eve/child/EveChildPostProcessVolume.js +2 -2
  954. package/dist/trinity/eve/child/EveChildPostProcessVolume.js.map +1 -1
  955. package/dist/trinity/eve/child/EveChildQuad.js +4 -5
  956. package/dist/trinity/eve/child/EveChildQuad.js.map +1 -1
  957. package/dist/trinity/eve/child/EveChildRef.js +2 -2
  958. package/dist/trinity/eve/child/EveChildRef.js.map +1 -1
  959. package/dist/trinity/eve/child/EveChildSocket.js +2 -2
  960. package/dist/trinity/eve/child/EveChildSocket.js.map +1 -1
  961. package/dist/trinity/eve/child/EveChildSpherePin.js +4 -4
  962. package/dist/trinity/eve/child/EveChildSpherePin.js.map +1 -1
  963. package/dist/trinity/eve/child/EveChildTurret.js +4 -4
  964. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  965. package/dist/trinity/eve/child/EveCloudVolumeBall.js +2 -2
  966. package/dist/trinity/eve/child/EveCloudVolumeBall.js.map +1 -1
  967. package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js +6 -6
  968. package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
  969. package/dist/trinity/eve/child/EveSpaceObjectChild.js +2 -2
  970. package/dist/trinity/eve/child/EveSpaceObjectChild.js.map +1 -1
  971. package/dist/trinity/eve/child/IEveLightingOverride.js +1 -23
  972. package/dist/trinity/eve/child/IEveLightingOverride.js.map +1 -1
  973. package/dist/trinity/eve/child/behaviors/Allign.js +2 -2
  974. package/dist/trinity/eve/child/behaviors/Allign.js.map +1 -1
  975. package/dist/trinity/eve/child/behaviors/ApproachGroup.js +2 -2
  976. package/dist/trinity/eve/child/behaviors/ApproachGroup.js.map +1 -1
  977. package/dist/trinity/eve/child/behaviors/BackAndForth.js +2 -2
  978. package/dist/trinity/eve/child/behaviors/BackAndForth.js.map +1 -1
  979. package/dist/trinity/eve/child/behaviors/BehaviorGroup.js +4 -4
  980. package/dist/trinity/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  981. package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js +2 -2
  982. package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
  983. package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js +2 -2
  984. package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
  985. package/dist/trinity/eve/child/behaviors/DroneAvoidance.js +2 -2
  986. package/dist/trinity/eve/child/behaviors/DroneAvoidance.js.map +1 -1
  987. package/dist/trinity/eve/child/behaviors/FollowASpline.js +2 -2
  988. package/dist/trinity/eve/child/behaviors/FollowASpline.js.map +1 -1
  989. package/dist/trinity/eve/child/behaviors/Formation.js +2 -2
  990. package/dist/trinity/eve/child/behaviors/Formation.js.map +1 -1
  991. package/dist/trinity/eve/child/behaviors/InclusionVolume.js +2 -2
  992. package/dist/trinity/eve/child/behaviors/InclusionVolume.js.map +1 -1
  993. package/dist/trinity/eve/child/behaviors/Inertia.js +2 -2
  994. package/dist/trinity/eve/child/behaviors/Inertia.js.map +1 -1
  995. package/dist/trinity/eve/child/behaviors/PlayFX.js +2 -2
  996. package/dist/trinity/eve/child/behaviors/PlayFX.js.map +1 -1
  997. package/dist/trinity/eve/child/behaviors/SeekTarget.js +2 -2
  998. package/dist/trinity/eve/child/behaviors/SeekTarget.js.map +1 -1
  999. package/dist/trinity/eve/child/behaviors/SpawnDrones.js +2 -2
  1000. package/dist/trinity/eve/child/behaviors/SpawnDrones.js.map +1 -1
  1001. package/dist/trinity/eve/child/behaviors/Wander.js +2 -2
  1002. package/dist/trinity/eve/child/behaviors/Wander.js.map +1 -1
  1003. package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js +2 -2
  1004. package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -1
  1005. package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js +2 -2
  1006. package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -1
  1007. package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js +8 -8
  1008. package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  1009. package/dist/trinity/eve/child/lineSetPaths/EveCircle.js +8 -8
  1010. package/dist/trinity/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  1011. package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js +2 -2
  1012. package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
  1013. package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js +2 -2
  1014. package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
  1015. package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js +2 -2
  1016. package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
  1017. package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js +2 -2
  1018. package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  1019. package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js +2 -2
  1020. package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
  1021. package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +2 -2
  1022. package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
  1023. package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js +5 -6
  1024. package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
  1025. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +3 -3
  1026. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
  1027. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +3 -3
  1028. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
  1029. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js +2 -2
  1030. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
  1031. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +3 -3
  1032. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
  1033. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js +4 -4
  1034. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
  1035. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +4 -4
  1036. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
  1037. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +4 -4
  1038. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
  1039. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js +4 -4
  1040. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
  1041. package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js +2 -2
  1042. package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
  1043. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +2 -2
  1044. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
  1045. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +2 -2
  1046. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
  1047. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +2 -2
  1048. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
  1049. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +2 -2
  1050. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
  1051. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +4 -4
  1052. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
  1053. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +2 -2
  1054. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
  1055. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +2 -2
  1056. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
  1057. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +2 -2
  1058. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
  1059. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +2 -2
  1060. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
  1061. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +2 -2
  1062. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
  1063. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js +2 -2
  1064. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
  1065. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +2 -2
  1066. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
  1067. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js +2 -2
  1068. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
  1069. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +2 -2
  1070. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
  1071. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +2 -2
  1072. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
  1073. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +2 -2
  1074. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
  1075. package/dist/trinity/eve/effect/lensflare/EveLensflare.js +4 -5
  1076. package/dist/trinity/eve/effect/lensflare/EveLensflare.js.map +1 -1
  1077. package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js +4 -5
  1078. package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js.map +1 -1
  1079. package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js +4 -4
  1080. package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -1
  1081. package/dist/trinity/eve/index.js +4 -4
  1082. package/dist/trinity/eve/lights/Tr2FactionLight.js +5 -6
  1083. package/dist/trinity/eve/lights/Tr2FactionLight.js.map +1 -1
  1084. package/dist/trinity/eve/lights/Tr2Light.js +37 -9
  1085. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  1086. package/dist/trinity/eve/lights/Tr2PointLight.js +2 -2
  1087. package/dist/trinity/eve/lights/Tr2PointLight.js.map +1 -1
  1088. package/dist/trinity/eve/lights/Tr2SpotLight.js +2 -2
  1089. package/dist/trinity/eve/lights/Tr2SpotLight.js.map +1 -1
  1090. package/dist/trinity/eve/lights/Tr2TexturedPointLight.js +29 -31
  1091. package/dist/trinity/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  1092. package/dist/trinity/eve/locator/EveLocator2.js +2 -2
  1093. package/dist/trinity/eve/locator/EveLocator2.js.map +1 -1
  1094. package/dist/trinity/eve/locator/EveLocatorSets.js +2 -2
  1095. package/dist/trinity/eve/locator/EveLocatorSets.js.map +1 -1
  1096. package/dist/trinity/eve/locator/Locator.js +2 -2
  1097. package/dist/trinity/eve/locator/Locator.js.map +1 -1
  1098. package/dist/trinity/eve/overlays/EveDamageOverlay.js +2 -2
  1099. package/dist/trinity/eve/overlays/EveDamageOverlay.js.map +1 -1
  1100. package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js +2 -2
  1101. package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
  1102. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +5 -6
  1103. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  1104. package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js +4 -5
  1105. package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  1106. package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js +2 -2
  1107. package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
  1108. package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js +2 -2
  1109. package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
  1110. package/dist/trinity/eve/renderable/stretch/EveStretch.js +6 -6
  1111. package/dist/trinity/eve/renderable/stretch/EveStretch.js.map +1 -1
  1112. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +10 -8
  1113. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  1114. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +4 -5
  1115. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  1116. package/dist/trinity/eve/scene/EveSpaceScene.js +2 -2
  1117. package/dist/trinity/eve/scene/EveSpaceScene.js.map +1 -1
  1118. package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js +2 -2
  1119. package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
  1120. package/dist/trinity/eve/scene/components/EveComponentRegistry.js +3 -3
  1121. package/dist/trinity/eve/scene/components/EveComponentRegistry.js.map +1 -1
  1122. package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js +6 -7
  1123. package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
  1124. package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js +2 -2
  1125. package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
  1126. package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js +4 -8
  1127. package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  1128. package/dist/trinity/eve/smartLights/EveSmartLightMesh.js +7 -4
  1129. package/dist/trinity/eve/smartLights/EveSmartLightMesh.js.map +1 -1
  1130. package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js +25 -15
  1131. package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  1132. package/dist/trinity/eve/smartLights/EveSmartLightQuad.js +4 -9
  1133. package/dist/trinity/eve/smartLights/EveSmartLightQuad.js.map +1 -1
  1134. package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js +2 -2
  1135. package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
  1136. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +2 -3
  1137. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
  1138. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +2 -2
  1139. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
  1140. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +2 -2
  1141. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
  1142. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +10 -18
  1143. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
  1144. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +2 -2
  1145. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
  1146. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +2 -2
  1147. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
  1148. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +4 -9
  1149. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
  1150. package/dist/trinity/eve/socket/EveSocketParameterBool.js +2 -2
  1151. package/dist/trinity/eve/socket/EveSocketParameterBool.js.map +1 -1
  1152. package/dist/trinity/eve/socket/EveSocketParameterColor.js +2 -2
  1153. package/dist/trinity/eve/socket/EveSocketParameterColor.js.map +1 -1
  1154. package/dist/trinity/eve/socket/EveSocketParameterFloat.js +2 -2
  1155. package/dist/trinity/eve/socket/EveSocketParameterFloat.js.map +1 -1
  1156. package/dist/trinity/eve/socket/EveSocketParameterInt.js +2 -2
  1157. package/dist/trinity/eve/socket/EveSocketParameterInt.js.map +1 -1
  1158. package/dist/trinity/eve/socket/EveSocketParameterString.js +2 -2
  1159. package/dist/trinity/eve/socket/EveSocketParameterString.js.map +1 -1
  1160. package/dist/trinity/eve/socket/EveSocketParameterVector2.js +2 -2
  1161. package/dist/trinity/eve/socket/EveSocketParameterVector2.js.map +1 -1
  1162. package/dist/trinity/eve/socket/EveSocketParameterVector3.js +2 -2
  1163. package/dist/trinity/eve/socket/EveSocketParameterVector3.js.map +1 -1
  1164. package/dist/trinity/eve/socket/EveSocketParameterVector4.js +2 -2
  1165. package/dist/trinity/eve/socket/EveSocketParameterVector4.js.map +1 -1
  1166. package/dist/trinity/eve/spaceObject/EveEffectRoot2.js +20 -17
  1167. package/dist/trinity/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  1168. package/dist/trinity/eve/spaceObject/EveMissile.js +2 -2
  1169. package/dist/trinity/eve/spaceObject/EveMissile.js.map +1 -1
  1170. package/dist/trinity/eve/spaceObject/EveMissileWarhead.js +2 -2
  1171. package/dist/trinity/eve/spaceObject/EveMissileWarhead.js.map +1 -1
  1172. package/dist/trinity/eve/spaceObject/EveMobile.js +2 -2
  1173. package/dist/trinity/eve/spaceObject/EveMobile.js.map +1 -1
  1174. package/dist/trinity/eve/spaceObject/EveRootTransform.js +2 -2
  1175. package/dist/trinity/eve/spaceObject/EveRootTransform.js.map +1 -1
  1176. package/dist/trinity/eve/spaceObject/EveShip2.js +2 -2
  1177. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  1178. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +525 -431
  1179. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  1180. package/dist/trinity/eve/spaceObject/EveTransform.js +7 -7
  1181. package/dist/trinity/eve/spaceObject/EveTransform.js.map +1 -1
  1182. package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +2 -2
  1183. package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -1
  1184. package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +2 -2
  1185. package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -1
  1186. package/dist/trinity/eve/spaceObject/planet/EvePlanet.js +2 -2
  1187. package/dist/trinity/eve/spaceObject/planet/EvePlanet.js.map +1 -1
  1188. package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js +2 -2
  1189. package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  1190. package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js +7 -8
  1191. package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
  1192. package/dist/trinity/eve/ui/EveConnector.js +2 -2
  1193. package/dist/trinity/eve/ui/EveConnector.js.map +1 -1
  1194. package/dist/trinity/eve/ui/EveEllipseDefinition.js +2 -2
  1195. package/dist/trinity/eve/ui/EveEllipseDefinition.js.map +1 -1
  1196. package/dist/trinity/eve/ui/EveEllipseSet.js +36 -6
  1197. package/dist/trinity/eve/ui/EveEllipseSet.js.map +1 -1
  1198. package/dist/trinity/eve/ui/EveLineContainer.js +4 -5
  1199. package/dist/trinity/eve/ui/EveLineContainer.js.map +1 -1
  1200. package/dist/trinity/eve/ui/EveProjectBracket.js +11 -3
  1201. package/dist/trinity/eve/ui/EveProjectBracket.js.map +1 -1
  1202. package/dist/trinity/eve/ui/EveSpherePin.js +6 -7
  1203. package/dist/trinity/eve/ui/EveSpherePin.js.map +1 -1
  1204. package/dist/trinity/eve/ui/EveSprite2dBracket.js +2 -2
  1205. package/dist/trinity/eve/ui/EveSprite2dBracket.js.map +1 -1
  1206. package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js +2 -2
  1207. package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
  1208. package/dist/trinity/eve/ui/EveTacticalOverlay.js +6 -24
  1209. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  1210. package/dist/trinity/eve/ui/EveUiObject.js +2 -2
  1211. package/dist/trinity/eve/ui/EveUiObject.js.map +1 -1
  1212. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +4 -5
  1213. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  1214. package/dist/trinity/eve/ui/lines/EveLineSet.js +6 -7
  1215. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  1216. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +2 -2
  1217. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -1
  1218. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +8 -9
  1219. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  1220. package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js +2 -2
  1221. package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
  1222. package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js +2 -2
  1223. package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
  1224. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +2 -2
  1225. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
  1226. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +4 -4
  1227. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
  1228. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +2 -2
  1229. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
  1230. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +2 -2
  1231. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
  1232. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +2 -2
  1233. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
  1234. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +4 -4
  1235. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
  1236. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +2 -2
  1237. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
  1238. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +2 -2
  1239. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
  1240. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +2 -2
  1241. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
  1242. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +2 -2
  1243. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
  1244. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +2 -2
  1245. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
  1246. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +2 -2
  1247. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
  1248. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +2 -2
  1249. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
  1250. package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +2 -2
  1251. package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
  1252. package/dist/trinity/eve/volume/EveBoxVolume.js +44 -44
  1253. package/dist/trinity/eve/volume/EveBoxVolume.js.map +1 -1
  1254. package/dist/trinity/eve/volume/EveEllipsoidVolume.js +2 -2
  1255. package/dist/trinity/eve/volume/EveEllipsoidVolume.js.map +1 -1
  1256. package/dist/trinity/eve/volume/EveSphereVolume.js +5 -6
  1257. package/dist/trinity/eve/volume/EveSphereVolume.js.map +1 -1
  1258. package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js +2 -2
  1259. package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
  1260. package/dist/trinity/generated/eve/effect/EveOccluder.js +2 -2
  1261. package/dist/trinity/generated/eve/effect/EveOccluder.js.map +1 -1
  1262. package/dist/trinity/generated/eve/effect/EveStarfield.js +2 -2
  1263. package/dist/trinity/generated/eve/effect/EveStarfield.js.map +1 -1
  1264. package/dist/trinity/generated/font/Tr2FontManager.js +2 -2
  1265. package/dist/trinity/generated/font/Tr2FontManager.js.map +1 -1
  1266. package/dist/trinity/generated/font/Tr2FontMeasurer.js +2 -2
  1267. package/dist/trinity/generated/font/Tr2FontMeasurer.js.map +1 -1
  1268. package/dist/trinity/generated/font/Tr2SBitWrapper.js +2 -2
  1269. package/dist/trinity/generated/font/Tr2SBitWrapper.js.map +1 -1
  1270. package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js +2 -2
  1271. package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
  1272. package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js +2 -2
  1273. package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
  1274. package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js +2 -2
  1275. package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
  1276. package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
  1277. package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
  1278. package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js +2 -2
  1279. package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
  1280. package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js +2 -2
  1281. package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
  1282. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
  1283. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
  1284. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js +2 -2
  1285. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
  1286. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js +2 -2
  1287. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
  1288. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js +2 -2
  1289. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
  1290. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js +2 -2
  1291. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
  1292. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js +2 -2
  1293. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
  1294. package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js +2 -2
  1295. package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
  1296. package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js +2 -2
  1297. package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
  1298. package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
  1299. package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
  1300. package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js +2 -2
  1301. package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
  1302. package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js +2 -2
  1303. package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
  1304. package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js +2 -2
  1305. package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
  1306. package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
  1307. package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
  1308. package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js +2 -2
  1309. package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
  1310. package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js +2 -2
  1311. package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
  1312. package/dist/trinity/generated/trinityCore/Tr2SSSSS.js +2 -2
  1313. package/dist/trinity/generated/trinityCore/Tr2SSSSS.js.map +1 -1
  1314. package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js +2 -2
  1315. package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
  1316. package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
  1317. package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
  1318. package/dist/trinity/index.js +23 -16
  1319. package/dist/trinity/index.js.map +1 -1
  1320. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js +1 -31
  1321. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -1
  1322. package/dist/trinity/particle/Tr2ParticleSystem.js +51 -52
  1323. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  1324. package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js +2 -2
  1325. package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
  1326. package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js +2 -2
  1327. package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
  1328. package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js +2 -2
  1329. package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
  1330. package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js +2 -2
  1331. package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
  1332. package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js +2 -2
  1333. package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js.map +1 -1
  1334. package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js +2 -2
  1335. package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js.map +1 -1
  1336. package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js +2 -2
  1337. package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js.map +1 -1
  1338. package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js +13 -3
  1339. package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js.map +1 -1
  1340. package/dist/trinity/particle/constraint/Tr2SphereConstraint.js +2 -2
  1341. package/dist/trinity/particle/constraint/Tr2SphereConstraint.js.map +1 -1
  1342. package/dist/trinity/particle/element/Tr2ParticleElementData.js +22 -8
  1343. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  1344. package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js +13 -25
  1345. package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js.map +1 -1
  1346. package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js +38 -3
  1347. package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js.map +1 -1
  1348. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +26 -27
  1349. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  1350. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +4 -5
  1351. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  1352. package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js +2 -2
  1353. package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js.map +1 -1
  1354. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +17 -18
  1355. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  1356. package/dist/trinity/particle/force/Tr2ForceSphereVolume.js +2 -2
  1357. package/dist/trinity/particle/force/Tr2ForceSphereVolume.js.map +1 -1
  1358. package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js +2 -2
  1359. package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js.map +1 -1
  1360. package/dist/trinity/particle/force/Tr2ParticleDirectForce.js +2 -2
  1361. package/dist/trinity/particle/force/Tr2ParticleDirectForce.js.map +1 -1
  1362. package/dist/trinity/particle/force/Tr2ParticleDragForce.js +2 -2
  1363. package/dist/trinity/particle/force/Tr2ParticleDragForce.js.map +1 -1
  1364. package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js +2 -2
  1365. package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js.map +1 -1
  1366. package/dist/trinity/particle/force/Tr2ParticleSpring.js +2 -2
  1367. package/dist/trinity/particle/force/Tr2ParticleSpring.js.map +1 -1
  1368. package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js +2 -2
  1369. package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js.map +1 -1
  1370. package/dist/trinity/particle/force/Tr2ParticleVortexForce.js +2 -2
  1371. package/dist/trinity/particle/force/Tr2ParticleVortexForce.js.map +1 -1
  1372. package/dist/trinity/particle/index.js +1 -1
  1373. package/dist/trinity/postProcess/Tr2PostProcess.js +2 -2
  1374. package/dist/trinity/postProcess/Tr2PostProcess.js.map +1 -1
  1375. package/dist/trinity/postProcess/Tr2PostProcess2.js +2 -2
  1376. package/dist/trinity/postProcess/Tr2PostProcess2.js.map +1 -1
  1377. package/dist/trinity/postProcess/Tr2PostProcessAttributes.js +2 -2
  1378. package/dist/trinity/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  1379. package/dist/trinity/postProcess/Tr2PostProcessRenderer.js +4 -4
  1380. package/dist/trinity/postProcess/Tr2PostProcessRenderer.js.map +1 -1
  1381. package/dist/trinity/postProcess/Tr2SSAO.js +4 -4
  1382. package/dist/trinity/postProcess/Tr2SSAO.js.map +1 -1
  1383. package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js +2 -2
  1384. package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js.map +1 -1
  1385. package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js +2 -2
  1386. package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js.map +1 -1
  1387. package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js +2 -2
  1388. package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js.map +1 -1
  1389. package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js +2 -2
  1390. package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js.map +1 -1
  1391. package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js +2 -2
  1392. package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js.map +1 -1
  1393. package/dist/trinity/postProcess/effect/Tr2PPEffect.js +2 -2
  1394. package/dist/trinity/postProcess/effect/Tr2PPEffect.js.map +1 -1
  1395. package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js +2 -2
  1396. package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js.map +1 -1
  1397. package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js +2 -2
  1398. package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js.map +1 -1
  1399. package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js +2 -2
  1400. package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js.map +1 -1
  1401. package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js +2 -2
  1402. package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js.map +1 -1
  1403. package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js +2 -2
  1404. package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js.map +1 -1
  1405. package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js +2 -2
  1406. package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js.map +1 -1
  1407. package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js +2 -2
  1408. package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js.map +1 -1
  1409. package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js +2 -2
  1410. package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js.map +1 -1
  1411. package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js +2 -2
  1412. package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js.map +1 -1
  1413. package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js +2 -2
  1414. package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js.map +1 -1
  1415. package/dist/trinity/renderJob/Tr2RenderJobs.js +5 -5
  1416. package/dist/trinity/renderJob/Tr2RenderJobs.js.map +1 -1
  1417. package/dist/trinity/renderJob/TriRenderJob.js +4 -4
  1418. package/dist/trinity/renderJob/TriRenderJob.js.map +1 -1
  1419. package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js +4 -5
  1420. package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js.map +1 -1
  1421. package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js +4 -5
  1422. package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js.map +1 -1
  1423. package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js +2 -2
  1424. package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js.map +1 -1
  1425. package/dist/trinity/renderJob/step/TriRenderStep.js +2 -2
  1426. package/dist/trinity/renderJob/step/TriRenderStep.js.map +1 -1
  1427. package/dist/trinity/renderJob/step/TriStepClear.js +2 -2
  1428. package/dist/trinity/renderJob/step/TriStepClear.js.map +1 -1
  1429. package/dist/trinity/renderJob/step/TriStepClearUav.js +2 -2
  1430. package/dist/trinity/renderJob/step/TriStepClearUav.js.map +1 -1
  1431. package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js +2 -2
  1432. package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js.map +1 -1
  1433. package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js +2 -2
  1434. package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js.map +1 -1
  1435. package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js +2 -2
  1436. package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js.map +1 -1
  1437. package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js +2 -2
  1438. package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js.map +1 -1
  1439. package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js +2 -2
  1440. package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js.map +1 -1
  1441. package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js +2 -2
  1442. package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js.map +1 -1
  1443. package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js +2 -2
  1444. package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js.map +1 -1
  1445. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +2 -2
  1446. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  1447. package/dist/trinity/renderJob/step/TriStepRenderAtlas.js +2 -2
  1448. package/dist/trinity/renderJob/step/TriStepRenderAtlas.js.map +1 -1
  1449. package/dist/trinity/renderJob/step/TriStepRenderDebug.js +2 -2
  1450. package/dist/trinity/renderJob/step/TriStepRenderDebug.js.map +1 -1
  1451. package/dist/trinity/renderJob/step/TriStepRenderEffect.js +2 -2
  1452. package/dist/trinity/renderJob/step/TriStepRenderEffect.js.map +1 -1
  1453. package/dist/trinity/renderJob/step/TriStepRenderFps.js +2 -2
  1454. package/dist/trinity/renderJob/step/TriStepRenderFps.js.map +1 -1
  1455. package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js +2 -2
  1456. package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js.map +1 -1
  1457. package/dist/trinity/renderJob/step/TriStepRenderObject.js +2 -2
  1458. package/dist/trinity/renderJob/step/TriStepRenderObject.js.map +1 -1
  1459. package/dist/trinity/renderJob/step/TriStepRenderPass.js +2 -2
  1460. package/dist/trinity/renderJob/step/TriStepRenderPass.js.map +1 -1
  1461. package/dist/trinity/renderJob/step/TriStepRenderScene.js +2 -2
  1462. package/dist/trinity/renderJob/step/TriStepRenderScene.js.map +1 -1
  1463. package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js +2 -2
  1464. package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js.map +1 -1
  1465. package/dist/trinity/renderJob/step/TriStepRenderTexture.js +2 -2
  1466. package/dist/trinity/renderJob/step/TriStepRenderTexture.js.map +1 -1
  1467. package/dist/trinity/renderJob/step/TriStepResolve.js +2 -2
  1468. package/dist/trinity/renderJob/step/TriStepResolve.js.map +1 -1
  1469. package/dist/trinity/renderJob/step/TriStepRunComputeShader.js +2 -2
  1470. package/dist/trinity/renderJob/step/TriStepRunComputeShader.js.map +1 -1
  1471. package/dist/trinity/renderJob/step/TriStepRunJob.js +2 -2
  1472. package/dist/trinity/renderJob/step/TriStepRunJob.js.map +1 -1
  1473. package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js +2 -2
  1474. package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js.map +1 -1
  1475. package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js +2 -2
  1476. package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js.map +1 -1
  1477. package/dist/trinity/renderJob/step/TriStepSetProjection.js +2 -2
  1478. package/dist/trinity/renderJob/step/TriStepSetProjection.js.map +1 -1
  1479. package/dist/trinity/renderJob/step/TriStepSetRenderState.js +2 -2
  1480. package/dist/trinity/renderJob/step/TriStepSetRenderState.js.map +1 -1
  1481. package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js +2 -2
  1482. package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js.map +1 -1
  1483. package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js +2 -2
  1484. package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js.map +1 -1
  1485. package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js +2 -2
  1486. package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js.map +1 -1
  1487. package/dist/trinity/renderJob/step/TriStepSetVariableStore.js +2 -2
  1488. package/dist/trinity/renderJob/step/TriStepSetVariableStore.js.map +1 -1
  1489. package/dist/trinity/renderJob/step/TriStepSetView.js +2 -2
  1490. package/dist/trinity/renderJob/step/TriStepSetView.js.map +1 -1
  1491. package/dist/trinity/renderJob/step/TriStepSetViewport.js +2 -2
  1492. package/dist/trinity/renderJob/step/TriStepSetViewport.js.map +1 -1
  1493. package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js +2 -2
  1494. package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js.map +1 -1
  1495. package/dist/trinity/renderJob/step/TriStepTestBlocking.js +2 -2
  1496. package/dist/trinity/renderJob/step/TriStepTestBlocking.js.map +1 -1
  1497. package/dist/trinity/renderJob/step/TriStepToggleCubemap.js +2 -2
  1498. package/dist/trinity/renderJob/step/TriStepToggleCubemap.js.map +1 -1
  1499. package/dist/trinity/renderJob/step/TriStepUpdate.js +2 -2
  1500. package/dist/trinity/renderJob/step/TriStepUpdate.js.map +1 -1
  1501. package/dist/trinity/shader/Tr2DataTextureManager.js +9 -9
  1502. package/dist/trinity/shader/Tr2DataTextureManager.js.map +1 -1
  1503. package/dist/trinity/shader/Tr2Effect.js +370 -347
  1504. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  1505. package/dist/trinity/shader/Tr2Material.js +5 -5
  1506. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  1507. package/dist/trinity/shader/Tr2ShaderBuffer.js +3 -4
  1508. package/dist/trinity/shader/Tr2ShaderBuffer.js.map +1 -1
  1509. package/dist/trinity/shader/index.js +3 -0
  1510. package/dist/trinity/shader/index.js.map +1 -1
  1511. package/dist/trinity/shader/parameter/CjsParameter.js +202 -185
  1512. package/dist/trinity/shader/parameter/CjsParameter.js.map +1 -1
  1513. package/dist/trinity/shader/parameter/CjsVectorParameter.js +2 -2
  1514. package/dist/trinity/shader/parameter/CjsVectorParameter.js.map +1 -1
  1515. package/dist/trinity/shader/parameter/ITriEffectParameter.js +56 -0
  1516. package/dist/trinity/shader/parameter/ITriEffectParameter.js.map +1 -0
  1517. package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js +31 -0
  1518. package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js.map +1 -0
  1519. package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js +43 -0
  1520. package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js.map +1 -0
  1521. package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js +17 -5
  1522. package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
  1523. package/dist/trinity/shader/parameter/Tr2FloatParameter.js +46 -45
  1524. package/dist/trinity/shader/parameter/Tr2FloatParameter.js.map +1 -1
  1525. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +14 -12
  1526. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  1527. package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js +33 -32
  1528. package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  1529. package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js +11 -10
  1530. package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  1531. package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js +55 -53
  1532. package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  1533. package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js +49 -48
  1534. package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  1535. package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js +52 -51
  1536. package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  1537. package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js +56 -55
  1538. package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  1539. package/dist/trinity/shader/parameter/TriFloatArrayParameter.js +8 -8
  1540. package/dist/trinity/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  1541. package/dist/trinity/shader/parameter/TriTextureParameter.js +27 -22
  1542. package/dist/trinity/shader/parameter/TriTextureParameter.js.map +1 -1
  1543. package/dist/trinity/shader/parameter/TriTransformParameter.js +27 -27
  1544. package/dist/trinity/shader/parameter/TriTransformParameter.js.map +1 -1
  1545. package/dist/trinity/shader/parameter/TriVariableParameter.js +53 -54
  1546. package/dist/trinity/shader/parameter/TriVariableParameter.js.map +1 -1
  1547. package/dist/trinity/shader/parameter/TriVector4.js +2 -2
  1548. package/dist/trinity/shader/parameter/TriVector4.js.map +1 -1
  1549. package/dist/trinity/shader/reflection/Tr2ShaderOption.js +4 -2
  1550. package/dist/trinity/shader/reflection/Tr2ShaderOption.js.map +1 -1
  1551. package/dist/trinity/shader/sampler/Tr2SamplerOverride.js +11 -2
  1552. package/dist/trinity/shader/sampler/Tr2SamplerOverride.js.map +1 -1
  1553. package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js +2 -2
  1554. package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
  1555. package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js +2 -2
  1556. package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
  1557. package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js +2 -2
  1558. package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
  1559. package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js +8 -9
  1560. package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
  1561. package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js +2 -2
  1562. package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
  1563. package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js +2 -2
  1564. package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
  1565. package/dist/trinity/sprite2d/Tr2Sprite2dScene.js +4 -4
  1566. package/dist/trinity/sprite2d/Tr2Sprite2dScene.js.map +1 -1
  1567. package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js +2 -2
  1568. package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
  1569. package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js +2 -2
  1570. package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
  1571. package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js +2 -2
  1572. package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
  1573. package/dist/trinity/ui/Tr2PresentParameters.js +2 -2
  1574. package/dist/trinity/ui/Tr2PresentParameters.js.map +1 -1
  1575. package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js +3 -3
  1576. package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js.map +1 -1
  1577. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -1
  1578. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -1
  1579. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  1580. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  1581. package/docs/core/README.md +38 -38
  1582. package/docs/core/architecture.md +6 -5
  1583. package/docs/core/reference/api.md +0 -10
  1584. package/docs/core/reference/classes/README.md +57 -67
  1585. package/docs/global/architecture.md +1 -3
  1586. package/docs/global/blue-enums.md +115 -0
  1587. package/docs/global/concepts/model-lifecycle.md +177 -182
  1588. package/docs/global/core-types/README.md +394 -317
  1589. package/docs/global/reference/api.md +2 -2
  1590. package/docs/global/reference/classes/README.md +355 -205
  1591. package/docs/global/reference/classes/dropped.md +40 -0
  1592. package/docs/resource/architecture.md +152 -112
  1593. package/docs/resource/concepts/resource-lifecycle.md +14 -10
  1594. package/docs/resource/formats/pickle.md +126 -100
  1595. package/docs/resource/formats/provenance.md +15 -9
  1596. package/docs/resource/formats/webgl/carbon-constant-layouts.md +98 -232
  1597. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +278 -530
  1598. package/docs/resource/reference/classes/README.md +3 -1
  1599. package/docs/resource/reference/classes/dropped.md +21 -1
  1600. package/docs/resource/reference/classes/formats.md +33 -0
  1601. package/docs/resource/reference/classes/video.md +92 -0
  1602. package/docs/resource/reference/events.md +10 -9
  1603. package/docs/resource/reference/queues.md +8 -1
  1604. package/docs/trinity/README.md +5 -5
  1605. package/docs/trinity/architecture.md +355 -344
  1606. package/docs/trinity/concepts/eve-runtime-behavior.md +1 -1
  1607. package/docs/trinity/reference/api.md +19 -7
  1608. package/docs/trinity/reference/classes/dropped.md +2 -11
  1609. package/docs/trinity/reference/classes/eve-runtime.md +1 -1
  1610. package/docs/trinity/reference/classes/trinity-core.md +1672 -1622
  1611. package/docs/trinity/reference/implementation-status.md +92 -92
  1612. package/package.json +2 -1
  1613. package/dist/core/CjsFrameDriver.js +0 -109
  1614. package/dist/core/CjsFrameDriver.js.map +0 -1
  1615. package/dist/global/contracts/CjsFrameLifecycle.js +0 -49
  1616. package/dist/global/contracts/CjsFrameLifecycle.js.map +0 -1
  1617. package/dist/global/contracts/CjsInstancedMeshManager.js +0 -58
  1618. package/dist/global/contracts/CjsInstancedMeshManager.js.map +0 -1
  1619. package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js +0 -4
  1620. package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EveChildEffectPropagator.js","sources":["../../../../../src/trinity/eve/child/EveChildEffectPropagator.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildEffectPropagator.h\r\n// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildEffectPropagator.cpp\r\n// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildEffectPropagator_Blue.cpp\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { EveChildContainer } from \"./EveChildContainer.js\";\r\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { Tr2Lod } from \"../EveLODHelper.js\";\r\nimport { PropagationType, TriggerType } from \"../../generated/eve/child/enums.js\";\r\n\r\n// Module scratch for the trigger-driven locator paths (allocation rules:\r\n// copy-into, never allocate per frame; child updates run sequentially so the\r\n// scratch is non-reentrant by construction).\r\nconst BOUNDS_SCRATCH = vec4.create();\r\nconst SPHERE_CENTER_SCRATCH = vec3.create();\r\n\r\n// Carbon TriQuaternionDirVector (TriMath.cpp:262-269): stores the NORMALIZED\r\n// direction vector in the quaternion x/y/z slots with w = 0. It is a packed\r\n// direction, not a rotation - no quaternion composition happens here.\r\nfunction TriQuaternionDirVector(out, v)\r\n{\r\n const length = Math.hypot(v[0], v[1], v[2]);\r\n const scale = length ? 1 / length : 0;\r\n out[0] = v[0] * scale;\r\n out[1] = v[1] * scale;\r\n out[2] = v[2] * scale;\r\n out[3] = 0;\r\n return out;\r\n}\r\n\r\n// Carbon EveChildEffectPropagator::Transform (h:66-72): the per-locator\r\n// processed record. Records are allocated on trigger (ProcessLocators), never\r\n// per frame.\r\nfunction NewTransformRecord()\r\n{\r\n return {\r\n rotation: quat.create(),\r\n position: vec3.create(),\r\n scale: vec3.fromValues(1, 1, 1),\r\n sqrDistToSphereCenter: 0\r\n };\r\n}\r\n\r\n// Carbon SortByCircleDist (h:74-80): ascending squared distance to the\r\n// trigger-sphere center.\r\nfunction SortByCircleDist(lhs, rhs)\r\n{\r\n return lhs.sqrDistToSphereCenter - rhs.sqrDistToSphereCenter;\r\n}\r\n\r\n\r\n/** EveChildEffectPropagator (eve/child) - generated from schema shapeHash 0f2a96e8.... */\r\n@type.define({ className: \"EveChildEffectPropagator\", family: \"eve/child\" })\r\nexport class EveChildEffectPropagator extends EveChildContainer\r\n{\r\n\r\n /** m_type (PropagationType - enum PropagationType) [READWRITE, PERSIST, ENUM, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n @type.enum(\"PropagationType\")\r\n propagationType = 0;\r\n\r\n /** m_triggerMethod (TriggerType - enum TriggerType) [READWRITE, PERSIST, ENUM, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n @type.enum(\"TriggerType\")\r\n triggerMethood = 0;\r\n\r\n /** m_stopAfterNumTriggers (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n stopAfterNumTriggers = -1;\r\n\r\n /** m_randScaleMin (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n randScaleMin = 1;\r\n\r\n /** m_randScaleMax (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n randScaleMax = 1;\r\n\r\n /** m_triggerSphereOffset (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n triggerSphereOffset = vec3.create();\r\n\r\n /** m_effect (EveChildInstanceContainerPtr) [PERSISTONLY, NOTIFY] */\r\n @io.notify\r\n @io.persistOnly\r\n @type.model(\"EveChildInstanceContainer\")\r\n effect = null;\r\n\r\n /** m_stopToClearDelay (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n stopToClearDelay = 0;\r\n\r\n /** m_rndClosenessPreference (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n ClosenessPreference = 0.25;\r\n\r\n /** m_effectScaling (Vector3) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n effectScaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_effectDuration (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n durationPerEffect = 3;\r\n\r\n /** m_isPlaying (bool) [READ] */\r\n @io.read\r\n @type.boolean\r\n isPlaying = false;\r\n\r\n /** m_localLocators (EveLocatorSetsPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"EveLocatorSets\")\r\n localLocators = null;\r\n\r\n /** m_triggerSphereRadiusCurve (Tr2CurveScalarPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"Tr2CurveScalar\")\r\n triggerSphereRadiusCurve = null;\r\n\r\n /** m_triggerSphereScalarMulti (float) [READ] */\r\n @io.read\r\n @type.float32\r\n triggerSphereScalarMulti = 1;\r\n\r\n /** m_locatorSetName (BlueSharedString) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.string\r\n locatorSetName = \"\";\r\n\r\n /** m_completeness (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n completeness = 1;\r\n\r\n /** m_replayAfterDelay (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n replayAfterDelay = false;\r\n\r\n /** m_trigger (bool) [READWRITE] */\r\n @io.readwrite\r\n @type.boolean\r\n trigger = false;\r\n\r\n /** m_rndMinRangeThreshold (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n minRangeThreshold = 0;\r\n\r\n /** m_playTime (float) [READ] */\r\n @io.read\r\n @type.float32\r\n playTime = 0;\r\n\r\n /** m_rndRange (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n range = 500;\r\n\r\n /** m_numTriggers (int64_t) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.int64\r\n numTriggers = 10;\r\n\r\n /** m_frequency (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n frequency = 1;\r\n\r\n /** m_skipCleanup (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n skipCleanup = false;\r\n\r\n #currentTriggerIndex = 0;\r\n\r\n #numDeleted = 0;\r\n\r\n // Carbon m_processedTransforms/m_lastTriggered/m_delayTimer: runtime-only\r\n // trigger state (never persisted; Carbon keeps them off the Blue surface).\r\n #processedTransforms = [];\r\n\r\n #lastTriggered = [];\r\n\r\n #delayTimer = 0;\r\n\r\n /** Carbon EveChildEffectPropagator::Play (cpp:101-113): reset via Stop, then\r\n * arm playback; without an effect the propagator never starts. */\r\n @carbon.method\r\n @impl.implemented\r\n Play()\r\n {\r\n this.Stop();\r\n\r\n if (!this.effect)\r\n {\r\n return;\r\n }\r\n\r\n this.trigger = false;\r\n this.isPlaying = true;\r\n this.#delayTimer = this.stopToClearDelay;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::Stop (cpp:119-129). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The staged instance container does not yet expose Carbon's native ClearInstanceList helper, so plain hydrated instance lists are cleared directly as a fallback.\")\r\n Stop()\r\n {\r\n this.isPlaying = false;\r\n this.playTime = 0;\r\n this.#currentTriggerIndex = 0;\r\n this.#numDeleted = 0;\r\n\r\n if (this.effect)\r\n {\r\n if (typeof this.effect.ClearInstanceList === \"function\")\r\n {\r\n this.effect.ClearInstanceList();\r\n }\r\n else if (Array.isArray(this.effect.instances))\r\n {\r\n this.effect.instances.length = 0;\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::Initialize (cpp:131-138). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"DisableEditMode is duck-typed - the staged instance container has not ported its edit-mode surface yet.\")\r\n Initialize()\r\n {\r\n this.effect?.DisableEditMode?.(true);\r\n return super.Initialize();\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::OnModified (cpp:61-95): edit-mode lock\r\n * on effect changes, clamps for completeness/randScaleMin/randScaleMax, and\r\n * the playTime re-anchor on frequency changes. The value argument follows\r\n * the repo's OnModified duck (field name or field value). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Field matching follows the repo OnModified duck and DisableEditMode is duck-typed on the staged instance container.\")\r\n OnModified(value = null)\r\n {\r\n if (value === \"effect\" || (value && value === this.effect))\r\n {\r\n this.effect?.DisableEditMode?.(true);\r\n }\r\n\r\n if (value === \"completeness\" || value === this.completeness)\r\n {\r\n this.completeness = Math.min(1, Math.max(0, this.completeness));\r\n }\r\n\r\n if (value === \"randScaleMin\" || value === this.randScaleMin)\r\n {\r\n this.randScaleMin = Math.min(this.randScaleMax, Math.max(0, this.randScaleMin));\r\n }\r\n\r\n if (value === \"randScaleMax\" || value === this.randScaleMax)\r\n {\r\n this.randScaleMax = Math.max(this.randScaleMax, this.randScaleMin);\r\n }\r\n\r\n if (value === \"frequency\" || value === this.frequency)\r\n {\r\n if (this.frequency !== 0)\r\n {\r\n this.playTime = this.#currentTriggerIndex / this.frequency;\r\n }\r\n }\r\n\r\n return super.OnModified(value);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ManageTriggers (cpp:140-167): fire an\r\n * instance for every processed locator the growing trigger sphere has\r\n * swallowed; the list is distance-sorted so the scan stops at the first\r\n * locator still outside. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CreateInstance is duck-typed - the staged instance container has not ported its instance-spawning surface yet.\")\r\n ManageTriggers()\r\n {\r\n if (!this.triggerSphereRadiusCurve)\r\n {\r\n return;\r\n }\r\n\r\n if (!this.effect)\r\n {\r\n return;\r\n }\r\n\r\n let currentRadSqr = Number(this.triggerSphereRadiusCurve.GetValueAt(this.playTime) ?? 0) * this.triggerSphereScalarMulti;\r\n currentRadSqr = currentRadSqr * currentRadSqr;\r\n\r\n const records = this.#processedTransforms;\r\n for (let index = this.#currentTriggerIndex; index < records.length; index++)\r\n {\r\n const record = records[index];\r\n if (record.sqrDistToSphereCenter < currentRadSqr)\r\n {\r\n this.effect.CreateInstance?.(record.scale, record.rotation, record.position);\r\n this.#currentTriggerIndex++;\r\n }\r\n else\r\n {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Sync-side frame update (Carbon EveChildEffectPropagator::UpdateSyncronous,\r\n * cpp:173-231): consume a pending trigger (process + sort the locators and\r\n * restart playback, seeding the interval-trigger history), forward the sync\r\n * tick to the effect container, then advance the active trigger method.\r\n * Carbon deliberately does NOT call the EveChildContainer base here - the\r\n * effect container replaces the child fan-out.\r\n * @param {Object} updateContext - frame context (EveUpdateContext)\r\n * @param {EveChildUpdateParams} params\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CreateInstance on the staged instance container is duck-typed; the trigger bookkeeping is ported.\")\r\n UpdateSyncronous(updateContext, params)\r\n {\r\n if (this.trigger)\r\n {\r\n this.ProcessLocators(params?.spaceObjectParent ?? null);\r\n this.Play();\r\n\r\n if (this.triggerMethood === EveChildEffectPropagator.TriggerType.INTERVAL_TRIGGERS)\r\n {\r\n // Carbon (cpp:180-189): the last-triggered ring holds\r\n // floor(effectDuration * frequency) slots primed with -1.\r\n const size = Math.max(Math.floor(this.durationPerEffect * this.frequency), 0);\r\n this.#lastTriggered.length = 0;\r\n for (let index = 0; index < size; index++)\r\n {\r\n this.#lastTriggered.push(-1);\r\n }\r\n }\r\n }\r\n\r\n this.effect?.UpdateSyncronous(updateContext, params);\r\n\r\n if (!this.isPlaying)\r\n {\r\n return;\r\n }\r\n\r\n switch (this.triggerMethood)\r\n {\r\n case EveChildEffectPropagator.TriggerType.TRIGGER_SPHERE_CURVE:\r\n this.UpdateTriggerCurve(updateContext);\r\n break;\r\n case EveChildEffectPropagator.TriggerType.INTERVAL_TRIGGERS:\r\n if (this.frequency !== 0)\r\n {\r\n this.UpdateTriggerInterval(updateContext);\r\n }\r\n else\r\n {\r\n this.Stop();\r\n }\r\n break;\r\n case EveChildEffectPropagator.TriggerType.INSTANT_PERMANENT:\r\n this.playTime += Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaT ?? 0);\r\n if (this.#currentTriggerIndex === 0)\r\n {\r\n for (const record of this.#processedTransforms)\r\n {\r\n this.effect?.CreateInstance?.(record.scale, record.rotation, record.position);\r\n }\r\n this.#currentTriggerIndex++;\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::UpdateTriggerCurve (cpp:233-273):\r\n * advance playTime, let the trigger sphere fire instances, then handle the\r\n * end of the curve (skip cleanup, delayed replay with re-randomized locator\r\n * sizes, or stop). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateTriggerCurve(updateContext)\r\n {\r\n const dt = Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaT ?? 0);\r\n this.playTime += dt;\r\n\r\n if (this.effect)\r\n {\r\n this.ManageTriggers();\r\n }\r\n\r\n if (!this.triggerSphereRadiusCurve)\r\n {\r\n this.Stop();\r\n return;\r\n }\r\n\r\n if (this.playTime > Number(this.triggerSphereRadiusCurve.Length?.() ?? 0))\r\n {\r\n if (this.skipCleanup)\r\n {\r\n return;\r\n }\r\n\r\n if (this.replayAfterDelay)\r\n {\r\n if (this.#delayTimer > 0)\r\n {\r\n this.#delayTimer -= dt;\r\n }\r\n else\r\n {\r\n this.RecalculateLocatorSizes();\r\n this.Play();\r\n }\r\n }\r\n else\r\n {\r\n this.Stop();\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::UpdateTriggerInterval (cpp:275-317):\r\n * frequency-paced spawning from smart-random locators with a spawn cap,\r\n * plus paced deletion of expired instances (PopFront) until the loop\r\n * drains. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CreateInstance/PopFront on the staged instance container are duck-typed; the interval bookkeeping is ported.\")\r\n UpdateTriggerInterval(updateContext)\r\n {\r\n const dt = Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaT ?? 0);\r\n this.playTime += dt;\r\n\r\n if (this.#processedTransforms.length === 0)\r\n {\r\n return;\r\n }\r\n\r\n if (this.stopAfterNumTriggers > 0 && this.durationPerEffect !== -1 &&\r\n this.playTime > (this.stopAfterNumTriggers / this.frequency + this.durationPerEffect))\r\n {\r\n this.Stop();\r\n return;\r\n }\r\n\r\n // Triggers based on the frequency interval unless the maximum amount of\r\n // spawns has been reached (cpp:291-304).\r\n if (this.playTime > this.#currentTriggerIndex / this.frequency &&\r\n (this.#currentTriggerIndex < this.stopAfterNumTriggers || this.stopAfterNumTriggers < 0))\r\n {\r\n const locatorIndex = this.GetSmartRandomLocatorIndex();\r\n if (this.#lastTriggered.length)\r\n {\r\n this.#lastTriggered.shift();\r\n }\r\n this.#lastTriggered.push(locatorIndex);\r\n\r\n const record = this.#processedTransforms[locatorIndex];\r\n this.effect?.CreateInstance?.(record.scale, record.rotation, record.position);\r\n this.#currentTriggerIndex++;\r\n }\r\n\r\n if (this.durationPerEffect !== -1 &&\r\n this.playTime > (this.#numDeleted / this.frequency) + this.durationPerEffect)\r\n {\r\n this.effect?.PopFront?.();\r\n this.#numDeleted++;\r\n\r\n if (this.#numDeleted === this.#currentTriggerIndex)\r\n {\r\n // Prevent debug rendering on a running loop after it finishes (see\r\n // InstanceContainers) - cpp:313.\r\n this.#currentTriggerIndex = 0;\r\n this.#lastTriggered.length = 0;\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::GetSmartRandomLocatorIndex\r\n * (cpp:319-351): rejection-sample a locator index not in the recent-trigger\r\n * history, with Carbon's early exit when the history covers the set or the\r\n * spawn rate saturates 75% of the locators. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRandInt, matching the BehaviorGroup/EveSpaceObject2 precedent.\")\r\n GetSmartRandomLocatorIndex()\r\n {\r\n let locatorIndex = -1;\r\n const ptSize = this.#processedTransforms.length;\r\n const ltSize = this.#lastTriggered.length;\r\n\r\n if (ltSize >= ptSize || this.frequency * this.durationPerEffect > 0.75 * ptSize)\r\n {\r\n locatorIndex = Math.floor(Math.random() * ptSize);\r\n }\r\n else\r\n {\r\n // Carbon (cpp:331-336): this loop should rarely repeat; the early exit\r\n // above bounds the bad case (small locator set, long duration, frequent\r\n // triggers).\r\n while (locatorIndex === -1)\r\n {\r\n locatorIndex = Math.floor(Math.random() * ptSize);\r\n for (let index = 0; index < ltSize; index++)\r\n {\r\n if (locatorIndex === this.#lastTriggered[index])\r\n {\r\n locatorIndex = -1;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return locatorIndex;\r\n }\r\n\r\n /**\r\n * Per-frame async update (Carbon EveChildEffectPropagator::UpdateAsyncronous,\r\n * cpp:353-366): gate on IsRendering, tick the effect container, then run the\r\n * EveChildContainer base (which rebuilds the world transform - the Carbon\r\n * row-vector local * parent composition lives in\r\n * EveChildTransform.UpdateTransform as mat4.multiply(world, parent, local)).\r\n * @param {Object} updateContext - frame context (EveUpdateContext)\r\n * @param {EveChildUpdateParams} params\r\n * @returns {Float32Array} worldTransform\r\n */\r\n @carbon.method\r\n @carbon.contextual([\"camera\"])\r\n @impl.implemented\r\n UpdateAsyncronous(updateContext, params)\r\n {\r\n if (!this.IsRendering())\r\n {\r\n return this.worldTransform;\r\n }\r\n\r\n this.effect?.UpdateAsyncronous(updateContext, params);\r\n\r\n return super.UpdateAsyncronous(updateContext, params);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::UpdateVisibility (cpp:389-395): the\r\n * effect container alone receives the visibility tick (no base fan-out). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(updateContext, parentTransform = null, parentLod = Tr2Lod.TR2_LOD_HIGH)\r\n {\r\n this.effect?.UpdateVisibility(updateContext, parentTransform, parentLod);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::GetRenderables (cpp:397-408): nothing\r\n * renders until the first trigger fired; then the effect container\r\n * contributes its instances. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n if (this.#currentTriggerIndex === 0)\r\n {\r\n return out;\r\n }\r\n\r\n this.effect?.GetRenderables(out);\r\n return out;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessLocalLocators (cpp:410-438):\r\n * sample the owned locator set through the completeness gate; the trigger\r\n * sphere scalar becomes twice the farthest locator distance. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand, matching the EveSpaceObject2 precedent.\")\r\n ProcessLocalLocators()\r\n {\r\n if (!this.localLocators)\r\n {\r\n return;\r\n }\r\n\r\n const locators = this.localLocators.GetLocators?.() ?? this.localLocators.locators ?? [];\r\n\r\n this.triggerSphereScalarMulti = 0;\r\n for (const locator of locators)\r\n {\r\n if (Math.random() > this.completeness)\r\n {\r\n continue;\r\n }\r\n\r\n const record = NewTransformRecord();\r\n vec3.copy(record.position, locator.position);\r\n const lengthSq = vec3.squaredLength(record.position);\r\n this.triggerSphereScalarMulti = Math.max(this.triggerSphereScalarMulti, lengthSq);\r\n // Locator directions persist as packed quaternions; copied verbatim\r\n // (Carbon t.rotation = it->direction - no composition).\r\n quat.copy(record.rotation, locator.direction);\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon t.scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n this.#processedTransforms.push(record);\r\n }\r\n\r\n this.triggerSphereScalarMulti = Math.sqrt(this.triggerSphereScalarMulti) * 2;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessRefLocators (cpp:440-478): pull\r\n * the named locator set (default \"damage\") from the space-object parent and\r\n * scale the trigger sphere by the parent's bounding-sphere radius. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand and the EveSpaceObject2 BlueCast becomes a duck check on the locator/bounds surface.\")\r\n ProcessRefLocators(parent)\r\n {\r\n if (this.locatorSetName === \"\")\r\n {\r\n this.locatorSetName = \"damage\";\r\n }\r\n\r\n let locators = null;\r\n\r\n if (typeof parent?.GetLocatorsForSet === \"function\" && typeof parent?.GetBoundingSphere === \"function\")\r\n {\r\n locators = parent.GetLocatorsForSet(this.locatorSetName);\r\n vec4.set(BOUNDS_SCRATCH, 0, 0, 0, 0);\r\n parent.GetBoundingSphere(BOUNDS_SCRATCH);\r\n this.triggerSphereScalarMulti = BOUNDS_SCRATCH[3];\r\n }\r\n else\r\n {\r\n return;\r\n }\r\n\r\n if (locators)\r\n {\r\n for (const locator of locators)\r\n {\r\n if (Math.random() > this.completeness)\r\n {\r\n continue;\r\n }\r\n\r\n const record = NewTransformRecord();\r\n vec3.copy(record.position, locator.position);\r\n quat.copy(record.rotation, locator.direction);\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon t.scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n this.#processedTransforms.push(record);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessRandomSpreadLocators\r\n * (cpp:480-506): uniform points on the unit sphere pushed out by a\r\n * closeness-biased distance inside [minRangeThreshold, range]; the packed\r\n * direction quaternion comes from TriQuaternionDirVector. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand, matching the EveSpaceObject2 precedent.\")\r\n ProcessRandomSpreadLocators()\r\n {\r\n const count = Number(this.numTriggers);\r\n for (let index = 0; index < count; index++)\r\n {\r\n if (Math.random() > this.completeness)\r\n {\r\n continue;\r\n }\r\n\r\n // Carbon (cpp:489-491): dist starts uniform, is pulled toward the\r\n // closeness preference by a second uniform draw, then maps into\r\n // [minRangeThreshold, range].\r\n let dist = Math.random();\r\n dist += (this.ClosenessPreference - dist) * Math.random();\r\n dist = this.minRangeThreshold + (this.range - this.minRangeThreshold) * dist;\r\n\r\n // Carbon (cpp:493-495): uniform unit-sphere direction from (a, z).\r\n const a = 2 * Math.PI * Math.random();\r\n const z = Math.random() * 2 - 1;\r\n const s = Math.sqrt(1 - z * z);\r\n\r\n const record = NewTransformRecord();\r\n // Carbon t.position = angle * dist - scalar-vector scale.\r\n vec3.set(record.position, s * Math.cos(a) * dist, s * Math.sin(a) * dist, z * dist);\r\n // TriQuaternionDirVector(&t.rotation, &angle) - packed direction, no\r\n // quaternion composition.\r\n vec3.set(SPHERE_CENTER_SCRATCH, s * Math.cos(a), s * Math.sin(a), z);\r\n TriQuaternionDirVector(record.rotation, SPHERE_CENTER_SCRATCH);\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon t.scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n this.#processedTransforms.push(record);\r\n }\r\n this.triggerSphereScalarMulti = this.range;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessLocators (cpp:513-540): rebuild\r\n * the processed-locator list for the selected propagation type, stop when\r\n * nothing survived the completeness gate, then distance-sort. */\r\n @carbon.method\r\n @impl.implemented\r\n ProcessLocators(parent = null)\r\n {\r\n this.#processedTransforms.length = 0;\r\n\r\n switch (this.propagationType)\r\n {\r\n case EveChildEffectPropagator.PropagationType.LOCAL_LOCATORS:\r\n this.ProcessLocalLocators();\r\n break;\r\n case EveChildEffectPropagator.PropagationType.LOCATOR_SET_BY_REF:\r\n this.ProcessRefLocators(parent);\r\n break;\r\n case EveChildEffectPropagator.PropagationType.RANDOM_SPREAD:\r\n this.ProcessRandomSpreadLocators();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (this.#processedTransforms.length === 0)\r\n {\r\n this.Stop();\r\n return;\r\n }\r\n\r\n this.DistanceSortLocators();\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::RecalculateLocatorSizes (cpp:542-549):\r\n * re-randomize the per-locator scale for a delayed replay. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand, matching the EveSpaceObject2 precedent.\")\r\n RecalculateLocatorSizes()\r\n {\r\n for (const record of this.#processedTransforms)\r\n {\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon it->scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::DistanceSortLocators (cpp:556-564):\r\n * squared distance of every locator to the scaled trigger-sphere center,\r\n * then an ascending sort so ManageTriggers can early-out. */\r\n @carbon.method\r\n @impl.implemented\r\n DistanceSortLocators()\r\n {\r\n // Carbon: it->position - m_triggerSphereOffset * m_triggerSphereScalarMulti\r\n // - scalar-vector scale plus a vector difference, no matrix composition.\r\n vec3.scale(SPHERE_CENTER_SCRATCH, this.triggerSphereOffset, this.triggerSphereScalarMulti);\r\n for (const record of this.#processedTransforms)\r\n {\r\n record.sqrDistToSphereCenter = vec3.squaredDistance(record.position, SPHERE_CENTER_SCRATCH);\r\n }\r\n\r\n this.#processedTransforms.sort(SortByCircleDist);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::GetEffect (cpp:640-643). */\r\n @carbon.method\r\n @impl.implemented\r\n GetEffect()\r\n {\r\n return this.effect;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::SetEffect (cpp:645-654): unregisters\n * the current effect from both the component registry and child hierarchy,\n * installs the replacement, then registers it with both owners. */\n @carbon.method\n @impl.implemented\n SetEffect(effect)\n {\n this.UnRegisterComponents();\n this.UnregisterChild(this.effect);\n this.effect = effect ?? null;\n this.RegisterChild(this.effect);\n this.RegisterComponents();\n }\r\n\r\n /** Carbon EveChildEffectPropagator::SetControllerVariable (cpp:656-662):\r\n * the effect container alone receives the variable (no base fan-out). */\r\n @carbon.method\r\n @impl.implemented\r\n SetControllerVariable(name, value)\r\n {\r\n this.effect?.SetControllerVariable(String(name ?? \"\"), Number(value));\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::RegisterComponents (cpp:45-51). */\n @carbon.method\n @impl.implemented\n RegisterComponents()\n {\n if (this.IsInRegistry() && this.effect)\n {\n this.effect.Register(this.GetComponentRegistry());\n }\n }\n\n /** Carbon EveChildEffectPropagator::UnRegisterComponents (cpp:53-59). */\n @carbon.method\n @impl.implemented\n UnRegisterComponents()\n {\n if (this.IsInRegistry() && this.effect)\n {\n this.effect.UnRegister(this.GetComponentRegistry());\n }\n }\n\r\n static PropagationType = PropagationType;\r\n\r\n static TriggerType = TriggerType;\r\n\r\n}\r\n"],"names":["BOUNDS_SCRATCH","vec4","create","SPHERE_CENTER_SCRATCH","vec3","TriQuaternionDirVector","out","v","length","Math","hypot","scale","NewTransformRecord","rotation","quat","position","fromValues","sqrDistToSphereCenter","SortByCircleDist","lhs","rhs","_EveChildEffectPropag","_identity","EveChildEffectPropagator","EveChildContainer","e","_init_propagationType","_init_extra_propagationType","_init_triggerMethood","_init_extra_triggerMethood","_init_stopAfterNumTriggers","_init_extra_stopAfterNumTriggers","_init_randScaleMin","_init_extra_randScaleMin","_init_randScaleMax","_init_extra_randScaleMax","_init_triggerSphereOffset","_init_extra_triggerSphereOffset","_init_effect","_init_extra_effect","_init_stopToClearDelay","_init_extra_stopToClearDelay","_init_ClosenessPreference","_init_extra_ClosenessPreference","_init_effectScaling","_init_extra_effectScaling","_init_durationPerEffect","_init_extra_durationPerEffect","_init_isPlaying","_init_extra_isPlaying","_init_localLocators","_init_extra_localLocators","_init_triggerSphereRadiusCurve","_init_extra_triggerSphereRadiusCurve","_init_triggerSphereScalarMulti","_init_extra_triggerSphereScalarMulti","_init_locatorSetName","_init_extra_locatorSetName","_init_completeness","_init_extra_completeness","_init_replayAfterDelay","_init_extra_replayAfterDelay","_init_trigger","_init_extra_trigger","_init_minRangeThreshold","_init_extra_minRangeThreshold","_init_playTime","_init_extra_playTime","_init_range","_init_extra_range","_init_numTriggers","_init_extra_numTriggers","_init_frequency","_init_extra_frequency","_init_skipCleanup","_init_extra_skipCleanup","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","enum","float32","persistOnly","model","read","boolean","string","readwrite","int64","carbon","method","impl","implemented","adapted","reason","contextual","propagationType","triggerMethood","stopAfterNumTriggers","randScaleMin","randScaleMax","triggerSphereOffset","effect","stopToClearDelay","ClosenessPreference","effectScaling","durationPerEffect","isPlaying","localLocators","triggerSphereRadiusCurve","triggerSphereScalarMulti","locatorSetName","completeness","replayAfterDelay","trigger","minRangeThreshold","playTime","range","numTriggers","frequency","skipCleanup","Play","Stop","ClearInstanceList","Array","isArray","instances","Initialize","DisableEditMode","OnModified","value","min","max","ManageTriggers","currentRadSqr","Number","GetValueAt","records","index","record","CreateInstance","UpdateSyncronous","updateContext","params","ProcessLocators","spaceObjectParent","TriggerType","INTERVAL_TRIGGERS","size","floor","push","TRIGGER_SPHERE_CURVE","UpdateTriggerCurve","UpdateTriggerInterval","INSTANT_PERMANENT","GetDeltaT","deltaT","dt","Length","RecalculateLocatorSizes","locatorIndex","GetSmartRandomLocatorIndex","shift","PopFront","ptSize","ltSize","random","UpdateAsyncronous","IsRendering","worldTransform","UpdateVisibility","parentTransform","parentLod","Tr2Lod","TR2_LOD_HIGH","GetRenderables","ProcessLocalLocators","locators","GetLocators","locator","copy","lengthSq","squaredLength","direction","rand","sqrt","ProcessRefLocators","parent","GetLocatorsForSet","GetBoundingSphere","set","ProcessRandomSpreadLocators","count","dist","a","PI","z","s","cos","sin","PropagationType","LOCAL_LOCATORS","LOCATOR_SET_BY_REF","RANDOM_SPREAD","DistanceSortLocators","squaredDistance","sort","GetEffect","SetEffect","UnRegisterComponents","UnregisterChild","RegisterChild","RegisterComponents","SetControllerVariable","name","String","IsInRegistry","Register","GetComponentRegistry","UnRegister","constructor"],"mappings":";;;;;;;;;;;AAWA;AACA;AACA;AACA,MAAMA,cAAc,GAAGC,IAAI,CAACC,MAAM,EAAE;AACpC,MAAMC,qBAAqB,GAAGC,IAAI,CAACF,MAAM,EAAE;;AAE3C;AACA;AACA;AACA,SAASG,sBAAsBA,CAACC,GAAG,EAAEC,CAAC,EACtC;EACE,MAAMC,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACH,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;EAC3C,MAAMI,KAAK,GAAGH,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,CAAC;EACrCF,GAAG,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGI,KAAK;EACrBL,GAAG,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGI,KAAK;EACrBL,GAAG,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGI,KAAK;AACrBL,EAAAA,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,EAAA,OAAOA,GAAG;AACZ;;AAEA;AACA;AACA;AACA,SAASM,kBAAkBA,GAC3B;EACE,OAAO;AACLC,IAAAA,QAAQ,EAAEC,IAAI,CAACZ,MAAM,EAAE;AACvBa,IAAAA,QAAQ,EAAEX,IAAI,CAACF,MAAM,EAAE;IACvBS,KAAK,EAAEP,IAAI,CAACY,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/BC,IAAAA,qBAAqB,EAAE;GACxB;AACH;;AAEA;AACA;AACA,SAASC,gBAAgBA,CAACC,GAAG,EAAEC,GAAG,EAClC;AACE,EAAA,OAAOD,GAAG,CAACF,qBAAqB,GAAGG,GAAG,CAACH,qBAAqB;AAC9D;;AAGA;AAAA,IAAAI;AAAA,IAAA,cAAAC,SAAA,CAAA;AAAA,EAAA,QACA,MAAAC,wBAAA,SAC8CC,kBAAiB,CAC/D;AAAA,IAAA;AAAA,MAAA,CAAA;QAAAC,CAAA,EAAA,CAAAC,qBAAA,EAAAC,2BAAA,EAAAC,oBAAA,EAAAC,0BAAA,EAAAC,0BAAA,EAAAC,gCAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,yBAAA,EAAAC,+BAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,yBAAA,EAAAC,+BAAA,EAAAC,mBAAA,EAAAC,yBAAA,EAAAC,uBAAA,EAAAC,6BAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,mBAAA,EAAAC,yBAAA,EAAAC,8BAAA,EAAAC,oCAAA,EAAAC,8BAAA,EAAAC,oCAAA,EAAAC,oBAAA,EAAAC,0BAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,uBAAA,EAAAC,6BAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,WAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,UAAA,CAAA;QAAAC,CAAA,EAAA,CAAAxD,qBAAA,EAAAyD,UAAA;AAAA,OAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,0BAA0B;AAAEC,QAAAA,MAAM,EAAE;OAAa,CAAC,MAKzEC,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACO,KAAK,UACVP,IAAI,CAACQ,IAAI,CAAC,iBAAiB,CAAC,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAI5BJ,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACO,KAAK,EAAA,MAAA,EACVP,IAAI,CAACQ,IAAI,CAAC,aAAa,CAAC,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAIxBJ,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAIZL,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAIZL,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAIZL,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAAC5E,IAAI,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAITgF,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACM,WAAW,EAAA,MAAA,EACdV,IAAI,CAACW,KAAK,CAAC,2BAA2B,CAAC,oBAIvCP,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACS,OAAO,8BAIZL,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACS,OAAO,iCAIZL,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAAC5E,IAAI,2BAITgF,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAIZL,EAAE,EAAFA,EAAE,CAACQ,IAAI,EACPZ,IAAI,EAAJA,IAAI,CAACa,OAAO,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAIZT,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACW,KAAK,CAAC,gBAAgB,CAAC,2BAI5BP,EAAE,EAAFA,EAAE,CAACE,OAAO,UACVN,IAAI,CAACW,KAAK,CAAC,gBAAgB,CAAC,CAAA,EAAA,EAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,CAI5BP,EAAE,EAAFA,EAAE,CAACQ,IAAI,EACPZ,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,CAIZL,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACc,MAAM,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAIXV,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACS,OAAO,0BAIZL,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACa,OAAO,8BAIZT,EAAE,EAAFA,EAAE,CAACW,SAAS,EACZf,IAAI,EAAJA,IAAI,CAACa,OAAO,qBAIZT,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACS,OAAO,+BAIZL,EAAE,EAAFA,EAAE,CAACQ,IAAI,EACPZ,IAAI,EAAJA,IAAI,CAACS,OAAO,sBAIZL,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACS,OAAO,mBAIZL,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACgB,KAAK,yBAIVZ,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAIZL,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACa,OAAO,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAiBZI,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAgBhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,kKAAkK,CAAC,kBAsB/KL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,UACZF,IAAI,CAACG,MAAM,CAAC,yGAAyG,CAAC,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAWtHL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,qHAAqH,CAAC,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAsClIL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,gHAAgH,CAAC,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CA0C7HL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,mGAAmG,CAAC,8BA+DhHL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,gCA+ChBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,UACZF,IAAI,CAACG,MAAM,CAAC,8GAA8G,CAAC,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAuD3HL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,0GAA0G,CAAC,CAAA,EAAA,EAAA,EAAA,4BAAA,CAAA,EAAA,CAAA,CA0CvHL,MAAM,EAANA,MAAM,CAACC,MAAM,EAAA,MAAA,EACbD,MAAM,CAACM,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAC7BJ,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAehBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAShBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAehBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,yFAAyF,CAAC,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAqCtGL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,qIAAqI,CAAC,gCA8ClJL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,UACZF,IAAI,CAACG,MAAM,CAAC,yFAAyF,CAAC,CAAA,EAAA,EAAA,EAAA,6BAAA,CAAA,EAAA,CAAA,CAyCtGL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,6BA+BhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,UACZF,IAAI,CAACG,MAAM,CAAC,yFAAyF,CAAC,CAAA,EAAA,EAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,CActGL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAehBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAShBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAYhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAOhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAUhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAvxB2B5E,kBAAiB,CAAA;AAAA;AAG7D;AAKAgF,IAAAA,eAAe,IAAA5B,UAAA,CAAA,IAAA,CAAA,EAAAlD,qBAAA,OAAG,CAAC,CAAA;;AAEnB;AAKA+E,IAAAA,cAAc,IAAA9E,2BAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAG,CAAC,CAAA;;AAElB;AAIA8E,IAAAA,oBAAoB,IAAA7E,0BAAA,CAAA,IAAA,CAAA,EAAAC,0BAAA,CAAA,IAAA,EAAG,EAAE,CAAA;;AAEzB;AAIA6E,IAAAA,YAAY,IAAA5E,gCAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,CAAC,CAAA;;AAEhB;AAIA4E,IAAAA,YAAY,IAAA3E,wBAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,CAAC,CAAA;;AAEhB;IAGA2E,mBAAmB,IAAA1E,wBAAA,CAAA,IAAA,CAAA,EAAAC,yBAAA,OAAGhC,IAAI,CAACF,MAAM,EAAE,CAAA;;AAEnC;AAIA4G,IAAAA,MAAM,IAAAzE,+BAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,IAAI,CAAA;;AAEb;AAGAyE,IAAAA,gBAAgB,IAAAxE,kBAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,CAAC,CAAA;;AAEpB;AAIAwE,IAAAA,mBAAmB,IAAAvE,4BAAA,CAAA,IAAA,CAAA,EAAAC,yBAAA,OAAG,IAAI,CAAA;;AAE1B;AAIAuE,IAAAA,aAAa,IAAAtE,+BAAA,CAAA,IAAA,CAAA,EAAAC,mBAAA,OAAGxC,IAAI,CAACY,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;;AAExC;AAIAkG,IAAAA,iBAAiB,IAAArE,yBAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,OAAG,CAAC,CAAA;;AAErB;AAGAqE,IAAAA,SAAS,IAAApE,6BAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,KAAK,CAAA;;AAEjB;AAGAoE,IAAAA,aAAa,IAAAnE,qBAAA,CAAA,IAAA,CAAA,EAAAC,mBAAA,OAAG,IAAI,CAAA;;AAEpB;AAGAmE,IAAAA,wBAAwB,IAAAlE,yBAAA,CAAA,IAAA,CAAA,EAAAC,8BAAA,OAAG,IAAI,CAAA;;AAE/B;AAGAkE,IAAAA,wBAAwB,IAAAjE,oCAAA,CAAA,IAAA,CAAA,EAAAC,8BAAA,OAAG,CAAC,CAAA;;AAE5B;AAIAiE,IAAAA,cAAc,IAAAhE,oCAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAG,EAAE,CAAA;;AAEnB;AAIAgE,IAAAA,YAAY,IAAA/D,0BAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,CAAC,CAAA;;AAEhB;AAGA+D,IAAAA,gBAAgB,IAAA9D,wBAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,KAAK,CAAA;;AAExB;AAGA8D,IAAAA,OAAO,IAAA7D,4BAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,KAAK,CAAA;;AAEf;AAIA6D,IAAAA,iBAAiB,IAAA5D,mBAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,OAAG,CAAC,CAAA;;AAErB;AAGA4D,IAAAA,QAAQ,IAAA3D,6BAAA,CAAA,IAAA,CAAA,EAAAC,cAAA,OAAG,CAAC,CAAA;;AAEZ;AAIA2D,IAAAA,KAAK,IAAA1D,oBAAA,CAAA,IAAA,CAAA,EAAAC,WAAA,OAAG,GAAG,CAAA;;AAEX;AAIA0D,IAAAA,WAAW,IAAAzD,iBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,EAAE,CAAA;;AAEhB;AAIAyD,IAAAA,SAAS,IAAAxD,uBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,CAAC,CAAA;;AAEb;AAGAwD,IAAAA,WAAW,IAAAvD,qBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,KAAK,CAAA;AAEnB,IAAA,oBAAoB,IAAAC,uBAAA,CAAA,IAAA,CAAA,EAAG,CAAC;IAExB,WAAW,GAAG,CAAC;;AAEf;AACA;IACA,oBAAoB,GAAG,EAAE;IAEzB,cAAc,GAAG,EAAE;IAEnB,WAAW,GAAG,CAAC;;AAEf;AACF;AAGEsD,IAAAA,IAAIA,GACJ;MACE,IAAI,CAACC,IAAI,EAAE;AAEX,MAAA,IAAI,CAAC,IAAI,CAACpB,MAAM,EAChB;AACE,QAAA;AACF,MAAA;MAEA,IAAI,CAACY,OAAO,GAAG,KAAK;MACpB,IAAI,CAACP,SAAS,GAAG,IAAI;AACrB,MAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAACJ,gBAAgB;AAC1C,IAAA;;AAEA;AAIAmB,IAAAA,IAAIA,GACJ;MACE,IAAI,CAACf,SAAS,GAAG,KAAK;MACtB,IAAI,CAACS,QAAQ,GAAG,CAAC;AACjB,MAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC;AAC7B,MAAA,IAAI,CAAC,WAAW,GAAG,CAAC;MAEpB,IAAI,IAAI,CAACd,MAAM,EACf;QACE,IAAI,OAAO,IAAI,CAACA,MAAM,CAACqB,iBAAiB,KAAK,UAAU,EACvD;AACE,UAAA,IAAI,CAACrB,MAAM,CAACqB,iBAAiB,EAAE;AACjC,QAAA,CAAC,MACI,IAAIC,KAAK,CAACC,OAAO,CAAC,IAAI,CAACvB,MAAM,CAACwB,SAAS,CAAC,EAC7C;AACE,UAAA,IAAI,CAACxB,MAAM,CAACwB,SAAS,CAAC9H,MAAM,GAAG,CAAC;AAClC,QAAA;AACF,MAAA;AACF,IAAA;;AAEA;AAIA+H,IAAAA,UAAUA,GACV;AACE,MAAA,IAAI,CAACzB,MAAM,EAAE0B,eAAe,GAAG,IAAI,CAAC;AACpC,MAAA,OAAO,KAAK,CAACD,UAAU,EAAE;AAC3B,IAAA;;AAEA;AACF;AACA;AACA;AAIEE,IAAAA,UAAUA,CAACC,KAAK,GAAG,IAAI,EACvB;MACE,IAAIA,KAAK,KAAK,QAAQ,IAAKA,KAAK,IAAIA,KAAK,KAAK,IAAI,CAAC5B,MAAO,EAC1D;AACE,QAAA,IAAI,CAACA,MAAM,EAAE0B,eAAe,GAAG,IAAI,CAAC;AACtC,MAAA;MAEA,IAAIE,KAAK,KAAK,cAAc,IAAIA,KAAK,KAAK,IAAI,CAAClB,YAAY,EAC3D;AACE,QAAA,IAAI,CAACA,YAAY,GAAG/G,IAAI,CAACkI,GAAG,CAAC,CAAC,EAAElI,IAAI,CAACmI,GAAG,CAAC,CAAC,EAAE,IAAI,CAACpB,YAAY,CAAC,CAAC;AACjE,MAAA;MAEA,IAAIkB,KAAK,KAAK,cAAc,IAAIA,KAAK,KAAK,IAAI,CAAC/B,YAAY,EAC3D;QACE,IAAI,CAACA,YAAY,GAAGlG,IAAI,CAACkI,GAAG,CAAC,IAAI,CAAC/B,YAAY,EAAEnG,IAAI,CAACmI,GAAG,CAAC,CAAC,EAAE,IAAI,CAACjC,YAAY,CAAC,CAAC;AACjF,MAAA;MAEA,IAAI+B,KAAK,KAAK,cAAc,IAAIA,KAAK,KAAK,IAAI,CAAC9B,YAAY,EAC3D;AACE,QAAA,IAAI,CAACA,YAAY,GAAGnG,IAAI,CAACmI,GAAG,CAAC,IAAI,CAAChC,YAAY,EAAE,IAAI,CAACD,YAAY,CAAC;AACpE,MAAA;MAEA,IAAI+B,KAAK,KAAK,WAAW,IAAIA,KAAK,KAAK,IAAI,CAACX,SAAS,EACrD;AACE,QAAA,IAAI,IAAI,CAACA,SAAS,KAAK,CAAC,EACxB;UACE,IAAI,CAACH,QAAQ,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAACG,SAAS;AAC5D,QAAA;AACF,MAAA;AAEA,MAAA,OAAO,KAAK,CAACU,UAAU,CAACC,KAAK,CAAC;AAChC,IAAA;;AAEA;AACF;AACA;AACA;AAIEG,IAAAA,cAAcA,GACd;AACE,MAAA,IAAI,CAAC,IAAI,CAACxB,wBAAwB,EAClC;AACE,QAAA;AACF,MAAA;AAEA,MAAA,IAAI,CAAC,IAAI,CAACP,MAAM,EAChB;AACE,QAAA;AACF,MAAA;MAEA,IAAIgC,aAAa,GAAGC,MAAM,CAAC,IAAI,CAAC1B,wBAAwB,CAAC2B,UAAU,CAAC,IAAI,CAACpB,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAACN,wBAAwB;MACxHwB,aAAa,GAAGA,aAAa,GAAGA,aAAa;AAE7C,MAAA,MAAMG,OAAO,GAAG,IAAI,CAAC,oBAAoB;AACzC,MAAA,KAAK,IAAIC,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAEA,KAAK,GAAGD,OAAO,CAACzI,MAAM,EAAE0I,KAAK,EAAE,EAC3E;AACE,QAAA,MAAMC,MAAM,GAAGF,OAAO,CAACC,KAAK,CAAC;AAC7B,QAAA,IAAIC,MAAM,CAAClI,qBAAqB,GAAG6H,aAAa,EAChD;AACE,UAAA,IAAI,CAAChC,MAAM,CAACsC,cAAc,GAAGD,MAAM,CAACxI,KAAK,EAAEwI,MAAM,CAACtI,QAAQ,EAAEsI,MAAM,CAACpI,QAAQ,CAAC;UAC5E,IAAI,CAAC,oBAAoB,EAAE;AAC7B,QAAA,CAAC,MAED;AACE,UAAA;AACF,QAAA;AACF,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIEsI,IAAAA,gBAAgBA,CAACC,aAAa,EAAEC,MAAM,EACtC;MACE,IAAI,IAAI,CAAC7B,OAAO,EAChB;QACE,IAAI,CAAC8B,eAAe,CAACD,MAAM,EAAEE,iBAAiB,IAAI,IAAI,CAAC;QACvD,IAAI,CAACxB,IAAI,EAAE;QAEX,IAAI,IAAI,CAACxB,cAAc,KAAKlF,qBAAwB,CAACmI,WAAW,CAACC,iBAAiB,EAClF;AACE;AACA;UACA,MAAMC,IAAI,GAAGnJ,IAAI,CAACmI,GAAG,CAACnI,IAAI,CAACoJ,KAAK,CAAC,IAAI,CAAC3C,iBAAiB,GAAG,IAAI,CAACa,SAAS,CAAC,EAAE,CAAC,CAAC;AAC7E,UAAA,IAAI,CAAC,cAAc,CAACvH,MAAM,GAAG,CAAC;UAC9B,KAAK,IAAI0I,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGU,IAAI,EAAEV,KAAK,EAAE,EACzC;YACE,IAAI,CAAC,cAAc,CAACY,IAAI,CAAC,EAAE,CAAC;AAC9B,UAAA;AACF,QAAA;AACF,MAAA;MAEA,IAAI,CAAChD,MAAM,EAAEuC,gBAAgB,CAACC,aAAa,EAAEC,MAAM,CAAC;AAEpD,MAAA,IAAI,CAAC,IAAI,CAACpC,SAAS,EACnB;AACE,QAAA;AACF,MAAA;MAEA,QAAQ,IAAI,CAACV,cAAc;AAEzB,QAAA,KAAKlF,qBAAwB,CAACmI,WAAW,CAACK,oBAAoB;AAC5D,UAAA,IAAI,CAACC,kBAAkB,CAACV,aAAa,CAAC;AACtC,UAAA;AACF,QAAA,KAAK/H,qBAAwB,CAACmI,WAAW,CAACC,iBAAiB;AACzD,UAAA,IAAI,IAAI,CAAC5B,SAAS,KAAK,CAAC,EACxB;AACE,YAAA,IAAI,CAACkC,qBAAqB,CAACX,aAAa,CAAC;AAC3C,UAAA,CAAC,MAED;YACE,IAAI,CAACpB,IAAI,EAAE;AACb,UAAA;AACA,UAAA;AACF,QAAA,KAAK3G,qBAAwB,CAACmI,WAAW,CAACQ,iBAAiB;AACzD,UAAA,IAAI,CAACtC,QAAQ,IAAImB,MAAM,CAACO,aAAa,EAAEa,SAAS,IAAI,IAAIb,aAAa,EAAEc,MAAM,IAAI,CAAC,CAAC;AACnF,UAAA,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,EACnC;AACE,YAAA,KAAK,MAAMjB,MAAM,IAAI,IAAI,CAAC,oBAAoB,EAC9C;AACE,cAAA,IAAI,CAACrC,MAAM,EAAEsC,cAAc,GAAGD,MAAM,CAACxI,KAAK,EAAEwI,MAAM,CAACtI,QAAQ,EAAEsI,MAAM,CAACpI,QAAQ,CAAC;AAC/E,YAAA;YACA,IAAI,CAAC,oBAAoB,EAAE;AAC7B,UAAA;AACA,UAAA;AAGJ;AACF,IAAA;;AAEA;AACF;AACA;AACA;IAGEiJ,kBAAkBA,CAACV,aAAa,EAChC;AACE,MAAA,MAAMe,EAAE,GAAGtB,MAAM,CAACO,aAAa,EAAEa,SAAS,IAAI,IAAIb,aAAa,EAAEc,MAAM,IAAI,CAAC,CAAC;MAC7E,IAAI,CAACxC,QAAQ,IAAIyC,EAAE;MAEnB,IAAI,IAAI,CAACvD,MAAM,EACf;QACE,IAAI,CAAC+B,cAAc,EAAE;AACvB,MAAA;AAEA,MAAA,IAAI,CAAC,IAAI,CAACxB,wBAAwB,EAClC;QACE,IAAI,CAACa,IAAI,EAAE;AACX,QAAA;AACF,MAAA;AAEA,MAAA,IAAI,IAAI,CAACN,QAAQ,GAAGmB,MAAM,CAAC,IAAI,CAAC1B,wBAAwB,CAACiD,MAAM,IAAI,IAAI,CAAC,CAAC,EACzE;QACE,IAAI,IAAI,CAACtC,WAAW,EACpB;AACE,UAAA;AACF,QAAA;QAEA,IAAI,IAAI,CAACP,gBAAgB,EACzB;AACE,UAAA,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EACxB;AACE,YAAA,IAAI,CAAC,WAAW,IAAI4C,EAAE;AACxB,UAAA,CAAC,MAED;YACE,IAAI,CAACE,uBAAuB,EAAE;YAC9B,IAAI,CAACtC,IAAI,EAAE;AACb,UAAA;AACF,QAAA,CAAC,MAED;UACE,IAAI,CAACC,IAAI,EAAE;AACb,QAAA;AACF,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AACA;IAIE+B,qBAAqBA,CAACX,aAAa,EACnC;AACE,MAAA,MAAMe,EAAE,GAAGtB,MAAM,CAACO,aAAa,EAAEa,SAAS,IAAI,IAAIb,aAAa,EAAEc,MAAM,IAAI,CAAC,CAAC;MAC7E,IAAI,CAACxC,QAAQ,IAAIyC,EAAE;MAEnB,IAAI,IAAI,CAAC,oBAAoB,CAAC7J,MAAM,KAAK,CAAC,EAC1C;AACE,QAAA;AACF,MAAA;AAEA,MAAA,IAAI,IAAI,CAACkG,oBAAoB,GAAG,CAAC,IAAI,IAAI,CAACQ,iBAAiB,KAAK,EAAE,IAChE,IAAI,CAACU,QAAQ,GAAI,IAAI,CAAClB,oBAAoB,GAAG,IAAI,CAACqB,SAAS,GAAG,IAAI,CAACb,iBAAkB,EACvF;QACE,IAAI,CAACgB,IAAI,EAAE;AACX,QAAA;AACF,MAAA;;AAEA;AACA;AACA,MAAA,IAAI,IAAI,CAACN,QAAQ,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAACG,SAAS,KAC3D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAACrB,oBAAoB,IAAI,IAAI,CAACA,oBAAoB,GAAG,CAAC,CAAC,EAC1F;AACE,QAAA,MAAM8D,YAAY,GAAG,IAAI,CAACC,0BAA0B,EAAE;AACtD,QAAA,IAAI,IAAI,CAAC,cAAc,CAACjK,MAAM,EAC9B;AACE,UAAA,IAAI,CAAC,cAAc,CAACkK,KAAK,EAAE;AAC7B,QAAA;AACA,QAAA,IAAI,CAAC,cAAc,CAACZ,IAAI,CAACU,YAAY,CAAC;QAEtC,MAAMrB,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAACqB,YAAY,CAAC;AACtD,QAAA,IAAI,CAAC1D,MAAM,EAAEsC,cAAc,GAAGD,MAAM,CAACxI,KAAK,EAAEwI,MAAM,CAACtI,QAAQ,EAAEsI,MAAM,CAACpI,QAAQ,CAAC;QAC7E,IAAI,CAAC,oBAAoB,EAAE;AAC7B,MAAA;MAEA,IAAI,IAAI,CAACmG,iBAAiB,KAAK,EAAE,IAC/B,IAAI,CAACU,QAAQ,GAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAACG,SAAS,GAAI,IAAI,CAACb,iBAAiB,EAC9E;AACE,QAAA,IAAI,CAACJ,MAAM,EAAE6D,QAAQ,IAAI;QACzB,IAAI,CAAC,WAAW,EAAE;QAElB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,oBAAoB,EAClD;AACE;AACA;AACA,UAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC;AAC7B,UAAA,IAAI,CAAC,cAAc,CAACnK,MAAM,GAAG,CAAC;AAChC,QAAA;AACF,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AACA;AAIEiK,IAAAA,0BAA0BA,GAC1B;MACE,IAAID,YAAY,GAAG,EAAE;AACrB,MAAA,MAAMI,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAACpK,MAAM;AAC/C,MAAA,MAAMqK,MAAM,GAAG,IAAI,CAAC,cAAc,CAACrK,MAAM;AAEzC,MAAA,IAAIqK,MAAM,IAAID,MAAM,IAAI,IAAI,CAAC7C,SAAS,GAAG,IAAI,CAACb,iBAAiB,GAAG,IAAI,GAAG0D,MAAM,EAC/E;AACEJ,QAAAA,YAAY,GAAG/J,IAAI,CAACoJ,KAAK,CAACpJ,IAAI,CAACqK,MAAM,EAAE,GAAGF,MAAM,CAAC;AACnD,MAAA,CAAC,MAED;AACE;AACA;AACA;AACA,QAAA,OAAOJ,YAAY,KAAK,EAAE,EAC1B;AACEA,UAAAA,YAAY,GAAG/J,IAAI,CAACoJ,KAAK,CAACpJ,IAAI,CAACqK,MAAM,EAAE,GAAGF,MAAM,CAAC;UACjD,KAAK,IAAI1B,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG2B,MAAM,EAAE3B,KAAK,EAAE,EAC3C;YACE,IAAIsB,YAAY,KAAK,IAAI,CAAC,cAAc,CAACtB,KAAK,CAAC,EAC/C;cACEsB,YAAY,GAAG,EAAE;AACjB,cAAA;AACF,YAAA;AACF,UAAA;AACF,QAAA;AACF,MAAA;AACA,MAAA,OAAOA,YAAY;AACrB,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIEO,IAAAA,iBAAiBA,CAACzB,aAAa,EAAEC,MAAM,EACvC;AACE,MAAA,IAAI,CAAC,IAAI,CAACyB,WAAW,EAAE,EACvB;QACE,OAAO,IAAI,CAACC,cAAc;AAC5B,MAAA;MAEA,IAAI,CAACnE,MAAM,EAAEiE,iBAAiB,CAACzB,aAAa,EAAEC,MAAM,CAAC;AAErD,MAAA,OAAO,KAAK,CAACwB,iBAAiB,CAACzB,aAAa,EAAEC,MAAM,CAAC;AACvD,IAAA;;AAEA;AACF;AAGE2B,IAAAA,gBAAgBA,CAAC5B,aAAa,EAAE6B,eAAe,GAAG,IAAI,EAAEC,SAAS,GAAGC,MAAM,CAACC,YAAY,EACvF;MACE,IAAI,CAACxE,MAAM,EAAEoE,gBAAgB,CAAC5B,aAAa,EAAE6B,eAAe,EAAEC,SAAS,CAAC;AAC1E,IAAA;;AAEA;AACF;AACA;AAGEG,IAAAA,cAAcA,CAACjL,GAAG,GAAG,EAAE,EACvB;AACE,MAAA,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,EACnC;AACE,QAAA,OAAOA,GAAG;AACZ,MAAA;AAEA,MAAA,IAAI,CAACwG,MAAM,EAAEyE,cAAc,CAACjL,GAAG,CAAC;AAChC,MAAA,OAAOA,GAAG;AACZ,IAAA;;AAEA;AACF;AACA;AAIEkL,IAAAA,oBAAoBA,GACpB;AACE,MAAA,IAAI,CAAC,IAAI,CAACpE,aAAa,EACvB;AACE,QAAA;AACF,MAAA;AAEA,MAAA,MAAMqE,QAAQ,GAAG,IAAI,CAACrE,aAAa,CAACsE,WAAW,IAAI,IAAI,IAAI,CAACtE,aAAa,CAACqE,QAAQ,IAAI,EAAE;MAExF,IAAI,CAACnE,wBAAwB,GAAG,CAAC;AACjC,MAAA,KAAK,MAAMqE,OAAO,IAAIF,QAAQ,EAC9B;QACE,IAAIhL,IAAI,CAACqK,MAAM,EAAE,GAAG,IAAI,CAACtD,YAAY,EACrC;AACE,UAAA;AACF,QAAA;AAEA,QAAA,MAAM2B,MAAM,GAAGvI,kBAAkB,EAAE;QACnCR,IAAI,CAACwL,IAAI,CAACzC,MAAM,CAACpI,QAAQ,EAAE4K,OAAO,CAAC5K,QAAQ,CAAC;QAC5C,MAAM8K,QAAQ,GAAGzL,IAAI,CAAC0L,aAAa,CAAC3C,MAAM,CAACpI,QAAQ,CAAC;AACpD,QAAA,IAAI,CAACuG,wBAAwB,GAAG7G,IAAI,CAACmI,GAAG,CAAC,IAAI,CAACtB,wBAAwB,EAAEuE,QAAQ,CAAC;AACjF;AACA;QACA/K,IAAI,CAAC8K,IAAI,CAACzC,MAAM,CAACtI,QAAQ,EAAE8K,OAAO,CAACI,SAAS,CAAC;AAC7C,QAAA,MAAMC,IAAI,GAAG,IAAI,CAACrF,YAAY,GAAGlG,IAAI,CAACqK,MAAM,EAAE,IAAI,IAAI,CAAClE,YAAY,GAAG,IAAI,CAACD,YAAY,CAAC;AACxF;AACAvG,QAAAA,IAAI,CAACO,KAAK,CAACwI,MAAM,CAACxI,KAAK,EAAE,IAAI,CAACsG,aAAa,EAAE+E,IAAI,CAAC;AAClD,QAAA,IAAI,CAAC,oBAAoB,CAAClC,IAAI,CAACX,MAAM,CAAC;AACxC,MAAA;AAEA,MAAA,IAAI,CAAC7B,wBAAwB,GAAG7G,IAAI,CAACwL,IAAI,CAAC,IAAI,CAAC3E,wBAAwB,CAAC,GAAG,CAAC;AAC9E,IAAA;;AAEA;AACF;AACA;IAIE4E,kBAAkBA,CAACC,MAAM,EACzB;AACE,MAAA,IAAI,IAAI,CAAC5E,cAAc,KAAK,EAAE,EAC9B;QACE,IAAI,CAACA,cAAc,GAAG,QAAQ;AAChC,MAAA;MAEA,IAAIkE,QAAQ,GAAG,IAAI;AAEnB,MAAA,IAAI,OAAOU,MAAM,EAAEC,iBAAiB,KAAK,UAAU,IAAI,OAAOD,MAAM,EAAEE,iBAAiB,KAAK,UAAU,EACtG;QACEZ,QAAQ,GAAGU,MAAM,CAACC,iBAAiB,CAAC,IAAI,CAAC7E,cAAc,CAAC;AACxDtH,QAAAA,IAAI,CAACqM,GAAG,CAACtM,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACpCmM,QAAAA,MAAM,CAACE,iBAAiB,CAACrM,cAAc,CAAC;AACxC,QAAA,IAAI,CAACsH,wBAAwB,GAAGtH,cAAc,CAAC,CAAC,CAAC;AACnD,MAAA,CAAC,MAED;AACE,QAAA;AACF,MAAA;AAEA,MAAA,IAAIyL,QAAQ,EACZ;AACE,QAAA,KAAK,MAAME,OAAO,IAAIF,QAAQ,EAC9B;UACE,IAAIhL,IAAI,CAACqK,MAAM,EAAE,GAAG,IAAI,CAACtD,YAAY,EACrC;AACE,YAAA;AACF,UAAA;AAEA,UAAA,MAAM2B,MAAM,GAAGvI,kBAAkB,EAAE;UACnCR,IAAI,CAACwL,IAAI,CAACzC,MAAM,CAACpI,QAAQ,EAAE4K,OAAO,CAAC5K,QAAQ,CAAC;UAC5CD,IAAI,CAAC8K,IAAI,CAACzC,MAAM,CAACtI,QAAQ,EAAE8K,OAAO,CAACI,SAAS,CAAC;AAC7C,UAAA,MAAMC,IAAI,GAAG,IAAI,CAACrF,YAAY,GAAGlG,IAAI,CAACqK,MAAM,EAAE,IAAI,IAAI,CAAClE,YAAY,GAAG,IAAI,CAACD,YAAY,CAAC;AACxF;AACAvG,UAAAA,IAAI,CAACO,KAAK,CAACwI,MAAM,CAACxI,KAAK,EAAE,IAAI,CAACsG,aAAa,EAAE+E,IAAI,CAAC;AAClD,UAAA,IAAI,CAAC,oBAAoB,CAAClC,IAAI,CAACX,MAAM,CAAC;AACxC,QAAA;AACF,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AACA;AAIEoD,IAAAA,2BAA2BA,GAC3B;AACE,MAAA,MAAMC,KAAK,GAAGzD,MAAM,CAAC,IAAI,CAACjB,WAAW,CAAC;MACtC,KAAK,IAAIoB,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGsD,KAAK,EAAEtD,KAAK,EAAE,EAC1C;QACE,IAAIzI,IAAI,CAACqK,MAAM,EAAE,GAAG,IAAI,CAACtD,YAAY,EACrC;AACE,UAAA;AACF,QAAA;;AAEA;AACA;AACA;AACA,QAAA,IAAIiF,IAAI,GAAGhM,IAAI,CAACqK,MAAM,EAAE;AACxB2B,QAAAA,IAAI,IAAI,CAAC,IAAI,CAACzF,mBAAmB,GAAGyF,IAAI,IAAIhM,IAAI,CAACqK,MAAM,EAAE;AACzD2B,QAAAA,IAAI,GAAG,IAAI,CAAC9E,iBAAiB,GAAG,CAAC,IAAI,CAACE,KAAK,GAAG,IAAI,CAACF,iBAAiB,IAAI8E,IAAI;;AAE5E;AACA,QAAA,MAAMC,CAAC,GAAG,CAAC,GAAGjM,IAAI,CAACkM,EAAE,GAAGlM,IAAI,CAACqK,MAAM,EAAE;QACrC,MAAM8B,CAAC,GAAGnM,IAAI,CAACqK,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;QAC/B,MAAM+B,CAAC,GAAGpM,IAAI,CAACwL,IAAI,CAAC,CAAC,GAAGW,CAAC,GAAGA,CAAC,CAAC;AAE9B,QAAA,MAAMzD,MAAM,GAAGvI,kBAAkB,EAAE;AACnC;AACAR,QAAAA,IAAI,CAACkM,GAAG,CAACnD,MAAM,CAACpI,QAAQ,EAAE8L,CAAC,GAAGpM,IAAI,CAACqM,GAAG,CAACJ,CAAC,CAAC,GAAGD,IAAI,EAAEI,CAAC,GAAGpM,IAAI,CAACsM,GAAG,CAACL,CAAC,CAAC,GAAGD,IAAI,EAAEG,CAAC,GAAGH,IAAI,CAAC;AACnF;AACA;QACArM,IAAI,CAACkM,GAAG,CAACnM,qBAAqB,EAAE0M,CAAC,GAAGpM,IAAI,CAACqM,GAAG,CAACJ,CAAC,CAAC,EAAEG,CAAC,GAAGpM,IAAI,CAACsM,GAAG,CAACL,CAAC,CAAC,EAAEE,CAAC,CAAC;AACpEvM,QAAAA,sBAAsB,CAAC8I,MAAM,CAACtI,QAAQ,EAAEV,qBAAqB,CAAC;AAC9D,QAAA,MAAM6L,IAAI,GAAG,IAAI,CAACrF,YAAY,GAAGlG,IAAI,CAACqK,MAAM,EAAE,IAAI,IAAI,CAAClE,YAAY,GAAG,IAAI,CAACD,YAAY,CAAC;AACxF;AACAvG,QAAAA,IAAI,CAACO,KAAK,CAACwI,MAAM,CAACxI,KAAK,EAAE,IAAI,CAACsG,aAAa,EAAE+E,IAAI,CAAC;AAClD,QAAA,IAAI,CAAC,oBAAoB,CAAClC,IAAI,CAACX,MAAM,CAAC;AACxC,MAAA;AACA,MAAA,IAAI,CAAC7B,wBAAwB,GAAG,IAAI,CAACO,KAAK;AAC5C,IAAA;;AAEA;AACF;AACA;AAGE2B,IAAAA,eAAeA,CAAC2C,MAAM,GAAG,IAAI,EAC7B;AACE,MAAA,IAAI,CAAC,oBAAoB,CAAC3L,MAAM,GAAG,CAAC;MAEpC,QAAQ,IAAI,CAACgG,eAAe;AAE1B,QAAA,KAAKjF,qBAAwB,CAACyL,eAAe,CAACC,cAAc;UAC1D,IAAI,CAACzB,oBAAoB,EAAE;AAC3B,UAAA;AACF,QAAA,KAAKjK,qBAAwB,CAACyL,eAAe,CAACE,kBAAkB;AAC9D,UAAA,IAAI,CAAChB,kBAAkB,CAACC,MAAM,CAAC;AAC/B,UAAA;AACF,QAAA,KAAK5K,qBAAwB,CAACyL,eAAe,CAACG,aAAa;UACzD,IAAI,CAACZ,2BAA2B,EAAE;AAClC,UAAA;AAGJ;MAEA,IAAI,IAAI,CAAC,oBAAoB,CAAC/L,MAAM,KAAK,CAAC,EAC1C;QACE,IAAI,CAAC0H,IAAI,EAAE;AACX,QAAA;AACF,MAAA;MAEA,IAAI,CAACkF,oBAAoB,EAAE;AAC7B,IAAA;;AAEA;AACF;AAIE7C,IAAAA,uBAAuBA,GACvB;AACE,MAAA,KAAK,MAAMpB,MAAM,IAAI,IAAI,CAAC,oBAAoB,EAC9C;AACE,QAAA,MAAM6C,IAAI,GAAG,IAAI,CAACrF,YAAY,GAAGlG,IAAI,CAACqK,MAAM,EAAE,IAAI,IAAI,CAAClE,YAAY,GAAG,IAAI,CAACD,YAAY,CAAC;AACxF;AACAvG,QAAAA,IAAI,CAACO,KAAK,CAACwI,MAAM,CAACxI,KAAK,EAAE,IAAI,CAACsG,aAAa,EAAE+E,IAAI,CAAC;AACpD,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AAGEoB,IAAAA,oBAAoBA,GACpB;AACE;AACA;AACAhN,MAAAA,IAAI,CAACO,KAAK,CAACR,qBAAqB,EAAE,IAAI,CAAC0G,mBAAmB,EAAE,IAAI,CAACS,wBAAwB,CAAC;AAC1F,MAAA,KAAK,MAAM6B,MAAM,IAAI,IAAI,CAAC,oBAAoB,EAC9C;AACEA,QAAAA,MAAM,CAAClI,qBAAqB,GAAGb,IAAI,CAACiN,eAAe,CAAClE,MAAM,CAACpI,QAAQ,EAAEZ,qBAAqB,CAAC;AAC7F,MAAA;AAEA,MAAA,IAAI,CAAC,oBAAoB,CAACmN,IAAI,CAACpM,gBAAgB,CAAC;AAClD,IAAA;;AAEA;AAGAqM,IAAAA,SAASA,GACT;MACE,OAAO,IAAI,CAACzG,MAAM;AACpB,IAAA;;AAEA;AACF;AACA;IAGE0G,SAASA,CAAC1G,MAAM,EAChB;MACE,IAAI,CAAC2G,oBAAoB,EAAE;AAC3B,MAAA,IAAI,CAACC,eAAe,CAAC,IAAI,CAAC5G,MAAM,CAAC;AACjC,MAAA,IAAI,CAACA,MAAM,GAAGA,MAAM,IAAI,IAAI;AAC5B,MAAA,IAAI,CAAC6G,aAAa,CAAC,IAAI,CAAC7G,MAAM,CAAC;MAC/B,IAAI,CAAC8G,kBAAkB,EAAE;AAC3B,IAAA;;AAEA;AACF;AAGEC,IAAAA,qBAAqBA,CAACC,IAAI,EAAEpF,KAAK,EACjC;AACE,MAAA,IAAI,CAAC5B,MAAM,EAAE+G,qBAAqB,CAACE,MAAM,CAACD,IAAI,IAAI,EAAE,CAAC,EAAE/E,MAAM,CAACL,KAAK,CAAC,CAAC;AACvE,IAAA;;AAEA;AAGAkF,IAAAA,kBAAkBA,GAClB;MACE,IAAI,IAAI,CAACI,YAAY,EAAE,IAAI,IAAI,CAAClH,MAAM,EACtC;QACE,IAAI,CAACA,MAAM,CAACmH,QAAQ,CAAC,IAAI,CAACC,oBAAoB,EAAE,CAAC;AACnD,MAAA;AACF,IAAA;;AAEA;AAGAT,IAAAA,oBAAoBA,GACpB;MACE,IAAI,IAAI,CAACO,YAAY,EAAE,IAAI,IAAI,CAAClH,MAAM,EACtC;QACE,IAAI,CAACA,MAAM,CAACqH,UAAU,CAAC,IAAI,CAACD,oBAAoB,EAAE,CAAC;AACrD,MAAA;AACF,IAAA;GAMD;AAJQlB,EAAAA,eAAe,GAAGA,eAAe;AAEjCtD,EAAAA,WAAW,GAAGA,WAAW;EAAC0E,WAAAA,GAAA;IAAA,KAAA,CAAA/M,qBAAA,GAAAyD,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
1
+ {"version":3,"file":"EveChildEffectPropagator.js","sources":["../../../../../src/trinity/eve/child/EveChildEffectPropagator.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildEffectPropagator.h\r\n// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildEffectPropagator.cpp\r\n// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildEffectPropagator_Blue.cpp\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { EveChildContainer } from \"./EveChildContainer.js\";\r\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { Tr2Lod } from \"../EveLODHelper.js\";\r\nimport { PropagationType, TriggerType } from \"../../generated/eve/child/enums.js\";\r\n\r\n// Module scratch for the trigger-driven locator paths (allocation rules:\r\n// copy-into, never allocate per frame; child updates run sequentially so the\r\n// scratch is non-reentrant by construction).\r\nconst BOUNDS_SCRATCH = vec4.create();\r\nconst SPHERE_CENTER_SCRATCH = vec3.create();\r\n\r\n// Carbon TriQuaternionDirVector (TriMath.cpp:262-269): stores the NORMALIZED\r\n// direction vector in the quaternion x/y/z slots with w = 0. It is a packed\r\n// direction, not a rotation - no quaternion composition happens here.\r\nfunction TriQuaternionDirVector(out, v)\r\n{\r\n const length = Math.hypot(v[0], v[1], v[2]);\r\n const scale = length ? 1 / length : 0;\r\n out[0] = v[0] * scale;\r\n out[1] = v[1] * scale;\r\n out[2] = v[2] * scale;\r\n out[3] = 0;\r\n return out;\r\n}\r\n\r\n// Carbon EveChildEffectPropagator::Transform (h:66-72): the per-locator\r\n// processed record. Records are allocated on trigger (ProcessLocators), never\r\n// per frame.\r\nfunction NewTransformRecord()\r\n{\r\n return {\r\n rotation: quat.create(),\r\n position: vec3.create(),\r\n scale: vec3.fromValues(1, 1, 1),\r\n sqrDistToSphereCenter: 0\r\n };\r\n}\r\n\r\n// Carbon SortByCircleDist (h:74-80): ascending squared distance to the\r\n// trigger-sphere center.\r\nfunction SortByCircleDist(lhs, rhs)\r\n{\r\n return lhs.sqrDistToSphereCenter - rhs.sqrDistToSphereCenter;\r\n}\r\n\r\n\r\n/** EveChildEffectPropagator (eve/child) - generated from schema shapeHash 0f2a96e8.... */\r\n@type.define({ className: \"EveChildEffectPropagator\", family: \"eve/child\" })\r\nexport class EveChildEffectPropagator extends EveChildContainer\r\n{\r\n\r\n /** m_type (PropagationType - enum PropagationType) [READWRITE, PERSIST, ENUM, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.int32\r\n @type.enum(\"PropagationType\")\r\n propagationType = 0;\r\n\r\n /** m_triggerMethod (TriggerType - enum TriggerType) [READWRITE, PERSIST, ENUM, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.int32\r\n @type.enum(\"TriggerType\")\r\n triggerMethood = 0;\r\n\r\n /** m_stopAfterNumTriggers (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n stopAfterNumTriggers = -1;\r\n\r\n /** m_randScaleMin (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n randScaleMin = 1;\r\n\r\n /** m_randScaleMax (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n randScaleMax = 1;\r\n\r\n /** m_triggerSphereOffset (Vector3) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.vec3\r\n triggerSphereOffset = vec3.create();\r\n\r\n /** m_effect (EveChildInstanceContainerPtr) [PERSISTONLY, NOTIFY] */\r\n @edit.notify\r\n @edit.persistOnly\r\n @type.model(\"EveChildInstanceContainer\")\r\n effect = null;\r\n\r\n /** m_stopToClearDelay (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n stopToClearDelay = 0;\r\n\r\n /** m_rndClosenessPreference (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n ClosenessPreference = 0.25;\r\n\r\n /** m_effectScaling (Vector3) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.vec3\r\n effectScaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_effectDuration (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n durationPerEffect = 3;\r\n\r\n /** m_isPlaying (bool) [READ] */\r\n @edit.read\r\n @type.boolean\r\n isPlaying = false;\r\n\r\n /** m_localLocators (EveLocatorSetsPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"EveLocatorSets\")\r\n localLocators = null;\r\n\r\n /** m_triggerSphereRadiusCurve (Tr2CurveScalarPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"Tr2CurveScalar\")\r\n triggerSphereRadiusCurve = null;\r\n\r\n /** m_triggerSphereScalarMulti (float) [READ] */\r\n @edit.read\r\n @type.float32\r\n triggerSphereScalarMulti = 1;\r\n\r\n /** m_locatorSetName (BlueSharedString) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.string\r\n locatorSetName = \"\";\r\n\r\n /** m_completeness (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n completeness = 1;\r\n\r\n /** m_replayAfterDelay (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n replayAfterDelay = false;\r\n\r\n /** m_trigger (bool) [READWRITE] */\r\n @edit.readwrite\r\n @type.boolean\r\n trigger = false;\r\n\r\n /** m_rndMinRangeThreshold (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n minRangeThreshold = 0;\r\n\r\n /** m_playTime (float) [READ] */\r\n @edit.read\r\n @type.float32\r\n playTime = 0;\r\n\r\n /** m_rndRange (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n range = 500;\r\n\r\n /** m_numTriggers (int64_t) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.int64\r\n numTriggers = 10;\r\n\r\n /** m_frequency (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n frequency = 1;\r\n\r\n /** m_skipCleanup (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n skipCleanup = false;\r\n\r\n #currentTriggerIndex = 0;\r\n\r\n #numDeleted = 0;\r\n\r\n // Carbon m_processedTransforms/m_lastTriggered/m_delayTimer: runtime-only\r\n // trigger state (never persisted; Carbon keeps them off the Blue surface).\r\n #processedTransforms = [];\r\n\r\n #lastTriggered = [];\r\n\r\n #delayTimer = 0;\r\n\r\n /** Carbon EveChildEffectPropagator::Play (cpp:101-113): reset via Stop, then\r\n * arm playback; without an effect the propagator never starts. */\r\n @carbon.method\r\n @impl.implemented\r\n Play()\r\n {\r\n this.Stop();\r\n\r\n if (!this.effect)\r\n {\r\n return;\r\n }\r\n\r\n this.trigger = false;\r\n this.isPlaying = true;\r\n this.#delayTimer = this.stopToClearDelay;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::Stop (cpp:119-129). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The staged instance container does not yet expose Carbon's native ClearInstanceList helper, so plain hydrated instance lists are cleared directly as a fallback.\")\r\n Stop()\r\n {\r\n this.isPlaying = false;\r\n this.playTime = 0;\r\n this.#currentTriggerIndex = 0;\r\n this.#numDeleted = 0;\r\n\r\n if (this.effect)\r\n {\r\n if (typeof this.effect.ClearInstanceList === \"function\")\r\n {\r\n this.effect.ClearInstanceList();\r\n }\r\n else if (Array.isArray(this.effect.instances))\r\n {\r\n this.effect.instances.length = 0;\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::Initialize (cpp:131-138). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"DisableEditMode is duck-typed - the staged instance container has not ported its edit-mode surface yet.\")\r\n Initialize()\r\n {\r\n this.effect?.DisableEditMode?.(true);\r\n return super.Initialize();\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::OnModified (cpp:61-95): edit-mode lock\r\n * on effect changes, clamps for completeness/randScaleMin/randScaleMax, and\r\n * the playTime re-anchor on frequency changes. The value argument follows\r\n * the repo's OnModified duck (field name or field value). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Field matching follows the repo OnModified duck and DisableEditMode is duck-typed on the staged instance container.\")\r\n OnModified(value = null)\r\n {\r\n if (value === \"effect\")\r\n {\r\n this.effect?.DisableEditMode?.(true);\r\n }\r\n\r\n if (value === \"completeness\")\r\n {\r\n this.completeness = Math.min(1, Math.max(0, this.completeness));\r\n }\r\n\r\n if (value === \"randScaleMin\")\r\n {\r\n this.randScaleMin = Math.min(this.randScaleMax, Math.max(0, this.randScaleMin));\r\n }\r\n\r\n if (value === \"randScaleMax\")\r\n {\r\n this.randScaleMax = Math.max(this.randScaleMax, this.randScaleMin);\r\n }\r\n\r\n if (value === \"frequency\")\r\n {\r\n if (this.frequency !== 0)\r\n {\r\n this.playTime = this.#currentTriggerIndex / this.frequency;\r\n }\r\n }\r\n\r\n return super.OnModified(value);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ManageTriggers (cpp:140-167): fire an\r\n * instance for every processed locator the growing trigger sphere has\r\n * swallowed; the list is distance-sorted so the scan stops at the first\r\n * locator still outside. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CreateInstance is duck-typed - the staged instance container has not ported its instance-spawning surface yet.\")\r\n ManageTriggers()\r\n {\r\n if (!this.triggerSphereRadiusCurve)\r\n {\r\n return;\r\n }\r\n\r\n if (!this.effect)\r\n {\r\n return;\r\n }\r\n\r\n let currentRadSqr = Number(this.triggerSphereRadiusCurve.GetValueAt(this.playTime) ?? 0) * this.triggerSphereScalarMulti;\r\n currentRadSqr = currentRadSqr * currentRadSqr;\r\n\r\n const records = this.#processedTransforms;\r\n for (let index = this.#currentTriggerIndex; index < records.length; index++)\r\n {\r\n const record = records[index];\r\n if (record.sqrDistToSphereCenter < currentRadSqr)\r\n {\r\n this.effect.CreateInstance?.(record.scale, record.rotation, record.position);\r\n this.#currentTriggerIndex++;\r\n }\r\n else\r\n {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Sync-side frame update (Carbon EveChildEffectPropagator::UpdateSyncronous,\r\n * cpp:173-231): consume a pending trigger (process + sort the locators and\r\n * restart playback, seeding the interval-trigger history), forward the sync\r\n * tick to the effect container, then advance the active trigger method.\r\n * Carbon deliberately does NOT call the EveChildContainer base here - the\r\n * effect container replaces the child fan-out.\r\n * @param {Object} updateContext - frame context (EveUpdateContext)\r\n * @param {EveChildUpdateParams} params\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CreateInstance on the staged instance container is duck-typed; the trigger bookkeeping is ported.\")\r\n UpdateSyncronous(updateContext, params)\r\n {\r\n if (this.trigger)\r\n {\r\n this.ProcessLocators(params?.spaceObjectParent ?? null);\r\n this.Play();\r\n\r\n if (this.triggerMethood === EveChildEffectPropagator.TriggerType.INTERVAL_TRIGGERS)\r\n {\r\n // Carbon (cpp:180-189): the last-triggered ring holds\r\n // floor(effectDuration * frequency) slots primed with -1.\r\n const size = Math.max(Math.floor(this.durationPerEffect * this.frequency), 0);\r\n this.#lastTriggered.length = 0;\r\n for (let index = 0; index < size; index++)\r\n {\r\n this.#lastTriggered.push(-1);\r\n }\r\n }\r\n }\r\n\r\n this.effect?.UpdateSyncronous(updateContext, params);\r\n\r\n if (!this.isPlaying)\r\n {\r\n return;\r\n }\r\n\r\n switch (this.triggerMethood)\r\n {\r\n case EveChildEffectPropagator.TriggerType.TRIGGER_SPHERE_CURVE:\r\n this.UpdateTriggerCurve(updateContext);\r\n break;\r\n case EveChildEffectPropagator.TriggerType.INTERVAL_TRIGGERS:\r\n if (this.frequency !== 0)\r\n {\r\n this.UpdateTriggerInterval(updateContext);\r\n }\r\n else\r\n {\r\n this.Stop();\r\n }\r\n break;\r\n case EveChildEffectPropagator.TriggerType.INSTANT_PERMANENT:\r\n this.playTime += Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaT ?? 0);\r\n if (this.#currentTriggerIndex === 0)\r\n {\r\n for (const record of this.#processedTransforms)\r\n {\r\n this.effect?.CreateInstance?.(record.scale, record.rotation, record.position);\r\n }\r\n this.#currentTriggerIndex++;\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::UpdateTriggerCurve (cpp:233-273):\r\n * advance playTime, let the trigger sphere fire instances, then handle the\r\n * end of the curve (skip cleanup, delayed replay with re-randomized locator\r\n * sizes, or stop). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateTriggerCurve(updateContext)\r\n {\r\n const dt = Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaT ?? 0);\r\n this.playTime += dt;\r\n\r\n if (this.effect)\r\n {\r\n this.ManageTriggers();\r\n }\r\n\r\n if (!this.triggerSphereRadiusCurve)\r\n {\r\n this.Stop();\r\n return;\r\n }\r\n\r\n if (this.playTime > Number(this.triggerSphereRadiusCurve.Length?.() ?? 0))\r\n {\r\n if (this.skipCleanup)\r\n {\r\n return;\r\n }\r\n\r\n if (this.replayAfterDelay)\r\n {\r\n if (this.#delayTimer > 0)\r\n {\r\n this.#delayTimer -= dt;\r\n }\r\n else\r\n {\r\n this.RecalculateLocatorSizes();\r\n this.Play();\r\n }\r\n }\r\n else\r\n {\r\n this.Stop();\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::UpdateTriggerInterval (cpp:275-317):\r\n * frequency-paced spawning from smart-random locators with a spawn cap,\r\n * plus paced deletion of expired instances (PopFront) until the loop\r\n * drains. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CreateInstance/PopFront on the staged instance container are duck-typed; the interval bookkeeping is ported.\")\r\n UpdateTriggerInterval(updateContext)\r\n {\r\n const dt = Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaT ?? 0);\r\n this.playTime += dt;\r\n\r\n if (this.#processedTransforms.length === 0)\r\n {\r\n return;\r\n }\r\n\r\n if (this.stopAfterNumTriggers > 0 && this.durationPerEffect !== -1 &&\r\n this.playTime > (this.stopAfterNumTriggers / this.frequency + this.durationPerEffect))\r\n {\r\n this.Stop();\r\n return;\r\n }\r\n\r\n // Triggers based on the frequency interval unless the maximum amount of\r\n // spawns has been reached (cpp:291-304).\r\n if (this.playTime > this.#currentTriggerIndex / this.frequency &&\r\n (this.#currentTriggerIndex < this.stopAfterNumTriggers || this.stopAfterNumTriggers < 0))\r\n {\r\n const locatorIndex = this.GetSmartRandomLocatorIndex();\r\n if (this.#lastTriggered.length)\r\n {\r\n this.#lastTriggered.shift();\r\n }\r\n this.#lastTriggered.push(locatorIndex);\r\n\r\n const record = this.#processedTransforms[locatorIndex];\r\n this.effect?.CreateInstance?.(record.scale, record.rotation, record.position);\r\n this.#currentTriggerIndex++;\r\n }\r\n\r\n if (this.durationPerEffect !== -1 &&\r\n this.playTime > (this.#numDeleted / this.frequency) + this.durationPerEffect)\r\n {\r\n this.effect?.PopFront?.();\r\n this.#numDeleted++;\r\n\r\n if (this.#numDeleted === this.#currentTriggerIndex)\r\n {\r\n // Prevent debug rendering on a running loop after it finishes (see\r\n // InstanceContainers) - cpp:313.\r\n this.#currentTriggerIndex = 0;\r\n this.#lastTriggered.length = 0;\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::GetSmartRandomLocatorIndex\r\n * (cpp:319-351): rejection-sample a locator index not in the recent-trigger\r\n * history, with Carbon's early exit when the history covers the set or the\r\n * spawn rate saturates 75% of the locators. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRandInt, matching the BehaviorGroup/EveSpaceObject2 precedent.\")\r\n GetSmartRandomLocatorIndex()\r\n {\r\n let locatorIndex = -1;\r\n const ptSize = this.#processedTransforms.length;\r\n const ltSize = this.#lastTriggered.length;\r\n\r\n if (ltSize >= ptSize || this.frequency * this.durationPerEffect > 0.75 * ptSize)\r\n {\r\n locatorIndex = Math.floor(Math.random() * ptSize);\r\n }\r\n else\r\n {\r\n // Carbon (cpp:331-336): this loop should rarely repeat; the early exit\r\n // above bounds the bad case (small locator set, long duration, frequent\r\n // triggers).\r\n while (locatorIndex === -1)\r\n {\r\n locatorIndex = Math.floor(Math.random() * ptSize);\r\n for (let index = 0; index < ltSize; index++)\r\n {\r\n if (locatorIndex === this.#lastTriggered[index])\r\n {\r\n locatorIndex = -1;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return locatorIndex;\r\n }\r\n\r\n /**\r\n * Per-frame async update (Carbon EveChildEffectPropagator::UpdateAsyncronous,\r\n * cpp:353-366): gate on IsRendering, tick the effect container, then run the\r\n * EveChildContainer base (which rebuilds the world transform - the Carbon\r\n * row-vector local * parent composition lives in\r\n * EveChildTransform.UpdateTransform as mat4.multiply(world, parent, local)).\r\n * @param {Object} updateContext - frame context (EveUpdateContext)\r\n * @param {EveChildUpdateParams} params\r\n * @returns {Float32Array} worldTransform\r\n */\r\n @carbon.method\r\n @carbon.contextual([\"camera\"])\r\n @impl.implemented\r\n UpdateAsyncronous(updateContext, params)\r\n {\r\n if (!this.IsRendering())\r\n {\r\n return this.worldTransform;\r\n }\r\n\r\n this.effect?.UpdateAsyncronous(updateContext, params);\r\n\r\n return super.UpdateAsyncronous(updateContext, params);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::UpdateVisibility (cpp:389-395): the\r\n * effect container alone receives the visibility tick (no base fan-out). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(updateContext, parentTransform = null, parentLod = Tr2Lod.TR2_LOD_HIGH)\r\n {\r\n this.effect?.UpdateVisibility(updateContext, parentTransform, parentLod);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::GetRenderables (cpp:397-408): nothing\r\n * renders until the first trigger fired; then the effect container\r\n * contributes its instances. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n if (this.#currentTriggerIndex === 0)\r\n {\r\n return out;\r\n }\r\n\r\n this.effect?.GetRenderables(out);\r\n return out;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessLocalLocators (cpp:410-438):\r\n * sample the owned locator set through the completeness gate; the trigger\r\n * sphere scalar becomes twice the farthest locator distance. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand, matching the EveSpaceObject2 precedent.\")\r\n ProcessLocalLocators()\r\n {\r\n if (!this.localLocators)\r\n {\r\n return;\r\n }\r\n\r\n const locators = this.localLocators.GetLocators?.() ?? this.localLocators.locators ?? [];\r\n\r\n this.triggerSphereScalarMulti = 0;\r\n for (const locator of locators)\r\n {\r\n if (Math.random() > this.completeness)\r\n {\r\n continue;\r\n }\r\n\r\n const record = NewTransformRecord();\r\n vec3.copy(record.position, locator.position);\r\n const lengthSq = vec3.squaredLength(record.position);\r\n this.triggerSphereScalarMulti = Math.max(this.triggerSphereScalarMulti, lengthSq);\r\n // Locator directions persist as packed quaternions; copied verbatim\r\n // (Carbon t.rotation = it->direction - no composition).\r\n quat.copy(record.rotation, locator.direction);\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon t.scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n this.#processedTransforms.push(record);\r\n }\r\n\r\n this.triggerSphereScalarMulti = Math.sqrt(this.triggerSphereScalarMulti) * 2;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessRefLocators (cpp:440-478): pull\r\n * the named locator set (default \"damage\") from the space-object parent and\r\n * scale the trigger sphere by the parent's bounding-sphere radius. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand and the EveSpaceObject2 BlueCast becomes a duck check on the locator/bounds surface.\")\r\n ProcessRefLocators(parent)\r\n {\r\n if (this.locatorSetName === \"\")\r\n {\r\n this.locatorSetName = \"damage\";\r\n }\r\n\r\n let locators = null;\r\n\r\n if (typeof parent?.GetLocatorsForSet === \"function\" && typeof parent?.GetBoundingSphere === \"function\")\r\n {\r\n locators = parent.GetLocatorsForSet(this.locatorSetName);\r\n vec4.set(BOUNDS_SCRATCH, 0, 0, 0, 0);\r\n parent.GetBoundingSphere(BOUNDS_SCRATCH);\r\n this.triggerSphereScalarMulti = BOUNDS_SCRATCH[3];\r\n }\r\n else\r\n {\r\n return;\r\n }\r\n\r\n if (locators)\r\n {\r\n for (const locator of locators)\r\n {\r\n if (Math.random() > this.completeness)\r\n {\r\n continue;\r\n }\r\n\r\n const record = NewTransformRecord();\r\n vec3.copy(record.position, locator.position);\r\n quat.copy(record.rotation, locator.direction);\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon t.scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n this.#processedTransforms.push(record);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessRandomSpreadLocators\r\n * (cpp:480-506): uniform points on the unit sphere pushed out by a\r\n * closeness-biased distance inside [minRangeThreshold, range]; the packed\r\n * direction quaternion comes from TriQuaternionDirVector. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand, matching the EveSpaceObject2 precedent.\")\r\n ProcessRandomSpreadLocators()\r\n {\r\n const count = Number(this.numTriggers);\r\n for (let index = 0; index < count; index++)\r\n {\r\n if (Math.random() > this.completeness)\r\n {\r\n continue;\r\n }\r\n\r\n // Carbon (cpp:489-491): dist starts uniform, is pulled toward the\r\n // closeness preference by a second uniform draw, then maps into\r\n // [minRangeThreshold, range].\r\n let dist = Math.random();\r\n dist += (this.ClosenessPreference - dist) * Math.random();\r\n dist = this.minRangeThreshold + (this.range - this.minRangeThreshold) * dist;\r\n\r\n // Carbon (cpp:493-495): uniform unit-sphere direction from (a, z).\r\n const a = 2 * Math.PI * Math.random();\r\n const z = Math.random() * 2 - 1;\r\n const s = Math.sqrt(1 - z * z);\r\n\r\n const record = NewTransformRecord();\r\n // Carbon t.position = angle * dist - scalar-vector scale.\r\n vec3.set(record.position, s * Math.cos(a) * dist, s * Math.sin(a) * dist, z * dist);\r\n // TriQuaternionDirVector(&t.rotation, &angle) - packed direction, no\r\n // quaternion composition.\r\n vec3.set(SPHERE_CENTER_SCRATCH, s * Math.cos(a), s * Math.sin(a), z);\r\n TriQuaternionDirVector(record.rotation, SPHERE_CENTER_SCRATCH);\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon t.scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n this.#processedTransforms.push(record);\r\n }\r\n this.triggerSphereScalarMulti = this.range;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessLocators (cpp:513-540): rebuild\r\n * the processed-locator list for the selected propagation type, stop when\r\n * nothing survived the completeness gate, then distance-sort. */\r\n @carbon.method\r\n @impl.implemented\r\n ProcessLocators(parent = null)\r\n {\r\n this.#processedTransforms.length = 0;\r\n\r\n switch (this.propagationType)\r\n {\r\n case EveChildEffectPropagator.PropagationType.LOCAL_LOCATORS:\r\n this.ProcessLocalLocators();\r\n break;\r\n case EveChildEffectPropagator.PropagationType.LOCATOR_SET_BY_REF:\r\n this.ProcessRefLocators(parent);\r\n break;\r\n case EveChildEffectPropagator.PropagationType.RANDOM_SPREAD:\r\n this.ProcessRandomSpreadLocators();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (this.#processedTransforms.length === 0)\r\n {\r\n this.Stop();\r\n return;\r\n }\r\n\r\n this.DistanceSortLocators();\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::RecalculateLocatorSizes (cpp:542-549):\r\n * re-randomize the per-locator scale for a delayed replay. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand, matching the EveSpaceObject2 precedent.\")\r\n RecalculateLocatorSizes()\r\n {\r\n for (const record of this.#processedTransforms)\r\n {\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon it->scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::DistanceSortLocators (cpp:556-564):\r\n * squared distance of every locator to the scaled trigger-sphere center,\r\n * then an ascending sort so ManageTriggers can early-out. */\r\n @carbon.method\r\n @impl.implemented\r\n DistanceSortLocators()\r\n {\r\n // Carbon: it->position - m_triggerSphereOffset * m_triggerSphereScalarMulti\r\n // - scalar-vector scale plus a vector difference, no matrix composition.\r\n vec3.scale(SPHERE_CENTER_SCRATCH, this.triggerSphereOffset, this.triggerSphereScalarMulti);\r\n for (const record of this.#processedTransforms)\r\n {\r\n record.sqrDistToSphereCenter = vec3.squaredDistance(record.position, SPHERE_CENTER_SCRATCH);\r\n }\r\n\r\n this.#processedTransforms.sort(SortByCircleDist);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::GetEffect (cpp:640-643). */\r\n @carbon.method\r\n @impl.implemented\r\n GetEffect()\r\n {\r\n return this.effect;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::SetEffect (cpp:645-654): unregisters\r\n * the current effect from both the component registry and child hierarchy,\r\n * installs the replacement, then registers it with both owners. */\r\n @carbon.method\r\n @impl.implemented\r\n SetEffect(effect)\r\n {\r\n this.UnRegisterComponents();\r\n this.UnregisterChild(this.effect);\r\n this.effect = effect ?? null;\r\n this.RegisterChild(this.effect);\r\n this.RegisterComponents();\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::SetControllerVariable (cpp:656-662):\r\n * the effect container alone receives the variable (no base fan-out). */\r\n @carbon.method\r\n @impl.implemented\r\n SetControllerVariable(name, value)\r\n {\r\n this.effect?.SetControllerVariable(String(name ?? \"\"), Number(value));\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::RegisterComponents (cpp:45-51). */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n if (this.IsInRegistry() && this.effect)\r\n {\r\n this.effect.Register(this.GetComponentRegistry());\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::UnRegisterComponents (cpp:53-59). */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n if (this.IsInRegistry() && this.effect)\r\n {\r\n this.effect.UnRegister(this.GetComponentRegistry());\r\n }\r\n }\r\n\r\n static PropagationType = PropagationType;\r\n\r\n static TriggerType = TriggerType;\r\n\r\n}\r\n"],"names":["BOUNDS_SCRATCH","vec4","create","SPHERE_CENTER_SCRATCH","vec3","TriQuaternionDirVector","out","v","length","Math","hypot","scale","NewTransformRecord","rotation","quat","position","fromValues","sqrDistToSphereCenter","SortByCircleDist","lhs","rhs","_EveChildEffectPropag","_identity","EveChildEffectPropagator","EveChildContainer","e","_init_propagationType","_init_extra_propagationType","_init_triggerMethood","_init_extra_triggerMethood","_init_stopAfterNumTriggers","_init_extra_stopAfterNumTriggers","_init_randScaleMin","_init_extra_randScaleMin","_init_randScaleMax","_init_extra_randScaleMax","_init_triggerSphereOffset","_init_extra_triggerSphereOffset","_init_effect","_init_extra_effect","_init_stopToClearDelay","_init_extra_stopToClearDelay","_init_ClosenessPreference","_init_extra_ClosenessPreference","_init_effectScaling","_init_extra_effectScaling","_init_durationPerEffect","_init_extra_durationPerEffect","_init_isPlaying","_init_extra_isPlaying","_init_localLocators","_init_extra_localLocators","_init_triggerSphereRadiusCurve","_init_extra_triggerSphereRadiusCurve","_init_triggerSphereScalarMulti","_init_extra_triggerSphereScalarMulti","_init_locatorSetName","_init_extra_locatorSetName","_init_completeness","_init_extra_completeness","_init_replayAfterDelay","_init_extra_replayAfterDelay","_init_trigger","_init_extra_trigger","_init_minRangeThreshold","_init_extra_minRangeThreshold","_init_playTime","_init_extra_playTime","_init_range","_init_extra_range","_init_numTriggers","_init_extra_numTriggers","_init_frequency","_init_extra_frequency","_init_skipCleanup","_init_extra_skipCleanup","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","notify","persist","int32","enum","float32","persistOnly","model","read","boolean","string","readwrite","int64","carbon","method","impl","implemented","adapted","reason","contextual","propagationType","triggerMethood","stopAfterNumTriggers","randScaleMin","randScaleMax","triggerSphereOffset","effect","stopToClearDelay","ClosenessPreference","effectScaling","durationPerEffect","isPlaying","localLocators","triggerSphereRadiusCurve","triggerSphereScalarMulti","locatorSetName","completeness","replayAfterDelay","trigger","minRangeThreshold","playTime","range","numTriggers","frequency","skipCleanup","Play","Stop","ClearInstanceList","Array","isArray","instances","Initialize","DisableEditMode","OnModified","value","min","max","ManageTriggers","currentRadSqr","Number","GetValueAt","records","index","record","CreateInstance","UpdateSyncronous","updateContext","params","ProcessLocators","spaceObjectParent","TriggerType","INTERVAL_TRIGGERS","size","floor","push","TRIGGER_SPHERE_CURVE","UpdateTriggerCurve","UpdateTriggerInterval","INSTANT_PERMANENT","GetDeltaT","deltaT","dt","Length","RecalculateLocatorSizes","locatorIndex","GetSmartRandomLocatorIndex","shift","PopFront","ptSize","ltSize","random","UpdateAsyncronous","IsRendering","worldTransform","UpdateVisibility","parentTransform","parentLod","Tr2Lod","TR2_LOD_HIGH","GetRenderables","ProcessLocalLocators","locators","GetLocators","locator","copy","lengthSq","squaredLength","direction","rand","sqrt","ProcessRefLocators","parent","GetLocatorsForSet","GetBoundingSphere","set","ProcessRandomSpreadLocators","count","dist","a","PI","z","s","cos","sin","PropagationType","LOCAL_LOCATORS","LOCATOR_SET_BY_REF","RANDOM_SPREAD","DistanceSortLocators","squaredDistance","sort","GetEffect","SetEffect","UnRegisterComponents","UnregisterChild","RegisterChild","RegisterComponents","SetControllerVariable","name","String","IsInRegistry","Register","GetComponentRegistry","UnRegister","constructor"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { type, io, carbon, impl, CjsSchema } from '#schema';
2
+ import { type, edit, carbon, impl, CjsSchema } from '#schema';
3
3
  import { EveChildContainer as _EveChildContainer } from './EveChildContainer.js';
4
4
  import { mat4 } from '#math/mat4';
5
5
  import { quat } from '#math/quat';
@@ -18,7 +18,7 @@ class EveChildExplosion extends _EveChildContainer {
18
18
  } = _applyDecs2311(this, [type.define({
19
19
  className: "EveChildExplosion",
20
20
  family: "eve/child"
21
- })], [[type.array("mat4"), 0, "localExplosionTransforms"], [[type, type.vec3], 16, "globalExplosionOffset"], [type.list("IEveSpaceObjectChild"), 0, "globalExplosionInstances"], [[io, io.read, void 0, type.objectRef("EveChildContainer")], 16, "generatedGlobalExplosions"], [[io, io.persist, type, type.vec3], 16, "localScaling"], [[io, io.persist, type, type.vec3], 16, "globalScaling"], [[io, io.persist, void 0, type.model("IEveSpaceObjectChild")], 16, "globalExplosion"], [[io, io.persist, void 0, type.model("IEveSpaceObjectChild")], 16, "localExplosion"], [[io, io.persist, void 0, type.model("IEveSpaceObjectChild")], 16, "localExplosionShared"], [[io, io.persist, void 0, type.list("IEveSpaceObjectChild")], 16, "globalExplosions"], [[io, io.persist, type, type.float32], 16, "localExplosionIntervalFactor"], [[io, io.persist, type, type.float32], 16, "localExplosionDelay"], [[io, io.persist, type, type.float32], 16, "globalExplosionDelay"], [[io, io.read, type, type.float32], 16, "totalDuration"], [[io, io.persist, type, type.float32], 16, "globalDuration"], [[io, io.read, type, type.boolean], 16, "isPlaying"], [[io, io.persist, void 0, type.list("IEveSpaceObjectChild")], 16, "localExplosions"], [[io, io.persist, type, type.float32], 16, "localExplosionInterval"], [[io, io.read, type, type.float32], 16, "globalExplosionTime"], [[io, io.read, type, type.float32], 16, "wreckSwitchTime"], [[io, io.readwrite, type, type.float32], 16, "wreckSwitchOffsetFromGlobalStart"], [[io, io.read, type, type.float32], 16, "playTime"], [[io, io.persist, type, type.float32], 16, "localDuration"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetLocalExplosionTransforms"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetGlobalExplosionOffset"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.adapted], 18, "Play"], [[carbon, carbon.method, impl, impl.implemented], 18, "Stop"], [[impl, impl.adapted], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "FindSharedObjects"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's ICopier callback writes an out-pointer and returns an OverrideResult; JS returns the alias or undefined-for-FALLBACK.")], 18, "CopyElement"]], 0, void 0, _EveChildContainer));
21
+ })], [[type.array("mat4"), 0, "localExplosionTransforms"], [[type, type.vec3], 16, "globalExplosionOffset"], [type.list("IEveSpaceObjectChild"), 0, "globalExplosionInstances"], [[edit, edit.read, void 0, type.objectRef("EveChildContainer")], 16, "generatedGlobalExplosions"], [[edit, edit.persist, type, type.vec3], 16, "localScaling"], [[edit, edit.persist, type, type.vec3], 16, "globalScaling"], [[edit, edit.persist, void 0, type.model("IEveSpaceObjectChild")], 16, "globalExplosion"], [[edit, edit.persist, void 0, type.model("IEveSpaceObjectChild")], 16, "localExplosion"], [[edit, edit.persist, void 0, type.model("IEveSpaceObjectChild")], 16, "localExplosionShared"], [[edit, edit.persist, void 0, type.list("IEveSpaceObjectChild")], 16, "globalExplosions"], [[edit, edit.persist, type, type.float32], 16, "localExplosionIntervalFactor"], [[edit, edit.persist, type, type.float32], 16, "localExplosionDelay"], [[edit, edit.persist, type, type.float32], 16, "globalExplosionDelay"], [[edit, edit.read, type, type.float32], 16, "totalDuration"], [[edit, edit.persist, type, type.float32], 16, "globalDuration"], [[edit, edit.read, type, type.boolean], 16, "isPlaying"], [[edit, edit.persist, void 0, type.list("IEveSpaceObjectChild")], 16, "localExplosions"], [[edit, edit.persist, type, type.float32], 16, "localExplosionInterval"], [[edit, edit.read, type, type.float32], 16, "globalExplosionTime"], [[edit, edit.read, type, type.float32], 16, "wreckSwitchTime"], [[edit, edit.readwrite, type, type.float32], 16, "wreckSwitchOffsetFromGlobalStart"], [[edit, edit.read, type, type.float32], 16, "playTime"], [[edit, edit.persist, type, type.float32], 16, "localDuration"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetLocalExplosionTransforms"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetGlobalExplosionOffset"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.adapted], 18, "Play"], [[carbon, carbon.method, impl, impl.implemented], 18, "Stop"], [[impl, impl.adapted], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "FindSharedObjects"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's ICopier callback writes an out-pointer and returns an OverrideResult; JS returns the alias or undefined-for-FALLBACK.")], 18, "CopyElement"]], 0, void 0, _EveChildContainer));
22
22
  }
23
23
  constructor(...args) {
24
24
  super(...args);
@@ -234,7 +234,7 @@ class EveChildExplosion extends _EveChildContainer {
234
234
  this.#sharedObjects.add(node);
235
235
  const fields = CjsSchema.getSchema(node.constructor)?.fields ?? [];
236
236
  for (const field of fields) {
237
- if (!field.io?.persist) continue;
237
+ if (!field.edit?.persist) continue;
238
238
  const kind = field.type?.kind;
239
239
  const value = node[field.name];
240
240
  if ((kind === "model" || kind === "objectRef") && value) {
@@ -271,10 +271,14 @@ class EveChildExplosion extends _EveChildContainer {
271
271
  * Static in Carbon (a C callback), camelCase here by the statics rule.
272
272
  */
273
273
  static updateEmitter(dest, transform) {
274
- if (!(dest instanceof _Tr2SphereShapeAttrib)) return;
274
+ // Carbon casts and skips - BlueCastPtr to Tr2SphereShapeAttributeGeneratorPtr,
275
+ // EveChildExplosion.cpp:438 - because the copier hands this every member of
276
+ // the cloned graph, not only the emitters.
277
+ const generator = CjsSchema.cast(dest, _Tr2SphereShapeAttrib);
278
+ if (!generator) return;
275
279
  const position = vec3.create();
276
280
  const rotation = quat.create();
277
- dest.GetTransform(position, rotation);
281
+ generator.GetTransform(position, rotation);
278
282
  const conjugate = quat.conjugate(quat.create(), transform.rotation);
279
283
  const pure = quat.set(quat.create(), position[0], position[1], position[2], 0);
280
284
  // XMQuaternionMultiply(a, b) is b*a, so the donor's nesting is
@@ -285,7 +289,7 @@ class EveChildExplosion extends _EveChildContainer {
285
289
  // rotation' = XMQuaternionMultiply(transform.rotation, rotation)
286
290
  // = rotation * transform.rotation in Hamilton order.
287
291
  quat.multiply(rotation, rotation, transform.rotation);
288
- dest.SetTransform(vec3.add(position, position, transform.position), rotation);
292
+ generator.SetTransform(vec3.add(position, position, transform.position), rotation);
289
293
  }
290
294
 
291
295
  /**
@@ -310,7 +314,7 @@ class EveChildExplosion extends _EveChildContainer {
310
314
  const copy = new source.constructor();
311
315
  copies.set(source, copy);
312
316
  for (const field of CjsSchema.getSchema(source.constructor).fields) {
313
- if (!field.io?.persist) continue;
317
+ if (!field.edit?.persist) continue;
314
318
  const kind = field.type?.kind;
315
319
  const value = source[field.name];
316
320
  if (value === undefined) continue;
@@ -1 +1 @@
1
- {"version":3,"file":"EveChildExplosion.js","sources":["../../../../../src/trinity/eve/child/EveChildExplosion.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildExplosion.h\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildExplosion.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { CjsSchema, carbon, impl, io, type } from \"#schema\";\r\nimport { EveChildContainer } from \"./EveChildContainer.js\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { Tr2SphereShapeAttributeGenerator } from \"../../particle/attribute/Tr2SphereShapeAttributeGenerator.js\";\r\n\r\n/** A container child that sequences and spawns local and global explosion instances over time from authored transforms and delays. */\r\n@type.define({ className: \"EveChildExplosion\", family: \"eve/child\" })\r\nexport class EveChildExplosion extends EveChildContainer\r\n{\r\n\r\n #countdownToGlobalExplosionStart = 0;\r\n\r\n /** m_sharedObjects - the aliased-through-copies subgraph (cpp:319). */\r\n #sharedObjects = new Set();\r\n\r\n #localExplosionTimes = [];\r\n\r\n #nextLocalExplosion = 0;\r\n\r\n #nextLocalExplosionTime = 0;\r\n\r\n @type.array(\"mat4\")\r\n localExplosionTransforms = [];\r\n\r\n @type.vec3\r\n globalExplosionOffset = vec3.create();\r\n\r\n @type.list(\"IEveSpaceObjectChild\")\r\n globalExplosionInstances = [];\r\n\r\n /** m_globalExplosionContainer (EveChildContainerPtr) [READ] */\r\n @io.read\r\n @type.objectRef(\"EveChildContainer\")\r\n generatedGlobalExplosions = null;\r\n\r\n /** m_localExplosionScaling (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n localScaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_globalExplosionScaling (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n globalScaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_globalExplosion (IEveSpaceObjectChildPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"IEveSpaceObjectChild\")\r\n globalExplosion = null;\r\n\r\n /** m_localExplosion (IEveSpaceObjectChildPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"IEveSpaceObjectChild\")\r\n localExplosion = null;\r\n\r\n /** m_localExplosionShared (IEveSpaceObjectChildPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"IEveSpaceObjectChild\")\r\n localExplosionShared = null;\r\n\r\n /** m_globalExplosions (PIEveSpaceObjectChildVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"IEveSpaceObjectChild\")\r\n globalExplosions = [];\r\n\r\n /** m_localExplosionIntervalFactor (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n localExplosionIntervalFactor = 1;\r\n\r\n /** m_localExplosionDelay (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n localExplosionDelay = 0;\r\n\r\n /** m_globalExplosionDelay (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n globalExplosionDelay = 0;\r\n\r\n /** m_totalDuration (float) [READ] */\r\n @io.read\r\n @type.float32\r\n totalDuration = 0;\r\n\r\n /** m_globalDuration (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n globalDuration = 0;\r\n\r\n /** m_isPlaying (bool) [READ] */\r\n @io.read\r\n @type.boolean\r\n isPlaying = false;\r\n\r\n /** m_localExplosions (PIEveSpaceObjectChildVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"IEveSpaceObjectChild\")\r\n localExplosions = [];\r\n\r\n /** m_localExplosionInterval (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n localExplosionInterval = 1;\r\n\r\n /** m_globalExplosionTime (float) [READ] */\r\n @io.read\r\n @type.float32\r\n globalExplosionTime = 0;\r\n\r\n /** m_wreckSwitchTime (float) [READ] */\r\n @io.read\r\n @type.float32\r\n wreckSwitchTime = 0;\r\n\r\n /** m_wreckSwitchOffsetFromGlobalStart (float) [READWRITE] */\r\n @io.readwrite\r\n @type.float32\r\n wreckSwitchOffsetFromGlobalStart = 0;\r\n\r\n /** m_playTime (float) [READ] */\r\n @io.read\r\n @type.float32\r\n playTime = 0;\r\n\r\n /** m_localDuration (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n localDuration = 0;\r\n\r\n /** Carbon method SetLocalExplosionTransforms (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetLocalExplosionTransforms(transforms)\r\n {\r\n this.localExplosionTransforms = Array.from(transforms ?? [], transform => mat4.clone(transform));\r\n }\r\n\r\n /** Carbon method SetGlobalExplosionOffset (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetGlobalExplosionOffset(offset)\r\n {\r\n vec3.copy(this.globalExplosionOffset, offset);\r\n this.globalExplosionOffset[0] /= this.scaling[0];\r\n this.globalExplosionOffset[1] /= this.scaling[1];\r\n this.globalExplosionOffset[2] /= this.scaling[2];\r\n }\r\n\r\n /** Carbon EveChildExplosion::RegisterComponents (cpp:45-48): base container\r\n * registration only. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n super.RegisterComponents();\r\n }\r\n\r\n /** Carbon EveChildExplosion::UnRegisterComponents (cpp:54-65): manually\r\n * un-registers the global explosion container (spawned outside m_objects,\r\n * JS field generatedGlobalExplosions), then the base container forwarding. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n if (this.generatedGlobalExplosions)\r\n {\r\n this.generatedGlobalExplosions.UnRegister(this.GetComponentRegistry());\r\n }\r\n super.UnRegisterComponents();\r\n }\r\n\r\n /** Carbon method Play (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n Play()\r\n {\r\n this.Stop();\r\n if (!this.localExplosion && !this.globalExplosion && !this.localExplosions.length && !this.globalExplosions.length) return false;\r\n this.#nextLocalExplosionTime = this.localExplosionDelay;\r\n this.#nextLocalExplosion = 0;\r\n if (this.localExplosionShared) this.objects.push(this.localExplosionShared);\r\n // Carbon collects the shared subgraph right here (cpp:82), so every\r\n // later spawn's copy can alias rather than duplicate it.\r\n this.FindSharedObjects();\r\n this.#CalculateExplosionTimes(this.localExplosionTransforms.length);\r\n this.playTime = 0;\r\n this.#countdownToGlobalExplosionStart = this.globalExplosionTime;\r\n this.RebuildLocalTransform?.();\r\n this.isPlaying = true;\r\n return true;\r\n }\r\n\r\n /** Carbon method Stop (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n Stop()\r\n {\r\n this.objects.length = 0;\r\n this.isPlaying = false;\r\n this.globalExplosionInstances.length = 0;\r\n this.generatedGlobalExplosions = null;\r\n }\r\n\r\n @impl.adapted\r\n /**\r\n * Advances play time, spawns due local explosions and switches to wreck-only mode past the wreck-switch time, fires the global explosion batch once its countdown elapses, updates the children, and stops once the total duration passes.\r\n */\r\n UpdateSyncronous(updateContext, params = {})\r\n {\r\n if (!this.isPlaying) return;\r\n const deltaTime = Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaTime ?? 0);\r\n this.playTime += deltaTime;\r\n if (this.localExplosion || this.localExplosions.length)\r\n {\r\n if (this.wreckSwitchTime > 0 && this.playTime > this.wreckSwitchTime && this.globalDuration > 0)\r\n {\r\n this.#nextLocalExplosion = this.localExplosionTransforms.length;\r\n this.objects = this.objects.filter(object => object === this.generatedGlobalExplosions || object === this.localExplosionShared);\r\n }\r\n while (this.#nextLocalExplosionTime < deltaTime && this.#nextLocalExplosion < this.localExplosionTransforms.length)\r\n {\r\n this.#SpawnLocalExplosion(this.localExplosionTransforms[this.#nextLocalExplosion]);\r\n this.#nextLocalExplosion++;\r\n if (this.#nextLocalExplosion < this.localExplosionTransforms.length)\r\n {\r\n this.#nextLocalExplosionTime = this.#localExplosionTimes[this.#nextLocalExplosion];\r\n }\r\n }\r\n this.#nextLocalExplosionTime -= deltaTime;\r\n }\r\n if (this.globalExplosion || this.globalExplosions.length)\r\n {\r\n this.#countdownToGlobalExplosionStart -= deltaTime;\r\n if (this.#countdownToGlobalExplosionStart < 0 && !this.globalExplosionInstances.length) this.#SpawnGlobalExplosions();\r\n }\r\n for (const object of this.objects) object?.UpdateSyncronous(updateContext, params);\r\n if (this.playTime > this.totalDuration) this.Stop();\r\n }\r\n\r\n /**\r\n * Randomises a delay per local explosion, scaled by an interval factor raised to its index, and derives the global start, total duration and wreck-switch times from the accumulated delays.\r\n */\r\n #CalculateExplosionTimes(localExplosionCount)\r\n {\r\n this.#localExplosionTimes.length = 0;\r\n let timeUntilLastLocalExplosion = localExplosionCount ? this.localExplosionDelay : 0;\r\n this.globalExplosionTime = localExplosionCount ? this.globalExplosionDelay : 0;\r\n for (let i = 0; i < localExplosionCount; i++)\r\n {\r\n const explosionTime = this.localExplosionIntervalFactor ** i * this.localExplosionInterval * Math.random();\r\n this.#localExplosionTimes.push(explosionTime);\r\n timeUntilLastLocalExplosion += explosionTime;\r\n }\r\n this.globalExplosionTime += timeUntilLastLocalExplosion;\r\n this.totalDuration = Math.max(this.localDuration + timeUntilLastLocalExplosion, this.globalExplosionTime + this.globalDuration);\r\n this.wreckSwitchTime = this.globalExplosionTime + this.wreckSwitchOffsetFromGlobalStart;\r\n }\r\n\r\n /**\r\n * Carbon SpawnLocalExplosion (EveChildExplosion.cpp:456-481): decompose the\r\n * authored transform, copy a chosen source through the shared-preserving\r\n * copier (BeClasses->CopyTo with the CopyElement override and the\r\n * UpdateEmitter post-copy), set the copy up and track it.\r\n */\r\n #SpawnLocalExplosion(transform)\r\n {\r\n const source = this.localExplosions.length\r\n ? this.localExplosions[Math.floor(Math.random() * this.localExplosions.length)]\r\n : this.localExplosion;\r\n if (!source) return;\r\n const scale = mat4.getScaling(vec3.create(), transform);\r\n const rotation = mat4.getRotation(quat.create(), transform);\r\n const position = mat4.getTranslation(vec3.create(), transform);\r\n const instance = this.#CopyLocalExplosion(source, { position, rotation });\r\n if (!instance) return;\r\n instance.Setup?.(scale, rotation, position, 0);\r\n this.objects.push(instance);\r\n }\r\n\r\n /**\r\n * Carbon FindSharedObjects (EveChildExplosion.cpp:319-388): iterative DFS\r\n * from localExplosionShared collecting every reachable object into\r\n * #sharedObjects. Carbon walks the Blue member table for PERSIST\r\n * IROOT/IROOTPTR entries plus IList elements and IBlueDict values; the\r\n * CjsSchema field table is that member table here, and list fields ARE the\r\n * IList arm (this runtime's containers are fields, not container objects).\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n FindSharedObjects()\r\n {\r\n this.#sharedObjects.clear();\r\n if (!this.localExplosionShared) return;\r\n\r\n const stack = [ this.localExplosionShared ];\r\n while (stack.length)\r\n {\r\n const node = stack.pop();\r\n if (!node || typeof node !== \"object\" || this.#sharedObjects.has(node)) continue;\r\n this.#sharedObjects.add(node);\r\n\r\n const fields = CjsSchema.getSchema(node.constructor)?.fields ?? [];\r\n for (const field of fields)\r\n {\r\n if (!field.io?.persist) continue;\r\n const kind = field.type?.kind;\r\n const value = node[field.name];\r\n if ((kind === \"model\" || kind === \"objectRef\") && value)\r\n {\r\n stack.push(value);\r\n }\r\n else if (kind === \"list\" && Array.isArray(value))\r\n {\r\n for (const item of value)\r\n {\r\n if (item && typeof item === \"object\") stack.push(item);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Carbon CopyElement (EveChildExplosion.cpp:401-421), the ICopier override:\r\n * a node in the shared set is ALIASED into the copy rather than duplicated\r\n * (Carbon relocks the pointer; JS aliases the reference), anything else\r\n * falls back to the ordinary copier. Returns the object to use, or\r\n * undefined for FALLBACK.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's ICopier callback writes an out-pointer and returns an OverrideResult; JS returns the alias or undefined-for-FALLBACK.\")\r\n CopyElement(source)\r\n {\r\n return this.#sharedObjects.has(source) ? source : undefined;\r\n }\r\n\r\n /**\r\n * Carbon UpdateEmitter (EveChildExplosion.cpp:428-448), the post-copy\r\n * callback: a copied Tr2SphereShapeAttributeGenerator gets its transform\r\n * rebased into the explosion's frame so shared particle systems keep\r\n * working. TRANSCRIBED ODDITY: the donor's hand-rolled sandwich composes\r\n * to conj(rot) * position * rot - the INVERSE of Carbon's own canonical\r\n * TriVectorRotateQuaternion (q v q~, TriMath.cpp) - and is carried exactly\r\n * as written; a corrected port stops being evidence.\r\n *\r\n * Static in Carbon (a C callback), camelCase here by the statics rule.\r\n */\r\n static updateEmitter(dest, transform)\r\n {\r\n if (!(dest instanceof Tr2SphereShapeAttributeGenerator)) return;\r\n\r\n const position = vec3.create();\r\n const rotation = quat.create();\r\n dest.GetTransform(position, rotation);\r\n\r\n const conjugate = quat.conjugate(quat.create(), transform.rotation);\r\n const pure = quat.set(quat.create(), position[0], position[1], position[2], 0);\r\n // XMQuaternionMultiply(a, b) is b*a, so the donor's nesting is\r\n // conj * position * rot in Hamilton order.\r\n const sandwich = quat.multiply(quat.create(), quat.multiply(quat.create(), conjugate, pure), transform.rotation);\r\n vec3.set(position, sandwich[0], sandwich[1], sandwich[2]);\r\n\r\n // rotation' = XMQuaternionMultiply(transform.rotation, rotation)\r\n // = rotation * transform.rotation in Hamilton order.\r\n quat.multiply(rotation, rotation, transform.rotation);\r\n\r\n dest.SetTransform(vec3.add(position, position, transform.position), rotation);\r\n }\r\n\r\n /**\r\n * The CopyTo call SpawnLocalExplosion makes (cpp:474): a deep copy of the\r\n * source graph in which CopyElement's shared aliases survive and every\r\n * copied node passes through UpdateEmitter. CjsModel.Clone rehydrates\r\n * through plain value bags and cannot alias, so the copy walks the schema\r\n * directly: persisted reference fields recurse, everything else takes the\r\n * clone-by-values path per node.\r\n */\r\n #CopyLocalExplosion(source, transform, copies = new Map())\r\n {\r\n if (!source || typeof source !== \"object\") return source;\r\n\r\n const aliased = this.CopyElement(source);\r\n if (aliased !== undefined) return aliased;\r\n if (copies.has(source)) return copies.get(source);\r\n\r\n if (typeof source.constructor !== \"function\" || !CjsSchema.getSchema(source.constructor)?.fields?.length)\r\n {\r\n // A schema-less duck (a host-supplied effect source) cannot be walked;\r\n // its own Clone is the ordinary-copier arm for it, passthrough failing\r\n // that. Shared aliasing above still applies to it.\r\n return typeof source.Clone === \"function\" ? source.Clone() : source;\r\n }\r\n\r\n const copy = new source.constructor();\r\n copies.set(source, copy);\r\n\r\n for (const field of CjsSchema.getSchema(source.constructor).fields)\r\n {\r\n if (!field.io?.persist) continue;\r\n const kind = field.type?.kind;\r\n const value = source[field.name];\r\n if (value === undefined) continue;\r\n\r\n if (kind === \"model\" || kind === \"objectRef\")\r\n {\r\n copy[field.name] = this.#CopyLocalExplosion(value, transform, copies);\r\n }\r\n else if (kind === \"list\" && Array.isArray(value))\r\n {\r\n copy[field.name] = value.map(item => this.#CopyLocalExplosion(item, transform, copies));\r\n }\r\n else if (ArrayBuffer.isView(value))\r\n {\r\n copy[field.name] = value.slice();\r\n }\r\n else if (Array.isArray(value))\r\n {\r\n copy[field.name] = value.map(item => ArrayBuffer.isView(item) ? item.slice() : item);\r\n }\r\n else\r\n {\r\n copy[field.name] = value;\r\n }\r\n }\r\n\r\n EveChildExplosion.updateEmitter(copy, transform);\r\n return copy;\r\n }\r\n\r\n /**\r\n * Clones the global explosion sources into a newly positioned and scaled container child, tracks the instances, and adds the container to the objects.\r\n */\r\n #SpawnGlobalExplosions()\r\n {\r\n const sources = this.globalExplosion ? [this.globalExplosion] : this.globalExplosions;\r\n const container = new EveChildContainer();\r\n container.Setup(this.globalScaling, quat.create(), this.globalExplosionOffset, 0);\r\n for (const source of sources)\r\n {\r\n const instance = source?.Clone?.() ?? source;\r\n if (!instance) continue;\r\n container.objects.push(instance);\r\n this.globalExplosionInstances.push(instance);\r\n }\r\n this.generatedGlobalExplosions = container;\r\n this.objects.push(container);\r\n }\r\n\r\n}\r\n"],"names":["_EveChildExplosion","EveChildExplosion","EveChildContainer","e","_init_localExplosionTransforms","_init_extra_localExplosionTransforms","_init_globalExplosionOffset","_init_extra_globalExplosionOffset","_init_globalExplosionInstances","_init_extra_globalExplosionInstances","_init_generatedGlobalExplosions","_init_extra_generatedGlobalExplosions","_init_localScaling","_init_extra_localScaling","_init_globalScaling","_init_extra_globalScaling","_init_globalExplosion","_init_extra_globalExplosion","_init_localExplosion","_init_extra_localExplosion","_init_localExplosionShared","_init_extra_localExplosionShared","_init_globalExplosions","_init_extra_globalExplosions","_init_localExplosionIntervalFactor","_init_extra_localExplosionIntervalFactor","_init_localExplosionDelay","_init_extra_localExplosionDelay","_init_globalExplosionDelay","_init_extra_globalExplosionDelay","_init_totalDuration","_init_extra_totalDuration","_init_globalDuration","_init_extra_globalDuration","_init_isPlaying","_init_extra_isPlaying","_init_localExplosions","_init_extra_localExplosions","_init_localExplosionInterval","_init_extra_localExplosionInterval","_init_globalExplosionTime","_init_extra_globalExplosionTime","_init_wreckSwitchTime","_init_extra_wreckSwitchTime","_init_wreckSwitchOffsetFromGlobalStart","_init_extra_wreckSwitchOffsetFromGlobalStart","_init_playTime","_init_extra_playTime","_init_localDuration","_init_extra_localDuration","_initProto","c","_initClass","_applyDecs","type","define","className","family","array","vec3","list","io","read","objectRef","persist","model","float32","boolean","readwrite","carbon","method","impl","implemented","adapted","reason","constructor","args","Set","localExplosionTransforms","globalExplosionOffset","create","globalExplosionInstances","generatedGlobalExplosions","localScaling","fromValues","globalScaling","globalExplosion","localExplosion","localExplosionShared","globalExplosions","localExplosionIntervalFactor","localExplosionDelay","globalExplosionDelay","totalDuration","globalDuration","isPlaying","localExplosions","localExplosionInterval","globalExplosionTime","wreckSwitchTime","wreckSwitchOffsetFromGlobalStart","playTime","localDuration","SetLocalExplosionTransforms","transforms","Array","from","transform","mat4","clone","SetGlobalExplosionOffset","offset","copy","scaling","RegisterComponents","UnRegisterComponents","UnRegister","GetComponentRegistry","Play","Stop","length","objects","push","FindSharedObjects","RebuildLocalTransform","UpdateSyncronous","updateContext","params","deltaTime","Number","GetDeltaT","filter","object","#CalculateExplosionTimes","localExplosionCount","timeUntilLastLocalExplosion","i","explosionTime","Math","random","max","#SpawnLocalExplosion","source","floor","scale","getScaling","rotation","getRotation","quat","position","getTranslation","instance","Setup","clear","stack","node","pop","has","add","fields","CjsSchema","getSchema","field","kind","value","name","isArray","item","CopyElement","undefined","updateEmitter","dest","Tr2SphereShapeAttributeGenerator","GetTransform","conjugate","pure","set","sandwich","multiply","SetTransform","#CopyLocalExplosion","copies","Map","aliased","get","Clone","map","ArrayBuffer","isView","slice","#SpawnGlobalExplosions","sources","container"],"mappings":"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"}
1
+ {"version":3,"file":"EveChildExplosion.js","sources":["../../../../../src/trinity/eve/child/EveChildExplosion.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildExplosion.h\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildExplosion.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { CjsSchema, carbon, impl, edit, type } from \"#schema\";\r\nimport { EveChildContainer } from \"./EveChildContainer.js\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { Tr2SphereShapeAttributeGenerator } from \"../../particle/attribute/Tr2SphereShapeAttributeGenerator.js\";\r\n\r\n/** A container child that sequences and spawns local and global explosion instances over time from authored transforms and delays. */\r\n@type.define({ className: \"EveChildExplosion\", family: \"eve/child\" })\r\nexport class EveChildExplosion extends EveChildContainer\r\n{\r\n\r\n #countdownToGlobalExplosionStart = 0;\r\n\r\n /** m_sharedObjects - the aliased-through-copies subgraph (cpp:319). */\r\n #sharedObjects = new Set();\r\n\r\n #localExplosionTimes = [];\r\n\r\n #nextLocalExplosion = 0;\r\n\r\n #nextLocalExplosionTime = 0;\r\n\r\n @type.array(\"mat4\")\r\n localExplosionTransforms = [];\r\n\r\n @type.vec3\r\n globalExplosionOffset = vec3.create();\r\n\r\n @type.list(\"IEveSpaceObjectChild\")\r\n globalExplosionInstances = [];\r\n\r\n /** m_globalExplosionContainer (EveChildContainerPtr) [READ] */\r\n @edit.read\r\n @type.objectRef(\"EveChildContainer\")\r\n generatedGlobalExplosions = null;\r\n\r\n /** m_localExplosionScaling (Vector3) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.vec3\r\n localScaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_globalExplosionScaling (Vector3) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.vec3\r\n globalScaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_globalExplosion (IEveSpaceObjectChildPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"IEveSpaceObjectChild\")\r\n globalExplosion = null;\r\n\r\n /** m_localExplosion (IEveSpaceObjectChildPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"IEveSpaceObjectChild\")\r\n localExplosion = null;\r\n\r\n /** m_localExplosionShared (IEveSpaceObjectChildPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"IEveSpaceObjectChild\")\r\n localExplosionShared = null;\r\n\r\n /** m_globalExplosions (PIEveSpaceObjectChildVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"IEveSpaceObjectChild\")\r\n globalExplosions = [];\r\n\r\n /** m_localExplosionIntervalFactor (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n localExplosionIntervalFactor = 1;\r\n\r\n /** m_localExplosionDelay (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n localExplosionDelay = 0;\r\n\r\n /** m_globalExplosionDelay (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n globalExplosionDelay = 0;\r\n\r\n /** m_totalDuration (float) [READ] */\r\n @edit.read\r\n @type.float32\r\n totalDuration = 0;\r\n\r\n /** m_globalDuration (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n globalDuration = 0;\r\n\r\n /** m_isPlaying (bool) [READ] */\r\n @edit.read\r\n @type.boolean\r\n isPlaying = false;\r\n\r\n /** m_localExplosions (PIEveSpaceObjectChildVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"IEveSpaceObjectChild\")\r\n localExplosions = [];\r\n\r\n /** m_localExplosionInterval (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n localExplosionInterval = 1;\r\n\r\n /** m_globalExplosionTime (float) [READ] */\r\n @edit.read\r\n @type.float32\r\n globalExplosionTime = 0;\r\n\r\n /** m_wreckSwitchTime (float) [READ] */\r\n @edit.read\r\n @type.float32\r\n wreckSwitchTime = 0;\r\n\r\n /** m_wreckSwitchOffsetFromGlobalStart (float) [READWRITE] */\r\n @edit.readwrite\r\n @type.float32\r\n wreckSwitchOffsetFromGlobalStart = 0;\r\n\r\n /** m_playTime (float) [READ] */\r\n @edit.read\r\n @type.float32\r\n playTime = 0;\r\n\r\n /** m_localDuration (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n localDuration = 0;\r\n\r\n /** Carbon method SetLocalExplosionTransforms (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetLocalExplosionTransforms(transforms)\r\n {\r\n this.localExplosionTransforms = Array.from(transforms ?? [], transform => mat4.clone(transform));\r\n }\r\n\r\n /** Carbon method SetGlobalExplosionOffset (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetGlobalExplosionOffset(offset)\r\n {\r\n vec3.copy(this.globalExplosionOffset, offset);\r\n this.globalExplosionOffset[0] /= this.scaling[0];\r\n this.globalExplosionOffset[1] /= this.scaling[1];\r\n this.globalExplosionOffset[2] /= this.scaling[2];\r\n }\r\n\r\n /** Carbon EveChildExplosion::RegisterComponents (cpp:45-48): base container\r\n * registration only. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n super.RegisterComponents();\r\n }\r\n\r\n /** Carbon EveChildExplosion::UnRegisterComponents (cpp:54-65): manually\r\n * un-registers the global explosion container (spawned outside m_objects,\r\n * JS field generatedGlobalExplosions), then the base container forwarding. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n if (this.generatedGlobalExplosions)\r\n {\r\n this.generatedGlobalExplosions.UnRegister(this.GetComponentRegistry());\r\n }\r\n super.UnRegisterComponents();\r\n }\r\n\r\n /** Carbon method Play (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n Play()\r\n {\r\n this.Stop();\r\n if (!this.localExplosion && !this.globalExplosion && !this.localExplosions.length && !this.globalExplosions.length) return false;\r\n this.#nextLocalExplosionTime = this.localExplosionDelay;\r\n this.#nextLocalExplosion = 0;\r\n if (this.localExplosionShared) this.objects.push(this.localExplosionShared);\r\n // Carbon collects the shared subgraph right here (cpp:82), so every\r\n // later spawn's copy can alias rather than duplicate it.\r\n this.FindSharedObjects();\r\n this.#CalculateExplosionTimes(this.localExplosionTransforms.length);\r\n this.playTime = 0;\r\n this.#countdownToGlobalExplosionStart = this.globalExplosionTime;\r\n this.RebuildLocalTransform?.();\r\n this.isPlaying = true;\r\n return true;\r\n }\r\n\r\n /** Carbon method Stop (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n Stop()\r\n {\r\n this.objects.length = 0;\r\n this.isPlaying = false;\r\n this.globalExplosionInstances.length = 0;\r\n this.generatedGlobalExplosions = null;\r\n }\r\n\r\n @impl.adapted\r\n /**\r\n * Advances play time, spawns due local explosions and switches to wreck-only mode past the wreck-switch time, fires the global explosion batch once its countdown elapses, updates the children, and stops once the total duration passes.\r\n */\r\n UpdateSyncronous(updateContext, params = {})\r\n {\r\n if (!this.isPlaying) return;\r\n const deltaTime = Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaTime ?? 0);\r\n this.playTime += deltaTime;\r\n if (this.localExplosion || this.localExplosions.length)\r\n {\r\n if (this.wreckSwitchTime > 0 && this.playTime > this.wreckSwitchTime && this.globalDuration > 0)\r\n {\r\n this.#nextLocalExplosion = this.localExplosionTransforms.length;\r\n this.objects = this.objects.filter(object => object === this.generatedGlobalExplosions || object === this.localExplosionShared);\r\n }\r\n while (this.#nextLocalExplosionTime < deltaTime && this.#nextLocalExplosion < this.localExplosionTransforms.length)\r\n {\r\n this.#SpawnLocalExplosion(this.localExplosionTransforms[this.#nextLocalExplosion]);\r\n this.#nextLocalExplosion++;\r\n if (this.#nextLocalExplosion < this.localExplosionTransforms.length)\r\n {\r\n this.#nextLocalExplosionTime = this.#localExplosionTimes[this.#nextLocalExplosion];\r\n }\r\n }\r\n this.#nextLocalExplosionTime -= deltaTime;\r\n }\r\n if (this.globalExplosion || this.globalExplosions.length)\r\n {\r\n this.#countdownToGlobalExplosionStart -= deltaTime;\r\n if (this.#countdownToGlobalExplosionStart < 0 && !this.globalExplosionInstances.length) this.#SpawnGlobalExplosions();\r\n }\r\n for (const object of this.objects) object?.UpdateSyncronous(updateContext, params);\r\n if (this.playTime > this.totalDuration) this.Stop();\r\n }\r\n\r\n /**\r\n * Randomises a delay per local explosion, scaled by an interval factor raised to its index, and derives the global start, total duration and wreck-switch times from the accumulated delays.\r\n */\r\n #CalculateExplosionTimes(localExplosionCount)\r\n {\r\n this.#localExplosionTimes.length = 0;\r\n let timeUntilLastLocalExplosion = localExplosionCount ? this.localExplosionDelay : 0;\r\n this.globalExplosionTime = localExplosionCount ? this.globalExplosionDelay : 0;\r\n for (let i = 0; i < localExplosionCount; i++)\r\n {\r\n const explosionTime = this.localExplosionIntervalFactor ** i * this.localExplosionInterval * Math.random();\r\n this.#localExplosionTimes.push(explosionTime);\r\n timeUntilLastLocalExplosion += explosionTime;\r\n }\r\n this.globalExplosionTime += timeUntilLastLocalExplosion;\r\n this.totalDuration = Math.max(this.localDuration + timeUntilLastLocalExplosion, this.globalExplosionTime + this.globalDuration);\r\n this.wreckSwitchTime = this.globalExplosionTime + this.wreckSwitchOffsetFromGlobalStart;\r\n }\r\n\r\n /**\r\n * Carbon SpawnLocalExplosion (EveChildExplosion.cpp:456-481): decompose the\r\n * authored transform, copy a chosen source through the shared-preserving\r\n * copier (BeClasses->CopyTo with the CopyElement override and the\r\n * UpdateEmitter post-copy), set the copy up and track it.\r\n */\r\n #SpawnLocalExplosion(transform)\r\n {\r\n const source = this.localExplosions.length\r\n ? this.localExplosions[Math.floor(Math.random() * this.localExplosions.length)]\r\n : this.localExplosion;\r\n if (!source) return;\r\n const scale = mat4.getScaling(vec3.create(), transform);\r\n const rotation = mat4.getRotation(quat.create(), transform);\r\n const position = mat4.getTranslation(vec3.create(), transform);\r\n const instance = this.#CopyLocalExplosion(source, { position, rotation });\r\n if (!instance) return;\r\n instance.Setup?.(scale, rotation, position, 0);\r\n this.objects.push(instance);\r\n }\r\n\r\n /**\r\n * Carbon FindSharedObjects (EveChildExplosion.cpp:319-388): iterative DFS\r\n * from localExplosionShared collecting every reachable object into\r\n * #sharedObjects. Carbon walks the Blue member table for PERSIST\r\n * IROOT/IROOTPTR entries plus IList elements and IBlueDict values; the\r\n * CjsSchema field table is that member table here, and list fields ARE the\r\n * IList arm (this runtime's containers are fields, not container objects).\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n FindSharedObjects()\r\n {\r\n this.#sharedObjects.clear();\r\n if (!this.localExplosionShared) return;\r\n\r\n const stack = [ this.localExplosionShared ];\r\n while (stack.length)\r\n {\r\n const node = stack.pop();\r\n if (!node || typeof node !== \"object\" || this.#sharedObjects.has(node)) continue;\r\n this.#sharedObjects.add(node);\r\n\r\n const fields = CjsSchema.getSchema(node.constructor)?.fields ?? [];\r\n for (const field of fields)\r\n {\r\n if (!field.edit?.persist) continue;\r\n const kind = field.type?.kind;\r\n const value = node[field.name];\r\n if ((kind === \"model\" || kind === \"objectRef\") && value)\r\n {\r\n stack.push(value);\r\n }\r\n else if (kind === \"list\" && Array.isArray(value))\r\n {\r\n for (const item of value)\r\n {\r\n if (item && typeof item === \"object\") stack.push(item);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Carbon CopyElement (EveChildExplosion.cpp:401-421), the ICopier override:\r\n * a node in the shared set is ALIASED into the copy rather than duplicated\r\n * (Carbon relocks the pointer; JS aliases the reference), anything else\r\n * falls back to the ordinary copier. Returns the object to use, or\r\n * undefined for FALLBACK.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's ICopier callback writes an out-pointer and returns an OverrideResult; JS returns the alias or undefined-for-FALLBACK.\")\r\n CopyElement(source)\r\n {\r\n return this.#sharedObjects.has(source) ? source : undefined;\r\n }\r\n\r\n /**\r\n * Carbon UpdateEmitter (EveChildExplosion.cpp:428-448), the post-copy\r\n * callback: a copied Tr2SphereShapeAttributeGenerator gets its transform\r\n * rebased into the explosion's frame so shared particle systems keep\r\n * working. TRANSCRIBED ODDITY: the donor's hand-rolled sandwich composes\r\n * to conj(rot) * position * rot - the INVERSE of Carbon's own canonical\r\n * TriVectorRotateQuaternion (q v q~, TriMath.cpp) - and is carried exactly\r\n * as written; a corrected port stops being evidence.\r\n *\r\n * Static in Carbon (a C callback), camelCase here by the statics rule.\r\n */\r\n static updateEmitter(dest, transform)\r\n {\r\n // Carbon casts and skips - BlueCastPtr to Tr2SphereShapeAttributeGeneratorPtr,\n // EveChildExplosion.cpp:438 - because the copier hands this every member of\n // the cloned graph, not only the emitters.\n const generator = CjsSchema.cast(dest, Tr2SphereShapeAttributeGenerator);\n if (!generator) return;\r\n\r\n const position = vec3.create();\r\n const rotation = quat.create();\r\n generator.GetTransform(position, rotation);\r\n\r\n const conjugate = quat.conjugate(quat.create(), transform.rotation);\r\n const pure = quat.set(quat.create(), position[0], position[1], position[2], 0);\r\n // XMQuaternionMultiply(a, b) is b*a, so the donor's nesting is\r\n // conj * position * rot in Hamilton order.\r\n const sandwich = quat.multiply(quat.create(), quat.multiply(quat.create(), conjugate, pure), transform.rotation);\r\n vec3.set(position, sandwich[0], sandwich[1], sandwich[2]);\r\n\r\n // rotation' = XMQuaternionMultiply(transform.rotation, rotation)\r\n // = rotation * transform.rotation in Hamilton order.\r\n quat.multiply(rotation, rotation, transform.rotation);\r\n\r\n generator.SetTransform(vec3.add(position, position, transform.position), rotation);\r\n }\r\n\r\n /**\r\n * The CopyTo call SpawnLocalExplosion makes (cpp:474): a deep copy of the\r\n * source graph in which CopyElement's shared aliases survive and every\r\n * copied node passes through UpdateEmitter. CjsModel.Clone rehydrates\r\n * through plain value bags and cannot alias, so the copy walks the schema\r\n * directly: persisted reference fields recurse, everything else takes the\r\n * clone-by-values path per node.\r\n */\r\n #CopyLocalExplosion(source, transform, copies = new Map())\r\n {\r\n if (!source || typeof source !== \"object\") return source;\r\n\r\n const aliased = this.CopyElement(source);\r\n if (aliased !== undefined) return aliased;\r\n if (copies.has(source)) return copies.get(source);\r\n\r\n if (typeof source.constructor !== \"function\" || !CjsSchema.getSchema(source.constructor)?.fields?.length)\r\n {\r\n // A schema-less duck (a host-supplied effect source) cannot be walked;\r\n // its own Clone is the ordinary-copier arm for it, passthrough failing\r\n // that. Shared aliasing above still applies to it.\r\n return typeof source.Clone === \"function\" ? source.Clone() : source;\r\n }\r\n\r\n const copy = new source.constructor();\r\n copies.set(source, copy);\r\n\r\n for (const field of CjsSchema.getSchema(source.constructor).fields)\r\n {\r\n if (!field.edit?.persist) continue;\r\n const kind = field.type?.kind;\r\n const value = source[field.name];\r\n if (value === undefined) continue;\r\n\r\n if (kind === \"model\" || kind === \"objectRef\")\r\n {\r\n copy[field.name] = this.#CopyLocalExplosion(value, transform, copies);\r\n }\r\n else if (kind === \"list\" && Array.isArray(value))\r\n {\r\n copy[field.name] = value.map(item => this.#CopyLocalExplosion(item, transform, copies));\r\n }\r\n else if (ArrayBuffer.isView(value))\r\n {\r\n copy[field.name] = value.slice();\r\n }\r\n else if (Array.isArray(value))\r\n {\r\n copy[field.name] = value.map(item => ArrayBuffer.isView(item) ? item.slice() : item);\r\n }\r\n else\r\n {\r\n copy[field.name] = value;\r\n }\r\n }\r\n\r\n EveChildExplosion.updateEmitter(copy, transform);\r\n return copy;\r\n }\r\n\r\n /**\r\n * Clones the global explosion sources into a newly positioned and scaled container child, tracks the instances, and adds the container to the objects.\r\n */\r\n #SpawnGlobalExplosions()\r\n {\r\n const sources = this.globalExplosion ? [this.globalExplosion] : this.globalExplosions;\r\n const container = new EveChildContainer();\r\n container.Setup(this.globalScaling, quat.create(), this.globalExplosionOffset, 0);\r\n for (const source of sources)\r\n {\r\n const instance = source?.Clone?.() ?? source;\r\n if (!instance) continue;\r\n container.objects.push(instance);\r\n this.globalExplosionInstances.push(instance);\r\n }\r\n this.generatedGlobalExplosions = container;\r\n this.objects.push(container);\r\n }\r\n\r\n}\r\n"],"names":["_EveChildExplosion","EveChildExplosion","EveChildContainer","e","_init_localExplosionTransforms","_init_extra_localExplosionTransforms","_init_globalExplosionOffset","_init_extra_globalExplosionOffset","_init_globalExplosionInstances","_init_extra_globalExplosionInstances","_init_generatedGlobalExplosions","_init_extra_generatedGlobalExplosions","_init_localScaling","_init_extra_localScaling","_init_globalScaling","_init_extra_globalScaling","_init_globalExplosion","_init_extra_globalExplosion","_init_localExplosion","_init_extra_localExplosion","_init_localExplosionShared","_init_extra_localExplosionShared","_init_globalExplosions","_init_extra_globalExplosions","_init_localExplosionIntervalFactor","_init_extra_localExplosionIntervalFactor","_init_localExplosionDelay","_init_extra_localExplosionDelay","_init_globalExplosionDelay","_init_extra_globalExplosionDelay","_init_totalDuration","_init_extra_totalDuration","_init_globalDuration","_init_extra_globalDuration","_init_isPlaying","_init_extra_isPlaying","_init_localExplosions","_init_extra_localExplosions","_init_localExplosionInterval","_init_extra_localExplosionInterval","_init_globalExplosionTime","_init_extra_globalExplosionTime","_init_wreckSwitchTime","_init_extra_wreckSwitchTime","_init_wreckSwitchOffsetFromGlobalStart","_init_extra_wreckSwitchOffsetFromGlobalStart","_init_playTime","_init_extra_playTime","_init_localDuration","_init_extra_localDuration","_initProto","c","_initClass","_applyDecs","type","define","className","family","array","vec3","list","edit","read","objectRef","persist","model","float32","boolean","readwrite","carbon","method","impl","implemented","adapted","reason","constructor","args","Set","localExplosionTransforms","globalExplosionOffset","create","globalExplosionInstances","generatedGlobalExplosions","localScaling","fromValues","globalScaling","globalExplosion","localExplosion","localExplosionShared","globalExplosions","localExplosionIntervalFactor","localExplosionDelay","globalExplosionDelay","totalDuration","globalDuration","isPlaying","localExplosions","localExplosionInterval","globalExplosionTime","wreckSwitchTime","wreckSwitchOffsetFromGlobalStart","playTime","localDuration","SetLocalExplosionTransforms","transforms","Array","from","transform","mat4","clone","SetGlobalExplosionOffset","offset","copy","scaling","RegisterComponents","UnRegisterComponents","UnRegister","GetComponentRegistry","Play","Stop","length","objects","push","FindSharedObjects","RebuildLocalTransform","UpdateSyncronous","updateContext","params","deltaTime","Number","GetDeltaT","filter","object","#CalculateExplosionTimes","localExplosionCount","timeUntilLastLocalExplosion","i","explosionTime","Math","random","max","#SpawnLocalExplosion","source","floor","scale","getScaling","rotation","getRotation","quat","position","getTranslation","instance","Setup","clear","stack","node","pop","has","add","fields","CjsSchema","getSchema","field","kind","value","name","isArray","item","CopyElement","undefined","updateEmitter","dest","generator","cast","Tr2SphereShapeAttributeGenerator","GetTransform","conjugate","pure","set","sandwich","multiply","SetTransform","#CopyLocalExplosion","copies","Map","aliased","get","Clone","map","ArrayBuffer","isView","slice","#SpawnGlobalExplosions","sources","container"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../..
2
2
  import { mat4 } from '#math/mat4';
3
3
  import { vec3 } from '#math/vec3';
4
4
  import { vec4 } from '#math/vec4';
5
- import { io, type, impl } from '#schema';
5
+ import { edit, type, impl } from '#schema';
6
6
  import { ITr2FroxelFogSettings as _ITr2FroxelFogSetting } from './ITr2FroxelFogSettings.js';
7
7
  import { EveComponentType } from '../EveComponentTypes.js';
8
8
  import { Priority } from '../../generated/postProcess/enums.js';
@@ -52,7 +52,7 @@ new class extends _identity {
52
52
  } = _applyDecs2311(this, [type.define({
53
53
  className: "EveChildFogVolume",
54
54
  family: "eve/child"
55
- })], [[[io, io.persist, type, type.int32, void 0, type.enum("Priority")], 16, "priority"], [[io, io.persist, void 0, type.list("IEveVolume")], 16, "volumes"], [[io, io.read, type, type.vec3], 16, "boundingSphereCenter"], [[io, io.read, type, type.float32], 16, "boundingSphereRadius"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.float32], 16, "intensity"], [[io, io.persist, type, type.float32], 16, "thickness"], [[io, io.persist, type, type.boolean], 16, "thicknessEnabled"], [[io, io.persist, type, type.float32], 16, "lightDirectionality"], [[io, io.persist, type, type.boolean], 16, "lightDirectionalityEnabled"], [[io, io.persist, type, type.float32], 16, "environmentIntensity"], [[io, io.persist, type, type.boolean], 16, "environmentIntensityEnabled"], [[io, io.persist, type, type.float32], 16, "environmentDirectionality"], [[io, io.persist, type, type.boolean], 16, "environmentDirectionalityEnabled"], [[io, io.persist, type, type.color], 16, "fogColor"], [[io, io.persist, type, type.boolean], 16, "fogColorEnabled"], [[io, io.persist, type, type.float32], 16, "backgroundVisibility"], [[io, io.persist, type, type.boolean], 16, "backgroundVisibilityEnabled"], [[io, io.persist, type, type.float32], 16, "godRayNoiseIntensity"], [[io, io.persist, type, type.boolean], 16, "godRayNoiseIntensityEnabled"], [[io, io.persist, type, type.float32], 16, "godRayNoiseFrequency"], [[io, io.persist, type, type.boolean], 16, "godRayNoiseFrequencyEnabled"], [[io, io.persist, type, type.float32], 16, "godRayNoiseAnimationSpeed"], [[io, io.persist, type, type.boolean], 16, "godRayNoiseAnimationSpeedEnabled"], [[io, io.persist, type, type.float32], 16, "fogNoiseIntensity"], [[io, io.persist, type, type.boolean], 16, "fogNoiseIntensityEnabled"], [[io, io.persist, type, type.float32], 16, "fogNoiseFrequency"], [[io, io.persist, type, type.boolean], 16, "fogNoiseFrequencyEnabled"], [[impl, impl.adapted], 18, "RebuildBoundingSphere"], [[impl, impl.implemented], 18, "UpdateTransformFromParent"], [[impl, impl.adapted], 18, "UpdateAsyncronous"], [[impl, impl.adapted, void 0, impl.reason("Carbon's EveChildFogVolume body leaves the out matrix untouched; JavaScript's nominal child consumers require the current world transform and already consume that corrected contract.")], 18, "GetLocalToWorldTransform"], [[impl, impl.implemented], 18, "RegisterComponents"], [[impl, impl.adapted], 18, "GetFroxelFogSettings"]], 0, void 0, _ITr2FroxelFogSetting));
55
+ })], [[[edit, edit.persist, type, type.int32, void 0, type.enum("Priority")], 16, "priority"], [[edit, edit.persist, void 0, type.list("IEveVolume")], 16, "volumes"], [[edit, edit.read, type, type.vec3], 16, "boundingSphereCenter"], [[edit, edit.read, type, type.float32], 16, "boundingSphereRadius"], [[edit, edit.persist, type, type.string], 16, "name"], [[edit, edit.persist, type, type.float32], 16, "intensity"], [[edit, edit.persist, type, type.float32], 16, "thickness"], [[edit, edit.persist, type, type.boolean], 16, "thicknessEnabled"], [[edit, edit.persist, type, type.float32], 16, "lightDirectionality"], [[edit, edit.persist, type, type.boolean], 16, "lightDirectionalityEnabled"], [[edit, edit.persist, type, type.float32], 16, "environmentIntensity"], [[edit, edit.persist, type, type.boolean], 16, "environmentIntensityEnabled"], [[edit, edit.persist, type, type.float32], 16, "environmentDirectionality"], [[edit, edit.persist, type, type.boolean], 16, "environmentDirectionalityEnabled"], [[edit, edit.persist, type, type.color], 16, "fogColor"], [[edit, edit.persist, type, type.boolean], 16, "fogColorEnabled"], [[edit, edit.persist, type, type.float32], 16, "backgroundVisibility"], [[edit, edit.persist, type, type.boolean], 16, "backgroundVisibilityEnabled"], [[edit, edit.persist, type, type.float32], 16, "godRayNoiseIntensity"], [[edit, edit.persist, type, type.boolean], 16, "godRayNoiseIntensityEnabled"], [[edit, edit.persist, type, type.float32], 16, "godRayNoiseFrequency"], [[edit, edit.persist, type, type.boolean], 16, "godRayNoiseFrequencyEnabled"], [[edit, edit.persist, type, type.float32], 16, "godRayNoiseAnimationSpeed"], [[edit, edit.persist, type, type.boolean], 16, "godRayNoiseAnimationSpeedEnabled"], [[edit, edit.persist, type, type.float32], 16, "fogNoiseIntensity"], [[edit, edit.persist, type, type.boolean], 16, "fogNoiseIntensityEnabled"], [[edit, edit.persist, type, type.float32], 16, "fogNoiseFrequency"], [[edit, edit.persist, type, type.boolean], 16, "fogNoiseFrequencyEnabled"], [[impl, impl.adapted], 18, "RebuildBoundingSphere"], [[impl, impl.implemented], 18, "UpdateTransformFromParent"], [[impl, impl.adapted], 18, "UpdateAsyncronous"], [[impl, impl.adapted, void 0, impl.reason("Carbon's EveChildFogVolume body leaves the out matrix untouched; JavaScript's nominal child consumers require the current world transform and already consume that corrected contract.")], 18, "GetLocalToWorldTransform"], [[impl, impl.implemented], 18, "RegisterComponents"], [[impl, impl.adapted], 18, "GetFroxelFogSettings"]], 0, void 0, _ITr2FroxelFogSetting));
56
56
  }
57
57
  constructor(...args) {
58
58
  super(...args);