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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (929) hide show
  1. package/README.md +58 -125
  2. package/dist/audio/index.js +8 -1
  3. package/dist/audio/index.js.map +1 -1
  4. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js +84 -0
  5. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js.map +1 -0
  6. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js +14 -0
  7. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js.map +1 -0
  8. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js +26 -0
  9. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js.map +1 -0
  10. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js +27 -0
  11. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js.map +1 -0
  12. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js +27 -0
  13. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js.map +1 -0
  14. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js +25 -0
  15. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js.map +1 -0
  16. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js +26 -0
  17. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js.map +1 -0
  18. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js +58 -0
  19. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js.map +1 -0
  20. package/dist/audio/trinity/audio/AudManager.js +1 -1
  21. package/dist/audio/trinity/audio/AudManager.js.map +1 -1
  22. package/dist/audio/trinity/audio/{AudObstructionOcclusion.js → AudObstructionOcclusion/AudObstructionOcclusion.js} +8 -52
  23. package/dist/audio/trinity/audio/AudObstructionOcclusion/AudObstructionOcclusion.js.map +1 -0
  24. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js +17 -0
  25. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js.map +1 -0
  26. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js +46 -0
  27. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js.map +1 -0
  28. package/dist/audio/trinity/index.js +8 -1
  29. package/dist/audio/trinity/index.js.map +1 -1
  30. package/dist/character/CjsCharacterAppearanceConstruction.js +5 -0
  31. package/dist/character/CjsCharacterAppearanceConstruction.js.map +1 -1
  32. package/dist/character/CjsCharacterAppearanceManager.js +14 -0
  33. package/dist/character/CjsCharacterAppearanceManager.js.map +1 -1
  34. package/dist/character/CjsCharacterFoundationConstruction.js +5 -0
  35. package/dist/character/CjsCharacterFoundationConstruction.js.map +1 -1
  36. package/dist/character/CjsCharacterTexturePolicy.js +5 -0
  37. package/dist/character/CjsCharacterTexturePolicy.js.map +1 -1
  38. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js +17 -0
  39. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js.map +1 -1
  40. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js +2 -0
  41. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js.map +1 -1
  42. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js +5 -0
  43. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js.map +1 -1
  44. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js +5 -0
  45. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js.map +1 -1
  46. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js +2 -0
  47. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js.map +1 -1
  48. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js +5 -0
  49. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js.map +1 -1
  50. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js +5 -0
  51. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js.map +1 -1
  52. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js +9 -0
  53. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js.map +1 -1
  54. package/dist/global/blue/CjsScriptCallback.js +142 -0
  55. package/dist/global/blue/CjsScriptCallback.js.map +1 -0
  56. package/dist/global/blue/index.js +2 -0
  57. package/dist/global/blue/index.js.map +1 -0
  58. package/dist/global/consts/renderContext/formats.js +51 -1
  59. package/dist/global/consts/renderContext/formats.js.map +1 -1
  60. package/dist/global/consts/renderContext/index.js +2 -2
  61. package/dist/global/consts/renderContext/renderStates.js +16 -1
  62. package/dist/global/consts/renderContext/renderStates.js.map +1 -1
  63. package/dist/global/contracts/index.js +0 -1
  64. package/dist/global/contracts/index.js.map +1 -1
  65. package/dist/global/index.js +4 -3
  66. package/dist/global/index.js.map +1 -1
  67. package/dist/global/math/index.js +2 -0
  68. package/dist/global/math/index.js.map +1 -1
  69. package/dist/global/math/mesh.js +70 -16
  70. package/dist/global/math/mesh.js.map +1 -1
  71. package/dist/global/math/noise.js +47 -68
  72. package/dist/global/math/noise.js.map +1 -1
  73. package/dist/global/math/pool.js +18 -3
  74. package/dist/global/math/pool.js.map +1 -1
  75. package/dist/global/math/random.js +52 -0
  76. package/dist/global/math/random.js.map +1 -0
  77. package/dist/global/math/tri3.js +18 -4
  78. package/dist/global/math/tri3.js.map +1 -1
  79. package/dist/global/utils/bytes.js +22 -4
  80. package/dist/global/utils/bytes.js.map +1 -1
  81. package/dist/global/utils/checksum.js +80 -0
  82. package/dist/global/utils/checksum.js.map +1 -0
  83. package/dist/global/utils/errors/CjsCancellationError.js +36 -0
  84. package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
  85. package/dist/global/utils/errors/CjsError.js +21 -52
  86. package/dist/global/utils/errors/CjsError.js.map +1 -1
  87. package/dist/global/utils/errors/abort.js +1 -1
  88. package/dist/global/utils/errors/abort.js.map +1 -1
  89. package/dist/global/utils/errors/index.js +2 -1
  90. package/dist/global/utils/errors/index.js.map +1 -1
  91. package/dist/global/utils/index.js +4 -2
  92. package/dist/global/utils/index.js.map +1 -1
  93. package/dist/index.js +95 -35
  94. package/dist/index.js.map +1 -1
  95. package/dist/input/Tr2MainWindow.js +7 -9
  96. package/dist/input/Tr2MainWindow.js.map +1 -1
  97. package/dist/resource/CjsResMan.js +33 -39
  98. package/dist/resource/CjsResMan.js.map +1 -1
  99. package/dist/resource/CjsResource.js +19 -5
  100. package/dist/resource/CjsResource.js.map +1 -1
  101. package/dist/resource/audio/AudioGeometryResData.js +22 -27
  102. package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
  103. package/dist/resource/audio/CjsAudioRes.js +4 -5
  104. package/dist/resource/audio/CjsAudioRes.js.map +1 -1
  105. package/dist/resource/format/CjsBitReader.js +263 -0
  106. package/dist/resource/format/CjsBitReader.js.map +1 -0
  107. package/dist/resource/format/CjsByteReader.js +130 -125
  108. package/dist/resource/format/CjsByteReader.js.map +1 -1
  109. package/dist/resource/format/CjsFormat.js +11 -4
  110. package/dist/resource/format/CjsFormat.js.map +1 -1
  111. package/dist/resource/format/CjsFormatError.js +37 -1
  112. package/dist/resource/format/CjsFormatError.js.map +1 -1
  113. package/dist/resource/format/CjsResourceProbe.js +41 -37
  114. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  115. package/dist/resource/format/carbonRecordGuard.js +33 -0
  116. package/dist/resource/format/carbonRecordGuard.js.map +1 -0
  117. package/dist/resource/format/imageSignatures.js +202 -0
  118. package/dist/resource/format/imageSignatures.js.map +1 -0
  119. package/dist/resource/format/index.js +2 -1
  120. package/dist/resource/format/index.js.map +1 -1
  121. package/dist/resource/format/jsonPolicies.js +180 -0
  122. package/dist/resource/format/jsonPolicies.js.map +1 -0
  123. package/dist/resource/formats/black/core/helpers.js +18 -29
  124. package/dist/resource/formats/black/core/helpers.js.map +1 -1
  125. package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
  126. package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
  127. package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
  128. package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
  129. package/dist/resource/formats/bnk/core/busNodes.js +2 -1
  130. package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
  131. package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
  132. package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
  133. package/dist/resource/formats/bnk/core/eventAction.js +15 -93
  134. package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
  135. package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
  136. package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
  137. package/dist/resource/formats/bnk/core/helpers.js +2 -48
  138. package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
  139. package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
  140. package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
  141. package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
  142. package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
  143. package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
  144. package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
  145. package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
  146. package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
  147. package/dist/resource/formats/cmf/core/binary.js +54 -60
  148. package/dist/resource/formats/cmf/core/binary.js.map +1 -1
  149. package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
  150. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  151. package/dist/resource/formats/dds/core/bc6h.js +16 -18
  152. package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
  153. package/dist/resource/formats/dds/core/bc7.js +28 -24
  154. package/dist/resource/formats/dds/core/bc7.js.map +1 -1
  155. package/dist/resource/formats/dds/core/helpers.js +7 -133
  156. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  157. package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
  158. package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
  159. package/dist/resource/formats/dxbc/core/helpers.js +4 -32
  160. package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
  161. package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
  162. package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
  163. package/dist/resource/formats/fbx/core/helpers.js +18 -12
  164. package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
  165. package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
  166. package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
  167. package/dist/resource/formats/flac/core/helpers.js +1 -62
  168. package/dist/resource/formats/flac/core/helpers.js.map +1 -1
  169. package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
  170. package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
  171. package/dist/resource/formats/gif/core/helpers.js +1 -63
  172. package/dist/resource/formats/gif/core/helpers.js.map +1 -1
  173. package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
  174. package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
  175. package/dist/resource/formats/gltf/core/helpers.js +3 -19
  176. package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
  177. package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
  178. package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
  179. package/dist/resource/formats/gr2/core/container.js +1 -10
  180. package/dist/resource/formats/gr2/core/container.js.map +1 -1
  181. package/dist/resource/formats/gr2/core/helpers.js +24 -35
  182. package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
  183. package/dist/resource/formats/gr2/core/shared.js +193 -189
  184. package/dist/resource/formats/gr2/core/shared.js.map +1 -1
  185. package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
  186. package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
  187. package/dist/resource/formats/hlsl/core/helpers.js +1 -30
  188. package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
  189. package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
  190. package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
  191. package/dist/resource/formats/jpeg/core/helpers.js +7 -134
  192. package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
  193. package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
  194. package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
  195. package/dist/resource/formats/mp3/core/helpers.js +1 -64
  196. package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
  197. package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
  198. package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
  199. package/dist/resource/formats/mp4/core/helpers.js +1 -73
  200. package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
  201. package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
  202. package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
  203. package/dist/resource/formats/obj/core/helpers.js +93 -115
  204. package/dist/resource/formats/obj/core/helpers.js.map +1 -1
  205. package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
  206. package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
  207. package/dist/resource/formats/ogg/core/helpers.js +1 -15
  208. package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
  209. package/dist/resource/formats/ogg/core/vorbis.js +138 -144
  210. package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
  211. package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
  212. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  213. package/dist/resource/formats/png/CjsPngFormat.js +5 -3
  214. package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
  215. package/dist/resource/formats/png/core/helpers.js +13 -152
  216. package/dist/resource/formats/png/core/helpers.js.map +1 -1
  217. package/dist/resource/formats/png/core/writer.js +3 -27
  218. package/dist/resource/formats/png/core/writer.js.map +1 -1
  219. package/dist/resource/formats/red/core/helpers.js +19 -29
  220. package/dist/resource/formats/red/core/helpers.js.map +1 -1
  221. package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
  222. package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
  223. package/dist/resource/formats/stl/core/helpers.js +44 -66
  224. package/dist/resource/formats/stl/core/helpers.js.map +1 -1
  225. package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
  226. package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
  227. package/dist/resource/formats/tga/core/helpers.js +7 -153
  228. package/dist/resource/formats/tga/core/helpers.js.map +1 -1
  229. package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
  230. package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
  231. package/dist/resource/formats/vta/core/helpers.js +1 -17
  232. package/dist/resource/formats/vta/core/helpers.js.map +1 -1
  233. package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
  234. package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
  235. package/dist/resource/formats/wav/core/helpers.js +1 -15
  236. package/dist/resource/formats/wav/core/helpers.js.map +1 -1
  237. package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
  238. package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
  239. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +52 -4
  240. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  241. package/dist/resource/formats/webgl/core/helpers.js +39 -68
  242. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  243. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
  244. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  245. package/dist/resource/formats/webgpu/core/helpers.js +4 -30
  246. package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
  247. package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
  248. package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
  249. package/dist/resource/formats/webm/core/helpers.js +1 -73
  250. package/dist/resource/formats/webm/core/helpers.js.map +1 -1
  251. package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
  252. package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
  253. package/dist/resource/formats/webp/core/helpers.js +1 -62
  254. package/dist/resource/formats/webp/core/helpers.js.map +1 -1
  255. package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
  256. package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
  257. package/dist/resource/formats/wem/core/bitStream.js +83 -106
  258. package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
  259. package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
  260. package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
  261. package/dist/resource/formats/wem/core/helpers.js +1 -15
  262. package/dist/resource/formats/wem/core/helpers.js.map +1 -1
  263. package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
  264. package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
  265. package/dist/resource/geometry/MeshDecalData.js +23 -25
  266. package/dist/resource/geometry/MeshDecalData.js.map +1 -1
  267. package/dist/resource/geometry/MeshDecalLodData.js +14 -23
  268. package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
  269. package/dist/resource/geometry/TriGeometryRes.js +299 -284
  270. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  271. package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
  272. package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
  273. package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
  274. package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
  275. package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
  276. package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
  277. package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
  278. package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
  279. package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
  280. package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
  281. package/dist/resource/geometry/TriJointBinding.js +16 -24
  282. package/dist/resource/geometry/TriJointBinding.js.map +1 -1
  283. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
  284. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
  285. package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
  286. package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
  287. package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
  288. package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
  289. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
  290. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  291. package/dist/resource/index.js +1 -1
  292. package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
  293. package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
  294. package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
  295. package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
  296. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
  297. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  298. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
  299. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
  300. package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
  301. package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
  302. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
  303. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  304. package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
  305. package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
  306. package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
  307. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  308. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
  309. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
  310. package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
  311. package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
  312. package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
  313. package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
  314. package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
  315. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  316. package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
  317. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  318. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
  319. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
  320. package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
  321. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  322. package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
  323. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  324. package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
  325. package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
  327. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
  329. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
  330. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
  331. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  332. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
  333. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  334. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
  335. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  336. package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
  337. package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
  338. package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
  339. package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
  340. package/dist/resource/worker/protocol.js +18 -1
  341. package/dist/resource/worker/protocol.js.map +1 -1
  342. package/dist/sof/EveSOF.js +2 -222
  343. package/dist/sof/EveSOF.js.map +1 -1
  344. package/dist/sof/SofDocumentBuilder.js +205 -0
  345. package/dist/sof/SofDocumentBuilder.js.map +1 -0
  346. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
  347. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
  348. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
  349. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
  350. package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
  351. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  352. package/dist/sof/faction/index.js +3 -1
  353. package/dist/sof/faction/index.js.map +1 -1
  354. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
  355. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
  356. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
  357. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
  358. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
  359. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
  360. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
  361. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
  362. package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
  363. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  364. package/dist/sof/generic/index.js +5 -1
  365. package/dist/sof/generic/index.js.map +1 -1
  366. package/dist/sof/index.js +23 -7
  367. package/dist/sof/index.js.map +1 -1
  368. package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
  369. package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
  370. package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
  371. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  372. package/dist/sof/pattern/index.js +2 -1
  373. package/dist/sof/pattern/index.js.map +1 -1
  374. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
  375. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
  376. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
  377. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
  378. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
  379. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
  380. package/dist/sof/shared/EveSOFDataArea.js +2 -13
  381. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  382. package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
  383. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  384. package/dist/sof/shared/EveSOFDataParameter.js +2 -146
  385. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  386. package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
  387. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
  388. package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
  389. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
  390. package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
  391. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
  392. package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
  393. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
  394. package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
  395. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
  396. package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
  397. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
  398. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
  399. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
  400. package/dist/sof/shared/index.js +13 -4
  401. package/dist/sof/shared/index.js.map +1 -1
  402. package/dist/sof/sofDocumentValues.js +33 -0
  403. package/dist/sof/sofDocumentValues.js.map +1 -0
  404. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
  405. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
  406. package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
  407. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
  408. package/dist/trinity/controllers/Tr2Controller.js +2 -1
  409. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  410. package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
  411. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  412. package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
  413. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  414. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
  415. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  416. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
  417. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
  418. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
  419. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
  420. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
  421. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
  422. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
  423. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
  424. package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
  425. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
  426. package/dist/trinity/controllers/index.js +5 -2
  427. package/dist/trinity/controllers/index.js.map +1 -1
  428. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
  429. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  430. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
  431. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  432. package/dist/trinity/core/ITr2Updateable.js +2 -1
  433. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  434. package/dist/trinity/core/Tr2Blitter.js +6 -3
  435. package/dist/trinity/core/Tr2Blitter.js.map +1 -1
  436. package/dist/trinity/core/Tr2Denoiser.js +256 -0
  437. package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
  438. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
  439. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
  440. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
  441. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
  442. package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
  443. package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
  444. package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
  445. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
  446. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
  447. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
  448. package/dist/trinity/core/Tr2RenderUtils.js +20 -3
  449. package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
  450. package/dist/trinity/core/Tr2Renderer.js +146 -1
  451. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  452. package/dist/trinity/core/Tr2ShadowMap.js +135 -14
  453. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  454. package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
  455. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
  456. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
  457. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
  458. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
  459. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
  460. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
  461. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
  462. package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
  463. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
  464. package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
  465. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
  466. package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
  467. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
  468. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
  469. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
  470. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
  471. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
  472. package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
  473. package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
  474. package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
  475. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  476. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
  477. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
  478. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
  479. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
  480. package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
  481. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  482. package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
  483. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
  484. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
  485. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
  486. package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
  487. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
  488. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
  489. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
  490. package/dist/trinity/core/index.js +42 -15
  491. package/dist/trinity/core/index.js.map +1 -1
  492. package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
  493. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  494. package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
  495. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
  496. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
  497. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
  498. package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
  499. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
  500. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
  501. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
  502. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
  503. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  504. package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
  505. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  506. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
  507. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  508. package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
  509. package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
  510. package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
  511. package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
  512. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
  513. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
  514. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
  515. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
  516. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
  517. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
  518. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
  519. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
  520. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
  521. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
  522. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
  523. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
  524. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
  525. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
  526. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
  527. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
  528. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
  529. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
  530. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
  531. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
  532. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
  533. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
  534. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
  535. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
  536. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
  537. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
  538. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
  539. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
  540. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
  541. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
  542. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
  543. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
  544. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
  545. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
  546. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
  547. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
  548. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
  549. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
  550. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
  551. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
  552. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
  553. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
  554. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
  555. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
  556. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
  557. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
  558. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
  559. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
  560. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
  561. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
  562. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
  563. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
  564. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
  565. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
  566. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
  567. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
  568. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
  569. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
  570. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
  571. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
  572. package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
  573. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
  574. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
  575. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
  576. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
  577. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
  578. package/dist/trinity/core/variable/TriVariable.js +83 -83
  579. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  580. package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
  581. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
  582. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
  583. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
  584. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
  585. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  586. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
  587. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  588. package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
  589. package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
  590. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
  591. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  592. package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
  593. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  594. package/dist/trinity/eve/IEveTransform.js +2 -1
  595. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  596. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
  597. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  598. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
  599. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  600. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
  601. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
  602. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
  603. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  604. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
  605. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  606. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
  607. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
  608. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
  609. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  610. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
  611. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  612. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
  613. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  614. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
  615. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  616. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
  617. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  618. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
  619. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  620. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
  621. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  622. package/dist/trinity/eve/camera/EveCamera.js +1 -1
  623. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  624. package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
  625. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  626. package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
  627. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  628. package/dist/trinity/eve/child/EveChildContainer.js +141 -141
  629. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  630. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
  631. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
  632. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
  633. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
  634. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
  635. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
  636. package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
  637. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
  638. package/dist/trinity/eve/child/EveChildMesh.js +218 -218
  639. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  640. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
  641. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
  642. package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
  643. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
  644. package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
  645. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  646. package/dist/trinity/eve/child/EveChildTransform.js +5 -0
  647. package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
  648. package/dist/trinity/eve/child/EveChildTurret.js +7 -0
  649. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  650. package/dist/trinity/eve/index.js +10 -4
  651. package/dist/trinity/eve/index.js.map +1 -1
  652. package/dist/trinity/eve/lights/Tr2Light.js +5 -0
  653. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  654. package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
  655. package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
  656. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
  657. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  658. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
  659. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  660. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
  661. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  662. package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
  663. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  664. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
  665. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  666. package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
  667. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  668. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
  669. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  670. package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
  671. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  672. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
  673. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  674. package/dist/trinity/generated/index.js +0 -1
  675. package/dist/trinity/generated/index.js.map +1 -1
  676. package/dist/trinity/generated/trinityCore/index.js +0 -1
  677. package/dist/trinity/generated/trinityCore/index.js.map +1 -1
  678. package/dist/trinity/index.js +59 -23
  679. package/dist/trinity/index.js.map +1 -1
  680. package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
  681. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
  682. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
  683. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
  684. package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
  685. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  686. package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
  687. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  688. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
  689. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  690. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
  691. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  692. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
  693. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  694. package/dist/trinity/particle/index.js +2 -1
  695. package/dist/trinity/particle/index.js.map +1 -1
  696. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
  697. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  698. package/dist/trinity/shader/Tr2Effect.js +131 -58
  699. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  700. package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
  701. package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
  702. package/dist/trinity/shader/Tr2Material.js +21 -4
  703. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  704. package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
  705. package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
  706. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
  707. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  708. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
  709. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
  710. package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
  711. package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
  712. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
  713. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
  714. package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
  715. package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
  716. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
  717. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
  718. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
  719. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
  720. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
  721. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
  722. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
  723. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
  724. package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
  725. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
  726. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
  727. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
  728. package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
  729. package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
  730. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
  731. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
  732. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
  733. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
  734. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
  735. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
  736. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
  737. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
  738. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
  739. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
  740. package/dist/trinityal/index.js +22 -9
  741. package/dist/trinityal/index.js.map +1 -1
  742. package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
  743. package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
  744. package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
  745. package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
  746. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
  747. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
  748. package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
  749. package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
  750. package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
  751. package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
  752. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
  753. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
  754. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
  755. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
  756. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
  757. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
  758. package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
  759. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
  760. package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
  761. package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
  762. package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
  763. package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
  764. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
  765. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
  766. package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
  767. package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
  768. package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
  769. package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
  770. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
  771. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
  772. package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
  773. package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
  774. package/dist/trinityal/stub/index.js +8 -4
  775. package/dist/trinityal/stub/index.js.map +1 -1
  776. package/dist/trinityal/vertexLayoutMatch.js +2 -2
  777. package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
  778. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
  779. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
  780. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
  781. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
  782. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
  783. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
  784. package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
  785. package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
  786. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
  787. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  788. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
  789. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  790. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
  791. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
  792. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
  793. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
  794. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
  795. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
  796. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
  797. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
  798. package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
  799. package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
  800. package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
  801. package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
  802. package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
  803. package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
  804. package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
  805. package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
  806. package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
  807. package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
  808. package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
  809. package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
  810. package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
  811. package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
  812. package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
  813. package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
  814. package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
  815. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
  816. package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
  817. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
  818. package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
  819. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
  820. package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
  821. package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
  822. package/dist/trinityal/webgpu/internal.js +12 -11
  823. package/dist/trinityal/webgpu/internal.js.map +1 -1
  824. package/docs/audio/reference/classes/trinity.md +44 -34
  825. package/docs/character/architecture.md +276 -0
  826. package/docs/character/reference/character-appearance-plans.md +30 -66
  827. package/docs/character/reference/prepared-libraries.md +14 -30
  828. package/docs/global/reference/api.md +2 -1
  829. package/docs/global/reference/classes/README.md +53 -71
  830. package/docs/global/reference/classes/dropped.md +16 -0
  831. package/docs/resource/README.md +19 -15
  832. package/docs/resource/architecture.md +9 -2
  833. package/docs/resource/concepts/format-capabilities.md +124 -80
  834. package/docs/resource/concepts/shared-format-helpers.md +94 -0
  835. package/docs/resource/formats/README.md +230 -224
  836. package/docs/resource/formats/bitknit2.md +221 -0
  837. package/docs/resource/formats/carbon-effect-container.md +184 -269
  838. package/docs/resource/formats/gr2.md +6 -1
  839. package/docs/resource/formats/schemabound.md +28 -48
  840. package/docs/resource/formats/static.md +70 -97
  841. package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
  842. package/docs/resource/formats/webgl/decl-io.md +165 -256
  843. package/docs/resource/formats/webgl/memory-structured.md +64 -142
  844. package/docs/resource/formats/webgl/texture-sample.md +109 -138
  845. package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
  846. package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
  847. package/docs/resource/formats/webgpu/reference/api.md +64 -67
  848. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +104 -260
  849. package/docs/resource/reference/classes/core.md +256 -236
  850. package/docs/resource/reference/classes/formats.md +1668 -1672
  851. package/docs/resource/reference/workers.md +4 -2
  852. package/docs/sof/reference/classes/core.md +1 -1
  853. package/docs/sof/reference/classes/faction.md +2 -2
  854. package/docs/sof/reference/classes/generic.md +4 -4
  855. package/docs/sof/reference/classes/pattern.md +1 -1
  856. package/docs/sof/reference/classes/shared.md +10 -10
  857. package/docs/trinity/architecture.md +55 -44
  858. package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
  859. package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
  860. package/docs/trinity/reference/classes/dropped.md +0 -189
  861. package/docs/trinity/reference/classes/eve-runtime.md +8 -8
  862. package/docs/trinity/reference/classes/generated.md +0 -10
  863. package/docs/trinity/reference/classes/particle.md +2 -2
  864. package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
  865. package/docs/trinity/reference/implementation-status.md +50 -75
  866. package/docs/trinity/reference/main-semantic-extraction.md +13 -17
  867. package/docs/trinityal/reference/classes/README.md +77 -27
  868. package/docs/trinityal/reference/classes/dropped.md +82 -0
  869. package/docs/trinityal/webgpu/README.md +3 -1
  870. package/docs/trinityal/webgpu/architecture.md +121 -228
  871. package/docs/trinityal/webgpu/reference/api.md +5 -5
  872. package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
  873. package/format-notices/gr2/NOTICE +18 -12
  874. package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
  875. package/package.json +4 -1
  876. package/dist/audio/trinity/audio/AudActionLog.js +0 -173
  877. package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
  878. package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
  879. package/dist/global/contracts/CjsScriptCallback.js +0 -94
  880. package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
  881. package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
  882. package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
  883. package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
  884. package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
  885. package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
  886. package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
  887. package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
  888. package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
  889. package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
  890. package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
  891. package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
  892. package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
  893. package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
  894. package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
  895. package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
  896. package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
  897. package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
  898. package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
  899. package/dist/trinity/core/rawData/constantLayout.js +0 -175
  900. package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
  901. package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
  902. package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
  903. package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
  904. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
  905. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
  906. package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
  907. package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
  908. package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
  909. package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
  910. package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
  911. package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
  912. package/dist/trinityal/Tr2SamplerDescription.js +0 -72
  913. package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
  914. package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
  915. package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
  916. package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
  917. package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
  918. package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
  919. package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
  920. package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
  921. package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
  922. package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
  923. package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
  924. package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
  925. package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
  926. package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
  927. package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
  928. package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
  929. package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
@@ -1,21 +1,21 @@
1
- import { applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { applyDecs2311 as _applyDecs2311 } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { RenderingMode } from '#consts/graphics';
3
3
  import { impl } from '#schema';
4
4
 
5
5
  let _initProto;
6
6
 
7
- /**
8
- * Abstract base for render-batch accumulators: holds the shared rendering mode,
9
- * user data and per-object-data store, and declares the collect and sort
10
- * contract concrete accumulators implement.
7
+ /**
8
+ * Abstract base for render-batch accumulators: holds the shared rendering mode,
9
+ * user data and per-object-data store, and declares the collect and sort
10
+ * contract concrete accumulators implement.
11
11
  */
12
12
  class ITriRenderBatchAccumulator {
13
13
  static {
14
14
  [_initProto] = _applyDecs2311(this, [], [[[impl, impl.abstract], 18, "Clear"], [[impl, impl.abstract], 18, "Commit"], [[impl, impl.abstract], 18, "GetGdprBatches"], [[impl, impl.abstract], 18, "GetBatches"], [[impl, impl.abstract], 18, "Finalize"], [[impl, impl.abstract], 18, "GetBatchCount"], [[impl, impl.abstract], 18, "IsChainedByEffect"], [[impl, impl.abstract], 18, "TransferFrom"]]).e;
15
15
  }
16
- /**
17
- * Starts with zero user data, RM_ANY rendering mode and no per-object-data
18
- * store bound.
16
+ /**
17
+ * Starts with zero user data, RM_ANY rendering mode and no per-object-data
18
+ * store bound.
19
19
  */
20
20
  constructor() {
21
21
  _initProto(this);
@@ -31,9 +31,9 @@ class ITriRenderBatchAccumulator {
31
31
  // Bind the per-object-data store (from the render context). Carbon's pool
32
32
  // allocator (Tr2Renderer::GetPoolAllocator) relocates onto this store.
33
33
 
34
- /**
35
- * Binds the per-object-data store, normally taken from the render context at
36
- * scene setup; returns this for chaining.
34
+ /**
35
+ * Binds the per-object-data store, normally taken from the render context at
36
+ * scene setup; returns this for chaining.
37
37
  */
38
38
  SetTriPoolAllocator(store) {
39
39
  this.rawDataStore = store;
@@ -49,10 +49,10 @@ class ITriRenderBatchAccumulator {
49
49
  // per-object-data allocation). Requires a store - there is no fallback; a
50
50
  // missing store is a setup error, not a silent tight-pack.
51
51
 
52
- /**
53
- * Leases a transient per-object payload for a registered struct from the bound
54
- * store; a missing store throws rather than silently falling back, because it
55
- * is a setup error.
52
+ /**
53
+ * Leases a transient per-object payload for a registered struct from the bound
54
+ * store; a missing store throws rather than silently falling back, because it
55
+ * is a setup error.
56
56
  */
57
57
  Alloc(name) {
58
58
  if (!this.rawDataStore) {
@@ -65,17 +65,17 @@ class ITriRenderBatchAccumulator {
65
65
  // owns lifetime, so this just constructs the requested object. Retained for
66
66
  // the deferred { object: this } sites during the per-object-data migration.
67
67
 
68
- /**
69
- * Constructs the requested per-object-data object; Carbon pool-allocates here,
70
- * but in JS the GC owns lifetime, so this only calls the constructor.
68
+ /**
69
+ * Constructs the requested per-object-data object; Carbon pool-allocates here,
70
+ * but in JS the GC owns lifetime, so this only calls the constructor.
71
71
  */
72
72
  Allocate(Constructor) {
73
73
  return new Constructor();
74
74
  }
75
75
 
76
- /**
77
- * Attaches an opaque caller value that every batch collected by this
78
- * accumulator carries.
76
+ /**
77
+ * Attaches an opaque caller value that every batch collected by this
78
+ * accumulator carries.
79
79
  */
80
80
  SetUserData(userData) {
81
81
  this.userData = userData;
@@ -91,17 +91,17 @@ class ITriRenderBatchAccumulator {
91
91
  return this.renderingMode;
92
92
  }
93
93
 
94
- /**
95
- * Abstract: concrete accumulators drop every collected batch and reset the
96
- * shared state.
94
+ /**
95
+ * Abstract: concrete accumulators drop every collected batch and reset the
96
+ * shared state.
97
97
  */
98
98
  Clear() {
99
99
  throw new Error("ITriRenderBatchAccumulator.Clear is abstract");
100
100
  }
101
101
 
102
- /**
103
- * Abstract: concrete accumulators take ownership of a batch and file it for
104
- * sorting.
102
+ /**
103
+ * Abstract: concrete accumulators take ownership of a batch and file it for
104
+ * sorting.
105
105
  */
106
106
  Commit(_batch) {
107
107
  throw new Error("ITriRenderBatchAccumulator.Commit is abstract");
@@ -127,9 +127,9 @@ class ITriRenderBatchAccumulator {
127
127
  throw new Error("ITriRenderBatchAccumulator.GetBatchCount is abstract");
128
128
  }
129
129
 
130
- /**
131
- * Abstract: whether the collected batches are effect-sorted rather than
132
- * order-preserving.
130
+ /**
131
+ * Abstract: whether the collected batches are effect-sorted rather than
132
+ * order-preserving.
133
133
  */
134
134
  IsChainedByEffect() {
135
135
  throw new Error("ITriRenderBatchAccumulator.IsChainedByEffect is abstract");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITriRenderBatchAccumulator.js","sources":["../../../../../../src/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js"],"sourcesContent":["// Source: trinity/trinity/TriRenderBatch.h (ITriRenderBatchAccumulator)\n//\n// Abstract base for render-batch accumulators: shared render-mode / user-data\n// state plus the collect/sort contract. Concrete accumulators\n// (TriRenderBatchAccumulator) implement Commit/Finalize/Get*/TransferFrom. This\n// stays GPU-free; dispatch to the device is the engine adapter's job.\nimport { RenderingMode } from \"#consts/graphics\";\nimport { impl } from \"#schema\";\n\n\n/**\n * Abstract base for render-batch accumulators: holds the shared rendering mode,\n * user data and per-object-data store, and declares the collect and sort\n * contract concrete accumulators implement.\n */\nexport class ITriRenderBatchAccumulator\n{\n /**\n * Starts with zero user data, RM_ANY rendering mode and no per-object-data\n * store bound.\n */\n constructor()\n {\n this.userData = 0;\n\n this.renderingMode = RenderingMode.RM_ANY;\n\n // The per-object-data store (a TriPoolAllocator), set once from the render\n // context at scene setup. The engine builds it from its own struct\n // reflection; Trinity never defines a struct here.\n this.rawDataStore = null;\n }\n\n // Bind the per-object-data store (from the render context). Carbon's pool\n // allocator (Tr2Renderer::GetPoolAllocator) relocates onto this store.\n\n /**\n * Binds the per-object-data store, normally taken from the render context at\n * scene setup; returns this for chaining.\n */\n SetTriPoolAllocator(store)\n {\n this.rawDataStore = store;\n return this;\n }\n\n /** The bound per-object-data store, or null when none was set. */\n GetTriPoolAllocator()\n {\n return this.rawDataStore;\n }\n\n // Lease a transient per-object payload for a registered struct (the pooled\n // per-object-data allocation). Requires a store - there is no fallback; a\n // missing store is a setup error, not a silent tight-pack.\n\n /**\n * Leases a transient per-object payload for a registered struct from the bound\n * store; a missing store throws rather than silently falling back, because it\n * is a setup error.\n */\n Alloc(name)\n {\n if (!this.rawDataStore)\n {\n throw new Error(`ITriRenderBatchAccumulator: no per-object-data store bound (set it from the render context before Alloc \"${name}\")`);\n }\n\n return this.rawDataStore.Allocate(name);\n }\n\n // Carbon pool-allocates per-object data from the accumulator; in JS the GC\n // owns lifetime, so this just constructs the requested object. Retained for\n // the deferred { object: this } sites during the per-object-data migration.\n\n /**\n * Constructs the requested per-object-data object; Carbon pool-allocates here,\n * but in JS the GC owns lifetime, so this only calls the constructor.\n */\n Allocate(Constructor)\n {\n return new Constructor();\n }\n\n /**\n * Attaches an opaque caller value that every batch collected by this\n * accumulator carries.\n */\n SetUserData(userData)\n {\n this.userData = userData;\n }\n\n /** Sets the rendering mode that Commit stamps onto every batch collected here. */\n SetRenderingMode(mode)\n {\n this.renderingMode = mode;\n }\n\n /** The rendering mode stamped onto collected batches. */\n GetRenderingMode()\n {\n return this.renderingMode;\n }\n\n /**\n * Abstract: concrete accumulators drop every collected batch and reset the\n * shared state.\n */\n @impl.abstract\n Clear()\n {\n throw new Error(\"ITriRenderBatchAccumulator.Clear is abstract\");\n }\n\n /**\n * Abstract: concrete accumulators take ownership of a batch and file it for\n * sorting.\n */\n @impl.abstract\n Commit(_batch)\n {\n throw new Error(\"ITriRenderBatchAccumulator.Commit is abstract\");\n }\n\n /** Abstract: the GDPR-eligible batch vector. */\n @impl.abstract\n GetGdprBatches()\n {\n throw new Error(\"ITriRenderBatchAccumulator.GetGdprBatches is abstract\");\n }\n\n /** Abstract: the plain batch vector. */\n @impl.abstract\n GetBatches()\n {\n throw new Error(\"ITriRenderBatchAccumulator.GetBatches is abstract\");\n }\n\n /** Abstract: concrete accumulators sort and group-count the collected batches. */\n @impl.abstract\n Finalize()\n {\n throw new Error(\"ITriRenderBatchAccumulator.Finalize is abstract\");\n }\n\n /** Abstract: total number of collected batches. */\n @impl.abstract\n GetBatchCount()\n {\n throw new Error(\"ITriRenderBatchAccumulator.GetBatchCount is abstract\");\n }\n\n /**\n * Abstract: whether the collected batches are effect-sorted rather than\n * order-preserving.\n */\n @impl.abstract\n IsChainedByEffect()\n {\n throw new Error(\"ITriRenderBatchAccumulator.IsChainedByEffect is abstract\");\n }\n\n /** Abstract: folds another accumulator's batches into this one. */\n @impl.abstract\n TransferFrom(_source)\n {\n throw new Error(\"ITriRenderBatchAccumulator.TransferFrom is abstract\");\n }\n}\n"],"names":["ITriRenderBatchAccumulator","_initProto","_applyDecs","impl","abstract","e","constructor","userData","renderingMode","RenderingMode","RM_ANY","rawDataStore","SetTriPoolAllocator","store","GetTriPoolAllocator","Alloc","name","Error","Allocate","Constructor","SetUserData","SetRenderingMode","mode","GetRenderingMode","Clear","Commit","_batch","GetGdprBatches","GetBatches","Finalize","GetBatchCount","IsChainedByEffect","TransferFrom","_source"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { RenderingMode } from '#consts/graphics';
2
2
  import { Topology } from '#consts/render-context';
3
3
  import { TriGeometryRes } from '#resource/geometry';
4
4
 
5
- // Source: trinity/TriRenderBatch.h
5
+ // Source: trinity/trinity/TriRenderBatch.h
6
6
  // trinity/TriRenderBatch.cpp
7
7
  //
8
8
  // GPU-free CPU render-batch descriptor plus the binning/sort helpers. A batch
@@ -11,6 +11,7 @@ import { TriGeometryRes } from '#resource/geometry';
11
11
  // batches and issues the actual draws (Carbon's Tr2RenderContextBase::RenderBatches*
12
12
  // dispatch family stays engine-side and is intentionally NOT ported here).
13
13
 
14
+
14
15
  // Carbon sorts batches on raw pointer identity of shader/vertex-stream objects.
15
16
  // JS has no pointer order, so we assign each distinct reference a stable id on
16
17
  // first encounter. Only contiguity of equal references matters for binning, so
@@ -18,10 +19,10 @@ import { TriGeometryRes } from '#resource/geometry';
18
19
  let nextOrderId = 1;
19
20
  const orderIds = new WeakMap();
20
21
 
21
- /**
22
- * Stable per-reference ordinal standing in for Carbon's pointer ordering in
23
- * batch comparisons; assigned on first sight and held in a WeakMap, so it is
24
- * consistent within a run but meaningless across runs.
22
+ /**
23
+ * Stable per-reference ordinal standing in for Carbon's pointer ordering in
24
+ * batch comparisons; assigned on first sight and held in a WeakMap, so it is
25
+ * consistent within a run but meaningless across runs.
25
26
  */
26
27
  function OrderOf(ref) {
27
28
  if (ref === null || ref === undefined) return 0;
@@ -34,80 +35,6 @@ function OrderOf(ref) {
34
35
  return id;
35
36
  }
36
37
 
37
- // A contiguous (startIndex, count) block of mesh groups. Mirrors Carbon
38
- // TriRenderBatchAreaBlock; used by the shadow/overlay area-block paths.
39
-
40
- /**
41
- * A contiguous (startIndex, count) run of mesh groups, as consumed by the shadow
42
- * and overlay area-block paths.
43
- */
44
- class TriRenderBatchAreaBlock {
45
- /**
46
- * Creates a block covering count groups from startIndex; both are coerced to
47
- * unsigned integers.
48
- */
49
- constructor(startIndex = 0, count = 0) {
50
- this.startIndex = startIndex >>> 0;
51
- this.count = count >>> 0;
52
- }
53
-
54
- // Compacts a set of possibly overlapping/adjacent blocks into the minimal set
55
- // of contiguous runs, in place. Mirrors TriRenderBatchAreaBlock::Optimize.
56
-
57
- /**
58
- * Compacts a vector of possibly overlapping or adjacent blocks into the
59
- * minimal set of contiguous runs, rewriting the caller's array in place and
60
- * returning it.
61
- */
62
- static Optimize(areaBlockVector) {
63
- const indices = new Set();
64
- for (const block of areaBlockVector) {
65
- for (let i = 0; i < block.count; i++) indices.add(block.startIndex + i);
66
- }
67
- const sorted = Array.from(indices).sort((a, b) => a - b);
68
- areaBlockVector.length = 0;
69
- let start = -1;
70
- let run = -1;
71
- for (const value of sorted) {
72
- if (run >= 0 && value === run + 1) {
73
- run = value;
74
- continue;
75
- }
76
- if (run >= 0) areaBlockVector.push(new TriRenderBatchAreaBlock(start, run - start + 1));
77
- start = value;
78
- run = value;
79
- }
80
- if (run >= 0) areaBlockVector.push(new TriRenderBatchAreaBlock(start, run - start + 1));
81
- return areaBlockVector;
82
- }
83
- }
84
-
85
- // A shared-material list of area blocks (shadow/overlay path). Mirrors
86
- // TriRenderBatchAreaBlocksWithSharedMaterial.
87
-
88
- /**
89
- * Groups the area blocks that draw with one shared shader material on the shadow
90
- * and overlay path.
91
- */
92
- class TriRenderBatchAreaBlocksWithSharedMaterial extends TriRenderBatchAreaBlock {
93
- /** Starts with no shared material and an empty block vector. */
94
- constructor() {
95
- super();
96
- this.shaderMaterial = null;
97
- this.areaBlockVector = [];
98
- }
99
-
100
- /** Compacts the owned block vector into minimal contiguous runs. */
101
- Optimize() {
102
- TriRenderBatchAreaBlock.Optimize(this.areaBlockVector);
103
- }
104
-
105
- /** Empties the block vector while keeping the shared material bound. */
106
- Clear() {
107
- this.areaBlockVector.length = 0;
108
- }
109
- }
110
-
111
38
  // THE ALLOCATION TYPE IS A PORT GAP, AND THESE TWO HELPERS ARE WHERE IT SHOWS.
112
39
  //
113
40
  // Carbon's `SetGeometryFromAllocations` takes a `Tr2SuballocatedBuffer::Allocation`
@@ -140,14 +67,14 @@ function AllocationStride(allocation) {
140
67
  // producer supplies (in the GPU-free runtime these are geometry-resource-backed
141
68
  // descriptors that the engine resolves to real buffers at dispatch time).
142
69
 
143
- /**
144
- * One draw's worth of CPU descriptor state - material and shader key, geometry
145
- * binding, draw arguments and sort keys - holding no device resources.
70
+ /**
71
+ * One draw's worth of CPU descriptor state - material and shader key, geometry
72
+ * binding, draw arguments and sort keys - holding no device resources.
146
73
  */
147
74
  class Tr2RenderBatch {
148
- /**
149
- * Creates an empty batch with no material or geometry, RM_ANY rendering mode,
150
- * triangle-list topology and a group count of 1.
75
+ /**
76
+ * Creates an empty batch with no material or geometry, RM_ANY rendering mode,
77
+ * triangle-list topology and a group count of 1.
151
78
  */
152
79
  constructor() {
153
80
  this.material = null;
@@ -196,11 +123,11 @@ class Tr2RenderBatch {
196
123
  // shader key. Either way the shader is both the validity key (see IsValid) and
197
124
  // the primary bin/sort key, so effect-equal batches still group together.
198
125
 
199
- /**
200
- * Sets the material and derives the shader key from it, falling back to the
201
- * material itself when no shader-state interface is realized yet; that key is
202
- * both the validity test and the primary bin/sort key, so effect-equal batches
203
- * still group together.
126
+ /**
127
+ * Sets the material and derives the shader key from it, falling back to the
128
+ * material itself when no shader-state interface is realized yet; that key is
129
+ * both the validity test and the primary bin/sort key, so effect-equal batches
130
+ * still group together.
204
131
  */
205
132
  SetMaterial(material) {
206
133
  this.material = material ?? null;
@@ -214,9 +141,9 @@ class Tr2RenderBatch {
214
141
 
215
142
  // Carbon: SetGeometry(vertexDecl, Tr2BufferAL& vb, stride, Tr2BufferAL& ib, indexStride).
216
143
 
217
- /**
218
- * Binds one vertex stream and an index buffer with their strides, clearing the
219
- * second stream.
144
+ /**
145
+ * Binds one vertex stream and an index buffer with their strides, clearing the
146
+ * second stream.
220
147
  */
221
148
  SetGeometry(vertexDeclaration, vertexBuffer, vertexStride, indexBuffer, indexStride) {
222
149
  this.vertexDeclaration = vertexDeclaration >>> 0;
@@ -229,9 +156,9 @@ class Tr2RenderBatch {
229
156
 
230
157
  // Carbon overload taking suballocated-buffer allocations (the mesh path).
231
158
 
232
- /**
233
- * Binds geometry from suballocated buffer allocations, taking each
234
- * allocation's buffer and stride (Carbon's mesh path).
159
+ /**
160
+ * Binds geometry from suballocated buffer allocations, taking each
161
+ * allocation's buffer and stride (Carbon's mesh path).
235
162
  */
236
163
  SetGeometryFromAllocations(vertexDeclaration, vertexAllocation, indexAllocation) {
237
164
  this.SetGeometry(vertexDeclaration, AllocationBuffer(vertexAllocation), AllocationStride(vertexAllocation), AllocationBuffer(indexAllocation), AllocationStride(indexAllocation));
@@ -239,9 +166,9 @@ class Tr2RenderBatch {
239
166
 
240
167
  // Carbon two-stream allocation overload.
241
168
 
242
- /**
243
- * Binds a two-stream allocation set; the second allocation becomes vertex
244
- * stream 1.
169
+ /**
170
+ * Binds a two-stream allocation set; the second allocation becomes vertex
171
+ * stream 1.
245
172
  */
246
173
  SetGeometryFromAllocations2(vertexDeclaration, vertexAllocation1, vertexAllocation2, indexAllocation) {
247
174
  this.SetGeometryFromAllocations(vertexDeclaration, vertexAllocation1, indexAllocation);
@@ -252,10 +179,10 @@ class Tr2RenderBatch {
252
179
  // GPU-free geometry binding: records the resource + mesh/area range for the
253
180
  // engine to resolve into realized buffers and draw arguments at dispatch.
254
181
 
255
- /**
256
- * GPU-free geometry binding: records the geometry resource plus the mesh and
257
- * area range for the engine to resolve into realized buffers and draw
258
- * arguments at dispatch.
182
+ /**
183
+ * GPU-free geometry binding: records the geometry resource plus the mesh and
184
+ * area range for the engine to resolve into realized buffers and draw
185
+ * arguments at dispatch.
259
186
  */
260
187
  SetGeometrySource(geometry, meshIndex, areaIndex, count, reversed, lod = null) {
261
188
  this.geometrySource = {
@@ -270,9 +197,9 @@ class Tr2RenderBatch {
270
197
  };
271
198
  }
272
199
 
273
- /**
274
- * Sets the vertex-declaration key, which participates in both binning and
275
- * sorting.
200
+ /**
201
+ * Sets the vertex-declaration key, which participates in both binning and
202
+ * sorting.
276
203
  */
277
204
  SetVertexDeclaration(vertexDeclaration) {
278
205
  this.vertexDeclaration = vertexDeclaration >>> 0;
@@ -287,26 +214,26 @@ class Tr2RenderBatch {
287
214
  // Carbon spells this SetInidices (a typo in the C++ API); we use the corrected
288
215
  // name since both producer and consumer are ours.
289
216
 
290
- /**
291
- * Binds the index buffer and its stride; Carbon spells this SetInidices, a
292
- * typo corrected here because both producer and consumer are ours.
217
+ /**
218
+ * Binds the index buffer and its stride; Carbon spells this SetInidices, a
219
+ * typo corrected here because both producer and consumer are ours.
293
220
  */
294
221
  SetIndices(indexBuffer, indexStride) {
295
222
  this.indexBuffer = indexBuffer ?? null;
296
223
  this.indexStride = indexStride >>> 0;
297
224
  }
298
225
 
299
- /**
300
- * Sets the primitive topology; only TRIANGLELIST batches are eligible for GDPR
301
- * binning.
226
+ /**
227
+ * Sets the primitive topology; only TRIANGLELIST batches are eligible for GDPR
228
+ * binning.
302
229
  */
303
230
  SetTopology(topology) {
304
231
  this.topology = topology;
305
232
  }
306
233
 
307
- /**
308
- * References the per-object payload the engine binds when dispatching this
309
- * batch; the batch borrows it and does not own it.
234
+ /**
235
+ * References the per-object payload the engine binds when dispatching this
236
+ * batch; the batch borrows it and does not own it.
310
237
  */
311
238
  SetPerObjectData(objectData) {
312
239
  this.objectData = objectData ?? null;
@@ -324,10 +251,10 @@ class Tr2RenderBatch {
324
251
  // Non-indexed draw: reuses indexCountPerInstance for the vertex count and
325
252
  // startIndexLocation for the start vertex; baseVertexLocation is left as is.
326
253
 
327
- /**
328
- * Records a non-indexed instanced draw, reusing indexCountPerInstance for the
329
- * vertex count and startIndexLocation for the start vertex; baseVertexLocation
330
- * is left untouched.
254
+ /**
255
+ * Records a non-indexed instanced draw, reusing indexCountPerInstance for the
256
+ * vertex count and startIndexLocation for the start vertex; baseVertexLocation
257
+ * is left untouched.
331
258
  */
332
259
  SetDrawInstanced(vertexCountPerInstance, instanceCount, startVertexLocation, startInstanceLocation) {
333
260
  this.indexCountPerInstance = vertexCountPerInstance >>> 0;
@@ -336,9 +263,9 @@ class Tr2RenderBatch {
336
263
  this.startInstanceLocation = startInstanceLocation >>> 0;
337
264
  }
338
265
 
339
- /**
340
- * Sets the batch's rendering mode; note that Commit overwrites it with the
341
- * accumulator's own mode.
266
+ /**
267
+ * Sets the batch's rendering mode; note that Commit overwrites it with the
268
+ * accumulator's own mode.
342
269
  */
343
270
  SetRenderingMode(mode) {
344
271
  this.renderingMode = mode;
@@ -346,9 +273,9 @@ class Tr2RenderBatch {
346
273
 
347
274
  // Carbon overloads SetPickingData(data) and SetPickingData(meshIndex, areaIndex).
348
275
 
349
- /**
350
- * Stores picking data either as a raw value or, when a second argument is
351
- * given, as the mesh index shifted above the low byte of the area index.
276
+ /**
277
+ * Stores picking data either as a raw value or, when a second argument is
278
+ * given, as the mesh index shifted above the low byte of the area index.
352
279
  */
353
280
  SetPickingData(a, b) {
354
281
  this.pickingData = b === undefined ? a >>> 0 : (a << 8 | b & 0xff) >>> 0;
@@ -358,9 +285,9 @@ class Tr2RenderBatch {
358
285
  // material that exposed a shader-state interface). Invalid batches are dropped
359
286
  // silently at Commit time.
360
287
 
361
- /**
362
- * A batch is valid only once it has a shader, that is once SetMaterial
363
- * received a material; invalid batches are dropped silently at Commit.
288
+ /**
289
+ * A batch is valid only once it has a shader, that is once SetMaterial
290
+ * received a material; invalid batches are dropped silently at Commit.
364
291
  */
365
292
  IsValid() {
366
293
  return this.shader !== null && this.shader !== undefined;
@@ -401,13 +328,13 @@ class Tr2RenderBatch {
401
328
  // both beside TriGeometryRes (Resources/TriGeometryRes.h:202/:242), which
402
329
  // the runtime resource layer owns.
403
330
 
404
- /**
405
- * Carbon's indexed draw arguments for one mesh area of one LOD, or null when
406
- * the area contributes no primitives or a reversed draw has no reversed
407
- * indices - both of which are Carbon's "emit no batch" answers.
408
- *
409
- * `reversed` is the already-resolved winding for this draw, which Carbon
410
- * computes as `area->GetReversed() != reverseWinding` at the call site.
331
+ /**
332
+ * Carbon's indexed draw arguments for one mesh area of one LOD, or null when
333
+ * the area contributes no primitives or a reversed draw has no reversed
334
+ * indices - both of which are Carbon's "emit no batch" answers.
335
+ *
336
+ * `reversed` is the already-resolved winding for this draw, which Carbon
337
+ * computes as `area->GetReversed() != reverseWinding` at the call site.
411
338
  */
412
339
  static resolveDrawArguments(lod, areaIndex, areaCount, reversed = false) {
413
340
  if (!lod) return null;
@@ -438,10 +365,10 @@ class Tr2RenderBatch {
438
365
  };
439
366
  }
440
367
 
441
- /**
442
- * The start index of a realized suballocation, or zero when the geometry is
443
- * unrealized or the engine allocates per mesh rather than from a shared
444
- * buffer; Carbon reads Allocation::GetStartIndex.
368
+ /**
369
+ * The start index of a realized suballocation, or zero when the geometry is
370
+ * unrealized or the engine allocates per mesh rather than from a shared
371
+ * buffer; Carbon reads Allocation::GetStartIndex.
445
372
  */
446
373
  static startIndexOf(allocation) {
447
374
  if (!allocation) return 0;
@@ -462,10 +389,10 @@ class Tr2RenderBatch {
462
389
  // match. Note: priority, material and topology are intentionally NOT compared
463
390
  // here (faithful to Carbon CanBeBinned).
464
391
 
465
- /**
466
- * Whether two batches can share one state-set: shader, vertex declaration, index
467
- * stride, both vertex streams and rendering mode must match, while priority,
468
- * material and topology are deliberately not compared (faithful to Carbon).
392
+ /**
393
+ * Whether two batches can share one state-set: shader, vertex declaration, index
394
+ * stride, both vertex streams and rendering mode must match, while priority,
395
+ * material and topology are deliberately not compared (faithful to Carbon).
469
396
  */
470
397
  function CanBeBinned(batch1, batch2) {
471
398
  return batch1.shader === batch2.shader && batch1.vertexDeclaration === batch2.vertexDeclaration && batch1.indexStride === batch2.indexStride && batch1.vertexStreams[0] === batch2.vertexStreams[0] && batch1.vertexStreams[1] === batch2.vertexStreams[1] && batch1.renderingMode === batch2.renderingMode;
@@ -475,10 +402,10 @@ function CanBeBinned(batch1, batch2) {
475
402
  // ordering: priority, shader, vertexDeclaration, indexStride, stream0, stream1,
476
403
  // renderingMode. Pointer identity is replaced by a stable per-reference order id.
477
404
 
478
- /**
479
- * Strict-weak comparator reproducing Carbon's batch ordering - priority, shader,
480
- * vertex declaration, index stride, stream 0, stream 1, rendering mode - with
481
- * pointer identity replaced by stable order ids.
405
+ /**
406
+ * Strict-weak comparator reproducing Carbon's batch ordering - priority, shader,
407
+ * vertex declaration, index stride, stream 0, stream 1, rendering mode - with
408
+ * pointer identity replaced by stable order ids.
482
409
  */
483
410
  function CompareBatches(batch1, batch2) {
484
411
  if (batch1.priority !== batch2.priority) return batch1.priority - batch2.priority;
@@ -497,17 +424,17 @@ function CompareBatches(batch1, batch2) {
497
424
  // batch (groupCount). Mirrors Tr2GdprBatchFullPartition. JS Array.sort is stable,
498
425
  // so the "full" and "stable" partition variants are behaviourally identical here.
499
426
 
500
- /**
501
- * Sorts a batch vector and writes each bin-run's length onto that run's leading
502
- * batch groupCount, so dispatch can stride one state-set over several draws.
427
+ /**
428
+ * Sorts a batch vector and writes each bin-run's length onto that run's leading
429
+ * batch groupCount, so dispatch can stride one state-set over several draws.
503
430
  */
504
431
  function Tr2GdprBatchFullPartition(batches) {
505
432
  PartitionBatchGroups(batches);
506
433
  }
507
434
 
508
- /**
509
- * Stable variant of the full partition, behaviourally identical here because JS
510
- * Array.sort is already stable.
435
+ /**
436
+ * Stable variant of the full partition, behaviourally identical here because JS
437
+ * Array.sort is already stable.
511
438
  */
512
439
  function Tr2GdprBatchStableFullPartition(batches) {
513
440
  PartitionBatchGroups(batches);
@@ -525,5 +452,5 @@ function PartitionBatchGroups(batches) {
525
452
  batches[first].groupCount = batches.length - first;
526
453
  }
527
454
 
528
- export { CanBeBinned, CompareBatches, OrderOf, Tr2GdprBatchFullPartition, Tr2GdprBatchStableFullPartition, Tr2RenderBatch, TriRenderBatchAreaBlock, TriRenderBatchAreaBlocksWithSharedMaterial };
455
+ export { CanBeBinned, CompareBatches, OrderOf, Tr2GdprBatchFullPartition, Tr2GdprBatchStableFullPartition, Tr2RenderBatch };
529
456
  //# sourceMappingURL=Tr2RenderBatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2RenderBatch.js","sources":["../../../../../../src/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.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 { RenderingMode } from \"#consts/graphics\";\nimport { Topology } from \"#consts/render-context\";\nimport { TriGeometryRes } from \"#resource/geometry\";\n\n// Carbon sorts batches on raw pointer identity of shader/vertex-stream objects.\n// JS has no pointer order, so we assign each distinct reference a stable id on\n// first encounter. Only contiguity of equal references matters for binning, so\n// the ordinal itself is irrelevant as long as it is consistent within a run.\nlet nextOrderId = 1;\n\nconst orderIds = new WeakMap();\n\n/**\n * Stable per-reference ordinal standing in for Carbon's pointer ordering in\n * batch comparisons; assigned on first sight and held in a WeakMap, so it is\n * consistent within a run but meaningless across runs.\n */\nexport function OrderOf(ref)\n{\n if (ref === null || ref === undefined) return 0;\n if (typeof ref !== \"object\" && typeof ref !== \"function\") return Number(ref) || 0;\n let id = orderIds.get(ref);\n if (id === undefined)\n {\n id = nextOrderId++;\n orderIds.set(ref, id);\n }\n return id;\n}\n\n// THE ALLOCATION TYPE IS A PORT GAP, AND THESE TWO HELPERS ARE WHERE IT SHOWS.\n//\n// Carbon's `SetGeometryFromAllocations` takes a `Tr2SuballocatedBuffer::Allocation`\n// (`Tr2SuballocatedBuffer.h:23-66`) and simply calls `GetBuffer()`, `GetOffset()`,\n// `GetStride()` and `GetStartIndex()` on it - no probing, because the type is the\n// argument. We have no such class: it needs `Tr2VirtualAllocator`, which in\n// Carbon is a thin wrapper over VMA's virtual-block suballocator, so porting it\n// means writing a real suballocator rather than translating one.\n//\n// Until then a caller passes either a shaped allocation or a bare buffer, and\n// these ask WHICH rather than hedging on a method one of our own classes might\n// be missing. When the class lands, both helpers delete and the call sites go\n// back to Carbon's four direct accessor calls.\n\n/** The buffer an allocation lends, or the argument itself when it IS a buffer. */\nfunction AllocationBuffer(allocation)\n{\n if (!allocation) return null;\n\n return typeof allocation.GetBuffer === \"function\" ? allocation.GetBuffer() : allocation;\n}\n\n/** An allocation's element stride, however the caller's shape spells it. */\nfunction AllocationStride(allocation)\n{\n if (!allocation) return 0;\n\n if (typeof allocation.GetStride === \"function\") return allocation.GetStride();\n\n return allocation.stride ?? 0;\n}\n\n// A single draw's worth of CPU descriptor state. Faithful to Carbon's\n// Tr2RenderBatch struct; the vertex/index \"buffer\" slots hold whatever the\n// producer supplies (in the GPU-free runtime these are geometry-resource-backed\n// descriptors that the engine resolves to real buffers at dispatch time).\n\n/**\n * One draw's worth of CPU descriptor state - material and shader key, geometry\n * binding, draw arguments and sort keys - holding no device resources.\n */\nexport class Tr2RenderBatch\n{\n /**\n * Creates an empty batch with no material or geometry, RM_ANY rendering mode,\n * triangle-list topology and a group count of 1.\n */\n constructor()\n {\n this.material = null;\n this.shader = null;\n\n this.vertexDeclaration = 0;\n this.vertexStreams = [ null, null ];\n this.stride = [ 0, 0 ];\n this.indexBuffer = null;\n this.indexStride = 0;\n\n // GPU-free adaptation: Carbon's Tr2MeshBase::CreateGeometryBatch bakes\n // realized buffer allocations and computed draw arguments into the batch\n // during collection. Trinity instead records a geometry-resource and\n // area-range descriptor; the engine resolves it to realized allocations\n // and final draw arguments at dispatch. See the render-batch contract in\n // docs/architecture.md.\n this.geometrySource = null;\n\n this.objectData = null;\n this.renderingMode = RenderingMode.RM_ANY;\n // THE VOCABULARY IS THE ABSTRACTION LAYER'S, NOT D3D'S. This field held a\n // `D3dPrimitiveTopology` until 2026-09-05, and everything drew correctly\n // because the WebGPU engine translated on the way out. Carbon does not\n // translate: `SubmitGeometry` hands `batch.m_topology` straight to\n // `SetTopology` (`Tr2RenderContext.cpp:86`), so the two numberings have to\n // BE the same one, and the AL owns it. The old numbering collided rather\n // than merely disagreed - D3D's 4 is TRIANGLELIST, the AL's 4 is TOP_LINES.\n this.topology = Topology.TOP_TRIANGLES;\n\n this.indexCountPerInstance = 0;\n this.instanceCount = 0;\n this.startIndexLocation = 0;\n this.baseVertexLocation = 0;\n this.startInstanceLocation = 0;\n\n this.pickingData = 0;\n this.depth = 0;\n this.priority = 0;\n\n // Default 1; the effect-sort partition rewrites this on the first batch of\n // each bin-run to the run length so dispatch can stride one state-set over\n // several draws. Meaningless on non-leading batches of a run.\n this.groupCount = 1;\n }\n\n // Sets material and derives the shader key from it. In the realized engine the\n // shader is the material's shader-state interface; in GPU-free collection no\n // shader is realized yet, so the material (effect) itself stands in as the\n // shader key. Either way the shader is both the validity key (see IsValid) and\n // the primary bin/sort key, so effect-equal batches still group together.\n\n /**\n * Sets the material and derives the shader key from it, falling back to the\n * material itself when no shader-state interface is realized yet; that key is\n * both the validity test and the primary bin/sort key, so effect-equal batches\n * still group together.\n */\n SetMaterial(material)\n {\n this.material = material ?? null;\n this.shader = material?.GetShaderStateInterface() ?? material ?? null;\n }\n\n /** Sets the outermost sort key; lower priorities sort first. */\n SetPriority(priority)\n {\n this.priority = priority >>> 0;\n }\n\n // Carbon: SetGeometry(vertexDecl, Tr2BufferAL& vb, stride, Tr2BufferAL& ib, indexStride).\n\n /**\n * Binds one vertex stream and an index buffer with their strides, clearing the\n * second stream.\n */\n SetGeometry(vertexDeclaration, vertexBuffer, vertexStride, indexBuffer, indexStride)\n {\n this.vertexDeclaration = vertexDeclaration >>> 0;\n this.vertexStreams[0] = vertexBuffer ?? null;\n this.vertexStreams[1] = null;\n this.stride[0] = vertexStride >>> 0;\n this.indexBuffer = indexBuffer ?? null;\n this.indexStride = indexStride >>> 0;\n }\n\n // Carbon overload taking suballocated-buffer allocations (the mesh path).\n\n /**\n * Binds geometry from suballocated buffer allocations, taking each\n * allocation's buffer and stride (Carbon's mesh path).\n */\n SetGeometryFromAllocations(vertexDeclaration, vertexAllocation, indexAllocation)\n {\n this.SetGeometry(\n vertexDeclaration,\n AllocationBuffer(vertexAllocation),\n AllocationStride(vertexAllocation),\n AllocationBuffer(indexAllocation),\n AllocationStride(indexAllocation)\n );\n }\n\n // Carbon two-stream allocation overload.\n\n /**\n * Binds a two-stream allocation set; the second allocation becomes vertex\n * stream 1.\n */\n SetGeometryFromAllocations2(vertexDeclaration, vertexAllocation1, vertexAllocation2, indexAllocation)\n {\n this.SetGeometryFromAllocations(vertexDeclaration, vertexAllocation1, indexAllocation);\n this.vertexStreams[1] = AllocationBuffer(vertexAllocation2);\n this.stride[1] = AllocationStride(vertexAllocation2);\n }\n\n // GPU-free geometry binding: records the resource + mesh/area range for the\n // engine to resolve into realized buffers and draw arguments at dispatch.\n\n /**\n * GPU-free geometry binding: records the geometry resource plus the mesh and\n * area range for the engine to resolve into realized buffers and draw\n * arguments at dispatch.\n */\n SetGeometrySource(geometry, meshIndex, areaIndex, count, reversed, lod = null)\n {\n this.geometrySource = {\n geometry: geometry ?? null,\n meshIndex: meshIndex >>> 0,\n areaIndex: areaIndex | 0,\n count: count | 0,\n reversed: !!reversed,\n // The LOD the area belongs to, so the render context can realize its\n // allocations at submit and recompute the draw arguments against them.\n lod: lod ?? null\n };\n }\n\n /**\n * Sets the vertex-declaration key, which participates in both binning and\n * sorting.\n */\n SetVertexDeclaration(vertexDeclaration)\n {\n this.vertexDeclaration = vertexDeclaration >>> 0;\n }\n\n /** Binds one vertex stream slot and its stride. */\n SetStreamSource(index, vertexBuffer, vertexStride)\n {\n this.vertexStreams[index] = vertexBuffer ?? null;\n this.stride[index] = vertexStride >>> 0;\n }\n\n // Carbon spells this SetInidices (a typo in the C++ API); we use the corrected\n // name since both producer and consumer are ours.\n\n /**\n * Binds the index buffer and its stride; Carbon spells this SetInidices, a\n * typo corrected here because both producer and consumer are ours.\n */\n SetIndices(indexBuffer, indexStride)\n {\n this.indexBuffer = indexBuffer ?? null;\n this.indexStride = indexStride >>> 0;\n }\n\n /**\n * Sets the primitive topology; only TRIANGLELIST batches are eligible for GDPR\n * binning.\n */\n SetTopology(topology)\n {\n this.topology = topology;\n }\n\n /**\n * References the per-object payload the engine binds when dispatching this\n * batch; the batch borrows it and does not own it.\n */\n SetPerObjectData(objectData)\n {\n this.objectData = objectData ?? null;\n }\n\n /** Records the indexed instanced draw arguments verbatim. */\n SetDrawIndexedInstanced(indexCountPerInstance, instanceCount, startIndexLocation, baseVertexLocation, startInstanceLocation)\n {\n this.indexCountPerInstance = indexCountPerInstance >>> 0;\n this.instanceCount = instanceCount >>> 0;\n this.startIndexLocation = startIndexLocation >>> 0;\n this.baseVertexLocation = baseVertexLocation >>> 0;\n this.startInstanceLocation = startInstanceLocation >>> 0;\n }\n\n // Non-indexed draw: reuses indexCountPerInstance for the vertex count and\n // startIndexLocation for the start vertex; baseVertexLocation is left as is.\n\n /**\n * Records a non-indexed instanced draw, reusing indexCountPerInstance for the\n * vertex count and startIndexLocation for the start vertex; baseVertexLocation\n * is left untouched.\n */\n SetDrawInstanced(vertexCountPerInstance, instanceCount, startVertexLocation, startInstanceLocation)\n {\n this.indexCountPerInstance = vertexCountPerInstance >>> 0;\n this.instanceCount = instanceCount >>> 0;\n this.startIndexLocation = startVertexLocation >>> 0;\n this.startInstanceLocation = startInstanceLocation >>> 0;\n }\n\n /**\n * Sets the batch's rendering mode; note that Commit overwrites it with the\n * accumulator's own mode.\n */\n SetRenderingMode(mode)\n {\n this.renderingMode = mode;\n }\n\n // Carbon overloads SetPickingData(data) and SetPickingData(meshIndex, areaIndex).\n\n /**\n * Stores picking data either as a raw value or, when a second argument is\n * given, as the mesh index shifted above the low byte of the area index.\n */\n SetPickingData(a, b)\n {\n this.pickingData = (b === undefined) ? (a >>> 0) : (((a << 8) | (b & 0xff)) >>> 0);\n }\n\n // A batch is valid iff it has a shader (i.e. SetMaterial was called with a\n // material that exposed a shader-state interface). Invalid batches are dropped\n // silently at Commit time.\n\n /**\n * A batch is valid only once it has a shader, that is once SetMaterial\n * received a material; invalid batches are dropped silently at Commit.\n */\n IsValid()\n {\n return this.shader !== null && this.shader !== undefined;\n }\n\n // Carbon Tr2MeshBase.cpp:341-395 (the draw arguments inside\n // CreateGeometryBatch) and Tr2SuballocatedBuffer.cpp:212-215\n // (Allocation::GetStartIndex).\n //\n // THE ARITHMETIC LIVES HERE ONCE. Carbon replicates this expression in\n // Tr2InstancedMesh and at least eight further call sites that bypass\n // CreateGeometryBatch; that duplication is a defect this port declines to\n // inherit. Every producer calls resolveDrawArguments instead.\n //\n // A draw argument is neither wholly CPU-derivable nor wholly the engine's:\n //\n // primCount - pure geometry data (area primitive counts). CPU.\n // firstIndex - pure geometry data. CPU.\n // startIndex - firstIndex PLUS the index allocation's start index. The base\n // is a suballocation, which only a realizing engine knows.\n // baseVertex - the vertex allocation's offset / stride, which IS\n // GetStartIndex() hand-inlined (Tr2MeshBase.cpp:391).\n //\n // The two bases default to ZERO when nothing has realized the geometry, and\n // zero is the CORRECT answer for an engine that gives each mesh its own\n // buffers rather than suballocating from a shared one - which is what ccpwgl\n // does and what a first WebGL implementation naturally does. A suballocating\n // engine writes its allocation into the resource and the same expression\n // yields the pooled bases. Trinity never sees a GPU handle: it asks the\n // allocation for two integers.\n //\n // Carbon gates the BATCH on lod->m_allocationsValid, because in Carbon an\n // unrealized draw cannot exist. This runtime is GPU-free, so an unrealized\n // LOD is normal and the flags gate the DRAW ARGUMENTS instead: collection\n // still emits the geometry-source descriptor.\n //\n // LOD selection and the primitive-count sum are NOT here. Carbon declares\n // both beside TriGeometryRes (Resources/TriGeometryRes.h:202/:242), which\n // the runtime resource layer owns.\n\n /**\n * Carbon's indexed draw arguments for one mesh area of one LOD, or null when\n * the area contributes no primitives or a reversed draw has no reversed\n * indices - both of which are Carbon's \"emit no batch\" answers.\n *\n * `reversed` is the already-resolved winding for this draw, which Carbon\n * computes as `area->GetReversed() != reverseWinding` at the call site.\n */\n static resolveDrawArguments(lod, areaIndex, areaCount, reversed = false)\n {\n if (!lod) return null;\n\n // Carbon clamps both to zero before use (Tr2MeshBase.cpp:356).\n const index = Math.max(0, areaIndex | 0);\n const count = Math.max(0, areaCount | 0);\n\n const primitiveCount = TriGeometryRes.getPrimitiveCount(lod, index, count);\n\n if (!primitiveCount) return null;\n\n if (reversed && lod.reversedIndicesValid === false) return null;\n\n // Not `area.firstIndex` directly: a CMF-shaped LOD writes the area start as\n // a first TRIANGLE, and the geometry layer owns that conversion.\n const firstIndex = TriGeometryRes.getAreaFirstIndex(lod.areas?.[index]);\n\n // Carbon binds the FORWARD index allocation on both paths and only reads\n // the reversed allocation for the start index (Tr2MeshBase.cpp:371/375).\n // That works because both live in one pool at one stride; an engine that\n // separates them must bind the one this start index belongs to.\n const indices = reversed ? lod.reversedIndexAllocation : lod.indexAllocation;\n\n const startIndexLocation = reversed\n ? Tr2RenderBatch.startIndexOf(indices) + TriGeometryRes.getLodPrimitiveCount(lod) * 3 - firstIndex - primitiveCount * 3\n : Tr2RenderBatch.startIndexOf(indices) + firstIndex;\n\n return {\n indexCountPerInstance: primitiveCount * 3,\n instanceCount: 1,\n startIndexLocation,\n baseVertexLocation: Tr2RenderBatch.startIndexOf(lod.vertexAllocation),\n startInstanceLocation: 0\n };\n }\n\n /**\n * The start index of a realized suballocation, or zero when the geometry is\n * unrealized or the engine allocates per mesh rather than from a shared\n * buffer; Carbon reads Allocation::GetStartIndex.\n */\n static startIndexOf(allocation)\n {\n if (!allocation) return 0;\n\n if (typeof allocation.GetStartIndex === \"function\")\n {\n return allocation.GetStartIndex() >>> 0;\n }\n\n // GetStartIndex() IS offset / stride; Carbon hand-inlines exactly this for\n // the base vertex (Tr2MeshBase.cpp:391).\n const stride = AllocationStride(allocation);\n\n if (!stride) return 0;\n\n const offset = typeof allocation.GetOffset === \"function\"\n ? allocation.GetOffset()\n : allocation.offset ?? 0;\n\n return (offset / stride) >>> 0;\n }\n}\n\n// Two batches can share a single state-set (one bin/GDPR group) iff all of these\n// match. Note: priority, material and topology are intentionally NOT compared\n// here (faithful to Carbon CanBeBinned).\n\n/**\n * Whether two batches can share one state-set: shader, vertex declaration, index\n * stride, both vertex streams and rendering mode must match, while priority,\n * material and topology are deliberately not compared (faithful to Carbon).\n */\nexport function CanBeBinned(batch1, batch2)\n{\n return batch1.shader === batch2.shader\n && batch1.vertexDeclaration === batch2.vertexDeclaration\n && batch1.indexStride === batch2.indexStride\n && batch1.vertexStreams[0] === batch2.vertexStreams[0]\n && batch1.vertexStreams[1] === batch2.vertexStreams[1]\n && batch1.renderingMode === batch2.renderingMode;\n}\n\n// JS comparator (negative/zero/positive) reproducing Carbon Compare's strict-weak\n// ordering: priority, shader, vertexDeclaration, indexStride, stream0, stream1,\n// renderingMode. Pointer identity is replaced by a stable per-reference order id.\n\n/**\n * Strict-weak comparator reproducing Carbon's batch ordering - priority, shader,\n * vertex declaration, index stride, stream 0, stream 1, rendering mode - with\n * pointer identity replaced by stable order ids.\n */\nexport function CompareBatches(batch1, batch2)\n{\n if (batch1.priority !== batch2.priority) return batch1.priority - batch2.priority;\n\n const shaderOrder = OrderOf(batch1.shader) - OrderOf(batch2.shader);\n if (shaderOrder !== 0) return shaderOrder;\n\n if (batch1.vertexDeclaration !== batch2.vertexDeclaration) return batch1.vertexDeclaration - batch2.vertexDeclaration;\n if (batch1.indexStride !== batch2.indexStride) return batch1.indexStride - batch2.indexStride;\n\n const stream0Order = OrderOf(batch1.vertexStreams[0]) - OrderOf(batch2.vertexStreams[0]);\n if (stream0Order !== 0) return stream0Order;\n\n const stream1Order = OrderOf(batch1.vertexStreams[1]) - OrderOf(batch2.vertexStreams[1]);\n if (stream1Order !== 0) return stream1Order;\n\n return batch1.renderingMode - batch2.renderingMode;\n}\n\n// Sorts a batch vector and writes each bin-run's length onto the run's leading\n// batch (groupCount). Mirrors Tr2GdprBatchFullPartition. JS Array.sort is stable,\n// so the \"full\" and \"stable\" partition variants are behaviourally identical here.\n\n/**\n * Sorts a batch vector and writes each bin-run's length onto that run's leading\n * batch groupCount, so dispatch can stride one state-set over several draws.\n */\nexport function Tr2GdprBatchFullPartition(batches)\n{\n PartitionBatchGroups(batches);\n}\n\n/**\n * Stable variant of the full partition, behaviourally identical here because JS\n * Array.sort is already stable.\n */\nexport function Tr2GdprBatchStableFullPartition(batches)\n{\n PartitionBatchGroups(batches);\n}\n\nfunction PartitionBatchGroups(batches)\n{\n if (batches.length === 0) return;\n\n batches.sort(CompareBatches);\n\n let first = 0;\n for (let current = 0; current < batches.length; current++)\n {\n if (!CanBeBinned(batches[first], batches[current]))\n {\n batches[first].groupCount = current - first;\n first = current;\n }\n }\n batches[first].groupCount = batches.length - first;\n}\n"],"names":["nextOrderId","orderIds","WeakMap","OrderOf","ref","undefined","Number","id","get","set","AllocationBuffer","allocation","GetBuffer","AllocationStride","GetStride","stride","Tr2RenderBatch","constructor","material","shader","vertexDeclaration","vertexStreams","indexBuffer","indexStride","geometrySource","objectData","renderingMode","RenderingMode","RM_ANY","topology","Topology","TOP_TRIANGLES","indexCountPerInstance","instanceCount","startIndexLocation","baseVertexLocation","startInstanceLocation","pickingData","depth","priority","groupCount","SetMaterial","GetShaderStateInterface","SetPriority","SetGeometry","vertexBuffer","vertexStride","SetGeometryFromAllocations","vertexAllocation","indexAllocation","SetGeometryFromAllocations2","vertexAllocation1","vertexAllocation2","SetGeometrySource","geometry","meshIndex","areaIndex","count","reversed","lod","SetVertexDeclaration","SetStreamSource","index","SetIndices","SetTopology","SetPerObjectData","SetDrawIndexedInstanced","SetDrawInstanced","vertexCountPerInstance","startVertexLocation","SetRenderingMode","mode","SetPickingData","a","b","IsValid","resolveDrawArguments","areaCount","Math","max","primitiveCount","TriGeometryRes","getPrimitiveCount","reversedIndicesValid","firstIndex","getAreaFirstIndex","areas","indices","reversedIndexAllocation","startIndexOf","getLodPrimitiveCount","GetStartIndex","offset","GetOffset","CanBeBinned","batch1","batch2","CompareBatches","shaderOrder","stream0Order","stream1Order","Tr2GdprBatchFullPartition","batches","PartitionBatchGroups","Tr2GdprBatchStableFullPartition","length","sort","first","current"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;AACA;AACA,IAAIA,WAAW,GAAG,CAAC;AAEnB,MAAMC,QAAQ,GAAG,IAAIC,OAAO,EAAE;;AAE9B;AACA;AACA;AACA;AACA;AACO,SAASC,OAAOA,CAACC,GAAG,EAC3B;EACE,IAAIA,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAKC,SAAS,EAAE,OAAO,CAAC;AAC/C,EAAA,IAAI,OAAOD,GAAG,KAAK,QAAQ,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE,OAAOE,MAAM,CAACF,GAAG,CAAC,IAAI,CAAC;AACjF,EAAA,IAAIG,EAAE,GAAGN,QAAQ,CAACO,GAAG,CAACJ,GAAG,CAAC;EAC1B,IAAIG,EAAE,KAAKF,SAAS,EACpB;IACEE,EAAE,GAAGP,WAAW,EAAE;AAClBC,IAAAA,QAAQ,CAACQ,GAAG,CAACL,GAAG,EAAEG,EAAE,CAAC;AACvB,EAAA;AACA,EAAA,OAAOA,EAAE;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASG,gBAAgBA,CAACC,UAAU,EACpC;AACE,EAAA,IAAI,CAACA,UAAU,EAAE,OAAO,IAAI;AAE5B,EAAA,OAAO,OAAOA,UAAU,CAACC,SAAS,KAAK,UAAU,GAAGD,UAAU,CAACC,SAAS,EAAE,GAAGD,UAAU;AACzF;;AAEA;AACA,SAASE,gBAAgBA,CAACF,UAAU,EACpC;AACE,EAAA,IAAI,CAACA,UAAU,EAAE,OAAO,CAAC;AAEzB,EAAA,IAAI,OAAOA,UAAU,CAACG,SAAS,KAAK,UAAU,EAAE,OAAOH,UAAU,CAACG,SAAS,EAAE;AAE7E,EAAA,OAAOH,UAAU,CAACI,MAAM,IAAI,CAAC;AAC/B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO,MAAMC,cAAc,CAC3B;AACE;AACF;AACA;AACA;AACEC,EAAAA,WAAWA,GACX;IACE,IAAI,CAACC,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACC,MAAM,GAAG,IAAI;IAElB,IAAI,CAACC,iBAAiB,GAAG,CAAC;AAC1B,IAAA,IAAI,CAACC,aAAa,GAAG,CAAE,IAAI,EAAE,IAAI,CAAE;AACnC,IAAA,IAAI,CAACN,MAAM,GAAG,CAAE,CAAC,EAAE,CAAC,CAAE;IACtB,IAAI,CAACO,WAAW,GAAG,IAAI;IACvB,IAAI,CAACC,WAAW,GAAG,CAAC;;AAEpB;AACA;AACA;AACA;AACA;AACA;IACA,IAAI,CAACC,cAAc,GAAG,IAAI;IAE1B,IAAI,CAACC,UAAU,GAAG,IAAI;AACtB,IAAA,IAAI,CAACC,aAAa,GAAGC,aAAa,CAACC,MAAM;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAA,IAAI,CAACC,QAAQ,GAAGC,QAAQ,CAACC,aAAa;IAEtC,IAAI,CAACC,qBAAqB,GAAG,CAAC;IAC9B,IAAI,CAACC,aAAa,GAAG,CAAC;IACtB,IAAI,CAACC,kBAAkB,GAAG,CAAC;IAC3B,IAAI,CAACC,kBAAkB,GAAG,CAAC;IAC3B,IAAI,CAACC,qBAAqB,GAAG,CAAC;IAE9B,IAAI,CAACC,WAAW,GAAG,CAAC;IACpB,IAAI,CAACC,KAAK,GAAG,CAAC;IACd,IAAI,CAACC,QAAQ,GAAG,CAAC;;AAEjB;AACA;AACA;IACA,IAAI,CAACC,UAAU,GAAG,CAAC;AACrB,EAAA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEC,WAAWA,CAACvB,QAAQ,EACpB;AACE,IAAA,IAAI,CAACA,QAAQ,GAAGA,QAAQ,IAAI,IAAI;IAChC,IAAI,CAACC,MAAM,GAAGD,QAAQ,EAAEwB,uBAAuB,EAAE,IAAIxB,QAAQ,IAAI,IAAI;AACvE,EAAA;;AAEA;EACAyB,WAAWA,CAACJ,QAAQ,EACpB;AACE,IAAA,IAAI,CAACA,QAAQ,GAAGA,QAAQ,KAAK,CAAC;AAChC,EAAA;;AAEA;;AAEA;AACF;AACA;AACA;EACEK,WAAWA,CAACxB,iBAAiB,EAAEyB,YAAY,EAAEC,YAAY,EAAExB,WAAW,EAAEC,WAAW,EACnF;AACE,IAAA,IAAI,CAACH,iBAAiB,GAAGA,iBAAiB,KAAK,CAAC;IAChD,IAAI,CAACC,aAAa,CAAC,CAAC,CAAC,GAAGwB,YAAY,IAAI,IAAI;AAC5C,IAAA,IAAI,CAACxB,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAC5B,IAAI,CAACN,MAAM,CAAC,CAAC,CAAC,GAAG+B,YAAY,KAAK,CAAC;AACnC,IAAA,IAAI,CAACxB,WAAW,GAAGA,WAAW,IAAI,IAAI;AACtC,IAAA,IAAI,CAACC,WAAW,GAAGA,WAAW,KAAK,CAAC;AACtC,EAAA;;AAEA;;AAEA;AACF;AACA;AACA;AACEwB,EAAAA,0BAA0BA,CAAC3B,iBAAiB,EAAE4B,gBAAgB,EAAEC,eAAe,EAC/E;IACE,IAAI,CAACL,WAAW,CACdxB,iBAAiB,EACjBV,gBAAgB,CAACsC,gBAAgB,CAAC,EAClCnC,gBAAgB,CAACmC,gBAAgB,CAAC,EAClCtC,gBAAgB,CAACuC,eAAe,CAAC,EACjCpC,gBAAgB,CAACoC,eAAe,CAClC,CAAC;AACH,EAAA;;AAEA;;AAEA;AACF;AACA;AACA;EACEC,2BAA2BA,CAAC9B,iBAAiB,EAAE+B,iBAAiB,EAAEC,iBAAiB,EAAEH,eAAe,EACpG;IACE,IAAI,CAACF,0BAA0B,CAAC3B,iBAAiB,EAAE+B,iBAAiB,EAAEF,eAAe,CAAC;IACtF,IAAI,CAAC5B,aAAa,CAAC,CAAC,CAAC,GAAGX,gBAAgB,CAAC0C,iBAAiB,CAAC;IAC3D,IAAI,CAACrC,MAAM,CAAC,CAAC,CAAC,GAAGF,gBAAgB,CAACuC,iBAAiB,CAAC;AACtD,EAAA;;AAEA;AACA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,iBAAiBA,CAACC,QAAQ,EAAEC,SAAS,EAAEC,SAAS,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,GAAG,GAAG,IAAI,EAC7E;IACE,IAAI,CAACnC,cAAc,GAAG;MACpB8B,QAAQ,EAAEA,QAAQ,IAAI,IAAI;MAC1BC,SAAS,EAAEA,SAAS,KAAK,CAAC;MAC1BC,SAAS,EAAEA,SAAS,GAAG,CAAC;MACxBC,KAAK,EAAEA,KAAK,GAAG,CAAC;MAChBC,QAAQ,EAAE,CAAC,CAACA,QAAQ;AACpB;AACA;MACAC,GAAG,EAAEA,GAAG,IAAI;KACb;AACH,EAAA;;AAEA;AACF;AACA;AACA;EACEC,oBAAoBA,CAACxC,iBAAiB,EACtC;AACE,IAAA,IAAI,CAACA,iBAAiB,GAAGA,iBAAiB,KAAK,CAAC;AAClD,EAAA;;AAEA;AACAyC,EAAAA,eAAeA,CAACC,KAAK,EAAEjB,YAAY,EAAEC,YAAY,EACjD;IACE,IAAI,CAACzB,aAAa,CAACyC,KAAK,CAAC,GAAGjB,YAAY,IAAI,IAAI;IAChD,IAAI,CAAC9B,MAAM,CAAC+C,KAAK,CAAC,GAAGhB,YAAY,KAAK,CAAC;AACzC,EAAA;;AAEA;AACA;;AAEA;AACF;AACA;AACA;AACEiB,EAAAA,UAAUA,CAACzC,WAAW,EAAEC,WAAW,EACnC;AACE,IAAA,IAAI,CAACD,WAAW,GAAGA,WAAW,IAAI,IAAI;AACtC,IAAA,IAAI,CAACC,WAAW,GAAGA,WAAW,KAAK,CAAC;AACtC,EAAA;;AAEA;AACF;AACA;AACA;EACEyC,WAAWA,CAACnC,QAAQ,EACpB;IACE,IAAI,CAACA,QAAQ,GAAGA,QAAQ;AAC1B,EAAA;;AAEA;AACF;AACA;AACA;EACEoC,gBAAgBA,CAACxC,UAAU,EAC3B;AACE,IAAA,IAAI,CAACA,UAAU,GAAGA,UAAU,IAAI,IAAI;AACtC,EAAA;;AAEA;EACAyC,uBAAuBA,CAAClC,qBAAqB,EAAEC,aAAa,EAAEC,kBAAkB,EAAEC,kBAAkB,EAAEC,qBAAqB,EAC3H;AACE,IAAA,IAAI,CAACJ,qBAAqB,GAAGA,qBAAqB,KAAK,CAAC;AACxD,IAAA,IAAI,CAACC,aAAa,GAAGA,aAAa,KAAK,CAAC;AACxC,IAAA,IAAI,CAACC,kBAAkB,GAAGA,kBAAkB,KAAK,CAAC;AAClD,IAAA,IAAI,CAACC,kBAAkB,GAAGA,kBAAkB,KAAK,CAAC;AAClD,IAAA,IAAI,CAACC,qBAAqB,GAAGA,qBAAqB,KAAK,CAAC;AAC1D,EAAA;;AAEA;AACA;;AAEA;AACF;AACA;AACA;AACA;EACE+B,gBAAgBA,CAACC,sBAAsB,EAAEnC,aAAa,EAAEoC,mBAAmB,EAAEjC,qBAAqB,EAClG;AACE,IAAA,IAAI,CAACJ,qBAAqB,GAAGoC,sBAAsB,KAAK,CAAC;AACzD,IAAA,IAAI,CAACnC,aAAa,GAAGA,aAAa,KAAK,CAAC;AACxC,IAAA,IAAI,CAACC,kBAAkB,GAAGmC,mBAAmB,KAAK,CAAC;AACnD,IAAA,IAAI,CAACjC,qBAAqB,GAAGA,qBAAqB,KAAK,CAAC;AAC1D,EAAA;;AAEA;AACF;AACA;AACA;EACEkC,gBAAgBA,CAACC,IAAI,EACrB;IACE,IAAI,CAAC7C,aAAa,GAAG6C,IAAI;AAC3B,EAAA;;AAEA;;AAEA;AACF;AACA;AACA;AACEC,EAAAA,cAAcA,CAACC,CAAC,EAAEC,CAAC,EACnB;IACE,IAAI,CAACrC,WAAW,GAAIqC,CAAC,KAAKrE,SAAS,GAAKoE,CAAC,KAAK,CAAC,GAAK,CAAEA,CAAC,IAAI,CAAC,GAAKC,CAAC,GAAG,IAAK,MAAM,CAAE;AACpF,EAAA;;AAEA;AACA;AACA;;AAEA;AACF;AACA;AACA;AACEC,EAAAA,OAAOA,GACP;IACE,OAAO,IAAI,CAACxD,MAAM,KAAK,IAAI,IAAI,IAAI,CAACA,MAAM,KAAKd,SAAS;AAC1D,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOuE,oBAAoBA,CAACjB,GAAG,EAAEH,SAAS,EAAEqB,SAAS,EAAEnB,QAAQ,GAAG,KAAK,EACvE;AACE,IAAA,IAAI,CAACC,GAAG,EAAE,OAAO,IAAI;;AAErB;IACA,MAAMG,KAAK,GAAGgB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEvB,SAAS,GAAG,CAAC,CAAC;IACxC,MAAMC,KAAK,GAAGqB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEF,SAAS,GAAG,CAAC,CAAC;IAExC,MAAMG,cAAc,GAAGC,cAAc,CAACC,iBAAiB,CAACvB,GAAG,EAAEG,KAAK,EAAEL,KAAK,CAAC;AAE1E,IAAA,IAAI,CAACuB,cAAc,EAAE,OAAO,IAAI;IAEhC,IAAItB,QAAQ,IAAIC,GAAG,CAACwB,oBAAoB,KAAK,KAAK,EAAE,OAAO,IAAI;;AAE/D;AACA;AACA,IAAA,MAAMC,UAAU,GAAGH,cAAc,CAACI,iBAAiB,CAAC1B,GAAG,CAAC2B,KAAK,GAAGxB,KAAK,CAAC,CAAC;;AAEvE;AACA;AACA;AACA;IACA,MAAMyB,OAAO,GAAG7B,QAAQ,GAAGC,GAAG,CAAC6B,uBAAuB,GAAG7B,GAAG,CAACV,eAAe;AAE5E,IAAA,MAAMf,kBAAkB,GAAGwB,QAAQ,GAC/B1C,cAAc,CAACyE,YAAY,CAACF,OAAO,CAAC,GAAGN,cAAc,CAACS,oBAAoB,CAAC/B,GAAG,CAAC,GAAG,CAAC,GAAGyB,UAAU,GAAGJ,cAAc,GAAG,CAAC,GACrHhE,cAAc,CAACyE,YAAY,CAACF,OAAO,CAAC,GAAGH,UAAU;IAErD,OAAO;MACLpD,qBAAqB,EAAEgD,cAAc,GAAG,CAAC;AACzC/C,MAAAA,aAAa,EAAE,CAAC;MAChBC,kBAAkB;MAClBC,kBAAkB,EAAEnB,cAAc,CAACyE,YAAY,CAAC9B,GAAG,CAACX,gBAAgB,CAAC;AACrEZ,MAAAA,qBAAqB,EAAE;KACxB;AACH,EAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,OAAOqD,YAAYA,CAAC9E,UAAU,EAC9B;AACE,IAAA,IAAI,CAACA,UAAU,EAAE,OAAO,CAAC;AAEzB,IAAA,IAAI,OAAOA,UAAU,CAACgF,aAAa,KAAK,UAAU,EAClD;AACE,MAAA,OAAOhF,UAAU,CAACgF,aAAa,EAAE,KAAK,CAAC;AACzC,IAAA;;AAEA;AACA;AACA,IAAA,MAAM5E,MAAM,GAAGF,gBAAgB,CAACF,UAAU,CAAC;AAE3C,IAAA,IAAI,CAACI,MAAM,EAAE,OAAO,CAAC;AAErB,IAAA,MAAM6E,MAAM,GAAG,OAAOjF,UAAU,CAACkF,SAAS,KAAK,UAAU,GACrDlF,UAAU,CAACkF,SAAS,EAAE,GACtBlF,UAAU,CAACiF,MAAM,IAAI,CAAC;AAE1B,IAAA,OAAQA,MAAM,GAAG7E,MAAM,KAAM,CAAC;AAChC,EAAA;AACF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS+E,WAAWA,CAACC,MAAM,EAAEC,MAAM,EAC1C;EACE,OAAOD,MAAM,CAAC5E,MAAM,KAAK6E,MAAM,CAAC7E,MAAM,IACjC4E,MAAM,CAAC3E,iBAAiB,KAAK4E,MAAM,CAAC5E,iBAAiB,IACrD2E,MAAM,CAACxE,WAAW,KAAKyE,MAAM,CAACzE,WAAW,IACzCwE,MAAM,CAAC1E,aAAa,CAAC,CAAC,CAAC,KAAK2E,MAAM,CAAC3E,aAAa,CAAC,CAAC,CAAC,IACnD0E,MAAM,CAAC1E,aAAa,CAAC,CAAC,CAAC,KAAK2E,MAAM,CAAC3E,aAAa,CAAC,CAAC,CAAC,IACnD0E,MAAM,CAACrE,aAAa,KAAKsE,MAAM,CAACtE,aAAa;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASuE,cAAcA,CAACF,MAAM,EAAEC,MAAM,EAC7C;AACE,EAAA,IAAID,MAAM,CAACxD,QAAQ,KAAKyD,MAAM,CAACzD,QAAQ,EAAE,OAAOwD,MAAM,CAACxD,QAAQ,GAAGyD,MAAM,CAACzD,QAAQ;AAEjF,EAAA,MAAM2D,WAAW,GAAG/F,OAAO,CAAC4F,MAAM,CAAC5E,MAAM,CAAC,GAAGhB,OAAO,CAAC6F,MAAM,CAAC7E,MAAM,CAAC;AACnE,EAAA,IAAI+E,WAAW,KAAK,CAAC,EAAE,OAAOA,WAAW;AAEzC,EAAA,IAAIH,MAAM,CAAC3E,iBAAiB,KAAK4E,MAAM,CAAC5E,iBAAiB,EAAE,OAAO2E,MAAM,CAAC3E,iBAAiB,GAAG4E,MAAM,CAAC5E,iBAAiB;AACrH,EAAA,IAAI2E,MAAM,CAACxE,WAAW,KAAKyE,MAAM,CAACzE,WAAW,EAAE,OAAOwE,MAAM,CAACxE,WAAW,GAAGyE,MAAM,CAACzE,WAAW;EAE7F,MAAM4E,YAAY,GAAGhG,OAAO,CAAC4F,MAAM,CAAC1E,aAAa,CAAC,CAAC,CAAC,CAAC,GAAGlB,OAAO,CAAC6F,MAAM,CAAC3E,aAAa,CAAC,CAAC,CAAC,CAAC;AACxF,EAAA,IAAI8E,YAAY,KAAK,CAAC,EAAE,OAAOA,YAAY;EAE3C,MAAMC,YAAY,GAAGjG,OAAO,CAAC4F,MAAM,CAAC1E,aAAa,CAAC,CAAC,CAAC,CAAC,GAAGlB,OAAO,CAAC6F,MAAM,CAAC3E,aAAa,CAAC,CAAC,CAAC,CAAC;AACxF,EAAA,IAAI+E,YAAY,KAAK,CAAC,EAAE,OAAOA,YAAY;AAE3C,EAAA,OAAOL,MAAM,CAACrE,aAAa,GAAGsE,MAAM,CAACtE,aAAa;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO,SAAS2E,yBAAyBA,CAACC,OAAO,EACjD;EACEC,oBAAoB,CAACD,OAAO,CAAC;AAC/B;;AAEA;AACA;AACA;AACA;AACO,SAASE,+BAA+BA,CAACF,OAAO,EACvD;EACEC,oBAAoB,CAACD,OAAO,CAAC;AAC/B;AAEA,SAASC,oBAAoBA,CAACD,OAAO,EACrC;AACE,EAAA,IAAIA,OAAO,CAACG,MAAM,KAAK,CAAC,EAAE;AAE1BH,EAAAA,OAAO,CAACI,IAAI,CAACT,cAAc,CAAC;EAE5B,IAAIU,KAAK,GAAG,CAAC;AACb,EAAA,KAAK,IAAIC,OAAO,GAAG,CAAC,EAAEA,OAAO,GAAGN,OAAO,CAACG,MAAM,EAAEG,OAAO,EAAE,EACzD;AACE,IAAA,IAAI,CAACd,WAAW,CAACQ,OAAO,CAACK,KAAK,CAAC,EAAEL,OAAO,CAACM,OAAO,CAAC,CAAC,EAClD;MACEN,OAAO,CAACK,KAAK,CAAC,CAACnE,UAAU,GAAGoE,OAAO,GAAGD,KAAK;AAC3CA,MAAAA,KAAK,GAAGC,OAAO;AACjB,IAAA;AACF,EAAA;EACAN,OAAO,CAACK,KAAK,CAAC,CAACnE,UAAU,GAAG8D,OAAO,CAACG,MAAM,GAAGE,KAAK;AACpD;;;;"}