@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
@@ -2,27 +2,26 @@ import { CjsDxbcFormat } from '../../../dxbc/CjsDxbcFormat.js';
2
2
  import { WebglReadError } from '../errors.js';
3
3
  import { DxbcGlslOperandFormatter } from './DxbcGlslOperandFormatter.js';
4
4
  import { DxbcGlslHelperRegistry } from './DxbcGlslHelpers.js';
5
- import { DETAIL_MAP_ARRAY_NAME } from '../../../hlsl/core/detailMapFamily.js';
6
5
 
7
6
  const COMPONENTS = ["x", "y", "z", "w"];
8
7
 
9
- /**
10
- * Map-style compute lowering caps simultaneous UAV writes to this many
11
- * fragment color outputs. WebGL2 only guarantees `MAX_DRAW_BUFFERS >= 4`
12
- * (real implementations commonly expose up to 8); a compute kernel that
13
- * writes more UAVs than fit in one draw call's attachment set (e.g. a
14
- * hierarchical mip-chain "Pack" pass writing 16 mip levels per dispatch)
15
- * cannot become a single map-style fragment pass at all.
8
+ /**
9
+ * Map-style compute lowering caps simultaneous UAV writes to this many
10
+ * fragment color outputs. WebGL2 only guarantees `MAX_DRAW_BUFFERS >= 4`
11
+ * (real implementations commonly expose up to 8); a compute kernel that
12
+ * writes more UAVs than fit in one draw call's attachment set (e.g. a
13
+ * hierarchical mip-chain "Pack" pass writing 16 mip levels per dispatch)
14
+ * cannot become a single map-style fragment pass at all.
16
15
  */
17
16
  const MAX_MAP_STYLE_UAV_OUTPUTS = 8;
18
17
 
19
- /**
20
- * GLSL sampler type per DXBC resource-dimension id (float return types; the
21
- * stripped-RDEF corpus reflects everything as float).
18
+ /**
19
+ * GLSL sampler type per DXBC resource-dimension id (float return types; the
20
+ * stripped-RDEF corpus reflects everything as float).
22
21
  */
23
- /**
24
- * DXBC resource dimension for a cube map. Emulated addressing refuses it: a
25
- * cube coordinate is a direction, so a [0,1] range test is meaningless there.
22
+ /**
23
+ * DXBC resource dimension for a cube map. Emulated addressing refuses it: a
24
+ * cube coordinate is a direction, so a [0,1] range test is meaningless there.
26
25
  */
27
26
  const CUBE_DIMENSION = 6;
28
27
  const SAMPLER_TYPE_BY_DIMENSION = {
@@ -33,11 +32,11 @@ const SAMPLER_TYPE_BY_DIMENSION = {
33
32
  8: "sampler2DArray"
34
33
  };
35
34
 
36
- /**
37
- * Shadow-sampler type per WebGL2-supported DXBC resource dimension.
38
- * Comparison sampling changes both the call signature and the uniform type;
39
- * keeping this separate from the ordinary sampler table guarantees shaders
40
- * without comparison opcodes retain their existing declarations verbatim.
35
+ /**
36
+ * Shadow-sampler type per WebGL2-supported DXBC resource dimension.
37
+ * Comparison sampling changes both the call signature and the uniform type;
38
+ * keeping this separate from the ordinary sampler table guarantees shaders
39
+ * without comparison opcodes retain their existing declarations verbatim.
41
40
  */
42
41
  const SHADOW_SAMPLER_TYPE_BY_DIMENSION = {
43
42
  3: "sampler2DShadow",
@@ -47,19 +46,19 @@ const SHADOW_SAMPLER_TYPE_BY_DIMENSION = {
47
46
  const COMPARISON_SAMPLE_OPCODES = new Set(["sample_c", "sample_c_lz"]);
48
47
  const NON_COMPARISON_TEXTURE_OPCODES = new Set(["sample", "sample_l", "sample_b", "sample_d", "gather4", "gather4_po", "ld", "ld_ms", "lod"]);
49
48
 
50
- /**
51
- * Filtered-sample coordinate mask per resource dimension
52
- * (HLSLcc `TranslateTexCoord`, toGLSLInstruction.cpp:985-1031).
49
+ /**
50
+ * Filtered-sample coordinate mask per resource dimension
51
+ * (HLSLcc `TranslateTexCoord`, toGLSLInstruction.cpp:985-1031).
53
52
  */
54
- /**
55
- * GLSL symbol for the merged detail-map array.
56
- *
57
- * Derived, not spelled out. The family owns the name and it has been renamed
58
- * once already (`DetailMapArray` -> `DetailArrayMap`); a second literal is a
59
- * second place for the next rename to miss, which is exactly what the writer's
60
- * `outputName` comment warns about. Only the GLSL sampler prefix is local.
53
+ /**
54
+ * GLSL symbol for the merged detail-map array.
55
+ *
56
+ * Derived, not spelled out. The family owns the name and it has been renamed
57
+ * once already (`DetailMapArray` -> `DetailArrayMap`); a second literal is a
58
+ * second place for the next rename to miss, which is exactly what the writer's
59
+ * `outputName` comment warns about. Only the GLSL sampler prefix is local.
61
60
  */
62
- const DETAIL_MAP_ARRAY_SYMBOL = `s${DETAIL_MAP_ARRAY_NAME}`;
61
+
63
62
  const COORD_MASK_BY_DIMENSION = {
64
63
  2: "x",
65
64
  3: "xy",
@@ -70,32 +69,32 @@ const COORD_MASK_BY_DIMENSION = {
70
69
  10: "xyzw"
71
70
  };
72
71
 
73
- /**
74
- * DXBC -> GLSL ES 3.00 emitter for vertex and pixel stages.
75
- *
76
- * Implements the lowering rules in `docs/dxbc-lowering/*.md`, which pin every
77
- * template to HLSLcc's `toGLSLInstruction.cpp`/`toGLSLDeclaration.cpp`.
78
- * Registers are stored as float vec4s with bitcasts at use sites, comparison
79
- * results are 0xFFFFFFFF/0 masks (never bools), and register-stable symbols
80
- * (`cb#.data[]`, `t#`, `in_SEMANTIC#`, `vs_SEMANTIC#`) form the ABI surface.
81
- *
82
- * Emitter-wide policy: Adreno-3xx driver hygiene from HLSLcc (per-component
83
- * bitwise splits, `op_not`, `uint(0)` literals, `uvecN()` ctor wraps) is NOT
84
- * ported; the target is ANGLE-backed WebGL2 and the plain spec-legal forms
85
- * are emitted instead.
72
+ /**
73
+ * DXBC -> GLSL ES 3.00 emitter for vertex and pixel stages.
74
+ *
75
+ * Implements the lowering rules in `docs/dxbc-lowering/*.md`, which pin every
76
+ * template to HLSLcc's `toGLSLInstruction.cpp`/`toGLSLDeclaration.cpp`.
77
+ * Registers are stored as float vec4s with bitcasts at use sites, comparison
78
+ * results are 0xFFFFFFFF/0 masks (never bools), and register-stable symbols
79
+ * (`cb#.data[]`, `t#`, `in_SEMANTIC#`, `vs_SEMANTIC#`) form the ABI surface.
80
+ *
81
+ * Emitter-wide policy: Adreno-3xx driver hygiene from HLSLcc (per-component
82
+ * bitwise splits, `op_not`, `uint(0)` literals, `uvecN()` ctor wraps) is NOT
83
+ * ported; the target is ANGLE-backed WebGL2 and the plain spec-legal forms
84
+ * are emitted instead.
86
85
  */
87
86
  class DxbcGlslEmitter {
88
- /**
89
- * @param {object} [options] Emitter options.
90
- * @param {object} [options.profile] Target-runtime profile overrides.
91
- * @param {"array"|"std140"} [options.profile.constantBufferStyle] `uniform vec4 cbN[]`
92
- * arrays for ccpwgl's uniform4fv path, or std140 blocks.
93
- * @param {Object.<number,number>} [options.profile.pixelConstantBufferRemap] Pixel-stage
94
- * cb slot renames (ccpwgl keeps PS effect constants at cb7).
95
- * @param {function(number,string):string} [options.profile.samplerName] Texture uniform
96
- * naming per register and stage.
97
- * @param {number} [options.profile.vertexStructuredCapacity] Element capacity for
98
- * vertex-stage structured-buffer UBOs (bones; Carbon max is 69 joints).
87
+ /**
88
+ * @param {object} [options] Emitter options.
89
+ * @param {object} [options.profile] Target-runtime profile overrides.
90
+ * @param {"array"|"std140"} [options.profile.constantBufferStyle] `uniform vec4 cbN[]`
91
+ * arrays for ccpwgl's uniform4fv path, or std140 blocks.
92
+ * @param {Object.<number,number>} [options.profile.pixelConstantBufferRemap] Pixel-stage
93
+ * cb slot renames (ccpwgl keeps PS effect constants at cb7).
94
+ * @param {function(number,string):string} [options.profile.samplerName] Texture uniform
95
+ * naming per register and stage.
96
+ * @param {number} [options.profile.vertexStructuredCapacity] Element capacity for
97
+ * vertex-stage structured-buffer UBOs (bones; Carbon max is 69 joints).
99
98
  */
100
99
  constructor(options = {}) {
101
100
  this.helpers = new DxbcGlslHelperRegistry();
@@ -134,6 +133,11 @@ class DxbcGlslEmitter {
134
133
  // into one array binding frees two texture units on shaders that
135
134
  // sit exactly on WebGL2's 16-unit limit.
136
135
  detailMapArrayRegisters: [],
136
+ // Every family to merge, as { family, outputName, registers } in
137
+ // layer order. The key above is the detail family's older spelling
138
+ // and is still honoured; this one carries the rest - Frontier's
139
+ // roughness, atlas and dirt families among them.
140
+ textureArrayFamilies: [],
137
141
  // Which end of the source clip range is NEAR, and therefore which
138
142
  // form the depth-range fixup takes.
139
143
  //
@@ -197,11 +201,11 @@ class DxbcGlslEmitter {
197
201
  }
198
202
  }
199
203
 
200
- /**
201
- * Registers the GLSL helper functions this emitter's lowerings can require.
202
- * GLSL ES 3.00 has no `bitfieldExtract`/`bitfieldInsert`/`bitCount`/
203
- * `textureGather` (all ES 3.10+), so `ibfe`/`ubfe`/`bfi`/`countbits`/
204
- * `gather4` lower to these hand-written equivalents instead.
204
+ /**
205
+ * Registers the GLSL helper functions this emitter's lowerings can require.
206
+ * GLSL ES 3.00 has no `bitfieldExtract`/`bitfieldInsert`/`bitCount`/
207
+ * `textureGather` (all ES 3.10+), so `ibfe`/`ubfe`/`bfi`/`countbits`/
208
+ * `gather4` lower to these hand-written equivalents instead.
205
209
  */
206
210
  _defineHelpers() {
207
211
  // Texture address modes WebGL2 cannot express, emulated in the shader.
@@ -287,16 +291,16 @@ class DxbcGlslEmitter {
287
291
  });
288
292
  }
289
293
 
290
- /**
291
- * Translates one DXBC stage into GLSL ES 3.00 source.
292
- *
293
- * @param {ArrayBuffer|ArrayBufferView|Uint8Array} bytes DXBC container bytes.
294
- * @param {object} [options] Emit options.
295
- * @param {string} [options.source] Source name used in error details.
296
- * @returns {{source:string,stageName:string,inputs:object[],outputs:object[],bindings:object[],warnings:string[],computeFragment:(object|undefined)}}
297
- * GLSL text plus the IO contract the packaging layer records; compute
298
- * stages add a `computeFragment` host contract (thread group,
299
- * dispatch-origin uniform, per-output UAV slice routing).
294
+ /**
295
+ * Translates one DXBC stage into GLSL ES 3.00 source.
296
+ *
297
+ * @param {ArrayBuffer|ArrayBufferView|Uint8Array} bytes DXBC container bytes.
298
+ * @param {object} [options] Emit options.
299
+ * @param {string} [options.source] Source name used in error details.
300
+ * @returns {{source:string,stageName:string,inputs:object[],outputs:object[],bindings:object[],warnings:string[],computeFragment:(object|undefined)}}
301
+ * GLSL text plus the IO contract the packaging layer records; compute
302
+ * stages add a `computeFragment` host contract (thread group,
303
+ * dispatch-origin uniform, per-output UAV slice routing).
300
304
  */
301
305
  Emit(bytes, options = {}) {
302
306
  const sourceName = options.source || "memory";
@@ -354,8 +358,10 @@ class DxbcGlslEmitter {
354
358
  neutralResources: new Set(this.profile.neutralResourceRegisters || []),
355
359
  // Resource register -> array layer for the merged detail maps, and
356
360
  // whether the one shared array declaration has been emitted yet.
357
- detailMapArrayLayers: new Map((this.profile.detailMapArrayRegisters || []).map((register, layer) => [register, layer])),
358
- detailMapArrayDeclared: false,
361
+ // Resource register -> the array it was merged into and its layer
362
+ // within it, and which array declarations have been emitted.
363
+ textureArrayLayers: this._textureArrayLayerMap(),
364
+ declaredTextureArrays: new Set(),
359
365
  inputMasks: new Map(),
360
366
  outputMasks: new Map(),
361
367
  bindings: [],
@@ -500,10 +506,10 @@ class DxbcGlslEmitter {
500
506
  return result;
501
507
  }
502
508
 
503
- /**
504
- * Normalizes the optional local-light constant-buffer lowering profile.
505
- *
506
- * @returns {object|null} Normalized profile, or null when disabled.
509
+ /**
510
+ * Normalizes the optional local-light constant-buffer lowering profile.
511
+ *
512
+ * @returns {object|null} Normalized profile, or null when disabled.
507
513
  */
508
514
  _normalizeLightConstantBufferProfile() {
509
515
  const profile = this.profile.lightConstantBuffer;
@@ -522,27 +528,27 @@ class DxbcGlslEmitter {
522
528
  };
523
529
  }
524
530
 
525
- /**
526
- * Finds resources used by comparison-sample instructions before resource
527
- * declarations are emitted, so those declarations can use shadow sampler
528
- * types. A single GLSL uniform cannot be both a shadow and ordinary sampler;
529
- * reject that shape explicitly instead of producing invalid GLSL.
530
- *
531
- * The same walk records the t#/s# pairing for EVERY sampled resource, not
532
- * only the comparison ones. D3D carries sampler state on a shared sampler
533
- * object and pairs it with a texture at the sample site; GLSL merges the two
534
- * into one uniform, so that pairing is the only place the pairing exists once
535
- * the shader is translated. Dropping it forces a consumer to guess, and the
536
- * available guess - "the sampler whose register equals the texture's" - is
537
- * numeric coincidence: with two pattern samplers declared, `NormalMap` at t3
538
- * collides with the clamp sampler at s3 and every hull's normal map is read
539
- * clamped instead of wrapped.
540
- *
541
- * @param {object} decoder Decoded DXBC instruction stream.
542
- * @param {string} sourceName Source name used in error details.
543
- * @returns {{comparison:Map<number,Set<number>>,paired:Map<number,Set<number>>}}
544
- * Resource register -> sampler registers, for comparison sampling and for
545
- * all sampling respectively.
531
+ /**
532
+ * Finds resources used by comparison-sample instructions before resource
533
+ * declarations are emitted, so those declarations can use shadow sampler
534
+ * types. A single GLSL uniform cannot be both a shadow and ordinary sampler;
535
+ * reject that shape explicitly instead of producing invalid GLSL.
536
+ *
537
+ * The same walk records the t#/s# pairing for EVERY sampled resource, not
538
+ * only the comparison ones. D3D carries sampler state on a shared sampler
539
+ * object and pairs it with a texture at the sample site; GLSL merges the two
540
+ * into one uniform, so that pairing is the only place the pairing exists once
541
+ * the shader is translated. Dropping it forces a consumer to guess, and the
542
+ * available guess - "the sampler whose register equals the texture's" - is
543
+ * numeric coincidence: with two pattern samplers declared, `NormalMap` at t3
544
+ * collides with the clamp sampler at s3 and every hull's normal map is read
545
+ * clamped instead of wrapped.
546
+ *
547
+ * @param {object} decoder Decoded DXBC instruction stream.
548
+ * @param {string} sourceName Source name used in error details.
549
+ * @returns {{comparison:Map<number,Set<number>>,paired:Map<number,Set<number>>}}
550
+ * Resource register -> sampler registers, for comparison sampling and for
551
+ * all sampling respectively.
546
552
  */
547
553
  _analyzeComparisonResources(decoder, sourceName) {
548
554
  const comparisonResources = new Map();
@@ -584,27 +590,27 @@ class DxbcGlslEmitter {
584
590
  };
585
591
  }
586
592
 
587
- /**
588
- * Normalizes the emulated-addressing profile.
589
- *
590
- * Keyed by RESOURCE register, not sampler register, because that is what
591
- * every layer we touch keys on: GL stores wrap state on the texture object,
592
- * ccpwgl keys overrides by texture name, and the emitted GLSL declares one
593
- * sampler uniform per resource. Only D3D treats the mode as a property of a
594
- * shared sampler - in `decalv5` five textures share one bordered sampler and
595
- * each can resolve to a different mode, which a sampler-keyed scheme cannot
596
- * represent.
597
- *
598
- * It arrives as a profile option because it CANNOT be discovered here: DXBC
599
- * carries no sampler state, which lives in the Carbon container wrapping it.
600
- * The caller also chooses the SUPERSET - listing a texture whose container
601
- * mode needs no emulation is deliberate and cheap, because the runtime mode
602
- * decides, and it is what lets an override correct a container that is wrong.
603
- *
604
- * Shape: `{ bufferRegister, textures: [{ registerIndex, borderColor }] }`.
605
- *
606
- * @returns {{bufferRegister:number, textures:Map<number,{color:number[]}>}|null}
607
- * Null when disabled.
593
+ /**
594
+ * Normalizes the emulated-addressing profile.
595
+ *
596
+ * Keyed by RESOURCE register, not sampler register, because that is what
597
+ * every layer we touch keys on: GL stores wrap state on the texture object,
598
+ * ccpwgl keys overrides by texture name, and the emitted GLSL declares one
599
+ * sampler uniform per resource. Only D3D treats the mode as a property of a
600
+ * shared sampler - in `decalv5` five textures share one bordered sampler and
601
+ * each can resolve to a different mode, which a sampler-keyed scheme cannot
602
+ * represent.
603
+ *
604
+ * It arrives as a profile option because it CANNOT be discovered here: DXBC
605
+ * carries no sampler state, which lives in the Carbon container wrapping it.
606
+ * The caller also chooses the SUPERSET - listing a texture whose container
607
+ * mode needs no emulation is deliberate and cheap, because the runtime mode
608
+ * decides, and it is what lets an override correct a container that is wrong.
609
+ *
610
+ * Shape: `{ bufferRegister, textures: [{ registerIndex, borderColor }] }`.
611
+ *
612
+ * @returns {{bufferRegister:number, textures:Map<number,{color:number[]}>}|null}
613
+ * Null when disabled.
608
614
  */
609
615
  _normalizeEmulatedAddressingProfile() {
610
616
  const value = this.profile.emulatedAddressing;
@@ -679,19 +685,19 @@ class DxbcGlslEmitter {
679
685
  };
680
686
  }
681
687
 
682
- /**
683
- * Applies emulated address modes to one sample.
684
- *
685
- * Emits nothing for a texture the caller did not list, so a shader with no
686
- * emulated addressing is byte-identical to one emitted without the profile.
687
- *
688
- * @param {object} state Emit state.
689
- * @param {object} instruction Decoded texture instruction.
690
- * @param {string} call The GLSL sample expression built so far.
691
- * @param {string} coord The coordinate expression passed to that sample.
692
- * @param {string} coordMask Component mask of the coordinate.
693
- * @returns {string} The sample expression, addressed when the caller listed it.
694
- * @private
688
+ /**
689
+ * Applies emulated address modes to one sample.
690
+ *
691
+ * Emits nothing for a texture the caller did not list, so a shader with no
692
+ * emulated addressing is byte-identical to one emitted without the profile.
693
+ *
694
+ * @param {object} state Emit state.
695
+ * @param {object} instruction Decoded texture instruction.
696
+ * @param {string} call The GLSL sample expression built so far.
697
+ * @param {string} coord The coordinate expression passed to that sample.
698
+ * @param {string} coordMask Component mask of the coordinate.
699
+ * @returns {string} The sample expression, addressed when the caller listed it.
700
+ * @private
695
701
  */
696
702
  _applyEmulatedAddressing(state, instruction, call, coord, coordMask) {
697
703
  const profile = state.emulatedAddressing;
@@ -754,18 +760,18 @@ class DxbcGlslEmitter {
754
760
  return `${borderHelper}(${rewritten}, ${addressedCoord}, ${modes}, vec4(${color}))`;
755
761
  }
756
762
 
757
- /**
758
- * Declares the emulated-addressing constant buffer, once per shader.
759
- *
760
- * Sized to the highest listed resource register so the array stays compact,
761
- * the way Carbon emitters declare compact `cb` arrays. The register is
762
- * caller-chosen and defaults to 8: shipped effects declare only cb0-4, 6 and
763
- * 7, and ccpwgl already resolves `cb0`..`cb15` by name, so 8 needs no new
764
- * binding table.
765
- *
766
- * @param {object} state Emit state.
767
- * @returns {string} The buffer's GLSL name.
768
- * @private
763
+ /**
764
+ * Declares the emulated-addressing constant buffer, once per shader.
765
+ *
766
+ * Sized to the highest listed resource register so the array stays compact,
767
+ * the way Carbon emitters declare compact `cb` arrays. The register is
768
+ * caller-chosen and defaults to 8: shipped effects declare only cb0-4, 6 and
769
+ * 7, and ccpwgl already resolves `cb0`..`cb15` by name, so 8 needs no new
770
+ * binding table.
771
+ *
772
+ * @param {object} state Emit state.
773
+ * @returns {string} The buffer's GLSL name.
774
+ * @private
769
775
  */
770
776
  _ensureAddressBuffer(state) {
771
777
  const {
@@ -826,10 +832,10 @@ class DxbcGlslEmitter {
826
832
  return name;
827
833
  }
828
834
 
829
- /**
830
- * Normalizes the optional packed local-light texture lowering profile.
831
- *
832
- * @returns {object|null} Normalized profile, or null when disabled.
835
+ /**
836
+ * Normalizes the optional packed local-light texture lowering profile.
837
+ *
838
+ * @returns {object|null} Normalized profile, or null when disabled.
833
839
  */
834
840
  _normalizeLightPackedTextureProfile() {
835
841
  const profile = this.profile.lightPackedTexture;
@@ -847,12 +853,12 @@ class DxbcGlslEmitter {
847
853
  };
848
854
  }
849
855
 
850
- /**
851
- * Declares the packed local-light texture ABI used to replace the
852
- * LightIndexBuffer/LightBuffer/LightProfileArray trio with one RGBA32UI
853
- * data texture.
854
- *
855
- * @param {object} state Emit state.
856
+ /**
857
+ * Declares the packed local-light texture ABI used to replace the
858
+ * LightIndexBuffer/LightBuffer/LightProfileArray trio with one RGBA32UI
859
+ * data texture.
860
+ *
861
+ * @param {object} state Emit state.
856
862
  */
857
863
  _ensureLightPackedTexture(state) {
858
864
  const profile = state.lightPackedTexture;
@@ -874,9 +880,9 @@ class DxbcGlslEmitter {
874
880
  });
875
881
  }
876
882
 
877
- /**
878
- * Emits our packed profile helpers only when a sample uses them.
879
- * @param {object} state Emit state.
883
+ /**
884
+ * Emits our packed profile helpers only when a sample uses them.
885
+ * @param {object} state Emit state.
880
886
  */
881
887
  _ensureLightProfileHelpers(state) {
882
888
  if (state.lightProfileHelpersDeclared) return;
@@ -891,11 +897,11 @@ class DxbcGlslEmitter {
891
897
  }
892
898
  }
893
899
 
894
- /**
895
- * Declares the local-light constant-buffer ABI used to replace the two
896
- * tiled-light structured buffers without consuming sampler units.
897
- *
898
- * @param {object} state Emit state.
900
+ /**
901
+ * Declares the local-light constant-buffer ABI used to replace the two
902
+ * tiled-light structured buffers without consuming sampler units.
903
+ *
904
+ * @param {object} state Emit state.
899
905
  */
900
906
  _ensureLightConstantBuffer(state) {
901
907
  const profile = state.lightConstantBuffer;
@@ -918,15 +924,15 @@ class DxbcGlslEmitter {
918
924
  });
919
925
  }
920
926
 
921
- /**
922
- * Rejects compute shaders that need real compute-pipeline features (shared
923
- * memory, barriers, atomics, raw/structured/typed UAV reads) instead of the
924
- * "map-style" thread-per-fragment shape this emitter lowers. The message
925
- * intentionally contains "not supported" so packaging's kill-list
926
- * classifier regex (`/not supported|No GLSL lowering|unimplementable/i`)
927
- * routes these to the exclusion list rather than the failure list.
928
- *
929
- * @param {object} state Emit state.
927
+ /**
928
+ * Rejects compute shaders that need real compute-pipeline features (shared
929
+ * memory, barriers, atomics, raw/structured/typed UAV reads) instead of the
930
+ * "map-style" thread-per-fragment shape this emitter lowers. The message
931
+ * intentionally contains "not supported" so packaging's kill-list
932
+ * classifier regex (`/not supported|No GLSL lowering|unimplementable/i`)
933
+ * routes these to the exclusion list rather than the failure list.
934
+ *
935
+ * @param {object} state Emit state.
930
936
  */
931
937
  _assertMapStyleCompute(state) {
932
938
  for (const instruction of state.decoder.instructions) {
@@ -942,26 +948,26 @@ class DxbcGlslEmitter {
942
948
  }
943
949
  }
944
950
 
945
- /**
946
- * Pre-scans a map-style compute shader's `store_uav_typed` instructions and
947
- * builds a per-UAV slice plan before any declaration is emitted.
948
- *
949
- * Straight-line constant propagation only: the address registers ASSAO-style
950
- * Prepare passes build are `mov rX.<c>, l(k)` immediates, so the tracker
951
- * records the last constant written to each temp component and treats every
952
- * other write as dynamic. Each stored-to UAV register resolves to either
953
- * `{ kind: "single" }` (at most one store; the array-slice coordinate, when
954
- * present, is dropped — the host attaches the target layer via
955
- * `framebufferTextureLayer`) or `{ kind: "multiSlice", slices, sliceByOffset }`
956
- * (several stores at statically distinct texture2darray slices, each routed
957
- * to its own fragment output — the host attaches those layers as sequential
958
- * color attachments).
959
- *
960
- * Anything outside those two shapes cannot become one fragment pass, so the
961
- * throw messages deliberately contain "not supported" for packaging's
962
- * kill-list classifier (see `_assertMapStyleCompute`).
963
- *
964
- * @param {object} state Emit state.
951
+ /**
952
+ * Pre-scans a map-style compute shader's `store_uav_typed` instructions and
953
+ * builds a per-UAV slice plan before any declaration is emitted.
954
+ *
955
+ * Straight-line constant propagation only: the address registers ASSAO-style
956
+ * Prepare passes build are `mov rX.<c>, l(k)` immediates, so the tracker
957
+ * records the last constant written to each temp component and treats every
958
+ * other write as dynamic. Each stored-to UAV register resolves to either
959
+ * `{ kind: "single" }` (at most one store; the array-slice coordinate, when
960
+ * present, is dropped — the host attaches the target layer via
961
+ * `framebufferTextureLayer`) or `{ kind: "multiSlice", slices, sliceByOffset }`
962
+ * (several stores at statically distinct texture2darray slices, each routed
963
+ * to its own fragment output — the host attaches those layers as sequential
964
+ * color attachments).
965
+ *
966
+ * Anything outside those two shapes cannot become one fragment pass, so the
967
+ * throw messages deliberately contain "not supported" for packaging's
968
+ * kill-list classifier (see `_assertMapStyleCompute`).
969
+ *
970
+ * @param {object} state Emit state.
965
971
  */
966
972
  _analyzeUavStores(state) {
967
973
  for (const instruction of state.decoder.instructions) {
@@ -1034,16 +1040,16 @@ class DxbcGlslEmitter {
1034
1040
  }
1035
1041
  }
1036
1042
 
1037
- /**
1038
- * Updates the per-temp-component constant tracker for one instruction:
1039
- * `mov rX.<mask>, l(...)` records each written component's immediate dword,
1040
- * and any other write to a temp component invalidates it. Destination
1041
- * operands are exactly the mask-selection temp operands (DXBC sources
1042
- * always read through swizzle/select1), so this also handles multi-
1043
- * destination opcodes like `sincos` and `udiv` conservatively.
1044
- *
1045
- * @param {object} instruction Decoded non-declaration instruction.
1046
- * @param {Map<string, number>} constantTemps Constant tracker keyed `<register>.<component>`.
1043
+ /**
1044
+ * Updates the per-temp-component constant tracker for one instruction:
1045
+ * `mov rX.<mask>, l(...)` records each written component's immediate dword,
1046
+ * and any other write to a temp component invalidates it. Destination
1047
+ * operands are exactly the mask-selection temp operands (DXBC sources
1048
+ * always read through swizzle/select1), so this also handles multi-
1049
+ * destination opcodes like `sincos` and `udiv` conservatively.
1050
+ *
1051
+ * @param {object} instruction Decoded non-declaration instruction.
1052
+ * @param {Map<string, number>} constantTemps Constant tracker keyed `<register>.<component>`.
1047
1053
  */
1048
1054
  _trackTempConstants(instruction, constantTemps) {
1049
1055
  const source = instruction.operands[1];
@@ -1062,13 +1068,13 @@ class DxbcGlslEmitter {
1062
1068
  }
1063
1069
  }
1064
1070
 
1065
- /**
1066
- * Resolves the array-slice (z) component of a `store_uav_typed` address
1067
- * operand to a compile-time constant, or null when it is dynamic.
1068
- *
1069
- * @param {object} addressOperand Decoded address operand.
1070
- * @param {Map<string, number>} constantTemps Constant tracker keyed `<register>.<component>`.
1071
- * @returns {number|null} Constant slice index, or null.
1071
+ /**
1072
+ * Resolves the array-slice (z) component of a `store_uav_typed` address
1073
+ * operand to a compile-time constant, or null when it is dynamic.
1074
+ *
1075
+ * @param {object} addressOperand Decoded address operand.
1076
+ * @param {Map<string, number>} constantTemps Constant tracker keyed `<register>.<component>`.
1077
+ * @returns {number|null} Constant slice index, or null.
1072
1078
  */
1073
1079
  _resolveSliceConstant(addressOperand, constantTemps) {
1074
1080
  if (addressOperand.type === 4) {
@@ -1083,14 +1089,14 @@ class DxbcGlslEmitter {
1083
1089
  return constantTemps.has(key) ? constantTemps.get(key) : null;
1084
1090
  }
1085
1091
 
1086
- /**
1087
- * Allocates the next map-style UAV fragment-output location, enforcing the
1088
- * `MAX_MAP_STYLE_UAV_OUTPUTS` attachment budget across single-output UAVs
1089
- * and per-slice multi-output UAVs alike.
1090
- *
1091
- * @param {object} state Emit state.
1092
- * @param {number} register UAV register index (error detail only).
1093
- * @returns {number} Allocated output location.
1092
+ /**
1093
+ * Allocates the next map-style UAV fragment-output location, enforcing the
1094
+ * `MAX_MAP_STYLE_UAV_OUTPUTS` attachment budget across single-output UAVs
1095
+ * and per-slice multi-output UAVs alike.
1096
+ *
1097
+ * @param {object} state Emit state.
1098
+ * @param {number} register UAV register index (error detail only).
1099
+ * @returns {number} Allocated output location.
1094
1100
  */
1095
1101
  _allocateUavOutputLocation(state, register) {
1096
1102
  const location = state.uavOutputCount;
@@ -1109,12 +1115,12 @@ class DxbcGlslEmitter {
1109
1115
  // Declarations
1110
1116
  // ------------------------------------------------------------------
1111
1117
 
1112
- /**
1113
- * Emits one decoded DXBC declaration into the GLSL interface and manifest.
1114
- *
1115
- * @param {object} state Mutable emission state.
1116
- * @param {object} instruction Decoded DXBC declaration instruction.
1117
- * @private
1118
+ /**
1119
+ * Emits one decoded DXBC declaration into the GLSL interface and manifest.
1120
+ *
1121
+ * @param {object} state Mutable emission state.
1122
+ * @param {object} instruction Decoded DXBC declaration instruction.
1123
+ * @private
1118
1124
  */
1119
1125
  _emitDeclaration(state, instruction) {
1120
1126
  const declaration = instruction.declaration;
@@ -1211,8 +1217,8 @@ class DxbcGlslEmitter {
1211
1217
  dimensionName: declaration.resourceDimensionName
1212
1218
  });
1213
1219
  }
1214
- if (state.detailMapArrayLayers.has(register)) {
1215
- this._declareDetailArrayMap(state, register, declaration, comparisonSamplers);
1220
+ if (state.textureArrayLayers.has(register)) {
1221
+ this._declareTextureArrayMap(state, register, declaration, comparisonSamplers);
1216
1222
  break;
1217
1223
  }
1218
1224
  const name = this.profile.samplerName(register, state.stageName);
@@ -1411,24 +1417,24 @@ class DxbcGlslEmitter {
1411
1417
  }
1412
1418
  }
1413
1419
 
1414
- /**
1415
- * Finds the signature element assigned to a register.
1416
- *
1417
- * @param {object|null} signature Decoded DXBC signature.
1418
- * @param {number} registerIndex Register index.
1419
- * @returns {object|null} Matching signature element.
1420
- * @private
1420
+ /**
1421
+ * Finds the signature element assigned to a register.
1422
+ *
1423
+ * @param {object|null} signature Decoded DXBC signature.
1424
+ * @param {number} registerIndex Register index.
1425
+ * @returns {object|null} Matching signature element.
1426
+ * @private
1421
1427
  */
1422
1428
  _signatureElement(signature, registerIndex) {
1423
1429
  return signature?.elements.find(element => element.registerIndex === registerIndex) || null;
1424
1430
  }
1425
1431
 
1426
- /**
1427
- * Declares one vertex input using its Carbon semantic identity.
1428
- *
1429
- * @param {object} state Mutable emission state.
1430
- * @param {object} instruction Decoded input declaration.
1431
- * @private
1432
+ /**
1433
+ * Declares one vertex input using its Carbon semantic identity.
1434
+ *
1435
+ * @param {object} state Mutable emission state.
1436
+ * @param {object} instruction Decoded input declaration.
1437
+ * @private
1432
1438
  */
1433
1439
  _declareVertexInput(state, instruction) {
1434
1440
  const register = instruction.declaration.registerIndex;
@@ -1470,12 +1476,12 @@ class DxbcGlslEmitter {
1470
1476
  });
1471
1477
  }
1472
1478
 
1473
- /**
1474
- * Declares one pixel-stage varying or system input.
1475
- *
1476
- * @param {object} state Mutable emission state.
1477
- * @param {object} instruction Decoded input declaration.
1478
- * @private
1479
+ /**
1480
+ * Declares one pixel-stage varying or system input.
1481
+ *
1482
+ * @param {object} state Mutable emission state.
1483
+ * @param {object} instruction Decoded input declaration.
1484
+ * @private
1479
1485
  */
1480
1486
  _declarePixelInput(state, instruction) {
1481
1487
  const register = instruction.declaration.registerIndex;
@@ -1515,12 +1521,12 @@ class DxbcGlslEmitter {
1515
1521
  });
1516
1522
  }
1517
1523
 
1518
- /**
1519
- * Maps a supported system-generated input to its GLSL expression.
1520
- *
1521
- * @param {object} state Mutable emission state.
1522
- * @param {object} instruction Decoded system-input declaration.
1523
- * @private
1524
+ /**
1525
+ * Maps a supported system-generated input to its GLSL expression.
1526
+ *
1527
+ * @param {object} state Mutable emission state.
1528
+ * @param {object} instruction Decoded system-input declaration.
1529
+ * @private
1524
1530
  */
1525
1531
  _declareSystemInput(state, instruction) {
1526
1532
  const declaration = instruction.declaration;
@@ -1545,16 +1551,16 @@ class DxbcGlslEmitter {
1545
1551
  }
1546
1552
  }
1547
1553
 
1548
- /**
1549
- * Records which compute pseudo-input(s) a `dcl_input` declaration exposes.
1550
- * The actual GLSL (uniform + derived locals) is emitted once, after every
1551
- * declaration has been seen, by `_emitComputeInputPrelude` — `dcl_input`
1552
- * for a thread-id kind can appear before or after `dcl_thread_group` in the
1553
- * bytecode stream, and the flattened/group-id forms need the workgroup
1554
- * size regardless of declaration order.
1555
- *
1556
- * @param {object} state Emit state.
1557
- * @param {object} instruction `dcl_input` instruction with a thread-id-kind operand.
1554
+ /**
1555
+ * Records which compute pseudo-input(s) a `dcl_input` declaration exposes.
1556
+ * The actual GLSL (uniform + derived locals) is emitted once, after every
1557
+ * declaration has been seen, by `_emitComputeInputPrelude` — `dcl_input`
1558
+ * for a thread-id kind can appear before or after `dcl_thread_group` in the
1559
+ * bytecode stream, and the flattened/group-id forms need the workgroup
1560
+ * size regardless of declaration order.
1561
+ *
1562
+ * @param {object} state Emit state.
1563
+ * @param {object} instruction `dcl_input` instruction with a thread-id-kind operand.
1558
1564
  */
1559
1565
  _declareComputeInput(state, instruction) {
1560
1566
  const kind = instruction.declaration.operandTypeName;
@@ -1579,13 +1585,13 @@ class DxbcGlslEmitter {
1579
1585
  }
1580
1586
  }
1581
1587
 
1582
- /**
1583
- * Emits the shared `gl_FragCoord`-derived thread-id prelude for map-style
1584
- * compute shaders: a `cjsDispatchOrigin` uniform (so a dispatch can be
1585
- * tiled across more than one draw/viewport), then only the intermediate
1586
- * and final locals this shader actually declared inputs for.
1587
- *
1588
- * @param {object} state Emit state.
1588
+ /**
1589
+ * Emits the shared `gl_FragCoord`-derived thread-id prelude for map-style
1590
+ * compute shaders: a `cjsDispatchOrigin` uniform (so a dispatch can be
1591
+ * tiled across more than one draw/viewport), then only the intermediate
1592
+ * and final locals this shader actually declared inputs for.
1593
+ *
1594
+ * @param {object} state Emit state.
1589
1595
  */
1590
1596
  _emitComputeInputPrelude(state) {
1591
1597
  const used = state.computeInputsUsed;
@@ -1620,12 +1626,12 @@ class DxbcGlslEmitter {
1620
1626
  }
1621
1627
  }
1622
1628
 
1623
- /**
1624
- * Reads the workgroup size recorded by `dcl_thread_group`, required to
1625
- * split the flat thread id back into group id / id-in-group components.
1626
- *
1627
- * @param {object} state Emit state.
1628
- * @returns {[number,number,number]} Workgroup size.
1629
+ /**
1630
+ * Reads the workgroup size recorded by `dcl_thread_group`, required to
1631
+ * split the flat thread id back into group id / id-in-group components.
1632
+ *
1633
+ * @param {object} state Emit state.
1634
+ * @returns {[number,number,number]} Workgroup size.
1629
1635
  */
1630
1636
  _threadGroupSizeOrThrow(state) {
1631
1637
  if (!Array.isArray(state.threadGroup)) {
@@ -1636,12 +1642,12 @@ class DxbcGlslEmitter {
1636
1642
  return state.threadGroup;
1637
1643
  }
1638
1644
 
1639
- /**
1640
- * Declares one stage output and records its backend identity.
1641
- *
1642
- * @param {object} state Mutable emission state.
1643
- * @param {object} instruction Decoded output declaration.
1644
- * @private
1645
+ /**
1646
+ * Declares one stage output and records its backend identity.
1647
+ *
1648
+ * @param {object} state Mutable emission state.
1649
+ * @param {object} instruction Decoded output declaration.
1650
+ * @private
1645
1651
  */
1646
1652
  _declareOutput(state, instruction) {
1647
1653
  const declaration = instruction.declaration;
@@ -1699,12 +1705,12 @@ class DxbcGlslEmitter {
1699
1705
  }
1700
1706
  }
1701
1707
 
1702
- /**
1703
- * Materializes an immediate constant-buffer declaration.
1704
- *
1705
- * @param {object} state Mutable emission state.
1706
- * @param {object} instruction Decoded custom-data declaration.
1707
- * @private
1708
+ /**
1709
+ * Materializes an immediate constant-buffer declaration.
1710
+ *
1711
+ * @param {object} state Mutable emission state.
1712
+ * @param {object} instruction Decoded custom-data declaration.
1713
+ * @private
1708
1714
  */
1709
1715
  _declareImmediateConstantBuffer(state, instruction) {
1710
1716
  const rows = instruction.customData?.immediateConstantBuffer;
@@ -1715,11 +1721,11 @@ class DxbcGlslEmitter {
1715
1721
  state.declarationLines.push(`const vec4 ${state.icbName}[${rows.length}] = vec4[${rows.length}](`, ...literals.map((literal, index) => ` ${literal}${index < literals.length - 1 ? "," : ""}`), ");");
1716
1722
  }
1717
1723
 
1718
- /**
1719
- * Initializes paired vertex outputs that the source shader does not write.
1720
- *
1721
- * @param {object} state Mutable emission state.
1722
- * @private
1724
+ /**
1725
+ * Initializes paired vertex outputs that the source shader does not write.
1726
+ *
1727
+ * @param {object} state Mutable emission state.
1728
+ * @private
1723
1729
  */
1724
1730
  _zeroFillUnwrittenOutputs(state) {
1725
1731
  const written = new Set();
@@ -1744,12 +1750,12 @@ class DxbcGlslEmitter {
1744
1750
  // Instructions
1745
1751
  // ------------------------------------------------------------------
1746
1752
 
1747
- /**
1748
- * Dispatches one decoded instruction to its GLSL lowering rule.
1749
- *
1750
- * @param {object} state Mutable emission state.
1751
- * @param {object} instruction Decoded DXBC instruction.
1752
- * @private
1753
+ /**
1754
+ * Dispatches one decoded instruction to its GLSL lowering rule.
1755
+ *
1756
+ * @param {object} state Mutable emission state.
1757
+ * @param {object} instruction Decoded DXBC instruction.
1758
+ * @private
1753
1759
  */
1754
1760
  _emitInstruction(state, instruction) {
1755
1761
  const lower = DxbcGlslEmitter.LOWERINGS[instruction.opcodeName];
@@ -1763,12 +1769,12 @@ class DxbcGlslEmitter {
1763
1769
  lower.call(this, state, instruction);
1764
1770
  }
1765
1771
 
1766
- /**
1767
- * Appends one correctly indented line to the emitted function body.
1768
- *
1769
- * @param {object} state Mutable emission state.
1770
- * @param {string} text GLSL source line.
1771
- * @private
1772
+ /**
1773
+ * Appends one correctly indented line to the emitted function body.
1774
+ *
1775
+ * @param {object} state Mutable emission state.
1776
+ * @param {string} text GLSL source line.
1777
+ * @private
1772
1778
  */
1773
1779
  _line(state, text) {
1774
1780
  // Packed uint words (and small integer results) must survive float
@@ -1815,12 +1821,12 @@ class DxbcGlslEmitter {
1815
1821
  state.bodyLines.push(`${" ".repeat(state.indent)}${text}`);
1816
1822
  }
1817
1823
 
1818
- /**
1819
- * Counts the active components in a DXBC mask.
1820
- *
1821
- * @param {number} mask DXBC component bit mask.
1822
- * @returns {number} Active component count.
1823
- * @private
1824
+ /**
1825
+ * Counts the active components in a DXBC mask.
1826
+ *
1827
+ * @param {number} mask DXBC component bit mask.
1828
+ * @returns {number} Active component count.
1829
+ * @private
1824
1830
  */
1825
1831
  _maskWidth(mask) {
1826
1832
  let width = 0;
@@ -1830,51 +1836,51 @@ class DxbcGlslEmitter {
1830
1836
  return width || 4;
1831
1837
  }
1832
1838
 
1833
- /**
1834
- * Converts a DXBC component bit mask to GLSL swizzle characters.
1835
- *
1836
- * @param {number} mask DXBC component bit mask.
1837
- * @returns {string} GLSL component string.
1838
- * @private
1839
+ /**
1840
+ * Converts a DXBC component bit mask to GLSL swizzle characters.
1841
+ *
1842
+ * @param {number} mask DXBC component bit mask.
1843
+ * @returns {string} GLSL component string.
1844
+ * @private
1839
1845
  */
1840
1846
  _maskChars(mask) {
1841
1847
  return COMPONENTS.filter((_, bit) => mask & 1 << bit).join("") || "xyzw";
1842
1848
  }
1843
1849
 
1844
- /**
1845
- * Builds the lvalue text for one register-space destination component,
1846
- * remapped into the target variable's declared component space.
1850
+ /**
1851
+ * Builds the lvalue text for one register-space destination component,
1852
+ * remapped into the target variable's declared component space.
1847
1853
  */
1848
1854
  _destComponentRef(state, destOperand, target, component) {
1849
1855
  const remapped = state.formatter.remapComponents(destOperand, component);
1850
1856
  return `${target.ref}${remapped ? `.${remapped}` : ""}`;
1851
1857
  }
1852
1858
 
1853
- /**
1854
- * Formats a resolved destination reference and optional mask.
1855
- *
1856
- * @param {object} target Resolved destination.
1857
- * @returns {string} GLSL lvalue text.
1858
- * @private
1859
+ /**
1860
+ * Formats a resolved destination reference and optional mask.
1861
+ *
1862
+ * @param {object} target Resolved destination.
1863
+ * @returns {string} GLSL lvalue text.
1864
+ * @private
1859
1865
  */
1860
1866
  _destText(target) {
1861
1867
  return `${target.ref}${target.mask ? `.${target.mask}` : ""}`;
1862
1868
  }
1863
1869
 
1864
- /**
1865
- * Selects the GLSL floating scalar or vector type for a width.
1866
- *
1867
- * @param {number} width Component width.
1868
- * @returns {string} GLSL type name.
1869
- * @private
1870
+ /**
1871
+ * Selects the GLSL floating scalar or vector type for a width.
1872
+ *
1873
+ * @param {number} width Component width.
1874
+ * @returns {string} GLSL type name.
1875
+ * @private
1870
1876
  */
1871
1877
  _vecType(width) {
1872
1878
  return width === 1 ? "float" : `vec${width}`;
1873
1879
  }
1874
1880
 
1875
- /**
1876
- * Reads a source at the destination mask's width, wrapping in a matching
1877
- * constructor so intrinsic arguments always type-check exactly.
1881
+ /**
1882
+ * Reads a source at the destination mask's width, wrapping in a matching
1883
+ * constructor so intrinsic arguments always type-check exactly.
1878
1884
  */
1879
1885
  _vecArg(state, operand, destMask, as = "float") {
1880
1886
  const expression = state.formatter.sourceExpression(operand, {
@@ -1892,14 +1898,14 @@ class DxbcGlslEmitter {
1892
1898
  return `${ctor}(${expression})`;
1893
1899
  }
1894
1900
 
1895
- /**
1896
- * Resolves a destination operand and its register-space component mask.
1897
- *
1898
- * @param {object} state Mutable emission state.
1899
- * @param {object} instruction Decoded DXBC instruction.
1900
- * @param {number} [operandIndex=0] Destination operand index.
1901
- * @returns {{target: object|null, mask: string}} Destination and mask.
1902
- * @private
1901
+ /**
1902
+ * Resolves a destination operand and its register-space component mask.
1903
+ *
1904
+ * @param {object} state Mutable emission state.
1905
+ * @param {object} instruction Decoded DXBC instruction.
1906
+ * @param {number} [operandIndex=0] Destination operand index.
1907
+ * @returns {{target: object|null, mask: string}} Destination and mask.
1908
+ * @private
1903
1909
  */
1904
1910
  _destMask(state, instruction, operandIndex = 0) {
1905
1911
  const target = state.formatter.destination(instruction.operands[operandIndex]);
@@ -1912,25 +1918,25 @@ class DxbcGlslEmitter {
1912
1918
  };
1913
1919
  }
1914
1920
 
1915
- /**
1916
- * Tests whether an operand produces one scalar component.
1917
- *
1918
- * @param {object} operand Decoded DXBC operand.
1919
- * @returns {boolean} True when the source is scalar.
1920
- * @private
1921
+ /**
1922
+ * Tests whether an operand produces one scalar component.
1923
+ *
1924
+ * @param {object} operand Decoded DXBC operand.
1925
+ * @returns {boolean} True when the source is scalar.
1926
+ * @private
1921
1927
  */
1922
1928
  _isScalarSource(operand) {
1923
1929
  return operand.selectionModeName === "select1" || operand.type === 4 && operand.componentCount === 1 || operand.componentCount === 1;
1924
1930
  }
1925
1931
 
1926
- /**
1927
- * Emits an assignment and applies instruction saturation when required.
1928
- *
1929
- * @param {object} state Mutable emission state.
1930
- * @param {object} instruction Decoded DXBC instruction.
1931
- * @param {string} valueExpression GLSL right-hand expression.
1932
- * @param {object} [options={}] Assignment formatting options.
1933
- * @private
1932
+ /**
1933
+ * Emits an assignment and applies instruction saturation when required.
1934
+ *
1935
+ * @param {object} state Mutable emission state.
1936
+ * @param {object} instruction Decoded DXBC instruction.
1937
+ * @param {string} valueExpression GLSL right-hand expression.
1938
+ * @param {object} [options={}] Assignment formatting options.
1939
+ * @private
1934
1940
  */
1935
1941
  _assign(state, instruction, valueExpression, options = {}) {
1936
1942
  const statement = state.formatter.assignment(instruction.operands[0], valueExpression, options);
@@ -1946,13 +1952,13 @@ class DxbcGlslEmitter {
1946
1952
  }
1947
1953
  }
1948
1954
 
1949
- /**
1950
- * Emits a width-correct floating binary infix operation.
1951
- *
1952
- * @param {object} state Mutable emission state.
1953
- * @param {object} instruction Decoded DXBC instruction.
1954
- * @param {string} operator GLSL infix operator.
1955
- * @private
1955
+ /**
1956
+ * Emits a width-correct floating binary infix operation.
1957
+ *
1958
+ * @param {object} state Mutable emission state.
1959
+ * @param {object} instruction Decoded DXBC instruction.
1960
+ * @param {string} operator GLSL infix operator.
1961
+ * @private
1956
1962
  */
1957
1963
  _infixBinary(state, instruction, operator) {
1958
1964
  const {
@@ -1968,15 +1974,15 @@ class DxbcGlslEmitter {
1968
1974
  this._assignWidened(state, instruction, mask, `${a} ${operator} ${b}`, width === 1);
1969
1975
  }
1970
1976
 
1971
- /**
1972
- * Widens a scalar result when assigning it to a vector destination.
1973
- *
1974
- * @param {object} state Mutable emission state.
1975
- * @param {object} instruction Decoded DXBC instruction.
1976
- * @param {string} mask Destination component mask.
1977
- * @param {string} expression GLSL expression.
1978
- * @param {boolean} rhsIsScalar Whether the expression is scalar.
1979
- * @private
1977
+ /**
1978
+ * Widens a scalar result when assigning it to a vector destination.
1979
+ *
1980
+ * @param {object} state Mutable emission state.
1981
+ * @param {object} instruction Decoded DXBC instruction.
1982
+ * @param {string} mask Destination component mask.
1983
+ * @param {string} expression GLSL expression.
1984
+ * @param {boolean} rhsIsScalar Whether the expression is scalar.
1985
+ * @private
1980
1986
  */
1981
1987
  _assignWidened(state, instruction, mask, expression, rhsIsScalar) {
1982
1988
  const value = rhsIsScalar && mask.length > 1 ? `vec${mask.length}(${expression})` : expression;
@@ -1985,13 +1991,13 @@ class DxbcGlslEmitter {
1985
1991
  });
1986
1992
  }
1987
1993
 
1988
- /**
1989
- * Emits a unary GLSL intrinsic with destination-width handling.
1990
- *
1991
- * @param {object} state Mutable emission state.
1992
- * @param {object} instruction Decoded DXBC instruction.
1993
- * @param {string} glslName GLSL intrinsic name.
1994
- * @private
1994
+ /**
1995
+ * Emits a unary GLSL intrinsic with destination-width handling.
1996
+ *
1997
+ * @param {object} state Mutable emission state.
1998
+ * @param {object} instruction Decoded DXBC instruction.
1999
+ * @param {string} glslName GLSL intrinsic name.
2000
+ * @private
1995
2001
  */
1996
2002
  _helperUnary(state, instruction, glslName) {
1997
2003
  const {
@@ -2003,13 +2009,13 @@ class DxbcGlslEmitter {
2003
2009
  this._assignWidened(state, instruction, mask, `${glslName}(${src})`, state.formatter.expressionWidth(instruction.operands[1], mask) === 1);
2004
2010
  }
2005
2011
 
2006
- /**
2007
- * Emits a binary GLSL intrinsic with width-matched arguments.
2008
- *
2009
- * @param {object} state Mutable emission state.
2010
- * @param {object} instruction Decoded DXBC instruction.
2011
- * @param {string} glslName GLSL intrinsic name.
2012
- * @private
2012
+ /**
2013
+ * Emits a binary GLSL intrinsic with width-matched arguments.
2014
+ *
2015
+ * @param {object} state Mutable emission state.
2016
+ * @param {object} instruction Decoded DXBC instruction.
2017
+ * @param {string} glslName GLSL intrinsic name.
2018
+ * @private
2013
2019
  */
2014
2020
  _helperBinary(state, instruction, glslName) {
2015
2021
  const {
@@ -2022,13 +2028,13 @@ class DxbcGlslEmitter {
2022
2028
  });
2023
2029
  }
2024
2030
 
2025
- /**
2026
- * Emits a dot product and replicates its scalar result when necessary.
2027
- *
2028
- * @param {object} state Mutable emission state.
2029
- * @param {object} instruction Decoded DXBC instruction.
2030
- * @param {string} sourceMask Source component mask.
2031
- * @private
2031
+ /**
2032
+ * Emits a dot product and replicates its scalar result when necessary.
2033
+ *
2034
+ * @param {object} state Mutable emission state.
2035
+ * @param {object} instruction Decoded DXBC instruction.
2036
+ * @param {string} sourceMask Source component mask.
2037
+ * @private
2032
2038
  */
2033
2039
  _dotProduct(state, instruction, sourceMask) {
2034
2040
  const {
@@ -2042,16 +2048,16 @@ class DxbcGlslEmitter {
2042
2048
  });
2043
2049
  }
2044
2050
 
2045
- /**
2046
- * Emits scalar or vector comparison bits in the float register model.
2047
- *
2048
- * @param {object} state Mutable emission state.
2049
- * @param {object} instruction Decoded DXBC instruction.
2050
- * @param {object} options Comparison options.
2051
- * @param {string} options.intrinsic GLSL vector comparison intrinsic.
2052
- * @param {string} options.operator GLSL scalar comparison operator.
2053
- * @param {"float"|"int"|"uint"} options.as Operand interpretation.
2054
- * @private
2051
+ /**
2052
+ * Emits scalar or vector comparison bits in the float register model.
2053
+ *
2054
+ * @param {object} state Mutable emission state.
2055
+ * @param {object} instruction Decoded DXBC instruction.
2056
+ * @param {object} options Comparison options.
2057
+ * @param {string} options.intrinsic GLSL vector comparison intrinsic.
2058
+ * @param {string} options.operator GLSL scalar comparison operator.
2059
+ * @param {"float"|"int"|"uint"} options.as Operand interpretation.
2060
+ * @private
2055
2061
  */
2056
2062
  _comparison(state, instruction, {
2057
2063
  intrinsic,
@@ -2078,13 +2084,13 @@ class DxbcGlslEmitter {
2078
2084
  this._assign(state, instruction, `uintBitsToFloat(uvec${mask.length}(${intrinsic}(${a}, ${b})) * 0xFFFFFFFFu)`);
2079
2085
  }
2080
2086
 
2081
- /**
2082
- * Emits an unsigned bitwise operation through register bitcasts.
2083
- *
2084
- * @param {object} state Mutable emission state.
2085
- * @param {object} instruction Decoded DXBC instruction.
2086
- * @param {string} operator GLSL bitwise operator.
2087
- * @private
2087
+ /**
2088
+ * Emits an unsigned bitwise operation through register bitcasts.
2089
+ *
2090
+ * @param {object} state Mutable emission state.
2091
+ * @param {object} instruction Decoded DXBC instruction.
2092
+ * @param {string} operator GLSL bitwise operator.
2093
+ * @private
2088
2094
  */
2089
2095
  _bitwiseBinary(state, instruction, operator) {
2090
2096
  const {
@@ -2095,14 +2101,14 @@ class DxbcGlslEmitter {
2095
2101
  this._assign(state, instruction, `uintBitsToFloat(${a} ${operator} ${b})`);
2096
2102
  }
2097
2103
 
2098
- /**
2099
- * Emits a signed or unsigned integer binary operation through bitcasts.
2100
- *
2101
- * @param {object} state Mutable emission state.
2102
- * @param {object} instruction Decoded DXBC instruction.
2103
- * @param {string} operator GLSL integer operator.
2104
- * @param {"int"|"uint"} [as="int"] Integer interpretation.
2105
- * @private
2104
+ /**
2105
+ * Emits a signed or unsigned integer binary operation through bitcasts.
2106
+ *
2107
+ * @param {object} state Mutable emission state.
2108
+ * @param {object} instruction Decoded DXBC instruction.
2109
+ * @param {string} operator GLSL integer operator.
2110
+ * @param {"int"|"uint"} [as="int"] Integer interpretation.
2111
+ * @private
2106
2112
  */
2107
2113
  _intBinary(state, instruction, operator, as = "int") {
2108
2114
  const {
@@ -2114,13 +2120,13 @@ class DxbcGlslEmitter {
2114
2120
  this._assign(state, instruction, `${wrap}(${a} ${operator} ${b})`);
2115
2121
  }
2116
2122
 
2117
- /**
2118
- * Formats the DXBC zero or nonzero control-flow condition.
2119
- *
2120
- * @param {object} state Mutable emission state.
2121
- * @param {object} instruction Decoded DXBC instruction.
2122
- * @returns {string} GLSL boolean expression.
2123
- * @private
2123
+ /**
2124
+ * Formats the DXBC zero or nonzero control-flow condition.
2125
+ *
2126
+ * @param {object} state Mutable emission state.
2127
+ * @param {object} instruction Decoded DXBC instruction.
2128
+ * @returns {string} GLSL boolean expression.
2129
+ * @private
2124
2130
  */
2125
2131
  _condition(state, instruction) {
2126
2132
  const scalar = state.formatter.sourceExpression(instruction.operands[0], {
@@ -2131,12 +2137,12 @@ class DxbcGlslEmitter {
2131
2137
  return `${scalar} ${test} 0u`;
2132
2138
  }
2133
2139
 
2134
- /**
2135
- * Emits component-wise conditional moves without aliasing destinations.
2136
- *
2137
- * @param {object} state Mutable emission state.
2138
- * @param {object} instruction Decoded DXBC instruction.
2139
- * @private
2140
+ /**
2141
+ * Emits component-wise conditional moves without aliasing destinations.
2142
+ *
2143
+ * @param {object} state Mutable emission state.
2144
+ * @param {object} instruction Decoded DXBC instruction.
2145
+ * @private
2140
2146
  */
2141
2147
  _movc(state, instruction) {
2142
2148
  const destOperand = instruction.operands[0];
@@ -2181,12 +2187,12 @@ class DxbcGlslEmitter {
2181
2187
  }
2182
2188
  }
2183
2189
 
2184
- /**
2185
- * Emits the paired sine and cosine destinations in alias-safe order.
2186
- *
2187
- * @param {object} state Mutable emission state.
2188
- * @param {object} instruction Decoded DXBC instruction.
2189
- * @private
2190
+ /**
2191
+ * Emits the paired sine and cosine destinations in alias-safe order.
2192
+ *
2193
+ * @param {object} state Mutable emission state.
2194
+ * @param {object} instruction Decoded DXBC instruction.
2195
+ * @private
2190
2196
  */
2191
2197
  _sincos(state, instruction) {
2192
2198
  const [sinDest, cosDest, angle] = instruction.operands;
@@ -2214,23 +2220,23 @@ class DxbcGlslEmitter {
2214
2220
  }
2215
2221
  }
2216
2222
 
2217
- /**
2218
- * Declares the merged detail-map array, once, on the first member seen.
2219
- *
2220
- * Each member keeps its own entry in `resourceNames` pointing at the shared
2221
- * array, so every existing reference site resolves to it without knowing a
2222
- * merge happened. The declared dimension deliberately stays 2D: the layer is
2223
- * appended to the coordinate at each sample site rather than read out of the
2224
- * shader's own operand, which has no third component to give.
2225
- *
2226
- * @param {object} state Mutable emission state.
2227
- * @param {number} register Resource register being declared.
2228
- * @param {object} declaration Decoded resource declaration.
2229
- * @param {Set<number>|null} comparisonSamplers Comparison samplers, when any.
2230
- * @private
2223
+ /**
2224
+ * Declares one merged array, once per family, on its first member seen.
2225
+ *
2226
+ * Each member keeps its own entry in `resourceNames` pointing at the shared
2227
+ * array, so every existing reference site resolves to it without knowing a
2228
+ * merge happened. The declared dimension deliberately stays 2D: the layer is
2229
+ * appended to the coordinate at each sample site rather than read out of the
2230
+ * shader's own operand, which has no third component to give.
2231
+ *
2232
+ * @param {object} state Mutable emission state.
2233
+ * @param {number} register Resource register being declared.
2234
+ * @param {object} declaration Decoded resource declaration.
2235
+ * @param {Set<number>|null} comparisonSamplers Comparison samplers, when any.
2236
+ * @private
2231
2237
  */
2232
- _declareDetailArrayMap(state, register, declaration, comparisonSamplers) {
2233
- // A comparison-sampled or non-2D detail map is not the family the
2238
+ _declareTextureArrayMap(state, register, declaration, comparisonSamplers) {
2239
+ // A comparison-sampled or non-2D member is not the family the
2234
2240
  // recogniser promised, so refuse rather than emit a wrong declaration.
2235
2241
  if (comparisonSamplers || declaration.resourceDimension !== 3) {
2236
2242
  throw new WebglReadError("Detail-map array merging requires plain 2D textures without comparison sampling", {
@@ -2239,77 +2245,149 @@ class DxbcGlslEmitter {
2239
2245
  dimensionName: declaration.resourceDimensionName
2240
2246
  });
2241
2247
  }
2248
+ const merged = state.textureArrayLayers.get(register);
2249
+ const symbol = merged.symbol;
2250
+ const members = [...state.textureArrayLayers].filter(([, entry]) => entry.symbol === symbol).map(([memberRegister]) => memberRegister);
2242
2251
  state.resourceDimensions.set(register, declaration.resourceDimension);
2243
- state.resourceNames.set(register, DETAIL_MAP_ARRAY_SYMBOL);
2244
- if (state.detailMapArrayDeclared) return;
2245
- state.detailMapArrayDeclared = true;
2252
+ state.resourceNames.set(register, symbol);
2253
+ if (state.declaredTextureArrays.has(symbol)) return;
2254
+ state.declaredTextureArrays.add(symbol);
2246
2255
 
2247
2256
  // One GL uniform now stands for every merged layer, so it can carry only
2248
2257
  // one sampler state. Union the layers' pairings: if they disagree the
2249
2258
  // merge itself was invalid, and the packaging layer is where that is
2250
2259
  // detectable, because only it holds the sampler values to compare.
2251
- const merged = new Set();
2252
- for (const layerRegister of state.detailMapArrayLayers.keys()) {
2253
- for (const sampler of state.pairedSamplers.get(layerRegister) ?? []) merged.add(sampler);
2260
+ const pairings = new Set();
2261
+ for (const layerRegister of members) {
2262
+ for (const sampler of state.pairedSamplers.get(layerRegister) ?? []) pairings.add(sampler);
2254
2263
  }
2255
- state.declarationLines.push(`uniform mediump sampler2DArray ${DETAIL_MAP_ARRAY_SYMBOL};`);
2264
+
2265
+ // A packing family stays a plain 2D texture - its members are channels
2266
+ // of one texel, not layers of one stack - so the declaration, the
2267
+ // sampler type and the coordinate all stay 2D.
2268
+ const packing = merged.kind === "pack";
2269
+ const samplerTypeName = packing ? "sampler2D" : "sampler2DArray";
2270
+ state.declarationLines.push(`uniform mediump ${samplerTypeName} ${symbol};`);
2256
2271
  state.bindings.push({
2257
2272
  kind: "resource",
2258
2273
  registerIndex: register,
2259
- name: DETAIL_MAP_ARRAY_SYMBOL,
2260
- samplerType: "sampler2DArray",
2261
- dimensionName: "texture2darray",
2262
- arrayLayerCount: state.detailMapArrayLayers.size,
2263
- mergedFrom: [...state.detailMapArrayLayers.keys()],
2264
- ...(merged.size ? {
2265
- pairedSamplerRegisters: [...merged].sort((a, b) => a - b)
2274
+ name: symbol,
2275
+ samplerType: samplerTypeName,
2276
+ dimensionName: packing ? "texture2d" : "texture2darray",
2277
+ ...(packing ? {
2278
+ packedChannelCount: members.length
2279
+ } : {
2280
+ arrayLayerCount: members.length
2281
+ }),
2282
+ mergedFrom: members,
2283
+ mergedFamily: merged.family,
2284
+ ...(pairings.size ? {
2285
+ pairedSamplerRegisters: [...pairings].sort((a, b) => a - b)
2266
2286
  } : {})
2267
2287
  });
2268
2288
  }
2269
2289
 
2270
- /**
2271
- * Returns the array layer a texture operand maps to, when it was merged.
2272
- *
2273
- * @param {object} state Mutable emission state.
2274
- * @param {object} texOperand Texture resource operand.
2275
- * @returns {number|null} Layer index, or null when the register was not merged.
2276
- * @private
2290
+ /**
2291
+ * Builds the register -> merged array map from the profile.
2292
+ *
2293
+ * Two spellings, one meaning: `detailMapArrayRegisters` is the detail
2294
+ * family's original key, and `textureArrayFamilies` carries any family
2295
+ * including that one. A caller may pass either.
2296
+ *
2297
+ * @returns {Map<number, object>} register -> { symbol, layer, family }
2298
+ * @private
2299
+ */
2300
+ _textureArrayLayerMap() {
2301
+ const map = new Map();
2302
+ const families = [...(this.profile.detailMapArrayRegisters?.length ? [{
2303
+ family: "detail-map-array",
2304
+ outputName: "DetailArrayMap",
2305
+ registers: this.profile.detailMapArrayRegisters
2306
+ }] : []), ...(this.profile.textureArrayFamilies || [])];
2307
+ for (const entry of families) {
2308
+ const symbol = `s${entry.outputName}`;
2309
+ const kind = entry.kind ?? "array";
2310
+ for (const [layer, register] of (entry.registers || []).entries()) {
2311
+ map.set(register, {
2312
+ symbol,
2313
+ layer,
2314
+ kind,
2315
+ // For a packing family the member's position IS its channel.
2316
+ // Nothing else decides it, which is why the family table's
2317
+ // parameter order is the one authority for both ends.
2318
+ channel: kind === "pack" ? "xyzw"[layer] : null,
2319
+ family: entry.family,
2320
+ outputName: entry.outputName
2321
+ });
2322
+ }
2323
+ }
2324
+ return map;
2325
+ }
2326
+
2327
+ /**
2328
+ * Returns the array layer a texture operand maps to, when it was merged.
2329
+ *
2330
+ * @param {object} state Mutable emission state.
2331
+ * @param {object} texOperand Texture resource operand.
2332
+ * @returns {number|null} Layer index, or null when the register was not merged.
2333
+ * @private
2277
2334
  */
2278
- _detailMapArrayLayer(state, texOperand) {
2279
- const layer = state.detailMapArrayLayers.get(texOperand.registerIndex);
2280
- return layer === undefined ? null : layer;
2281
- }
2282
-
2283
- /**
2284
- * Refuses an operation that cannot be redirected at an array layer.
2285
- *
2286
- * Recognising the detail family proves the resources are mergeable; it does
2287
- * not prove every *use* is. A texel fetch or a size query against a merged
2288
- * register would silently mean something different once the register became
2289
- * one layer of an array, so those fail the build instead.
2290
- *
2291
- * @param {object} state Mutable emission state.
2292
- * @param {object} instruction Decoded DXBC instruction.
2293
- * @param {object} texOperand Texture resource operand.
2294
- * @private
2335
+ _textureArrayLayer(state, texOperand) {
2336
+ const merged = state.textureArrayLayers.get(texOperand.registerIndex);
2337
+
2338
+ // A packed member has no layer: its coordinate is unchanged and the
2339
+ // redirect happens on the RESULT, in `_mergedChannel`.
2340
+ return merged === undefined || merged.kind === "pack" ? null : merged.layer;
2341
+ }
2342
+
2343
+ /**
2344
+ * Returns the packed channel a texture operand reads, when it was packed.
2345
+ *
2346
+ * The member's whole sampled value becomes that one channel broadcast, which
2347
+ * is faithful precisely because the premise of a packing family is that the
2348
+ * map is consumed for a single scalar. A member read for more than that is
2349
+ * not a packing candidate and the family table is where that is decided.
2350
+ *
2351
+ * @param {object} state Mutable emission state.
2352
+ * @param {object} texOperand Texture resource operand.
2353
+ * @returns {string|null} Channel letter, or null when not packed.
2354
+ * @private
2355
+ */
2356
+ _mergedChannel(state, texOperand) {
2357
+ const merged = state.textureArrayLayers.get(texOperand.registerIndex);
2358
+ return merged === undefined || merged.kind !== "pack" ? null : merged.channel;
2359
+ }
2360
+
2361
+ /**
2362
+ * Refuses an operation that cannot be redirected at an array layer.
2363
+ *
2364
+ * Recognising the detail family proves the resources are mergeable; it does
2365
+ * not prove every *use* is. A texel fetch or a size query against a merged
2366
+ * register would silently mean something different once the register became
2367
+ * one layer of an array, so those fail the build instead.
2368
+ *
2369
+ * @param {object} state Mutable emission state.
2370
+ * @param {object} instruction Decoded DXBC instruction.
2371
+ * @param {object} texOperand Texture resource operand.
2372
+ * @private
2295
2373
  */
2296
2374
  _rejectDetailArrayMapUse(state, instruction, texOperand) {
2297
- if (!state.detailMapArrayLayers.has(texOperand.registerIndex)) return;
2298
- throw new WebglReadError(`Detail map merged into an array is used by ${instruction.opcodeName}, ` + "which this emitter cannot redirect at an array layer", {
2375
+ if (!state.textureArrayLayers.has(texOperand.registerIndex)) return;
2376
+ throw new WebglReadError(`${state.textureArrayLayers.get(texOperand.registerIndex).outputName} layer is used by ` + `${instruction.opcodeName}, which this emitter cannot redirect at an array layer`, {
2299
2377
  source: state.sourceName,
2300
2378
  register: texOperand.registerIndex,
2301
2379
  opcodeName: instruction.opcodeName
2302
2380
  });
2303
2381
  }
2304
2382
 
2305
- /**
2306
- * Resolves and validates the declared dimension of a texture operand.
2307
- *
2308
- * @param {object} state Mutable emission state.
2309
- * @param {object} instruction Decoded DXBC instruction.
2310
- * @param {object} texOperand Texture resource operand.
2311
- * @returns {number} DXBC resource-dimension code.
2312
- * @private
2383
+ /**
2384
+ * Resolves and validates the declared dimension of a texture operand.
2385
+ *
2386
+ * @param {object} state Mutable emission state.
2387
+ * @param {object} instruction Decoded DXBC instruction.
2388
+ * @param {object} texOperand Texture resource operand.
2389
+ * @returns {number} DXBC resource-dimension code.
2390
+ * @private
2313
2391
  */
2314
2392
  _resourceDimension(state, instruction, texOperand) {
2315
2393
  const dimension = state.resourceDimensions.get(texOperand.registerIndex);
@@ -2323,18 +2401,18 @@ class DxbcGlslEmitter {
2323
2401
  return dimension;
2324
2402
  }
2325
2403
 
2326
- /**
2327
- * Emits a regular, LOD, bias, gradient, or comparison texture sample.
2328
- *
2329
- * @param {object} state Mutable emission state.
2330
- * @param {object} instruction Decoded DXBC texture instruction.
2331
- * @param {object} [options={}] Sampling-mode operand indexes.
2332
- * @param {number|null} [options.lodOperandIndex=null] Explicit LOD operand.
2333
- * @param {number|null} [options.biasOperandIndex=null] LOD bias operand.
2334
- * @param {number[]|null} [options.gradOperandIndexes=null] Gradient operands.
2335
- * @param {number|null} [options.comparisonRefOperandIndex=null] Comparison reference operand.
2336
- * @param {boolean} [options.forceLodZero=false] Whether to force the LOD-zero adaptation.
2337
- * @private
2404
+ /**
2405
+ * Emits a regular, LOD, bias, gradient, or comparison texture sample.
2406
+ *
2407
+ * @param {object} state Mutable emission state.
2408
+ * @param {object} instruction Decoded DXBC texture instruction.
2409
+ * @param {object} [options={}] Sampling-mode operand indexes.
2410
+ * @param {number|null} [options.lodOperandIndex=null] Explicit LOD operand.
2411
+ * @param {number|null} [options.biasOperandIndex=null] LOD bias operand.
2412
+ * @param {number[]|null} [options.gradOperandIndexes=null] Gradient operands.
2413
+ * @param {number|null} [options.comparisonRefOperandIndex=null] Comparison reference operand.
2414
+ * @param {boolean} [options.forceLodZero=false] Whether to force the LOD-zero adaptation.
2415
+ * @private
2338
2416
  */
2339
2417
  _textureSample(state, instruction, {
2340
2418
  lodOperandIndex = null,
@@ -2411,11 +2489,11 @@ class DxbcGlslEmitter {
2411
2489
  }
2412
2490
  const dimension = this._resourceDimension(state, instruction, texOperand);
2413
2491
  const coordMask = COORD_MASK_BY_DIMENSION[dimension];
2414
- const detailLayer = this._detailMapArrayLayer(state, texOperand);
2492
+ const arrayLayer = this._textureArrayLayer(state, texOperand);
2415
2493
  const baseCoord = this._vecArg(state, coordOperand, coordMask);
2416
2494
  // A merged detail map keeps its 2D coordinate and gains the layer as a
2417
2495
  // literal third component; the register it came from is the layer.
2418
- const coord = detailLayer === null ? baseCoord : `vec3(${baseCoord}, ${detailLayer}.0)`;
2496
+ const coord = arrayLayer === null ? baseCoord : `vec3(${baseCoord}, ${arrayLayer}.0)`;
2419
2497
  const texName = state.formatter.registerReference(texOperand);
2420
2498
  const returnSwizzle = [...mask].map(component => texOperand.swizzle ? texOperand.swizzle["xyzw".indexOf(component)] : component).join("");
2421
2499
  if (comparisonRefOperandIndex !== null) {
@@ -2465,17 +2543,24 @@ class DxbcGlslEmitter {
2465
2543
  call = `texture(${texName}, ${coord})`;
2466
2544
  }
2467
2545
  call = this._applyEmulatedAddressing(state, instruction, call, coord, coordMask);
2546
+
2547
+ // A packed member's texel carries three other maps' scalars in its other
2548
+ // channels, so the value has to be reduced to its own before the
2549
+ // instruction's swizzle runs - otherwise a read of .y would silently
2550
+ // return a neighbouring map.
2551
+ const packedChannel = this._mergedChannel(state, texOperand);
2552
+ if (packedChannel !== null) call = `vec4((${call}).${packedChannel})`;
2468
2553
  this._assign(state, instruction, `${call}.${returnSwizzle}`, {
2469
2554
  saturate: instruction.saturate
2470
2555
  });
2471
2556
  }
2472
2557
 
2473
- /**
2474
- * Emits an integer-coordinate texel fetch for a declared resource.
2475
- *
2476
- * @param {object} state Mutable emission state.
2477
- * @param {object} instruction Decoded DXBC load instruction.
2478
- * @private
2558
+ /**
2559
+ * Emits an integer-coordinate texel fetch for a declared resource.
2560
+ *
2561
+ * @param {object} state Mutable emission state.
2562
+ * @param {object} instruction Decoded DXBC load instruction.
2563
+ * @private
2479
2564
  */
2480
2565
  _texelFetch(state, instruction) {
2481
2566
  const {
@@ -2511,9 +2596,9 @@ class DxbcGlslEmitter {
2511
2596
  }
2512
2597
  }
2513
2598
 
2514
- /**
2515
- * Per-opcode lowering table. Every rule cites its family spec in
2516
- * `docs/dxbc-lowering/`; templates are HLSLcc-derived, see each doc.
2599
+ /**
2600
+ * Per-opcode lowering table. Every rule cites its family spec in
2601
+ * `docs/dxbc-lowering/`; templates are HLSLcc-derived, see each doc.
2517
2602
  */
2518
2603
  DxbcGlslEmitter.LOWERINGS = {
2519
2604
  // --- float-alu ---
@@ -3094,11 +3179,11 @@ DxbcGlslEmitter.LOWERINGS = {
3094
3179
  }
3095
3180
  };
3096
3181
 
3097
- /**
3098
- * `ld_structured` lowering. Vertex UBO path reads `name.data[row]` vec4 rows;
3099
- * pixel data-texture path reads RGBA32UI texels (4 dwords per texel, fixed
3100
- * 2048-texel row width). 16-byte-aligned reads use one static channel per
3101
- * component; unaligned reads fall back to per-dword dynamic addressing.
3182
+ /**
3183
+ * `ld_structured` lowering. Vertex UBO path reads `name.data[row]` vec4 rows;
3184
+ * pixel data-texture path reads RGBA32UI texels (4 dwords per texel, fixed
3185
+ * 2048-texel row width). 16-byte-aligned reads use one static channel per
3186
+ * component; unaligned reads fall back to per-dword dynamic addressing.
3102
3187
  */
3103
3188
  DxbcGlslEmitter.prototype._ldStructured = function _ldStructured(state, instruction) {
3104
3189
  const target = state.formatter.destination(instruction.operands[0]);
@@ -3207,10 +3292,10 @@ DxbcGlslEmitter.prototype._ldStructured = function _ldStructured(state, instruct
3207
3292
  }
3208
3293
  };
3209
3294
 
3210
- /**
3211
- * `resinfo` lowering: width/height/depth via textureSize per live destination
3212
- * component; the 4th (mip-count) channel has no WebGL2 equivalent and throws
3213
- * only when a shader actually reads it.
3295
+ /**
3296
+ * `resinfo` lowering: width/height/depth via textureSize per live destination
3297
+ * component; the 4th (mip-count) channel has no WebGL2 equivalent and throws
3298
+ * only when a shader actually reads it.
3214
3299
  */
3215
3300
  DxbcGlslEmitter.prototype._resinfo = function _resinfo(state, instruction) {
3216
3301
  const {
@@ -3254,8 +3339,8 @@ DxbcGlslEmitter.prototype._resinfo = function _resinfo(state, instruction) {
3254
3339
  }
3255
3340
  };
3256
3341
 
3257
- /**
3258
- * Shared int/uint min-max lowering used by imax/imin/umax/umin.
3342
+ /**
3343
+ * Shared int/uint min-max lowering used by imax/imin/umax/umin.
3259
3344
  */
3260
3345
  DxbcGlslEmitter.prototype._intMinMax = function _intMinMax(state, instruction, fn, as) {
3261
3346
  const {
@@ -3267,16 +3352,16 @@ DxbcGlslEmitter.prototype._intMinMax = function _intMinMax(state, instruction, f
3267
3352
  this._assign(state, instruction, `${wrap}(${fn}(${a}, ${b}))`);
3268
3353
  };
3269
3354
 
3270
- /**
3271
- * `gather4` lowering: fetches one channel from each of the four texels a
3272
- * bilinear sample would blend, via the `hlslcc_textureGather4Emulated` /
3273
- * `hlslcc_textureGather4ArrayEmulated` helpers (GLSL ES 3.00 has no
3274
- * `textureGather`). Only 2D and 2D-array resources are supported — the
3275
- * dimensions the AO/blur/FSR/CAS map-style corpus this lowering targets is
3276
- * known to use (ASSAO gathers from its deinterleaved texture2darray slices).
3277
- *
3278
- * @param {object} state Emit state.
3279
- * @param {object} instruction `gather4` instruction.
3355
+ /**
3356
+ * `gather4` lowering: fetches one channel from each of the four texels a
3357
+ * bilinear sample would blend, via the `hlslcc_textureGather4Emulated` /
3358
+ * `hlslcc_textureGather4ArrayEmulated` helpers (GLSL ES 3.00 has no
3359
+ * `textureGather`). Only 2D and 2D-array resources are supported — the
3360
+ * dimensions the AO/blur/FSR/CAS map-style corpus this lowering targets is
3361
+ * known to use (ASSAO gathers from its deinterleaved texture2darray slices).
3362
+ *
3363
+ * @param {object} state Emit state.
3364
+ * @param {object} instruction `gather4` instruction.
3280
3365
  */
3281
3366
  DxbcGlslEmitter.prototype._gather4 = function _gather4(state, instruction) {
3282
3367
  const {
@@ -3296,11 +3381,21 @@ DxbcGlslEmitter.prototype._gather4 = function _gather4(state, instruction) {
3296
3381
  // A merged detail map is declared 2D but sampled through an array, so the
3297
3382
  // array helper and the layered coordinate are selected by the merge rather
3298
3383
  // than by the declared dimension.
3299
- const detailLayer = this._detailMapArrayLayer(state, texOperand);
3300
- const asArray = dimension === 8 || detailLayer !== null;
3384
+ // Gather returns four neighbouring texels of ONE channel; for a packed
3385
+ // member that channel is the pack's, not the map's, and no swizzle after
3386
+ // the fact recovers it. Refuse rather than emit something plausible.
3387
+ if (this._mergedChannel(state, texOperand) !== null) {
3388
+ throw new WebglReadError(`${state.textureArrayLayers.get(texOperand.registerIndex).outputName} channel is used by ` + `${instruction.opcodeName}, which this emitter cannot redirect at a packed channel`, {
3389
+ source: state.sourceName,
3390
+ register: texOperand.registerIndex,
3391
+ opcodeName: instruction.opcodeName
3392
+ });
3393
+ }
3394
+ const arrayLayer = this._textureArrayLayer(state, texOperand);
3395
+ const asArray = dimension === 8 || arrayLayer !== null;
3301
3396
  const helper = this.helpers.require(asArray ? "hlslcc_textureGather4ArrayEmulated" : "hlslcc_textureGather4Emulated");
3302
3397
  const baseCoord = this._vecArg(state, coordOperand, dimension === 8 ? "xyz" : "xy");
3303
- const coord = detailLayer === null ? baseCoord : `vec3(${baseCoord}, ${detailLayer}.0)`;
3398
+ const coord = arrayLayer === null ? baseCoord : `vec3(${baseCoord}, ${arrayLayer}.0)`;
3304
3399
  const texName = state.formatter.registerReference(texOperand);
3305
3400
  const channelLetter = this._gather4Channel(samplerOperand);
3306
3401
  const channelIndex = "xyzw".indexOf(channelLetter);
@@ -3310,13 +3405,13 @@ DxbcGlslEmitter.prototype._gather4 = function _gather4(state, instruction) {
3310
3405
  });
3311
3406
  };
3312
3407
 
3313
- /**
3314
- * Reads the gathered-channel selector `gather4`/`gather4_po` carry on their
3315
- * sampler operand (a 1-component swizzle; red/`x` is the default when no
3316
- * selection is encoded).
3317
- *
3318
- * @param {object} operand Decoded sampler operand.
3319
- * @returns {string} Channel letter (`x`/`y`/`z`/`w`).
3408
+ /**
3409
+ * Reads the gathered-channel selector `gather4`/`gather4_po` carry on their
3410
+ * sampler operand (a 1-component swizzle; red/`x` is the default when no
3411
+ * selection is encoded).
3412
+ *
3413
+ * @param {object} operand Decoded sampler operand.
3414
+ * @returns {string} Channel letter (`x`/`y`/`z`/`w`).
3320
3415
  */
3321
3416
  DxbcGlslEmitter.prototype._gather4Channel = function _gather4Channel(operand) {
3322
3417
  if (operand.selectionModeName === "select1" && operand.selected) {
@@ -3328,22 +3423,22 @@ DxbcGlslEmitter.prototype._gather4Channel = function _gather4Channel(operand) {
3328
3423
  return "x";
3329
3424
  };
3330
3425
 
3331
- /**
3332
- * Assembles the final GLSL text.
3426
+ /**
3427
+ * Assembles the final GLSL text.
3333
3428
  */
3334
- /**
3335
- * The depth-range fixup emitted at the end of a vertex stage, by source range.
3336
- *
3337
- * Both entries map their range onto GL NDC [-1, 1] and both compose to the
3338
- * identity with a projection of the matching form, so an unbiased vertex is
3339
- * unchanged either way. See `profile.depthRange`.
3340
- * @type {Object.<string,string>}
3429
+ /**
3430
+ * The depth-range fixup emitted at the end of a vertex stage, by source range.
3431
+ *
3432
+ * Both entries map their range onto GL NDC [-1, 1] and both compose to the
3433
+ * identity with a projection of the matching form, so an unbiased vertex is
3434
+ * unchanged either way. See `profile.depthRange`.
3435
+ * @type {Object.<string,string>}
3341
3436
  */
3342
- /**
3343
- * The clip-space Y flip uniform and tail emitted when `profile.clipYFlip` is set.
3344
- * Name and statements match CCP's shipped gles2 vertex bodies exactly, so a
3345
- * consumer drives translated and legacy stages through the one uniform.
3346
- * @type {string}
3437
+ /**
3438
+ * The clip-space Y flip uniform and tail emitted when `profile.clipYFlip` is set.
3439
+ * Name and statements match CCP's shipped gles2 vertex bodies exactly, so a
3440
+ * consumer drives translated and legacy stages through the one uniform.
3441
+ * @type {string}
3347
3442
  */
3348
3443
  const CLIP_Y_FLIP_UNIFORM = "ssyf";
3349
3444