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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1620) hide show
  1. package/NOTICE +5 -4
  2. package/dist/audio/generated/audio/AudEventKey.js +2 -2
  3. package/dist/audio/generated/audio/AudEventKey.js.map +1 -1
  4. package/dist/audio/generated/audio/AudSettings.js +2 -2
  5. package/dist/audio/generated/audio/AudSettings.js.map +1 -1
  6. package/dist/audio/index.js +1 -1
  7. package/dist/audio/trinity/audio/AudEmitter.js +4 -5
  8. package/dist/audio/trinity/audio/AudEmitter.js.map +1 -1
  9. package/dist/audio/trinity/audio/AudEventCurve.js +14 -14
  10. package/dist/audio/trinity/audio/AudEventCurve.js.map +1 -1
  11. package/dist/audio/trinity/audio/AudGameObjResource.js +13 -25
  12. package/dist/audio/trinity/audio/AudGameObjResource.js.map +1 -1
  13. package/dist/audio/trinity/audio/AudManager.js +2 -2
  14. package/dist/audio/trinity/audio/AudManager.js.map +1 -1
  15. package/dist/audio/trinity/audio/AudParameter.js +7 -11
  16. package/dist/audio/trinity/audio/AudParameter.js.map +1 -1
  17. package/dist/audio/trinity/audio/AudUIPlayer.js +2 -2
  18. package/dist/audio/trinity/audio/AudUIPlayer.js.map +1 -1
  19. package/dist/audio/trinity/audio/AudioCurveSetDriver.js +2 -2
  20. package/dist/audio/trinity/audio/AudioCurveSetDriver.js.map +1 -1
  21. package/dist/audio/trinity/audio/StretchAudio.js +2 -2
  22. package/dist/audio/trinity/audio/StretchAudio.js.map +1 -1
  23. package/dist/audio/trinity/index.js +1 -1
  24. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js +2 -2
  25. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js.map +1 -1
  26. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js +2 -2
  27. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js.map +1 -1
  28. package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js +1 -37
  29. package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js.map +1 -1
  30. package/dist/character/incarna/curves/Tr2ColorCurve.js +2 -2
  31. package/dist/character/incarna/curves/Tr2ColorCurve.js.map +1 -1
  32. package/dist/character/incarna/curves/Tr2ColorKey.js +2 -2
  33. package/dist/character/incarna/curves/Tr2ColorKey.js.map +1 -1
  34. package/dist/character/incarna/curves/Tr2ScalarCurve.js +2 -2
  35. package/dist/character/incarna/curves/Tr2ScalarCurve.js.map +1 -1
  36. package/dist/character/incarna/curves/Tr2ScalarKey.js +2 -2
  37. package/dist/character/incarna/curves/Tr2ScalarKey.js.map +1 -1
  38. package/dist/character/incarna/interior/Tr2InteriorCell.js +2 -2
  39. package/dist/character/incarna/interior/Tr2InteriorCell.js.map +1 -1
  40. package/dist/character/library/CjsCharacterLibrary.js +9 -16
  41. package/dist/character/library/CjsCharacterLibrary.js.map +1 -1
  42. package/dist/character/library/CjsCharacterLibraryDocuments.js +20 -4
  43. package/dist/character/library/CjsCharacterLibraryDocuments.js.map +1 -1
  44. package/dist/character/model/CjsCharacterRecord.js +2 -2
  45. package/dist/character/model/CjsCharacterRecord.js.map +1 -1
  46. package/dist/character/model/activity/CjsCharacterArchetype.js +2 -2
  47. package/dist/character/model/activity/CjsCharacterArchetype.js.map +1 -1
  48. package/dist/character/model/appearance/CjsCharacterColorLocation.js +2 -2
  49. package/dist/character/model/appearance/CjsCharacterColorLocation.js.map +1 -1
  50. package/dist/character/model/appearance/CjsCharacterColorName.js +2 -2
  51. package/dist/character/model/appearance/CjsCharacterColorName.js.map +1 -1
  52. package/dist/character/model/appearance/CjsCharacterColorSelection.js +2 -2
  53. package/dist/character/model/appearance/CjsCharacterColorSelection.js.map +1 -1
  54. package/dist/character/model/appearance/CjsCharacterSculptSelection.js +2 -2
  55. package/dist/character/model/appearance/CjsCharacterSculptSelection.js.map +1 -1
  56. package/dist/character/model/appearance/CjsCharacterSculptingLocation.js +2 -2
  57. package/dist/character/model/appearance/CjsCharacterSculptingLocation.js.map +1 -1
  58. package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js +2 -2
  59. package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js.map +1 -1
  60. package/dist/character/model/catalog/CjsCharacterColorValue.js +2 -2
  61. package/dist/character/model/catalog/CjsCharacterColorValue.js.map +1 -1
  62. package/dist/character/model/catalog/CjsCharacterDefinition.js +2 -2
  63. package/dist/character/model/catalog/CjsCharacterDefinition.js.map +1 -1
  64. package/dist/character/model/catalog/CjsCharacterMaterialProfile.js +2 -2
  65. package/dist/character/model/catalog/CjsCharacterMaterialProfile.js.map +1 -1
  66. package/dist/character/model/catalog/CjsCharacterModifierReference.js +2 -2
  67. package/dist/character/model/catalog/CjsCharacterModifierReference.js.map +1 -1
  68. package/dist/character/model/catalog/CjsCharacterPartMetadata.js +2 -2
  69. package/dist/character/model/catalog/CjsCharacterPartMetadata.js.map +1 -1
  70. package/dist/character/model/catalog/CjsCharacterPartModelBundle.js +2 -2
  71. package/dist/character/model/catalog/CjsCharacterPartModelBundle.js.map +1 -1
  72. package/dist/character/model/catalog/CjsCharacterPartSource.js +2 -2
  73. package/dist/character/model/catalog/CjsCharacterPartSource.js.map +1 -1
  74. package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js +2 -2
  75. package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js.map +1 -1
  76. package/dist/character/model/catalog/CjsCharacterPartType.js +2 -2
  77. package/dist/character/model/catalog/CjsCharacterPartType.js.map +1 -1
  78. package/dist/character/model/catalog/CjsCharacterProjectionProfile.js +2 -2
  79. package/dist/character/model/catalog/CjsCharacterProjectionProfile.js.map +1 -1
  80. package/dist/character/model/catalog/CjsCharacterRecipeEntry.js +2 -2
  81. package/dist/character/model/catalog/CjsCharacterRecipeEntry.js.map +1 -1
  82. package/dist/character/model/catalog/CjsCharacterRecipeProfile.js +2 -2
  83. package/dist/character/model/catalog/CjsCharacterRecipeProfile.js.map +1 -1
  84. package/dist/character/model/catalog/CjsCharacterTextureMetadata.js +2 -2
  85. package/dist/character/model/catalog/CjsCharacterTextureMetadata.js.map +1 -1
  86. package/dist/character/model/composition/CjsCharacterModifierLocation.js +2 -2
  87. package/dist/character/model/composition/CjsCharacterModifierLocation.js.map +1 -1
  88. package/dist/character/model/composition/CjsCharacterModifierSelection.js +2 -2
  89. package/dist/character/model/composition/CjsCharacterModifierSelection.js.map +1 -1
  90. package/dist/character/model/creation/CjsCharacterPaperdoll.js +2 -2
  91. package/dist/character/model/creation/CjsCharacterPaperdoll.js.map +1 -1
  92. package/dist/character/model/demographics/CjsCharacterAncestry.js +2 -2
  93. package/dist/character/model/demographics/CjsCharacterAncestry.js.map +1 -1
  94. package/dist/character/model/demographics/CjsCharacterBloodline.js +2 -2
  95. package/dist/character/model/demographics/CjsCharacterBloodline.js.map +1 -1
  96. package/dist/character/model/demographics/CjsCharacterRace.js +2 -2
  97. package/dist/character/model/demographics/CjsCharacterRace.js.map +1 -1
  98. package/dist/character/model/planning/CjsCharacterAppearanceBinding.js +2 -2
  99. package/dist/character/model/planning/CjsCharacterAppearanceBinding.js.map +1 -1
  100. package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js +2 -2
  101. package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js.map +1 -1
  102. package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js +2 -2
  103. package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js.map +1 -1
  104. package/dist/character/model/planning/CjsCharacterAppearanceLayer.js +2 -2
  105. package/dist/character/model/planning/CjsCharacterAppearanceLayer.js.map +1 -1
  106. package/dist/character/model/planning/CjsCharacterAppearancePlan.js +2 -2
  107. package/dist/character/model/planning/CjsCharacterAppearancePlan.js.map +1 -1
  108. package/dist/character/model/planning/CjsCharacterAppearanceSelection.js +2 -2
  109. package/dist/character/model/planning/CjsCharacterAppearanceSelection.js.map +1 -1
  110. package/dist/character/model/planning/CjsCharacterBindingAlpha.js +2 -2
  111. package/dist/character/model/planning/CjsCharacterBindingAlpha.js.map +1 -1
  112. package/dist/character/model/planning/CjsCharacterCompositionInput.js +2 -2
  113. package/dist/character/model/planning/CjsCharacterCompositionInput.js.map +1 -1
  114. package/dist/character/model/planning/CjsCharacterCompositionPass.js +2 -2
  115. package/dist/character/model/planning/CjsCharacterCompositionPass.js.map +1 -1
  116. package/dist/character/model/planning/CjsCharacterCompositionTarget.js +2 -2
  117. package/dist/character/model/planning/CjsCharacterCompositionTarget.js.map +1 -1
  118. package/dist/character/model/planning/CjsCharacterCoverage.js +2 -2
  119. package/dist/character/model/planning/CjsCharacterCoverage.js.map +1 -1
  120. package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js +2 -2
  121. package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js.map +1 -1
  122. package/dist/character/model/planning/CjsCharacterOrigin.js +2 -2
  123. package/dist/character/model/planning/CjsCharacterOrigin.js.map +1 -1
  124. package/dist/character/model/planning/CjsCharacterResolvedPart.js +2 -2
  125. package/dist/character/model/planning/CjsCharacterResolvedPart.js.map +1 -1
  126. package/dist/character/model/planning/CjsCharacterTextureAsset.js +2 -2
  127. package/dist/character/model/planning/CjsCharacterTextureAsset.js.map +1 -1
  128. package/dist/character/model/planning/CjsCharacterTextureChannel.js +2 -2
  129. package/dist/character/model/planning/CjsCharacterTextureChannel.js.map +1 -1
  130. package/dist/character/model/resources/CjsCharacterPortraitResource.js +2 -2
  131. package/dist/character/model/resources/CjsCharacterPortraitResource.js.map +1 -1
  132. package/dist/character/model/resources/CjsCharacterResource.js +2 -2
  133. package/dist/character/model/resources/CjsCharacterResource.js.map +1 -1
  134. package/dist/character/trinity/interior/Tr2IntSkinnedObject.js +6 -5
  135. package/dist/character/trinity/interior/Tr2IntSkinnedObject.js.map +1 -1
  136. package/dist/character/trinity/interior/Tr2InteriorLightSource.js +2 -2
  137. package/dist/character/trinity/interior/Tr2InteriorLightSource.js.map +1 -1
  138. package/dist/character/trinity/interior/Tr2InteriorPlaceable.js +4 -5
  139. package/dist/character/trinity/interior/Tr2InteriorPlaceable.js.map +1 -1
  140. package/dist/character/trinity/interior/Tr2InteriorScene.js +2 -2
  141. package/dist/character/trinity/interior/Tr2InteriorScene.js.map +1 -1
  142. package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js +2 -2
  143. package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js.map +1 -1
  144. package/dist/character/trinity/trinityCore/Tr2GStateParameter.js +2 -2
  145. package/dist/character/trinity/trinityCore/Tr2GStateParameter.js.map +1 -1
  146. package/dist/character/trinity/trinityCore/Tr2Model.js +2 -2
  147. package/dist/character/trinity/trinityCore/Tr2Model.js.map +1 -1
  148. package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js +21 -10
  149. package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js.map +1 -1
  150. package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js +64 -57
  151. package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js.map +1 -1
  152. package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js +1 -1
  153. package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js.map +1 -1
  154. package/dist/character/trinity/wod/WodBakingScene.js +2 -2
  155. package/dist/character/trinity/wod/WodBakingScene.js.map +1 -1
  156. package/dist/core/CjsLibrary.js +32 -685
  157. package/dist/core/CjsLibrary.js.map +1 -1
  158. package/dist/core/index.js +1 -2
  159. package/dist/core/index.js.map +1 -1
  160. package/dist/global/blue/BeInfo.js +95 -0
  161. package/dist/global/blue/BeInfo.js.map +1 -0
  162. package/dist/global/blue/CcpDateTime.js +53 -0
  163. package/dist/global/blue/CcpDateTime.js.map +1 -0
  164. package/dist/global/blue/CcpTime.js +148 -0
  165. package/dist/global/blue/CcpTime.js.map +1 -0
  166. package/dist/global/blue/CjsBlueOS.js +301 -0
  167. package/dist/global/blue/CjsBlueOS.js.map +1 -0
  168. package/dist/global/blue/CjsBluePaths.js +97 -0
  169. package/dist/global/blue/CjsBluePaths.js.map +1 -0
  170. package/dist/global/blue/IBlueDynamicResourceConstructor.js +29 -0
  171. package/dist/global/blue/IBlueDynamicResourceConstructor.js.map +1 -0
  172. package/dist/global/blue/IBlueEvents.js +34 -0
  173. package/dist/global/blue/IBlueEvents.js.map +1 -0
  174. package/dist/global/blue/IBlueOS.js +132 -0
  175. package/dist/global/blue/IBlueOS.js.map +1 -0
  176. package/dist/global/blue/IBluePaths.js +72 -0
  177. package/dist/global/blue/IBluePaths.js.map +1 -0
  178. package/dist/global/blue/IBlueResMan.js +93 -0
  179. package/dist/global/blue/IBlueResMan.js.map +1 -0
  180. package/dist/global/blue/IBlueResManNotifications.js +51 -0
  181. package/dist/global/blue/IBlueResManNotifications.js.map +1 -0
  182. package/dist/global/blue/ICatchupTicks.js +25 -0
  183. package/dist/global/blue/ICatchupTicks.js.map +1 -0
  184. package/dist/global/blue/IInitialize.js +47 -0
  185. package/dist/global/blue/IInitialize.js.map +1 -0
  186. package/dist/global/blue/IListNotify.js +44 -0
  187. package/dist/global/blue/IListNotify.js.map +1 -0
  188. package/dist/global/blue/INotify.js +65 -0
  189. package/dist/global/blue/INotify.js.map +1 -0
  190. package/dist/global/blue/ISimTimeRebaseNotify.js +28 -0
  191. package/dist/global/blue/ISimTimeRebaseNotify.js.map +1 -0
  192. package/dist/global/blue/IVariableTicker.js +24 -0
  193. package/dist/global/blue/IVariableTicker.js.map +1 -0
  194. package/dist/global/blue/blue.js +61 -0
  195. package/dist/global/blue/blue.js.map +1 -0
  196. package/dist/global/blue/enums/CjsBlueEnumRegistry.js +173 -0
  197. package/dist/global/blue/enums/CjsBlueEnumRegistry.js.map +1 -0
  198. package/dist/global/blue/index.js +19 -0
  199. package/dist/global/blue/index.js.map +1 -1
  200. package/dist/global/blue/registerTrinityEnums.js +43 -0
  201. package/dist/global/blue/registerTrinityEnums.js.map +1 -0
  202. package/dist/global/compose/abstract.js +81 -0
  203. package/dist/global/compose/abstract.js.map +1 -0
  204. package/dist/global/compose/interface.js +131 -26
  205. package/dist/global/compose/interface.js.map +1 -1
  206. package/dist/global/compose/notify.js +10 -1
  207. package/dist/global/compose/notify.js.map +1 -1
  208. package/dist/global/compose/values.js +116 -53
  209. package/dist/global/compose/values.js.map +1 -1
  210. package/dist/global/consts/blue.js +73 -0
  211. package/dist/global/consts/blue.js.map +1 -0
  212. package/dist/global/consts/graphics/index.js +1 -1
  213. package/dist/global/consts/graphics/trinityEnums.js +19 -7
  214. package/dist/global/consts/graphics/trinityEnums.js.map +1 -1
  215. package/dist/global/consts/index.js +2 -1
  216. package/dist/global/consts/index.js.map +1 -1
  217. package/dist/global/consts/trinity.js.map +1 -1
  218. package/dist/global/contracts/ITr2BoundingBox.js +1 -34
  219. package/dist/global/contracts/ITr2BoundingBox.js.map +1 -1
  220. package/dist/global/contracts/ITr2RenderNode.js +1 -27
  221. package/dist/global/contracts/ITr2RenderNode.js.map +1 -1
  222. package/dist/global/contracts/index.js +2 -4
  223. package/dist/global/contracts/index.js.map +1 -1
  224. package/dist/global/index.js +23 -5
  225. package/dist/global/index.js.map +1 -1
  226. package/dist/global/model/CjsModel.js +79 -98
  227. package/dist/global/model/CjsModel.js.map +1 -1
  228. package/dist/global/model/CjsModelState.js +0 -15
  229. package/dist/global/model/CjsModelState.js.map +1 -1
  230. package/dist/global/model/index.js +1 -1
  231. package/dist/global/schema/CjsSchema.js +177 -51
  232. package/dist/global/schema/CjsSchema.js.map +1 -1
  233. package/dist/global/schema/index.js +4 -3
  234. package/dist/global/schema/index.js.map +1 -1
  235. package/dist/global/schema/types/carbonTypes.js +1 -1
  236. package/dist/global/schema/types/carbonTypes.js.map +1 -1
  237. package/dist/global/utils/bytes.js +2 -0
  238. package/dist/global/utils/bytes.js.map +1 -1
  239. package/dist/global/utils/path.js +30 -1
  240. package/dist/global/utils/path.js.map +1 -1
  241. package/dist/index.js +57 -24
  242. package/dist/index.js.map +1 -1
  243. package/dist/resource/CjsResMan.js +33 -43
  244. package/dist/resource/CjsResMan.js.map +1 -1
  245. package/dist/resource/CjsResource.js +4 -1
  246. package/dist/resource/CjsResource.js.map +1 -1
  247. package/dist/resource/format/CjsBlueReader.js +0 -1
  248. package/dist/resource/format/CjsBlueReader.js.map +1 -1
  249. package/dist/resource/format/CjsResourceProbe.js +15 -16
  250. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  251. package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js +132 -75
  252. package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js.map +1 -1
  253. package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js +26 -0
  254. package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js.map +1 -1
  255. package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js +2 -1
  256. package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js.map +1 -1
  257. package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js +4 -0
  258. package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js.map +1 -0
  259. package/dist/resource/formats/black/core/blackDefinitions.js +1 -1
  260. package/dist/resource/formats/black/core/blackDefinitions.js.map +1 -1
  261. package/dist/resource/formats/black/core/blackSchema.js +1 -1
  262. package/dist/resource/formats/dds/CjsDdsFormat.js +50 -1
  263. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  264. package/dist/resource/formats/dds/core/helpers.js +51 -5
  265. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  266. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js +94 -0
  267. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js.map +1 -0
  268. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js +189 -0
  269. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js.map +1 -0
  270. package/dist/resource/formats/fsd/64/readers/index.js +2 -0
  271. package/dist/resource/formats/fsd/64/readers/index.js.map +1 -1
  272. package/dist/resource/formats/hlsl/core/detailMapFamily.js +18 -92
  273. package/dist/resource/formats/hlsl/core/detailMapFamily.js.map +1 -1
  274. package/dist/resource/formats/hlsl/core/textureArrayFamilies.js +285 -0
  275. package/dist/resource/formats/hlsl/core/textureArrayFamilies.js.map +1 -0
  276. package/dist/resource/formats/pickle/CjsPickleFormat.js +34 -14
  277. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  278. package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js +60 -451
  279. package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -1
  280. package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js +407 -0
  281. package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js.map +1 -0
  282. package/dist/resource/formats/pickle/core/pickleCommon.js +671 -0
  283. package/dist/resource/formats/pickle/core/pickleCommon.js.map +1 -0
  284. package/dist/resource/formats/red/core/blackDefinitions.js +1 -1
  285. package/dist/resource/formats/webgl/core/effectPackage.js +85 -7
  286. package/dist/resource/formats/webgl/core/effectPackage.js.map +1 -1
  287. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +659 -564
  288. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  289. package/dist/resource/formats/webgl/core/glslBackendBodySet.js +4 -4
  290. package/dist/resource/formats/webgl/core/glslBackendBodySet.js.map +1 -1
  291. package/dist/resource/formats/webgl/core/helpers.js +2 -2
  292. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  293. package/dist/resource/geometry/TriGeometryRes.js +61 -7
  294. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  295. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +11 -11
  296. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  297. package/dist/resource/index.js +9 -0
  298. package/dist/resource/index.js.map +1 -1
  299. package/dist/resource/shader/Tr2EffectRes.js +2 -3
  300. package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
  301. package/dist/resource/shader/Tr2MaterialArea.js +3 -3
  302. package/dist/resource/shader/Tr2MaterialArea.js.map +1 -1
  303. package/dist/resource/shader/Tr2MaterialMesh.js +2 -2
  304. package/dist/resource/shader/Tr2MaterialMesh.js.map +1 -1
  305. package/dist/resource/shader/Tr2MaterialRes.js +3 -3
  306. package/dist/resource/shader/Tr2MaterialRes.js.map +1 -1
  307. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +2 -2
  308. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  309. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +2 -2
  310. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  311. package/dist/resource/shader/reflection/Tr2Pass.js +4 -4
  312. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  313. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  314. package/dist/resource/texture/Tr2ImageRes.js +3 -4
  315. package/dist/resource/texture/Tr2ImageRes.js.map +1 -1
  316. package/dist/resource/texture/Tr2TextureLodManager.js +0 -1
  317. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  318. package/dist/resource/texture/Tr2TexturePackChannel.js +4 -4
  319. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  320. package/dist/resource/texture/Tr2TexturePipeline.js +3 -4
  321. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  322. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +5 -5
  323. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  324. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +3 -3
  325. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +2 -2
  327. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +6 -6
  329. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  330. package/dist/resource/texture/TriTextureRes.js +23 -22
  331. package/dist/resource/texture/TriTextureRes.js.map +1 -1
  332. package/dist/resource/video/AudioMetadata.js +41 -0
  333. package/dist/resource/video/AudioMetadata.js.map +1 -0
  334. package/dist/resource/video/IAudioSink.js +51 -0
  335. package/dist/resource/video/IAudioSink.js.map +1 -0
  336. package/dist/resource/video/IEncodedFrame.js +52 -0
  337. package/dist/resource/video/IEncodedFrame.js.map +1 -0
  338. package/dist/resource/video/IVideoContainerParser.js +70 -0
  339. package/dist/resource/video/IVideoContainerParser.js.map +1 -0
  340. package/dist/resource/video/IVideoDecoder.js +36 -0
  341. package/dist/resource/video/IVideoDecoder.js.map +1 -0
  342. package/dist/resource/video/PcmFrame.js +33 -0
  343. package/dist/resource/video/PcmFrame.js.map +1 -0
  344. package/dist/resource/video/VideoFrame.js +45 -0
  345. package/dist/resource/video/VideoFrame.js.map +1 -0
  346. package/dist/resource/video/VideoMetadata.js +34 -0
  347. package/dist/resource/video/VideoMetadata.js.map +1 -0
  348. package/dist/resource/video/enums.js +30 -0
  349. package/dist/resource/video/enums.js.map +1 -0
  350. package/dist/sof/EveSOF.js +176 -176
  351. package/dist/sof/EveSOF.js.map +1 -1
  352. package/dist/sof/EveSOFDNA.js +5 -1
  353. package/dist/sof/EveSOFDNA.js.map +1 -1
  354. package/dist/sof/EveSOFData.js +2 -2
  355. package/dist/sof/EveSOFData.js.map +1 -1
  356. package/dist/sof/faction/EveSOFDataFaction.js +2 -2
  357. package/dist/sof/faction/EveSOFDataFaction.js.map +1 -1
  358. package/dist/sof/faction/EveSOFDataFactionChild.js +2 -2
  359. package/dist/sof/faction/EveSOFDataFactionChild.js.map +1 -1
  360. package/dist/sof/faction/EveSOFDataFactionColorSet.js +189 -3
  361. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  362. package/dist/sof/faction/EveSOFDataFactionHullArea.js +2 -2
  363. package/dist/sof/faction/EveSOFDataFactionHullArea.js.map +1 -1
  364. package/dist/sof/faction/EveSOFDataFactionPlaneSet.js +2 -2
  365. package/dist/sof/faction/EveSOFDataFactionPlaneSet.js.map +1 -1
  366. package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js +2 -2
  367. package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js.map +1 -1
  368. package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js +2 -2
  369. package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js.map +1 -1
  370. package/dist/sof/generic/EveSOFDataGeneric.js +234 -230
  371. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  372. package/dist/sof/generic/EveSOFDataGenericDamage.js +2 -2
  373. package/dist/sof/generic/EveSOFDataGenericDamage.js.map +1 -1
  374. package/dist/sof/generic/EveSOFDataGenericDecalShader.js +2 -2
  375. package/dist/sof/generic/EveSOFDataGenericDecalShader.js.map +1 -1
  376. package/dist/sof/generic/EveSOFDataGenericHullCategory.js +27 -23
  377. package/dist/sof/generic/EveSOFDataGenericHullCategory.js.map +1 -1
  378. package/dist/sof/generic/EveSOFDataGenericHullDamage.js +2 -2
  379. package/dist/sof/generic/EveSOFDataGenericHullDamage.js.map +1 -1
  380. package/dist/sof/generic/EveSOFDataGenericShader.js +2 -2
  381. package/dist/sof/generic/EveSOFDataGenericShader.js.map +1 -1
  382. package/dist/sof/generic/EveSOFDataGenericString.js +2 -2
  383. package/dist/sof/generic/EveSOFDataGenericString.js.map +1 -1
  384. package/dist/sof/generic/EveSOFDataGenericSwarm.js +2 -2
  385. package/dist/sof/generic/EveSOFDataGenericSwarm.js.map +1 -1
  386. package/dist/sof/generic/EveSOFDataGenericVariant.js +2 -2
  387. package/dist/sof/generic/EveSOFDataGenericVariant.js.map +1 -1
  388. package/dist/sof/generic/EveSOFDataVisibilityGroup.js +2 -2
  389. package/dist/sof/generic/EveSOFDataVisibilityGroup.js.map +1 -1
  390. package/dist/sof/hull/EveSOFDataHull.js +56 -3
  391. package/dist/sof/hull/EveSOFDataHull.js.map +1 -1
  392. package/dist/sof/hull/EveSOFDataHullAnimation.js +2 -2
  393. package/dist/sof/hull/EveSOFDataHullAnimation.js.map +1 -1
  394. package/dist/sof/hull/EveSOFDataHullArea.js +58 -54
  395. package/dist/sof/hull/EveSOFDataHullArea.js.map +1 -1
  396. package/dist/sof/hull/EveSOFDataHullBanner.js +109 -3
  397. package/dist/sof/hull/EveSOFDataHullBanner.js.map +1 -1
  398. package/dist/sof/hull/EveSOFDataHullBannerLight.js +2 -2
  399. package/dist/sof/hull/EveSOFDataHullBannerLight.js.map +1 -1
  400. package/dist/sof/hull/EveSOFDataHullBannerSet.js +2 -2
  401. package/dist/sof/hull/EveSOFDataHullBannerSet.js.map +1 -1
  402. package/dist/sof/hull/EveSOFDataHullBannerSetItem.js +109 -3
  403. package/dist/sof/hull/EveSOFDataHullBannerSetItem.js.map +1 -1
  404. package/dist/sof/hull/EveSOFDataHullBooster.js +2 -2
  405. package/dist/sof/hull/EveSOFDataHullBooster.js.map +1 -1
  406. package/dist/sof/hull/EveSOFDataHullBoosterItem.js +2 -2
  407. package/dist/sof/hull/EveSOFDataHullBoosterItem.js.map +1 -1
  408. package/dist/sof/hull/EveSOFDataHullChild.js +55 -50
  409. package/dist/sof/hull/EveSOFDataHullChild.js.map +1 -1
  410. package/dist/sof/hull/EveSOFDataHullChildSet.js +2 -2
  411. package/dist/sof/hull/EveSOFDataHullChildSet.js.map +1 -1
  412. package/dist/sof/hull/EveSOFDataHullChildSetItem.js +51 -46
  413. package/dist/sof/hull/EveSOFDataHullChildSetItem.js.map +1 -1
  414. package/dist/sof/hull/EveSOFDataHullController.js +2 -2
  415. package/dist/sof/hull/EveSOFDataHullController.js.map +1 -1
  416. package/dist/sof/hull/EveSOFDataHullDecalSet.js +2 -2
  417. package/dist/sof/hull/EveSOFDataHullDecalSet.js.map +1 -1
  418. package/dist/sof/hull/EveSOFDataHullDecalSetItem.js +45 -3
  419. package/dist/sof/hull/EveSOFDataHullDecalSetItem.js.map +1 -1
  420. package/dist/sof/hull/EveSOFDataHullHazeSet.js +21 -3
  421. package/dist/sof/hull/EveSOFDataHullHazeSet.js.map +1 -1
  422. package/dist/sof/hull/EveSOFDataHullHazeSetItem.js +47 -43
  423. package/dist/sof/hull/EveSOFDataHullHazeSetItem.js.map +1 -1
  424. package/dist/sof/hull/EveSOFDataHullLightSet.js +2 -2
  425. package/dist/sof/hull/EveSOFDataHullLightSet.js.map +1 -1
  426. package/dist/sof/hull/EveSOFDataHullLightSetItem.js +4 -2
  427. package/dist/sof/hull/EveSOFDataHullLightSetItem.js.map +1 -1
  428. package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js +2 -2
  429. package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js.map +1 -1
  430. package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js +2 -2
  431. package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js.map +1 -1
  432. package/dist/sof/hull/EveSOFDataHullLocator.js +2 -2
  433. package/dist/sof/hull/EveSOFDataHullLocator.js.map +1 -1
  434. package/dist/sof/hull/EveSOFDataHullLocatorSet.js +2 -2
  435. package/dist/sof/hull/EveSOFDataHullLocatorSet.js.map +1 -1
  436. package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js +2 -2
  437. package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js.map +1 -1
  438. package/dist/sof/hull/EveSOFDataHullPlaneSet.js +29 -3
  439. package/dist/sof/hull/EveSOFDataHullPlaneSet.js.map +1 -1
  440. package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js +81 -75
  441. package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js.map +1 -1
  442. package/dist/sof/hull/EveSOFDataHullSoundEmitter.js +2 -2
  443. package/dist/sof/hull/EveSOFDataHullSoundEmitter.js.map +1 -1
  444. package/dist/sof/hull/EveSOFDataHullSpotlightSet.js +2 -2
  445. package/dist/sof/hull/EveSOFDataHullSpotlightSet.js.map +1 -1
  446. package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js +45 -41
  447. package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js.map +1 -1
  448. package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js +2 -2
  449. package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js.map +1 -1
  450. package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js +70 -66
  451. package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js.map +1 -1
  452. package/dist/sof/hull/EveSOFDataHullSpriteSet.js +2 -2
  453. package/dist/sof/hull/EveSOFDataHullSpriteSet.js.map +1 -1
  454. package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js +45 -41
  455. package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js.map +1 -1
  456. package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js +2 -2
  457. package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js.map +1 -1
  458. package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js +2 -2
  459. package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js.map +1 -1
  460. package/dist/sof/layout/EveSOFDataHullExtensionBucket.js +2 -2
  461. package/dist/sof/layout/EveSOFDataHullExtensionBucket.js.map +1 -1
  462. package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js +2 -2
  463. package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js.map +1 -1
  464. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js +2 -2
  465. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js.map +1 -1
  466. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js +35 -3
  467. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js.map +1 -1
  468. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js +2 -2
  469. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js.map +1 -1
  470. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js +2 -2
  471. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js.map +1 -1
  472. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js +2 -2
  473. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js.map +1 -1
  474. package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js +2 -2
  475. package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js.map +1 -1
  476. package/dist/sof/layout/EveSOFDataLayout.js +2 -2
  477. package/dist/sof/layout/EveSOFDataLayout.js.map +1 -1
  478. package/dist/sof/pattern/EveSOFDataPattern.js +2 -2
  479. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  480. package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js +2 -2
  481. package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js.map +1 -1
  482. package/dist/sof/pattern/EveSOFDataPatternLayer.js +60 -3
  483. package/dist/sof/pattern/EveSOFDataPatternLayer.js.map +1 -1
  484. package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js +23 -3
  485. package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js.map +1 -1
  486. package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js +2 -2
  487. package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js.map +1 -1
  488. package/dist/sof/pattern/EveSOFDataPatternPerHull.js +2 -2
  489. package/dist/sof/pattern/EveSOFDataPatternPerHull.js.map +1 -1
  490. package/dist/sof/pattern/EveSOFDataPatternTransform.js +2 -2
  491. package/dist/sof/pattern/EveSOFDataPatternTransform.js.map +1 -1
  492. package/dist/sof/race/EveSOFDataRace.js +46 -42
  493. package/dist/sof/race/EveSOFDataRace.js.map +1 -1
  494. package/dist/sof/race/EveSOFDataRaceDamage.js +2 -2
  495. package/dist/sof/race/EveSOFDataRaceDamage.js.map +1 -1
  496. package/dist/sof/shared/CjsExternalRef.js +2 -2
  497. package/dist/sof/shared/CjsExternalRef.js.map +1 -1
  498. package/dist/sof/shared/EveSOFDNADescriptor.js +2 -2
  499. package/dist/sof/shared/EveSOFDNADescriptor.js.map +1 -1
  500. package/dist/sof/shared/EveSOFDataArea.js +61 -3
  501. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  502. package/dist/sof/shared/EveSOFDataAreaMaterial.js +4 -2
  503. package/dist/sof/shared/EveSOFDataAreaMaterial.js.map +1 -1
  504. package/dist/sof/shared/EveSOFDataBlinkType.js +48 -8
  505. package/dist/sof/shared/EveSOFDataBlinkType.js.map +1 -1
  506. package/dist/sof/shared/EveSOFDataBooster.js +2 -2
  507. package/dist/sof/shared/EveSOFDataBooster.js.map +1 -1
  508. package/dist/sof/shared/EveSOFDataBoosterShape.js +2 -2
  509. package/dist/sof/shared/EveSOFDataBoosterShape.js.map +1 -1
  510. package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js +2 -2
  511. package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js.map +1 -1
  512. package/dist/sof/shared/EveSOFDataInstancedMesh.js +40 -3
  513. package/dist/sof/shared/EveSOFDataInstancedMesh.js.map +1 -1
  514. package/dist/sof/shared/EveSOFDataLogo.js +2 -2
  515. package/dist/sof/shared/EveSOFDataLogo.js.map +1 -1
  516. package/dist/sof/shared/EveSOFDataLogoSet.js +33 -3
  517. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  518. package/dist/sof/shared/EveSOFDataMaterial.js +2 -2
  519. package/dist/sof/shared/EveSOFDataMaterial.js.map +1 -1
  520. package/dist/sof/shared/EveSOFDataParameter.js +2 -2
  521. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  522. package/dist/sof/shared/EveSOFDataParameterBool.js +2 -2
  523. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -1
  524. package/dist/sof/shared/EveSOFDataParameterColor.js +2 -2
  525. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -1
  526. package/dist/sof/shared/EveSOFDataParameterFloat.js +2 -2
  527. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -1
  528. package/dist/sof/shared/EveSOFDataParameterInt.js +2 -2
  529. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -1
  530. package/dist/sof/shared/EveSOFDataParameterVector2.js +2 -2
  531. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -1
  532. package/dist/sof/shared/EveSOFDataParameterVector3.js +2 -2
  533. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -1
  534. package/dist/sof/shared/EveSOFDataPointLightAttachment.js +2 -2
  535. package/dist/sof/shared/EveSOFDataPointLightAttachment.js.map +1 -1
  536. package/dist/sof/shared/EveSOFDataSpotLightAttachment.js +2 -2
  537. package/dist/sof/shared/EveSOFDataSpotLightAttachment.js.map +1 -1
  538. package/dist/sof/shared/EveSOFDataTexture.js +2 -2
  539. package/dist/sof/shared/EveSOFDataTexture.js.map +1 -1
  540. package/dist/sof/shared/EveSOFDataTransform.js +2 -2
  541. package/dist/sof/shared/EveSOFDataTransform.js.map +1 -1
  542. package/dist/sof/shared/EveSofDataMeshInstance.js +2 -2
  543. package/dist/sof/shared/EveSofDataMeshInstance.js.map +1 -1
  544. package/dist/sof/sofDocumentValues.js +9 -0
  545. package/dist/sof/sofDocumentValues.js.map +1 -1
  546. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +2 -25
  547. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -1
  548. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js +2 -72
  549. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -1
  550. package/dist/trinity/controllers/ITr2ControllerOwner.js +1 -36
  551. package/dist/trinity/controllers/ITr2ControllerOwner.js.map +1 -1
  552. package/dist/trinity/controllers/Tr2Controller.js +4 -5
  553. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  554. package/dist/trinity/controllers/Tr2ControllerEventHandler.js +2 -2
  555. package/dist/trinity/controllers/Tr2ControllerEventHandler.js.map +1 -1
  556. package/dist/trinity/controllers/Tr2ControllerReference.js +9 -17
  557. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  558. package/dist/trinity/controllers/Tr2SyncToAnimation.js +4 -5
  559. package/dist/trinity/controllers/Tr2SyncToAnimation.js.map +1 -1
  560. package/dist/trinity/controllers/action/ITr2ControllerAction.js +1 -28
  561. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  562. package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js +9 -7
  563. package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js.map +1 -1
  564. package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js +11 -9
  565. package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js.map +1 -1
  566. package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js +9 -7
  567. package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js.map +1 -1
  568. package/dist/trinity/controllers/action/Tr2ActionCallback.js +4 -5
  569. package/dist/trinity/controllers/action/Tr2ActionCallback.js.map +1 -1
  570. package/dist/trinity/controllers/action/Tr2ActionChildEffect.js +4 -5
  571. package/dist/trinity/controllers/action/Tr2ActionChildEffect.js.map +1 -1
  572. package/dist/trinity/controllers/action/Tr2ActionOverlay.js +4 -5
  573. package/dist/trinity/controllers/action/Tr2ActionOverlay.js.map +1 -1
  574. package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js +4 -5
  575. package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js.map +1 -1
  576. package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js +13 -9
  577. package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js.map +1 -1
  578. package/dist/trinity/controllers/action/Tr2ActionPlaySound.js +4 -5
  579. package/dist/trinity/controllers/action/Tr2ActionPlaySound.js.map +1 -1
  580. package/dist/trinity/controllers/action/Tr2ActionPython.js +6 -6
  581. package/dist/trinity/controllers/action/Tr2ActionPython.js.map +1 -1
  582. package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js +4 -5
  583. package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js.map +1 -1
  584. package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js +4 -5
  585. package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js.map +1 -1
  586. package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js +4 -5
  587. package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
  588. package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js +4 -5
  589. package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js.map +1 -1
  590. package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js +8 -17
  591. package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  592. package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js +4 -5
  593. package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js.map +1 -1
  594. package/dist/trinity/controllers/action/Tr2ActionSetValue.js +11 -9
  595. package/dist/trinity/controllers/action/Tr2ActionSetValue.js.map +1 -1
  596. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +4 -5
  597. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  598. package/dist/trinity/controllers/contracts.js +27 -19
  599. package/dist/trinity/controllers/contracts.js.map +1 -1
  600. package/dist/trinity/controllers/expression/Tr2BindingPoint.js +6 -15
  601. package/dist/trinity/controllers/expression/Tr2BindingPoint.js.map +1 -1
  602. package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js +2 -2
  603. package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js.map +1 -1
  604. package/dist/trinity/controllers/expression/expressionRuntime.js +136 -0
  605. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -1
  606. package/dist/trinity/controllers/index.js +6 -6
  607. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +1 -24
  608. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  609. package/dist/trinity/controllers/state/Tr2StateMachine.js +4 -6
  610. package/dist/trinity/controllers/state/Tr2StateMachine.js.map +1 -1
  611. package/dist/trinity/controllers/state/Tr2StateMachineState.js +6 -6
  612. package/dist/trinity/controllers/state/Tr2StateMachineState.js.map +1 -1
  613. package/dist/trinity/controllers/state/Tr2StateMachineTransition.js +12 -9
  614. package/dist/trinity/controllers/state/Tr2StateMachineTransition.js.map +1 -1
  615. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +5 -6
  616. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  617. package/dist/trinity/core/ITr2Renderable.js +1 -49
  618. package/dist/trinity/core/ITr2Renderable.js.map +1 -1
  619. package/dist/trinity/core/ITr2Updateable.js +1 -22
  620. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  621. package/dist/trinity/core/ITriReroutable.js +56 -0
  622. package/dist/trinity/core/ITriReroutable.js.map +1 -0
  623. package/dist/trinity/core/Tr2Denoiser.js +2 -2
  624. package/dist/trinity/core/Tr2Denoiser.js.map +1 -1
  625. package/dist/trinity/core/Tr2MaterialParameterStore.js +2 -2
  626. package/dist/trinity/core/Tr2MaterialParameterStore.js.map +1 -1
  627. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js +2 -2
  628. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -1
  629. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +1 -1
  630. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -1
  631. package/dist/trinity/core/Tr2Renderer.js +161 -4
  632. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  633. package/dist/trinity/core/Tr2ShadowMap.js +3 -3
  634. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  635. package/dist/trinity/core/Tr2StreamingBitmapSaver.js +2 -2
  636. package/dist/trinity/core/Tr2StreamingBitmapSaver.js.map +1 -1
  637. package/dist/trinity/core/Tr2Transform.js +4 -5
  638. package/dist/trinity/core/Tr2Transform.js.map +1 -1
  639. package/dist/trinity/core/animation/Tr2GrannyAnimation.js +2 -2
  640. package/dist/trinity/core/animation/Tr2GrannyAnimation.js.map +1 -1
  641. package/dist/trinity/core/animation/Tr2TextureAnimation.js +2 -2
  642. package/dist/trinity/core/animation/Tr2TextureAnimation.js.map +1 -1
  643. package/dist/trinity/core/animation/TriRigidOrientation.js +2 -2
  644. package/dist/trinity/core/animation/TriRigidOrientation.js.map +1 -1
  645. package/dist/trinity/core/animation/TriTorque.js +2 -2
  646. package/dist/trinity/core/animation/TriTorque.js.map +1 -1
  647. package/dist/trinity/core/batch/CjsBatchManager.js +15 -50
  648. package/dist/trinity/core/batch/CjsBatchManager.js.map +1 -1
  649. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -1
  650. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js +12 -14
  651. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -1
  652. package/dist/trinity/core/binding/Tr2BindingVector3.js +2 -2
  653. package/dist/trinity/core/binding/Tr2BindingVector3.js.map +1 -1
  654. package/dist/trinity/core/binding/Tr2DynamicBinding.js +6 -20
  655. package/dist/trinity/core/binding/Tr2DynamicBinding.js.map +1 -1
  656. package/dist/trinity/core/binding/Tr2ExternalParameter.js +3 -6
  657. package/dist/trinity/core/binding/Tr2ExternalParameter.js.map +1 -1
  658. package/dist/trinity/core/binding/Tr2PyValueBinding.js +2 -2
  659. package/dist/trinity/core/binding/Tr2PyValueBinding.js.map +1 -1
  660. package/dist/trinity/core/binding/TriValueBinding.js +50 -24
  661. package/dist/trinity/core/binding/TriValueBinding.js.map +1 -1
  662. package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js +0 -6
  663. package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js.map +1 -1
  664. package/dist/trinity/core/context/CjsTrinityStepExecutor.js +7 -10
  665. package/dist/trinity/core/context/CjsTrinityStepExecutor.js.map +1 -1
  666. package/dist/trinity/core/context/Tr2RenderContext.js +74 -116
  667. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  668. package/dist/trinity/core/device/Tr2DepthStencil.js +2 -2
  669. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  670. package/dist/trinity/core/device/Tr2GpuBuffer.js +2 -2
  671. package/dist/trinity/core/device/Tr2GpuBuffer.js.map +1 -1
  672. package/dist/trinity/core/device/Tr2RenderTarget.js +2 -2
  673. package/dist/trinity/core/device/Tr2RenderTarget.js.map +1 -1
  674. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js +2 -2
  675. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -1
  676. package/dist/trinity/core/device/Tr2SwapChain.js +2 -2
  677. package/dist/trinity/core/device/Tr2SwapChain.js.map +1 -1
  678. package/dist/trinity/core/device/TriDevice.js +576 -37
  679. package/dist/trinity/core/device/TriDevice.js.map +1 -1
  680. package/dist/trinity/core/device/gTriDev.js +49 -0
  681. package/dist/trinity/core/device/gTriDev.js.map +1 -0
  682. package/dist/trinity/core/index.js +9 -5
  683. package/dist/trinity/core/index.js.map +1 -1
  684. package/dist/trinity/core/lighting/Tr2KelvinColor.js +2 -2
  685. package/dist/trinity/core/lighting/Tr2KelvinColor.js.map +1 -1
  686. package/dist/trinity/core/lighting/Tr2LightManager.js +7 -17
  687. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  688. package/dist/trinity/core/lighting/Tr2ShLightingManager.js +2 -2
  689. package/dist/trinity/core/lighting/Tr2ShLightingManager.js.map +1 -1
  690. package/dist/trinity/core/line/Tr2BoundingLineSet.js +2 -2
  691. package/dist/trinity/core/line/Tr2BoundingLineSet.js.map +1 -1
  692. package/dist/trinity/core/line/Tr2CurveLineSet.js +10 -7
  693. package/dist/trinity/core/line/Tr2CurveLineSet.js.map +1 -1
  694. package/dist/trinity/core/line/Tr2LineGraph.js +2 -2
  695. package/dist/trinity/core/line/Tr2LineGraph.js.map +1 -1
  696. package/dist/trinity/core/line/Tr2PrimitiveSet.js +4 -5
  697. package/dist/trinity/core/line/Tr2PrimitiveSet.js.map +1 -1
  698. package/dist/trinity/core/line/TriLineSet.js +2 -2
  699. package/dist/trinity/core/line/TriLineSet.js.map +1 -1
  700. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js +1 -37
  701. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -1
  702. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js +1 -34
  703. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -1
  704. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +5 -6
  705. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  706. package/dist/trinity/core/mesh/Tr2InstancedMesh.js +2 -2
  707. package/dist/trinity/core/mesh/Tr2InstancedMesh.js.map +1 -1
  708. package/dist/trinity/core/mesh/Tr2Mesh.js +288 -183
  709. package/dist/trinity/core/mesh/Tr2Mesh.js.map +1 -1
  710. package/dist/trinity/core/mesh/Tr2MeshArea.js +32 -3
  711. package/dist/trinity/core/mesh/Tr2MeshArea.js.map +1 -1
  712. package/dist/trinity/core/mesh/Tr2MeshBase.js +58 -8
  713. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  714. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +141 -142
  715. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  716. package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js +2 -2
  717. package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js.map +1 -1
  718. package/dist/trinity/core/procedural/GradientTextureConstructor.js +62 -0
  719. package/dist/trinity/core/procedural/GradientTextureConstructor.js.map +1 -0
  720. package/dist/trinity/core/procedural/gradientTexture.js +196 -0
  721. package/dist/trinity/core/procedural/gradientTexture.js.map +1 -0
  722. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -1
  723. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +5 -0
  724. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -1
  725. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +2 -0
  726. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -1
  727. package/dist/trinity/core/tool/Tr2ManipulationTool.js +2 -2
  728. package/dist/trinity/core/tool/Tr2ManipulationTool.js.map +1 -1
  729. package/dist/trinity/core/tool/Tr2RotationTool.js +2 -2
  730. package/dist/trinity/core/tool/Tr2RotationTool.js.map +1 -1
  731. package/dist/trinity/core/tool/Tr2ScalingTool.js +2 -2
  732. package/dist/trinity/core/tool/Tr2ScalingTool.js.map +1 -1
  733. package/dist/trinity/core/tool/Tr2TranslationTool.js +2 -2
  734. package/dist/trinity/core/tool/Tr2TranslationTool.js.map +1 -1
  735. package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js +2 -2
  736. package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js.map +1 -1
  737. package/dist/trinity/core/variable/TriFloat.js +2 -2
  738. package/dist/trinity/core/variable/TriFloat.js.map +1 -1
  739. package/dist/trinity/core/variable/TriObserverLocal.js +2 -2
  740. package/dist/trinity/core/variable/TriObserverLocal.js.map +1 -1
  741. package/dist/trinity/core/variable/TriVariable.js +2 -2
  742. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  743. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js +2 -0
  744. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -1
  745. package/dist/trinity/core/view/TriProjection.js +2 -2
  746. package/dist/trinity/core/view/TriProjection.js.map +1 -1
  747. package/dist/trinity/core/view/TriRect.js +2 -2
  748. package/dist/trinity/core/view/TriRect.js.map +1 -1
  749. package/dist/trinity/core/view/TriView.js +2 -2
  750. package/dist/trinity/core/view/TriView.js.map +1 -1
  751. package/dist/trinity/core/view/TriViewport.js +2 -2
  752. package/dist/trinity/core/view/TriViewport.js.map +1 -1
  753. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +3 -3
  754. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  755. package/dist/trinity/curves/Tr2CurveSetRange.js +2 -2
  756. package/dist/trinity/curves/Tr2CurveSetRange.js.map +1 -1
  757. package/dist/trinity/curves/TriCurveSet.js +2 -2
  758. package/dist/trinity/curves/TriCurveSet.js.map +1 -1
  759. package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js +2 -2
  760. package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js.map +1 -1
  761. package/dist/trinity/curves/curve/Tr2CurveColor.js +2 -2
  762. package/dist/trinity/curves/curve/Tr2CurveColor.js.map +1 -1
  763. package/dist/trinity/curves/curve/Tr2CurveColorMixer.js +2 -2
  764. package/dist/trinity/curves/curve/Tr2CurveColorMixer.js.map +1 -1
  765. package/dist/trinity/curves/curve/Tr2CurveCombiner.js +3 -3
  766. package/dist/trinity/curves/curve/Tr2CurveCombiner.js.map +1 -1
  767. package/dist/trinity/curves/curve/Tr2CurveConstant.js +2 -2
  768. package/dist/trinity/curves/curve/Tr2CurveConstant.js.map +1 -1
  769. package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js +2 -2
  770. package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js.map +1 -1
  771. package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js +2 -2
  772. package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js.map +1 -1
  773. package/dist/trinity/curves/curve/Tr2CurveQuaternion.js +3 -3
  774. package/dist/trinity/curves/curve/Tr2CurveQuaternion.js.map +1 -1
  775. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +2 -2
  776. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  777. package/dist/trinity/curves/curve/Tr2CurveScalar.js +3 -3
  778. package/dist/trinity/curves/curve/Tr2CurveScalar.js.map +1 -1
  779. package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js +2 -2
  780. package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js.map +1 -1
  781. package/dist/trinity/curves/curve/Tr2CurveVector2.js +2 -2
  782. package/dist/trinity/curves/curve/Tr2CurveVector2.js.map +1 -1
  783. package/dist/trinity/curves/curve/Tr2CurveVector3.js +2 -2
  784. package/dist/trinity/curves/curve/Tr2CurveVector3.js.map +1 -1
  785. package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js +2 -2
  786. package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js.map +1 -1
  787. package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js +2 -2
  788. package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js.map +1 -1
  789. package/dist/trinity/curves/curve/Tr2DistanceTracker.js +5 -5
  790. package/dist/trinity/curves/curve/Tr2DistanceTracker.js.map +1 -1
  791. package/dist/trinity/curves/curve/Tr2FollowCurve.js +2 -2
  792. package/dist/trinity/curves/curve/Tr2FollowCurve.js.map +1 -1
  793. package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js +2 -2
  794. package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js.map +1 -1
  795. package/dist/trinity/curves/curve/Tr2RotationAdapter.js +2 -2
  796. package/dist/trinity/curves/curve/Tr2RotationAdapter.js.map +1 -1
  797. package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js +2 -2
  798. package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js.map +1 -1
  799. package/dist/trinity/curves/curve/Tr2ScalarFader.js +2 -2
  800. package/dist/trinity/curves/curve/Tr2ScalarFader.js.map +1 -1
  801. package/dist/trinity/curves/curve/Tr2TranslationAdapter.js +2 -2
  802. package/dist/trinity/curves/curve/Tr2TranslationAdapter.js.map +1 -1
  803. package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js +2 -2
  804. package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js.map +1 -1
  805. package/dist/trinity/curves/curve/TriColorSequencer.js +18 -18
  806. package/dist/trinity/curves/curve/TriColorSequencer.js.map +1 -1
  807. package/dist/trinity/curves/curve/TriEventCurve.js +51 -51
  808. package/dist/trinity/curves/curve/TriEventCurve.js.map +1 -1
  809. package/dist/trinity/curves/curve/TriPerlinCurve.js +2 -2
  810. package/dist/trinity/curves/curve/TriPerlinCurve.js.map +1 -1
  811. package/dist/trinity/curves/curve/TriVectorSequencer.js +36 -36
  812. package/dist/trinity/curves/curve/TriVectorSequencer.js.map +1 -1
  813. package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js +2 -2
  814. package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js.map +1 -1
  815. package/dist/trinity/curves/key/Tr2MatrixKey.js +2 -2
  816. package/dist/trinity/curves/key/Tr2MatrixKey.js.map +1 -1
  817. package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js +2 -2
  818. package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js.map +1 -1
  819. package/dist/trinity/curves/key/Tr2ScalarExprKey.js +28 -24
  820. package/dist/trinity/curves/key/Tr2ScalarExprKey.js.map +1 -1
  821. package/dist/trinity/curves/key/TriEventKey.js +2 -2
  822. package/dist/trinity/curves/key/TriEventKey.js.map +1 -1
  823. package/dist/trinity/curves/track/Tr2GrannyEventTrack.js +2 -2
  824. package/dist/trinity/curves/track/Tr2GrannyEventTrack.js.map +1 -1
  825. package/dist/trinity/curves/track/Tr2GrannyTrack.js +9 -4
  826. package/dist/trinity/curves/track/Tr2GrannyTrack.js.map +1 -1
  827. package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js +2 -2
  828. package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js.map +1 -1
  829. package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js +2 -2
  830. package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js.map +1 -1
  831. package/dist/trinity/eve/AudioGameObject.js +6 -8
  832. package/dist/trinity/eve/AudioGameObject.js.map +1 -1
  833. package/dist/trinity/eve/EveCustomMask.js +2 -2
  834. package/dist/trinity/eve/EveCustomMask.js.map +1 -1
  835. package/dist/trinity/eve/EveDistanceField.js +6 -4
  836. package/dist/trinity/eve/EveDistanceField.js.map +1 -1
  837. package/dist/trinity/eve/EveImpactOverlay.js +2 -2
  838. package/dist/trinity/eve/EveImpactOverlay.js.map +1 -1
  839. package/dist/trinity/eve/EveThrottleable.js +2 -2
  840. package/dist/trinity/eve/EveThrottleable.js.map +1 -1
  841. package/dist/trinity/eve/EveTriggerVolume.js +4 -5
  842. package/dist/trinity/eve/EveTriggerVolume.js.map +1 -1
  843. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +1 -23
  844. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  845. package/dist/trinity/eve/IEveSpaceObject2.js +1 -24
  846. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  847. package/dist/trinity/eve/IEveTransform.js +1 -22
  848. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  849. package/dist/trinity/eve/attachment/banner/EveBannerItem.js +2 -2
  850. package/dist/trinity/eve/attachment/banner/EveBannerItem.js.map +1 -1
  851. package/dist/trinity/eve/attachment/banner/EveBannerLight.js +2 -2
  852. package/dist/trinity/eve/attachment/banner/EveBannerLight.js.map +1 -1
  853. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +20 -3
  854. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  855. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +127 -122
  856. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  857. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +5 -5
  858. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -1
  859. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +4 -5
  860. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  861. package/dist/trinity/eve/attachment/booster/EveTrailsSet.js +4 -2
  862. package/dist/trinity/eve/attachment/booster/EveTrailsSet.js.map +1 -1
  863. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +151 -148
  864. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  865. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +3 -3
  866. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  867. package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js +2 -2
  868. package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js.map +1 -1
  869. package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js +2 -2
  870. package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js.map +1 -1
  871. package/dist/trinity/eve/attachment/plane/EvePlaneLight.js +2 -2
  872. package/dist/trinity/eve/attachment/plane/EvePlaneLight.js.map +1 -1
  873. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +10 -4
  874. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  875. package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js +3 -2
  876. package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js.map +1 -1
  877. package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js +2 -2
  878. package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -1
  879. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +3 -3
  880. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  881. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js +2 -2
  882. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -1
  883. package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js +2 -2
  884. package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js.map +1 -1
  885. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +4 -4
  886. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  887. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js +2 -2
  888. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -1
  889. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +5 -5
  890. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  891. package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js +2 -2
  892. package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -1
  893. package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js +7 -4
  894. package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  895. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +177 -144
  896. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  897. package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js +2 -2
  898. package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  899. package/dist/trinity/eve/camera/EveCamera.js +5 -11
  900. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  901. package/dist/trinity/eve/child/EveChildAudio.js +4 -5
  902. package/dist/trinity/eve/child/EveChildAudio.js.map +1 -1
  903. package/dist/trinity/eve/child/EveChildBehaviorSystem.js +5 -6
  904. package/dist/trinity/eve/child/EveChildBehaviorSystem.js.map +1 -1
  905. package/dist/trinity/eve/child/EveChildBoosterSet.js +6 -6
  906. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  907. package/dist/trinity/eve/child/EveChildBulletStorm.js +4 -5
  908. package/dist/trinity/eve/child/EveChildBulletStorm.js.map +1 -1
  909. package/dist/trinity/eve/child/EveChildCloud.js +5 -6
  910. package/dist/trinity/eve/child/EveChildCloud.js.map +1 -1
  911. package/dist/trinity/eve/child/EveChildCloud2.js +166 -166
  912. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  913. package/dist/trinity/eve/child/EveChildContainer.js +235 -169
  914. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  915. package/dist/trinity/eve/child/EveChildEffectPropagator.js +9 -9
  916. package/dist/trinity/eve/child/EveChildEffectPropagator.js.map +1 -1
  917. package/dist/trinity/eve/child/EveChildExplosion.js +11 -7
  918. package/dist/trinity/eve/child/EveChildExplosion.js.map +1 -1
  919. package/dist/trinity/eve/child/EveChildFogVolume.js +2 -2
  920. package/dist/trinity/eve/child/EveChildFogVolume.js.map +1 -1
  921. package/dist/trinity/eve/child/EveChildInheritProperties.js +2 -2
  922. package/dist/trinity/eve/child/EveChildInheritProperties.js.map +1 -1
  923. package/dist/trinity/eve/child/EveChildInstanceContainer.js +2 -2
  924. package/dist/trinity/eve/child/EveChildInstanceContainer.js.map +1 -1
  925. package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js +11 -7
  926. package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
  927. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +2 -2
  928. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -1
  929. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +2 -2
  930. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -1
  931. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +2 -2
  932. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -1
  933. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js +4 -5
  934. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -1
  935. package/dist/trinity/eve/child/EveChildLightingOverride.js +4 -5
  936. package/dist/trinity/eve/child/EveChildLightingOverride.js.map +1 -1
  937. package/dist/trinity/eve/child/EveChildLineSet.js +4 -5
  938. package/dist/trinity/eve/child/EveChildLineSet.js.map +1 -1
  939. package/dist/trinity/eve/child/EveChildLink.js +2 -2
  940. package/dist/trinity/eve/child/EveChildLink.js.map +1 -1
  941. package/dist/trinity/eve/child/EveChildMesh.js +299 -227
  942. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  943. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +2 -2
  944. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -1
  945. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js +2 -2
  946. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -1
  947. package/dist/trinity/eve/child/EveChildParticleSphere.js +4 -5
  948. package/dist/trinity/eve/child/EveChildParticleSphere.js.map +1 -1
  949. package/dist/trinity/eve/child/EveChildParticleSystem.js +36 -36
  950. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  951. package/dist/trinity/eve/child/EveChildPlug.js +60 -14
  952. package/dist/trinity/eve/child/EveChildPlug.js.map +1 -1
  953. package/dist/trinity/eve/child/EveChildPostProcessVolume.js +2 -2
  954. package/dist/trinity/eve/child/EveChildPostProcessVolume.js.map +1 -1
  955. package/dist/trinity/eve/child/EveChildQuad.js +4 -5
  956. package/dist/trinity/eve/child/EveChildQuad.js.map +1 -1
  957. package/dist/trinity/eve/child/EveChildRef.js +2 -2
  958. package/dist/trinity/eve/child/EveChildRef.js.map +1 -1
  959. package/dist/trinity/eve/child/EveChildSocket.js +2 -2
  960. package/dist/trinity/eve/child/EveChildSocket.js.map +1 -1
  961. package/dist/trinity/eve/child/EveChildSpherePin.js +4 -4
  962. package/dist/trinity/eve/child/EveChildSpherePin.js.map +1 -1
  963. package/dist/trinity/eve/child/EveChildTurret.js +4 -4
  964. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  965. package/dist/trinity/eve/child/EveCloudVolumeBall.js +2 -2
  966. package/dist/trinity/eve/child/EveCloudVolumeBall.js.map +1 -1
  967. package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js +6 -6
  968. package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
  969. package/dist/trinity/eve/child/EveSpaceObjectChild.js +2 -2
  970. package/dist/trinity/eve/child/EveSpaceObjectChild.js.map +1 -1
  971. package/dist/trinity/eve/child/IEveLightingOverride.js +1 -23
  972. package/dist/trinity/eve/child/IEveLightingOverride.js.map +1 -1
  973. package/dist/trinity/eve/child/behaviors/Allign.js +2 -2
  974. package/dist/trinity/eve/child/behaviors/Allign.js.map +1 -1
  975. package/dist/trinity/eve/child/behaviors/ApproachGroup.js +2 -2
  976. package/dist/trinity/eve/child/behaviors/ApproachGroup.js.map +1 -1
  977. package/dist/trinity/eve/child/behaviors/BackAndForth.js +2 -2
  978. package/dist/trinity/eve/child/behaviors/BackAndForth.js.map +1 -1
  979. package/dist/trinity/eve/child/behaviors/BehaviorGroup.js +4 -4
  980. package/dist/trinity/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  981. package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js +2 -2
  982. package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
  983. package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js +2 -2
  984. package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
  985. package/dist/trinity/eve/child/behaviors/DroneAvoidance.js +2 -2
  986. package/dist/trinity/eve/child/behaviors/DroneAvoidance.js.map +1 -1
  987. package/dist/trinity/eve/child/behaviors/FollowASpline.js +2 -2
  988. package/dist/trinity/eve/child/behaviors/FollowASpline.js.map +1 -1
  989. package/dist/trinity/eve/child/behaviors/Formation.js +2 -2
  990. package/dist/trinity/eve/child/behaviors/Formation.js.map +1 -1
  991. package/dist/trinity/eve/child/behaviors/InclusionVolume.js +2 -2
  992. package/dist/trinity/eve/child/behaviors/InclusionVolume.js.map +1 -1
  993. package/dist/trinity/eve/child/behaviors/Inertia.js +2 -2
  994. package/dist/trinity/eve/child/behaviors/Inertia.js.map +1 -1
  995. package/dist/trinity/eve/child/behaviors/PlayFX.js +2 -2
  996. package/dist/trinity/eve/child/behaviors/PlayFX.js.map +1 -1
  997. package/dist/trinity/eve/child/behaviors/SeekTarget.js +2 -2
  998. package/dist/trinity/eve/child/behaviors/SeekTarget.js.map +1 -1
  999. package/dist/trinity/eve/child/behaviors/SpawnDrones.js +2 -2
  1000. package/dist/trinity/eve/child/behaviors/SpawnDrones.js.map +1 -1
  1001. package/dist/trinity/eve/child/behaviors/Wander.js +2 -2
  1002. package/dist/trinity/eve/child/behaviors/Wander.js.map +1 -1
  1003. package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js +2 -2
  1004. package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -1
  1005. package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js +2 -2
  1006. package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -1
  1007. package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js +8 -8
  1008. package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  1009. package/dist/trinity/eve/child/lineSetPaths/EveCircle.js +8 -8
  1010. package/dist/trinity/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  1011. package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js +2 -2
  1012. package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
  1013. package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js +2 -2
  1014. package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
  1015. package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js +2 -2
  1016. package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
  1017. package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js +2 -2
  1018. package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  1019. package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js +2 -2
  1020. package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
  1021. package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +2 -2
  1022. package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
  1023. package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js +5 -6
  1024. package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
  1025. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +3 -3
  1026. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
  1027. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +3 -3
  1028. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
  1029. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js +2 -2
  1030. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
  1031. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +3 -3
  1032. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
  1033. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js +4 -4
  1034. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
  1035. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +4 -4
  1036. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
  1037. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +4 -4
  1038. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
  1039. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js +4 -4
  1040. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
  1041. package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js +2 -2
  1042. package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
  1043. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +2 -2
  1044. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
  1045. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +2 -2
  1046. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
  1047. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +2 -2
  1048. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
  1049. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +2 -2
  1050. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
  1051. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +4 -4
  1052. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
  1053. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +2 -2
  1054. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
  1055. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +2 -2
  1056. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
  1057. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +2 -2
  1058. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
  1059. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +2 -2
  1060. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
  1061. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +2 -2
  1062. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
  1063. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js +2 -2
  1064. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
  1065. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +2 -2
  1066. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
  1067. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js +2 -2
  1068. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
  1069. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +2 -2
  1070. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
  1071. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +2 -2
  1072. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
  1073. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +2 -2
  1074. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
  1075. package/dist/trinity/eve/effect/lensflare/EveLensflare.js +4 -5
  1076. package/dist/trinity/eve/effect/lensflare/EveLensflare.js.map +1 -1
  1077. package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js +4 -5
  1078. package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js.map +1 -1
  1079. package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js +4 -4
  1080. package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -1
  1081. package/dist/trinity/eve/index.js +4 -4
  1082. package/dist/trinity/eve/lights/Tr2FactionLight.js +5 -6
  1083. package/dist/trinity/eve/lights/Tr2FactionLight.js.map +1 -1
  1084. package/dist/trinity/eve/lights/Tr2Light.js +37 -9
  1085. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  1086. package/dist/trinity/eve/lights/Tr2PointLight.js +2 -2
  1087. package/dist/trinity/eve/lights/Tr2PointLight.js.map +1 -1
  1088. package/dist/trinity/eve/lights/Tr2SpotLight.js +2 -2
  1089. package/dist/trinity/eve/lights/Tr2SpotLight.js.map +1 -1
  1090. package/dist/trinity/eve/lights/Tr2TexturedPointLight.js +29 -31
  1091. package/dist/trinity/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  1092. package/dist/trinity/eve/locator/EveLocator2.js +2 -2
  1093. package/dist/trinity/eve/locator/EveLocator2.js.map +1 -1
  1094. package/dist/trinity/eve/locator/EveLocatorSets.js +2 -2
  1095. package/dist/trinity/eve/locator/EveLocatorSets.js.map +1 -1
  1096. package/dist/trinity/eve/locator/Locator.js +2 -2
  1097. package/dist/trinity/eve/locator/Locator.js.map +1 -1
  1098. package/dist/trinity/eve/overlays/EveDamageOverlay.js +2 -2
  1099. package/dist/trinity/eve/overlays/EveDamageOverlay.js.map +1 -1
  1100. package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js +2 -2
  1101. package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
  1102. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +5 -6
  1103. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  1104. package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js +4 -5
  1105. package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  1106. package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js +2 -2
  1107. package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
  1108. package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js +2 -2
  1109. package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
  1110. package/dist/trinity/eve/renderable/stretch/EveStretch.js +6 -6
  1111. package/dist/trinity/eve/renderable/stretch/EveStretch.js.map +1 -1
  1112. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +10 -8
  1113. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  1114. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +4 -5
  1115. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  1116. package/dist/trinity/eve/scene/EveSpaceScene.js +2 -2
  1117. package/dist/trinity/eve/scene/EveSpaceScene.js.map +1 -1
  1118. package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js +2 -2
  1119. package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
  1120. package/dist/trinity/eve/scene/components/EveComponentRegistry.js +3 -3
  1121. package/dist/trinity/eve/scene/components/EveComponentRegistry.js.map +1 -1
  1122. package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js +6 -7
  1123. package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
  1124. package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js +2 -2
  1125. package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
  1126. package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js +4 -8
  1127. package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  1128. package/dist/trinity/eve/smartLights/EveSmartLightMesh.js +7 -4
  1129. package/dist/trinity/eve/smartLights/EveSmartLightMesh.js.map +1 -1
  1130. package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js +25 -15
  1131. package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  1132. package/dist/trinity/eve/smartLights/EveSmartLightQuad.js +4 -9
  1133. package/dist/trinity/eve/smartLights/EveSmartLightQuad.js.map +1 -1
  1134. package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js +2 -2
  1135. package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
  1136. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +2 -3
  1137. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
  1138. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +2 -2
  1139. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
  1140. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +2 -2
  1141. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
  1142. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +10 -18
  1143. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
  1144. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +2 -2
  1145. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
  1146. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +2 -2
  1147. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
  1148. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +4 -9
  1149. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
  1150. package/dist/trinity/eve/socket/EveSocketParameterBool.js +2 -2
  1151. package/dist/trinity/eve/socket/EveSocketParameterBool.js.map +1 -1
  1152. package/dist/trinity/eve/socket/EveSocketParameterColor.js +2 -2
  1153. package/dist/trinity/eve/socket/EveSocketParameterColor.js.map +1 -1
  1154. package/dist/trinity/eve/socket/EveSocketParameterFloat.js +2 -2
  1155. package/dist/trinity/eve/socket/EveSocketParameterFloat.js.map +1 -1
  1156. package/dist/trinity/eve/socket/EveSocketParameterInt.js +2 -2
  1157. package/dist/trinity/eve/socket/EveSocketParameterInt.js.map +1 -1
  1158. package/dist/trinity/eve/socket/EveSocketParameterString.js +2 -2
  1159. package/dist/trinity/eve/socket/EveSocketParameterString.js.map +1 -1
  1160. package/dist/trinity/eve/socket/EveSocketParameterVector2.js +2 -2
  1161. package/dist/trinity/eve/socket/EveSocketParameterVector2.js.map +1 -1
  1162. package/dist/trinity/eve/socket/EveSocketParameterVector3.js +2 -2
  1163. package/dist/trinity/eve/socket/EveSocketParameterVector3.js.map +1 -1
  1164. package/dist/trinity/eve/socket/EveSocketParameterVector4.js +2 -2
  1165. package/dist/trinity/eve/socket/EveSocketParameterVector4.js.map +1 -1
  1166. package/dist/trinity/eve/spaceObject/EveEffectRoot2.js +20 -17
  1167. package/dist/trinity/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  1168. package/dist/trinity/eve/spaceObject/EveMissile.js +2 -2
  1169. package/dist/trinity/eve/spaceObject/EveMissile.js.map +1 -1
  1170. package/dist/trinity/eve/spaceObject/EveMissileWarhead.js +2 -2
  1171. package/dist/trinity/eve/spaceObject/EveMissileWarhead.js.map +1 -1
  1172. package/dist/trinity/eve/spaceObject/EveMobile.js +2 -2
  1173. package/dist/trinity/eve/spaceObject/EveMobile.js.map +1 -1
  1174. package/dist/trinity/eve/spaceObject/EveRootTransform.js +2 -2
  1175. package/dist/trinity/eve/spaceObject/EveRootTransform.js.map +1 -1
  1176. package/dist/trinity/eve/spaceObject/EveShip2.js +2 -2
  1177. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  1178. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +525 -431
  1179. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  1180. package/dist/trinity/eve/spaceObject/EveTransform.js +7 -7
  1181. package/dist/trinity/eve/spaceObject/EveTransform.js.map +1 -1
  1182. package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +2 -2
  1183. package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -1
  1184. package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +2 -2
  1185. package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -1
  1186. package/dist/trinity/eve/spaceObject/planet/EvePlanet.js +2 -2
  1187. package/dist/trinity/eve/spaceObject/planet/EvePlanet.js.map +1 -1
  1188. package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js +2 -2
  1189. package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  1190. package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js +7 -8
  1191. package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
  1192. package/dist/trinity/eve/ui/EveConnector.js +2 -2
  1193. package/dist/trinity/eve/ui/EveConnector.js.map +1 -1
  1194. package/dist/trinity/eve/ui/EveEllipseDefinition.js +2 -2
  1195. package/dist/trinity/eve/ui/EveEllipseDefinition.js.map +1 -1
  1196. package/dist/trinity/eve/ui/EveEllipseSet.js +36 -6
  1197. package/dist/trinity/eve/ui/EveEllipseSet.js.map +1 -1
  1198. package/dist/trinity/eve/ui/EveLineContainer.js +4 -5
  1199. package/dist/trinity/eve/ui/EveLineContainer.js.map +1 -1
  1200. package/dist/trinity/eve/ui/EveProjectBracket.js +11 -3
  1201. package/dist/trinity/eve/ui/EveProjectBracket.js.map +1 -1
  1202. package/dist/trinity/eve/ui/EveSpherePin.js +6 -7
  1203. package/dist/trinity/eve/ui/EveSpherePin.js.map +1 -1
  1204. package/dist/trinity/eve/ui/EveSprite2dBracket.js +2 -2
  1205. package/dist/trinity/eve/ui/EveSprite2dBracket.js.map +1 -1
  1206. package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js +2 -2
  1207. package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
  1208. package/dist/trinity/eve/ui/EveTacticalOverlay.js +6 -24
  1209. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  1210. package/dist/trinity/eve/ui/EveUiObject.js +2 -2
  1211. package/dist/trinity/eve/ui/EveUiObject.js.map +1 -1
  1212. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +4 -5
  1213. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  1214. package/dist/trinity/eve/ui/lines/EveLineSet.js +6 -7
  1215. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  1216. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +2 -2
  1217. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -1
  1218. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +8 -9
  1219. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  1220. package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js +2 -2
  1221. package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
  1222. package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js +2 -2
  1223. package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
  1224. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +2 -2
  1225. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
  1226. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +4 -4
  1227. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
  1228. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +2 -2
  1229. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
  1230. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +2 -2
  1231. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
  1232. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +2 -2
  1233. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
  1234. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +4 -4
  1235. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
  1236. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +2 -2
  1237. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
  1238. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +2 -2
  1239. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
  1240. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +2 -2
  1241. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
  1242. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +2 -2
  1243. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
  1244. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +2 -2
  1245. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
  1246. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +2 -2
  1247. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
  1248. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +2 -2
  1249. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
  1250. package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +2 -2
  1251. package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
  1252. package/dist/trinity/eve/volume/EveBoxVolume.js +44 -44
  1253. package/dist/trinity/eve/volume/EveBoxVolume.js.map +1 -1
  1254. package/dist/trinity/eve/volume/EveEllipsoidVolume.js +2 -2
  1255. package/dist/trinity/eve/volume/EveEllipsoidVolume.js.map +1 -1
  1256. package/dist/trinity/eve/volume/EveSphereVolume.js +5 -6
  1257. package/dist/trinity/eve/volume/EveSphereVolume.js.map +1 -1
  1258. package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js +2 -2
  1259. package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
  1260. package/dist/trinity/generated/eve/effect/EveOccluder.js +2 -2
  1261. package/dist/trinity/generated/eve/effect/EveOccluder.js.map +1 -1
  1262. package/dist/trinity/generated/eve/effect/EveStarfield.js +2 -2
  1263. package/dist/trinity/generated/eve/effect/EveStarfield.js.map +1 -1
  1264. package/dist/trinity/generated/font/Tr2FontManager.js +2 -2
  1265. package/dist/trinity/generated/font/Tr2FontManager.js.map +1 -1
  1266. package/dist/trinity/generated/font/Tr2FontMeasurer.js +2 -2
  1267. package/dist/trinity/generated/font/Tr2FontMeasurer.js.map +1 -1
  1268. package/dist/trinity/generated/font/Tr2SBitWrapper.js +2 -2
  1269. package/dist/trinity/generated/font/Tr2SBitWrapper.js.map +1 -1
  1270. package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js +2 -2
  1271. package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
  1272. package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js +2 -2
  1273. package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
  1274. package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js +2 -2
  1275. package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
  1276. package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
  1277. package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
  1278. package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js +2 -2
  1279. package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
  1280. package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js +2 -2
  1281. package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
  1282. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
  1283. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
  1284. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js +2 -2
  1285. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
  1286. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js +2 -2
  1287. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
  1288. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js +2 -2
  1289. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
  1290. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js +2 -2
  1291. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
  1292. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js +2 -2
  1293. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
  1294. package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js +2 -2
  1295. package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
  1296. package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js +2 -2
  1297. package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
  1298. package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
  1299. package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
  1300. package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js +2 -2
  1301. package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
  1302. package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js +2 -2
  1303. package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
  1304. package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js +2 -2
  1305. package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
  1306. package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
  1307. package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
  1308. package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js +2 -2
  1309. package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
  1310. package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js +2 -2
  1311. package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
  1312. package/dist/trinity/generated/trinityCore/Tr2SSSSS.js +2 -2
  1313. package/dist/trinity/generated/trinityCore/Tr2SSSSS.js.map +1 -1
  1314. package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js +2 -2
  1315. package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
  1316. package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
  1317. package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
  1318. package/dist/trinity/index.js +23 -16
  1319. package/dist/trinity/index.js.map +1 -1
  1320. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js +1 -31
  1321. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -1
  1322. package/dist/trinity/particle/Tr2ParticleSystem.js +51 -52
  1323. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  1324. package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js +2 -2
  1325. package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
  1326. package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js +2 -2
  1327. package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
  1328. package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js +2 -2
  1329. package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
  1330. package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js +2 -2
  1331. package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
  1332. package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js +2 -2
  1333. package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js.map +1 -1
  1334. package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js +2 -2
  1335. package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js.map +1 -1
  1336. package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js +2 -2
  1337. package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js.map +1 -1
  1338. package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js +13 -3
  1339. package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js.map +1 -1
  1340. package/dist/trinity/particle/constraint/Tr2SphereConstraint.js +2 -2
  1341. package/dist/trinity/particle/constraint/Tr2SphereConstraint.js.map +1 -1
  1342. package/dist/trinity/particle/element/Tr2ParticleElementData.js +22 -8
  1343. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  1344. package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js +13 -25
  1345. package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js.map +1 -1
  1346. package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js +38 -3
  1347. package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js.map +1 -1
  1348. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +26 -27
  1349. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  1350. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +4 -5
  1351. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  1352. package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js +2 -2
  1353. package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js.map +1 -1
  1354. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +17 -18
  1355. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  1356. package/dist/trinity/particle/force/Tr2ForceSphereVolume.js +2 -2
  1357. package/dist/trinity/particle/force/Tr2ForceSphereVolume.js.map +1 -1
  1358. package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js +2 -2
  1359. package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js.map +1 -1
  1360. package/dist/trinity/particle/force/Tr2ParticleDirectForce.js +2 -2
  1361. package/dist/trinity/particle/force/Tr2ParticleDirectForce.js.map +1 -1
  1362. package/dist/trinity/particle/force/Tr2ParticleDragForce.js +2 -2
  1363. package/dist/trinity/particle/force/Tr2ParticleDragForce.js.map +1 -1
  1364. package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js +2 -2
  1365. package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js.map +1 -1
  1366. package/dist/trinity/particle/force/Tr2ParticleSpring.js +2 -2
  1367. package/dist/trinity/particle/force/Tr2ParticleSpring.js.map +1 -1
  1368. package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js +2 -2
  1369. package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js.map +1 -1
  1370. package/dist/trinity/particle/force/Tr2ParticleVortexForce.js +2 -2
  1371. package/dist/trinity/particle/force/Tr2ParticleVortexForce.js.map +1 -1
  1372. package/dist/trinity/particle/index.js +1 -1
  1373. package/dist/trinity/postProcess/Tr2PostProcess.js +2 -2
  1374. package/dist/trinity/postProcess/Tr2PostProcess.js.map +1 -1
  1375. package/dist/trinity/postProcess/Tr2PostProcess2.js +2 -2
  1376. package/dist/trinity/postProcess/Tr2PostProcess2.js.map +1 -1
  1377. package/dist/trinity/postProcess/Tr2PostProcessAttributes.js +2 -2
  1378. package/dist/trinity/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  1379. package/dist/trinity/postProcess/Tr2PostProcessRenderer.js +4 -4
  1380. package/dist/trinity/postProcess/Tr2PostProcessRenderer.js.map +1 -1
  1381. package/dist/trinity/postProcess/Tr2SSAO.js +4 -4
  1382. package/dist/trinity/postProcess/Tr2SSAO.js.map +1 -1
  1383. package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js +2 -2
  1384. package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js.map +1 -1
  1385. package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js +2 -2
  1386. package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js.map +1 -1
  1387. package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js +2 -2
  1388. package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js.map +1 -1
  1389. package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js +2 -2
  1390. package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js.map +1 -1
  1391. package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js +2 -2
  1392. package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js.map +1 -1
  1393. package/dist/trinity/postProcess/effect/Tr2PPEffect.js +2 -2
  1394. package/dist/trinity/postProcess/effect/Tr2PPEffect.js.map +1 -1
  1395. package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js +2 -2
  1396. package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js.map +1 -1
  1397. package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js +2 -2
  1398. package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js.map +1 -1
  1399. package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js +2 -2
  1400. package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js.map +1 -1
  1401. package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js +2 -2
  1402. package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js.map +1 -1
  1403. package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js +2 -2
  1404. package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js.map +1 -1
  1405. package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js +2 -2
  1406. package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js.map +1 -1
  1407. package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js +2 -2
  1408. package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js.map +1 -1
  1409. package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js +2 -2
  1410. package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js.map +1 -1
  1411. package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js +2 -2
  1412. package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js.map +1 -1
  1413. package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js +2 -2
  1414. package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js.map +1 -1
  1415. package/dist/trinity/renderJob/Tr2RenderJobs.js +5 -5
  1416. package/dist/trinity/renderJob/Tr2RenderJobs.js.map +1 -1
  1417. package/dist/trinity/renderJob/TriRenderJob.js +4 -4
  1418. package/dist/trinity/renderJob/TriRenderJob.js.map +1 -1
  1419. package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js +4 -5
  1420. package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js.map +1 -1
  1421. package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js +4 -5
  1422. package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js.map +1 -1
  1423. package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js +2 -2
  1424. package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js.map +1 -1
  1425. package/dist/trinity/renderJob/step/TriRenderStep.js +2 -2
  1426. package/dist/trinity/renderJob/step/TriRenderStep.js.map +1 -1
  1427. package/dist/trinity/renderJob/step/TriStepClear.js +2 -2
  1428. package/dist/trinity/renderJob/step/TriStepClear.js.map +1 -1
  1429. package/dist/trinity/renderJob/step/TriStepClearUav.js +2 -2
  1430. package/dist/trinity/renderJob/step/TriStepClearUav.js.map +1 -1
  1431. package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js +2 -2
  1432. package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js.map +1 -1
  1433. package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js +2 -2
  1434. package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js.map +1 -1
  1435. package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js +2 -2
  1436. package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js.map +1 -1
  1437. package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js +2 -2
  1438. package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js.map +1 -1
  1439. package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js +2 -2
  1440. package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js.map +1 -1
  1441. package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js +2 -2
  1442. package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js.map +1 -1
  1443. package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js +2 -2
  1444. package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js.map +1 -1
  1445. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +2 -2
  1446. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  1447. package/dist/trinity/renderJob/step/TriStepRenderAtlas.js +2 -2
  1448. package/dist/trinity/renderJob/step/TriStepRenderAtlas.js.map +1 -1
  1449. package/dist/trinity/renderJob/step/TriStepRenderDebug.js +2 -2
  1450. package/dist/trinity/renderJob/step/TriStepRenderDebug.js.map +1 -1
  1451. package/dist/trinity/renderJob/step/TriStepRenderEffect.js +2 -2
  1452. package/dist/trinity/renderJob/step/TriStepRenderEffect.js.map +1 -1
  1453. package/dist/trinity/renderJob/step/TriStepRenderFps.js +2 -2
  1454. package/dist/trinity/renderJob/step/TriStepRenderFps.js.map +1 -1
  1455. package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js +2 -2
  1456. package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js.map +1 -1
  1457. package/dist/trinity/renderJob/step/TriStepRenderObject.js +2 -2
  1458. package/dist/trinity/renderJob/step/TriStepRenderObject.js.map +1 -1
  1459. package/dist/trinity/renderJob/step/TriStepRenderPass.js +2 -2
  1460. package/dist/trinity/renderJob/step/TriStepRenderPass.js.map +1 -1
  1461. package/dist/trinity/renderJob/step/TriStepRenderScene.js +2 -2
  1462. package/dist/trinity/renderJob/step/TriStepRenderScene.js.map +1 -1
  1463. package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js +2 -2
  1464. package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js.map +1 -1
  1465. package/dist/trinity/renderJob/step/TriStepRenderTexture.js +2 -2
  1466. package/dist/trinity/renderJob/step/TriStepRenderTexture.js.map +1 -1
  1467. package/dist/trinity/renderJob/step/TriStepResolve.js +2 -2
  1468. package/dist/trinity/renderJob/step/TriStepResolve.js.map +1 -1
  1469. package/dist/trinity/renderJob/step/TriStepRunComputeShader.js +2 -2
  1470. package/dist/trinity/renderJob/step/TriStepRunComputeShader.js.map +1 -1
  1471. package/dist/trinity/renderJob/step/TriStepRunJob.js +2 -2
  1472. package/dist/trinity/renderJob/step/TriStepRunJob.js.map +1 -1
  1473. package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js +2 -2
  1474. package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js.map +1 -1
  1475. package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js +2 -2
  1476. package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js.map +1 -1
  1477. package/dist/trinity/renderJob/step/TriStepSetProjection.js +2 -2
  1478. package/dist/trinity/renderJob/step/TriStepSetProjection.js.map +1 -1
  1479. package/dist/trinity/renderJob/step/TriStepSetRenderState.js +2 -2
  1480. package/dist/trinity/renderJob/step/TriStepSetRenderState.js.map +1 -1
  1481. package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js +2 -2
  1482. package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js.map +1 -1
  1483. package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js +2 -2
  1484. package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js.map +1 -1
  1485. package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js +2 -2
  1486. package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js.map +1 -1
  1487. package/dist/trinity/renderJob/step/TriStepSetVariableStore.js +2 -2
  1488. package/dist/trinity/renderJob/step/TriStepSetVariableStore.js.map +1 -1
  1489. package/dist/trinity/renderJob/step/TriStepSetView.js +2 -2
  1490. package/dist/trinity/renderJob/step/TriStepSetView.js.map +1 -1
  1491. package/dist/trinity/renderJob/step/TriStepSetViewport.js +2 -2
  1492. package/dist/trinity/renderJob/step/TriStepSetViewport.js.map +1 -1
  1493. package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js +2 -2
  1494. package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js.map +1 -1
  1495. package/dist/trinity/renderJob/step/TriStepTestBlocking.js +2 -2
  1496. package/dist/trinity/renderJob/step/TriStepTestBlocking.js.map +1 -1
  1497. package/dist/trinity/renderJob/step/TriStepToggleCubemap.js +2 -2
  1498. package/dist/trinity/renderJob/step/TriStepToggleCubemap.js.map +1 -1
  1499. package/dist/trinity/renderJob/step/TriStepUpdate.js +2 -2
  1500. package/dist/trinity/renderJob/step/TriStepUpdate.js.map +1 -1
  1501. package/dist/trinity/shader/Tr2DataTextureManager.js +9 -9
  1502. package/dist/trinity/shader/Tr2DataTextureManager.js.map +1 -1
  1503. package/dist/trinity/shader/Tr2Effect.js +370 -347
  1504. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  1505. package/dist/trinity/shader/Tr2Material.js +5 -5
  1506. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  1507. package/dist/trinity/shader/Tr2ShaderBuffer.js +3 -4
  1508. package/dist/trinity/shader/Tr2ShaderBuffer.js.map +1 -1
  1509. package/dist/trinity/shader/index.js +3 -0
  1510. package/dist/trinity/shader/index.js.map +1 -1
  1511. package/dist/trinity/shader/parameter/CjsParameter.js +202 -185
  1512. package/dist/trinity/shader/parameter/CjsParameter.js.map +1 -1
  1513. package/dist/trinity/shader/parameter/CjsVectorParameter.js +2 -2
  1514. package/dist/trinity/shader/parameter/CjsVectorParameter.js.map +1 -1
  1515. package/dist/trinity/shader/parameter/ITriEffectParameter.js +56 -0
  1516. package/dist/trinity/shader/parameter/ITriEffectParameter.js.map +1 -0
  1517. package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js +31 -0
  1518. package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js.map +1 -0
  1519. package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js +43 -0
  1520. package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js.map +1 -0
  1521. package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js +17 -5
  1522. package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
  1523. package/dist/trinity/shader/parameter/Tr2FloatParameter.js +46 -45
  1524. package/dist/trinity/shader/parameter/Tr2FloatParameter.js.map +1 -1
  1525. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +14 -12
  1526. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  1527. package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js +33 -32
  1528. package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  1529. package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js +11 -10
  1530. package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  1531. package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js +55 -53
  1532. package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  1533. package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js +49 -48
  1534. package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  1535. package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js +52 -51
  1536. package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  1537. package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js +56 -55
  1538. package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  1539. package/dist/trinity/shader/parameter/TriFloatArrayParameter.js +8 -8
  1540. package/dist/trinity/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  1541. package/dist/trinity/shader/parameter/TriTextureParameter.js +27 -22
  1542. package/dist/trinity/shader/parameter/TriTextureParameter.js.map +1 -1
  1543. package/dist/trinity/shader/parameter/TriTransformParameter.js +27 -27
  1544. package/dist/trinity/shader/parameter/TriTransformParameter.js.map +1 -1
  1545. package/dist/trinity/shader/parameter/TriVariableParameter.js +53 -54
  1546. package/dist/trinity/shader/parameter/TriVariableParameter.js.map +1 -1
  1547. package/dist/trinity/shader/parameter/TriVector4.js +2 -2
  1548. package/dist/trinity/shader/parameter/TriVector4.js.map +1 -1
  1549. package/dist/trinity/shader/reflection/Tr2ShaderOption.js +4 -2
  1550. package/dist/trinity/shader/reflection/Tr2ShaderOption.js.map +1 -1
  1551. package/dist/trinity/shader/sampler/Tr2SamplerOverride.js +11 -2
  1552. package/dist/trinity/shader/sampler/Tr2SamplerOverride.js.map +1 -1
  1553. package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js +2 -2
  1554. package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
  1555. package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js +2 -2
  1556. package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
  1557. package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js +2 -2
  1558. package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
  1559. package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js +8 -9
  1560. package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
  1561. package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js +2 -2
  1562. package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
  1563. package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js +2 -2
  1564. package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
  1565. package/dist/trinity/sprite2d/Tr2Sprite2dScene.js +4 -4
  1566. package/dist/trinity/sprite2d/Tr2Sprite2dScene.js.map +1 -1
  1567. package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js +2 -2
  1568. package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
  1569. package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js +2 -2
  1570. package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
  1571. package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js +2 -2
  1572. package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
  1573. package/dist/trinity/ui/Tr2PresentParameters.js +2 -2
  1574. package/dist/trinity/ui/Tr2PresentParameters.js.map +1 -1
  1575. package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js +3 -3
  1576. package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js.map +1 -1
  1577. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -1
  1578. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -1
  1579. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  1580. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  1581. package/docs/core/README.md +38 -38
  1582. package/docs/core/architecture.md +6 -5
  1583. package/docs/core/reference/api.md +0 -10
  1584. package/docs/core/reference/classes/README.md +57 -67
  1585. package/docs/global/architecture.md +1 -3
  1586. package/docs/global/blue-enums.md +115 -0
  1587. package/docs/global/concepts/model-lifecycle.md +177 -182
  1588. package/docs/global/core-types/README.md +394 -317
  1589. package/docs/global/reference/api.md +2 -2
  1590. package/docs/global/reference/classes/README.md +355 -205
  1591. package/docs/global/reference/classes/dropped.md +40 -0
  1592. package/docs/resource/architecture.md +152 -112
  1593. package/docs/resource/concepts/resource-lifecycle.md +14 -10
  1594. package/docs/resource/formats/pickle.md +126 -100
  1595. package/docs/resource/formats/provenance.md +15 -9
  1596. package/docs/resource/formats/webgl/carbon-constant-layouts.md +98 -232
  1597. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +278 -530
  1598. package/docs/resource/reference/classes/README.md +3 -1
  1599. package/docs/resource/reference/classes/dropped.md +21 -1
  1600. package/docs/resource/reference/classes/formats.md +33 -0
  1601. package/docs/resource/reference/classes/video.md +92 -0
  1602. package/docs/resource/reference/events.md +10 -9
  1603. package/docs/resource/reference/queues.md +8 -1
  1604. package/docs/trinity/README.md +5 -5
  1605. package/docs/trinity/architecture.md +355 -344
  1606. package/docs/trinity/concepts/eve-runtime-behavior.md +1 -1
  1607. package/docs/trinity/reference/api.md +19 -7
  1608. package/docs/trinity/reference/classes/dropped.md +2 -11
  1609. package/docs/trinity/reference/classes/eve-runtime.md +1 -1
  1610. package/docs/trinity/reference/classes/trinity-core.md +1672 -1622
  1611. package/docs/trinity/reference/implementation-status.md +92 -92
  1612. package/package.json +2 -1
  1613. package/dist/core/CjsFrameDriver.js +0 -109
  1614. package/dist/core/CjsFrameDriver.js.map +0 -1
  1615. package/dist/global/contracts/CjsFrameLifecycle.js +0 -49
  1616. package/dist/global/contracts/CjsFrameLifecycle.js.map +0 -1
  1617. package/dist/global/contracts/CjsInstancedMeshManager.js +0 -58
  1618. package/dist/global/contracts/CjsInstancedMeshManager.js.map +0 -1
  1619. package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js +0 -4
  1620. package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"effectPackage.js","sources":["../../../../../../src/resource/formats/webgl/core/effectPackage.js"],"sourcesContent":["import { asUint8Array } from \"#utils/bytes\";\nimport { CjsHlslFormat } from \"../../hlsl/index.js\";\nimport { HlslEffectBindingManifest } from \"../../hlsl/core/tr2/shader/HlslEffectBindingManifest.js\";\nimport { HlslRenderContextEnum, hlslShaderStageName } from \"../../hlsl/core/tr2/HlslRenderContextEnum.js\";\n\nimport {\n buildEffectPermutationGraph,\n EFFECT_PERMUTATION_GRAPH_FORMAT,\n EFFECT_PERMUTATION_GRAPH_VERSION\n} from \"../../../format/effect/effectPermutationGraph.js\";\nimport { emitGlslWithOptions } from \"./helpers.js\";\nimport { inspectGlslEffectContainer } from \"./inspectGlslEffectContainer.js\";\nimport { inspectRasterCompleteness } from \"./glslEffectCompleteness.js\";\nimport { recogniseDetailMapFamily } from \"../../hlsl/core/detailMapFamily.js\";\nimport {\n recogniseLocalLightFamily,\n stripLocalLightBindings\n} from \"../../hlsl/core/localLightFamily.js\";\nimport { buildGlslBackendBodySet } from \"./glslBackendBodySet.js\";\nimport { buildGlslEffectContainer } from \"./buildGlslEffectContainer.js\";\nimport { sha256Bytes, sha256Utf8 } from \"../../../format/effect/sha256.js\";\nimport { resolveWriteVersion } from \"../../../format/carbonEffect/carbonEffectRecords.js\";\n\n/**\n * INFO record version for the in-memory build result.\n *\n * This lived in effectPackageValidation.js, which validated a written chunk\n * package by reading it back. There is no chunk package to read back, so that\n * file is gone and its one surviving constant lives with its only user.\n */\nconst EFFECT_INFO_VERSION = 3;\n\nconst PACKAGE_VERSION = \"0.11.1\";\n\n/**\n * Builds a complete Carbon WebGL package from compiled Tr2 effect bytes.\n *\n * This browser-safe path owns whole-effect selection, stage translation,\n * package assembly, and structural qualification. Filesystem and native-tool\n * concerns remain in Node callers.\n *\n * @param {Uint8Array|ArrayBuffer|ArrayBufferView} input Compiled effect bytes.\n * @param {object} [options] Selection, provenance, and emitter policy.\n * @returns {object} Package bytes plus inspection and qualification records.\n */\nexport function buildEffectPackage(input, options = {})\n{\n const values = normalizeOptions(input, options);\n // Resolved before any translation work, so an unwritable version is refused\n // up front. What lands in `info.containerVersion` is what was emitted.\n const containerVersion = resolveWriteVersion(options.version);\n const effectRes = CjsHlslFormat.read(values.sourceBytes, {\n emit: CjsHlslFormat.OUTPUT_RAW,\n source: values.source\n });\n\n if (!effectRes.IsGood())\n {\n throw effectRes.loadError || new Error(\"Tr2EffectRes failed to load input\");\n }\n\n const sourceIdentity = normalizeSourceIdentity(values);\n // One INFO version means one contract, and that contract requires complete\n // source reflection, which only version-15 input can supply.\n if (effectRes.m_version !== 15)\n {\n throw new Error(\n \"Effect package requires a version-15 compiled effect, got version \"\n + (effectRes.m_version ?? \"unknown\")\n );\n }\n\n const permutationGraph = buildEffectPermutationGraph(effectRes);\n const variants = buildExportVariants(effectRes, values.allPermutations);\n const bodyMap = new Map();\n const stageMap = new Map();\n const shaderMap = new Map();\n\n for (const variant of variants)\n {\n if (bodyMap.has(variant.bodyKey))\n {\n continue;\n }\n\n const shader = effectRes.GetShader(toShaderOptions(variant.options));\n\n if (!shader)\n {\n bodyMap.set(variant.bodyKey, {\n key: variant.bodyKey,\n bodyOffset: variant.bodyOffset,\n bodySize: variant.bodySize,\n firstVariantKey: variant.key,\n error: \"Tr2EffectRes.GetShader returned null\",\n manifest: null,\n stages: []\n });\n continue;\n }\n\n const effectDescription = shader.GetEffectDescription();\n const manifest = HlslEffectBindingManifest.fromEffectDescription(effectDescription);\n const collection = collectStages(effectDescription, values.selection);\n const body = {\n key: variant.bodyKey,\n bodyOffset: variant.bodyOffset,\n bodySize: variant.bodySize,\n firstVariantKey: variant.key,\n error: collection.errors.length ? collection.errors.join(\"; \") : null,\n // Dropping the light family removes its declarations from the\n // shader, so the manifest must stop advertising them too.\n manifest: values.localLights === \"drop\"\n ? stripLocalLightBindings(manifest.toJSON())\n : manifest.toJSON(),\n stages: []\n };\n\n for (const stage of collection.stages)\n {\n const stageKey = `${variant.bodyKey}.${stage.key}`;\n const shaderKey = `shader_${stageKey}`;\n const contract = buildStageContract(stage);\n const stageRecord = {\n key: stageKey,\n bodyKey: variant.bodyKey,\n localKey: stage.key,\n techniqueName: stage.techniqueName,\n passIndex: stage.passIndex,\n stageType: stage.stageType,\n stageName: stage.stageName,\n shaderHandle: stage.shaderHandle,\n shaderSize: stage.bytecode.shaderSize,\n stringTableOffset: stage.bytecode.stringTableOffset,\n shaderKey,\n contract\n };\n\n stageMap.set(stageKey, stageRecord);\n body.stages.push(stageKey);\n shaderMap.set(shaderKey, {\n key: shaderKey,\n firstStageKey: stageKey,\n firstBodyKey: variant.bodyKey,\n stageName: stage.stageName,\n shaderSize: stage.bytecode.shaderSize,\n stringTableOffset: stage.bytecode.stringTableOffset,\n bytes: stage.bytecode.bytes,\n detailMapArray: stage.detailMapArray,\n emulatedAddressing: stage.emulatedAddressing,\n localLights: stage.localLights,\n contracts: [ {\n stageKey,\n techniqueName: stage.techniqueName,\n passIndex: stage.passIndex,\n stageName: stage.stageName,\n contract\n } ]\n });\n }\n\n bodyMap.set(variant.bodyKey, body);\n }\n\n translateStages(shaderMap, stageMap, values);\n\n const bodies = Array.from(bodyMap.values());\n const stages = Array.from(stageMap.values());\n const translatedShaders = Array.from(shaderMap.values()).map((record) =>\n {\n const { bytes, emit, ...output } = record;\n\n output.primaryContract = mergeShaderContracts(output.contracts);\n return output;\n });\n const failedShaders = translatedShaders.filter((record) =>\n !record.hlsl2webgl?.ok && !record.excluded);\n const excludedShaders = translatedShaders.filter((record) => record.excluded);\n const failedBodies = bodies.filter((body) => body.error);\n // The same rule the validator applies to a finished file. This function used\n // to carry its own copy, and the two had already drifted: the local one had\n // dropped `hlsl2webgl.reason` from its reason chain, so the library and the\n // validator could describe one incomplete pass two different ways. If two\n // places must agree, one of them calls the other.\n const rasterCompleteness = inspectRasterCompleteness(stages, translatedShaders);\n const availableShaderCount = translatedShaders.filter((record) =>\n record.hlsl2webgl?.ok && record.source).length;\n const info = {\n format: \"CARBON_WEBGL\",\n formatVersion: EFFECT_INFO_VERSION,\n packageKind: values.allPermutations\n ? \"tr2-effect-webgl-permutations\"\n : \"tr2-effect-webgl\",\n // What these bytes ARE, next to `sourceEffectVersion` below, which is\n // what they were read FROM. The reader accepts 8..15; the writer emits\n // 15 only, so the two are not the same number and a consumer must not\n // infer one from the other.\n containerVersion,\n targetBackend: \"webgl\",\n // The producer identity names the current import surface. PACKAGE_VERSION\n // independently versions the translated artifact semantics.\n backendPackage: \"@carbonenginejs/runtime/resource/formats/webgl\",\n backendPackageVersion: PACKAGE_VERSION,\n generatedAt: values.generatedAt,\n sourcePath: values.source,\n outputPath: values.outputPath,\n sourceByteLength: sourceIdentity.byteLength,\n sourceMd5: sourceIdentity.md5,\n sourceSha256: sourceIdentity.sha256,\n sourceIdentity,\n translator: \"dxbc-js-emitter\",\n translatorVersion: PACKAGE_VERSION,\n language: \"es300\",\n flags: null,\n selection: values.selection,\n permutationMode: values.allPermutations ? \"all\" : \"selected\",\n defaultPermutationIndex: defaultPermutationIndex(effectRes.m_permutations),\n sourceEffectVersion: effectRes.m_version,\n sourceBodyCoverage: \"all-unique\",\n backendBodyCoverage: values.allPermutations ? \"all\" : \"selected\",\n backendProgramCoverage: selectionCoversWholeEffect(values.selection)\n ? \"all-stages\"\n : \"filtered\",\n permutationCount: variants.length,\n uniqueBodyCount: bodies.length,\n sourcePermutationCount: permutationGraph.variants.length,\n sourceUniqueBodyCount: permutationGraph.bodies.length,\n permutationGraph: {\n format: EFFECT_PERMUTATION_GRAPH_FORMAT,\n formatVersion: EFFECT_PERMUTATION_GRAPH_VERSION,\n sha256: sha256Utf8(`${JSON.stringify(permutationGraph)}\\n`),\n permutationCount: permutationGraph.variants.length,\n uniqueBodyCount: permutationGraph.bodies.length\n },\n bodyStageCount: stages.length,\n uniqueShaderCount: translatedShaders.length,\n translatedShaderCount: translatedShaders.length - failedShaders.length - excludedShaders.length,\n excludedShaderCount: excludedShaders.length,\n failedShaderCount: failedShaders.length,\n failedBodyCount: failedBodies.length,\n expectedRasterPassCount: rasterCompleteness.expectedPassCount,\n completeRasterPassCount: rasterCompleteness.completePassCount,\n incompleteRasterPassCount: rasterCompleteness.incompletePasses.length,\n availableShaderCount,\n allowFailures: values.allowFailures,\n completeness: {\n packageValid: true,\n sourceComplete: effectRes.m_version === 15,\n backendComplete: false,\n runtimeComplete: false\n }\n };\n const metadata = {\n generatedAt: values.generatedAt,\n sourcePath: values.source,\n effectResource: effectRes.toJSON(),\n permutations: effectRes.GetPermutationDescription(),\n variants,\n bodies: bodies.map((body) => ({\n key: body.key,\n bodyOffset: body.bodyOffset,\n bodySize: body.bodySize,\n firstVariantKey: body.firstVariantKey,\n error: body.error,\n manifest: body.manifest\n }))\n };\n const glsl = {\n format: \"CARBON_WEBGL_GLSL_SET\",\n formatVersion: 1,\n language: \"es300\",\n permutationMode: info.permutationMode,\n selection: values.selection,\n variants: variants.map((variant) => ({\n key: variant.key,\n permutationIndex: variant.permutationIndex,\n bodyKey: variant.bodyKey\n })),\n bodies: bodies.map((body) => ({\n key: body.key,\n error: body.error,\n stages: body.stages\n })),\n stages,\n shaders: translatedShaders\n };\n const qualification = qualifyEffectPackage({\n info,\n metadata,\n glsl,\n failedShaders,\n excludedShaders,\n failedBodies,\n rasterCompleteness,\n availableShaderCount\n });\n if (!qualification.ok && !values.allowFailures)\n {\n throw new Error(\n `Carbon WebGL target is incomplete; output was not built. ${qualification.errors.join(\"; \")}`\n );\n }\n\n // The container is the effect. `bytes` is its bytes, and there is no second\n // artifact — the chunk package this function used to build alongside it is\n // gone, along with the chunk assembly that produced it.\n //\n // `info`, `metadata`, `glsl` and `permutationGraph` are still returned.\n // They are the in-memory build result, which is richer than\n // anything the wire carries: the reasons a translation failed live there and\n // nowhere else. What changed is that they are no longer *also* serialised\n // into tagged chunks beside the container.\n const backendBodySet = buildGlslBackendBodySet({\n bodies,\n stages,\n shaders: translatedShaders,\n variants,\n permutationGraph\n });\n const container = buildGlslEffectContainer(\n effectRes,\n permutationGraph,\n backendBodySet,\n { compilerVersion: effectRes.m_compilerVersionBytes, version: containerVersion }\n );\n\n const bytes = container.bytes;\n const inspection = inspectGlslEffectContainer(bytes, {\n source: values.source\n });\n\n return {\n bytes,\n permutationCount: container.permutationCount,\n bodyCount: container.bodyCount,\n backendBodySet,\n info: info,\n metadata: metadata,\n permutationGraph,\n glsl: glsl,\n inspection: inspection,\n qualification: qualification\n };\n}\n\nfunction normalizeOptions(input, options)\n{\n if (!options || typeof options !== \"object\" || Array.isArray(options))\n {\n throw new TypeError(\"Carbon WebGL effect options must be an object\");\n }\n\n const sourceBytes = asUint8Array(input, \"CjsWebglFormat input\");\n const source = String(options.source ?? \"memory\").trim() || \"memory\";\n const selection = {\n technique: options.technique === undefined || options.technique === null\n ? null\n : String(options.technique),\n pass: options.pass === undefined || options.pass === null ? null : Number(options.pass),\n stage: options.stage === undefined || options.stage === null\n ? null\n : String(options.stage).toLowerCase()\n };\n\n if (selection.pass !== null\n && (!Number.isSafeInteger(selection.pass) || selection.pass < 0))\n {\n throw new TypeError(\"Carbon WebGL effect pass must be a non-negative integer or null\");\n }\n\n if (selection.stage !== null\n && ![ \"vertex\", \"pixel\", \"compute\" ].includes(selection.stage))\n {\n throw new TypeError(`Unsupported Carbon WebGL effect stage: ${selection.stage}`);\n }\n\n if (options.emitterOptions !== undefined\n && (!options.emitterOptions || typeof options.emitterOptions !== \"object\"\n || Array.isArray(options.emitterOptions)))\n {\n throw new TypeError(\"Carbon WebGL emitterOptions must be an object\");\n }\n\n return {\n sourceBytes,\n source,\n outputPath: normalizeOptionalString(options.outputPath, \"Carbon WebGL outputPath\"),\n sourceIdentity: options.sourceIdentity ?? null,\n generatedAt: options.generatedAt === undefined || options.generatedAt === null\n ? null\n : new Date(options.generatedAt).toISOString(),\n allPermutations: options.allPermutations !== false,\n allowFailures: options.allowFailures === true,\n selection,\n // How to lower a recognised local-light family. Defaults to leaving it\n // alone, so a caller that does not ask gets the shader's own resources\n // and the honest texture count.\n localLights: normalizeLocalLightMode(options.localLights),\n // Whether to keep `LightProfileArray`. Defaults to dropping it, because\n // it costs a fragment sampler unit that the quad family does not have\n // to spare, and because nothing currently selects a profile: the index\n // lives in flags bits 4-15 and every `GetCarbonLightData()` writes only\n // bit 0, so the shader's own guard skips the lookup for every light. A\n // dropped profile is therefore observationally identical today and a\n // real loss only once profile indices are written.\n // Revisit when a profile index is actually written to those bits.\n lightProfile: normalizeLightProfileMode(options.lightProfile),\n emitterOptions: { ...(options.emitterOptions ?? {}) }\n };\n}\n\nfunction normalizeOptionalString(value, name)\n{\n if (value === undefined || value === null)\n {\n return null;\n }\n\n const result = String(value).trim();\n\n if (!result)\n {\n throw new TypeError(`${name} must be a non-empty string or null`);\n }\n\n return result;\n}\n\nfunction selectionCoversWholeEffect(selection)\n{\n return selection.technique === null\n && selection.pass === null\n && selection.stage === null;\n}\nfunction defaultPermutationIndex(permutations)\n{\n let multiplier = 1;\n let index = 0;\n\n for (const permutation of permutations)\n {\n index += (permutation.defaultOption || 0) * multiplier;\n multiplier *= permutation.options.length || 1;\n }\n\n return index;\n}\n\nfunction bodyKey(record)\n{\n return `body_${record.offset}_${record.size}`;\n}\n\nfunction decodePermutationOptions(permutations, permutationIndex)\n{\n let remaining = permutationIndex;\n\n return permutations.map((permutation) =>\n {\n const optionCount = permutation.options.length || 1;\n const optionIndex = optionCount ? remaining % optionCount : 0;\n\n remaining = Math.floor(remaining / optionCount);\n return {\n name: permutation.name,\n value: permutation.options[optionIndex] || \"\",\n optionIndex,\n defaultOption: permutation.defaultOption\n };\n });\n}\n\nfunction toShaderOptions(options)\n{\n return options.map((option) => ({ name: option.name, value: option.value }));\n}\n\nfunction buildExportVariants(effectRes, allPermutations)\n{\n if (allPermutations)\n {\n return effectRes.m_offsets.map((record, variantIndex) =>\n {\n const permutationIndex = Number.isInteger(record.index)\n ? record.index\n : variantIndex;\n\n return {\n key: `variant_${permutationIndex}`,\n variantIndex,\n permutationIndex,\n tableIndex: variantIndex,\n bodyKey: bodyKey(record),\n bodyOffset: record.offset,\n bodySize: record.size,\n options: decodePermutationOptions(\n effectRes.m_permutations,\n permutationIndex\n ),\n tableIndexMatchesPermutationIndex:\n variantIndex === permutationIndex\n };\n });\n }\n\n const permutationIndex = defaultPermutationIndex(effectRes.m_permutations);\n const record = effectRes.m_offsets[permutationIndex];\n\n if (!record)\n {\n throw new Error(`Default permutation index ${permutationIndex} is not present`);\n }\n\n return [ {\n key: `variant_${permutationIndex}`,\n variantIndex: permutationIndex,\n permutationIndex,\n tableIndex: permutationIndex,\n bodyKey: bodyKey(record),\n bodyOffset: record.offset,\n bodySize: record.size,\n options: decodePermutationOptions(effectRes.m_permutations, permutationIndex),\n tableIndexMatchesPermutationIndex: Number.isInteger(record.index)\n ? record.index === permutationIndex\n : true\n } ];\n}\n\nfunction collectStages(effectDescription, selection)\n{\n const stages = [];\n const errors = [];\n\n for (const technique of effectDescription.techniques ?? [])\n {\n if (selection.technique && technique.name !== selection.technique)\n {\n continue;\n }\n\n if (!selection.stage && !Number.isInteger(selection.pass)\n && technique.passes.length === 0)\n {\n errors.push(`${technique.name} declares no passes`);\n }\n\n for (let passIndex = 0; passIndex < technique.passes.length; passIndex++)\n {\n if (Number.isInteger(selection.pass) && passIndex !== selection.pass)\n {\n continue;\n }\n\n const pass = technique.passes[passIndex];\n let declaredStageCount = 0;\n\n for (let stageType = 0;\n stageType < HlslRenderContextEnum.SHADER_TYPE_COUNT;\n stageType++)\n {\n const stageInput = pass.stageInputs[stageType];\n\n if (!stageInput?.m_exists)\n {\n continue;\n }\n\n declaredStageCount++;\n const stageName = hlslShaderStageName(stageType);\n\n if (selection.stage && stageName !== selection.stage)\n {\n continue;\n }\n\n if (!stageInput.cjsShaderBytecode)\n {\n errors.push(\n `${technique.name}.pass${passIndex}.${stageName} declares shader handle `\n + `${stageInput.m_shader ?? \"unknown\"} but has no shader bytecode`\n );\n continue;\n }\n\n stages.push({\n key: `${technique.name}.pass${passIndex}.${stageName}`,\n techniqueName: technique.name,\n passIndex,\n stageType,\n stageName,\n shaderHandle: stageInput.m_shader,\n bytecode: stageInput.cjsShaderBytecode,\n pipelineInputs: cloneJson(stageInput.signature?.pipelineInputs ?? []),\n registers: cloneJson(stageInput.signature?.registers ?? []),\n resources: mapToJson(stageInput.resources),\n samplers: mapToJson(stageInput.samplers),\n uavs: mapToJson(stageInput.uavs),\n constants: cloneJson(stageInput.constants ?? []),\n // Recognised from reflection here, applied by the emitter.\n // The recogniser is shared with WebGPU so both backends\n // merge exactly the same registers.\n detailMapArray: recogniseDetailMapFamily(mapToJson(stageInput.resources)),\n // Recognised from reflection here, mapped onto resources by\n // the emitter, which is the only thing that knows from the\n // DXBC which resource each sampler serves.\n emulatedAddressing: recogniseEmulatedAddressing(mapToJson(stageInput.samplers), mapToJson(stageInput.resources)),\n localLights: recogniseLocalLightFamily(mapToJson(stageInput.resources))\n });\n }\n\n if (!selection.stage && declaredStageCount === 0)\n {\n errors.push(`${technique.name}.pass${passIndex} declares no shader stages`);\n }\n }\n }\n\n return { stages, errors };\n}\n\n/** Local-light lowering modes this packager accepts. */\nconst LOCAL_LIGHT_MODES = Object.freeze([ \"none\", \"packed-texture\", \"constant-buffer\", \"drop\" ]);\n\n/** How `LightProfileArray` is treated. */\nconst LIGHT_PROFILE_MODES = Object.freeze([ \"drop\", \"keep\" ]);\n\n/**\n * Normalizes the light-profile mode.\n *\n * @param {string|undefined|null} value Requested mode.\n * @returns {string} Normalized mode.\n */\nfunction normalizeLightProfileMode(value)\n{\n const mode = value === undefined || value === null ? \"drop\" : String(value);\n if (!LIGHT_PROFILE_MODES.includes(mode))\n {\n throw new TypeError(\n `Carbon WebGL lightProfile must be one of ${LIGHT_PROFILE_MODES.join(\", \")}; got \"${mode}\"`\n );\n }\n return mode;\n}\n\n/**\n * Emitter options that drop `LightProfileArray` and neutralise its samples.\n *\n * Only applies when the local-light family is left alone. `packed-texture`,\n * `constant-buffer` and `drop` each already decide what happens to the profile\n * register, and asking for it twice would either be redundant or fight them.\n *\n * @param {object|null} plan Recognised local-light family, if any.\n * @param {string} localLightMode Normalized local-light mode.\n * @param {string} profileMode Normalized light-profile mode.\n * @returns {object|null} Emitter options, or null when nothing to do.\n */\nfunction lightProfileEmitterOptions(plan, localLightMode, profileMode)\n{\n if (profileMode !== \"drop\" || localLightMode !== \"none\") return null;\n if (!Number.isInteger(plan?.profileRegister)) return null;\n return { neutralResourceRegisters: [ plan.profileRegister ] };\n}\n\n/**\n * Normalizes the local-light lowering mode.\n *\n * @param {string|undefined|null} value Requested mode.\n * @returns {string} Normalized mode.\n */\nfunction normalizeLocalLightMode(value)\n{\n if (value === undefined || value === null) return \"none\";\n\n const mode = String(value);\n if (!LOCAL_LIGHT_MODES.includes(mode))\n {\n throw new TypeError(\n `Carbon WebGL localLights must be one of ${LOCAL_LIGHT_MODES.join(\", \")}; got \"${mode}\"`\n );\n }\n return mode;\n}\n\n/**\n * Builds the emitter profile that lowers a recognised local-light family.\n *\n * Carbon's local lights are two structured buffers plus an optional profile\n * texture. WebGL 2 has no structured buffers, so one of these lowerings is\n * required for the shader to bind its lights at all; WebGPU needs none of it and\n * binds them natively.\n *\n * The constants here match the CLI packager's resolvers exactly, so the two\n * pipelines produce identical output while they still both exist. They are not\n * endorsements: `dataTexelBase` and `capacity` are values that happened to work,\n * and the constant-buffer route is known to fail on light count.\n *\n * @param {object} plan Recognised local-light family.\n * @param {string} mode Lowering mode.\n * @returns {object|null} Emitter options fragment, or null when not lowering.\n */\nfunction localLightEmitterOptions(plan, mode)\n{\n if (!plan || mode === \"none\") return null;\n\n if (mode === \"drop\")\n {\n // No lighting at all: the declarations go and every read lowers to zero.\n // Kept because isolating a lighting problem is easier without lights,\n // not because the texture budget needs it any more.\n return { stubResourceRegisters: plan.registers };\n }\n\n if (mode === \"packed-texture\")\n {\n return {\n lightPackedTexture: {\n indexRegister: plan.indexRegister,\n dataRegister: plan.dataRegister,\n profileRegister: plan.profileRegister,\n registerIndex: plan.indexRegister,\n name: \"cjsLocalLightTexture\",\n dataTexelBase: 131072\n }\n };\n }\n\n if (mode === \"constant-buffer\")\n {\n // Slot 6 is `g_uiTransforms` in the constant-buffer slot contract. There\n // is no collision on space-object shaders, which carry no UI transforms,\n // but this is squatting on a reserved number and should move.\n return {\n lightConstantBuffer: {\n indexRegister: plan.indexRegister,\n dataRegister: plan.dataRegister,\n profileRegister: plan.profileRegister,\n registerIndex: 6,\n name: \"cb6\",\n capacity: 40\n }\n };\n }\n\n throw new Error(`Unknown local-light lowering mode \"${mode}\"`);\n}\n\nfunction translateStages(shaderMap, stageMap, values)\n{\n const emitInto = (record, pairVaryings) =>\n {\n try\n {\n const profileNeutral = lightProfileEmitterOptions(\n record.localLights,\n values.localLights,\n values.lightProfile\n );\n // Remembered on the record so the body set can emit the resource\n // transform that accounts for the dropped resource. The transform's\n // identity includes the pass key, which is not known here.\n if (profileNeutral) record.lightProfileNeutral = record.localLights;\n\n const result = emitGlslWithOptions(record.bytes, {\n ...values.emitterOptions,\n source: `${values.source}#${record.firstStageKey}`,\n ...(pairVaryings?.length ? { pairVaryings } : {}),\n ...(record.detailMapArray\n ? { detailMapArrayRegisters: record.detailMapArray.registers }\n : {}),\n ...(record.emulatedAddressing\n ? { emulatedAddressing: record.emulatedAddressing }\n : {}),\n ...(localLightEmitterOptions(record.localLights, values.localLights) ?? {}),\n ...(profileNeutral ?? {})\n });\n const stageInterface = normalizeBitangentStageInterface(\n result,\n record\n );\n\n record.emit = {\n ...result,\n source: stageInterface.source,\n inputs: stageInterface.inputs\n };\n record.source = stageInterface.source;\n record.bindings = result.bindings;\n record.stageInputs = stageInterface.inputs;\n record.stageOutputs = result.outputs;\n record.emitWarnings = result.warnings;\n record.translator = \"dxbc-js-emitter\";\n record.hlsl2webgl = { ok: true, mode: \"js-emitter\" };\n\n if (result.stageName === \"compute\")\n {\n record.computeFragment = result.computeFragment;\n }\n\n const issue = validateStageSourceShape(record);\n\n if (issue)\n {\n record.hlsl2webgl = { ok: false, validationError: issue };\n record.source = null;\n }\n }\n catch (error)\n {\n const message = error?.message || String(error);\n\n record.hlsl2webgl = {\n ok: false,\n error: message,\n details: error?.details ?? null\n };\n\n if (/not supported|No GLSL lowering|unimplementable/iu.test(message))\n {\n record.excluded = {\n reason: message,\n ...(error?.details?.opcodeName\n ? { opcodeName: error.details.opcodeName }\n : {}),\n ...(error?.details?.dimensionName\n ? { dimensionName: error.details.dimensionName }\n : {})\n };\n }\n }\n };\n\n for (const record of shaderMap.values())\n {\n if (record.stageName !== \"vertex\")\n {\n emitInto(record, null);\n }\n }\n\n const pixelVaryingsByPass = new Map();\n\n for (const stage of stageMap.values())\n {\n if (stage.stageName !== \"pixel\")\n {\n continue;\n }\n\n const record = shaderMap.get(stage.shaderKey);\n\n if (!record?.emit)\n {\n continue;\n }\n\n pixelVaryingsByPass.set(\n `${stage.bodyKey}|${stage.techniqueName}|${stage.passIndex}`,\n record.emit.inputs\n .filter((input) => typeof input.name === \"string\"\n && input.name.startsWith(\"vs_r\"))\n .map((input) => input.register)\n .sort((left, right) => left - right)\n );\n }\n\n for (const stage of stageMap.values())\n {\n if (stage.stageName !== \"vertex\")\n {\n continue;\n }\n\n const record = shaderMap.get(stage.shaderKey);\n const varyings = pixelVaryingsByPass.get(\n `${stage.bodyKey}|${stage.techniqueName}|${stage.passIndex}`\n ) ?? [];\n\n if (record)\n {\n record.pairVaryings = varyings;\n emitInto(record, varyings);\n }\n }\n}\n\nfunction cloneJson(value)\n{\n if (value === undefined || value === null)\n {\n return value;\n }\n\n return JSON.parse(JSON.stringify(value));\n}\n\nfunction mapToJson(map)\n{\n if (!(map instanceof Map))\n {\n return [];\n }\n\n return Array.from(map.entries()).map(([ registerIndex, value ]) => ({\n registerIndex,\n ...cloneJson(value)\n }));\n}\n\nfunction buildStageContract(stage)\n{\n const pipelineInputs = cloneJson(stage.pipelineInputs ?? []);\n const inputSemantics = pipelineInputs.map((input) => ({\n semantic: `${input.usageName || `USAGE_${input.usage}`}${input.usageIndex || \"\"}`,\n usage: input.usage,\n usageName: input.usageName,\n usageIndex: input.usageIndex,\n registerIndex: input.registerIndex,\n usedMask: input.usedMask,\n type: input.type,\n dimension: input.dimension\n }));\n const inputNames = new Set(inputSemantics.map((input) => input.usageName));\n const hasNormal = inputNames.has(\"NORMAL\");\n const hasTangent = inputNames.has(\"TANGENT\");\n const hasBinormal = inputNames.has(\"BINORMAL\") || inputNames.has(\"BITANGENT\");\n const hasBlendIndices = inputNames.has(\"BLENDINDICES\")\n || inputNames.has(\"BLENDINDICE\");\n let tangentContract = \"none\";\n\n if (hasNormal && hasTangent && hasBinormal)\n {\n tangentContract = \"split_tbn\";\n }\n else if (!hasNormal && hasTangent)\n {\n tangentContract = \"packed_tangent_or_tangent_only\";\n }\n else if (hasNormal || hasTangent || hasBinormal)\n {\n tangentContract = \"partial_tbn\";\n }\n\n const resources = cloneJson(stage.resources ?? []);\n const samplers = cloneJson(stage.samplers ?? []);\n const uavs = cloneJson(stage.uavs ?? []);\n const constants = cloneJson(stage.constants ?? []);\n const resourceNames = resources.map((entry) => entry.name).filter(Boolean);\n\n return {\n stageName: stage.stageName,\n stageType: stage.stageType,\n vertex: stage.stageName === \"vertex\" ? {\n inputs: inputSemantics,\n tangentContract,\n requiresSplitTbn: tangentContract === \"split_tbn\",\n requiresPackedTangent: tangentContract === \"packed_tangent_or_tangent_only\",\n requiresSkinning: hasBlendIndices || resourceNames.includes(\"BoneTransforms\"),\n hasBlendIndices\n } : null,\n texturePacking: classifyTexturePacking(resourceNames),\n constantBuffers: (stage.registers ?? [])\n .filter((entry) => entry.registerType === 0)\n .map((entry) => ({\n registerIndex: entry.registerIndex,\n registerSpace: entry.registerSpace,\n registerCount: entry.registerCount,\n arrayCount: entry.arrayCount,\n dynamic: Boolean(entry.dynamic)\n })),\n resources,\n samplers,\n uavs,\n constants\n };\n}\n\n/**\n * Samplers whose address mode is decided at bind time rather than in the\n * container, so a gate must exist for them even though the container declares\n * something WebGL2 can express natively.\n *\n * Carbon overrides exactly one family — a pattern layer's sampler, named\n * `<TextureName>Sampler` (`EveSOF.cpp:639`). In the shipped quad family those\n * are `PatternMask1MapSampler` and `PatternMask2MapSampler`; measured across\n * every body of `quadv5.sm_depth`, 120 stages bind them.\n */\nconst OVERRIDABLE_TEXTURE = /^PatternMask\\d*Map$/iu;\n\n/**\n * Recognises samplers whose address mode WebGL2 cannot express.\n *\n * WebGL2 does REPEAT, MIRRORED_REPEAT and CLAMP_TO_EDGE natively. It has no\n * CLAMP_TO_BORDER (mode 4) and no MIRROR_ONCE (mode 5), so those are honoured in\n * the shader and their mode is read at runtime from the address buffer.\n *\n * Returns the modes keyed by SAMPLER register. The emitter maps them onto\n * resources, because only it knows from the DXBC which resource each sampler\n * serves - and the two are not interchangeable: in `decalv5` five textures share\n * one bordered sampler, and each can resolve to a different mode at bind time.\n *\n * Returns null when nothing needs emulating, which is the common case - 492 of\n * 537 shipped effects - and keeps those shaders byte-identical to before.\n *\n * @param {object[]} samplers Container sampler descriptors, keyed by register.\n * @returns {{samplerModes:object}|null}\n */\nfunction recogniseEmulatedAddressing(samplers, resources)\n{\n const samplerModes = {};\n\n for (const entry of samplers ?? [])\n {\n const registerIndex = entry?.registerIndex;\n const sampler = entry?.value?.sampler ?? entry?.sampler;\n\n if (!Number.isInteger(registerIndex) || !sampler) continue;\n\n const u = sampler.addressU;\n const v = sampler.addressV;\n const w = sampler.addressW;\n // The container declares an emulated mode: decals, the specialfx clouds,\n // the compositing blits.\n if ([ u, v, w ].some((m) => m === 4 || m === 5))\n {\n samplerModes[registerIndex] = { u, v, w };\n }\n }\n\n // Textures whose mode is applied at BIND time, which the container cannot\n // know. Carbon overrides exactly one family (`EveSOF.cpp:639`): a pattern\n // layer's sampler, carrying per-layer user data that may be wrap, clamp or\n // border. The container declares those samplers as WRAP, so the loop above\n // never gates them - which is exactly why border on patterns rendered as\n // clamp-to-edge.\n //\n // Matched on the RESOURCE name rather than the sampler's, because the\n // container reflection leaves sampler names null; the manifest derives them\n // later from metadata, which is not available here. Resource names are\n // present, and the emitter gates by resource register anyway.\n const textures = [];\n\n for (const entry of resources ?? [])\n {\n const registerIndex = entry?.registerIndex;\n const name = entry?.name ?? entry?.value?.name ?? \"\";\n\n if (Number.isInteger(registerIndex) && OVERRIDABLE_TEXTURE.test(name))\n {\n textures.push({ registerIndex });\n }\n }\n\n if (!Object.keys(samplerModes).length && !textures.length) return null;\n\n return { samplerModes, ...(textures.length ? { textures } : {}) };\n}\n\nfunction classifyTexturePacking(names)\n{\n const values = new Set(names);\n\n if ([ \"NoMap\", \"PmdgMap\", \"ArMap\" ].some((name) => values.has(name)))\n {\n return \"packed_textures\";\n }\n\n if ([ \"NormalMap\", \"RoughnessMap\", \"MaterialMap\", \"AlbedoMap\",\n \"AoMap\", \"PaintMaskMap\" ].some((name) => values.has(name)))\n {\n return \"unpacked_textures\";\n }\n\n return \"unknown\";\n}\n\nfunction mergeShaderContracts(contracts)\n{\n const first = contracts?.[0]?.contract ?? null;\n\n if (!first)\n {\n return null;\n }\n\n return {\n stageName: first.stageName,\n stageType: first.stageType,\n vertex: first.vertex ? cloneJson(first.vertex) : null,\n texturePacking: first.texturePacking,\n constantBuffers: cloneJson(first.constantBuffers ?? []),\n resourceNames: (first.resources ?? []).map((entry) => entry.name).filter(Boolean),\n samplerNames: (first.samplers ?? []).map((entry) => entry.name).filter(Boolean),\n sharedByStageCount: contracts.length\n };\n}\n\nfunction normalizeBitangentStageInterface(result, shaderRecord)\n{\n if (shaderRecord?.stageName !== \"vertex\")\n {\n return {\n source: result.source,\n inputs: result.inputs\n };\n }\n\n const bitangentRegisters = new Set((shaderRecord.contracts ?? [])\n .flatMap((entry) => entry.contract?.vertex?.inputs ?? [])\n .filter((input) => input.usageName === \"BITANGENT\")\n .map((input) => input.registerIndex));\n let source = result.source;\n const inputs = result.inputs.map((input) =>\n {\n if (!bitangentRegisters.has(input.register)\n || input.semanticName !== \"BINORMAL\")\n {\n return input;\n }\n const name = `in_BITANGENT${input.semanticIndex}`;\n source = source.replaceAll(input.name, name);\n return {\n ...input,\n name,\n semanticName: \"BITANGENT\"\n };\n });\n return { source, inputs };\n}\n\nfunction validateStageSourceShape(record)\n{\n const source = record?.source ?? \"\";\n\n if (!source)\n {\n return null;\n }\n\n const hasVertexOutput = /\\bgl_Position\\b/u.test(source);\n const hasVertexInterface = /\\bin\\s+(?:lowp|mediump|highp)?\\s*\\w+\\s+attr\\d+\\b/u.test(source)\n || /\\bout\\s+(?:lowp|mediump|highp)?\\s*\\w+\\s+vs_TEXCOORD\\d+\\b/u.test(source)\n || /\\bin_[A-Z]+[0-9]+\\b/u.test(source);\n const hasFragmentOutput = /\\bout\\s+(?:lowp|mediump|highp)?\\s*vec4\\s+SV_Target\\d+\\b/u.test(source)\n || /\\bgl_FragColor\\b/u.test(source);\n\n if (record.stageName === \"vertex\" && !hasVertexOutput)\n {\n return \"vertex stage source does not write gl_Position\";\n }\n\n if (record.stageName === \"pixel\"\n && (hasVertexOutput || hasVertexInterface) && !hasFragmentOutput)\n {\n return \"pixel stage source looks like vertex GLSL\";\n }\n\n if (record.stageName === \"compute\" && !/\\bcjsUav\\d+(_s\\d+)?\\b/u.test(source))\n {\n return \"compute stage source does not write any cjsUav output\";\n }\n\n return null;\n}\n\nfunction normalizeSourceIdentity(values)\n{\n const identity = values.sourceIdentity;\n\n if (identity !== null\n && (!identity || typeof identity !== \"object\" || Array.isArray(identity)))\n {\n throw new TypeError(\"Carbon WebGL sourceIdentity must be an object\");\n }\n\n const sha256 = sha256Bytes(values.sourceBytes);\n if (identity?.sha256 !== undefined && identity?.sha256 !== null\n && identity.sha256 !== sha256)\n {\n throw new Error(\n \"Carbon WebGL sourceIdentity.sha256 does not match the exact effect input bytes\"\n );\n }\n\n return {\n filePath: identity?.filePath ?? values.source,\n logicalPath: identity?.logicalPath ?? values.source,\n game: identity?.game ?? null,\n client: identity?.client ?? null,\n build: identity?.build === undefined || identity?.build === null\n ? null\n : String(identity.build),\n byteLength: values.sourceBytes.byteLength,\n md5: identity?.md5 ?? null,\n sha256\n };\n}\n\nfunction qualifyEffectPackage({\n info,\n metadata,\n glsl,\n failedShaders,\n excludedShaders,\n failedBodies,\n rasterCompleteness,\n availableShaderCount\n})\n{\n const errors = [];\n\n if (info.format !== \"CARBON_WEBGL\" || glsl.format !== \"CARBON_WEBGL_GLSL_SET\")\n {\n errors.push(\"invalid Carbon WebGL package envelope\");\n }\n\n if (!Array.isArray(metadata.variants) || !Array.isArray(glsl.shaders))\n {\n errors.push(\"missing Carbon WebGL graph arrays\");\n }\n\n if (failedShaders.length)\n {\n errors.push(`${failedShaders.length} shader translation(s) failed`);\n }\n\n if (excludedShaders.length)\n {\n errors.push(`${excludedShaders.length} shader translation(s) are unsupported`);\n }\n\n if (failedBodies.length)\n {\n errors.push(`${failedBodies.length} effect body/bodies failed`);\n }\n\n if (rasterCompleteness.incompletePasses.length)\n {\n errors.push(`${rasterCompleteness.incompletePasses.length} raster pass(es) are incomplete`);\n }\n\n if (!availableShaderCount)\n {\n errors.push(\"no translated shaders are available\");\n }\n\n return {\n ok: errors.length === 0,\n level: errors.length ? \"diagnostic\" : \"structural\",\n errors: errors,\n incompletePasses: rasterCompleteness.incompletePasses\n };\n}\n"],"names":["EFFECT_INFO_VERSION","PACKAGE_VERSION","buildEffectPackage","input","options","values","normalizeOptions","containerVersion","resolveWriteVersion","version","effectRes","CjsHlslFormat","read","sourceBytes","emit","OUTPUT_RAW","source","IsGood","loadError","Error","sourceIdentity","normalizeSourceIdentity","m_version","permutationGraph","buildEffectPermutationGraph","variants","buildExportVariants","allPermutations","bodyMap","Map","stageMap","shaderMap","variant","has","bodyKey","shader","GetShader","toShaderOptions","set","key","bodyOffset","bodySize","firstVariantKey","error","manifest","stages","effectDescription","GetEffectDescription","HlslEffectBindingManifest","fromEffectDescription","collection","collectStages","selection","body","errors","length","join","localLights","stripLocalLightBindings","toJSON","stage","stageKey","shaderKey","contract","buildStageContract","stageRecord","localKey","techniqueName","passIndex","stageType","stageName","shaderHandle","shaderSize","bytecode","stringTableOffset","push","firstStageKey","firstBodyKey","bytes","detailMapArray","emulatedAddressing","contracts","translateStages","bodies","Array","from","translatedShaders","map","record","output","primaryContract","mergeShaderContracts","failedShaders","filter","hlsl2webgl","ok","excluded","excludedShaders","failedBodies","rasterCompleteness","inspectRasterCompleteness","availableShaderCount","info","format","formatVersion","packageKind","targetBackend","backendPackage","backendPackageVersion","generatedAt","sourcePath","outputPath","sourceByteLength","byteLength","sourceMd5","md5","sourceSha256","sha256","translator","translatorVersion","language","flags","permutationMode","defaultPermutationIndex","m_permutations","sourceEffectVersion","sourceBodyCoverage","backendBodyCoverage","backendProgramCoverage","selectionCoversWholeEffect","permutationCount","uniqueBodyCount","sourcePermutationCount","sourceUniqueBodyCount","EFFECT_PERMUTATION_GRAPH_FORMAT","EFFECT_PERMUTATION_GRAPH_VERSION","sha256Utf8","JSON","stringify","bodyStageCount","uniqueShaderCount","translatedShaderCount","excludedShaderCount","failedShaderCount","failedBodyCount","expectedRasterPassCount","expectedPassCount","completeRasterPassCount","completePassCount","incompleteRasterPassCount","incompletePasses","allowFailures","completeness","packageValid","sourceComplete","backendComplete","runtimeComplete","metadata","effectResource","permutations","GetPermutationDescription","glsl","permutationIndex","shaders","qualification","qualifyEffectPackage","backendBodySet","buildGlslBackendBodySet","container","buildGlslEffectContainer","compilerVersion","m_compilerVersionBytes","inspection","inspectGlslEffectContainer","bodyCount","isArray","TypeError","asUint8Array","String","trim","technique","undefined","pass","Number","toLowerCase","isSafeInteger","includes","emitterOptions","normalizeOptionalString","Date","toISOString","normalizeLocalLightMode","lightProfile","normalizeLightProfileMode","value","name","result","multiplier","index","permutation","defaultOption","offset","size","decodePermutationOptions","remaining","optionCount","optionIndex","Math","floor","option","m_offsets","variantIndex","isInteger","tableIndex","tableIndexMatchesPermutationIndex","techniques","passes","declaredStageCount","HlslRenderContextEnum","SHADER_TYPE_COUNT","stageInput","stageInputs","m_exists","hlslShaderStageName","cjsShaderBytecode","m_shader","pipelineInputs","cloneJson","signature","registers","resources","mapToJson","samplers","uavs","constants","recogniseDetailMapFamily","recogniseEmulatedAddressing","recogniseLocalLightFamily","LOCAL_LIGHT_MODES","Object","freeze","LIGHT_PROFILE_MODES","mode","lightProfileEmitterOptions","plan","localLightMode","profileMode","profileRegister","neutralResourceRegisters","localLightEmitterOptions","stubResourceRegisters","lightPackedTexture","indexRegister","dataRegister","registerIndex","dataTexelBase","lightConstantBuffer","capacity","emitInto","pairVaryings","profileNeutral","lightProfileNeutral","emitGlslWithOptions","detailMapArrayRegisters","stageInterface","normalizeBitangentStageInterface","inputs","bindings","stageOutputs","outputs","emitWarnings","warnings","computeFragment","issue","validateStageSourceShape","validationError","message","details","test","reason","opcodeName","dimensionName","pixelVaryingsByPass","get","startsWith","register","sort","left","right","varyings","parse","entries","inputSemantics","semantic","usageName","usage","usageIndex","usedMask","type","dimension","inputNames","Set","hasNormal","hasTangent","hasBinormal","hasBlendIndices","tangentContract","resourceNames","entry","Boolean","vertex","requiresSplitTbn","requiresPackedTangent","requiresSkinning","texturePacking","classifyTexturePacking","constantBuffers","registerType","registerSpace","registerCount","arrayCount","dynamic","OVERRIDABLE_TEXTURE","samplerModes","sampler","u","addressU","v","addressV","w","addressW","some","m","textures","keys","names","first","samplerNames","sharedByStageCount","shaderRecord","bitangentRegisters","flatMap","semanticName","semanticIndex","replaceAll","hasVertexOutput","hasVertexInterface","hasFragmentOutput","identity","sha256Bytes","filePath","logicalPath","game","client","build","level"],"mappings":"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"}
1
+ {"version":3,"file":"effectPackage.js","sources":["../../../../../../src/resource/formats/webgl/core/effectPackage.js"],"sourcesContent":["import { asUint8Array } from \"#utils/bytes\";\nimport { CjsHlslFormat } from \"../../hlsl/index.js\";\nimport { HlslEffectBindingManifest } from \"../../hlsl/core/tr2/shader/HlslEffectBindingManifest.js\";\nimport { HlslRenderContextEnum, hlslShaderStageName } from \"../../hlsl/core/tr2/HlslRenderContextEnum.js\";\n\nimport {\n buildEffectPermutationGraph,\n EFFECT_PERMUTATION_GRAPH_FORMAT,\n EFFECT_PERMUTATION_GRAPH_VERSION\n} from \"../../../format/effect/effectPermutationGraph.js\";\nimport { emitGlslWithOptions } from \"./helpers.js\";\nimport { inspectGlslEffectContainer } from \"./inspectGlslEffectContainer.js\";\nimport { inspectRasterCompleteness } from \"./glslEffectCompleteness.js\";\nimport { recogniseTextureArrayFamilies } from \"../../hlsl/core/textureArrayFamilies.js\";\nimport {\n recogniseLocalLightFamily,\n stripLocalLightBindings\n} from \"../../hlsl/core/localLightFamily.js\";\nimport { buildGlslBackendBodySet } from \"./glslBackendBodySet.js\";\nimport { buildGlslEffectContainer } from \"./buildGlslEffectContainer.js\";\nimport { sha256Bytes, sha256Utf8 } from \"../../../format/effect/sha256.js\";\nimport { resolveWriteVersion } from \"../../../format/carbonEffect/carbonEffectRecords.js\";\n\n/**\n * INFO record version for the in-memory build result.\n *\n * This lived in effectPackageValidation.js, which validated a written chunk\n * package by reading it back. There is no chunk package to read back, so that\n * file is gone and its one surviving constant lives with its only user.\n */\nconst EFFECT_INFO_VERSION = 3;\n\nconst PACKAGE_VERSION = \"0.11.1\";\n\n/**\n * Builds a complete Carbon WebGL package from compiled Tr2 effect bytes.\n *\n * This browser-safe path owns whole-effect selection, stage translation,\n * package assembly, and structural qualification. Filesystem and native-tool\n * concerns remain in Node callers.\n *\n * @param {Uint8Array|ArrayBuffer|ArrayBufferView} input Compiled effect bytes.\n * @param {object} [options] Selection, provenance, and emitter policy.\n * @returns {object} Package bytes plus inspection and qualification records.\n */\nexport function buildEffectPackage(input, options = {})\n{\n const values = normalizeOptions(input, options);\n // Resolved before any translation work, so an unwritable version is refused\n // up front. What lands in `info.containerVersion` is what was emitted.\n const containerVersion = resolveWriteVersion(options.version);\n const effectRes = CjsHlslFormat.read(values.sourceBytes, {\n emit: CjsHlslFormat.OUTPUT_RAW,\n source: values.source\n });\n\n if (!effectRes.IsGood())\n {\n throw effectRes.loadError || new Error(\"Tr2EffectRes failed to load input\");\n }\n\n const sourceIdentity = normalizeSourceIdentity(values);\n // One INFO version means one contract, and that contract requires complete\n // source reflection, which only version-15 input can supply.\n if (effectRes.m_version !== 15)\n {\n throw new Error(\n \"Effect package requires a version-15 compiled effect, got version \"\n + (effectRes.m_version ?? \"unknown\")\n );\n }\n\n const permutationGraph = buildEffectPermutationGraph(effectRes);\n const variants = buildExportVariants(effectRes, values.allPermutations);\n const bodyMap = new Map();\n const stageMap = new Map();\n const shaderMap = new Map();\n\n for (const variant of variants)\n {\n if (bodyMap.has(variant.bodyKey))\n {\n continue;\n }\n\n const shader = effectRes.GetShader(toShaderOptions(variant.options));\n\n if (!shader)\n {\n bodyMap.set(variant.bodyKey, {\n key: variant.bodyKey,\n bodyOffset: variant.bodyOffset,\n bodySize: variant.bodySize,\n firstVariantKey: variant.key,\n error: \"Tr2EffectRes.GetShader returned null\",\n manifest: null,\n stages: []\n });\n continue;\n }\n\n const effectDescription = shader.GetEffectDescription();\n const manifest = HlslEffectBindingManifest.fromEffectDescription(effectDescription);\n const collection = collectStages(effectDescription, values.selection);\n const body = {\n key: variant.bodyKey,\n bodyOffset: variant.bodyOffset,\n bodySize: variant.bodySize,\n firstVariantKey: variant.key,\n error: collection.errors.length ? collection.errors.join(\"; \") : null,\n // Dropping the light family removes its declarations from the\n // shader, so the manifest must stop advertising them too.\n manifest: values.localLights === \"drop\"\n ? stripLocalLightBindings(manifest.toJSON())\n : manifest.toJSON(),\n stages: []\n };\n\n for (const stage of collection.stages)\n {\n const stageKey = `${variant.bodyKey}.${stage.key}`;\n const shaderKey = `shader_${stageKey}`;\n const contract = buildStageContract(stage);\n const stageRecord = {\n key: stageKey,\n bodyKey: variant.bodyKey,\n localKey: stage.key,\n techniqueName: stage.techniqueName,\n passIndex: stage.passIndex,\n stageType: stage.stageType,\n stageName: stage.stageName,\n shaderHandle: stage.shaderHandle,\n shaderSize: stage.bytecode.shaderSize,\n stringTableOffset: stage.bytecode.stringTableOffset,\n shaderKey,\n contract\n };\n\n stageMap.set(stageKey, stageRecord);\n body.stages.push(stageKey);\n shaderMap.set(shaderKey, {\n key: shaderKey,\n firstStageKey: stageKey,\n firstBodyKey: variant.bodyKey,\n stageName: stage.stageName,\n shaderSize: stage.bytecode.shaderSize,\n stringTableOffset: stage.bytecode.stringTableOffset,\n bytes: stage.bytecode.bytes,\n textureArrays: stage.textureArrays,\n emulatedAddressing: stage.emulatedAddressing,\n localLights: stage.localLights,\n contracts: [ {\n stageKey,\n techniqueName: stage.techniqueName,\n passIndex: stage.passIndex,\n stageName: stage.stageName,\n contract\n } ]\n });\n }\n\n bodyMap.set(variant.bodyKey, body);\n }\n\n translateStages(shaderMap, stageMap, values);\n\n const bodies = Array.from(bodyMap.values());\n const stages = Array.from(stageMap.values());\n const translatedShaders = Array.from(shaderMap.values()).map((record) =>\n {\n const { bytes, emit, ...output } = record;\n\n output.primaryContract = mergeShaderContracts(output.contracts);\n return output;\n });\n const failedShaders = translatedShaders.filter((record) =>\n !record.hlsl2webgl?.ok && !record.excluded);\n const excludedShaders = translatedShaders.filter((record) => record.excluded);\n const failedBodies = bodies.filter((body) => body.error);\n // The same rule the validator applies to a finished file. This function used\n // to carry its own copy, and the two had already drifted: the local one had\n // dropped `hlsl2webgl.reason` from its reason chain, so the library and the\n // validator could describe one incomplete pass two different ways. If two\n // places must agree, one of them calls the other.\n const rasterCompleteness = inspectRasterCompleteness(stages, translatedShaders);\n const availableShaderCount = translatedShaders.filter((record) =>\n record.hlsl2webgl?.ok && record.source).length;\n const info = {\n format: \"CARBON_WEBGL\",\n formatVersion: EFFECT_INFO_VERSION,\n packageKind: values.allPermutations\n ? \"tr2-effect-webgl-permutations\"\n : \"tr2-effect-webgl\",\n // What these bytes ARE, next to `sourceEffectVersion` below, which is\n // what they were read FROM. The reader accepts 8..15; the writer emits\n // 15 only, so the two are not the same number and a consumer must not\n // infer one from the other.\n containerVersion,\n targetBackend: \"webgl\",\n // The producer identity names the current import surface. PACKAGE_VERSION\n // independently versions the translated artifact semantics.\n backendPackage: \"@carbonenginejs/runtime/resource/formats/webgl\",\n backendPackageVersion: PACKAGE_VERSION,\n generatedAt: values.generatedAt,\n sourcePath: values.source,\n outputPath: values.outputPath,\n sourceByteLength: sourceIdentity.byteLength,\n sourceMd5: sourceIdentity.md5,\n sourceSha256: sourceIdentity.sha256,\n sourceIdentity,\n translator: \"dxbc-js-emitter\",\n translatorVersion: PACKAGE_VERSION,\n language: \"es300\",\n flags: null,\n selection: values.selection,\n permutationMode: values.allPermutations ? \"all\" : \"selected\",\n defaultPermutationIndex: defaultPermutationIndex(effectRes.m_permutations),\n sourceEffectVersion: effectRes.m_version,\n sourceBodyCoverage: \"all-unique\",\n backendBodyCoverage: values.allPermutations ? \"all\" : \"selected\",\n backendProgramCoverage: selectionCoversWholeEffect(values.selection)\n ? \"all-stages\"\n : \"filtered\",\n permutationCount: variants.length,\n uniqueBodyCount: bodies.length,\n sourcePermutationCount: permutationGraph.variants.length,\n sourceUniqueBodyCount: permutationGraph.bodies.length,\n permutationGraph: {\n format: EFFECT_PERMUTATION_GRAPH_FORMAT,\n formatVersion: EFFECT_PERMUTATION_GRAPH_VERSION,\n sha256: sha256Utf8(`${JSON.stringify(permutationGraph)}\\n`),\n permutationCount: permutationGraph.variants.length,\n uniqueBodyCount: permutationGraph.bodies.length\n },\n bodyStageCount: stages.length,\n uniqueShaderCount: translatedShaders.length,\n translatedShaderCount: translatedShaders.length - failedShaders.length - excludedShaders.length,\n excludedShaderCount: excludedShaders.length,\n failedShaderCount: failedShaders.length,\n failedBodyCount: failedBodies.length,\n expectedRasterPassCount: rasterCompleteness.expectedPassCount,\n completeRasterPassCount: rasterCompleteness.completePassCount,\n incompleteRasterPassCount: rasterCompleteness.incompletePasses.length,\n availableShaderCount,\n allowFailures: values.allowFailures,\n completeness: {\n packageValid: true,\n sourceComplete: effectRes.m_version === 15,\n backendComplete: false,\n runtimeComplete: false\n }\n };\n const metadata = {\n generatedAt: values.generatedAt,\n sourcePath: values.source,\n effectResource: effectRes.toJSON(),\n permutations: effectRes.GetPermutationDescription(),\n variants,\n bodies: bodies.map((body) => ({\n key: body.key,\n bodyOffset: body.bodyOffset,\n bodySize: body.bodySize,\n firstVariantKey: body.firstVariantKey,\n error: body.error,\n manifest: body.manifest\n }))\n };\n const glsl = {\n format: \"CARBON_WEBGL_GLSL_SET\",\n formatVersion: 1,\n language: \"es300\",\n permutationMode: info.permutationMode,\n selection: values.selection,\n variants: variants.map((variant) => ({\n key: variant.key,\n permutationIndex: variant.permutationIndex,\n bodyKey: variant.bodyKey\n })),\n bodies: bodies.map((body) => ({\n key: body.key,\n error: body.error,\n stages: body.stages\n })),\n stages,\n shaders: translatedShaders\n };\n const qualification = qualifyEffectPackage({\n info,\n metadata,\n glsl,\n failedShaders,\n excludedShaders,\n failedBodies,\n rasterCompleteness,\n availableShaderCount\n });\n if (!qualification.ok && !values.allowFailures)\n {\n throw new Error(\n `Carbon WebGL target is incomplete; output was not built. ${qualification.errors.join(\"; \")}`\n );\n }\n\n // The container is the effect. `bytes` is its bytes, and there is no second\n // artifact — the chunk package this function used to build alongside it is\n // gone, along with the chunk assembly that produced it.\n //\n // `info`, `metadata`, `glsl` and `permutationGraph` are still returned.\n // They are the in-memory build result, which is richer than\n // anything the wire carries: the reasons a translation failed live there and\n // nowhere else. What changed is that they are no longer *also* serialised\n // into tagged chunks beside the container.\n const backendBodySet = buildGlslBackendBodySet({\n bodies,\n stages,\n shaders: translatedShaders,\n variants,\n permutationGraph\n });\n const container = buildGlslEffectContainer(\n effectRes,\n permutationGraph,\n backendBodySet,\n { compilerVersion: effectRes.m_compilerVersionBytes, version: containerVersion }\n );\n\n const bytes = container.bytes;\n const inspection = inspectGlslEffectContainer(bytes, {\n source: values.source\n });\n\n return {\n bytes,\n permutationCount: container.permutationCount,\n bodyCount: container.bodyCount,\n backendBodySet,\n info: info,\n metadata: metadata,\n permutationGraph,\n glsl: glsl,\n inspection: inspection,\n qualification: qualification\n };\n}\n\nfunction normalizeOptions(input, options)\n{\n if (!options || typeof options !== \"object\" || Array.isArray(options))\n {\n throw new TypeError(\"Carbon WebGL effect options must be an object\");\n }\n\n const sourceBytes = asUint8Array(input, \"CjsWebglFormat input\");\n const source = String(options.source ?? \"memory\").trim() || \"memory\";\n const selection = {\n technique: options.technique === undefined || options.technique === null\n ? null\n : String(options.technique),\n pass: options.pass === undefined || options.pass === null ? null : Number(options.pass),\n stage: options.stage === undefined || options.stage === null\n ? null\n : String(options.stage).toLowerCase()\n };\n\n if (selection.pass !== null\n && (!Number.isSafeInteger(selection.pass) || selection.pass < 0))\n {\n throw new TypeError(\"Carbon WebGL effect pass must be a non-negative integer or null\");\n }\n\n if (selection.stage !== null\n && ![ \"vertex\", \"pixel\", \"compute\" ].includes(selection.stage))\n {\n throw new TypeError(`Unsupported Carbon WebGL effect stage: ${selection.stage}`);\n }\n\n if (options.emitterOptions !== undefined\n && (!options.emitterOptions || typeof options.emitterOptions !== \"object\"\n || Array.isArray(options.emitterOptions)))\n {\n throw new TypeError(\"Carbon WebGL emitterOptions must be an object\");\n }\n\n return {\n sourceBytes,\n source,\n outputPath: normalizeOptionalString(options.outputPath, \"Carbon WebGL outputPath\"),\n sourceIdentity: options.sourceIdentity ?? null,\n generatedAt: options.generatedAt === undefined || options.generatedAt === null\n ? null\n : new Date(options.generatedAt).toISOString(),\n allPermutations: options.allPermutations !== false,\n allowFailures: options.allowFailures === true,\n selection,\n // How to lower a recognised local-light family. Defaults to leaving it\n // alone, so a caller that does not ask gets the shader's own resources\n // and the honest texture count.\n localLights: normalizeLocalLightMode(options.localLights),\n // Whether to keep `LightProfileArray`. Defaults to dropping it, because\n // it costs a fragment sampler unit that the quad family does not have\n // to spare, and because nothing currently selects a profile: the index\n // lives in flags bits 4-15 and every `GetCarbonLightData()` writes only\n // bit 0, so the shader's own guard skips the lookup for every light. A\n // dropped profile is therefore observationally identical today and a\n // real loss only once profile indices are written.\n // Revisit when a profile index is actually written to those bits.\n lightProfile: normalizeLightProfileMode(options.lightProfile),\n // Fragment texture units a translated program may occupy. Lowering is\n // ordered and stops at the first selection that fits, so this is what\n // decides how much merging happens rather than the family table. 16 is\n // WebGL2's guaranteed minimum and ANGLE's D3D11 figure; a caller that\n // knows its device reports more can raise it, and null merges every\n // recognised family unconditionally.\n textureUnitBudget: normalizeTextureUnitBudget(options.textureUnitBudget),\n emitterOptions: { ...(options.emitterOptions ?? {}) }\n };\n}\n\n/** WebGL2's guaranteed fragment texture units, and ANGLE's D3D11 figure. */\nconst DEFAULT_TEXTURE_UNIT_BUDGET = 16;\n\nfunction normalizeTextureUnitBudget(value)\n{\n if (value === undefined) return DEFAULT_TEXTURE_UNIT_BUDGET;\n if (value === null) return null;\n\n if (!Number.isInteger(value) || value < 1)\n {\n throw new Error(`Carbon WebGL textureUnitBudget must be a positive integer or null; got ${value}`);\n }\n\n return value;\n}\n\n/** Counts the sampler uniforms a translated stage declares. */\nfunction countTextureUnits(source)\n{\n return (String(source ?? \"\").match(/^\\s*uniform\\s+(?:\\w+\\s+)?u?sampler\\w+\\s+\\w+\\s*;/gmu) ?? []).length;\n}\n\n/**\n * Emits a stage with as few texture-array merges as the budget allows.\n *\n * The families are tried in table order and the walk stops at the first\n * selection that fits, so a stage already under the budget merges nothing. Each\n * step costs one more emit, which is build-time work traded for one fewer array\n * texture to compose at runtime.\n *\n * When nothing fits, the fully merged emit is returned rather than an error:\n * the caller's own unit audit reports the overflow with the whole program in\n * hand, and failing here would lose the best available result.\n *\n * @param {Function} emit Emits one stage for a selection of family plans.\n * @param {Array<object>} plans Recognised family plans, in table order.\n * @param {number|null} budget Units the program may occupy, or null for all.\n * @returns {{ result: object, textureArrays: Array<object> }} Emit and its selection.\n */\nfunction lowerToTextureBudget(emit, plans, budget)\n{\n if (budget === null || !plans.length) return { result: emit(plans), textureArrays: plans };\n\n let selected = [];\n let result = emit(selected);\n\n while (countTextureUnits(result.source) > budget && selected.length < plans.length)\n {\n selected = plans.slice(0, selected.length + 1);\n result = emit(selected);\n }\n\n return { result, textureArrays: selected };\n}\n\nfunction normalizeOptionalString(value, name)\n{\n if (value === undefined || value === null)\n {\n return null;\n }\n\n const result = String(value).trim();\n\n if (!result)\n {\n throw new TypeError(`${name} must be a non-empty string or null`);\n }\n\n return result;\n}\n\nfunction selectionCoversWholeEffect(selection)\n{\n return selection.technique === null\n && selection.pass === null\n && selection.stage === null;\n}\nfunction defaultPermutationIndex(permutations)\n{\n let multiplier = 1;\n let index = 0;\n\n for (const permutation of permutations)\n {\n index += (permutation.defaultOption || 0) * multiplier;\n multiplier *= permutation.options.length || 1;\n }\n\n return index;\n}\n\nfunction bodyKey(record)\n{\n return `body_${record.offset}_${record.size}`;\n}\n\nfunction decodePermutationOptions(permutations, permutationIndex)\n{\n let remaining = permutationIndex;\n\n return permutations.map((permutation) =>\n {\n const optionCount = permutation.options.length || 1;\n const optionIndex = optionCount ? remaining % optionCount : 0;\n\n remaining = Math.floor(remaining / optionCount);\n return {\n name: permutation.name,\n value: permutation.options[optionIndex] || \"\",\n optionIndex,\n defaultOption: permutation.defaultOption\n };\n });\n}\n\nfunction toShaderOptions(options)\n{\n return options.map((option) => ({ name: option.name, value: option.value }));\n}\n\nfunction buildExportVariants(effectRes, allPermutations)\n{\n if (allPermutations)\n {\n return effectRes.m_offsets.map((record, variantIndex) =>\n {\n const permutationIndex = Number.isInteger(record.index)\n ? record.index\n : variantIndex;\n\n return {\n key: `variant_${permutationIndex}`,\n variantIndex,\n permutationIndex,\n tableIndex: variantIndex,\n bodyKey: bodyKey(record),\n bodyOffset: record.offset,\n bodySize: record.size,\n options: decodePermutationOptions(\n effectRes.m_permutations,\n permutationIndex\n ),\n tableIndexMatchesPermutationIndex:\n variantIndex === permutationIndex\n };\n });\n }\n\n const permutationIndex = defaultPermutationIndex(effectRes.m_permutations);\n const record = effectRes.m_offsets[permutationIndex];\n\n if (!record)\n {\n throw new Error(`Default permutation index ${permutationIndex} is not present`);\n }\n\n return [ {\n key: `variant_${permutationIndex}`,\n variantIndex: permutationIndex,\n permutationIndex,\n tableIndex: permutationIndex,\n bodyKey: bodyKey(record),\n bodyOffset: record.offset,\n bodySize: record.size,\n options: decodePermutationOptions(effectRes.m_permutations, permutationIndex),\n tableIndexMatchesPermutationIndex: Number.isInteger(record.index)\n ? record.index === permutationIndex\n : true\n } ];\n}\n\nfunction collectStages(effectDescription, selection)\n{\n const stages = [];\n const errors = [];\n\n for (const technique of effectDescription.techniques ?? [])\n {\n if (selection.technique && technique.name !== selection.technique)\n {\n continue;\n }\n\n if (!selection.stage && !Number.isInteger(selection.pass)\n && technique.passes.length === 0)\n {\n errors.push(`${technique.name} declares no passes`);\n }\n\n for (let passIndex = 0; passIndex < technique.passes.length; passIndex++)\n {\n if (Number.isInteger(selection.pass) && passIndex !== selection.pass)\n {\n continue;\n }\n\n const pass = technique.passes[passIndex];\n let declaredStageCount = 0;\n\n for (let stageType = 0;\n stageType < HlslRenderContextEnum.SHADER_TYPE_COUNT;\n stageType++)\n {\n const stageInput = pass.stageInputs[stageType];\n\n if (!stageInput?.m_exists)\n {\n continue;\n }\n\n declaredStageCount++;\n const stageName = hlslShaderStageName(stageType);\n\n if (selection.stage && stageName !== selection.stage)\n {\n continue;\n }\n\n if (!stageInput.cjsShaderBytecode)\n {\n errors.push(\n `${technique.name}.pass${passIndex}.${stageName} declares shader handle `\n + `${stageInput.m_shader ?? \"unknown\"} but has no shader bytecode`\n );\n continue;\n }\n\n stages.push({\n key: `${technique.name}.pass${passIndex}.${stageName}`,\n techniqueName: technique.name,\n passIndex,\n stageType,\n stageName,\n shaderHandle: stageInput.m_shader,\n bytecode: stageInput.cjsShaderBytecode,\n pipelineInputs: cloneJson(stageInput.signature?.pipelineInputs ?? []),\n registers: cloneJson(stageInput.signature?.registers ?? []),\n resources: mapToJson(stageInput.resources),\n samplers: mapToJson(stageInput.samplers),\n uavs: mapToJson(stageInput.uavs),\n constants: cloneJson(stageInput.constants ?? []),\n // Recognised from reflection here, applied by the emitter.\n // The recogniser is shared with WebGPU so both backends\n // merge exactly the same registers.\n textureArrays: recogniseTextureArrayFamilies(mapToJson(stageInput.resources)),\n // Recognised from reflection here, mapped onto resources by\n // the emitter, which is the only thing that knows from the\n // DXBC which resource each sampler serves.\n emulatedAddressing: recogniseEmulatedAddressing(mapToJson(stageInput.samplers), mapToJson(stageInput.resources)),\n localLights: recogniseLocalLightFamily(mapToJson(stageInput.resources))\n });\n }\n\n if (!selection.stage && declaredStageCount === 0)\n {\n errors.push(`${technique.name}.pass${passIndex} declares no shader stages`);\n }\n }\n }\n\n return { stages, errors };\n}\n\n/** Local-light lowering modes this packager accepts. */\nconst LOCAL_LIGHT_MODES = Object.freeze([ \"none\", \"packed-texture\", \"constant-buffer\", \"drop\" ]);\n\n/** How `LightProfileArray` is treated. */\nconst LIGHT_PROFILE_MODES = Object.freeze([ \"drop\", \"keep\" ]);\n\n/**\n * Normalizes the light-profile mode.\n *\n * @param {string|undefined|null} value Requested mode.\n * @returns {string} Normalized mode.\n */\nfunction normalizeLightProfileMode(value)\n{\n const mode = value === undefined || value === null ? \"drop\" : String(value);\n if (!LIGHT_PROFILE_MODES.includes(mode))\n {\n throw new TypeError(\n `Carbon WebGL lightProfile must be one of ${LIGHT_PROFILE_MODES.join(\", \")}; got \"${mode}\"`\n );\n }\n return mode;\n}\n\n/**\n * Emitter options that drop `LightProfileArray` and neutralise its samples.\n *\n * Only applies when the local-light family is left alone. `packed-texture`,\n * `constant-buffer` and `drop` each already decide what happens to the profile\n * register, and asking for it twice would either be redundant or fight them.\n *\n * @param {object|null} plan Recognised local-light family, if any.\n * @param {string} localLightMode Normalized local-light mode.\n * @param {string} profileMode Normalized light-profile mode.\n * @returns {object|null} Emitter options, or null when nothing to do.\n */\nfunction lightProfileEmitterOptions(plan, localLightMode, profileMode)\n{\n if (profileMode !== \"drop\" || localLightMode !== \"none\") return null;\n if (!Number.isInteger(plan?.profileRegister)) return null;\n return { neutralResourceRegisters: [ plan.profileRegister ] };\n}\n\n/**\n * Normalizes the local-light lowering mode.\n *\n * @param {string|undefined|null} value Requested mode.\n * @returns {string} Normalized mode.\n */\nfunction normalizeLocalLightMode(value)\n{\n if (value === undefined || value === null) return \"none\";\n\n const mode = String(value);\n if (!LOCAL_LIGHT_MODES.includes(mode))\n {\n throw new TypeError(\n `Carbon WebGL localLights must be one of ${LOCAL_LIGHT_MODES.join(\", \")}; got \"${mode}\"`\n );\n }\n return mode;\n}\n\n/**\n * Builds the emitter profile that lowers a recognised local-light family.\n *\n * Carbon's local lights are two structured buffers plus an optional profile\n * texture. WebGL 2 has no structured buffers, so one of these lowerings is\n * required for the shader to bind its lights at all; WebGPU needs none of it and\n * binds them natively.\n *\n * The constants here match the CLI packager's resolvers exactly, so the two\n * pipelines produce identical output while they still both exist. They are not\n * endorsements: `dataTexelBase` and `capacity` are values that happened to work,\n * and the constant-buffer route is known to fail on light count.\n *\n * @param {object} plan Recognised local-light family.\n * @param {string} mode Lowering mode.\n * @returns {object|null} Emitter options fragment, or null when not lowering.\n */\nfunction localLightEmitterOptions(plan, mode)\n{\n if (!plan || mode === \"none\") return null;\n\n if (mode === \"drop\")\n {\n // No lighting at all: the declarations go and every read lowers to zero.\n // Kept because isolating a lighting problem is easier without lights,\n // not because the texture budget needs it any more.\n return { stubResourceRegisters: plan.registers };\n }\n\n if (mode === \"packed-texture\")\n {\n return {\n lightPackedTexture: {\n indexRegister: plan.indexRegister,\n dataRegister: plan.dataRegister,\n profileRegister: plan.profileRegister,\n registerIndex: plan.indexRegister,\n name: \"cjsLocalLightTexture\",\n dataTexelBase: 131072\n }\n };\n }\n\n if (mode === \"constant-buffer\")\n {\n // Slot 6 is `g_uiTransforms` in the constant-buffer slot contract. There\n // is no collision on space-object shaders, which carry no UI transforms,\n // but this is squatting on a reserved number and should move.\n return {\n lightConstantBuffer: {\n indexRegister: plan.indexRegister,\n dataRegister: plan.dataRegister,\n profileRegister: plan.profileRegister,\n registerIndex: 6,\n name: \"cb6\",\n capacity: 40\n }\n };\n }\n\n throw new Error(`Unknown local-light lowering mode \"${mode}\"`);\n}\n\nfunction translateStages(shaderMap, stageMap, values)\n{\n const emitInto = (record, pairVaryings) =>\n {\n try\n {\n const profileNeutral = lightProfileEmitterOptions(\n record.localLights,\n values.localLights,\n values.lightProfile\n );\n // Remembered on the record so the body set can emit the resource\n // transform that accounts for the dropped resource. The transform's\n // identity includes the pass key, which is not known here.\n if (profileNeutral) record.lightProfileNeutral = record.localLights;\n\n const emitWithFamilies = (selected) => emitGlslWithOptions(record.bytes, {\n ...values.emitterOptions,\n source: `${values.source}#${record.firstStageKey}`,\n ...(pairVaryings?.length ? { pairVaryings } : {}),\n ...(selected.length\n ? {\n textureArrayFamilies: selected.map((plan) => ({\n kind: plan.kind,\n family: plan.family,\n outputName: plan.outputName,\n registers: plan.registers\n }))\n }\n : {}),\n ...(record.emulatedAddressing\n ? { emulatedAddressing: record.emulatedAddressing }\n : {}),\n ...(localLightEmitterOptions(record.localLights, values.localLights) ?? {}),\n ...(profileNeutral ?? {})\n });\n\n // The recognised set is kept apart from the selected one because a\n // record can be emitted twice - once plainly, once with paired\n // varyings - and the second pass must lower from everything the\n // reflection offered, not from what the first pass settled on.\n record.recognisedTextureArrays ??= record.textureArrays ?? [];\n\n const { result, textureArrays } = lowerToTextureBudget(\n emitWithFamilies,\n record.recognisedTextureArrays,\n values.textureUnitBudget\n );\n\n // The emitted set, not the recognised set: the container's resource\n // transforms must describe the arrays this program actually samples.\n record.textureArrays = textureArrays;\n const stageInterface = normalizeBitangentStageInterface(\n result,\n record\n );\n\n record.emit = {\n ...result,\n source: stageInterface.source,\n inputs: stageInterface.inputs\n };\n record.source = stageInterface.source;\n record.bindings = result.bindings;\n record.stageInputs = stageInterface.inputs;\n record.stageOutputs = result.outputs;\n record.emitWarnings = result.warnings;\n record.translator = \"dxbc-js-emitter\";\n record.hlsl2webgl = { ok: true, mode: \"js-emitter\" };\n\n if (result.stageName === \"compute\")\n {\n record.computeFragment = result.computeFragment;\n }\n\n const issue = validateStageSourceShape(record);\n\n if (issue)\n {\n record.hlsl2webgl = { ok: false, validationError: issue };\n record.source = null;\n }\n }\n catch (error)\n {\n const message = error?.message || String(error);\n\n record.hlsl2webgl = {\n ok: false,\n error: message,\n details: error?.details ?? null\n };\n\n if (/not supported|No GLSL lowering|unimplementable/iu.test(message))\n {\n record.excluded = {\n reason: message,\n ...(error?.details?.opcodeName\n ? { opcodeName: error.details.opcodeName }\n : {}),\n ...(error?.details?.dimensionName\n ? { dimensionName: error.details.dimensionName }\n : {})\n };\n }\n }\n };\n\n for (const record of shaderMap.values())\n {\n if (record.stageName !== \"vertex\")\n {\n emitInto(record, null);\n }\n }\n\n const pixelVaryingsByPass = new Map();\n\n for (const stage of stageMap.values())\n {\n if (stage.stageName !== \"pixel\")\n {\n continue;\n }\n\n const record = shaderMap.get(stage.shaderKey);\n\n if (!record?.emit)\n {\n continue;\n }\n\n pixelVaryingsByPass.set(\n `${stage.bodyKey}|${stage.techniqueName}|${stage.passIndex}`,\n record.emit.inputs\n .filter((input) => typeof input.name === \"string\"\n && input.name.startsWith(\"vs_r\"))\n .map((input) => input.register)\n .sort((left, right) => left - right)\n );\n }\n\n for (const stage of stageMap.values())\n {\n if (stage.stageName !== \"vertex\")\n {\n continue;\n }\n\n const record = shaderMap.get(stage.shaderKey);\n const varyings = pixelVaryingsByPass.get(\n `${stage.bodyKey}|${stage.techniqueName}|${stage.passIndex}`\n ) ?? [];\n\n if (record)\n {\n record.pairVaryings = varyings;\n emitInto(record, varyings);\n }\n }\n}\n\nfunction cloneJson(value)\n{\n if (value === undefined || value === null)\n {\n return value;\n }\n\n return JSON.parse(JSON.stringify(value));\n}\n\nfunction mapToJson(map)\n{\n // The caller always passes a Map; an empty one is the ordinary case and\n // needs no guard. Anything else is a defect in the caller.\n if (!(map instanceof Map))\n {\n throw new TypeError(\"effectPackage.mapToJson expects a Map.\");\n }\n\n return Array.from(map.entries()).map(([ registerIndex, value ]) => ({\n registerIndex,\n ...cloneJson(value)\n }));\n}\n\nfunction buildStageContract(stage)\n{\n const pipelineInputs = cloneJson(stage.pipelineInputs ?? []);\n const inputSemantics = pipelineInputs.map((input) => ({\n semantic: `${input.usageName || `USAGE_${input.usage}`}${input.usageIndex || \"\"}`,\n usage: input.usage,\n usageName: input.usageName,\n usageIndex: input.usageIndex,\n registerIndex: input.registerIndex,\n usedMask: input.usedMask,\n type: input.type,\n dimension: input.dimension\n }));\n const inputNames = new Set(inputSemantics.map((input) => input.usageName));\n const hasNormal = inputNames.has(\"NORMAL\");\n const hasTangent = inputNames.has(\"TANGENT\");\n const hasBinormal = inputNames.has(\"BINORMAL\") || inputNames.has(\"BITANGENT\");\n const hasBlendIndices = inputNames.has(\"BLENDINDICES\")\n || inputNames.has(\"BLENDINDICE\");\n let tangentContract = \"none\";\n\n if (hasNormal && hasTangent && hasBinormal)\n {\n tangentContract = \"split_tbn\";\n }\n else if (!hasNormal && hasTangent)\n {\n tangentContract = \"packed_tangent_or_tangent_only\";\n }\n else if (hasNormal || hasTangent || hasBinormal)\n {\n tangentContract = \"partial_tbn\";\n }\n\n const resources = cloneJson(stage.resources ?? []);\n const samplers = cloneJson(stage.samplers ?? []);\n const uavs = cloneJson(stage.uavs ?? []);\n const constants = cloneJson(stage.constants ?? []);\n const resourceNames = resources.map((entry) => entry.name).filter(Boolean);\n\n return {\n stageName: stage.stageName,\n stageType: stage.stageType,\n vertex: stage.stageName === \"vertex\" ? {\n inputs: inputSemantics,\n tangentContract,\n requiresSplitTbn: tangentContract === \"split_tbn\",\n requiresPackedTangent: tangentContract === \"packed_tangent_or_tangent_only\",\n requiresSkinning: hasBlendIndices || resourceNames.includes(\"BoneTransforms\"),\n hasBlendIndices\n } : null,\n texturePacking: classifyTexturePacking(resourceNames),\n constantBuffers: (stage.registers ?? [])\n .filter((entry) => entry.registerType === 0)\n .map((entry) => ({\n registerIndex: entry.registerIndex,\n registerSpace: entry.registerSpace,\n registerCount: entry.registerCount,\n arrayCount: entry.arrayCount,\n dynamic: Boolean(entry.dynamic)\n })),\n resources,\n samplers,\n uavs,\n constants\n };\n}\n\n/**\n * Samplers whose address mode is decided at bind time rather than in the\n * container, so a gate must exist for them even though the container declares\n * something WebGL2 can express natively.\n *\n * Carbon overrides exactly one family — a pattern layer's sampler, named\n * `<TextureName>Sampler` (`EveSOF.cpp:639`). In the shipped quad family those\n * are `PatternMask1MapSampler` and `PatternMask2MapSampler`; measured across\n * every body of `quadv5.sm_depth`, 120 stages bind them.\n */\nconst OVERRIDABLE_TEXTURE = /^PatternMask\\d*Map$/iu;\n\n/**\n * Recognises samplers whose address mode WebGL2 cannot express.\n *\n * WebGL2 does REPEAT, MIRRORED_REPEAT and CLAMP_TO_EDGE natively. It has no\n * CLAMP_TO_BORDER (mode 4) and no MIRROR_ONCE (mode 5), so those are honoured in\n * the shader and their mode is read at runtime from the address buffer.\n *\n * Returns the modes keyed by SAMPLER register. The emitter maps them onto\n * resources, because only it knows from the DXBC which resource each sampler\n * serves - and the two are not interchangeable: in `decalv5` five textures share\n * one bordered sampler, and each can resolve to a different mode at bind time.\n *\n * Returns null when nothing needs emulating, which is the common case - 492 of\n * 537 shipped effects - and keeps those shaders byte-identical to before.\n *\n * @param {object[]} samplers Container sampler descriptors, keyed by register.\n * @returns {{samplerModes:object}|null}\n */\nfunction recogniseEmulatedAddressing(samplers, resources)\n{\n const samplerModes = {};\n\n for (const entry of samplers ?? [])\n {\n const registerIndex = entry?.registerIndex;\n const sampler = entry?.value?.sampler ?? entry?.sampler;\n\n if (!Number.isInteger(registerIndex) || !sampler) continue;\n\n const u = sampler.addressU;\n const v = sampler.addressV;\n const w = sampler.addressW;\n // The container declares an emulated mode: decals, the specialfx clouds,\n // the compositing blits.\n if ([ u, v, w ].some((m) => m === 4 || m === 5))\n {\n samplerModes[registerIndex] = { u, v, w };\n }\n }\n\n // Textures whose mode is applied at BIND time, which the container cannot\n // know. Carbon overrides exactly one family (`EveSOF.cpp:639`): a pattern\n // layer's sampler, carrying per-layer user data that may be wrap, clamp or\n // border. The container declares those samplers as WRAP, so the loop above\n // never gates them - which is exactly why border on patterns rendered as\n // clamp-to-edge.\n //\n // Matched on the RESOURCE name rather than the sampler's, because the\n // container reflection leaves sampler names null; the manifest derives them\n // later from metadata, which is not available here. Resource names are\n // present, and the emitter gates by resource register anyway.\n const textures = [];\n\n for (const entry of resources ?? [])\n {\n const registerIndex = entry?.registerIndex;\n const name = entry?.name ?? entry?.value?.name ?? \"\";\n\n if (Number.isInteger(registerIndex) && OVERRIDABLE_TEXTURE.test(name))\n {\n textures.push({ registerIndex });\n }\n }\n\n if (!Object.keys(samplerModes).length && !textures.length) return null;\n\n return { samplerModes, ...(textures.length ? { textures } : {}) };\n}\n\nfunction classifyTexturePacking(names)\n{\n const values = new Set(names);\n\n if ([ \"NoMap\", \"PmdgMap\", \"ArMap\" ].some((name) => values.has(name)))\n {\n return \"packed_textures\";\n }\n\n if ([ \"NormalMap\", \"RoughnessMap\", \"MaterialMap\", \"AlbedoMap\",\n \"AoMap\", \"PaintMaskMap\" ].some((name) => values.has(name)))\n {\n return \"unpacked_textures\";\n }\n\n return \"unknown\";\n}\n\nfunction mergeShaderContracts(contracts)\n{\n const first = contracts?.[0]?.contract ?? null;\n\n if (!first)\n {\n return null;\n }\n\n return {\n stageName: first.stageName,\n stageType: first.stageType,\n vertex: first.vertex ? cloneJson(first.vertex) : null,\n texturePacking: first.texturePacking,\n constantBuffers: cloneJson(first.constantBuffers ?? []),\n resourceNames: (first.resources ?? []).map((entry) => entry.name).filter(Boolean),\n samplerNames: (first.samplers ?? []).map((entry) => entry.name).filter(Boolean),\n sharedByStageCount: contracts.length\n };\n}\n\nfunction normalizeBitangentStageInterface(result, shaderRecord)\n{\n if (shaderRecord?.stageName !== \"vertex\")\n {\n return {\n source: result.source,\n inputs: result.inputs\n };\n }\n\n const bitangentRegisters = new Set((shaderRecord.contracts ?? [])\n .flatMap((entry) => entry.contract?.vertex?.inputs ?? [])\n .filter((input) => input.usageName === \"BITANGENT\")\n .map((input) => input.registerIndex));\n let source = result.source;\n const inputs = result.inputs.map((input) =>\n {\n if (!bitangentRegisters.has(input.register)\n || input.semanticName !== \"BINORMAL\")\n {\n return input;\n }\n const name = `in_BITANGENT${input.semanticIndex}`;\n source = source.replaceAll(input.name, name);\n return {\n ...input,\n name,\n semanticName: \"BITANGENT\"\n };\n });\n return { source, inputs };\n}\n\nfunction validateStageSourceShape(record)\n{\n const source = record?.source ?? \"\";\n\n if (!source)\n {\n return null;\n }\n\n const hasVertexOutput = /\\bgl_Position\\b/u.test(source);\n const hasVertexInterface = /\\bin\\s+(?:lowp|mediump|highp)?\\s*\\w+\\s+attr\\d+\\b/u.test(source)\n || /\\bout\\s+(?:lowp|mediump|highp)?\\s*\\w+\\s+vs_TEXCOORD\\d+\\b/u.test(source)\n || /\\bin_[A-Z]+[0-9]+\\b/u.test(source);\n const hasFragmentOutput = /\\bout\\s+(?:lowp|mediump|highp)?\\s*vec4\\s+SV_Target\\d+\\b/u.test(source)\n || /\\bgl_FragColor\\b/u.test(source);\n\n if (record.stageName === \"vertex\" && !hasVertexOutput)\n {\n return \"vertex stage source does not write gl_Position\";\n }\n\n if (record.stageName === \"pixel\"\n && (hasVertexOutput || hasVertexInterface) && !hasFragmentOutput)\n {\n return \"pixel stage source looks like vertex GLSL\";\n }\n\n if (record.stageName === \"compute\" && !/\\bcjsUav\\d+(_s\\d+)?\\b/u.test(source))\n {\n return \"compute stage source does not write any cjsUav output\";\n }\n\n return null;\n}\n\nfunction normalizeSourceIdentity(values)\n{\n const identity = values.sourceIdentity;\n\n if (identity !== null\n && (!identity || typeof identity !== \"object\" || Array.isArray(identity)))\n {\n throw new TypeError(\"Carbon WebGL sourceIdentity must be an object\");\n }\n\n const sha256 = sha256Bytes(values.sourceBytes);\n if (identity?.sha256 !== undefined && identity?.sha256 !== null\n && identity.sha256 !== sha256)\n {\n throw new Error(\n \"Carbon WebGL sourceIdentity.sha256 does not match the exact effect input bytes\"\n );\n }\n\n return {\n filePath: identity?.filePath ?? values.source,\n logicalPath: identity?.logicalPath ?? values.source,\n game: identity?.game ?? null,\n client: identity?.client ?? null,\n build: identity?.build === undefined || identity?.build === null\n ? null\n : String(identity.build),\n byteLength: values.sourceBytes.byteLength,\n md5: identity?.md5 ?? null,\n sha256\n };\n}\n\nfunction qualifyEffectPackage({\n info,\n metadata,\n glsl,\n failedShaders,\n excludedShaders,\n failedBodies,\n rasterCompleteness,\n availableShaderCount\n})\n{\n const errors = [];\n\n if (info.format !== \"CARBON_WEBGL\" || glsl.format !== \"CARBON_WEBGL_GLSL_SET\")\n {\n errors.push(\"invalid Carbon WebGL package envelope\");\n }\n\n if (!Array.isArray(metadata.variants) || !Array.isArray(glsl.shaders))\n {\n errors.push(\"missing Carbon WebGL graph arrays\");\n }\n\n if (failedShaders.length)\n {\n errors.push(`${failedShaders.length} shader translation(s) failed`);\n }\n\n if (excludedShaders.length)\n {\n errors.push(`${excludedShaders.length} shader translation(s) are unsupported`);\n }\n\n if (failedBodies.length)\n {\n errors.push(`${failedBodies.length} effect body/bodies failed`);\n }\n\n if (rasterCompleteness.incompletePasses.length)\n {\n errors.push(`${rasterCompleteness.incompletePasses.length} raster pass(es) are incomplete`);\n }\n\n if (!availableShaderCount)\n {\n errors.push(\"no translated shaders are available\");\n }\n\n return {\n ok: errors.length === 0,\n level: errors.length ? \"diagnostic\" : \"structural\",\n errors: errors,\n incompletePasses: rasterCompleteness.incompletePasses\n };\n}\n"],"names":["EFFECT_INFO_VERSION","PACKAGE_VERSION","buildEffectPackage","input","options","values","normalizeOptions","containerVersion","resolveWriteVersion","version","effectRes","CjsHlslFormat","read","sourceBytes","emit","OUTPUT_RAW","source","IsGood","loadError","Error","sourceIdentity","normalizeSourceIdentity","m_version","permutationGraph","buildEffectPermutationGraph","variants","buildExportVariants","allPermutations","bodyMap","Map","stageMap","shaderMap","variant","has","bodyKey","shader","GetShader","toShaderOptions","set","key","bodyOffset","bodySize","firstVariantKey","error","manifest","stages","effectDescription","GetEffectDescription","HlslEffectBindingManifest","fromEffectDescription","collection","collectStages","selection","body","errors","length","join","localLights","stripLocalLightBindings","toJSON","stage","stageKey","shaderKey","contract","buildStageContract","stageRecord","localKey","techniqueName","passIndex","stageType","stageName","shaderHandle","shaderSize","bytecode","stringTableOffset","push","firstStageKey","firstBodyKey","bytes","textureArrays","emulatedAddressing","contracts","translateStages","bodies","Array","from","translatedShaders","map","record","output","primaryContract","mergeShaderContracts","failedShaders","filter","hlsl2webgl","ok","excluded","excludedShaders","failedBodies","rasterCompleteness","inspectRasterCompleteness","availableShaderCount","info","format","formatVersion","packageKind","targetBackend","backendPackage","backendPackageVersion","generatedAt","sourcePath","outputPath","sourceByteLength","byteLength","sourceMd5","md5","sourceSha256","sha256","translator","translatorVersion","language","flags","permutationMode","defaultPermutationIndex","m_permutations","sourceEffectVersion","sourceBodyCoverage","backendBodyCoverage","backendProgramCoverage","selectionCoversWholeEffect","permutationCount","uniqueBodyCount","sourcePermutationCount","sourceUniqueBodyCount","EFFECT_PERMUTATION_GRAPH_FORMAT","EFFECT_PERMUTATION_GRAPH_VERSION","sha256Utf8","JSON","stringify","bodyStageCount","uniqueShaderCount","translatedShaderCount","excludedShaderCount","failedShaderCount","failedBodyCount","expectedRasterPassCount","expectedPassCount","completeRasterPassCount","completePassCount","incompleteRasterPassCount","incompletePasses","allowFailures","completeness","packageValid","sourceComplete","backendComplete","runtimeComplete","metadata","effectResource","permutations","GetPermutationDescription","glsl","permutationIndex","shaders","qualification","qualifyEffectPackage","backendBodySet","buildGlslBackendBodySet","container","buildGlslEffectContainer","compilerVersion","m_compilerVersionBytes","inspection","inspectGlslEffectContainer","bodyCount","isArray","TypeError","asUint8Array","String","trim","technique","undefined","pass","Number","toLowerCase","isSafeInteger","includes","emitterOptions","normalizeOptionalString","Date","toISOString","normalizeLocalLightMode","lightProfile","normalizeLightProfileMode","textureUnitBudget","normalizeTextureUnitBudget","DEFAULT_TEXTURE_UNIT_BUDGET","value","isInteger","countTextureUnits","match","lowerToTextureBudget","plans","budget","result","selected","slice","name","multiplier","index","permutation","defaultOption","offset","size","decodePermutationOptions","remaining","optionCount","optionIndex","Math","floor","option","m_offsets","variantIndex","tableIndex","tableIndexMatchesPermutationIndex","techniques","passes","declaredStageCount","HlslRenderContextEnum","SHADER_TYPE_COUNT","stageInput","stageInputs","m_exists","hlslShaderStageName","cjsShaderBytecode","m_shader","pipelineInputs","cloneJson","signature","registers","resources","mapToJson","samplers","uavs","constants","recogniseTextureArrayFamilies","recogniseEmulatedAddressing","recogniseLocalLightFamily","LOCAL_LIGHT_MODES","Object","freeze","LIGHT_PROFILE_MODES","mode","lightProfileEmitterOptions","plan","localLightMode","profileMode","profileRegister","neutralResourceRegisters","localLightEmitterOptions","stubResourceRegisters","lightPackedTexture","indexRegister","dataRegister","registerIndex","dataTexelBase","lightConstantBuffer","capacity","emitInto","pairVaryings","profileNeutral","lightProfileNeutral","emitWithFamilies","emitGlslWithOptions","textureArrayFamilies","kind","family","outputName","recognisedTextureArrays","stageInterface","normalizeBitangentStageInterface","inputs","bindings","stageOutputs","outputs","emitWarnings","warnings","computeFragment","issue","validateStageSourceShape","validationError","message","details","test","reason","opcodeName","dimensionName","pixelVaryingsByPass","get","startsWith","register","sort","left","right","varyings","parse","entries","inputSemantics","semantic","usageName","usage","usageIndex","usedMask","type","dimension","inputNames","Set","hasNormal","hasTangent","hasBinormal","hasBlendIndices","tangentContract","resourceNames","entry","Boolean","vertex","requiresSplitTbn","requiresPackedTangent","requiresSkinning","texturePacking","classifyTexturePacking","constantBuffers","registerType","registerSpace","registerCount","arrayCount","dynamic","OVERRIDABLE_TEXTURE","samplerModes","sampler","u","addressU","v","addressV","w","addressW","some","m","textures","keys","names","first","samplerNames","sharedByStageCount","shaderRecord","bitangentRegisters","flatMap","semanticName","semanticIndex","replaceAll","hasVertexOutput","hasVertexInterface","hasFragmentOutput","identity","sha256Bytes","filePath","logicalPath","game","client","build","level"],"mappings":";;;;;;;;;;;;;;;;;AAuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,mBAAmB,GAAG,CAAC;AAE7B,MAAMC,eAAe,GAAG,QAAQ;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACC,KAAK,EAAEC,OAAO,GAAG,EAAE,EACtD;AACI,EAAA,MAAMC,MAAM,GAAGC,gBAAgB,CAACH,KAAK,EAAEC,OAAO,CAAC;AAC/C;AACA;AACA,EAAA,MAAMG,gBAAgB,GAAGC,mBAAmB,CAACJ,OAAO,CAACK,OAAO,CAAC;EAC7D,MAAMC,SAAS,GAAGC,aAAa,CAACC,IAAI,CAACP,MAAM,CAACQ,WAAW,EAAE;IACrDC,IAAI,EAAEH,aAAa,CAACI,UAAU;IAC9BC,MAAM,EAAEX,MAAM,CAACW;AACnB,GAAC,CAAC;AAEF,EAAA,IAAI,CAACN,SAAS,CAACO,MAAM,EAAE,EACvB;IACI,MAAMP,SAAS,CAACQ,SAAS,IAAI,IAAIC,KAAK,CAAC,mCAAmC,CAAC;AAC/E,EAAA;AAEA,EAAA,MAAMC,cAAc,GAAGC,uBAAuB,CAAChB,MAAM,CAAC;AACtD;AACA;AACA,EAAA,IAAIK,SAAS,CAACY,SAAS,KAAK,EAAE,EAC9B;IACI,MAAM,IAAIH,KAAK,CACX,oEAAoE,IACjET,SAAS,CAACY,SAAS,IAAI,SAAS,CACvC,CAAC;AACL,EAAA;AAEA,EAAA,MAAMC,gBAAgB,GAAGC,2BAA2B,CAACd,SAAS,CAAC;EAC/D,MAAMe,QAAQ,GAAGC,mBAAmB,CAAChB,SAAS,EAAEL,MAAM,CAACsB,eAAe,CAAC;AACvE,EAAA,MAAMC,OAAO,GAAG,IAAIC,GAAG,EAAE;AACzB,EAAA,MAAMC,QAAQ,GAAG,IAAID,GAAG,EAAE;AAC1B,EAAA,MAAME,SAAS,GAAG,IAAIF,GAAG,EAAE;AAE3B,EAAA,KAAK,MAAMG,OAAO,IAAIP,QAAQ,EAC9B;IACI,IAAIG,OAAO,CAACK,GAAG,CAACD,OAAO,CAACE,OAAO,CAAC,EAChC;AACI,MAAA;AACJ,IAAA;AAEA,IAAA,MAAMC,MAAM,GAAGzB,SAAS,CAAC0B,SAAS,CAACC,eAAe,CAACL,OAAO,CAAC5B,OAAO,CAAC,CAAC;IAEpE,IAAI,CAAC+B,MAAM,EACX;AACIP,MAAAA,OAAO,CAACU,GAAG,CAACN,OAAO,CAACE,OAAO,EAAE;QACzBK,GAAG,EAAEP,OAAO,CAACE,OAAO;QACpBM,UAAU,EAAER,OAAO,CAACQ,UAAU;QAC9BC,QAAQ,EAAET,OAAO,CAACS,QAAQ;QAC1BC,eAAe,EAAEV,OAAO,CAACO,GAAG;AAC5BI,QAAAA,KAAK,EAAE,sCAAsC;AAC7CC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,MAAM,EAAE;AACZ,OAAC,CAAC;AACF,MAAA;AACJ,IAAA;AAEA,IAAA,MAAMC,iBAAiB,GAAGX,MAAM,CAACY,oBAAoB,EAAE;AACvD,IAAA,MAAMH,QAAQ,GAAGI,yBAAyB,CAACC,qBAAqB,CAACH,iBAAiB,CAAC;IACnF,MAAMI,UAAU,GAAGC,aAAa,CAACL,iBAAiB,EAAEzC,MAAM,CAAC+C,SAAS,CAAC;AACrE,IAAA,MAAMC,IAAI,GAAG;MACTd,GAAG,EAAEP,OAAO,CAACE,OAAO;MACpBM,UAAU,EAAER,OAAO,CAACQ,UAAU;MAC9BC,QAAQ,EAAET,OAAO,CAACS,QAAQ;MAC1BC,eAAe,EAAEV,OAAO,CAACO,GAAG;AAC5BI,MAAAA,KAAK,EAAEO,UAAU,CAACI,MAAM,CAACC,MAAM,GAAGL,UAAU,CAACI,MAAM,CAACE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI;AACrE;AACA;MACAZ,QAAQ,EAAEvC,MAAM,CAACoD,WAAW,KAAK,MAAM,GACjCC,uBAAuB,CAACd,QAAQ,CAACe,MAAM,EAAE,CAAC,GAC1Cf,QAAQ,CAACe,MAAM,EAAE;AACvBd,MAAAA,MAAM,EAAE;KACX;AAED,IAAA,KAAK,MAAMe,KAAK,IAAIV,UAAU,CAACL,MAAM,EACrC;MACI,MAAMgB,QAAQ,GAAG,CAAA,EAAG7B,OAAO,CAACE,OAAO,CAAA,CAAA,EAAI0B,KAAK,CAACrB,GAAG,CAAA,CAAE;AAClD,MAAA,MAAMuB,SAAS,GAAG,CAAA,OAAA,EAAUD,QAAQ,CAAA,CAAE;AACtC,MAAA,MAAME,QAAQ,GAAGC,kBAAkB,CAACJ,KAAK,CAAC;AAC1C,MAAA,MAAMK,WAAW,GAAG;AAChB1B,QAAAA,GAAG,EAAEsB,QAAQ;QACb3B,OAAO,EAAEF,OAAO,CAACE,OAAO;QACxBgC,QAAQ,EAAEN,KAAK,CAACrB,GAAG;QACnB4B,aAAa,EAAEP,KAAK,CAACO,aAAa;QAClCC,SAAS,EAAER,KAAK,CAACQ,SAAS;QAC1BC,SAAS,EAAET,KAAK,CAACS,SAAS;QAC1BC,SAAS,EAAEV,KAAK,CAACU,SAAS;QAC1BC,YAAY,EAAEX,KAAK,CAACW,YAAY;AAChCC,QAAAA,UAAU,EAAEZ,KAAK,CAACa,QAAQ,CAACD,UAAU;AACrCE,QAAAA,iBAAiB,EAAEd,KAAK,CAACa,QAAQ,CAACC,iBAAiB;QACnDZ,SAAS;AACTC,QAAAA;OACH;AAEDjC,MAAAA,QAAQ,CAACQ,GAAG,CAACuB,QAAQ,EAAEI,WAAW,CAAC;AACnCZ,MAAAA,IAAI,CAACR,MAAM,CAAC8B,IAAI,CAACd,QAAQ,CAAC;AAC1B9B,MAAAA,SAAS,CAACO,GAAG,CAACwB,SAAS,EAAE;AACrBvB,QAAAA,GAAG,EAAEuB,SAAS;AACdc,QAAAA,aAAa,EAAEf,QAAQ;QACvBgB,YAAY,EAAE7C,OAAO,CAACE,OAAO;QAC7BoC,SAAS,EAAEV,KAAK,CAACU,SAAS;AAC1BE,QAAAA,UAAU,EAAEZ,KAAK,CAACa,QAAQ,CAACD,UAAU;AACrCE,QAAAA,iBAAiB,EAAEd,KAAK,CAACa,QAAQ,CAACC,iBAAiB;AACnDI,QAAAA,KAAK,EAAElB,KAAK,CAACa,QAAQ,CAACK,KAAK;QAC3BC,aAAa,EAAEnB,KAAK,CAACmB,aAAa;QAClCC,kBAAkB,EAAEpB,KAAK,CAACoB,kBAAkB;QAC5CvB,WAAW,EAAEG,KAAK,CAACH,WAAW;AAC9BwB,QAAAA,SAAS,EAAE,CAAE;UACTpB,QAAQ;UACRM,aAAa,EAAEP,KAAK,CAACO,aAAa;UAClCC,SAAS,EAAER,KAAK,CAACQ,SAAS;UAC1BE,SAAS,EAAEV,KAAK,CAACU,SAAS;AAC1BP,UAAAA;SACH;AACL,OAAC,CAAC;AACN,IAAA;IAEAnC,OAAO,CAACU,GAAG,CAACN,OAAO,CAACE,OAAO,EAAEmB,IAAI,CAAC;AACtC,EAAA;AAEA6B,EAAAA,eAAe,CAACnD,SAAS,EAAED,QAAQ,EAAEzB,MAAM,CAAC;EAE5C,MAAM8E,MAAM,GAAGC,KAAK,CAACC,IAAI,CAACzD,OAAO,CAACvB,MAAM,EAAE,CAAC;EAC3C,MAAMwC,MAAM,GAAGuC,KAAK,CAACC,IAAI,CAACvD,QAAQ,CAACzB,MAAM,EAAE,CAAC;AAC5C,EAAA,MAAMiF,iBAAiB,GAAGF,KAAK,CAACC,IAAI,CAACtD,SAAS,CAAC1B,MAAM,EAAE,CAAC,CAACkF,GAAG,CAAEC,MAAM,IACpE;IACI,MAAM;MAAEV,KAAK;MAAEhE,IAAI;MAAE,GAAG2E;AAAO,KAAC,GAAGD,MAAM;IAEzCC,MAAM,CAACC,eAAe,GAAGC,oBAAoB,CAACF,MAAM,CAACR,SAAS,CAAC;AAC/D,IAAA,OAAOQ,MAAM;AACjB,EAAA,CAAC,CAAC;AACF,EAAA,MAAMG,aAAa,GAAGN,iBAAiB,CAACO,MAAM,CAAEL,MAAM,IAClD,CAACA,MAAM,CAACM,UAAU,EAAEC,EAAE,IAAI,CAACP,MAAM,CAACQ,QAAQ,CAAC;EAC/C,MAAMC,eAAe,GAAGX,iBAAiB,CAACO,MAAM,CAAEL,MAAM,IAAKA,MAAM,CAACQ,QAAQ,CAAC;EAC7E,MAAME,YAAY,GAAGf,MAAM,CAACU,MAAM,CAAExC,IAAI,IAAKA,IAAI,CAACV,KAAK,CAAC;AACxD;AACA;AACA;AACA;AACA;AACA,EAAA,MAAMwD,kBAAkB,GAAGC,yBAAyB,CAACvD,MAAM,EAAEyC,iBAAiB,CAAC;AAC/E,EAAA,MAAMe,oBAAoB,GAAGf,iBAAiB,CAACO,MAAM,CAAEL,MAAM,IACzDA,MAAM,CAACM,UAAU,EAAEC,EAAE,IAAIP,MAAM,CAACxE,MAAM,CAAC,CAACuC,MAAM;AAClD,EAAA,MAAM+C,IAAI,GAAG;AACTC,IAAAA,MAAM,EAAE,cAAc;AACtBC,IAAAA,aAAa,EAAExG,mBAAmB;AAClCyG,IAAAA,WAAW,EAAEpG,MAAM,CAACsB,eAAe,GAC7B,+BAA+B,GAC/B,kBAAkB;AACxB;AACA;AACA;AACA;IACApB,gBAAgB;AAChBmG,IAAAA,aAAa,EAAE,OAAO;AACtB;AACA;AACAC,IAAAA,cAAc,EAAE,gDAAgD;AAChEC,IAAAA,qBAAqB,EAAE3G,eAAe;IACtC4G,WAAW,EAAExG,MAAM,CAACwG,WAAW;IAC/BC,UAAU,EAAEzG,MAAM,CAACW,MAAM;IACzB+F,UAAU,EAAE1G,MAAM,CAAC0G,UAAU;IAC7BC,gBAAgB,EAAE5F,cAAc,CAAC6F,UAAU;IAC3CC,SAAS,EAAE9F,cAAc,CAAC+F,GAAG;IAC7BC,YAAY,EAAEhG,cAAc,CAACiG,MAAM;IACnCjG,cAAc;AACdkG,IAAAA,UAAU,EAAE,iBAAiB;AAC7BC,IAAAA,iBAAiB,EAAEtH,eAAe;AAClCuH,IAAAA,QAAQ,EAAE,OAAO;AACjBC,IAAAA,KAAK,EAAE,IAAI;IACXrE,SAAS,EAAE/C,MAAM,CAAC+C,SAAS;AAC3BsE,IAAAA,eAAe,EAAErH,MAAM,CAACsB,eAAe,GAAG,KAAK,GAAG,UAAU;AAC5DgG,IAAAA,uBAAuB,EAAEA,uBAAuB,CAACjH,SAAS,CAACkH,cAAc,CAAC;IAC1EC,mBAAmB,EAAEnH,SAAS,CAACY,SAAS;AACxCwG,IAAAA,kBAAkB,EAAE,YAAY;AAChCC,IAAAA,mBAAmB,EAAE1H,MAAM,CAACsB,eAAe,GAAG,KAAK,GAAG,UAAU;IAChEqG,sBAAsB,EAAEC,0BAA0B,CAAC5H,MAAM,CAAC+C,SAAS,CAAC,GAC9D,YAAY,GACZ,UAAU;IAChB8E,gBAAgB,EAAEzG,QAAQ,CAAC8B,MAAM;IACjC4E,eAAe,EAAEhD,MAAM,CAAC5B,MAAM;AAC9B6E,IAAAA,sBAAsB,EAAE7G,gBAAgB,CAACE,QAAQ,CAAC8B,MAAM;AACxD8E,IAAAA,qBAAqB,EAAE9G,gBAAgB,CAAC4D,MAAM,CAAC5B,MAAM;AACrDhC,IAAAA,gBAAgB,EAAE;AACdgF,MAAAA,MAAM,EAAE+B,+BAA+B;AACvC9B,MAAAA,aAAa,EAAE+B,gCAAgC;MAC/ClB,MAAM,EAAEmB,UAAU,CAAC,CAAA,EAAGC,IAAI,CAACC,SAAS,CAACnH,gBAAgB,CAAC,CAAA,EAAA,CAAI,CAAC;AAC3D2G,MAAAA,gBAAgB,EAAE3G,gBAAgB,CAACE,QAAQ,CAAC8B,MAAM;AAClD4E,MAAAA,eAAe,EAAE5G,gBAAgB,CAAC4D,MAAM,CAAC5B;KAC5C;IACDoF,cAAc,EAAE9F,MAAM,CAACU,MAAM;IAC7BqF,iBAAiB,EAAEtD,iBAAiB,CAAC/B,MAAM;IAC3CsF,qBAAqB,EAAEvD,iBAAiB,CAAC/B,MAAM,GAAGqC,aAAa,CAACrC,MAAM,GAAG0C,eAAe,CAAC1C,MAAM;IAC/FuF,mBAAmB,EAAE7C,eAAe,CAAC1C,MAAM;IAC3CwF,iBAAiB,EAAEnD,aAAa,CAACrC,MAAM;IACvCyF,eAAe,EAAE9C,YAAY,CAAC3C,MAAM;IACpC0F,uBAAuB,EAAE9C,kBAAkB,CAAC+C,iBAAiB;IAC7DC,uBAAuB,EAAEhD,kBAAkB,CAACiD,iBAAiB;AAC7DC,IAAAA,yBAAyB,EAAElD,kBAAkB,CAACmD,gBAAgB,CAAC/F,MAAM;IACrE8C,oBAAoB;IACpBkD,aAAa,EAAElJ,MAAM,CAACkJ,aAAa;AACnCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,YAAY,EAAE,IAAI;AAClBC,MAAAA,cAAc,EAAEhJ,SAAS,CAACY,SAAS,KAAK,EAAE;AAC1CqI,MAAAA,eAAe,EAAE,KAAK;AACtBC,MAAAA,eAAe,EAAE;AACrB;GACH;AACD,EAAA,MAAMC,QAAQ,GAAG;IACbhD,WAAW,EAAExG,MAAM,CAACwG,WAAW;IAC/BC,UAAU,EAAEzG,MAAM,CAACW,MAAM;AACzB8I,IAAAA,cAAc,EAAEpJ,SAAS,CAACiD,MAAM,EAAE;AAClCoG,IAAAA,YAAY,EAAErJ,SAAS,CAACsJ,yBAAyB,EAAE;IACnDvI,QAAQ;AACR0D,IAAAA,MAAM,EAAEA,MAAM,CAACI,GAAG,CAAElC,IAAI,KAAM;MAC1Bd,GAAG,EAAEc,IAAI,CAACd,GAAG;MACbC,UAAU,EAAEa,IAAI,CAACb,UAAU;MAC3BC,QAAQ,EAAEY,IAAI,CAACZ,QAAQ;MACvBC,eAAe,EAAEW,IAAI,CAACX,eAAe;MACrCC,KAAK,EAAEU,IAAI,CAACV,KAAK;MACjBC,QAAQ,EAAES,IAAI,CAACT;AACnB,KAAC,CAAC;GACL;AACD,EAAA,MAAMqH,IAAI,GAAG;AACT1D,IAAAA,MAAM,EAAE,uBAAuB;AAC/BC,IAAAA,aAAa,EAAE,CAAC;AAChBgB,IAAAA,QAAQ,EAAE,OAAO;IACjBE,eAAe,EAAEpB,IAAI,CAACoB,eAAe;IACrCtE,SAAS,EAAE/C,MAAM,CAAC+C,SAAS;AAC3B3B,IAAAA,QAAQ,EAAEA,QAAQ,CAAC8D,GAAG,CAAEvD,OAAO,KAAM;MACjCO,GAAG,EAAEP,OAAO,CAACO,GAAG;MAChB2H,gBAAgB,EAAElI,OAAO,CAACkI,gBAAgB;MAC1ChI,OAAO,EAAEF,OAAO,CAACE;AACrB,KAAC,CAAC,CAAC;AACHiD,IAAAA,MAAM,EAAEA,MAAM,CAACI,GAAG,CAAElC,IAAI,KAAM;MAC1Bd,GAAG,EAAEc,IAAI,CAACd,GAAG;MACbI,KAAK,EAAEU,IAAI,CAACV,KAAK;MACjBE,MAAM,EAAEQ,IAAI,CAACR;AACjB,KAAC,CAAC,CAAC;IACHA,MAAM;AACNsH,IAAAA,OAAO,EAAE7E;GACZ;EACD,MAAM8E,aAAa,GAAGC,oBAAoB,CAAC;IACvC/D,IAAI;IACJuD,QAAQ;IACRI,IAAI;IACJrE,aAAa;IACbK,eAAe;IACfC,YAAY;IACZC,kBAAkB;AAClBE,IAAAA;AACJ,GAAC,CAAC;EACF,IAAI,CAAC+D,aAAa,CAACrE,EAAE,IAAI,CAAC1F,MAAM,CAACkJ,aAAa,EAC9C;AACI,IAAA,MAAM,IAAIpI,KAAK,CACX,CAAA,yDAAA,EAA4DiJ,aAAa,CAAC9G,MAAM,CAACE,IAAI,CAAC,IAAI,CAAC,EAC/F,CAAC;AACL,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,MAAM8G,cAAc,GAAGC,uBAAuB,CAAC;IAC3CpF,MAAM;IACNtC,MAAM;AACNsH,IAAAA,OAAO,EAAE7E,iBAAiB;IAC1B7D,QAAQ;AACRF,IAAAA;AACJ,GAAC,CAAC;EACF,MAAMiJ,SAAS,GAAGC,wBAAwB,CACtC/J,SAAS,EACTa,gBAAgB,EAChB+I,cAAc,EACd;IAAEI,eAAe,EAAEhK,SAAS,CAACiK,sBAAsB;AAAElK,IAAAA,OAAO,EAAEF;AAAiB,GACnF,CAAC;AAED,EAAA,MAAMuE,KAAK,GAAG0F,SAAS,CAAC1F,KAAK;AAC7B,EAAA,MAAM8F,UAAU,GAAGC,0BAA0B,CAAC/F,KAAK,EAAE;IACjD9D,MAAM,EAAEX,MAAM,CAACW;AACnB,GAAC,CAAC;EAEF,OAAO;IACH8D,KAAK;IACLoD,gBAAgB,EAAEsC,SAAS,CAACtC,gBAAgB;IAC5C4C,SAAS,EAAEN,SAAS,CAACM,SAAS;IAC9BR,cAAc;AACdhE,IAAAA,IAAI,EAAEA,IAAI;AACVuD,IAAAA,QAAQ,EAAEA,QAAQ;IAClBtI,gBAAgB;AAChB0I,IAAAA,IAAI,EAAEA,IAAI;AACVW,IAAAA,UAAU,EAAEA,UAAU;AACtBR,IAAAA,aAAa,EAAEA;GAClB;AACL;AAEA,SAAS9J,gBAAgBA,CAACH,KAAK,EAAEC,OAAO,EACxC;AACI,EAAA,IAAI,CAACA,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAIgF,KAAK,CAAC2F,OAAO,CAAC3K,OAAO,CAAC,EACrE;AACI,IAAA,MAAM,IAAI4K,SAAS,CAAC,+CAA+C,CAAC;AACxE,EAAA;AAEA,EAAA,MAAMnK,WAAW,GAAGoK,YAAY,CAAC9K,KAAK,EAAE,sBAAsB,CAAC;AAC/D,EAAA,MAAMa,MAAM,GAAGkK,MAAM,CAAC9K,OAAO,CAACY,MAAM,IAAI,QAAQ,CAAC,CAACmK,IAAI,EAAE,IAAI,QAAQ;AACpE,EAAA,MAAM/H,SAAS,GAAG;IACdgI,SAAS,EAAEhL,OAAO,CAACgL,SAAS,KAAKC,SAAS,IAAIjL,OAAO,CAACgL,SAAS,KAAK,IAAI,GAClE,IAAI,GACJF,MAAM,CAAC9K,OAAO,CAACgL,SAAS,CAAC;IAC/BE,IAAI,EAAElL,OAAO,CAACkL,IAAI,KAAKD,SAAS,IAAIjL,OAAO,CAACkL,IAAI,KAAK,IAAI,GAAG,IAAI,GAAGC,MAAM,CAACnL,OAAO,CAACkL,IAAI,CAAC;IACvF1H,KAAK,EAAExD,OAAO,CAACwD,KAAK,KAAKyH,SAAS,IAAIjL,OAAO,CAACwD,KAAK,KAAK,IAAI,GACtD,IAAI,GACJsH,MAAM,CAAC9K,OAAO,CAACwD,KAAK,CAAC,CAAC4H,WAAW;GAC1C;EAED,IAAIpI,SAAS,CAACkI,IAAI,KAAK,IAAI,KACnB,CAACC,MAAM,CAACE,aAAa,CAACrI,SAAS,CAACkI,IAAI,CAAC,IAAIlI,SAAS,CAACkI,IAAI,GAAG,CAAC,CAAC,EACpE;AACI,IAAA,MAAM,IAAIN,SAAS,CAAC,iEAAiE,CAAC;AAC1F,EAAA;EAEA,IAAI5H,SAAS,CAACQ,KAAK,KAAK,IAAI,IACrB,CAAC,CAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAE,CAAC8H,QAAQ,CAACtI,SAAS,CAACQ,KAAK,CAAC,EAClE;IACI,MAAM,IAAIoH,SAAS,CAAC,CAAA,uCAAA,EAA0C5H,SAAS,CAACQ,KAAK,EAAE,CAAC;AACpF,EAAA;EAEA,IAAIxD,OAAO,CAACuL,cAAc,KAAKN,SAAS,KAChC,CAACjL,OAAO,CAACuL,cAAc,IAAI,OAAOvL,OAAO,CAACuL,cAAc,KAAK,QAAQ,IAClEvG,KAAK,CAAC2F,OAAO,CAAC3K,OAAO,CAACuL,cAAc,CAAC,CAAC,EACjD;AACI,IAAA,MAAM,IAAIX,SAAS,CAAC,+CAA+C,CAAC;AACxE,EAAA;EAEA,OAAO;IACHnK,WAAW;IACXG,MAAM;IACN+F,UAAU,EAAE6E,uBAAuB,CAACxL,OAAO,CAAC2G,UAAU,EAAE,yBAAyB,CAAC;AAClF3F,IAAAA,cAAc,EAAEhB,OAAO,CAACgB,cAAc,IAAI,IAAI;IAC9CyF,WAAW,EAAEzG,OAAO,CAACyG,WAAW,KAAKwE,SAAS,IAAIjL,OAAO,CAACyG,WAAW,KAAK,IAAI,GACxE,IAAI,GACJ,IAAIgF,IAAI,CAACzL,OAAO,CAACyG,WAAW,CAAC,CAACiF,WAAW,EAAE;AACjDnK,IAAAA,eAAe,EAAEvB,OAAO,CAACuB,eAAe,KAAK,KAAK;AAClD4H,IAAAA,aAAa,EAAEnJ,OAAO,CAACmJ,aAAa,KAAK,IAAI;IAC7CnG,SAAS;AACT;AACA;AACA;AACAK,IAAAA,WAAW,EAAEsI,uBAAuB,CAAC3L,OAAO,CAACqD,WAAW,CAAC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAuI,IAAAA,YAAY,EAAEC,yBAAyB,CAAC7L,OAAO,CAAC4L,YAAY,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACAE,IAAAA,iBAAiB,EAAEC,0BAA0B,CAAC/L,OAAO,CAAC8L,iBAAiB,CAAC;AACxEP,IAAAA,cAAc,EAAE;AAAE,MAAA,IAAIvL,OAAO,CAACuL,cAAc,IAAI,EAAE;AAAE;GACvD;AACL;;AAEA;AACA,MAAMS,2BAA2B,GAAG,EAAE;AAEtC,SAASD,0BAA0BA,CAACE,KAAK,EACzC;AACI,EAAA,IAAIA,KAAK,KAAKhB,SAAS,EAAE,OAAOe,2BAA2B;AAC3D,EAAA,IAAIC,KAAK,KAAK,IAAI,EAAE,OAAO,IAAI;EAE/B,IAAI,CAACd,MAAM,CAACe,SAAS,CAACD,KAAK,CAAC,IAAIA,KAAK,GAAG,CAAC,EACzC;AACI,IAAA,MAAM,IAAIlL,KAAK,CAAC,CAAA,uEAAA,EAA0EkL,KAAK,EAAE,CAAC;AACtG,EAAA;AAEA,EAAA,OAAOA,KAAK;AAChB;;AAEA;AACA,SAASE,iBAAiBA,CAACvL,MAAM,EACjC;AACI,EAAA,OAAO,CAACkK,MAAM,CAAClK,MAAM,IAAI,EAAE,CAAC,CAACwL,KAAK,CAAC,oDAAoD,CAAC,IAAI,EAAE,EAAEjJ,MAAM;AAC1G;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASkJ,oBAAoBA,CAAC3L,IAAI,EAAE4L,KAAK,EAAEC,MAAM,EACjD;EACI,IAAIA,MAAM,KAAK,IAAI,IAAI,CAACD,KAAK,CAACnJ,MAAM,EAAE,OAAO;AAAEqJ,IAAAA,MAAM,EAAE9L,IAAI,CAAC4L,KAAK,CAAC;AAAE3H,IAAAA,aAAa,EAAE2H;GAAO;EAE1F,IAAIG,QAAQ,GAAG,EAAE;AACjB,EAAA,IAAID,MAAM,GAAG9L,IAAI,CAAC+L,QAAQ,CAAC;AAE3B,EAAA,OAAON,iBAAiB,CAACK,MAAM,CAAC5L,MAAM,CAAC,GAAG2L,MAAM,IAAIE,QAAQ,CAACtJ,MAAM,GAAGmJ,KAAK,CAACnJ,MAAM,EAClF;AACIsJ,IAAAA,QAAQ,GAAGH,KAAK,CAACI,KAAK,CAAC,CAAC,EAAED,QAAQ,CAACtJ,MAAM,GAAG,CAAC,CAAC;AAC9CqJ,IAAAA,MAAM,GAAG9L,IAAI,CAAC+L,QAAQ,CAAC;AAC3B,EAAA;EAEA,OAAO;IAAED,MAAM;AAAE7H,IAAAA,aAAa,EAAE8H;GAAU;AAC9C;AAEA,SAASjB,uBAAuBA,CAACS,KAAK,EAAEU,IAAI,EAC5C;AACI,EAAA,IAAIV,KAAK,KAAKhB,SAAS,IAAIgB,KAAK,KAAK,IAAI,EACzC;AACI,IAAA,OAAO,IAAI;AACf,EAAA;EAEA,MAAMO,MAAM,GAAG1B,MAAM,CAACmB,KAAK,CAAC,CAAClB,IAAI,EAAE;EAEnC,IAAI,CAACyB,MAAM,EACX;AACI,IAAA,MAAM,IAAI5B,SAAS,CAAC,CAAA,EAAG+B,IAAI,qCAAqC,CAAC;AACrE,EAAA;AAEA,EAAA,OAAOH,MAAM;AACjB;AAEA,SAAS3E,0BAA0BA,CAAC7E,SAAS,EAC7C;AACI,EAAA,OAAOA,SAAS,CAACgI,SAAS,KAAK,IAAI,IAC5BhI,SAAS,CAACkI,IAAI,KAAK,IAAI,IACvBlI,SAAS,CAACQ,KAAK,KAAK,IAAI;AACnC;AACA,SAAS+D,uBAAuBA,CAACoC,YAAY,EAC7C;EACI,IAAIiD,UAAU,GAAG,CAAC;EAClB,IAAIC,KAAK,GAAG,CAAC;AAEb,EAAA,KAAK,MAAMC,WAAW,IAAInD,YAAY,EACtC;IACIkD,KAAK,IAAI,CAACC,WAAW,CAACC,aAAa,IAAI,CAAC,IAAIH,UAAU;AACtDA,IAAAA,UAAU,IAAIE,WAAW,CAAC9M,OAAO,CAACmD,MAAM,IAAI,CAAC;AACjD,EAAA;AAEA,EAAA,OAAO0J,KAAK;AAChB;AAEA,SAAS/K,OAAOA,CAACsD,MAAM,EACvB;EACI,OAAO,CAAA,KAAA,EAAQA,MAAM,CAAC4H,MAAM,IAAI5H,MAAM,CAAC6H,IAAI,CAAA,CAAE;AACjD;AAEA,SAASC,wBAAwBA,CAACvD,YAAY,EAAEG,gBAAgB,EAChE;EACI,IAAIqD,SAAS,GAAGrD,gBAAgB;AAEhC,EAAA,OAAOH,YAAY,CAACxE,GAAG,CAAE2H,WAAW,IACpC;IACI,MAAMM,WAAW,GAAGN,WAAW,CAAC9M,OAAO,CAACmD,MAAM,IAAI,CAAC;IACnD,MAAMkK,WAAW,GAAGD,WAAW,GAAGD,SAAS,GAAGC,WAAW,GAAG,CAAC;IAE7DD,SAAS,GAAGG,IAAI,CAACC,KAAK,CAACJ,SAAS,GAAGC,WAAW,CAAC;IAC/C,OAAO;MACHT,IAAI,EAAEG,WAAW,CAACH,IAAI;MACtBV,KAAK,EAAEa,WAAW,CAAC9M,OAAO,CAACqN,WAAW,CAAC,IAAI,EAAE;MAC7CA,WAAW;MACXN,aAAa,EAAED,WAAW,CAACC;KAC9B;AACL,EAAA,CAAC,CAAC;AACN;AAEA,SAAS9K,eAAeA,CAACjC,OAAO,EAChC;AACI,EAAA,OAAOA,OAAO,CAACmF,GAAG,CAAEqI,MAAM,KAAM;IAAEb,IAAI,EAAEa,MAAM,CAACb,IAAI;IAAEV,KAAK,EAAEuB,MAAM,CAACvB;AAAM,GAAC,CAAC,CAAC;AAChF;AAEA,SAAS3K,mBAAmBA,CAAChB,SAAS,EAAEiB,eAAe,EACvD;AACI,EAAA,IAAIA,eAAe,EACnB;IACI,OAAOjB,SAAS,CAACmN,SAAS,CAACtI,GAAG,CAAC,CAACC,MAAM,EAAEsI,YAAY,KACpD;AACI,MAAA,MAAM5D,gBAAgB,GAAGqB,MAAM,CAACe,SAAS,CAAC9G,MAAM,CAACyH,KAAK,CAAC,GACjDzH,MAAM,CAACyH,KAAK,GACZa,YAAY;MAElB,OAAO;QACHvL,GAAG,EAAE,CAAA,QAAA,EAAW2H,gBAAgB,CAAA,CAAE;QAClC4D,YAAY;QACZ5D,gBAAgB;AAChB6D,QAAAA,UAAU,EAAED,YAAY;AACxB5L,QAAAA,OAAO,EAAEA,OAAO,CAACsD,MAAM,CAAC;QACxBhD,UAAU,EAAEgD,MAAM,CAAC4H,MAAM;QACzB3K,QAAQ,EAAE+C,MAAM,CAAC6H,IAAI;QACrBjN,OAAO,EAAEkN,wBAAwB,CAC7B5M,SAAS,CAACkH,cAAc,EACxBsC,gBACJ,CAAC;QACD8D,iCAAiC,EAC7BF,YAAY,KAAK5D;OACxB;AACL,IAAA,CAAC,CAAC;AACN,EAAA;AAEA,EAAA,MAAMA,gBAAgB,GAAGvC,uBAAuB,CAACjH,SAAS,CAACkH,cAAc,CAAC;AAC1E,EAAA,MAAMpC,MAAM,GAAG9E,SAAS,CAACmN,SAAS,CAAC3D,gBAAgB,CAAC;EAEpD,IAAI,CAAC1E,MAAM,EACX;AACI,IAAA,MAAM,IAAIrE,KAAK,CAAC,CAAA,0BAAA,EAA6B+I,gBAAgB,iBAAiB,CAAC;AACnF,EAAA;AAEA,EAAA,OAAO,CAAE;IACL3H,GAAG,EAAE,CAAA,QAAA,EAAW2H,gBAAgB,CAAA,CAAE;AAClC4D,IAAAA,YAAY,EAAE5D,gBAAgB;IAC9BA,gBAAgB;AAChB6D,IAAAA,UAAU,EAAE7D,gBAAgB;AAC5BhI,IAAAA,OAAO,EAAEA,OAAO,CAACsD,MAAM,CAAC;IACxBhD,UAAU,EAAEgD,MAAM,CAAC4H,MAAM;IACzB3K,QAAQ,EAAE+C,MAAM,CAAC6H,IAAI;IACrBjN,OAAO,EAAEkN,wBAAwB,CAAC5M,SAAS,CAACkH,cAAc,EAAEsC,gBAAgB,CAAC;AAC7E8D,IAAAA,iCAAiC,EAAEzC,MAAM,CAACe,SAAS,CAAC9G,MAAM,CAACyH,KAAK,CAAC,GAC3DzH,MAAM,CAACyH,KAAK,KAAK/C,gBAAgB,GACjC;AACV,GAAC,CAAE;AACP;AAEA,SAAS/G,aAAaA,CAACL,iBAAiB,EAAEM,SAAS,EACnD;EACI,MAAMP,MAAM,GAAG,EAAE;EACjB,MAAMS,MAAM,GAAG,EAAE;EAEjB,KAAK,MAAM8H,SAAS,IAAItI,iBAAiB,CAACmL,UAAU,IAAI,EAAE,EAC1D;IACI,IAAI7K,SAAS,CAACgI,SAAS,IAAIA,SAAS,CAAC2B,IAAI,KAAK3J,SAAS,CAACgI,SAAS,EACjE;AACI,MAAA;AACJ,IAAA;IAEA,IAAI,CAAChI,SAAS,CAACQ,KAAK,IAAI,CAAC2H,MAAM,CAACe,SAAS,CAAClJ,SAAS,CAACkI,IAAI,CAAC,IAClDF,SAAS,CAAC8C,MAAM,CAAC3K,MAAM,KAAK,CAAC,EACpC;MACID,MAAM,CAACqB,IAAI,CAAC,CAAA,EAAGyG,SAAS,CAAC2B,IAAI,qBAAqB,CAAC;AACvD,IAAA;AAEA,IAAA,KAAK,IAAI3I,SAAS,GAAG,CAAC,EAAEA,SAAS,GAAGgH,SAAS,CAAC8C,MAAM,CAAC3K,MAAM,EAAEa,SAAS,EAAE,EACxE;AACI,MAAA,IAAImH,MAAM,CAACe,SAAS,CAAClJ,SAAS,CAACkI,IAAI,CAAC,IAAIlH,SAAS,KAAKhB,SAAS,CAACkI,IAAI,EACpE;AACI,QAAA;AACJ,MAAA;AAEA,MAAA,MAAMA,IAAI,GAAGF,SAAS,CAAC8C,MAAM,CAAC9J,SAAS,CAAC;MACxC,IAAI+J,kBAAkB,GAAG,CAAC;AAE1B,MAAA,KAAK,IAAI9J,SAAS,GAAG,CAAC,EAClBA,SAAS,GAAG+J,qBAAqB,CAACC,iBAAiB,EACnDhK,SAAS,EAAE,EACf;AACI,QAAA,MAAMiK,UAAU,GAAGhD,IAAI,CAACiD,WAAW,CAAClK,SAAS,CAAC;AAE9C,QAAA,IAAI,CAACiK,UAAU,EAAEE,QAAQ,EACzB;AACI,UAAA;AACJ,QAAA;AAEAL,QAAAA,kBAAkB,EAAE;AACpB,QAAA,MAAM7J,SAAS,GAAGmK,mBAAmB,CAACpK,SAAS,CAAC;QAEhD,IAAIjB,SAAS,CAACQ,KAAK,IAAIU,SAAS,KAAKlB,SAAS,CAACQ,KAAK,EACpD;AACI,UAAA;AACJ,QAAA;AAEA,QAAA,IAAI,CAAC0K,UAAU,CAACI,iBAAiB,EACjC;UACIpL,MAAM,CAACqB,IAAI,CACP,CAAA,EAAGyG,SAAS,CAAC2B,IAAI,QAAQ3I,SAAS,CAAA,CAAA,EAAIE,SAAS,CAAA,wBAAA,CAA0B,GACvE,GAAGgK,UAAU,CAACK,QAAQ,IAAI,SAAS,6BACzC,CAAC;AACD,UAAA;AACJ,QAAA;QAEA9L,MAAM,CAAC8B,IAAI,CAAC;UACRpC,GAAG,EAAE,GAAG6I,SAAS,CAAC2B,IAAI,CAAA,KAAA,EAAQ3I,SAAS,CAAA,CAAA,EAAIE,SAAS,CAAA,CAAE;UACtDH,aAAa,EAAEiH,SAAS,CAAC2B,IAAI;UAC7B3I,SAAS;UACTC,SAAS;UACTC,SAAS;UACTC,YAAY,EAAE+J,UAAU,CAACK,QAAQ;UACjClK,QAAQ,EAAE6J,UAAU,CAACI,iBAAiB;UACtCE,cAAc,EAAEC,SAAS,CAACP,UAAU,CAACQ,SAAS,EAAEF,cAAc,IAAI,EAAE,CAAC;UACrEG,SAAS,EAAEF,SAAS,CAACP,UAAU,CAACQ,SAAS,EAAEC,SAAS,IAAI,EAAE,CAAC;AAC3DC,UAAAA,SAAS,EAAEC,SAAS,CAACX,UAAU,CAACU,SAAS,CAAC;AAC1CE,UAAAA,QAAQ,EAAED,SAAS,CAACX,UAAU,CAACY,QAAQ,CAAC;AACxCC,UAAAA,IAAI,EAAEF,SAAS,CAACX,UAAU,CAACa,IAAI,CAAC;UAChCC,SAAS,EAAEP,SAAS,CAACP,UAAU,CAACc,SAAS,IAAI,EAAE,CAAC;AAChD;AACA;AACA;UACArK,aAAa,EAAEsK,6BAA6B,CAACJ,SAAS,CAACX,UAAU,CAACU,SAAS,CAAC,CAAC;AAC7E;AACA;AACA;AACAhK,UAAAA,kBAAkB,EAAEsK,2BAA2B,CAACL,SAAS,CAACX,UAAU,CAACY,QAAQ,CAAC,EAAED,SAAS,CAACX,UAAU,CAACU,SAAS,CAAC,CAAC;UAChHvL,WAAW,EAAE8L,yBAAyB,CAACN,SAAS,CAACX,UAAU,CAACU,SAAS,CAAC;AAC1E,SAAC,CAAC;AACN,MAAA;MAEA,IAAI,CAAC5L,SAAS,CAACQ,KAAK,IAAIuK,kBAAkB,KAAK,CAAC,EAChD;QACI7K,MAAM,CAACqB,IAAI,CAAC,CAAA,EAAGyG,SAAS,CAAC2B,IAAI,CAAA,KAAA,EAAQ3I,SAAS,CAAA,0BAAA,CAA4B,CAAC;AAC/E,MAAA;AACJ,IAAA;AACJ,EAAA;EAEA,OAAO;IAAEvB,MAAM;AAAES,IAAAA;GAAQ;AAC7B;;AAEA;AACA,MAAMkM,iBAAiB,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAE,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,CAAE,CAAC;;AAEhG;AACA,MAAMC,mBAAmB,GAAGF,MAAM,CAACC,MAAM,CAAC,CAAE,MAAM,EAAE,MAAM,CAAE,CAAC;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA,SAASzD,yBAAyBA,CAACI,KAAK,EACxC;AACI,EAAA,MAAMuD,IAAI,GAAGvD,KAAK,KAAKhB,SAAS,IAAIgB,KAAK,KAAK,IAAI,GAAG,MAAM,GAAGnB,MAAM,CAACmB,KAAK,CAAC;AAC3E,EAAA,IAAI,CAACsD,mBAAmB,CAACjE,QAAQ,CAACkE,IAAI,CAAC,EACvC;AACI,IAAA,MAAM,IAAI5E,SAAS,CACf,CAAA,yCAAA,EAA4C2E,mBAAmB,CAACnM,IAAI,CAAC,IAAI,CAAC,CAAA,OAAA,EAAUoM,IAAI,GAC5F,CAAC;AACL,EAAA;AACA,EAAA,OAAOA,IAAI;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,0BAA0BA,CAACC,IAAI,EAAEC,cAAc,EAAEC,WAAW,EACrE;EACI,IAAIA,WAAW,KAAK,MAAM,IAAID,cAAc,KAAK,MAAM,EAAE,OAAO,IAAI;EACpE,IAAI,CAACxE,MAAM,CAACe,SAAS,CAACwD,IAAI,EAAEG,eAAe,CAAC,EAAE,OAAO,IAAI;EACzD,OAAO;AAAEC,IAAAA,wBAAwB,EAAE,CAAEJ,IAAI,CAACG,eAAe;GAAI;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASlE,uBAAuBA,CAACM,KAAK,EACtC;EACI,IAAIA,KAAK,KAAKhB,SAAS,IAAIgB,KAAK,KAAK,IAAI,EAAE,OAAO,MAAM;AAExD,EAAA,MAAMuD,IAAI,GAAG1E,MAAM,CAACmB,KAAK,CAAC;AAC1B,EAAA,IAAI,CAACmD,iBAAiB,CAAC9D,QAAQ,CAACkE,IAAI,CAAC,EACrC;AACI,IAAA,MAAM,IAAI5E,SAAS,CACf,CAAA,wCAAA,EAA2CwE,iBAAiB,CAAChM,IAAI,CAAC,IAAI,CAAC,CAAA,OAAA,EAAUoM,IAAI,GACzF,CAAC;AACL,EAAA;AACA,EAAA,OAAOA,IAAI;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASO,wBAAwBA,CAACL,IAAI,EAAEF,IAAI,EAC5C;EACI,IAAI,CAACE,IAAI,IAAIF,IAAI,KAAK,MAAM,EAAE,OAAO,IAAI;EAEzC,IAAIA,IAAI,KAAK,MAAM,EACnB;AACI;AACA;AACA;IACA,OAAO;MAAEQ,qBAAqB,EAAEN,IAAI,CAACf;KAAW;AACpD,EAAA;EAEA,IAAIa,IAAI,KAAK,gBAAgB,EAC7B;IACI,OAAO;AACHS,MAAAA,kBAAkB,EAAE;QAChBC,aAAa,EAAER,IAAI,CAACQ,aAAa;QACjCC,YAAY,EAAET,IAAI,CAACS,YAAY;QAC/BN,eAAe,EAAEH,IAAI,CAACG,eAAe;QACrCO,aAAa,EAAEV,IAAI,CAACQ,aAAa;AACjCvD,QAAAA,IAAI,EAAE,sBAAsB;AAC5B0D,QAAAA,aAAa,EAAE;AACnB;KACH;AACL,EAAA;EAEA,IAAIb,IAAI,KAAK,iBAAiB,EAC9B;AACI;AACA;AACA;IACA,OAAO;AACHc,MAAAA,mBAAmB,EAAE;QACjBJ,aAAa,EAAER,IAAI,CAACQ,aAAa;QACjCC,YAAY,EAAET,IAAI,CAACS,YAAY;QAC/BN,eAAe,EAAEH,IAAI,CAACG,eAAe;AACrCO,QAAAA,aAAa,EAAE,CAAC;AAChBzD,QAAAA,IAAI,EAAE,KAAK;AACX4D,QAAAA,QAAQ,EAAE;AACd;KACH;AACL,EAAA;AAEA,EAAA,MAAM,IAAIxP,KAAK,CAAC,CAAA,mCAAA,EAAsCyO,IAAI,GAAG,CAAC;AAClE;AAEA,SAAS1K,eAAeA,CAACnD,SAAS,EAAED,QAAQ,EAAEzB,MAAM,EACpD;AACI,EAAA,MAAMuQ,QAAQ,GAAGA,CAACpL,MAAM,EAAEqL,YAAY,KACtC;IACI,IACA;AACI,MAAA,MAAMC,cAAc,GAAGjB,0BAA0B,CAC7CrK,MAAM,CAAC/B,WAAW,EAClBpD,MAAM,CAACoD,WAAW,EAClBpD,MAAM,CAAC2L,YACX,CAAC;AACD;AACA;AACA;MACA,IAAI8E,cAAc,EAAEtL,MAAM,CAACuL,mBAAmB,GAAGvL,MAAM,CAAC/B,WAAW;MAEnE,MAAMuN,gBAAgB,GAAInE,QAAQ,IAAKoE,mBAAmB,CAACzL,MAAM,CAACV,KAAK,EAAE;QACrE,GAAGzE,MAAM,CAACsL,cAAc;QACxB3K,MAAM,EAAE,GAAGX,MAAM,CAACW,MAAM,CAAA,CAAA,EAAIwE,MAAM,CAACZ,aAAa,CAAA,CAAE;QAClD,IAAIiM,YAAY,EAAEtN,MAAM,GAAG;AAAEsN,UAAAA;SAAc,GAAG,EAAE,CAAC;QACjD,IAAIhE,QAAQ,CAACtJ,MAAM,GACb;AACE2N,UAAAA,oBAAoB,EAAErE,QAAQ,CAACtH,GAAG,CAAEuK,IAAI,KAAM;YAC1CqB,IAAI,EAAErB,IAAI,CAACqB,IAAI;YACfC,MAAM,EAAEtB,IAAI,CAACsB,MAAM;YACnBC,UAAU,EAAEvB,IAAI,CAACuB,UAAU;YAC3BtC,SAAS,EAAEe,IAAI,CAACf;AACpB,WAAC,CAAC;SACL,GACC,EAAE,CAAC;QACT,IAAIvJ,MAAM,CAACR,kBAAkB,GACvB;UAAEA,kBAAkB,EAAEQ,MAAM,CAACR;SAAoB,GACjD,EAAE,CAAC;AACT,QAAA,IAAImL,wBAAwB,CAAC3K,MAAM,CAAC/B,WAAW,EAAEpD,MAAM,CAACoD,WAAW,CAAC,IAAI,EAAE,CAAC;QAC3E,IAAIqN,cAAc,IAAI,EAAE;AAC5B,OAAC,CAAC;;AAEF;AACA;AACA;AACA;AACAtL,MAAAA,MAAM,CAAC8L,uBAAuB,KAAK9L,MAAM,CAACT,aAAa,IAAI,EAAE;MAE7D,MAAM;QAAE6H,MAAM;AAAE7H,QAAAA;AAAc,OAAC,GAAG0H,oBAAoB,CAClDuE,gBAAgB,EAChBxL,MAAM,CAAC8L,uBAAuB,EAC9BjR,MAAM,CAAC6L,iBACX,CAAC;;AAED;AACA;MACA1G,MAAM,CAACT,aAAa,GAAGA,aAAa;AACpC,MAAA,MAAMwM,cAAc,GAAGC,gCAAgC,CACnD5E,MAAM,EACNpH,MACJ,CAAC;MAEDA,MAAM,CAAC1E,IAAI,GAAG;AACV,QAAA,GAAG8L,MAAM;QACT5L,MAAM,EAAEuQ,cAAc,CAACvQ,MAAM;QAC7ByQ,MAAM,EAAEF,cAAc,CAACE;OAC1B;AACDjM,MAAAA,MAAM,CAACxE,MAAM,GAAGuQ,cAAc,CAACvQ,MAAM;AACrCwE,MAAAA,MAAM,CAACkM,QAAQ,GAAG9E,MAAM,CAAC8E,QAAQ;AACjClM,MAAAA,MAAM,CAAC+I,WAAW,GAAGgD,cAAc,CAACE,MAAM;AAC1CjM,MAAAA,MAAM,CAACmM,YAAY,GAAG/E,MAAM,CAACgF,OAAO;AACpCpM,MAAAA,MAAM,CAACqM,YAAY,GAAGjF,MAAM,CAACkF,QAAQ;MACrCtM,MAAM,CAAC8B,UAAU,GAAG,iBAAiB;MACrC9B,MAAM,CAACM,UAAU,GAAG;AAAEC,QAAAA,EAAE,EAAE,IAAI;AAAE6J,QAAAA,IAAI,EAAE;OAAc;AAEpD,MAAA,IAAIhD,MAAM,CAACtI,SAAS,KAAK,SAAS,EAClC;AACIkB,QAAAA,MAAM,CAACuM,eAAe,GAAGnF,MAAM,CAACmF,eAAe;AACnD,MAAA;AAEA,MAAA,MAAMC,KAAK,GAAGC,wBAAwB,CAACzM,MAAM,CAAC;AAE9C,MAAA,IAAIwM,KAAK,EACT;QACIxM,MAAM,CAACM,UAAU,GAAG;AAAEC,UAAAA,EAAE,EAAE,KAAK;AAAEmM,UAAAA,eAAe,EAAEF;SAAO;QACzDxM,MAAM,CAACxE,MAAM,GAAG,IAAI;AACxB,MAAA;IACJ,CAAC,CACD,OAAO2B,KAAK,EACZ;MACI,MAAMwP,OAAO,GAAGxP,KAAK,EAAEwP,OAAO,IAAIjH,MAAM,CAACvI,KAAK,CAAC;MAE/C6C,MAAM,CAACM,UAAU,GAAG;AAChBC,QAAAA,EAAE,EAAE,KAAK;AACTpD,QAAAA,KAAK,EAAEwP,OAAO;AACdC,QAAAA,OAAO,EAAEzP,KAAK,EAAEyP,OAAO,IAAI;OAC9B;AAED,MAAA,IAAI,kDAAkD,CAACC,IAAI,CAACF,OAAO,CAAC,EACpE;QACI3M,MAAM,CAACQ,QAAQ,GAAG;AACdsM,UAAAA,MAAM,EAAEH,OAAO;AACf,UAAA,IAAIxP,KAAK,EAAEyP,OAAO,EAAEG,UAAU,GACxB;AAAEA,YAAAA,UAAU,EAAE5P,KAAK,CAACyP,OAAO,CAACG;WAAY,GACxC,EAAE,CAAC;AACT,UAAA,IAAI5P,KAAK,EAAEyP,OAAO,EAAEI,aAAa,GAC3B;AAAEA,YAAAA,aAAa,EAAE7P,KAAK,CAACyP,OAAO,CAACI;WAAe,GAC9C,EAAE;SACX;AACL,MAAA;AACJ,IAAA;EACJ,CAAC;EAED,KAAK,MAAMhN,MAAM,IAAIzD,SAAS,CAAC1B,MAAM,EAAE,EACvC;AACI,IAAA,IAAImF,MAAM,CAAClB,SAAS,KAAK,QAAQ,EACjC;AACIsM,MAAAA,QAAQ,CAACpL,MAAM,EAAE,IAAI,CAAC;AAC1B,IAAA;AACJ,EAAA;AAEA,EAAA,MAAMiN,mBAAmB,GAAG,IAAI5Q,GAAG,EAAE;EAErC,KAAK,MAAM+B,KAAK,IAAI9B,QAAQ,CAACzB,MAAM,EAAE,EACrC;AACI,IAAA,IAAIuD,KAAK,CAACU,SAAS,KAAK,OAAO,EAC/B;AACI,MAAA;AACJ,IAAA;IAEA,MAAMkB,MAAM,GAAGzD,SAAS,CAAC2Q,GAAG,CAAC9O,KAAK,CAACE,SAAS,CAAC;AAE7C,IAAA,IAAI,CAAC0B,MAAM,EAAE1E,IAAI,EACjB;AACI,MAAA;AACJ,IAAA;AAEA2R,IAAAA,mBAAmB,CAACnQ,GAAG,CACnB,CAAA,EAAGsB,KAAK,CAAC1B,OAAO,CAAA,CAAA,EAAI0B,KAAK,CAACO,aAAa,CAAA,CAAA,EAAIP,KAAK,CAACQ,SAAS,CAAA,CAAE,EAC5DoB,MAAM,CAAC1E,IAAI,CAAC2Q,MAAM,CACb5L,MAAM,CAAE1F,KAAK,IAAK,OAAOA,KAAK,CAAC4M,IAAI,KAAK,QAAQ,IAC1C5M,KAAK,CAAC4M,IAAI,CAAC4F,UAAU,CAAC,MAAM,CAAC,CAAC,CACpCpN,GAAG,CAAEpF,KAAK,IAAKA,KAAK,CAACyS,QAAQ,CAAC,CAC9BC,IAAI,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAKD,IAAI,GAAGC,KAAK,CAC3C,CAAC;AACL,EAAA;EAEA,KAAK,MAAMnP,KAAK,IAAI9B,QAAQ,CAACzB,MAAM,EAAE,EACrC;AACI,IAAA,IAAIuD,KAAK,CAACU,SAAS,KAAK,QAAQ,EAChC;AACI,MAAA;AACJ,IAAA;IAEA,MAAMkB,MAAM,GAAGzD,SAAS,CAAC2Q,GAAG,CAAC9O,KAAK,CAACE,SAAS,CAAC;IAC7C,MAAMkP,QAAQ,GAAGP,mBAAmB,CAACC,GAAG,CACpC,CAAA,EAAG9O,KAAK,CAAC1B,OAAO,IAAI0B,KAAK,CAACO,aAAa,CAAA,CAAA,EAAIP,KAAK,CAACQ,SAAS,CAAA,CAC9D,CAAC,IAAI,EAAE;AAEP,IAAA,IAAIoB,MAAM,EACV;MACIA,MAAM,CAACqL,YAAY,GAAGmC,QAAQ;AAC9BpC,MAAAA,QAAQ,CAACpL,MAAM,EAAEwN,QAAQ,CAAC;AAC9B,IAAA;AACJ,EAAA;AACJ;AAEA,SAASnE,SAASA,CAACxC,KAAK,EACxB;AACI,EAAA,IAAIA,KAAK,KAAKhB,SAAS,IAAIgB,KAAK,KAAK,IAAI,EACzC;AACI,IAAA,OAAOA,KAAK;AAChB,EAAA;EAEA,OAAO5D,IAAI,CAACwK,KAAK,CAACxK,IAAI,CAACC,SAAS,CAAC2D,KAAK,CAAC,CAAC;AAC5C;AAEA,SAAS4C,SAASA,CAAC1J,GAAG,EACtB;AACI;AACA;AACA,EAAA,IAAI,EAAEA,GAAG,YAAY1D,GAAG,CAAC,EACzB;AACI,IAAA,MAAM,IAAImJ,SAAS,CAAC,wCAAwC,CAAC;AACjE,EAAA;AAEA,EAAA,OAAO5F,KAAK,CAACC,IAAI,CAACE,GAAG,CAAC2N,OAAO,EAAE,CAAC,CAAC3N,GAAG,CAAC,CAAC,CAAEiL,aAAa,EAAEnE,KAAK,CAAE,MAAM;IAChEmE,aAAa;IACb,GAAG3B,SAAS,CAACxC,KAAK;AACtB,GAAC,CAAC,CAAC;AACP;AAEA,SAASrI,kBAAkBA,CAACJ,KAAK,EACjC;EACI,MAAMgL,cAAc,GAAGC,SAAS,CAACjL,KAAK,CAACgL,cAAc,IAAI,EAAE,CAAC;AAC5D,EAAA,MAAMuE,cAAc,GAAGvE,cAAc,CAACrJ,GAAG,CAAEpF,KAAK,KAAM;AAClDiT,IAAAA,QAAQ,EAAE,CAAA,EAAGjT,KAAK,CAACkT,SAAS,IAAI,CAAA,MAAA,EAASlT,KAAK,CAACmT,KAAK,EAAE,CAAA,EAAGnT,KAAK,CAACoT,UAAU,IAAI,EAAE,CAAA,CAAE;IACjFD,KAAK,EAAEnT,KAAK,CAACmT,KAAK;IAClBD,SAAS,EAAElT,KAAK,CAACkT,SAAS;IAC1BE,UAAU,EAAEpT,KAAK,CAACoT,UAAU;IAC5B/C,aAAa,EAAErQ,KAAK,CAACqQ,aAAa;IAClCgD,QAAQ,EAAErT,KAAK,CAACqT,QAAQ;IACxBC,IAAI,EAAEtT,KAAK,CAACsT,IAAI;IAChBC,SAAS,EAAEvT,KAAK,CAACuT;AACrB,GAAC,CAAC,CAAC;AACH,EAAA,MAAMC,UAAU,GAAG,IAAIC,GAAG,CAACT,cAAc,CAAC5N,GAAG,CAAEpF,KAAK,IAAKA,KAAK,CAACkT,SAAS,CAAC,CAAC;AAC1E,EAAA,MAAMQ,SAAS,GAAGF,UAAU,CAAC1R,GAAG,CAAC,QAAQ,CAAC;AAC1C,EAAA,MAAM6R,UAAU,GAAGH,UAAU,CAAC1R,GAAG,CAAC,SAAS,CAAC;AAC5C,EAAA,MAAM8R,WAAW,GAAGJ,UAAU,CAAC1R,GAAG,CAAC,UAAU,CAAC,IAAI0R,UAAU,CAAC1R,GAAG,CAAC,WAAW,CAAC;AAC7E,EAAA,MAAM+R,eAAe,GAAGL,UAAU,CAAC1R,GAAG,CAAC,cAAc,CAAC,IAC/C0R,UAAU,CAAC1R,GAAG,CAAC,aAAa,CAAC;EACpC,IAAIgS,eAAe,GAAG,MAAM;AAE5B,EAAA,IAAIJ,SAAS,IAAIC,UAAU,IAAIC,WAAW,EAC1C;AACIE,IAAAA,eAAe,GAAG,WAAW;AACjC,EAAA,CAAC,MACI,IAAI,CAACJ,SAAS,IAAIC,UAAU,EACjC;AACIG,IAAAA,eAAe,GAAG,gCAAgC;AACtD,EAAA,CAAC,MACI,IAAIJ,SAAS,IAAIC,UAAU,IAAIC,WAAW,EAC/C;AACIE,IAAAA,eAAe,GAAG,aAAa;AACnC,EAAA;EAEA,MAAMjF,SAAS,GAAGH,SAAS,CAACjL,KAAK,CAACoL,SAAS,IAAI,EAAE,CAAC;EAClD,MAAME,QAAQ,GAAGL,SAAS,CAACjL,KAAK,CAACsL,QAAQ,IAAI,EAAE,CAAC;EAChD,MAAMC,IAAI,GAAGN,SAAS,CAACjL,KAAK,CAACuL,IAAI,IAAI,EAAE,CAAC;EACxC,MAAMC,SAAS,GAAGP,SAAS,CAACjL,KAAK,CAACwL,SAAS,IAAI,EAAE,CAAC;AAClD,EAAA,MAAM8E,aAAa,GAAGlF,SAAS,CAACzJ,GAAG,CAAE4O,KAAK,IAAKA,KAAK,CAACpH,IAAI,CAAC,CAAClH,MAAM,CAACuO,OAAO,CAAC;EAE1E,OAAO;IACH9P,SAAS,EAAEV,KAAK,CAACU,SAAS;IAC1BD,SAAS,EAAET,KAAK,CAACS,SAAS;AAC1BgQ,IAAAA,MAAM,EAAEzQ,KAAK,CAACU,SAAS,KAAK,QAAQ,GAAG;AACnCmN,MAAAA,MAAM,EAAE0B,cAAc;MACtBc,eAAe;MACfK,gBAAgB,EAAEL,eAAe,KAAK,WAAW;MACjDM,qBAAqB,EAAEN,eAAe,KAAK,gCAAgC;MAC3EO,gBAAgB,EAAER,eAAe,IAAIE,aAAa,CAACxI,QAAQ,CAAC,gBAAgB,CAAC;AAC7EsI,MAAAA;AACJ,KAAC,GAAG,IAAI;AACRS,IAAAA,cAAc,EAAEC,sBAAsB,CAACR,aAAa,CAAC;IACrDS,eAAe,EAAE,CAAC/Q,KAAK,CAACmL,SAAS,IAAI,EAAE,EAClClJ,MAAM,CAAEsO,KAAK,IAAKA,KAAK,CAACS,YAAY,KAAK,CAAC,CAAC,CAC3CrP,GAAG,CAAE4O,KAAK,KAAM;MACb3D,aAAa,EAAE2D,KAAK,CAAC3D,aAAa;MAClCqE,aAAa,EAAEV,KAAK,CAACU,aAAa;MAClCC,aAAa,EAAEX,KAAK,CAACW,aAAa;MAClCC,UAAU,EAAEZ,KAAK,CAACY,UAAU;AAC5BC,MAAAA,OAAO,EAAEZ,OAAO,CAACD,KAAK,CAACa,OAAO;AAClC,KAAC,CAAC,CAAC;IACPhG,SAAS;IACTE,QAAQ;IACRC,IAAI;AACJC,IAAAA;GACH;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM6F,mBAAmB,GAAG,uBAAuB;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS3F,2BAA2BA,CAACJ,QAAQ,EAAEF,SAAS,EACxD;EACI,MAAMkG,YAAY,GAAG,EAAE;AAEvB,EAAA,KAAK,MAAMf,KAAK,IAAIjF,QAAQ,IAAI,EAAE,EAClC;AACI,IAAA,MAAMsB,aAAa,GAAG2D,KAAK,EAAE3D,aAAa;IAC1C,MAAM2E,OAAO,GAAGhB,KAAK,EAAE9H,KAAK,EAAE8I,OAAO,IAAIhB,KAAK,EAAEgB,OAAO;IAEvD,IAAI,CAAC5J,MAAM,CAACe,SAAS,CAACkE,aAAa,CAAC,IAAI,CAAC2E,OAAO,EAAE;AAElD,IAAA,MAAMC,CAAC,GAAGD,OAAO,CAACE,QAAQ;AAC1B,IAAA,MAAMC,CAAC,GAAGH,OAAO,CAACI,QAAQ;AAC1B,IAAA,MAAMC,CAAC,GAAGL,OAAO,CAACM,QAAQ;AAC1B;AACA;IACA,IAAI,CAAEL,CAAC,EAAEE,CAAC,EAAEE,CAAC,CAAE,CAACE,IAAI,CAAEC,CAAC,IAAKA,CAAC,KAAK,CAAC,IAAIA,CAAC,KAAK,CAAC,CAAC,EAC/C;MACIT,YAAY,CAAC1E,aAAa,CAAC,GAAG;QAAE4E,CAAC;QAAEE,CAAC;AAAEE,QAAAA;OAAG;AAC7C,IAAA;AACJ,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,MAAMI,QAAQ,GAAG,EAAE;AAEnB,EAAA,KAAK,MAAMzB,KAAK,IAAInF,SAAS,IAAI,EAAE,EACnC;AACI,IAAA,MAAMwB,aAAa,GAAG2D,KAAK,EAAE3D,aAAa;AAC1C,IAAA,MAAMzD,IAAI,GAAGoH,KAAK,EAAEpH,IAAI,IAAIoH,KAAK,EAAE9H,KAAK,EAAEU,IAAI,IAAI,EAAE;AAEpD,IAAA,IAAIxB,MAAM,CAACe,SAAS,CAACkE,aAAa,CAAC,IAAIyE,mBAAmB,CAAC5C,IAAI,CAACtF,IAAI,CAAC,EACrE;MACI6I,QAAQ,CAACjR,IAAI,CAAC;AAAE6L,QAAAA;AAAc,OAAC,CAAC;AACpC,IAAA;AACJ,EAAA;AAEA,EAAA,IAAI,CAACf,MAAM,CAACoG,IAAI,CAACX,YAAY,CAAC,CAAC3R,MAAM,IAAI,CAACqS,QAAQ,CAACrS,MAAM,EAAE,OAAO,IAAI;EAEtE,OAAO;IAAE2R,YAAY;IAAE,IAAIU,QAAQ,CAACrS,MAAM,GAAG;AAAEqS,MAAAA;KAAU,GAAG,EAAE;GAAG;AACrE;AAEA,SAASlB,sBAAsBA,CAACoB,KAAK,EACrC;AACI,EAAA,MAAMzV,MAAM,GAAG,IAAIuT,GAAG,CAACkC,KAAK,CAAC;AAE7B,EAAA,IAAI,CAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAE,CAACJ,IAAI,CAAE3I,IAAI,IAAK1M,MAAM,CAAC4B,GAAG,CAAC8K,IAAI,CAAC,CAAC,EACpE;AACI,IAAA,OAAO,iBAAiB;AAC5B,EAAA;EAEA,IAAI,CAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EACzD,OAAO,EAAE,cAAc,CAAE,CAAC2I,IAAI,CAAE3I,IAAI,IAAK1M,MAAM,CAAC4B,GAAG,CAAC8K,IAAI,CAAC,CAAC,EAC9D;AACI,IAAA,OAAO,mBAAmB;AAC9B,EAAA;AAEA,EAAA,OAAO,SAAS;AACpB;AAEA,SAASpH,oBAAoBA,CAACV,SAAS,EACvC;EACI,MAAM8Q,KAAK,GAAG9Q,SAAS,GAAG,CAAC,CAAC,EAAElB,QAAQ,IAAI,IAAI;EAE9C,IAAI,CAACgS,KAAK,EACV;AACI,IAAA,OAAO,IAAI;AACf,EAAA;EAEA,OAAO;IACHzR,SAAS,EAAEyR,KAAK,CAACzR,SAAS;IAC1BD,SAAS,EAAE0R,KAAK,CAAC1R,SAAS;AAC1BgQ,IAAAA,MAAM,EAAE0B,KAAK,CAAC1B,MAAM,GAAGxF,SAAS,CAACkH,KAAK,CAAC1B,MAAM,CAAC,GAAG,IAAI;IACrDI,cAAc,EAAEsB,KAAK,CAACtB,cAAc;IACpCE,eAAe,EAAE9F,SAAS,CAACkH,KAAK,CAACpB,eAAe,IAAI,EAAE,CAAC;IACvDT,aAAa,EAAE,CAAC6B,KAAK,CAAC/G,SAAS,IAAI,EAAE,EAAEzJ,GAAG,CAAE4O,KAAK,IAAKA,KAAK,CAACpH,IAAI,CAAC,CAAClH,MAAM,CAACuO,OAAO,CAAC;IACjF4B,YAAY,EAAE,CAACD,KAAK,CAAC7G,QAAQ,IAAI,EAAE,EAAE3J,GAAG,CAAE4O,KAAK,IAAKA,KAAK,CAACpH,IAAI,CAAC,CAAClH,MAAM,CAACuO,OAAO,CAAC;IAC/E6B,kBAAkB,EAAEhR,SAAS,CAAC1B;GACjC;AACL;AAEA,SAASiO,gCAAgCA,CAAC5E,MAAM,EAAEsJ,YAAY,EAC9D;AACI,EAAA,IAAIA,YAAY,EAAE5R,SAAS,KAAK,QAAQ,EACxC;IACI,OAAO;MACHtD,MAAM,EAAE4L,MAAM,CAAC5L,MAAM;MACrByQ,MAAM,EAAE7E,MAAM,CAAC6E;KAClB;AACL,EAAA;EAEA,MAAM0E,kBAAkB,GAAG,IAAIvC,GAAG,CAAC,CAACsC,YAAY,CAACjR,SAAS,IAAI,EAAE,EAC3DmR,OAAO,CAAEjC,KAAK,IAAKA,KAAK,CAACpQ,QAAQ,EAAEsQ,MAAM,EAAE5C,MAAM,IAAI,EAAE,CAAC,CACxD5L,MAAM,CAAE1F,KAAK,IAAKA,KAAK,CAACkT,SAAS,KAAK,WAAW,CAAC,CAClD9N,GAAG,CAAEpF,KAAK,IAAKA,KAAK,CAACqQ,aAAa,CAAC,CAAC;AACzC,EAAA,IAAIxP,MAAM,GAAG4L,MAAM,CAAC5L,MAAM;EAC1B,MAAMyQ,MAAM,GAAG7E,MAAM,CAAC6E,MAAM,CAAClM,GAAG,CAAEpF,KAAK,IACvC;AACI,IAAA,IAAI,CAACgW,kBAAkB,CAAClU,GAAG,CAAC9B,KAAK,CAACyS,QAAQ,CAAC,IACpCzS,KAAK,CAACkW,YAAY,KAAK,UAAU,EACxC;AACI,MAAA,OAAOlW,KAAK;AAChB,IAAA;AACA,IAAA,MAAM4M,IAAI,GAAG,CAAA,YAAA,EAAe5M,KAAK,CAACmW,aAAa,CAAA,CAAE;IACjDtV,MAAM,GAAGA,MAAM,CAACuV,UAAU,CAACpW,KAAK,CAAC4M,IAAI,EAAEA,IAAI,CAAC;IAC5C,OAAO;AACH,MAAA,GAAG5M,KAAK;MACR4M,IAAI;AACJsJ,MAAAA,YAAY,EAAE;KACjB;AACL,EAAA,CAAC,CAAC;EACF,OAAO;IAAErV,MAAM;AAAEyQ,IAAAA;GAAQ;AAC7B;AAEA,SAASQ,wBAAwBA,CAACzM,MAAM,EACxC;AACI,EAAA,MAAMxE,MAAM,GAAGwE,MAAM,EAAExE,MAAM,IAAI,EAAE;EAEnC,IAAI,CAACA,MAAM,EACX;AACI,IAAA,OAAO,IAAI;AACf,EAAA;AAEA,EAAA,MAAMwV,eAAe,GAAG,kBAAkB,CAACnE,IAAI,CAACrR,MAAM,CAAC;EACvD,MAAMyV,kBAAkB,GAAG,mDAAmD,CAACpE,IAAI,CAACrR,MAAM,CAAC,IACpF,2DAA2D,CAACqR,IAAI,CAACrR,MAAM,CAAC,IACxE,sBAAsB,CAACqR,IAAI,CAACrR,MAAM,CAAC;AAC1C,EAAA,MAAM0V,iBAAiB,GAAG,0DAA0D,CAACrE,IAAI,CAACrR,MAAM,CAAC,IAC1F,mBAAmB,CAACqR,IAAI,CAACrR,MAAM,CAAC;EAEvC,IAAIwE,MAAM,CAAClB,SAAS,KAAK,QAAQ,IAAI,CAACkS,eAAe,EACrD;AACI,IAAA,OAAO,gDAAgD;AAC3D,EAAA;AAEA,EAAA,IAAIhR,MAAM,CAAClB,SAAS,KAAK,OAAO,KACxBkS,eAAe,IAAIC,kBAAkB,CAAC,IAAI,CAACC,iBAAiB,EACpE;AACI,IAAA,OAAO,2CAA2C;AACtD,EAAA;AAEA,EAAA,IAAIlR,MAAM,CAAClB,SAAS,KAAK,SAAS,IAAI,CAAC,wBAAwB,CAAC+N,IAAI,CAACrR,MAAM,CAAC,EAC5E;AACI,IAAA,OAAO,uDAAuD;AAClE,EAAA;AAEA,EAAA,OAAO,IAAI;AACf;AAEA,SAASK,uBAAuBA,CAAChB,MAAM,EACvC;AACI,EAAA,MAAMsW,QAAQ,GAAGtW,MAAM,CAACe,cAAc;AAEtC,EAAA,IAAIuV,QAAQ,KAAK,IAAI,KACb,CAACA,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIvR,KAAK,CAAC2F,OAAO,CAAC4L,QAAQ,CAAC,CAAC,EAC7E;AACI,IAAA,MAAM,IAAI3L,SAAS,CAAC,+CAA+C,CAAC;AACxE,EAAA;AAEA,EAAA,MAAM3D,MAAM,GAAGuP,WAAW,CAACvW,MAAM,CAACQ,WAAW,CAAC;AAC9C,EAAA,IAAI8V,QAAQ,EAAEtP,MAAM,KAAKgE,SAAS,IAAIsL,QAAQ,EAAEtP,MAAM,KAAK,IAAI,IACxDsP,QAAQ,CAACtP,MAAM,KAAKA,MAAM,EACjC;AACI,IAAA,MAAM,IAAIlG,KAAK,CACX,gFACJ,CAAC;AACL,EAAA;EAEA,OAAO;AACH0V,IAAAA,QAAQ,EAAEF,QAAQ,EAAEE,QAAQ,IAAIxW,MAAM,CAACW,MAAM;AAC7C8V,IAAAA,WAAW,EAAEH,QAAQ,EAAEG,WAAW,IAAIzW,MAAM,CAACW,MAAM;AACnD+V,IAAAA,IAAI,EAAEJ,QAAQ,EAAEI,IAAI,IAAI,IAAI;AAC5BC,IAAAA,MAAM,EAAEL,QAAQ,EAAEK,MAAM,IAAI,IAAI;IAChCC,KAAK,EAAEN,QAAQ,EAAEM,KAAK,KAAK5L,SAAS,IAAIsL,QAAQ,EAAEM,KAAK,KAAK,IAAI,GAC1D,IAAI,GACJ/L,MAAM,CAACyL,QAAQ,CAACM,KAAK,CAAC;AAC5BhQ,IAAAA,UAAU,EAAE5G,MAAM,CAACQ,WAAW,CAACoG,UAAU;AACzCE,IAAAA,GAAG,EAAEwP,QAAQ,EAAExP,GAAG,IAAI,IAAI;AAC1BE,IAAAA;GACH;AACL;AAEA,SAASgD,oBAAoBA,CAAC;EAC1B/D,IAAI;EACJuD,QAAQ;EACRI,IAAI;EACJrE,aAAa;EACbK,eAAe;EACfC,YAAY;EACZC,kBAAkB;AAClBE,EAAAA;AACJ,CAAC,EACD;EACI,MAAM/C,MAAM,GAAG,EAAE;EAEjB,IAAIgD,IAAI,CAACC,MAAM,KAAK,cAAc,IAAI0D,IAAI,CAAC1D,MAAM,KAAK,uBAAuB,EAC7E;AACIjD,IAAAA,MAAM,CAACqB,IAAI,CAAC,uCAAuC,CAAC;AACxD,EAAA;AAEA,EAAA,IAAI,CAACS,KAAK,CAAC2F,OAAO,CAAClB,QAAQ,CAACpI,QAAQ,CAAC,IAAI,CAAC2D,KAAK,CAAC2F,OAAO,CAACd,IAAI,CAACE,OAAO,CAAC,EACrE;AACI7G,IAAAA,MAAM,CAACqB,IAAI,CAAC,mCAAmC,CAAC;AACpD,EAAA;EAEA,IAAIiB,aAAa,CAACrC,MAAM,EACxB;IACID,MAAM,CAACqB,IAAI,CAAC,CAAA,EAAGiB,aAAa,CAACrC,MAAM,+BAA+B,CAAC;AACvE,EAAA;EAEA,IAAI0C,eAAe,CAAC1C,MAAM,EAC1B;IACID,MAAM,CAACqB,IAAI,CAAC,CAAA,EAAGsB,eAAe,CAAC1C,MAAM,wCAAwC,CAAC;AAClF,EAAA;EAEA,IAAI2C,YAAY,CAAC3C,MAAM,EACvB;IACID,MAAM,CAACqB,IAAI,CAAC,CAAA,EAAGuB,YAAY,CAAC3C,MAAM,4BAA4B,CAAC;AACnE,EAAA;AAEA,EAAA,IAAI4C,kBAAkB,CAACmD,gBAAgB,CAAC/F,MAAM,EAC9C;IACID,MAAM,CAACqB,IAAI,CAAC,CAAA,EAAGwB,kBAAkB,CAACmD,gBAAgB,CAAC/F,MAAM,CAAA,+BAAA,CAAiC,CAAC;AAC/F,EAAA;EAEA,IAAI,CAAC8C,oBAAoB,EACzB;AACI/C,IAAAA,MAAM,CAACqB,IAAI,CAAC,qCAAqC,CAAC;AACtD,EAAA;EAEA,OAAO;AACHoB,IAAAA,EAAE,EAAEzC,MAAM,CAACC,MAAM,KAAK,CAAC;AACvB2T,IAAAA,KAAK,EAAE5T,MAAM,CAACC,MAAM,GAAG,YAAY,GAAG,YAAY;AAClDD,IAAAA,MAAM,EAAEA,MAAM;IACdgG,gBAAgB,EAAEnD,kBAAkB,CAACmD;GACxC;AACL;;;;"}