@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":"Tr2ShadowMap.js","sources":["../../../../src/trinity/core/Tr2ShadowMap.js"],"sourcesContent":["// Source: trinity/trinity/Tr2ShadowMap.h\n// trinity/trinity/Tr2ShadowMap.cpp\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { PixelFormat, TextureType } from \"#consts/render-context\";\r\nimport { Tr2GpuUsage } from \"#consts/render-context\";\r\nimport { Tr2Effect } from \"../shader/Tr2Effect.js\";\r\nimport { Tr2Denoiser } from \"./Tr2Denoiser.js\";\r\nimport { Tr2VariableStore } from \"./variable/Tr2VariableStore.js\";\r\nimport { TriFrustumOrtho } from \"./view/TriFrustumOrtho.js\";\r\n\r\nconst SHADOW_FRUSTUM_COUNT = 16;\r\nconst SHADOW_MAP_WIDTH = 8;\r\nconst SHADOW_MAP_HEIGHT = 2;\r\n\r\nconst STATIC_SPLITS = Object.freeze([\r\n 25, 75, 150, 300,\r\n 600, 1200, 2400, 4800,\r\n 9600, 19200, 38400, 76800,\r\n 153600, 307200, 614400, 1228800\r\n]);\r\n\r\nconst DX_UNIT_CUBE = Object.freeze([\r\n Object.freeze([ -1, -1, 0 ]), Object.freeze([ -1, 1, 0 ]),\r\n Object.freeze([ 1, 1, 0 ]), Object.freeze([ 1, -1, 0 ]),\r\n Object.freeze([ -1, -1, 1 ]), Object.freeze([ -1, 1, 1 ]),\r\n Object.freeze([ 1, 1, 1 ]), Object.freeze([ 1, -1, 1 ])\r\n]);\r\n\r\nconst PROJECTION_SCRATCH = mat4.create();\r\nconst INVERSE_PROJECTION_SCRATCH = mat4.create();\r\nconst BASIS_SCRATCH = mat4.create();\r\nconst LIGHT_VIEW_SCRATCH = mat4.create();\r\nconst ORTHO_SCRATCH = mat4.create();\r\nconst TRANSFORMED_SCRATCH = vec4.create();\r\nconst WORLD_SCRATCH = vec3.create();\r\nconst LIGHT_DIRECTION_SCRATCH = vec3.create();\r\n\r\nfunction createPerSplitData()\r\n{\r\n return {\r\n ShadowMapValues: Array.from({ length: 4 }, () => vec4.create()),\r\n ShadowMatrixVal: Array.from({ length: SHADOW_FRUSTUM_COUNT }, () => mat4.create()),\r\n CascadeRanges: Array.from({ length: SHADOW_FRUSTUM_COUNT }, () => vec4.create()),\r\n SplitInfo: vec4.create()\r\n };\r\n}\r\n\r\nfunction createSplitSetup()\r\n{\r\n return {\r\n shadowFrustum: new TriFrustumOrtho(),\r\n lightViewProjection: mat4.create(),\r\n invViewProj: mat4.create(),\r\n aabb: { min: vec3.create(), max: vec3.create() },\r\n corners: Array.from({ length: 8 }, () => vec3.create())\r\n };\r\n}\r\n\r\nfunction createShadowEffect()\r\n{\r\n const effect = new Tr2Effect();\r\n\r\n effect.SetEffectPathName(\"res:/graphics/effect/managed/space/system/ShadowDepth.fx\");\r\n\r\n // DECLARED BY CLEARING, which is Carbon (`cpp:41-42`), not by\r\n // AddResourceTexture2D. The difference is not cosmetic: a res-path slot and a\r\n // runtime slot are different classes, so declaring the res-path kind here left\r\n // SetParameter unable to find a runtime slot to update - it added a new one on\r\n // every call, and a per-frame resolve grew the resource list without bound.\r\n effect.SetParameter(\"EveSpaceSceneCascadedShadowMap\", null);\r\n effect.SetParameter(\"DepthMap\", null);\r\n return effect;\r\n}\r\n\r\n/** Carbon PerspectiveOffCenterMatrix: D3D zero-to-one depth. */\r\nfunction writePerspectiveOffCenter(out, left, right, bottom, top, near, far)\r\n{\r\n out.fill(0);\r\n out[0] = 2 * near / (right - left);\r\n out[5] = -2 * near / (bottom - top);\r\n out[8] = 1 + 2 * left / (right - left);\r\n out[9] = -1 - 2 * top / (bottom - top);\r\n out[10] = far / (near - far);\r\n out[11] = -1;\r\n out[14] = near * far / (near - far);\r\n return out;\r\n}\r\n\r\n/** Carbon OrthoNormalBasisZ. Flat matrix bytes match gl-matrix storage. */\r\nfunction writeOrthoNormalBasisZ(out, z)\r\n{\r\n mat4.identity(out);\r\n const length = Math.hypot(z[0], z[1], z[2]);\r\n const zx = z[0] / length;\r\n const zy = z[1] / length;\r\n const zz = z[2] / length;\r\n out[8] = zx;\r\n out[9] = zy;\r\n out[10] = zz;\r\n\r\n const xx = Math.abs(zx) > 0.99 ? 0 : 1;\r\n const xy = Math.abs(zx) > 0.99 ? 1 : 0;\r\n let yx = xy * zz;\r\n let yy = -xx * zz;\r\n let yz = xx * zy - xy * zx;\r\n const yLength = Math.hypot(yx, yy, yz);\r\n yx /= yLength;\r\n yy /= yLength;\r\n yz /= yLength;\r\n\r\n out[4] = yx;\r\n out[5] = yy;\r\n out[6] = yz;\r\n out[0] = yy * zz - yz * zy;\r\n out[1] = yz * zx - yx * zz;\r\n out[2] = yx * zy - yy * zx;\r\n return out;\r\n}\r\n\r\n/** Carbon OrthoOffCenterMatrix: D3D zero-to-one depth. */\r\nfunction writeOrthoOffCenter(out, left, right, bottom, top, near, far)\r\n{\r\n mat4.identity(out);\r\n out[0] = 2 / (right - left);\r\n out[5] = 2 / (top - bottom);\r\n out[10] = 1 / (near - far);\r\n out[12] = -1 - 2 * left / (right - left);\r\n out[13] = 1 + 2 * top / (bottom - top);\r\n out[14] = near / (near - far);\r\n return out;\r\n}\r\n\r\n/** Cascaded-shadow split producer; engines realize only its GPU operations. */\r\n@type.define({ className: \"Tr2ShadowMap\", family: \"trinityCore\" })\r\nexport class Tr2ShadowMap extends CjsModel\r\n{\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n @type.enum(\"ShadowSplitMode\")\r\n shadowSplitMode = 0;\r\n\r\n @io.readwrite\r\n @type.objectRef(\"Tr2Denoiser\")\r\n denoiser = new Tr2Denoiser();\r\n\r\n @io.readwrite\r\n @type.objectRef(\"Tr2Effect\")\r\n cascadeEffect = createShadowEffect();\r\n\r\n @io.notify\r\n @io.read\r\n @type.uint32\r\n splitCount = SHADOW_FRUSTUM_COUNT;\r\n\r\n @io.notify\r\n @io.readwrite\r\n @type.boolean\r\n debugColorSplit = false;\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr15 = STATIC_SPLITS[15];\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr8 = STATIC_SPLITS[8];\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr6 = STATIC_SPLITS[6];\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr5 = STATIC_SPLITS[5];\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr14 = STATIC_SPLITS[14];\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr10 = STATIC_SPLITS[10];\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr13 = STATIC_SPLITS[13];\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr4 = STATIC_SPLITS[4];\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr3 = STATIC_SPLITS[3];\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr7 = STATIC_SPLITS[7];\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr1 = STATIC_SPLITS[1];\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr9 = STATIC_SPLITS[9];\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr0 = STATIC_SPLITS[0];\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr11 = STATIC_SPLITS[11];\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr12 = STATIC_SPLITS[12];\r\n\r\n @io.readwrite\r\n @type.float32\r\n SplitNr2 = STATIC_SPLITS[2];\r\n\r\n @io.notify\r\n @io.readwrite\r\n @type.boolean\r\n disableShimmer = true;\r\n\r\n @io.readwrite\r\n @type.uint32\r\n size = 2048;\r\n\r\n perSplitData = createPerSplitData();\r\n\r\n #width = SHADOW_MAP_WIDTH;\r\n\r\n #height = SHADOW_MAP_HEIGHT;\r\n\r\n #oldZFar = 0;\r\n\r\n #useDenoiser = true;\r\n\r\n #lastNearClip = 0;\r\n\r\n #lastFarClip = 0;\r\n\r\n #lastShadowSplitMode = Tr2ShadowMap.ShadowSplitMode.STATIC;\r\n\r\n #lastDebugColorSplit = false;\r\n\r\n #splitSetups = Array.from({ length: SHADOW_FRUSTUM_COUNT }, () => createSplitSetup());\r\n\r\n /** Creates the logical effect/denoiser state and reserves Carbon's globals. */\r\n constructor()\r\n {\r\n super();\r\n const store = Tr2VariableStore.GlobalStore();\r\n store.RegisterVariable(\"EveSpaceSceneShadowMap\");\r\n store.RegisterVariable(\"EveSpaceSceneCascadedShadowMap\");\r\n }\r\n\r\n /** Applies the atlas element size/count and the one-way denoiser disable. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The fixed PerSplitData arrays make split counts above Carbon's 16-slot capacity fail immediately instead of corrupting adjacent native memory.\")\r\n Setup(elementSize, elementCount, useDenoiser)\r\n {\r\n const nextSize = elementSize >>> 0;\r\n const nextCount = elementCount >>> 0;\r\n if (nextCount > SHADOW_FRUSTUM_COUNT)\r\n {\r\n throw new RangeError(`Tr2ShadowMap supports at most ${SHADOW_FRUSTUM_COUNT} splits.`);\r\n }\r\n if (this.size !== nextSize || this.splitCount !== nextCount)\r\n {\r\n this.size = nextSize;\r\n this.splitCount = nextCount;\r\n this.perSplitData.SplitInfo[0] = nextCount;\r\n }\r\n this.#useDenoiser = Boolean(useDenoiser);\r\n if (!this.#useDenoiser)\r\n {\r\n this.denoiser = null;\r\n }\r\n }\r\n\r\n /** Applies Carbon's notification consequences from the current owned state. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CjsModel notifications expose settled state rather than Be::Var identity, so this compares the two notify-backed values against their cached state.\")\r\n OnModified()\r\n {\r\n if (this.debugColorSplit !== this.#lastDebugColorSplit)\r\n {\r\n this.cascadeEffect.SetOption(\"SHADOW_DEBUG_MODE\", this.debugColorSplit ? \"SDM_COLOR\" : \"SDM_NONE\");\r\n this.#lastDebugColorSplit = this.debugColorSplit;\r\n }\r\n\r\n if (this.shadowSplitMode !== this.#lastShadowSplitMode)\r\n {\r\n if (this.shadowSplitMode === Tr2ShadowMap.ShadowSplitMode.STATIC)\r\n {\r\n this.#SetStaticShadowSplits();\r\n }\r\n else if (this.shadowSplitMode === Tr2ShadowMap.ShadowSplitMode.DYNAMIC)\r\n {\r\n this.#lastNearClip = 0;\r\n this.#lastFarClip = 0;\r\n }\r\n this.#lastShadowSplitMode = this.shadowSplitMode;\r\n }\r\n\r\n this.perSplitData.SplitInfo[0] = this.splitCount;\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n /** Changes whether an existing denoiser should be used for future results. */\r\n ShouldUseDenoiser(value)\r\n {\r\n this.#useDenoiser = Boolean(value);\r\n }\r\n\r\n /** Engine-facing read of Carbon's private denoiser-use switch. */\r\n @impl.custom\r\n @impl.reason(\"The nominal engine executor needs Carbon's private denoiser-use decision without reading implementation fields.\")\r\n GetUseDenoiser()\r\n {\r\n return this.#useDenoiser;\r\n }\r\n\r\n /** Recomputes geometric dynamic split endpoints when the clip range changes. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSplitValues(nearClip, farClip)\r\n {\r\n if (this.shadowSplitMode !== Tr2ShadowMap.ShadowSplitMode.DYNAMIC) return;\r\n if (this.#lastNearClip === nearClip && this.#lastFarClip === farClip) return;\r\n\r\n this.#lastNearClip = nearClip;\r\n this.#lastFarClip = farClip;\r\n const logNear = Math.log2(nearClip);\r\n const logFar = Math.log2(farClip);\r\n for (let index = 0; index < this.splitCount; index++)\r\n {\r\n this.#SetSplitValue(index, Math.pow(2, logNear + (logFar - logNear) * ((index + 1) / this.splitCount)));\r\n }\r\n }\r\n\r\n /**\r\n * Transforms the D3D clip cube through projection inverse, inverse view and\r\n * light view, returning its light-space bounds and writing all eight corners.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The caller supplies owned JS output containers; matrix bytes stay in logical gl-matrix form and are never pre-transposed.\")\r\n static CalculateAABB(\r\n projection,\r\n invViewTransform,\r\n lightView,\r\n corners,\r\n out = { min: vec3.create(), max: vec3.create() }\r\n )\r\n {\r\n mat4.invert(INVERSE_PROJECTION_SCRATCH, projection);\r\n const min = out.min;\r\n const max = out.max;\r\n min[0] = min[1] = min[2] = Infinity;\r\n max[0] = max[1] = max[2] = -Infinity;\r\n\r\n for (let index = 0; index < DX_UNIT_CUBE.length; index++)\r\n {\r\n const source = DX_UNIT_CUBE[index];\r\n TRANSFORMED_SCRATCH[0] = source[0];\r\n TRANSFORMED_SCRATCH[1] = source[1];\r\n TRANSFORMED_SCRATCH[2] = source[2];\r\n TRANSFORMED_SCRATCH[3] = 1;\r\n vec4.transformMat4(TRANSFORMED_SCRATCH, TRANSFORMED_SCRATCH, INVERSE_PROJECTION_SCRATCH);\r\n const inverseW = 1 / TRANSFORMED_SCRATCH[3];\r\n WORLD_SCRATCH[0] = TRANSFORMED_SCRATCH[0] * inverseW;\r\n WORLD_SCRATCH[1] = TRANSFORMED_SCRATCH[1] * inverseW;\r\n WORLD_SCRATCH[2] = TRANSFORMED_SCRATCH[2] * inverseW;\r\n vec3.transformMat4(WORLD_SCRATCH, WORLD_SCRATCH, invViewTransform);\r\n vec3.transformMat4(corners[index], WORLD_SCRATCH, lightView);\r\n\r\n const corner = corners[index];\r\n min[0] = Math.min(min[0], corner[0]);\r\n min[1] = Math.min(min[1], corner[1]);\r\n min[2] = Math.min(min[2], corner[2]);\r\n max[0] = Math.max(max[0], corner[0]);\r\n max[1] = Math.max(max[1], corner[1]);\r\n max[2] = Math.max(max[2], corner[2]);\r\n }\r\n return out;\r\n }\r\n\r\n /**\r\n * Builds one logical light-view-projection split and its shader data.\r\n *\r\n * The returned object is an allocation-free borrowed view for this split and\r\n * is overwritten the next time the same split index is prepared.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @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.\")\r\n SetupShadowSplit(splitIndex, invViewTransform, lightDirection, zNear, leftDivNear, rightDivNear, topDivNear, bottomDivNear)\r\n {\r\n if (!Number.isInteger(splitIndex) || splitIndex < 0 || splitIndex >= this.splitCount)\r\n {\r\n throw new RangeError(\"Tr2ShadowMap.SetupShadowSplit received an invalid split index.\");\r\n }\r\n\r\n const setup = this.#splitSetups[splitIndex];\r\n if (splitIndex === 0) this.#oldZFar = zNear;\r\n const zFar = this.#GetSplitValue(splitIndex);\r\n this.perSplitData.ShadowMapValues[splitIndex >> 2][splitIndex & 3] = zFar;\r\n\r\n const left = leftDivNear * this.#oldZFar;\r\n const right = rightDivNear * this.#oldZFar;\r\n const top = topDivNear * this.#oldZFar;\r\n const bottom = bottomDivNear * this.#oldZFar;\r\n writePerspectiveOffCenter(PROJECTION_SCRATCH, left, right, bottom, top, this.#oldZFar, zFar);\r\n this.#oldZFar = zFar;\r\n\r\n mat4.invert(INVERSE_PROJECTION_SCRATCH, PROJECTION_SCRATCH);\r\n // Carbon inverseProjection * inverseView; gl-matrix reverses the operands.\r\n mat4.multiply(setup.invViewProj, invViewTransform, INVERSE_PROJECTION_SCRATCH);\r\n\r\n LIGHT_DIRECTION_SCRATCH[0] = -lightDirection[0];\r\n LIGHT_DIRECTION_SCRATCH[1] = -lightDirection[1];\r\n LIGHT_DIRECTION_SCRATCH[2] = -lightDirection[2];\r\n writeOrthoNormalBasisZ(BASIS_SCRATCH, LIGHT_DIRECTION_SCRATCH);\r\n mat4.invert(LIGHT_VIEW_SCRATCH, BASIS_SCRATCH);\r\n\r\n Tr2ShadowMap.CalculateAABB(\r\n PROJECTION_SCRATCH,\r\n invViewTransform,\r\n LIGHT_VIEW_SCRATCH,\r\n setup.corners,\r\n setup.aabb\r\n );\r\n\r\n const min = setup.aabb.min;\r\n const max = setup.aabb.max;\r\n if (this.disableShimmer)\r\n {\r\n let maxDistance = 0;\r\n for (let first = 0; first < setup.corners.length; first++)\r\n {\r\n for (let second = first + 1; second < setup.corners.length; second++)\r\n {\r\n const a = setup.corners[first];\r\n const b = setup.corners[second];\r\n maxDistance = Math.max(maxDistance, Math.hypot(a[0] - b[0], a[1] - b[1], a[2] - b[2]));\r\n }\r\n }\r\n\r\n const radius = Math.ceil(maxDistance / 2);\r\n const texelSize = radius * 2 / this.size;\r\n const centerX = Math.floor(((min[0] + max[0]) * 0.5) / texelSize + 0.5) * texelSize;\r\n const centerY = Math.floor(((min[1] + max[1]) * 0.5) / texelSize + 0.5) * texelSize;\r\n const centerZ = (min[2] + max[2]) * 0.5;\r\n min[0] = centerX - radius;\r\n min[1] = centerY - radius;\r\n min[2] = centerZ - radius;\r\n max[0] = centerX + radius;\r\n max[1] = centerY + radius;\r\n max[2] = centerZ + radius;\r\n }\r\n\r\n writeOrthoOffCenter(ORTHO_SCRATCH, max[0], min[0], max[1], min[1], -max[2], -min[2]);\r\n // Carbon lightView * ortho; gl-matrix reverses the operands.\r\n mat4.multiply(setup.lightViewProjection, ORTHO_SCRATCH, LIGHT_VIEW_SCRATCH);\r\n\r\n const range = this.perSplitData.CascadeRanges[splitIndex];\r\n range[0] = max[0] - min[0];\r\n range[1] = max[1] - min[1];\r\n range[2] = max[2] - min[2];\r\n range[3] = 0;\r\n mat4.copy(this.perSplitData.ShadowMatrixVal[splitIndex], setup.lightViewProjection);\r\n setup.shadowFrustum.DeriveFrustum(LIGHT_VIEW_SCRATCH, min, max);\r\n return setup;\r\n }\r\n\r\n /**\r\n * Allocates the cascaded depth surface and makes it the render target.\r\n *\r\n * @param {object} gpuResourcePool The pool to borrow the surface from.\r\n * @param {object} renderContext The context to set state on.\r\n * @returns {object|null} The borrowed depth texture, or null when the pool\r\n * could not supply one - which Carbon notes happens on a lost device.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n PrepareShadowRendering(gpuResourcePool, renderContext)\r\n {\r\n const cascadedShadowDepth = gpuResourcePool.GetTempTexture(\"cascadedShadowDepth\", {\r\n width: this.size * this.#width,\r\n height: this.size * this.#height,\r\n format: PixelFormat.PIXEL_FORMAT_D32_FLOAT,\r\n gpuUsage: Tr2GpuUsage.DEPTH_STENCIL | Tr2GpuUsage.SHADER_RESOURCE\r\n });\r\n\r\n if (!cascadedShadowDepth || !cascadedShadowDepth.IsValid()) return null;\r\n\r\n const esm = renderContext.GetEffectStateManager();\r\n\r\n // The depth stencil IS the shadow map, so the colour target is pushed EMPTY -\r\n // Carbon passes a default-constructed Tr2TextureAL and comments it \"empty\r\n // texture\" (`cpp:238`). Null is that argument here. Omitting it would only\r\n // save the slot and leave the scene's colour target bound underneath the\r\n // whole shadow pass, which is what this line used to do.\r\n esm.PushViewport();\r\n esm.PushRenderTarget(null);\r\n esm.PushDepthStencilBuffer(cascadedShadowDepth);\r\n esm.UpdateRenderTargetViewport(cascadedShadowDepth.Get().GetWidth(), cascadedShadowDepth.Get().GetHeight());\r\n\r\n // Carbon wants a clean depth buffer for this pass and says so.\r\n renderContext.Clear({ depth: true, clearDepth: 1, clearStencil: 0 });\r\n renderContext.SetReadOnlyDepth(false);\r\n\r\n return cascadedShadowDepth;\r\n }\r\n\r\n /**\r\n * Points the viewport at one split's cell in the atlas.\r\n *\r\n * Eight cells per row: splits 0-7 fill the top row and 8 onward wrap to a\r\n * second, which is why the row index is `splitIndex % 8` and the y offset is\r\n * either zero or one cell down.\r\n *\r\n * @param {object} renderContext The context to set the viewport on.\r\n * @param {number} splitIndex Which cascade split.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n BeginShadowRendering(renderContext, splitIndex)\r\n {\r\n const esm = renderContext.GetEffectStateManager();\r\n const topRow = splitIndex < 8;\r\n\r\n esm.SetViewport({\r\n width: this.size,\r\n height: this.size,\r\n x: (topRow ? splitIndex : splitIndex % 8) * this.size,\r\n y: topRow ? 0 : this.size,\r\n minZ: 0,\r\n maxZ: 1\r\n });\r\n }\r\n\r\n /**\r\n * Unwinds everything `PrepareShadowRendering` pushed, in reverse.\r\n *\r\n * @param {object} renderContext The context to restore.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n EndShadowRendering(renderContext)\r\n {\r\n renderContext.SetReadOnlyDepth(false);\r\n\r\n const esm = renderContext.GetEffectStateManager();\r\n\r\n esm.PopRenderTarget();\r\n esm.PopDepthStencilBuffer();\r\n esm.PopViewport();\r\n }\r\n\r\n /**\r\n * Resolves the cascaded depth into a screen-space shadow factor.\r\n *\r\n * Carbon `DrawToShadowMapResult` (`cpp:278-305`). Borrow an R8 target the\r\n * size of the scene depth, bind it, run the shadow effect over a fullscreen\r\n * quad with the atlas and the depth map bound, then optionally denoise.\r\n *\r\n * THE DEPTH BUFFER IS PUSHED EMPTY, not merely saved. Carbon passes a\r\n * default-constructed Tr2TextureAL (`cpp:285`), which unbinds it - this pass\r\n * writes a full-screen factor and must not be depth-tested against the very\r\n * buffer it is reading.\r\n *\r\n * THE EFFECT'S TEXTURES ARE CLEARED IMMEDIATELY AFTER THE DRAW, as Carbon\r\n * does (`cpp:290-291`), so a later pass cannot inherit the atlas or the\r\n * scene depth from this one.\r\n *\r\n * `cascadeEffect` is Carbon's `m_shadowEffect` under our name - same\r\n * ShadowDepth.fx path, same two parameters (`cpp:39-42`).\r\n *\r\n * @param {object} renderContext The context to draw against.\r\n * @param {object} gpuResourcePool The pool to borrow the result target from.\r\n * @param {object} depthMap The scene depth.\r\n * @param {object} cascadedShadowDepth The atlas produced by this pass.\r\n * @param {number} upscaling The denoiser's upscaling factor.\r\n * @param {object} renderer The renderer owning the blitter.\r\n * @returns {object|null} The shadow-factor target, or null without a pool.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @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.\")\r\n DrawToShadowMapResult(renderContext, gpuResourcePool, depthMap, cascadedShadowDepth, upscaling, renderer)\r\n {\r\n let shadowMapResult = gpuResourcePool.GetTempTexture(\"shadowMapResult\", {\r\n type: TextureType.TEX_TYPE_2D,\r\n width: depthMap.GetWidth(),\r\n height: depthMap.GetHeight(),\r\n depth: 1,\r\n mipCount: 1,\r\n format: PixelFormat.PIXEL_FORMAT_R8_UNORM,\r\n gpuUsage: Tr2GpuUsage.RENDER_TARGET | Tr2GpuUsage.SHADER_RESOURCE\r\n });\r\n\r\n const esm = renderContext.GetEffectStateManager();\r\n\r\n esm.PushRenderTarget(shadowMapResult.Get());\r\n esm.PushDepthStencilBuffer(null);\r\n\r\n try\r\n {\r\n this.cascadeEffect.SetParameter(\"EveSpaceSceneCascadedShadowMap\", cascadedShadowDepth);\r\n this.cascadeEffect.SetParameter(\"DepthMap\", depthMap);\r\n renderer.DrawScreenQuad(renderContext, this.cascadeEffect);\r\n this.cascadeEffect.SetParameter(\"EveSpaceSceneCascadedShadowMap\", null);\r\n this.cascadeEffect.SetParameter(\"DepthMap\", null);\r\n\r\n // Carbon gates on all three (`cpp:296`). Setup() nulls the denoiser when\r\n // it is disabled, so the useDenoiser flag and a present denoiser are not\r\n // the same question.\r\n if (this.denoiser && this.#useDenoiser && depthMap.IsValid())\r\n {\r\n shadowMapResult = this.denoiser.Apply(\r\n shadowMapResult,\r\n depthMap,\r\n null,\r\n renderContext.GetReversedDepthProjectionTransform(),\r\n upscaling,\r\n gpuResourcePool,\r\n renderContext,\r\n renderer\r\n );\r\n }\r\n\r\n return shadowMapResult;\r\n }\r\n finally\r\n {\r\n esm.PopRenderTarget();\r\n esm.PopDepthStencilBuffer();\r\n }\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n /** Returns the number of active cascade splits. */\r\n GetShadowSplitCount()\r\n {\r\n return this.splitCount;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n /** Returns the square pixel size of one atlas cell. */\r\n GetShadowMapSize()\r\n {\r\n return this.size;\r\n }\r\n\r\n /** Returns the fixed number of atlas columns. */\r\n @impl.custom\r\n @impl.reason(\"The nominal engine executor needs Carbon's private fixed atlas width without reading implementation fields.\")\r\n GetShadowMapWidth()\r\n {\r\n return this.#width;\r\n }\r\n\r\n /** Returns the fixed number of atlas rows. */\r\n @impl.custom\r\n @impl.reason(\"The nominal engine executor needs Carbon's private fixed atlas height without reading implementation fields.\")\r\n GetShadowMapHeight()\r\n {\r\n return this.#height;\r\n }\r\n\r\n /** Returns the stable owned record consumed by scene per-frame packing. */\r\n @impl.custom\r\n @impl.reason(\"The scene needs a nominal direct accessor to Carbon's public PerSplitData without structural probing.\")\r\n GetPerSplitData()\r\n {\r\n return this.perSplitData;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n /** Returns the logical effect used to resolve the screen-space shadow mask. */\r\n GetShadowEffect()\r\n {\r\n return this.cascadeEffect;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n /** Reports whether cascade-debug colouring is enabled. */\r\n GetDebugSplitValue()\r\n {\r\n return this.debugColorSplit;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n /** Returns Carbon's packed debug colour for a cascade colour index. */\r\n GetDebugColors(switchCase)\r\n {\r\n switch (switchCase)\r\n {\r\n case 0: return 0xffffffff;\r\n case 1: return 0xffff0000;\r\n case 2: return 0xff00ff00;\r\n case 3: return 0xff0000ff;\r\n case 4: return 0xffffff00;\r\n case 5: return 0xff00ffff;\r\n case 6: return 0x2200ffff;\r\n case 7: return 0xff555555;\r\n case 8: return 0xff888888;\r\n default: return undefined;\r\n }\r\n }\r\n\r\n /** Restores the sixteen fixed Carbon cascade endpoints. */\r\n #SetStaticShadowSplits()\r\n {\r\n for (let index = 0; index < STATIC_SPLITS.length; index++)\r\n {\r\n this.#SetSplitValue(index, STATIC_SPLITS[index]);\r\n }\r\n }\r\n\r\n /** Writes one authored/dynamic split endpoint to its public field. */\r\n #SetSplitValue(index, value)\r\n {\r\n this[`SplitNr${index}`] = value;\r\n }\r\n\r\n /** Reads one split endpoint from its public field. */\r\n #GetSplitValue(index)\r\n {\r\n return this[`SplitNr${index}`];\r\n }\r\n\r\n static ShadowSplitMode = Object.freeze({\r\n STATIC: 0,\r\n DYNAMIC: 1,\r\n MANUAL: 2\r\n });\r\n}\r\n"],"names":["SHADOW_FRUSTUM_COUNT","SHADOW_MAP_WIDTH","SHADOW_MAP_HEIGHT","STATIC_SPLITS","Object","freeze","DX_UNIT_CUBE","PROJECTION_SCRATCH","mat4","create","INVERSE_PROJECTION_SCRATCH","BASIS_SCRATCH","LIGHT_VIEW_SCRATCH","ORTHO_SCRATCH","TRANSFORMED_SCRATCH","vec4","WORLD_SCRATCH","vec3","LIGHT_DIRECTION_SCRATCH","createPerSplitData","ShadowMapValues","Array","from","length","ShadowMatrixVal","CascadeRanges","SplitInfo","createSplitSetup","shadowFrustum","TriFrustumOrtho","lightViewProjection","invViewProj","aabb","min","max","corners","createShadowEffect","effect","Tr2Effect","SetEffectPathName","SetParameter","writePerspectiveOffCenter","out","left","right","bottom","top","near","far","fill","writeOrthoNormalBasisZ","z","identity","Math","hypot","zx","zy","zz","xx","abs","xy","yx","yy","yz","yLength","writeOrthoOffCenter","_Tr2ShadowMap","_identity","Tr2ShadowMap","CjsModel","e","_init_shadowSplitMode","_init_extra_shadowSplitMode","_init_denoiser","_init_extra_denoiser","_init_cascadeEffect","_init_extra_cascadeEffect","_init_splitCount","_init_extra_splitCount","_init_debugColorSplit","_init_extra_debugColorSplit","_init_SplitNr","_init_extra_SplitNr","_init_SplitNr2","_init_extra_SplitNr2","_init_SplitNr3","_init_extra_SplitNr3","_init_SplitNr4","_init_extra_SplitNr4","_init_SplitNr5","_init_extra_SplitNr5","_init_SplitNr6","_init_extra_SplitNr6","_init_SplitNr7","_init_extra_SplitNr7","_init_SplitNr8","_init_extra_SplitNr8","_init_SplitNr9","_init_extra_SplitNr9","_init_SplitNr0","_init_extra_SplitNr0","_init_SplitNr1","_init_extra_SplitNr1","_init_SplitNr10","_init_extra_SplitNr10","_init_SplitNr11","_init_extra_SplitNr11","_init_SplitNr12","_init_extra_SplitNr12","_init_SplitNr13","_init_extra_SplitNr13","_init_SplitNr14","_init_extra_SplitNr14","_init_disableShimmer","_init_extra_disableShimmer","_init_size","_init_extra_size","_initProto","_initStatic","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","enum","readwrite","objectRef","read","uint32","boolean","float32","carbon","method","impl","adapted","reason","implemented","custom","shadowSplitMode","denoiser","Tr2Denoiser","cascadeEffect","splitCount","debugColorSplit","SplitNr15","SplitNr8","SplitNr6","SplitNr5","SplitNr14","SplitNr10","SplitNr13","SplitNr4","SplitNr3","SplitNr7","SplitNr1","SplitNr9","SplitNr0","SplitNr11","SplitNr12","SplitNr2","disableShimmer","size","perSplitData","ShadowSplitMode","STATIC","constructor","store","Tr2VariableStore","GlobalStore","RegisterVariable","Setup","elementSize","elementCount","useDenoiser","nextSize","nextCount","RangeError","Boolean","OnModified","SetOption","DYNAMIC","ShouldUseDenoiser","value","GetUseDenoiser","UpdateSplitValues","nearClip","farClip","logNear","log2","logFar","index","pow","CalculateAABB","projection","invViewTransform","lightView","invert","Infinity","source","transformMat4","inverseW","corner","SetupShadowSplit","splitIndex","lightDirection","zNear","leftDivNear","rightDivNear","topDivNear","bottomDivNear","Number","isInteger","setup","zFar","multiply","maxDistance","first","second","a","b","radius","ceil","texelSize","centerX","floor","centerY","centerZ","range","copy","DeriveFrustum","PrepareShadowRendering","gpuResourcePool","renderContext","cascadedShadowDepth","GetTempTexture","width","height","format","PixelFormat","PIXEL_FORMAT_D32_FLOAT","gpuUsage","Tr2GpuUsage","DEPTH_STENCIL","SHADER_RESOURCE","IsValid","esm","GetEffectStateManager","PushViewport","PushRenderTarget","PushDepthStencilBuffer","UpdateRenderTargetViewport","Get","GetWidth","GetHeight","Clear","depth","clearDepth","clearStencil","SetReadOnlyDepth","BeginShadowRendering","topRow","SetViewport","x","y","minZ","maxZ","EndShadowRendering","PopRenderTarget","PopDepthStencilBuffer","PopViewport","DrawToShadowMapResult","depthMap","upscaling","renderer","shadowMapResult","TextureType","TEX_TYPE_2D","mipCount","PIXEL_FORMAT_R8_UNORM","RENDER_TARGET","DrawScreenQuad","Apply","GetReversedDepthProjectionTransform","GetShadowSplitCount","GetShadowMapSize","GetShadowMapWidth","GetShadowMapHeight","GetPerSplitData","GetShadowEffect","GetDebugSplitValue","GetDebugColors","switchCase","undefined","#SetStaticShadowSplits","#SetSplitValue","#GetSplitValue","MANUAL"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2ShadowMap.js","sources":["../../../../src/trinity/core/Tr2ShadowMap.js"],"sourcesContent":["// Source: trinity/trinity/Tr2ShadowMap.h\r\n// trinity/trinity/Tr2ShadowMap.cpp\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { PixelFormat, TextureType, Tr2GpuUsage } from \"#consts/render-context\";\r\nimport { Tr2Effect } from \"../shader/Tr2Effect.js\";\r\nimport { Tr2Denoiser } from \"./Tr2Denoiser.js\";\r\nimport { Tr2VariableStore } from \"./variable/Tr2VariableStore.js\";\r\nimport { TriFrustumOrtho } from \"./view/TriFrustumOrtho.js\";\r\n\r\nconst SHADOW_FRUSTUM_COUNT = 16;\r\nconst SHADOW_MAP_WIDTH = 8;\r\nconst SHADOW_MAP_HEIGHT = 2;\r\n\r\nconst STATIC_SPLITS = Object.freeze([\r\n 25, 75, 150, 300,\r\n 600, 1200, 2400, 4800,\r\n 9600, 19200, 38400, 76800,\r\n 153600, 307200, 614400, 1228800\r\n]);\r\n\r\nconst DX_UNIT_CUBE = Object.freeze([\r\n Object.freeze([ -1, -1, 0 ]), Object.freeze([ -1, 1, 0 ]),\r\n Object.freeze([ 1, 1, 0 ]), Object.freeze([ 1, -1, 0 ]),\r\n Object.freeze([ -1, -1, 1 ]), Object.freeze([ -1, 1, 1 ]),\r\n Object.freeze([ 1, 1, 1 ]), Object.freeze([ 1, -1, 1 ])\r\n]);\r\n\r\nconst PROJECTION_SCRATCH = mat4.create();\r\nconst INVERSE_PROJECTION_SCRATCH = mat4.create();\r\nconst BASIS_SCRATCH = mat4.create();\r\nconst LIGHT_VIEW_SCRATCH = mat4.create();\r\nconst ORTHO_SCRATCH = mat4.create();\r\nconst TRANSFORMED_SCRATCH = vec4.create();\r\nconst WORLD_SCRATCH = vec3.create();\r\nconst LIGHT_DIRECTION_SCRATCH = vec3.create();\r\n\r\nfunction createPerSplitData()\r\n{\r\n return {\r\n ShadowMapValues: Array.from({ length: 4 }, () => vec4.create()),\r\n ShadowMatrixVal: Array.from({ length: SHADOW_FRUSTUM_COUNT }, () => mat4.create()),\r\n CascadeRanges: Array.from({ length: SHADOW_FRUSTUM_COUNT }, () => vec4.create()),\r\n SplitInfo: vec4.create()\r\n };\r\n}\r\n\r\nfunction createSplitSetup()\r\n{\r\n return {\r\n shadowFrustum: new TriFrustumOrtho(),\r\n lightViewProjection: mat4.create(),\r\n invViewProj: mat4.create(),\r\n aabb: { min: vec3.create(), max: vec3.create() },\r\n corners: Array.from({ length: 8 }, () => vec3.create())\r\n };\r\n}\r\n\r\nfunction createShadowEffect()\r\n{\r\n const effect = new Tr2Effect();\r\n\r\n effect.SetEffectPathName(\"res:/graphics/effect/managed/space/system/ShadowDepth.fx\");\r\n\r\n // DECLARED BY CLEARING, which is Carbon (`cpp:41-42`), not by\r\n // AddResourceTexture2D. The difference is not cosmetic: a res-path slot and a\r\n // runtime slot are different classes, so declaring the res-path kind here left\r\n // SetParameter unable to find a runtime slot to update - it added a new one on\r\n // every call, and a per-frame resolve grew the resource list without bound.\r\n effect.SetParameter(\"EveSpaceSceneCascadedShadowMap\", null);\r\n effect.SetParameter(\"DepthMap\", null);\r\n return effect;\r\n}\r\n\r\n/** Carbon PerspectiveOffCenterMatrix: D3D zero-to-one depth. */\r\nfunction writePerspectiveOffCenter(out, left, right, bottom, top, near, far)\r\n{\r\n out.fill(0);\r\n out[0] = 2 * near / (right - left);\r\n out[5] = -2 * near / (bottom - top);\r\n out[8] = 1 + 2 * left / (right - left);\r\n out[9] = -1 - 2 * top / (bottom - top);\r\n out[10] = far / (near - far);\r\n out[11] = -1;\r\n out[14] = near * far / (near - far);\r\n return out;\r\n}\r\n\r\n/** Carbon OrthoNormalBasisZ. Flat matrix bytes match gl-matrix storage. */\r\nfunction writeOrthoNormalBasisZ(out, z)\r\n{\r\n mat4.identity(out);\r\n const length = Math.hypot(z[0], z[1], z[2]);\r\n const zx = z[0] / length;\r\n const zy = z[1] / length;\r\n const zz = z[2] / length;\r\n out[8] = zx;\r\n out[9] = zy;\r\n out[10] = zz;\r\n\r\n const xx = Math.abs(zx) > 0.99 ? 0 : 1;\r\n const xy = Math.abs(zx) > 0.99 ? 1 : 0;\r\n let yx = xy * zz;\r\n let yy = -xx * zz;\r\n let yz = xx * zy - xy * zx;\r\n const yLength = Math.hypot(yx, yy, yz);\r\n yx /= yLength;\r\n yy /= yLength;\r\n yz /= yLength;\r\n\r\n out[4] = yx;\r\n out[5] = yy;\r\n out[6] = yz;\r\n out[0] = yy * zz - yz * zy;\r\n out[1] = yz * zx - yx * zz;\r\n out[2] = yx * zy - yy * zx;\r\n return out;\r\n}\r\n\r\n/** Carbon OrthoOffCenterMatrix: D3D zero-to-one depth. */\r\nfunction writeOrthoOffCenter(out, left, right, bottom, top, near, far)\r\n{\r\n mat4.identity(out);\r\n out[0] = 2 / (right - left);\r\n out[5] = 2 / (top - bottom);\r\n out[10] = 1 / (near - far);\r\n out[12] = -1 - 2 * left / (right - left);\r\n out[13] = 1 + 2 * top / (bottom - top);\r\n out[14] = near / (near - far);\r\n return out;\r\n}\r\n\r\n/** Cascaded-shadow split producer. Its GPU operations are not ported yet. */\r\n@type.define({ className: \"Tr2ShadowMap\", family: \"trinityCore\" })\r\nexport class Tr2ShadowMap extends CjsModel\r\n{\r\n @edit.notify\r\n @edit.persist\r\n @type.int32\r\n @type.enum(\"ShadowSplitMode\")\r\n shadowSplitMode = 0;\r\n\r\n @edit.readwrite\r\n @type.objectRef(\"Tr2Denoiser\")\r\n denoiser = new Tr2Denoiser();\r\n\r\n @edit.readwrite\r\n @type.objectRef(\"Tr2Effect\")\r\n cascadeEffect = createShadowEffect();\r\n\r\n @edit.notify\r\n @edit.read\r\n @type.uint32\r\n splitCount = SHADOW_FRUSTUM_COUNT;\r\n\r\n @edit.notify\r\n @edit.readwrite\r\n @type.boolean\r\n debugColorSplit = false;\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr15 = STATIC_SPLITS[15];\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr8 = STATIC_SPLITS[8];\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr6 = STATIC_SPLITS[6];\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr5 = STATIC_SPLITS[5];\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr14 = STATIC_SPLITS[14];\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr10 = STATIC_SPLITS[10];\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr13 = STATIC_SPLITS[13];\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr4 = STATIC_SPLITS[4];\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr3 = STATIC_SPLITS[3];\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr7 = STATIC_SPLITS[7];\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr1 = STATIC_SPLITS[1];\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr9 = STATIC_SPLITS[9];\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr0 = STATIC_SPLITS[0];\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr11 = STATIC_SPLITS[11];\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr12 = STATIC_SPLITS[12];\r\n\r\n @edit.readwrite\r\n @type.float32\r\n SplitNr2 = STATIC_SPLITS[2];\r\n\r\n @edit.notify\r\n @edit.readwrite\r\n @type.boolean\r\n disableShimmer = true;\r\n\r\n @edit.readwrite\r\n @type.uint32\r\n size = 2048;\r\n\r\n perSplitData = createPerSplitData();\r\n\r\n #width = SHADOW_MAP_WIDTH;\r\n\r\n #height = SHADOW_MAP_HEIGHT;\r\n\r\n #oldZFar = 0;\r\n\r\n #useDenoiser = true;\r\n\r\n #lastNearClip = 0;\r\n\r\n #lastFarClip = 0;\r\n\r\n #lastShadowSplitMode = Tr2ShadowMap.ShadowSplitMode.STATIC;\r\n\r\n #lastDebugColorSplit = false;\r\n\r\n #splitSetups = Array.from({ length: SHADOW_FRUSTUM_COUNT }, () => createSplitSetup());\r\n\r\n /** Creates the logical effect/denoiser state and reserves Carbon's globals. */\r\n constructor()\r\n {\r\n super();\r\n const store = Tr2VariableStore.GlobalStore();\r\n store.RegisterVariable(\"EveSpaceSceneShadowMap\");\r\n store.RegisterVariable(\"EveSpaceSceneCascadedShadowMap\");\r\n }\r\n\r\n /** Applies the atlas element size/count and the one-way denoiser disable. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The fixed PerSplitData arrays make split counts above Carbon's 16-slot capacity fail immediately instead of corrupting adjacent native memory.\")\r\n Setup(elementSize, elementCount, useDenoiser)\r\n {\r\n const nextSize = elementSize >>> 0;\r\n const nextCount = elementCount >>> 0;\r\n if (nextCount > SHADOW_FRUSTUM_COUNT)\r\n {\r\n throw new RangeError(`Tr2ShadowMap supports at most ${SHADOW_FRUSTUM_COUNT} splits.`);\r\n }\r\n if (this.size !== nextSize || this.splitCount !== nextCount)\r\n {\r\n this.size = nextSize;\r\n this.splitCount = nextCount;\r\n this.perSplitData.SplitInfo[0] = nextCount;\r\n }\r\n this.#useDenoiser = Boolean(useDenoiser);\r\n if (!this.#useDenoiser)\r\n {\r\n this.denoiser = null;\r\n }\r\n }\r\n\r\n /** Applies Carbon's notification consequences from the current owned state. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CjsModel notifications expose settled state rather than Be::Var identity, so this compares the two notify-backed values against their cached state.\")\r\n OnModified()\r\n {\r\n if (this.debugColorSplit !== this.#lastDebugColorSplit)\r\n {\r\n this.cascadeEffect.SetOption(\"SHADOW_DEBUG_MODE\", this.debugColorSplit ? \"SDM_COLOR\" : \"SDM_NONE\");\r\n this.#lastDebugColorSplit = this.debugColorSplit;\r\n }\r\n\r\n if (this.shadowSplitMode !== this.#lastShadowSplitMode)\r\n {\r\n if (this.shadowSplitMode === Tr2ShadowMap.ShadowSplitMode.STATIC)\r\n {\r\n this.#SetStaticShadowSplits();\r\n }\r\n else if (this.shadowSplitMode === Tr2ShadowMap.ShadowSplitMode.DYNAMIC)\r\n {\r\n this.#lastNearClip = 0;\r\n this.#lastFarClip = 0;\r\n }\r\n this.#lastShadowSplitMode = this.shadowSplitMode;\r\n }\r\n\r\n this.perSplitData.SplitInfo[0] = this.splitCount;\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n /** Changes whether an existing denoiser should be used for future results. */\r\n ShouldUseDenoiser(value)\r\n {\r\n this.#useDenoiser = Boolean(value);\r\n }\r\n\r\n /** Engine-facing read of Carbon's private denoiser-use switch. */\r\n @impl.custom\r\n @impl.reason(\"The nominal engine executor needs Carbon's private denoiser-use decision without reading implementation fields.\")\r\n GetUseDenoiser()\r\n {\r\n return this.#useDenoiser;\r\n }\r\n\r\n /** Recomputes geometric dynamic split endpoints when the clip range changes. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSplitValues(nearClip, farClip)\r\n {\r\n if (this.shadowSplitMode !== Tr2ShadowMap.ShadowSplitMode.DYNAMIC) return;\r\n if (this.#lastNearClip === nearClip && this.#lastFarClip === farClip) return;\r\n\r\n this.#lastNearClip = nearClip;\r\n this.#lastFarClip = farClip;\r\n const logNear = Math.log2(nearClip);\r\n const logFar = Math.log2(farClip);\r\n for (let index = 0; index < this.splitCount; index++)\r\n {\r\n this.#SetSplitValue(index, Math.pow(2, logNear + (logFar - logNear) * ((index + 1) / this.splitCount)));\r\n }\r\n }\r\n\r\n /**\r\n * Transforms the D3D clip cube through projection inverse, inverse view and\r\n * light view, returning its light-space bounds and writing all eight corners.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The caller supplies owned JS output containers; matrix bytes stay in logical gl-matrix form and are never pre-transposed.\")\r\n static CalculateAABB(\r\n projection,\r\n invViewTransform,\r\n lightView,\r\n corners,\r\n out = { min: vec3.create(), max: vec3.create() }\r\n )\r\n {\r\n mat4.invert(INVERSE_PROJECTION_SCRATCH, projection);\r\n const min = out.min;\r\n const max = out.max;\r\n min[0] = min[1] = min[2] = Infinity;\r\n max[0] = max[1] = max[2] = -Infinity;\r\n\r\n for (let index = 0; index < DX_UNIT_CUBE.length; index++)\r\n {\r\n const source = DX_UNIT_CUBE[index];\r\n TRANSFORMED_SCRATCH[0] = source[0];\r\n TRANSFORMED_SCRATCH[1] = source[1];\r\n TRANSFORMED_SCRATCH[2] = source[2];\r\n TRANSFORMED_SCRATCH[3] = 1;\r\n vec4.transformMat4(TRANSFORMED_SCRATCH, TRANSFORMED_SCRATCH, INVERSE_PROJECTION_SCRATCH);\r\n const inverseW = 1 / TRANSFORMED_SCRATCH[3];\r\n WORLD_SCRATCH[0] = TRANSFORMED_SCRATCH[0] * inverseW;\r\n WORLD_SCRATCH[1] = TRANSFORMED_SCRATCH[1] * inverseW;\r\n WORLD_SCRATCH[2] = TRANSFORMED_SCRATCH[2] * inverseW;\r\n vec3.transformMat4(WORLD_SCRATCH, WORLD_SCRATCH, invViewTransform);\r\n vec3.transformMat4(corners[index], WORLD_SCRATCH, lightView);\r\n\r\n const corner = corners[index];\r\n min[0] = Math.min(min[0], corner[0]);\r\n min[1] = Math.min(min[1], corner[1]);\r\n min[2] = Math.min(min[2], corner[2]);\r\n max[0] = Math.max(max[0], corner[0]);\r\n max[1] = Math.max(max[1], corner[1]);\r\n max[2] = Math.max(max[2], corner[2]);\r\n }\r\n return out;\r\n }\r\n\r\n /**\r\n * Builds one logical light-view-projection split and its shader data.\r\n *\r\n * The returned object is an allocation-free borrowed view for this split and\r\n * is overwritten the next time the same split index is prepared.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @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.\")\r\n SetupShadowSplit(splitIndex, invViewTransform, lightDirection, zNear, leftDivNear, rightDivNear, topDivNear, bottomDivNear)\r\n {\r\n if (!Number.isInteger(splitIndex) || splitIndex < 0 || splitIndex >= this.splitCount)\r\n {\r\n throw new RangeError(\"Tr2ShadowMap.SetupShadowSplit received an invalid split index.\");\r\n }\r\n\r\n const setup = this.#splitSetups[splitIndex];\r\n if (splitIndex === 0) this.#oldZFar = zNear;\r\n const zFar = this.#GetSplitValue(splitIndex);\r\n this.perSplitData.ShadowMapValues[splitIndex >> 2][splitIndex & 3] = zFar;\r\n\r\n const left = leftDivNear * this.#oldZFar;\r\n const right = rightDivNear * this.#oldZFar;\r\n const top = topDivNear * this.#oldZFar;\r\n const bottom = bottomDivNear * this.#oldZFar;\r\n writePerspectiveOffCenter(PROJECTION_SCRATCH, left, right, bottom, top, this.#oldZFar, zFar);\r\n this.#oldZFar = zFar;\r\n\r\n mat4.invert(INVERSE_PROJECTION_SCRATCH, PROJECTION_SCRATCH);\r\n // Carbon inverseProjection * inverseView; gl-matrix reverses the operands.\r\n mat4.multiply(setup.invViewProj, invViewTransform, INVERSE_PROJECTION_SCRATCH);\r\n\r\n LIGHT_DIRECTION_SCRATCH[0] = -lightDirection[0];\r\n LIGHT_DIRECTION_SCRATCH[1] = -lightDirection[1];\r\n LIGHT_DIRECTION_SCRATCH[2] = -lightDirection[2];\r\n writeOrthoNormalBasisZ(BASIS_SCRATCH, LIGHT_DIRECTION_SCRATCH);\r\n mat4.invert(LIGHT_VIEW_SCRATCH, BASIS_SCRATCH);\r\n\r\n Tr2ShadowMap.CalculateAABB(\r\n PROJECTION_SCRATCH,\r\n invViewTransform,\r\n LIGHT_VIEW_SCRATCH,\r\n setup.corners,\r\n setup.aabb\r\n );\r\n\r\n const min = setup.aabb.min;\r\n const max = setup.aabb.max;\r\n if (this.disableShimmer)\r\n {\r\n let maxDistance = 0;\r\n for (let first = 0; first < setup.corners.length; first++)\r\n {\r\n for (let second = first + 1; second < setup.corners.length; second++)\r\n {\r\n const a = setup.corners[first];\r\n const b = setup.corners[second];\r\n maxDistance = Math.max(maxDistance, Math.hypot(a[0] - b[0], a[1] - b[1], a[2] - b[2]));\r\n }\r\n }\r\n\r\n const radius = Math.ceil(maxDistance / 2);\r\n const texelSize = radius * 2 / this.size;\r\n const centerX = Math.floor(((min[0] + max[0]) * 0.5) / texelSize + 0.5) * texelSize;\r\n const centerY = Math.floor(((min[1] + max[1]) * 0.5) / texelSize + 0.5) * texelSize;\r\n const centerZ = (min[2] + max[2]) * 0.5;\r\n min[0] = centerX - radius;\r\n min[1] = centerY - radius;\r\n min[2] = centerZ - radius;\r\n max[0] = centerX + radius;\r\n max[1] = centerY + radius;\r\n max[2] = centerZ + radius;\r\n }\r\n\r\n writeOrthoOffCenter(ORTHO_SCRATCH, max[0], min[0], max[1], min[1], -max[2], -min[2]);\r\n // Carbon lightView * ortho; gl-matrix reverses the operands.\r\n mat4.multiply(setup.lightViewProjection, ORTHO_SCRATCH, LIGHT_VIEW_SCRATCH);\r\n\r\n const range = this.perSplitData.CascadeRanges[splitIndex];\r\n range[0] = max[0] - min[0];\r\n range[1] = max[1] - min[1];\r\n range[2] = max[2] - min[2];\r\n range[3] = 0;\r\n mat4.copy(this.perSplitData.ShadowMatrixVal[splitIndex], setup.lightViewProjection);\r\n setup.shadowFrustum.DeriveFrustum(LIGHT_VIEW_SCRATCH, min, max);\r\n return setup;\r\n }\r\n\r\n /**\r\n * Allocates the cascaded depth surface and makes it the render target.\r\n *\r\n * @param {object} gpuResourcePool The pool to borrow the surface from.\r\n * @param {object} renderContext The context to set state on.\r\n * @returns {object|null} The borrowed depth texture, or null when the pool\r\n * could not supply one - which Carbon notes happens on a lost device.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n PrepareShadowRendering(gpuResourcePool, renderContext)\r\n {\r\n const cascadedShadowDepth = gpuResourcePool.GetTempTexture(\"cascadedShadowDepth\", {\r\n width: this.size * this.#width,\r\n height: this.size * this.#height,\r\n format: PixelFormat.PIXEL_FORMAT_D32_FLOAT,\r\n gpuUsage: Tr2GpuUsage.DEPTH_STENCIL | Tr2GpuUsage.SHADER_RESOURCE\r\n });\r\n\r\n if (!cascadedShadowDepth || !cascadedShadowDepth.IsValid()) return null;\r\n\r\n const esm = renderContext.GetEffectStateManager();\r\n\r\n // The depth stencil IS the shadow map, so the colour target is pushed EMPTY -\r\n // Carbon passes a default-constructed Tr2TextureAL and comments it \"empty\r\n // texture\" (`cpp:238`). Null is that argument here. Omitting it would only\r\n // save the slot and leave the scene's colour target bound underneath the\r\n // whole shadow pass, which is what this line used to do.\r\n esm.PushViewport();\r\n esm.PushRenderTarget(null);\r\n esm.PushDepthStencilBuffer(cascadedShadowDepth);\r\n esm.UpdateRenderTargetViewport(cascadedShadowDepth.Get().GetWidth(), cascadedShadowDepth.Get().GetHeight());\r\n\r\n // Carbon wants a clean depth buffer for this pass and says so.\r\n renderContext.Clear({ depth: true, clearDepth: 1, clearStencil: 0 });\r\n renderContext.SetReadOnlyDepth(false);\r\n\r\n return cascadedShadowDepth;\r\n }\r\n\r\n /**\r\n * Points the viewport at one split's cell in the atlas.\r\n *\r\n * Eight cells per row: splits 0-7 fill the top row and 8 onward wrap to a\r\n * second, which is why the row index is `splitIndex % 8` and the y offset is\r\n * either zero or one cell down.\r\n *\r\n * @param {object} renderContext The context to set the viewport on.\r\n * @param {number} splitIndex Which cascade split.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n BeginShadowRendering(renderContext, splitIndex)\r\n {\r\n const esm = renderContext.GetEffectStateManager();\r\n const topRow = splitIndex < 8;\r\n\r\n esm.SetViewport({\r\n width: this.size,\r\n height: this.size,\r\n x: (topRow ? splitIndex : splitIndex % 8) * this.size,\r\n y: topRow ? 0 : this.size,\r\n minZ: 0,\r\n maxZ: 1\r\n });\r\n }\r\n\r\n /**\r\n * Unwinds everything `PrepareShadowRendering` pushed, in reverse.\r\n *\r\n * @param {object} renderContext The context to restore.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n EndShadowRendering(renderContext)\r\n {\r\n renderContext.SetReadOnlyDepth(false);\r\n\r\n const esm = renderContext.GetEffectStateManager();\r\n\r\n esm.PopRenderTarget();\r\n esm.PopDepthStencilBuffer();\r\n esm.PopViewport();\r\n }\r\n\r\n /**\r\n * Resolves the cascaded depth into a screen-space shadow factor.\r\n *\r\n * Carbon `DrawToShadowMapResult` (`cpp:278-305`). Borrow an R8 target the\r\n * size of the scene depth, bind it, run the shadow effect over a fullscreen\r\n * quad with the atlas and the depth map bound, then optionally denoise.\r\n *\r\n * THE DEPTH BUFFER IS PUSHED EMPTY, not merely saved. Carbon passes a\r\n * default-constructed Tr2TextureAL (`cpp:285`), which unbinds it - this pass\r\n * writes a full-screen factor and must not be depth-tested against the very\r\n * buffer it is reading.\r\n *\r\n * THE EFFECT'S TEXTURES ARE CLEARED IMMEDIATELY AFTER THE DRAW, as Carbon\r\n * does (`cpp:290-291`), so a later pass cannot inherit the atlas or the\r\n * scene depth from this one.\r\n *\r\n * `cascadeEffect` is Carbon's `m_shadowEffect` under our name - same\r\n * ShadowDepth.fx path, same two parameters (`cpp:39-42`).\r\n *\r\n * @param {object} renderContext The context to draw against.\r\n * @param {object} gpuResourcePool The pool to borrow the result target from.\r\n * @param {object} depthMap The scene depth.\r\n * @param {object} cascadedShadowDepth The atlas produced by this pass.\r\n * @param {number} upscaling The denoiser's upscaling factor.\r\n * @param {object} renderer The renderer owning the blitter.\r\n * @returns {object|null} The shadow-factor target, or null without a pool.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @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.\")\r\n DrawToShadowMapResult(renderContext, gpuResourcePool, depthMap, cascadedShadowDepth, upscaling, renderer)\r\n {\r\n let shadowMapResult = gpuResourcePool.GetTempTexture(\"shadowMapResult\", {\r\n type: TextureType.TEX_TYPE_2D,\r\n width: depthMap.GetWidth(),\r\n height: depthMap.GetHeight(),\r\n depth: 1,\r\n mipCount: 1,\r\n format: PixelFormat.PIXEL_FORMAT_R8_UNORM,\r\n gpuUsage: Tr2GpuUsage.RENDER_TARGET | Tr2GpuUsage.SHADER_RESOURCE\r\n });\r\n\r\n const esm = renderContext.GetEffectStateManager();\r\n\r\n esm.PushRenderTarget(shadowMapResult.Get());\r\n esm.PushDepthStencilBuffer(null);\r\n\r\n try\r\n {\r\n this.cascadeEffect.SetParameter(\"EveSpaceSceneCascadedShadowMap\", cascadedShadowDepth);\r\n this.cascadeEffect.SetParameter(\"DepthMap\", depthMap);\r\n renderer.DrawScreenQuad(renderContext, this.cascadeEffect);\r\n this.cascadeEffect.SetParameter(\"EveSpaceSceneCascadedShadowMap\", null);\r\n this.cascadeEffect.SetParameter(\"DepthMap\", null);\r\n\r\n // Carbon gates on all three (`cpp:296`). Setup() nulls the denoiser when\r\n // it is disabled, so the useDenoiser flag and a present denoiser are not\r\n // the same question.\r\n if (this.denoiser && this.#useDenoiser && depthMap.IsValid())\r\n {\r\n shadowMapResult = this.denoiser.Apply(\r\n shadowMapResult,\r\n depthMap,\r\n null,\r\n renderContext.GetReversedDepthProjectionTransform(),\r\n upscaling,\r\n gpuResourcePool,\r\n renderContext,\r\n renderer\r\n );\r\n }\r\n\r\n return shadowMapResult;\r\n }\r\n finally\r\n {\r\n esm.PopRenderTarget();\r\n esm.PopDepthStencilBuffer();\r\n }\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n /** Returns the number of active cascade splits. */\r\n GetShadowSplitCount()\r\n {\r\n return this.splitCount;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n /** Returns the square pixel size of one atlas cell. */\r\n GetShadowMapSize()\r\n {\r\n return this.size;\r\n }\r\n\r\n /** Returns the fixed number of atlas columns. */\r\n @impl.custom\r\n @impl.reason(\"The nominal engine executor needs Carbon's private fixed atlas width without reading implementation fields.\")\r\n GetShadowMapWidth()\r\n {\r\n return this.#width;\r\n }\r\n\r\n /** Returns the fixed number of atlas rows. */\r\n @impl.custom\r\n @impl.reason(\"The nominal engine executor needs Carbon's private fixed atlas height without reading implementation fields.\")\r\n GetShadowMapHeight()\r\n {\r\n return this.#height;\r\n }\r\n\r\n /** Returns the stable owned record consumed by scene per-frame packing. */\r\n @impl.custom\r\n @impl.reason(\"The scene needs a nominal direct accessor to Carbon's public PerSplitData without structural probing.\")\r\n GetPerSplitData()\r\n {\r\n return this.perSplitData;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n /** Returns the logical effect used to resolve the screen-space shadow mask. */\r\n GetShadowEffect()\r\n {\r\n return this.cascadeEffect;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n /** Reports whether cascade-debug colouring is enabled. */\r\n GetDebugSplitValue()\r\n {\r\n return this.debugColorSplit;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n /** Returns Carbon's packed debug colour for a cascade colour index. */\r\n GetDebugColors(switchCase)\r\n {\r\n switch (switchCase)\r\n {\r\n case 0: return 0xffffffff;\r\n case 1: return 0xffff0000;\r\n case 2: return 0xff00ff00;\r\n case 3: return 0xff0000ff;\r\n case 4: return 0xffffff00;\r\n case 5: return 0xff00ffff;\r\n case 6: return 0x2200ffff;\r\n case 7: return 0xff555555;\r\n case 8: return 0xff888888;\r\n default: return undefined;\r\n }\r\n }\r\n\r\n /** Restores the sixteen fixed Carbon cascade endpoints. */\r\n #SetStaticShadowSplits()\r\n {\r\n for (let index = 0; index < STATIC_SPLITS.length; index++)\r\n {\r\n this.#SetSplitValue(index, STATIC_SPLITS[index]);\r\n }\r\n }\r\n\r\n /** Writes one authored/dynamic split endpoint to its public field. */\r\n #SetSplitValue(index, value)\r\n {\r\n this[`SplitNr${index}`] = value;\r\n }\r\n\r\n /** Reads one split endpoint from its public field. */\r\n #GetSplitValue(index)\r\n {\r\n return this[`SplitNr${index}`];\r\n }\r\n\r\n static ShadowSplitMode = Object.freeze({\r\n STATIC: 0,\r\n DYNAMIC: 1,\r\n MANUAL: 2\r\n });\r\n}\r\n"],"names":["SHADOW_FRUSTUM_COUNT","SHADOW_MAP_WIDTH","SHADOW_MAP_HEIGHT","STATIC_SPLITS","Object","freeze","DX_UNIT_CUBE","PROJECTION_SCRATCH","mat4","create","INVERSE_PROJECTION_SCRATCH","BASIS_SCRATCH","LIGHT_VIEW_SCRATCH","ORTHO_SCRATCH","TRANSFORMED_SCRATCH","vec4","WORLD_SCRATCH","vec3","LIGHT_DIRECTION_SCRATCH","createPerSplitData","ShadowMapValues","Array","from","length","ShadowMatrixVal","CascadeRanges","SplitInfo","createSplitSetup","shadowFrustum","TriFrustumOrtho","lightViewProjection","invViewProj","aabb","min","max","corners","createShadowEffect","effect","Tr2Effect","SetEffectPathName","SetParameter","writePerspectiveOffCenter","out","left","right","bottom","top","near","far","fill","writeOrthoNormalBasisZ","z","identity","Math","hypot","zx","zy","zz","xx","abs","xy","yx","yy","yz","yLength","writeOrthoOffCenter","_Tr2ShadowMap","_identity","Tr2ShadowMap","CjsModel","e","_init_shadowSplitMode","_init_extra_shadowSplitMode","_init_denoiser","_init_extra_denoiser","_init_cascadeEffect","_init_extra_cascadeEffect","_init_splitCount","_init_extra_splitCount","_init_debugColorSplit","_init_extra_debugColorSplit","_init_SplitNr","_init_extra_SplitNr","_init_SplitNr2","_init_extra_SplitNr2","_init_SplitNr3","_init_extra_SplitNr3","_init_SplitNr4","_init_extra_SplitNr4","_init_SplitNr5","_init_extra_SplitNr5","_init_SplitNr6","_init_extra_SplitNr6","_init_SplitNr7","_init_extra_SplitNr7","_init_SplitNr8","_init_extra_SplitNr8","_init_SplitNr9","_init_extra_SplitNr9","_init_SplitNr0","_init_extra_SplitNr0","_init_SplitNr1","_init_extra_SplitNr1","_init_SplitNr10","_init_extra_SplitNr10","_init_SplitNr11","_init_extra_SplitNr11","_init_SplitNr12","_init_extra_SplitNr12","_init_SplitNr13","_init_extra_SplitNr13","_init_SplitNr14","_init_extra_SplitNr14","_init_disableShimmer","_init_extra_disableShimmer","_init_size","_init_extra_size","_initProto","_initStatic","c","_initClass","_applyDecs","type","define","className","family","edit","notify","persist","int32","enum","readwrite","objectRef","read","uint32","boolean","float32","carbon","method","impl","adapted","reason","implemented","custom","shadowSplitMode","denoiser","Tr2Denoiser","cascadeEffect","splitCount","debugColorSplit","SplitNr15","SplitNr8","SplitNr6","SplitNr5","SplitNr14","SplitNr10","SplitNr13","SplitNr4","SplitNr3","SplitNr7","SplitNr1","SplitNr9","SplitNr0","SplitNr11","SplitNr12","SplitNr2","disableShimmer","size","perSplitData","ShadowSplitMode","STATIC","constructor","store","Tr2VariableStore","GlobalStore","RegisterVariable","Setup","elementSize","elementCount","useDenoiser","nextSize","nextCount","RangeError","Boolean","OnModified","SetOption","DYNAMIC","ShouldUseDenoiser","value","GetUseDenoiser","UpdateSplitValues","nearClip","farClip","logNear","log2","logFar","index","pow","CalculateAABB","projection","invViewTransform","lightView","invert","Infinity","source","transformMat4","inverseW","corner","SetupShadowSplit","splitIndex","lightDirection","zNear","leftDivNear","rightDivNear","topDivNear","bottomDivNear","Number","isInteger","setup","zFar","multiply","maxDistance","first","second","a","b","radius","ceil","texelSize","centerX","floor","centerY","centerZ","range","copy","DeriveFrustum","PrepareShadowRendering","gpuResourcePool","renderContext","cascadedShadowDepth","GetTempTexture","width","height","format","PixelFormat","PIXEL_FORMAT_D32_FLOAT","gpuUsage","Tr2GpuUsage","DEPTH_STENCIL","SHADER_RESOURCE","IsValid","esm","GetEffectStateManager","PushViewport","PushRenderTarget","PushDepthStencilBuffer","UpdateRenderTargetViewport","Get","GetWidth","GetHeight","Clear","depth","clearDepth","clearStencil","SetReadOnlyDepth","BeginShadowRendering","topRow","SetViewport","x","y","minZ","maxZ","EndShadowRendering","PopRenderTarget","PopDepthStencilBuffer","PopViewport","DrawToShadowMapResult","depthMap","upscaling","renderer","shadowMapResult","TextureType","TEX_TYPE_2D","mipCount","PIXEL_FORMAT_R8_UNORM","RENDER_TARGET","DrawScreenQuad","Apply","GetReversedDepthProjectionTransform","GetShadowSplitCount","GetShadowMapSize","GetShadowMapWidth","GetShadowMapHeight","GetPerSplitData","GetShadowEffect","GetDebugSplitValue","GetDebugColors","switchCase","undefined","#SetStaticShadowSplits","#SetSplitValue","#GetSplitValue","MANUAL"],"mappings":"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"}
@@ -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 { PixelFormat, GetBytesPerPixel } from '#consts/render-context';
5
5
  import { ALResult } from '../../trinityal/ALResult.js';
@@ -22,7 +22,7 @@ new class extends _identity {
22
22
  className: "Tr2StreamingBitmapSaver",
23
23
  family: "trinityCore",
24
24
  purpose: "Models Carbon's incremental bitmap saver through its dimensions, pixel format, current offset, and batch-copy entry points."
25
- })], [[[io, io.read, type, type.uint32], 16, "currentOffset"], [[io, io.read, type, type.uint32], 16, "height"], [[io, io.read, type, type.int32, void 0, type.enum("PixelFormat")], 16, "format"], [[io, io.read, type, type.uint32], 16, "width"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon opens a Blue ResFile stream from a path; the runtime has no file layer, so the caller supplies the write sink.")], 18, "StartSaving"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsSaving"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasStartedBatch"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "CopyFromRenderTargetRegion"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "EndSaving"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "FlushBatch"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "StartBatch"]], 0, void 0, CjsModel));
25
+ })], [[[edit, edit.read, type, type.uint32], 16, "currentOffset"], [[edit, edit.read, type, type.uint32], 16, "height"], [[edit, edit.read, type, type.int32, void 0, type.enum("PixelFormat")], 16, "format"], [[edit, edit.read, type, type.uint32], 16, "width"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon opens a Blue ResFile stream from a path; the runtime has no file layer, so the caller supplies the write sink.")], 18, "StartSaving"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsSaving"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasStartedBatch"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "CopyFromRenderTargetRegion"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "EndSaving"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "FlushBatch"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "StartBatch"]], 0, void 0, CjsModel));
26
26
  }
27
27
  /** m_currentOffset (uint32_t) [READ] - rows are written bottom-up, so it
28
28
  * starts at the height. */
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2StreamingBitmapSaver.js","sources":["../../../../src/trinity/core/Tr2StreamingBitmapSaver.js"],"sourcesContent":["// Source: trinity/trinity/Tr2StreamingBitmapSaver.h\n// trinity/trinity/Tr2StreamingBitmapSaver.cpp\n// imageio/Tr2TgaHandler.cpp (SaveHeader, the 18-byte TGA header)\n// Hand-maintained from Carbon source, promoted out of generated intake\n// 2026-09-06 (docs/research/ratchet-three-method-tier-2026-09-06.md).\n//\n// TWO DONOR DEFECTS AT StartSaving, recorded rather than silently corrected:\n// the format pre-check reads the STALE member (`IsSaveSupported( m_format )`\n// at cpp:56 while `m_format = pixelFormat` only lands at cpp:94), and\n// IsSaveSupported itself is a tautology (`format == X8 || format != A8 ||\n// format != R8`, Tr2TgaHandler.cpp) that can never reject. Net Carbon\n// behaviour: the pre-check never fails and the REAL format gate is\n// SaveHeader's switch, whose default returns SAVE_NOT_SUPPORTED. This port\n// keeps that net behaviour: no pre-check, the header switch rejects.\nimport { carbon, impl, io, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport { GetBytesPerPixel, PixelFormat } from \"#consts/render-context\";\nimport { ALResult } from \"../../trinityal/ALResult.js\";\n\n/** TGA image types (Tr2TgaHandler.cpp): raw RGB and raw greyscale. */\nconst IMAGE_TYPE_RAW_RGB = 2;\nconst IMAGE_TYPE_RAW_GREYSCALE = 3;\n\n/** Models Carbon's incremental bitmap saver through its dimensions, pixel format, current offset, and batch-copy entry points. */\n@type.define({ className: \"Tr2StreamingBitmapSaver\", family: \"trinityCore\", purpose: \"Models Carbon's incremental bitmap saver through its dimensions, pixel format, current offset, and batch-copy entry points.\" })\nexport class Tr2StreamingBitmapSaver extends CjsModel\n{\n\n /** m_currentOffset (uint32_t) [READ] - rows are written bottom-up, so it\n * starts at the height. */\n @io.read\n @type.uint32\n currentOffset = 0;\n\n /** m_height (uint32_t) [READ] */\n @io.read\n @type.uint32\n height = 0;\n\n /** m_format (Tr2RenderContextEnum::PixelFormat - enum PixelFormat) [READ] */\n @io.read\n @type.int32\n @type.enum(\"PixelFormat\")\n format = 0;\n\n /** m_width (uint32_t) [READ] */\n @io.read\n @type.uint32\n width = 0;\n\n /** m_output - Carbon's Blue IResFile stream; here any { Write(Uint8Array) } sink. */\n #output = null;\n\n /** m_bytesPerPixel, derived from the format at StartSaving. */\n #bytesPerPixel = 0;\n\n /** m_rowsPerBatch - non-zero only between StartBatch and FlushBatch. */\n #rowsPerBatch = 0;\n\n /**\n * Carbon StartSaving (Tr2StreamingBitmapSaver.cpp:45-100): end any\n * in-flight save, validate the dimensions, open the output and write the\n * 18-byte TGA header (Tr2TgaHandler.cpp SaveHeader - the header's switch\n * is the real format gate: B8G8R8X8 24bpp RGB, B8G8R8A8 32bpp RGB,\n * R8 8bpp greyscale, anything else refused), then latch the image state\n * with the row cursor at the bottom.\n *\n * Carbon opens a Blue ResFile from a path; this runtime has no file\n * layer, so the output is a caller-supplied sink whose Write(bytes)\n * returns the count written - a string path with no sink behind it fails\n * exactly as Carbon's failed stream open does.\n *\n * @param {{Write(bytes: Uint8Array): number}} output The write sink.\n * @param {number} width\n * @param {number} height\n * @param {number} pixelFormat A PixelFormat value.\n * @returns {number} An ALResult value.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon opens a Blue ResFile stream from a path; the runtime has no file layer, so the caller supplies the write sink.\")\n StartSaving(output, width, height, pixelFormat)\n {\n if (this.IsSaving())\n {\n const ended = this.EndSaving();\n if (ended !== ALResult.S_OK) return ended;\n }\n\n if (!width || !height) return ALResult.E_INVALIDARG;\n if (typeof output?.Write !== \"function\") return ALResult.E_FAIL;\n\n // The TGA header (Tr2TgaHandler.cpp SaveHeader): idLength, colorMapType,\n // imageType, colorMap start/length/bpp, origin, size, bpp, descriptor.\n let imageType;\n let bpp;\n switch (pixelFormat)\n {\n case PixelFormat.PIXEL_FORMAT_B8G8R8X8_UNORM: imageType = IMAGE_TYPE_RAW_RGB; bpp = 24; break;\n case PixelFormat.PIXEL_FORMAT_B8G8R8A8_UNORM: imageType = IMAGE_TYPE_RAW_RGB; bpp = 32; break;\n case PixelFormat.PIXEL_FORMAT_R8_UNORM: imageType = IMAGE_TYPE_RAW_GREYSCALE; bpp = 8; break;\n default: return ALResult.E_FAIL;\n }\n\n const header = new Uint8Array(18);\n const view = new DataView(header.buffer);\n view.setUint8(2, imageType);\n view.setUint16(12, width & 0xFFFF, true);\n view.setUint16(14, height & 0xFFFF, true);\n view.setUint8(16, bpp);\n\n if (output.Write(header) !== header.length) return ALResult.E_FAIL;\n\n this.#output = output;\n this.width = width;\n this.height = height;\n this.format = pixelFormat;\n this.#bytesPerPixel = GetBytesPerPixel(pixelFormat);\n this.currentOffset = this.height;\n\n return ALResult.S_OK;\n }\n\n /** Carbon IsSaving (cpp:282-284): whether an output stream is open. */\n @carbon.method\n @impl.implemented\n IsSaving()\n {\n return this.#output !== null;\n }\n\n /** Carbon HasStartedBatch (cpp:294-296): whether a batch is in flight. */\n @carbon.method\n @impl.implemented\n HasStartedBatch()\n {\n return this.#rowsPerBatch !== 0;\n }\n\n /** Carbon method CopyFromRenderTargetRegion (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.notImplemented\n CopyFromRenderTargetRegion(...args)\n {\n throw new Error(\"Tr2StreamingBitmapSaver.CopyFromRenderTargetRegion is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon EndSaving closes and pads the stream; unported with the batch pair. */\n @carbon.method\n @impl.notImplemented\n EndSaving(...args)\n {\n throw new Error(\"Tr2StreamingBitmapSaver.EndSaving is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon method FlushBatch (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.notImplemented\n FlushBatch(...args)\n {\n throw new Error(\"Tr2StreamingBitmapSaver.FlushBatch is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon method StartBatch (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.notImplemented\n StartBatch(...args)\n {\n throw new Error(\"Tr2StreamingBitmapSaver.StartBatch is not implemented in CarbonEngineJS.\");\n }\n\n static PixelFormat = PixelFormat;\n\n}\n"],"names":["IMAGE_TYPE_RAW_RGB","IMAGE_TYPE_RAW_GREYSCALE","_Tr2StreamingBitmapSa","_identity","Tr2StreamingBitmapSaver","CjsModel","e","_init_currentOffset","_init_extra_currentOffset","_init_height","_init_extra_height","_init_format","_init_extra_format","_init_width","_init_extra_width","_initProto","c","_initClass","_applyDecs","type","define","className","family","purpose","io","read","uint32","int32","enum","carbon","method","impl","adapted","reason","implemented","notImplemented","currentOffset","height","format","width","StartSaving","output","pixelFormat","IsSaving","ended","EndSaving","ALResult","S_OK","E_INVALIDARG","Write","E_FAIL","imageType","bpp","PixelFormat","PIXEL_FORMAT_B8G8R8X8_UNORM","PIXEL_FORMAT_B8G8R8A8_UNORM","PIXEL_FORMAT_R8_UNORM","header","Uint8Array","view","DataView","buffer","setUint8","setUint16","length","GetBytesPerPixel","HasStartedBatch","CopyFromRenderTargetRegion","args","Error","FlushBatch","StartBatch","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2StreamingBitmapSaver.js","sources":["../../../../src/trinity/core/Tr2StreamingBitmapSaver.js"],"sourcesContent":["// Source: trinity/trinity/Tr2StreamingBitmapSaver.h\n// trinity/trinity/Tr2StreamingBitmapSaver.cpp\n// imageio/Tr2TgaHandler.cpp (SaveHeader, the 18-byte TGA header)\n// Hand-maintained from Carbon source, promoted out of generated intake\n// 2026-09-06 (docs/research/ratchet-three-method-tier-2026-09-06.md).\n//\n// TWO DONOR DEFECTS AT StartSaving, recorded rather than silently corrected:\n// the format pre-check reads the STALE member (`IsSaveSupported( m_format )`\n// at cpp:56 while `m_format = pixelFormat` only lands at cpp:94), and\n// IsSaveSupported itself is a tautology (`format == X8 || format != A8 ||\n// format != R8`, Tr2TgaHandler.cpp) that can never reject. Net Carbon\n// behaviour: the pre-check never fails and the REAL format gate is\n// SaveHeader's switch, whose default returns SAVE_NOT_SUPPORTED. This port\n// keeps that net behaviour: no pre-check, the header switch rejects.\nimport { carbon, impl, edit, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport { GetBytesPerPixel, PixelFormat } from \"#consts/render-context\";\nimport { ALResult } from \"../../trinityal/ALResult.js\";\n\n/** TGA image types (Tr2TgaHandler.cpp): raw RGB and raw greyscale. */\nconst IMAGE_TYPE_RAW_RGB = 2;\nconst IMAGE_TYPE_RAW_GREYSCALE = 3;\n\n/** Models Carbon's incremental bitmap saver through its dimensions, pixel format, current offset, and batch-copy entry points. */\n@type.define({ className: \"Tr2StreamingBitmapSaver\", family: \"trinityCore\", purpose: \"Models Carbon's incremental bitmap saver through its dimensions, pixel format, current offset, and batch-copy entry points.\" })\nexport class Tr2StreamingBitmapSaver extends CjsModel\n{\n\n /** m_currentOffset (uint32_t) [READ] - rows are written bottom-up, so it\n * starts at the height. */\n @edit.read\n @type.uint32\n currentOffset = 0;\n\n /** m_height (uint32_t) [READ] */\n @edit.read\n @type.uint32\n height = 0;\n\n /** m_format (Tr2RenderContextEnum::PixelFormat - enum PixelFormat) [READ] */\n @edit.read\n @type.int32\n @type.enum(\"PixelFormat\")\n format = 0;\n\n /** m_width (uint32_t) [READ] */\n @edit.read\n @type.uint32\n width = 0;\n\n /** m_output - Carbon's Blue IResFile stream; here any { Write(Uint8Array) } sink. */\n #output = null;\n\n /** m_bytesPerPixel, derived from the format at StartSaving. */\n #bytesPerPixel = 0;\n\n /** m_rowsPerBatch - non-zero only between StartBatch and FlushBatch. */\n #rowsPerBatch = 0;\n\n /**\n * Carbon StartSaving (Tr2StreamingBitmapSaver.cpp:45-100): end any\n * in-flight save, validate the dimensions, open the output and write the\n * 18-byte TGA header (Tr2TgaHandler.cpp SaveHeader - the header's switch\n * is the real format gate: B8G8R8X8 24bpp RGB, B8G8R8A8 32bpp RGB,\n * R8 8bpp greyscale, anything else refused), then latch the image state\n * with the row cursor at the bottom.\n *\n * Carbon opens a Blue ResFile from a path; this runtime has no file\n * layer, so the output is a caller-supplied sink whose Write(bytes)\n * returns the count written - a string path with no sink behind it fails\n * exactly as Carbon's failed stream open does.\n *\n * @param {{Write(bytes: Uint8Array): number}} output The write sink.\n * @param {number} width\n * @param {number} height\n * @param {number} pixelFormat A PixelFormat value.\n * @returns {number} An ALResult value.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon opens a Blue ResFile stream from a path; the runtime has no file layer, so the caller supplies the write sink.\")\n StartSaving(output, width, height, pixelFormat)\n {\n if (this.IsSaving())\n {\n const ended = this.EndSaving();\n if (ended !== ALResult.S_OK) return ended;\n }\n\n if (!width || !height) return ALResult.E_INVALIDARG;\n if (typeof output?.Write !== \"function\") return ALResult.E_FAIL;\n\n // The TGA header (Tr2TgaHandler.cpp SaveHeader): idLength, colorMapType,\n // imageType, colorMap start/length/bpp, origin, size, bpp, descriptor.\n let imageType;\n let bpp;\n switch (pixelFormat)\n {\n case PixelFormat.PIXEL_FORMAT_B8G8R8X8_UNORM: imageType = IMAGE_TYPE_RAW_RGB; bpp = 24; break;\n case PixelFormat.PIXEL_FORMAT_B8G8R8A8_UNORM: imageType = IMAGE_TYPE_RAW_RGB; bpp = 32; break;\n case PixelFormat.PIXEL_FORMAT_R8_UNORM: imageType = IMAGE_TYPE_RAW_GREYSCALE; bpp = 8; break;\n default: return ALResult.E_FAIL;\n }\n\n const header = new Uint8Array(18);\n const view = new DataView(header.buffer);\n view.setUint8(2, imageType);\n view.setUint16(12, width & 0xFFFF, true);\n view.setUint16(14, height & 0xFFFF, true);\n view.setUint8(16, bpp);\n\n if (output.Write(header) !== header.length) return ALResult.E_FAIL;\n\n this.#output = output;\n this.width = width;\n this.height = height;\n this.format = pixelFormat;\n this.#bytesPerPixel = GetBytesPerPixel(pixelFormat);\n this.currentOffset = this.height;\n\n return ALResult.S_OK;\n }\n\n /** Carbon IsSaving (cpp:282-284): whether an output stream is open. */\n @carbon.method\n @impl.implemented\n IsSaving()\n {\n return this.#output !== null;\n }\n\n /** Carbon HasStartedBatch (cpp:294-296): whether a batch is in flight. */\n @carbon.method\n @impl.implemented\n HasStartedBatch()\n {\n return this.#rowsPerBatch !== 0;\n }\n\n /** Carbon method CopyFromRenderTargetRegion (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.notImplemented\n CopyFromRenderTargetRegion(...args)\n {\n throw new Error(\"Tr2StreamingBitmapSaver.CopyFromRenderTargetRegion is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon EndSaving closes and pads the stream; unported with the batch pair. */\n @carbon.method\n @impl.notImplemented\n EndSaving(...args)\n {\n throw new Error(\"Tr2StreamingBitmapSaver.EndSaving is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon method FlushBatch (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.notImplemented\n FlushBatch(...args)\n {\n throw new Error(\"Tr2StreamingBitmapSaver.FlushBatch is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon method StartBatch (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.notImplemented\n StartBatch(...args)\n {\n throw new Error(\"Tr2StreamingBitmapSaver.StartBatch is not implemented in CarbonEngineJS.\");\n }\n\n static PixelFormat = PixelFormat;\n\n}\n"],"names":["IMAGE_TYPE_RAW_RGB","IMAGE_TYPE_RAW_GREYSCALE","_Tr2StreamingBitmapSa","_identity","Tr2StreamingBitmapSaver","CjsModel","e","_init_currentOffset","_init_extra_currentOffset","_init_height","_init_extra_height","_init_format","_init_extra_format","_init_width","_init_extra_width","_initProto","c","_initClass","_applyDecs","type","define","className","family","purpose","edit","read","uint32","int32","enum","carbon","method","impl","adapted","reason","implemented","notImplemented","currentOffset","height","format","width","StartSaving","output","pixelFormat","IsSaving","ended","EndSaving","ALResult","S_OK","E_INVALIDARG","Write","E_FAIL","imageType","bpp","PixelFormat","PIXEL_FORMAT_B8G8R8X8_UNORM","PIXEL_FORMAT_B8G8R8A8_UNORM","PIXEL_FORMAT_R8_UNORM","header","Uint8Array","view","DataView","buffer","setUint8","setUint16","length","GetBytesPerPixel","HasStartedBatch","CopyFromRenderTargetRegion","args","Error","FlushBatch","StartBatch","constructor"],"mappings":"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"}
@@ -3,12 +3,11 @@ import { TriBatchType } from '#consts/graphics';
3
3
  import { CjsModel } from '#model';
4
4
  import { mat4 } from '#math/mat4';
5
5
  import { quat } from '#math/quat';
6
- import { carbon, impl, io, type } from '#schema';
6
+ import { carbon, impl, edit, type } from '#schema';
7
7
  import { vec3 } from '#math/vec3';
8
8
  import { Tr2TransformModifier } from '../generated/trinityCore/enums.js';
9
- import { withITr2Renderable } from './ITr2Renderable.js';
9
+ import { ITr2Renderable } from './ITr2Renderable.js';
10
10
 
11
- var _withITr2Renderable;
12
11
  let _initProto, _initClass, _init_modifier, _init_extra_modifier, _init_localTransform, _init_extra_localTransform, _init_worldTransform, _init_extra_worldTransform, _init_name, _init_extra_name, _init_scaling, _init_extra_scaling, _init_rotation, _init_extra_rotation, _init_translation, _init_extra_translation, _init_distanceBasedScaleArg, _init_extra_distanceBasedScaleArg, _init_distanceBasedScaleArg2, _init_extra_distanceBasedScaleArg2, _init_mesh, _init_extra_mesh, _init_curveSets, _init_extra_curveSets, _init_useDistanceBasedScale, _init_extra_useDistanceBasedScale, _init_display, _init_extra_display, _init_update, _init_extra_update, _init_sortValueMultiplier, _init_extra_sortValueMultiplier;
13
12
 
14
13
  // Carbon uses row vectors. A single matrix has the same flat bytes as our
@@ -103,7 +102,7 @@ function carbonLookAt(out, eye, target, up, forward, right, realUp) {
103
102
  /** Common transform, curve, mesh, sorting, and camera-modifier behavior. */
104
103
  let _Tr2Transform;
105
104
  new class extends _identity {
106
- static [class Tr2Transform extends (_withITr2Renderable = withITr2Renderable(CjsModel)) {
105
+ static [class Tr2Transform extends CjsModel {
107
106
  static {
108
107
  ({
109
108
  e: [_init_modifier, _init_extra_modifier, _init_localTransform, _init_extra_localTransform, _init_worldTransform, _init_extra_worldTransform, _init_name, _init_extra_name, _init_scaling, _init_extra_scaling, _init_rotation, _init_extra_rotation, _init_translation, _init_extra_translation, _init_distanceBasedScaleArg, _init_extra_distanceBasedScaleArg, _init_distanceBasedScaleArg2, _init_extra_distanceBasedScaleArg2, _init_mesh, _init_extra_mesh, _init_curveSets, _init_extra_curveSets, _init_useDistanceBasedScale, _init_extra_useDistanceBasedScale, _init_display, _init_extra_display, _init_update, _init_extra_update, _init_sortValueMultiplier, _init_extra_sortValueMultiplier, _initProto],
@@ -111,7 +110,7 @@ new class extends _identity {
111
110
  } = _applyDecs2311(this, [type.define({
112
111
  className: "Tr2Transform",
113
112
  family: "trinityCore"
114
- })], [[[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The active render context is threaded to context-dependent curve functions instead of read from a process-global renderer.")], 18, "Update"], [[carbon, carbon.method, void 0, carbon.contextual(["camera"]), impl, impl.adapted, void 0, impl.reason("Carbon renderer globals are supplied explicitly as the active render context; matrix products reverse for gl-matrix semantics.")], 18, "UpdateViewDependentData"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetScaling"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetRotation"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetTranslation"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsVisible"], [[carbon, carbon.method, impl, impl.abstract], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasTransparentBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Returns whether JavaScript mesh delegation committed a batch; Carbon's void method exposes no result.")], 18, "GetBatches"], [[carbon, carbon.method, void 0, carbon.contextual(["camera"]), impl, impl.adapted, void 0, impl.reason("The active render context replaces Carbon's Tr2Renderer view-position global.")], 18, "GetSortValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMesh"], [[io, io.persist, type, type.int32, void 0, type.enum("Tr2TransformModifier")], 16, "modifier"], [[io, io.read, type, type.mat4], 16, "localTransform"], [[io, io.read, type, type.mat4], 16, "worldTransform"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.vec3], 16, "scaling"], [[io, io.persist, type, type.quat], 16, "rotation"], [[io, io.persist, type, type.vec3], 16, "translation"], [[io, io.persist, type, type.float32], 16, "distanceBasedScaleArg1"], [[io, io.persist, type, type.float32], 16, "distanceBasedScaleArg2"], [[io, io.persist, void 0, type.model("Tr2MeshBase")], 16, "mesh"], [[io, io.persist, void 0, type.list("TriCurveSet")], 16, "curveSets"], [[io, io.persist, type, type.boolean], 16, "useDistanceBasedScale"], [[io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.boolean], 16, "update"], [[io, io.persist, type, type.float32], 16, "sortValueMultiplier"]], 0, void 0, _withITr2Renderable));
113
+ }), carbon.inherit(ITr2Renderable)], [[[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The active render context is threaded to context-dependent curve functions instead of read from a process-global renderer.")], 18, "Update"], [[carbon, carbon.method, void 0, carbon.contextual(["camera"]), impl, impl.adapted, void 0, impl.reason("Carbon renderer globals are supplied explicitly as the active render context; matrix products reverse for gl-matrix semantics.")], 18, "UpdateViewDependentData"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetScaling"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetRotation"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetTranslation"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsVisible"], [[carbon, carbon.method, impl, impl.abstract], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasTransparentBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Returns whether JavaScript mesh delegation committed a batch; Carbon's void method exposes no result.")], 18, "GetBatches"], [[carbon, carbon.method, void 0, carbon.contextual(["camera"]), impl, impl.adapted, void 0, impl.reason("The active render context replaces Carbon's Tr2Renderer view-position global.")], 18, "GetSortValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMesh"], [[edit, edit.persist, type, type.int32, void 0, type.enum("Tr2TransformModifier")], 16, "modifier"], [[edit, edit.read, type, type.mat4], 16, "localTransform"], [[edit, edit.read, type, type.mat4], 16, "worldTransform"], [[edit, edit.persist, type, type.string], 16, "name"], [[edit, edit.persist, type, type.vec3], 16, "scaling"], [[edit, edit.persist, type, type.quat], 16, "rotation"], [[edit, edit.persist, type, type.vec3], 16, "translation"], [[edit, edit.persist, type, type.float32], 16, "distanceBasedScaleArg1"], [[edit, edit.persist, type, type.float32], 16, "distanceBasedScaleArg2"], [[edit, edit.persist, void 0, type.model("Tr2MeshBase")], 16, "mesh"], [[edit, edit.persist, void 0, type.list("TriCurveSet")], 16, "curveSets"], [[edit, edit.persist, type, type.boolean], 16, "useDistanceBasedScale"], [[edit, edit.persist, type, type.boolean], 16, "display"], [[edit, edit.persist, type, type.boolean], 16, "update"], [[edit, edit.persist, type, type.float32], 16, "sortValueMultiplier"]], 0, void 0, CjsModel));
115
114
  }
116
115
  constructor(...args) {
117
116
  super(...args);