@carbonenginejs/runtime 0.1.0-alpha.0 → 0.1.0-alpha.1

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 (929) hide show
  1. package/README.md +58 -125
  2. package/dist/audio/index.js +8 -1
  3. package/dist/audio/index.js.map +1 -1
  4. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js +84 -0
  5. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js.map +1 -0
  6. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js +14 -0
  7. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js.map +1 -0
  8. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js +26 -0
  9. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js.map +1 -0
  10. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js +27 -0
  11. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js.map +1 -0
  12. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js +27 -0
  13. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js.map +1 -0
  14. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js +25 -0
  15. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js.map +1 -0
  16. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js +26 -0
  17. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js.map +1 -0
  18. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js +58 -0
  19. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js.map +1 -0
  20. package/dist/audio/trinity/audio/AudManager.js +1 -1
  21. package/dist/audio/trinity/audio/AudManager.js.map +1 -1
  22. package/dist/audio/trinity/audio/{AudObstructionOcclusion.js → AudObstructionOcclusion/AudObstructionOcclusion.js} +8 -52
  23. package/dist/audio/trinity/audio/AudObstructionOcclusion/AudObstructionOcclusion.js.map +1 -0
  24. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js +17 -0
  25. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js.map +1 -0
  26. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js +46 -0
  27. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js.map +1 -0
  28. package/dist/audio/trinity/index.js +8 -1
  29. package/dist/audio/trinity/index.js.map +1 -1
  30. package/dist/character/CjsCharacterAppearanceConstruction.js +5 -0
  31. package/dist/character/CjsCharacterAppearanceConstruction.js.map +1 -1
  32. package/dist/character/CjsCharacterAppearanceManager.js +14 -0
  33. package/dist/character/CjsCharacterAppearanceManager.js.map +1 -1
  34. package/dist/character/CjsCharacterFoundationConstruction.js +5 -0
  35. package/dist/character/CjsCharacterFoundationConstruction.js.map +1 -1
  36. package/dist/character/CjsCharacterTexturePolicy.js +5 -0
  37. package/dist/character/CjsCharacterTexturePolicy.js.map +1 -1
  38. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js +17 -0
  39. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js.map +1 -1
  40. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js +2 -0
  41. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js.map +1 -1
  42. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js +5 -0
  43. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js.map +1 -1
  44. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js +5 -0
  45. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js.map +1 -1
  46. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js +2 -0
  47. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js.map +1 -1
  48. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js +5 -0
  49. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js.map +1 -1
  50. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js +5 -0
  51. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js.map +1 -1
  52. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js +9 -0
  53. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js.map +1 -1
  54. package/dist/global/blue/CjsScriptCallback.js +142 -0
  55. package/dist/global/blue/CjsScriptCallback.js.map +1 -0
  56. package/dist/global/blue/index.js +2 -0
  57. package/dist/global/blue/index.js.map +1 -0
  58. package/dist/global/consts/renderContext/formats.js +51 -1
  59. package/dist/global/consts/renderContext/formats.js.map +1 -1
  60. package/dist/global/consts/renderContext/index.js +2 -2
  61. package/dist/global/consts/renderContext/renderStates.js +16 -1
  62. package/dist/global/consts/renderContext/renderStates.js.map +1 -1
  63. package/dist/global/contracts/index.js +0 -1
  64. package/dist/global/contracts/index.js.map +1 -1
  65. package/dist/global/index.js +4 -3
  66. package/dist/global/index.js.map +1 -1
  67. package/dist/global/math/index.js +2 -0
  68. package/dist/global/math/index.js.map +1 -1
  69. package/dist/global/math/mesh.js +70 -16
  70. package/dist/global/math/mesh.js.map +1 -1
  71. package/dist/global/math/noise.js +47 -68
  72. package/dist/global/math/noise.js.map +1 -1
  73. package/dist/global/math/pool.js +18 -3
  74. package/dist/global/math/pool.js.map +1 -1
  75. package/dist/global/math/random.js +52 -0
  76. package/dist/global/math/random.js.map +1 -0
  77. package/dist/global/math/tri3.js +18 -4
  78. package/dist/global/math/tri3.js.map +1 -1
  79. package/dist/global/utils/bytes.js +22 -4
  80. package/dist/global/utils/bytes.js.map +1 -1
  81. package/dist/global/utils/checksum.js +80 -0
  82. package/dist/global/utils/checksum.js.map +1 -0
  83. package/dist/global/utils/errors/CjsCancellationError.js +36 -0
  84. package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
  85. package/dist/global/utils/errors/CjsError.js +21 -52
  86. package/dist/global/utils/errors/CjsError.js.map +1 -1
  87. package/dist/global/utils/errors/abort.js +1 -1
  88. package/dist/global/utils/errors/abort.js.map +1 -1
  89. package/dist/global/utils/errors/index.js +2 -1
  90. package/dist/global/utils/errors/index.js.map +1 -1
  91. package/dist/global/utils/index.js +4 -2
  92. package/dist/global/utils/index.js.map +1 -1
  93. package/dist/index.js +95 -35
  94. package/dist/index.js.map +1 -1
  95. package/dist/input/Tr2MainWindow.js +7 -9
  96. package/dist/input/Tr2MainWindow.js.map +1 -1
  97. package/dist/resource/CjsResMan.js +33 -39
  98. package/dist/resource/CjsResMan.js.map +1 -1
  99. package/dist/resource/CjsResource.js +19 -5
  100. package/dist/resource/CjsResource.js.map +1 -1
  101. package/dist/resource/audio/AudioGeometryResData.js +22 -27
  102. package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
  103. package/dist/resource/audio/CjsAudioRes.js +4 -5
  104. package/dist/resource/audio/CjsAudioRes.js.map +1 -1
  105. package/dist/resource/format/CjsBitReader.js +263 -0
  106. package/dist/resource/format/CjsBitReader.js.map +1 -0
  107. package/dist/resource/format/CjsByteReader.js +130 -125
  108. package/dist/resource/format/CjsByteReader.js.map +1 -1
  109. package/dist/resource/format/CjsFormat.js +11 -4
  110. package/dist/resource/format/CjsFormat.js.map +1 -1
  111. package/dist/resource/format/CjsFormatError.js +37 -1
  112. package/dist/resource/format/CjsFormatError.js.map +1 -1
  113. package/dist/resource/format/CjsResourceProbe.js +41 -37
  114. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  115. package/dist/resource/format/carbonRecordGuard.js +33 -0
  116. package/dist/resource/format/carbonRecordGuard.js.map +1 -0
  117. package/dist/resource/format/imageSignatures.js +202 -0
  118. package/dist/resource/format/imageSignatures.js.map +1 -0
  119. package/dist/resource/format/index.js +2 -1
  120. package/dist/resource/format/index.js.map +1 -1
  121. package/dist/resource/format/jsonPolicies.js +180 -0
  122. package/dist/resource/format/jsonPolicies.js.map +1 -0
  123. package/dist/resource/formats/black/core/helpers.js +18 -29
  124. package/dist/resource/formats/black/core/helpers.js.map +1 -1
  125. package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
  126. package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
  127. package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
  128. package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
  129. package/dist/resource/formats/bnk/core/busNodes.js +2 -1
  130. package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
  131. package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
  132. package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
  133. package/dist/resource/formats/bnk/core/eventAction.js +15 -93
  134. package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
  135. package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
  136. package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
  137. package/dist/resource/formats/bnk/core/helpers.js +2 -48
  138. package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
  139. package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
  140. package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
  141. package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
  142. package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
  143. package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
  144. package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
  145. package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
  146. package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
  147. package/dist/resource/formats/cmf/core/binary.js +54 -60
  148. package/dist/resource/formats/cmf/core/binary.js.map +1 -1
  149. package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
  150. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  151. package/dist/resource/formats/dds/core/bc6h.js +16 -18
  152. package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
  153. package/dist/resource/formats/dds/core/bc7.js +28 -24
  154. package/dist/resource/formats/dds/core/bc7.js.map +1 -1
  155. package/dist/resource/formats/dds/core/helpers.js +7 -133
  156. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  157. package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
  158. package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
  159. package/dist/resource/formats/dxbc/core/helpers.js +4 -32
  160. package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
  161. package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
  162. package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
  163. package/dist/resource/formats/fbx/core/helpers.js +18 -12
  164. package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
  165. package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
  166. package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
  167. package/dist/resource/formats/flac/core/helpers.js +1 -62
  168. package/dist/resource/formats/flac/core/helpers.js.map +1 -1
  169. package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
  170. package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
  171. package/dist/resource/formats/gif/core/helpers.js +1 -63
  172. package/dist/resource/formats/gif/core/helpers.js.map +1 -1
  173. package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
  174. package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
  175. package/dist/resource/formats/gltf/core/helpers.js +3 -19
  176. package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
  177. package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
  178. package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
  179. package/dist/resource/formats/gr2/core/container.js +1 -10
  180. package/dist/resource/formats/gr2/core/container.js.map +1 -1
  181. package/dist/resource/formats/gr2/core/helpers.js +24 -35
  182. package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
  183. package/dist/resource/formats/gr2/core/shared.js +193 -189
  184. package/dist/resource/formats/gr2/core/shared.js.map +1 -1
  185. package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
  186. package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
  187. package/dist/resource/formats/hlsl/core/helpers.js +1 -30
  188. package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
  189. package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
  190. package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
  191. package/dist/resource/formats/jpeg/core/helpers.js +7 -134
  192. package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
  193. package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
  194. package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
  195. package/dist/resource/formats/mp3/core/helpers.js +1 -64
  196. package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
  197. package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
  198. package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
  199. package/dist/resource/formats/mp4/core/helpers.js +1 -73
  200. package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
  201. package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
  202. package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
  203. package/dist/resource/formats/obj/core/helpers.js +93 -115
  204. package/dist/resource/formats/obj/core/helpers.js.map +1 -1
  205. package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
  206. package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
  207. package/dist/resource/formats/ogg/core/helpers.js +1 -15
  208. package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
  209. package/dist/resource/formats/ogg/core/vorbis.js +138 -144
  210. package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
  211. package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
  212. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  213. package/dist/resource/formats/png/CjsPngFormat.js +5 -3
  214. package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
  215. package/dist/resource/formats/png/core/helpers.js +13 -152
  216. package/dist/resource/formats/png/core/helpers.js.map +1 -1
  217. package/dist/resource/formats/png/core/writer.js +3 -27
  218. package/dist/resource/formats/png/core/writer.js.map +1 -1
  219. package/dist/resource/formats/red/core/helpers.js +19 -29
  220. package/dist/resource/formats/red/core/helpers.js.map +1 -1
  221. package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
  222. package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
  223. package/dist/resource/formats/stl/core/helpers.js +44 -66
  224. package/dist/resource/formats/stl/core/helpers.js.map +1 -1
  225. package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
  226. package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
  227. package/dist/resource/formats/tga/core/helpers.js +7 -153
  228. package/dist/resource/formats/tga/core/helpers.js.map +1 -1
  229. package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
  230. package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
  231. package/dist/resource/formats/vta/core/helpers.js +1 -17
  232. package/dist/resource/formats/vta/core/helpers.js.map +1 -1
  233. package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
  234. package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
  235. package/dist/resource/formats/wav/core/helpers.js +1 -15
  236. package/dist/resource/formats/wav/core/helpers.js.map +1 -1
  237. package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
  238. package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
  239. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +52 -4
  240. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  241. package/dist/resource/formats/webgl/core/helpers.js +39 -68
  242. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  243. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
  244. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  245. package/dist/resource/formats/webgpu/core/helpers.js +4 -30
  246. package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
  247. package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
  248. package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
  249. package/dist/resource/formats/webm/core/helpers.js +1 -73
  250. package/dist/resource/formats/webm/core/helpers.js.map +1 -1
  251. package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
  252. package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
  253. package/dist/resource/formats/webp/core/helpers.js +1 -62
  254. package/dist/resource/formats/webp/core/helpers.js.map +1 -1
  255. package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
  256. package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
  257. package/dist/resource/formats/wem/core/bitStream.js +83 -106
  258. package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
  259. package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
  260. package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
  261. package/dist/resource/formats/wem/core/helpers.js +1 -15
  262. package/dist/resource/formats/wem/core/helpers.js.map +1 -1
  263. package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
  264. package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
  265. package/dist/resource/geometry/MeshDecalData.js +23 -25
  266. package/dist/resource/geometry/MeshDecalData.js.map +1 -1
  267. package/dist/resource/geometry/MeshDecalLodData.js +14 -23
  268. package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
  269. package/dist/resource/geometry/TriGeometryRes.js +299 -284
  270. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  271. package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
  272. package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
  273. package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
  274. package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
  275. package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
  276. package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
  277. package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
  278. package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
  279. package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
  280. package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
  281. package/dist/resource/geometry/TriJointBinding.js +16 -24
  282. package/dist/resource/geometry/TriJointBinding.js.map +1 -1
  283. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
  284. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
  285. package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
  286. package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
  287. package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
  288. package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
  289. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
  290. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  291. package/dist/resource/index.js +1 -1
  292. package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
  293. package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
  294. package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
  295. package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
  296. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
  297. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  298. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
  299. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
  300. package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
  301. package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
  302. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
  303. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  304. package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
  305. package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
  306. package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
  307. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  308. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
  309. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
  310. package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
  311. package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
  312. package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
  313. package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
  314. package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
  315. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  316. package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
  317. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  318. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
  319. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
  320. package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
  321. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  322. package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
  323. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  324. package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
  325. package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
  327. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
  329. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
  330. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
  331. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  332. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
  333. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  334. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
  335. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  336. package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
  337. package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
  338. package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
  339. package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
  340. package/dist/resource/worker/protocol.js +18 -1
  341. package/dist/resource/worker/protocol.js.map +1 -1
  342. package/dist/sof/EveSOF.js +2 -222
  343. package/dist/sof/EveSOF.js.map +1 -1
  344. package/dist/sof/SofDocumentBuilder.js +205 -0
  345. package/dist/sof/SofDocumentBuilder.js.map +1 -0
  346. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
  347. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
  348. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
  349. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
  350. package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
  351. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  352. package/dist/sof/faction/index.js +3 -1
  353. package/dist/sof/faction/index.js.map +1 -1
  354. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
  355. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
  356. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
  357. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
  358. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
  359. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
  360. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
  361. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
  362. package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
  363. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  364. package/dist/sof/generic/index.js +5 -1
  365. package/dist/sof/generic/index.js.map +1 -1
  366. package/dist/sof/index.js +23 -7
  367. package/dist/sof/index.js.map +1 -1
  368. package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
  369. package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
  370. package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
  371. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  372. package/dist/sof/pattern/index.js +2 -1
  373. package/dist/sof/pattern/index.js.map +1 -1
  374. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
  375. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
  376. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
  377. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
  378. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
  379. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
  380. package/dist/sof/shared/EveSOFDataArea.js +2 -13
  381. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  382. package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
  383. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  384. package/dist/sof/shared/EveSOFDataParameter.js +2 -146
  385. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  386. package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
  387. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
  388. package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
  389. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
  390. package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
  391. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
  392. package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
  393. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
  394. package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
  395. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
  396. package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
  397. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
  398. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
  399. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
  400. package/dist/sof/shared/index.js +13 -4
  401. package/dist/sof/shared/index.js.map +1 -1
  402. package/dist/sof/sofDocumentValues.js +33 -0
  403. package/dist/sof/sofDocumentValues.js.map +1 -0
  404. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
  405. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
  406. package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
  407. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
  408. package/dist/trinity/controllers/Tr2Controller.js +2 -1
  409. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  410. package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
  411. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  412. package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
  413. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  414. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
  415. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  416. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
  417. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
  418. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
  419. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
  420. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
  421. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
  422. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
  423. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
  424. package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
  425. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
  426. package/dist/trinity/controllers/index.js +5 -2
  427. package/dist/trinity/controllers/index.js.map +1 -1
  428. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
  429. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  430. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
  431. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  432. package/dist/trinity/core/ITr2Updateable.js +2 -1
  433. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  434. package/dist/trinity/core/Tr2Blitter.js +6 -3
  435. package/dist/trinity/core/Tr2Blitter.js.map +1 -1
  436. package/dist/trinity/core/Tr2Denoiser.js +256 -0
  437. package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
  438. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
  439. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
  440. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
  441. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
  442. package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
  443. package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
  444. package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
  445. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
  446. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
  447. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
  448. package/dist/trinity/core/Tr2RenderUtils.js +20 -3
  449. package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
  450. package/dist/trinity/core/Tr2Renderer.js +146 -1
  451. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  452. package/dist/trinity/core/Tr2ShadowMap.js +135 -14
  453. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  454. package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
  455. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
  456. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
  457. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
  458. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
  459. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
  460. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
  461. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
  462. package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
  463. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
  464. package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
  465. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
  466. package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
  467. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
  468. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
  469. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
  470. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
  471. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
  472. package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
  473. package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
  474. package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
  475. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  476. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
  477. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
  478. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
  479. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
  480. package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
  481. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  482. package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
  483. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
  484. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
  485. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
  486. package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
  487. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
  488. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
  489. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
  490. package/dist/trinity/core/index.js +42 -15
  491. package/dist/trinity/core/index.js.map +1 -1
  492. package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
  493. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  494. package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
  495. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
  496. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
  497. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
  498. package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
  499. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
  500. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
  501. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
  502. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
  503. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  504. package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
  505. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  506. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
  507. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  508. package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
  509. package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
  510. package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
  511. package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
  512. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
  513. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
  514. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
  515. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
  516. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
  517. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
  518. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
  519. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
  520. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
  521. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
  522. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
  523. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
  524. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
  525. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
  526. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
  527. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
  528. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
  529. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
  530. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
  531. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
  532. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
  533. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
  534. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
  535. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
  536. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
  537. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
  538. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
  539. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
  540. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
  541. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
  542. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
  543. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
  544. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
  545. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
  546. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
  547. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
  548. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
  549. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
  550. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
  551. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
  552. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
  553. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
  554. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
  555. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
  556. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
  557. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
  558. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
  559. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
  560. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
  561. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
  562. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
  563. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
  564. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
  565. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
  566. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
  567. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
  568. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
  569. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
  570. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
  571. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
  572. package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
  573. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
  574. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
  575. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
  576. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
  577. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
  578. package/dist/trinity/core/variable/TriVariable.js +83 -83
  579. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  580. package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
  581. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
  582. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
  583. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
  584. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
  585. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  586. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
  587. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  588. package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
  589. package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
  590. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
  591. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  592. package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
  593. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  594. package/dist/trinity/eve/IEveTransform.js +2 -1
  595. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  596. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
  597. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  598. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
  599. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  600. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
  601. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
  602. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
  603. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  604. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
  605. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  606. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
  607. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
  608. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
  609. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  610. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
  611. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  612. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
  613. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  614. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
  615. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  616. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
  617. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  618. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
  619. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  620. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
  621. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  622. package/dist/trinity/eve/camera/EveCamera.js +1 -1
  623. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  624. package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
  625. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  626. package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
  627. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  628. package/dist/trinity/eve/child/EveChildContainer.js +141 -141
  629. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  630. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
  631. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
  632. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
  633. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
  634. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
  635. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
  636. package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
  637. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
  638. package/dist/trinity/eve/child/EveChildMesh.js +218 -218
  639. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  640. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
  641. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
  642. package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
  643. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
  644. package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
  645. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  646. package/dist/trinity/eve/child/EveChildTransform.js +5 -0
  647. package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
  648. package/dist/trinity/eve/child/EveChildTurret.js +7 -0
  649. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  650. package/dist/trinity/eve/index.js +10 -4
  651. package/dist/trinity/eve/index.js.map +1 -1
  652. package/dist/trinity/eve/lights/Tr2Light.js +5 -0
  653. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  654. package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
  655. package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
  656. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
  657. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  658. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
  659. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  660. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
  661. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  662. package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
  663. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  664. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
  665. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  666. package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
  667. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  668. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
  669. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  670. package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
  671. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  672. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
  673. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  674. package/dist/trinity/generated/index.js +0 -1
  675. package/dist/trinity/generated/index.js.map +1 -1
  676. package/dist/trinity/generated/trinityCore/index.js +0 -1
  677. package/dist/trinity/generated/trinityCore/index.js.map +1 -1
  678. package/dist/trinity/index.js +59 -23
  679. package/dist/trinity/index.js.map +1 -1
  680. package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
  681. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
  682. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
  683. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
  684. package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
  685. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  686. package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
  687. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  688. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
  689. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  690. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
  691. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  692. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
  693. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  694. package/dist/trinity/particle/index.js +2 -1
  695. package/dist/trinity/particle/index.js.map +1 -1
  696. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
  697. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  698. package/dist/trinity/shader/Tr2Effect.js +131 -58
  699. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  700. package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
  701. package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
  702. package/dist/trinity/shader/Tr2Material.js +21 -4
  703. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  704. package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
  705. package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
  706. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
  707. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  708. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
  709. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
  710. package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
  711. package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
  712. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
  713. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
  714. package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
  715. package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
  716. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
  717. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
  718. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
  719. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
  720. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
  721. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
  722. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
  723. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
  724. package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
  725. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
  726. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
  727. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
  728. package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
  729. package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
  730. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
  731. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
  732. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
  733. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
  734. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
  735. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
  736. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
  737. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
  738. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
  739. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
  740. package/dist/trinityal/index.js +22 -9
  741. package/dist/trinityal/index.js.map +1 -1
  742. package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
  743. package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
  744. package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
  745. package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
  746. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
  747. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
  748. package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
  749. package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
  750. package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
  751. package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
  752. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
  753. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
  754. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
  755. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
  756. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
  757. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
  758. package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
  759. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
  760. package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
  761. package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
  762. package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
  763. package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
  764. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
  765. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
  766. package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
  767. package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
  768. package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
  769. package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
  770. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
  771. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
  772. package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
  773. package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
  774. package/dist/trinityal/stub/index.js +8 -4
  775. package/dist/trinityal/stub/index.js.map +1 -1
  776. package/dist/trinityal/vertexLayoutMatch.js +2 -2
  777. package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
  778. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
  779. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
  780. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
  781. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
  782. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
  783. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
  784. package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
  785. package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
  786. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
  787. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  788. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
  789. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  790. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
  791. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
  792. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
  793. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
  794. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
  795. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
  796. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
  797. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
  798. package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
  799. package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
  800. package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
  801. package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
  802. package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
  803. package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
  804. package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
  805. package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
  806. package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
  807. package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
  808. package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
  809. package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
  810. package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
  811. package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
  812. package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
  813. package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
  814. package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
  815. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
  816. package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
  817. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
  818. package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
  819. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
  820. package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
  821. package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
  822. package/dist/trinityal/webgpu/internal.js +12 -11
  823. package/dist/trinityal/webgpu/internal.js.map +1 -1
  824. package/docs/audio/reference/classes/trinity.md +44 -34
  825. package/docs/character/architecture.md +276 -0
  826. package/docs/character/reference/character-appearance-plans.md +30 -66
  827. package/docs/character/reference/prepared-libraries.md +14 -30
  828. package/docs/global/reference/api.md +2 -1
  829. package/docs/global/reference/classes/README.md +53 -71
  830. package/docs/global/reference/classes/dropped.md +16 -0
  831. package/docs/resource/README.md +19 -15
  832. package/docs/resource/architecture.md +9 -2
  833. package/docs/resource/concepts/format-capabilities.md +124 -80
  834. package/docs/resource/concepts/shared-format-helpers.md +94 -0
  835. package/docs/resource/formats/README.md +230 -224
  836. package/docs/resource/formats/bitknit2.md +221 -0
  837. package/docs/resource/formats/carbon-effect-container.md +184 -269
  838. package/docs/resource/formats/gr2.md +6 -1
  839. package/docs/resource/formats/schemabound.md +28 -48
  840. package/docs/resource/formats/static.md +70 -97
  841. package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
  842. package/docs/resource/formats/webgl/decl-io.md +165 -256
  843. package/docs/resource/formats/webgl/memory-structured.md +64 -142
  844. package/docs/resource/formats/webgl/texture-sample.md +109 -138
  845. package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
  846. package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
  847. package/docs/resource/formats/webgpu/reference/api.md +64 -67
  848. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +104 -260
  849. package/docs/resource/reference/classes/core.md +256 -236
  850. package/docs/resource/reference/classes/formats.md +1668 -1672
  851. package/docs/resource/reference/workers.md +4 -2
  852. package/docs/sof/reference/classes/core.md +1 -1
  853. package/docs/sof/reference/classes/faction.md +2 -2
  854. package/docs/sof/reference/classes/generic.md +4 -4
  855. package/docs/sof/reference/classes/pattern.md +1 -1
  856. package/docs/sof/reference/classes/shared.md +10 -10
  857. package/docs/trinity/architecture.md +55 -44
  858. package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
  859. package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
  860. package/docs/trinity/reference/classes/dropped.md +0 -189
  861. package/docs/trinity/reference/classes/eve-runtime.md +8 -8
  862. package/docs/trinity/reference/classes/generated.md +0 -10
  863. package/docs/trinity/reference/classes/particle.md +2 -2
  864. package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
  865. package/docs/trinity/reference/implementation-status.md +50 -75
  866. package/docs/trinity/reference/main-semantic-extraction.md +13 -17
  867. package/docs/trinityal/reference/classes/README.md +77 -27
  868. package/docs/trinityal/reference/classes/dropped.md +82 -0
  869. package/docs/trinityal/webgpu/README.md +3 -1
  870. package/docs/trinityal/webgpu/architecture.md +121 -228
  871. package/docs/trinityal/webgpu/reference/api.md +5 -5
  872. package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
  873. package/format-notices/gr2/NOTICE +18 -12
  874. package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
  875. package/package.json +4 -1
  876. package/dist/audio/trinity/audio/AudActionLog.js +0 -173
  877. package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
  878. package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
  879. package/dist/global/contracts/CjsScriptCallback.js +0 -94
  880. package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
  881. package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
  882. package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
  883. package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
  884. package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
  885. package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
  886. package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
  887. package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
  888. package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
  889. package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
  890. package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
  891. package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
  892. package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
  893. package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
  894. package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
  895. package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
  896. package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
  897. package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
  898. package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
  899. package/dist/trinity/core/rawData/constantLayout.js +0 -175
  900. package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
  901. package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
  902. package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
  903. package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
  904. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
  905. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
  906. package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
  907. package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
  908. package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
  909. package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
  910. package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
  911. package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
  912. package/dist/trinityal/Tr2SamplerDescription.js +0 -72
  913. package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
  914. package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
  915. package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
  916. package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
  917. package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
  918. package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
  919. package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
  920. package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
  921. package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
  922. package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
  923. package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
  924. package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
  925. package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
  926. package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
  927. package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
  928. package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
  929. package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
@@ -6,7 +6,6 @@ import { vec4 } from '#math/vec4';
6
6
  import { Tr2VolumerticQuality } from '../../generated/trinityCore/enums.js';
7
7
  import { Tr2TextureReference as _Tr2TextureReference } from '../../generated/trinityCore/Tr2TextureReference.js';
8
8
  import { AccumulatePriorityAttribute } from '../PriorityBlend.js';
9
- import { CjsVolumetricsExecutor } from '../context/CjsVolumetricsExecutor.js';
10
9
  import { Tr2VariableStore as _Tr2VariableStore } from '../variable/Tr2VariableStore.js';
11
10
 
12
11
  let _initProto, _initStatic, _initClass, _init_quality, _init_extra_quality, _init_mieEnvironmentMap, _init_extra_mieEnvironmentMap, _init_blur, _init_extra_blur, _init_logBlending, _init_extra_logBlending, _init_gameBackClip, _init_extra_gameBackClip, _init_backgroundVisibility, _init_extra_backgroundVisibility, _init_thickness, _init_extra_thickness, _init_environmentDirectionality, _init_extra_environmentDirectionality, _init_lightDirectionality, _init_extra_lightDirectionality, _init_godRayNoiseAnimationSpeed, _init_extra_godRayNoiseAnimationSpeed, _init_fogNoiseMovementSpeed, _init_extra_fogNoiseMovementSpeed, _init_fogColor, _init_extra_fogColor, _init_godRayNoiseFrequency, _init_extra_godRayNoiseFrequency, _init_fogNoiseFrequency, _init_extra_fogNoiseFrequency, _init_godRayNoiseIntensity, _init_extra_godRayNoiseIntensity, _init_fogNoiseIntensity, _init_extra_fogNoiseIntensity, _init_logBlendingSmoothness, _init_extra_logBlendingSmoothness, _init_environmentIntensity, _init_extra_environmentIntensity, _init_castShadows, _init_extra_castShadows, _init_receiveShadows, _init_extra_receiveShadows, _init_scaleFactor, _init_extra_scaleFactor;
@@ -14,10 +13,10 @@ const FROXEL_FOG_COMPONENT = "FroxelFogSettings";
14
13
  const FROXEL_NOISE_DEPTH = 64;
15
14
  const FOG_COLOR_SCRATCH = vec3.create();
16
15
 
17
- /**
18
- * Owns portable froxel-fog blending and terminal per-frame constant writes.
19
- * Physical fog/volumetric textures, passes and environment-map realization
20
- * remain explicit engine obligations.
16
+ /**
17
+ * Owns portable froxel-fog blending and terminal per-frame constant writes.
18
+ * Physical fog/volumetric textures, passes and environment-map realization
19
+ * remain explicit engine obligations.
21
20
  */
22
21
  let _Tr2VolumetricsRender;
23
22
  new class extends _identity {
@@ -29,7 +28,7 @@ new class extends _identity {
29
28
  } = _applyDecs2311(this, [type.define({
30
29
  className: "Tr2VolumetricsRenderer",
31
30
  family: "trinityCore"
32
- })], [[[io, io.readwrite, type, type.int32, void 0, type.enum("Tr2VolumerticQuality")], 16, "quality"], [[io, io.read, void 0, type.objectRef("Tr2TextureReference")], 16, "mieEnvironmentMap"], [[io, io.readwrite, type, type.boolean], 16, "blur"], [[io, io.readwrite, type, type.boolean], 16, "logBlending"], [[io, io.readwrite, type, type.float32], 16, "gameBackClip"], [[io, io.read, type, type.float32], 16, "backgroundVisibility"], [[io, io.read, type, type.float32], 16, "thickness"], [[io, io.read, type, type.float32], 16, "environmentDirectionality"], [[io, io.read, type, type.float32], 16, "lightDirectionality"], [[io, io.read, type, type.float32], 16, "godRayNoiseAnimationSpeed"], [[io, io.read, type, type.vec3], 16, "fogNoiseMovementSpeed"], [[io, io.read, type, type.color], 16, "fogColor"], [[io, io.read, type, type.float32], 16, "godRayNoiseFrequency"], [[io, io.read, type, type.float32], 16, "fogNoiseFrequency"], [[io, io.read, type, type.float32], 16, "godRayNoiseIntensity"], [[io, io.read, type, type.float32], 16, "fogNoiseIntensity"], [[io, io.readwrite, type, type.float64], 16, "logBlendingSmoothness"], [[io, io.read, type, type.float32], 16, "environmentIntensity"], [[io, io.readwrite, type, type.boolean], 16, "castShadows"], [[io, io.readwrite, type, type.boolean], 16, "receiveShadows"], [[io, io.readwrite, type, type.float32], 16, "scaleFactor"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The Eve component registry is supplied directly; Carbon's realized 64-deep noise texture becomes its fixed animation-depth constant while physical noise storage stays engine-owned.")], 18, "UpdateFogSettings"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasFog"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon writes an inline constant struct; Trinity writes the same terminal scalar/vector bytes through the canonical RawData layout.")], 18, "PopulatePerFrameData"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetQuality"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon asserts a two-sphere span and memcpy-copies it; JavaScript throws RangeError and copies the two vec4 records.")], 18, "SetPlanets"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetSunAngle"], [[impl, impl.custom, void 0, impl.reason("Engines need Carbon's private CPU-produced phase without owning or recomputing its update policy.")], 18, "GetGodRayNoiseAnimation"], [[impl, impl.custom, void 0, impl.reason("Engines consume the CPU-produced movement but do not advance it independently.")], 18, "GetFogNoiseMovement"], [[impl, impl.custom, void 0, impl.reason("Carbon stores this as private renderer state; the split engine realization needs an explicit read boundary.")], 18, "GetSunAngle"], [[impl, impl.custom, void 0, impl.reason("Carbon's physical fog pass reads private planet state; the engine executor receives it through this checked copy boundary.")], 18, "GetPlanet"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Physical resource/pass realization is delegated to the nominal context executor while Trinity retains the graph identity and CPU state.")], 18, "RenderVolumetrics"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reaches a process-global backend; JavaScript receives the composed executor explicitly because the resource pool has no backend-dispatch role.")], 26, "GetEmptyVolumetricTexture"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Trinity keeps Carbon's call contract and CPU state while the context executor realizes GPU resources and passes.")], 18, "RenderFog"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Trinity preserves the portable call order; the context executor realizes physical reflection fog resources.")], 18, "RenderFogIntoReflectionMap"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reaches a process-global backend; JavaScript receives the composed executor explicitly because the resource pool has no backend-dispatch role.")], 26, "GetEmptyFogTexture"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon updates GPU state directly; JavaScript delegates only that physical work through the active render context.")], 18, "UpdateFogEnvironmentMap"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon uses a process-global render backend; JavaScript threads the active context so the installed engine publishes its own physical textures.")], 18, "UpdateVariableStore"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Trinity retains registry and renderer state; the active context's engine owns the physical shadow pass.")], 18, "RenderShadows"]], 0, void 0, CjsModel));
31
+ })], [[[io, io.readwrite, type, type.int32, void 0, type.enum("Tr2VolumerticQuality")], 16, "quality"], [[io, io.read, void 0, type.objectRef("Tr2TextureReference")], 16, "mieEnvironmentMap"], [[io, io.readwrite, type, type.boolean], 16, "blur"], [[io, io.readwrite, type, type.boolean], 16, "logBlending"], [[io, io.readwrite, type, type.float32], 16, "gameBackClip"], [[io, io.read, type, type.float32], 16, "backgroundVisibility"], [[io, io.read, type, type.float32], 16, "thickness"], [[io, io.read, type, type.float32], 16, "environmentDirectionality"], [[io, io.read, type, type.float32], 16, "lightDirectionality"], [[io, io.read, type, type.float32], 16, "godRayNoiseAnimationSpeed"], [[io, io.read, type, type.vec3], 16, "fogNoiseMovementSpeed"], [[io, io.read, type, type.color], 16, "fogColor"], [[io, io.read, type, type.float32], 16, "godRayNoiseFrequency"], [[io, io.read, type, type.float32], 16, "fogNoiseFrequency"], [[io, io.read, type, type.float32], 16, "godRayNoiseIntensity"], [[io, io.read, type, type.float32], 16, "fogNoiseIntensity"], [[io, io.readwrite, type, type.float64], 16, "logBlendingSmoothness"], [[io, io.read, type, type.float32], 16, "environmentIntensity"], [[io, io.readwrite, type, type.boolean], 16, "castShadows"], [[io, io.readwrite, type, type.boolean], 16, "receiveShadows"], [[io, io.readwrite, type, type.float32], 16, "scaleFactor"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The Eve component registry is supplied directly; Carbon's realized 64-deep noise texture becomes its fixed animation-depth constant while physical noise storage stays engine-owned.")], 18, "UpdateFogSettings"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasFog"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon writes an inline constant struct; Trinity writes the same terminal scalar/vector bytes through the canonical RawData layout.")], 18, "PopulatePerFrameData"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetQuality"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon asserts a two-sphere span and memcpy-copies it; JavaScript throws RangeError and copies the two vec4 records.")], 18, "SetPlanets"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetSunAngle"], [[impl, impl.custom, void 0, impl.reason("Engines need Carbon's private CPU-produced phase without owning or recomputing its update policy.")], 18, "GetGodRayNoiseAnimation"], [[impl, impl.custom, void 0, impl.reason("Engines consume the CPU-produced movement but do not advance it independently.")], 18, "GetFogNoiseMovement"], [[impl, impl.custom, void 0, impl.reason("Carbon stores this as private renderer state; the split engine realization needs an explicit read boundary.")], 18, "GetSunAngle"], [[impl, impl.custom, void 0, impl.reason("Carbon's physical fog pass reads private planet state; the engine executor receives it through this checked copy boundary.")], 18, "GetPlanet"], [[carbon, carbon.method, impl, impl.notImplemented, void 0, impl.reason("Carbon's froxel compute and raymarch passes (Tr2VolumetricsRenderer.cpp:152-493) have no JS counterpart.")], 18, "RenderVolumetrics"], [[carbon, carbon.method, impl, impl.notImplemented, void 0, impl.reason("Tr2GpuResourcePool's description carries no texture type or slice count, and no initial subresource data, so a 2D array of four slices cannot be asked for.")], 26, "GetEmptyVolumetricTexture"], [[carbon, carbon.method, impl, impl.notImplemented, void 0, impl.reason("Carbon's fog passes (Tr2VolumetricsRenderer.cpp:494-554) have no JS counterpart.")], 18, "RenderFog"], [[carbon, carbon.method, impl, impl.notImplemented, void 0, impl.reason("Carbon's reflection-map fog pass (Tr2VolumetricsRenderer.cpp:519-554) has no JS counterpart.")], 18, "RenderFogIntoReflectionMap"], [[carbon, carbon.method, impl, impl.notImplemented, void 0, impl.reason("Tr2GpuResourcePool's description carries no texture type or initial subresource data, so a 3D texture cannot be asked for.")], 26, "GetEmptyFogTexture"], [[carbon, carbon.method, impl, impl.notImplemented, void 0, impl.reason("Needs the fog pass machinery, which is unported.")], 18, "UpdateFogEnvironmentMap"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateVariableStore"], [[carbon, carbon.method, impl, impl.notImplemented, void 0, impl.reason("Needs the volumetric pass machinery, which is unported.")], 18, "RenderShadows"]], 0, void 0, CjsModel));
33
32
  _initStatic(this);
34
33
  }
35
34
  quality = (_initProto(this), _init_quality(this, Tr2VolumerticQuality.High));
@@ -190,50 +189,131 @@ new class extends _identity {
190
189
  return vec4.copy(out, this.#planets[index]);
191
190
  }
192
191
 
193
- /** Delegates physical volumetric rendering to the context's nominal engine. */
194
- RenderVolumetrics(registry, frustum, sceneDepth, froxelFog, sunDirection, depthSlices, raytracingEnabled, gpuResourcePool, renderContext) {
195
- return renderContext.GetVolumetricsExecutor().RenderVolumetrics(this, registry, frustum, sceneDepth, froxelFog, sunDirection, depthSlices, raytracingEnabled, gpuResourcePool, renderContext);
192
+ /**
193
+ * Renders the froxel volume for every volumetric component in the registry.
194
+ *
195
+ * UNPORTED. Carbon's body is the bulk of a 1,150-line file and drives the
196
+ * froxel volume: it sizes the target from the scene depth and a scale factor,
197
+ * counts `ITr2VolumetricRenderable` components off the registry, then runs the
198
+ * compute and raymarch passes. None of that has a JS counterpart yet.
199
+ *
200
+ * It throws rather than returning nothing: a caller that silently got no
201
+ * volumetric texture renders a scene with no fog and looks plausible.
202
+ *
203
+ * @returns {object} Never; see above.
204
+ */
205
+ RenderVolumetrics() {
206
+ throw new Error("Tr2VolumetricsRenderer.RenderVolumetrics: the froxel passes are unported.");
196
207
  }
197
208
 
198
- /** Delegates empty-volumetric-texture selection to an explicit nominal engine. */
199
- static GetEmptyVolumetricTexture(gpuResourcePool, executor) {
200
- if (!(executor instanceof CjsVolumetricsExecutor)) {
201
- throw new TypeError("Tr2VolumetricsRenderer.GetEmptyVolumetricTexture requires a CjsVolumetricsExecutor.");
202
- }
203
- return executor.GetEmptyVolumetricTexture(gpuResourcePool);
209
+ /**
210
+ * The neutral volumetric texture, used when nothing volumetric is in view.
211
+ *
212
+ * UNPORTED, AND THE BLOCKER IS THE POOL'S DESCRIPTION. Carbon borrows a 1x1
213
+ * black texture seeded with `Tr2SubresourceData` and described by a
214
+ * `Tr2BitmapDimensions` carrying a texture TYPE and a slice count - a 2D array
215
+ * of four slices here, a 3D texture for fog. Our pool takes only
216
+ * `{ width, height, format, gpuUsage }`, which can express neither, and its
217
+ * `initialize` callback has no way to supply initial subresource bytes.
218
+ *
219
+ * Carbon's signature is restored (static, taking the pool) so the shape is
220
+ * right when the pool grows a full description.
221
+ *
222
+ * @param {object} _gpuResourcePool The pool to borrow from.
223
+ * @returns {object} Never; see above.
224
+ */
225
+ static GetEmptyVolumetricTexture(_gpuResourcePool) {
226
+ throw new Error("Tr2VolumetricsRenderer.GetEmptyVolumetricTexture: needs a pool description " + "carrying texture type, slice count and initial data.");
204
227
  }
205
228
 
206
- /** Delegates primary-view froxel fog rendering to the nominal engine. */
207
- RenderFog(renderContext, gpuResourcePool, width, height, cascadedShadowMap, raytracingGeometry, shadowQuality, sunDirection, sunColor, origin, originShift, view, projection, viewLast, projectionLast) {
208
- return renderContext.GetVolumetricsExecutor().RenderFog(this, renderContext, gpuResourcePool, width, height, cascadedShadowMap, raytracingGeometry, shadowQuality, sunDirection, sunColor, origin, originShift, view, projection, viewLast, projectionLast);
229
+ /**
230
+ * Renders the fog volume.
231
+ *
232
+ * UNPORTED. Carbon's body is the bulk of a 1,150-line file and drives the
233
+ * froxel volume: it sizes the target from the scene depth and a scale factor,
234
+ * counts `ITr2VolumetricRenderable` components off the registry, then runs the
235
+ * compute and raymarch passes. None of that has a JS counterpart yet.
236
+ *
237
+ * It throws rather than returning nothing: a caller that silently got no
238
+ * volumetric texture renders a scene with no fog and looks plausible.
239
+ *
240
+ * @returns {object} Never; see above.
241
+ */
242
+ RenderFog() {
243
+ throw new Error("Tr2VolumetricsRenderer.RenderFog: the fog passes are unported.");
209
244
  }
210
245
 
211
- /** Delegates reflection-view fog rendering to the nominal engine. */
212
- RenderFogIntoReflectionMap(renderContext, gpuResourcePool, width, height, sunDirection, sunColor, origin, view, projection) {
213
- return renderContext.GetVolumetricsExecutor().RenderFogIntoReflectionMap(this, renderContext, gpuResourcePool, width, height, sunDirection, sunColor, origin, view, projection);
246
+ /**
247
+ * Renders the fog volume into a reflection map.
248
+ *
249
+ * UNPORTED. Carbon's body is the bulk of a 1,150-line file and drives the
250
+ * froxel volume: it sizes the target from the scene depth and a scale factor,
251
+ * counts `ITr2VolumetricRenderable` components off the registry, then runs the
252
+ * compute and raymarch passes. None of that has a JS counterpart yet.
253
+ *
254
+ * It throws rather than returning nothing: a caller that silently got no
255
+ * volumetric texture renders a scene with no fog and looks plausible.
256
+ *
257
+ * @returns {object} Never; see above.
258
+ */
259
+ RenderFogIntoReflectionMap() {
260
+ throw new Error("Tr2VolumetricsRenderer.RenderFogIntoReflectionMap: the fog passes are unported.");
214
261
  }
215
262
 
216
- /** Delegates empty-fog-texture selection to an explicit nominal engine. */
217
- static GetEmptyFogTexture(gpuResourcePool, executor) {
218
- if (!(executor instanceof CjsVolumetricsExecutor)) {
219
- throw new TypeError("Tr2VolumetricsRenderer.GetEmptyFogTexture requires a CjsVolumetricsExecutor.");
220
- }
221
- return executor.GetEmptyFogTexture(gpuResourcePool);
263
+ /**
264
+ * The neutral froxel-fog texture, used when there is no fog.
265
+ *
266
+ * UNPORTED, AND THE BLOCKER IS THE POOL'S DESCRIPTION. Carbon borrows a 1x1
267
+ * black texture seeded with `Tr2SubresourceData` and described by a
268
+ * `Tr2BitmapDimensions` carrying a texture TYPE and a slice count - a 2D array
269
+ * of four slices here, a 3D texture for fog. Our pool takes only
270
+ * `{ width, height, format, gpuUsage }`, which can express neither, and its
271
+ * `initialize` callback has no way to supply initial subresource bytes.
272
+ *
273
+ * Carbon's signature is restored (static, taking the pool) so the shape is
274
+ * right when the pool grows a full description.
275
+ *
276
+ * @param {object} _gpuResourcePool The pool to borrow from.
277
+ * @returns {object} Never; see above.
278
+ */
279
+ static GetEmptyFogTexture(_gpuResourcePool) {
280
+ throw new Error("Tr2VolumetricsRenderer.GetEmptyFogTexture: needs a pool description " + "carrying texture type and initial data.");
222
281
  }
223
282
 
224
- /** Delegates Mie environment-map realization to the nominal engine. */
225
- UpdateFogEnvironmentMap(renderContext) {
226
- return renderContext.GetVolumetricsExecutor().UpdateFogEnvironmentMap(this, renderContext);
283
+ /**
284
+ * Rebuilds the Mie environment map.
285
+ *
286
+ * UNPORTED. Carbon's 86-line body renders each cube face through the fog
287
+ * effect (`Tr2VolumetricsRenderer.cpp`), which needs the same unported pass
288
+ * machinery as the fog methods above.
289
+ *
290
+ * @returns {void} Never returns; see above.
291
+ */
292
+ UpdateFogEnvironmentMap() {
293
+ throw new Error("Tr2VolumetricsRenderer.UpdateFogEnvironmentMap: the fog passes are unported.");
227
294
  }
228
295
 
229
- /** Delegates publication of realized fog textures to the nominal engine. */
230
- UpdateVariableStore(renderContext) {
231
- return renderContext.GetVolumetricsExecutor().UpdateVariableStore(this, renderContext);
296
+ /**
297
+ * Publishes the Mie environment map under the name effects sample it by.
298
+ *
299
+ * Carbon takes no arguments here and registers on the global store
300
+ * (`Tr2VolumetricsRenderer.cpp`, one line). The port had grown a
301
+ * `renderContext` parameter that existed only to reach an executor.
302
+ */
303
+ UpdateVariableStore() {
304
+ _Tr2VariableStore.GlobalStore().RegisterVariable("EveSceneMieEnvironmentMap", this.mieEnvironmentMap);
232
305
  }
233
306
 
234
- /** Delegates volumetric-shadow realization to the nominal engine. */
235
- RenderShadows(registry, shadowMap, renderContext) {
236
- return renderContext.GetVolumetricsExecutor().RenderShadows(this, registry, shadowMap, renderContext);
307
+ /**
308
+ * Renders volumetric shadows for the registry's components.
309
+ *
310
+ * UNPORTED. Carbon's 31-line body walks the volumetric components and issues a
311
+ * shadow pass per one, which needs the same unported pass machinery.
312
+ *
313
+ * @returns {void} Never returns; see above.
314
+ */
315
+ RenderShadows() {
316
+ throw new Error("Tr2VolumetricsRenderer.RenderShadows: the volumetric passes are unported.");
237
317
  }
238
318
  }];
239
319
  Tr2VolumerticQuality = Tr2VolumerticQuality;
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2VolumetricsRenderer.js","sources":["../../../../../src/trinity/core/volumetrics/Tr2VolumetricsRenderer.js"],"sourcesContent":["// Source: trinity/trinity/Tr2VolumetricsRenderer.h\n// Source: trinity/trinity/Tr2VolumetricsRenderer.cpp\n// Source: trinity/trinity/Tr2VolumetricsRenderer_Blue.cpp\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { Tr2VolumerticQuality } from \"../../generated/trinityCore/enums.js\";\r\nimport { Tr2TextureReference } from \"../../generated/trinityCore/Tr2TextureReference.js\";\r\nimport { AccumulatePriorityAttribute } from \"../PriorityBlend.js\";\r\nimport { CjsVolumetricsExecutor } from \"../context/CjsVolumetricsExecutor.js\";\r\nimport { Tr2VariableStore } from \"../variable/Tr2VariableStore.js\";\r\n\r\n\r\nconst FROXEL_FOG_COMPONENT = \"FroxelFogSettings\";\r\nconst FROXEL_NOISE_DEPTH = 64;\r\nconst FOG_COLOR_SCRATCH = vec3.create();\r\n\r\n\r\n/**\r\n * Owns portable froxel-fog blending and terminal per-frame constant writes.\r\n * Physical fog/volumetric textures, passes and environment-map realization\r\n * remain explicit engine obligations.\r\n */\r\n@type.define({ className: \"Tr2VolumetricsRenderer\", family: \"trinityCore\" })\r\nexport class Tr2VolumetricsRenderer extends CjsModel\r\n{\r\n @io.readwrite\r\n @type.int32\r\n @type.enum(\"Tr2VolumerticQuality\")\r\n quality = Tr2VolumerticQuality.High;\r\n\r\n @io.read\r\n @type.objectRef(\"Tr2TextureReference\")\r\n mieEnvironmentMap = new Tr2TextureReference();\r\n\r\n @io.readwrite\r\n @type.boolean\r\n blur = true;\r\n\r\n @io.readwrite\r\n @type.boolean\r\n logBlending = true;\r\n\r\n @io.readwrite\r\n @type.float32\r\n gameBackClip = 1e6;\r\n\r\n @io.read\r\n @type.float32\r\n backgroundVisibility = 0;\r\n\r\n @io.read\r\n @type.float32\r\n thickness = 0;\r\n\r\n @io.read\r\n @type.float32\r\n environmentDirectionality = 0;\r\n\r\n @io.read\r\n @type.float32\r\n lightDirectionality = 0;\r\n\r\n @io.read\r\n @type.float32\r\n godRayNoiseAnimationSpeed = 0;\r\n\r\n @io.read\r\n @type.vec3\r\n fogNoiseMovementSpeed = vec3.create();\r\n\r\n @io.read\r\n @type.color\r\n fogColor = vec4.create();\r\n\r\n @io.read\r\n @type.float32\r\n godRayNoiseFrequency = 0;\r\n\r\n @io.read\r\n @type.float32\r\n fogNoiseFrequency = 0;\r\n\r\n @io.read\r\n @type.float32\r\n godRayNoiseIntensity = 0;\r\n\r\n @io.read\r\n @type.float32\r\n fogNoiseIntensity = 0;\r\n\r\n @io.readwrite\r\n @type.float64\r\n logBlendingSmoothness = 4;\r\n\r\n @io.read\r\n @type.float32\r\n environmentIntensity = 0;\r\n\r\n @io.readwrite\r\n @type.boolean\r\n castShadows = false;\r\n\r\n @io.readwrite\r\n @type.boolean\r\n receiveShadows = false;\r\n\r\n @io.readwrite\r\n @type.float32\r\n scaleFactor = 0.7;\r\n\r\n #godRayNoiseAnimation = 0;\r\n\r\n #fogNoiseMovement = new Float64Array(3);\r\n\r\n #planets = [ vec4.fromValues(0, 0, 0, -1), vec4.fromValues(0, 0, 0, -1) ];\r\n\r\n #sunAngle = 0;\r\n\r\n /** Creates Carbon's logical Mie reference and reserves its texture globals. */\r\n constructor()\r\n {\r\n super();\r\n const store = Tr2VariableStore.GlobalStore();\r\n store.RegisterVariable(\"EveSceneFogVolumeMap\");\r\n store.RegisterVariable(\"VolumetricDepthMap\");\r\n store.RegisterVariable(\"EveSceneMieEnvironmentMap\");\r\n store.RegisterVariable(\"EveSceneFroxelFogMap\");\r\n }\r\n\r\n /** Updates all fog attributes from the scene's nominal component registry. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The Eve component registry is supplied directly; Carbon's realized 64-deep noise texture becomes its fixed animation-depth constant while physical noise storage stays engine-owned.\")\r\n UpdateFogSettings(registry, updateContext)\r\n {\r\n const settings = Array.from(registry.GetComponents(FROXEL_FOG_COMPONENT), component =>\r\n component.GetFroxelFogSettings());\r\n\r\n const smoothness = this.logBlendingSmoothness;\r\n for (const value of settings)\r\n {\r\n value.logThickness.value = Math.log1p(Number(value.thickness.value) * smoothness);\r\n value.logThickness.enabled = value.thickness.enabled;\r\n }\r\n settings.sort((a, b) => b.priority - a.priority);\r\n\r\n this.thickness = AccumulatePriorityAttribute(settings, value => value.thickness);\r\n this.lightDirectionality = AccumulatePriorityAttribute(settings, value => value.lightDirectionality);\r\n this.environmentIntensity = AccumulatePriorityAttribute(settings, value => value.environmentIntensity);\r\n this.environmentDirectionality = AccumulatePriorityAttribute(settings, value => value.environmentDirectionality);\r\n AccumulatePriorityAttribute(settings, value => value.fogColor, this.fogColor);\r\n this.backgroundVisibility = AccumulatePriorityAttribute(settings, value => value.backgroundVisibility);\r\n this.godRayNoiseIntensity = AccumulatePriorityAttribute(settings, value => value.godRayNoiseIntensity);\r\n this.godRayNoiseFrequency = AccumulatePriorityAttribute(settings, value => value.godRayNoiseFrequency);\r\n this.godRayNoiseAnimationSpeed = AccumulatePriorityAttribute(settings, value => value.godRayNoiseAnimationSpeed);\r\n this.fogNoiseIntensity = AccumulatePriorityAttribute(settings, value => value.fogNoiseIntensity);\r\n this.fogNoiseFrequency = AccumulatePriorityAttribute(settings, value => value.fogNoiseFrequency);\r\n AccumulatePriorityAttribute(settings, value => value.fogNoiseMovementSpeed, this.fogNoiseMovementSpeed);\r\n\r\n if (this.logBlending)\r\n {\r\n const logThickness = AccumulatePriorityAttribute(settings, value => value.logThickness);\r\n this.thickness = Math.expm1(logThickness) / smoothness;\r\n }\r\n\r\n const delta = updateContext.GetDeltaT();\r\n this.#godRayNoiseAnimation += this.godRayNoiseAnimationSpeed * (delta / FROXEL_NOISE_DEPTH);\r\n this.#godRayNoiseAnimation -= Math.floor(this.#godRayNoiseAnimation);\r\n for (let lane = 0; lane < 3; lane++)\r\n {\r\n this.#fogNoiseMovement[lane] += this.fogNoiseMovementSpeed[lane] * delta;\r\n }\r\n }\r\n\r\n /** Reports whether the blended fog thickness is strictly positive. */\r\n @carbon.method\r\n @impl.implemented\r\n HasFog()\r\n {\r\n return this.thickness > 0;\r\n }\r\n\r\n /** Writes the inline FroxelPerFrameData fields into canonical RawData. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon writes an inline constant struct; Trinity writes the same terminal scalar/vector bytes through the canonical RawData layout.\")\r\n PopulatePerFrameData(out)\r\n {\r\n FOG_COLOR_SCRATCH[0] = this.fogColor[0];\r\n FOG_COLOR_SCRATCH[1] = this.fogColor[1];\r\n FOG_COLOR_SCRATCH[2] = this.fogColor[2];\r\n out.Set(\"FroxelFogColor\", FOG_COLOR_SCRATCH);\r\n out.Set(\"FroxelBackgroundVisibility\", Math.min(Math.max(this.backgroundVisibility, 0), 1));\r\n out.Set(\"FroxelBaseDensity\", this.thickness / this.gameBackClip);\r\n out.Set(\"FroxelMaxDistance\", this.gameBackClip);\r\n out.Set(\"FroxelMaxDistanceVisibility\", Math.exp(-this.thickness));\r\n out.Set(\"FroxelEnvironmentIntensity\", this.environmentIntensity);\r\n out.Set(\"FroxelEnvironmentG\", -Math.min(Math.max(this.environmentDirectionality, 0.001), 0.999));\r\n out.SetIndex(\"FroxelPlanets\", 0, this.#planets[0]);\r\n out.SetIndex(\"FroxelPlanets\", 1, this.#planets[1]);\r\n return out;\r\n }\r\n\r\n /** Applies Carbon's four quality presets. */\r\n @carbon.method\r\n @impl.implemented\r\n SetQuality(quality)\r\n {\r\n this.quality = quality;\r\n switch (quality)\r\n {\r\n case Tr2VolumerticQuality.Ultra:\r\n this.scaleFactor = 1;\r\n this.castShadows = true;\r\n this.receiveShadows = true;\r\n break;\r\n case Tr2VolumerticQuality.High:\r\n this.scaleFactor = 0.7;\r\n this.castShadows = true;\r\n this.receiveShadows = false;\r\n break;\r\n case Tr2VolumerticQuality.Medium:\r\n this.scaleFactor = 0.5;\r\n this.castShadows = false;\r\n this.receiveShadows = false;\r\n break;\r\n default:\r\n this.scaleFactor = 0.3;\r\n this.castShadows = false;\r\n this.receiveShadows = false;\r\n break;\r\n }\r\n }\r\n\r\n /** Copies the two planet spheres used by the fog shader. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon asserts a two-sphere span and memcpy-copies it; JavaScript throws RangeError and copies the two vec4 records.\")\r\n SetPlanets(planets)\r\n {\r\n if (!planets || planets.length !== 2)\r\n {\r\n throw new RangeError(\"Tr2VolumetricsRenderer.SetPlanets requires exactly two spheres.\");\r\n }\r\n vec4.copy(this.#planets[0], planets[0]);\r\n vec4.copy(this.#planets[1], planets[1]);\r\n }\r\n\r\n /** Stores the sun angle consumed by later fog constant production. */\r\n @carbon.method\r\n @impl.implemented\r\n SetSunAngle(angle)\r\n {\r\n this.#sunAngle = angle;\r\n }\r\n\r\n /** Returns the wrapped 0..1 god-ray noise phase for engine realization. */\r\n @impl.custom\r\n @impl.reason(\"Engines need Carbon's private CPU-produced phase without owning or recomputing its update policy.\")\r\n GetGodRayNoiseAnimation()\r\n {\r\n return this.#godRayNoiseAnimation;\r\n }\r\n\r\n /** Copies Carbon's accumulated double-precision fog-noise movement. */\r\n @impl.custom\r\n @impl.reason(\"Engines consume the CPU-produced movement but do not advance it independently.\")\r\n GetFogNoiseMovement(out)\r\n {\r\n out[0] = this.#fogNoiseMovement[0];\r\n out[1] = this.#fogNoiseMovement[1];\r\n out[2] = this.#fogNoiseMovement[2];\r\n return out;\r\n }\r\n\r\n /** Returns the scene-produced sun angle used by fog realization. */\r\n @impl.custom\r\n @impl.reason(\"Carbon stores this as private renderer state; the split engine realization needs an explicit read boundary.\")\r\n GetSunAngle()\r\n {\r\n return this.#sunAngle;\r\n }\r\n\r\n /** Copies one of the two scene-selected planet spheres. */\r\n @impl.custom\r\n @impl.reason(\"Carbon's physical fog pass reads private planet state; the engine executor receives it through this checked copy boundary.\")\r\n GetPlanet(index, out)\r\n {\r\n if (index !== 0 && index !== 1)\r\n {\r\n throw new RangeError(\"Tr2VolumetricsRenderer.GetPlanet index must be 0 or 1.\");\r\n }\r\n return vec4.copy(out, this.#planets[index]);\r\n }\r\n\r\n /** Delegates physical volumetric rendering to the context's nominal engine. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Physical resource/pass realization is delegated to the nominal context executor while Trinity retains the graph identity and CPU state.\")\r\n RenderVolumetrics(\r\n registry,\r\n frustum,\r\n sceneDepth,\r\n froxelFog,\r\n sunDirection,\r\n depthSlices,\r\n raytracingEnabled,\r\n gpuResourcePool,\r\n renderContext\r\n )\r\n {\r\n return renderContext.GetVolumetricsExecutor().RenderVolumetrics(\r\n this,\r\n registry,\r\n frustum,\r\n sceneDepth,\r\n froxelFog,\r\n sunDirection,\r\n depthSlices,\r\n raytracingEnabled,\r\n gpuResourcePool,\r\n renderContext\r\n );\r\n }\r\n\r\n /** Delegates empty-volumetric-texture selection to an explicit nominal engine. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon reaches a process-global backend; JavaScript receives the composed executor explicitly because the resource pool has no backend-dispatch role.\")\r\n static GetEmptyVolumetricTexture(gpuResourcePool, executor)\r\n {\r\n if (!(executor instanceof CjsVolumetricsExecutor))\r\n {\r\n throw new TypeError(\"Tr2VolumetricsRenderer.GetEmptyVolumetricTexture requires a CjsVolumetricsExecutor.\");\r\n }\r\n return executor.GetEmptyVolumetricTexture(gpuResourcePool);\r\n }\r\n\r\n /** Delegates primary-view froxel fog rendering to the nominal engine. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Trinity keeps Carbon's call contract and CPU state while the context executor realizes GPU resources and passes.\")\r\n RenderFog(\r\n renderContext,\r\n gpuResourcePool,\r\n width,\r\n height,\r\n cascadedShadowMap,\r\n raytracingGeometry,\r\n shadowQuality,\r\n sunDirection,\r\n sunColor,\r\n origin,\r\n originShift,\r\n view,\r\n projection,\r\n viewLast,\r\n projectionLast\r\n )\r\n {\r\n return renderContext.GetVolumetricsExecutor().RenderFog(\r\n this,\r\n renderContext,\r\n gpuResourcePool,\r\n width,\r\n height,\r\n cascadedShadowMap,\r\n raytracingGeometry,\r\n shadowQuality,\r\n sunDirection,\r\n sunColor,\r\n origin,\r\n originShift,\r\n view,\r\n projection,\r\n viewLast,\r\n projectionLast\r\n );\r\n }\r\n\r\n /** Delegates reflection-view fog rendering to the nominal engine. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Trinity preserves the portable call order; the context executor realizes physical reflection fog resources.\")\r\n RenderFogIntoReflectionMap(\r\n renderContext,\r\n gpuResourcePool,\r\n width,\r\n height,\r\n sunDirection,\r\n sunColor,\r\n origin,\r\n view,\r\n projection\r\n )\r\n {\r\n return renderContext.GetVolumetricsExecutor().RenderFogIntoReflectionMap(\r\n this,\r\n renderContext,\r\n gpuResourcePool,\r\n width,\r\n height,\r\n sunDirection,\r\n sunColor,\r\n origin,\r\n view,\r\n projection\r\n );\r\n }\r\n\r\n /** Delegates empty-fog-texture selection to an explicit nominal engine. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon reaches a process-global backend; JavaScript receives the composed executor explicitly because the resource pool has no backend-dispatch role.\")\r\n static GetEmptyFogTexture(gpuResourcePool, executor)\r\n {\r\n if (!(executor instanceof CjsVolumetricsExecutor))\r\n {\r\n throw new TypeError(\"Tr2VolumetricsRenderer.GetEmptyFogTexture requires a CjsVolumetricsExecutor.\");\r\n }\r\n return executor.GetEmptyFogTexture(gpuResourcePool);\r\n }\r\n\r\n /** Delegates Mie environment-map realization to the nominal engine. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon updates GPU state directly; JavaScript delegates only that physical work through the active render context.\")\r\n UpdateFogEnvironmentMap(renderContext)\r\n {\r\n return renderContext.GetVolumetricsExecutor().UpdateFogEnvironmentMap(this, renderContext);\r\n }\r\n\r\n /** Delegates publication of realized fog textures to the nominal engine. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon uses a process-global render backend; JavaScript threads the active context so the installed engine publishes its own physical textures.\")\r\n UpdateVariableStore(renderContext)\r\n {\r\n return renderContext.GetVolumetricsExecutor().UpdateVariableStore(this, renderContext);\r\n }\r\n\r\n /** Delegates volumetric-shadow realization to the nominal engine. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Trinity retains registry and renderer state; the active context's engine owns the physical shadow pass.\")\r\n RenderShadows(registry, shadowMap, renderContext)\r\n {\r\n return renderContext.GetVolumetricsExecutor().RenderShadows(this, registry, shadowMap, renderContext);\r\n }\r\n\r\n static Tr2VolumerticQuality = Tr2VolumerticQuality;\r\n}\r\n"],"names":["FROXEL_FOG_COMPONENT","FROXEL_NOISE_DEPTH","FOG_COLOR_SCRATCH","vec3","create","_Tr2VolumetricsRender","_identity","Tr2VolumetricsRenderer","CjsModel","e","_init_quality","_init_extra_quality","_init_mieEnvironmentMap","_init_extra_mieEnvironmentMap","_init_blur","_init_extra_blur","_init_logBlending","_init_extra_logBlending","_init_gameBackClip","_init_extra_gameBackClip","_init_backgroundVisibility","_init_extra_backgroundVisibility","_init_thickness","_init_extra_thickness","_init_environmentDirectionality","_init_extra_environmentDirectionality","_init_lightDirectionality","_init_extra_lightDirectionality","_init_godRayNoiseAnimationSpeed","_init_extra_godRayNoiseAnimationSpeed","_init_fogNoiseMovementSpeed","_init_extra_fogNoiseMovementSpeed","_init_fogColor","_init_extra_fogColor","_init_godRayNoiseFrequency","_init_extra_godRayNoiseFrequency","_init_fogNoiseFrequency","_init_extra_fogNoiseFrequency","_init_godRayNoiseIntensity","_init_extra_godRayNoiseIntensity","_init_fogNoiseIntensity","_init_extra_fogNoiseIntensity","_init_logBlendingSmoothness","_init_extra_logBlendingSmoothness","_init_environmentIntensity","_init_extra_environmentIntensity","_init_castShadows","_init_extra_castShadows","_init_receiveShadows","_init_extra_receiveShadows","_init_scaleFactor","_init_extra_scaleFactor","_initProto","_initStatic","c","_initClass","_applyDecs","type","define","className","family","io","readwrite","int32","enum","read","objectRef","boolean","float32","color","float64","carbon","method","impl","adapted","reason","implemented","custom","quality","Tr2VolumerticQuality","High","mieEnvironmentMap","Tr2TextureReference","blur","logBlending","gameBackClip","backgroundVisibility","thickness","environmentDirectionality","lightDirectionality","godRayNoiseAnimationSpeed","fogNoiseMovementSpeed","fogColor","vec4","godRayNoiseFrequency","fogNoiseFrequency","godRayNoiseIntensity","fogNoiseIntensity","logBlendingSmoothness","environmentIntensity","castShadows","receiveShadows","scaleFactor","Float64Array","fromValues","constructor","store","Tr2VariableStore","GlobalStore","RegisterVariable","UpdateFogSettings","registry","updateContext","settings","Array","from","GetComponents","component","GetFroxelFogSettings","smoothness","value","logThickness","Math","log1p","Number","enabled","sort","a","b","priority","AccumulatePriorityAttribute","expm1","delta","GetDeltaT","floor","lane","HasFog","PopulatePerFrameData","out","Set","min","max","exp","SetIndex","SetQuality","Ultra","Medium","SetPlanets","planets","length","RangeError","copy","SetSunAngle","angle","GetGodRayNoiseAnimation","GetFogNoiseMovement","GetSunAngle","GetPlanet","index","RenderVolumetrics","frustum","sceneDepth","froxelFog","sunDirection","depthSlices","raytracingEnabled","gpuResourcePool","renderContext","GetVolumetricsExecutor","GetEmptyVolumetricTexture","executor","CjsVolumetricsExecutor","TypeError","RenderFog","width","height","cascadedShadowMap","raytracingGeometry","shadowQuality","sunColor","origin","originShift","view","projection","viewLast","projectionLast","RenderFogIntoReflectionMap","GetEmptyFogTexture","UpdateFogEnvironmentMap","UpdateVariableStore","RenderShadows","shadowMap"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2VolumetricsRenderer.js","sources":["../../../../../src/trinity/core/volumetrics/Tr2VolumetricsRenderer.js"],"sourcesContent":["// Source: trinity/trinity/Tr2VolumetricsRenderer.h\n// Source: trinity/trinity/Tr2VolumetricsRenderer.cpp\n// Source: trinity/trinity/Tr2VolumetricsRenderer_Blue.cpp\nimport { carbon, impl, io, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport { vec3 } from \"#math/vec3\";\nimport { vec4 } from \"#math/vec4\";\nimport { Tr2VolumerticQuality } from \"../../generated/trinityCore/enums.js\";\nimport { Tr2TextureReference } from \"../../generated/trinityCore/Tr2TextureReference.js\";\nimport { AccumulatePriorityAttribute } from \"../PriorityBlend.js\";\nimport { Tr2VariableStore } from \"../variable/Tr2VariableStore.js\";\n\n\nconst FROXEL_FOG_COMPONENT = \"FroxelFogSettings\";\nconst FROXEL_NOISE_DEPTH = 64;\nconst FOG_COLOR_SCRATCH = vec3.create();\n\n\n/**\n * Owns portable froxel-fog blending and terminal per-frame constant writes.\n * Physical fog/volumetric textures, passes and environment-map realization\n * remain explicit engine obligations.\n */\n@type.define({ className: \"Tr2VolumetricsRenderer\", family: \"trinityCore\" })\nexport class Tr2VolumetricsRenderer extends CjsModel\n{\n @io.readwrite\n @type.int32\n @type.enum(\"Tr2VolumerticQuality\")\n quality = Tr2VolumerticQuality.High;\n\n @io.read\n @type.objectRef(\"Tr2TextureReference\")\n mieEnvironmentMap = new Tr2TextureReference();\n\n @io.readwrite\n @type.boolean\n blur = true;\n\n @io.readwrite\n @type.boolean\n logBlending = true;\n\n @io.readwrite\n @type.float32\n gameBackClip = 1e6;\n\n @io.read\n @type.float32\n backgroundVisibility = 0;\n\n @io.read\n @type.float32\n thickness = 0;\n\n @io.read\n @type.float32\n environmentDirectionality = 0;\n\n @io.read\n @type.float32\n lightDirectionality = 0;\n\n @io.read\n @type.float32\n godRayNoiseAnimationSpeed = 0;\n\n @io.read\n @type.vec3\n fogNoiseMovementSpeed = vec3.create();\n\n @io.read\n @type.color\n fogColor = vec4.create();\n\n @io.read\n @type.float32\n godRayNoiseFrequency = 0;\n\n @io.read\n @type.float32\n fogNoiseFrequency = 0;\n\n @io.read\n @type.float32\n godRayNoiseIntensity = 0;\n\n @io.read\n @type.float32\n fogNoiseIntensity = 0;\n\n @io.readwrite\n @type.float64\n logBlendingSmoothness = 4;\n\n @io.read\n @type.float32\n environmentIntensity = 0;\n\n @io.readwrite\n @type.boolean\n castShadows = false;\n\n @io.readwrite\n @type.boolean\n receiveShadows = false;\n\n @io.readwrite\n @type.float32\n scaleFactor = 0.7;\n\n #godRayNoiseAnimation = 0;\n\n #fogNoiseMovement = new Float64Array(3);\n\n #planets = [ vec4.fromValues(0, 0, 0, -1), vec4.fromValues(0, 0, 0, -1) ];\n\n #sunAngle = 0;\n\n /** Creates Carbon's logical Mie reference and reserves its texture globals. */\n constructor()\n {\n super();\n const store = Tr2VariableStore.GlobalStore();\n store.RegisterVariable(\"EveSceneFogVolumeMap\");\n store.RegisterVariable(\"VolumetricDepthMap\");\n store.RegisterVariable(\"EveSceneMieEnvironmentMap\");\n store.RegisterVariable(\"EveSceneFroxelFogMap\");\n }\n\n /** Updates all fog attributes from the scene's nominal component registry. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"The Eve component registry is supplied directly; Carbon's realized 64-deep noise texture becomes its fixed animation-depth constant while physical noise storage stays engine-owned.\")\n UpdateFogSettings(registry, updateContext)\n {\n const settings = Array.from(registry.GetComponents(FROXEL_FOG_COMPONENT), component =>\n component.GetFroxelFogSettings());\n\n const smoothness = this.logBlendingSmoothness;\n for (const value of settings)\n {\n value.logThickness.value = Math.log1p(Number(value.thickness.value) * smoothness);\n value.logThickness.enabled = value.thickness.enabled;\n }\n settings.sort((a, b) => b.priority - a.priority);\n\n this.thickness = AccumulatePriorityAttribute(settings, value => value.thickness);\n this.lightDirectionality = AccumulatePriorityAttribute(settings, value => value.lightDirectionality);\n this.environmentIntensity = AccumulatePriorityAttribute(settings, value => value.environmentIntensity);\n this.environmentDirectionality = AccumulatePriorityAttribute(settings, value => value.environmentDirectionality);\n AccumulatePriorityAttribute(settings, value => value.fogColor, this.fogColor);\n this.backgroundVisibility = AccumulatePriorityAttribute(settings, value => value.backgroundVisibility);\n this.godRayNoiseIntensity = AccumulatePriorityAttribute(settings, value => value.godRayNoiseIntensity);\n this.godRayNoiseFrequency = AccumulatePriorityAttribute(settings, value => value.godRayNoiseFrequency);\n this.godRayNoiseAnimationSpeed = AccumulatePriorityAttribute(settings, value => value.godRayNoiseAnimationSpeed);\n this.fogNoiseIntensity = AccumulatePriorityAttribute(settings, value => value.fogNoiseIntensity);\n this.fogNoiseFrequency = AccumulatePriorityAttribute(settings, value => value.fogNoiseFrequency);\n AccumulatePriorityAttribute(settings, value => value.fogNoiseMovementSpeed, this.fogNoiseMovementSpeed);\n\n if (this.logBlending)\n {\n const logThickness = AccumulatePriorityAttribute(settings, value => value.logThickness);\n this.thickness = Math.expm1(logThickness) / smoothness;\n }\n\n const delta = updateContext.GetDeltaT();\n this.#godRayNoiseAnimation += this.godRayNoiseAnimationSpeed * (delta / FROXEL_NOISE_DEPTH);\n this.#godRayNoiseAnimation -= Math.floor(this.#godRayNoiseAnimation);\n for (let lane = 0; lane < 3; lane++)\n {\n this.#fogNoiseMovement[lane] += this.fogNoiseMovementSpeed[lane] * delta;\n }\n }\n\n /** Reports whether the blended fog thickness is strictly positive. */\n @carbon.method\n @impl.implemented\n HasFog()\n {\n return this.thickness > 0;\n }\n\n /** Writes the inline FroxelPerFrameData fields into canonical RawData. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon writes an inline constant struct; Trinity writes the same terminal scalar/vector bytes through the canonical RawData layout.\")\n PopulatePerFrameData(out)\n {\n FOG_COLOR_SCRATCH[0] = this.fogColor[0];\n FOG_COLOR_SCRATCH[1] = this.fogColor[1];\n FOG_COLOR_SCRATCH[2] = this.fogColor[2];\n out.Set(\"FroxelFogColor\", FOG_COLOR_SCRATCH);\n out.Set(\"FroxelBackgroundVisibility\", Math.min(Math.max(this.backgroundVisibility, 0), 1));\n out.Set(\"FroxelBaseDensity\", this.thickness / this.gameBackClip);\n out.Set(\"FroxelMaxDistance\", this.gameBackClip);\n out.Set(\"FroxelMaxDistanceVisibility\", Math.exp(-this.thickness));\n out.Set(\"FroxelEnvironmentIntensity\", this.environmentIntensity);\n out.Set(\"FroxelEnvironmentG\", -Math.min(Math.max(this.environmentDirectionality, 0.001), 0.999));\n out.SetIndex(\"FroxelPlanets\", 0, this.#planets[0]);\n out.SetIndex(\"FroxelPlanets\", 1, this.#planets[1]);\n return out;\n }\n\n /** Applies Carbon's four quality presets. */\n @carbon.method\n @impl.implemented\n SetQuality(quality)\n {\n this.quality = quality;\n switch (quality)\n {\n case Tr2VolumerticQuality.Ultra:\n this.scaleFactor = 1;\n this.castShadows = true;\n this.receiveShadows = true;\n break;\n case Tr2VolumerticQuality.High:\n this.scaleFactor = 0.7;\n this.castShadows = true;\n this.receiveShadows = false;\n break;\n case Tr2VolumerticQuality.Medium:\n this.scaleFactor = 0.5;\n this.castShadows = false;\n this.receiveShadows = false;\n break;\n default:\n this.scaleFactor = 0.3;\n this.castShadows = false;\n this.receiveShadows = false;\n break;\n }\n }\n\n /** Copies the two planet spheres used by the fog shader. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon asserts a two-sphere span and memcpy-copies it; JavaScript throws RangeError and copies the two vec4 records.\")\n SetPlanets(planets)\n {\n if (!planets || planets.length !== 2)\n {\n throw new RangeError(\"Tr2VolumetricsRenderer.SetPlanets requires exactly two spheres.\");\n }\n vec4.copy(this.#planets[0], planets[0]);\n vec4.copy(this.#planets[1], planets[1]);\n }\n\n /** Stores the sun angle consumed by later fog constant production. */\n @carbon.method\n @impl.implemented\n SetSunAngle(angle)\n {\n this.#sunAngle = angle;\n }\n\n /** Returns the wrapped 0..1 god-ray noise phase for engine realization. */\n @impl.custom\n @impl.reason(\"Engines need Carbon's private CPU-produced phase without owning or recomputing its update policy.\")\n GetGodRayNoiseAnimation()\n {\n return this.#godRayNoiseAnimation;\n }\n\n /** Copies Carbon's accumulated double-precision fog-noise movement. */\n @impl.custom\n @impl.reason(\"Engines consume the CPU-produced movement but do not advance it independently.\")\n GetFogNoiseMovement(out)\n {\n out[0] = this.#fogNoiseMovement[0];\n out[1] = this.#fogNoiseMovement[1];\n out[2] = this.#fogNoiseMovement[2];\n return out;\n }\n\n /** Returns the scene-produced sun angle used by fog realization. */\n @impl.custom\n @impl.reason(\"Carbon stores this as private renderer state; the split engine realization needs an explicit read boundary.\")\n GetSunAngle()\n {\n return this.#sunAngle;\n }\n\n /** Copies one of the two scene-selected planet spheres. */\n @impl.custom\n @impl.reason(\"Carbon's physical fog pass reads private planet state; the engine executor receives it through this checked copy boundary.\")\n GetPlanet(index, out)\n {\n if (index !== 0 && index !== 1)\n {\n throw new RangeError(\"Tr2VolumetricsRenderer.GetPlanet index must be 0 or 1.\");\n }\n return vec4.copy(out, this.#planets[index]);\n }\n\n /**\n * Renders the froxel volume for every volumetric component in the registry.\n *\n * UNPORTED. Carbon's body is the bulk of a 1,150-line file and drives the\n * froxel volume: it sizes the target from the scene depth and a scale factor,\n * counts `ITr2VolumetricRenderable` components off the registry, then runs the\n * compute and raymarch passes. None of that has a JS counterpart yet.\n *\n * It throws rather than returning nothing: a caller that silently got no\n * volumetric texture renders a scene with no fog and looks plausible.\n *\n * @returns {object} Never; see above.\n */\n @carbon.method\n @impl.notImplemented\n @impl.reason(\"Carbon's froxel compute and raymarch passes (Tr2VolumetricsRenderer.cpp:152-493) have no JS counterpart.\")\n RenderVolumetrics()\n {\n throw new Error(\"Tr2VolumetricsRenderer.RenderVolumetrics: the froxel passes are unported.\");\n }\n\n /**\n * The neutral volumetric texture, used when nothing volumetric is in view.\n *\n * UNPORTED, AND THE BLOCKER IS THE POOL'S DESCRIPTION. Carbon borrows a 1x1\n * black texture seeded with `Tr2SubresourceData` and described by a\n * `Tr2BitmapDimensions` carrying a texture TYPE and a slice count - a 2D array\n * of four slices here, a 3D texture for fog. Our pool takes only\n * `{ width, height, format, gpuUsage }`, which can express neither, and its\n * `initialize` callback has no way to supply initial subresource bytes.\n *\n * Carbon's signature is restored (static, taking the pool) so the shape is\n * right when the pool grows a full description.\n *\n * @param {object} _gpuResourcePool The pool to borrow from.\n * @returns {object} Never; see above.\n */\n @carbon.method\n @impl.notImplemented\n @impl.reason(\"Tr2GpuResourcePool's description carries no texture type or slice count, and no initial subresource data, so a 2D array of four slices cannot be asked for.\")\n static GetEmptyVolumetricTexture(_gpuResourcePool)\n {\n throw new Error(\n \"Tr2VolumetricsRenderer.GetEmptyVolumetricTexture: needs a pool description \"\n + \"carrying texture type, slice count and initial data.\"\n );\n }\n\n /**\n * Renders the fog volume.\n *\n * UNPORTED. Carbon's body is the bulk of a 1,150-line file and drives the\n * froxel volume: it sizes the target from the scene depth and a scale factor,\n * counts `ITr2VolumetricRenderable` components off the registry, then runs the\n * compute and raymarch passes. None of that has a JS counterpart yet.\n *\n * It throws rather than returning nothing: a caller that silently got no\n * volumetric texture renders a scene with no fog and looks plausible.\n *\n * @returns {object} Never; see above.\n */\n @carbon.method\n @impl.notImplemented\n @impl.reason(\"Carbon's fog passes (Tr2VolumetricsRenderer.cpp:494-554) have no JS counterpart.\")\n RenderFog()\n {\n throw new Error(\"Tr2VolumetricsRenderer.RenderFog: the fog passes are unported.\");\n }\n\n /**\n * Renders the fog volume into a reflection map.\n *\n * UNPORTED. Carbon's body is the bulk of a 1,150-line file and drives the\n * froxel volume: it sizes the target from the scene depth and a scale factor,\n * counts `ITr2VolumetricRenderable` components off the registry, then runs the\n * compute and raymarch passes. None of that has a JS counterpart yet.\n *\n * It throws rather than returning nothing: a caller that silently got no\n * volumetric texture renders a scene with no fog and looks plausible.\n *\n * @returns {object} Never; see above.\n */\n @carbon.method\n @impl.notImplemented\n @impl.reason(\"Carbon's reflection-map fog pass (Tr2VolumetricsRenderer.cpp:519-554) has no JS counterpart.\")\n RenderFogIntoReflectionMap()\n {\n throw new Error(\"Tr2VolumetricsRenderer.RenderFogIntoReflectionMap: the fog passes are unported.\");\n }\n\n /**\n * The neutral froxel-fog texture, used when there is no fog.\n *\n * UNPORTED, AND THE BLOCKER IS THE POOL'S DESCRIPTION. Carbon borrows a 1x1\n * black texture seeded with `Tr2SubresourceData` and described by a\n * `Tr2BitmapDimensions` carrying a texture TYPE and a slice count - a 2D array\n * of four slices here, a 3D texture for fog. Our pool takes only\n * `{ width, height, format, gpuUsage }`, which can express neither, and its\n * `initialize` callback has no way to supply initial subresource bytes.\n *\n * Carbon's signature is restored (static, taking the pool) so the shape is\n * right when the pool grows a full description.\n *\n * @param {object} _gpuResourcePool The pool to borrow from.\n * @returns {object} Never; see above.\n */\n @carbon.method\n @impl.notImplemented\n @impl.reason(\"Tr2GpuResourcePool's description carries no texture type or initial subresource data, so a 3D texture cannot be asked for.\")\n static GetEmptyFogTexture(_gpuResourcePool)\n {\n throw new Error(\n \"Tr2VolumetricsRenderer.GetEmptyFogTexture: needs a pool description \"\n + \"carrying texture type and initial data.\"\n );\n }\n\n /**\n * Rebuilds the Mie environment map.\n *\n * UNPORTED. Carbon's 86-line body renders each cube face through the fog\n * effect (`Tr2VolumetricsRenderer.cpp`), which needs the same unported pass\n * machinery as the fog methods above.\n *\n * @returns {void} Never returns; see above.\n */\n @carbon.method\n @impl.notImplemented\n @impl.reason(\"Needs the fog pass machinery, which is unported.\")\n UpdateFogEnvironmentMap()\n {\n throw new Error(\"Tr2VolumetricsRenderer.UpdateFogEnvironmentMap: the fog passes are unported.\");\n }\n\n /**\n * Publishes the Mie environment map under the name effects sample it by.\n *\n * Carbon takes no arguments here and registers on the global store\n * (`Tr2VolumetricsRenderer.cpp`, one line). The port had grown a\n * `renderContext` parameter that existed only to reach an executor.\n */\n @carbon.method\n @impl.implemented\n UpdateVariableStore()\n {\n Tr2VariableStore.GlobalStore().RegisterVariable(\"EveSceneMieEnvironmentMap\", this.mieEnvironmentMap);\n }\n\n /**\n * Renders volumetric shadows for the registry's components.\n *\n * UNPORTED. Carbon's 31-line body walks the volumetric components and issues a\n * shadow pass per one, which needs the same unported pass machinery.\n *\n * @returns {void} Never returns; see above.\n */\n @carbon.method\n @impl.notImplemented\n @impl.reason(\"Needs the volumetric pass machinery, which is unported.\")\n RenderShadows()\n {\n throw new Error(\"Tr2VolumetricsRenderer.RenderShadows: the volumetric passes are unported.\");\n }\n\n static Tr2VolumerticQuality = Tr2VolumerticQuality;\n}\n"],"names":["FROXEL_FOG_COMPONENT","FROXEL_NOISE_DEPTH","FOG_COLOR_SCRATCH","vec3","create","_Tr2VolumetricsRender","_identity","Tr2VolumetricsRenderer","CjsModel","e","_init_quality","_init_extra_quality","_init_mieEnvironmentMap","_init_extra_mieEnvironmentMap","_init_blur","_init_extra_blur","_init_logBlending","_init_extra_logBlending","_init_gameBackClip","_init_extra_gameBackClip","_init_backgroundVisibility","_init_extra_backgroundVisibility","_init_thickness","_init_extra_thickness","_init_environmentDirectionality","_init_extra_environmentDirectionality","_init_lightDirectionality","_init_extra_lightDirectionality","_init_godRayNoiseAnimationSpeed","_init_extra_godRayNoiseAnimationSpeed","_init_fogNoiseMovementSpeed","_init_extra_fogNoiseMovementSpeed","_init_fogColor","_init_extra_fogColor","_init_godRayNoiseFrequency","_init_extra_godRayNoiseFrequency","_init_fogNoiseFrequency","_init_extra_fogNoiseFrequency","_init_godRayNoiseIntensity","_init_extra_godRayNoiseIntensity","_init_fogNoiseIntensity","_init_extra_fogNoiseIntensity","_init_logBlendingSmoothness","_init_extra_logBlendingSmoothness","_init_environmentIntensity","_init_extra_environmentIntensity","_init_castShadows","_init_extra_castShadows","_init_receiveShadows","_init_extra_receiveShadows","_init_scaleFactor","_init_extra_scaleFactor","_initProto","_initStatic","c","_initClass","_applyDecs","type","define","className","family","io","readwrite","int32","enum","read","objectRef","boolean","float32","color","float64","carbon","method","impl","adapted","reason","implemented","custom","notImplemented","quality","Tr2VolumerticQuality","High","mieEnvironmentMap","Tr2TextureReference","blur","logBlending","gameBackClip","backgroundVisibility","thickness","environmentDirectionality","lightDirectionality","godRayNoiseAnimationSpeed","fogNoiseMovementSpeed","fogColor","vec4","godRayNoiseFrequency","fogNoiseFrequency","godRayNoiseIntensity","fogNoiseIntensity","logBlendingSmoothness","environmentIntensity","castShadows","receiveShadows","scaleFactor","Float64Array","fromValues","constructor","store","Tr2VariableStore","GlobalStore","RegisterVariable","UpdateFogSettings","registry","updateContext","settings","Array","from","GetComponents","component","GetFroxelFogSettings","smoothness","value","logThickness","Math","log1p","Number","enabled","sort","a","b","priority","AccumulatePriorityAttribute","expm1","delta","GetDeltaT","floor","lane","HasFog","PopulatePerFrameData","out","Set","min","max","exp","SetIndex","SetQuality","Ultra","Medium","SetPlanets","planets","length","RangeError","copy","SetSunAngle","angle","GetGodRayNoiseAnimation","GetFogNoiseMovement","GetSunAngle","GetPlanet","index","RenderVolumetrics","Error","GetEmptyVolumetricTexture","_gpuResourcePool","RenderFog","RenderFogIntoReflectionMap","GetEmptyFogTexture","UpdateFogEnvironmentMap","UpdateVariableStore","RenderShadows"],"mappings":"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"}
@@ -1,14 +1,15 @@
1
1
  import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { random } from '#math/random';
2
3
  import { quat, fromYawPitchRoll } from '#math/quat';
3
4
  import { CjsModel } from '#model';
4
5
  import { io, type, carbon, impl } from '#schema';
5
6
 
6
7
  let _initProto, _initClass, _init_name, _init_extra_name, _init_currentValue, _init_extra_currentValue, _init_period, _init_extra_period, _init_seed, _init_extra_seed;
7
8
 
8
- /**
9
- * Quaternion curve that spins at a fixed rate of one revolution per `period`
10
- * seconds about an axis fixed by two seed-derived random rotations applied
11
- * before and after the spin.
9
+ /**
10
+ * Quaternion curve that spins at a fixed rate of one revolution per `period`
11
+ * seconds about an axis fixed by two seed-derived random rotations applied
12
+ * before and after the spin.
12
13
  */
13
14
  let _Tr2CurveRandomAxisRo;
14
15
  new class extends _identity {
@@ -27,63 +28,63 @@ new class extends _identity {
27
28
  period = (_init_extra_currentValue(this), _init_period(this, 1));
28
29
  seed = (_init_extra_period(this), _init_seed(this, 0));
29
30
 
30
- /**
31
- * Source runtime state; not exposed by Carbon's Blue schema.
31
+ /**
32
+ * Source runtime state; not exposed by Carbon's Blue schema.
32
33
  */
33
34
  preRotation = (_init_extra_seed(this), quat.create());
34
35
 
35
- /**
36
- * Source runtime state; not exposed by Carbon's Blue schema.
36
+ /**
37
+ * Source runtime state; not exposed by Carbon's Blue schema.
37
38
  */
38
39
  postRotation = quat.create();
39
40
  #rotation = quat.create();
40
41
 
41
- /**
42
- * Updates the cached quaternion value for the supplied time.
42
+ /**
43
+ * Updates the cached quaternion value for the supplied time.
43
44
  */
44
45
  UpdateValue(time) {
45
46
  this.GetValueAt(time, this.currentValue);
46
47
  }
47
48
 
48
- /**
49
- * Updates the cached value and copies it into `out`.
49
+ /**
50
+ * Updates the cached value and copies it into `out`.
50
51
  */
51
52
  Update(time, out) {
52
53
  this.UpdateValue(time);
53
54
  return quat.copy(out, this.currentValue);
54
55
  }
55
56
 
56
- /**
57
- * Gets the quaternion value at `time` into `out`.
57
+ /**
58
+ * Gets the quaternion value at `time` into `out`.
58
59
  */
59
60
  GetValueAt(time, out) {
60
61
  return this.Evaluate(out, time);
61
62
  }
62
63
 
63
- /**
64
- * Derivative stub retained for Carbon interface compatibility.
64
+ /**
65
+ * Derivative stub retained for Carbon interface compatibility.
65
66
  */
66
67
  GetValueDotAt(_time, out) {
67
68
  return out;
68
69
  }
69
70
 
70
- /**
71
- * Second-derivative stub retained for Carbon interface compatibility.
71
+ /**
72
+ * Second-derivative stub retained for Carbon interface compatibility.
72
73
  */
73
74
  GetValueDoubleDotAt(_time, out) {
74
75
  return out;
75
76
  }
76
77
 
77
- /**
78
- * Gets the quaternion value at `time` into `out`.
78
+ /**
79
+ * Gets the quaternion value at `time` into `out`.
79
80
  */
80
81
  GetValue(time, out) {
81
82
  return this.GetValueAt(time, out);
82
83
  }
83
84
 
84
- /**
85
- * Evaluates Carbon's row-vector chain post * pitch * pre (post applied
86
- * first, pre last) - gl composes it as pre . pitch . post.
85
+ /**
86
+ * Evaluates Carbon's row-vector chain post * pitch * pre (post applied
87
+ * first, pre last) - gl composes it as pre . pitch . post.
87
88
  */
88
89
  Evaluate(out, time) {
89
90
  quat.copy(out, this.postRotation);
@@ -95,8 +96,8 @@ new class extends _identity {
95
96
  return quat.multiply(out, this.preRotation, out);
96
97
  }
97
98
 
98
- /**
99
- * Rebuilds random rotations when a persisted seed is available.
99
+ /**
100
+ * Rebuilds random rotations when a persisted seed is available.
100
101
  */
101
102
  Initialize() {
102
103
  if (this.seed !== 0) {
@@ -110,15 +111,15 @@ new class extends _identity {
110
111
  return true;
111
112
  }
112
113
 
113
- /**
114
- * Gets the deterministic seed value.
114
+ /**
115
+ * Gets the deterministic seed value.
115
116
  */
116
117
  GetSeed() {
117
118
  return this.seed;
118
119
  }
119
120
 
120
- /**
121
- * Sets the deterministic seed value and rebuilds random rotations.
121
+ /**
122
+ * Sets the deterministic seed value and rebuilds random rotations.
122
123
  */
123
124
  SetSeed(seed, options = {}) {
124
125
  const changed = this.SetValues({
@@ -139,88 +140,45 @@ new class extends _identity {
139
140
  return true;
140
141
  }
141
142
 
142
- /**
143
- * Rebuilds pre/post random rotations.
143
+ /**
144
+ * Rebuilds pre/post random rotations.
144
145
  */
145
146
  SeedChanged() {
146
- const random = this.seed !== 0 ? _Tr2CurveRandomAxisRo.#makeMsvcDefaultRandomEngine(this.seed) : Math.random;
147
- _Tr2CurveRandomAxisRo.#buildCarbonRandomRotation(this.preRotation, random);
148
- _Tr2CurveRandomAxisRo.#buildCarbonRandomRotation(this.postRotation, random);
147
+ const engine = this.seed !== 0 ? _Tr2CurveRandomAxisRo.#makeMsvcDefaultRandomEngine(this.seed) : Math.random;
148
+ _Tr2CurveRandomAxisRo.#buildCarbonRandomRotation(this.preRotation, engine);
149
+ _Tr2CurveRandomAxisRo.#buildCarbonRandomRotation(this.postRotation, engine);
149
150
  }
150
151
 
151
- /**
152
- * Draws roll, pitch and yaw from the supplied generator in that order -
153
- * matching Carbon's draw order, which fixes the resulting rotation for a given
154
- * seed - and writes the quaternion into `out`.
152
+ /**
153
+ * Draws roll, pitch and yaw from the supplied generator in that order -
154
+ * matching Carbon's draw order, which fixes the resulting rotation for a given
155
+ * seed - and writes the quaternion into `out`.
155
156
  */
156
157
 
157
158
  /** Draws one angle uniformly in [0, 2pi) radians from the supplied generator. */
158
159
 
159
- /**
160
- * Builds a [0, 1] generator over a Mersenne Twister seeded like MSVC's
161
- * default_random_engine, so a persisted seed reproduces Carbon's rotations.
160
+ /**
161
+ * Builds a [0, 1] generator over a Mersenne Twister seeded like MSVC's
162
+ * default_random_engine, so a persisted seed reproduces Carbon's rotations.
162
163
  */
163
164
  }];
164
- #buildCarbonRandomRotation(out, random) {
165
- const roll = _Tr2CurveRandomAxisRo.#randomAngle(random);
166
- const pitch = _Tr2CurveRandomAxisRo.#randomAngle(random);
167
- const yaw = _Tr2CurveRandomAxisRo.#randomAngle(random);
165
+ #buildCarbonRandomRotation(out, engine) {
166
+ const roll = _Tr2CurveRandomAxisRo.#randomAngle(engine);
167
+ const pitch = _Tr2CurveRandomAxisRo.#randomAngle(engine);
168
+ const yaw = _Tr2CurveRandomAxisRo.#randomAngle(engine);
168
169
  return fromYawPitchRoll(out, yaw, pitch, roll);
169
170
  }
170
- #randomAngle(random) {
171
- return random() * Math.PI * 2;
171
+ #randomAngle(engine) {
172
+ return engine() * Math.PI * 2;
172
173
  }
173
174
  #makeMsvcDefaultRandomEngine(seed) {
174
- const engine = new CjsMt19937(seed >>> 0);
175
- return () => engine.Next() / 0xffffffff;
175
+ const engine = random.mt19937(seed >>> 0);
176
+ return () => engine() / 0xffffffff;
176
177
  }
177
178
  constructor() {
178
179
  super(_Tr2CurveRandomAxisRo), _initClass();
179
180
  }
180
181
  }();
181
- class CjsMt19937 {
182
- #state = new Uint32Array(624);
183
- #index = 624;
184
-
185
- /** Seeds the 624-word state with MT19937's standard initialisation recurrence. */
186
- constructor(seed) {
187
- this.#state[0] = seed >>> 0;
188
- for (let i = 1; i < this.#state.length; i++) {
189
- const previous = this.#state[i - 1];
190
- this.#state[i] = Math.imul(1812433253, previous ^ previous >>> 30) + i >>> 0;
191
- }
192
- }
193
-
194
- /**
195
- * Returns the next 32-bit unsigned value, regenerating the state block when
196
- * the previous 624 outputs are exhausted.
197
- */
198
- Next() {
199
- if (this.#index >= this.#state.length) {
200
- this.#twist();
201
- }
202
- let value = this.#state[this.#index++];
203
- value ^= value >>> 11;
204
- value ^= value << 7 & 0x9d2c5680;
205
- value ^= value << 15 & 0xefc60000;
206
- value ^= value >>> 18;
207
- return value >>> 0;
208
- }
209
-
210
- /** Regenerates the whole 624-word state block and rewinds the output cursor. */
211
- #twist() {
212
- for (let i = 0; i < this.#state.length; i++) {
213
- const next = (i + 1) % this.#state.length;
214
- const mix = this.#state[i] & 0x80000000 | this.#state[next] & 0x7fffffff;
215
- let value = this.#state[(i + 397) % this.#state.length] ^ mix >>> 1;
216
- if (mix & 1) {
217
- value ^= 0x9908b0df;
218
- }
219
- this.#state[i] = value >>> 0;
220
- }
221
- this.#index = 0;
222
- }
223
- }
224
182
 
225
183
  export { _Tr2CurveRandomAxisRo as Tr2CurveRandomAxisRotation };
226
184
  //# sourceMappingURL=Tr2CurveRandomAxisRotation.js.map