@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
@@ -5,7 +5,7 @@ import { quat } from '#math/quat';
5
5
  import { sph3 } from '#math/sph3';
6
6
  import { vec3 } from '#math/vec3';
7
7
  import { vec4 } from '#math/vec4';
8
- import { io, type, carbon, impl } from '#schema';
8
+ import { edit, type, carbon, impl } from '#schema';
9
9
  import { ShaderType } from '#consts/render-context';
10
10
  import { EveTransform as _EveTransform } from './EveTransform.js';
11
11
  import { State, StateChangeEvent } from '../../generated/eve/spaceObject/enums.js';
@@ -27,7 +27,7 @@ new class extends _identity {
27
27
  } = _applyDecs2311(this, [type.define({
28
28
  className: "EveMissileWarhead",
29
29
  family: "eve/spaceObject"
30
- })], [[[io, io.persist, type, type.float32], 16, "pathOffsetNoiseScale"], [[io, io.persist, type, type.float32], 16, "pathOffsetNoiseSpeed"], [[io, io.readwrite, type, type.boolean], 16, "startDataValid"], [[io, io.readwrite, type, type.vec3], 16, "pathOffset"], [[io, io.persist, type, type.float32], 16, "maxExplosionDistance"], [[io, io.persist, type, type.float32], 16, "impactDuration"], [[io, io.read, type, type.vec3], 16, "explosionPosition"], [[io, io.persist, type, type.float32], 16, "impactSize"], [[io, io.persist, void 0, type.model("EveSpriteSet")], 16, "spriteSet"], [[io, io.read, type, type.int32], 16, "targetLocatorID"], [[io, io.persist, type, type.float32], 16, "durationEjectPhase"], [[io, io.readwrite, type, type.boolean], 16, "doSpread"], [[io, io.persist, type, type.float32], 16, "acceleration"], [[io, io.readwrite, type, type.int32], 16, "id"], [[io, io.persist, type, type.float32], 16, "startEjectVelocity"], [[io, io.persist, type, type.float32], 16, "warheadLength"], [[io, io.persist, type, type.float32], 16, "warheadRadius"], [[carbon, carbon.method, impl, impl.implemented], 18, "PrepareLaunch"], [[carbon, carbon.method, impl, impl.implemented], 18, "Launch"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateEndTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateState"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Targetable output parameters use the org-standard out-last calling convention.")], 18, "CheckImpact"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's pointer-derived Perlin phase is replaced with a stable per-instance 12-bit sequence.")], 18, "Update"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The CPU flight calculation is source-faithful; current world composition is also published immediately for headless graph consumers.")], 18, "UpdateWarhead"], [[carbon, carbon.method, impl, impl.implemented], 18, "EnableParticleEmitting"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocalBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetCurrentOffsetTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetTargetLocator"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetTargetLocator"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetState"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetWarheadID"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Trinity allocates the catalogued record and encodes its fields into the canonical stored layout; the engine owns GPU allocation, upload, and binding.")], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectDataSize"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdatePerObjectBuffer"]], 0, void 0, _EveTransform));
30
+ })], [[[edit, edit.persist, type, type.float32], 16, "pathOffsetNoiseScale"], [[edit, edit.persist, type, type.float32], 16, "pathOffsetNoiseSpeed"], [[edit, edit.readwrite, type, type.boolean], 16, "startDataValid"], [[edit, edit.readwrite, type, type.vec3], 16, "pathOffset"], [[edit, edit.persist, type, type.float32], 16, "maxExplosionDistance"], [[edit, edit.persist, type, type.float32], 16, "impactDuration"], [[edit, edit.read, type, type.vec3], 16, "explosionPosition"], [[edit, edit.persist, type, type.float32], 16, "impactSize"], [[edit, edit.persist, void 0, type.model("EveSpriteSet")], 16, "spriteSet"], [[edit, edit.read, type, type.int32], 16, "targetLocatorID"], [[edit, edit.persist, type, type.float32], 16, "durationEjectPhase"], [[edit, edit.readwrite, type, type.boolean], 16, "doSpread"], [[edit, edit.persist, type, type.float32], 16, "acceleration"], [[edit, edit.readwrite, type, type.int32], 16, "id"], [[edit, edit.persist, type, type.float32], 16, "startEjectVelocity"], [[edit, edit.persist, type, type.float32], 16, "warheadLength"], [[edit, edit.persist, type, type.float32], 16, "warheadRadius"], [[carbon, carbon.method, impl, impl.implemented], 18, "PrepareLaunch"], [[carbon, carbon.method, impl, impl.implemented], 18, "Launch"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateEndTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateState"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Targetable output parameters use the org-standard out-last calling convention.")], 18, "CheckImpact"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's pointer-derived Perlin phase is replaced with a stable per-instance 12-bit sequence.")], 18, "Update"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The CPU flight calculation is source-faithful; current world composition is also published immediately for headless graph consumers.")], 18, "UpdateWarhead"], [[carbon, carbon.method, impl, impl.implemented], 18, "EnableParticleEmitting"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocalBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetCurrentOffsetTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetTargetLocator"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetTargetLocator"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetState"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetWarheadID"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Trinity allocates the catalogued record and encodes its fields into the canonical stored layout; the engine owns GPU allocation, upload, and binding.")], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectDataSize"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdatePerObjectBuffer"]], 0, void 0, _EveTransform));
31
31
  }
32
32
  pathOffsetNoiseScale = (_initProto(this), _init_pathOffsetNoiseScale(this, 0));
33
33
  pathOffsetNoiseSpeed = (_init_extra_pathOffsetNoiseScale(this), _init_pathOffsetNoiseSpeed(this, 1));
@@ -1 +1 @@
1
- {"version":3,"file":"EveMissileWarhead.js","sources":["../../../../../src/trinity/eve/spaceObject/EveMissileWarhead.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/EveMissileWarhead.h\r\n// Source: trinity/trinity/Eve/SpaceObject/EveMissileWarhead.cpp\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { carbonPerlin1D } from \"#math/noise\";\r\nimport { quat } from \"#math/quat\";\r\nimport { sph3 } from \"#math/sph3\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { ShaderType } from \"#consts/render-context\";\r\nimport { EveTransform } from \"./EveTransform.js\";\r\nimport { State, StateChangeEvent } from \"../../generated/eve/spaceObject/enums.js\";\r\n\r\n\r\n/**\r\n * One warhead of a missile: its launch-to-explosion state machine, the\r\n * noise-perturbed offset path it flies relative to the missile, and the impact\r\n * test against the target.\r\n */\r\n@type.define({ className: \"EveMissileWarhead\", family: \"eve/spaceObject\" })\r\nexport class EveMissileWarhead extends EveTransform\r\n{\r\n @io.persist @type.float32 pathOffsetNoiseScale = 0;\r\n @io.persist @type.float32 pathOffsetNoiseSpeed = 1;\r\n @io.readwrite @type.boolean startDataValid = false;\r\n @io.readwrite @type.vec3 pathOffset = vec3.create();\r\n @io.persist @type.float32 maxExplosionDistance = 40;\r\n @io.persist @type.float32 impactDuration = 0.6;\r\n @io.read @type.vec3 explosionPosition = vec3.create();\r\n @io.persist @type.float32 impactSize = 0;\r\n @io.persist @type.model(\"EveSpriteSet\") spriteSet = null;\r\n @io.read @type.int32 targetLocatorID = -1;\r\n @io.persist @type.float32 durationEjectPhase = 0;\r\n @io.readwrite @type.boolean doSpread = true;\r\n @io.persist @type.float32 acceleration = 1;\r\n @io.readwrite @type.int32 id = -1;\r\n @io.persist @type.float32 startEjectVelocity = 0;\r\n @io.persist @type.float32 warheadLength = 1;\r\n @io.persist @type.float32 warheadRadius = 1;\r\n\r\n #state = EveMissileWarhead.State.STATE_DELAYED;\r\n #flyingTime = 0;\r\n #movement = vec3.create();\r\n #positionLastFrame = vec3.create();\r\n #lastRelativePosition = vec3.create();\r\n #currentStartOffset = vec3.create();\r\n #startOrientation = quat.create();\r\n #oldEndOffset = vec3.create();\r\n #currentEndOffset = vec3.create();\r\n #endOffset = vec3.create();\r\n #currentOffset = vec3.create();\r\n #currentOrientation = quat.create();\r\n #currentEjectVelocity = 0;\r\n #currentDurationEjectPhase = 0;\r\n #currentOffsetTransform = mat4.create();\r\n #finalDestinationTimer = 0;\r\n #finalTargetTime = 0.75 - Math.random() * 0.1;\r\n #speedModifier = 1.04 - Math.random() * 0.08;\r\n #explosionDistance = 0;\r\n #bombFlightpath = false;\r\n #lastPositionValid = false;\r\n #noisePhase = EveMissileWarhead.#nextNoisePhase++ & 0xfff;\r\n #isVisible = true;\r\n\r\n /**\r\n * Resets the warhead to its pre-launch state and re-rolls the randomized\r\n * explosion distance, speed modifier and final-target timing that vary this\r\n * flight.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n PrepareLaunch()\r\n {\r\n this.#currentEjectVelocity = this.startEjectVelocity;\r\n this.#currentDurationEjectPhase = this.durationEjectPhase;\r\n const distance = this.maxExplosionDistance - Math.random() * this.maxExplosionDistance * 0.5;\r\n this.#explosionDistance = distance * distance;\r\n this.#state = EveMissileWarhead.State.STATE_DELAYED;\r\n this.#flyingTime = 0;\r\n vec3.set(this.#currentStartOffset, 0, 0, 0);\r\n quat.identity(this.#startOrientation);\r\n this.startDataValid = false;\r\n vec3.set(this.#oldEndOffset, 0, 0, 0);\r\n vec3.set(this.#currentEndOffset, 0, 0, 0);\r\n vec3.set(this.#endOffset, 0, 0, 0);\r\n vec3.set(this.#currentOffset, 0, 0, 0);\r\n quat.identity(this.#currentOrientation);\r\n this.#finalDestinationTimer = 0;\r\n this.targetLocatorID = -1;\r\n vec3.set(this.explosionPosition, 0, 0, 0);\r\n mat4.identity(this.#currentOffsetTransform);\r\n this.#speedModifier = 1.04 - Math.random() * 0.08;\r\n this.#finalTargetTime = 0.75 - Math.random() * 0.1;\r\n this.#bombFlightpath = false;\r\n this.#lastPositionValid = false;\r\n }\r\n\r\n /**\r\n * Latches the launch transform as the warhead's start offset and orientation\r\n * and marks the start data valid, which releases the state machine from its\r\n * delayed state.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Launch(startTransform)\r\n {\r\n mat4.getRotation(this.#startOrientation, startTransform);\r\n vec3.set(this.#currentStartOffset, startTransform[12], startTransform[13], startTransform[14]);\r\n quat.copy(this.#currentOrientation, this.#startOrientation);\r\n vec3.copy(this.#currentOffset, this.#currentStartOffset);\r\n this.startDataValid = true;\r\n this.#lastPositionValid = false;\r\n }\r\n\r\n /**\r\n * Sets the destination offset the warhead flies toward; on a target switch it\r\n * also snapshots the previous destination and flight time so the change is\r\n * blended in rather than snapped.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateEndTransform(endTransform, switchLocators)\r\n {\r\n vec3.set(this.#endOffset, endTransform[12], endTransform[13], endTransform[14]);\r\n if (switchLocators)\r\n {\r\n this.#finalDestinationTimer = this.#flyingTime;\r\n vec3.copy(this.#oldEndOffset, this.#currentEndOffset);\r\n }\r\n }\r\n\r\n /**\r\n * Advances the delayed/launch/ejecting/tracking state machine by one frame, picking a damage locator when tracking begins and again at the spread-to-final switch.\r\n * @returns {number} The state-change event the missile must act on, or EVT_NONE.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateState(deltaTime, estimatedTotalAliveTime, target)\r\n {\r\n this.#bombFlightpath = !target;\r\n let event = EveMissileWarhead.StateChangeEvent.EVT_NONE;\r\n const totalFlyingTime = Math.max((Number(estimatedTotalAliveTime) + 0.1) * this.#speedModifier, Number.EPSILON);\r\n const flight = clamp01(this.#flyingTime / totalFlyingTime);\r\n switch (this.#state)\r\n {\r\n case EveMissileWarhead.State.STATE_DELAYED:\r\n if (this.startDataValid) this.#state = EveMissileWarhead.State.STATE_LAUNCH;\r\n break;\r\n case EveMissileWarhead.State.STATE_LAUNCH:\r\n this.EnableParticleEmitting(true);\r\n this.#state = EveMissileWarhead.State.STATE_EJECTING;\r\n break;\r\n case EveMissileWarhead.State.STATE_EJECTING:\r\n this.#currentDurationEjectPhase -= Number(deltaTime);\r\n if (this.#currentDurationEjectPhase <= 0)\r\n {\r\n this.#currentDurationEjectPhase = 0;\r\n this.#state = EveMissileWarhead.State.STATE_START_TRACKING;\r\n }\r\n break;\r\n case EveMissileWarhead.State.STATE_START_TRACKING:\r\n this.targetLocatorID = target ? Number(target.GetGoodDamageLocatorIndex?.(this.GetWorldPosition()) ?? -1) | 0 : -1;\r\n this.#state = estimatedTotalAliveTime >= 5 && this.doSpread\r\n ? EveMissileWarhead.State.STATE_TRACKING_SPREAD\r\n : EveMissileWarhead.State.STATE_TRACKING_FINAL;\r\n break;\r\n case EveMissileWarhead.State.STATE_TRACKING_SPREAD:\r\n if (flight >= this.#finalTargetTime)\r\n {\r\n this.targetLocatorID = target ? Number(target.GetGoodDamageLocatorIndex?.(this.GetWorldPosition()) ?? -1) | 0 : -1;\r\n event = EveMissileWarhead.StateChangeEvent.EVT_SWITCH_TARGET;\r\n this.#state = EveMissileWarhead.State.STATE_TRACKING_FINAL;\r\n }\r\n break;\r\n case EveMissileWarhead.State.STATE_EXPLODED:\r\n this.#state = EveMissileWarhead.State.STATE_DEAD;\r\n break;\r\n default:\r\n break;\r\n }\r\n return event;\r\n }\r\n\r\n /**\r\n * Tests the final tracking segment for a hit on the target - or detonates immediately when there is no target - recording the explosion position and spawning an impact on the target when impactSize is set.\r\n * @returns {number} EVT_EXPLODE when the warhead detonated this frame, otherwise EVT_NONE.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Targetable output parameters use the org-standard out-last calling convention.\")\r\n CheckImpact(deltaTime, estimatedTotalAliveTime, target)\r\n {\r\n if (this.#state !== EveMissileWarhead.State.STATE_TRACKING_FINAL || this.id < 0) return EveMissileWarhead.StateChangeEvent.EVT_NONE;\r\n const totalFlyingTime = Math.max((Number(estimatedTotalAliveTime) + 0.1) * this.#speedModifier, Number.EPSILON);\r\n const flight = clamp01((this.#flyingTime - Number(deltaTime)) / totalFlyingTime);\r\n const positionNow = this.GetWorldPosition(EveMissileWarhead.#positionNow);\r\n if (!target)\r\n {\r\n vec3.copy(this.explosionPosition, positionNow);\r\n this.#state = EveMissileWarhead.State.STATE_EXPLODED;\r\n return EveMissileWarhead.StateChangeEvent.EVT_EXPLODE;\r\n }\r\n\r\n vec3.subtract(EveMissileWarhead.#positionLast, positionNow, this.#movement);\r\n vec3.copy(EveMissileWarhead.#targetPosition, positionNow);\r\n const hit = target.GetImpactPosition?.(this.targetLocatorID, EveMissileWarhead.#positionLast, positionNow, this.#explosionDistance, EveMissileWarhead.#targetPosition) ?? false;\r\n if (flight < 1 && !hit) return EveMissileWarhead.StateChangeEvent.EVT_NONE;\r\n\r\n vec3.copy(this.explosionPosition, positionNow);\r\n vec3.subtract(EveMissileWarhead.#impactDirection, EveMissileWarhead.#targetPosition, positionNow);\r\n if (vec3.dot(EveMissileWarhead.#impactDirection, this.#movement) < 0) vec3.copy(this.explosionPosition, EveMissileWarhead.#targetPosition);\r\n if (this.impactSize > 0)\r\n {\r\n vec3.negate(EveMissileWarhead.#impactDirection, this.#movement);\r\n target.CreateImpact?.(this.targetLocatorID, EveMissileWarhead.#impactDirection, this.impactDuration, this.impactSize);\r\n }\r\n this.#state = EveMissileWarhead.State.STATE_EXPLODED;\r\n return EveMissileWarhead.StateChangeEvent.EVT_EXPLODE;\r\n }\r\n\r\n /**\r\n * Samples the Perlin path offset for the current flight time, advances the\r\n * base transform, and recomputes the per-frame movement vector that impact\r\n * direction and orientation depend on; the noise phase is a stable\r\n * per-instance sequence rather than Carbon's pointer-derived one.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's pointer-derived Perlin phase is replaced with a stable per-instance 12-bit sequence.\")\r\n Update(context)\r\n {\r\n const position = this.#flyingTime * this.pathOffsetNoiseSpeed + this.#noisePhase;\r\n this.pathOffset[0] = carbonPerlin1D(position, 1.1, 2, 3) * this.pathOffsetNoiseScale;\r\n this.pathOffset[1] = carbonPerlin1D(position + 10.1, 1.1, 2, 3) * this.pathOffsetNoiseScale;\r\n this.pathOffset[2] = carbonPerlin1D(position + 18.3, 1.1, 2, 3) * this.pathOffsetNoiseScale;\r\n vec3.subtract(this.#positionLastFrame, this.#positionLastFrame, context?.GetOriginShift?.() ?? context?.originShift ?? EveMissileWarhead.#zero);\r\n super.Update(context);\r\n this.GetWorldPosition(EveMissileWarhead.#positionNow);\r\n vec3.subtract(this.#movement, EveMissileWarhead.#positionNow, this.#positionLastFrame);\r\n vec3.copy(this.#positionLastFrame, EveMissileWarhead.#positionNow);\r\n }\r\n\r\n /**\r\n * Integrates one frame of flight - eject velocity, inherited ship velocity,\r\n * start-to-destination interpolation shaped by acceleration, the noise path\r\n * offset and the bomb falloff - then rebuilds the warhead's offset transform\r\n * and slerps its orientation toward the direction of travel.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The CPU flight calculation is source-faithful; current world composition is also published immediately for headless graph consumers.\")\r\n UpdateWarhead(deltaTime, estimatedTotalAliveTime, currentBallVelocity, currentInheritedVelocity, inverseBallRotation, missileTransform, originShift = EveMissileWarhead.#zero)\r\n {\r\n const dt = Number(deltaTime) || 0;\r\n vec3.set(EveMissileWarhead.#ejectVelocity, 0, 0, this.#currentEjectVelocity);\r\n vec3.transformQuat(EveMissileWarhead.#ejectVelocity, EveMissileWarhead.#ejectVelocity, this.#startOrientation);\r\n transformNormal(EveMissileWarhead.#globalBallVelocity, currentBallVelocity, inverseBallRotation);\r\n if (this.#state >= EveMissileWarhead.State.STATE_START_TRACKING) this.#flyingTime += dt;\r\n\r\n const totalFlyingTime = Math.max((Number(estimatedTotalAliveTime) + 0.1) * this.#speedModifier, Number.EPSILON);\r\n const flight = clamp01(this.#flyingTime / totalFlyingTime);\r\n const quickFlight = clamp01(3 * flight);\r\n if (this.#state >= EveMissileWarhead.State.STATE_EJECTING) vec3.scaleAndAdd(this.#currentStartOffset, this.#currentStartOffset, EveMissileWarhead.#ejectVelocity, dt);\r\n vec3.scaleAndAdd(this.#currentStartOffset, this.#currentStartOffset, currentInheritedVelocity, dt);\r\n\r\n const denominator = totalFlyingTime - this.#finalDestinationTimer;\r\n const targetTime = denominator ? clamp01((this.#flyingTime - this.#finalDestinationTimer) / denominator) : 1;\r\n vec3.scale(EveMissileWarhead.#modifiedOldOffset, this.#oldEndOffset, 1 - clamp01(targetTime * 2));\r\n vec3.lerp(this.#currentEndOffset, EveMissileWarhead.#modifiedOldOffset, this.#endOffset, targetTime);\r\n vec3.lerp(this.#currentOffset, this.#currentStartOffset, this.#currentEndOffset, Math.pow(flight, 1 + this.acceleration));\r\n\r\n vec3.scale(EveMissileWarhead.#globalBallVelocity, EveMissileWarhead.#globalBallVelocity, 1 - flight);\r\n vec3.scaleAndAdd(this.#currentStartOffset, this.#currentStartOffset, EveMissileWarhead.#globalBallVelocity, -dt);\r\n this.#currentEjectVelocity = this.startEjectVelocity * (1 - Math.pow(quickFlight, 1 + this.acceleration));\r\n vec3.scaleAndAdd(this.#currentOffset, this.#currentOffset, this.pathOffset, Math.sin(Math.PI * flight) ** 2);\r\n if (this.#bombFlightpath) vec3.scale(this.#currentOffset, this.#currentOffset, (1 - quickFlight) ** 2);\r\n\r\n vec3.transformMat4(EveMissileWarhead.#relativePosition, this.#currentOffset, missileTransform);\r\n vec3.subtract(EveMissileWarhead.#translation, this.#lastRelativePosition, EveMissileWarhead.#relativePosition);\r\n vec3.add(EveMissileWarhead.#translation, EveMissileWarhead.#translation, originShift);\r\n vec3.copy(this.#lastRelativePosition, EveMissileWarhead.#relativePosition);\r\n if (this.#lastPositionValid && this.startDataValid)\r\n {\r\n const distanceSquared = vec3.squaredLength(EveMissileWarhead.#translation);\r\n if (distanceSquared > 0)\r\n {\r\n transformNormal(EveMissileWarhead.#translation, EveMissileWarhead.#translation, inverseBallRotation);\r\n mat4.arcFromForward(EveMissileWarhead.#orientationMatrix, EveMissileWarhead.#translation);\r\n mat4.getRotation(EveMissileWarhead.#orientationNow, EveMissileWarhead.#orientationMatrix);\r\n if (distanceSquared < 1)\r\n {\r\n quat.slerp(this.#currentOrientation, this.#currentOrientation, EveMissileWarhead.#orientationNow, distanceSquared);\r\n quat.normalize(this.#currentOrientation, this.#currentOrientation);\r\n }\r\n else quat.copy(this.#currentOrientation, EveMissileWarhead.#orientationNow);\r\n }\r\n }\r\n else this.#lastPositionValid = true;\r\n\r\n mat4.fromRotationTranslation(this.#currentOffsetTransform, this.#currentOrientation, this.#currentOffset);\r\n mat4.multiply(this.worldTransform, missileTransform, this.#currentOffsetTransform);\r\n }\r\n\r\n /**\r\n * Turns the warhead's own particle emitters and those of its children on or\r\n * off.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n EnableParticleEmitting(enable)\r\n {\r\n for (const child of this.children) for (const emitter of child?.particleEmitters ?? []) enableEmitter(emitter, enable);\r\n for (const emitter of this.particleEmitters) enableEmitter(emitter, enable);\r\n }\r\n\r\n /**\r\n * Snaps the world transform to the supplied parent transform and runs the base\r\n * visibility pass; returns false while the warhead is unlaunched, dead or\r\n * hidden.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(context, parentTransform)\r\n {\r\n this.#isVisible = false;\r\n if (!this.startDataValid || this.#state === EveMissileWarhead.State.STATE_DEAD || !this.display) return false;\r\n mat4.copy(this.worldTransform, parentTransform);\r\n this.#isVisible = true;\r\n super.UpdateVisibility(context, parentTransform);\r\n return true;\r\n }\r\n\r\n /**\r\n * Appends the warhead mesh; nothing is appended while the warhead is\r\n * invisible or at low LOD. The sprite set is NOT gathered here: Carbon's\r\n * EveMissileWarhead::GetRenderables never touches it, and EveSpriteSet has\r\n * no GetRenderables at all - attachments render through the batch path.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n if (!this.#isVisible || this.lodLevel <= EveTransform.Tr2Lod.TR2_LOD_LOW) return out;\r\n if (this.mesh) out.push(this);\r\n return out;\r\n }\r\n\r\n /**\r\n * Writes the world-space sphere enclosing the warhead body, sized and centred\r\n * from warheadLength.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n vec4.set(EveMissileWarhead.#localSphere, 0, 0, this.warheadLength * 0.5, this.warheadLength * 0.5);\r\n sph3.transformMat4(out, EveMissileWarhead.#localSphere, this.worldTransform);\r\n return true;\r\n }\r\n\r\n /**\r\n * Writes the warhead body sphere in the missile's space, which the missile\r\n * unions into its own bounding sphere.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalBoundingSphere(out = vec4.create())\r\n {\r\n vec4.set(EveMissileWarhead.#localSphere, 0, 0, this.warheadLength * 0.5, this.warheadLength * 0.5);\r\n sph3.transformMat4(out, EveMissileWarhead.#localSphere, this.#currentOffsetTransform);\r\n return true;\r\n }\r\n\r\n /**\r\n * Returns the warhead's live offset transform relative to the missile; it is\r\n * the warhead's own matrix and is rewritten by the next flight update.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetCurrentOffsetTransform()\r\n {\r\n return this.#currentOffsetTransform;\r\n }\r\n\r\n /**\r\n * Returns the damage locator index this warhead is tracking, or -1 when none\r\n * has been chosen.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTargetLocator()\r\n {\r\n return this.targetLocatorID;\r\n }\r\n\r\n /** Overrides the damage locator index this warhead tracks. */\r\n @carbon.method\r\n @impl.implemented\r\n SetTargetLocator(locator)\r\n {\r\n this.targetLocatorID = Number(locator) | 0;\r\n }\r\n\r\n /** Returns the current flight state, one of EveMissileWarhead.State. */\r\n @carbon.method\r\n @impl.implemented\r\n GetState()\r\n {\r\n return this.#state;\r\n }\r\n\r\n /**\r\n * Returns the authored warhead id, which the missile passes to the explosion\r\n * callback.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetWarheadID()\r\n {\r\n return this.id;\r\n }\r\n\r\n /**\r\n * Allocates the warhead's per-object record and sets the world transform and\r\n * the radius/length pair the shader needs; the record carries values only,\r\n * never GPU resources.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Trinity allocates the catalogued record and encodes its fields into the canonical stored layout; the engine owns GPU allocation, upload, and binding.\")\r\n GetPerObjectData(accumulator)\r\n {\r\n const data = accumulator.Alloc(\"EveMissileWarheadPerObjectData\");\r\n data.SetAndTranspose(\"world\", this.worldTransform);\r\n data.Set(\"missileSize\", [this.warheadRadius, this.warheadLength, 0, 0]);\r\n return data;\r\n }\r\n\r\n /**\r\n * Carbon GetPerObjectDataSize (EveMissileWarhead.cpp:617-628): zero for the\r\n * pixel stage, else the 64-byte world matrix plus the 16-byte missile-size\r\n * vector. A pure size contract that must match UpdatePerObjectBuffer's\r\n * layout below.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetPerObjectDataSize(shaderType)\r\n {\r\n return shaderType === ShaderType.PIXEL_SHADER ? 0 : 64 + 16;\r\n }\r\n\r\n /**\r\n * Carbon UpdatePerObjectBuffer (cpp:630-641): packs Transpose(world) then\r\n * Vector4(warheadRadius, warheadLength, 0, 0) into caller-owned CPU staging\r\n * bytes for every non-pixel stage. No AL object is touched here; the upload\r\n * happens on the engine side of the boundary.\r\n *\r\n * @param {number} shaderType A ShaderType value.\r\n * @param {number} _size Caller's byte budget (Carbon ignores it too).\r\n * @param {DataView} data Caller-owned staging view, little-endian.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdatePerObjectBuffer(shaderType, _size, data)\r\n {\r\n if (shaderType === ShaderType.PIXEL_SHADER) return;\r\n\r\n mat4.transpose(EveMissileWarhead.#transposedWorld, this.worldTransform);\r\n for (let i = 0; i < 16; i++)\r\n {\r\n data.setFloat32(i * 4, EveMissileWarhead.#transposedWorld[i], true);\r\n }\r\n data.setFloat32(64, this.warheadRadius, true);\r\n data.setFloat32(68, this.warheadLength, true);\r\n data.setFloat32(72, 0, true);\r\n data.setFloat32(76, 0, true);\r\n }\r\n\r\n static State = State;\r\n\r\n static StateChangeEvent = StateChangeEvent;\r\n\r\n static #nextNoisePhase = 1;\r\n static #transposedWorld = mat4.create();\r\n static #zero = vec3.create();\r\n static #localSphere = vec4.create();\r\n static #positionNow = vec3.create();\r\n static #positionLast = vec3.create();\r\n static #targetPosition = vec3.create();\r\n static #impactDirection = vec3.create();\r\n static #ejectVelocity = vec3.create();\r\n static #globalBallVelocity = vec3.create();\r\n static #modifiedOldOffset = vec3.create();\r\n static #relativePosition = vec3.create();\r\n static #translation = vec3.create();\r\n static #orientationNow = quat.create();\r\n static #orientationMatrix = mat4.create();\r\n}\r\n\r\nfunction clamp01(value)\r\n{\r\n return Math.max(0, Math.min(1, Number(value) || 0));\r\n}\r\n\r\nfunction transformNormal(out, vector, matrix)\r\n{\r\n const x = vector?.[0] ?? 0;\r\n const y = vector?.[1] ?? 0;\r\n const z = vector?.[2] ?? 0;\r\n out[0] = matrix[0] * x + matrix[4] * y + matrix[8] * z;\r\n out[1] = matrix[1] * x + matrix[5] * y + matrix[9] * z;\r\n out[2] = matrix[2] * x + matrix[6] * y + matrix[10] * z;\r\n return out;\r\n}\r\n\r\nfunction enableEmitter(emitter, enable)\r\n{\r\n if (typeof emitter?.Enable === \"function\") emitter.Enable(!!enable);\r\n else if (typeof emitter?.SetEnabled === \"function\") emitter.SetEnabled(!!enable);\r\n else if (emitter) emitter.enabled = !!enable;\r\n}\r\n"],"names":["_EveMissileWarhead","_identity","EveMissileWarhead","EveTransform","e","_init_pathOffsetNoiseScale","_init_extra_pathOffsetNoiseScale","_init_pathOffsetNoiseSpeed","_init_extra_pathOffsetNoiseSpeed","_init_startDataValid","_init_extra_startDataValid","_init_pathOffset","_init_extra_pathOffset","_init_maxExplosionDistance","_init_extra_maxExplosionDistance","_init_impactDuration","_init_extra_impactDuration","_init_explosionPosition","_init_extra_explosionPosition","_init_impactSize","_init_extra_impactSize","_init_spriteSet","_init_extra_spriteSet","_init_targetLocatorID","_init_extra_targetLocatorID","_init_durationEjectPhase","_init_extra_durationEjectPhase","_init_doSpread","_init_extra_doSpread","_init_acceleration","_init_extra_acceleration","_init_id","_init_extra_id","_init_startEjectVelocity","_init_extra_startEjectVelocity","_init_warheadLength","_init_extra_warheadLength","_init_warheadRadius","_init_extra_warheadRadius","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","float32","readwrite","boolean","vec3","read","model","int32","carbon","method","impl","implemented","adapted","reason","pathOffsetNoiseScale","pathOffsetNoiseSpeed","startDataValid","pathOffset","create","maxExplosionDistance","impactDuration","explosionPosition","impactSize","spriteSet","targetLocatorID","durationEjectPhase","doSpread","acceleration","id","startEjectVelocity","warheadLength","warheadRadius","State","STATE_DELAYED","quat","mat4","Math","random","PrepareLaunch","distance","set","identity","Launch","startTransform","getRotation","copy","UpdateEndTransform","endTransform","switchLocators","UpdateState","deltaTime","estimatedTotalAliveTime","target","event","StateChangeEvent","EVT_NONE","totalFlyingTime","max","Number","EPSILON","flight","clamp01","STATE_LAUNCH","EnableParticleEmitting","STATE_EJECTING","STATE_START_TRACKING","GetGoodDamageLocatorIndex","GetWorldPosition","STATE_TRACKING_SPREAD","STATE_TRACKING_FINAL","EVT_SWITCH_TARGET","STATE_EXPLODED","STATE_DEAD","CheckImpact","positionNow","EVT_EXPLODE","subtract","hit","GetImpactPosition","dot","negate","CreateImpact","Update","context","position","carbonPerlin1D","GetOriginShift","originShift","UpdateWarhead","currentBallVelocity","currentInheritedVelocity","inverseBallRotation","missileTransform","dt","transformQuat","transformNormal","quickFlight","scaleAndAdd","denominator","targetTime","scale","lerp","pow","sin","PI","transformMat4","add","distanceSquared","squaredLength","arcFromForward","slerp","normalize","fromRotationTranslation","multiply","worldTransform","enable","child","children","emitter","particleEmitters","enableEmitter","UpdateVisibility","parentTransform","display","GetRenderables","out","lodLevel","Tr2Lod","TR2_LOD_LOW","mesh","push","GetBoundingSphere","vec4","sph3","GetLocalBoundingSphere","GetCurrentOffsetTransform","GetTargetLocator","SetTargetLocator","locator","GetState","GetWarheadID","GetPerObjectData","accumulator","data","Alloc","SetAndTranspose","Set","GetPerObjectDataSize","shaderType","ShaderType","PIXEL_SHADER","UpdatePerObjectBuffer","_size","transpose","i","setFloat32","constructor","value","min","vector","matrix","x","y","z","Enable","SetEnabled","enabled"],"mappings":"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"}
1
+ {"version":3,"file":"EveMissileWarhead.js","sources":["../../../../../src/trinity/eve/spaceObject/EveMissileWarhead.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/EveMissileWarhead.h\r\n// Source: trinity/trinity/Eve/SpaceObject/EveMissileWarhead.cpp\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { carbonPerlin1D } from \"#math/noise\";\r\nimport { quat } from \"#math/quat\";\r\nimport { sph3 } from \"#math/sph3\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { ShaderType } from \"#consts/render-context\";\r\nimport { EveTransform } from \"./EveTransform.js\";\r\nimport { State, StateChangeEvent } from \"../../generated/eve/spaceObject/enums.js\";\r\n\r\n\r\n/**\r\n * One warhead of a missile: its launch-to-explosion state machine, the\r\n * noise-perturbed offset path it flies relative to the missile, and the impact\r\n * test against the target.\r\n */\r\n@type.define({ className: \"EveMissileWarhead\", family: \"eve/spaceObject\" })\r\nexport class EveMissileWarhead extends EveTransform\r\n{\r\n @edit.persist @type.float32 pathOffsetNoiseScale = 0;\r\n @edit.persist @type.float32 pathOffsetNoiseSpeed = 1;\r\n @edit.readwrite @type.boolean startDataValid = false;\r\n @edit.readwrite @type.vec3 pathOffset = vec3.create();\r\n @edit.persist @type.float32 maxExplosionDistance = 40;\r\n @edit.persist @type.float32 impactDuration = 0.6;\r\n @edit.read @type.vec3 explosionPosition = vec3.create();\r\n @edit.persist @type.float32 impactSize = 0;\r\n @edit.persist @type.model(\"EveSpriteSet\") spriteSet = null;\r\n @edit.read @type.int32 targetLocatorID = -1;\r\n @edit.persist @type.float32 durationEjectPhase = 0;\r\n @edit.readwrite @type.boolean doSpread = true;\r\n @edit.persist @type.float32 acceleration = 1;\r\n @edit.readwrite @type.int32 id = -1;\r\n @edit.persist @type.float32 startEjectVelocity = 0;\r\n @edit.persist @type.float32 warheadLength = 1;\r\n @edit.persist @type.float32 warheadRadius = 1;\r\n\r\n #state = EveMissileWarhead.State.STATE_DELAYED;\r\n #flyingTime = 0;\r\n #movement = vec3.create();\r\n #positionLastFrame = vec3.create();\r\n #lastRelativePosition = vec3.create();\r\n #currentStartOffset = vec3.create();\r\n #startOrientation = quat.create();\r\n #oldEndOffset = vec3.create();\r\n #currentEndOffset = vec3.create();\r\n #endOffset = vec3.create();\r\n #currentOffset = vec3.create();\r\n #currentOrientation = quat.create();\r\n #currentEjectVelocity = 0;\r\n #currentDurationEjectPhase = 0;\r\n #currentOffsetTransform = mat4.create();\r\n #finalDestinationTimer = 0;\r\n #finalTargetTime = 0.75 - Math.random() * 0.1;\r\n #speedModifier = 1.04 - Math.random() * 0.08;\r\n #explosionDistance = 0;\r\n #bombFlightpath = false;\r\n #lastPositionValid = false;\r\n #noisePhase = EveMissileWarhead.#nextNoisePhase++ & 0xfff;\r\n #isVisible = true;\r\n\r\n /**\r\n * Resets the warhead to its pre-launch state and re-rolls the randomized\r\n * explosion distance, speed modifier and final-target timing that vary this\r\n * flight.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n PrepareLaunch()\r\n {\r\n this.#currentEjectVelocity = this.startEjectVelocity;\r\n this.#currentDurationEjectPhase = this.durationEjectPhase;\r\n const distance = this.maxExplosionDistance - Math.random() * this.maxExplosionDistance * 0.5;\r\n this.#explosionDistance = distance * distance;\r\n this.#state = EveMissileWarhead.State.STATE_DELAYED;\r\n this.#flyingTime = 0;\r\n vec3.set(this.#currentStartOffset, 0, 0, 0);\r\n quat.identity(this.#startOrientation);\r\n this.startDataValid = false;\r\n vec3.set(this.#oldEndOffset, 0, 0, 0);\r\n vec3.set(this.#currentEndOffset, 0, 0, 0);\r\n vec3.set(this.#endOffset, 0, 0, 0);\r\n vec3.set(this.#currentOffset, 0, 0, 0);\r\n quat.identity(this.#currentOrientation);\r\n this.#finalDestinationTimer = 0;\r\n this.targetLocatorID = -1;\r\n vec3.set(this.explosionPosition, 0, 0, 0);\r\n mat4.identity(this.#currentOffsetTransform);\r\n this.#speedModifier = 1.04 - Math.random() * 0.08;\r\n this.#finalTargetTime = 0.75 - Math.random() * 0.1;\r\n this.#bombFlightpath = false;\r\n this.#lastPositionValid = false;\r\n }\r\n\r\n /**\r\n * Latches the launch transform as the warhead's start offset and orientation\r\n * and marks the start data valid, which releases the state machine from its\r\n * delayed state.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Launch(startTransform)\r\n {\r\n mat4.getRotation(this.#startOrientation, startTransform);\r\n vec3.set(this.#currentStartOffset, startTransform[12], startTransform[13], startTransform[14]);\r\n quat.copy(this.#currentOrientation, this.#startOrientation);\r\n vec3.copy(this.#currentOffset, this.#currentStartOffset);\r\n this.startDataValid = true;\r\n this.#lastPositionValid = false;\r\n }\r\n\r\n /**\r\n * Sets the destination offset the warhead flies toward; on a target switch it\r\n * also snapshots the previous destination and flight time so the change is\r\n * blended in rather than snapped.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateEndTransform(endTransform, switchLocators)\r\n {\r\n vec3.set(this.#endOffset, endTransform[12], endTransform[13], endTransform[14]);\r\n if (switchLocators)\r\n {\r\n this.#finalDestinationTimer = this.#flyingTime;\r\n vec3.copy(this.#oldEndOffset, this.#currentEndOffset);\r\n }\r\n }\r\n\r\n /**\r\n * Advances the delayed/launch/ejecting/tracking state machine by one frame, picking a damage locator when tracking begins and again at the spread-to-final switch.\r\n * @returns {number} The state-change event the missile must act on, or EVT_NONE.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateState(deltaTime, estimatedTotalAliveTime, target)\r\n {\r\n this.#bombFlightpath = !target;\r\n let event = EveMissileWarhead.StateChangeEvent.EVT_NONE;\r\n const totalFlyingTime = Math.max((Number(estimatedTotalAliveTime) + 0.1) * this.#speedModifier, Number.EPSILON);\r\n const flight = clamp01(this.#flyingTime / totalFlyingTime);\r\n switch (this.#state)\r\n {\r\n case EveMissileWarhead.State.STATE_DELAYED:\r\n if (this.startDataValid) this.#state = EveMissileWarhead.State.STATE_LAUNCH;\r\n break;\r\n case EveMissileWarhead.State.STATE_LAUNCH:\r\n this.EnableParticleEmitting(true);\r\n this.#state = EveMissileWarhead.State.STATE_EJECTING;\r\n break;\r\n case EveMissileWarhead.State.STATE_EJECTING:\r\n this.#currentDurationEjectPhase -= Number(deltaTime);\r\n if (this.#currentDurationEjectPhase <= 0)\r\n {\r\n this.#currentDurationEjectPhase = 0;\r\n this.#state = EveMissileWarhead.State.STATE_START_TRACKING;\r\n }\r\n break;\r\n case EveMissileWarhead.State.STATE_START_TRACKING:\r\n this.targetLocatorID = target ? Number(target.GetGoodDamageLocatorIndex?.(this.GetWorldPosition()) ?? -1) | 0 : -1;\r\n this.#state = estimatedTotalAliveTime >= 5 && this.doSpread\r\n ? EveMissileWarhead.State.STATE_TRACKING_SPREAD\r\n : EveMissileWarhead.State.STATE_TRACKING_FINAL;\r\n break;\r\n case EveMissileWarhead.State.STATE_TRACKING_SPREAD:\r\n if (flight >= this.#finalTargetTime)\r\n {\r\n this.targetLocatorID = target ? Number(target.GetGoodDamageLocatorIndex?.(this.GetWorldPosition()) ?? -1) | 0 : -1;\r\n event = EveMissileWarhead.StateChangeEvent.EVT_SWITCH_TARGET;\r\n this.#state = EveMissileWarhead.State.STATE_TRACKING_FINAL;\r\n }\r\n break;\r\n case EveMissileWarhead.State.STATE_EXPLODED:\r\n this.#state = EveMissileWarhead.State.STATE_DEAD;\r\n break;\r\n default:\r\n break;\r\n }\r\n return event;\r\n }\r\n\r\n /**\r\n * Tests the final tracking segment for a hit on the target - or detonates immediately when there is no target - recording the explosion position and spawning an impact on the target when impactSize is set.\r\n * @returns {number} EVT_EXPLODE when the warhead detonated this frame, otherwise EVT_NONE.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Targetable output parameters use the org-standard out-last calling convention.\")\r\n CheckImpact(deltaTime, estimatedTotalAliveTime, target)\r\n {\r\n if (this.#state !== EveMissileWarhead.State.STATE_TRACKING_FINAL || this.id < 0) return EveMissileWarhead.StateChangeEvent.EVT_NONE;\r\n const totalFlyingTime = Math.max((Number(estimatedTotalAliveTime) + 0.1) * this.#speedModifier, Number.EPSILON);\r\n const flight = clamp01((this.#flyingTime - Number(deltaTime)) / totalFlyingTime);\r\n const positionNow = this.GetWorldPosition(EveMissileWarhead.#positionNow);\r\n if (!target)\r\n {\r\n vec3.copy(this.explosionPosition, positionNow);\r\n this.#state = EveMissileWarhead.State.STATE_EXPLODED;\r\n return EveMissileWarhead.StateChangeEvent.EVT_EXPLODE;\r\n }\r\n\r\n vec3.subtract(EveMissileWarhead.#positionLast, positionNow, this.#movement);\r\n vec3.copy(EveMissileWarhead.#targetPosition, positionNow);\r\n const hit = target.GetImpactPosition?.(this.targetLocatorID, EveMissileWarhead.#positionLast, positionNow, this.#explosionDistance, EveMissileWarhead.#targetPosition) ?? false;\r\n if (flight < 1 && !hit) return EveMissileWarhead.StateChangeEvent.EVT_NONE;\r\n\r\n vec3.copy(this.explosionPosition, positionNow);\r\n vec3.subtract(EveMissileWarhead.#impactDirection, EveMissileWarhead.#targetPosition, positionNow);\r\n if (vec3.dot(EveMissileWarhead.#impactDirection, this.#movement) < 0) vec3.copy(this.explosionPosition, EveMissileWarhead.#targetPosition);\r\n if (this.impactSize > 0)\r\n {\r\n vec3.negate(EveMissileWarhead.#impactDirection, this.#movement);\r\n target.CreateImpact?.(this.targetLocatorID, EveMissileWarhead.#impactDirection, this.impactDuration, this.impactSize);\r\n }\r\n this.#state = EveMissileWarhead.State.STATE_EXPLODED;\r\n return EveMissileWarhead.StateChangeEvent.EVT_EXPLODE;\r\n }\r\n\r\n /**\r\n * Samples the Perlin path offset for the current flight time, advances the\r\n * base transform, and recomputes the per-frame movement vector that impact\r\n * direction and orientation depend on; the noise phase is a stable\r\n * per-instance sequence rather than Carbon's pointer-derived one.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's pointer-derived Perlin phase is replaced with a stable per-instance 12-bit sequence.\")\r\n Update(context)\r\n {\r\n const position = this.#flyingTime * this.pathOffsetNoiseSpeed + this.#noisePhase;\r\n this.pathOffset[0] = carbonPerlin1D(position, 1.1, 2, 3) * this.pathOffsetNoiseScale;\r\n this.pathOffset[1] = carbonPerlin1D(position + 10.1, 1.1, 2, 3) * this.pathOffsetNoiseScale;\r\n this.pathOffset[2] = carbonPerlin1D(position + 18.3, 1.1, 2, 3) * this.pathOffsetNoiseScale;\r\n vec3.subtract(this.#positionLastFrame, this.#positionLastFrame, context?.GetOriginShift?.() ?? context?.originShift ?? EveMissileWarhead.#zero);\r\n super.Update(context);\r\n this.GetWorldPosition(EveMissileWarhead.#positionNow);\r\n vec3.subtract(this.#movement, EveMissileWarhead.#positionNow, this.#positionLastFrame);\r\n vec3.copy(this.#positionLastFrame, EveMissileWarhead.#positionNow);\r\n }\r\n\r\n /**\r\n * Integrates one frame of flight - eject velocity, inherited ship velocity,\r\n * start-to-destination interpolation shaped by acceleration, the noise path\r\n * offset and the bomb falloff - then rebuilds the warhead's offset transform\r\n * and slerps its orientation toward the direction of travel.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The CPU flight calculation is source-faithful; current world composition is also published immediately for headless graph consumers.\")\r\n UpdateWarhead(deltaTime, estimatedTotalAliveTime, currentBallVelocity, currentInheritedVelocity, inverseBallRotation, missileTransform, originShift = EveMissileWarhead.#zero)\r\n {\r\n const dt = Number(deltaTime) || 0;\r\n vec3.set(EveMissileWarhead.#ejectVelocity, 0, 0, this.#currentEjectVelocity);\r\n vec3.transformQuat(EveMissileWarhead.#ejectVelocity, EveMissileWarhead.#ejectVelocity, this.#startOrientation);\r\n transformNormal(EveMissileWarhead.#globalBallVelocity, currentBallVelocity, inverseBallRotation);\r\n if (this.#state >= EveMissileWarhead.State.STATE_START_TRACKING) this.#flyingTime += dt;\r\n\r\n const totalFlyingTime = Math.max((Number(estimatedTotalAliveTime) + 0.1) * this.#speedModifier, Number.EPSILON);\r\n const flight = clamp01(this.#flyingTime / totalFlyingTime);\r\n const quickFlight = clamp01(3 * flight);\r\n if (this.#state >= EveMissileWarhead.State.STATE_EJECTING) vec3.scaleAndAdd(this.#currentStartOffset, this.#currentStartOffset, EveMissileWarhead.#ejectVelocity, dt);\r\n vec3.scaleAndAdd(this.#currentStartOffset, this.#currentStartOffset, currentInheritedVelocity, dt);\r\n\r\n const denominator = totalFlyingTime - this.#finalDestinationTimer;\r\n const targetTime = denominator ? clamp01((this.#flyingTime - this.#finalDestinationTimer) / denominator) : 1;\r\n vec3.scale(EveMissileWarhead.#modifiedOldOffset, this.#oldEndOffset, 1 - clamp01(targetTime * 2));\r\n vec3.lerp(this.#currentEndOffset, EveMissileWarhead.#modifiedOldOffset, this.#endOffset, targetTime);\r\n vec3.lerp(this.#currentOffset, this.#currentStartOffset, this.#currentEndOffset, Math.pow(flight, 1 + this.acceleration));\r\n\r\n vec3.scale(EveMissileWarhead.#globalBallVelocity, EveMissileWarhead.#globalBallVelocity, 1 - flight);\r\n vec3.scaleAndAdd(this.#currentStartOffset, this.#currentStartOffset, EveMissileWarhead.#globalBallVelocity, -dt);\r\n this.#currentEjectVelocity = this.startEjectVelocity * (1 - Math.pow(quickFlight, 1 + this.acceleration));\r\n vec3.scaleAndAdd(this.#currentOffset, this.#currentOffset, this.pathOffset, Math.sin(Math.PI * flight) ** 2);\r\n if (this.#bombFlightpath) vec3.scale(this.#currentOffset, this.#currentOffset, (1 - quickFlight) ** 2);\r\n\r\n vec3.transformMat4(EveMissileWarhead.#relativePosition, this.#currentOffset, missileTransform);\r\n vec3.subtract(EveMissileWarhead.#translation, this.#lastRelativePosition, EveMissileWarhead.#relativePosition);\r\n vec3.add(EveMissileWarhead.#translation, EveMissileWarhead.#translation, originShift);\r\n vec3.copy(this.#lastRelativePosition, EveMissileWarhead.#relativePosition);\r\n if (this.#lastPositionValid && this.startDataValid)\r\n {\r\n const distanceSquared = vec3.squaredLength(EveMissileWarhead.#translation);\r\n if (distanceSquared > 0)\r\n {\r\n transformNormal(EveMissileWarhead.#translation, EveMissileWarhead.#translation, inverseBallRotation);\r\n mat4.arcFromForward(EveMissileWarhead.#orientationMatrix, EveMissileWarhead.#translation);\r\n mat4.getRotation(EveMissileWarhead.#orientationNow, EveMissileWarhead.#orientationMatrix);\r\n if (distanceSquared < 1)\r\n {\r\n quat.slerp(this.#currentOrientation, this.#currentOrientation, EveMissileWarhead.#orientationNow, distanceSquared);\r\n quat.normalize(this.#currentOrientation, this.#currentOrientation);\r\n }\r\n else quat.copy(this.#currentOrientation, EveMissileWarhead.#orientationNow);\r\n }\r\n }\r\n else this.#lastPositionValid = true;\r\n\r\n mat4.fromRotationTranslation(this.#currentOffsetTransform, this.#currentOrientation, this.#currentOffset);\r\n mat4.multiply(this.worldTransform, missileTransform, this.#currentOffsetTransform);\r\n }\r\n\r\n /**\r\n * Turns the warhead's own particle emitters and those of its children on or\r\n * off.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n EnableParticleEmitting(enable)\r\n {\r\n for (const child of this.children) for (const emitter of child?.particleEmitters ?? []) enableEmitter(emitter, enable);\r\n for (const emitter of this.particleEmitters) enableEmitter(emitter, enable);\r\n }\r\n\r\n /**\r\n * Snaps the world transform to the supplied parent transform and runs the base\r\n * visibility pass; returns false while the warhead is unlaunched, dead or\r\n * hidden.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(context, parentTransform)\r\n {\r\n this.#isVisible = false;\r\n if (!this.startDataValid || this.#state === EveMissileWarhead.State.STATE_DEAD || !this.display) return false;\r\n mat4.copy(this.worldTransform, parentTransform);\r\n this.#isVisible = true;\r\n super.UpdateVisibility(context, parentTransform);\r\n return true;\r\n }\r\n\r\n /**\r\n * Appends the warhead mesh; nothing is appended while the warhead is\r\n * invisible or at low LOD. The sprite set is NOT gathered here: Carbon's\r\n * EveMissileWarhead::GetRenderables never touches it, and EveSpriteSet has\r\n * no GetRenderables at all - attachments render through the batch path.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n if (!this.#isVisible || this.lodLevel <= EveTransform.Tr2Lod.TR2_LOD_LOW) return out;\r\n if (this.mesh) out.push(this);\r\n return out;\r\n }\r\n\r\n /**\r\n * Writes the world-space sphere enclosing the warhead body, sized and centred\r\n * from warheadLength.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(out = vec4.create())\r\n {\r\n vec4.set(EveMissileWarhead.#localSphere, 0, 0, this.warheadLength * 0.5, this.warheadLength * 0.5);\r\n sph3.transformMat4(out, EveMissileWarhead.#localSphere, this.worldTransform);\r\n return true;\r\n }\r\n\r\n /**\r\n * Writes the warhead body sphere in the missile's space, which the missile\r\n * unions into its own bounding sphere.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalBoundingSphere(out = vec4.create())\r\n {\r\n vec4.set(EveMissileWarhead.#localSphere, 0, 0, this.warheadLength * 0.5, this.warheadLength * 0.5);\r\n sph3.transformMat4(out, EveMissileWarhead.#localSphere, this.#currentOffsetTransform);\r\n return true;\r\n }\r\n\r\n /**\r\n * Returns the warhead's live offset transform relative to the missile; it is\r\n * the warhead's own matrix and is rewritten by the next flight update.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetCurrentOffsetTransform()\r\n {\r\n return this.#currentOffsetTransform;\r\n }\r\n\r\n /**\r\n * Returns the damage locator index this warhead is tracking, or -1 when none\r\n * has been chosen.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTargetLocator()\r\n {\r\n return this.targetLocatorID;\r\n }\r\n\r\n /** Overrides the damage locator index this warhead tracks. */\r\n @carbon.method\r\n @impl.implemented\r\n SetTargetLocator(locator)\r\n {\r\n this.targetLocatorID = Number(locator) | 0;\r\n }\r\n\r\n /** Returns the current flight state, one of EveMissileWarhead.State. */\r\n @carbon.method\r\n @impl.implemented\r\n GetState()\r\n {\r\n return this.#state;\r\n }\r\n\r\n /**\r\n * Returns the authored warhead id, which the missile passes to the explosion\r\n * callback.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetWarheadID()\r\n {\r\n return this.id;\r\n }\r\n\r\n /**\r\n * Allocates the warhead's per-object record and sets the world transform and\r\n * the radius/length pair the shader needs; the record carries values only,\r\n * never GPU resources.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Trinity allocates the catalogued record and encodes its fields into the canonical stored layout; the engine owns GPU allocation, upload, and binding.\")\r\n GetPerObjectData(accumulator)\r\n {\r\n const data = accumulator.Alloc(\"EveMissileWarheadPerObjectData\");\r\n data.SetAndTranspose(\"world\", this.worldTransform);\r\n data.Set(\"missileSize\", [this.warheadRadius, this.warheadLength, 0, 0]);\r\n return data;\r\n }\r\n\r\n /**\r\n * Carbon GetPerObjectDataSize (EveMissileWarhead.cpp:617-628): zero for the\r\n * pixel stage, else the 64-byte world matrix plus the 16-byte missile-size\r\n * vector. A pure size contract that must match UpdatePerObjectBuffer's\r\n * layout below.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetPerObjectDataSize(shaderType)\r\n {\r\n return shaderType === ShaderType.PIXEL_SHADER ? 0 : 64 + 16;\r\n }\r\n\r\n /**\r\n * Carbon UpdatePerObjectBuffer (cpp:630-641): packs Transpose(world) then\r\n * Vector4(warheadRadius, warheadLength, 0, 0) into caller-owned CPU staging\r\n * bytes for every non-pixel stage. No AL object is touched here; the upload\r\n * happens on the engine side of the boundary.\r\n *\r\n * @param {number} shaderType A ShaderType value.\r\n * @param {number} _size Caller's byte budget (Carbon ignores it too).\r\n * @param {DataView} data Caller-owned staging view, little-endian.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdatePerObjectBuffer(shaderType, _size, data)\r\n {\r\n if (shaderType === ShaderType.PIXEL_SHADER) return;\r\n\r\n mat4.transpose(EveMissileWarhead.#transposedWorld, this.worldTransform);\r\n for (let i = 0; i < 16; i++)\r\n {\r\n data.setFloat32(i * 4, EveMissileWarhead.#transposedWorld[i], true);\r\n }\r\n data.setFloat32(64, this.warheadRadius, true);\r\n data.setFloat32(68, this.warheadLength, true);\r\n data.setFloat32(72, 0, true);\r\n data.setFloat32(76, 0, true);\r\n }\r\n\r\n static State = State;\r\n\r\n static StateChangeEvent = StateChangeEvent;\r\n\r\n static #nextNoisePhase = 1;\r\n static #transposedWorld = mat4.create();\r\n static #zero = vec3.create();\r\n static #localSphere = vec4.create();\r\n static #positionNow = vec3.create();\r\n static #positionLast = vec3.create();\r\n static #targetPosition = vec3.create();\r\n static #impactDirection = vec3.create();\r\n static #ejectVelocity = vec3.create();\r\n static #globalBallVelocity = vec3.create();\r\n static #modifiedOldOffset = vec3.create();\r\n static #relativePosition = vec3.create();\r\n static #translation = vec3.create();\r\n static #orientationNow = quat.create();\r\n static #orientationMatrix = mat4.create();\r\n}\r\n\r\nfunction clamp01(value)\r\n{\r\n return Math.max(0, Math.min(1, Number(value) || 0));\r\n}\r\n\r\nfunction transformNormal(out, vector, matrix)\r\n{\r\n const x = vector?.[0] ?? 0;\r\n const y = vector?.[1] ?? 0;\r\n const z = vector?.[2] ?? 0;\r\n out[0] = matrix[0] * x + matrix[4] * y + matrix[8] * z;\r\n out[1] = matrix[1] * x + matrix[5] * y + matrix[9] * z;\r\n out[2] = matrix[2] * x + matrix[6] * y + matrix[10] * z;\r\n return out;\r\n}\r\n\r\nfunction enableEmitter(emitter, enable)\r\n{\r\n if (typeof emitter?.Enable === \"function\") emitter.Enable(!!enable);\r\n else if (typeof emitter?.SetEnabled === \"function\") emitter.SetEnabled(!!enable);\r\n else if (emitter) emitter.enabled = !!enable;\r\n}\r\n"],"names":["_EveMissileWarhead","_identity","EveMissileWarhead","EveTransform","e","_init_pathOffsetNoiseScale","_init_extra_pathOffsetNoiseScale","_init_pathOffsetNoiseSpeed","_init_extra_pathOffsetNoiseSpeed","_init_startDataValid","_init_extra_startDataValid","_init_pathOffset","_init_extra_pathOffset","_init_maxExplosionDistance","_init_extra_maxExplosionDistance","_init_impactDuration","_init_extra_impactDuration","_init_explosionPosition","_init_extra_explosionPosition","_init_impactSize","_init_extra_impactSize","_init_spriteSet","_init_extra_spriteSet","_init_targetLocatorID","_init_extra_targetLocatorID","_init_durationEjectPhase","_init_extra_durationEjectPhase","_init_doSpread","_init_extra_doSpread","_init_acceleration","_init_extra_acceleration","_init_id","_init_extra_id","_init_startEjectVelocity","_init_extra_startEjectVelocity","_init_warheadLength","_init_extra_warheadLength","_init_warheadRadius","_init_extra_warheadRadius","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","persist","float32","readwrite","boolean","vec3","read","model","int32","carbon","method","impl","implemented","adapted","reason","pathOffsetNoiseScale","pathOffsetNoiseSpeed","startDataValid","pathOffset","create","maxExplosionDistance","impactDuration","explosionPosition","impactSize","spriteSet","targetLocatorID","durationEjectPhase","doSpread","acceleration","id","startEjectVelocity","warheadLength","warheadRadius","State","STATE_DELAYED","quat","mat4","Math","random","PrepareLaunch","distance","set","identity","Launch","startTransform","getRotation","copy","UpdateEndTransform","endTransform","switchLocators","UpdateState","deltaTime","estimatedTotalAliveTime","target","event","StateChangeEvent","EVT_NONE","totalFlyingTime","max","Number","EPSILON","flight","clamp01","STATE_LAUNCH","EnableParticleEmitting","STATE_EJECTING","STATE_START_TRACKING","GetGoodDamageLocatorIndex","GetWorldPosition","STATE_TRACKING_SPREAD","STATE_TRACKING_FINAL","EVT_SWITCH_TARGET","STATE_EXPLODED","STATE_DEAD","CheckImpact","positionNow","EVT_EXPLODE","subtract","hit","GetImpactPosition","dot","negate","CreateImpact","Update","context","position","carbonPerlin1D","GetOriginShift","originShift","UpdateWarhead","currentBallVelocity","currentInheritedVelocity","inverseBallRotation","missileTransform","dt","transformQuat","transformNormal","quickFlight","scaleAndAdd","denominator","targetTime","scale","lerp","pow","sin","PI","transformMat4","add","distanceSquared","squaredLength","arcFromForward","slerp","normalize","fromRotationTranslation","multiply","worldTransform","enable","child","children","emitter","particleEmitters","enableEmitter","UpdateVisibility","parentTransform","display","GetRenderables","out","lodLevel","Tr2Lod","TR2_LOD_LOW","mesh","push","GetBoundingSphere","vec4","sph3","GetLocalBoundingSphere","GetCurrentOffsetTransform","GetTargetLocator","SetTargetLocator","locator","GetState","GetWarheadID","GetPerObjectData","accumulator","data","Alloc","SetAndTranspose","Set","GetPerObjectDataSize","shaderType","ShaderType","PIXEL_SHADER","UpdatePerObjectBuffer","_size","transpose","i","setFloat32","constructor","value","min","vector","matrix","x","y","z","Enable","SetEnabled","enabled"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { mat4 } from '#math/mat4';
3
3
  import { vec3 } from '#math/vec3';
4
- import { io, type, carbon, impl } from '#schema';
4
+ import { edit, type, carbon, impl } from '#schema';
5
5
  import { EveTurretSet as _EveTurretSet } from '../attachment/turrets/EveTurretSet.js';
6
6
  import { EveSpaceObject2 as _EveSpaceObject } from './EveSpaceObject2.js';
7
7
 
@@ -22,7 +22,7 @@ new class extends _identity {
22
22
  } = _applyDecs2311(this, [type.define({
23
23
  className: "EveMobile",
24
24
  family: "eve/spaceObject"
25
- })], [[[io, io.notify, io, io.persist, void 0, type.list("EveTurretSet")], 16, "turretSets"], [[io, io.read, type, type.uint32], 16, "ActiveTurretCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("List notifications are represented by a direct browser callback; registry ownership remains runtime-engine work.")], 18, "OnListModified"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetTurretLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Authored EveLocator2 transforms and optional animation-updater bone transforms replace Carbon's locator-type pointer surface.")], 18, "RebuildTurretPositions"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetTurretLocatorCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetActiveTurretCount"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Animated locator transforms use an optional animation-updater bone contract; all turret state updates remain in Trinity.")], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's native ParentData constant buffers collapse to the portable parent transform required by turret graph updates.")], 18, "UpdateTurretsAsyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocalBoundingBox"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetControllerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "HandleControllerEvent"], [[carbon, carbon.method, impl, impl.implemented], 18, "StartControllers"], [[carbon, carbon.method, impl, impl.implemented], 18, "DisplayChildren"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetTurretTransform"]], 0, void 0, _EveSpaceObject));
25
+ })], [[[edit, edit.notify, edit, edit.persist, void 0, type.list("EveTurretSet")], 16, "turretSets"], [[edit, edit.read, type, type.uint32], 16, "ActiveTurretCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("List notifications are represented by a direct browser callback; registry ownership is not ported yet.")], 18, "OnListModified"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetTurretLocatorIndex"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Authored EveLocator2 transforms and optional animation-updater bone transforms replace Carbon's locator-type pointer surface.")], 18, "RebuildTurretPositions"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetTurretLocatorCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetActiveTurretCount"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Animated locator transforms use an optional animation-updater bone contract; all turret state updates remain in Trinity.")], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's native ParentData constant buffers collapse to the portable parent transform required by turret graph updates.")], 18, "UpdateTurretsAsyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocalBoundingBox"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetControllerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "HandleControllerEvent"], [[carbon, carbon.method, impl, impl.implemented], 18, "StartControllers"], [[carbon, carbon.method, impl, impl.implemented], 18, "DisplayChildren"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetTurretTransform"]], 0, void 0, _EveSpaceObject));
26
26
  }
27
27
  turretSets = (_initProto(this), _init_turretSets(this, []));
28
28
  ActiveTurretCount = (_init_extra_turretSets(this), _init_ActiveTurretCount(this, 0));
@@ -1 +1 @@
1
- {"version":3,"file":"EveMobile.js","sources":["../../../../../src/trinity/eve/spaceObject/EveMobile.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/EveMobile.h\r\n// Source: trinity/trinity/Eve/SpaceObject/EveMobile.cpp\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { EveTurretSet } from \"../attachment/turrets/EveTurretSet.js\";\r\nimport { EveSpaceObject2 } from \"./EveSpaceObject2.js\";\r\n\r\n\r\n/**\r\n * A space object that carries turret sets, keeping each set bound to the hull\r\n * locators or animated bones it fires from and tracking how many of its turrets\r\n * are active.\r\n */\r\n@type.define({ className: \"EveMobile\", family: \"eve/spaceObject\" })\r\nexport class EveMobile extends EveSpaceObject2\r\n{\r\n @io.notify\r\n @io.persist\r\n @type.list(\"EveTurretSet\")\r\n turretSets = [];\r\n\r\n @io.read\r\n @type.uint32\r\n ActiveTurretCount = 0;\r\n\r\n #turretSetsLocatorInfo = [];\r\n #turretLocatorCountingInfo = new Map();\r\n\r\n /**\r\n * Runs the base initialization, then seeds the turret locator counters from\r\n * the current locators and binds every turret set to them.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n super.Initialize();\r\n this.#resetTurretLocatorCounter(true);\r\n this.RebuildTurretPositions();\r\n return true;\r\n }\r\n\r\n /** Rebinds the turret sets to their locators after the turret set list changes. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"List notifications are represented by a direct browser callback; registry ownership remains runtime-engine work.\")\r\n OnListModified()\r\n {\r\n this.RebuildTurretPositions();\r\n }\r\n\r\n /** Carbon EveMobile::RegisterComponents (cpp:109-120): base registration,\r\n * then forwards the turret sets. Gate m_display. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n super.RegisterComponents();\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.display)\r\n {\r\n for (const turretSet of this.turretSets)\r\n {\r\n turretSet?.Register(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveMobile::UnRegisterComponents (cpp:126-138): base, then forwards\r\n * the turret sets without re-checking display. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n super.UnRegisterComponents();\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const turretSet of this.turretSets)\r\n {\r\n turretSet?.UnRegister(registry);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Returns the locator index a turret slot was bound to, or 0 when the set or\r\n * slot has no binding.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTurretLocatorIndex(turretSetIndex, slotIndex)\r\n {\r\n return this.#turretSetsLocatorInfo[turretSetIndex]?.locators?.[slotIndex]?.index ?? 0;\r\n }\r\n\r\n /**\r\n * Binds each turret set to the locators or animated bones whose names extend\r\n * its locator name, allocating sets that do not name a turret locator from the\r\n * shared locator_turret_ pool, and pushes each matched transform into the set\r\n * as a local turret transform up to the per-set turret limit.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Authored EveLocator2 transforms and optional animation-updater bone transforms replace Carbon's locator-type pointer surface.\")\r\n RebuildTurretPositions()\r\n {\r\n this.#turretSetsLocatorInfo.length = 0;\r\n this.#resetTurretLocatorCounter(false);\r\n const records = this.#locatorRecords();\r\n for (const turretSet of this.turretSets)\r\n {\r\n if (!turretSet) continue;\r\n let name = String(turretSet.locatorName ?? \"\");\r\n let turretInName = name.includes(\"_turret_\");\r\n let locatorNumber = 0;\r\n if (!turretInName)\r\n {\r\n let counting = this.#getTurretLocatorCountingInfo(name);\r\n if (!counting)\r\n {\r\n name = \"locator_turret_\";\r\n counting = this.#getTurretLocatorCountingInfo(name);\r\n turretInName = true;\r\n }\r\n if (!counting)\r\n {\r\n this.#turretSetsLocatorInfo.push({ type: \"none\", locators: [] });\r\n continue;\r\n }\r\n locatorNumber = counting.current;\r\n if (locatorNumber > counting.total)\r\n {\r\n if (!turretInName)\r\n {\r\n name = \"locator_turret_\";\r\n counting = this.#getTurretLocatorCountingInfo(name);\r\n turretInName = true;\r\n }\r\n if (!counting || counting.current > counting.total)\r\n {\r\n this.#turretSetsLocatorInfo.push({ type: \"none\", locators: [] });\r\n continue;\r\n }\r\n locatorNumber = counting.current;\r\n }\r\n }\r\n if (turretInName) locatorNumber = Number(turretSet.slotNumber) | 0;\r\n const baseName = `${name}${locatorNumber}`;\r\n const matched = records\r\n .filter(record => record.name.startsWith(baseName))\r\n .sort((a, b) => a.name.localeCompare(b.name));\r\n const locatorInfo = { type: matched.some(record => record.type === \"bone\") ? \"bone\" : \"locator\", locators: [] };\r\n for (let index = 0; index < matched.length && index < EveTurretSet.MAX_TURRETS_PER_SET; index++)\r\n {\r\n const record = matched[index];\r\n const transform = this.#getLocatorRecordTransform(record, EveMobile.#locatorTransform);\r\n if (!transform) continue;\r\n turretSet.SetLocalTransform?.(index, transform);\r\n locatorInfo.locators.push(record);\r\n }\r\n this.#turretSetsLocatorInfo.push(locatorInfo);\r\n const counter = this.#turretLocatorCountingInfo.get(name);\r\n if (counter) counter.currentCount++;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Counts the unbroken run of locator_turret_<n>a/b locator pairs starting at\r\n * 1, returning 0 when the set of 'a' locators does not match the set of 'b'\r\n * locators.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTurretLocatorCount()\r\n {\r\n let foundA = 0;\r\n let foundB = 0;\r\n for (const record of this.#locatorRecords())\r\n {\r\n const match = /^locator_turret_(\\d+)([ab])$/.exec(record.name);\r\n if (!match) continue;\r\n const index = Number(match[1]);\r\n if (!(index > 0 && index <= 32)) continue;\r\n if (match[2] === \"a\") foundA |= 1 << (index - 1);\r\n else foundB |= 1 << (index - 1);\r\n }\r\n if (foundA !== foundB && foundB) return 0;\r\n let count = 0;\r\n while (foundA & 1)\r\n {\r\n count++;\r\n foundA >>>= 1;\r\n }\r\n return count;\r\n }\r\n\r\n /**\r\n * Returns how many turret sets were past the targeting state at the last\r\n * synchronous update.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetActiveTurretCount()\r\n {\r\n return this.ActiveTurretCount;\r\n }\r\n\r\n /**\r\n * Runs the base synchronous update, refreshes bone-driven turret locator\r\n * transforms, updates every turret set against the hull transform, and\r\n * recounts the active turrets.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Animated locator transforms use an optional animation-updater bone contract; all turret state updates remain in Trinity.\")\r\n UpdateSyncronous(context)\r\n {\r\n super.UpdateSyncronous(context);\r\n let activeCount = 0;\r\n for (let setIndex = 0; setIndex < this.turretSets.length; setIndex++)\r\n {\r\n const turretSet = this.turretSets[setIndex];\r\n if (!turretSet) continue;\r\n if (turretSet.state > EveTurretSet.State.STATE_TARGETING) activeCount++;\r\n const locatorInfo = this.#turretSetsLocatorInfo[setIndex];\r\n if (locatorInfo?.type === \"bone\")\r\n {\r\n for (let turretIndex = 0; turretIndex < locatorInfo.locators.length; turretIndex++)\r\n {\r\n const transform = this.#getLocatorRecordTransform(locatorInfo.locators[turretIndex], EveMobile.#locatorTransform);\r\n if (transform) turretSet.SetLocalTransform?.(turretIndex, transform);\r\n }\r\n turretSet.UpdateTurretTransforms?.(this.GetTurretTransform(turretSet.swarmID));\r\n }\r\n turretSet.UpdateSyncronous(context, this.GetTurretTransform(turretSet.swarmID));\r\n }\r\n this.ActiveTurretCount = activeCount;\r\n return true;\r\n }\r\n\r\n /** Runs the base asynchronous update and then the turret sets. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateAsyncronous(context)\r\n {\r\n super.UpdateAsyncronous(context);\r\n return this.UpdateTurretsAsyncronous(context);\r\n }\r\n\r\n /**\r\n * Advances every turret set's asynchronous work, handing it the hull transform\r\n * as its parent placement.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's native ParentData constant buffers collapse to the portable parent transform required by turret graph updates.\")\r\n UpdateTurretsAsyncronous(context)\r\n {\r\n for (const turretSet of this.turretSets) turretSet?.UpdateAsyncronous(context, { transform: this.GetTurretTransform(turretSet.swarmID) });\r\n return true;\r\n }\r\n\r\n /**\r\n * Runs the base visibility pass and, while display is on, forwards visibility\r\n * to the turret sets.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(context, _parentTransform = EveMobile.#identity)\r\n {\r\n const visible = super.UpdateVisibility(context, _parentTransform);\r\n if (!this.display) return false;\r\n for (const turretSet of this.turretSets) turretSet?.UpdateVisibility(context);\r\n return visible;\r\n }\r\n\r\n /**\r\n * Appends the base renderables followed by every turret set's renderables;\r\n * nothing is appended while display is off.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n if (!this.display) return out;\r\n super.GetRenderables(out);\r\n for (const turretSet of this.turretSets) turretSet?.GetRenderables(out);\r\n return out;\r\n }\r\n\r\n /**\r\n * Returns the hull's local bounding box grown to contain every turret set's\r\n * box; with out parameters it fills them and returns true, without them it\r\n * returns a { min, max } object.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalBoundingBox(outMin, outMax)\r\n {\r\n const returnObject = !outMin || !outMax;\r\n outMin ??= vec3.create();\r\n outMax ??= vec3.create();\r\n const result = super.GetLocalBoundingBox(outMin, outMax);\r\n if (result === false) return false;\r\n for (const turretSet of this.turretSets)\r\n {\r\n if (turretSet?.GetLocalBoundingBox?.(EveMobile.#boundsMin, EveMobile.#boundsMax))\r\n {\r\n vec3.min(outMin, outMin, EveMobile.#boundsMin);\r\n vec3.max(outMax, outMax, EveMobile.#boundsMax);\r\n }\r\n }\r\n return returnObject ? { min: outMin, max: outMax } : true;\r\n }\r\n\r\n /** Sets a controller variable on the hull and forwards it to every turret set. */\r\n @carbon.method\r\n @impl.implemented\r\n SetControllerVariable(name, value)\r\n {\r\n super.SetControllerVariable(name, value);\r\n for (const turretSet of this.turretSets) turretSet?.SetControllerVariable(name, value);\r\n }\r\n\r\n /** Raises a controller event on the hull and forwards it to every turret set. */\r\n @carbon.method\r\n @impl.implemented\r\n HandleControllerEvent(name)\r\n {\r\n super.HandleControllerEvent(name);\r\n for (const turretSet of this.turretSets) turretSet?.HandleControllerEvent(name);\r\n }\r\n\r\n /** Starts the hull's controllers and every turret set's controllers. */\r\n @carbon.method\r\n @impl.implemented\r\n StartControllers()\r\n {\r\n super.StartControllers();\r\n for (const turretSet of this.turretSets) turretSet?.StartControllers();\r\n }\r\n\r\n /**\r\n * Children, turret sets and boosters are shown only while activation strength\r\n * is above 0.5.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n DisplayChildren()\r\n {\r\n return this.activationStrength > 0.5;\r\n }\r\n\r\n /**\r\n * Returns the parent transform turret sets are placed against - the live hull\r\n * world transform, regardless of swarm index.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTurretTransform(_turretSetIndex = 0)\r\n {\r\n return this.worldTransform;\r\n }\r\n\r\n /**\r\n * Rebuilds the per-name-prefix counters that allocate turret sets to numbered\r\n * locators, resetting each prefix's running count and, when asked, recomputing\r\n * its total from the digit that follows the prefix.\r\n */\r\n #resetTurretLocatorCounter(updateTotal)\r\n {\r\n for (const record of this.#locatorRecords())\r\n {\r\n const separator = record.name.lastIndexOf(\"_\");\r\n if (separator < 0) continue;\r\n const prefix = record.name.slice(0, separator + 1);\r\n let info = this.#turretLocatorCountingInfo.get(prefix);\r\n if (!info)\r\n {\r\n info = { currentCount: 0, totalCount: 0 };\r\n this.#turretLocatorCountingInfo.set(prefix, info);\r\n }\r\n else info.currentCount = 0;\r\n if (updateTotal)\r\n {\r\n const number = Number.parseInt(record.name.slice(separator + 1, separator + 2), 10) || 0;\r\n info.totalCount = Math.max(info.totalCount, number);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Returns the next locator number to allocate for a name prefix together with\r\n * that prefix's total, or null when the prefix is unknown.\r\n */\r\n #getTurretLocatorCountingInfo(name)\r\n {\r\n const info = this.#turretLocatorCountingInfo.get(name);\r\n return info ? { current: info.currentCount + 1, total: info.totalCount } : null;\r\n }\r\n\r\n /**\r\n * Builds the name-keyed list of authored locators and animation-updater bones\r\n * that turret binding searches; a bone whose name is already taken by a\r\n * locator is skipped.\r\n */\r\n #locatorRecords()\r\n {\r\n const records = [];\r\n for (let index = 0; index < this.locators.length; index++)\r\n {\r\n const locator = this.locators[index];\r\n const name = String(locator?.GetName?.() ?? locator?.name ?? \"\");\r\n if (name) records.push({ name, type: \"locator\", index, value: locator });\r\n }\r\n const updater = this.animationUpdater;\r\n const names = updater?.GetBoneNames?.() ?? updater?.boneNames ?? updater?.GetSkeleton?.()?.bones ?? updater?.skeleton?.bones ?? [];\r\n for (let index = 0; index < names.length; index++)\r\n {\r\n const value = names[index];\r\n const name = String(value?.name ?? value ?? \"\");\r\n if (name && !records.some(record => record.name === name)) records.push({ name, type: \"bone\", index, value });\r\n }\r\n return records;\r\n }\r\n\r\n /**\r\n * Copies a locator record's transform into the caller-owned out matrix - the\r\n * animated bone world transform for bone records, the authored transform for\r\n * locator records - and returns null when neither is available.\r\n */\r\n #getLocatorRecordTransform(record, out)\r\n {\r\n if (record.type === \"bone\")\r\n {\r\n const value = this.animationUpdater?.GetBoneWorldTransform?.(record.name, out)\r\n ?? this.animationUpdater?.GetBoneTransform?.(record.index, out);\r\n if (value === false || value === null || value === undefined) return null;\r\n if (value?.length === 16 && value !== out) mat4.copy(out, value);\r\n return out;\r\n }\r\n const value = record.value?.GetTransform?.() ?? record.value?.transform;\r\n return value?.length === 16 ? mat4.copy(out, value) : null;\r\n }\r\n\r\n static #identity = mat4.create();\r\n static #locatorTransform = mat4.create();\r\n static #boundsMin = vec3.create();\r\n static #boundsMax = vec3.create();\r\n}\r\n"],"names":["_EveMobile","_identity","EveMobile","EveSpaceObject2","e","_init_turretSets","_init_extra_turretSets","_init_ActiveTurretCount","_init_extra_ActiveTurretCount","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","list","read","uint32","carbon","method","impl","implemented","adapted","reason","turretSets","ActiveTurretCount","Map","Initialize","RebuildTurretPositions","OnListModified","RegisterComponents","registry","GetComponentRegistry","display","turretSet","Register","UnRegisterComponents","UnRegister","GetTurretLocatorIndex","turretSetIndex","slotIndex","locators","index","length","records","name","String","locatorName","turretInName","includes","locatorNumber","counting","push","current","total","Number","slotNumber","baseName","matched","filter","record","startsWith","sort","a","b","localeCompare","locatorInfo","some","EveTurretSet","MAX_TURRETS_PER_SET","transform","SetLocalTransform","counter","get","currentCount","GetTurretLocatorCount","foundA","foundB","match","exec","count","GetActiveTurretCount","UpdateSyncronous","context","activeCount","setIndex","state","State","STATE_TARGETING","turretIndex","UpdateTurretTransforms","GetTurretTransform","swarmID","UpdateAsyncronous","UpdateTurretsAsyncronous","UpdateVisibility","_parentTransform","visible","GetRenderables","out","GetLocalBoundingBox","outMin","outMax","returnObject","vec3","create","result","min","max","SetControllerVariable","value","HandleControllerEvent","StartControllers","DisplayChildren","activationStrength","_turretSetIndex","worldTransform","#resetTurretLocatorCounter","updateTotal","separator","lastIndexOf","prefix","slice","info","totalCount","set","number","parseInt","Math","#getTurretLocatorCountingInfo","#locatorRecords","locator","GetName","updater","animationUpdater","names","GetBoneNames","boneNames","GetSkeleton","bones","skeleton","#getLocatorRecordTransform","GetBoneWorldTransform","GetBoneTransform","undefined","mat4","copy","GetTransform","constructor"],"mappings":";;;;;;;;;AASA;AACA;AACA;AACA;AACA;AAJA,IAAAA;AAAA,IAAA,cAAAC,SAAA,CAAA;AAAA,EAAA,QAKA,MAAAC,SAAA,SAC+BC,eAAe,CAC9C;AAAA,IAAA;AAAA,MAAA,CAAA;QAAAC,CAAA,EAAA,CAAAC,gBAAA,EAAAC,sBAAA,EAAAC,uBAAA,EAAAC,6BAAA,EAAAC,UAAA,CAAA;QAAAC,CAAA,EAAA,CAAAV,UAAA,EAAAW,UAAA;AAAA,OAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,WAAW;AAAEC,QAAAA,MAAM,EAAE;AAAkB,OAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAGhEC,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,UACVN,IAAI,CAACO,IAAI,CAAC,cAAc,CAAC,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAGzBH,EAAE,EAAFA,EAAE,CAACI,IAAI,EACPR,IAAI,EAAJA,IAAI,CAACS,MAAM,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAUXC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAUhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,kHAAkH,CAAC,4BAQ/HL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAgBhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAkBhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAYhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,+HAA+H,CAAC,CAAA,EAAA,EAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,CAqE5IL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CA4BhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAWhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,0HAA0H,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CA2BvIL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAWhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,yHAAyH,CAAC,CAAA,EAAA,EAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,CAWtIL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,8BAahBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAchBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAoBhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAQhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAQhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAWhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAUhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,0CA1VYvB,eAAe,CAAA;AAAA;AAK5C0B,IAAAA,UAAU,IAAApB,UAAA,CAAA,IAAA,CAAA,EAAAJ,gBAAA,OAAG,EAAE,CAAA;AAIfyB,IAAAA,iBAAiB,IAAAxB,sBAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,OAAG,CAAC,CAAA;AAErB,IAAA,sBAAsB,IAAAC,6BAAA,CAAA,IAAA,CAAA,EAAG,EAAE;AAC3B,IAAA,0BAA0B,GAAG,IAAIuB,GAAG,EAAE;;AAEtC;AACF;AACA;AACA;AAGEC,IAAAA,UAAUA,GACV;MACE,KAAK,CAACA,UAAU,EAAE;AAClB,MAAA,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC;MACrC,IAAI,CAACC,sBAAsB,EAAE;AAC7B,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AAIAC,IAAAA,cAAcA,GACd;MACE,IAAI,CAACD,sBAAsB,EAAE;AAC/B,IAAA;;AAEA;AACF;AAGEE,IAAAA,kBAAkBA,GAClB;MACE,KAAK,CAACA,kBAAkB,EAAE;AAC1B,MAAA,MAAMC,QAAQ,GAAG,IAAI,CAACC,oBAAoB,EAAE;AAC5C,MAAA,IAAID,QAAQ,IAAI,IAAI,CAACE,OAAO,EAC5B;AACE,QAAA,KAAK,MAAMC,SAAS,IAAI,IAAI,CAACV,UAAU,EACvC;AACEU,UAAAA,SAAS,EAAEC,QAAQ,CAACJ,QAAQ,CAAC;AAC/B,QAAA;AACF,MAAA;AACF,IAAA;;AAEA;AACF;AAGEK,IAAAA,oBAAoBA,GACpB;MACE,KAAK,CAACA,oBAAoB,EAAE;AAC5B,MAAA,MAAML,QAAQ,GAAG,IAAI,CAACC,oBAAoB,EAAE;AAC5C,MAAA,IAAID,QAAQ,EACZ;AACE,QAAA,KAAK,MAAMG,SAAS,IAAI,IAAI,CAACV,UAAU,EACvC;AACEU,UAAAA,SAAS,EAAEG,UAAU,CAACN,QAAQ,CAAC;AACjC,QAAA;AACF,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AACA;AAGEO,IAAAA,qBAAqBA,CAACC,cAAc,EAAEC,SAAS,EAC/C;AACE,MAAA,OAAO,IAAI,CAAC,sBAAsB,CAACD,cAAc,CAAC,EAAEE,QAAQ,GAAGD,SAAS,CAAC,EAAEE,KAAK,IAAI,CAAC;AACvF,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AAIEd,IAAAA,sBAAsBA,GACtB;AACE,MAAA,IAAI,CAAC,sBAAsB,CAACe,MAAM,GAAG,CAAC;AACtC,MAAA,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC;AACtC,MAAA,MAAMC,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE;AACtC,MAAA,KAAK,MAAMV,SAAS,IAAI,IAAI,CAACV,UAAU,EACvC;QACE,IAAI,CAACU,SAAS,EAAE;QAChB,IAAIW,IAAI,GAAGC,MAAM,CAACZ,SAAS,CAACa,WAAW,IAAI,EAAE,CAAC;AAC9C,QAAA,IAAIC,YAAY,GAAGH,IAAI,CAACI,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAIC,aAAa,GAAG,CAAC;QACrB,IAAI,CAACF,YAAY,EACjB;UACE,IAAIG,QAAQ,GAAG,IAAI,CAAC,6BAA6B,CAACN,IAAI,CAAC;UACvD,IAAI,CAACM,QAAQ,EACb;AACEN,YAAAA,IAAI,GAAG,iBAAiB;AACxBM,YAAAA,QAAQ,GAAG,IAAI,CAAC,6BAA6B,CAACN,IAAI,CAAC;AACnDG,YAAAA,YAAY,GAAG,IAAI;AACrB,UAAA;UACA,IAAI,CAACG,QAAQ,EACb;AACE,YAAA,IAAI,CAAC,sBAAsB,CAACC,IAAI,CAAC;AAAE5C,cAAAA,IAAI,EAAE,MAAM;AAAEiC,cAAAA,QAAQ,EAAE;AAAG,aAAC,CAAC;AAChE,YAAA;AACF,UAAA;UACAS,aAAa,GAAGC,QAAQ,CAACE,OAAO;AAChC,UAAA,IAAIH,aAAa,GAAGC,QAAQ,CAACG,KAAK,EAClC;YACE,IAAI,CAACN,YAAY,EACjB;AACEH,cAAAA,IAAI,GAAG,iBAAiB;AACxBM,cAAAA,QAAQ,GAAG,IAAI,CAAC,6BAA6B,CAACN,IAAI,CAAC;AACnDG,cAAAA,YAAY,GAAG,IAAI;AACrB,YAAA;YACA,IAAI,CAACG,QAAQ,IAAIA,QAAQ,CAACE,OAAO,GAAGF,QAAQ,CAACG,KAAK,EAClD;AACE,cAAA,IAAI,CAAC,sBAAsB,CAACF,IAAI,CAAC;AAAE5C,gBAAAA,IAAI,EAAE,MAAM;AAAEiC,gBAAAA,QAAQ,EAAE;AAAG,eAAC,CAAC;AAChE,cAAA;AACF,YAAA;YACAS,aAAa,GAAGC,QAAQ,CAACE,OAAO;AAClC,UAAA;AACF,QAAA;QACA,IAAIL,YAAY,EAAEE,aAAa,GAAGK,MAAM,CAACrB,SAAS,CAACsB,UAAU,CAAC,GAAG,CAAC;AAClE,QAAA,MAAMC,QAAQ,GAAG,CAAA,EAAGZ,IAAI,CAAA,EAAGK,aAAa,CAAA,CAAE;AAC1C,QAAA,MAAMQ,OAAO,GAAGd,OAAO,CACpBe,MAAM,CAACC,MAAM,IAAIA,MAAM,CAACf,IAAI,CAACgB,UAAU,CAACJ,QAAQ,CAAC,CAAC,CAClDK,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAAClB,IAAI,CAACoB,aAAa,CAACD,CAAC,CAACnB,IAAI,CAAC,CAAC;AAC/C,QAAA,MAAMqB,WAAW,GAAG;AAAE1D,UAAAA,IAAI,EAAEkD,OAAO,CAACS,IAAI,CAACP,MAAM,IAAIA,MAAM,CAACpD,IAAI,KAAK,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS;AAAEiC,UAAAA,QAAQ,EAAE;SAAI;AAC/G,QAAA,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGgB,OAAO,CAACf,MAAM,IAAID,KAAK,GAAG0B,aAAY,CAACC,mBAAmB,EAAE3B,KAAK,EAAE,EAC/F;AACE,UAAA,MAAMkB,MAAM,GAAGF,OAAO,CAAChB,KAAK,CAAC;AAC7B,UAAA,MAAM4B,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAACV,MAAM,EAAE/D,UAAS,CAAC,iBAAiB,CAAC;UACtF,IAAI,CAACyE,SAAS,EAAE;AAChBpC,UAAAA,SAAS,CAACqC,iBAAiB,GAAG7B,KAAK,EAAE4B,SAAS,CAAC;AAC/CJ,UAAAA,WAAW,CAACzB,QAAQ,CAACW,IAAI,CAACQ,MAAM,CAAC;AACnC,QAAA;AACA,QAAA,IAAI,CAAC,sBAAsB,CAACR,IAAI,CAACc,WAAW,CAAC;QAC7C,MAAMM,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAACC,GAAG,CAAC5B,IAAI,CAAC;AACzD,QAAA,IAAI2B,OAAO,EAAEA,OAAO,CAACE,YAAY,EAAE;AACrC,MAAA;AACA,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEC,IAAAA,qBAAqBA,GACrB;MACE,IAAIC,MAAM,GAAG,CAAC;MACd,IAAIC,MAAM,GAAG,CAAC;MACd,KAAK,MAAMjB,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,EAC3C;QACE,MAAMkB,KAAK,GAAG,8BAA8B,CAACC,IAAI,CAACnB,MAAM,CAACf,IAAI,CAAC;QAC9D,IAAI,CAACiC,KAAK,EAAE;QACZ,MAAMpC,KAAK,GAAGa,MAAM,CAACuB,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAEpC,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAI,EAAE,CAAC,EAAE;QACjC,IAAIoC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAEF,MAAM,IAAI,CAAC,IAAKlC,KAAK,GAAG,CAAE,CAAC,KAC5CmC,MAAM,IAAI,CAAC,IAAKnC,KAAK,GAAG,CAAE;AACjC,MAAA;AACA,MAAA,IAAIkC,MAAM,KAAKC,MAAM,IAAIA,MAAM,EAAE,OAAO,CAAC;MACzC,IAAIG,KAAK,GAAG,CAAC;MACb,OAAOJ,MAAM,GAAG,CAAC,EACjB;AACEI,QAAAA,KAAK,EAAE;AACPJ,QAAAA,MAAM,MAAM,CAAC;AACf,MAAA;AACA,MAAA,OAAOI,KAAK;AACd,IAAA;;AAEA;AACF;AACA;AACA;AAGEC,IAAAA,oBAAoBA,GACpB;MACE,OAAO,IAAI,CAACxD,iBAAiB;AAC/B,IAAA;;AAEA;AACF;AACA;AACA;AACA;IAIEyD,gBAAgBA,CAACC,OAAO,EACxB;AACE,MAAA,KAAK,CAACD,gBAAgB,CAACC,OAAO,CAAC;MAC/B,IAAIC,WAAW,GAAG,CAAC;AACnB,MAAA,KAAK,IAAIC,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAG,IAAI,CAAC7D,UAAU,CAACmB,MAAM,EAAE0C,QAAQ,EAAE,EACpE;AACE,QAAA,MAAMnD,SAAS,GAAG,IAAI,CAACV,UAAU,CAAC6D,QAAQ,CAAC;QAC3C,IAAI,CAACnD,SAAS,EAAE;QAChB,IAAIA,SAAS,CAACoD,KAAK,GAAGlB,aAAY,CAACmB,KAAK,CAACC,eAAe,EAAEJ,WAAW,EAAE;QACvE,MAAMlB,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAACmB,QAAQ,CAAC;AACzD,QAAA,IAAInB,WAAW,EAAE1D,IAAI,KAAK,MAAM,EAChC;AACE,UAAA,KAAK,IAAIiF,WAAW,GAAG,CAAC,EAAEA,WAAW,GAAGvB,WAAW,CAACzB,QAAQ,CAACE,MAAM,EAAE8C,WAAW,EAAE,EAClF;AACE,YAAA,MAAMnB,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAACJ,WAAW,CAACzB,QAAQ,CAACgD,WAAW,CAAC,EAAE5F,UAAS,CAAC,iBAAiB,CAAC;YACjH,IAAIyE,SAAS,EAAEpC,SAAS,CAACqC,iBAAiB,GAAGkB,WAAW,EAAEnB,SAAS,CAAC;AACtE,UAAA;UACApC,SAAS,CAACwD,sBAAsB,GAAG,IAAI,CAACC,kBAAkB,CAACzD,SAAS,CAAC0D,OAAO,CAAC,CAAC;AAChF,QAAA;AACA1D,QAAAA,SAAS,CAACgD,gBAAgB,CAACC,OAAO,EAAE,IAAI,CAACQ,kBAAkB,CAACzD,SAAS,CAAC0D,OAAO,CAAC,CAAC;AACjF,MAAA;MACA,IAAI,CAACnE,iBAAiB,GAAG2D,WAAW;AACpC,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;IAGAS,iBAAiBA,CAACV,OAAO,EACzB;AACE,MAAA,KAAK,CAACU,iBAAiB,CAACV,OAAO,CAAC;AAChC,MAAA,OAAO,IAAI,CAACW,wBAAwB,CAACX,OAAO,CAAC;AAC/C,IAAA;;AAEA;AACF;AACA;AACA;IAIEW,wBAAwBA,CAACX,OAAO,EAChC;AACE,MAAA,KAAK,MAAMjD,SAAS,IAAI,IAAI,CAACV,UAAU,EAAEU,SAAS,EAAE2D,iBAAiB,CAACV,OAAO,EAAE;AAAEb,QAAAA,SAAS,EAAE,IAAI,CAACqB,kBAAkB,CAACzD,SAAS,CAAC0D,OAAO;AAAE,OAAC,CAAC;AACzI,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;IAGEG,gBAAgBA,CAACZ,OAAO,EAAEa,gBAAgB,GAAGnG,UAAS,CAAC,SAAS,EAChE;MACE,MAAMoG,OAAO,GAAG,KAAK,CAACF,gBAAgB,CAACZ,OAAO,EAAEa,gBAAgB,CAAC;AACjE,MAAA,IAAI,CAAC,IAAI,CAAC/D,OAAO,EAAE,OAAO,KAAK;AAC/B,MAAA,KAAK,MAAMC,SAAS,IAAI,IAAI,CAACV,UAAU,EAAEU,SAAS,EAAE6D,gBAAgB,CAACZ,OAAO,CAAC;AAC7E,MAAA,OAAOc,OAAO;AAChB,IAAA;;AAEA;AACF;AACA;AACA;AAGEC,IAAAA,cAAcA,CAACC,GAAG,GAAG,EAAE,EACvB;AACE,MAAA,IAAI,CAAC,IAAI,CAAClE,OAAO,EAAE,OAAOkE,GAAG;AAC7B,MAAA,KAAK,CAACD,cAAc,CAACC,GAAG,CAAC;AACzB,MAAA,KAAK,MAAMjE,SAAS,IAAI,IAAI,CAACV,UAAU,EAAEU,SAAS,EAAEgE,cAAc,CAACC,GAAG,CAAC;AACvE,MAAA,OAAOA,GAAG;AACZ,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEC,IAAAA,mBAAmBA,CAACC,MAAM,EAAEC,MAAM,EAClC;AACE,MAAA,MAAMC,YAAY,GAAG,CAACF,MAAM,IAAI,CAACC,MAAM;AACvCD,MAAAA,MAAM,KAAKG,IAAI,CAACC,MAAM,EAAE;AACxBH,MAAAA,MAAM,KAAKE,IAAI,CAACC,MAAM,EAAE;MACxB,MAAMC,MAAM,GAAG,KAAK,CAACN,mBAAmB,CAACC,MAAM,EAAEC,MAAM,CAAC;AACxD,MAAA,IAAII,MAAM,KAAK,KAAK,EAAE,OAAO,KAAK;AAClC,MAAA,KAAK,MAAMxE,SAAS,IAAI,IAAI,CAACV,UAAU,EACvC;AACE,QAAA,IAAIU,SAAS,EAAEkE,mBAAmB,GAAGvG,UAAS,CAAC,UAAU,EAAEA,UAAS,CAAC,UAAU,CAAC,EAChF;UACE2G,IAAI,CAACG,GAAG,CAACN,MAAM,EAAEA,MAAM,EAAExG,UAAS,CAAC,UAAU,CAAC;UAC9C2G,IAAI,CAACI,GAAG,CAACN,MAAM,EAAEA,MAAM,EAAEzG,UAAS,CAAC,UAAU,CAAC;AAChD,QAAA;AACF,MAAA;AACA,MAAA,OAAO0G,YAAY,GAAG;AAAEI,QAAAA,GAAG,EAAEN,MAAM;AAAEO,QAAAA,GAAG,EAAEN;AAAO,OAAC,GAAG,IAAI;AAC3D,IAAA;;AAEA;AAGAO,IAAAA,qBAAqBA,CAAChE,IAAI,EAAEiE,KAAK,EACjC;AACE,MAAA,KAAK,CAACD,qBAAqB,CAAChE,IAAI,EAAEiE,KAAK,CAAC;AACxC,MAAA,KAAK,MAAM5E,SAAS,IAAI,IAAI,CAACV,UAAU,EAAEU,SAAS,EAAE2E,qBAAqB,CAAChE,IAAI,EAAEiE,KAAK,CAAC;AACxF,IAAA;;AAEA;IAGAC,qBAAqBA,CAAClE,IAAI,EAC1B;AACE,MAAA,KAAK,CAACkE,qBAAqB,CAAClE,IAAI,CAAC;AACjC,MAAA,KAAK,MAAMX,SAAS,IAAI,IAAI,CAACV,UAAU,EAAEU,SAAS,EAAE6E,qBAAqB,CAAClE,IAAI,CAAC;AACjF,IAAA;;AAEA;AAGAmE,IAAAA,gBAAgBA,GAChB;MACE,KAAK,CAACA,gBAAgB,EAAE;MACxB,KAAK,MAAM9E,SAAS,IAAI,IAAI,CAACV,UAAU,EAAEU,SAAS,EAAE8E,gBAAgB,EAAE;AACxE,IAAA;;AAEA;AACF;AACA;AACA;AAGEC,IAAAA,eAAeA,GACf;AACE,MAAA,OAAO,IAAI,CAACC,kBAAkB,GAAG,GAAG;AACtC,IAAA;;AAEA;AACF;AACA;AACA;AAGEvB,IAAAA,kBAAkBA,CAACwB,eAAe,GAAG,CAAC,EACtC;MACE,OAAO,IAAI,CAACC,cAAc;AAC5B,IAAA;;AAEA;AACF;AACA;AACA;AACA;IACE,0BAA0BC,CAACC,WAAW,EACtC;MACE,KAAK,MAAM1D,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,EAC3C;QACE,MAAM2D,SAAS,GAAG3D,MAAM,CAACf,IAAI,CAAC2E,WAAW,CAAC,GAAG,CAAC;QAC9C,IAAID,SAAS,GAAG,CAAC,EAAE;AACnB,QAAA,MAAME,MAAM,GAAG7D,MAAM,CAACf,IAAI,CAAC6E,KAAK,CAAC,CAAC,EAAEH,SAAS,GAAG,CAAC,CAAC;QAClD,IAAII,IAAI,GAAG,IAAI,CAAC,0BAA0B,CAAClD,GAAG,CAACgD,MAAM,CAAC;QACtD,IAAI,CAACE,IAAI,EACT;AACEA,UAAAA,IAAI,GAAG;AAAEjD,YAAAA,YAAY,EAAE,CAAC;AAAEkD,YAAAA,UAAU,EAAE;WAAG;UACzC,IAAI,CAAC,0BAA0B,CAACC,GAAG,CAACJ,MAAM,EAAEE,IAAI,CAAC;AACnD,QAAA,CAAC,MACIA,IAAI,CAACjD,YAAY,GAAG,CAAC;AAC1B,QAAA,IAAI4C,WAAW,EACf;UACE,MAAMQ,MAAM,GAAGvE,MAAM,CAACwE,QAAQ,CAACnE,MAAM,CAACf,IAAI,CAAC6E,KAAK,CAACH,SAAS,GAAG,CAAC,EAAEA,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;AACxFI,UAAAA,IAAI,CAACC,UAAU,GAAGI,IAAI,CAACpB,GAAG,CAACe,IAAI,CAACC,UAAU,EAAEE,MAAM,CAAC;AACrD,QAAA;AACF,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AACA;IACE,6BAA6BG,CAACpF,IAAI,EAClC;MACE,MAAM8E,IAAI,GAAG,IAAI,CAAC,0BAA0B,CAAClD,GAAG,CAAC5B,IAAI,CAAC;AACtD,MAAA,OAAO8E,IAAI,GAAG;AAAEtE,QAAAA,OAAO,EAAEsE,IAAI,CAACjD,YAAY,GAAG,CAAC;QAAEpB,KAAK,EAAEqE,IAAI,CAACC;AAAW,OAAC,GAAG,IAAI;AACjF,IAAA;;AAEA;AACF;AACA;AACA;AACA;IACE,eAAeM,GACf;MACE,MAAMtF,OAAO,GAAG,EAAE;AAClB,MAAA,KAAK,IAAIF,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,IAAI,CAACD,QAAQ,CAACE,MAAM,EAAED,KAAK,EAAE,EACzD;AACE,QAAA,MAAMyF,OAAO,GAAG,IAAI,CAAC1F,QAAQ,CAACC,KAAK,CAAC;AACpC,QAAA,MAAMG,IAAI,GAAGC,MAAM,CAACqF,OAAO,EAAEC,OAAO,IAAI,IAAID,OAAO,EAAEtF,IAAI,IAAI,EAAE,CAAC;AAChE,QAAA,IAAIA,IAAI,EAAED,OAAO,CAACQ,IAAI,CAAC;UAAEP,IAAI;AAAErC,UAAAA,IAAI,EAAE,SAAS;UAAEkC,KAAK;AAAEoE,UAAAA,KAAK,EAAEqB;AAAQ,SAAC,CAAC;AAC1E,MAAA;AACA,MAAA,MAAME,OAAO,GAAG,IAAI,CAACC,gBAAgB;MACrC,MAAMC,KAAK,GAAGF,OAAO,EAAEG,YAAY,IAAI,IAAIH,OAAO,EAAEI,SAAS,IAAIJ,OAAO,EAAEK,WAAW,IAAI,EAAEC,KAAK,IAAIN,OAAO,EAAEO,QAAQ,EAAED,KAAK,IAAI,EAAE;AAClI,MAAA,KAAK,IAAIjG,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG6F,KAAK,CAAC5F,MAAM,EAAED,KAAK,EAAE,EACjD;AACE,QAAA,MAAMoE,KAAK,GAAGyB,KAAK,CAAC7F,KAAK,CAAC;QAC1B,MAAMG,IAAI,GAAGC,MAAM,CAACgE,KAAK,EAAEjE,IAAI,IAAIiE,KAAK,IAAI,EAAE,CAAC;AAC/C,QAAA,IAAIjE,IAAI,IAAI,CAACD,OAAO,CAACuB,IAAI,CAACP,MAAM,IAAIA,MAAM,CAACf,IAAI,KAAKA,IAAI,CAAC,EAAED,OAAO,CAACQ,IAAI,CAAC;UAAEP,IAAI;AAAErC,UAAAA,IAAI,EAAE,MAAM;UAAEkC,KAAK;AAAEoE,UAAAA;AAAM,SAAC,CAAC;AAC/G,MAAA;AACA,MAAA,OAAOlE,OAAO;AAChB,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACE,IAAA,0BAA0BiG,CAACjF,MAAM,EAAEuC,GAAG,EACtC;AACE,MAAA,IAAIvC,MAAM,CAACpD,IAAI,KAAK,MAAM,EAC1B;QACE,MAAMsG,KAAK,GAAG,IAAI,CAACwB,gBAAgB,EAAEQ,qBAAqB,GAAGlF,MAAM,CAACf,IAAI,EAAEsD,GAAG,CAAC,IACzE,IAAI,CAACmC,gBAAgB,EAAES,gBAAgB,GAAGnF,MAAM,CAAClB,KAAK,EAAEyD,GAAG,CAAC;AACjE,QAAA,IAAIW,KAAK,KAAK,KAAK,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKkC,SAAS,EAAE,OAAO,IAAI;AACzE,QAAA,IAAIlC,KAAK,EAAEnE,MAAM,KAAK,EAAE,IAAImE,KAAK,KAAKX,GAAG,EAAE8C,IAAI,CAACC,IAAI,CAAC/C,GAAG,EAAEW,KAAK,CAAC;AAChE,QAAA,OAAOX,GAAG;AACZ,MAAA;AACA,MAAA,MAAMW,KAAK,GAAGlD,MAAM,CAACkD,KAAK,EAAEqC,YAAY,IAAI,IAAIvF,MAAM,CAACkD,KAAK,EAAExC,SAAS;AACvE,MAAA,OAAOwC,KAAK,EAAEnE,MAAM,KAAK,EAAE,GAAGsG,IAAI,CAACC,IAAI,CAAC/C,GAAG,EAAEW,KAAK,CAAC,GAAG,IAAI;AAC5D,IAAA;GAMD;AAJQ,EAAA,SAAS,GAAGmC,IAAI,CAACxC,MAAM,EAAE;AACzB,EAAA,iBAAiB,GAAGwC,IAAI,CAACxC,MAAM,EAAE;AACjC,EAAA,UAAU,GAAGD,IAAI,CAACC,MAAM,EAAE;AAC1B,EAAA,UAAU,GAAGD,IAAI,CAACC,MAAM,EAAE;EAAC2C,WAAAA,GAAA;IAAA,KAAA,CAAAzJ,UAAA,GAAAW,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
1
+ {"version":3,"file":"EveMobile.js","sources":["../../../../../src/trinity/eve/spaceObject/EveMobile.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/EveMobile.h\r\n// Source: trinity/trinity/Eve/SpaceObject/EveMobile.cpp\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { EveTurretSet } from \"../attachment/turrets/EveTurretSet.js\";\r\nimport { EveSpaceObject2 } from \"./EveSpaceObject2.js\";\r\n\r\n\r\n/**\r\n * A space object that carries turret sets, keeping each set bound to the hull\r\n * locators or animated bones it fires from and tracking how many of its turrets\r\n * are active.\r\n */\r\n@type.define({ className: \"EveMobile\", family: \"eve/spaceObject\" })\r\nexport class EveMobile extends EveSpaceObject2\r\n{\r\n @edit.notify\r\n @edit.persist\r\n @type.list(\"EveTurretSet\")\r\n turretSets = [];\r\n\r\n @edit.read\r\n @type.uint32\r\n ActiveTurretCount = 0;\r\n\r\n #turretSetsLocatorInfo = [];\r\n #turretLocatorCountingInfo = new Map();\r\n\r\n /**\r\n * Runs the base initialization, then seeds the turret locator counters from\r\n * the current locators and binds every turret set to them.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n super.Initialize();\r\n this.#resetTurretLocatorCounter(true);\r\n this.RebuildTurretPositions();\r\n return true;\r\n }\r\n\r\n /** Rebinds the turret sets to their locators after the turret set list changes. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"List notifications are represented by a direct browser callback; registry ownership is not ported yet.\")\r\n OnListModified()\r\n {\r\n this.RebuildTurretPositions();\r\n }\r\n\r\n /** Carbon EveMobile::RegisterComponents (cpp:109-120): base registration,\r\n * then forwards the turret sets. Gate m_display. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n super.RegisterComponents();\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.display)\r\n {\r\n for (const turretSet of this.turretSets)\r\n {\r\n turretSet?.Register(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveMobile::UnRegisterComponents (cpp:126-138): base, then forwards\r\n * the turret sets without re-checking display. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n super.UnRegisterComponents();\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const turretSet of this.turretSets)\r\n {\r\n turretSet?.UnRegister(registry);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Returns the locator index a turret slot was bound to, or 0 when the set or\r\n * slot has no binding.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTurretLocatorIndex(turretSetIndex, slotIndex)\r\n {\r\n return this.#turretSetsLocatorInfo[turretSetIndex]?.locators?.[slotIndex]?.index ?? 0;\r\n }\r\n\r\n /**\r\n * Binds each turret set to the locators or animated bones whose names extend\r\n * its locator name, allocating sets that do not name a turret locator from the\r\n * shared locator_turret_ pool, and pushes each matched transform into the set\r\n * as a local turret transform up to the per-set turret limit.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Authored EveLocator2 transforms and optional animation-updater bone transforms replace Carbon's locator-type pointer surface.\")\r\n RebuildTurretPositions()\r\n {\r\n this.#turretSetsLocatorInfo.length = 0;\r\n this.#resetTurretLocatorCounter(false);\r\n const records = this.#locatorRecords();\r\n for (const turretSet of this.turretSets)\r\n {\r\n if (!turretSet) continue;\r\n let name = String(turretSet.locatorName ?? \"\");\r\n let turretInName = name.includes(\"_turret_\");\r\n let locatorNumber = 0;\r\n if (!turretInName)\r\n {\r\n let counting = this.#getTurretLocatorCountingInfo(name);\r\n if (!counting)\r\n {\r\n name = \"locator_turret_\";\r\n counting = this.#getTurretLocatorCountingInfo(name);\r\n turretInName = true;\r\n }\r\n if (!counting)\r\n {\r\n this.#turretSetsLocatorInfo.push({ type: \"none\", locators: [] });\r\n continue;\r\n }\r\n locatorNumber = counting.current;\r\n if (locatorNumber > counting.total)\r\n {\r\n if (!turretInName)\r\n {\r\n name = \"locator_turret_\";\r\n counting = this.#getTurretLocatorCountingInfo(name);\r\n turretInName = true;\r\n }\r\n if (!counting || counting.current > counting.total)\r\n {\r\n this.#turretSetsLocatorInfo.push({ type: \"none\", locators: [] });\r\n continue;\r\n }\r\n locatorNumber = counting.current;\r\n }\r\n }\r\n if (turretInName) locatorNumber = Number(turretSet.slotNumber) | 0;\r\n const baseName = `${name}${locatorNumber}`;\r\n const matched = records\r\n .filter(record => record.name.startsWith(baseName))\r\n .sort((a, b) => a.name.localeCompare(b.name));\r\n const locatorInfo = { type: matched.some(record => record.type === \"bone\") ? \"bone\" : \"locator\", locators: [] };\r\n for (let index = 0; index < matched.length && index < EveTurretSet.MAX_TURRETS_PER_SET; index++)\r\n {\r\n const record = matched[index];\r\n const transform = this.#getLocatorRecordTransform(record, EveMobile.#locatorTransform);\r\n if (!transform) continue;\r\n turretSet.SetLocalTransform?.(index, transform);\r\n locatorInfo.locators.push(record);\r\n }\r\n this.#turretSetsLocatorInfo.push(locatorInfo);\r\n const counter = this.#turretLocatorCountingInfo.get(name);\r\n if (counter) counter.currentCount++;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Counts the unbroken run of locator_turret_<n>a/b locator pairs starting at\r\n * 1, returning 0 when the set of 'a' locators does not match the set of 'b'\r\n * locators.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTurretLocatorCount()\r\n {\r\n let foundA = 0;\r\n let foundB = 0;\r\n for (const record of this.#locatorRecords())\r\n {\r\n const match = /^locator_turret_(\\d+)([ab])$/.exec(record.name);\r\n if (!match) continue;\r\n const index = Number(match[1]);\r\n if (!(index > 0 && index <= 32)) continue;\r\n if (match[2] === \"a\") foundA |= 1 << (index - 1);\r\n else foundB |= 1 << (index - 1);\r\n }\r\n if (foundA !== foundB && foundB) return 0;\r\n let count = 0;\r\n while (foundA & 1)\r\n {\r\n count++;\r\n foundA >>>= 1;\r\n }\r\n return count;\r\n }\r\n\r\n /**\r\n * Returns how many turret sets were past the targeting state at the last\r\n * synchronous update.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetActiveTurretCount()\r\n {\r\n return this.ActiveTurretCount;\r\n }\r\n\r\n /**\r\n * Runs the base synchronous update, refreshes bone-driven turret locator\r\n * transforms, updates every turret set against the hull transform, and\r\n * recounts the active turrets.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Animated locator transforms use an optional animation-updater bone contract; all turret state updates remain in Trinity.\")\r\n UpdateSyncronous(context)\r\n {\r\n super.UpdateSyncronous(context);\r\n let activeCount = 0;\r\n for (let setIndex = 0; setIndex < this.turretSets.length; setIndex++)\r\n {\r\n const turretSet = this.turretSets[setIndex];\r\n if (!turretSet) continue;\r\n if (turretSet.state > EveTurretSet.State.STATE_TARGETING) activeCount++;\r\n const locatorInfo = this.#turretSetsLocatorInfo[setIndex];\r\n if (locatorInfo?.type === \"bone\")\r\n {\r\n for (let turretIndex = 0; turretIndex < locatorInfo.locators.length; turretIndex++)\r\n {\r\n const transform = this.#getLocatorRecordTransform(locatorInfo.locators[turretIndex], EveMobile.#locatorTransform);\r\n if (transform) turretSet.SetLocalTransform?.(turretIndex, transform);\r\n }\r\n turretSet.UpdateTurretTransforms?.(this.GetTurretTransform(turretSet.swarmID));\r\n }\r\n turretSet.UpdateSyncronous(context, this.GetTurretTransform(turretSet.swarmID));\r\n }\r\n this.ActiveTurretCount = activeCount;\r\n return true;\r\n }\r\n\r\n /** Runs the base asynchronous update and then the turret sets. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateAsyncronous(context)\r\n {\r\n super.UpdateAsyncronous(context);\r\n return this.UpdateTurretsAsyncronous(context);\r\n }\r\n\r\n /**\r\n * Advances every turret set's asynchronous work, handing it the hull transform\r\n * as its parent placement.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's native ParentData constant buffers collapse to the portable parent transform required by turret graph updates.\")\r\n UpdateTurretsAsyncronous(context)\r\n {\r\n for (const turretSet of this.turretSets) turretSet?.UpdateAsyncronous(context, { transform: this.GetTurretTransform(turretSet.swarmID) });\r\n return true;\r\n }\r\n\r\n /**\r\n * Runs the base visibility pass and, while display is on, forwards visibility\r\n * to the turret sets.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(context, _parentTransform = EveMobile.#identity)\r\n {\r\n const visible = super.UpdateVisibility(context, _parentTransform);\r\n if (!this.display) return false;\r\n for (const turretSet of this.turretSets) turretSet?.UpdateVisibility(context);\r\n return visible;\r\n }\r\n\r\n /**\r\n * Appends the base renderables followed by every turret set's renderables;\r\n * nothing is appended while display is off.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n if (!this.display) return out;\r\n super.GetRenderables(out);\r\n for (const turretSet of this.turretSets) turretSet?.GetRenderables(out);\r\n return out;\r\n }\r\n\r\n /**\r\n * Returns the hull's local bounding box grown to contain every turret set's\r\n * box; with out parameters it fills them and returns true, without them it\r\n * returns a { min, max } object.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalBoundingBox(outMin, outMax)\r\n {\r\n const returnObject = !outMin || !outMax;\r\n outMin ??= vec3.create();\r\n outMax ??= vec3.create();\r\n const result = super.GetLocalBoundingBox(outMin, outMax);\r\n if (result === false) return false;\r\n for (const turretSet of this.turretSets)\r\n {\r\n if (turretSet?.GetLocalBoundingBox?.(EveMobile.#boundsMin, EveMobile.#boundsMax))\r\n {\r\n vec3.min(outMin, outMin, EveMobile.#boundsMin);\r\n vec3.max(outMax, outMax, EveMobile.#boundsMax);\r\n }\r\n }\r\n return returnObject ? { min: outMin, max: outMax } : true;\r\n }\r\n\r\n /** Sets a controller variable on the hull and forwards it to every turret set. */\r\n @carbon.method\r\n @impl.implemented\r\n SetControllerVariable(name, value)\r\n {\r\n super.SetControllerVariable(name, value);\r\n for (const turretSet of this.turretSets) turretSet?.SetControllerVariable(name, value);\r\n }\r\n\r\n /** Raises a controller event on the hull and forwards it to every turret set. */\r\n @carbon.method\r\n @impl.implemented\r\n HandleControllerEvent(name)\r\n {\r\n super.HandleControllerEvent(name);\r\n for (const turretSet of this.turretSets) turretSet?.HandleControllerEvent(name);\r\n }\r\n\r\n /** Starts the hull's controllers and every turret set's controllers. */\r\n @carbon.method\r\n @impl.implemented\r\n StartControllers()\r\n {\r\n super.StartControllers();\r\n for (const turretSet of this.turretSets) turretSet?.StartControllers();\r\n }\r\n\r\n /**\r\n * Children, turret sets and boosters are shown only while activation strength\r\n * is above 0.5.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n DisplayChildren()\r\n {\r\n return this.activationStrength > 0.5;\r\n }\r\n\r\n /**\r\n * Returns the parent transform turret sets are placed against - the live hull\r\n * world transform, regardless of swarm index.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTurretTransform(_turretSetIndex = 0)\r\n {\r\n return this.worldTransform;\r\n }\r\n\r\n /**\r\n * Rebuilds the per-name-prefix counters that allocate turret sets to numbered\r\n * locators, resetting each prefix's running count and, when asked, recomputing\r\n * its total from the digit that follows the prefix.\r\n */\r\n #resetTurretLocatorCounter(updateTotal)\r\n {\r\n for (const record of this.#locatorRecords())\r\n {\r\n const separator = record.name.lastIndexOf(\"_\");\r\n if (separator < 0) continue;\r\n const prefix = record.name.slice(0, separator + 1);\r\n let info = this.#turretLocatorCountingInfo.get(prefix);\r\n if (!info)\r\n {\r\n info = { currentCount: 0, totalCount: 0 };\r\n this.#turretLocatorCountingInfo.set(prefix, info);\r\n }\r\n else info.currentCount = 0;\r\n if (updateTotal)\r\n {\r\n const number = Number.parseInt(record.name.slice(separator + 1, separator + 2), 10) || 0;\r\n info.totalCount = Math.max(info.totalCount, number);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Returns the next locator number to allocate for a name prefix together with\r\n * that prefix's total, or null when the prefix is unknown.\r\n */\r\n #getTurretLocatorCountingInfo(name)\r\n {\r\n const info = this.#turretLocatorCountingInfo.get(name);\r\n return info ? { current: info.currentCount + 1, total: info.totalCount } : null;\r\n }\r\n\r\n /**\r\n * Builds the name-keyed list of authored locators and animation-updater bones\r\n * that turret binding searches; a bone whose name is already taken by a\r\n * locator is skipped.\r\n */\r\n #locatorRecords()\r\n {\r\n const records = [];\r\n for (let index = 0; index < this.locators.length; index++)\r\n {\r\n const locator = this.locators[index];\r\n const name = String(locator?.GetName?.() ?? locator?.name ?? \"\");\r\n if (name) records.push({ name, type: \"locator\", index, value: locator });\r\n }\r\n const updater = this.animationUpdater;\r\n const names = updater?.GetBoneNames?.() ?? updater?.boneNames ?? updater?.GetSkeleton?.()?.bones ?? updater?.skeleton?.bones ?? [];\r\n for (let index = 0; index < names.length; index++)\r\n {\r\n const value = names[index];\r\n const name = String(value?.name ?? value ?? \"\");\r\n if (name && !records.some(record => record.name === name)) records.push({ name, type: \"bone\", index, value });\r\n }\r\n return records;\r\n }\r\n\r\n /**\r\n * Copies a locator record's transform into the caller-owned out matrix - the\r\n * animated bone world transform for bone records, the authored transform for\r\n * locator records - and returns null when neither is available.\r\n */\r\n #getLocatorRecordTransform(record, out)\r\n {\r\n if (record.type === \"bone\")\r\n {\r\n const value = this.animationUpdater?.GetBoneWorldTransform?.(record.name, out)\r\n ?? this.animationUpdater?.GetBoneTransform?.(record.index, out);\r\n if (value === false || value === null || value === undefined) return null;\r\n if (value?.length === 16 && value !== out) mat4.copy(out, value);\r\n return out;\r\n }\r\n const value = record.value?.GetTransform?.() ?? record.value?.transform;\r\n return value?.length === 16 ? mat4.copy(out, value) : null;\r\n }\r\n\r\n static #identity = mat4.create();\r\n static #locatorTransform = mat4.create();\r\n static #boundsMin = vec3.create();\r\n static #boundsMax = vec3.create();\r\n}\r\n"],"names":["_EveMobile","_identity","EveMobile","EveSpaceObject2","e","_init_turretSets","_init_extra_turretSets","_init_ActiveTurretCount","_init_extra_ActiveTurretCount","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","notify","persist","list","read","uint32","carbon","method","impl","implemented","adapted","reason","turretSets","ActiveTurretCount","Map","Initialize","RebuildTurretPositions","OnListModified","RegisterComponents","registry","GetComponentRegistry","display","turretSet","Register","UnRegisterComponents","UnRegister","GetTurretLocatorIndex","turretSetIndex","slotIndex","locators","index","length","records","name","String","locatorName","turretInName","includes","locatorNumber","counting","push","current","total","Number","slotNumber","baseName","matched","filter","record","startsWith","sort","a","b","localeCompare","locatorInfo","some","EveTurretSet","MAX_TURRETS_PER_SET","transform","SetLocalTransform","counter","get","currentCount","GetTurretLocatorCount","foundA","foundB","match","exec","count","GetActiveTurretCount","UpdateSyncronous","context","activeCount","setIndex","state","State","STATE_TARGETING","turretIndex","UpdateTurretTransforms","GetTurretTransform","swarmID","UpdateAsyncronous","UpdateTurretsAsyncronous","UpdateVisibility","_parentTransform","visible","GetRenderables","out","GetLocalBoundingBox","outMin","outMax","returnObject","vec3","create","result","min","max","SetControllerVariable","value","HandleControllerEvent","StartControllers","DisplayChildren","activationStrength","_turretSetIndex","worldTransform","#resetTurretLocatorCounter","updateTotal","separator","lastIndexOf","prefix","slice","info","totalCount","set","number","parseInt","Math","#getTurretLocatorCountingInfo","#locatorRecords","locator","GetName","updater","animationUpdater","names","GetBoneNames","boneNames","GetSkeleton","bones","skeleton","#getLocatorRecordTransform","GetBoneWorldTransform","GetBoneTransform","undefined","mat4","copy","GetTransform","constructor"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../..
2
2
  import { mat4 } from '#math/mat4';
3
3
  import { quat } from '#math/quat';
4
4
  import { vec3 } from '#math/vec3';
5
- import { io, type, carbon, impl } from '#schema';
5
+ import { edit, type, carbon, impl } from '#schema';
6
6
  import { EveTransform as _EveTransform } from './EveTransform.js';
7
7
 
8
8
  let _initProto, _initClass, _init_boundingSphereRadius, _init_extra_boundingSphereRadius, _init_rotationCurve, _init_extra_rotationCurve, _init_modelTranslationCurve, _init_extra_modelTranslationCurve, _init_modelRotationCurve, _init_extra_modelRotationCurve, _init_translationCurve, _init_extra_translationCurve;
@@ -21,7 +21,7 @@ new class extends _identity {
21
21
  } = _applyDecs2311(this, [type.define({
22
22
  className: "EveRootTransform",
23
23
  family: "eve/spaceObject"
24
- })], [[[io, io.persist, type, type.float32], 16, "boundingSphereRadius"], [[io, io.persist, void 0, type.model("ITriQuaternionFunction")], 16, "rotationCurve"], [[io, io.persist, void 0, type.model("ITriVectorFunction")], 16, "modelTranslationCurve"], [[io, io.persist, void 0, type.model("ITriQuaternionFunction")], 16, "modelRotationCurve"], [[io, io.persist, void 0, type.model("ITriVectorFunction")], 16, "translationCurve"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Curve outputs use CarbonEngineJS's time-first, output-second convention.")], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.noop], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "Update"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateViewDependentData"], [[carbon, carbon.method, impl, impl.noop], 18, "GetDamageLocatorCount"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses output parameters last and returns the targetable validity flag.")], 18, "GetDamageLocatorPosition"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses output parameters last and returns the targetable validity flag.")], 18, "GetDamageLocatorDirection"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses an out-last signature for output parameters.")], 18, "GetImpactPosition"], [[carbon, carbon.method, impl, impl.noop], 18, "HasImpactConfigurationShield"], [[carbon, carbon.method, impl, impl.noop], 18, "GetClosestDamageLocatorIndex"], [[carbon, carbon.method, impl, impl.noop], 18, "GetGoodDamageLocatorIndex"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRadius"], [[carbon, carbon.method, impl, impl.noop], 18, "CreateImpact"], [[carbon, carbon.method, impl, impl.noop], 18, "UpdateImpact"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMissPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphereRadius"]], 0, void 0, _EveTransform));
24
+ })], [[[edit, edit.persist, type, type.float32], 16, "boundingSphereRadius"], [[edit, edit.persist, void 0, type.model("ITriQuaternionFunction")], 16, "rotationCurve"], [[edit, edit.persist, void 0, type.model("ITriVectorFunction")], 16, "modelTranslationCurve"], [[edit, edit.persist, void 0, type.model("ITriQuaternionFunction")], 16, "modelRotationCurve"], [[edit, edit.persist, void 0, type.model("ITriVectorFunction")], 16, "translationCurve"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Curve outputs use CarbonEngineJS's time-first, output-second convention.")], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.noop], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "Update"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateViewDependentData"], [[carbon, carbon.method, impl, impl.noop], 18, "GetDamageLocatorCount"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses output parameters last and returns the targetable validity flag.")], 18, "GetDamageLocatorPosition"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses output parameters last and returns the targetable validity flag.")], 18, "GetDamageLocatorDirection"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses an out-last signature for output parameters.")], 18, "GetImpactPosition"], [[carbon, carbon.method, impl, impl.noop], 18, "HasImpactConfigurationShield"], [[carbon, carbon.method, impl, impl.noop], 18, "GetClosestDamageLocatorIndex"], [[carbon, carbon.method, impl, impl.noop], 18, "GetGoodDamageLocatorIndex"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRadius"], [[carbon, carbon.method, impl, impl.noop], 18, "CreateImpact"], [[carbon, carbon.method, impl, impl.noop], 18, "UpdateImpact"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMissPosition"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphereRadius"]], 0, void 0, _EveTransform));
25
25
  }
26
26
  /** m_boundingSphereRadius (float) [READWRITE, PERSIST] */
27
27
  boundingSphereRadius = (_initProto(this), _init_boundingSphereRadius(this, -1));