@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":"EveSpaceScene.js","sources":["../../../../../src/trinity/eve/scene/EveSpaceScene.js"],"sourcesContent":["// Source: trinity/trinity/Eve/EveSpaceScene.h\r\n// Source: trinity/trinity/Eve/EveSpaceScene.cpp\r\n//\r\n// Hand-maintained (promoted from src/trinity/generated/eve/scene; the generator skips it\r\n// while this file exists). Fields mirror the generated schema shell; the\r\n// additions are the per-frame update driver ported from Carbon\r\n// EveSpaceScene::Update and the scene-owned EveUpdateContext member (Carbon\r\n// m_updateContext - protected, so absent from the Blue schema scan).\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { EveEntity } from \"../EveEntity.js\";\r\nimport { EveComponentRegistry } from \"./components/EveComponentRegistry.js\";\r\nimport { Tr2PostProcess2 } from \"../../postProcess/Tr2PostProcess2.js\";\r\nimport { Tr2PostProcessAttributes } from \"../../postProcess/Tr2PostProcessAttributes.js\";\r\nimport { EveComponentType } from \"../EveComponentTypes.js\";\r\nimport { EveUpdateContext } from \"../EveUpdateContext.js\";\r\nimport { EveEffectRoot2 } from \"../spaceObject/EveEffectRoot2.js\";\r\nimport { EveCamera } from \"../camera/EveCamera.js\";\r\nimport { CjsPerFrameLayouts } from \"../../core/rawData/CjsPerFrameLayouts.js\";\r\nimport { RawData } from \"../../core/rawData/RawData.js\";\r\nimport { Tr2ShadowMap } from \"../../core/Tr2ShadowMap.js\";\r\nimport { Tr2VolumetricsRenderer } from \"../../core/volumetrics/Tr2VolumetricsRenderer.js\";\r\nimport { convertProjectionCoordToWorldPickRay, screenToProjection } from \"../../core/view/pickRay.js\";\r\nimport { EveVisualizeMethod } from \"../../generated/eve/enums.js\";\r\nimport { ShadowQuality } from \"../../generated/trinityCore/enums.js\";\r\n\r\n\r\n// Module scratch for the per-frame sun-direction read (assume-dirty).\r\nconst sunDirectionScratch = vec3.create();\r\n\r\n// Module scratch for the per-frame constant fills. Two are needed because the\r\n// composed result and one operand are live at the same time; neither survives\r\n// the call that wrote it.\r\nconst perFrameMatrixScratch = mat4.create();\r\nconst perFrameLastProjectionScratch = mat4.create();\r\n\r\nconst ZERO_JITTER = vec4.create();\r\n\r\n// EveSpaceScene.cpp:3196-3199 - the four froxel-fog slice distances, constant\r\n// every frame.\r\nconst VOLUMETRIC_SLICES = Object.freeze([1000, 10000, 100000, 1000000]);\r\n\r\n// Flip y and change the range from (-1, +1) to (0, 1): Carbon's\r\n// `ScalingMatrix(0.5, -0.5, 1) * TranslationMatrix(0.5, 0.5, 0)`\r\n// (EveSpaceScene.cpp:3179), pre-built because it never changes.\r\nconst SHADOW_CLIP_TO_UV = mat4.fromValues(\r\n 0.5, 0, 0, 0,\r\n 0, -0.5, 0, 0,\r\n 0, 0, 1, 0,\r\n 0.5, 0.5, 0, 1\r\n);\r\n\r\n// The scene-root parent transform for the visibility pass (Carbon\r\n// EveSpaceScene.cpp:1441 `const Matrix& identity = IdentityMatrix()`). Module\r\n// const, NEVER mutated - objects in m_objects are scene roots.\r\nconst IDENTITY = mat4.create();\r\n\r\n// ---------------------------------------------------------------------------\r\n// DRIVER-ORDER CONTRACT (per frame) - the CPU visibility/gather drive.\r\n// Carbon runs steps 5-12 inside EveSpaceScene::BeginRender/GatherBatches\r\n// (EveSpaceScene.cpp:1295-1427/1433-1525); CarbonEngineJS splits them into\r\n// scene-owned methods that an engine driver calls in this exact order:\r\n//\r\n// 1. Host stamps `updateContext.renderContext` (view -> derived inverse-view\r\n// + viewPos) and `updateContext.device`.\r\n// 2. Driver derives the frustum:\r\n// `frustum.DeriveFrustum(view, viewPos, projection, viewport)` from that\r\n// same renderContext state (Carbon cpp:476).\r\n// 3. `scene.StampFrameContext({ frustum, thresholds..., lodFactor,\r\n// raytracingEnabled })`.\r\n// 4. `scene.Update(realTime, simTime)` - internally ends with\r\n// `UpdatePostProcessAttributes()` then the sun-direction read (Carbon\r\n// cpp:584 -> 589).\r\n// 5. `scene.BlendLightingOverrides()` - BeginRender phase, before any gather\r\n// (Carbon cpp:1333, before GatherBatches cpp:1387).\r\n// 6. `scene.UpdateFogSettings()` - portable Trinity state production over\r\n// \"FroxelFogSettings\" (cpp:1365-1370). An engine realizes the later render\r\n// intent; it does not own this blend/update method.\r\n// 7. `scene.UpdateVisibility(updateContext.renderContext\r\n// .GetInverseViewTransform())` - the cpp:1443-1467 block.\r\n// 8. `const renderables = scene.GetRenderables([])` - pre-culled\r\n// (cpp:1470-1507 minus impostors).\r\n// 9. `batchManager.Collect(renderables, reason, updateContext.renderContext)`\r\n// - with engine-registered collectors covering Carbon's [QUADS]\r\n// (cpp:1509-1511) and [INSTANCED] (cpp:1516-1520; the instanced collector\r\n// reads \"InstancedMeshProvider\" from `scene.componentRegistry`);\r\n// `Finalize` inside Collect = Carbon FinalizeBatches cpp:1522.\r\n// 10. `scene.GatherLights(lightManager)` - AFTER step 9 (Carbon cpp:1396-1416\r\n// runs after GatherBatches cpp:1387).\r\n// 10b. `scene.UpdateShLighting(objects)` - the LAST thing Carbon's gather does\r\n// (cpp:1524), so every receiver's secondary-lighting coefficients are\r\n// current for the frame being submitted. Skipped entirely when the scene\r\n// carries no shLightingManager.\r\n// 10c. `scene.PopulatePerFramePSData(renderContext, frame, shadowMap)` then\r\n// `scene.PopulatePerFrameVSData(renderContext, frame)` - Carbon's order at\r\n// cpp:1424-1425, PS first, because the pixel fill is what resolves\r\n// m_upscalingAmount that the vertex fill then reads. Runs after GatherLights\r\n// so the blended sun colour is current. The engine binds the two records at\r\n// Tr2Renderer::GetPerFrame{VS,PS}StartRegister; their layouts are published\r\n// on the `/perframe` subpath.\r\n// 11. (driver) `for (const lf of scene.lensflares)\r\n// lf.PrepareRender(frustum)` (cpp:1419-1422). EveLensflare still needs that\r\n// Carbon method ported; its absence is an explicit driver-readiness gap,\r\n// not an optional capability to hide with a guarded call.\r\n// 12. (engine) reads registry collections directly: \"ShadowCaster\" (cascade\r\n// gate cpp:614-621, RT push cpp:1544-1547), \"VolumetricRenderable\",\r\n// \"FroxelFogSettings\", \"MeshMorph\" (engine may call\r\n// `scene.componentRegistry.Clear(\"MeshMorph\")` after bake),\r\n// \"ReflectionRenderable\" (secondary gather cpp:1886-1895).\r\n//\r\n// One-shot registration trigger: after graph build/mutation call\r\n// `scene.ReregisterEntities()` - covers objects + backgroundObjects + planets\r\n// (entity-guarded) + cameraAttachmentParent (cpp:4064-4089, matching what\r\n// OnListModified registers incrementally, cpp:3435-3491). uiObjects are\r\n// intentionally excluded everywhere (cpp:3462 gate) - Carbon never registers\r\n// or culls them.\r\n// ---------------------------------------------------------------------------\r\n\r\n/** Owns and updates an Eve space scene's entities, component registry, lighting, fog, post-process state, culling, and per-frame shader data. */\r\n@type.define({ className: \"EveSpaceScene\", family: \"eve/scene\" })\r\nexport class EveSpaceScene extends CjsModel\r\n{\r\n\r\n /** m_visualizeMethod (EveVisualizeMethod - enum EveVisualizeMethod) [READWRITE, ENUM] */\r\n @io.readwrite\r\n @type.int32\r\n @type.enum(\"EveVisualizeMethod\")\r\n visualizeMethod = 0;\r\n\r\n /** m_envMap1ResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.string\r\n envMap1ResPath = \"\";\r\n\r\n /** m_envMap2ResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.string\r\n envMap2ResPath = \"\";\r\n\r\n /** m_envMap3ResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.string\r\n envMap3ResPath = \"\";\r\n\r\n /** m_lowQualityNebulaResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.string\r\n lowQualityNebulaResPath = \"\";\r\n\r\n /** m_lowQualityNebulaMixResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.string\r\n lowQualityNebulaMixResPath = \"\";\r\n\r\n /** m_envMapResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.string\r\n envMapResPath = \"\";\r\n\r\n /** m_fogColor (Color) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.color\r\n fogColor = vec4.fromValues(0.25, 0.25, 0.25, 1);\r\n\r\n /** m_sunData.DirWorld (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n sunDirection = vec3.fromValues(0, -1, 0);\r\n\r\n /** m_ambientColor (Color) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.color\r\n ambientColor = vec4.fromValues(0.25, 0.25, 0.25, 1);\r\n\r\n /** m_shLightingManager (Tr2ShLightingManagerPtr) [PERSISTONLY] */\r\n @io.persistOnly\r\n @type.model(\"Tr2ShLightingManager\")\r\n shLightingManager = null;\r\n\r\n /** m_combinedPostProcessAttributes (Tr2PostProcessAttributesPtr) [READ] -\r\n * default-constructed like Carbon's ctor CreateInstance (cpp:297); refreshed\r\n * by UpdatePostProcessAttributes' re-export at MEDIUM_PRIORITY (cpp:407). */\r\n @io.read\r\n @type.objectRef(\"Tr2PostProcessAttributes\")\r\n combinedPostProcessAttributes = new Tr2PostProcessAttributes();\r\n\r\n /** m_dataTextureMgr (Tr2DataTextureManagerPtr) [READ] */\r\n @io.read\r\n @type.objectRef(\"Tr2DataTextureManager\")\r\n dataTextureMgr = null;\r\n\r\n /** m_dynamicObjectReflectionEnabled (bool) [READWRITE] */\r\n @io.readwrite\r\n @type.boolean\r\n dynamicObjectReflectionEnabled = true;\r\n\r\n /** m_componentRegistry (EveComponentRegistryPtr) [READ] */\r\n @io.read\r\n @type.objectRef(\"EveComponentRegistry\")\r\n componentRegistry = new EveComponentRegistry();\r\n\r\n /** m_cameraAttachmentParent (EveEffectRoot2Ptr) - protected Carbon scene\r\n * entity, default-constructed like Carbon's ctor CreateInstance (cpp:287, no\r\n * further setup applied). Consumers still optional-chain - deserialization\r\n * may null it. */\r\n @type.model(\"EveEffectRoot2\")\r\n cameraAttachmentParent = new EveEffectRoot2();\r\n\r\n /** m_postProcessDebug (BluePy) - protected Carbon debug payload. */\r\n @type.rawStruct(\"BluePy\")\r\n postProcessDebug = null;\r\n\r\n /** m_curveSets (PTriCurveSetVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"TriCurveSet\")\r\n curveSets = [];\r\n\r\n /** m_defaultDiffuseRoughness (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n defaultDiffuseRoughness = 1;\r\n\r\n /** m_fogStart (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n fogStart = 0;\r\n\r\n /** m_fogEnd (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n fogEnd = 0;\r\n\r\n /** m_reflectionIntensity (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n reflectionIntensity = 1;\r\n\r\n /** m_distanceFields (PEveDistanceFieldVector) [READ] */\r\n @io.read\r\n @type.list(\"EveDistanceField\")\r\n distanceFields = [];\r\n\r\n /** m_backgroundEffect (Tr2EffectPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"Tr2Effect\")\r\n backgroundEffect = null;\r\n\r\n /** m_backgroundReflectionIntensity (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n backgroundReflectionIntensity = 1;\r\n\r\n /** m_nebulaIntensity (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n nebulaIntensity = 1;\r\n\r\n /** m_display (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n /** m_backgroundRenderingEnabled (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n backgroundRenderingEnabled = false;\r\n\r\n /** m_update (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n update = true;\r\n\r\n /** m_impostorManager (Tr2ImpostorManagerPtr) [READWRITE] */\r\n @io.readwrite\r\n @type.objectRef(\"Tr2ImpostorManager\")\r\n impostorManager = null;\r\n\r\n /** m_lensflares (PEveLensflareVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"EveLensflare\")\r\n lensflares = [];\r\n\r\n /** m_externalParameters (PTr2ExternalParameterVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"Tr2ExternalParameter\")\r\n externalParameters = [];\r\n\r\n /** m_fogMax (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n fogMax = 0;\r\n\r\n /** m_staticParticles (PEveSceneStaticParticlesVector) [READ] */\r\n @io.read\r\n @type.list(\"EveSceneStaticParticles\")\r\n staticParticles = [];\r\n\r\n /** m_debugRenderer (Tr2DebugRendererPtr) [READWRITE] */\r\n @io.readwrite\r\n @type.objectRef(\"Tr2DebugRenderer\")\r\n debugRenderer = null;\r\n\r\n /** m_objects (PIEveSpaceObject2Vector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"IEveSpaceObject2\")\r\n objects = [];\r\n\r\n /** m_uiObjects (PIEveSpaceObject2Vector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"IEveSpaceObject2\")\r\n uiObjects = [];\r\n\r\n /** m_backgroundObjects (PIEveSpaceObject2Vector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"IEveSpaceObject2\")\r\n backgroundObjects = [];\r\n\r\n /** m_planets (PEvePlanetVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"EvePlanet\")\r\n planets = [];\r\n\r\n /** m_rtManager (Tr2RaytracingManagerPtr) [READWRITE] */\r\n @io.readwrite\r\n @type.objectRef(\"Tr2RaytracingManager\")\r\n raytracingManager = null;\r\n\r\n /** m_reflectionBackLightingColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n reflectionBackLightingColor = vec4.fromValues(2, 2, 2, 2);\r\n\r\n /** m_reflectionBackLightingContrast (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n reflectionBackLightingContrast = 8;\r\n\r\n /** m_reflectionProbe (Tr2ReflectionProbePtr) [READWRITE, NOTIFY] */\r\n @io.notify\r\n @io.readwrite\r\n @type.objectRef(\"Tr2ReflectionProbe\")\r\n reflectionProbe = null;\r\n\r\n /** m_volumetricsRenderer (Tr2VolumetricsRendererPtr) [READ] */\r\n @io.read\r\n @type.objectRef(\"Tr2VolumetricsRenderer\")\r\n volumetricsRenderer = new Tr2VolumetricsRenderer();\r\n\r\n /** m_starfield (EveStarfieldPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"EveStarfield\")\r\n starfield = null;\r\n\r\n /** m_planetScale (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n planetScale = 1000000;\r\n\r\n /** m_planetCameraScale (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n planetCameraScale = 1000000;\r\n\r\n /** m_sssss (Tr2SSSSSPtr) [READ] */\r\n @io.read\r\n @type.objectRef(\"Tr2SSSSS\")\r\n subSurfaceScattering = null;\r\n\r\n /** m_shadowQuality (ShadowQuality - enum ShadowQuality) [READWRITE, NOTIFY] */\r\n @io.notify\r\n @io.readwrite\r\n @type.int32\r\n @type.enum(\"ShadowQuality\")\r\n shadowQualitySetting = 3;\r\n\r\n /** m_sunColor (Color) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.color\r\n sunDiffuseColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n /** m_sunColorWithDynamicLights (Color) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.color\r\n sunDiffuseColorWithDynamicLights = vec4.fromValues(1, 1, 1, 1);\r\n\r\n /** m_envMapRotation (Quaternion) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.quat\r\n envMapRotation = quat.create();\r\n\r\n /** m_ballpark (IEveBallparkPtr) [READWRITE] */\r\n @io.readwrite\r\n @type.objectRef(\"IEveBallpark\")\r\n ballpark = null;\r\n\r\n /** m_name (BlueSharedString) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n /** m_sunBall (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"ITriVectorFunction\")\r\n sunBall = null;\r\n\r\n /** m_sceneDefaultPostProcess (Tr2PostProcess2Ptr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"Tr2PostProcess2\")\r\n postprocess = null;\r\n\r\n /** m_virtualCameraSystem (EveVirtualCameraSystemPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"EveVirtualCameraSystem\")\r\n virtualCameraSystem = null;\r\n\r\n /** m_warpTunnel (IEveSpaceObject2Ptr) [READWRITE] */\r\n @io.readwrite\r\n @type.objectRef(\"IEveSpaceObject2\")\r\n warpTunnel = null;\r\n\r\n /** m_perFrameDebug (float) [READWRITE] */\r\n @io.readwrite\r\n @type.float32\r\n perFrameDebug = 0;\r\n\r\n /** m_cascadedShadowMap (Tr2ShadowMapPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"Tr2ShadowMap\")\r\n cascadedShadowMap = null;\r\n\r\n /** m_updateTime (Be::Time) [READ] */\r\n @io.read\r\n @type.float64\r\n updateTime = 0;\r\n\r\n /** m_useSunColorWithDynamicLights (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n useSunDiffuseColorWithDynamicLights = false;\r\n\r\n /** m_envMap1 (ITr2TextureProviderPtr) [READ] */\r\n @io.read\r\n @type.objectRef(\"ITr2TextureProvider\")\r\n envMap1 = null;\r\n\r\n /** m_envMap2 (ITr2TextureProviderPtr) [READ] */\r\n @io.read\r\n @type.objectRef(\"ITr2TextureProvider\")\r\n envMap2 = null;\r\n\r\n /** m_envMap3 (ITr2TextureProviderPtr) [READ] */\r\n @io.read\r\n @type.objectRef(\"ITr2TextureProvider\")\r\n envMap3 = null;\r\n\r\n // Carbon m_updateContext (protected, absent from the Blue scan): the scene\r\n // owns ONE frame context, constructed once and re-stamped each Update. The\r\n // host/driver stamps updateContext.renderContext (camera view) + .device per\r\n // pass before calling Update - our explicit replacement for Carbon's\r\n // Tr2Renderer view statics.\r\n updateContext = new EveUpdateContext();\r\n\r\n // Carbon m_sceneDefaultPostProcessAttributes (EveSpaceScene.h:640, ctor\r\n // CreateInstance cpp:296): the scene default's attribute snapshot, refreshed\r\n // by UpdatePostProcessAttributes each frame.\r\n #sceneDefaultPostProcessAttributes = new Tr2PostProcessAttributes();\r\n\r\n // Carbon m_combinedPostProcess (EveSpaceScene.h:636): the merged output\r\n // post-process, lazily constructed on first combine (cpp:367-370).\r\n #combinedPostProcess = null;\r\n\r\n // Carbon m_currentSunColor / m_currentNebulaIntensity /\r\n // m_currentReflectionIntensity (EveSpaceScene.h:492-493/650, protected):\r\n // outputs of the BeginRender lighting-override blend (cpp:1360-1362).\r\n currentSunColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n currentNebulaIntensity = 1;\r\n\r\n currentReflectionIntensity = 1;\r\n\r\n // Carbon m_viewLast / m_projectionLast / m_jitterMatrix\r\n // (EveSpaceScene.h:296-297, protected): the previous frame's camera, which\r\n // the per-frame vertex block hands to the shader for motion vectors.\r\n viewLast = mat4.create();\r\n\r\n projectionLast = mat4.create();\r\n\r\n jitterMatrix = mat4.create();\r\n\r\n // Carbon m_jitter (EveSpaceScene.h:624) - xy: projection offset, zw: pixel\r\n // offset. The per-frame pixel block reports only whether it is non-zero.\r\n jitter = vec4.create();\r\n\r\n // Carbon m_upscalingAmount (EveSpaceScene.h:623, =1 by default at cpp:221).\r\n // Reset by the per-frame pixel fill and raised by an upscaler, if any.\r\n upscalingAmount = 1;\r\n\r\n // Carbon g_eveSpaceSceneDynamicLighting (registered setting\r\n // \"eveSpaceSceneDynamicLighting\", cpp:109-110, default false) - scoped to\r\n // the scene instead of a module global.\r\n dynamicLightingEnabled = false;\r\n\r\n // Carbon g_enablePostProcessDebugging (registered setting\r\n // \"enablePostProcessDebugging\", cpp:118-119, default false) - scoped to the\r\n // scene instead of a module global.\r\n enablePostProcessDebugging = false;\r\n\r\n /**\r\n * Stamps the per-frame frustum/threshold/LOD state onto the scene-owned\r\n * update context (Carbon EveSpaceScene::Update cpp:475-484, identical to the\r\n * already-updated fast path cpp:448-457). Carbon derives the frustum from\r\n * the Tr2Renderer view statics and reads the thresholds from console vars\r\n * divided by m_upscalingAmount (=1 by default, cpp:221); in CarbonEngineJS\r\n * the driver derives the frustum from the same renderContext state it\r\n * stamped and supplies the thresholds explicitly (pre-divided if it ever\r\n * upscales). Defaults are the Carbon console-var defaults (cpp:75-84).\r\n * The raytracing flag is Carbon's `m_shadowQuality == SHADOW_RAYTRACED &&\r\n * m_enableShadows` (cpp:457/484) - the driver computes it; the scene does\r\n * not. Stamps unconditionally: Carbon's same-frame fast path restamps\r\n * regardless of m_update (cpp:444-462); only the cold path skips stamping\r\n * when !m_update (cpp:466 precedes 475) - benign divergence.\r\n * @param {Object} [options]\r\n * @param {Object|null} [options.frustum] - a ready TriFrustum, held by reference\r\n * @param {Number} [options.visibilityThreshold]\r\n * @param {Number} [options.lowDetailThreshold]\r\n * @param {Number} [options.mediumDetailThreshold]\r\n * @param {Number} [options.highDetailThreshold]\r\n * @param {Number} [options.lodFactor]\r\n * @param {Boolean} [options.raytracingEnabled]\r\n */\r\n StampFrameContext({\r\n frustum = null,\r\n visibilityThreshold = 5,\r\n lowDetailThreshold = 100,\r\n mediumDetailThreshold = 400,\r\n highDetailThreshold = 800,\r\n lodFactor = 1,\r\n raytracingEnabled = false\r\n } = {})\r\n {\r\n const context = this.updateContext;\r\n context.SetFrustum(frustum);\r\n context.SetHighDetailThreshold(highDetailThreshold);\r\n context.SetMediumDetailThreshold(mediumDetailThreshold);\r\n context.SetLowDetailThreshold(lowDetailThreshold);\r\n context.SetVisibilityThreshold(visibilityThreshold);\r\n context.SetLodFactor(lodFactor);\r\n context.raytracingEnabled = !!raytracingEnabled;\r\n }\r\n\r\n /**\r\n * Per-frame scene update, ported from Carbon EveSpaceScene::Update: stamps the\r\n * scene-owned frame context (time, origin, data-texture manager), then drives\r\n * every collection in Carbon's order - background objects, warp tunnel,\r\n * starfield, static particles, data textures, distance fields, lensflares,\r\n * virtual camera system, curve sets, then all space/UI objects synchronous\r\n * first and asynchronous second (Carbon parallelizes the async pass on a task\r\n * group; JS runs it sequentially). Then combines the post-process attributes\r\n * (cpp:584) and finally reads the sun direction from the sun ball\r\n * (cpp:589-596).\r\n *\r\n * Adapted - deferred vs Carbon: the recording-frame dedup fast path,\r\n * frustum/threshold/LOD/raytracing stamping (now the driver's job via\r\n * StampFrameContext, called BEFORE Update), planet update (planet\r\n * view-matrix swap unported), and main-thread action flush (N/A).\r\n * @param {Number} realTime\r\n * @param {Number} simTime\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Update(realTime, simTime)\r\n {\r\n if (!this.update)\r\n {\r\n return;\r\n }\r\n\r\n const context = this.updateContext;\r\n context.SetTime(simTime);\r\n context.UpdateOrigin(this.ballpark);\r\n context.dataTextureManager = this.dataTextureMgr;\r\n\r\n for (const object of this.backgroundObjects)\r\n {\r\n object?.UpdateSyncronous(context);\r\n }\r\n for (const object of this.backgroundObjects)\r\n {\r\n object?.UpdateAsyncronous(context);\r\n }\r\n\r\n if (this.warpTunnel)\r\n {\r\n this.warpTunnel.UpdateSyncronous(context);\r\n this.warpTunnel.UpdateAsyncronous(context);\r\n }\r\n\r\n this.starfield?.Update?.(simTime);\r\n\r\n for (const staticParticles of this.staticParticles)\r\n {\r\n staticParticles?.Update(context);\r\n }\r\n\r\n this.dataTextureMgr?.Update(context);\r\n\r\n for (const distanceField of this.distanceFields)\r\n {\r\n distanceField?.Update(context);\r\n }\r\n\r\n for (const lensflare of this.lensflares)\r\n {\r\n lensflare?.Update(realTime, simTime);\r\n }\r\n\r\n this.virtualCameraSystem?.Update(realTime);\r\n\r\n for (const curveSet of this.curveSets)\r\n {\r\n curveSet.Update(realTime, simTime, context.renderContext);\r\n }\r\n\r\n for (const object of this.objects)\r\n {\r\n object?.UpdateSyncronous(context);\r\n }\r\n for (const object of this.uiObjects)\r\n {\r\n object?.UpdateSyncronous(context);\r\n }\r\n\r\n for (const object of this.objects)\r\n {\r\n object?.UpdateAsyncronous(context);\r\n }\r\n for (const object of this.uiObjects)\r\n {\r\n object?.UpdateAsyncronous(context);\r\n }\r\n\r\n // Combine the post-process attributes (Carbon cpp:584, after the async\r\n // pass + ExecuteMainThreadActions cpp:581 and before the sun read).\r\n this.UpdatePostProcessAttributes();\r\n\r\n // Sun direction from the sun ball: the normalized sun position, negated\r\n // (Carbon: m_sunData.DirWorld = -Normalize(sunDirection)).\r\n if (this.sunBall?.Update)\r\n {\r\n this.sunBall.Update(simTime, sunDirectionScratch);\r\n vec3.normalize(sunDirectionScratch, sunDirectionScratch);\r\n vec3.negate(this.sunDirection, sunDirectionScratch);\r\n }\r\n\r\n this.updateTime = simTime;\r\n }\r\n\r\n /** Carbon method PickObject (MAP_METHOD_AND_WRAP_OPTIONAL_ARGS). */\r\n @carbon.method\r\n @impl.notImplemented\r\n PickObject(...args)\r\n {\r\n throw new Error(\"EveSpaceScene.PickObject is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon method PickAsyncObject (MAP_METHOD_AND_WRAP_OPTIONAL_ARGS). */\r\n @carbon.method\r\n @impl.notImplemented\r\n PickAsyncObject(...args)\r\n {\r\n throw new Error(\"EveSpaceScene.PickAsyncObject is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon method PickObjectAndAreaID -> PyPickObjectAndAreaID (MAP_METHOD). */\r\n @carbon.method\r\n @impl.notImplemented\r\n PickObjectAndAreaID(...args)\r\n {\r\n throw new Error(\"EveSpaceScene.PickObjectAndAreaID is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /**\r\n * Carbon EveSpaceScene::PickInfinity (cpp:4039-4050): the world-space\r\n * DIRECTION a screen pixel points along - the pick ray with nothing to hit,\r\n * which is what a click on empty space resolves to. Pure math, no readback.\r\n *\r\n * @param {Number} x - screen x, in pixels\r\n * @param {Number} y - screen y, in pixels\r\n * @param {Float32Array} projection - the projection matrix\r\n * @param {Float32Array} view - the view matrix\r\n * @param {Object} [viewport] - { x, y, width, height }; the frame's render\r\n * context supplies one when this is omitted\r\n * @param {Float32Array} [out] - caller-owned direction\r\n * @returns {Float32Array|null} the normalized world direction, or null when\r\n * either matrix cannot be inverted\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n PickInfinity(x, y, projection, view, viewport = null, out = vec3.create())\r\n {\r\n const resolved = viewport ?? this.updateContext?.renderContext?.GetViewport?.();\r\n const projected = screenToProjection(x, y, resolved);\r\n const ray = convertProjectionCoordToWorldPickRay(projected.x, projected.y, projection, view);\r\n\r\n return ray ? vec3.copy(out, ray.direction) : null;\r\n }\r\n\r\n /**\r\n * The per-frame CPU visibility pass, ported from the [VISIBILITY] block of\r\n * Carbon EveSpaceScene::GatherBatches (EveSpaceScene.cpp:1443-1467; the\r\n * enclosing display gate is BeginRender cpp:1299-1302). Carbon's\r\n * Tr2ParallelDo loops (objects cpp:1445-1447, staticParticles cpp:1454-1456,\r\n * planets cpp:1458-1460) run sequentially in the same order; the lensflare\r\n * loop is sequential in Carbon too (cpp:1462-1466). LOD stamping (lodLevel,\r\n * isVisible, pixel diameters) happens INSIDE each object's UpdateVisibility;\r\n * per-object display gates live there too - the scene does not pre-filter.\r\n * uiObjects are never visited (Carbon never culls them). The camera parent's\r\n * SetTransform is pure decomposition (EveEffectRoot2.cpp:677-680 Decompose)\r\n * - no composition, so no row-vector operand swap here; this per-gather\r\n * Sync/Async pair is the camera parent's ONLY update, so its world transform\r\n * is the camera pose of the frame being gathered (cpp:1449-1452).\r\n * @param {Float32Array} inverseView - the inverse view matrix\r\n * (updateContext.renderContext.GetInverseViewTransform(); Carbon reads the\r\n * Tr2Renderer static at cpp:1449)\r\n */\r\n UpdateVisibility(inverseView)\r\n {\r\n if (!this.display)\r\n {\r\n return;\r\n }\r\n\r\n for (const object of this.objects)\r\n {\r\n object?.UpdateVisibility(this.updateContext, IDENTITY);\r\n }\r\n\r\n this.cameraAttachmentParent?.SetTransform?.(inverseView);\r\n this.cameraAttachmentParent?.UpdateSyncronous(this.updateContext);\r\n this.cameraAttachmentParent?.UpdateAsyncronous(this.updateContext);\r\n this.cameraAttachmentParent?.UpdateVisibility(this.updateContext, IDENTITY);\r\n\r\n for (const staticParticles of this.staticParticles)\r\n {\r\n staticParticles?.UpdateVisibility(this.updateContext);\r\n }\r\n\r\n for (const planet of this.planets)\r\n {\r\n planet?.UpdateZOnlyVisibility?.(this.updateContext);\r\n }\r\n\r\n // Sequential in Carbon too: \"until we have proper support for multiple\r\n // lensflares we just do it in a list\" (cpp:1462-1466).\r\n for (const lensflare of this.lensflares)\r\n {\r\n lensflare?.UpdateVisibility(this.updateContext);\r\n }\r\n }\r\n\r\n /** Gathers batchable renderables from the scene's objects for the batch\r\n * collection pass - the [GATHER] block of Carbon\r\n * EveSpaceScene::GatherBatches (EveSpaceScene.cpp:1470-1507): m_objects in\r\n * list order (cpp:1470-1475), then cameraAttachmentParent pushed LAST\r\n * (cpp:1476), then the staticParticles leg (cpp:1504-1507; Carbon signature\r\n * `GetRenderables(frustum, renderables)`, EveSceneStaticParticles.h - kept\r\n * with the out-parameter last per convention). Objects self-filter on the\r\n * visibility flags stamped by UpdateVisibility, so the array handed to\r\n * CjsBatchManager.Collect is pre-culled and this aggregation stays GPU-free.\r\n * The impostor-manager argument (cpp:1478-1502) is dropped - engine-owned.\r\n * Gather order matters downstream: the opaque accumulator receives batches\r\n * in gather order before Finalize sorts. */\r\n GetRenderables(out = [])\r\n {\r\n if (!this.display)\r\n {\r\n return out;\r\n }\r\n\r\n for (const object of this.objects) object?.GetRenderables(out);\r\n this.cameraAttachmentParent?.GetRenderables(out);\r\n for (const staticParticles of this.staticParticles)\r\n {\r\n staticParticles?.GetRenderables(this.updateContext.GetFrustum(), out);\r\n }\r\n return out;\r\n }\r\n\r\n /**\r\n * Refreshes the scene default's attribute snapshot, gathers every registered\r\n * PostProcessOwner's attributes, priority-blends them into the combined\r\n * post-process, copies the six engine effects through from the scene\r\n * default, and re-exports the result (Carbon\r\n * EveSpaceScene::UpdatePostProcessAttributes, EveSpaceScene.cpp:346-413).\r\n * Sort is descending by priority (cpp:372-377); Carbon's std::sort is\r\n * unstable while JS sort is stable - equal-priority ties keep registry\r\n * insertion order, which is blend-order-independent for every Sum-accumulated\r\n * attribute (the whole tie group is normalized together); only MaxWeight\r\n * ties at exactly equal weight (string paths / bools / DoF shape) could\r\n * differ from C++.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's g_enablePostProcessDebugging global becomes the scene-scoped enablePostProcessDebugging field; the debug payload is a plain object, null when off.\")\r\n UpdatePostProcessAttributes()\r\n {\r\n if (!this.display)\r\n {\r\n return;\r\n }\r\n\r\n // Scene default refreshed BEFORE the gather (cpp:354); FromPostProcess\r\n // handles a null postprocess (reset + return).\r\n this.#sceneDefaultPostProcessAttributes.FromPostProcess(\r\n this.postprocess, Tr2PostProcessAttributes.SCENE_DEFAULT_PRIORITY, 1.0);\r\n\r\n const sources = [];\r\n for (const owner of this.componentRegistry?.GetComponents(EveComponentType.PostProcessOwner) ?? [])\r\n {\r\n // Carbon pushes unguarded (cpp:358-361); JS ducks may return null.\r\n const attributes = owner?.GetPostProcessAttributes?.();\r\n if (attributes)\r\n {\r\n sources.push(attributes);\r\n }\r\n }\r\n\r\n // Scene default appended LAST (cpp:363).\r\n sources.push(this.#sceneDefaultPostProcessAttributes);\r\n\r\n // The list is never empty (default always pushed) so Carbon's else-branch\r\n // (cpp:411) is unreachable; the guard is kept for shape fidelity.\r\n if (sources.length)\r\n {\r\n this.#combinedPostProcess ??= new Tr2PostProcess2();\r\n\r\n sources.sort((a, b) => b.priority - a.priority);\r\n\r\n if (this.enablePostProcessDebugging)\r\n {\r\n const observer = Tr2PostProcessAttributes.CreateDebugObserver();\r\n Tr2PostProcessAttributes.MergeInto(this.#combinedPostProcess, sources, observer);\r\n this.postProcessDebug = observer.GetDict();\r\n }\r\n else\r\n {\r\n Tr2PostProcessAttributes.MergeInto(this.#combinedPostProcess, sources);\r\n this.postProcessDebug = null;\r\n }\r\n\r\n // Engine-effect copy-through from the scene default only - NOT blended\r\n // (cpp:389-406).\r\n if (this.postprocess)\r\n {\r\n this.#combinedPostProcess.SetDynamicExposure(this.postprocess.GetDynamicExposureIfAvailable?.() ?? null);\r\n this.#combinedPostProcess.SetTaa(this.postprocess.GetTaaIfAvailable?.() ?? null);\r\n this.#combinedPostProcess.SetTonemapping(this.postprocess.GetTonemappingIfAvailable?.() ?? null);\r\n this.#combinedPostProcess.SetFog(this.postprocess.GetFogIfAvailable?.() ?? null);\r\n this.#combinedPostProcess.SetGodRays(this.postprocess.GetGodRaysIfAvailable?.() ?? null);\r\n this.#combinedPostProcess.SetGenericEffect(this.postprocess.GetGenericEffectIfAvailable?.() ?? null);\r\n }\r\n else\r\n {\r\n this.#combinedPostProcess.SetDynamicExposure(null);\r\n this.#combinedPostProcess.SetTaa(null);\r\n this.#combinedPostProcess.SetTonemapping(null);\r\n this.#combinedPostProcess.SetFog(null);\r\n this.#combinedPostProcess.SetGodRays(null);\r\n this.#combinedPostProcess.SetGenericEffect(null);\r\n }\r\n\r\n // Re-export the combined result as an attributes object at\r\n // MEDIUM_PRIORITY - consumed by nested-scene composition (cpp:407).\r\n (this.combinedPostProcessAttributes ??= new Tr2PostProcessAttributes())\r\n .FromPostProcess(this.#combinedPostProcess, Tr2PostProcessAttributes.MEDIUM_PRIORITY, 1.0);\r\n }\r\n else\r\n {\r\n this.#combinedPostProcess = null;\r\n }\r\n }\r\n\r\n /** Carbon method GetPostProcess (EveSpaceScene.cpp:420-427): the combined\r\n * post-process, or null while the scene is not displayed. */\r\n @carbon.method\r\n @impl.implemented\r\n GetPostProcess()\r\n {\r\n if (!this.display)\r\n {\r\n return null;\r\n }\r\n return this.#combinedPostProcess;\r\n }\r\n\r\n /**\r\n * Blends every registered EveLightingOverride against the scene baseline and\r\n * stamps currentSunColor / currentNebulaIntensity /\r\n * currentReflectionIntensity - the lighting-override block of Carbon\r\n * EveSpaceScene::BeginRender (EveSpaceScene.cpp:1333-1363). The baseline is\r\n * appended AFTER the sort at raw priority -1 - one below\r\n * SCENE_DEFAULT_PRIORITY=0, outside the legal enum range (Carbon casts -1,\r\n * cpp:1343) - so it always sits last. Scalar/color math only - no matrix\r\n * compositions, no row-vector swaps anywhere in this method. Same\r\n * stable-sort note as UpdatePostProcessAttributes - here fully benign, the\r\n * blend is symmetric within a tie group.\r\n */\r\n BlendLightingOverrides()\r\n {\r\n if (!this.display)\r\n {\r\n return;\r\n }\r\n\r\n const overrides = [];\r\n for (const component of this.componentRegistry?.GetComponents(EveComponentType.EveLightingOverride) ?? [])\r\n {\r\n overrides.push(component.GetOverrides());\r\n }\r\n overrides.sort((a, b) => b.priority - a.priority);\r\n\r\n // Baseline (cpp:1342-1357): the scene's own sun/nebula/reflection state,\r\n // sun color normalized by its max channel (all four components scaled).\r\n const sunColorSource = this.useSunDiffuseColorWithDynamicLights && this.dynamicLightingEnabled\r\n ? this.sunDiffuseColorWithDynamicLights\r\n : this.sunDiffuseColor;\r\n const sunIntensity = Math.max(sunColorSource[0], sunColorSource[1], sunColorSource[2]);\r\n const baselineSunColor = vec4.create();\r\n if (sunIntensity !== 0)\r\n {\r\n vec4.scale(baselineSunColor, sunColorSource, 1 / sunIntensity);\r\n }\r\n else\r\n {\r\n vec4.copy(baselineSunColor, sunColorSource);\r\n }\r\n overrides.push({\r\n priority: -1,\r\n intensity: 1,\r\n value: {\r\n sunColor: baselineSunColor,\r\n sunIntensity,\r\n backgroundIntensity: this.nebulaIntensity,\r\n reflectionIntensity: this.reflectionIntensity\r\n }\r\n });\r\n\r\n const over = EveSpaceScene.#SimplePriorityBlend(overrides);\r\n vec4.scale(this.currentSunColor, over.sunColor, over.sunIntensity);\r\n this.currentNebulaIntensity = over.backgroundIntensity;\r\n this.currentReflectionIntensity = over.reflectionIntensity;\r\n }\r\n\r\n /**\r\n * Runs Carbon's portable froxel-fog blend against the scene-owned registry\r\n * and update context. The frame driver calls this immediately after lighting\r\n * overrides and before visibility/gather.\r\n */\r\n @impl.custom\r\n @impl.reason(\"Carbon performs this inside BeginRender; CarbonEngineJS exposes the scene-owned CPU phase because the engine driver owns the surrounding frame order.\")\r\n UpdateFogSettings()\r\n {\r\n this.volumetricsRenderer.UpdateFogSettings(this.componentRegistry, this.updateContext);\r\n }\r\n\r\n /**\r\n * Drives the injected light manager through Carbon's dynamic-light gather\r\n * (EveSpaceScene::BeginRender, EveSpaceScene.cpp:1396-1416, AFTER\r\n * GatherBatches cpp:1387): shadow quality, clear (runs even with zero owners\r\n * - stale lights must drop), frustum, LOD cutoff, then every registered\r\n * LightOwner's GetLights (Carbon Tr2ParallelFor chunk-20 cpp:1405-1413; JS\r\n * sequential in collection order), then ResolveLightData. No JS\r\n * Tr2LightManager class exists - the manager is a duck and every manager\r\n * call is optional-chained so a partial duck still gets the owner loop.\r\n * Carbon runs the block only when a manager instance exists (dynamic\r\n * lighting on) - a null manager is a no-op. The recording frame number\r\n * Carbon passes to SetShadowQuality and the renderContext it passes to Clear\r\n * are engine recording state - the JS Clear receives the frame's\r\n * renderContext for ducks that want it.\r\n * @param {Object|null} lightManager\r\n */\r\n GatherLights(lightManager)\r\n {\r\n if (!lightManager || !this.display)\r\n {\r\n return;\r\n }\r\n\r\n lightManager.SetShadowQuality(this.shadowQualitySetting);\r\n lightManager.Clear(this.updateContext.renderContext);\r\n lightManager.SetFrustum(this.updateContext.GetFrustum());\r\n lightManager.AdjustLightCutoff(this.updateContext.GetLodFactor());\r\n\r\n for (const owner of this.componentRegistry?.GetComponents(EveComponentType.LightOwner) ?? [])\r\n {\r\n owner?.GetLights?.(lightManager);\r\n }\r\n\r\n lightManager.ResolveLightData();\r\n }\r\n\r\n /**\r\n * Carbon EveSpaceScene::UpdateShLighting (cpp:1685-1703): hands every\r\n * secondary-lighting receiver the scene's SH manager, so each one samples the\r\n * bounce light at its own position. A scene with no manager does nothing, as\r\n * Carbon does.\r\n *\r\n * Carbon runs this at the very END of the gather (cpp:1524, after\r\n * FinalizeBatches), and over a parallel range; the JS pass is sequential\r\n * because the receivers write only their own records and share no state.\r\n *\r\n * @param {Array} objects - the frame's visible objects\r\n * @returns {Number} how many receivers were updated\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's Tr2ParallelFor becomes a sequential pass; the receivers touch only their own per-object records.\")\r\n UpdateShLighting(objects = [])\r\n {\r\n if (!this.shLightingManager)\r\n {\r\n return 0;\r\n }\r\n\r\n let updated = 0;\r\n\r\n for (const object of objects)\r\n {\r\n if (typeof object?.UpdateShLighting !== \"function\")\r\n {\r\n continue;\r\n }\r\n object.UpdateShLighting(this.shLightingManager, this.updateContext);\r\n updated++;\r\n }\r\n\r\n return updated;\r\n }\r\n\r\n /**\r\n * The scene's own per-frame vertex record (Carbon m_perFrameVS,\r\n * EveSpaceScene.h:300). Persistent, not arena-leased: it is rewritten each\r\n * frame and bound once, and the PS fill reads m_upscalingAmount back out of\r\n * the same pass.\r\n */\r\n #perFrameVS = RawData.create(\"EveSpaceScenePerFrameVSData\");\r\n\r\n /** Carbon m_perFramePS (EveSpaceScene.h:240). */\r\n #perFramePS = RawData.create(\"EveSpaceScenePerFramePSData\");\r\n\r\n /** The record PopulatePerFrameVSData fills. */\r\n GetPerFrameVSData()\r\n {\r\n return this.#perFrameVS;\r\n }\r\n\r\n /** The record PopulatePerFramePSData fills. */\r\n GetPerFramePSData()\r\n {\r\n return this.#perFramePS;\r\n }\r\n\r\n /**\r\n * Fills the per-frame VERTEX constants (Carbon\r\n * EveSpaceScene::PopulatePerFrameVSData, cpp:3015-3068).\r\n *\r\n * Adapted in one respect, the same way StampFrameContext is: Carbon reads\r\n * the camera off `Tr2Renderer` statics and the render-target/viewport sizes\r\n * off `renderContext.m_esm`, neither of which exists GPU-free here. The\r\n * driver passes them in `frame` instead. Everything the scene itself owns -\r\n * sun, fog, env-map rotation, the previous frame's view/projection - is read\r\n * from the scene, as Carbon does.\r\n *\r\n * Matrices are stored TRANSPOSED because the shaders are column_major, with\r\n * one deliberate exception Carbon calls out at cpp:3023: the value wanted for\r\n * `ViewInverseTransposeMat` is already a transpose, so transposing it again\r\n * cancels and the inverse view goes in as-is.\r\n *\r\n * @param {Object} renderContext - the frame's Tr2RenderContext\r\n * @param {Object} [frame] - the engine-supplied state Carbon reads statically\r\n * @param {Number} [frame.renderTargetWidth]\r\n * @param {Number} [frame.renderTargetHeight]\r\n * @param {Number} [frame.aspectRatio]\r\n * @param {Number} [frame.animationTime] - Tr2Renderer::GetAnimationTime\r\n * @param {Object|null} [frame.deviceViewport] - {width, height}\r\n * @param {Object|null} [frame.projectionTransform] - the NON reversed-depth\r\n * projection, which Carbon uses only to recover the field of view\r\n * @param {Object} [out] - the record to fill; defaults to the scene's own\r\n * @returns {Object} the filled record\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2Renderer view statics and the ESM's render-target/viewport sizes are engine state; the driver supplies them in `frame`.\")\r\n PopulatePerFrameVSData(renderContext, frame = {}, out = this.#perFrameVS)\r\n {\r\n const view = renderContext.GetViewTransform();\r\n const projection = renderContext.GetProjection();\r\n\r\n // column_major for shaders\r\n out.SetAndTranspose(\"ViewMat\", view);\r\n out.SetAndTranspose(\"ProjectionMat\", projection);\r\n\r\n // Carbon `view * proj` (row-vector); gl-matrix swaps the operands.\r\n mat4.multiply(perFrameMatrixScratch, projection, view);\r\n out.SetAndTranspose(\"ViewProjectionMat\", perFrameMatrixScratch);\r\n\r\n // Needs the transposed, but the shader also wants column_major, so it is\r\n // transpose(transpose(m)) == m (cpp:3023-3024).\r\n mat4.transpose(perFrameMatrixScratch, renderContext.GetInverseViewTransform());\r\n out.SetAndTranspose(\"ViewInverseTransposeMat\", perFrameMatrixScratch);\r\n\r\n // Carbon `m_projectionLast * m_jitterMatrix` then `m_viewLast * that`.\r\n mat4.multiply(perFrameLastProjectionScratch, this.jitterMatrix, this.projectionLast);\r\n out.SetAndTranspose(\"ProjLast\", perFrameLastProjectionScratch);\r\n out.SetAndTranspose(\"ViewLast\", this.viewLast);\r\n mat4.multiply(perFrameMatrixScratch, perFrameLastProjectionScratch, this.viewLast);\r\n out.SetAndTranspose(\"ViewProjectionLast\", perFrameMatrixScratch);\r\n\r\n // Each scene has a nebula, and that can be rotated and inverted by scaling.\r\n mat4.fromQuat(perFrameMatrixScratch, this.envMapRotation);\r\n out.SetAndTranspose(\"EnvMapRotationMat\", perFrameMatrixScratch);\r\n\r\n this.#FillSunData(out);\r\n\r\n out.Set(\"TargetResolution\", [\r\n frame.renderTargetWidth ?? 0,\r\n frame.renderTargetHeight ?? 0\r\n ]);\r\n\r\n this.#FillFovXY(out, frame);\r\n\r\n // Guarded so a zero-width fog band cannot divide by zero (cpp:3049-3054).\r\n let distance = this.fogEnd - this.fogStart;\r\n if (Math.abs(distance) < 1e-5)\r\n {\r\n distance = 1e-5;\r\n }\r\n out.Set(\"FogFactors\", [ this.fogEnd / distance, 1 / distance, this.fogMax ]);\r\n\r\n // Derived from SetupViewport in Tr2Renderer.cpp (cpp:3056-3062).\r\n const viewport = renderContext.GetViewport();\r\n const device = frame.deviceViewport ?? viewport;\r\n\r\n if (viewport && device)\r\n {\r\n out.Set(\"ViewportAdjustment\", [\r\n viewport.x < 0 ? -1 : 1,\r\n viewport.y + viewport.height > (frame.renderTargetHeight ?? 0) ? -1 : 1,\r\n device.width / viewport.width,\r\n device.height / viewport.height\r\n ]);\r\n }\r\n\r\n out.Set(\"Time\", frame.animationTime ?? 0);\r\n out.Set(\"Upscaling\", this.upscalingAmount);\r\n out.Set(\"ViewportSize\", device ? [ device.width, device.height ] : [ 0, 0 ]);\r\n\r\n return out;\r\n }\r\n\r\n /**\r\n * Fills the per-frame PIXEL constants (Carbon\r\n * EveSpaceScene::PopulatePerFramePSData, cpp:3075-3202). Same `frame`\r\n * adaptation as the vertex fill.\r\n *\r\n * The cascaded-shadow block (ShadowMapValues / CascadeRanges /\r\n * ShadowMatrixVal / SplitInfo) is filled only when a shadow map is passed,\r\n * exactly as Carbon's `if( shadowMap )` gate does; without one the record\r\n * leaves the persistent cascade bytes untouched. `ShadowCameraRange` remains\r\n * disabled, so stale cascade bytes are not consumed until a map is supplied\r\n * again.\r\n *\r\n * @param {Object} renderContext - the frame's Tr2RenderContext\r\n * @param {Object} [frame] - as PopulatePerFrameVSData, plus:\r\n * @param {Number} [frame.frameIndex] - Tr2Renderer::GetCurrentFrameCounter\r\n * @param {Number} [frame.gammaBrightness]\r\n * @param {Number} [frame.sceneMipLodBias] - the upscaler's bias, plus the\r\n * scene post-process's own; the upscaling info is engine state\r\n * @param {Number} [frame.inverseShadowMapAtlasSize] - 0 with no light manager\r\n * @param {Number} [frame.shadowMapAtlasEntryMinSizeLog2]\r\n * @param {Tr2ShadowMap|null} [shadowMap=this.cascadedShadowMap] - the owned\r\n * cascaded shadow map; explicit null disables cascade packing\r\n * @param {Object} [out] - the record to fill; defaults to the scene's own\r\n * @returns {Object} the filled record\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2Renderer statics, the ESM viewport, Tr2LightManager's atlas settings and the upscaler's mip bias are engine state; the driver supplies them in `frame`.\")\r\n PopulatePerFramePSData(renderContext, frame = {}, shadowMap = this.cascadedShadowMap, out = this.#perFramePS)\r\n {\r\n if (shadowMap !== null && !(shadowMap instanceof Tr2ShadowMap))\r\n {\r\n throw new TypeError(\"EveSpaceScene.PopulatePerFramePSData requires a Tr2ShadowMap or null.\");\r\n }\r\n const projection = renderContext.GetProjection();\r\n\r\n out.SetAndTranspose(\"ViewMat\", renderContext.GetViewTransform());\r\n\r\n // transpose(transpose(m)) == m, as in the vertex fill (cpp:3079-3080).\r\n mat4.transpose(perFrameMatrixScratch, renderContext.GetInverseViewTransform());\r\n out.SetAndTranspose(\"ViewInverseTransposeMat\", perFrameMatrixScratch);\r\n\r\n mat4.fromQuat(perFrameMatrixScratch, this.envMapRotation);\r\n out.SetAndTranspose(\"EnvMapRotationMat\", perFrameMatrixScratch);\r\n\r\n this.#FillSunData(out);\r\n\r\n // The pixel fill alone overrides the sun's alpha with the roughness\r\n // (cpp:3087) - the vertex fill leaves the blended colour's own alpha.\r\n out.Set(\"Sun.DiffuseColor\", [\r\n this.currentSunColor[0],\r\n this.currentSunColor[1],\r\n this.currentSunColor[2],\r\n this.defaultDiffuseRoughness\r\n ]);\r\n\r\n out.Set(\"AmbientColor\", [ this.ambientColor[0], this.ambientColor[1], this.ambientColor[2] ]);\r\n out.Set(\"ReflectionIntensity\", this.currentReflectionIntensity);\r\n out.Set(\"FogColor\", [ this.fogColor[0], this.fogColor[1], this.fogColor[2], this.fogMax ]);\r\n\r\n out.Set(\"GammaBrightness\", frame.gammaBrightness ?? 0);\r\n\r\n out.Set(\"TargetResolution\", [\r\n frame.renderTargetWidth ?? 0,\r\n frame.renderTargetHeight ?? 0\r\n ]);\r\n\r\n this.#FillFovXY(out, frame);\r\n\r\n // Shadows are disabled by default (cpp:3107).\r\n out.Set(\"ShadowCameraRange\", [ 1, 0 ]);\r\n\r\n const viewport = renderContext.GetViewport();\r\n const device = frame.deviceViewport ?? viewport;\r\n\r\n out.Set(\"ViewportOffset\", viewport ? [ viewport.x, viewport.y ] : [ 0, 0 ]);\r\n out.Set(\"ViewportSize\", device ? [ device.width, device.height ] : [ 0, 0 ]);\r\n\r\n out.Set(\"Time\", frame.animationTime ?? 0);\r\n\r\n out.Set(\"FrameIndex\", frame.frameIndex ?? 0);\r\n out.Set(\"Jittering\", vec4.exactEquals(this.jitter, ZERO_JITTER) ? 0 : 1);\r\n\r\n // Carbon stores 1 << m_shadowQuality, not the enum value.\r\n out.Set(\"ShadowQuality\", 1 << this.shadowQualitySetting);\r\n\r\n out.Set(\"InverseShadowMapAtlasSize\", frame.inverseShadowMapAtlasSize ?? 0);\r\n out.Set(\"ShadowMapAtlasEntryMinSizeLog2\", frame.shadowMapAtlasEntryMinSizeLog2 ?? 0);\r\n\r\n out.Set(\"ShadowMapSettings\", [ 1, 1, 0, 0 ]);\r\n out.Set(\"ShadowLightness\", 0);\r\n out.Set(\"DepthMapSampleCount\", 1); // legacy\r\n\r\n // The reversed-depth projection's _43/_33, which the shader uses to turn a\r\n // depth sample back into a view-space distance (cpp:3140-3142).\r\n out.Set(\"ProjectionToView\", [ projection[14], projection[10] ]);\r\n\r\n // Carbon resets m_upscalingAmount here and lets the upscaler raise it; with\r\n // no upscaler the scene stays at 1 and only the post-process bias applies.\r\n this.upscalingAmount = frame.upscalingAmount ?? 1;\r\n out.Set(\"Upscaling\", this.upscalingAmount);\r\n out.Set(\"SceneMipLodBias\", frame.sceneMipLodBias ?? 0);\r\n\r\n if (shadowMap)\r\n {\r\n this.#FillShadowCascades(out, shadowMap, renderContext);\r\n }\r\n\r\n // Carbon writes Inverse(Transpose(P)). RawData supplies that terminal\r\n // transpose, so derive only the logical inverse here.\r\n mat4.invert(perFrameMatrixScratch, projection);\r\n out.SetAndTranspose(\"ProjectionInverseMat\", perFrameMatrixScratch);\r\n\r\n out.Set(\"Debug\", this.perFrameDebug);\r\n\r\n out.Set(\"VolumetricSlices\", VOLUMETRIC_SLICES);\r\n\r\n this.volumetricsRenderer.PopulatePerFrameData(out);\r\n\r\n return out;\r\n }\r\n\r\n /**\r\n * The SunData block both fills share (cpp:3035-3039 / 3085-3089). The\r\n * direction is normalized AND negated: shaders work with the direction TO\r\n * the light, not the direction it travels.\r\n */\r\n #FillSunData(out)\r\n {\r\n vec3.normalize(sunDirectionScratch, this.sunDirection);\r\n out.Set(\"Sun.DirWorld\", [\r\n -sunDirectionScratch[0],\r\n -sunDirectionScratch[1],\r\n -sunDirectionScratch[2]\r\n ]);\r\n out.Set(\"Sun.DiffuseColor\", this.currentSunColor);\r\n }\r\n\r\n /**\r\n * FOV both ways - width in x, height in y (cpp:3046-3047 / 3103-3104).\r\n * Carbon recovers it from the NON reversed-depth projection, so a driver\r\n * that reverses depth must pass the original in `frame.projectionTransform`.\r\n */\r\n #FillFovXY(out, frame)\r\n {\r\n const source = frame.projectionTransform;\r\n const fovY = source ? EveCamera.CalculateFovFromProjection(source) : 0;\r\n\r\n out.Set(\"FovXY\", [ fovY * (frame.aspectRatio ?? 1), fovY ]);\r\n }\r\n\r\n /**\r\n * The cascaded-shadow block (cpp:3163-3190). Each cascade's shadow matrix is\r\n * rebased into the current view, flipped in y, remapped from (-1,+1) to\r\n * (0,1), then scaled and offset into its cell of the 8x2 atlas.\r\n */\r\n #FillShadowCascades(out, shadowMap, renderContext)\r\n {\r\n const split = shadowMap.GetPerSplitData();\r\n\r\n for (let index = 0; index < 4; index++)\r\n {\r\n out.SetIndex(\"ShadowMapValues\", index, split.ShadowMapValues[index]);\r\n }\r\n\r\n for (let index = 0; index < 16; index++)\r\n {\r\n out.SetIndex(\"CascadeRanges\", index, split.CascadeRanges[index]);\r\n }\r\n\r\n const inverseView = renderContext.GetInverseViewTransform();\r\n const cellsX = 8;\r\n const cellsY = 2;\r\n\r\n for (let index = 0; index < CjsPerFrameLayouts.SHADOW_FRUSTUM_COUNT; index++)\r\n {\r\n const stored = split.ShadowMatrixVal[index];\r\n\r\n // Carbon stores Transpose(LVP), then computes inverseView * LVP. The JS\r\n // producer keeps logical LVP, so gl-matrix reverses only that product.\r\n mat4.multiply(perFrameMatrixScratch, stored, inverseView);\r\n\r\n // Flip y and change the range from (-1, +1) to (0, 1).\r\n mat4.multiply(perFrameMatrixScratch, SHADOW_CLIP_TO_UV, perFrameMatrixScratch);\r\n\r\n // Then into this cascade's cell of the 8x2 atlas.\r\n mat4.identity(perFrameLastProjectionScratch);\r\n mat4.translate(perFrameLastProjectionScratch, perFrameLastProjectionScratch, [\r\n (index % cellsX) / cellsX,\r\n Math.floor(index / cellsX) / cellsY,\r\n 0\r\n ]);\r\n mat4.scale(perFrameLastProjectionScratch, perFrameLastProjectionScratch, [\r\n 1 / cellsX,\r\n 1 / cellsY,\r\n 1\r\n ]);\r\n mat4.multiply(perFrameMatrixScratch, perFrameLastProjectionScratch, perFrameMatrixScratch);\r\n\r\n out.SetAndTransposeIndex(\"ShadowMatrixVal\", index, perFrameMatrixScratch);\r\n }\r\n\r\n out.Set(\"SplitInfo\", split.SplitInfo);\r\n }\r\n\r\n /** Carbon method ReregisterEntities (MAP_METHOD_AND_WRAP, cpp:4064-4089).\r\n * Guarded no-op after ClearComponentRegistry has nulled the registry\r\n * (destroy-only path; Carbon would never call this afterwards). */\r\n @carbon.method\r\n @impl.implemented\r\n ReregisterEntities()\r\n {\r\n if (!this.componentRegistry)\r\n {\r\n return;\r\n }\r\n\r\n for (const collection of [this.objects, this.backgroundObjects, this.planets])\r\n {\r\n for (const object of collection)\r\n {\r\n if (object instanceof EveEntity)\r\n {\r\n this.componentRegistry.ReRegister(object);\r\n }\r\n }\r\n }\r\n if (this.cameraAttachmentParent instanceof EveEntity)\r\n {\r\n this.componentRegistry.ReRegister(this.cameraAttachmentParent);\r\n }\r\n }\r\n\r\n /** Carbon method ClearComponentRegistry (EveSpaceScene.cpp:4091-4099, called\r\n * from the destructor cpp:322). Entity component-state is deliberately NOT\r\n * cleared beyond what Clear() does - either the scene is being destroyed\r\n * (entities go too) or entities move to another scene and re-register there.\r\n * The JS registry Clear() additionally detaches entity.registry when it\r\n * points at this registry - strictly more hygienic than Carbon; kept. */\r\n @carbon.method\r\n @impl.implemented\r\n ClearComponentRegistry()\r\n {\r\n this.componentRegistry?.Clear();\r\n this.componentRegistry = null;\r\n }\r\n\r\n /** Carbon method GetPostProcessDebug (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n GetPostProcessDebug()\r\n {\r\n return this.postProcessDebug;\r\n }\r\n\r\n /** Carbon method UpdateScene -> UpdateSceneFromScript (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateScene(time)\r\n {\r\n return this.Update(time, time);\r\n }\r\n\r\n static EveVisualizeMethod = EveVisualizeMethod;\r\n\r\n static ShadowQuality = ShadowQuality;\r\n\r\n /**\r\n * Carbon SimplePriorityBlend (PriorityBlend.h:371-413) specialized to the\r\n * IEveLightingOverride::Overrides value type\r\n * { sunColor: vec4, sunIntensity, backgroundIntensity, reflectionIntensity }\r\n * (EveChildLightingOverride.h:15-32) - `+` and `* weight` componentwise.\r\n * Walks the (already priority-desc-sorted) list in equal-priority groups:\r\n * factor = (1 / max(groupTotal, 1)) * remainingWeight\r\n * then subtracts the UNCLAMPED group total from remainingWeight. Two quirks\r\n * preserved exactly: (a) a group with total intensity 0.3 contributes at\r\n * weight 0.3*remaining and leaves 0.7 for lower priorities; (b) a group with\r\n * total 2 is normalized to consume exactly remainingWeight and terminates\r\n * (remaining goes to -1).\r\n * @param {Array} sources - [{ priority, intensity, value }] sorted high->low\r\n * @returns {{ sunColor: Float32Array, sunIntensity: Number,\r\n * backgroundIntensity: Number, reflectionIntensity: Number }}\r\n */\r\n static #SimplePriorityBlend(sources)\r\n {\r\n const result = {\r\n sunColor: vec4.create(),\r\n sunIntensity: 0,\r\n backgroundIntensity: 0,\r\n reflectionIntensity: 0\r\n };\r\n let remainingWeight = 1;\r\n\r\n for (let first = 0; first < sources.length;)\r\n {\r\n // The range of sources sharing the current priority.\r\n let last = first + 1;\r\n while (last < sources.length && sources[last].priority === sources[first].priority)\r\n {\r\n last++;\r\n }\r\n\r\n let totalPriorityIntensity = 0;\r\n for (let index = first; index < last; index++)\r\n {\r\n totalPriorityIntensity += sources[index].intensity;\r\n }\r\n if (totalPriorityIntensity === 0)\r\n {\r\n first = last;\r\n continue;\r\n }\r\n\r\n const normalizationFactor = 1 / Math.max(totalPriorityIntensity, 1) * remainingWeight;\r\n\r\n for (let index = first; index < last; index++)\r\n {\r\n const weight = sources[index].intensity * normalizationFactor;\r\n const value = sources[index].value;\r\n vec4.scaleAndAdd(result.sunColor, result.sunColor, value.sunColor, weight);\r\n result.sunIntensity += value.sunIntensity * weight;\r\n result.backgroundIntensity += value.backgroundIntensity * weight;\r\n result.reflectionIntensity += value.reflectionIntensity * weight;\r\n }\r\n\r\n // Subtracts the UNCLAMPED total (PriorityBlend.h:405).\r\n remainingWeight -= totalPriorityIntensity;\r\n first = last;\r\n if (remainingWeight <= 0)\r\n {\r\n break;\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n}\r\n"],"names":["sunDirectionScratch","vec3","create","perFrameMatrixScratch","mat4","perFrameLastProjectionScratch","ZERO_JITTER","vec4","VOLUMETRIC_SLICES","Object","freeze","SHADOW_CLIP_TO_UV","fromValues","IDENTITY","_EveSpaceScene","_identity","EveSpaceScene","CjsModel","e","_init_visualizeMethod","_init_extra_visualizeMethod","_init_envMap1ResPath","_init_extra_envMap1ResPath","_init_envMap2ResPath","_init_extra_envMap2ResPath","_init_envMap3ResPath","_init_extra_envMap3ResPath","_init_lowQualityNebulaResPath","_init_extra_lowQualityNebulaResPath","_init_lowQualityNebulaMixResPath","_init_extra_lowQualityNebulaMixResPath","_init_envMapResPath","_init_extra_envMapResPath","_init_fogColor","_init_extra_fogColor","_init_sunDirection","_init_extra_sunDirection","_init_ambientColor","_init_extra_ambientColor","_init_shLightingManager","_init_extra_shLightingManager","_init_combinedPostProcessAttributes","_init_extra_combinedPostProcessAttributes","_init_dataTextureMgr","_init_extra_dataTextureMgr","_init_dynamicObjectReflectionEnabled","_init_extra_dynamicObjectReflectionEnabled","_init_componentRegistry","_init_extra_componentRegistry","_init_cameraAttachmentParent","_init_extra_cameraAttachmentParent","_init_postProcessDebug","_init_extra_postProcessDebug","_init_curveSets","_init_extra_curveSets","_init_defaultDiffuseRoughness","_init_extra_defaultDiffuseRoughness","_init_fogStart","_init_extra_fogStart","_init_fogEnd","_init_extra_fogEnd","_init_reflectionIntensity","_init_extra_reflectionIntensity","_init_distanceFields","_init_extra_distanceFields","_init_backgroundEffect","_init_extra_backgroundEffect","_init_backgroundReflectionIntensity","_init_extra_backgroundReflectionIntensity","_init_nebulaIntensity","_init_extra_nebulaIntensity","_init_display","_init_extra_display","_init_backgroundRenderingEnabled","_init_extra_backgroundRenderingEnabled","_init_update","_init_extra_update","_init_impostorManager","_init_extra_impostorManager","_init_lensflares","_init_extra_lensflares","_init_externalParameters","_init_extra_externalParameters","_init_fogMax","_init_extra_fogMax","_init_staticParticles","_init_extra_staticParticles","_init_debugRenderer","_init_extra_debugRenderer","_init_objects","_init_extra_objects","_init_uiObjects","_init_extra_uiObjects","_init_backgroundObjects","_init_extra_backgroundObjects","_init_planets","_init_extra_planets","_init_raytracingManager","_init_extra_raytracingManager","_init_reflectionBackLightingColor","_init_extra_reflectionBackLightingColor","_init_reflectionBackLightingContrast","_init_extra_reflectionBackLightingContrast","_init_reflectionProbe","_init_extra_reflectionProbe","_init_volumetricsRenderer","_init_extra_volumetricsRenderer","_init_starfield","_init_extra_starfield","_init_planetScale","_init_extra_planetScale","_init_planetCameraScale","_init_extra_planetCameraScale","_init_subSurfaceScattering","_init_extra_subSurfaceScattering","_init_shadowQualitySetting","_init_extra_shadowQualitySetting","_init_sunDiffuseColor","_init_extra_sunDiffuseColor","_init_sunDiffuseColorWithDynamicLights","_init_extra_sunDiffuseColorWithDynamicLights","_init_envMapRotation","_init_extra_envMapRotation","_init_ballpark","_init_extra_ballpark","_init_name","_init_extra_name","_init_sunBall","_init_extra_sunBall","_init_postprocess","_init_extra_postprocess","_init_virtualCameraSystem","_init_extra_virtualCameraSystem","_init_warpTunnel","_init_extra_warpTunnel","_init_perFrameDebug","_init_extra_perFrameDebug","_init_cascadedShadowMap","_init_extra_cascadedShadowMap","_init_updateTime","_init_extra_updateTime","_init_useSunDiffuseColorWithDynamicLights","_init_extra_useSunDiffuseColorWithDynamicLights","_init_envMap","_init_extra_envMap","_init_envMap2","_init_extra_envMap2","_init_envMap3","_init_extra_envMap3","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","readwrite","int32","enum","notify","persist","string","color","persistOnly","model","read","objectRef","boolean","rawStruct","list","float32","quat","float64","carbon","method","impl","adapted","notImplemented","implemented","reason","custom","visualizeMethod","envMap1ResPath","envMap2ResPath","envMap3ResPath","lowQualityNebulaResPath","lowQualityNebulaMixResPath","envMapResPath","fogColor","sunDirection","ambientColor","shLightingManager","combinedPostProcessAttributes","Tr2PostProcessAttributes","dataTextureMgr","dynamicObjectReflectionEnabled","componentRegistry","EveComponentRegistry","cameraAttachmentParent","EveEffectRoot2","postProcessDebug","curveSets","defaultDiffuseRoughness","fogStart","fogEnd","reflectionIntensity","distanceFields","backgroundEffect","backgroundReflectionIntensity","nebulaIntensity","display","backgroundRenderingEnabled","update","impostorManager","lensflares","externalParameters","fogMax","staticParticles","debugRenderer","objects","uiObjects","backgroundObjects","planets","raytracingManager","reflectionBackLightingColor","reflectionBackLightingContrast","reflectionProbe","volumetricsRenderer","Tr2VolumetricsRenderer","starfield","planetScale","planetCameraScale","subSurfaceScattering","shadowQualitySetting","sunDiffuseColor","sunDiffuseColorWithDynamicLights","envMapRotation","ballpark","name","sunBall","postprocess","virtualCameraSystem","warpTunnel","perFrameDebug","cascadedShadowMap","updateTime","useSunDiffuseColorWithDynamicLights","envMap1","envMap2","envMap3","updateContext","EveUpdateContext","currentSunColor","currentNebulaIntensity","currentReflectionIntensity","viewLast","projectionLast","jitterMatrix","jitter","upscalingAmount","dynamicLightingEnabled","enablePostProcessDebugging","StampFrameContext","frustum","visibilityThreshold","lowDetailThreshold","mediumDetailThreshold","highDetailThreshold","lodFactor","raytracingEnabled","context","SetFrustum","SetHighDetailThreshold","SetMediumDetailThreshold","SetLowDetailThreshold","SetVisibilityThreshold","SetLodFactor","Update","realTime","simTime","SetTime","UpdateOrigin","dataTextureManager","object","UpdateSyncronous","UpdateAsyncronous","distanceField","lensflare","curveSet","renderContext","UpdatePostProcessAttributes","normalize","negate","PickObject","args","Error","PickAsyncObject","PickObjectAndAreaID","PickInfinity","x","y","projection","view","viewport","out","resolved","GetViewport","projected","screenToProjection","ray","convertProjectionCoordToWorldPickRay","copy","direction","UpdateVisibility","inverseView","SetTransform","planet","UpdateZOnlyVisibility","GetRenderables","GetFrustum","FromPostProcess","SCENE_DEFAULT_PRIORITY","sources","owner","GetComponents","EveComponentType","PostProcessOwner","attributes","GetPostProcessAttributes","push","length","Tr2PostProcess2","sort","a","b","priority","observer","CreateDebugObserver","MergeInto","GetDict","SetDynamicExposure","GetDynamicExposureIfAvailable","SetTaa","GetTaaIfAvailable","SetTonemapping","GetTonemappingIfAvailable","SetFog","GetFogIfAvailable","SetGodRays","GetGodRaysIfAvailable","SetGenericEffect","GetGenericEffectIfAvailable","MEDIUM_PRIORITY","GetPostProcess","BlendLightingOverrides","overrides","component","EveLightingOverride","GetOverrides","sunColorSource","sunIntensity","Math","max","baselineSunColor","scale","intensity","value","sunColor","backgroundIntensity","over","UpdateFogSettings","GatherLights","lightManager","SetShadowQuality","Clear","AdjustLightCutoff","GetLodFactor","LightOwner","GetLights","ResolveLightData","UpdateShLighting","updated","RawData","GetPerFrameVSData","GetPerFramePSData","PopulatePerFrameVSData","frame","GetViewTransform","GetProjection","SetAndTranspose","multiply","transpose","GetInverseViewTransform","fromQuat","Set","renderTargetWidth","renderTargetHeight","distance","abs","device","deviceViewport","height","width","animationTime","PopulatePerFramePSData","shadowMap","Tr2ShadowMap","TypeError","gammaBrightness","frameIndex","exactEquals","inverseShadowMapAtlasSize","shadowMapAtlasEntryMinSizeLog2","sceneMipLodBias","invert","PopulatePerFrameData","#FillSunData","#FillFovXY","source","projectionTransform","fovY","EveCamera","CalculateFovFromProjection","aspectRatio","#FillShadowCascades","split","GetPerSplitData","index","SetIndex","ShadowMapValues","CascadeRanges","cellsX","cellsY","CjsPerFrameLayouts","SHADOW_FRUSTUM_COUNT","stored","ShadowMatrixVal","identity","translate","floor","SetAndTransposeIndex","SplitInfo","ReregisterEntities","collection","EveEntity","ReRegister","ClearComponentRegistry","GetPostProcessDebug","UpdateScene","time","EveVisualizeMethod","ShadowQuality","#SimplePriorityBlend","result","remainingWeight","first","last","totalPriorityIntensity","normalizationFactor","weight","scaleAndAdd","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"EveSpaceScene.js","sources":["../../../../../src/trinity/eve/scene/EveSpaceScene.js"],"sourcesContent":["// Source: trinity/trinity/Eve/EveSpaceScene.h\r\n// Source: trinity/trinity/Eve/EveSpaceScene.cpp\r\n//\r\n// Hand-maintained (promoted from src/trinity/generated/eve/scene; the generator skips it\r\n// while this file exists). Fields mirror the generated schema shell; the\r\n// additions are the per-frame update driver ported from Carbon\r\n// EveSpaceScene::Update and the scene-owned EveUpdateContext member (Carbon\r\n// m_updateContext - protected, so absent from the Blue schema scan).\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { EveEntity } from \"../EveEntity.js\";\r\nimport { EveComponentRegistry } from \"./components/EveComponentRegistry.js\";\r\nimport { Tr2PostProcess2 } from \"../../postProcess/Tr2PostProcess2.js\";\r\nimport { Tr2PostProcessAttributes } from \"../../postProcess/Tr2PostProcessAttributes.js\";\r\nimport { EveComponentType } from \"../EveComponentTypes.js\";\r\nimport { EveUpdateContext } from \"../EveUpdateContext.js\";\r\nimport { EveEffectRoot2 } from \"../spaceObject/EveEffectRoot2.js\";\r\nimport { EveCamera } from \"../camera/EveCamera.js\";\r\nimport { CjsPerFrameLayouts } from \"../../core/rawData/CjsPerFrameLayouts.js\";\r\nimport { RawData } from \"../../core/rawData/RawData.js\";\r\nimport { Tr2ShadowMap } from \"../../core/Tr2ShadowMap.js\";\r\nimport { Tr2VolumetricsRenderer } from \"../../core/volumetrics/Tr2VolumetricsRenderer.js\";\r\nimport { convertProjectionCoordToWorldPickRay, screenToProjection } from \"../../core/view/pickRay.js\";\r\nimport { EveVisualizeMethod } from \"../../generated/eve/enums.js\";\r\nimport { ShadowQuality } from \"../../generated/trinityCore/enums.js\";\r\n\r\n\r\n// Module scratch for the per-frame sun-direction read (assume-dirty).\r\nconst sunDirectionScratch = vec3.create();\r\n\r\n// Module scratch for the per-frame constant fills. Two are needed because the\r\n// composed result and one operand are live at the same time; neither survives\r\n// the call that wrote it.\r\nconst perFrameMatrixScratch = mat4.create();\r\nconst perFrameLastProjectionScratch = mat4.create();\r\n\r\nconst ZERO_JITTER = vec4.create();\r\n\r\n// EveSpaceScene.cpp:3196-3199 - the four froxel-fog slice distances, constant\r\n// every frame.\r\nconst VOLUMETRIC_SLICES = Object.freeze([1000, 10000, 100000, 1000000]);\r\n\r\n// Flip y and change the range from (-1, +1) to (0, 1): Carbon's\r\n// `ScalingMatrix(0.5, -0.5, 1) * TranslationMatrix(0.5, 0.5, 0)`\r\n// (EveSpaceScene.cpp:3179), pre-built because it never changes.\r\nconst SHADOW_CLIP_TO_UV = mat4.fromValues(\r\n 0.5, 0, 0, 0,\r\n 0, -0.5, 0, 0,\r\n 0, 0, 1, 0,\r\n 0.5, 0.5, 0, 1\r\n);\r\n\r\n// The scene-root parent transform for the visibility pass (Carbon\r\n// EveSpaceScene.cpp:1441 `const Matrix& identity = IdentityMatrix()`). Module\r\n// const, NEVER mutated - objects in m_objects are scene roots.\r\nconst IDENTITY = mat4.create();\r\n\r\n// ---------------------------------------------------------------------------\r\n// DRIVER-ORDER CONTRACT (per frame) - the CPU visibility/gather drive.\r\n// Carbon runs steps 5-12 inside EveSpaceScene::BeginRender/GatherBatches\r\n// (EveSpaceScene.cpp:1295-1427/1433-1525); CarbonEngineJS splits them into\r\n// scene-owned methods that an engine driver calls in this exact order:\r\n//\r\n// 1. Host stamps `updateContext.renderContext` (view -> derived inverse-view\r\n// + viewPos) and `updateContext.device`.\r\n// 2. Driver derives the frustum:\r\n// `frustum.DeriveFrustum(view, viewPos, projection, viewport)` from that\r\n// same renderContext state (Carbon cpp:476).\r\n// 3. `scene.StampFrameContext({ frustum, thresholds..., lodFactor,\r\n// raytracingEnabled })`.\r\n// 4. `scene.Update(realTime, simTime)` - internally ends with\r\n// `UpdatePostProcessAttributes()` then the sun-direction read (Carbon\r\n// cpp:584 -> 589).\r\n// 5. `scene.BlendLightingOverrides()` - BeginRender phase, before any gather\r\n// (Carbon cpp:1333, before GatherBatches cpp:1387).\r\n// 6. `scene.UpdateFogSettings()` - portable Trinity state production over\r\n// \"FroxelFogSettings\" (cpp:1365-1370). An engine realizes the later render\r\n// intent; it does not own this blend/update method.\r\n// 7. `scene.UpdateVisibility(updateContext.renderContext\r\n// .GetInverseViewTransform())` - the cpp:1443-1467 block.\r\n// 8. `const renderables = scene.GetRenderables([])` - pre-culled\r\n// (cpp:1470-1507 minus impostors).\r\n// 9. `batchManager.Collect(renderables, reason, updateContext.renderContext)`\r\n// - with engine-registered collectors covering Carbon's [QUADS]\r\n// (cpp:1509-1511) and [INSTANCED] (cpp:1516-1520; the instanced collector\r\n// reads \"InstancedMeshProvider\" from `scene.componentRegistry`);\r\n// `Finalize` inside Collect = Carbon FinalizeBatches cpp:1522.\r\n// 10. `scene.GatherLights(lightManager)` - AFTER step 9 (Carbon cpp:1396-1416\r\n// runs after GatherBatches cpp:1387).\r\n// 10b. `scene.UpdateShLighting(objects)` - the LAST thing Carbon's gather does\r\n// (cpp:1524), so every receiver's secondary-lighting coefficients are\r\n// current for the frame being submitted. Skipped entirely when the scene\r\n// carries no shLightingManager.\r\n// 10c. `scene.PopulatePerFramePSData(renderContext, frame, shadowMap)` then\r\n// `scene.PopulatePerFrameVSData(renderContext, frame)` - Carbon's order at\r\n// cpp:1424-1425, PS first, because the pixel fill is what resolves\r\n// m_upscalingAmount that the vertex fill then reads. Runs after GatherLights\r\n// so the blended sun colour is current. The engine binds the two records at\r\n// Tr2Renderer::GetPerFrame{VS,PS}StartRegister; their layouts are published\r\n// on the `/perframe` subpath.\r\n// 11. (driver) `for (const lf of scene.lensflares)\r\n// lf.PrepareRender(frustum)` (cpp:1419-1422). EveLensflare still needs that\r\n// Carbon method ported; its absence is an explicit driver-readiness gap,\r\n// not an optional capability to hide with a guarded call.\r\n// 12. (engine) reads registry collections directly: \"ShadowCaster\" (cascade\r\n// gate cpp:614-621, RT push cpp:1544-1547), \"VolumetricRenderable\",\r\n// \"FroxelFogSettings\", \"MeshMorph\" (engine may call\r\n// `scene.componentRegistry.Clear(\"MeshMorph\")` after bake),\r\n// \"ReflectionRenderable\" (secondary gather cpp:1886-1895).\r\n//\r\n// One-shot registration trigger: after graph build/mutation call\r\n// `scene.ReregisterEntities()` - covers objects + backgroundObjects + planets\r\n// (entity-guarded) + cameraAttachmentParent (cpp:4064-4089, matching what\r\n// OnListModified registers incrementally, cpp:3435-3491). uiObjects are\r\n// intentionally excluded everywhere (cpp:3462 gate) - Carbon never registers\r\n// or culls them.\r\n// ---------------------------------------------------------------------------\r\n\r\n/** Owns and updates an Eve space scene's entities, component registry, lighting, fog, post-process state, culling, and per-frame shader data. */\r\n@type.define({ className: \"EveSpaceScene\", family: \"eve/scene\" })\r\nexport class EveSpaceScene extends CjsModel\r\n{\r\n\r\n /** m_visualizeMethod (EveVisualizeMethod - enum EveVisualizeMethod) [READWRITE, ENUM] */\r\n @edit.readwrite\r\n @type.int32\r\n @type.enum(\"EveVisualizeMethod\")\r\n visualizeMethod = 0;\r\n\r\n /** m_envMap1ResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.string\r\n envMap1ResPath = \"\";\r\n\r\n /** m_envMap2ResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.string\r\n envMap2ResPath = \"\";\r\n\r\n /** m_envMap3ResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.string\r\n envMap3ResPath = \"\";\r\n\r\n /** m_lowQualityNebulaResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.string\r\n lowQualityNebulaResPath = \"\";\r\n\r\n /** m_lowQualityNebulaMixResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.string\r\n lowQualityNebulaMixResPath = \"\";\r\n\r\n /** m_envMapResPath (std::string) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.string\r\n envMapResPath = \"\";\r\n\r\n /** m_fogColor (Color) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.color\r\n fogColor = vec4.fromValues(0.25, 0.25, 0.25, 1);\r\n\r\n /** m_sunData.DirWorld (Vector3) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.vec3\r\n sunDirection = vec3.fromValues(0, -1, 0);\r\n\r\n /** m_ambientColor (Color) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.color\r\n ambientColor = vec4.fromValues(0.25, 0.25, 0.25, 1);\r\n\r\n /** m_shLightingManager (Tr2ShLightingManagerPtr) [PERSISTONLY] */\r\n @edit.persistOnly\r\n @type.model(\"Tr2ShLightingManager\")\r\n shLightingManager = null;\r\n\r\n /** m_combinedPostProcessAttributes (Tr2PostProcessAttributesPtr) [READ] -\r\n * default-constructed like Carbon's ctor CreateInstance (cpp:297); refreshed\r\n * by UpdatePostProcessAttributes' re-export at MEDIUM_PRIORITY (cpp:407). */\r\n @edit.read\r\n @type.objectRef(\"Tr2PostProcessAttributes\")\r\n combinedPostProcessAttributes = new Tr2PostProcessAttributes();\r\n\r\n /** m_dataTextureMgr (Tr2DataTextureManagerPtr) [READ] */\r\n @edit.read\r\n @type.objectRef(\"Tr2DataTextureManager\")\r\n dataTextureMgr = null;\r\n\r\n /** m_dynamicObjectReflectionEnabled (bool) [READWRITE] */\r\n @edit.readwrite\r\n @type.boolean\r\n dynamicObjectReflectionEnabled = true;\r\n\r\n /** m_componentRegistry (EveComponentRegistryPtr) [READ] */\r\n @edit.read\r\n @type.objectRef(\"EveComponentRegistry\")\r\n componentRegistry = new EveComponentRegistry();\r\n\r\n /** m_cameraAttachmentParent (EveEffectRoot2Ptr) - protected Carbon scene\r\n * entity, default-constructed like Carbon's ctor CreateInstance (cpp:287, no\r\n * further setup applied). Consumers still optional-chain - deserialization\r\n * may null it. */\r\n @type.model(\"EveEffectRoot2\")\r\n cameraAttachmentParent = new EveEffectRoot2();\r\n\r\n /** m_postProcessDebug (BluePy) - protected Carbon debug payload. */\r\n @type.rawStruct(\"BluePy\")\r\n postProcessDebug = null;\r\n\r\n /** m_curveSets (PTriCurveSetVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"TriCurveSet\")\r\n curveSets = [];\r\n\r\n /** m_defaultDiffuseRoughness (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n defaultDiffuseRoughness = 1;\r\n\r\n /** m_fogStart (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n fogStart = 0;\r\n\r\n /** m_fogEnd (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n fogEnd = 0;\r\n\r\n /** m_reflectionIntensity (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n reflectionIntensity = 1;\r\n\r\n /** m_distanceFields (PEveDistanceFieldVector) [READ] */\r\n @edit.read\r\n @type.list(\"EveDistanceField\")\r\n distanceFields = [];\r\n\r\n /** m_backgroundEffect (Tr2EffectPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"Tr2Effect\")\r\n backgroundEffect = null;\r\n\r\n /** m_backgroundReflectionIntensity (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n backgroundReflectionIntensity = 1;\r\n\r\n /** m_nebulaIntensity (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n nebulaIntensity = 1;\r\n\r\n /** m_display (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n display = true;\r\n\r\n /** m_backgroundRenderingEnabled (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n backgroundRenderingEnabled = false;\r\n\r\n /** m_update (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n update = true;\r\n\r\n /** m_impostorManager (Tr2ImpostorManagerPtr) [READWRITE] */\r\n @edit.readwrite\r\n @type.objectRef(\"Tr2ImpostorManager\")\r\n impostorManager = null;\r\n\r\n /** m_lensflares (PEveLensflareVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"EveLensflare\")\r\n lensflares = [];\r\n\r\n /** m_externalParameters (PTr2ExternalParameterVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"Tr2ExternalParameter\")\r\n externalParameters = [];\r\n\r\n /** m_fogMax (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n fogMax = 0;\r\n\r\n /** m_staticParticles (PEveSceneStaticParticlesVector) [READ] */\r\n @edit.read\r\n @type.list(\"EveSceneStaticParticles\")\r\n staticParticles = [];\r\n\r\n /** m_debugRenderer (Tr2DebugRendererPtr) [READWRITE] */\r\n @edit.readwrite\r\n @type.objectRef(\"Tr2DebugRenderer\")\r\n debugRenderer = null;\r\n\r\n /** m_objects (PIEveSpaceObject2Vector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"IEveSpaceObject2\")\r\n objects = [];\r\n\r\n /** m_uiObjects (PIEveSpaceObject2Vector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"IEveSpaceObject2\")\r\n uiObjects = [];\r\n\r\n /** m_backgroundObjects (PIEveSpaceObject2Vector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"IEveSpaceObject2\")\r\n backgroundObjects = [];\r\n\r\n /** m_planets (PEvePlanetVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"EvePlanet\")\r\n planets = [];\r\n\r\n /** m_rtManager (Tr2RaytracingManagerPtr) [READWRITE] */\r\n @edit.readwrite\r\n @type.objectRef(\"Tr2RaytracingManager\")\r\n raytracingManager = null;\r\n\r\n /** m_reflectionBackLightingColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.color\r\n reflectionBackLightingColor = vec4.fromValues(2, 2, 2, 2);\r\n\r\n /** m_reflectionBackLightingContrast (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n reflectionBackLightingContrast = 8;\r\n\r\n /** m_reflectionProbe (Tr2ReflectionProbePtr) [READWRITE, NOTIFY] */\r\n @edit.notify\r\n @edit.readwrite\r\n @type.objectRef(\"Tr2ReflectionProbe\")\r\n reflectionProbe = null;\r\n\r\n /** m_volumetricsRenderer (Tr2VolumetricsRendererPtr) [READ] */\r\n @edit.read\r\n @type.objectRef(\"Tr2VolumetricsRenderer\")\r\n volumetricsRenderer = new Tr2VolumetricsRenderer();\r\n\r\n /** m_starfield (EveStarfieldPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"EveStarfield\")\r\n starfield = null;\r\n\r\n /** m_planetScale (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n planetScale = 1000000;\r\n\r\n /** m_planetCameraScale (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n planetCameraScale = 1000000;\r\n\r\n /** m_sssss (Tr2SSSSSPtr) [READ] */\r\n @edit.read\r\n @type.objectRef(\"Tr2SSSSS\")\r\n subSurfaceScattering = null;\r\n\r\n /** m_shadowQuality (ShadowQuality - enum ShadowQuality) [READWRITE, NOTIFY] */\r\n @edit.notify\r\n @edit.readwrite\r\n @type.int32\r\n @type.enum(\"ShadowQuality\")\r\n shadowQualitySetting = 3;\r\n\r\n /** m_sunColor (Color) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.color\r\n sunDiffuseColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n /** m_sunColorWithDynamicLights (Color) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.color\r\n sunDiffuseColorWithDynamicLights = vec4.fromValues(1, 1, 1, 1);\r\n\r\n /** m_envMapRotation (Quaternion) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.quat\r\n envMapRotation = quat.create();\r\n\r\n /** m_ballpark (IEveBallparkPtr) [READWRITE] */\r\n @edit.readwrite\r\n @type.objectRef(\"IEveBallpark\")\r\n ballpark = null;\r\n\r\n /** m_name (BlueSharedString) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.string\r\n name = \"\";\r\n\r\n /** m_sunBall (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"ITriVectorFunction\")\r\n sunBall = null;\r\n\r\n /** m_sceneDefaultPostProcess (Tr2PostProcess2Ptr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"Tr2PostProcess2\")\r\n postprocess = null;\r\n\r\n /** m_virtualCameraSystem (EveVirtualCameraSystemPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"EveVirtualCameraSystem\")\r\n virtualCameraSystem = null;\r\n\r\n /** m_warpTunnel (IEveSpaceObject2Ptr) [READWRITE] */\r\n @edit.readwrite\r\n @type.objectRef(\"IEveSpaceObject2\")\r\n warpTunnel = null;\r\n\r\n /** m_perFrameDebug (float) [READWRITE] */\r\n @edit.readwrite\r\n @type.float32\r\n perFrameDebug = 0;\r\n\r\n /** m_cascadedShadowMap (Tr2ShadowMapPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"Tr2ShadowMap\")\r\n cascadedShadowMap = null;\r\n\r\n /** m_updateTime (Be::Time) [READ] */\r\n @edit.read\r\n @type.float64\r\n updateTime = 0;\r\n\r\n /** m_useSunColorWithDynamicLights (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n useSunDiffuseColorWithDynamicLights = false;\r\n\r\n /** m_envMap1 (ITr2TextureProviderPtr) [READ] */\r\n @edit.read\r\n @type.objectRef(\"ITr2TextureProvider\")\r\n envMap1 = null;\r\n\r\n /** m_envMap2 (ITr2TextureProviderPtr) [READ] */\r\n @edit.read\r\n @type.objectRef(\"ITr2TextureProvider\")\r\n envMap2 = null;\r\n\r\n /** m_envMap3 (ITr2TextureProviderPtr) [READ] */\r\n @edit.read\r\n @type.objectRef(\"ITr2TextureProvider\")\r\n envMap3 = null;\r\n\r\n // Carbon m_updateContext (protected, absent from the Blue scan): the scene\r\n // owns ONE frame context, constructed once and re-stamped each Update. The\r\n // host/driver stamps updateContext.renderContext (camera view) + .device per\r\n // pass before calling Update - our explicit replacement for Carbon's\r\n // Tr2Renderer view statics.\r\n updateContext = new EveUpdateContext();\r\n\r\n // Carbon m_sceneDefaultPostProcessAttributes (EveSpaceScene.h:640, ctor\r\n // CreateInstance cpp:296): the scene default's attribute snapshot, refreshed\r\n // by UpdatePostProcessAttributes each frame.\r\n #sceneDefaultPostProcessAttributes = new Tr2PostProcessAttributes();\r\n\r\n // Carbon m_combinedPostProcess (EveSpaceScene.h:636): the merged output\r\n // post-process, lazily constructed on first combine (cpp:367-370).\r\n #combinedPostProcess = null;\r\n\r\n // Carbon m_currentSunColor / m_currentNebulaIntensity /\r\n // m_currentReflectionIntensity (EveSpaceScene.h:492-493/650, protected):\r\n // outputs of the BeginRender lighting-override blend (cpp:1360-1362).\r\n currentSunColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n currentNebulaIntensity = 1;\r\n\r\n currentReflectionIntensity = 1;\r\n\r\n // Carbon m_viewLast / m_projectionLast / m_jitterMatrix\r\n // (EveSpaceScene.h:296-297, protected): the previous frame's camera, which\r\n // the per-frame vertex block hands to the shader for motion vectors.\r\n viewLast = mat4.create();\r\n\r\n projectionLast = mat4.create();\r\n\r\n jitterMatrix = mat4.create();\r\n\r\n // Carbon m_jitter (EveSpaceScene.h:624) - xy: projection offset, zw: pixel\r\n // offset. The per-frame pixel block reports only whether it is non-zero.\r\n jitter = vec4.create();\r\n\r\n // Carbon m_upscalingAmount (EveSpaceScene.h:623, =1 by default at cpp:221).\r\n // Reset by the per-frame pixel fill and raised by an upscaler, if any.\r\n upscalingAmount = 1;\r\n\r\n // Carbon g_eveSpaceSceneDynamicLighting (registered setting\r\n // \"eveSpaceSceneDynamicLighting\", cpp:109-110, default false) - scoped to\r\n // the scene instead of a module global.\r\n dynamicLightingEnabled = false;\r\n\r\n // Carbon g_enablePostProcessDebugging (registered setting\r\n // \"enablePostProcessDebugging\", cpp:118-119, default false) - scoped to the\r\n // scene instead of a module global.\r\n enablePostProcessDebugging = false;\r\n\r\n /**\r\n * Stamps the per-frame frustum/threshold/LOD state onto the scene-owned\r\n * update context (Carbon EveSpaceScene::Update cpp:475-484, identical to the\r\n * already-updated fast path cpp:448-457). Carbon derives the frustum from\r\n * the Tr2Renderer view statics and reads the thresholds from console vars\r\n * divided by m_upscalingAmount (=1 by default, cpp:221); in CarbonEngineJS\r\n * the driver derives the frustum from the same renderContext state it\r\n * stamped and supplies the thresholds explicitly (pre-divided if it ever\r\n * upscales). Defaults are the Carbon console-var defaults (cpp:75-84).\r\n * The raytracing flag is Carbon's `m_shadowQuality == SHADOW_RAYTRACED &&\r\n * m_enableShadows` (cpp:457/484) - the driver computes it; the scene does\r\n * not. Stamps unconditionally: Carbon's same-frame fast path restamps\r\n * regardless of m_update (cpp:444-462); only the cold path skips stamping\r\n * when !m_update (cpp:466 precedes 475) - benign divergence.\r\n * @param {Object} [options]\r\n * @param {Object|null} [options.frustum] - a ready TriFrustum, held by reference\r\n * @param {Number} [options.visibilityThreshold]\r\n * @param {Number} [options.lowDetailThreshold]\r\n * @param {Number} [options.mediumDetailThreshold]\r\n * @param {Number} [options.highDetailThreshold]\r\n * @param {Number} [options.lodFactor]\r\n * @param {Boolean} [options.raytracingEnabled]\r\n */\r\n StampFrameContext({\r\n frustum = null,\r\n visibilityThreshold = 5,\r\n lowDetailThreshold = 100,\r\n mediumDetailThreshold = 400,\r\n highDetailThreshold = 800,\r\n lodFactor = 1,\r\n raytracingEnabled = false\r\n } = {})\r\n {\r\n const context = this.updateContext;\r\n context.SetFrustum(frustum);\r\n context.SetHighDetailThreshold(highDetailThreshold);\r\n context.SetMediumDetailThreshold(mediumDetailThreshold);\r\n context.SetLowDetailThreshold(lowDetailThreshold);\r\n context.SetVisibilityThreshold(visibilityThreshold);\r\n context.SetLodFactor(lodFactor);\r\n context.raytracingEnabled = !!raytracingEnabled;\r\n }\r\n\r\n /**\r\n * Per-frame scene update, ported from Carbon EveSpaceScene::Update: stamps the\r\n * scene-owned frame context (time, origin, data-texture manager), then drives\r\n * every collection in Carbon's order - background objects, warp tunnel,\r\n * starfield, static particles, data textures, distance fields, lensflares,\r\n * virtual camera system, curve sets, then all space/UI objects synchronous\r\n * first and asynchronous second (Carbon parallelizes the async pass on a task\r\n * group; JS runs it sequentially). Then combines the post-process attributes\r\n * (cpp:584) and finally reads the sun direction from the sun ball\r\n * (cpp:589-596).\r\n *\r\n * Adapted - deferred vs Carbon: the recording-frame dedup fast path,\r\n * frustum/threshold/LOD/raytracing stamping (now the driver's job via\r\n * StampFrameContext, called BEFORE Update), planet update (planet\r\n * view-matrix swap unported), and main-thread action flush (N/A).\r\n * @param {Number} realTime\r\n * @param {Number} simTime\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Update(realTime, simTime)\r\n {\r\n if (!this.update)\r\n {\r\n return;\r\n }\r\n\r\n const context = this.updateContext;\r\n context.SetTime(simTime);\r\n context.UpdateOrigin(this.ballpark);\r\n context.dataTextureManager = this.dataTextureMgr;\r\n\r\n for (const object of this.backgroundObjects)\r\n {\r\n object?.UpdateSyncronous(context);\r\n }\r\n for (const object of this.backgroundObjects)\r\n {\r\n object?.UpdateAsyncronous(context);\r\n }\r\n\r\n if (this.warpTunnel)\r\n {\r\n this.warpTunnel.UpdateSyncronous(context);\r\n this.warpTunnel.UpdateAsyncronous(context);\r\n }\r\n\r\n this.starfield?.Update?.(simTime);\r\n\r\n for (const staticParticles of this.staticParticles)\r\n {\r\n staticParticles?.Update(context);\r\n }\r\n\r\n this.dataTextureMgr?.Update(context);\r\n\r\n for (const distanceField of this.distanceFields)\r\n {\r\n distanceField?.Update(context);\r\n }\r\n\r\n for (const lensflare of this.lensflares)\r\n {\r\n lensflare?.Update(realTime, simTime);\r\n }\r\n\r\n this.virtualCameraSystem?.Update(realTime);\r\n\r\n for (const curveSet of this.curveSets)\r\n {\r\n curveSet.Update(realTime, simTime, context.renderContext);\r\n }\r\n\r\n for (const object of this.objects)\r\n {\r\n object?.UpdateSyncronous(context);\r\n }\r\n for (const object of this.uiObjects)\r\n {\r\n object?.UpdateSyncronous(context);\r\n }\r\n\r\n for (const object of this.objects)\r\n {\r\n object?.UpdateAsyncronous(context);\r\n }\r\n for (const object of this.uiObjects)\r\n {\r\n object?.UpdateAsyncronous(context);\r\n }\r\n\r\n // Combine the post-process attributes (Carbon cpp:584, after the async\r\n // pass + ExecuteMainThreadActions cpp:581 and before the sun read).\r\n this.UpdatePostProcessAttributes();\r\n\r\n // Sun direction from the sun ball: the normalized sun position, negated\r\n // (Carbon: m_sunData.DirWorld = -Normalize(sunDirection)).\r\n if (this.sunBall?.Update)\r\n {\r\n this.sunBall.Update(simTime, sunDirectionScratch);\r\n vec3.normalize(sunDirectionScratch, sunDirectionScratch);\r\n vec3.negate(this.sunDirection, sunDirectionScratch);\r\n }\r\n\r\n this.updateTime = simTime;\r\n }\r\n\r\n /** Carbon method PickObject (MAP_METHOD_AND_WRAP_OPTIONAL_ARGS). */\r\n @carbon.method\r\n @impl.notImplemented\r\n PickObject(...args)\r\n {\r\n throw new Error(\"EveSpaceScene.PickObject is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon method PickAsyncObject (MAP_METHOD_AND_WRAP_OPTIONAL_ARGS). */\r\n @carbon.method\r\n @impl.notImplemented\r\n PickAsyncObject(...args)\r\n {\r\n throw new Error(\"EveSpaceScene.PickAsyncObject is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon method PickObjectAndAreaID -> PyPickObjectAndAreaID (MAP_METHOD). */\r\n @carbon.method\r\n @impl.notImplemented\r\n PickObjectAndAreaID(...args)\r\n {\r\n throw new Error(\"EveSpaceScene.PickObjectAndAreaID is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /**\r\n * Carbon EveSpaceScene::PickInfinity (cpp:4039-4050): the world-space\r\n * DIRECTION a screen pixel points along - the pick ray with nothing to hit,\r\n * which is what a click on empty space resolves to. Pure math, no readback.\r\n *\r\n * @param {Number} x - screen x, in pixels\r\n * @param {Number} y - screen y, in pixels\r\n * @param {Float32Array} projection - the projection matrix\r\n * @param {Float32Array} view - the view matrix\r\n * @param {Object} [viewport] - { x, y, width, height }; the frame's render\r\n * context supplies one when this is omitted\r\n * @param {Float32Array} [out] - caller-owned direction\r\n * @returns {Float32Array|null} the normalized world direction, or null when\r\n * either matrix cannot be inverted\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n PickInfinity(x, y, projection, view, viewport = null, out = vec3.create())\r\n {\r\n const resolved = viewport ?? this.updateContext?.renderContext?.GetViewport?.();\r\n const projected = screenToProjection(x, y, resolved);\r\n const ray = convertProjectionCoordToWorldPickRay(projected.x, projected.y, projection, view);\r\n\r\n return ray ? vec3.copy(out, ray.direction) : null;\r\n }\r\n\r\n /**\r\n * The per-frame CPU visibility pass, ported from the [VISIBILITY] block of\r\n * Carbon EveSpaceScene::GatherBatches (EveSpaceScene.cpp:1443-1467; the\r\n * enclosing display gate is BeginRender cpp:1299-1302). Carbon's\r\n * Tr2ParallelDo loops (objects cpp:1445-1447, staticParticles cpp:1454-1456,\r\n * planets cpp:1458-1460) run sequentially in the same order; the lensflare\r\n * loop is sequential in Carbon too (cpp:1462-1466). LOD stamping (lodLevel,\r\n * isVisible, pixel diameters) happens INSIDE each object's UpdateVisibility;\r\n * per-object display gates live there too - the scene does not pre-filter.\r\n * uiObjects are never visited (Carbon never culls them). The camera parent's\r\n * SetTransform is pure decomposition (EveEffectRoot2.cpp:677-680 Decompose)\r\n * - no composition, so no row-vector operand swap here; this per-gather\r\n * Sync/Async pair is the camera parent's ONLY update, so its world transform\r\n * is the camera pose of the frame being gathered (cpp:1449-1452).\r\n * @param {Float32Array} inverseView - the inverse view matrix\r\n * (updateContext.renderContext.GetInverseViewTransform(); Carbon reads the\r\n * Tr2Renderer static at cpp:1449)\r\n */\r\n UpdateVisibility(inverseView)\r\n {\r\n if (!this.display)\r\n {\r\n return;\r\n }\r\n\r\n for (const object of this.objects)\r\n {\r\n object?.UpdateVisibility(this.updateContext, IDENTITY);\r\n }\r\n\r\n this.cameraAttachmentParent?.SetTransform?.(inverseView);\r\n this.cameraAttachmentParent?.UpdateSyncronous(this.updateContext);\r\n this.cameraAttachmentParent?.UpdateAsyncronous(this.updateContext);\r\n this.cameraAttachmentParent?.UpdateVisibility(this.updateContext, IDENTITY);\r\n\r\n for (const staticParticles of this.staticParticles)\r\n {\r\n staticParticles?.UpdateVisibility(this.updateContext);\r\n }\r\n\r\n for (const planet of this.planets)\r\n {\r\n planet?.UpdateZOnlyVisibility?.(this.updateContext);\r\n }\r\n\r\n // Sequential in Carbon too: \"until we have proper support for multiple\r\n // lensflares we just do it in a list\" (cpp:1462-1466).\r\n for (const lensflare of this.lensflares)\r\n {\r\n lensflare?.UpdateVisibility(this.updateContext);\r\n }\r\n }\r\n\r\n /** Gathers batchable renderables from the scene's objects for the batch\r\n * collection pass - the [GATHER] block of Carbon\r\n * EveSpaceScene::GatherBatches (EveSpaceScene.cpp:1470-1507): m_objects in\r\n * list order (cpp:1470-1475), then cameraAttachmentParent pushed LAST\r\n * (cpp:1476), then the staticParticles leg (cpp:1504-1507; Carbon signature\r\n * `GetRenderables(frustum, renderables)`, EveSceneStaticParticles.h - kept\r\n * with the out-parameter last per convention). Objects self-filter on the\r\n * visibility flags stamped by UpdateVisibility, so the array handed to\r\n * CjsBatchManager.Collect is pre-culled and this aggregation stays GPU-free.\r\n * The impostor-manager argument (cpp:1478-1502) is dropped - engine-owned.\r\n * Gather order matters downstream: the opaque accumulator receives batches\r\n * in gather order before Finalize sorts. */\r\n GetRenderables(out = [])\r\n {\r\n if (!this.display)\r\n {\r\n return out;\r\n }\r\n\r\n for (const object of this.objects) object?.GetRenderables(out);\r\n this.cameraAttachmentParent?.GetRenderables(out);\r\n for (const staticParticles of this.staticParticles)\r\n {\r\n staticParticles?.GetRenderables(this.updateContext.GetFrustum(), out);\r\n }\r\n return out;\r\n }\r\n\r\n /**\r\n * Refreshes the scene default's attribute snapshot, gathers every registered\r\n * PostProcessOwner's attributes, priority-blends them into the combined\r\n * post-process, copies the six engine effects through from the scene\r\n * default, and re-exports the result (Carbon\r\n * EveSpaceScene::UpdatePostProcessAttributes, EveSpaceScene.cpp:346-413).\r\n * Sort is descending by priority (cpp:372-377); Carbon's std::sort is\r\n * unstable while JS sort is stable - equal-priority ties keep registry\r\n * insertion order, which is blend-order-independent for every Sum-accumulated\r\n * attribute (the whole tie group is normalized together); only MaxWeight\r\n * ties at exactly equal weight (string paths / bools / DoF shape) could\r\n * differ from C++.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's g_enablePostProcessDebugging global becomes the scene-scoped enablePostProcessDebugging field; the debug payload is a plain object, null when off.\")\r\n UpdatePostProcessAttributes()\r\n {\r\n if (!this.display)\r\n {\r\n return;\r\n }\r\n\r\n // Scene default refreshed BEFORE the gather (cpp:354); FromPostProcess\r\n // handles a null postprocess (reset + return).\r\n this.#sceneDefaultPostProcessAttributes.FromPostProcess(\r\n this.postprocess, Tr2PostProcessAttributes.SCENE_DEFAULT_PRIORITY, 1.0);\r\n\r\n const sources = [];\r\n for (const owner of this.componentRegistry?.GetComponents(EveComponentType.PostProcessOwner) ?? [])\r\n {\r\n // Carbon pushes unguarded (cpp:358-361); JS ducks may return null.\r\n const attributes = owner?.GetPostProcessAttributes?.();\r\n if (attributes)\r\n {\r\n sources.push(attributes);\r\n }\r\n }\r\n\r\n // Scene default appended LAST (cpp:363).\r\n sources.push(this.#sceneDefaultPostProcessAttributes);\r\n\r\n // The list is never empty (default always pushed) so Carbon's else-branch\r\n // (cpp:411) is unreachable; the guard is kept for shape fidelity.\r\n if (sources.length)\r\n {\r\n this.#combinedPostProcess ??= new Tr2PostProcess2();\r\n\r\n sources.sort((a, b) => b.priority - a.priority);\r\n\r\n if (this.enablePostProcessDebugging)\r\n {\r\n const observer = Tr2PostProcessAttributes.CreateDebugObserver();\r\n Tr2PostProcessAttributes.MergeInto(this.#combinedPostProcess, sources, observer);\r\n this.postProcessDebug = observer.GetDict();\r\n }\r\n else\r\n {\r\n Tr2PostProcessAttributes.MergeInto(this.#combinedPostProcess, sources);\r\n this.postProcessDebug = null;\r\n }\r\n\r\n // Engine-effect copy-through from the scene default only - NOT blended\r\n // (cpp:389-406).\r\n if (this.postprocess)\r\n {\r\n this.#combinedPostProcess.SetDynamicExposure(this.postprocess.GetDynamicExposureIfAvailable?.() ?? null);\r\n this.#combinedPostProcess.SetTaa(this.postprocess.GetTaaIfAvailable?.() ?? null);\r\n this.#combinedPostProcess.SetTonemapping(this.postprocess.GetTonemappingIfAvailable?.() ?? null);\r\n this.#combinedPostProcess.SetFog(this.postprocess.GetFogIfAvailable?.() ?? null);\r\n this.#combinedPostProcess.SetGodRays(this.postprocess.GetGodRaysIfAvailable?.() ?? null);\r\n this.#combinedPostProcess.SetGenericEffect(this.postprocess.GetGenericEffectIfAvailable?.() ?? null);\r\n }\r\n else\r\n {\r\n this.#combinedPostProcess.SetDynamicExposure(null);\r\n this.#combinedPostProcess.SetTaa(null);\r\n this.#combinedPostProcess.SetTonemapping(null);\r\n this.#combinedPostProcess.SetFog(null);\r\n this.#combinedPostProcess.SetGodRays(null);\r\n this.#combinedPostProcess.SetGenericEffect(null);\r\n }\r\n\r\n // Re-export the combined result as an attributes object at\r\n // MEDIUM_PRIORITY - consumed by nested-scene composition (cpp:407).\r\n (this.combinedPostProcessAttributes ??= new Tr2PostProcessAttributes())\r\n .FromPostProcess(this.#combinedPostProcess, Tr2PostProcessAttributes.MEDIUM_PRIORITY, 1.0);\r\n }\r\n else\r\n {\r\n this.#combinedPostProcess = null;\r\n }\r\n }\r\n\r\n /** Carbon method GetPostProcess (EveSpaceScene.cpp:420-427): the combined\r\n * post-process, or null while the scene is not displayed. */\r\n @carbon.method\r\n @impl.implemented\r\n GetPostProcess()\r\n {\r\n if (!this.display)\r\n {\r\n return null;\r\n }\r\n return this.#combinedPostProcess;\r\n }\r\n\r\n /**\r\n * Blends every registered EveLightingOverride against the scene baseline and\r\n * stamps currentSunColor / currentNebulaIntensity /\r\n * currentReflectionIntensity - the lighting-override block of Carbon\r\n * EveSpaceScene::BeginRender (EveSpaceScene.cpp:1333-1363). The baseline is\r\n * appended AFTER the sort at raw priority -1 - one below\r\n * SCENE_DEFAULT_PRIORITY=0, outside the legal enum range (Carbon casts -1,\r\n * cpp:1343) - so it always sits last. Scalar/color math only - no matrix\r\n * compositions, no row-vector swaps anywhere in this method. Same\r\n * stable-sort note as UpdatePostProcessAttributes - here fully benign, the\r\n * blend is symmetric within a tie group.\r\n */\r\n BlendLightingOverrides()\r\n {\r\n if (!this.display)\r\n {\r\n return;\r\n }\r\n\r\n const overrides = [];\r\n for (const component of this.componentRegistry?.GetComponents(EveComponentType.EveLightingOverride) ?? [])\r\n {\r\n overrides.push(component.GetOverrides());\r\n }\r\n overrides.sort((a, b) => b.priority - a.priority);\r\n\r\n // Baseline (cpp:1342-1357): the scene's own sun/nebula/reflection state,\r\n // sun color normalized by its max channel (all four components scaled).\r\n const sunColorSource = this.useSunDiffuseColorWithDynamicLights && this.dynamicLightingEnabled\r\n ? this.sunDiffuseColorWithDynamicLights\r\n : this.sunDiffuseColor;\r\n const sunIntensity = Math.max(sunColorSource[0], sunColorSource[1], sunColorSource[2]);\r\n const baselineSunColor = vec4.create();\r\n if (sunIntensity !== 0)\r\n {\r\n vec4.scale(baselineSunColor, sunColorSource, 1 / sunIntensity);\r\n }\r\n else\r\n {\r\n vec4.copy(baselineSunColor, sunColorSource);\r\n }\r\n overrides.push({\r\n priority: -1,\r\n intensity: 1,\r\n value: {\r\n sunColor: baselineSunColor,\r\n sunIntensity,\r\n backgroundIntensity: this.nebulaIntensity,\r\n reflectionIntensity: this.reflectionIntensity\r\n }\r\n });\r\n\r\n const over = EveSpaceScene.#SimplePriorityBlend(overrides);\r\n vec4.scale(this.currentSunColor, over.sunColor, over.sunIntensity);\r\n this.currentNebulaIntensity = over.backgroundIntensity;\r\n this.currentReflectionIntensity = over.reflectionIntensity;\r\n }\r\n\r\n /**\r\n * Runs Carbon's portable froxel-fog blend against the scene-owned registry\r\n * and update context. The frame driver calls this immediately after lighting\r\n * overrides and before visibility/gather.\r\n */\r\n @impl.custom\r\n @impl.reason(\"Carbon performs this inside BeginRender; CarbonEngineJS exposes the scene-owned CPU phase because the engine driver owns the surrounding frame order.\")\r\n UpdateFogSettings()\r\n {\r\n this.volumetricsRenderer.UpdateFogSettings(this.componentRegistry, this.updateContext);\r\n }\r\n\r\n /**\r\n * Drives the injected light manager through Carbon's dynamic-light gather\r\n * (EveSpaceScene::BeginRender, EveSpaceScene.cpp:1396-1416, AFTER\r\n * GatherBatches cpp:1387): shadow quality, clear (runs even with zero owners\r\n * - stale lights must drop), frustum, LOD cutoff, then every registered\r\n * LightOwner's GetLights (Carbon Tr2ParallelFor chunk-20 cpp:1405-1413; JS\r\n * sequential in collection order), then ResolveLightData. No JS\r\n * Tr2LightManager class exists - the manager is a duck and every manager\r\n * call is optional-chained so a partial duck still gets the owner loop.\r\n * Carbon runs the block only when a manager instance exists (dynamic\r\n * lighting on) - a null manager is a no-op. The recording frame number\r\n * Carbon passes to SetShadowQuality and the renderContext it passes to Clear\r\n * are engine recording state - the JS Clear receives the frame's\r\n * renderContext for ducks that want it.\r\n * @param {Object|null} lightManager\r\n */\r\n GatherLights(lightManager)\r\n {\r\n if (!lightManager || !this.display)\r\n {\r\n return;\r\n }\r\n\r\n lightManager.SetShadowQuality(this.shadowQualitySetting);\r\n lightManager.Clear(this.updateContext.renderContext);\r\n lightManager.SetFrustum(this.updateContext.GetFrustum());\r\n lightManager.AdjustLightCutoff(this.updateContext.GetLodFactor());\r\n\r\n for (const owner of this.componentRegistry?.GetComponents(EveComponentType.LightOwner) ?? [])\r\n {\r\n owner?.GetLights?.(lightManager);\r\n }\r\n\r\n lightManager.ResolveLightData();\r\n }\r\n\r\n /**\r\n * Carbon EveSpaceScene::UpdateShLighting (cpp:1685-1703): hands every\r\n * secondary-lighting receiver the scene's SH manager, so each one samples the\r\n * bounce light at its own position. A scene with no manager does nothing, as\r\n * Carbon does.\r\n *\r\n * Carbon runs this at the very END of the gather (cpp:1524, after\r\n * FinalizeBatches), and over a parallel range; the JS pass is sequential\r\n * because the receivers write only their own records and share no state.\r\n *\r\n * @param {Array} objects - the frame's visible objects\r\n * @returns {Number} how many receivers were updated\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's Tr2ParallelFor becomes a sequential pass; the receivers touch only their own per-object records.\")\r\n UpdateShLighting(objects = [])\r\n {\r\n if (!this.shLightingManager)\r\n {\r\n return 0;\r\n }\r\n\r\n let updated = 0;\r\n\r\n for (const object of objects)\r\n {\r\n if (typeof object?.UpdateShLighting !== \"function\")\r\n {\r\n continue;\r\n }\r\n object.UpdateShLighting(this.shLightingManager, this.updateContext);\r\n updated++;\r\n }\r\n\r\n return updated;\r\n }\r\n\r\n /**\r\n * The scene's own per-frame vertex record (Carbon m_perFrameVS,\r\n * EveSpaceScene.h:300). Persistent, not arena-leased: it is rewritten each\r\n * frame and bound once, and the PS fill reads m_upscalingAmount back out of\r\n * the same pass.\r\n */\r\n #perFrameVS = RawData.create(\"EveSpaceScenePerFrameVSData\");\r\n\r\n /** Carbon m_perFramePS (EveSpaceScene.h:240). */\r\n #perFramePS = RawData.create(\"EveSpaceScenePerFramePSData\");\r\n\r\n /** The record PopulatePerFrameVSData fills. */\r\n GetPerFrameVSData()\r\n {\r\n return this.#perFrameVS;\r\n }\r\n\r\n /** The record PopulatePerFramePSData fills. */\r\n GetPerFramePSData()\r\n {\r\n return this.#perFramePS;\r\n }\r\n\r\n /**\r\n * Fills the per-frame VERTEX constants (Carbon\r\n * EveSpaceScene::PopulatePerFrameVSData, cpp:3015-3068).\r\n *\r\n * Adapted in one respect, the same way StampFrameContext is: Carbon reads\r\n * the camera off `Tr2Renderer` statics and the render-target/viewport sizes\r\n * off `renderContext.m_esm`, neither of which exists GPU-free here. The\r\n * driver passes them in `frame` instead. Everything the scene itself owns -\r\n * sun, fog, env-map rotation, the previous frame's view/projection - is read\r\n * from the scene, as Carbon does.\r\n *\r\n * Matrices are stored TRANSPOSED because the shaders are column_major, with\r\n * one deliberate exception Carbon calls out at cpp:3023: the value wanted for\r\n * `ViewInverseTransposeMat` is already a transpose, so transposing it again\r\n * cancels and the inverse view goes in as-is.\r\n *\r\n * @param {Object} renderContext - the frame's Tr2RenderContext\r\n * @param {Object} [frame] - the engine-supplied state Carbon reads statically\r\n * @param {Number} [frame.renderTargetWidth]\r\n * @param {Number} [frame.renderTargetHeight]\r\n * @param {Number} [frame.aspectRatio]\r\n * @param {Number} [frame.animationTime] - Tr2Renderer::GetAnimationTime\r\n * @param {Object|null} [frame.deviceViewport] - {width, height}\r\n * @param {Object|null} [frame.projectionTransform] - the NON reversed-depth\r\n * projection, which Carbon uses only to recover the field of view\r\n * @param {Object} [out] - the record to fill; defaults to the scene's own\r\n * @returns {Object} the filled record\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2Renderer view statics and the ESM's render-target/viewport sizes are engine state; the driver supplies them in `frame`.\")\r\n PopulatePerFrameVSData(renderContext, frame = {}, out = this.#perFrameVS)\r\n {\r\n const view = renderContext.GetViewTransform();\r\n const projection = renderContext.GetProjection();\r\n\r\n // column_major for shaders\r\n out.SetAndTranspose(\"ViewMat\", view);\r\n out.SetAndTranspose(\"ProjectionMat\", projection);\r\n\r\n // Carbon `view * proj` (row-vector); gl-matrix swaps the operands.\r\n mat4.multiply(perFrameMatrixScratch, projection, view);\r\n out.SetAndTranspose(\"ViewProjectionMat\", perFrameMatrixScratch);\r\n\r\n // Needs the transposed, but the shader also wants column_major, so it is\r\n // transpose(transpose(m)) == m (cpp:3023-3024).\r\n mat4.transpose(perFrameMatrixScratch, renderContext.GetInverseViewTransform());\r\n out.SetAndTranspose(\"ViewInverseTransposeMat\", perFrameMatrixScratch);\r\n\r\n // Carbon `m_projectionLast * m_jitterMatrix` then `m_viewLast * that`.\r\n mat4.multiply(perFrameLastProjectionScratch, this.jitterMatrix, this.projectionLast);\r\n out.SetAndTranspose(\"ProjLast\", perFrameLastProjectionScratch);\r\n out.SetAndTranspose(\"ViewLast\", this.viewLast);\r\n mat4.multiply(perFrameMatrixScratch, perFrameLastProjectionScratch, this.viewLast);\r\n out.SetAndTranspose(\"ViewProjectionLast\", perFrameMatrixScratch);\r\n\r\n // Each scene has a nebula, and that can be rotated and inverted by scaling.\r\n mat4.fromQuat(perFrameMatrixScratch, this.envMapRotation);\r\n out.SetAndTranspose(\"EnvMapRotationMat\", perFrameMatrixScratch);\r\n\r\n this.#FillSunData(out);\r\n\r\n out.Set(\"TargetResolution\", [\r\n frame.renderTargetWidth ?? 0,\r\n frame.renderTargetHeight ?? 0\r\n ]);\r\n\r\n this.#FillFovXY(out, frame);\r\n\r\n // Guarded so a zero-width fog band cannot divide by zero (cpp:3049-3054).\r\n let distance = this.fogEnd - this.fogStart;\r\n if (Math.abs(distance) < 1e-5)\r\n {\r\n distance = 1e-5;\r\n }\r\n out.Set(\"FogFactors\", [ this.fogEnd / distance, 1 / distance, this.fogMax ]);\r\n\r\n // Derived from SetupViewport in Tr2Renderer.cpp (cpp:3056-3062).\r\n const viewport = renderContext.GetViewport();\r\n const device = frame.deviceViewport ?? viewport;\r\n\r\n if (viewport && device)\r\n {\r\n out.Set(\"ViewportAdjustment\", [\r\n viewport.x < 0 ? -1 : 1,\r\n viewport.y + viewport.height > (frame.renderTargetHeight ?? 0) ? -1 : 1,\r\n device.width / viewport.width,\r\n device.height / viewport.height\r\n ]);\r\n }\r\n\r\n out.Set(\"Time\", frame.animationTime ?? 0);\r\n out.Set(\"Upscaling\", this.upscalingAmount);\r\n out.Set(\"ViewportSize\", device ? [ device.width, device.height ] : [ 0, 0 ]);\r\n\r\n return out;\r\n }\r\n\r\n /**\r\n * Fills the per-frame PIXEL constants (Carbon\r\n * EveSpaceScene::PopulatePerFramePSData, cpp:3075-3202). Same `frame`\r\n * adaptation as the vertex fill.\r\n *\r\n * The cascaded-shadow block (ShadowMapValues / CascadeRanges /\r\n * ShadowMatrixVal / SplitInfo) is filled only when a shadow map is passed,\r\n * exactly as Carbon's `if( shadowMap )` gate does; without one the record\r\n * leaves the persistent cascade bytes untouched. `ShadowCameraRange` remains\r\n * disabled, so stale cascade bytes are not consumed until a map is supplied\r\n * again.\r\n *\r\n * @param {Object} renderContext - the frame's Tr2RenderContext\r\n * @param {Object} [frame] - as PopulatePerFrameVSData, plus:\r\n * @param {Number} [frame.frameIndex] - Tr2Renderer::GetCurrentFrameCounter\r\n * @param {Number} [frame.gammaBrightness]\r\n * @param {Number} [frame.sceneMipLodBias] - the upscaler's bias, plus the\r\n * scene post-process's own; the upscaling info is engine state\r\n * @param {Number} [frame.inverseShadowMapAtlasSize] - 0 with no light manager\r\n * @param {Number} [frame.shadowMapAtlasEntryMinSizeLog2]\r\n * @param {Tr2ShadowMap|null} [shadowMap=this.cascadedShadowMap] - the owned\r\n * cascaded shadow map; explicit null disables cascade packing\r\n * @param {Object} [out] - the record to fill; defaults to the scene's own\r\n * @returns {Object} the filled record\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2Renderer statics, the ESM viewport, Tr2LightManager's atlas settings and the upscaler's mip bias are engine state; the driver supplies them in `frame`.\")\r\n PopulatePerFramePSData(renderContext, frame = {}, shadowMap = this.cascadedShadowMap, out = this.#perFramePS)\r\n {\r\n if (shadowMap !== null && !(shadowMap instanceof Tr2ShadowMap))\r\n {\r\n throw new TypeError(\"EveSpaceScene.PopulatePerFramePSData requires a Tr2ShadowMap or null.\");\r\n }\r\n const projection = renderContext.GetProjection();\r\n\r\n out.SetAndTranspose(\"ViewMat\", renderContext.GetViewTransform());\r\n\r\n // transpose(transpose(m)) == m, as in the vertex fill (cpp:3079-3080).\r\n mat4.transpose(perFrameMatrixScratch, renderContext.GetInverseViewTransform());\r\n out.SetAndTranspose(\"ViewInverseTransposeMat\", perFrameMatrixScratch);\r\n\r\n mat4.fromQuat(perFrameMatrixScratch, this.envMapRotation);\r\n out.SetAndTranspose(\"EnvMapRotationMat\", perFrameMatrixScratch);\r\n\r\n this.#FillSunData(out);\r\n\r\n // The pixel fill alone overrides the sun's alpha with the roughness\r\n // (cpp:3087) - the vertex fill leaves the blended colour's own alpha.\r\n out.Set(\"Sun.DiffuseColor\", [\r\n this.currentSunColor[0],\r\n this.currentSunColor[1],\r\n this.currentSunColor[2],\r\n this.defaultDiffuseRoughness\r\n ]);\r\n\r\n out.Set(\"AmbientColor\", [ this.ambientColor[0], this.ambientColor[1], this.ambientColor[2] ]);\r\n out.Set(\"ReflectionIntensity\", this.currentReflectionIntensity);\r\n out.Set(\"FogColor\", [ this.fogColor[0], this.fogColor[1], this.fogColor[2], this.fogMax ]);\r\n\r\n out.Set(\"GammaBrightness\", frame.gammaBrightness ?? 0);\r\n\r\n out.Set(\"TargetResolution\", [\r\n frame.renderTargetWidth ?? 0,\r\n frame.renderTargetHeight ?? 0\r\n ]);\r\n\r\n this.#FillFovXY(out, frame);\r\n\r\n // Shadows are disabled by default (cpp:3107).\r\n out.Set(\"ShadowCameraRange\", [ 1, 0 ]);\r\n\r\n const viewport = renderContext.GetViewport();\r\n const device = frame.deviceViewport ?? viewport;\r\n\r\n out.Set(\"ViewportOffset\", viewport ? [ viewport.x, viewport.y ] : [ 0, 0 ]);\r\n out.Set(\"ViewportSize\", device ? [ device.width, device.height ] : [ 0, 0 ]);\r\n\r\n out.Set(\"Time\", frame.animationTime ?? 0);\r\n\r\n out.Set(\"FrameIndex\", frame.frameIndex ?? 0);\r\n out.Set(\"Jittering\", vec4.exactEquals(this.jitter, ZERO_JITTER) ? 0 : 1);\r\n\r\n // Carbon stores 1 << m_shadowQuality, not the enum value.\r\n out.Set(\"ShadowQuality\", 1 << this.shadowQualitySetting);\r\n\r\n out.Set(\"InverseShadowMapAtlasSize\", frame.inverseShadowMapAtlasSize ?? 0);\r\n out.Set(\"ShadowMapAtlasEntryMinSizeLog2\", frame.shadowMapAtlasEntryMinSizeLog2 ?? 0);\r\n\r\n out.Set(\"ShadowMapSettings\", [ 1, 1, 0, 0 ]);\r\n out.Set(\"ShadowLightness\", 0);\r\n out.Set(\"DepthMapSampleCount\", 1); // legacy\r\n\r\n // The reversed-depth projection's _43/_33, which the shader uses to turn a\r\n // depth sample back into a view-space distance (cpp:3140-3142).\r\n out.Set(\"ProjectionToView\", [ projection[14], projection[10] ]);\r\n\r\n // Carbon resets m_upscalingAmount here and lets the upscaler raise it; with\r\n // no upscaler the scene stays at 1 and only the post-process bias applies.\r\n this.upscalingAmount = frame.upscalingAmount ?? 1;\r\n out.Set(\"Upscaling\", this.upscalingAmount);\r\n out.Set(\"SceneMipLodBias\", frame.sceneMipLodBias ?? 0);\r\n\r\n if (shadowMap)\r\n {\r\n this.#FillShadowCascades(out, shadowMap, renderContext);\r\n }\r\n\r\n // Carbon writes Inverse(Transpose(P)). RawData supplies that terminal\r\n // transpose, so derive only the logical inverse here.\r\n mat4.invert(perFrameMatrixScratch, projection);\r\n out.SetAndTranspose(\"ProjectionInverseMat\", perFrameMatrixScratch);\r\n\r\n out.Set(\"Debug\", this.perFrameDebug);\r\n\r\n out.Set(\"VolumetricSlices\", VOLUMETRIC_SLICES);\r\n\r\n this.volumetricsRenderer.PopulatePerFrameData(out);\r\n\r\n return out;\r\n }\r\n\r\n /**\r\n * The SunData block both fills share (cpp:3035-3039 / 3085-3089). The\r\n * direction is normalized AND negated: shaders work with the direction TO\r\n * the light, not the direction it travels.\r\n */\r\n #FillSunData(out)\r\n {\r\n vec3.normalize(sunDirectionScratch, this.sunDirection);\r\n out.Set(\"Sun.DirWorld\", [\r\n -sunDirectionScratch[0],\r\n -sunDirectionScratch[1],\r\n -sunDirectionScratch[2]\r\n ]);\r\n out.Set(\"Sun.DiffuseColor\", this.currentSunColor);\r\n }\r\n\r\n /**\r\n * FOV both ways - width in x, height in y (cpp:3046-3047 / 3103-3104).\r\n * Carbon recovers it from the NON reversed-depth projection, so a driver\r\n * that reverses depth must pass the original in `frame.projectionTransform`.\r\n */\r\n #FillFovXY(out, frame)\r\n {\r\n const source = frame.projectionTransform;\r\n const fovY = source ? EveCamera.CalculateFovFromProjection(source) : 0;\r\n\r\n out.Set(\"FovXY\", [ fovY * (frame.aspectRatio ?? 1), fovY ]);\r\n }\r\n\r\n /**\r\n * The cascaded-shadow block (cpp:3163-3190). Each cascade's shadow matrix is\r\n * rebased into the current view, flipped in y, remapped from (-1,+1) to\r\n * (0,1), then scaled and offset into its cell of the 8x2 atlas.\r\n */\r\n #FillShadowCascades(out, shadowMap, renderContext)\r\n {\r\n const split = shadowMap.GetPerSplitData();\r\n\r\n for (let index = 0; index < 4; index++)\r\n {\r\n out.SetIndex(\"ShadowMapValues\", index, split.ShadowMapValues[index]);\r\n }\r\n\r\n for (let index = 0; index < 16; index++)\r\n {\r\n out.SetIndex(\"CascadeRanges\", index, split.CascadeRanges[index]);\r\n }\r\n\r\n const inverseView = renderContext.GetInverseViewTransform();\r\n const cellsX = 8;\r\n const cellsY = 2;\r\n\r\n for (let index = 0; index < CjsPerFrameLayouts.SHADOW_FRUSTUM_COUNT; index++)\r\n {\r\n const stored = split.ShadowMatrixVal[index];\r\n\r\n // Carbon stores Transpose(LVP), then computes inverseView * LVP. The JS\r\n // producer keeps logical LVP, so gl-matrix reverses only that product.\r\n mat4.multiply(perFrameMatrixScratch, stored, inverseView);\r\n\r\n // Flip y and change the range from (-1, +1) to (0, 1).\r\n mat4.multiply(perFrameMatrixScratch, SHADOW_CLIP_TO_UV, perFrameMatrixScratch);\r\n\r\n // Then into this cascade's cell of the 8x2 atlas.\r\n mat4.identity(perFrameLastProjectionScratch);\r\n mat4.translate(perFrameLastProjectionScratch, perFrameLastProjectionScratch, [\r\n (index % cellsX) / cellsX,\r\n Math.floor(index / cellsX) / cellsY,\r\n 0\r\n ]);\r\n mat4.scale(perFrameLastProjectionScratch, perFrameLastProjectionScratch, [\r\n 1 / cellsX,\r\n 1 / cellsY,\r\n 1\r\n ]);\r\n mat4.multiply(perFrameMatrixScratch, perFrameLastProjectionScratch, perFrameMatrixScratch);\r\n\r\n out.SetAndTransposeIndex(\"ShadowMatrixVal\", index, perFrameMatrixScratch);\r\n }\r\n\r\n out.Set(\"SplitInfo\", split.SplitInfo);\r\n }\r\n\r\n /** Carbon method ReregisterEntities (MAP_METHOD_AND_WRAP, cpp:4064-4089).\r\n * Guarded no-op after ClearComponentRegistry has nulled the registry\r\n * (destroy-only path; Carbon would never call this afterwards). */\r\n @carbon.method\r\n @impl.implemented\r\n ReregisterEntities()\r\n {\r\n if (!this.componentRegistry)\r\n {\r\n return;\r\n }\r\n\r\n for (const collection of [this.objects, this.backgroundObjects, this.planets])\r\n {\r\n for (const object of collection)\r\n {\r\n if (object instanceof EveEntity)\r\n {\r\n this.componentRegistry.ReRegister(object);\r\n }\r\n }\r\n }\r\n if (this.cameraAttachmentParent instanceof EveEntity)\r\n {\r\n this.componentRegistry.ReRegister(this.cameraAttachmentParent);\r\n }\r\n }\r\n\r\n /** Carbon method ClearComponentRegistry (EveSpaceScene.cpp:4091-4099, called\r\n * from the destructor cpp:322). Entity component-state is deliberately NOT\r\n * cleared beyond what Clear() does - either the scene is being destroyed\r\n * (entities go too) or entities move to another scene and re-register there.\r\n * The JS registry Clear() additionally detaches entity.registry when it\r\n * points at this registry - strictly more hygienic than Carbon; kept. */\r\n @carbon.method\r\n @impl.implemented\r\n ClearComponentRegistry()\r\n {\r\n this.componentRegistry?.Clear();\r\n this.componentRegistry = null;\r\n }\r\n\r\n /** Carbon method GetPostProcessDebug (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n GetPostProcessDebug()\r\n {\r\n return this.postProcessDebug;\r\n }\r\n\r\n /** Carbon method UpdateScene -> UpdateSceneFromScript (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateScene(time)\r\n {\r\n return this.Update(time, time);\r\n }\r\n\r\n static EveVisualizeMethod = EveVisualizeMethod;\r\n\r\n static ShadowQuality = ShadowQuality;\r\n\r\n /**\r\n * Carbon SimplePriorityBlend (PriorityBlend.h:371-413) specialized to the\r\n * IEveLightingOverride::Overrides value type\r\n * { sunColor: vec4, sunIntensity, backgroundIntensity, reflectionIntensity }\r\n * (EveChildLightingOverride.h:15-32) - `+` and `* weight` componentwise.\r\n * Walks the (already priority-desc-sorted) list in equal-priority groups:\r\n * factor = (1 / max(groupTotal, 1)) * remainingWeight\r\n * then subtracts the UNCLAMPED group total from remainingWeight. Two quirks\r\n * preserved exactly: (a) a group with total intensity 0.3 contributes at\r\n * weight 0.3*remaining and leaves 0.7 for lower priorities; (b) a group with\r\n * total 2 is normalized to consume exactly remainingWeight and terminates\r\n * (remaining goes to -1).\r\n * @param {Array} sources - [{ priority, intensity, value }] sorted high->low\r\n * @returns {{ sunColor: Float32Array, sunIntensity: Number,\r\n * backgroundIntensity: Number, reflectionIntensity: Number }}\r\n */\r\n static #SimplePriorityBlend(sources)\r\n {\r\n const result = {\r\n sunColor: vec4.create(),\r\n sunIntensity: 0,\r\n backgroundIntensity: 0,\r\n reflectionIntensity: 0\r\n };\r\n let remainingWeight = 1;\r\n\r\n for (let first = 0; first < sources.length;)\r\n {\r\n // The range of sources sharing the current priority.\r\n let last = first + 1;\r\n while (last < sources.length && sources[last].priority === sources[first].priority)\r\n {\r\n last++;\r\n }\r\n\r\n let totalPriorityIntensity = 0;\r\n for (let index = first; index < last; index++)\r\n {\r\n totalPriorityIntensity += sources[index].intensity;\r\n }\r\n if (totalPriorityIntensity === 0)\r\n {\r\n first = last;\r\n continue;\r\n }\r\n\r\n const normalizationFactor = 1 / Math.max(totalPriorityIntensity, 1) * remainingWeight;\r\n\r\n for (let index = first; index < last; index++)\r\n {\r\n const weight = sources[index].intensity * normalizationFactor;\r\n const value = sources[index].value;\r\n vec4.scaleAndAdd(result.sunColor, result.sunColor, value.sunColor, weight);\r\n result.sunIntensity += value.sunIntensity * weight;\r\n result.backgroundIntensity += value.backgroundIntensity * weight;\r\n result.reflectionIntensity += value.reflectionIntensity * weight;\r\n }\r\n\r\n // Subtracts the UNCLAMPED total (PriorityBlend.h:405).\r\n remainingWeight -= totalPriorityIntensity;\r\n first = last;\r\n if (remainingWeight <= 0)\r\n {\r\n break;\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n}\r\n"],"names":["sunDirectionScratch","vec3","create","perFrameMatrixScratch","mat4","perFrameLastProjectionScratch","ZERO_JITTER","vec4","VOLUMETRIC_SLICES","Object","freeze","SHADOW_CLIP_TO_UV","fromValues","IDENTITY","_EveSpaceScene","_identity","EveSpaceScene","CjsModel","e","_init_visualizeMethod","_init_extra_visualizeMethod","_init_envMap1ResPath","_init_extra_envMap1ResPath","_init_envMap2ResPath","_init_extra_envMap2ResPath","_init_envMap3ResPath","_init_extra_envMap3ResPath","_init_lowQualityNebulaResPath","_init_extra_lowQualityNebulaResPath","_init_lowQualityNebulaMixResPath","_init_extra_lowQualityNebulaMixResPath","_init_envMapResPath","_init_extra_envMapResPath","_init_fogColor","_init_extra_fogColor","_init_sunDirection","_init_extra_sunDirection","_init_ambientColor","_init_extra_ambientColor","_init_shLightingManager","_init_extra_shLightingManager","_init_combinedPostProcessAttributes","_init_extra_combinedPostProcessAttributes","_init_dataTextureMgr","_init_extra_dataTextureMgr","_init_dynamicObjectReflectionEnabled","_init_extra_dynamicObjectReflectionEnabled","_init_componentRegistry","_init_extra_componentRegistry","_init_cameraAttachmentParent","_init_extra_cameraAttachmentParent","_init_postProcessDebug","_init_extra_postProcessDebug","_init_curveSets","_init_extra_curveSets","_init_defaultDiffuseRoughness","_init_extra_defaultDiffuseRoughness","_init_fogStart","_init_extra_fogStart","_init_fogEnd","_init_extra_fogEnd","_init_reflectionIntensity","_init_extra_reflectionIntensity","_init_distanceFields","_init_extra_distanceFields","_init_backgroundEffect","_init_extra_backgroundEffect","_init_backgroundReflectionIntensity","_init_extra_backgroundReflectionIntensity","_init_nebulaIntensity","_init_extra_nebulaIntensity","_init_display","_init_extra_display","_init_backgroundRenderingEnabled","_init_extra_backgroundRenderingEnabled","_init_update","_init_extra_update","_init_impostorManager","_init_extra_impostorManager","_init_lensflares","_init_extra_lensflares","_init_externalParameters","_init_extra_externalParameters","_init_fogMax","_init_extra_fogMax","_init_staticParticles","_init_extra_staticParticles","_init_debugRenderer","_init_extra_debugRenderer","_init_objects","_init_extra_objects","_init_uiObjects","_init_extra_uiObjects","_init_backgroundObjects","_init_extra_backgroundObjects","_init_planets","_init_extra_planets","_init_raytracingManager","_init_extra_raytracingManager","_init_reflectionBackLightingColor","_init_extra_reflectionBackLightingColor","_init_reflectionBackLightingContrast","_init_extra_reflectionBackLightingContrast","_init_reflectionProbe","_init_extra_reflectionProbe","_init_volumetricsRenderer","_init_extra_volumetricsRenderer","_init_starfield","_init_extra_starfield","_init_planetScale","_init_extra_planetScale","_init_planetCameraScale","_init_extra_planetCameraScale","_init_subSurfaceScattering","_init_extra_subSurfaceScattering","_init_shadowQualitySetting","_init_extra_shadowQualitySetting","_init_sunDiffuseColor","_init_extra_sunDiffuseColor","_init_sunDiffuseColorWithDynamicLights","_init_extra_sunDiffuseColorWithDynamicLights","_init_envMapRotation","_init_extra_envMapRotation","_init_ballpark","_init_extra_ballpark","_init_name","_init_extra_name","_init_sunBall","_init_extra_sunBall","_init_postprocess","_init_extra_postprocess","_init_virtualCameraSystem","_init_extra_virtualCameraSystem","_init_warpTunnel","_init_extra_warpTunnel","_init_perFrameDebug","_init_extra_perFrameDebug","_init_cascadedShadowMap","_init_extra_cascadedShadowMap","_init_updateTime","_init_extra_updateTime","_init_useSunDiffuseColorWithDynamicLights","_init_extra_useSunDiffuseColorWithDynamicLights","_init_envMap","_init_extra_envMap","_init_envMap2","_init_extra_envMap2","_init_envMap3","_init_extra_envMap3","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","readwrite","int32","enum","notify","persist","string","color","persistOnly","model","read","objectRef","boolean","rawStruct","list","float32","quat","float64","carbon","method","impl","adapted","notImplemented","implemented","reason","custom","visualizeMethod","envMap1ResPath","envMap2ResPath","envMap3ResPath","lowQualityNebulaResPath","lowQualityNebulaMixResPath","envMapResPath","fogColor","sunDirection","ambientColor","shLightingManager","combinedPostProcessAttributes","Tr2PostProcessAttributes","dataTextureMgr","dynamicObjectReflectionEnabled","componentRegistry","EveComponentRegistry","cameraAttachmentParent","EveEffectRoot2","postProcessDebug","curveSets","defaultDiffuseRoughness","fogStart","fogEnd","reflectionIntensity","distanceFields","backgroundEffect","backgroundReflectionIntensity","nebulaIntensity","display","backgroundRenderingEnabled","update","impostorManager","lensflares","externalParameters","fogMax","staticParticles","debugRenderer","objects","uiObjects","backgroundObjects","planets","raytracingManager","reflectionBackLightingColor","reflectionBackLightingContrast","reflectionProbe","volumetricsRenderer","Tr2VolumetricsRenderer","starfield","planetScale","planetCameraScale","subSurfaceScattering","shadowQualitySetting","sunDiffuseColor","sunDiffuseColorWithDynamicLights","envMapRotation","ballpark","name","sunBall","postprocess","virtualCameraSystem","warpTunnel","perFrameDebug","cascadedShadowMap","updateTime","useSunDiffuseColorWithDynamicLights","envMap1","envMap2","envMap3","updateContext","EveUpdateContext","currentSunColor","currentNebulaIntensity","currentReflectionIntensity","viewLast","projectionLast","jitterMatrix","jitter","upscalingAmount","dynamicLightingEnabled","enablePostProcessDebugging","StampFrameContext","frustum","visibilityThreshold","lowDetailThreshold","mediumDetailThreshold","highDetailThreshold","lodFactor","raytracingEnabled","context","SetFrustum","SetHighDetailThreshold","SetMediumDetailThreshold","SetLowDetailThreshold","SetVisibilityThreshold","SetLodFactor","Update","realTime","simTime","SetTime","UpdateOrigin","dataTextureManager","object","UpdateSyncronous","UpdateAsyncronous","distanceField","lensflare","curveSet","renderContext","UpdatePostProcessAttributes","normalize","negate","PickObject","args","Error","PickAsyncObject","PickObjectAndAreaID","PickInfinity","x","y","projection","view","viewport","out","resolved","GetViewport","projected","screenToProjection","ray","convertProjectionCoordToWorldPickRay","copy","direction","UpdateVisibility","inverseView","SetTransform","planet","UpdateZOnlyVisibility","GetRenderables","GetFrustum","FromPostProcess","SCENE_DEFAULT_PRIORITY","sources","owner","GetComponents","EveComponentType","PostProcessOwner","attributes","GetPostProcessAttributes","push","length","Tr2PostProcess2","sort","a","b","priority","observer","CreateDebugObserver","MergeInto","GetDict","SetDynamicExposure","GetDynamicExposureIfAvailable","SetTaa","GetTaaIfAvailable","SetTonemapping","GetTonemappingIfAvailable","SetFog","GetFogIfAvailable","SetGodRays","GetGodRaysIfAvailable","SetGenericEffect","GetGenericEffectIfAvailable","MEDIUM_PRIORITY","GetPostProcess","BlendLightingOverrides","overrides","component","EveLightingOverride","GetOverrides","sunColorSource","sunIntensity","Math","max","baselineSunColor","scale","intensity","value","sunColor","backgroundIntensity","over","UpdateFogSettings","GatherLights","lightManager","SetShadowQuality","Clear","AdjustLightCutoff","GetLodFactor","LightOwner","GetLights","ResolveLightData","UpdateShLighting","updated","RawData","GetPerFrameVSData","GetPerFramePSData","PopulatePerFrameVSData","frame","GetViewTransform","GetProjection","SetAndTranspose","multiply","transpose","GetInverseViewTransform","fromQuat","Set","renderTargetWidth","renderTargetHeight","distance","abs","device","deviceViewport","height","width","animationTime","PopulatePerFramePSData","shadowMap","Tr2ShadowMap","TypeError","gammaBrightness","frameIndex","exactEquals","inverseShadowMapAtlasSize","shadowMapAtlasEntryMinSizeLog2","sceneMipLodBias","invert","PopulatePerFrameData","#FillSunData","#FillFovXY","source","projectionTransform","fovY","EveCamera","CalculateFovFromProjection","aspectRatio","#FillShadowCascades","split","GetPerSplitData","index","SetIndex","ShadowMapValues","CascadeRanges","cellsX","cellsY","CjsPerFrameLayouts","SHADOW_FRUSTUM_COUNT","stored","ShadowMatrixVal","identity","translate","floor","SetAndTransposeIndex","SplitInfo","ReregisterEntities","collection","EveEntity","ReRegister","ClearComponentRegistry","GetPostProcessDebug","UpdateScene","time","EveVisualizeMethod","ShadowQuality","#SimplePriorityBlend","result","remainingWeight","first","last","totalPriorityIntensity","normalizationFactor","weight","scaleAndAdd","constructor"],"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 } from '#consts/render-context';
5
5
  import { AmbientOcclusionQuality, AntiAliasingQuality, EveVisualizeMethod } from '../../generated/eve/enums.js';
@@ -24,7 +24,7 @@ new class extends _identity {
24
24
  className: "EveSpaceSceneRenderDriver",
25
25
  family: "eve/scene",
26
26
  purpose: "Collects camera, quality, pass-toggle, overlay, background, and post-process state for driving an EVE space-scene frame."
27
- })], [[[io, io.readwrite, type, type.int32, void 0, type.enum("AmbientOcclusionQuality")], 16, "aoQuality"], [[io, io.readwrite, type, type.int32, void 0, type.enum("AntiAliasingQuality")], 16, "antiAliasingQuality"], [[io, io.readwrite, type, type.int32, void 0, type.enum("EveVisualizeMethod")], 16, "visualizeMethod"], [[io, io.readwrite, type, type.int32, void 0, type.enum("Quality")], 16, "postProcessingQuality"], [[io, io.readwrite, type, type.int32, void 0, type.enum("ShadowQuality")], 16, "shadowQuality"], [[io, io.readwrite, type, type.int32, void 0, type.enum("PixelFormat")], 16, "customStencilFormat"], [[io, io.readwrite, type, type.int32, void 0, type.enum("PixelFormat")], 16, "internalPixelFormat"], [[io, io.readwrite, type, type.int32, void 0, type.enum("Tr2VolumerticQuality")], 16, "volumetricQuality"], [[io, io.persistOnly, void 0, type.model("EveSpaceScene")], 16, "scene"], [[io, io.readwrite, type, type.string], 16, "name"], [[io, io.readwrite, type, type.boolean], 16, "enableUpscaling"], [[io, io.readwrite, void 0, type.objectRef("TriProjection")], 16, "projection"], [[io, io.readwrite, void 0, type.objectRef("EveCamera")], 16, "camera"], [[io, io.readwrite, void 0, type.objectRef("TriView")], 16, "view"], [[io, io.readwrite, void 0, type.rawStruct("Settings")], 16, "clearColor"], [[io, io.read, void 0, type.objectRef("Tr2Effect")], 16, "distortionEffect"], [[io, io.readwrite, type, type.boolean], 16, "enableDistortion"], [[io, io.readwrite, type, type.boolean], 16, "reflectionCorrectionEnabled"], [[io, io.readwrite, type, type.boolean], 16, "forceOpaqueBuffer"], [[io, io.readwrite, type, type.boolean], 16, "forceNormalMap"], [[io, io.readwrite, type, type.boolean], 16, "forceVelocityMap"], [[io, io.read, void 0, type.objectRef("TriStepRenderFps")], 16, "fpsRenderer"], [[io, io.persist, type, type.boolean], 16, "mainPassRenderingEnabled"], [[io, io.read, void 0, type.list("ITr2Scene")], 16, "toolsScenes"], [[io, io.readwrite, type, type.string], 16, "depthPassTechnique"], [[io, io.read, void 0, type.objectRef("Tr2PostProcessRenderer")], 16, "postProcess"], [[io, io.readwrite, type, type.boolean], 16, "showFPS"], [[io, io.readwrite, void 0, type.objectRef("ITr2RenderNode")], 16, "sceneOverlay"], [[io, io.readwrite, void 0, type.objectRef("ITr2RenderNode")], 16, "background"], [[io, io.persist, void 0, type.model("Tr2SSAO")], 16, "SSAO"], [[io, io.readwrite, type, type.boolean], 16, "enableRendering"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetAllTempTextures"]], 0, void 0, CjsModel));
27
+ })], [[[edit, edit.readwrite, type, type.int32, void 0, type.enum("AmbientOcclusionQuality")], 16, "aoQuality"], [[edit, edit.readwrite, type, type.int32, void 0, type.enum("AntiAliasingQuality")], 16, "antiAliasingQuality"], [[edit, edit.readwrite, type, type.int32, void 0, type.enum("EveVisualizeMethod")], 16, "visualizeMethod"], [[edit, edit.readwrite, type, type.int32, void 0, type.enum("Quality")], 16, "postProcessingQuality"], [[edit, edit.readwrite, type, type.int32, void 0, type.enum("ShadowQuality")], 16, "shadowQuality"], [[edit, edit.readwrite, type, type.int32, void 0, type.enum("PixelFormat")], 16, "customStencilFormat"], [[edit, edit.readwrite, type, type.int32, void 0, type.enum("PixelFormat")], 16, "internalPixelFormat"], [[edit, edit.readwrite, type, type.int32, void 0, type.enum("Tr2VolumerticQuality")], 16, "volumetricQuality"], [[edit, edit.persistOnly, void 0, type.model("EveSpaceScene")], 16, "scene"], [[edit, edit.readwrite, type, type.string], 16, "name"], [[edit, edit.readwrite, type, type.boolean], 16, "enableUpscaling"], [[edit, edit.readwrite, void 0, type.objectRef("TriProjection")], 16, "projection"], [[edit, edit.readwrite, void 0, type.objectRef("EveCamera")], 16, "camera"], [[edit, edit.readwrite, void 0, type.objectRef("TriView")], 16, "view"], [[edit, edit.readwrite, void 0, type.rawStruct("Settings")], 16, "clearColor"], [[edit, edit.read, void 0, type.objectRef("Tr2Effect")], 16, "distortionEffect"], [[edit, edit.readwrite, type, type.boolean], 16, "enableDistortion"], [[edit, edit.readwrite, type, type.boolean], 16, "reflectionCorrectionEnabled"], [[edit, edit.readwrite, type, type.boolean], 16, "forceOpaqueBuffer"], [[edit, edit.readwrite, type, type.boolean], 16, "forceNormalMap"], [[edit, edit.readwrite, type, type.boolean], 16, "forceVelocityMap"], [[edit, edit.read, void 0, type.objectRef("TriStepRenderFps")], 16, "fpsRenderer"], [[edit, edit.persist, type, type.boolean], 16, "mainPassRenderingEnabled"], [[edit, edit.read, void 0, type.list("ITr2Scene")], 16, "toolsScenes"], [[edit, edit.readwrite, type, type.string], 16, "depthPassTechnique"], [[edit, edit.read, void 0, type.objectRef("Tr2PostProcessRenderer")], 16, "postProcess"], [[edit, edit.readwrite, type, type.boolean], 16, "showFPS"], [[edit, edit.readwrite, void 0, type.objectRef("ITr2RenderNode")], 16, "sceneOverlay"], [[edit, edit.readwrite, void 0, type.objectRef("ITr2RenderNode")], 16, "background"], [[edit, edit.persist, void 0, type.model("Tr2SSAO")], 16, "SSAO"], [[edit, edit.readwrite, type, type.boolean], 16, "enableRendering"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetAllTempTextures"]], 0, void 0, CjsModel));
28
28
  }
29
29
  /** m_settings.aoQuality (AmbientOcclusionQuality - enum AmbientOcclusionQuality) [READWRITE, ENUM] */
30
30
  aoQuality = (_initProto(this), _init_aoQuality(this, 0));