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

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 (935) 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/schema/CjsSchema.js +20 -2
  80. package/dist/global/schema/CjsSchema.js.map +1 -1
  81. package/dist/global/schema/hydration.js +14 -0
  82. package/dist/global/schema/hydration.js.map +1 -1
  83. package/dist/global/utils/bytes.js +22 -4
  84. package/dist/global/utils/bytes.js.map +1 -1
  85. package/dist/global/utils/checksum.js +80 -0
  86. package/dist/global/utils/checksum.js.map +1 -0
  87. package/dist/global/utils/errors/CjsCancellationError.js +36 -0
  88. package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
  89. package/dist/global/utils/errors/CjsError.js +21 -52
  90. package/dist/global/utils/errors/CjsError.js.map +1 -1
  91. package/dist/global/utils/errors/abort.js +1 -1
  92. package/dist/global/utils/errors/abort.js.map +1 -1
  93. package/dist/global/utils/errors/index.js +2 -1
  94. package/dist/global/utils/errors/index.js.map +1 -1
  95. package/dist/global/utils/index.js +4 -2
  96. package/dist/global/utils/index.js.map +1 -1
  97. package/dist/index.js +95 -35
  98. package/dist/index.js.map +1 -1
  99. package/dist/input/Tr2MainWindow.js +7 -9
  100. package/dist/input/Tr2MainWindow.js.map +1 -1
  101. package/dist/resource/CjsResMan.js +33 -39
  102. package/dist/resource/CjsResMan.js.map +1 -1
  103. package/dist/resource/CjsResource.js +19 -5
  104. package/dist/resource/CjsResource.js.map +1 -1
  105. package/dist/resource/audio/AudioGeometryResData.js +22 -27
  106. package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
  107. package/dist/resource/audio/CjsAudioRes.js +4 -5
  108. package/dist/resource/audio/CjsAudioRes.js.map +1 -1
  109. package/dist/resource/format/CjsBitReader.js +263 -0
  110. package/dist/resource/format/CjsBitReader.js.map +1 -0
  111. package/dist/resource/format/CjsByteReader.js +130 -125
  112. package/dist/resource/format/CjsByteReader.js.map +1 -1
  113. package/dist/resource/format/CjsFormat.js +11 -4
  114. package/dist/resource/format/CjsFormat.js.map +1 -1
  115. package/dist/resource/format/CjsFormatError.js +37 -1
  116. package/dist/resource/format/CjsFormatError.js.map +1 -1
  117. package/dist/resource/format/CjsResourceProbe.js +41 -37
  118. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  119. package/dist/resource/format/carbonRecordGuard.js +33 -0
  120. package/dist/resource/format/carbonRecordGuard.js.map +1 -0
  121. package/dist/resource/format/imageSignatures.js +202 -0
  122. package/dist/resource/format/imageSignatures.js.map +1 -0
  123. package/dist/resource/format/index.js +2 -1
  124. package/dist/resource/format/index.js.map +1 -1
  125. package/dist/resource/format/jsonPolicies.js +180 -0
  126. package/dist/resource/format/jsonPolicies.js.map +1 -0
  127. package/dist/resource/formats/black/core/helpers.js +18 -29
  128. package/dist/resource/formats/black/core/helpers.js.map +1 -1
  129. package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
  130. package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
  131. package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
  132. package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
  133. package/dist/resource/formats/bnk/core/busNodes.js +2 -1
  134. package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
  135. package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
  136. package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
  137. package/dist/resource/formats/bnk/core/eventAction.js +15 -93
  138. package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
  139. package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
  140. package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
  141. package/dist/resource/formats/bnk/core/helpers.js +2 -48
  142. package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
  143. package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
  144. package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
  145. package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
  146. package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
  147. package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
  148. package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
  149. package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
  150. package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
  151. package/dist/resource/formats/cmf/core/binary.js +54 -60
  152. package/dist/resource/formats/cmf/core/binary.js.map +1 -1
  153. package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
  154. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  155. package/dist/resource/formats/dds/core/bc6h.js +16 -18
  156. package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
  157. package/dist/resource/formats/dds/core/bc7.js +28 -24
  158. package/dist/resource/formats/dds/core/bc7.js.map +1 -1
  159. package/dist/resource/formats/dds/core/helpers.js +7 -133
  160. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  161. package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
  162. package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
  163. package/dist/resource/formats/dxbc/core/helpers.js +4 -32
  164. package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
  165. package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
  166. package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
  167. package/dist/resource/formats/fbx/core/helpers.js +18 -12
  168. package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
  169. package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
  170. package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
  171. package/dist/resource/formats/flac/core/helpers.js +1 -62
  172. package/dist/resource/formats/flac/core/helpers.js.map +1 -1
  173. package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
  174. package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
  175. package/dist/resource/formats/gif/core/helpers.js +1 -63
  176. package/dist/resource/formats/gif/core/helpers.js.map +1 -1
  177. package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
  178. package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
  179. package/dist/resource/formats/gltf/core/helpers.js +3 -19
  180. package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
  181. package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
  182. package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
  183. package/dist/resource/formats/gr2/core/container.js +1 -10
  184. package/dist/resource/formats/gr2/core/container.js.map +1 -1
  185. package/dist/resource/formats/gr2/core/helpers.js +24 -35
  186. package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
  187. package/dist/resource/formats/gr2/core/shared.js +193 -189
  188. package/dist/resource/formats/gr2/core/shared.js.map +1 -1
  189. package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
  190. package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
  191. package/dist/resource/formats/hlsl/core/helpers.js +1 -30
  192. package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
  193. package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
  194. package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
  195. package/dist/resource/formats/jpeg/core/helpers.js +7 -134
  196. package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
  197. package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
  198. package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
  199. package/dist/resource/formats/mp3/core/helpers.js +1 -64
  200. package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
  201. package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
  202. package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
  203. package/dist/resource/formats/mp4/core/helpers.js +1 -73
  204. package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
  205. package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
  206. package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
  207. package/dist/resource/formats/obj/core/helpers.js +93 -115
  208. package/dist/resource/formats/obj/core/helpers.js.map +1 -1
  209. package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
  210. package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
  211. package/dist/resource/formats/ogg/core/helpers.js +1 -15
  212. package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
  213. package/dist/resource/formats/ogg/core/vorbis.js +138 -144
  214. package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
  215. package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
  216. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  217. package/dist/resource/formats/png/CjsPngFormat.js +5 -3
  218. package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
  219. package/dist/resource/formats/png/core/helpers.js +13 -152
  220. package/dist/resource/formats/png/core/helpers.js.map +1 -1
  221. package/dist/resource/formats/png/core/writer.js +3 -27
  222. package/dist/resource/formats/png/core/writer.js.map +1 -1
  223. package/dist/resource/formats/red/core/helpers.js +19 -29
  224. package/dist/resource/formats/red/core/helpers.js.map +1 -1
  225. package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
  226. package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
  227. package/dist/resource/formats/stl/core/helpers.js +44 -66
  228. package/dist/resource/formats/stl/core/helpers.js.map +1 -1
  229. package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
  230. package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
  231. package/dist/resource/formats/tga/core/helpers.js +7 -153
  232. package/dist/resource/formats/tga/core/helpers.js.map +1 -1
  233. package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
  234. package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
  235. package/dist/resource/formats/vta/core/helpers.js +1 -17
  236. package/dist/resource/formats/vta/core/helpers.js.map +1 -1
  237. package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
  238. package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
  239. package/dist/resource/formats/wav/core/helpers.js +1 -15
  240. package/dist/resource/formats/wav/core/helpers.js.map +1 -1
  241. package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
  242. package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
  243. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +69 -9
  244. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  245. package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +12 -3
  246. package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
  247. package/dist/resource/formats/webgl/core/helpers.js +39 -68
  248. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  249. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
  250. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  251. package/dist/resource/formats/webgpu/core/helpers.js +4 -30
  252. package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
  253. package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
  254. package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
  255. package/dist/resource/formats/webm/core/helpers.js +1 -73
  256. package/dist/resource/formats/webm/core/helpers.js.map +1 -1
  257. package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
  258. package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
  259. package/dist/resource/formats/webp/core/helpers.js +1 -62
  260. package/dist/resource/formats/webp/core/helpers.js.map +1 -1
  261. package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
  262. package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
  263. package/dist/resource/formats/wem/core/bitStream.js +83 -106
  264. package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
  265. package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
  266. package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
  267. package/dist/resource/formats/wem/core/helpers.js +1 -15
  268. package/dist/resource/formats/wem/core/helpers.js.map +1 -1
  269. package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
  270. package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
  271. package/dist/resource/geometry/MeshDecalData.js +23 -25
  272. package/dist/resource/geometry/MeshDecalData.js.map +1 -1
  273. package/dist/resource/geometry/MeshDecalLodData.js +14 -23
  274. package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
  275. package/dist/resource/geometry/TriGeometryRes.js +299 -284
  276. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  277. package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
  278. package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
  279. package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
  280. package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
  281. package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
  282. package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
  283. package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
  284. package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
  285. package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
  286. package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
  287. package/dist/resource/geometry/TriJointBinding.js +16 -24
  288. package/dist/resource/geometry/TriJointBinding.js.map +1 -1
  289. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
  290. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
  291. package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
  292. package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
  293. package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
  294. package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
  295. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
  296. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  297. package/dist/resource/index.js +1 -1
  298. package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
  299. package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
  300. package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
  301. package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
  302. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
  303. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  304. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
  305. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
  306. package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
  307. package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
  308. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
  309. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  310. package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
  311. package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
  312. package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
  313. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  314. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
  315. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
  316. package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
  317. package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
  318. package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
  319. package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
  320. package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
  321. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  322. package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
  323. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  324. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
  325. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
  327. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
  329. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  330. package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
  331. package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
  332. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
  333. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  334. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
  335. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
  336. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
  337. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  338. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
  339. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  340. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
  341. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  342. package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
  343. package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
  344. package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
  345. package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
  346. package/dist/resource/worker/protocol.js +18 -1
  347. package/dist/resource/worker/protocol.js.map +1 -1
  348. package/dist/sof/EveSOF.js +2 -222
  349. package/dist/sof/EveSOF.js.map +1 -1
  350. package/dist/sof/SofDocumentBuilder.js +205 -0
  351. package/dist/sof/SofDocumentBuilder.js.map +1 -0
  352. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
  353. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
  354. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
  355. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
  356. package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
  357. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  358. package/dist/sof/faction/index.js +3 -1
  359. package/dist/sof/faction/index.js.map +1 -1
  360. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
  361. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
  362. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
  363. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
  364. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
  365. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
  366. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
  367. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
  368. package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
  369. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  370. package/dist/sof/generic/index.js +5 -1
  371. package/dist/sof/generic/index.js.map +1 -1
  372. package/dist/sof/index.js +23 -7
  373. package/dist/sof/index.js.map +1 -1
  374. package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
  375. package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
  376. package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
  377. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  378. package/dist/sof/pattern/index.js +2 -1
  379. package/dist/sof/pattern/index.js.map +1 -1
  380. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
  381. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
  382. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
  383. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
  384. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
  385. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
  386. package/dist/sof/shared/EveSOFDataArea.js +2 -13
  387. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  388. package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
  389. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  390. package/dist/sof/shared/EveSOFDataParameter.js +2 -146
  391. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  392. package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
  393. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
  394. package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
  395. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
  396. package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
  397. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
  398. package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
  399. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
  400. package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
  401. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
  402. package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
  403. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
  404. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
  405. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
  406. package/dist/sof/shared/index.js +13 -4
  407. package/dist/sof/shared/index.js.map +1 -1
  408. package/dist/sof/sofDocumentValues.js +33 -0
  409. package/dist/sof/sofDocumentValues.js.map +1 -0
  410. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
  411. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
  412. package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
  413. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
  414. package/dist/trinity/controllers/Tr2Controller.js +2 -1
  415. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  416. package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
  417. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  418. package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
  419. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  420. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
  421. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  422. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
  423. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
  424. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
  425. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
  426. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
  427. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
  428. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
  429. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
  430. package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
  431. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
  432. package/dist/trinity/controllers/index.js +5 -2
  433. package/dist/trinity/controllers/index.js.map +1 -1
  434. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
  435. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  436. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
  437. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  438. package/dist/trinity/core/ITr2Updateable.js +2 -1
  439. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  440. package/dist/trinity/core/Tr2Blitter.js +6 -3
  441. package/dist/trinity/core/Tr2Blitter.js.map +1 -1
  442. package/dist/trinity/core/Tr2Denoiser.js +256 -0
  443. package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
  444. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
  445. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
  446. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
  447. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
  448. package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
  449. package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
  450. package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
  451. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
  452. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
  453. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
  454. package/dist/trinity/core/Tr2RenderUtils.js +20 -3
  455. package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
  456. package/dist/trinity/core/Tr2Renderer.js +146 -1
  457. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  458. package/dist/trinity/core/Tr2ShadowMap.js +135 -14
  459. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  460. package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
  461. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
  462. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
  463. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
  464. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
  465. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
  466. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
  467. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
  468. package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
  469. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
  470. package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
  471. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
  472. package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
  473. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
  474. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
  475. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
  476. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
  477. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
  478. package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
  479. package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
  480. package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
  481. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  482. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
  483. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
  484. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
  485. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
  486. package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
  487. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  488. package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
  489. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
  490. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
  491. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
  492. package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
  493. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
  494. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
  495. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
  496. package/dist/trinity/core/index.js +42 -15
  497. package/dist/trinity/core/index.js.map +1 -1
  498. package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
  499. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  500. package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
  501. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
  502. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
  503. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
  504. package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
  505. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
  506. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
  507. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
  508. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
  509. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  510. package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
  511. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  512. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
  513. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  514. package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
  515. package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
  516. package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
  517. package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
  518. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
  519. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
  520. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
  521. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
  522. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
  523. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
  524. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
  525. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
  526. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
  527. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
  528. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
  529. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
  530. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
  531. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
  532. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
  533. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
  534. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
  535. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
  536. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
  537. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
  538. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
  539. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
  540. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
  541. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
  542. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
  543. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
  544. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
  545. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
  546. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
  547. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
  548. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
  549. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
  550. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
  551. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
  552. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
  553. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
  554. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
  555. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
  556. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
  557. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
  558. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
  559. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
  560. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
  561. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
  562. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
  563. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
  564. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
  565. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
  566. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
  567. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
  568. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
  569. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
  570. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
  571. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
  572. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
  573. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
  574. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
  575. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
  576. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
  577. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
  578. package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
  579. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
  580. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
  581. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
  582. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
  583. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
  584. package/dist/trinity/core/variable/TriVariable.js +83 -83
  585. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  586. package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
  587. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
  588. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
  589. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
  590. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
  591. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  592. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
  593. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  594. package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
  595. package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
  596. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
  597. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  598. package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
  599. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  600. package/dist/trinity/eve/IEveTransform.js +2 -1
  601. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  602. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
  603. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  604. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
  605. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  606. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
  607. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
  608. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
  609. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  610. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
  611. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  612. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
  613. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
  614. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
  615. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  616. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
  617. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  618. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
  619. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  620. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
  621. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  622. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
  623. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  624. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
  625. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  626. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
  627. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  628. package/dist/trinity/eve/camera/EveCamera.js +1 -1
  629. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  630. package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
  631. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  632. package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
  633. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  634. package/dist/trinity/eve/child/EveChildContainer.js +141 -141
  635. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  636. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
  637. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
  638. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
  639. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
  640. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
  641. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
  642. package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
  643. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
  644. package/dist/trinity/eve/child/EveChildMesh.js +218 -218
  645. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  646. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
  647. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
  648. package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
  649. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
  650. package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
  651. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  652. package/dist/trinity/eve/child/EveChildTransform.js +5 -0
  653. package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
  654. package/dist/trinity/eve/child/EveChildTurret.js +7 -0
  655. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  656. package/dist/trinity/eve/index.js +10 -4
  657. package/dist/trinity/eve/index.js.map +1 -1
  658. package/dist/trinity/eve/lights/Tr2Light.js +5 -0
  659. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  660. package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
  661. package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
  662. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
  663. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  664. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
  665. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  666. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
  667. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  668. package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
  669. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  670. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
  671. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  672. package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
  673. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  674. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
  675. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  676. package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
  677. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  678. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
  679. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  680. package/dist/trinity/generated/index.js +0 -1
  681. package/dist/trinity/generated/index.js.map +1 -1
  682. package/dist/trinity/generated/trinityCore/index.js +0 -1
  683. package/dist/trinity/generated/trinityCore/index.js.map +1 -1
  684. package/dist/trinity/index.js +59 -23
  685. package/dist/trinity/index.js.map +1 -1
  686. package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
  687. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
  688. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
  689. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
  690. package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
  691. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  692. package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
  693. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  694. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
  695. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  696. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
  697. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  698. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
  699. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  700. package/dist/trinity/particle/index.js +2 -1
  701. package/dist/trinity/particle/index.js.map +1 -1
  702. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
  703. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  704. package/dist/trinity/shader/Tr2Effect.js +131 -58
  705. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  706. package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
  707. package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
  708. package/dist/trinity/shader/Tr2Material.js +21 -4
  709. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  710. package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
  711. package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
  712. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
  713. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  714. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
  715. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
  716. package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
  717. package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
  718. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
  719. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
  720. package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
  721. package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
  722. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
  723. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
  724. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
  725. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
  726. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
  727. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
  728. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
  729. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
  730. package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
  731. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
  732. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
  733. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
  734. package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
  735. package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
  736. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
  737. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
  738. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
  739. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
  740. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
  741. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
  742. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
  743. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
  744. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
  745. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
  746. package/dist/trinityal/index.js +22 -9
  747. package/dist/trinityal/index.js.map +1 -1
  748. package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
  749. package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
  750. package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
  751. package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
  752. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
  753. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
  754. package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
  755. package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
  756. package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
  757. package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
  758. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
  759. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
  760. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
  761. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
  762. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
  763. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
  764. package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
  765. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
  766. package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
  767. package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
  768. package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
  769. package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
  770. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
  771. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
  772. package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
  773. package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
  774. package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
  775. package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
  776. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
  777. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
  778. package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
  779. package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
  780. package/dist/trinityal/stub/index.js +8 -4
  781. package/dist/trinityal/stub/index.js.map +1 -1
  782. package/dist/trinityal/vertexLayoutMatch.js +2 -2
  783. package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
  784. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
  785. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
  786. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
  787. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
  788. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
  789. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
  790. package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
  791. package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
  792. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
  793. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  794. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
  795. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  796. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
  797. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
  798. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
  799. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
  800. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
  801. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
  802. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
  803. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
  804. package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
  805. package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
  806. package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
  807. package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
  808. package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
  809. package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
  810. package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
  811. package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
  812. package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
  813. package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
  814. package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
  815. package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
  816. package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
  817. package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
  818. package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
  819. package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
  820. package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
  821. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
  822. package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
  823. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
  824. package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
  825. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
  826. package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
  827. package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
  828. package/dist/trinityal/webgpu/internal.js +12 -11
  829. package/dist/trinityal/webgpu/internal.js.map +1 -1
  830. package/docs/audio/reference/classes/trinity.md +44 -34
  831. package/docs/character/architecture.md +276 -0
  832. package/docs/character/reference/character-appearance-plans.md +30 -66
  833. package/docs/character/reference/prepared-libraries.md +14 -30
  834. package/docs/global/reference/api.md +2 -1
  835. package/docs/global/reference/classes/README.md +53 -71
  836. package/docs/global/reference/classes/dropped.md +16 -0
  837. package/docs/resource/README.md +19 -15
  838. package/docs/resource/architecture.md +9 -2
  839. package/docs/resource/concepts/format-capabilities.md +124 -80
  840. package/docs/resource/concepts/shared-format-helpers.md +94 -0
  841. package/docs/resource/formats/README.md +230 -224
  842. package/docs/resource/formats/bitknit2.md +221 -0
  843. package/docs/resource/formats/carbon-effect-container.md +184 -269
  844. package/docs/resource/formats/gr2.md +6 -1
  845. package/docs/resource/formats/schemabound.md +28 -48
  846. package/docs/resource/formats/static.md +70 -97
  847. package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
  848. package/docs/resource/formats/webgl/decl-io.md +165 -256
  849. package/docs/resource/formats/webgl/memory-structured.md +64 -142
  850. package/docs/resource/formats/webgl/texture-sample.md +109 -138
  851. package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
  852. package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
  853. package/docs/resource/formats/webgpu/reference/api.md +64 -67
  854. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +158 -345
  855. package/docs/resource/reference/classes/core.md +256 -236
  856. package/docs/resource/reference/classes/formats.md +1668 -1672
  857. package/docs/resource/reference/workers.md +4 -2
  858. package/docs/sof/reference/classes/core.md +1 -1
  859. package/docs/sof/reference/classes/faction.md +2 -2
  860. package/docs/sof/reference/classes/generic.md +4 -4
  861. package/docs/sof/reference/classes/pattern.md +1 -1
  862. package/docs/sof/reference/classes/shared.md +10 -10
  863. package/docs/trinity/architecture.md +55 -44
  864. package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
  865. package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
  866. package/docs/trinity/reference/classes/dropped.md +0 -189
  867. package/docs/trinity/reference/classes/eve-runtime.md +8 -8
  868. package/docs/trinity/reference/classes/generated.md +0 -10
  869. package/docs/trinity/reference/classes/particle.md +2 -2
  870. package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
  871. package/docs/trinity/reference/implementation-status.md +50 -75
  872. package/docs/trinity/reference/main-semantic-extraction.md +13 -17
  873. package/docs/trinityal/reference/classes/README.md +77 -27
  874. package/docs/trinityal/reference/classes/dropped.md +92 -0
  875. package/docs/trinityal/webgpu/README.md +3 -1
  876. package/docs/trinityal/webgpu/architecture.md +121 -228
  877. package/docs/trinityal/webgpu/reference/api.md +5 -5
  878. package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
  879. package/format-notices/gr2/NOTICE +18 -12
  880. package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
  881. package/package.json +4 -1
  882. package/dist/audio/trinity/audio/AudActionLog.js +0 -173
  883. package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
  884. package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
  885. package/dist/global/contracts/CjsScriptCallback.js +0 -94
  886. package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
  887. package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
  888. package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
  889. package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
  890. package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
  891. package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
  892. package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
  893. package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
  894. package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
  895. package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
  896. package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
  897. package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
  898. package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
  899. package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
  900. package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
  901. package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
  902. package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
  903. package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
  904. package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
  905. package/dist/trinity/core/rawData/constantLayout.js +0 -175
  906. package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
  907. package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
  908. package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
  909. package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
  910. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
  911. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
  912. package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
  913. package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
  914. package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
  915. package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
  916. package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
  917. package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
  918. package/dist/trinityal/Tr2SamplerDescription.js +0 -72
  919. package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
  920. package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
  921. package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
  922. package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
  923. package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
  924. package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
  925. package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
  926. package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
  927. package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
  928. package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
  929. package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
  930. package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
  931. package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
  932. package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
  933. package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
  934. package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
  935. package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
@@ -1,42 +1,11 @@
1
+ import { DefaultKeyGenerator } from './DefaultKeyGenerator.js';
2
+ import { RenderBatchSortType } from '../../../generated/trinityCore/enums.js';
1
3
  import { RenderingMode } from '#consts/graphics';
2
4
  import { Topology } from '#consts/render-context';
3
- import { RenderBatchSortType } from '../../generated/trinityCore/enums.js';
4
5
  import { ITriRenderBatchAccumulator } from './ITriRenderBatchAccumulator.js';
5
- import { Tr2GdprBatchFullPartition, OrderOf } from './Tr2RenderBatch.js';
6
+ import { Tr2GdprBatchFullPartition } from './Tr2RenderBatch.js';
6
7
 
7
- // Source: trinity/TriRenderBatch.h (TriRenderBatchAccumulator<KeyGenerator>,
8
- // DefaultKeyGenerator, EffectKeyGenerator)
9
- //
10
- // GPU-free render-batch accumulator: collects committed batches into two vectors
11
- // (GDPR-eligible and plain), then sorts / group-counts them on Finalize. The
12
- // engine adapter reads GetGdprBatches()/GetBatches()/IsChainedByEffect() from a
13
- // finalized accumulator and issues the actual draws.
14
-
15
- // Unsorted, order-preserving, single vector, no GDPR. Used for transparent /
16
- // order-dependent passes (which are pre-sorted by object distance CPU-side).
17
- const DefaultKeyGenerator = {
18
- ALLOW_GDPR: false,
19
- Less(_batch1, _batch2) {
20
- return false;
21
- },
22
- GetSortType() {
23
- return RenderBatchSortType.RENDERBATCHSORTTYPE_NONE;
24
- }
25
- };
26
-
27
- // Effect-sorted (shader, then vertex declaration); GDPR-enabled. Used for
28
- // opaque / decal / depth / additive / shadow passes.
29
- const EffectKeyGenerator = {
30
- ALLOW_GDPR: true,
31
- Less(batch1, batch2) {
32
- const shaderOrder = OrderOf(batch1.shader) - OrderOf(batch2.shader);
33
- if (shaderOrder !== 0) return shaderOrder < 0;
34
- return batch1.vertexDeclaration < batch2.vertexDeclaration;
35
- },
36
- GetSortType() {
37
- return RenderBatchSortType.RENDERBATCHSORTTYPE_SORT;
38
- }
39
- };
8
+ // Source: trinity/trinity/TriRenderBatch.h
40
9
 
41
10
  /**
42
11
  * Concrete GPU-free batch accumulator: collects committed batches into a
@@ -46,9 +15,9 @@ const EffectKeyGenerator = {
46
15
  class TriRenderBatchAccumulator extends ITriRenderBatchAccumulator {
47
16
  /**
48
17
  * Creates an empty accumulator whose key generator decides sorting and GDPR
49
- * eligibility, defaulting to the effect-sorted one.
18
+ * eligibility, defaulting to Carbon's unsorted policy.
50
19
  */
51
- constructor(keyGenerator = EffectKeyGenerator) {
20
+ constructor(keyGenerator = DefaultKeyGenerator) {
52
21
  super();
53
22
  this.keyGenerator = keyGenerator;
54
23
  this.gdprBatches = [];
@@ -160,5 +129,5 @@ class TriRenderBatchAccumulator extends ITriRenderBatchAccumulator {
160
129
  }
161
130
  }
162
131
 
163
- export { DefaultKeyGenerator, EffectKeyGenerator, TriRenderBatchAccumulator };
132
+ export { TriRenderBatchAccumulator };
164
133
  //# sourceMappingURL=TriRenderBatchAccumulator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriRenderBatchAccumulator.js","sources":["../../../../../../src/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js"],"sourcesContent":["// Source: trinity/trinity/TriRenderBatch.h\nimport { DefaultKeyGenerator } from \"./DefaultKeyGenerator.js\";\nimport { RenderBatchSortType } from \"../../../generated/trinityCore/enums.js\";\n//\n// GPU-free render-batch accumulator: collects committed batches into two vectors\n// (GDPR-eligible and plain), then sorts / group-counts them on Finalize. The\n// engine adapter reads GetGdprBatches()/GetBatches()/IsChainedByEffect() from a\n// finalized accumulator and issues the actual draws.\nimport { RenderingMode } from \"#consts/graphics\";\nimport { Topology } from \"#consts/render-context\";\n\nimport { ITriRenderBatchAccumulator } from \"./ITriRenderBatchAccumulator.js\";\nimport { CanBeBinned, OrderOf, Tr2GdprBatchFullPartition } from \"./Tr2RenderBatch.js\";\n\n\n/**\n * Concrete GPU-free batch accumulator: collects committed batches into a\n * GDPR-eligible and a plain vector, then sorts and group-counts them on\n * Finalize.\n */\nexport class TriRenderBatchAccumulator extends ITriRenderBatchAccumulator\n{\n /**\n * Creates an empty accumulator whose key generator decides sorting and GDPR\n * eligibility, defaulting to Carbon's unsorted policy.\n */\n constructor(keyGenerator = DefaultKeyGenerator)\n {\n super();\n this.keyGenerator = keyGenerator;\n\n this.gdprBatches = [];\n\n this.batches = [];\n }\n\n /**\n * Drops both batch vectors and resets user data and rendering mode to their\n * defaults.\n */\n Clear()\n {\n this.userData = 0;\n this.renderingMode = RenderingMode.RM_ANY;\n this.gdprBatches.length = 0;\n this.batches.length = 0;\n }\n\n // Collects a batch. Invalid batches (no shader) are dropped. GDPR-eligible\n // batches (allowed by the key generator, GDR-compatible material, triangle\n // topology, indexed) go to the GDPR vector; the rest to the plain vector. The\n // batch's rendering mode is overwritten with the accumulator's mode (faithful\n // to Carbon). Commit takes ownership of the batch; do not reuse it afterwards.\n // Returns whether the batch was accepted (JS addition; Carbon returns void).\n\n /**\n * Collects a batch, dropping invalid ones and routing GDPR-eligible batches\n * (allowed by the key generator, GDR-compatible material, triangle list,\n * indexed) to the GDPR vector; the batch's rendering mode is overwritten with\n * the accumulator's and ownership passes here, so the caller must not reuse\n * the batch. Returns whether it was accepted.\n */\n Commit(batch)\n {\n if (!batch.IsValid()) return false;\n\n if (this.keyGenerator.ALLOW_GDPR\n && batch.material?.CompatibleWithGdr()\n && batch.topology === Topology.TOP_TRIANGLES\n && batch.indexBuffer)\n {\n this.gdprBatches.push(batch);\n }\n else\n {\n this.batches.push(batch);\n }\n batch.renderingMode = this.renderingMode;\n return true;\n }\n\n // Folds another accumulator's batches into this one, then clears the source.\n // Mirrors Carbon TransferFrom (per-thread accumulator merge).\n\n /**\n * Folds another accumulator's batches into this one and clears the source; the\n * source's GDPR batches land in the plain vector when this accumulator does\n * not allow GDPR.\n */\n TransferFrom(source)\n {\n const sourceGdpr = source.GetGdprBatches();\n const sourceBatches = source.GetBatches();\n\n if (this.keyGenerator.ALLOW_GDPR)\n {\n for (const batch of sourceGdpr) this.gdprBatches.push(batch);\n }\n else\n {\n for (const batch of sourceGdpr) this.batches.push(batch);\n }\n for (const batch of sourceBatches) this.batches.push(batch);\n\n source.Clear();\n }\n\n /** The live GDPR-eligible batch vector, not a copy. */\n GetGdprBatches()\n {\n return this.gdprBatches;\n }\n\n /** The live plain batch vector, not a copy. */\n GetBatches()\n {\n return this.batches;\n }\n\n // Sorts and group-counts the collected batches. No-op for the order-preserving\n // key generator; effect/GDPR generators sort both vectors and stamp each\n // bin-run's length onto its leading batch's groupCount.\n\n /**\n * Sorts and group-counts the collected batches: a no-op for the\n * order-preserving key generator, a full bin partition of both vectors for\n * GDPR-enabled ones, and a plain comparator sort otherwise.\n */\n Finalize()\n {\n const sortType = this.keyGenerator.GetSortType();\n if (sortType === RenderBatchSortType.RENDERBATCHSORTTYPE_NONE) return;\n\n if (this.keyGenerator.ALLOW_GDPR)\n {\n Tr2GdprBatchFullPartition(this.gdprBatches);\n Tr2GdprBatchFullPartition(this.batches);\n return;\n }\n\n const keyGenerator = this.keyGenerator;\n this.batches.sort((batch1, batch2) =>\n {\n if (keyGenerator.Less(batch1, batch2)) return -1;\n if (keyGenerator.Less(batch2, batch1)) return 1;\n return 0;\n });\n }\n\n /** Total batches across both vectors. */\n GetBatchCount()\n {\n return this.gdprBatches.length + this.batches.length;\n }\n\n /**\n * Whether the batches are effect-sorted, so consecutive batches can share one\n * state-set, rather than order-preserving.\n */\n IsChainedByEffect()\n {\n return this.keyGenerator.GetSortType() !== RenderBatchSortType.RENDERBATCHSORTTYPE_NONE;\n }\n}\n"],"names":["TriRenderBatchAccumulator","ITriRenderBatchAccumulator","constructor","keyGenerator","DefaultKeyGenerator","gdprBatches","batches","Clear","userData","renderingMode","RenderingMode","RM_ANY","length","Commit","batch","IsValid","ALLOW_GDPR","material","CompatibleWithGdr","topology","Topology","TOP_TRIANGLES","indexBuffer","push","TransferFrom","source","sourceGdpr","GetGdprBatches","sourceBatches","GetBatches","Finalize","sortType","GetSortType","RenderBatchSortType","RENDERBATCHSORTTYPE_NONE","Tr2GdprBatchFullPartition","sort","batch1","batch2","Less","GetBatchCount","IsChainedByEffect"],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ // Source: trinity/trinity/TriRenderBatch.h
2
+ // trinity/TriRenderBatch.cpp
3
+ //
4
+ // GPU-free CPU render-batch descriptor plus the binning/sort helpers. A batch
5
+ // holds opaque references to material/shader/geometry and plain draw arguments;
6
+ // it never touches a device. The engine adapter reads a finalized accumulator's
7
+ // batches and issues the actual draws (Carbon's Tr2RenderContextBase::RenderBatches*
8
+ // dispatch family stays engine-side and is intentionally NOT ported here).
9
+
10
+ // A contiguous (startIndex, count) block of mesh groups. Mirrors Carbon
11
+ // TriRenderBatchAreaBlock; used by the shadow/overlay area-block paths.
12
+
13
+ /**
14
+ * A contiguous (startIndex, count) run of mesh groups, as consumed by the shadow
15
+ * and overlay area-block paths.
16
+ */
17
+ class TriRenderBatchAreaBlock {
18
+ /**
19
+ * Creates a block covering count groups from startIndex; both are coerced to
20
+ * unsigned integers.
21
+ */
22
+ // Carbon's empty constructor leaves these integers uninitialized.
23
+ // JS deliberately initializes them to zero; the two-argument form copies values.
24
+ constructor(startIndex = 0, count = 0) {
25
+ this.startIndex = startIndex >>> 0;
26
+ this.count = count >>> 0;
27
+ }
28
+
29
+ // Compacts a set of possibly overlapping/adjacent blocks into the minimal set
30
+ // of contiguous runs, in place. Mirrors TriRenderBatchAreaBlock::Optimize.
31
+
32
+ /**
33
+ * Compacts a vector of possibly overlapping or adjacent blocks into the
34
+ * minimal set of contiguous runs, rewriting the caller's array in place and
35
+ * returning it.
36
+ */
37
+ static Optimize(areaBlockVector) {
38
+ const indices = new Set();
39
+ for (const block of areaBlockVector) {
40
+ for (let i = 0; i < block.count; i++) indices.add(block.startIndex + i);
41
+ }
42
+ const sorted = Array.from(indices).sort((a, b) => a - b);
43
+ areaBlockVector.length = 0;
44
+ let start = -1;
45
+ let run = -1;
46
+ for (const value of sorted) {
47
+ if (run >= 0 && value === run + 1) {
48
+ run = value;
49
+ continue;
50
+ }
51
+ if (run >= 0) areaBlockVector.push(new TriRenderBatchAreaBlock(start, run - start + 1));
52
+ start = value;
53
+ run = value;
54
+ }
55
+ if (run >= 0) areaBlockVector.push(new TriRenderBatchAreaBlock(start, run - start + 1));
56
+ return areaBlockVector;
57
+ }
58
+ }
59
+
60
+ export { TriRenderBatchAreaBlock };
61
+ //# sourceMappingURL=TriRenderBatchAreaBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriRenderBatchAreaBlock.js","sources":["../../../../../../src/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js"],"sourcesContent":["// Source: trinity/trinity/TriRenderBatch.h\n// trinity/TriRenderBatch.cpp\n//\n// GPU-free CPU render-batch descriptor plus the binning/sort helpers. A batch\n// holds opaque references to material/shader/geometry and plain draw arguments;\n// it never touches a device. The engine adapter reads a finalized accumulator's\n// batches and issues the actual draws (Carbon's Tr2RenderContextBase::RenderBatches*\n// dispatch family stays engine-side and is intentionally NOT ported here).\n\n\n\n// A contiguous (startIndex, count) block of mesh groups. Mirrors Carbon\n// TriRenderBatchAreaBlock; used by the shadow/overlay area-block paths.\n\n/**\n * A contiguous (startIndex, count) run of mesh groups, as consumed by the shadow\n * and overlay area-block paths.\n */\nexport class TriRenderBatchAreaBlock\n{\n /**\n * Creates a block covering count groups from startIndex; both are coerced to\n * unsigned integers.\n */\n // Carbon's empty constructor leaves these integers uninitialized.\n // JS deliberately initializes them to zero; the two-argument form copies values.\n constructor(startIndex = 0, count = 0)\n {\n this.startIndex = startIndex >>> 0;\n this.count = count >>> 0;\n }\n\n // Compacts a set of possibly overlapping/adjacent blocks into the minimal set\n // of contiguous runs, in place. Mirrors TriRenderBatchAreaBlock::Optimize.\n\n /**\n * Compacts a vector of possibly overlapping or adjacent blocks into the\n * minimal set of contiguous runs, rewriting the caller's array in place and\n * returning it.\n */\n static Optimize(areaBlockVector)\n {\n const indices = new Set();\n for (const block of areaBlockVector)\n {\n for (let i = 0; i < block.count; i++) indices.add(block.startIndex + i);\n }\n\n const sorted = Array.from(indices).sort((a, b) => a - b);\n areaBlockVector.length = 0;\n\n let start = -1;\n let run = -1;\n for (const value of sorted)\n {\n if (run >= 0 && value === run + 1)\n {\n run = value;\n continue;\n }\n if (run >= 0) areaBlockVector.push(new TriRenderBatchAreaBlock(start, run - start + 1));\n start = value;\n run = value;\n }\n if (run >= 0) areaBlockVector.push(new TriRenderBatchAreaBlock(start, run - start + 1));\n return areaBlockVector;\n }\n}\n"],"names":["TriRenderBatchAreaBlock","constructor","startIndex","count","Optimize","areaBlockVector","indices","Set","block","i","add","sorted","Array","from","sort","a","b","length","start","run","value","push"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;;AAEA;AACA;AACA;AACA;AACO,MAAMA,uBAAuB,CACpC;AACE;AACF;AACA;AACA;AACE;AACA;EACAC,WAAWA,CAACC,UAAU,GAAG,CAAC,EAAEC,KAAK,GAAG,CAAC,EACrC;AACE,IAAA,IAAI,CAACD,UAAU,GAAGA,UAAU,KAAK,CAAC;AAClC,IAAA,IAAI,CAACC,KAAK,GAAGA,KAAK,KAAK,CAAC;AAC1B,EAAA;;AAEA;AACA;;AAEA;AACF;AACA;AACA;AACA;EACE,OAAOC,QAAQA,CAACC,eAAe,EAC/B;AACE,IAAA,MAAMC,OAAO,GAAG,IAAIC,GAAG,EAAE;AACzB,IAAA,KAAK,MAAMC,KAAK,IAAIH,eAAe,EACnC;MACE,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,KAAK,CAACL,KAAK,EAAEM,CAAC,EAAE,EAAEH,OAAO,CAACI,GAAG,CAACF,KAAK,CAACN,UAAU,GAAGO,CAAC,CAAC;AACzE,IAAA;AAEA,IAAA,MAAME,MAAM,GAAGC,KAAK,CAACC,IAAI,CAACP,OAAO,CAAC,CAACQ,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;IACxDX,eAAe,CAACY,MAAM,GAAG,CAAC;IAE1B,IAAIC,KAAK,GAAG,EAAE;IACd,IAAIC,GAAG,GAAG,EAAE;AACZ,IAAA,KAAK,MAAMC,KAAK,IAAIT,MAAM,EAC1B;MACE,IAAIQ,GAAG,IAAI,CAAC,IAAIC,KAAK,KAAKD,GAAG,GAAG,CAAC,EACjC;AACEA,QAAAA,GAAG,GAAGC,KAAK;AACX,QAAA;AACF,MAAA;AACA,MAAA,IAAID,GAAG,IAAI,CAAC,EAAEd,eAAe,CAACgB,IAAI,CAAC,IAAIrB,uBAAuB,CAACkB,KAAK,EAAEC,GAAG,GAAGD,KAAK,GAAG,CAAC,CAAC,CAAC;AACvFA,MAAAA,KAAK,GAAGE,KAAK;AACbD,MAAAA,GAAG,GAAGC,KAAK;AACb,IAAA;AACA,IAAA,IAAID,GAAG,IAAI,CAAC,EAAEd,eAAe,CAACgB,IAAI,CAAC,IAAIrB,uBAAuB,CAACkB,KAAK,EAAEC,GAAG,GAAGD,KAAK,GAAG,CAAC,CAAC,CAAC;AACvF,IAAA,OAAOb,eAAe;AACxB,EAAA;AACF;;;;"}
@@ -0,0 +1,40 @@
1
+ import { TriRenderBatchAreaBlock } from './TriRenderBatchAreaBlock.js';
2
+
3
+ // Source: trinity/trinity/TriRenderBatch.h
4
+ // trinity/TriRenderBatch.cpp
5
+ //
6
+ // GPU-free CPU render-batch descriptor plus the binning/sort helpers. A batch
7
+ // holds opaque references to material/shader/geometry and plain draw arguments;
8
+ // it never touches a device. The engine adapter reads a finalized accumulator's
9
+ // batches and issues the actual draws (Carbon's Tr2RenderContextBase::RenderBatches*
10
+ // dispatch family stays engine-side and is intentionally NOT ported here).
11
+
12
+
13
+ // A shared-material list of area blocks (shadow/overlay path). Mirrors
14
+ // TriRenderBatchAreaBlocksWithSharedMaterial.
15
+
16
+ /**
17
+ * Groups the area blocks that draw with one shared shader material on the shadow
18
+ * and overlay path.
19
+ */
20
+ class TriRenderBatchAreaBlocksWithSharedMaterial extends TriRenderBatchAreaBlock {
21
+ /** Starts with no shared material and an empty block vector. */
22
+ constructor() {
23
+ super();
24
+ this.shaderMaterial = null;
25
+ this.areaBlockVector = [];
26
+ }
27
+
28
+ /** Compacts the owned block vector into minimal contiguous runs. */
29
+ Optimize() {
30
+ TriRenderBatchAreaBlock.Optimize(this.areaBlockVector);
31
+ }
32
+
33
+ /** Empties the block vector while keeping the shared material bound. */
34
+ Clear() {
35
+ this.areaBlockVector.length = 0;
36
+ }
37
+ }
38
+
39
+ export { TriRenderBatchAreaBlocksWithSharedMaterial };
40
+ //# sourceMappingURL=TriRenderBatchAreaBlocksWithSharedMaterial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriRenderBatchAreaBlocksWithSharedMaterial.js","sources":["../../../../../../src/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js"],"sourcesContent":["// Source: trinity/trinity/TriRenderBatch.h\n// trinity/TriRenderBatch.cpp\n//\n// GPU-free CPU render-batch descriptor plus the binning/sort helpers. A batch\n// holds opaque references to material/shader/geometry and plain draw arguments;\n// it never touches a device. The engine adapter reads a finalized accumulator's\n// batches and issues the actual draws (Carbon's Tr2RenderContextBase::RenderBatches*\n// dispatch family stays engine-side and is intentionally NOT ported here).\n\nimport { TriRenderBatchAreaBlock } from \"./TriRenderBatchAreaBlock.js\";\n\n// A shared-material list of area blocks (shadow/overlay path). Mirrors\n// TriRenderBatchAreaBlocksWithSharedMaterial.\n\n/**\n * Groups the area blocks that draw with one shared shader material on the shadow\n * and overlay path.\n */\nexport class TriRenderBatchAreaBlocksWithSharedMaterial extends TriRenderBatchAreaBlock\n{\n /** Starts with no shared material and an empty block vector. */\n constructor()\n {\n super();\n this.shaderMaterial = null;\n this.areaBlockVector = [];\n }\n\n /** Compacts the owned block vector into minimal contiguous runs. */\n Optimize()\n {\n TriRenderBatchAreaBlock.Optimize(this.areaBlockVector);\n }\n\n /** Empties the block vector while keeping the shared material bound. */\n Clear()\n {\n this.areaBlockVector.length = 0;\n }\n}\n"],"names":["TriRenderBatchAreaBlocksWithSharedMaterial","TriRenderBatchAreaBlock","constructor","shaderMaterial","areaBlockVector","Optimize","Clear","length"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAIA;AACA;;AAEA;AACA;AACA;AACA;AACO,MAAMA,0CAA0C,SAASC,uBAAuB,CACvF;AACE;AACAC,EAAAA,WAAWA,GACX;AACE,IAAA,KAAK,EAAE;IACP,IAAI,CAACC,cAAc,GAAG,IAAI;IAC1B,IAAI,CAACC,eAAe,GAAG,EAAE;AAC3B,EAAA;;AAEA;AACAC,EAAAA,QAAQA,GACR;AACEJ,IAAAA,uBAAuB,CAACI,QAAQ,CAAC,IAAI,CAACD,eAAe,CAAC;AACxD,EAAA;;AAEA;AACAE,EAAAA,KAAKA,GACL;AACE,IAAA,IAAI,CAACF,eAAe,CAACG,MAAM,GAAG,CAAC;AACjC,EAAA;AACF;;;;"}
@@ -1,6 +1,11 @@
1
1
  import { TriBatchType } from '#consts/graphics';
2
2
  import { Tr2RenderReason } from '../../generated/trinityCore/enums.js';
3
- import { TriRenderBatchAccumulator, DefaultKeyGenerator, EffectKeyGenerator } from './TriRenderBatchAccumulator.js';
3
+ import '#consts/render-context';
4
+ import '#resource/geometry';
5
+ import { DefaultKeyGenerator } from './TriRenderBatch/DefaultKeyGenerator.js';
6
+ import { EffectKeyGenerator } from './TriRenderBatch/EffectKeyGenerator.js';
7
+ import './TriRenderBatch/ITriRenderBatchAccumulator.js';
8
+ import { TriRenderBatchAccumulator } from './TriRenderBatch/TriRenderBatchAccumulator.js';
4
9
 
5
10
  // Source: trinity/Eve/EveSpaceScene.h (BatchMap typedef)
6
11
  // trinity/Eve/EveSpaceScene.cpp (GetBatchesFromRenderables / FinalizeBatches / ClearBatches)
@@ -1 +1 @@
1
- {"version":3,"file":"TriRenderBatchMap.js","sources":["../../../../../src/trinity/core/batch/TriRenderBatchMap.js"],"sourcesContent":["// Source: trinity/Eve/EveSpaceScene.h (BatchMap typedef)\n// trinity/Eve/EveSpaceScene.cpp (GetBatchesFromRenderables / FinalizeBatches / ClearBatches)\r\n//\r\n// GPU-free scene batch collection. Wraps Carbon's BatchMap (one accumulator per\r\n// TriBatchType) plus the GetBatchesFromRenderables/FinalizeBatches/ClearBatches\r\n// flow, exposed as methods on a cohesive object rather than a free function. The\r\n// engine adapter reads the finalized per-type accumulators and issues draws.\r\nimport { TriBatchType } from \"#consts/graphics\";\r\nimport { Tr2RenderReason } from \"../../generated/trinityCore/enums.js\";\r\nimport { TriRenderBatchAccumulator, DefaultKeyGenerator, EffectKeyGenerator } from \"./TriRenderBatchAccumulator.js\";\r\n\r\n\r\n/**\r\n * One render-batch accumulator per TriBatchType, with the scene-level collect,\r\n * finalize and clear flow over them.\r\n */\r\nexport class TriRenderBatchMap\r\n{\r\n // batchTypes: iterable of TriBatchType values to collect. createAccumulator:\r\n // optional (batchType) => accumulator factory. The default matches Carbon's\r\n // key-generator selection: order-preserving for TRANSPARENT (the producer\r\n // inserts back-to-front), effect-sorted for everything else.\r\n\r\n /**\r\n * Creates one accumulator per requested batch type; by default TRANSPARENT\r\n * gets the order-preserving key generator (the producer inserts back-to-front)\r\n * and every other type the effect-sorted one.\r\n */\r\n constructor(batchTypes, createAccumulator = null)\r\n {\r\n this.accumulators = new Map();\r\n\r\n const factory = createAccumulator ?? ((batchType) => new TriRenderBatchAccumulator(\r\n batchType === TriBatchType.TRIBATCHTYPE_TRANSPARENT ? DefaultKeyGenerator : EffectKeyGenerator));\r\n for (const batchType of batchTypes)\r\n {\r\n this.accumulators.set(batchType, factory(batchType));\r\n }\r\n }\r\n\r\n /** The accumulator for one batch type, or null when that type is not collected. */\r\n GetAccumulator(batchType)\r\n {\r\n return this.accumulators.get(batchType) ?? null;\r\n }\r\n\r\n // Bind the per-object-data store (from the render context) onto every\r\n // accumulator - GetPerObjectData Allocs pooled records through it.\r\n\r\n /**\r\n * Binds the per-object-data store onto every accumulator, since\r\n * GetPerObjectData leases pooled records through it; returns this for\r\n * chaining.\r\n */\r\n SetTriPoolAllocator(store)\r\n {\r\n for (const accumulator of this.accumulators.values())\r\n {\r\n accumulator.SetTriPoolAllocator(store);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /** The collected batch types, in insertion order, as a new array. */\r\n GetBatchTypes()\r\n {\r\n return Array.from(this.accumulators.keys());\r\n }\r\n\r\n // Serial form of Carbon GetBatchesFromRenderables: one GetPerObjectData per\r\n // renderable (keyed off the pool accumulator, by convention the OPAQUE one),\r\n // then GetBatches into each registered batch type. Renderables are expected\r\n // pre-culled; visibility/frustum filtering is a scene concern upstream.\r\n\r\n /**\r\n * Serial form of Carbon's GetBatchesFromRenderables: one GetPerObjectData per\r\n * renderable, keyed off the pool accumulator (by convention the OPAQUE one),\r\n * then GetBatches into every registered batch type. Renderables are expected\r\n * pre-culled.\r\n */\r\n CollectFromRenderables(renderables, reason = Tr2RenderReason.TR2RENDERREASON_NORMAL)\r\n {\r\n if (!renderables) return;\r\n\r\n const poolAccumulator = this.accumulators.get(TriBatchType.TRIBATCHTYPE_OPAQUE)\r\n ?? this.accumulators.values().next().value\r\n ?? null;\r\n\r\n for (const renderable of renderables)\r\n {\r\n if (!renderable) continue;\r\n\r\n const perObjectData = renderable.GetPerObjectData(poolAccumulator);\n for (const [ batchType, accumulator ] of this.accumulators)\r\n {\r\n renderable.GetBatches(accumulator, batchType, perObjectData, reason);\n }\r\n }\r\n }\r\n\r\n /** Sorts and group-counts every accumulator. */\r\n Finalize()\r\n {\r\n for (const accumulator of this.accumulators.values()) accumulator.Finalize();\r\n }\r\n\r\n /**\r\n * Clears every accumulator; the accumulators themselves are retained and\r\n * reused next frame.\r\n */\r\n Clear()\r\n {\r\n for (const accumulator of this.accumulators.values()) accumulator.Clear();\r\n }\r\n\r\n /** Total batches collected across every batch type. */\r\n GetBatchCount()\r\n {\r\n let count = 0;\r\n for (const accumulator of this.accumulators.values()) count += accumulator.GetBatchCount();\r\n return count;\r\n }\r\n}\r\n"],"names":["TriRenderBatchMap","constructor","batchTypes","createAccumulator","accumulators","Map","factory","batchType","TriRenderBatchAccumulator","TriBatchType","TRIBATCHTYPE_TRANSPARENT","DefaultKeyGenerator","EffectKeyGenerator","set","GetAccumulator","get","SetTriPoolAllocator","store","accumulator","values","GetBatchTypes","Array","from","keys","CollectFromRenderables","renderables","reason","Tr2RenderReason","TR2RENDERREASON_NORMAL","poolAccumulator","TRIBATCHTYPE_OPAQUE","next","value","renderable","perObjectData","GetPerObjectData","GetBatches","Finalize","Clear","GetBatchCount","count"],"mappings":"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"}
1
+ {"version":3,"file":"TriRenderBatchMap.js","sources":["../../../../../src/trinity/core/batch/TriRenderBatchMap.js"],"sourcesContent":["// Source: trinity/Eve/EveSpaceScene.h (BatchMap typedef)\n// trinity/Eve/EveSpaceScene.cpp (GetBatchesFromRenderables / FinalizeBatches / ClearBatches)\r\n//\r\n// GPU-free scene batch collection. Wraps Carbon's BatchMap (one accumulator per\r\n// TriBatchType) plus the GetBatchesFromRenderables/FinalizeBatches/ClearBatches\r\n// flow, exposed as methods on a cohesive object rather than a free function. The\r\n// engine adapter reads the finalized per-type accumulators and issues draws.\r\nimport { TriBatchType } from \"#consts/graphics\";\r\nimport { Tr2RenderReason } from \"../../generated/trinityCore/enums.js\";\r\nimport { TriRenderBatchAccumulator, DefaultKeyGenerator, EffectKeyGenerator } from \"./TriRenderBatch/index.js\";\r\n\r\n\r\n/**\r\n * One render-batch accumulator per TriBatchType, with the scene-level collect,\r\n * finalize and clear flow over them.\r\n */\r\nexport class TriRenderBatchMap\r\n{\r\n // batchTypes: iterable of TriBatchType values to collect. createAccumulator:\r\n // optional (batchType) => accumulator factory. The default matches Carbon's\r\n // key-generator selection: order-preserving for TRANSPARENT (the producer\r\n // inserts back-to-front), effect-sorted for everything else.\r\n\r\n /**\r\n * Creates one accumulator per requested batch type; by default TRANSPARENT\r\n * gets the order-preserving key generator (the producer inserts back-to-front)\r\n * and every other type the effect-sorted one.\r\n */\r\n constructor(batchTypes, createAccumulator = null)\r\n {\r\n this.accumulators = new Map();\r\n\r\n const factory = createAccumulator ?? ((batchType) => new TriRenderBatchAccumulator(\r\n batchType === TriBatchType.TRIBATCHTYPE_TRANSPARENT ? DefaultKeyGenerator : EffectKeyGenerator));\r\n for (const batchType of batchTypes)\r\n {\r\n this.accumulators.set(batchType, factory(batchType));\r\n }\r\n }\r\n\r\n /** The accumulator for one batch type, or null when that type is not collected. */\r\n GetAccumulator(batchType)\r\n {\r\n return this.accumulators.get(batchType) ?? null;\r\n }\r\n\r\n // Bind the per-object-data store (from the render context) onto every\r\n // accumulator - GetPerObjectData Allocs pooled records through it.\r\n\r\n /**\r\n * Binds the per-object-data store onto every accumulator, since\r\n * GetPerObjectData leases pooled records through it; returns this for\r\n * chaining.\r\n */\r\n SetTriPoolAllocator(store)\r\n {\r\n for (const accumulator of this.accumulators.values())\r\n {\r\n accumulator.SetTriPoolAllocator(store);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /** The collected batch types, in insertion order, as a new array. */\r\n GetBatchTypes()\r\n {\r\n return Array.from(this.accumulators.keys());\r\n }\r\n\r\n // Serial form of Carbon GetBatchesFromRenderables: one GetPerObjectData per\r\n // renderable (keyed off the pool accumulator, by convention the OPAQUE one),\r\n // then GetBatches into each registered batch type. Renderables are expected\r\n // pre-culled; visibility/frustum filtering is a scene concern upstream.\r\n\r\n /**\r\n * Serial form of Carbon's GetBatchesFromRenderables: one GetPerObjectData per\r\n * renderable, keyed off the pool accumulator (by convention the OPAQUE one),\r\n * then GetBatches into every registered batch type. Renderables are expected\r\n * pre-culled.\r\n */\r\n CollectFromRenderables(renderables, reason = Tr2RenderReason.TR2RENDERREASON_NORMAL)\r\n {\r\n if (!renderables) return;\r\n\r\n const poolAccumulator = this.accumulators.get(TriBatchType.TRIBATCHTYPE_OPAQUE)\r\n ?? this.accumulators.values().next().value\r\n ?? null;\r\n\r\n for (const renderable of renderables)\r\n {\r\n if (!renderable) continue;\r\n\r\n const perObjectData = renderable.GetPerObjectData(poolAccumulator);\n for (const [ batchType, accumulator ] of this.accumulators)\r\n {\r\n renderable.GetBatches(accumulator, batchType, perObjectData, reason);\n }\r\n }\r\n }\r\n\r\n /** Sorts and group-counts every accumulator. */\r\n Finalize()\r\n {\r\n for (const accumulator of this.accumulators.values()) accumulator.Finalize();\r\n }\r\n\r\n /**\r\n * Clears every accumulator; the accumulators themselves are retained and\r\n * reused next frame.\r\n */\r\n Clear()\r\n {\r\n for (const accumulator of this.accumulators.values()) accumulator.Clear();\r\n }\r\n\r\n /** Total batches collected across every batch type. */\r\n GetBatchCount()\r\n {\r\n let count = 0;\r\n for (const accumulator of this.accumulators.values()) count += accumulator.GetBatchCount();\r\n return count;\r\n }\r\n}\r\n"],"names":["TriRenderBatchMap","constructor","batchTypes","createAccumulator","accumulators","Map","factory","batchType","TriRenderBatchAccumulator","TriBatchType","TRIBATCHTYPE_TRANSPARENT","DefaultKeyGenerator","EffectKeyGenerator","set","GetAccumulator","get","SetTriPoolAllocator","store","accumulator","values","GetBatchTypes","Array","from","keys","CollectFromRenderables","renderables","reason","Tr2RenderReason","TR2RENDERREASON_NORMAL","poolAccumulator","TRIBATCHTYPE_OPAQUE","next","value","renderable","perObjectData","GetPerObjectData","GetBatches","Finalize","Clear","GetBatchCount","count"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { type } from '#schema';
2
+ import { impl, type } from '#schema';
3
3
  import { CjsModel } from '#model';
4
4
  import { mat4 } from '#math/mat4';
5
5
  import { vec3 } from '#math/vec3';
@@ -8,19 +8,20 @@ import { ConstantBufferSlot } from '#consts/render-context';
8
8
  import { RenderingMode } from '#consts/graphics';
9
9
  import { Tr2VariableStore as _Tr2VariableStore } from '../variable/Tr2VariableStore.js';
10
10
  import { TriPoolAllocator } from '../rawData/TriPoolAllocator.js';
11
- import { Tr2PerObjectData } from '../rawData/Tr2PerObjectData.js';
11
+ import { Tr2PerObjectData } from '../rawData/perObjectData/Tr2PerObjectData.js';
12
12
  import { CjsDirectTrinityStepExecutor } from './CjsDirectTrinityStepExecutor.js';
13
- import { CjsShadowMapExecutor } from './CjsShadowMapExecutor.js';
14
13
  import { CjsTrinityStepExecutor } from './CjsTrinityStepExecutor.js';
15
- import { CjsVolumetricsExecutor } from './CjsVolumetricsExecutor.js';
16
- import { Tr2RenderBatch } from '../batch/Tr2RenderBatch.js';
14
+ import { Tr2RenderBatch } from '../batch/TriRenderBatch/Tr2RenderBatch.js';
15
+ import '../batch/TriRenderBatch/DefaultKeyGenerator.js';
16
+ import '../batch/TriRenderBatch/EffectKeyGenerator.js';
17
+ import '../batch/TriRenderBatch/ITriRenderBatchAccumulator.js';
17
18
  import { Tr2Shader } from '#resource/shader';
18
19
  import { Tr2EffectStateManager as _Tr2EffectStateManage } from '../../shader/Tr2EffectStateManager.js';
19
- import { Tr2RenderContextALStub } from '../../../trinityal/stub/Tr2RenderContextALStub.js';
20
+ import { Tr2RenderContextALStub } from '../../../trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js';
20
21
  import { Tr2Blitter } from '../Tr2Blitter.js';
21
22
  import { RealizeBatchGeometry } from '../mesh/TriGeometryResAllocations.js';
22
23
 
23
- let _initClass;
24
+ let _initProto, _initClass;
24
25
  const DIRECT_STEP_EXECUTOR = Object.freeze(new CjsDirectTrinityStepExecutor());
25
26
 
26
27
  /** Carbon DEFAULT_TECHNIQUE (Tr2RenderContext.h:37). */
@@ -31,15 +32,16 @@ let _Tr2RenderContext;
31
32
  new class extends _identity {
32
33
  static [class Tr2RenderContext extends CjsModel {
33
34
  static {
34
- [_Tr2RenderContext, _initClass] = _applyDecs2311(this, [type.define({
35
+ ({
36
+ e: [_initProto],
37
+ c: [_Tr2RenderContext, _initClass]
38
+ } = _applyDecs2311(this, [type.define({
35
39
  className: "Tr2RenderContext",
36
40
  family: "trinityCore"
37
- })], [], 0, void 0, CjsModel).c;
41
+ })], [[[impl, impl.custom, void 0, impl.reason("Forwards JS platform selection and its internal allocation mode to the installed abstraction-layer context.")], 18, "CreateResourceSet"]], 0, void 0, CjsModel));
38
42
  }
39
- #diagnostics = [];
43
+ #diagnostics = (_initProto(this), []);
40
44
  #stepExecutor = DIRECT_STEP_EXECUTOR;
41
- #shadowMapExecutor = null;
42
- #volumetricsExecutor = null;
43
45
 
44
46
  /**
45
47
  * The abstraction-layer backend. THERE IS ALWAYS ONE.
@@ -131,47 +133,6 @@ new class extends _identity {
131
133
  return this;
132
134
  }
133
135
 
134
- /**
135
- * Installs the nominal engine implementation for cascaded-shadow realization.
136
- * Passing null removes it; all shadow operations then fail loudly on use.
137
- */
138
- SetShadowMapExecutor(executor) {
139
- if (executor !== null && !(executor instanceof CjsShadowMapExecutor)) {
140
- throw new TypeError("Tr2RenderContext.SetShadowMapExecutor expects a CjsShadowMapExecutor or null.");
141
- }
142
- this.#shadowMapExecutor = executor;
143
- return this;
144
- }
145
-
146
- /** Returns the installed shadow executor, rejecting incomplete composition. */
147
- GetShadowMapExecutor() {
148
- if (!this.#shadowMapExecutor) {
149
- throw new Error("Tr2RenderContext has no CjsShadowMapExecutor installed.");
150
- }
151
- return this.#shadowMapExecutor;
152
- }
153
-
154
- /**
155
- * Installs the nominal engine implementation for volumetric realization.
156
- * Passing null removes it; all physical volumetric operations then fail on
157
- * use instead of being skipped.
158
- */
159
- SetVolumetricsExecutor(executor) {
160
- if (executor !== null && !(executor instanceof CjsVolumetricsExecutor)) {
161
- throw new TypeError("Tr2RenderContext.SetVolumetricsExecutor expects a CjsVolumetricsExecutor or null.");
162
- }
163
- this.#volumetricsExecutor = executor;
164
- return this;
165
- }
166
-
167
- /** Returns the installed volumetrics executor, rejecting incomplete composition. */
168
- GetVolumetricsExecutor() {
169
- if (!this.#volumetricsExecutor) {
170
- throw new Error("Tr2RenderContext has no CjsVolumetricsExecutor installed.");
171
- }
172
- return this.#volumetricsExecutor;
173
- }
174
-
175
136
  /**
176
137
  * Delegates step setup to the installed nominal executor.
177
138
  */
@@ -435,12 +396,12 @@ new class extends _identity {
435
396
  * Binds a render target to a slot and records a set-render-target intent for
436
397
  * the engine to realize.
437
398
  */
438
- SetRenderTarget(slot, renderTarget) {
399
+ SetRenderTarget(slot, renderTarget, slice = 0) {
439
400
  // THE BACKEND OWNS THE BINDING, as Carbon's do (m_boundRenderTarget), and
440
401
  // GetRenderTarget below reads it back from there. The context kept a
441
402
  // duplicate map while it was also a recorder; two copies of one binding is
442
403
  // one too many, and the local one was the stale half.
443
- return this.#requireAL("SetRenderTarget").SetRenderTarget(Number(slot) >>> 0, renderTarget);
404
+ return this.#requireAL("SetRenderTarget").SetRenderTarget(Number(slot) >>> 0, renderTarget, Number(slice) >>> 0);
444
405
  }
445
406
 
446
407
  // THE BACKEND'S FRAME CLOCK, WHICH IS NOT THE ONE ABOVE. `AdvanceFrame` and
@@ -535,6 +496,63 @@ new class extends _identity {
535
496
  return this.#requireAL("Clear").Clear(options);
536
497
  }
537
498
 
499
+ /**
500
+ * Binds the depth buffer read-only, so it can be sampled while still tested.
501
+ *
502
+ * Carbon reaches this straight off the context because its Tr2RenderContext IS
503
+ * the backend context; ours forwards, like every other device verb here.
504
+ *
505
+ * @param {boolean} enable Whether depth is read-only.
506
+ * @returns {boolean} Whether the backend accepted it.
507
+ */
508
+ SetReadOnlyDepth(enable) {
509
+ return this.#requireAL("SetReadOnlyDepth").SetReadOnlyDepth(enable);
510
+ }
511
+
512
+ /**
513
+ * Declares what the next render pass does with its attachments.
514
+ *
515
+ * Carbon calls this on the render context (`Tr2Denoiser.cpp:106` and each
516
+ * pass after it). It is a BACKEND concept - Metal names the record
517
+ * `MetalRenderPassHint` and WebGPU spells the same thing as loadOp/storeOp on
518
+ * a pass descriptor - so this forwards, exactly as SetReadOnlyDepth does.
519
+ *
520
+ * Declaring DONT_CARE for a target about to be fully overwritten is the
521
+ * difference between the driver preserving its previous contents and
522
+ * discarding them; on a tiler that is the whole cost of the pass.
523
+ *
524
+ * @param {...object} attachments Colour attachments, then depth.
525
+ * @returns {*} Whatever the backend reports.
526
+ */
527
+ RenderPassHint(...attachments) {
528
+ return this.#requireAL("RenderPassHint").RenderPassHint(...attachments);
529
+ }
530
+
531
+ /**
532
+ * The projection with its depth range reversed.
533
+ *
534
+ * Carbon `Tr2Renderer::GetReversedDepthProjectionTransform`
535
+ * (`Tr2Renderer.cpp:477-483`): the projection with `_33` negated and offset
536
+ * by one, and `_43` negated. It lives here because this runtime keeps the
537
+ * projection here - the same relocation as the other Tr2Renderer statics.
538
+ *
539
+ * WHO NEEDS IT: a pass reconstructing view-space position from a depth
540
+ * buffer written under reverse-Z, which is what Carbon renders with. The
541
+ * denoiser takes it to weight neighbouring samples by depth.
542
+ *
543
+ * @param {Array<number>} [out] A mat4 to receive it.
544
+ * @returns {Array<number>|null} The reversed projection, or null if unset.
545
+ */
546
+ GetReversedDepthProjectionTransform(out = mat4.create()) {
547
+ if (!this.#projection) return null;
548
+ mat4.copy(out, this.#projection);
549
+ // Carbon indexes _33 and _43 in row-major; column-major here puts them at
550
+ // 10 and 14.
551
+ out[10] = -out[10] - 1;
552
+ out[14] = -out[14];
553
+ return out;
554
+ }
555
+
538
556
  /**
539
557
  * What the installed backend can do.
540
558
  *
@@ -731,8 +749,8 @@ new class extends _identity {
731
749
  * @param {object} program A `Tr2ShaderProgramAL`.
732
750
  * @returns {object|null} A `Tr2ResourceSetAL`, or null when Create refused.
733
751
  */
734
- CreateResourceSet(description, program) {
735
- return this.#requireAL("CreateResourceSet").CreateResourceSet(description, program);
752
+ CreateResourceSet(description, program, implementationOnly = false) {
753
+ return this.#requireAL("CreateResourceSet").CreateResourceSet(description, program, implementationOnly);
736
754
  }
737
755
 
738
756
  /**