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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1620) hide show
  1. package/NOTICE +5 -4
  2. package/dist/audio/generated/audio/AudEventKey.js +2 -2
  3. package/dist/audio/generated/audio/AudEventKey.js.map +1 -1
  4. package/dist/audio/generated/audio/AudSettings.js +2 -2
  5. package/dist/audio/generated/audio/AudSettings.js.map +1 -1
  6. package/dist/audio/index.js +1 -1
  7. package/dist/audio/trinity/audio/AudEmitter.js +4 -5
  8. package/dist/audio/trinity/audio/AudEmitter.js.map +1 -1
  9. package/dist/audio/trinity/audio/AudEventCurve.js +14 -14
  10. package/dist/audio/trinity/audio/AudEventCurve.js.map +1 -1
  11. package/dist/audio/trinity/audio/AudGameObjResource.js +13 -25
  12. package/dist/audio/trinity/audio/AudGameObjResource.js.map +1 -1
  13. package/dist/audio/trinity/audio/AudManager.js +2 -2
  14. package/dist/audio/trinity/audio/AudManager.js.map +1 -1
  15. package/dist/audio/trinity/audio/AudParameter.js +7 -11
  16. package/dist/audio/trinity/audio/AudParameter.js.map +1 -1
  17. package/dist/audio/trinity/audio/AudUIPlayer.js +2 -2
  18. package/dist/audio/trinity/audio/AudUIPlayer.js.map +1 -1
  19. package/dist/audio/trinity/audio/AudioCurveSetDriver.js +2 -2
  20. package/dist/audio/trinity/audio/AudioCurveSetDriver.js.map +1 -1
  21. package/dist/audio/trinity/audio/StretchAudio.js +2 -2
  22. package/dist/audio/trinity/audio/StretchAudio.js.map +1 -1
  23. package/dist/audio/trinity/index.js +1 -1
  24. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js +2 -2
  25. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js.map +1 -1
  26. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js +2 -2
  27. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js.map +1 -1
  28. package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js +1 -37
  29. package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js.map +1 -1
  30. package/dist/character/incarna/curves/Tr2ColorCurve.js +2 -2
  31. package/dist/character/incarna/curves/Tr2ColorCurve.js.map +1 -1
  32. package/dist/character/incarna/curves/Tr2ColorKey.js +2 -2
  33. package/dist/character/incarna/curves/Tr2ColorKey.js.map +1 -1
  34. package/dist/character/incarna/curves/Tr2ScalarCurve.js +2 -2
  35. package/dist/character/incarna/curves/Tr2ScalarCurve.js.map +1 -1
  36. package/dist/character/incarna/curves/Tr2ScalarKey.js +2 -2
  37. package/dist/character/incarna/curves/Tr2ScalarKey.js.map +1 -1
  38. package/dist/character/incarna/interior/Tr2InteriorCell.js +2 -2
  39. package/dist/character/incarna/interior/Tr2InteriorCell.js.map +1 -1
  40. package/dist/character/library/CjsCharacterLibrary.js +9 -16
  41. package/dist/character/library/CjsCharacterLibrary.js.map +1 -1
  42. package/dist/character/library/CjsCharacterLibraryDocuments.js +20 -4
  43. package/dist/character/library/CjsCharacterLibraryDocuments.js.map +1 -1
  44. package/dist/character/model/CjsCharacterRecord.js +2 -2
  45. package/dist/character/model/CjsCharacterRecord.js.map +1 -1
  46. package/dist/character/model/activity/CjsCharacterArchetype.js +2 -2
  47. package/dist/character/model/activity/CjsCharacterArchetype.js.map +1 -1
  48. package/dist/character/model/appearance/CjsCharacterColorLocation.js +2 -2
  49. package/dist/character/model/appearance/CjsCharacterColorLocation.js.map +1 -1
  50. package/dist/character/model/appearance/CjsCharacterColorName.js +2 -2
  51. package/dist/character/model/appearance/CjsCharacterColorName.js.map +1 -1
  52. package/dist/character/model/appearance/CjsCharacterColorSelection.js +2 -2
  53. package/dist/character/model/appearance/CjsCharacterColorSelection.js.map +1 -1
  54. package/dist/character/model/appearance/CjsCharacterSculptSelection.js +2 -2
  55. package/dist/character/model/appearance/CjsCharacterSculptSelection.js.map +1 -1
  56. package/dist/character/model/appearance/CjsCharacterSculptingLocation.js +2 -2
  57. package/dist/character/model/appearance/CjsCharacterSculptingLocation.js.map +1 -1
  58. package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js +2 -2
  59. package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js.map +1 -1
  60. package/dist/character/model/catalog/CjsCharacterColorValue.js +2 -2
  61. package/dist/character/model/catalog/CjsCharacterColorValue.js.map +1 -1
  62. package/dist/character/model/catalog/CjsCharacterDefinition.js +2 -2
  63. package/dist/character/model/catalog/CjsCharacterDefinition.js.map +1 -1
  64. package/dist/character/model/catalog/CjsCharacterMaterialProfile.js +2 -2
  65. package/dist/character/model/catalog/CjsCharacterMaterialProfile.js.map +1 -1
  66. package/dist/character/model/catalog/CjsCharacterModifierReference.js +2 -2
  67. package/dist/character/model/catalog/CjsCharacterModifierReference.js.map +1 -1
  68. package/dist/character/model/catalog/CjsCharacterPartMetadata.js +2 -2
  69. package/dist/character/model/catalog/CjsCharacterPartMetadata.js.map +1 -1
  70. package/dist/character/model/catalog/CjsCharacterPartModelBundle.js +2 -2
  71. package/dist/character/model/catalog/CjsCharacterPartModelBundle.js.map +1 -1
  72. package/dist/character/model/catalog/CjsCharacterPartSource.js +2 -2
  73. package/dist/character/model/catalog/CjsCharacterPartSource.js.map +1 -1
  74. package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js +2 -2
  75. package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js.map +1 -1
  76. package/dist/character/model/catalog/CjsCharacterPartType.js +2 -2
  77. package/dist/character/model/catalog/CjsCharacterPartType.js.map +1 -1
  78. package/dist/character/model/catalog/CjsCharacterProjectionProfile.js +2 -2
  79. package/dist/character/model/catalog/CjsCharacterProjectionProfile.js.map +1 -1
  80. package/dist/character/model/catalog/CjsCharacterRecipeEntry.js +2 -2
  81. package/dist/character/model/catalog/CjsCharacterRecipeEntry.js.map +1 -1
  82. package/dist/character/model/catalog/CjsCharacterRecipeProfile.js +2 -2
  83. package/dist/character/model/catalog/CjsCharacterRecipeProfile.js.map +1 -1
  84. package/dist/character/model/catalog/CjsCharacterTextureMetadata.js +2 -2
  85. package/dist/character/model/catalog/CjsCharacterTextureMetadata.js.map +1 -1
  86. package/dist/character/model/composition/CjsCharacterModifierLocation.js +2 -2
  87. package/dist/character/model/composition/CjsCharacterModifierLocation.js.map +1 -1
  88. package/dist/character/model/composition/CjsCharacterModifierSelection.js +2 -2
  89. package/dist/character/model/composition/CjsCharacterModifierSelection.js.map +1 -1
  90. package/dist/character/model/creation/CjsCharacterPaperdoll.js +2 -2
  91. package/dist/character/model/creation/CjsCharacterPaperdoll.js.map +1 -1
  92. package/dist/character/model/demographics/CjsCharacterAncestry.js +2 -2
  93. package/dist/character/model/demographics/CjsCharacterAncestry.js.map +1 -1
  94. package/dist/character/model/demographics/CjsCharacterBloodline.js +2 -2
  95. package/dist/character/model/demographics/CjsCharacterBloodline.js.map +1 -1
  96. package/dist/character/model/demographics/CjsCharacterRace.js +2 -2
  97. package/dist/character/model/demographics/CjsCharacterRace.js.map +1 -1
  98. package/dist/character/model/planning/CjsCharacterAppearanceBinding.js +2 -2
  99. package/dist/character/model/planning/CjsCharacterAppearanceBinding.js.map +1 -1
  100. package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js +2 -2
  101. package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js.map +1 -1
  102. package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js +2 -2
  103. package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js.map +1 -1
  104. package/dist/character/model/planning/CjsCharacterAppearanceLayer.js +2 -2
  105. package/dist/character/model/planning/CjsCharacterAppearanceLayer.js.map +1 -1
  106. package/dist/character/model/planning/CjsCharacterAppearancePlan.js +2 -2
  107. package/dist/character/model/planning/CjsCharacterAppearancePlan.js.map +1 -1
  108. package/dist/character/model/planning/CjsCharacterAppearanceSelection.js +2 -2
  109. package/dist/character/model/planning/CjsCharacterAppearanceSelection.js.map +1 -1
  110. package/dist/character/model/planning/CjsCharacterBindingAlpha.js +2 -2
  111. package/dist/character/model/planning/CjsCharacterBindingAlpha.js.map +1 -1
  112. package/dist/character/model/planning/CjsCharacterCompositionInput.js +2 -2
  113. package/dist/character/model/planning/CjsCharacterCompositionInput.js.map +1 -1
  114. package/dist/character/model/planning/CjsCharacterCompositionPass.js +2 -2
  115. package/dist/character/model/planning/CjsCharacterCompositionPass.js.map +1 -1
  116. package/dist/character/model/planning/CjsCharacterCompositionTarget.js +2 -2
  117. package/dist/character/model/planning/CjsCharacterCompositionTarget.js.map +1 -1
  118. package/dist/character/model/planning/CjsCharacterCoverage.js +2 -2
  119. package/dist/character/model/planning/CjsCharacterCoverage.js.map +1 -1
  120. package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js +2 -2
  121. package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js.map +1 -1
  122. package/dist/character/model/planning/CjsCharacterOrigin.js +2 -2
  123. package/dist/character/model/planning/CjsCharacterOrigin.js.map +1 -1
  124. package/dist/character/model/planning/CjsCharacterResolvedPart.js +2 -2
  125. package/dist/character/model/planning/CjsCharacterResolvedPart.js.map +1 -1
  126. package/dist/character/model/planning/CjsCharacterTextureAsset.js +2 -2
  127. package/dist/character/model/planning/CjsCharacterTextureAsset.js.map +1 -1
  128. package/dist/character/model/planning/CjsCharacterTextureChannel.js +2 -2
  129. package/dist/character/model/planning/CjsCharacterTextureChannel.js.map +1 -1
  130. package/dist/character/model/resources/CjsCharacterPortraitResource.js +2 -2
  131. package/dist/character/model/resources/CjsCharacterPortraitResource.js.map +1 -1
  132. package/dist/character/model/resources/CjsCharacterResource.js +2 -2
  133. package/dist/character/model/resources/CjsCharacterResource.js.map +1 -1
  134. package/dist/character/trinity/interior/Tr2IntSkinnedObject.js +6 -5
  135. package/dist/character/trinity/interior/Tr2IntSkinnedObject.js.map +1 -1
  136. package/dist/character/trinity/interior/Tr2InteriorLightSource.js +2 -2
  137. package/dist/character/trinity/interior/Tr2InteriorLightSource.js.map +1 -1
  138. package/dist/character/trinity/interior/Tr2InteriorPlaceable.js +4 -5
  139. package/dist/character/trinity/interior/Tr2InteriorPlaceable.js.map +1 -1
  140. package/dist/character/trinity/interior/Tr2InteriorScene.js +2 -2
  141. package/dist/character/trinity/interior/Tr2InteriorScene.js.map +1 -1
  142. package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js +2 -2
  143. package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js.map +1 -1
  144. package/dist/character/trinity/trinityCore/Tr2GStateParameter.js +2 -2
  145. package/dist/character/trinity/trinityCore/Tr2GStateParameter.js.map +1 -1
  146. package/dist/character/trinity/trinityCore/Tr2Model.js +2 -2
  147. package/dist/character/trinity/trinityCore/Tr2Model.js.map +1 -1
  148. package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js +21 -10
  149. package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js.map +1 -1
  150. package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js +64 -57
  151. package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js.map +1 -1
  152. package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js +1 -1
  153. package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js.map +1 -1
  154. package/dist/character/trinity/wod/WodBakingScene.js +2 -2
  155. package/dist/character/trinity/wod/WodBakingScene.js.map +1 -1
  156. package/dist/core/CjsLibrary.js +32 -685
  157. package/dist/core/CjsLibrary.js.map +1 -1
  158. package/dist/core/index.js +1 -2
  159. package/dist/core/index.js.map +1 -1
  160. package/dist/global/blue/BeInfo.js +95 -0
  161. package/dist/global/blue/BeInfo.js.map +1 -0
  162. package/dist/global/blue/CcpDateTime.js +53 -0
  163. package/dist/global/blue/CcpDateTime.js.map +1 -0
  164. package/dist/global/blue/CcpTime.js +148 -0
  165. package/dist/global/blue/CcpTime.js.map +1 -0
  166. package/dist/global/blue/CjsBlueOS.js +301 -0
  167. package/dist/global/blue/CjsBlueOS.js.map +1 -0
  168. package/dist/global/blue/CjsBluePaths.js +97 -0
  169. package/dist/global/blue/CjsBluePaths.js.map +1 -0
  170. package/dist/global/blue/IBlueDynamicResourceConstructor.js +29 -0
  171. package/dist/global/blue/IBlueDynamicResourceConstructor.js.map +1 -0
  172. package/dist/global/blue/IBlueEvents.js +34 -0
  173. package/dist/global/blue/IBlueEvents.js.map +1 -0
  174. package/dist/global/blue/IBlueOS.js +132 -0
  175. package/dist/global/blue/IBlueOS.js.map +1 -0
  176. package/dist/global/blue/IBluePaths.js +72 -0
  177. package/dist/global/blue/IBluePaths.js.map +1 -0
  178. package/dist/global/blue/IBlueResMan.js +93 -0
  179. package/dist/global/blue/IBlueResMan.js.map +1 -0
  180. package/dist/global/blue/IBlueResManNotifications.js +51 -0
  181. package/dist/global/blue/IBlueResManNotifications.js.map +1 -0
  182. package/dist/global/blue/ICatchupTicks.js +25 -0
  183. package/dist/global/blue/ICatchupTicks.js.map +1 -0
  184. package/dist/global/blue/IInitialize.js +47 -0
  185. package/dist/global/blue/IInitialize.js.map +1 -0
  186. package/dist/global/blue/IListNotify.js +44 -0
  187. package/dist/global/blue/IListNotify.js.map +1 -0
  188. package/dist/global/blue/INotify.js +65 -0
  189. package/dist/global/blue/INotify.js.map +1 -0
  190. package/dist/global/blue/ISimTimeRebaseNotify.js +28 -0
  191. package/dist/global/blue/ISimTimeRebaseNotify.js.map +1 -0
  192. package/dist/global/blue/IVariableTicker.js +24 -0
  193. package/dist/global/blue/IVariableTicker.js.map +1 -0
  194. package/dist/global/blue/blue.js +61 -0
  195. package/dist/global/blue/blue.js.map +1 -0
  196. package/dist/global/blue/enums/CjsBlueEnumRegistry.js +173 -0
  197. package/dist/global/blue/enums/CjsBlueEnumRegistry.js.map +1 -0
  198. package/dist/global/blue/index.js +19 -0
  199. package/dist/global/blue/index.js.map +1 -1
  200. package/dist/global/blue/registerTrinityEnums.js +43 -0
  201. package/dist/global/blue/registerTrinityEnums.js.map +1 -0
  202. package/dist/global/compose/abstract.js +81 -0
  203. package/dist/global/compose/abstract.js.map +1 -0
  204. package/dist/global/compose/interface.js +131 -26
  205. package/dist/global/compose/interface.js.map +1 -1
  206. package/dist/global/compose/notify.js +10 -1
  207. package/dist/global/compose/notify.js.map +1 -1
  208. package/dist/global/compose/values.js +116 -53
  209. package/dist/global/compose/values.js.map +1 -1
  210. package/dist/global/consts/blue.js +73 -0
  211. package/dist/global/consts/blue.js.map +1 -0
  212. package/dist/global/consts/graphics/index.js +1 -1
  213. package/dist/global/consts/graphics/trinityEnums.js +19 -7
  214. package/dist/global/consts/graphics/trinityEnums.js.map +1 -1
  215. package/dist/global/consts/index.js +2 -1
  216. package/dist/global/consts/index.js.map +1 -1
  217. package/dist/global/consts/trinity.js.map +1 -1
  218. package/dist/global/contracts/ITr2BoundingBox.js +1 -34
  219. package/dist/global/contracts/ITr2BoundingBox.js.map +1 -1
  220. package/dist/global/contracts/ITr2RenderNode.js +1 -27
  221. package/dist/global/contracts/ITr2RenderNode.js.map +1 -1
  222. package/dist/global/contracts/index.js +2 -4
  223. package/dist/global/contracts/index.js.map +1 -1
  224. package/dist/global/index.js +23 -5
  225. package/dist/global/index.js.map +1 -1
  226. package/dist/global/model/CjsModel.js +79 -98
  227. package/dist/global/model/CjsModel.js.map +1 -1
  228. package/dist/global/model/CjsModelState.js +0 -15
  229. package/dist/global/model/CjsModelState.js.map +1 -1
  230. package/dist/global/model/index.js +1 -1
  231. package/dist/global/schema/CjsSchema.js +177 -51
  232. package/dist/global/schema/CjsSchema.js.map +1 -1
  233. package/dist/global/schema/index.js +4 -3
  234. package/dist/global/schema/index.js.map +1 -1
  235. package/dist/global/schema/types/carbonTypes.js +1 -1
  236. package/dist/global/schema/types/carbonTypes.js.map +1 -1
  237. package/dist/global/utils/bytes.js +2 -0
  238. package/dist/global/utils/bytes.js.map +1 -1
  239. package/dist/global/utils/path.js +30 -1
  240. package/dist/global/utils/path.js.map +1 -1
  241. package/dist/index.js +57 -24
  242. package/dist/index.js.map +1 -1
  243. package/dist/resource/CjsResMan.js +33 -43
  244. package/dist/resource/CjsResMan.js.map +1 -1
  245. package/dist/resource/CjsResource.js +4 -1
  246. package/dist/resource/CjsResource.js.map +1 -1
  247. package/dist/resource/format/CjsBlueReader.js +0 -1
  248. package/dist/resource/format/CjsBlueReader.js.map +1 -1
  249. package/dist/resource/format/CjsResourceProbe.js +15 -16
  250. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  251. package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js +132 -75
  252. package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js.map +1 -1
  253. package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js +26 -0
  254. package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js.map +1 -1
  255. package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js +2 -1
  256. package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js.map +1 -1
  257. package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js +4 -0
  258. package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js.map +1 -0
  259. package/dist/resource/formats/black/core/blackDefinitions.js +1 -1
  260. package/dist/resource/formats/black/core/blackDefinitions.js.map +1 -1
  261. package/dist/resource/formats/black/core/blackSchema.js +1 -1
  262. package/dist/resource/formats/dds/CjsDdsFormat.js +50 -1
  263. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  264. package/dist/resource/formats/dds/core/helpers.js +51 -5
  265. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  266. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js +94 -0
  267. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js.map +1 -0
  268. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js +189 -0
  269. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js.map +1 -0
  270. package/dist/resource/formats/fsd/64/readers/index.js +2 -0
  271. package/dist/resource/formats/fsd/64/readers/index.js.map +1 -1
  272. package/dist/resource/formats/hlsl/core/detailMapFamily.js +18 -92
  273. package/dist/resource/formats/hlsl/core/detailMapFamily.js.map +1 -1
  274. package/dist/resource/formats/hlsl/core/textureArrayFamilies.js +285 -0
  275. package/dist/resource/formats/hlsl/core/textureArrayFamilies.js.map +1 -0
  276. package/dist/resource/formats/pickle/CjsPickleFormat.js +34 -14
  277. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  278. package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js +60 -451
  279. package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -1
  280. package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js +407 -0
  281. package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js.map +1 -0
  282. package/dist/resource/formats/pickle/core/pickleCommon.js +671 -0
  283. package/dist/resource/formats/pickle/core/pickleCommon.js.map +1 -0
  284. package/dist/resource/formats/red/core/blackDefinitions.js +1 -1
  285. package/dist/resource/formats/webgl/core/effectPackage.js +85 -7
  286. package/dist/resource/formats/webgl/core/effectPackage.js.map +1 -1
  287. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +659 -564
  288. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  289. package/dist/resource/formats/webgl/core/glslBackendBodySet.js +4 -4
  290. package/dist/resource/formats/webgl/core/glslBackendBodySet.js.map +1 -1
  291. package/dist/resource/formats/webgl/core/helpers.js +2 -2
  292. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  293. package/dist/resource/geometry/TriGeometryRes.js +61 -7
  294. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  295. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +11 -11
  296. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  297. package/dist/resource/index.js +9 -0
  298. package/dist/resource/index.js.map +1 -1
  299. package/dist/resource/shader/Tr2EffectRes.js +2 -3
  300. package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
  301. package/dist/resource/shader/Tr2MaterialArea.js +3 -3
  302. package/dist/resource/shader/Tr2MaterialArea.js.map +1 -1
  303. package/dist/resource/shader/Tr2MaterialMesh.js +2 -2
  304. package/dist/resource/shader/Tr2MaterialMesh.js.map +1 -1
  305. package/dist/resource/shader/Tr2MaterialRes.js +3 -3
  306. package/dist/resource/shader/Tr2MaterialRes.js.map +1 -1
  307. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +2 -2
  308. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  309. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +2 -2
  310. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  311. package/dist/resource/shader/reflection/Tr2Pass.js +4 -4
  312. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  313. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  314. package/dist/resource/texture/Tr2ImageRes.js +3 -4
  315. package/dist/resource/texture/Tr2ImageRes.js.map +1 -1
  316. package/dist/resource/texture/Tr2TextureLodManager.js +0 -1
  317. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  318. package/dist/resource/texture/Tr2TexturePackChannel.js +4 -4
  319. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  320. package/dist/resource/texture/Tr2TexturePipeline.js +3 -4
  321. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  322. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +5 -5
  323. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  324. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +3 -3
  325. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +2 -2
  327. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +6 -6
  329. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  330. package/dist/resource/texture/TriTextureRes.js +23 -22
  331. package/dist/resource/texture/TriTextureRes.js.map +1 -1
  332. package/dist/resource/video/AudioMetadata.js +41 -0
  333. package/dist/resource/video/AudioMetadata.js.map +1 -0
  334. package/dist/resource/video/IAudioSink.js +51 -0
  335. package/dist/resource/video/IAudioSink.js.map +1 -0
  336. package/dist/resource/video/IEncodedFrame.js +52 -0
  337. package/dist/resource/video/IEncodedFrame.js.map +1 -0
  338. package/dist/resource/video/IVideoContainerParser.js +70 -0
  339. package/dist/resource/video/IVideoContainerParser.js.map +1 -0
  340. package/dist/resource/video/IVideoDecoder.js +36 -0
  341. package/dist/resource/video/IVideoDecoder.js.map +1 -0
  342. package/dist/resource/video/PcmFrame.js +33 -0
  343. package/dist/resource/video/PcmFrame.js.map +1 -0
  344. package/dist/resource/video/VideoFrame.js +45 -0
  345. package/dist/resource/video/VideoFrame.js.map +1 -0
  346. package/dist/resource/video/VideoMetadata.js +34 -0
  347. package/dist/resource/video/VideoMetadata.js.map +1 -0
  348. package/dist/resource/video/enums.js +30 -0
  349. package/dist/resource/video/enums.js.map +1 -0
  350. package/dist/sof/EveSOF.js +176 -176
  351. package/dist/sof/EveSOF.js.map +1 -1
  352. package/dist/sof/EveSOFDNA.js +5 -1
  353. package/dist/sof/EveSOFDNA.js.map +1 -1
  354. package/dist/sof/EveSOFData.js +2 -2
  355. package/dist/sof/EveSOFData.js.map +1 -1
  356. package/dist/sof/faction/EveSOFDataFaction.js +2 -2
  357. package/dist/sof/faction/EveSOFDataFaction.js.map +1 -1
  358. package/dist/sof/faction/EveSOFDataFactionChild.js +2 -2
  359. package/dist/sof/faction/EveSOFDataFactionChild.js.map +1 -1
  360. package/dist/sof/faction/EveSOFDataFactionColorSet.js +189 -3
  361. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  362. package/dist/sof/faction/EveSOFDataFactionHullArea.js +2 -2
  363. package/dist/sof/faction/EveSOFDataFactionHullArea.js.map +1 -1
  364. package/dist/sof/faction/EveSOFDataFactionPlaneSet.js +2 -2
  365. package/dist/sof/faction/EveSOFDataFactionPlaneSet.js.map +1 -1
  366. package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js +2 -2
  367. package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js.map +1 -1
  368. package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js +2 -2
  369. package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js.map +1 -1
  370. package/dist/sof/generic/EveSOFDataGeneric.js +234 -230
  371. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  372. package/dist/sof/generic/EveSOFDataGenericDamage.js +2 -2
  373. package/dist/sof/generic/EveSOFDataGenericDamage.js.map +1 -1
  374. package/dist/sof/generic/EveSOFDataGenericDecalShader.js +2 -2
  375. package/dist/sof/generic/EveSOFDataGenericDecalShader.js.map +1 -1
  376. package/dist/sof/generic/EveSOFDataGenericHullCategory.js +27 -23
  377. package/dist/sof/generic/EveSOFDataGenericHullCategory.js.map +1 -1
  378. package/dist/sof/generic/EveSOFDataGenericHullDamage.js +2 -2
  379. package/dist/sof/generic/EveSOFDataGenericHullDamage.js.map +1 -1
  380. package/dist/sof/generic/EveSOFDataGenericShader.js +2 -2
  381. package/dist/sof/generic/EveSOFDataGenericShader.js.map +1 -1
  382. package/dist/sof/generic/EveSOFDataGenericString.js +2 -2
  383. package/dist/sof/generic/EveSOFDataGenericString.js.map +1 -1
  384. package/dist/sof/generic/EveSOFDataGenericSwarm.js +2 -2
  385. package/dist/sof/generic/EveSOFDataGenericSwarm.js.map +1 -1
  386. package/dist/sof/generic/EveSOFDataGenericVariant.js +2 -2
  387. package/dist/sof/generic/EveSOFDataGenericVariant.js.map +1 -1
  388. package/dist/sof/generic/EveSOFDataVisibilityGroup.js +2 -2
  389. package/dist/sof/generic/EveSOFDataVisibilityGroup.js.map +1 -1
  390. package/dist/sof/hull/EveSOFDataHull.js +56 -3
  391. package/dist/sof/hull/EveSOFDataHull.js.map +1 -1
  392. package/dist/sof/hull/EveSOFDataHullAnimation.js +2 -2
  393. package/dist/sof/hull/EveSOFDataHullAnimation.js.map +1 -1
  394. package/dist/sof/hull/EveSOFDataHullArea.js +58 -54
  395. package/dist/sof/hull/EveSOFDataHullArea.js.map +1 -1
  396. package/dist/sof/hull/EveSOFDataHullBanner.js +109 -3
  397. package/dist/sof/hull/EveSOFDataHullBanner.js.map +1 -1
  398. package/dist/sof/hull/EveSOFDataHullBannerLight.js +2 -2
  399. package/dist/sof/hull/EveSOFDataHullBannerLight.js.map +1 -1
  400. package/dist/sof/hull/EveSOFDataHullBannerSet.js +2 -2
  401. package/dist/sof/hull/EveSOFDataHullBannerSet.js.map +1 -1
  402. package/dist/sof/hull/EveSOFDataHullBannerSetItem.js +109 -3
  403. package/dist/sof/hull/EveSOFDataHullBannerSetItem.js.map +1 -1
  404. package/dist/sof/hull/EveSOFDataHullBooster.js +2 -2
  405. package/dist/sof/hull/EveSOFDataHullBooster.js.map +1 -1
  406. package/dist/sof/hull/EveSOFDataHullBoosterItem.js +2 -2
  407. package/dist/sof/hull/EveSOFDataHullBoosterItem.js.map +1 -1
  408. package/dist/sof/hull/EveSOFDataHullChild.js +55 -50
  409. package/dist/sof/hull/EveSOFDataHullChild.js.map +1 -1
  410. package/dist/sof/hull/EveSOFDataHullChildSet.js +2 -2
  411. package/dist/sof/hull/EveSOFDataHullChildSet.js.map +1 -1
  412. package/dist/sof/hull/EveSOFDataHullChildSetItem.js +51 -46
  413. package/dist/sof/hull/EveSOFDataHullChildSetItem.js.map +1 -1
  414. package/dist/sof/hull/EveSOFDataHullController.js +2 -2
  415. package/dist/sof/hull/EveSOFDataHullController.js.map +1 -1
  416. package/dist/sof/hull/EveSOFDataHullDecalSet.js +2 -2
  417. package/dist/sof/hull/EveSOFDataHullDecalSet.js.map +1 -1
  418. package/dist/sof/hull/EveSOFDataHullDecalSetItem.js +45 -3
  419. package/dist/sof/hull/EveSOFDataHullDecalSetItem.js.map +1 -1
  420. package/dist/sof/hull/EveSOFDataHullHazeSet.js +21 -3
  421. package/dist/sof/hull/EveSOFDataHullHazeSet.js.map +1 -1
  422. package/dist/sof/hull/EveSOFDataHullHazeSetItem.js +47 -43
  423. package/dist/sof/hull/EveSOFDataHullHazeSetItem.js.map +1 -1
  424. package/dist/sof/hull/EveSOFDataHullLightSet.js +2 -2
  425. package/dist/sof/hull/EveSOFDataHullLightSet.js.map +1 -1
  426. package/dist/sof/hull/EveSOFDataHullLightSetItem.js +4 -2
  427. package/dist/sof/hull/EveSOFDataHullLightSetItem.js.map +1 -1
  428. package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js +2 -2
  429. package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js.map +1 -1
  430. package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js +2 -2
  431. package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js.map +1 -1
  432. package/dist/sof/hull/EveSOFDataHullLocator.js +2 -2
  433. package/dist/sof/hull/EveSOFDataHullLocator.js.map +1 -1
  434. package/dist/sof/hull/EveSOFDataHullLocatorSet.js +2 -2
  435. package/dist/sof/hull/EveSOFDataHullLocatorSet.js.map +1 -1
  436. package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js +2 -2
  437. package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js.map +1 -1
  438. package/dist/sof/hull/EveSOFDataHullPlaneSet.js +29 -3
  439. package/dist/sof/hull/EveSOFDataHullPlaneSet.js.map +1 -1
  440. package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js +81 -75
  441. package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js.map +1 -1
  442. package/dist/sof/hull/EveSOFDataHullSoundEmitter.js +2 -2
  443. package/dist/sof/hull/EveSOFDataHullSoundEmitter.js.map +1 -1
  444. package/dist/sof/hull/EveSOFDataHullSpotlightSet.js +2 -2
  445. package/dist/sof/hull/EveSOFDataHullSpotlightSet.js.map +1 -1
  446. package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js +45 -41
  447. package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js.map +1 -1
  448. package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js +2 -2
  449. package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js.map +1 -1
  450. package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js +70 -66
  451. package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js.map +1 -1
  452. package/dist/sof/hull/EveSOFDataHullSpriteSet.js +2 -2
  453. package/dist/sof/hull/EveSOFDataHullSpriteSet.js.map +1 -1
  454. package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js +45 -41
  455. package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js.map +1 -1
  456. package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js +2 -2
  457. package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js.map +1 -1
  458. package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js +2 -2
  459. package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js.map +1 -1
  460. package/dist/sof/layout/EveSOFDataHullExtensionBucket.js +2 -2
  461. package/dist/sof/layout/EveSOFDataHullExtensionBucket.js.map +1 -1
  462. package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js +2 -2
  463. package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js.map +1 -1
  464. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js +2 -2
  465. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js.map +1 -1
  466. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js +35 -3
  467. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js.map +1 -1
  468. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js +2 -2
  469. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js.map +1 -1
  470. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js +2 -2
  471. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js.map +1 -1
  472. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js +2 -2
  473. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js.map +1 -1
  474. package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js +2 -2
  475. package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js.map +1 -1
  476. package/dist/sof/layout/EveSOFDataLayout.js +2 -2
  477. package/dist/sof/layout/EveSOFDataLayout.js.map +1 -1
  478. package/dist/sof/pattern/EveSOFDataPattern.js +2 -2
  479. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  480. package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js +2 -2
  481. package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js.map +1 -1
  482. package/dist/sof/pattern/EveSOFDataPatternLayer.js +60 -3
  483. package/dist/sof/pattern/EveSOFDataPatternLayer.js.map +1 -1
  484. package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js +23 -3
  485. package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js.map +1 -1
  486. package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js +2 -2
  487. package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js.map +1 -1
  488. package/dist/sof/pattern/EveSOFDataPatternPerHull.js +2 -2
  489. package/dist/sof/pattern/EveSOFDataPatternPerHull.js.map +1 -1
  490. package/dist/sof/pattern/EveSOFDataPatternTransform.js +2 -2
  491. package/dist/sof/pattern/EveSOFDataPatternTransform.js.map +1 -1
  492. package/dist/sof/race/EveSOFDataRace.js +46 -42
  493. package/dist/sof/race/EveSOFDataRace.js.map +1 -1
  494. package/dist/sof/race/EveSOFDataRaceDamage.js +2 -2
  495. package/dist/sof/race/EveSOFDataRaceDamage.js.map +1 -1
  496. package/dist/sof/shared/CjsExternalRef.js +2 -2
  497. package/dist/sof/shared/CjsExternalRef.js.map +1 -1
  498. package/dist/sof/shared/EveSOFDNADescriptor.js +2 -2
  499. package/dist/sof/shared/EveSOFDNADescriptor.js.map +1 -1
  500. package/dist/sof/shared/EveSOFDataArea.js +61 -3
  501. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  502. package/dist/sof/shared/EveSOFDataAreaMaterial.js +4 -2
  503. package/dist/sof/shared/EveSOFDataAreaMaterial.js.map +1 -1
  504. package/dist/sof/shared/EveSOFDataBlinkType.js +48 -8
  505. package/dist/sof/shared/EveSOFDataBlinkType.js.map +1 -1
  506. package/dist/sof/shared/EveSOFDataBooster.js +2 -2
  507. package/dist/sof/shared/EveSOFDataBooster.js.map +1 -1
  508. package/dist/sof/shared/EveSOFDataBoosterShape.js +2 -2
  509. package/dist/sof/shared/EveSOFDataBoosterShape.js.map +1 -1
  510. package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js +2 -2
  511. package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js.map +1 -1
  512. package/dist/sof/shared/EveSOFDataInstancedMesh.js +40 -3
  513. package/dist/sof/shared/EveSOFDataInstancedMesh.js.map +1 -1
  514. package/dist/sof/shared/EveSOFDataLogo.js +2 -2
  515. package/dist/sof/shared/EveSOFDataLogo.js.map +1 -1
  516. package/dist/sof/shared/EveSOFDataLogoSet.js +33 -3
  517. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  518. package/dist/sof/shared/EveSOFDataMaterial.js +2 -2
  519. package/dist/sof/shared/EveSOFDataMaterial.js.map +1 -1
  520. package/dist/sof/shared/EveSOFDataParameter.js +2 -2
  521. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  522. package/dist/sof/shared/EveSOFDataParameterBool.js +2 -2
  523. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -1
  524. package/dist/sof/shared/EveSOFDataParameterColor.js +2 -2
  525. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -1
  526. package/dist/sof/shared/EveSOFDataParameterFloat.js +2 -2
  527. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -1
  528. package/dist/sof/shared/EveSOFDataParameterInt.js +2 -2
  529. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -1
  530. package/dist/sof/shared/EveSOFDataParameterVector2.js +2 -2
  531. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -1
  532. package/dist/sof/shared/EveSOFDataParameterVector3.js +2 -2
  533. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -1
  534. package/dist/sof/shared/EveSOFDataPointLightAttachment.js +2 -2
  535. package/dist/sof/shared/EveSOFDataPointLightAttachment.js.map +1 -1
  536. package/dist/sof/shared/EveSOFDataSpotLightAttachment.js +2 -2
  537. package/dist/sof/shared/EveSOFDataSpotLightAttachment.js.map +1 -1
  538. package/dist/sof/shared/EveSOFDataTexture.js +2 -2
  539. package/dist/sof/shared/EveSOFDataTexture.js.map +1 -1
  540. package/dist/sof/shared/EveSOFDataTransform.js +2 -2
  541. package/dist/sof/shared/EveSOFDataTransform.js.map +1 -1
  542. package/dist/sof/shared/EveSofDataMeshInstance.js +2 -2
  543. package/dist/sof/shared/EveSofDataMeshInstance.js.map +1 -1
  544. package/dist/sof/sofDocumentValues.js +9 -0
  545. package/dist/sof/sofDocumentValues.js.map +1 -1
  546. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +2 -25
  547. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -1
  548. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js +2 -72
  549. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -1
  550. package/dist/trinity/controllers/ITr2ControllerOwner.js +1 -36
  551. package/dist/trinity/controllers/ITr2ControllerOwner.js.map +1 -1
  552. package/dist/trinity/controllers/Tr2Controller.js +4 -5
  553. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  554. package/dist/trinity/controllers/Tr2ControllerEventHandler.js +2 -2
  555. package/dist/trinity/controllers/Tr2ControllerEventHandler.js.map +1 -1
  556. package/dist/trinity/controllers/Tr2ControllerReference.js +9 -17
  557. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  558. package/dist/trinity/controllers/Tr2SyncToAnimation.js +4 -5
  559. package/dist/trinity/controllers/Tr2SyncToAnimation.js.map +1 -1
  560. package/dist/trinity/controllers/action/ITr2ControllerAction.js +1 -28
  561. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  562. package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js +9 -7
  563. package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js.map +1 -1
  564. package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js +11 -9
  565. package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js.map +1 -1
  566. package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js +9 -7
  567. package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js.map +1 -1
  568. package/dist/trinity/controllers/action/Tr2ActionCallback.js +4 -5
  569. package/dist/trinity/controllers/action/Tr2ActionCallback.js.map +1 -1
  570. package/dist/trinity/controllers/action/Tr2ActionChildEffect.js +4 -5
  571. package/dist/trinity/controllers/action/Tr2ActionChildEffect.js.map +1 -1
  572. package/dist/trinity/controllers/action/Tr2ActionOverlay.js +4 -5
  573. package/dist/trinity/controllers/action/Tr2ActionOverlay.js.map +1 -1
  574. package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js +4 -5
  575. package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js.map +1 -1
  576. package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js +13 -9
  577. package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js.map +1 -1
  578. package/dist/trinity/controllers/action/Tr2ActionPlaySound.js +4 -5
  579. package/dist/trinity/controllers/action/Tr2ActionPlaySound.js.map +1 -1
  580. package/dist/trinity/controllers/action/Tr2ActionPython.js +6 -6
  581. package/dist/trinity/controllers/action/Tr2ActionPython.js.map +1 -1
  582. package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js +4 -5
  583. package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js.map +1 -1
  584. package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js +4 -5
  585. package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js.map +1 -1
  586. package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js +4 -5
  587. package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
  588. package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js +4 -5
  589. package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js.map +1 -1
  590. package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js +8 -17
  591. package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  592. package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js +4 -5
  593. package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js.map +1 -1
  594. package/dist/trinity/controllers/action/Tr2ActionSetValue.js +11 -9
  595. package/dist/trinity/controllers/action/Tr2ActionSetValue.js.map +1 -1
  596. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +4 -5
  597. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  598. package/dist/trinity/controllers/contracts.js +27 -19
  599. package/dist/trinity/controllers/contracts.js.map +1 -1
  600. package/dist/trinity/controllers/expression/Tr2BindingPoint.js +6 -15
  601. package/dist/trinity/controllers/expression/Tr2BindingPoint.js.map +1 -1
  602. package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js +2 -2
  603. package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js.map +1 -1
  604. package/dist/trinity/controllers/expression/expressionRuntime.js +136 -0
  605. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -1
  606. package/dist/trinity/controllers/index.js +6 -6
  607. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +1 -24
  608. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  609. package/dist/trinity/controllers/state/Tr2StateMachine.js +4 -6
  610. package/dist/trinity/controllers/state/Tr2StateMachine.js.map +1 -1
  611. package/dist/trinity/controllers/state/Tr2StateMachineState.js +6 -6
  612. package/dist/trinity/controllers/state/Tr2StateMachineState.js.map +1 -1
  613. package/dist/trinity/controllers/state/Tr2StateMachineTransition.js +12 -9
  614. package/dist/trinity/controllers/state/Tr2StateMachineTransition.js.map +1 -1
  615. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +5 -6
  616. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  617. package/dist/trinity/core/ITr2Renderable.js +1 -49
  618. package/dist/trinity/core/ITr2Renderable.js.map +1 -1
  619. package/dist/trinity/core/ITr2Updateable.js +1 -22
  620. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  621. package/dist/trinity/core/ITriReroutable.js +56 -0
  622. package/dist/trinity/core/ITriReroutable.js.map +1 -0
  623. package/dist/trinity/core/Tr2Denoiser.js +2 -2
  624. package/dist/trinity/core/Tr2Denoiser.js.map +1 -1
  625. package/dist/trinity/core/Tr2MaterialParameterStore.js +2 -2
  626. package/dist/trinity/core/Tr2MaterialParameterStore.js.map +1 -1
  627. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js +2 -2
  628. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -1
  629. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +1 -1
  630. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -1
  631. package/dist/trinity/core/Tr2Renderer.js +161 -4
  632. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  633. package/dist/trinity/core/Tr2ShadowMap.js +3 -3
  634. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  635. package/dist/trinity/core/Tr2StreamingBitmapSaver.js +2 -2
  636. package/dist/trinity/core/Tr2StreamingBitmapSaver.js.map +1 -1
  637. package/dist/trinity/core/Tr2Transform.js +4 -5
  638. package/dist/trinity/core/Tr2Transform.js.map +1 -1
  639. package/dist/trinity/core/animation/Tr2GrannyAnimation.js +2 -2
  640. package/dist/trinity/core/animation/Tr2GrannyAnimation.js.map +1 -1
  641. package/dist/trinity/core/animation/Tr2TextureAnimation.js +2 -2
  642. package/dist/trinity/core/animation/Tr2TextureAnimation.js.map +1 -1
  643. package/dist/trinity/core/animation/TriRigidOrientation.js +2 -2
  644. package/dist/trinity/core/animation/TriRigidOrientation.js.map +1 -1
  645. package/dist/trinity/core/animation/TriTorque.js +2 -2
  646. package/dist/trinity/core/animation/TriTorque.js.map +1 -1
  647. package/dist/trinity/core/batch/CjsBatchManager.js +15 -50
  648. package/dist/trinity/core/batch/CjsBatchManager.js.map +1 -1
  649. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -1
  650. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js +12 -14
  651. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -1
  652. package/dist/trinity/core/binding/Tr2BindingVector3.js +2 -2
  653. package/dist/trinity/core/binding/Tr2BindingVector3.js.map +1 -1
  654. package/dist/trinity/core/binding/Tr2DynamicBinding.js +6 -20
  655. package/dist/trinity/core/binding/Tr2DynamicBinding.js.map +1 -1
  656. package/dist/trinity/core/binding/Tr2ExternalParameter.js +3 -6
  657. package/dist/trinity/core/binding/Tr2ExternalParameter.js.map +1 -1
  658. package/dist/trinity/core/binding/Tr2PyValueBinding.js +2 -2
  659. package/dist/trinity/core/binding/Tr2PyValueBinding.js.map +1 -1
  660. package/dist/trinity/core/binding/TriValueBinding.js +50 -24
  661. package/dist/trinity/core/binding/TriValueBinding.js.map +1 -1
  662. package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js +0 -6
  663. package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js.map +1 -1
  664. package/dist/trinity/core/context/CjsTrinityStepExecutor.js +7 -10
  665. package/dist/trinity/core/context/CjsTrinityStepExecutor.js.map +1 -1
  666. package/dist/trinity/core/context/Tr2RenderContext.js +74 -116
  667. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  668. package/dist/trinity/core/device/Tr2DepthStencil.js +2 -2
  669. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  670. package/dist/trinity/core/device/Tr2GpuBuffer.js +2 -2
  671. package/dist/trinity/core/device/Tr2GpuBuffer.js.map +1 -1
  672. package/dist/trinity/core/device/Tr2RenderTarget.js +2 -2
  673. package/dist/trinity/core/device/Tr2RenderTarget.js.map +1 -1
  674. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js +2 -2
  675. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -1
  676. package/dist/trinity/core/device/Tr2SwapChain.js +2 -2
  677. package/dist/trinity/core/device/Tr2SwapChain.js.map +1 -1
  678. package/dist/trinity/core/device/TriDevice.js +576 -37
  679. package/dist/trinity/core/device/TriDevice.js.map +1 -1
  680. package/dist/trinity/core/device/gTriDev.js +49 -0
  681. package/dist/trinity/core/device/gTriDev.js.map +1 -0
  682. package/dist/trinity/core/index.js +9 -5
  683. package/dist/trinity/core/index.js.map +1 -1
  684. package/dist/trinity/core/lighting/Tr2KelvinColor.js +2 -2
  685. package/dist/trinity/core/lighting/Tr2KelvinColor.js.map +1 -1
  686. package/dist/trinity/core/lighting/Tr2LightManager.js +7 -17
  687. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  688. package/dist/trinity/core/lighting/Tr2ShLightingManager.js +2 -2
  689. package/dist/trinity/core/lighting/Tr2ShLightingManager.js.map +1 -1
  690. package/dist/trinity/core/line/Tr2BoundingLineSet.js +2 -2
  691. package/dist/trinity/core/line/Tr2BoundingLineSet.js.map +1 -1
  692. package/dist/trinity/core/line/Tr2CurveLineSet.js +10 -7
  693. package/dist/trinity/core/line/Tr2CurveLineSet.js.map +1 -1
  694. package/dist/trinity/core/line/Tr2LineGraph.js +2 -2
  695. package/dist/trinity/core/line/Tr2LineGraph.js.map +1 -1
  696. package/dist/trinity/core/line/Tr2PrimitiveSet.js +4 -5
  697. package/dist/trinity/core/line/Tr2PrimitiveSet.js.map +1 -1
  698. package/dist/trinity/core/line/TriLineSet.js +2 -2
  699. package/dist/trinity/core/line/TriLineSet.js.map +1 -1
  700. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js +1 -37
  701. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -1
  702. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js +1 -34
  703. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -1
  704. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +5 -6
  705. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  706. package/dist/trinity/core/mesh/Tr2InstancedMesh.js +2 -2
  707. package/dist/trinity/core/mesh/Tr2InstancedMesh.js.map +1 -1
  708. package/dist/trinity/core/mesh/Tr2Mesh.js +288 -183
  709. package/dist/trinity/core/mesh/Tr2Mesh.js.map +1 -1
  710. package/dist/trinity/core/mesh/Tr2MeshArea.js +32 -3
  711. package/dist/trinity/core/mesh/Tr2MeshArea.js.map +1 -1
  712. package/dist/trinity/core/mesh/Tr2MeshBase.js +58 -8
  713. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  714. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +141 -142
  715. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  716. package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js +2 -2
  717. package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js.map +1 -1
  718. package/dist/trinity/core/procedural/GradientTextureConstructor.js +62 -0
  719. package/dist/trinity/core/procedural/GradientTextureConstructor.js.map +1 -0
  720. package/dist/trinity/core/procedural/gradientTexture.js +196 -0
  721. package/dist/trinity/core/procedural/gradientTexture.js.map +1 -0
  722. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -1
  723. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +5 -0
  724. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -1
  725. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +2 -0
  726. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -1
  727. package/dist/trinity/core/tool/Tr2ManipulationTool.js +2 -2
  728. package/dist/trinity/core/tool/Tr2ManipulationTool.js.map +1 -1
  729. package/dist/trinity/core/tool/Tr2RotationTool.js +2 -2
  730. package/dist/trinity/core/tool/Tr2RotationTool.js.map +1 -1
  731. package/dist/trinity/core/tool/Tr2ScalingTool.js +2 -2
  732. package/dist/trinity/core/tool/Tr2ScalingTool.js.map +1 -1
  733. package/dist/trinity/core/tool/Tr2TranslationTool.js +2 -2
  734. package/dist/trinity/core/tool/Tr2TranslationTool.js.map +1 -1
  735. package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js +2 -2
  736. package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js.map +1 -1
  737. package/dist/trinity/core/variable/TriFloat.js +2 -2
  738. package/dist/trinity/core/variable/TriFloat.js.map +1 -1
  739. package/dist/trinity/core/variable/TriObserverLocal.js +2 -2
  740. package/dist/trinity/core/variable/TriObserverLocal.js.map +1 -1
  741. package/dist/trinity/core/variable/TriVariable.js +2 -2
  742. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  743. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js +2 -0
  744. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -1
  745. package/dist/trinity/core/view/TriProjection.js +2 -2
  746. package/dist/trinity/core/view/TriProjection.js.map +1 -1
  747. package/dist/trinity/core/view/TriRect.js +2 -2
  748. package/dist/trinity/core/view/TriRect.js.map +1 -1
  749. package/dist/trinity/core/view/TriView.js +2 -2
  750. package/dist/trinity/core/view/TriView.js.map +1 -1
  751. package/dist/trinity/core/view/TriViewport.js +2 -2
  752. package/dist/trinity/core/view/TriViewport.js.map +1 -1
  753. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +3 -3
  754. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  755. package/dist/trinity/curves/Tr2CurveSetRange.js +2 -2
  756. package/dist/trinity/curves/Tr2CurveSetRange.js.map +1 -1
  757. package/dist/trinity/curves/TriCurveSet.js +2 -2
  758. package/dist/trinity/curves/TriCurveSet.js.map +1 -1
  759. package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js +2 -2
  760. package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js.map +1 -1
  761. package/dist/trinity/curves/curve/Tr2CurveColor.js +2 -2
  762. package/dist/trinity/curves/curve/Tr2CurveColor.js.map +1 -1
  763. package/dist/trinity/curves/curve/Tr2CurveColorMixer.js +2 -2
  764. package/dist/trinity/curves/curve/Tr2CurveColorMixer.js.map +1 -1
  765. package/dist/trinity/curves/curve/Tr2CurveCombiner.js +3 -3
  766. package/dist/trinity/curves/curve/Tr2CurveCombiner.js.map +1 -1
  767. package/dist/trinity/curves/curve/Tr2CurveConstant.js +2 -2
  768. package/dist/trinity/curves/curve/Tr2CurveConstant.js.map +1 -1
  769. package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js +2 -2
  770. package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js.map +1 -1
  771. package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js +2 -2
  772. package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js.map +1 -1
  773. package/dist/trinity/curves/curve/Tr2CurveQuaternion.js +3 -3
  774. package/dist/trinity/curves/curve/Tr2CurveQuaternion.js.map +1 -1
  775. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +2 -2
  776. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  777. package/dist/trinity/curves/curve/Tr2CurveScalar.js +3 -3
  778. package/dist/trinity/curves/curve/Tr2CurveScalar.js.map +1 -1
  779. package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js +2 -2
  780. package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js.map +1 -1
  781. package/dist/trinity/curves/curve/Tr2CurveVector2.js +2 -2
  782. package/dist/trinity/curves/curve/Tr2CurveVector2.js.map +1 -1
  783. package/dist/trinity/curves/curve/Tr2CurveVector3.js +2 -2
  784. package/dist/trinity/curves/curve/Tr2CurveVector3.js.map +1 -1
  785. package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js +2 -2
  786. package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js.map +1 -1
  787. package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js +2 -2
  788. package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js.map +1 -1
  789. package/dist/trinity/curves/curve/Tr2DistanceTracker.js +5 -5
  790. package/dist/trinity/curves/curve/Tr2DistanceTracker.js.map +1 -1
  791. package/dist/trinity/curves/curve/Tr2FollowCurve.js +2 -2
  792. package/dist/trinity/curves/curve/Tr2FollowCurve.js.map +1 -1
  793. package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js +2 -2
  794. package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js.map +1 -1
  795. package/dist/trinity/curves/curve/Tr2RotationAdapter.js +2 -2
  796. package/dist/trinity/curves/curve/Tr2RotationAdapter.js.map +1 -1
  797. package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js +2 -2
  798. package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js.map +1 -1
  799. package/dist/trinity/curves/curve/Tr2ScalarFader.js +2 -2
  800. package/dist/trinity/curves/curve/Tr2ScalarFader.js.map +1 -1
  801. package/dist/trinity/curves/curve/Tr2TranslationAdapter.js +2 -2
  802. package/dist/trinity/curves/curve/Tr2TranslationAdapter.js.map +1 -1
  803. package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js +2 -2
  804. package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js.map +1 -1
  805. package/dist/trinity/curves/curve/TriColorSequencer.js +18 -18
  806. package/dist/trinity/curves/curve/TriColorSequencer.js.map +1 -1
  807. package/dist/trinity/curves/curve/TriEventCurve.js +51 -51
  808. package/dist/trinity/curves/curve/TriEventCurve.js.map +1 -1
  809. package/dist/trinity/curves/curve/TriPerlinCurve.js +2 -2
  810. package/dist/trinity/curves/curve/TriPerlinCurve.js.map +1 -1
  811. package/dist/trinity/curves/curve/TriVectorSequencer.js +36 -36
  812. package/dist/trinity/curves/curve/TriVectorSequencer.js.map +1 -1
  813. package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js +2 -2
  814. package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js.map +1 -1
  815. package/dist/trinity/curves/key/Tr2MatrixKey.js +2 -2
  816. package/dist/trinity/curves/key/Tr2MatrixKey.js.map +1 -1
  817. package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js +2 -2
  818. package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js.map +1 -1
  819. package/dist/trinity/curves/key/Tr2ScalarExprKey.js +28 -24
  820. package/dist/trinity/curves/key/Tr2ScalarExprKey.js.map +1 -1
  821. package/dist/trinity/curves/key/TriEventKey.js +2 -2
  822. package/dist/trinity/curves/key/TriEventKey.js.map +1 -1
  823. package/dist/trinity/curves/track/Tr2GrannyEventTrack.js +2 -2
  824. package/dist/trinity/curves/track/Tr2GrannyEventTrack.js.map +1 -1
  825. package/dist/trinity/curves/track/Tr2GrannyTrack.js +9 -4
  826. package/dist/trinity/curves/track/Tr2GrannyTrack.js.map +1 -1
  827. package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js +2 -2
  828. package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js.map +1 -1
  829. package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js +2 -2
  830. package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js.map +1 -1
  831. package/dist/trinity/eve/AudioGameObject.js +6 -8
  832. package/dist/trinity/eve/AudioGameObject.js.map +1 -1
  833. package/dist/trinity/eve/EveCustomMask.js +2 -2
  834. package/dist/trinity/eve/EveCustomMask.js.map +1 -1
  835. package/dist/trinity/eve/EveDistanceField.js +6 -4
  836. package/dist/trinity/eve/EveDistanceField.js.map +1 -1
  837. package/dist/trinity/eve/EveImpactOverlay.js +2 -2
  838. package/dist/trinity/eve/EveImpactOverlay.js.map +1 -1
  839. package/dist/trinity/eve/EveThrottleable.js +2 -2
  840. package/dist/trinity/eve/EveThrottleable.js.map +1 -1
  841. package/dist/trinity/eve/EveTriggerVolume.js +4 -5
  842. package/dist/trinity/eve/EveTriggerVolume.js.map +1 -1
  843. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +1 -23
  844. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  845. package/dist/trinity/eve/IEveSpaceObject2.js +1 -24
  846. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  847. package/dist/trinity/eve/IEveTransform.js +1 -22
  848. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  849. package/dist/trinity/eve/attachment/banner/EveBannerItem.js +2 -2
  850. package/dist/trinity/eve/attachment/banner/EveBannerItem.js.map +1 -1
  851. package/dist/trinity/eve/attachment/banner/EveBannerLight.js +2 -2
  852. package/dist/trinity/eve/attachment/banner/EveBannerLight.js.map +1 -1
  853. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +20 -3
  854. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  855. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +127 -122
  856. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  857. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +5 -5
  858. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -1
  859. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +4 -5
  860. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  861. package/dist/trinity/eve/attachment/booster/EveTrailsSet.js +4 -2
  862. package/dist/trinity/eve/attachment/booster/EveTrailsSet.js.map +1 -1
  863. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +151 -148
  864. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  865. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +3 -3
  866. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  867. package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js +2 -2
  868. package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js.map +1 -1
  869. package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js +2 -2
  870. package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js.map +1 -1
  871. package/dist/trinity/eve/attachment/plane/EvePlaneLight.js +2 -2
  872. package/dist/trinity/eve/attachment/plane/EvePlaneLight.js.map +1 -1
  873. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +10 -4
  874. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  875. package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js +3 -2
  876. package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js.map +1 -1
  877. package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js +2 -2
  878. package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -1
  879. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +3 -3
  880. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  881. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js +2 -2
  882. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -1
  883. package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js +2 -2
  884. package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js.map +1 -1
  885. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +4 -4
  886. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  887. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js +2 -2
  888. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -1
  889. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +5 -5
  890. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  891. package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js +2 -2
  892. package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -1
  893. package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js +7 -4
  894. package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  895. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +177 -144
  896. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  897. package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js +2 -2
  898. package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  899. package/dist/trinity/eve/camera/EveCamera.js +5 -11
  900. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  901. package/dist/trinity/eve/child/EveChildAudio.js +4 -5
  902. package/dist/trinity/eve/child/EveChildAudio.js.map +1 -1
  903. package/dist/trinity/eve/child/EveChildBehaviorSystem.js +5 -6
  904. package/dist/trinity/eve/child/EveChildBehaviorSystem.js.map +1 -1
  905. package/dist/trinity/eve/child/EveChildBoosterSet.js +6 -6
  906. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  907. package/dist/trinity/eve/child/EveChildBulletStorm.js +4 -5
  908. package/dist/trinity/eve/child/EveChildBulletStorm.js.map +1 -1
  909. package/dist/trinity/eve/child/EveChildCloud.js +5 -6
  910. package/dist/trinity/eve/child/EveChildCloud.js.map +1 -1
  911. package/dist/trinity/eve/child/EveChildCloud2.js +166 -166
  912. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  913. package/dist/trinity/eve/child/EveChildContainer.js +235 -169
  914. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  915. package/dist/trinity/eve/child/EveChildEffectPropagator.js +9 -9
  916. package/dist/trinity/eve/child/EveChildEffectPropagator.js.map +1 -1
  917. package/dist/trinity/eve/child/EveChildExplosion.js +11 -7
  918. package/dist/trinity/eve/child/EveChildExplosion.js.map +1 -1
  919. package/dist/trinity/eve/child/EveChildFogVolume.js +2 -2
  920. package/dist/trinity/eve/child/EveChildFogVolume.js.map +1 -1
  921. package/dist/trinity/eve/child/EveChildInheritProperties.js +2 -2
  922. package/dist/trinity/eve/child/EveChildInheritProperties.js.map +1 -1
  923. package/dist/trinity/eve/child/EveChildInstanceContainer.js +2 -2
  924. package/dist/trinity/eve/child/EveChildInstanceContainer.js.map +1 -1
  925. package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js +11 -7
  926. package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
  927. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +2 -2
  928. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -1
  929. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +2 -2
  930. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -1
  931. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +2 -2
  932. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -1
  933. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js +4 -5
  934. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -1
  935. package/dist/trinity/eve/child/EveChildLightingOverride.js +4 -5
  936. package/dist/trinity/eve/child/EveChildLightingOverride.js.map +1 -1
  937. package/dist/trinity/eve/child/EveChildLineSet.js +4 -5
  938. package/dist/trinity/eve/child/EveChildLineSet.js.map +1 -1
  939. package/dist/trinity/eve/child/EveChildLink.js +2 -2
  940. package/dist/trinity/eve/child/EveChildLink.js.map +1 -1
  941. package/dist/trinity/eve/child/EveChildMesh.js +299 -227
  942. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  943. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +2 -2
  944. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -1
  945. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js +2 -2
  946. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -1
  947. package/dist/trinity/eve/child/EveChildParticleSphere.js +4 -5
  948. package/dist/trinity/eve/child/EveChildParticleSphere.js.map +1 -1
  949. package/dist/trinity/eve/child/EveChildParticleSystem.js +36 -36
  950. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  951. package/dist/trinity/eve/child/EveChildPlug.js +60 -14
  952. package/dist/trinity/eve/child/EveChildPlug.js.map +1 -1
  953. package/dist/trinity/eve/child/EveChildPostProcessVolume.js +2 -2
  954. package/dist/trinity/eve/child/EveChildPostProcessVolume.js.map +1 -1
  955. package/dist/trinity/eve/child/EveChildQuad.js +4 -5
  956. package/dist/trinity/eve/child/EveChildQuad.js.map +1 -1
  957. package/dist/trinity/eve/child/EveChildRef.js +2 -2
  958. package/dist/trinity/eve/child/EveChildRef.js.map +1 -1
  959. package/dist/trinity/eve/child/EveChildSocket.js +2 -2
  960. package/dist/trinity/eve/child/EveChildSocket.js.map +1 -1
  961. package/dist/trinity/eve/child/EveChildSpherePin.js +4 -4
  962. package/dist/trinity/eve/child/EveChildSpherePin.js.map +1 -1
  963. package/dist/trinity/eve/child/EveChildTurret.js +4 -4
  964. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  965. package/dist/trinity/eve/child/EveCloudVolumeBall.js +2 -2
  966. package/dist/trinity/eve/child/EveCloudVolumeBall.js.map +1 -1
  967. package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js +6 -6
  968. package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
  969. package/dist/trinity/eve/child/EveSpaceObjectChild.js +2 -2
  970. package/dist/trinity/eve/child/EveSpaceObjectChild.js.map +1 -1
  971. package/dist/trinity/eve/child/IEveLightingOverride.js +1 -23
  972. package/dist/trinity/eve/child/IEveLightingOverride.js.map +1 -1
  973. package/dist/trinity/eve/child/behaviors/Allign.js +2 -2
  974. package/dist/trinity/eve/child/behaviors/Allign.js.map +1 -1
  975. package/dist/trinity/eve/child/behaviors/ApproachGroup.js +2 -2
  976. package/dist/trinity/eve/child/behaviors/ApproachGroup.js.map +1 -1
  977. package/dist/trinity/eve/child/behaviors/BackAndForth.js +2 -2
  978. package/dist/trinity/eve/child/behaviors/BackAndForth.js.map +1 -1
  979. package/dist/trinity/eve/child/behaviors/BehaviorGroup.js +4 -4
  980. package/dist/trinity/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  981. package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js +2 -2
  982. package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
  983. package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js +2 -2
  984. package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
  985. package/dist/trinity/eve/child/behaviors/DroneAvoidance.js +2 -2
  986. package/dist/trinity/eve/child/behaviors/DroneAvoidance.js.map +1 -1
  987. package/dist/trinity/eve/child/behaviors/FollowASpline.js +2 -2
  988. package/dist/trinity/eve/child/behaviors/FollowASpline.js.map +1 -1
  989. package/dist/trinity/eve/child/behaviors/Formation.js +2 -2
  990. package/dist/trinity/eve/child/behaviors/Formation.js.map +1 -1
  991. package/dist/trinity/eve/child/behaviors/InclusionVolume.js +2 -2
  992. package/dist/trinity/eve/child/behaviors/InclusionVolume.js.map +1 -1
  993. package/dist/trinity/eve/child/behaviors/Inertia.js +2 -2
  994. package/dist/trinity/eve/child/behaviors/Inertia.js.map +1 -1
  995. package/dist/trinity/eve/child/behaviors/PlayFX.js +2 -2
  996. package/dist/trinity/eve/child/behaviors/PlayFX.js.map +1 -1
  997. package/dist/trinity/eve/child/behaviors/SeekTarget.js +2 -2
  998. package/dist/trinity/eve/child/behaviors/SeekTarget.js.map +1 -1
  999. package/dist/trinity/eve/child/behaviors/SpawnDrones.js +2 -2
  1000. package/dist/trinity/eve/child/behaviors/SpawnDrones.js.map +1 -1
  1001. package/dist/trinity/eve/child/behaviors/Wander.js +2 -2
  1002. package/dist/trinity/eve/child/behaviors/Wander.js.map +1 -1
  1003. package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js +2 -2
  1004. package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -1
  1005. package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js +2 -2
  1006. package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -1
  1007. package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js +8 -8
  1008. package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  1009. package/dist/trinity/eve/child/lineSetPaths/EveCircle.js +8 -8
  1010. package/dist/trinity/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  1011. package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js +2 -2
  1012. package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
  1013. package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js +2 -2
  1014. package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
  1015. package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js +2 -2
  1016. package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
  1017. package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js +2 -2
  1018. package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  1019. package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js +2 -2
  1020. package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
  1021. package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +2 -2
  1022. package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
  1023. package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js +5 -6
  1024. package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
  1025. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +3 -3
  1026. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
  1027. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +3 -3
  1028. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
  1029. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js +2 -2
  1030. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
  1031. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +3 -3
  1032. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
  1033. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js +4 -4
  1034. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
  1035. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +4 -4
  1036. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
  1037. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +4 -4
  1038. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
  1039. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js +4 -4
  1040. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
  1041. package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js +2 -2
  1042. package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
  1043. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +2 -2
  1044. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
  1045. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +2 -2
  1046. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
  1047. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +2 -2
  1048. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
  1049. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +2 -2
  1050. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
  1051. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +4 -4
  1052. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
  1053. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +2 -2
  1054. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
  1055. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +2 -2
  1056. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
  1057. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +2 -2
  1058. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
  1059. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +2 -2
  1060. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
  1061. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +2 -2
  1062. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
  1063. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js +2 -2
  1064. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
  1065. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +2 -2
  1066. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
  1067. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js +2 -2
  1068. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
  1069. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +2 -2
  1070. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
  1071. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +2 -2
  1072. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
  1073. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +2 -2
  1074. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
  1075. package/dist/trinity/eve/effect/lensflare/EveLensflare.js +4 -5
  1076. package/dist/trinity/eve/effect/lensflare/EveLensflare.js.map +1 -1
  1077. package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js +4 -5
  1078. package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js.map +1 -1
  1079. package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js +4 -4
  1080. package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -1
  1081. package/dist/trinity/eve/index.js +4 -4
  1082. package/dist/trinity/eve/lights/Tr2FactionLight.js +5 -6
  1083. package/dist/trinity/eve/lights/Tr2FactionLight.js.map +1 -1
  1084. package/dist/trinity/eve/lights/Tr2Light.js +37 -9
  1085. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  1086. package/dist/trinity/eve/lights/Tr2PointLight.js +2 -2
  1087. package/dist/trinity/eve/lights/Tr2PointLight.js.map +1 -1
  1088. package/dist/trinity/eve/lights/Tr2SpotLight.js +2 -2
  1089. package/dist/trinity/eve/lights/Tr2SpotLight.js.map +1 -1
  1090. package/dist/trinity/eve/lights/Tr2TexturedPointLight.js +29 -31
  1091. package/dist/trinity/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  1092. package/dist/trinity/eve/locator/EveLocator2.js +2 -2
  1093. package/dist/trinity/eve/locator/EveLocator2.js.map +1 -1
  1094. package/dist/trinity/eve/locator/EveLocatorSets.js +2 -2
  1095. package/dist/trinity/eve/locator/EveLocatorSets.js.map +1 -1
  1096. package/dist/trinity/eve/locator/Locator.js +2 -2
  1097. package/dist/trinity/eve/locator/Locator.js.map +1 -1
  1098. package/dist/trinity/eve/overlays/EveDamageOverlay.js +2 -2
  1099. package/dist/trinity/eve/overlays/EveDamageOverlay.js.map +1 -1
  1100. package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js +2 -2
  1101. package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
  1102. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +5 -6
  1103. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  1104. package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js +4 -5
  1105. package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  1106. package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js +2 -2
  1107. package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
  1108. package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js +2 -2
  1109. package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
  1110. package/dist/trinity/eve/renderable/stretch/EveStretch.js +6 -6
  1111. package/dist/trinity/eve/renderable/stretch/EveStretch.js.map +1 -1
  1112. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +10 -8
  1113. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  1114. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +4 -5
  1115. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  1116. package/dist/trinity/eve/scene/EveSpaceScene.js +2 -2
  1117. package/dist/trinity/eve/scene/EveSpaceScene.js.map +1 -1
  1118. package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js +2 -2
  1119. package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
  1120. package/dist/trinity/eve/scene/components/EveComponentRegistry.js +3 -3
  1121. package/dist/trinity/eve/scene/components/EveComponentRegistry.js.map +1 -1
  1122. package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js +6 -7
  1123. package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
  1124. package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js +2 -2
  1125. package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
  1126. package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js +4 -8
  1127. package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  1128. package/dist/trinity/eve/smartLights/EveSmartLightMesh.js +7 -4
  1129. package/dist/trinity/eve/smartLights/EveSmartLightMesh.js.map +1 -1
  1130. package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js +25 -15
  1131. package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  1132. package/dist/trinity/eve/smartLights/EveSmartLightQuad.js +4 -9
  1133. package/dist/trinity/eve/smartLights/EveSmartLightQuad.js.map +1 -1
  1134. package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js +2 -2
  1135. package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
  1136. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +2 -3
  1137. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
  1138. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +2 -2
  1139. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
  1140. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +2 -2
  1141. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
  1142. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +10 -18
  1143. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
  1144. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +2 -2
  1145. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
  1146. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +2 -2
  1147. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
  1148. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +4 -9
  1149. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
  1150. package/dist/trinity/eve/socket/EveSocketParameterBool.js +2 -2
  1151. package/dist/trinity/eve/socket/EveSocketParameterBool.js.map +1 -1
  1152. package/dist/trinity/eve/socket/EveSocketParameterColor.js +2 -2
  1153. package/dist/trinity/eve/socket/EveSocketParameterColor.js.map +1 -1
  1154. package/dist/trinity/eve/socket/EveSocketParameterFloat.js +2 -2
  1155. package/dist/trinity/eve/socket/EveSocketParameterFloat.js.map +1 -1
  1156. package/dist/trinity/eve/socket/EveSocketParameterInt.js +2 -2
  1157. package/dist/trinity/eve/socket/EveSocketParameterInt.js.map +1 -1
  1158. package/dist/trinity/eve/socket/EveSocketParameterString.js +2 -2
  1159. package/dist/trinity/eve/socket/EveSocketParameterString.js.map +1 -1
  1160. package/dist/trinity/eve/socket/EveSocketParameterVector2.js +2 -2
  1161. package/dist/trinity/eve/socket/EveSocketParameterVector2.js.map +1 -1
  1162. package/dist/trinity/eve/socket/EveSocketParameterVector3.js +2 -2
  1163. package/dist/trinity/eve/socket/EveSocketParameterVector3.js.map +1 -1
  1164. package/dist/trinity/eve/socket/EveSocketParameterVector4.js +2 -2
  1165. package/dist/trinity/eve/socket/EveSocketParameterVector4.js.map +1 -1
  1166. package/dist/trinity/eve/spaceObject/EveEffectRoot2.js +20 -17
  1167. package/dist/trinity/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  1168. package/dist/trinity/eve/spaceObject/EveMissile.js +2 -2
  1169. package/dist/trinity/eve/spaceObject/EveMissile.js.map +1 -1
  1170. package/dist/trinity/eve/spaceObject/EveMissileWarhead.js +2 -2
  1171. package/dist/trinity/eve/spaceObject/EveMissileWarhead.js.map +1 -1
  1172. package/dist/trinity/eve/spaceObject/EveMobile.js +2 -2
  1173. package/dist/trinity/eve/spaceObject/EveMobile.js.map +1 -1
  1174. package/dist/trinity/eve/spaceObject/EveRootTransform.js +2 -2
  1175. package/dist/trinity/eve/spaceObject/EveRootTransform.js.map +1 -1
  1176. package/dist/trinity/eve/spaceObject/EveShip2.js +2 -2
  1177. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  1178. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +525 -431
  1179. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  1180. package/dist/trinity/eve/spaceObject/EveTransform.js +7 -7
  1181. package/dist/trinity/eve/spaceObject/EveTransform.js.map +1 -1
  1182. package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +2 -2
  1183. package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -1
  1184. package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +2 -2
  1185. package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -1
  1186. package/dist/trinity/eve/spaceObject/planet/EvePlanet.js +2 -2
  1187. package/dist/trinity/eve/spaceObject/planet/EvePlanet.js.map +1 -1
  1188. package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js +2 -2
  1189. package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  1190. package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js +7 -8
  1191. package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
  1192. package/dist/trinity/eve/ui/EveConnector.js +2 -2
  1193. package/dist/trinity/eve/ui/EveConnector.js.map +1 -1
  1194. package/dist/trinity/eve/ui/EveEllipseDefinition.js +2 -2
  1195. package/dist/trinity/eve/ui/EveEllipseDefinition.js.map +1 -1
  1196. package/dist/trinity/eve/ui/EveEllipseSet.js +36 -6
  1197. package/dist/trinity/eve/ui/EveEllipseSet.js.map +1 -1
  1198. package/dist/trinity/eve/ui/EveLineContainer.js +4 -5
  1199. package/dist/trinity/eve/ui/EveLineContainer.js.map +1 -1
  1200. package/dist/trinity/eve/ui/EveProjectBracket.js +11 -3
  1201. package/dist/trinity/eve/ui/EveProjectBracket.js.map +1 -1
  1202. package/dist/trinity/eve/ui/EveSpherePin.js +6 -7
  1203. package/dist/trinity/eve/ui/EveSpherePin.js.map +1 -1
  1204. package/dist/trinity/eve/ui/EveSprite2dBracket.js +2 -2
  1205. package/dist/trinity/eve/ui/EveSprite2dBracket.js.map +1 -1
  1206. package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js +2 -2
  1207. package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
  1208. package/dist/trinity/eve/ui/EveTacticalOverlay.js +6 -24
  1209. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  1210. package/dist/trinity/eve/ui/EveUiObject.js +2 -2
  1211. package/dist/trinity/eve/ui/EveUiObject.js.map +1 -1
  1212. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +4 -5
  1213. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  1214. package/dist/trinity/eve/ui/lines/EveLineSet.js +6 -7
  1215. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  1216. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +2 -2
  1217. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -1
  1218. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +8 -9
  1219. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  1220. package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js +2 -2
  1221. package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
  1222. package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js +2 -2
  1223. package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
  1224. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +2 -2
  1225. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
  1226. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +4 -4
  1227. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
  1228. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +2 -2
  1229. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
  1230. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +2 -2
  1231. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
  1232. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +2 -2
  1233. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
  1234. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +4 -4
  1235. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
  1236. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +2 -2
  1237. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
  1238. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +2 -2
  1239. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
  1240. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +2 -2
  1241. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
  1242. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +2 -2
  1243. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
  1244. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +2 -2
  1245. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
  1246. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +2 -2
  1247. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
  1248. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +2 -2
  1249. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
  1250. package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +2 -2
  1251. package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
  1252. package/dist/trinity/eve/volume/EveBoxVolume.js +44 -44
  1253. package/dist/trinity/eve/volume/EveBoxVolume.js.map +1 -1
  1254. package/dist/trinity/eve/volume/EveEllipsoidVolume.js +2 -2
  1255. package/dist/trinity/eve/volume/EveEllipsoidVolume.js.map +1 -1
  1256. package/dist/trinity/eve/volume/EveSphereVolume.js +5 -6
  1257. package/dist/trinity/eve/volume/EveSphereVolume.js.map +1 -1
  1258. package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js +2 -2
  1259. package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
  1260. package/dist/trinity/generated/eve/effect/EveOccluder.js +2 -2
  1261. package/dist/trinity/generated/eve/effect/EveOccluder.js.map +1 -1
  1262. package/dist/trinity/generated/eve/effect/EveStarfield.js +2 -2
  1263. package/dist/trinity/generated/eve/effect/EveStarfield.js.map +1 -1
  1264. package/dist/trinity/generated/font/Tr2FontManager.js +2 -2
  1265. package/dist/trinity/generated/font/Tr2FontManager.js.map +1 -1
  1266. package/dist/trinity/generated/font/Tr2FontMeasurer.js +2 -2
  1267. package/dist/trinity/generated/font/Tr2FontMeasurer.js.map +1 -1
  1268. package/dist/trinity/generated/font/Tr2SBitWrapper.js +2 -2
  1269. package/dist/trinity/generated/font/Tr2SBitWrapper.js.map +1 -1
  1270. package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js +2 -2
  1271. package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
  1272. package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js +2 -2
  1273. package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
  1274. package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js +2 -2
  1275. package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
  1276. package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
  1277. package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
  1278. package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js +2 -2
  1279. package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
  1280. package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js +2 -2
  1281. package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
  1282. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
  1283. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
  1284. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js +2 -2
  1285. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
  1286. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js +2 -2
  1287. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
  1288. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js +2 -2
  1289. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
  1290. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js +2 -2
  1291. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
  1292. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js +2 -2
  1293. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
  1294. package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js +2 -2
  1295. package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
  1296. package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js +2 -2
  1297. package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
  1298. package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
  1299. package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
  1300. package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js +2 -2
  1301. package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
  1302. package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js +2 -2
  1303. package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
  1304. package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js +2 -2
  1305. package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
  1306. package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
  1307. package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
  1308. package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js +2 -2
  1309. package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
  1310. package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js +2 -2
  1311. package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
  1312. package/dist/trinity/generated/trinityCore/Tr2SSSSS.js +2 -2
  1313. package/dist/trinity/generated/trinityCore/Tr2SSSSS.js.map +1 -1
  1314. package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js +2 -2
  1315. package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
  1316. package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
  1317. package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
  1318. package/dist/trinity/index.js +23 -16
  1319. package/dist/trinity/index.js.map +1 -1
  1320. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js +1 -31
  1321. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -1
  1322. package/dist/trinity/particle/Tr2ParticleSystem.js +51 -52
  1323. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  1324. package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js +2 -2
  1325. package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
  1326. package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js +2 -2
  1327. package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
  1328. package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js +2 -2
  1329. package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
  1330. package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js +2 -2
  1331. package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
  1332. package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js +2 -2
  1333. package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js.map +1 -1
  1334. package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js +2 -2
  1335. package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js.map +1 -1
  1336. package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js +2 -2
  1337. package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js.map +1 -1
  1338. package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js +13 -3
  1339. package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js.map +1 -1
  1340. package/dist/trinity/particle/constraint/Tr2SphereConstraint.js +2 -2
  1341. package/dist/trinity/particle/constraint/Tr2SphereConstraint.js.map +1 -1
  1342. package/dist/trinity/particle/element/Tr2ParticleElementData.js +22 -8
  1343. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  1344. package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js +13 -25
  1345. package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js.map +1 -1
  1346. package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js +38 -3
  1347. package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js.map +1 -1
  1348. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +26 -27
  1349. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  1350. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +4 -5
  1351. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  1352. package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js +2 -2
  1353. package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js.map +1 -1
  1354. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +17 -18
  1355. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  1356. package/dist/trinity/particle/force/Tr2ForceSphereVolume.js +2 -2
  1357. package/dist/trinity/particle/force/Tr2ForceSphereVolume.js.map +1 -1
  1358. package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js +2 -2
  1359. package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js.map +1 -1
  1360. package/dist/trinity/particle/force/Tr2ParticleDirectForce.js +2 -2
  1361. package/dist/trinity/particle/force/Tr2ParticleDirectForce.js.map +1 -1
  1362. package/dist/trinity/particle/force/Tr2ParticleDragForce.js +2 -2
  1363. package/dist/trinity/particle/force/Tr2ParticleDragForce.js.map +1 -1
  1364. package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js +2 -2
  1365. package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js.map +1 -1
  1366. package/dist/trinity/particle/force/Tr2ParticleSpring.js +2 -2
  1367. package/dist/trinity/particle/force/Tr2ParticleSpring.js.map +1 -1
  1368. package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js +2 -2
  1369. package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js.map +1 -1
  1370. package/dist/trinity/particle/force/Tr2ParticleVortexForce.js +2 -2
  1371. package/dist/trinity/particle/force/Tr2ParticleVortexForce.js.map +1 -1
  1372. package/dist/trinity/particle/index.js +1 -1
  1373. package/dist/trinity/postProcess/Tr2PostProcess.js +2 -2
  1374. package/dist/trinity/postProcess/Tr2PostProcess.js.map +1 -1
  1375. package/dist/trinity/postProcess/Tr2PostProcess2.js +2 -2
  1376. package/dist/trinity/postProcess/Tr2PostProcess2.js.map +1 -1
  1377. package/dist/trinity/postProcess/Tr2PostProcessAttributes.js +2 -2
  1378. package/dist/trinity/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  1379. package/dist/trinity/postProcess/Tr2PostProcessRenderer.js +4 -4
  1380. package/dist/trinity/postProcess/Tr2PostProcessRenderer.js.map +1 -1
  1381. package/dist/trinity/postProcess/Tr2SSAO.js +4 -4
  1382. package/dist/trinity/postProcess/Tr2SSAO.js.map +1 -1
  1383. package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js +2 -2
  1384. package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js.map +1 -1
  1385. package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js +2 -2
  1386. package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js.map +1 -1
  1387. package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js +2 -2
  1388. package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js.map +1 -1
  1389. package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js +2 -2
  1390. package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js.map +1 -1
  1391. package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js +2 -2
  1392. package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js.map +1 -1
  1393. package/dist/trinity/postProcess/effect/Tr2PPEffect.js +2 -2
  1394. package/dist/trinity/postProcess/effect/Tr2PPEffect.js.map +1 -1
  1395. package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js +2 -2
  1396. package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js.map +1 -1
  1397. package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js +2 -2
  1398. package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js.map +1 -1
  1399. package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js +2 -2
  1400. package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js.map +1 -1
  1401. package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js +2 -2
  1402. package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js.map +1 -1
  1403. package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js +2 -2
  1404. package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js.map +1 -1
  1405. package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js +2 -2
  1406. package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js.map +1 -1
  1407. package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js +2 -2
  1408. package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js.map +1 -1
  1409. package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js +2 -2
  1410. package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js.map +1 -1
  1411. package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js +2 -2
  1412. package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js.map +1 -1
  1413. package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js +2 -2
  1414. package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js.map +1 -1
  1415. package/dist/trinity/renderJob/Tr2RenderJobs.js +5 -5
  1416. package/dist/trinity/renderJob/Tr2RenderJobs.js.map +1 -1
  1417. package/dist/trinity/renderJob/TriRenderJob.js +4 -4
  1418. package/dist/trinity/renderJob/TriRenderJob.js.map +1 -1
  1419. package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js +4 -5
  1420. package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js.map +1 -1
  1421. package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js +4 -5
  1422. package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js.map +1 -1
  1423. package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js +2 -2
  1424. package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js.map +1 -1
  1425. package/dist/trinity/renderJob/step/TriRenderStep.js +2 -2
  1426. package/dist/trinity/renderJob/step/TriRenderStep.js.map +1 -1
  1427. package/dist/trinity/renderJob/step/TriStepClear.js +2 -2
  1428. package/dist/trinity/renderJob/step/TriStepClear.js.map +1 -1
  1429. package/dist/trinity/renderJob/step/TriStepClearUav.js +2 -2
  1430. package/dist/trinity/renderJob/step/TriStepClearUav.js.map +1 -1
  1431. package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js +2 -2
  1432. package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js.map +1 -1
  1433. package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js +2 -2
  1434. package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js.map +1 -1
  1435. package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js +2 -2
  1436. package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js.map +1 -1
  1437. package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js +2 -2
  1438. package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js.map +1 -1
  1439. package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js +2 -2
  1440. package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js.map +1 -1
  1441. package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js +2 -2
  1442. package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js.map +1 -1
  1443. package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js +2 -2
  1444. package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js.map +1 -1
  1445. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +2 -2
  1446. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  1447. package/dist/trinity/renderJob/step/TriStepRenderAtlas.js +2 -2
  1448. package/dist/trinity/renderJob/step/TriStepRenderAtlas.js.map +1 -1
  1449. package/dist/trinity/renderJob/step/TriStepRenderDebug.js +2 -2
  1450. package/dist/trinity/renderJob/step/TriStepRenderDebug.js.map +1 -1
  1451. package/dist/trinity/renderJob/step/TriStepRenderEffect.js +2 -2
  1452. package/dist/trinity/renderJob/step/TriStepRenderEffect.js.map +1 -1
  1453. package/dist/trinity/renderJob/step/TriStepRenderFps.js +2 -2
  1454. package/dist/trinity/renderJob/step/TriStepRenderFps.js.map +1 -1
  1455. package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js +2 -2
  1456. package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js.map +1 -1
  1457. package/dist/trinity/renderJob/step/TriStepRenderObject.js +2 -2
  1458. package/dist/trinity/renderJob/step/TriStepRenderObject.js.map +1 -1
  1459. package/dist/trinity/renderJob/step/TriStepRenderPass.js +2 -2
  1460. package/dist/trinity/renderJob/step/TriStepRenderPass.js.map +1 -1
  1461. package/dist/trinity/renderJob/step/TriStepRenderScene.js +2 -2
  1462. package/dist/trinity/renderJob/step/TriStepRenderScene.js.map +1 -1
  1463. package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js +2 -2
  1464. package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js.map +1 -1
  1465. package/dist/trinity/renderJob/step/TriStepRenderTexture.js +2 -2
  1466. package/dist/trinity/renderJob/step/TriStepRenderTexture.js.map +1 -1
  1467. package/dist/trinity/renderJob/step/TriStepResolve.js +2 -2
  1468. package/dist/trinity/renderJob/step/TriStepResolve.js.map +1 -1
  1469. package/dist/trinity/renderJob/step/TriStepRunComputeShader.js +2 -2
  1470. package/dist/trinity/renderJob/step/TriStepRunComputeShader.js.map +1 -1
  1471. package/dist/trinity/renderJob/step/TriStepRunJob.js +2 -2
  1472. package/dist/trinity/renderJob/step/TriStepRunJob.js.map +1 -1
  1473. package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js +2 -2
  1474. package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js.map +1 -1
  1475. package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js +2 -2
  1476. package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js.map +1 -1
  1477. package/dist/trinity/renderJob/step/TriStepSetProjection.js +2 -2
  1478. package/dist/trinity/renderJob/step/TriStepSetProjection.js.map +1 -1
  1479. package/dist/trinity/renderJob/step/TriStepSetRenderState.js +2 -2
  1480. package/dist/trinity/renderJob/step/TriStepSetRenderState.js.map +1 -1
  1481. package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js +2 -2
  1482. package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js.map +1 -1
  1483. package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js +2 -2
  1484. package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js.map +1 -1
  1485. package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js +2 -2
  1486. package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js.map +1 -1
  1487. package/dist/trinity/renderJob/step/TriStepSetVariableStore.js +2 -2
  1488. package/dist/trinity/renderJob/step/TriStepSetVariableStore.js.map +1 -1
  1489. package/dist/trinity/renderJob/step/TriStepSetView.js +2 -2
  1490. package/dist/trinity/renderJob/step/TriStepSetView.js.map +1 -1
  1491. package/dist/trinity/renderJob/step/TriStepSetViewport.js +2 -2
  1492. package/dist/trinity/renderJob/step/TriStepSetViewport.js.map +1 -1
  1493. package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js +2 -2
  1494. package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js.map +1 -1
  1495. package/dist/trinity/renderJob/step/TriStepTestBlocking.js +2 -2
  1496. package/dist/trinity/renderJob/step/TriStepTestBlocking.js.map +1 -1
  1497. package/dist/trinity/renderJob/step/TriStepToggleCubemap.js +2 -2
  1498. package/dist/trinity/renderJob/step/TriStepToggleCubemap.js.map +1 -1
  1499. package/dist/trinity/renderJob/step/TriStepUpdate.js +2 -2
  1500. package/dist/trinity/renderJob/step/TriStepUpdate.js.map +1 -1
  1501. package/dist/trinity/shader/Tr2DataTextureManager.js +9 -9
  1502. package/dist/trinity/shader/Tr2DataTextureManager.js.map +1 -1
  1503. package/dist/trinity/shader/Tr2Effect.js +370 -347
  1504. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  1505. package/dist/trinity/shader/Tr2Material.js +5 -5
  1506. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  1507. package/dist/trinity/shader/Tr2ShaderBuffer.js +3 -4
  1508. package/dist/trinity/shader/Tr2ShaderBuffer.js.map +1 -1
  1509. package/dist/trinity/shader/index.js +3 -0
  1510. package/dist/trinity/shader/index.js.map +1 -1
  1511. package/dist/trinity/shader/parameter/CjsParameter.js +202 -185
  1512. package/dist/trinity/shader/parameter/CjsParameter.js.map +1 -1
  1513. package/dist/trinity/shader/parameter/CjsVectorParameter.js +2 -2
  1514. package/dist/trinity/shader/parameter/CjsVectorParameter.js.map +1 -1
  1515. package/dist/trinity/shader/parameter/ITriEffectParameter.js +56 -0
  1516. package/dist/trinity/shader/parameter/ITriEffectParameter.js.map +1 -0
  1517. package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js +31 -0
  1518. package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js.map +1 -0
  1519. package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js +43 -0
  1520. package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js.map +1 -0
  1521. package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js +17 -5
  1522. package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
  1523. package/dist/trinity/shader/parameter/Tr2FloatParameter.js +46 -45
  1524. package/dist/trinity/shader/parameter/Tr2FloatParameter.js.map +1 -1
  1525. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +14 -12
  1526. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  1527. package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js +33 -32
  1528. package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  1529. package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js +11 -10
  1530. package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  1531. package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js +55 -53
  1532. package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  1533. package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js +49 -48
  1534. package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  1535. package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js +52 -51
  1536. package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  1537. package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js +56 -55
  1538. package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  1539. package/dist/trinity/shader/parameter/TriFloatArrayParameter.js +8 -8
  1540. package/dist/trinity/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  1541. package/dist/trinity/shader/parameter/TriTextureParameter.js +27 -22
  1542. package/dist/trinity/shader/parameter/TriTextureParameter.js.map +1 -1
  1543. package/dist/trinity/shader/parameter/TriTransformParameter.js +27 -27
  1544. package/dist/trinity/shader/parameter/TriTransformParameter.js.map +1 -1
  1545. package/dist/trinity/shader/parameter/TriVariableParameter.js +53 -54
  1546. package/dist/trinity/shader/parameter/TriVariableParameter.js.map +1 -1
  1547. package/dist/trinity/shader/parameter/TriVector4.js +2 -2
  1548. package/dist/trinity/shader/parameter/TriVector4.js.map +1 -1
  1549. package/dist/trinity/shader/reflection/Tr2ShaderOption.js +4 -2
  1550. package/dist/trinity/shader/reflection/Tr2ShaderOption.js.map +1 -1
  1551. package/dist/trinity/shader/sampler/Tr2SamplerOverride.js +11 -2
  1552. package/dist/trinity/shader/sampler/Tr2SamplerOverride.js.map +1 -1
  1553. package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js +2 -2
  1554. package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
  1555. package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js +2 -2
  1556. package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
  1557. package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js +2 -2
  1558. package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
  1559. package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js +8 -9
  1560. package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
  1561. package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js +2 -2
  1562. package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
  1563. package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js +2 -2
  1564. package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
  1565. package/dist/trinity/sprite2d/Tr2Sprite2dScene.js +4 -4
  1566. package/dist/trinity/sprite2d/Tr2Sprite2dScene.js.map +1 -1
  1567. package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js +2 -2
  1568. package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
  1569. package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js +2 -2
  1570. package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
  1571. package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js +2 -2
  1572. package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
  1573. package/dist/trinity/ui/Tr2PresentParameters.js +2 -2
  1574. package/dist/trinity/ui/Tr2PresentParameters.js.map +1 -1
  1575. package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js +3 -3
  1576. package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js.map +1 -1
  1577. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -1
  1578. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -1
  1579. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  1580. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  1581. package/docs/core/README.md +38 -38
  1582. package/docs/core/architecture.md +6 -5
  1583. package/docs/core/reference/api.md +0 -10
  1584. package/docs/core/reference/classes/README.md +57 -67
  1585. package/docs/global/architecture.md +1 -3
  1586. package/docs/global/blue-enums.md +115 -0
  1587. package/docs/global/concepts/model-lifecycle.md +177 -182
  1588. package/docs/global/core-types/README.md +394 -317
  1589. package/docs/global/reference/api.md +2 -2
  1590. package/docs/global/reference/classes/README.md +355 -205
  1591. package/docs/global/reference/classes/dropped.md +40 -0
  1592. package/docs/resource/architecture.md +152 -112
  1593. package/docs/resource/concepts/resource-lifecycle.md +14 -10
  1594. package/docs/resource/formats/pickle.md +126 -100
  1595. package/docs/resource/formats/provenance.md +15 -9
  1596. package/docs/resource/formats/webgl/carbon-constant-layouts.md +98 -232
  1597. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +278 -530
  1598. package/docs/resource/reference/classes/README.md +3 -1
  1599. package/docs/resource/reference/classes/dropped.md +21 -1
  1600. package/docs/resource/reference/classes/formats.md +33 -0
  1601. package/docs/resource/reference/classes/video.md +92 -0
  1602. package/docs/resource/reference/events.md +10 -9
  1603. package/docs/resource/reference/queues.md +8 -1
  1604. package/docs/trinity/README.md +5 -5
  1605. package/docs/trinity/architecture.md +355 -344
  1606. package/docs/trinity/concepts/eve-runtime-behavior.md +1 -1
  1607. package/docs/trinity/reference/api.md +19 -7
  1608. package/docs/trinity/reference/classes/dropped.md +2 -11
  1609. package/docs/trinity/reference/classes/eve-runtime.md +1 -1
  1610. package/docs/trinity/reference/classes/trinity-core.md +1672 -1622
  1611. package/docs/trinity/reference/implementation-status.md +92 -92
  1612. package/package.json +2 -1
  1613. package/dist/core/CjsFrameDriver.js +0 -109
  1614. package/dist/core/CjsFrameDriver.js.map +0 -1
  1615. package/dist/global/contracts/CjsFrameLifecycle.js +0 -49
  1616. package/dist/global/contracts/CjsFrameLifecycle.js.map +0 -1
  1617. package/dist/global/contracts/CjsInstancedMeshManager.js +0 -58
  1618. package/dist/global/contracts/CjsInstancedMeshManager.js.map +0 -1
  1619. package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js +0 -4
  1620. package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2MaterialParameterStore.js","sources":["../../../../src/trinity/core/Tr2MaterialParameterStore.js"],"sourcesContent":["// Source: trinity/trinity/Tr2MaterialParameterStore.h\r\n// Source: trinity/trinity/Tr2MaterialParameterStore.cpp\r\n// Source: trinity/trinity/Tr2MaterialParameterStore_Blue.cpp\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\n\r\n/** Tr2MaterialParameterStore (trinityCore) - generated from schema shapeHash 119f32c2.... */\r\n@type.define({ className: \"Tr2MaterialParameterStore\", family: \"trinityCore\" })\r\nexport class Tr2MaterialParameterStore extends CjsModel\r\n{\r\n\r\n /** m_parentStore (Tr2MaterialParameterStorePtr) [READ] */\r\n @io.read\r\n @type.objectRef(\"Tr2MaterialParameterStore\")\r\n parent = null;\r\n\r\n /** m_name (std::string) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n /** m_parentPath (std::string) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.path\r\n parentPath = \"\";\r\n\r\n /** m_parameters (PITriEffectParameterDict) [READ, PERSIST] */\r\n @io.persist\r\n @type.map(\"ITriEffectParameter\")\r\n parameters = new Map();\r\n\r\n /**\r\n * Looks a parameter up in this store and then walks the parent chain; null\r\n * when no store in the chain defines it.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n FindParameter(name)\r\n {\r\n let currentStore = this;\r\n while (currentStore)\r\n {\r\n const parameter = currentStore.parameters.get(name);\r\n if (parameter !== undefined)\r\n {\r\n return parameter;\r\n }\r\n currentStore = currentStore.parent;\r\n }\r\n return null;\r\n }\r\n\r\n}\r\n"],"names":["_Tr2MaterialParameter","Tr2MaterialParameterStore","CjsModel","e","_init_parent","_init_extra_parent","_init_name","_init_extra_name","_init_parentPath","_init_extra_parentPath","_init_parameters","_init_extra_parameters","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","objectRef","persist","string","notify","path","map","carbon","method","impl","implemented","constructor","args","parent","name","parentPath","parameters","Map","FindParameter","currentStore","parameter","get","undefined"],"mappings":";;;;;;AAMA;AAAA,IAAAA;AACA,MAAAC,yBAAA,SAC+CC,QAAQ,CACvD;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,GAAAC,YAAA,EAAAC,kBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAAb,qBAAA,EAAAc,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,2BAA2B;AAAEC,MAAAA,MAAM,EAAE;AAAc,KAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAK5EC,EAAE,EAAFA,EAAE,CAACC,IAAI,EAAA,MAAA,EACPL,IAAI,CAACM,SAAS,CAAC,2BAA2B,CAAC,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAI3CF,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACQ,MAAM,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAIXJ,EAAE,EAAFA,EAAE,CAACK,MAAM,EACTL,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACU,IAAI,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAITN,EAAE,EAAFA,EAAE,CAACG,OAAO,UACVP,IAAI,CAACW,GAAG,CAAC,qBAAqB,CAAC,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAO/BC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,qCA7B4B7B,QAAQ,CAAA;AAAA;AAAA8B,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAtB,sBAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAGrD;AAGAuB,EAAAA,MAAM,IAAAtB,UAAA,CAAA,IAAA,CAAA,EAAAR,YAAA,OAAG,IAAI,CAAA;;AAEb;AAGA+B,EAAAA,IAAI,IAAA9B,kBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,EAAE,CAAA;;AAET;AAIA8B,EAAAA,UAAU,IAAA7B,gBAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAG,EAAE,CAAA;;AAEf;EAGA6B,UAAU,IAAA5B,sBAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAG,IAAI4B,GAAG,EAAE,CAAA;;AAEtB;AACF;AACA;AACA;EAGEC,aAAaA,CAACJ,IAAI,EAClB;IACE,IAAIK,YAAY,GAAG,IAAI;AACvB,IAAA,OAAOA,YAAY,EACnB;MACE,MAAMC,SAAS,GAAGD,YAAY,CAACH,UAAU,CAACK,GAAG,CAACP,IAAI,CAAC;MACnD,IAAIM,SAAS,KAAKE,SAAS,EAC3B;AACE,QAAA,OAAOF,SAAS;AAClB,MAAA;MACAD,YAAY,GAAGA,YAAY,CAACN,MAAM;AACpC,IAAA;AACA,IAAA,OAAO,IAAI;AACb,EAAA;AAAC,EAAA;IAAApB,UAAA,EAAA;AAAA;AAEH;;;;"}
1
+ {"version":3,"file":"Tr2MaterialParameterStore.js","sources":["../../../../src/trinity/core/Tr2MaterialParameterStore.js"],"sourcesContent":["// Source: trinity/trinity/Tr2MaterialParameterStore.h\r\n// Source: trinity/trinity/Tr2MaterialParameterStore.cpp\r\n// Source: trinity/trinity/Tr2MaterialParameterStore_Blue.cpp\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\n\r\n/** Tr2MaterialParameterStore (trinityCore) - generated from schema shapeHash 119f32c2.... */\r\n@type.define({ className: \"Tr2MaterialParameterStore\", family: \"trinityCore\" })\r\nexport class Tr2MaterialParameterStore extends CjsModel\r\n{\r\n\r\n /** m_parentStore (Tr2MaterialParameterStorePtr) [READ] */\r\n @edit.read\r\n @type.objectRef(\"Tr2MaterialParameterStore\")\r\n parent = null;\r\n\r\n /** m_name (std::string) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.string\r\n name = \"\";\r\n\r\n /** m_parentPath (std::string) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.path\r\n parentPath = \"\";\r\n\r\n /** m_parameters (PITriEffectParameterDict) [READ, PERSIST] */\r\n @edit.persist\r\n @type.map(\"ITriEffectParameter\")\r\n parameters = new Map();\r\n\r\n /**\r\n * Looks a parameter up in this store and then walks the parent chain; null\r\n * when no store in the chain defines it.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n FindParameter(name)\r\n {\r\n let currentStore = this;\r\n while (currentStore)\r\n {\r\n const parameter = currentStore.parameters.get(name);\r\n if (parameter !== undefined)\r\n {\r\n return parameter;\r\n }\r\n currentStore = currentStore.parent;\r\n }\r\n return null;\r\n }\r\n\r\n}\r\n"],"names":["_Tr2MaterialParameter","Tr2MaterialParameterStore","CjsModel","e","_init_parent","_init_extra_parent","_init_name","_init_extra_name","_init_parentPath","_init_extra_parentPath","_init_parameters","_init_extra_parameters","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","read","objectRef","persist","string","notify","path","map","carbon","method","impl","implemented","constructor","args","parent","name","parentPath","parameters","Map","FindParameter","currentStore","parameter","get","undefined"],"mappings":";;;;;;AAMA;AAAA,IAAAA;AACA,MAAAC,yBAAA,SAC+CC,QAAQ,CACvD;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,GAAAC,YAAA,EAAAC,kBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAAb,qBAAA,EAAAc,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,2BAA2B;AAAEC,MAAAA,MAAM,EAAE;AAAc,KAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAK5EC,IAAI,EAAJA,IAAI,CAACC,IAAI,EAAA,MAAA,EACTL,IAAI,CAACM,SAAS,CAAC,2BAA2B,CAAC,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAI3CF,IAAI,EAAJA,IAAI,CAACG,OAAO,EACZP,IAAI,EAAJA,IAAI,CAACQ,MAAM,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAIXJ,IAAI,EAAJA,IAAI,CAACK,MAAM,EACXL,IAAI,EAAJA,IAAI,CAACG,OAAO,EACZP,IAAI,EAAJA,IAAI,CAACU,IAAI,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAITN,IAAI,EAAJA,IAAI,CAACG,OAAO,UACZP,IAAI,CAACW,GAAG,CAAC,qBAAqB,CAAC,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAO/BC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,qCA7B4B7B,QAAQ,CAAA;AAAA;AAAA8B,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAtB,sBAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAGrD;AAGAuB,EAAAA,MAAM,IAAAtB,UAAA,CAAA,IAAA,CAAA,EAAAR,YAAA,OAAG,IAAI,CAAA;;AAEb;AAGA+B,EAAAA,IAAI,IAAA9B,kBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,EAAE,CAAA;;AAET;AAIA8B,EAAAA,UAAU,IAAA7B,gBAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAG,EAAE,CAAA;;AAEf;EAGA6B,UAAU,IAAA5B,sBAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAG,IAAI4B,GAAG,EAAE,CAAA;;AAEtB;AACF;AACA;AACA;EAGEC,aAAaA,CAACJ,IAAI,EAClB;IACE,IAAIK,YAAY,GAAG,IAAI;AACvB,IAAA,OAAOA,YAAY,EACnB;MACE,MAAMC,SAAS,GAAGD,YAAY,CAACH,UAAU,CAACK,GAAG,CAACP,IAAI,CAAC;MACnD,IAAIM,SAAS,KAAKE,SAAS,EAC3B;AACE,QAAA,OAAOF,SAAS;AAClB,MAAA;MACAD,YAAY,GAAGA,YAAY,CAACN,MAAM;AACpC,IAAA;AACA,IAAA,OAAO,IAAI;AACb,EAAA;AAAC,EAAA;IAAApB,UAAA,EAAA;AAAA;AAEH;;;;"}
@@ -22,7 +22,7 @@ new class extends _identity {
22
22
  } = _applyDecs2311(this, [type.define({
23
23
  className: "Tr2QuadRenderer",
24
24
  family: "trinityCore"
25
- })], [[[type, type.uint32], 16, "vertexBufferOffset"], [[type, type.uint32], 16, "lastInstanceDataSize"], [[type, type.uint32], 16, "bufferAlignment"], [[type, type.uint32], 16, "bufferSize"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnregisterEffect"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Single-threaded JS collapses the per-thread TLS buffers to one pending list while preserving Carbon's raw memcpy byte boundary.")], 18, "AddQuads"], [[carbon, carbon.method, impl, impl.implemented], 18, "MergeBuffers"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("UpdateInstanceBuffer/RecreateQuadBuffers/PrepareResources are GPU realization; the merged CPU state is exposed for the engine.")], 18, "BeginRendering"], [[carbon, carbon.method, impl, impl.implemented], 18, "DoneRendering"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Quad and ring buffers become deferred descriptors the engine realizes; Carbon binds live AL buffers here.")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetInstanceDataSize"]], 0, void 0, CjsModel));
25
+ })], [[[type, type.uint32], 16, "vertexBufferOffset"], [[type, type.uint32], 16, "lastInstanceDataSize"], [[type, type.uint32], 16, "bufferAlignment"], [[type, type.uint32], 16, "bufferSize"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnregisterEffect"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Single-threaded JS collapses the per-thread TLS buffers to one pending list while preserving Carbon's raw memcpy byte boundary.")], 18, "AddQuads"], [[carbon, carbon.method, impl, impl.implemented], 18, "MergeBuffers"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("UpdateInstanceBuffer (cpp:178), RecreateQuadBuffers (cpp:206) and OnPrepareResources (cpp:278) are not ported; all three are methods of this class in Carbon. The merged CPU state is exposed meanwhile.")], 18, "BeginRendering"], [[carbon, carbon.method, impl, impl.implemented], 18, "DoneRendering"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Quad and ring buffers are emitted as deferred descriptors; Carbon binds live AL buffers here, and doing the same is not ported yet.")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetInstanceDataSize"]], 0, void 0, CjsModel));
26
26
  }
27
27
  /** m_vertexBufferOffset (uint32_t) - ring offset; engine stamps the real one. */
28
28
  vertexBufferOffset = (_initProto(this), _init_vertexBufferOffset(this, 0));
@@ -125,7 +125,7 @@ new class extends _identity {
125
125
 
126
126
  /**
127
127
  * Frame-start CPU work (Carbon cpp:160-166): merge the accumulated
128
- * instances. Buffer upload and quad-buffer creation are engine-owned;
128
+ * instances. Buffer upload and quad-buffer creation are not ported yet;
129
129
  * the engine reads GetMergedData()/GetMaxQuadCount() and stamps
130
130
  * vertexBufferOffset with the ring allocation.
131
131
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2QuadRenderer.js","sources":["../../../../../src/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js"],"sourcesContent":["// Source: trinity/trinity/Tr2QuadRenderer.h\n// trinity/trinity/Tr2QuadRenderer.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\n// CPU half implemented 2026-07-23 (batch-plan P5 scene-global quad collector).\r\n// The generator had flattened the internal EffectRecord/PerThreadData members\r\n// onto the class; corrected to Carbon's nested shape. GPU realization (quad\r\n// vertex/index buffers, ring instance buffer upload, vertex-declaration\r\n// handles) is engine-owned and reads the merged CPU state emitted here.\r\nimport { Tr2QuadRendererEffectRecord } from \"./Tr2QuadRendererEffectRecord.js\";\r\nimport { carbon, impl, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { Tr2RenderBatch } from \"../batch/TriRenderBatch/index.js\";\r\nimport { TriBatchType } from \"#consts/graphics\";\r\n\r\n\r\n/** Collects quads from every registered effect into one merged instance buffer and emits them as batches. */\r\n@type.define({ className: \"Tr2QuadRenderer\", family: \"trinityCore\" })\r\nexport class Tr2QuadRenderer extends CjsModel\r\n{\r\n\r\n /** m_vertexBufferOffset (uint32_t) - ring offset; engine stamps the real one. */\r\n @type.uint32\r\n vertexBufferOffset = 0;\r\n\r\n /** m_lastInstanceDataSize (uint32_t) */\r\n @type.uint32\r\n lastInstanceDataSize = 0;\r\n\r\n /** m_bufferAlignment (uint32_t) - lcm of registered instance sizes. */\r\n @type.uint32\r\n bufferAlignment = 4;\r\n\r\n /** m_bufferSize - bytes accumulated this frame across all records. */\r\n @type.uint32\r\n bufferSize = 0;\r\n\r\n /** m_effects - EffectKey -> Tr2QuadRendererEffectRecord. */\r\n #effects = new Map();\r\n\r\n /** The merged terminal CPU instance bytes for the frame. */\r\n #mergedData = null;\r\n\r\n /** Largest quadCount among records with instances (RecreateQuadBuffers input). */\r\n #maxQuadCount = 0;\r\n\r\n /**\r\n * Registers a quad effect once per key (Carbon Tr2QuadRenderer.cpp:30-53).\r\n * instanceSize is in bytes; the buffer alignment grows to the lcm of all\r\n * registered instance sizes.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterEffect(key, batchType, instanceSize, quadCount, definition, effect)\r\n {\r\n if (this.#effects.has(key))\r\n {\r\n return;\r\n }\r\n const record = new Tr2QuadRendererEffectRecord();\r\n record.effect = effect ?? null;\r\n record.batchType = batchType;\r\n record.instanceSize = instanceSize >>> 0;\r\n record.quadCount = quadCount >>> 0;\r\n record.definition = definition ?? null;\r\n this.#effects.set(key, record);\r\n this.bufferAlignment = Tr2QuadRenderer.#Lcm(this.bufferAlignment, record.instanceSize || 1);\r\n }\r\n\r\n /**\r\n * Drops a registered effect and the quads accumulated for it.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UnregisterEffect(key)\r\n {\r\n this.#effects.delete(key);\r\n }\r\n\r\n /**\r\n * Accumulates instance data for a registered effect (Carbon cpp:60-79).\r\n * Accepts terminal byte views or legacy float32-compatible number arrays\r\n * covering count * instanceSize bytes; unknown keys are ignored like Carbon.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Single-threaded JS collapses the per-thread TLS buffers to one pending list while preserving Carbon's raw memcpy byte boundary.\")\r\n AddQuads(effectKey, sprites, count = 1)\r\n {\r\n const record = this.#effects.get(effectKey);\r\n if (!record)\r\n {\r\n return;\r\n }\r\n\r\n const size = count * record.instanceSize;\r\n if (!size)\r\n {\r\n return;\r\n }\r\n\r\n const bytes = Tr2QuadRenderer.#CopyInstanceBytes(sprites, size);\r\n record.pending.push(bytes);\r\n record.addedSize += size;\r\n this.bufferSize += size;\r\n }\r\n\r\n /**\r\n * Concatenates every record's pending instances into one aligned CPU\r\n * buffer, stamping per-record bufferOffset/count (Carbon cpp:81-115).\r\n * Returns the largest quadCount among live records.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n MergeBuffers()\r\n {\r\n let padded = this.bufferSize;\r\n for (const record of this.#effects.values())\r\n {\r\n padded += record.instanceSize;\r\n }\r\n const merged = new Uint8Array(padded);\r\n let offset = 0;\r\n let quadCount = 0;\r\n for (const record of this.#effects.values())\r\n {\r\n offset = Tr2QuadRenderer.#Align(offset, record.instanceSize || 1);\r\n record.bufferOffset = offset;\r\n for (const chunk of record.pending)\r\n {\r\n merged.set(chunk, offset);\r\n offset += chunk.byteLength;\r\n }\r\n record.pending.length = 0;\r\n record.addedSize = 0;\r\n record.count = record.instanceSize ? (offset - record.bufferOffset) / record.instanceSize : 0;\r\n if (record.count)\r\n {\r\n quadCount = Math.max(quadCount, record.quadCount);\r\n }\r\n }\r\n this.#mergedData = merged;\r\n this.#maxQuadCount = quadCount;\r\n return quadCount;\r\n }\r\n\r\n /**\r\n * Frame-start CPU work (Carbon cpp:160-166): merge the accumulated\r\n * instances. Buffer upload and quad-buffer creation are engine-owned;\r\n * the engine reads GetMergedData()/GetMaxQuadCount() and stamps\r\n * vertexBufferOffset with the ring allocation.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"UpdateInstanceBuffer/RecreateQuadBuffers/PrepareResources are GPU realization; the merged CPU state is exposed for the engine.\")\r\n BeginRendering(_renderContext = null)\r\n {\r\n const quadCount = this.MergeBuffers();\r\n this.lastInstanceDataSize = this.bufferSize;\r\n return quadCount;\r\n }\r\n\r\n /** Frame-end reset (Carbon cpp:55-58). */\r\n @carbon.method\r\n @impl.implemented\r\n DoneRendering(_renderContext = null)\r\n {\r\n this.bufferSize = 0;\r\n }\r\n\r\n /**\r\n * Emits one instanced batch per live record of the requested type\r\n * (Carbon cpp:188-207). The quad vertex/index buffers are shared engine\r\n * resources, carried as descriptors on the batch; startInstanceLocation\r\n * derives from the ring offset + record offset exactly like Carbon.\r\n * Returns whether any batch was committed (JS convention).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Quad and ring buffers become deferred descriptors the engine realizes; Carbon binds live AL buffers here.\")\r\n GetBatches(batchType, accumulator)\r\n {\r\n let committed = false;\r\n for (const record of this.#effects.values())\r\n {\r\n if (!record.count || record.batchType !== batchType)\r\n {\r\n continue;\r\n }\r\n const batch = accumulator.Allocate(Tr2RenderBatch);\r\n batch.SetMaterial(record.effect);\r\n batch.SetGeometry(record.definition, Tr2QuadRenderer.QuadVertexSource, 4, Tr2QuadRenderer.QuadIndexSource, 2);\r\n batch.SetStreamSource(1, {\r\n quadInstanceData: this.#mergedData,\r\n byteOffset: record.bufferOffset,\r\n instanceSize: record.instanceSize\r\n }, record.instanceSize);\r\n batch.SetDrawIndexedInstanced(\r\n 6 * record.quadCount,\r\n record.count,\r\n 0,\r\n 0,\r\n record.instanceSize ? (this.vertexBufferOffset + record.bufferOffset) / record.instanceSize : 0\r\n );\r\n committed = accumulator.Commit(batch) || committed;\r\n }\r\n return committed;\r\n }\r\n\r\n /**\r\n * The per-instance byte size an engine allocates for a registered effect.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetInstanceDataSize()\r\n {\r\n return this.lastInstanceDataSize;\r\n }\r\n\r\n /** The frame's merged CPU instance buffer for the engine uploader. */\r\n GetMergedData()\r\n {\r\n return this.#mergedData;\r\n }\r\n\r\n /** The largest quadCount among live records (quad IB sizing). */\r\n GetMaxQuadCount()\r\n {\r\n return this.#maxQuadCount;\r\n }\r\n\r\n /** The registered effect records (engine declaration resolution). */\r\n GetEffectRecords()\r\n {\r\n return this.#effects;\r\n }\r\n\r\n /** Carbon Tr2QuadRenderer::Instance - the scene-global singleton. */\r\n static Instance()\r\n {\r\n if (!Tr2QuadRenderer.#instance)\r\n {\r\n Tr2QuadRenderer.#instance = new Tr2QuadRenderer();\r\n }\r\n return Tr2QuadRenderer.#instance;\r\n }\r\n\r\n /**\r\n * Rounds an offset up to the next multiple of an alignment.\r\n */\r\n static #Align(offset, alignment)\r\n {\r\n return Math.ceil(offset / alignment) * alignment;\r\n }\r\n\r\n /**\r\n * The lowest common multiple of two sizes, used to align a shared instance stride.\r\n */\r\n static #Lcm(a, b)\r\n {\r\n const gcd = (x, y) => (y ? gcd(y, x % y) : x);\r\n return (a * b) / gcd(a, b);\r\n }\r\n\r\n /** Copies one AddQuads input as the exact bytes Carbon memcpy would receive. */\r\n static #CopyInstanceBytes(source, size)\r\n {\r\n let bytes;\r\n\r\n if (ArrayBuffer.isView(source))\r\n {\r\n bytes = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\r\n }\r\n else if (source instanceof ArrayBuffer)\r\n {\r\n bytes = new Uint8Array(source);\r\n }\r\n else if (Array.isArray(source))\r\n {\r\n const floats = Float32Array.from(source);\r\n bytes = new Uint8Array(floats.buffer, floats.byteOffset, floats.byteLength);\r\n }\r\n else\r\n {\r\n throw new TypeError(\"Tr2QuadRenderer.AddQuads requires terminal bytes or float32-compatible numeric data.\");\r\n }\r\n\r\n if (bytes.byteLength < size)\r\n {\r\n throw new RangeError(`Tr2QuadRenderer.AddQuads expected ${size} bytes, received ${bytes.byteLength}.`);\r\n }\r\n\r\n return bytes.slice(0, size);\r\n }\r\n\r\n static #instance = null;\r\n\r\n /** Deferred descriptor for the engine-owned shared quad vertex buffer. */\r\n static QuadVertexSource = Object.freeze({ quadRendererBuffer: \"quad-vertices\" });\r\n\r\n /** Deferred descriptor for the engine-owned shared quad index buffer. */\r\n static QuadIndexSource = Object.freeze({ quadRendererBuffer: \"quad-indices\" });\r\n\r\n static TriBatchType = TriBatchType;\r\n\r\n}\r\n"],"names":["_Tr2QuadRenderer","_identity","Tr2QuadRenderer","CjsModel","e","_init_vertexBufferOffset","_init_extra_vertexBufferOffset","_init_lastInstanceDataSize","_init_extra_lastInstanceDataSize","_init_bufferAlignment","_init_extra_bufferAlignment","_init_bufferSize","_init_extra_bufferSize","_initProto","c","_initClass","_applyDecs","type","define","className","family","uint32","carbon","method","impl","implemented","adapted","reason","vertexBufferOffset","lastInstanceDataSize","bufferAlignment","bufferSize","Map","RegisterEffect","key","batchType","instanceSize","quadCount","definition","effect","has","record","Tr2QuadRendererEffectRecord","set","UnregisterEffect","delete","AddQuads","effectKey","sprites","count","get","size","bytes","pending","push","addedSize","MergeBuffers","padded","values","merged","Uint8Array","offset","bufferOffset","chunk","byteLength","length","Math","max","BeginRendering","_renderContext","DoneRendering","GetBatches","accumulator","committed","batch","Allocate","Tr2RenderBatch","SetMaterial","SetGeometry","QuadVertexSource","QuadIndexSource","SetStreamSource","quadInstanceData","byteOffset","SetDrawIndexedInstanced","Commit","GetInstanceDataSize","GetMergedData","GetMaxQuadCount","GetEffectRecords","Instance","#Align","alignment","ceil","#Lcm","a","b","gcd","x","y","#CopyInstanceBytes","source","ArrayBuffer","isView","buffer","Array","isArray","floats","Float32Array","from","TypeError","RangeError","slice","Object","freeze","quadRendererBuffer","TriBatchType","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2QuadRenderer.js","sources":["../../../../../src/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js"],"sourcesContent":["// Source: trinity/trinity/Tr2QuadRenderer.h\n// trinity/trinity/Tr2QuadRenderer.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\n// CPU half implemented 2026-07-23 (batch-plan P5 scene-global quad collector).\r\n// The generator had flattened the internal EffectRecord/PerThreadData members\r\n// onto the class; corrected to Carbon's nested shape.\r\n//\r\n// NOT PORTED: UpdateInstanceBuffer (cpp:178), RecreateQuadBuffers (cpp:206)\r\n// and OnPrepareResources (cpp:278) are all methods of this class in Carbon.\r\n// Five classes stop forwarding here because of it - EveChildQuad,\r\n// EveChildTurret, EveSmartLightQuad, EveBoosterSet2, EveChildBoosterSet.\r\nimport { Tr2QuadRendererEffectRecord } from \"./Tr2QuadRendererEffectRecord.js\";\r\nimport { carbon, impl, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { Tr2RenderBatch } from \"../batch/TriRenderBatch/index.js\";\r\nimport { TriBatchType } from \"#consts/graphics\";\r\n\r\n\r\n/** Collects quads from every registered effect into one merged instance buffer and emits them as batches. */\r\n@type.define({ className: \"Tr2QuadRenderer\", family: \"trinityCore\" })\r\nexport class Tr2QuadRenderer extends CjsModel\r\n{\r\n\r\n /** m_vertexBufferOffset (uint32_t) - ring offset; engine stamps the real one. */\r\n @type.uint32\r\n vertexBufferOffset = 0;\r\n\r\n /** m_lastInstanceDataSize (uint32_t) */\r\n @type.uint32\r\n lastInstanceDataSize = 0;\r\n\r\n /** m_bufferAlignment (uint32_t) - lcm of registered instance sizes. */\r\n @type.uint32\r\n bufferAlignment = 4;\r\n\r\n /** m_bufferSize - bytes accumulated this frame across all records. */\r\n @type.uint32\r\n bufferSize = 0;\r\n\r\n /** m_effects - EffectKey -> Tr2QuadRendererEffectRecord. */\r\n #effects = new Map();\r\n\r\n /** The merged terminal CPU instance bytes for the frame. */\r\n #mergedData = null;\r\n\r\n /** Largest quadCount among records with instances (RecreateQuadBuffers input). */\r\n #maxQuadCount = 0;\r\n\r\n /**\r\n * Registers a quad effect once per key (Carbon Tr2QuadRenderer.cpp:30-53).\r\n * instanceSize is in bytes; the buffer alignment grows to the lcm of all\r\n * registered instance sizes.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterEffect(key, batchType, instanceSize, quadCount, definition, effect)\r\n {\r\n if (this.#effects.has(key))\r\n {\r\n return;\r\n }\r\n const record = new Tr2QuadRendererEffectRecord();\r\n record.effect = effect ?? null;\r\n record.batchType = batchType;\r\n record.instanceSize = instanceSize >>> 0;\r\n record.quadCount = quadCount >>> 0;\r\n record.definition = definition ?? null;\r\n this.#effects.set(key, record);\r\n this.bufferAlignment = Tr2QuadRenderer.#Lcm(this.bufferAlignment, record.instanceSize || 1);\r\n }\r\n\r\n /**\r\n * Drops a registered effect and the quads accumulated for it.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UnregisterEffect(key)\r\n {\r\n this.#effects.delete(key);\r\n }\r\n\r\n /**\r\n * Accumulates instance data for a registered effect (Carbon cpp:60-79).\r\n * Accepts terminal byte views or legacy float32-compatible number arrays\r\n * covering count * instanceSize bytes; unknown keys are ignored like Carbon.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Single-threaded JS collapses the per-thread TLS buffers to one pending list while preserving Carbon's raw memcpy byte boundary.\")\r\n AddQuads(effectKey, sprites, count = 1)\r\n {\r\n const record = this.#effects.get(effectKey);\r\n if (!record)\r\n {\r\n return;\r\n }\r\n\r\n const size = count * record.instanceSize;\r\n if (!size)\r\n {\r\n return;\r\n }\r\n\r\n const bytes = Tr2QuadRenderer.#CopyInstanceBytes(sprites, size);\r\n record.pending.push(bytes);\r\n record.addedSize += size;\r\n this.bufferSize += size;\r\n }\r\n\r\n /**\r\n * Concatenates every record's pending instances into one aligned CPU\r\n * buffer, stamping per-record bufferOffset/count (Carbon cpp:81-115).\r\n * Returns the largest quadCount among live records.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n MergeBuffers()\r\n {\r\n let padded = this.bufferSize;\r\n for (const record of this.#effects.values())\r\n {\r\n padded += record.instanceSize;\r\n }\r\n const merged = new Uint8Array(padded);\r\n let offset = 0;\r\n let quadCount = 0;\r\n for (const record of this.#effects.values())\r\n {\r\n offset = Tr2QuadRenderer.#Align(offset, record.instanceSize || 1);\r\n record.bufferOffset = offset;\r\n for (const chunk of record.pending)\r\n {\r\n merged.set(chunk, offset);\r\n offset += chunk.byteLength;\r\n }\r\n record.pending.length = 0;\r\n record.addedSize = 0;\r\n record.count = record.instanceSize ? (offset - record.bufferOffset) / record.instanceSize : 0;\r\n if (record.count)\r\n {\r\n quadCount = Math.max(quadCount, record.quadCount);\r\n }\r\n }\r\n this.#mergedData = merged;\r\n this.#maxQuadCount = quadCount;\r\n return quadCount;\r\n }\r\n\r\n /**\r\n * Frame-start CPU work (Carbon cpp:160-166): merge the accumulated\r\n * instances. Buffer upload and quad-buffer creation are not ported yet;\r\n * the engine reads GetMergedData()/GetMaxQuadCount() and stamps\r\n * vertexBufferOffset with the ring allocation.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"UpdateInstanceBuffer (cpp:178), RecreateQuadBuffers (cpp:206) and OnPrepareResources (cpp:278) are not ported; all three are methods of this class in Carbon. The merged CPU state is exposed meanwhile.\")\r\n BeginRendering(_renderContext = null)\r\n {\r\n const quadCount = this.MergeBuffers();\r\n this.lastInstanceDataSize = this.bufferSize;\r\n return quadCount;\r\n }\r\n\r\n /** Frame-end reset (Carbon cpp:55-58). */\r\n @carbon.method\r\n @impl.implemented\r\n DoneRendering(_renderContext = null)\r\n {\r\n this.bufferSize = 0;\r\n }\r\n\r\n /**\r\n * Emits one instanced batch per live record of the requested type\r\n * (Carbon cpp:188-207). The quad vertex/index buffers are shared engine\r\n * resources, carried as descriptors on the batch; startInstanceLocation\r\n * derives from the ring offset + record offset exactly like Carbon.\r\n * Returns whether any batch was committed (JS convention).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Quad and ring buffers are emitted as deferred descriptors; Carbon binds live AL buffers here, and doing the same is not ported yet.\")\r\n GetBatches(batchType, accumulator)\r\n {\r\n let committed = false;\r\n for (const record of this.#effects.values())\r\n {\r\n if (!record.count || record.batchType !== batchType)\r\n {\r\n continue;\r\n }\r\n const batch = accumulator.Allocate(Tr2RenderBatch);\r\n batch.SetMaterial(record.effect);\r\n batch.SetGeometry(record.definition, Tr2QuadRenderer.QuadVertexSource, 4, Tr2QuadRenderer.QuadIndexSource, 2);\r\n batch.SetStreamSource(1, {\r\n quadInstanceData: this.#mergedData,\r\n byteOffset: record.bufferOffset,\r\n instanceSize: record.instanceSize\r\n }, record.instanceSize);\r\n batch.SetDrawIndexedInstanced(\r\n 6 * record.quadCount,\r\n record.count,\r\n 0,\r\n 0,\r\n record.instanceSize ? (this.vertexBufferOffset + record.bufferOffset) / record.instanceSize : 0\r\n );\r\n committed = accumulator.Commit(batch) || committed;\r\n }\r\n return committed;\r\n }\r\n\r\n /**\r\n * The per-instance byte size an engine allocates for a registered effect.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetInstanceDataSize()\r\n {\r\n return this.lastInstanceDataSize;\r\n }\r\n\r\n /** The frame's merged CPU instance buffer for the engine uploader. */\r\n GetMergedData()\r\n {\r\n return this.#mergedData;\r\n }\r\n\r\n /** The largest quadCount among live records (quad IB sizing). */\r\n GetMaxQuadCount()\r\n {\r\n return this.#maxQuadCount;\r\n }\r\n\r\n /** The registered effect records (engine declaration resolution). */\r\n GetEffectRecords()\r\n {\r\n return this.#effects;\r\n }\r\n\r\n /** Carbon Tr2QuadRenderer::Instance - the scene-global singleton. */\r\n static Instance()\r\n {\r\n if (!Tr2QuadRenderer.#instance)\r\n {\r\n Tr2QuadRenderer.#instance = new Tr2QuadRenderer();\r\n }\r\n return Tr2QuadRenderer.#instance;\r\n }\r\n\r\n /**\r\n * Rounds an offset up to the next multiple of an alignment.\r\n */\r\n static #Align(offset, alignment)\r\n {\r\n return Math.ceil(offset / alignment) * alignment;\r\n }\r\n\r\n /**\r\n * The lowest common multiple of two sizes, used to align a shared instance stride.\r\n */\r\n static #Lcm(a, b)\r\n {\r\n const gcd = (x, y) => (y ? gcd(y, x % y) : x);\r\n return (a * b) / gcd(a, b);\r\n }\r\n\r\n /** Copies one AddQuads input as the exact bytes Carbon memcpy would receive. */\r\n static #CopyInstanceBytes(source, size)\r\n {\r\n let bytes;\r\n\r\n if (ArrayBuffer.isView(source))\r\n {\r\n bytes = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\r\n }\r\n else if (source instanceof ArrayBuffer)\r\n {\r\n bytes = new Uint8Array(source);\r\n }\r\n else if (Array.isArray(source))\r\n {\r\n const floats = Float32Array.from(source);\r\n bytes = new Uint8Array(floats.buffer, floats.byteOffset, floats.byteLength);\r\n }\r\n else\r\n {\r\n throw new TypeError(\"Tr2QuadRenderer.AddQuads requires terminal bytes or float32-compatible numeric data.\");\r\n }\r\n\r\n if (bytes.byteLength < size)\r\n {\r\n throw new RangeError(`Tr2QuadRenderer.AddQuads expected ${size} bytes, received ${bytes.byteLength}.`);\r\n }\r\n\r\n return bytes.slice(0, size);\r\n }\r\n\r\n static #instance = null;\r\n\r\n /** Deferred descriptor for the engine-owned shared quad vertex buffer. */\r\n static QuadVertexSource = Object.freeze({ quadRendererBuffer: \"quad-vertices\" });\r\n\r\n /** Deferred descriptor for the engine-owned shared quad index buffer. */\r\n static QuadIndexSource = Object.freeze({ quadRendererBuffer: \"quad-indices\" });\r\n\r\n static TriBatchType = TriBatchType;\r\n\r\n}\r\n"],"names":["_Tr2QuadRenderer","_identity","Tr2QuadRenderer","CjsModel","e","_init_vertexBufferOffset","_init_extra_vertexBufferOffset","_init_lastInstanceDataSize","_init_extra_lastInstanceDataSize","_init_bufferAlignment","_init_extra_bufferAlignment","_init_bufferSize","_init_extra_bufferSize","_initProto","c","_initClass","_applyDecs","type","define","className","family","uint32","carbon","method","impl","implemented","adapted","reason","vertexBufferOffset","lastInstanceDataSize","bufferAlignment","bufferSize","Map","RegisterEffect","key","batchType","instanceSize","quadCount","definition","effect","has","record","Tr2QuadRendererEffectRecord","set","UnregisterEffect","delete","AddQuads","effectKey","sprites","count","get","size","bytes","pending","push","addedSize","MergeBuffers","padded","values","merged","Uint8Array","offset","bufferOffset","chunk","byteLength","length","Math","max","BeginRendering","_renderContext","DoneRendering","GetBatches","accumulator","committed","batch","Allocate","Tr2RenderBatch","SetMaterial","SetGeometry","QuadVertexSource","QuadIndexSource","SetStreamSource","quadInstanceData","byteOffset","SetDrawIndexedInstanced","Commit","GetInstanceDataSize","GetMergedData","GetMaxQuadCount","GetEffectRecords","Instance","#Align","alignment","ceil","#Lcm","a","b","gcd","x","y","#CopyInstanceBytes","source","ArrayBuffer","isView","buffer","Array","isArray","floats","Float32Array","from","TypeError","RangeError","slice","Object","freeze","quadRendererBuffer","TriBatchType","constructor"],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  // The generator had flattened the internal EffectRecord/PerThreadData members
6
6
  // onto the class; corrected to Carbon's nested shape. GPU realization (quad
7
7
  // vertex/index buffers, ring instance buffer upload, vertex-declaration
8
- // handles) is engine-owned and reads the merged CPU state emitted here.
8
+ // handles) is not ported yet and reads the merged CPU state emitted here.
9
9
 
10
10
  /** One registered quad effect (Carbon Tr2QuadRenderer::EffectRecord). */
11
11
  class Tr2QuadRendererEffectRecord {
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2QuadRendererEffectRecord.js","sources":["../../../../../src/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js"],"sourcesContent":["// Source: trinity/trinity/Tr2QuadRenderer.h\r\n// trinity/trinity/Tr2QuadRenderer.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\n// CPU half implemented 2026-07-23 (batch-plan P5 scene-global quad collector).\r\n// The generator had flattened the internal EffectRecord/PerThreadData members\r\n// onto the class; corrected to Carbon's nested shape. GPU realization (quad\r\n// vertex/index buffers, ring instance buffer upload, vertex-declaration\r\n// handles) is engine-owned and reads the merged CPU state emitted here.\r\n\r\n\r\n/** One registered quad effect (Carbon Tr2QuadRenderer::EffectRecord). */\r\nexport class Tr2QuadRendererEffectRecord\r\n{\r\n\r\n effect = null;\r\n\r\n batchType = 0;\r\n\r\n /** Size of one instance vertex in BYTES. */\r\n instanceSize = 0;\r\n\r\n /** Number of quads to render per instance. */\r\n quadCount = 0;\r\n\r\n /** Vertex definition (engine resolves the declaration handle from it). */\r\n definition = null;\r\n\r\n /** Byte offset of this record's instances in the merged buffer. */\r\n bufferOffset = 0;\r\n\r\n /** Number of instances merged this frame. */\r\n count = 0;\r\n\r\n /** Per-frame accumulation (Carbon's per-thread TLS collapses to one list). */\r\n pending = [];\r\n\r\n /** Bytes accumulated in pending. */\r\n addedSize = 0;\r\n\r\n}\r\n"],"names":["Tr2QuadRendererEffectRecord","effect","batchType","instanceSize","quadCount","definition","bufferOffset","count","pending","addedSize"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACO,MAAMA,2BAA2B,CACxC;AAEEC,EAAAA,MAAM,GAAG,IAAI;AAEbC,EAAAA,SAAS,GAAG,CAAC;;AAEb;AACAC,EAAAA,YAAY,GAAG,CAAC;;AAEhB;AACAC,EAAAA,SAAS,GAAG,CAAC;;AAEb;AACAC,EAAAA,UAAU,GAAG,IAAI;;AAEjB;AACAC,EAAAA,YAAY,GAAG,CAAC;;AAEhB;AACAC,EAAAA,KAAK,GAAG,CAAC;;AAET;AACAC,EAAAA,OAAO,GAAG,EAAE;;AAEZ;AACAC,EAAAA,SAAS,GAAG,CAAC;AAEf;;;;"}
1
+ {"version":3,"file":"Tr2QuadRendererEffectRecord.js","sources":["../../../../../src/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js"],"sourcesContent":["// Source: trinity/trinity/Tr2QuadRenderer.h\r\n// trinity/trinity/Tr2QuadRenderer.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\n// CPU half implemented 2026-07-23 (batch-plan P5 scene-global quad collector).\r\n// The generator had flattened the internal EffectRecord/PerThreadData members\r\n// onto the class; corrected to Carbon's nested shape. GPU realization (quad\r\n// vertex/index buffers, ring instance buffer upload, vertex-declaration\r\n// handles) is not ported yet and reads the merged CPU state emitted here.\r\n\r\n\r\n/** One registered quad effect (Carbon Tr2QuadRenderer::EffectRecord). */\r\nexport class Tr2QuadRendererEffectRecord\r\n{\r\n\r\n effect = null;\r\n\r\n batchType = 0;\r\n\r\n /** Size of one instance vertex in BYTES. */\r\n instanceSize = 0;\r\n\r\n /** Number of quads to render per instance. */\r\n quadCount = 0;\r\n\r\n /** Vertex definition (engine resolves the declaration handle from it). */\r\n definition = null;\r\n\r\n /** Byte offset of this record's instances in the merged buffer. */\r\n bufferOffset = 0;\r\n\r\n /** Number of instances merged this frame. */\r\n count = 0;\r\n\r\n /** Per-frame accumulation (Carbon's per-thread TLS collapses to one list). */\r\n pending = [];\r\n\r\n /** Bytes accumulated in pending. */\r\n addedSize = 0;\r\n\r\n}\r\n"],"names":["Tr2QuadRendererEffectRecord","effect","batchType","instanceSize","quadCount","definition","bufferOffset","count","pending","addedSize"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACO,MAAMA,2BAA2B,CACxC;AAEEC,EAAAA,MAAM,GAAG,IAAI;AAEbC,EAAAA,SAAS,GAAG,CAAC;;AAEb;AACAC,EAAAA,YAAY,GAAG,CAAC;;AAEhB;AACAC,EAAAA,SAAS,GAAG,CAAC;;AAEb;AACAC,EAAAA,UAAU,GAAG,IAAI;;AAEjB;AACAC,EAAAA,YAAY,GAAG,CAAC;;AAEhB;AACAC,EAAAA,KAAK,GAAG,CAAC;;AAET;AACAC,EAAAA,OAAO,GAAG,EAAE;;AAEZ;AACAC,EAAAA,SAAS,GAAG,CAAC;AAEf;;;;"}
@@ -2,8 +2,11 @@ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../_v
2
2
  import { carbon, impl, type } from '#schema';
3
3
  import { Tr2Blitter } from './Tr2Blitter.js';
4
4
  import { AdjustTextureCoordsToViewport } from './Tr2RenderUtils.js';
5
+ import { Tr2RenderContext_GetMainThreadRenderContext } from './context/Tr2RenderContext.js';
6
+ import { Tr2VariableStore as _Tr2VariableStore } from './variable/Tr2VariableStore.js';
7
+ import { gTriDev } from './device/gTriDev.js';
5
8
 
6
- let _initProto, _initClass;
9
+ let _initProto, _initStatic, _initClass;
7
10
 
8
11
  /** perFrameVS, owned by the scene. */
9
12
  const PER_FRAME_VS = 1;
@@ -37,7 +40,7 @@ const PER_OBJECT_PS = 4;
37
40
  * base were expensive, nobody would need telling.
38
41
  *
39
42
  * A model is an object that arrives from a `.red`/`.black` values graph. This
40
- * one is composed at runtime by the library, carries no `@io` field, and is
43
+ * one is composed at runtime by the library, carries no `@edit` field, and is
41
44
  * named as a type by nothing, so a hydration identity describes something that
42
45
  * can never happen. The same goes for the abstraction layer and the resource
43
46
  * and GPU classes - none of them is ever part of a serialized object. The AL
@@ -53,12 +56,13 @@ new class extends _identity {
53
56
  static [class Tr2Renderer {
54
57
  static {
55
58
  ({
56
- e: [_initProto],
59
+ e: [_initProto, _initStatic],
57
60
  c: [_Tr2Renderer, _initClass]
58
61
  } = _applyDecs2311(this, [type.define({
59
62
  className: "Tr2Renderer",
60
63
  family: "trinityCore"
61
- })], [[[carbon, carbon.method, impl, impl.implemented], 18, "GetPerFrameVSStartRegister"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerFramePSStartRegister"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectVSStartRegister"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectPSStartRegister"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectRTVertexBufferDataRegister"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectVSGUIStartRegister"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetPerObjectStartRegister"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon also allocates the quad vertex and index buffers and the debug line set here; only the blitter is ported.")], 18, "PrepareDeviceResources"], [[carbon, carbon.method, impl, impl.implemented], 18, "DrawScreenQuad"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon distinguishes this from the material form by overload; JavaScript has none, so the rectangle form carries its own name.")], 18, "DrawScreenQuadRect"], [[carbon, carbon.method, impl, impl.implemented], 18, "DrawCameraSpaceScreenQuad"], [[carbon, carbon.method, impl, impl.implemented], 18, "DrawFullScreenWithShader"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's four overloads differ only in an optional material and optional coordinates, which are defaults here.")], 18, "DrawTexture"]]));
64
+ })], [[[carbon, carbon.method, impl, impl.implemented], 18, "GetPerFrameVSStartRegister"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerFramePSStartRegister"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectVSStartRegister"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectPSStartRegister"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectRTVertexBufferDataRegister"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPerObjectVSGUIStartRegister"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetPerObjectStartRegister"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon also allocates the quad vertex and index buffers and the debug line set here; only the blitter is ported.")], 18, "PrepareDeviceResources"], [[carbon, carbon.method, impl, impl.implemented], 18, "DrawScreenQuad"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon distinguishes this from the material form by overload; JavaScript has none, so the rectangle form carries its own name.")], 18, "DrawScreenQuadRect"], [[carbon, carbon.method, impl, impl.implemented], 18, "DrawCameraSpaceScreenQuad"], [[carbon, carbon.method, impl, impl.implemented], 18, "DrawFullScreenWithShader"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's four overloads differ only in an optional material and optional coordinates, which are defaults here.")], 18, "DrawTexture"], [[carbon, carbon.method, impl, impl.implemented], 26, "GetAnimationTime"], [[carbon, carbon.method, impl, impl.implemented], 26, "GetAnimationTimeElapsed"], [[carbon, carbon.method, impl, impl.implemented], 26, "BeginFrame"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon clears two of its own statics, s_debugTextRenderer and s_debugLineSet (Tr2Renderer.cpp:1053-1064). Neither type is ported; the installed debug renderer on the ambient context is the only thing here that accumulates per-frame debug drawing, so it is what gets cleared.")], 26, "EndFrame"], [[carbon, carbon.method, impl, impl.implemented], 26, "BeginRenderContext"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's pool allocator is a Tr2Renderer static (s_poolAllocator); ours is per render context, so this clears the ambient context's. Moving the pool is open work - it has three call sites that read it off a context they were handed.")], 26, "EndRenderContext"], [[carbon, carbon.method, impl, impl.implemented], 26, "GetCurrentFrameCounter"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The early-outs are ported because TriDevice::Render calls this with zero every frame, and Carbon returns immediately for that. Actually growing the buffer needs CreateIndexBuffer and a Tr2SuballocatedBuffer allocation, neither of which is reachable yet, so it refuses rather than pretending. Carbon's IsResourceCreationAllowed guard has no counterpart here either.")], 26, "ReserveQuadListIndexBuffer"], [[carbon, carbon.method, impl, impl.implemented], 26, "GetQuadListIndexBuffer"]]));
65
+ _initStatic(this);
62
66
  }
63
67
  // Carbon's header calls these the defaults "for the currently set shader
64
68
  // model" and they are mutable statics, but nothing ever reassigns them, so
@@ -294,8 +298,161 @@ new class extends _identity {
294
298
  }, options.filter);
295
299
  }
296
300
 
301
+ // ------------------------------------------------------------------------
302
+ // THE FRAME STATICS. Source: Tr2Renderer.h:125-133, Tr2Renderer.cpp:1040-1091
303
+ // and :1229-1271.
304
+ //
305
+ // These six are static in Carbon and static here, and they are the ones
306
+ // `TriDevice::Render` calls. They reach the ambient main-thread render
307
+ // context exactly as Carbon's do, through the macro
308
+ // `USE_MAIN_THREAD_RENDER_CONTEXT`; the JS equivalent is the free function
309
+ // that macro wraps.
310
+ //
311
+ // FIVE OF THEM WERE INSTANCE METHODS ON `Tr2RenderContext`, which in Carbon
312
+ // has none of them. That happened because ambient reach was unavailable
313
+ // while the retired graph/realization split was in force, so a static had
314
+ // nothing to act on and the behaviour migrated to the instance that did.
315
+ // ------------------------------------------------------------------------
316
+
317
+ /**
318
+ * The animation clock, in seconds (`Tr2Renderer.cpp:1030-1033`).
319
+ *
320
+ * Carbon's body is one line - `gTriDev->GetAnimationTime()` - and so is
321
+ * this. The clock itself is `TriDevice::m_animationTime`, advanced by the
322
+ * tick; nothing here holds a copy.
323
+ *
324
+ * @returns {number} Seconds since the clock was last recentred.
325
+ */
326
+ static GetAnimationTime() {
327
+ return gTriDev.device.GetAnimationTime();
328
+ }
329
+
330
+ /**
331
+ * Seconds elapsed on the animation clock since `startTime`
332
+ * (`Tr2Renderer.cpp:1035-1038`), correct across the hourly recentre.
333
+ *
334
+ * @param {number} startTime An earlier reading of the animation clock.
335
+ * @returns {number} The elapsed seconds.
336
+ */
337
+ static GetAnimationTimeElapsed(startTime) {
338
+ return gTriDev.device.GetAnimationTimeElapsed(startTime);
339
+ }
340
+
341
+ /**
342
+ * Publishes the per-frame "Time" vector every shader reads.
343
+ *
344
+ * x is the animation time, y its fractional part - a free 0..1 sawtooth -
345
+ * z the frame counter, and w the PREVIOUS frame's animation time, which is
346
+ * what lets a shader compute its own delta. Carbon registers the variable
347
+ * once (`Tr2Renderer.cpp:330`) and assigns it here (`:1040-1051`); w comes
348
+ * from the variable's own prior value, not from a second clock.
349
+ *
350
+ * @returns {number[]} The published vector.
351
+ */
352
+ static BeginFrame() {
353
+ const variable = _Tr2Renderer.#RenderTimeVariable();
354
+ const previous = variable?.GetValue() ?? [0, 0, 0, 0];
355
+ const animationTime = gTriDev.device.GetAnimationTime();
356
+ const time = [animationTime, animationTime - Math.floor(animationTime), Number(_Tr2Renderer.GetCurrentFrameCounter()), previous[0] ?? 0];
357
+ variable?.SetValue(time);
358
+ return time;
359
+ }
360
+
361
+ /**
362
+ * Ends the frame, clearing the debug drawing accumulated during it.
363
+ *
364
+ * @returns {void}
365
+ */
366
+ static EndFrame() {
367
+ const renderContext = Tr2RenderContext_GetMainThreadRenderContext();
368
+
369
+ // `SetDebugRenderer` takes whatever a render job hands it, and Carbon's own
370
+ // type is not ported, so this is a foreign object. Asked explicitly rather
371
+ // than hedged, because the question really is "does this thing clear".
372
+ const debugRenderer = renderContext.GetDebugRenderer();
373
+ if (typeof debugRenderer?.Clear === "function") debugRenderer.Clear();
374
+ }
375
+
376
+ /**
377
+ * Opens the scene on the ambient render context (`Tr2Renderer.cpp:1066-1070`).
378
+ *
379
+ * @returns {*} Whatever the backend's BeginScene returns.
380
+ */
381
+ static BeginRenderContext() {
382
+ return Tr2RenderContext_GetMainThreadRenderContext().BeginScene();
383
+ }
384
+
385
+ /**
386
+ * Clears the transient pool, then closes the scene (`Tr2Renderer.cpp:1072-1081`).
387
+ *
388
+ * The clear happens BEFORE EndScene, so every payload leased during the
389
+ * frame dies at one point.
390
+ *
391
+ * @returns {*} Whatever the backend's EndScene returns.
392
+ */
393
+ static EndRenderContext() {
394
+ const renderContext = Tr2RenderContext_GetMainThreadRenderContext();
395
+ renderContext.GetTriPoolAllocator()?.Clear();
396
+ return renderContext.EndScene();
397
+ }
398
+
399
+ /**
400
+ * The frame the render path is currently working on.
401
+ *
402
+ * Carbon reads `g_currentFrameCounter`, which lives in `TriDevice.cpp:143`
403
+ * and is advanced by the tick at `:805` - so the counter is the device's and
404
+ * this only reads it (`Tr2Renderer.cpp:1088-1091`).
405
+ *
406
+ * @returns {number} The frame number.
407
+ */
408
+ static GetCurrentFrameCounter() {
409
+ return gTriDev.device.GetCurrentFrameCounter();
410
+ }
411
+
412
+ /**
413
+ * Grows the shared quad-list index buffer to hold `numOfQuads` quads.
414
+ *
415
+ * @param {number} [numOfQuads] Quads the caller needs indices for.
416
+ * @returns {void}
417
+ */
418
+ static ReserveQuadListIndexBuffer(numOfQuads = 0) {
419
+ let requested = Math.max(Number(numOfQuads) || 0, 0);
420
+ if (requested <= _Tr2Renderer.#quadListSize && _Tr2Renderer.#quadListIndexBuffer) return;
421
+ requested = Math.max(requested, _Tr2Renderer.#quadListSize);
422
+ if (requested === 0) return;
423
+ throw new Error("Tr2Renderer.ReserveQuadListIndexBuffer cannot grow the quad-list index buffer: " + "index-buffer creation through Tr2SuballocatedBuffer is not implemented in CarbonEngineJS.");
424
+ }
425
+
426
+ /**
427
+ * The shared quad-list index buffer allocation (`Tr2Renderer.cpp:1267-1270`).
428
+ *
429
+ * @returns {object|null} The allocation, or null while none has been made.
430
+ */
431
+ static GetQuadListIndexBuffer() {
432
+ return _Tr2Renderer.#quadListIndexBuffer;
433
+ }
434
+
435
+ /** Carbon s_quadListSize. */
436
+
437
+ /** Carbon s_quadListIndexBuffer. */
438
+
439
+ /**
440
+ * Carbon's `s_renderTimeVar`, registered once and assigned every frame.
441
+ *
442
+ * @returns {object|null} The "Time" variable on the global store.
443
+ */
444
+
297
445
  /** Carbon's `Tr2RenderContextEnum::PIXEL_SHADER`, the one stage that differs. */
298
446
  }];
447
+ #quadListSize = 0;
448
+ #quadListIndexBuffer = null;
449
+ #RenderTimeVariable() {
450
+ if (!_Tr2Renderer.#renderTimeVar) {
451
+ _Tr2Renderer.#renderTimeVar = _Tr2VariableStore.GlobalStore().RegisterVariable("Time", [0, 0, 0, 0]);
452
+ }
453
+ return _Tr2Renderer.#renderTimeVar;
454
+ }
455
+ #renderTimeVar = null;
299
456
  PIXEL_SHADER = 1;
300
457
  constructor() {
301
458
  super(_Tr2Renderer), _initClass();
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2Renderer.js","sources":["../../../../src/trinity/core/Tr2Renderer.js"],"sourcesContent":["// Source: trinity/trinity/Tr2Renderer.h\n// Source: trinity/trinity/Tr2Renderer.cpp\n//\n// The renderer-wide facade: the constant-buffer register map, the frame clock,\n// and the projection and view state every pass reads.\n//\n// ONE DELIBERATE DEPARTURE, DECIDED BY THE OPERATOR ON 2026-09-05. Carbon's\n// `Tr2Renderer` is entirely STATIC - a process-wide singleton. Ours is an\n// instance the composition root creates and hands out. Two reasons, and the\n// second is the one that matters:\n//\n// - a page is unlikely to want two backends at once, so the singleton is not\n// buying much;\n// - but this runtime already supports more than one library instance with its\n// own resource manager, and a static renderer would silently make the second\n// one share the first one's frame clock and projection. That is a bug nobody\n// would look for.\n//\n// The composition root creating one is not the same as the composition root\n// BECOMING a renderer, which `runtime/docs/core/roadmap.md` rules out: this\n// class holds GPU-free state and the library composes it, exactly as it\n// composes a resource manager it does not implement.\n//\n// WHY THE REGISTER MAP IS HERE AND NOT IN AN ENGINE. Carbon keeps these six\n// numbers as `Tr2Renderer` statics (`Tr2Renderer.cpp:38-43`), because they are\n// the contract between Trinity and EVERY backend rather than one backend's\n// detail. They lived in the WebGPU engine until now, where a second backend\n// could not have reached them without copying them.\n\nimport { carbon, impl, type } from \"#schema\";\nimport { Tr2Blitter } from \"./Tr2Blitter.js\";\nimport { AdjustTextureCoordsToViewport } from \"./Tr2RenderUtils.js\";\n\n\n/** perFrameVS, owned by the scene. */\nexport const PER_FRAME_VS = 1;\n\n/** perFramePS, owned by the scene. */\nexport const PER_FRAME_PS = 2;\n\n/** The effect's own constants. */\nexport const EFFECT_CONSTANTS = 0;\n\n/** perObjectVS, owned by the object being drawn. */\nexport const PER_OBJECT_VS = 3;\n\n/** perObjectPS, owned by the object being drawn. */\nexport const PER_OBJECT_PS = 4;\n\n// THERE WAS A REVERSE MAP HERE AND IT IS GONE. A register-number-to-name table\n// looked necessary because a caller reading a pipeline's DECLARED bindings has a\n// number and wants to know what it means. It is not: the numbers are fixed and\n// this class owns them, so the question is answered by comparing against the\n// accessors below - which is how Carbon answers it, and why Carbon has no such\n// table. The names only ever reached a diagnostic string.\n\n\n/**\n * Renderer-wide state: the register map now, the frame clock and camera later.\n *\n * NOT A `CjsModel`, and the reason is CATEGORY RATHER THAN COST. Operator,\n * 2026-09-05: \"CjsModel is only for things that actually need to hydrate\", and\n * \"there should be little cost in making something a CjsModel\". Both are true\n * at once, and the second is why the first has to be stated as a rule - if the\n * base were expensive, nobody would need telling.\n *\n * A model is an object that arrives from a `.red`/`.black` values graph. This\n * one is composed at runtime by the library, carries no `@io` field, and is\n * named as a type by nothing, so a hydration identity describes something that\n * can never happen. The same goes for the abstraction layer and the resource\n * and GPU classes - none of them is ever part of a serialized object. The AL\n * family already complies.\n *\n * IT IS STILL DECORATED, and that is the point worth keeping straight:\n * decorators are not only hydration. `@type.define` gives the class an\n * identity that tooling and the UI read, and `@carbon.method` is how the\n * parity audit sees a method at all. Dropping `CjsModel` costs neither.\n */\n@type.define({ className: \"Tr2Renderer\", family: \"trinityCore\" })\nexport class Tr2Renderer\n{\n // Carbon's header calls these the defaults \"for the currently set shader\n // model\" and they are mutable statics, but nothing ever reassigns them, so\n // they are constants in practice. Kept as fields rather than inlined so a\n // shader model that did move them has somewhere to move them to.\n\n /** s_perFrameVSStartRegister */\n #perFrameVSStartRegister = PER_FRAME_VS;\n\n /** s_perFramePSStartRegister */\n #perFramePSStartRegister = PER_FRAME_PS;\n\n /** s_perObjectVSStartRegister */\n #perObjectVSStartRegister = PER_OBJECT_VS;\n\n /** s_perObjectPSStartRegister */\n #perObjectPSStartRegister = PER_OBJECT_PS;\n\n /** s_perObjectRTVertexBufferDataRegister */\n #perObjectRTVertexBufferDataRegister = 5;\n\n /** s_perObjectVSGUIStartRegister */\n #perObjectVSGUIStartRegister = 6;\n\n /**\n * The register the scene's per-frame vertex constants bind at.\n *\n * @returns {number} A constant-buffer register.\n */\n @carbon.method\n @impl.implemented\n GetPerFrameVSStartRegister()\n {\n return this.#perFrameVSStartRegister;\n }\n\n /**\n * The register the scene's per-frame pixel constants bind at.\n *\n * @returns {number} A constant-buffer register.\n */\n @carbon.method\n @impl.implemented\n GetPerFramePSStartRegister()\n {\n return this.#perFramePSStartRegister;\n }\n\n /**\n * The register an object's per-object vertex constants bind at.\n *\n * @returns {number} A constant-buffer register.\n */\n @carbon.method\n @impl.implemented\n GetPerObjectVSStartRegister()\n {\n return this.#perObjectVSStartRegister;\n }\n\n /**\n * The register an object's per-object pixel constants bind at.\n *\n * @returns {number} A constant-buffer register.\n */\n @carbon.method\n @impl.implemented\n GetPerObjectPSStartRegister()\n {\n return this.#perObjectPSStartRegister;\n }\n\n /**\n * The register ray-traced vertex-buffer data binds at.\n *\n * @returns {number} A constant-buffer register.\n */\n @carbon.method\n @impl.implemented\n GetPerObjectRTVertexBufferDataRegister()\n {\n return this.#perObjectRTVertexBufferDataRegister;\n }\n\n /**\n * The register the GUI's per-object vertex constants bind at.\n *\n * @returns {number} A constant-buffer register.\n */\n @carbon.method\n @impl.implemented\n GetPerObjectVSGUIStartRegister()\n {\n return this.#perObjectVSGUIStartRegister;\n }\n\n /**\n * The per-object register for one shader stage.\n *\n * Carbon's overload pair collapses to a default: the pixel stage has its own\n * register and every other stage shares the vertex one\n * (`Tr2Renderer.h:65-81`).\n *\n * @param {number} [shaderType] A Carbon `ShaderType` value.\n * @returns {number} A constant-buffer register.\n */\n @carbon.method\n @impl.adapted\n GetPerObjectStartRegister(shaderType = 0)\n {\n return shaderType === Tr2Renderer.PIXEL_SHADER\n ? this.GetPerObjectPSStartRegister()\n : this.GetPerObjectVSStartRegister();\n }\n\n /**\n * Carbon's `s_blitter`: the blitter every screen-space draw runs through.\n *\n * An INSTANCE field rather than Carbon's module global, for the reason this\n * whole class is an instance - a second library instance must not silently\n * share the first one's blitter. Created by `PrepareDeviceResources`, and\n * null until then, which is why every draw below guards on it exactly as\n * Carbon's `if( s_blitter )` does.\n */\n #blitter = null;\n\n /**\n * Creates the device-dependent resources, the blitter among them.\n *\n * Carbon `PrepareDeviceResources` (`Tr2Renderer.cpp:1273-1281`), which makes\n * the blitter HERE rather than at startup and says why: it loads an effect,\n * so the device has to exist and the shader model has to be settled first.\n * That holds for us too - there is always a device by this point, the stub\n * backend included, which is a real device and not an absence.\n *\n * Carbon also allocates its quad vertex and index buffers and its debug line\n * set here. Those are not ported; this creates the blitter only.\n *\n * @param {object} [renderContext] The context to prepare the blitter against.\n * @returns {Tr2Blitter} The renderer's blitter.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon also allocates the quad vertex and index buffers and the debug line set here; only the blitter is ported.\")\n PrepareDeviceResources(renderContext = null)\n {\n this.#blitter ??= new Tr2Blitter();\n if (renderContext) this.#blitter.PrepareResources(renderContext);\n return this.#blitter;\n }\n\n /**\n * Returns the blitter, or null before `PrepareDeviceResources` has run.\n *\n * @returns {Tr2Blitter|null} The renderer's blitter.\n */\n GetBlitter()\n {\n return this.#blitter;\n }\n\n /**\n * Draws a fullscreen quad with a material.\n *\n * Carbon `DrawScreenQuad( renderContext, Tr2Material* )`\n * (`Tr2Renderer.cpp:1006-1012`).\n *\n * TEXTURE COORDINATES ARE NOT VIEWPORT-CORRECTED HERE, and that is Carbon's\n * behaviour rather than an omission: only the `DrawTexture` family adjusts\n * them. `AdjustTextureCoordsToViewport` records what the correction is and\n * why folding it into the blitter would move every screen-quad draw.\n *\n * @param {object} renderContext The context to draw through.\n * @param {object} material The material to draw with.\n * @returns {boolean} Whether the quad was drawn.\n */\n @carbon.method\n @impl.implemented\n DrawScreenQuad(renderContext, material)\n {\n if (!this.#blitter) return false;\n return this.#blitter.Draw(renderContext, material);\n }\n\n /**\n * Draws a quad with an effect over an explicit screen rectangle.\n *\n * Carbon `DrawScreenQuad( renderContext, Tr2Effect*, topLeft, bottomRight )`\n * (`Tr2Renderer.cpp:1014-1020`), which passes the full [0,1] TEXTURE range and\n * the caller's corners as the VERTEX rectangle. Carbon distinguishes the two\n * by overload; JavaScript has no overloads, so the rectangle form is named.\n *\n * @param {object} renderContext The context to draw through.\n * @param {object} effect The effect to draw with.\n * @param {Array<number>} topLeft Top-left vertex corner.\n * @param {Array<number>} bottomRight Bottom-right vertex corner.\n * @returns {boolean} Whether the quad was drawn.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon distinguishes this from the material form by overload; JavaScript has none, so the rectangle form carries its own name.\")\n DrawScreenQuadRect(renderContext, effect, topLeft, bottomRight)\n {\n if (!this.#blitter) return false;\n return this.#blitter.Draw(renderContext, effect, null, {\n tlTexCoord: [ 0, 0 ],\n brTexCoord: [ 1, 1 ],\n tlVertexCoord: topLeft,\n brVertexCoord: bottomRight\n });\n }\n\n /**\n * Draws the quad in camera space rather than screen space.\n *\n * Carbon `DrawCameraSpaceScreenQuad` (`Tr2Renderer.cpp:1022-1028`).\n *\n * @param {object} renderContext The context to draw through.\n * @param {object} shader The shader state interface to run.\n * @param {object} material The material supplying its parameters.\n * @returns {boolean} Whether the quad was drawn.\n */\n @carbon.method\n @impl.implemented\n DrawCameraSpaceScreenQuad(renderContext, shader, material)\n {\n if (!this.#blitter) return false;\n return this.#blitter.DrawInCameraSpace(renderContext, shader, material);\n }\n\n /**\n * Draws a unit quad with the given material and no texture.\n *\n * Carbon `DrawFullScreenWithShader` (`Tr2Renderer.cpp:768-775`).\n *\n * @param {object} renderContext The context to draw through.\n * @param {object} material The material to draw with.\n * @returns {boolean} Whether the quad was drawn.\n */\n @carbon.method\n @impl.implemented\n DrawFullScreenWithShader(renderContext, material)\n {\n if (!this.#blitter) return false;\n return this.#blitter.Draw(renderContext, material);\n }\n\n /**\n * Blits a texture, correcting its coordinates for the device viewport.\n *\n * Carbon's four `DrawTexture` overloads (`Tr2Renderer.cpp:750-834`) collapse\n * into one: the material is optional, and without one the filter selects a\n * built-in blit effect. THIS family adjusts the texture coordinates where\n * `DrawScreenQuad` does not - Carbon draws that distinction and it is load\n * bearing.\n *\n * @param {object} renderContext The context to draw through.\n * @param {object} texture The texture to blit.\n * @param {object} [options] `material`, `tlTexCoord`, `brTexCoord`, `filter`.\n * @returns {boolean} Whether the quad was drawn.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon's four overloads differ only in an optional material and optional coordinates, which are defaults here.\")\n DrawTexture(renderContext, texture, options = {})\n {\n if (!this.#blitter) return false;\n\n const { tlTexCoord, brTexCoord } = AdjustTextureCoordsToViewport(\n renderContext,\n options.tlTexCoord ?? [ 0, 0 ],\n options.brTexCoord ?? [ 1, 1 ]\n );\n\n return options.material\n ? this.#blitter.Draw(renderContext, options.material, texture, { tlTexCoord, brTexCoord })\n : this.#blitter.DrawTexture(renderContext, texture, { tlTexCoord, brTexCoord }, options.filter);\n }\n\n /** Carbon's `Tr2RenderContextEnum::PIXEL_SHADER`, the one stage that differs. */\n static PIXEL_SHADER = 1;\n}\n"],"names":["PER_FRAME_VS","PER_FRAME_PS","EFFECT_CONSTANTS","PER_OBJECT_VS","PER_OBJECT_PS","_Tr2Renderer","_identity","Tr2Renderer","e","_initProto","c","_initClass","_applyDecs","type","define","className","family","carbon","method","impl","implemented","adapted","reason","GetPerFrameVSStartRegister","GetPerFramePSStartRegister","GetPerObjectVSStartRegister","GetPerObjectPSStartRegister","GetPerObjectRTVertexBufferDataRegister","GetPerObjectVSGUIStartRegister","GetPerObjectStartRegister","shaderType","PIXEL_SHADER","PrepareDeviceResources","renderContext","Tr2Blitter","PrepareResources","GetBlitter","DrawScreenQuad","material","Draw","DrawScreenQuadRect","effect","topLeft","bottomRight","tlTexCoord","brTexCoord","tlVertexCoord","brVertexCoord","DrawCameraSpaceScreenQuad","shader","DrawInCameraSpace","DrawFullScreenWithShader","DrawTexture","texture","options","AdjustTextureCoordsToViewport","filter","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2Renderer.js","sources":["../../../../src/trinity/core/Tr2Renderer.js"],"sourcesContent":["// Source: trinity/trinity/Tr2Renderer.h\n// Source: trinity/trinity/Tr2Renderer.cpp\n//\n// The renderer-wide facade: the constant-buffer register map, the frame clock,\n// and the projection and view state every pass reads.\n//\n// HALF STATIC, HALF NOT, AND THE SPLIT IS DATED. Carbon's `Tr2Renderer` is\n// entirely static - 106 of 106 members - and a process-wide singleton.\n//\n// On 2026-09-05 the operator decided ours would be an instance instead. The\n// reason that carried the decision was that this runtime supported more than\n// one library instance, each with its own resource manager, and a static\n// renderer would silently make the second one share the first one's frame\n// clock and projection.\n//\n// THAT PREMISE IS GONE. The composition-root decision of 2026-09-17 closed the\n// door on multiple instances: there is one CarbonEngineJS per page, examined\n// properly and shut deliberately. So on 2026-09-18 the six frame members\n// Carbon's `TriDevice::Render` calls went back to being static, which is what\n// let the frame body be ported at all - a static reaching the ambient render\n// context is the whole mechanism.\n//\n// The rest of the class is still instance members: the register map below, the\n// blitter, the projection and view state. That is not a second decision, it is\n// unfinished work, and it is recorded in the wrong-shape register in\n// `docs/projects/port-fidelity-burn-down.md`.\n//\n// WHY THE REGISTER MAP IS HERE AND NOT IN AN ENGINE. Carbon keeps these six\n// numbers as `Tr2Renderer` statics (`Tr2Renderer.cpp:38-43`), because they are\n// the contract between Trinity and EVERY backend rather than one backend's\n// detail. They lived in the WebGPU engine until now, where a second backend\n// could not have reached them without copying them.\n\nimport { carbon, impl, type } from \"#schema\";\nimport { Tr2Blitter } from \"./Tr2Blitter.js\";\nimport { AdjustTextureCoordsToViewport } from \"./Tr2RenderUtils.js\";\nimport { Tr2RenderContext_GetMainThreadRenderContext } from \"./context/Tr2RenderContext.js\";\nimport { Tr2VariableStore } from \"./variable/Tr2VariableStore.js\";\nimport { gTriDev } from \"./device/gTriDev.js\";\n\n\n/** perFrameVS, owned by the scene. */\nexport const PER_FRAME_VS = 1;\n\n/** perFramePS, owned by the scene. */\nexport const PER_FRAME_PS = 2;\n\n/** The effect's own constants. */\nexport const EFFECT_CONSTANTS = 0;\n\n/** perObjectVS, owned by the object being drawn. */\nexport const PER_OBJECT_VS = 3;\n\n/** perObjectPS, owned by the object being drawn. */\nexport const PER_OBJECT_PS = 4;\n\n// THERE WAS A REVERSE MAP HERE AND IT IS GONE. A register-number-to-name table\n// looked necessary because a caller reading a pipeline's DECLARED bindings has a\n// number and wants to know what it means. It is not: the numbers are fixed and\n// this class owns them, so the question is answered by comparing against the\n// accessors below - which is how Carbon answers it, and why Carbon has no such\n// table. The names only ever reached a diagnostic string.\n\n\n/**\n * Renderer-wide state: the register map now, the frame clock and camera later.\n *\n * NOT A `CjsModel`, and the reason is CATEGORY RATHER THAN COST. Operator,\n * 2026-09-05: \"CjsModel is only for things that actually need to hydrate\", and\n * \"there should be little cost in making something a CjsModel\". Both are true\n * at once, and the second is why the first has to be stated as a rule - if the\n * base were expensive, nobody would need telling.\n *\n * A model is an object that arrives from a `.red`/`.black` values graph. This\n * one is composed at runtime by the library, carries no `@edit` field, and is\n * named as a type by nothing, so a hydration identity describes something that\n * can never happen. The same goes for the abstraction layer and the resource\n * and GPU classes - none of them is ever part of a serialized object. The AL\n * family already complies.\n *\n * IT IS STILL DECORATED, and that is the point worth keeping straight:\n * decorators are not only hydration. `@type.define` gives the class an\n * identity that tooling and the UI read, and `@carbon.method` is how the\n * parity audit sees a method at all. Dropping `CjsModel` costs neither.\n */\n@type.define({ className: \"Tr2Renderer\", family: \"trinityCore\" })\nexport class Tr2Renderer\n{\n // Carbon's header calls these the defaults \"for the currently set shader\n // model\" and they are mutable statics, but nothing ever reassigns them, so\n // they are constants in practice. Kept as fields rather than inlined so a\n // shader model that did move them has somewhere to move them to.\n\n /** s_perFrameVSStartRegister */\n #perFrameVSStartRegister = PER_FRAME_VS;\n\n /** s_perFramePSStartRegister */\n #perFramePSStartRegister = PER_FRAME_PS;\n\n /** s_perObjectVSStartRegister */\n #perObjectVSStartRegister = PER_OBJECT_VS;\n\n /** s_perObjectPSStartRegister */\n #perObjectPSStartRegister = PER_OBJECT_PS;\n\n /** s_perObjectRTVertexBufferDataRegister */\n #perObjectRTVertexBufferDataRegister = 5;\n\n /** s_perObjectVSGUIStartRegister */\n #perObjectVSGUIStartRegister = 6;\n\n /**\n * The register the scene's per-frame vertex constants bind at.\n *\n * @returns {number} A constant-buffer register.\n */\n @carbon.method\n @impl.implemented\n GetPerFrameVSStartRegister()\n {\n return this.#perFrameVSStartRegister;\n }\n\n /**\n * The register the scene's per-frame pixel constants bind at.\n *\n * @returns {number} A constant-buffer register.\n */\n @carbon.method\n @impl.implemented\n GetPerFramePSStartRegister()\n {\n return this.#perFramePSStartRegister;\n }\n\n /**\n * The register an object's per-object vertex constants bind at.\n *\n * @returns {number} A constant-buffer register.\n */\n @carbon.method\n @impl.implemented\n GetPerObjectVSStartRegister()\n {\n return this.#perObjectVSStartRegister;\n }\n\n /**\n * The register an object's per-object pixel constants bind at.\n *\n * @returns {number} A constant-buffer register.\n */\n @carbon.method\n @impl.implemented\n GetPerObjectPSStartRegister()\n {\n return this.#perObjectPSStartRegister;\n }\n\n /**\n * The register ray-traced vertex-buffer data binds at.\n *\n * @returns {number} A constant-buffer register.\n */\n @carbon.method\n @impl.implemented\n GetPerObjectRTVertexBufferDataRegister()\n {\n return this.#perObjectRTVertexBufferDataRegister;\n }\n\n /**\n * The register the GUI's per-object vertex constants bind at.\n *\n * @returns {number} A constant-buffer register.\n */\n @carbon.method\n @impl.implemented\n GetPerObjectVSGUIStartRegister()\n {\n return this.#perObjectVSGUIStartRegister;\n }\n\n /**\n * The per-object register for one shader stage.\n *\n * Carbon's overload pair collapses to a default: the pixel stage has its own\n * register and every other stage shares the vertex one\n * (`Tr2Renderer.h:65-81`).\n *\n * @param {number} [shaderType] A Carbon `ShaderType` value.\n * @returns {number} A constant-buffer register.\n */\n @carbon.method\n @impl.adapted\n GetPerObjectStartRegister(shaderType = 0)\n {\n return shaderType === Tr2Renderer.PIXEL_SHADER\n ? this.GetPerObjectPSStartRegister()\n : this.GetPerObjectVSStartRegister();\n }\n\n /**\n * Carbon's `s_blitter`: the blitter every screen-space draw runs through.\n *\n * An INSTANCE field rather than Carbon's module global, for the reason this\n * whole class is an instance - a second library instance must not silently\n * share the first one's blitter. Created by `PrepareDeviceResources`, and\n * null until then, which is why every draw below guards on it exactly as\n * Carbon's `if( s_blitter )` does.\n */\n #blitter = null;\n\n /**\n * Creates the device-dependent resources, the blitter among them.\n *\n * Carbon `PrepareDeviceResources` (`Tr2Renderer.cpp:1273-1281`), which makes\n * the blitter HERE rather than at startup and says why: it loads an effect,\n * so the device has to exist and the shader model has to be settled first.\n * That holds for us too - there is always a device by this point, the stub\n * backend included, which is a real device and not an absence.\n *\n * Carbon also allocates its quad vertex and index buffers and its debug line\n * set here. Those are not ported; this creates the blitter only.\n *\n * @param {object} [renderContext] The context to prepare the blitter against.\n * @returns {Tr2Blitter} The renderer's blitter.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon also allocates the quad vertex and index buffers and the debug line set here; only the blitter is ported.\")\n PrepareDeviceResources(renderContext = null)\n {\n this.#blitter ??= new Tr2Blitter();\n if (renderContext) this.#blitter.PrepareResources(renderContext);\n return this.#blitter;\n }\n\n /**\n * Returns the blitter, or null before `PrepareDeviceResources` has run.\n *\n * @returns {Tr2Blitter|null} The renderer's blitter.\n */\n GetBlitter()\n {\n return this.#blitter;\n }\n\n /**\n * Draws a fullscreen quad with a material.\n *\n * Carbon `DrawScreenQuad( renderContext, Tr2Material* )`\n * (`Tr2Renderer.cpp:1006-1012`).\n *\n * TEXTURE COORDINATES ARE NOT VIEWPORT-CORRECTED HERE, and that is Carbon's\n * behaviour rather than an omission: only the `DrawTexture` family adjusts\n * them. `AdjustTextureCoordsToViewport` records what the correction is and\n * why folding it into the blitter would move every screen-quad draw.\n *\n * @param {object} renderContext The context to draw through.\n * @param {object} material The material to draw with.\n * @returns {boolean} Whether the quad was drawn.\n */\n @carbon.method\n @impl.implemented\n DrawScreenQuad(renderContext, material)\n {\n if (!this.#blitter) return false;\n return this.#blitter.Draw(renderContext, material);\n }\n\n /**\n * Draws a quad with an effect over an explicit screen rectangle.\n *\n * Carbon `DrawScreenQuad( renderContext, Tr2Effect*, topLeft, bottomRight )`\n * (`Tr2Renderer.cpp:1014-1020`), which passes the full [0,1] TEXTURE range and\n * the caller's corners as the VERTEX rectangle. Carbon distinguishes the two\n * by overload; JavaScript has no overloads, so the rectangle form is named.\n *\n * @param {object} renderContext The context to draw through.\n * @param {object} effect The effect to draw with.\n * @param {Array<number>} topLeft Top-left vertex corner.\n * @param {Array<number>} bottomRight Bottom-right vertex corner.\n * @returns {boolean} Whether the quad was drawn.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon distinguishes this from the material form by overload; JavaScript has none, so the rectangle form carries its own name.\")\n DrawScreenQuadRect(renderContext, effect, topLeft, bottomRight)\n {\n if (!this.#blitter) return false;\n return this.#blitter.Draw(renderContext, effect, null, {\n tlTexCoord: [ 0, 0 ],\n brTexCoord: [ 1, 1 ],\n tlVertexCoord: topLeft,\n brVertexCoord: bottomRight\n });\n }\n\n /**\n * Draws the quad in camera space rather than screen space.\n *\n * Carbon `DrawCameraSpaceScreenQuad` (`Tr2Renderer.cpp:1022-1028`).\n *\n * @param {object} renderContext The context to draw through.\n * @param {object} shader The shader state interface to run.\n * @param {object} material The material supplying its parameters.\n * @returns {boolean} Whether the quad was drawn.\n */\n @carbon.method\n @impl.implemented\n DrawCameraSpaceScreenQuad(renderContext, shader, material)\n {\n if (!this.#blitter) return false;\n return this.#blitter.DrawInCameraSpace(renderContext, shader, material);\n }\n\n /**\n * Draws a unit quad with the given material and no texture.\n *\n * Carbon `DrawFullScreenWithShader` (`Tr2Renderer.cpp:768-775`).\n *\n * @param {object} renderContext The context to draw through.\n * @param {object} material The material to draw with.\n * @returns {boolean} Whether the quad was drawn.\n */\n @carbon.method\n @impl.implemented\n DrawFullScreenWithShader(renderContext, material)\n {\n if (!this.#blitter) return false;\n return this.#blitter.Draw(renderContext, material);\n }\n\n /**\n * Blits a texture, correcting its coordinates for the device viewport.\n *\n * Carbon's four `DrawTexture` overloads (`Tr2Renderer.cpp:750-834`) collapse\n * into one: the material is optional, and without one the filter selects a\n * built-in blit effect. THIS family adjusts the texture coordinates where\n * `DrawScreenQuad` does not - Carbon draws that distinction and it is load\n * bearing.\n *\n * @param {object} renderContext The context to draw through.\n * @param {object} texture The texture to blit.\n * @param {object} [options] `material`, `tlTexCoord`, `brTexCoord`, `filter`.\n * @returns {boolean} Whether the quad was drawn.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon's four overloads differ only in an optional material and optional coordinates, which are defaults here.\")\n DrawTexture(renderContext, texture, options = {})\n {\n if (!this.#blitter) return false;\n\n const { tlTexCoord, brTexCoord } = AdjustTextureCoordsToViewport(\n renderContext,\n options.tlTexCoord ?? [ 0, 0 ],\n options.brTexCoord ?? [ 1, 1 ]\n );\n\n return options.material\n ? this.#blitter.Draw(renderContext, options.material, texture, { tlTexCoord, brTexCoord })\n : this.#blitter.DrawTexture(renderContext, texture, { tlTexCoord, brTexCoord }, options.filter);\n }\n\n // ------------------------------------------------------------------------\n // THE FRAME STATICS. Source: Tr2Renderer.h:125-133, Tr2Renderer.cpp:1040-1091\n // and :1229-1271.\n //\n // These six are static in Carbon and static here, and they are the ones\n // `TriDevice::Render` calls. They reach the ambient main-thread render\n // context exactly as Carbon's do, through the macro\n // `USE_MAIN_THREAD_RENDER_CONTEXT`; the JS equivalent is the free function\n // that macro wraps.\n //\n // FIVE OF THEM WERE INSTANCE METHODS ON `Tr2RenderContext`, which in Carbon\n // has none of them. That happened because ambient reach was unavailable\n // while the retired graph/realization split was in force, so a static had\n // nothing to act on and the behaviour migrated to the instance that did.\n // ------------------------------------------------------------------------\n\n /**\n * The animation clock, in seconds (`Tr2Renderer.cpp:1030-1033`).\n *\n * Carbon's body is one line - `gTriDev->GetAnimationTime()` - and so is\n * this. The clock itself is `TriDevice::m_animationTime`, advanced by the\n * tick; nothing here holds a copy.\n *\n * @returns {number} Seconds since the clock was last recentred.\n */\n @carbon.method\n @impl.implemented\n static GetAnimationTime()\n {\n return gTriDev.device.GetAnimationTime();\n }\n\n /**\n * Seconds elapsed on the animation clock since `startTime`\n * (`Tr2Renderer.cpp:1035-1038`), correct across the hourly recentre.\n *\n * @param {number} startTime An earlier reading of the animation clock.\n * @returns {number} The elapsed seconds.\n */\n @carbon.method\n @impl.implemented\n static GetAnimationTimeElapsed(startTime)\n {\n return gTriDev.device.GetAnimationTimeElapsed(startTime);\n }\n\n /**\n * Publishes the per-frame \"Time\" vector every shader reads.\n *\n * x is the animation time, y its fractional part - a free 0..1 sawtooth -\n * z the frame counter, and w the PREVIOUS frame's animation time, which is\n * what lets a shader compute its own delta. Carbon registers the variable\n * once (`Tr2Renderer.cpp:330`) and assigns it here (`:1040-1051`); w comes\n * from the variable's own prior value, not from a second clock.\n *\n * @returns {number[]} The published vector.\n */\n @carbon.method\n @impl.implemented\n static BeginFrame()\n {\n const variable = Tr2Renderer.#RenderTimeVariable();\n const previous = variable?.GetValue() ?? [ 0, 0, 0, 0 ];\n\n const animationTime = gTriDev.device.GetAnimationTime();\n const time = [\n animationTime,\n animationTime - Math.floor(animationTime),\n Number(Tr2Renderer.GetCurrentFrameCounter()),\n previous[0] ?? 0\n ];\n\n variable?.SetValue(time);\n return time;\n }\n\n /**\n * Ends the frame, clearing the debug drawing accumulated during it.\n *\n * @returns {void}\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon clears two of its own statics, s_debugTextRenderer and s_debugLineSet (Tr2Renderer.cpp:1053-1064). Neither type is ported; the installed debug renderer on the ambient context is the only thing here that accumulates per-frame debug drawing, so it is what gets cleared.\")\n static EndFrame()\n {\n const renderContext = Tr2RenderContext_GetMainThreadRenderContext();\n\n // `SetDebugRenderer` takes whatever a render job hands it, and Carbon's own\n // type is not ported, so this is a foreign object. Asked explicitly rather\n // than hedged, because the question really is \"does this thing clear\".\n const debugRenderer = renderContext.GetDebugRenderer();\n if (typeof debugRenderer?.Clear === \"function\") debugRenderer.Clear();\n }\n\n /**\n * Opens the scene on the ambient render context (`Tr2Renderer.cpp:1066-1070`).\n *\n * @returns {*} Whatever the backend's BeginScene returns.\n */\n @carbon.method\n @impl.implemented\n static BeginRenderContext()\n {\n return Tr2RenderContext_GetMainThreadRenderContext().BeginScene();\n }\n\n /**\n * Clears the transient pool, then closes the scene (`Tr2Renderer.cpp:1072-1081`).\n *\n * The clear happens BEFORE EndScene, so every payload leased during the\n * frame dies at one point.\n *\n * @returns {*} Whatever the backend's EndScene returns.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon's pool allocator is a Tr2Renderer static (s_poolAllocator); ours is per render context, so this clears the ambient context's. Moving the pool is open work - it has three call sites that read it off a context they were handed.\")\n static EndRenderContext()\n {\n const renderContext = Tr2RenderContext_GetMainThreadRenderContext();\n renderContext.GetTriPoolAllocator()?.Clear();\n return renderContext.EndScene();\n }\n\n /**\n * The frame the render path is currently working on.\n *\n * Carbon reads `g_currentFrameCounter`, which lives in `TriDevice.cpp:143`\n * and is advanced by the tick at `:805` - so the counter is the device's and\n * this only reads it (`Tr2Renderer.cpp:1088-1091`).\n *\n * @returns {number} The frame number.\n */\n @carbon.method\n @impl.implemented\n static GetCurrentFrameCounter()\n {\n return gTriDev.device.GetCurrentFrameCounter();\n }\n\n /**\n * Grows the shared quad-list index buffer to hold `numOfQuads` quads.\n *\n * @param {number} [numOfQuads] Quads the caller needs indices for.\n * @returns {void}\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"The early-outs are ported because TriDevice::Render calls this with zero every frame, and Carbon returns immediately for that. Actually growing the buffer needs CreateIndexBuffer and a Tr2SuballocatedBuffer allocation, neither of which is reachable yet, so it refuses rather than pretending. Carbon's IsResourceCreationAllowed guard has no counterpart here either.\")\n static ReserveQuadListIndexBuffer(numOfQuads = 0)\n {\n let requested = Math.max(Number(numOfQuads) || 0, 0);\n\n if (requested <= Tr2Renderer.#quadListSize && Tr2Renderer.#quadListIndexBuffer) return;\n\n requested = Math.max(requested, Tr2Renderer.#quadListSize);\n if (requested === 0) return;\n\n throw new Error(\n \"Tr2Renderer.ReserveQuadListIndexBuffer cannot grow the quad-list index buffer: \" +\n \"index-buffer creation through Tr2SuballocatedBuffer is not implemented in CarbonEngineJS.\"\n );\n }\n\n /**\n * The shared quad-list index buffer allocation (`Tr2Renderer.cpp:1267-1270`).\n *\n * @returns {object|null} The allocation, or null while none has been made.\n */\n @carbon.method\n @impl.implemented\n static GetQuadListIndexBuffer()\n {\n return Tr2Renderer.#quadListIndexBuffer;\n }\n\n /** Carbon s_quadListSize. */\n static #quadListSize = 0;\n\n /** Carbon s_quadListIndexBuffer. */\n static #quadListIndexBuffer = null;\n\n /**\n * Carbon's `s_renderTimeVar`, registered once and assigned every frame.\n *\n * @returns {object|null} The \"Time\" variable on the global store.\n */\n static #RenderTimeVariable()\n {\n if (!Tr2Renderer.#renderTimeVar)\n {\n Tr2Renderer.#renderTimeVar = Tr2VariableStore.GlobalStore().RegisterVariable(\"Time\", [ 0, 0, 0, 0 ]);\n }\n return Tr2Renderer.#renderTimeVar;\n }\n\n static #renderTimeVar = null;\n\n /** Carbon's `Tr2RenderContextEnum::PIXEL_SHADER`, the one stage that differs. */\n static PIXEL_SHADER = 1;\n}\n"],"names":["PER_FRAME_VS","PER_FRAME_PS","EFFECT_CONSTANTS","PER_OBJECT_VS","PER_OBJECT_PS","_Tr2Renderer","_identity","Tr2Renderer","e","_initProto","_initStatic","c","_initClass","_applyDecs","type","define","className","family","carbon","method","impl","implemented","adapted","reason","GetPerFrameVSStartRegister","GetPerFramePSStartRegister","GetPerObjectVSStartRegister","GetPerObjectPSStartRegister","GetPerObjectRTVertexBufferDataRegister","GetPerObjectVSGUIStartRegister","GetPerObjectStartRegister","shaderType","PIXEL_SHADER","PrepareDeviceResources","renderContext","Tr2Blitter","PrepareResources","GetBlitter","DrawScreenQuad","material","Draw","DrawScreenQuadRect","effect","topLeft","bottomRight","tlTexCoord","brTexCoord","tlVertexCoord","brVertexCoord","DrawCameraSpaceScreenQuad","shader","DrawInCameraSpace","DrawFullScreenWithShader","DrawTexture","texture","options","AdjustTextureCoordsToViewport","filter","GetAnimationTime","gTriDev","device","GetAnimationTimeElapsed","startTime","BeginFrame","variable","previous","GetValue","animationTime","time","Math","floor","Number","GetCurrentFrameCounter","SetValue","EndFrame","Tr2RenderContext_GetMainThreadRenderContext","debugRenderer","GetDebugRenderer","Clear","BeginRenderContext","BeginScene","EndRenderContext","GetTriPoolAllocator","EndScene","ReserveQuadListIndexBuffer","numOfQuads","requested","max","Error","GetQuadListIndexBuffer","#RenderTimeVariable","Tr2VariableStore","GlobalStore","RegisterVariable","constructor"],"mappings":";;;;;;;;;;AAyCA;AACO,MAAMA,YAAY,GAAG;;AAE5B;AACO,MAAMC,YAAY,GAAG;;AAE5B;AACO,MAAMC,gBAAgB,GAAG;;AAEhC;AACO,MAAMC,aAAa,GAAG;;AAE7B;AACO,MAAMC,aAAa,GAAG;;AAE7B;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AApBA,IAAAC;AAAA,IAAA,cAAAC,SAAA,CAAA;EAAA,QAqBA,MAAAC,WAAA,CAEA;AAAA,IAAA;AAAA,MAAA,CAAA;QAAAC,CAAA,EAAA,CAAAC,UAAA,EAAAC,WAAA,CAAA;QAAAC,CAAA,EAAA,CAAAN,YAAA,EAAAO,UAAA;AAAA,OAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,aAAa;AAAEC,QAAAA,MAAM,EAAE;AAAc,OAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CA+B9DC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,4BAAA,CAAA,EAAA,CAAA,CAWhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,4BAAA,CAAA,EAAA,CAAA,CAWhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,6BAAA,CAAA,EAAA,CAAA,CAWhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,6BAAA,CAAA,EAAA,CAAA,CAWhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,wCAAA,CAAA,EAAA,CAAA,CAWhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,gCAAA,CAAA,EAAA,CAAA,CAgBhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,CAkCZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,kHAAkH,CAAC,CAAA,EAAA,EAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,CAiC/HL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAqBhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,gIAAgI,CAAC,gCAsB7IL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,CAgBhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,sCAqBhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,gHAAgH,CAAC,yBAyC7HL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAahBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,qCAiBhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAuBhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,oRAAoR,CAAC,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAiBjSL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAchBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,0OAA0O,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAiBvPL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,CAYhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,8WAA8W,CAAC,wCAqB3XL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,wBAAA,CAAA,CAAA,CAAA;MAAAX,WAAA,CAAA,IAAA,CAAA;AAAA;AAjcjB;AACA;AACA;AACA;;AAEA;AACA,IAAA,wBAAwB,IAAAD,UAAA,CAAA,IAAA,CAAA,EAAGT,YAAY;;AAEvC;IACA,wBAAwB,GAAGC,YAAY;;AAEvC;IACA,yBAAyB,GAAGE,aAAa;;AAEzC;IACA,yBAAyB,GAAGC,aAAa;;AAEzC;IACA,oCAAoC,GAAG,CAAC;;AAExC;IACA,4BAA4B,GAAG,CAAC;;AAEhC;AACF;AACA;AACA;AACA;AAGEoB,IAAAA,0BAA0BA,GAC1B;MACE,OAAO,IAAI,CAAC,wBAAwB;AACtC,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEC,IAAAA,0BAA0BA,GAC1B;MACE,OAAO,IAAI,CAAC,wBAAwB;AACtC,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEC,IAAAA,2BAA2BA,GAC3B;MACE,OAAO,IAAI,CAAC,yBAAyB;AACvC,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEC,IAAAA,2BAA2BA,GAC3B;MACE,OAAO,IAAI,CAAC,yBAAyB;AACvC,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEC,IAAAA,sCAAsCA,GACtC;MACE,OAAO,IAAI,CAAC,oCAAoC;AAClD,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEC,IAAAA,8BAA8BA,GAC9B;MACE,OAAO,IAAI,CAAC,4BAA4B;AAC1C,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGEC,IAAAA,yBAAyBA,CAACC,UAAU,GAAG,CAAC,EACxC;AACE,MAAA,OAAOA,UAAU,KAAKxB,YAAW,CAACyB,YAAY,GAC1C,IAAI,CAACL,2BAA2B,EAAE,GAClC,IAAI,CAACD,2BAA2B,EAAE;AACxC,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACE,QAAQ,GAAG,IAAI;;AAEf;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIEO,IAAAA,sBAAsBA,CAACC,aAAa,GAAG,IAAI,EAC3C;AACE,MAAA,IAAI,CAAC,QAAQ,KAAK,IAAIC,UAAU,EAAE;MAClC,IAAID,aAAa,EAAE,IAAI,CAAC,QAAQ,CAACE,gBAAgB,CAACF,aAAa,CAAC;MAChE,OAAO,IAAI,CAAC,QAAQ;AACtB,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACEG,IAAAA,UAAUA,GACV;MACE,OAAO,IAAI,CAAC,QAAQ;AACtB,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGEC,IAAAA,cAAcA,CAACJ,aAAa,EAAEK,QAAQ,EACtC;AACE,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,KAAK;MAChC,OAAO,IAAI,CAAC,QAAQ,CAACC,IAAI,CAACN,aAAa,EAAEK,QAAQ,CAAC;AACpD,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAIEE,kBAAkBA,CAACP,aAAa,EAAEQ,MAAM,EAAEC,OAAO,EAAEC,WAAW,EAC9D;AACE,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,KAAK;AAChC,MAAA,OAAO,IAAI,CAAC,QAAQ,CAACJ,IAAI,CAACN,aAAa,EAAEQ,MAAM,EAAE,IAAI,EAAE;AACrDG,QAAAA,UAAU,EAAE,CAAE,CAAC,EAAE,CAAC,CAAE;AACpBC,QAAAA,UAAU,EAAE,CAAE,CAAC,EAAE,CAAC,CAAE;AACpBC,QAAAA,aAAa,EAAEJ,OAAO;AACtBK,QAAAA,aAAa,EAAEJ;AACjB,OAAC,CAAC;AACJ,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGEK,IAAAA,yBAAyBA,CAACf,aAAa,EAAEgB,MAAM,EAAEX,QAAQ,EACzD;AACE,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,KAAK;AAChC,MAAA,OAAO,IAAI,CAAC,QAAQ,CAACY,iBAAiB,CAACjB,aAAa,EAAEgB,MAAM,EAAEX,QAAQ,CAAC;AACzE,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGEa,IAAAA,wBAAwBA,CAAClB,aAAa,EAAEK,QAAQ,EAChD;AACE,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,KAAK;MAChC,OAAO,IAAI,CAAC,QAAQ,CAACC,IAAI,CAACN,aAAa,EAAEK,QAAQ,CAAC;AACpD,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAIEc,WAAWA,CAACnB,aAAa,EAAEoB,OAAO,EAAEC,OAAO,GAAG,EAAE,EAChD;AACE,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,KAAK;MAEhC,MAAM;QAAEV,UAAU;AAAEC,QAAAA;OAAY,GAAGU,6BAA6B,CAC9DtB,aAAa,EACbqB,OAAO,CAACV,UAAU,IAAI,CAAE,CAAC,EAAE,CAAC,CAAE,EAC9BU,OAAO,CAACT,UAAU,IAAI,CAAE,CAAC,EAAE,CAAC,CAC9B,CAAC;AAED,MAAA,OAAOS,OAAO,CAAChB,QAAQ,GACnB,IAAI,CAAC,QAAQ,CAACC,IAAI,CAACN,aAAa,EAAEqB,OAAO,CAAChB,QAAQ,EAAEe,OAAO,EAAE;QAAET,UAAU;AAAEC,QAAAA;AAAW,OAAC,CAAC,GACxF,IAAI,CAAC,QAAQ,CAACO,WAAW,CAACnB,aAAa,EAAEoB,OAAO,EAAE;QAAET,UAAU;AAAEC,QAAAA;AAAW,OAAC,EAAES,OAAO,CAACE,MAAM,CAAC;AACnG,IAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACE,OAEOC,gBAAgBA,GACvB;AACE,MAAA,OAAOC,OAAO,CAACC,MAAM,CAACF,gBAAgB,EAAE;AAC1C,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;IACE,OAEOG,uBAAuBA,CAACC,SAAS,EACxC;AACE,MAAA,OAAOH,OAAO,CAACC,MAAM,CAACC,uBAAuB,CAACC,SAAS,CAAC;AAC1D,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACE,OAEOC,UAAUA,GACjB;AACE,MAAA,MAAMC,QAAQ,GAAGzD,YAAW,CAAC,mBAAmB,EAAE;AAClD,MAAA,MAAM0D,QAAQ,GAAGD,QAAQ,EAAEE,QAAQ,EAAE,IAAI,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE;MAEvD,MAAMC,aAAa,GAAGR,OAAO,CAACC,MAAM,CAACF,gBAAgB,EAAE;AACvD,MAAA,MAAMU,IAAI,GAAG,CACXD,aAAa,EACbA,aAAa,GAAGE,IAAI,CAACC,KAAK,CAACH,aAAa,CAAC,EACzCI,MAAM,CAAChE,YAAW,CAACiE,sBAAsB,EAAE,CAAC,EAC5CP,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CACjB;AAEDD,MAAAA,QAAQ,EAAES,QAAQ,CAACL,IAAI,CAAC;AACxB,MAAA,OAAOA,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;AACA;IACE,OAGOM,QAAQA,GACf;AACE,MAAA,MAAMxC,aAAa,GAAGyC,2CAA2C,EAAE;;AAEnE;AACA;AACA;AACA,MAAA,MAAMC,aAAa,GAAG1C,aAAa,CAAC2C,gBAAgB,EAAE;MACtD,IAAI,OAAOD,aAAa,EAAEE,KAAK,KAAK,UAAU,EAAEF,aAAa,CAACE,KAAK,EAAE;AACvE,IAAA;;AAEA;AACF;AACA;AACA;AACA;IACE,OAEOC,kBAAkBA,GACzB;AACE,MAAA,OAAOJ,2CAA2C,EAAE,CAACK,UAAU,EAAE;AACnE,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IACE,OAGOC,gBAAgBA,GACvB;AACE,MAAA,MAAM/C,aAAa,GAAGyC,2CAA2C,EAAE;AACnEzC,MAAAA,aAAa,CAACgD,mBAAmB,EAAE,EAAEJ,KAAK,EAAE;AAC5C,MAAA,OAAO5C,aAAa,CAACiD,QAAQ,EAAE;AACjC,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACE,OAEOX,sBAAsBA,GAC7B;AACE,MAAA,OAAOb,OAAO,CAACC,MAAM,CAACY,sBAAsB,EAAE;AAChD,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACE,IAAA,OAGOY,0BAA0BA,CAACC,UAAU,GAAG,CAAC,EAChD;AACE,MAAA,IAAIC,SAAS,GAAGjB,IAAI,CAACkB,GAAG,CAAChB,MAAM,CAACc,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;MAEpD,IAAIC,SAAS,IAAI/E,YAAW,CAAC,aAAa,IAAIA,YAAW,CAAC,oBAAoB,EAAE;MAEhF+E,SAAS,GAAGjB,IAAI,CAACkB,GAAG,CAACD,SAAS,EAAE/E,YAAW,CAAC,aAAa,CAAC;MAC1D,IAAI+E,SAAS,KAAK,CAAC,EAAE;AAErB,MAAA,MAAM,IAAIE,KAAK,CACb,iFAAiF,GACjF,2FACF,CAAC;AACH,IAAA;;AAEA;AACF;AACA;AACA;AACA;IACE,OAEOC,sBAAsBA,GAC7B;MACE,OAAOlF,YAAW,CAAC,oBAAoB;AACzC,IAAA;;AAEA;;AAGA;;AAGA;AACF;AACA;AACA;AACA;;AAYE;GAED;EAvBQ,aAAa,GAAG,CAAC;EAGjB,oBAAoB,GAAG,IAAI;EAO3B,mBAAmBmF,GAC1B;AACE,IAAA,IAAI,CAACnF,YAAW,CAAC,cAAc,EAC/B;MACEA,YAAW,CAAC,cAAc,GAAGoF,iBAAgB,CAACC,WAAW,EAAE,CAACC,gBAAgB,CAAC,MAAM,EAAE,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,CAAC;AACtG,IAAA;IACA,OAAOtF,YAAW,CAAC,cAAc;AACnC,EAAA;EAEO,cAAc,GAAG,IAAI;AAGrByB,EAAAA,YAAY,GAAG,CAAC;EAAC8D,WAAAA,GAAA;IAAA,KAAA,CAAAzF,YAAA,GAAAO,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { io, type, carbon, impl } from '#schema';
2
+ import { edit, type, carbon, impl } from '#schema';
3
3
  import { CjsModel } from '#model';
4
4
  import { mat4 } from '#math/mat4';
5
5
  import { vec3 } from '#math/vec3';
@@ -119,7 +119,7 @@ function writeOrthoOffCenter(out, left, right, bottom, top, near, far) {
119
119
  return out;
120
120
  }
121
121
 
122
- /** Cascaded-shadow split producer; engines realize only its GPU operations. */
122
+ /** Cascaded-shadow split producer. Its GPU operations are not ported yet. */
123
123
  let _Tr2ShadowMap;
124
124
  new class extends _identity {
125
125
  static [class Tr2ShadowMap extends CjsModel {
@@ -130,7 +130,7 @@ new class extends _identity {
130
130
  } = _applyDecs2311(this, [type.define({
131
131
  className: "Tr2ShadowMap",
132
132
  family: "trinityCore"
133
- })], [[[io, io.notify, io, io.persist, type, type.int32, void 0, type.enum("ShadowSplitMode")], 16, "shadowSplitMode"], [[io, io.readwrite, void 0, type.objectRef("Tr2Denoiser")], 16, "denoiser"], [[io, io.readwrite, void 0, type.objectRef("Tr2Effect")], 16, "cascadeEffect"], [[io, io.notify, io, io.read, type, type.uint32], 16, "splitCount"], [[io, io.notify, io, io.readwrite, type, type.boolean], 16, "debugColorSplit"], [[io, io.readwrite, type, type.float32], 16, "SplitNr15"], [[io, io.readwrite, type, type.float32], 16, "SplitNr8"], [[io, io.readwrite, type, type.float32], 16, "SplitNr6"], [[io, io.readwrite, type, type.float32], 16, "SplitNr5"], [[io, io.readwrite, type, type.float32], 16, "SplitNr14"], [[io, io.readwrite, type, type.float32], 16, "SplitNr10"], [[io, io.readwrite, type, type.float32], 16, "SplitNr13"], [[io, io.readwrite, type, type.float32], 16, "SplitNr4"], [[io, io.readwrite, type, type.float32], 16, "SplitNr3"], [[io, io.readwrite, type, type.float32], 16, "SplitNr7"], [[io, io.readwrite, type, type.float32], 16, "SplitNr1"], [[io, io.readwrite, type, type.float32], 16, "SplitNr9"], [[io, io.readwrite, type, type.float32], 16, "SplitNr0"], [[io, io.readwrite, type, type.float32], 16, "SplitNr11"], [[io, io.readwrite, type, type.float32], 16, "SplitNr12"], [[io, io.readwrite, type, type.float32], 16, "SplitNr2"], [[io, io.notify, io, io.readwrite, type, type.boolean], 16, "disableShimmer"], [[io, io.readwrite, type, type.uint32], 16, "size"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The fixed PerSplitData arrays make split counts above Carbon's 16-slot capacity fail immediately instead of corrupting adjacent native memory.")], 18, "Setup"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CjsModel notifications expose settled state rather than Be::Var identity, so this compares the two notify-backed values against their cached state.")], 18, "OnModified"], [[carbon, carbon.method, impl, impl.implemented], 18, "ShouldUseDenoiser"], [[impl, impl.custom, void 0, impl.reason("The nominal engine executor needs Carbon's private denoiser-use decision without reading implementation fields.")], 18, "GetUseDenoiser"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateSplitValues"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The caller supplies owned JS output containers; matrix bytes stay in logical gl-matrix form and are never pre-transposed.")], 26, "CalculateAABB"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon stores Transpose(lightViewProjection) and returns SplitSetup by value; Trinity stores the logical matrix for RawData's terminal transpose and reuses one allocation-free result per split.")], 18, "SetupShadowSplit"], [[carbon, carbon.method, impl, impl.implemented], 18, "PrepareShadowRendering"], [[carbon, carbon.method, impl, impl.implemented], 18, "BeginShadowRendering"], [[carbon, carbon.method, impl, impl.implemented], 18, "EndShadowRendering"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reaches the blitter and the reversed-depth projection through static Tr2Renderer; ours are an instance and the render context, so the renderer is passed in.")], 18, "DrawToShadowMapResult"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowSplitCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowMapSize"], [[impl, impl.custom, void 0, impl.reason("The nominal engine executor needs Carbon's private fixed atlas width without reading implementation fields.")], 18, "GetShadowMapWidth"], [[impl, impl.custom, void 0, impl.reason("The nominal engine executor needs Carbon's private fixed atlas height without reading implementation fields.")], 18, "GetShadowMapHeight"], [[impl, impl.custom, void 0, impl.reason("The scene needs a nominal direct accessor to Carbon's public PerSplitData without structural probing.")], 18, "GetPerSplitData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDebugSplitValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDebugColors"]], 0, void 0, CjsModel));
133
+ })], [[[edit, edit.notify, edit, edit.persist, type, type.int32, void 0, type.enum("ShadowSplitMode")], 16, "shadowSplitMode"], [[edit, edit.readwrite, void 0, type.objectRef("Tr2Denoiser")], 16, "denoiser"], [[edit, edit.readwrite, void 0, type.objectRef("Tr2Effect")], 16, "cascadeEffect"], [[edit, edit.notify, edit, edit.read, type, type.uint32], 16, "splitCount"], [[edit, edit.notify, edit, edit.readwrite, type, type.boolean], 16, "debugColorSplit"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr15"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr8"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr6"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr5"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr14"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr10"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr13"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr4"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr3"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr7"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr1"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr9"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr0"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr11"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr12"], [[edit, edit.readwrite, type, type.float32], 16, "SplitNr2"], [[edit, edit.notify, edit, edit.readwrite, type, type.boolean], 16, "disableShimmer"], [[edit, edit.readwrite, type, type.uint32], 16, "size"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The fixed PerSplitData arrays make split counts above Carbon's 16-slot capacity fail immediately instead of corrupting adjacent native memory.")], 18, "Setup"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CjsModel notifications expose settled state rather than Be::Var identity, so this compares the two notify-backed values against their cached state.")], 18, "OnModified"], [[carbon, carbon.method, impl, impl.implemented], 18, "ShouldUseDenoiser"], [[impl, impl.custom, void 0, impl.reason("The nominal engine executor needs Carbon's private denoiser-use decision without reading implementation fields.")], 18, "GetUseDenoiser"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateSplitValues"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The caller supplies owned JS output containers; matrix bytes stay in logical gl-matrix form and are never pre-transposed.")], 26, "CalculateAABB"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon stores Transpose(lightViewProjection) and returns SplitSetup by value; Trinity stores the logical matrix for RawData's terminal transpose and reuses one allocation-free result per split.")], 18, "SetupShadowSplit"], [[carbon, carbon.method, impl, impl.implemented], 18, "PrepareShadowRendering"], [[carbon, carbon.method, impl, impl.implemented], 18, "BeginShadowRendering"], [[carbon, carbon.method, impl, impl.implemented], 18, "EndShadowRendering"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reaches the blitter and the reversed-depth projection through static Tr2Renderer; ours are an instance and the render context, so the renderer is passed in.")], 18, "DrawToShadowMapResult"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowSplitCount"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowMapSize"], [[impl, impl.custom, void 0, impl.reason("The nominal engine executor needs Carbon's private fixed atlas width without reading implementation fields.")], 18, "GetShadowMapWidth"], [[impl, impl.custom, void 0, impl.reason("The nominal engine executor needs Carbon's private fixed atlas height without reading implementation fields.")], 18, "GetShadowMapHeight"], [[impl, impl.custom, void 0, impl.reason("The scene needs a nominal direct accessor to Carbon's public PerSplitData without structural probing.")], 18, "GetPerSplitData"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetShadowEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDebugSplitValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDebugColors"]], 0, void 0, CjsModel));
134
134
  _initStatic(this);
135
135
  }
136
136
  shadowSplitMode = (_initProto(this), _init_shadowSplitMode(this, 0));