@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,72 +0,0 @@
1
- // Source: trinity/trinityal/include/Tr2SamplerStateAL.h
2
- // trinity/trinityal/include/Tr2SamplerAL.h (struct Tr2SamplerDescription)
3
- //
4
- // Carbon's `Tr2SamplerDescription`: the authored sampler state a
5
- // `Tr2SamplerStateAL` is created from, and the KEY its factory dedupes on -
6
- // `Tr2SamplerStateAL::Create` is a lookup in a `Tr2ObjectFactory<..., Tr2SamplerDescription>`
7
- // owned by the primary context (`Tr2SamplerStateAL.cpp:25-28`), so two equal
8
- // descriptions yield one state and `operator==` on states is identity.
9
- //
10
- // TWO SPELLINGS ARRIVE HERE. The effect reader keeps floats as their raw bits
11
- // (`Tr2SamplerSetup.fromCarbonBinary`: `minLODRaw`, `maxLODRaw`,
12
- // `mipLODBiasRaw`, `borderColorRaw`) so a round trip is byte-exact; an override
13
- // built at runtime carries plain floats. The normal form below is the floats,
14
- // and both spellings normalise to it, so the factory key is the same whichever
15
- // road a description took.
16
-
17
- const rawView = new DataView(new ArrayBuffer(4));
18
-
19
- /** A float from its raw IEEE-754 bits, or the float itself. */
20
- function floatOf(value, raw, fallback) {
21
- if (Number.isFinite(value)) return value;
22
- if (Number.isInteger(raw)) {
23
- rawView.setUint32(0, raw >>> 0, true);
24
- return rawView.getFloat32(0, true);
25
- }
26
- return fallback;
27
- }
28
-
29
- /** Carbon's `FLT_MAX`, the open upper LOD bound an author leaves unbounded. */
30
- const SAMPLER_LOD_UNBOUNDED = 3.4028234663852886e38;
31
-
32
- /**
33
- * The normal form of a sampler description.
34
- *
35
- * @param {object|null} description Authored state in either spelling.
36
- * @returns {object|null} The normalised description, or null for nothing.
37
- */
38
- function NormalizeSamplerDescription(description) {
39
- if (!description || typeof description !== "object") return null;
40
- const border = description.borderColor ?? description.borderColorRaw ?? [];
41
- const rawBorder = description.borderColor ? null : description.borderColorRaw ?? null;
42
- return {
43
- minFilter: description.minFilter ?? 0,
44
- magFilter: description.magFilter ?? 0,
45
- mipFilter: description.mipFilter ?? 0,
46
- comparison: Boolean(description.comparison),
47
- addressU: description.addressU ?? 0,
48
- addressV: description.addressV ?? 0,
49
- addressW: description.addressW ?? 0,
50
- mipLODBias: floatOf(description.mipLODBias, description.mipLODBiasRaw, 0),
51
- maxAnisotropy: description.maxAnisotropy ?? 1,
52
- comparisonFunc: description.comparisonFunc ?? 0,
53
- borderColor: [0, 1, 2, 3].map(index => floatOf(rawBorder ? undefined : border[index], rawBorder?.[index], 0)),
54
- minLOD: floatOf(description.minLOD, description.minLODRaw, 0),
55
- maxLOD: floatOf(description.maxLOD, description.maxLODRaw, SAMPLER_LOD_UNBOUNDED)
56
- };
57
- }
58
-
59
- /**
60
- * The factory key for a description: two descriptions with equal keys are one
61
- * sampler state.
62
- *
63
- * @param {object} description A description in either spelling.
64
- * @returns {string|null} The key, or null for nothing.
65
- */
66
- function SamplerDescriptionKey(description) {
67
- const normalized = NormalizeSamplerDescription(description);
68
- return normalized ? JSON.stringify(normalized) : null;
69
- }
70
-
71
- export { NormalizeSamplerDescription, SAMPLER_LOD_UNBOUNDED, SamplerDescriptionKey };
72
- //# sourceMappingURL=Tr2SamplerDescription.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tr2SamplerDescription.js","sources":["../../../src/trinityal/Tr2SamplerDescription.js"],"sourcesContent":["// Source: trinity/trinityal/include/Tr2SamplerStateAL.h\n// trinity/trinityal/include/Tr2SamplerAL.h (struct Tr2SamplerDescription)\n//\n// Carbon's `Tr2SamplerDescription`: the authored sampler state a\n// `Tr2SamplerStateAL` is created from, and the KEY its factory dedupes on -\n// `Tr2SamplerStateAL::Create` is a lookup in a `Tr2ObjectFactory<..., Tr2SamplerDescription>`\n// owned by the primary context (`Tr2SamplerStateAL.cpp:25-28`), so two equal\n// descriptions yield one state and `operator==` on states is identity.\n//\n// TWO SPELLINGS ARRIVE HERE. The effect reader keeps floats as their raw bits\n// (`Tr2SamplerSetup.fromCarbonBinary`: `minLODRaw`, `maxLODRaw`,\n// `mipLODBiasRaw`, `borderColorRaw`) so a round trip is byte-exact; an override\n// built at runtime carries plain floats. The normal form below is the floats,\n// and both spellings normalise to it, so the factory key is the same whichever\n// road a description took.\n\nconst rawView = new DataView(new ArrayBuffer(4));\n\n/** A float from its raw IEEE-754 bits, or the float itself. */\nfunction floatOf(value, raw, fallback)\n{\n if (Number.isFinite(value)) return value;\n\n if (Number.isInteger(raw))\n {\n rawView.setUint32(0, raw >>> 0, true);\n\n return rawView.getFloat32(0, true);\n }\n\n return fallback;\n}\n\n/** Carbon's `FLT_MAX`, the open upper LOD bound an author leaves unbounded. */\nexport const SAMPLER_LOD_UNBOUNDED = 3.4028234663852886e38;\n\n\n/**\n * The normal form of a sampler description.\n *\n * @param {object|null} description Authored state in either spelling.\n * @returns {object|null} The normalised description, or null for nothing.\n */\nexport function NormalizeSamplerDescription(description)\n{\n if (!description || typeof description !== \"object\") return null;\n\n const border = description.borderColor ?? description.borderColorRaw ?? [];\n const rawBorder = description.borderColor ? null : description.borderColorRaw ?? null;\n\n return {\n minFilter: description.minFilter ?? 0,\n magFilter: description.magFilter ?? 0,\n mipFilter: description.mipFilter ?? 0,\n comparison: Boolean(description.comparison),\n addressU: description.addressU ?? 0,\n addressV: description.addressV ?? 0,\n addressW: description.addressW ?? 0,\n mipLODBias: floatOf(description.mipLODBias, description.mipLODBiasRaw, 0),\n maxAnisotropy: description.maxAnisotropy ?? 1,\n comparisonFunc: description.comparisonFunc ?? 0,\n borderColor: [ 0, 1, 2, 3 ].map(index => floatOf(rawBorder ? undefined : border[index], rawBorder?.[index], 0)),\n minLOD: floatOf(description.minLOD, description.minLODRaw, 0),\n maxLOD: floatOf(description.maxLOD, description.maxLODRaw, SAMPLER_LOD_UNBOUNDED)\n };\n}\n\n\n/**\n * The factory key for a description: two descriptions with equal keys are one\n * sampler state.\n *\n * @param {object} description A description in either spelling.\n * @returns {string|null} The key, or null for nothing.\n */\nexport function SamplerDescriptionKey(description)\n{\n const normalized = NormalizeSamplerDescription(description);\n\n return normalized ? JSON.stringify(normalized) : null;\n}\n"],"names":["rawView","DataView","ArrayBuffer","floatOf","value","raw","fallback","Number","isFinite","isInteger","setUint32","getFloat32","SAMPLER_LOD_UNBOUNDED","NormalizeSamplerDescription","description","border","borderColor","borderColorRaw","rawBorder","minFilter","magFilter","mipFilter","comparison","Boolean","addressU","addressV","addressW","mipLODBias","mipLODBiasRaw","maxAnisotropy","comparisonFunc","map","index","undefined","minLOD","minLODRaw","maxLOD","maxLODRaw","SamplerDescriptionKey","normalized","JSON","stringify"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,OAAO,GAAG,IAAIC,QAAQ,CAAC,IAAIC,WAAW,CAAC,CAAC,CAAC,CAAC;;AAEhD;AACA,SAASC,OAAOA,CAACC,KAAK,EAAEC,GAAG,EAAEC,QAAQ,EACrC;EACE,IAAIC,MAAM,CAACC,QAAQ,CAACJ,KAAK,CAAC,EAAE,OAAOA,KAAK;AAExC,EAAA,IAAIG,MAAM,CAACE,SAAS,CAACJ,GAAG,CAAC,EACzB;IACEL,OAAO,CAACU,SAAS,CAAC,CAAC,EAAEL,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC;AAErC,IAAA,OAAOL,OAAO,CAACW,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,EAAA;AAEA,EAAA,OAAOL,QAAQ;AACjB;;AAEA;AACO,MAAMM,qBAAqB,GAAG;;AAGrC;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,2BAA2BA,CAACC,WAAW,EACvD;EACE,IAAI,CAACA,WAAW,IAAI,OAAOA,WAAW,KAAK,QAAQ,EAAE,OAAO,IAAI;EAEhE,MAAMC,MAAM,GAAGD,WAAW,CAACE,WAAW,IAAIF,WAAW,CAACG,cAAc,IAAI,EAAE;AAC1E,EAAA,MAAMC,SAAS,GAAGJ,WAAW,CAACE,WAAW,GAAG,IAAI,GAAGF,WAAW,CAACG,cAAc,IAAI,IAAI;EAErF,OAAO;AACLE,IAAAA,SAAS,EAAEL,WAAW,CAACK,SAAS,IAAI,CAAC;AACrCC,IAAAA,SAAS,EAAEN,WAAW,CAACM,SAAS,IAAI,CAAC;AACrCC,IAAAA,SAAS,EAAEP,WAAW,CAACO,SAAS,IAAI,CAAC;AACrCC,IAAAA,UAAU,EAAEC,OAAO,CAACT,WAAW,CAACQ,UAAU,CAAC;AAC3CE,IAAAA,QAAQ,EAAEV,WAAW,CAACU,QAAQ,IAAI,CAAC;AACnCC,IAAAA,QAAQ,EAAEX,WAAW,CAACW,QAAQ,IAAI,CAAC;AACnCC,IAAAA,QAAQ,EAAEZ,WAAW,CAACY,QAAQ,IAAI,CAAC;AACnCC,IAAAA,UAAU,EAAExB,OAAO,CAACW,WAAW,CAACa,UAAU,EAAEb,WAAW,CAACc,aAAa,EAAE,CAAC,CAAC;AACzEC,IAAAA,aAAa,EAAEf,WAAW,CAACe,aAAa,IAAI,CAAC;AAC7CC,IAAAA,cAAc,EAAEhB,WAAW,CAACgB,cAAc,IAAI,CAAC;AAC/Cd,IAAAA,WAAW,EAAE,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,CAACe,GAAG,CAACC,KAAK,IAAI7B,OAAO,CAACe,SAAS,GAAGe,SAAS,GAAGlB,MAAM,CAACiB,KAAK,CAAC,EAAEd,SAAS,GAAGc,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/GE,IAAAA,MAAM,EAAE/B,OAAO,CAACW,WAAW,CAACoB,MAAM,EAAEpB,WAAW,CAACqB,SAAS,EAAE,CAAC,CAAC;IAC7DC,MAAM,EAAEjC,OAAO,CAACW,WAAW,CAACsB,MAAM,EAAEtB,WAAW,CAACuB,SAAS,EAAEzB,qBAAqB;GACjF;AACH;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS0B,qBAAqBA,CAACxB,WAAW,EACjD;AACE,EAAA,MAAMyB,UAAU,GAAG1B,2BAA2B,CAACC,WAAW,CAAC;EAE3D,OAAOyB,UAAU,GAAGC,IAAI,CAACC,SAAS,CAACF,UAAU,CAAC,GAAG,IAAI;AACvD;;;;"}
@@ -1,326 +0,0 @@
1
- import { Tr2BaseDeviceResourceAL, Tr2ALMemoryType } from '../Tr2DeviceResourceAL.js';
2
- import { ALResult } from '../ALResult.js';
3
-
4
- // Source: trinity/trinityal/stub/Tr2OcclusionQueryALStub.cpp
5
- // Source: trinity/trinityal/stub/Tr2GpuTimerALStub.cpp
6
- // Source: trinity/trinityal/stub/Tr2PipelineStatsQueryALStub.cpp
7
- //
8
- // The three things a backend can be asked to measure: how many pixels a draw
9
- // passed, how long the GPU took, and what the pipeline did.
10
- //
11
- // THREE CARBON FILES, ONE HERE, and that is the only liberty taken. They share
12
- // a Begin/End/read shape, they are always ported and reviewed together, and
13
- // none is large enough to carry a file. The classes keep Carbon's names and
14
- // Carbon's separate behaviour - this is a file boundary, not a merged type.
15
- //
16
- // THE OCCLUSION QUERY IS NOT ACADEMIC HERE. Lens-flare occlusion has never
17
- // worked in this organization's browser rendering, and the recorded reason is
18
- // that the sample collection is absent. This is the interface that absence is
19
- // measured against.
20
- //
21
- // EACH REPORTS AN HONEST EMPTY ANSWER RATHER THAN REFUSING. Carbon's stub
22
- // returns zero pixels, a tiny fixed time, and no statistics - all with success -
23
- // because a caller asking "how many pixels passed" on a device that draws
24
- // nothing has a correct answer available, and it is zero.
25
-
26
-
27
- /** Carbon's `Tr2OcclusionQueryAL::WaitMode`. */
28
- const OcclusionWaitMode = Object.freeze({
29
- /** Return whatever is available now. */
30
- DO_NOT_WAIT: 0,
31
- /** Block until the result is ready. */
32
- WAIT: 1
33
- });
34
-
35
- /**
36
- * Counts the pixels a bracketed draw passed.
37
- */
38
- class Tr2OcclusionQueryALStub extends Tr2BaseDeviceResourceAL {
39
- /** m_isValid */
40
- _isValid = false;
41
-
42
- /** m_isRunning */
43
- _isRunning = false;
44
-
45
- /**
46
- * Creates the query.
47
- *
48
- * @param {object} renderContext The context to create against.
49
- * @returns {number} An `ALResult`.
50
- */
51
- Create(renderContext) {
52
- if (!renderContext?.IsValid()) return ALResult.E_INVALIDARG;
53
- this._isValid = true;
54
- return ALResult.S_OK;
55
- }
56
-
57
- /** @returns {boolean} Whether the query was created. */
58
- IsValid() {
59
- return this._isValid;
60
- }
61
-
62
- /** Releases the query. */
63
- Destroy() {
64
- this._isValid = false;
65
- super.Destroy();
66
- }
67
-
68
- /**
69
- * Starts counting.
70
- *
71
- * @returns {number} An `ALResult`.
72
- */
73
- Begin() {
74
- if (!this._isValid) return ALResult.E_INVALIDCALL;
75
- this._isRunning = true;
76
- return ALResult.S_OK;
77
- }
78
-
79
- /**
80
- * Stops counting.
81
- *
82
- * ENDING A QUERY THAT NEVER BEGAN IS AN ERROR, which Carbon checks
83
- * (`cpp:End`) and which is the mispairing this class exists to catch.
84
- *
85
- * @returns {number} An `ALResult`.
86
- */
87
- End() {
88
- if (!this._isValid) return ALResult.E_INVALIDCALL;
89
- if (!this._isRunning) return ALResult.E_INVALIDCALL;
90
- this._isRunning = false;
91
- return ALResult.S_OK;
92
- }
93
-
94
- /**
95
- * How many pixels passed.
96
- *
97
- * @param {number} [_waitMode] An `OcclusionWaitMode`; nothing to wait for here.
98
- * @returns {object} `{ result, count }`.
99
- */
100
- GetPixelCount(_waitMode = OcclusionWaitMode.DO_NOT_WAIT) {
101
- if (!this._isValid) return {
102
- result: ALResult.E_INVALIDCALL,
103
- count: 0
104
- };
105
- return {
106
- result: ALResult.S_OK,
107
- count: 0
108
- };
109
- }
110
-
111
- /** @returns {number} A `Tr2ALMemoryType`. */
112
- GetMemoryClass() {
113
- return Tr2ALMemoryType.AL_MEMORY_VIDEO;
114
- }
115
-
116
- /**
117
- * Names the query for a debugger.
118
- *
119
- * @param {string} _name The name Carbon would attach; the stub discards it.
120
- * @returns {number} An `ALResult` value; the stub keeps no name
121
- * (`Tr2OcclusionQueryALStub.cpp:81-84`).
122
- */
123
- SetName(_name) {
124
- return ALResult.S_OK;
125
- }
126
- }
127
-
128
- /**
129
- * Times a bracketed span of GPU work.
130
- */
131
- class Tr2GpuTimerALStub extends Tr2BaseDeviceResourceAL {
132
- /** m_isValid */
133
- _isValid = false;
134
-
135
- /**
136
- * Creates the timer, releasing any previous one first as Carbon does.
137
- *
138
- * @param {object} renderContext The primary context to create against.
139
- * @returns {number} An `ALResult`.
140
- */
141
- Create(renderContext) {
142
- this.Destroy();
143
- if (!renderContext?.IsValid()) return ALResult.E_INVALIDARG;
144
- this._isValid = true;
145
- return ALResult.S_OK;
146
- }
147
-
148
- /** Releases the timer. */
149
- Destroy() {
150
- this._isValid = false;
151
- super.Destroy();
152
- }
153
-
154
- /** @returns {boolean} Whether the timer was created. */
155
- IsValid() {
156
- return this._isValid;
157
- }
158
-
159
- /**
160
- * Starts timing.
161
- *
162
- * @returns {boolean} True, as Carbon's stub returns.
163
- */
164
- Begin() {
165
- return true;
166
- }
167
-
168
- /** Stops timing. */
169
- End() {}
170
-
171
- /**
172
- * The measured time in seconds.
173
- *
174
- * A TINY POSITIVE NUMBER RATHER THAN ZERO, which is Carbon's `0.0001f`
175
- * (`cpp:GetTime`), and negative one when there is no timer. Zero would divide
176
- * badly in a caller computing a rate; the negative distinguishes "no timer"
177
- * from "no time".
178
- *
179
- * @returns {number} Seconds, or -1 without a timer.
180
- */
181
- GetTime() {
182
- return this._isValid ? 0.0001 : -1;
183
- }
184
-
185
- /** @returns {number} A `Tr2ALMemoryType`. */
186
- GetMemoryClass() {
187
- return Tr2ALMemoryType.AL_MEMORY_VIDEO;
188
- }
189
-
190
- /**
191
- * Names the timer for a debugger.
192
- *
193
- * @param {string} _name The name Carbon would attach; the stub discards it.
194
- * @returns {number} An `ALResult` value; the stub keeps no name
195
- * (`Tr2GpuTimerALStub.cpp:55-58`).
196
- */
197
- SetName(_name) {
198
- return ALResult.S_OK;
199
- }
200
- }
201
-
202
- /**
203
- * Collects pipeline statistics over a bracketed span.
204
- *
205
- * Carbon's stub is the most permissive of the three: it is always valid and
206
- * every call succeeds, because there is nothing to allocate and no state worth
207
- * mispairing.
208
- */
209
- class Tr2PipelineStatsQueryALStub extends Tr2BaseDeviceResourceAL {
210
- /**
211
- * Creates the query.
212
- *
213
- * @returns {number} An `ALResult`.
214
- */
215
- Create() {
216
- return ALResult.S_OK;
217
- }
218
-
219
- /** @returns {boolean} True, as Carbon's stub is always valid. */
220
- IsValid() {
221
- return true;
222
- }
223
-
224
- /** Releases the query. */
225
- Destroy() {
226
- super.Destroy();
227
- }
228
-
229
- /** @returns {number} An `ALResult`. */
230
- Begin() {
231
- return ALResult.S_OK;
232
- }
233
-
234
- /** @returns {number} An `ALResult`. */
235
- End() {
236
- return ALResult.S_OK;
237
- }
238
-
239
- /**
240
- * The collected statistics.
241
- *
242
- * @returns {object} `{ result, data }` with an empty data set.
243
- */
244
- GetStats() {
245
- return {
246
- result: ALResult.S_OK,
247
- data: []
248
- };
249
- }
250
-
251
- /**
252
- * How many values a statistics set holds.
253
- *
254
- * @param {Array} data A statistics set.
255
- * @returns {number} The count.
256
- */
257
- static GetValueCount(data) {
258
- return data?.length ?? 0;
259
- }
260
-
261
- /**
262
- * One value's label.
263
- *
264
- * @param {Array} data A statistics set.
265
- * @param {number} index Which value.
266
- * @returns {string} The label, empty when absent.
267
- */
268
- static GetLabel(data, index) {
269
- return data?.[index]?.label ?? "";
270
- }
271
-
272
- /**
273
- * One value's description.
274
- *
275
- * @param {Array} data A statistics set.
276
- * @param {number} index Which value.
277
- * @returns {string} The description, empty when absent.
278
- */
279
- static GetDescription(data, index) {
280
- return data?.[index]?.description ?? "";
281
- }
282
-
283
- /**
284
- * One value.
285
- *
286
- * @param {Array} data A statistics set.
287
- * @param {number} index Which value.
288
- * @returns {number} The value, zero when absent.
289
- */
290
- static GetValue(data, index) {
291
- return data?.[index]?.value ?? 0;
292
- }
293
-
294
- /** @returns {number} A `Tr2ALMemoryType`; MANAGED, not VIDEO, as Carbon has it. */
295
- GetMemoryClass() {
296
- return Tr2ALMemoryType.AL_MEMORY_MANAGED;
297
- }
298
-
299
- /**
300
- * Names the query for a debugger.
301
- *
302
- * @param {string} _name The name Carbon would attach; the stub discards it.
303
- * @returns {number} An `ALResult` value; the stub keeps no name
304
- * (`Tr2PipelineStatsQueryALStub.cpp:70-73`).
305
- */
306
- SetName(_name) {
307
- return ALResult.S_OK;
308
- }
309
-
310
- /**
311
- * Describes this query for a device inventory.
312
- *
313
- * THE ONE NON-EMPTY `Describe` IN CARBON'S STUB TREE. Every other stub
314
- * resource leaves the map untouched; this one writes its own type name
315
- * (`Tr2PipelineStatsQueryALStub.cpp:65-68`). Overridden here for that reason
316
- * alone - the base class no-op would otherwise be silently wrong.
317
- *
318
- * @param {object} description Accumulator, keyed by name.
319
- */
320
- Describe(description) {
321
- description.type = "Tr2PipelineStatsQueryAL";
322
- }
323
- }
324
-
325
- export { OcclusionWaitMode, Tr2GpuTimerALStub, Tr2OcclusionQueryALStub, Tr2PipelineStatsQueryALStub };
326
- //# sourceMappingURL=Tr2QueryALStub.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tr2QueryALStub.js","sources":["../../../../src/trinityal/stub/Tr2QueryALStub.js"],"sourcesContent":["// Source: trinity/trinityal/stub/Tr2OcclusionQueryALStub.cpp\r\n// Source: trinity/trinityal/stub/Tr2GpuTimerALStub.cpp\r\n// Source: trinity/trinityal/stub/Tr2PipelineStatsQueryALStub.cpp\r\n//\r\n// The three things a backend can be asked to measure: how many pixels a draw\r\n// passed, how long the GPU took, and what the pipeline did.\r\n//\r\n// THREE CARBON FILES, ONE HERE, and that is the only liberty taken. They share\r\n// a Begin/End/read shape, they are always ported and reviewed together, and\r\n// none is large enough to carry a file. The classes keep Carbon's names and\r\n// Carbon's separate behaviour - this is a file boundary, not a merged type.\r\n//\r\n// THE OCCLUSION QUERY IS NOT ACADEMIC HERE. Lens-flare occlusion has never\r\n// worked in this organization's browser rendering, and the recorded reason is\r\n// that the sample collection is absent. This is the interface that absence is\r\n// measured against.\r\n//\r\n// EACH REPORTS AN HONEST EMPTY ANSWER RATHER THAN REFUSING. Carbon's stub\r\n// returns zero pixels, a tiny fixed time, and no statistics - all with success -\r\n// because a caller asking \"how many pixels passed\" on a device that draws\r\n// nothing has a correct answer available, and it is zero.\r\n\r\nimport { Tr2ALMemoryType, Tr2BaseDeviceResourceAL } from \"../Tr2DeviceResourceAL.js\";\r\nimport { ALResult } from \"../ALResult.js\";\r\n\r\n\r\n/** Carbon's `Tr2OcclusionQueryAL::WaitMode`. */\r\nexport const OcclusionWaitMode = Object.freeze({\r\n /** Return whatever is available now. */\r\n DO_NOT_WAIT: 0,\r\n /** Block until the result is ready. */\r\n WAIT: 1\r\n});\r\n\r\n\r\n/**\r\n * Counts the pixels a bracketed draw passed.\r\n */\r\nexport class Tr2OcclusionQueryALStub extends Tr2BaseDeviceResourceAL\r\n{\r\n /** m_isValid */\r\n _isValid = false;\r\n\r\n /** m_isRunning */\r\n _isRunning = false;\r\n\r\n /**\r\n * Creates the query.\r\n *\r\n * @param {object} renderContext The context to create against.\r\n * @returns {number} An `ALResult`.\r\n */\r\n Create(renderContext)\r\n {\r\n if (!renderContext?.IsValid()) return ALResult.E_INVALIDARG;\r\n\r\n this._isValid = true;\r\n\r\n return ALResult.S_OK;\r\n }\r\n\r\n /** @returns {boolean} Whether the query was created. */\r\n IsValid()\r\n {\r\n return this._isValid;\r\n }\r\n\r\n /** Releases the query. */\r\n Destroy()\r\n {\r\n this._isValid = false;\r\n super.Destroy();\r\n }\r\n\r\n /**\r\n * Starts counting.\r\n *\r\n * @returns {number} An `ALResult`.\r\n */\r\n Begin()\r\n {\r\n if (!this._isValid) return ALResult.E_INVALIDCALL;\r\n\r\n this._isRunning = true;\r\n\r\n return ALResult.S_OK;\r\n }\r\n\r\n /**\r\n * Stops counting.\r\n *\r\n * ENDING A QUERY THAT NEVER BEGAN IS AN ERROR, which Carbon checks\r\n * (`cpp:End`) and which is the mispairing this class exists to catch.\r\n *\r\n * @returns {number} An `ALResult`.\r\n */\r\n End()\r\n {\r\n if (!this._isValid) return ALResult.E_INVALIDCALL;\r\n if (!this._isRunning) return ALResult.E_INVALIDCALL;\r\n\r\n this._isRunning = false;\r\n\r\n return ALResult.S_OK;\r\n }\r\n\r\n /**\r\n * How many pixels passed.\r\n *\r\n * @param {number} [_waitMode] An `OcclusionWaitMode`; nothing to wait for here.\r\n * @returns {object} `{ result, count }`.\r\n */\r\n GetPixelCount(_waitMode = OcclusionWaitMode.DO_NOT_WAIT)\r\n {\r\n if (!this._isValid) return { result: ALResult.E_INVALIDCALL, count: 0 };\r\n\r\n return { result: ALResult.S_OK, count: 0 };\r\n }\r\n\r\n /** @returns {number} A `Tr2ALMemoryType`. */\r\n GetMemoryClass()\r\n {\r\n return Tr2ALMemoryType.AL_MEMORY_VIDEO;\r\n }\r\n\r\n\r\n /**\r\n * Names the query for a debugger.\r\n *\r\n * @param {string} _name The name Carbon would attach; the stub discards it.\r\n * @returns {number} An `ALResult` value; the stub keeps no name\r\n * (`Tr2OcclusionQueryALStub.cpp:81-84`).\r\n */\r\n SetName(_name)\r\n {\r\n return ALResult.S_OK;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Times a bracketed span of GPU work.\r\n */\r\nexport class Tr2GpuTimerALStub extends Tr2BaseDeviceResourceAL\r\n{\r\n /** m_isValid */\r\n _isValid = false;\r\n\r\n /**\r\n * Creates the timer, releasing any previous one first as Carbon does.\r\n *\r\n * @param {object} renderContext The primary context to create against.\r\n * @returns {number} An `ALResult`.\r\n */\r\n Create(renderContext)\r\n {\r\n this.Destroy();\r\n\r\n if (!renderContext?.IsValid()) return ALResult.E_INVALIDARG;\r\n\r\n this._isValid = true;\r\n\r\n return ALResult.S_OK;\r\n }\r\n\r\n /** Releases the timer. */\r\n Destroy()\r\n {\r\n this._isValid = false;\r\n super.Destroy();\r\n }\r\n\r\n /** @returns {boolean} Whether the timer was created. */\r\n IsValid()\r\n {\r\n return this._isValid;\r\n }\r\n\r\n /**\r\n * Starts timing.\r\n *\r\n * @returns {boolean} True, as Carbon's stub returns.\r\n */\r\n Begin()\r\n {\r\n return true;\r\n }\r\n\r\n /** Stops timing. */\r\n End()\r\n {\r\n }\r\n\r\n /**\r\n * The measured time in seconds.\r\n *\r\n * A TINY POSITIVE NUMBER RATHER THAN ZERO, which is Carbon's `0.0001f`\r\n * (`cpp:GetTime`), and negative one when there is no timer. Zero would divide\r\n * badly in a caller computing a rate; the negative distinguishes \"no timer\"\r\n * from \"no time\".\r\n *\r\n * @returns {number} Seconds, or -1 without a timer.\r\n */\r\n GetTime()\r\n {\r\n return this._isValid ? 0.0001 : -1;\r\n }\r\n\r\n /** @returns {number} A `Tr2ALMemoryType`. */\r\n GetMemoryClass()\r\n {\r\n return Tr2ALMemoryType.AL_MEMORY_VIDEO;\r\n }\r\n\r\n\r\n /**\r\n * Names the timer for a debugger.\r\n *\r\n * @param {string} _name The name Carbon would attach; the stub discards it.\r\n * @returns {number} An `ALResult` value; the stub keeps no name\r\n * (`Tr2GpuTimerALStub.cpp:55-58`).\r\n */\r\n SetName(_name)\r\n {\r\n return ALResult.S_OK;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Collects pipeline statistics over a bracketed span.\r\n *\r\n * Carbon's stub is the most permissive of the three: it is always valid and\r\n * every call succeeds, because there is nothing to allocate and no state worth\r\n * mispairing.\r\n */\r\nexport class Tr2PipelineStatsQueryALStub extends Tr2BaseDeviceResourceAL\r\n{\r\n /**\r\n * Creates the query.\r\n *\r\n * @returns {number} An `ALResult`.\r\n */\r\n Create()\r\n {\r\n return ALResult.S_OK;\r\n }\r\n\r\n /** @returns {boolean} True, as Carbon's stub is always valid. */\r\n IsValid()\r\n {\r\n return true;\r\n }\r\n\r\n /** Releases the query. */\r\n Destroy()\r\n {\r\n super.Destroy();\r\n }\r\n\r\n /** @returns {number} An `ALResult`. */\r\n Begin()\r\n {\r\n return ALResult.S_OK;\r\n }\r\n\r\n /** @returns {number} An `ALResult`. */\r\n End()\r\n {\r\n return ALResult.S_OK;\r\n }\r\n\r\n /**\r\n * The collected statistics.\r\n *\r\n * @returns {object} `{ result, data }` with an empty data set.\r\n */\r\n GetStats()\r\n {\r\n return { result: ALResult.S_OK, data: [] };\r\n }\r\n\r\n /**\r\n * How many values a statistics set holds.\r\n *\r\n * @param {Array} data A statistics set.\r\n * @returns {number} The count.\r\n */\r\n static GetValueCount(data)\r\n {\r\n return data?.length ?? 0;\r\n }\r\n\r\n /**\r\n * One value's label.\r\n *\r\n * @param {Array} data A statistics set.\r\n * @param {number} index Which value.\r\n * @returns {string} The label, empty when absent.\r\n */\r\n static GetLabel(data, index)\r\n {\r\n return data?.[index]?.label ?? \"\";\r\n }\r\n\r\n /**\r\n * One value's description.\r\n *\r\n * @param {Array} data A statistics set.\r\n * @param {number} index Which value.\r\n * @returns {string} The description, empty when absent.\r\n */\r\n static GetDescription(data, index)\r\n {\r\n return data?.[index]?.description ?? \"\";\r\n }\r\n\r\n /**\r\n * One value.\r\n *\r\n * @param {Array} data A statistics set.\r\n * @param {number} index Which value.\r\n * @returns {number} The value, zero when absent.\r\n */\r\n static GetValue(data, index)\r\n {\r\n return data?.[index]?.value ?? 0;\r\n }\r\n\r\n /** @returns {number} A `Tr2ALMemoryType`; MANAGED, not VIDEO, as Carbon has it. */\r\n GetMemoryClass()\r\n {\r\n return Tr2ALMemoryType.AL_MEMORY_MANAGED;\r\n }\r\n\r\n\r\n /**\r\n * Names the query for a debugger.\r\n *\r\n * @param {string} _name The name Carbon would attach; the stub discards it.\r\n * @returns {number} An `ALResult` value; the stub keeps no name\r\n * (`Tr2PipelineStatsQueryALStub.cpp:70-73`).\r\n */\r\n SetName(_name)\r\n {\r\n return ALResult.S_OK;\r\n }\r\n\r\n\r\n /**\r\n * Describes this query for a device inventory.\r\n *\r\n * THE ONE NON-EMPTY `Describe` IN CARBON'S STUB TREE. Every other stub\r\n * resource leaves the map untouched; this one writes its own type name\r\n * (`Tr2PipelineStatsQueryALStub.cpp:65-68`). Overridden here for that reason\r\n * alone - the base class no-op would otherwise be silently wrong.\r\n *\r\n * @param {object} description Accumulator, keyed by name.\r\n */\r\n Describe(description)\r\n {\r\n description.type = \"Tr2PipelineStatsQueryAL\";\r\n }\r\n}\r\n"],"names":["OcclusionWaitMode","Object","freeze","DO_NOT_WAIT","WAIT","Tr2OcclusionQueryALStub","Tr2BaseDeviceResourceAL","_isValid","_isRunning","Create","renderContext","IsValid","ALResult","E_INVALIDARG","S_OK","Destroy","Begin","E_INVALIDCALL","End","GetPixelCount","_waitMode","result","count","GetMemoryClass","Tr2ALMemoryType","AL_MEMORY_VIDEO","SetName","_name","Tr2GpuTimerALStub","GetTime","Tr2PipelineStatsQueryALStub","GetStats","data","GetValueCount","length","GetLabel","index","label","GetDescription","description","GetValue","value","AL_MEMORY_MANAGED","Describe","type"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tr2RenderContextALStub.js","sources":["../../../../src/trinityal/stub/Tr2RenderContextALStub.js"],"sourcesContent":["// Source: trinity/trinityal/stub/Tr2RenderContextStub.cpp\n// Source: trinity/trinityal/stub/Tr2RenderContextStub.h\n//\n// The GPU-free backend, ported from the one Carbon already ships.\n//\n// WHAT THIS IS FOR. A headless Trinity that still carries CORRECT DATA. That is\n// the requirement, and it is not the same as \"runs without a GPU\": a backend\n// that did nothing at all would satisfy the second and fail the first, because\n// nothing downstream would hold real state to inspect.\n//\n// So this is NOT a no-op. Carbon's stub validates its arguments, keeps genuine\n// render-target and depth-stencil stacks, and reports real sizes back. Only the\n// draws are empty, because a draw is the one thing that needs a GPU. The\n// bookkeeping is the feature.\n//\n// Carbon builds this as a real target (`TrinityAL_stub`, `trinity_stub`) with a\n// real device behind it (`TriDeviceStub.cpp`), consumed by its VideoPlayer and\n// by the AL's own tests. It is a supported configuration there, not a\n// scaffold, which is why it is worth porting rather than inventing.\n//\n// TWO REFUSALS ARE CARBON'S, AND DELIBERATE. `ClearUav` and buffer-to-buffer\n// copies return failure rather than pretending to succeed\n// (`Tr2RenderContextStub.cpp:87-101`). A caller that needs them needs a real\n// backend, and silently succeeding would hide that.\n//\n// What this does NOT cover, matching Carbon: ray tracing (stubbed to fail\n// there too) and the five `Tr2Rt*AL` types, plus `Tr2RenderPassAL` and\n// `Tr2StreamlineAL`, none of which the stub implements.\n\n\nimport { ALResult, Failed, Tr2BitmapDimensions, Tr2BufferALStub, Tr2CapsALStub, Tr2ConstantBufferALStub, Tr2ConstantUsageAL, Tr2ResourceSetALStub, Tr2SamplerStateALStub, Tr2ShaderALStub, Tr2ShaderProgramALStub, Tr2TextureALStub, Tr2VertexLayoutALStub } from \"../../trinityal/index.js\";\nimport { SamplerDescriptionKey } from \"../Tr2SamplerDescription.js\";\nimport { INVALID_UPSCALING_CONTEXT_ID, PixelFormat, ShaderType, Topology, Tr2GpuUsage, UpscalingResult, UpscalingSetting, UpscalingTechnique } from \"../../global/consts/renderContext/index.js\";\n\n\nfunction fail(message)\n{\n const error = new Error(`Tr2RenderContextALStub: ${message}`);\n error.code = \"CJS_AL_STUB_INVALID\";\n throw error;\n}\n\n\n/** Carbon's `MAX_RENDER_TARGET`; the bound-target array is fixed width. */\nconst MAX_RENDER_TARGET = 8;\n\n/**\n * The process-wide primary render context.\n *\n * Carbon keeps this in a function-local static reached through a free function\n * (`Tr2RenderContextStub.cpp:21-30`), and the three static accessors below all\n * delegate to it. A module-level binding is the same thing in JavaScript: one\n * slot, private to this module, reachable only through those accessors.\n *\n * The constructor claims it - Carbon's does the same\n * (`Tr2RenderContextStub.cpp:34-40`) - so the FIRST context constructed becomes\n * primary until something sets another.\n */\nlet primaryRenderContext = null;\n\n\n/**\n * Carbon's `Tr2BindlessResourcesAL` (`Tr2RenderContextStub.h:32-47`).\n *\n * A list of resources handed to `UseResources` so a backend can make them\n * resident together. Every method is empty in the stub, exactly as in Carbon:\n * residency is a device concern and there is no device here.\n *\n * Carbon overloads `Add` for a texture, a buffer and another resource list;\n * JavaScript dispatches on one method, which is the ordinary shape of an\n * overload set here and not a divergence in behaviour.\n */\nexport class Tr2BindlessResourcesAL\n{\n /**\n * Adds a texture, a buffer, or the contents of another list.\n *\n * @param {object} _resource The resource to make resident.\n */\n Add(_resource)\n {\n }\n\n /** Empties the list. */\n Clear()\n {\n }\n}\n\n\n/**\n * A render context that keeps real state and draws nothing.\n *\n * Implements the AL verbs only. The Trinity-level verbs a render step also\n * reaches for - projection, view transform, wireframe and the\n * render-texture helpers - are NOT here, because Carbon does not put them on\n * the AL either: they belong to `Tr2Renderer`, `Tr2EffectStateManager` and the\n * `TriStep*` types themselves.\n */\nexport class Tr2RenderContextALStub\n{\n /** m_isValid - set by CreateDevice, and required by every resource create. */\n _isValid = false;\n\n /** m_boundRenderTarget[MAX_RENDER_TARGET] */\n _boundRenderTargets = new Array(MAX_RENDER_TARGET).fill(null);\n\n _depthStencil = null;\n\n // ONE STACK PER SLOT, as Carbon has (`m_stackRT[MAX_RENDER_TARGET]`). A single\n // shared stack pops the most recent push regardless of slot, so pushing slot 0\n // then slot 1 and popping slot 0 restores the wrong surface.\n\n /** Carbon keeps real stacks and reports their depth (GetStackSizeRT/DS). */\n _renderTargetStacks = Array.from({ length: MAX_RENDER_TARGET }, () => []);\n\n _depthStencilStack = [];\n\n _viewport = null;\n\n /** Every draw the context was asked for, so a headless caller can assert. */\n _drawCount = 0;\n\n\n /** Clears the context asked for; the bookkeeping IS the feature here. */\n _clearCount = 0;\n\n /** The render-state setup last applied, and the overrides it carried. */\n _renderStateSetup = null;\n\n _renderStateOverrides = null;\n\n // m_frameNumber. THIS IS NOT THE TRINITY FRAME COUNTER. Trinity's counts\n // frames the render path has begun (`Tr2Renderer::GetCurrentFrameCounter`);\n // this one counts frames the DEVICE has finished, and the gap between them is\n // what a ring buffer fences against. Carbon's stub keeps one number and\n // derives both: recording is the next frame, rendered is this one\n // (`Tr2RenderContextStub.cpp:453-456,500-503`), which is the same as saying\n // the stub always finishes a frame before the next begins.\n\n /** m_frameNumber - frames the device has finished. */\n _frameNumber = 0;\n\n /** m_caps - the context owns its capabilities, as Carbon's does. */\n _caps = new Tr2CapsALStub();\n\n /** m_defaultBackBuffer - a real texture, so size and format read back. */\n _defaultBackBuffer = new Tr2TextureALStub();\n\n /**\n * The shader stages this context binds constants for.\n *\n * `SHADER_TYPE_MASK` (`Tr2RenderContextStub.h:228-230`), a bit per stage.\n * The stub supports the two raster stages and no compute.\n */\n static SHADER_TYPE_MASK = (1 << ShaderType.VERTEX_SHADER) | (1 << ShaderType.PIXEL_SHADER);\n\n /**\n * Claims the primary slot, as Carbon's constructor does.\n *\n * `Tr2RenderContextStub.cpp:34-40` assigns `this` to the primary pointer\n * unconditionally, so the most recently constructed context is primary until\n * `SetPrimaryRenderContext` says otherwise.\n */\n constructor()\n {\n primaryRenderContext = this;\n }\n\n\n /**\n * Installs the primary render context.\n *\n * @param {Tr2RenderContextALStub|null} renderContext The context to install.\n */\n static SetPrimaryRenderContext(renderContext)\n {\n primaryRenderContext = renderContext;\n }\n\n\n /**\n * The primary render context, which must exist.\n *\n * Carbon asserts before dereferencing (`Tr2RenderContextStub.cpp:51-55`);\n * asking for the primary context when there is none is a caller defect, so\n * this throws rather than handing back a null nobody checks.\n *\n * @returns {Tr2RenderContextALStub} The primary render context.\n */\n static GetPrimaryRenderContext()\n {\n if (primaryRenderContext === null) fail(\"there is no primary render context\");\n\n return primaryRenderContext;\n }\n\n\n /**\n * The primary render context, or null when none is installed.\n *\n * The pointer form Carbon offers beside the reference form, for callers that\n * are asking WHETHER there is one.\n *\n * @returns {Tr2RenderContextALStub|null} The primary render context.\n */\n static GetPrimaryRenderContextPointer()\n {\n return primaryRenderContext;\n }\n\n\n /**\n * Brings the context up. Carbon's `CreateDevice` sets validity and installs\n * the present parameters (`Tr2RenderContextStub.cpp:230-243`); every resource\n * `Create` then refuses unless `IsValid()`.\n *\n * THE ORDER MATTERS AND IS CARBON'S. Validity is set BEFORE the present\n * parameters, because creating the back buffer is a resource create and so\n * asks this same context whether it is valid yet.\n *\n * @param {object} [presentParameters] Present parameters, as the AL shapes\n * them: `{ mode: { width, height } }`.\n * @returns {boolean} True once valid.\n */\n CreateDevice(presentParameters = null)\n {\n this._isValid = true;\n\n if (presentParameters) this.SetPresentParameters(presentParameters);\n\n return true;\n }\n\n /**\n * Creates a buffer of this backend's own kind.\n *\n * WHY THE CONTEXT IS THE FACTORY. In Carbon, `Tr2BufferAL` is a compile-time\n * platform typedef, so Trinity writes `Tr2BufferAL m_vertexBuffer` and the\n * dx11/dx12/metal/stub class is selected by the build. JavaScript has no such\n * seam, and a Trinity class that imports a concrete buffer picks a backend at\n * authoring time - which is exactly how `Tr2RingBuffer` ended up hard-wired\n * to the stub and reaching no device.\n *\n * Carbon's `Create` already takes a `Tr2PrimaryRenderContextAL&`\n * (`Tr2BufferAL.h:47`), so the context is where the platform is known.\n *\n * @param {object} description A `Tr2BufferDescriptionAL`.\n * @param {ArrayBufferView|null} [initialData] Initial contents, if any.\n * @returns {object|null} The created buffer, or null when Create refused.\n */\n CreateBuffer(description, initialData = null)\n {\n const buffer = new Tr2BufferALStub();\n\n if (Failed(buffer.Create(description, initialData, this))) return null;\n\n return buffer;\n }\n\n /**\n * Creates a constant buffer, this backend's kind of `Tr2ConstantBufferAL`.\n *\n * WITH NO SIZE, AN EMPTY ONE. Carbon default-constructs `Tr2ConstantBufferAL`\n * as a member and calls `Create` later, when the size is known\n * (`Tr2RenderUtils.h:35-67` `FillAndSetConstants` creates on first fill). A\n * Trinity class here cannot name the backend's class, so it asks the context\n * for the empty object and fills it exactly as Carbon does.\n *\n * @param {number} [size] Bytes; zero returns an empty, invalid buffer.\n * @param {number} [usage] A `Tr2ConstantUsageAL`.\n * @param {ArrayBufferView|null} [initialData] Initial contents, if any.\n * @returns {object|null} The buffer, or null when a sized Create refused.\n */\n CreateConstantBuffer(size = 0, usage = Tr2ConstantUsageAL.REUSABLE, initialData = null)\n {\n const buffer = new Tr2ConstantBufferALStub();\n\n if (size > 0 && Failed(buffer.Create(size, usage, initialData, this))) return null;\n\n return buffer;\n }\n\n /**\n * Creates a resource set, this backend's kind of `Tr2ResourceSetAL`.\n *\n * @param {object} description A `Tr2ResourceSetDescriptionAL`.\n * @param {object} program A `Tr2ShaderProgramAL`.\n * @returns {object|null} The set, or null when Create refused.\n */\n /**\n * Creates a texture, this backend's kind of `Tr2TextureAL`.\n *\n * @param {object} desc A `Tr2BitmapDimensions`.\n * @param {object} options `{ gpuUsage, cpuUsage, msaa, initialData }`.\n * @returns {object|null} The texture, or null when Create refused.\n */\n CreateTexture(desc, options)\n {\n const texture = new Tr2TextureALStub();\n\n if (Failed(texture.Create(desc, options ?? {}, this))) return null;\n\n return texture;\n }\n\n /**\n * Creates a resource set for a program.\n *\n * @param {object} description A `Tr2ResourceSetDescriptionAL`.\n * @param {object} program The shader program the bindings belong to.\n * @returns {object|null} The set, or null when it could not be created.\n */\n CreateResourceSet(description, program)\n {\n const resourceSet = new Tr2ResourceSetALStub();\n\n if (Failed(resourceSet.Create(description, program, this))) return null;\n\n return resourceSet;\n }\n\n /** Carbon's `Tr2SamplerStateALFactory`, keyed on the description. */\n _samplerStates = new Map();\n\n /**\n * The sampler state for a description, created once per distinct description.\n *\n * Carbon's `Tr2SamplerStateAL::Create` is a factory lookup on the primary\n * context (`Tr2SamplerStateAL.cpp:25-28`); the factory is in the SHARED\n * facade, so the stub dedupes too, and a headless resource set compares\n * states by identity exactly as a device one does.\n *\n * @param {object} description A `Tr2SamplerDescription`.\n * @returns {object|null} The shared state, or null for no description.\n */\n CreateSamplerState(description)\n {\n const key = SamplerDescriptionKey(description);\n\n if (key === null) return null;\n\n const existing = this._samplerStates.get(key);\n\n if (existing) return existing;\n\n const state = new Tr2SamplerStateALStub();\n\n if (Failed(state.Create(description, this))) return null;\n\n this._samplerStates.set(key, state);\n\n return state;\n }\n\n /**\n * Creates a vertex layout, this backend's kind of `Tr2VertexLayoutAL`.\n *\n * The same reason `CreateBuffer` exists. Carbon compiles ONE backend, so its\n * `Tr2VertexLayoutAL` is unambiguous and the effect state manager holds one\n * directly, calling `hvl.Create( definition, renderContext )` the first time\n * a declaration is applied (`Tr2EffectStateManager.cpp:899-906`). We ship\n * every backend at once, so the manager cannot name a layout class and has to\n * ask the context that knows which one it is.\n *\n * @param {object[]|object} definition The vertex element list or definition.\n * @returns {object|null} The created layout, or null when Create refused.\n */\n CreateVertexLayout(definition)\n {\n const layout = new Tr2VertexLayoutALStub();\n\n if (Failed(layout.Create(definition, this))) return null;\n\n return layout;\n }\n\n /**\n * Creates one shader stage, this backend's kind of `Tr2ShaderAL`.\n *\n * @param {number} stageType A Carbon `ShaderType`.\n * @param {ArrayBufferView|string} bytecode The stage's bytecode.\n * @param {object|null} signature The reflected signature.\n * @param {string} [shaderPath] A debug label.\n * @returns {object|null} The created shader, or null when Create refused.\n */\n CreateShader(stageType, bytecode, signature, shaderPath = \"\")\n {\n const shader = new Tr2ShaderALStub();\n\n if (Failed(shader.Create(stageType, bytecode, signature, shaderPath, this))) return null;\n\n return shader;\n }\n\n /**\n * Links created stages into this backend's kind of `Tr2ShaderProgramAL`.\n *\n * @param {object[]} shaders The stages to link.\n * @returns {object|null} The created program, or null when Create refused.\n */\n CreateShaderProgram(shaders)\n {\n const program = new Tr2ShaderProgramALStub();\n\n if (Failed(program.Create(shaders, this))) return null;\n\n return program;\n }\n\n /**\n * Creates the default back buffer and binds it to slot zero.\n *\n * Carbon's back buffer is `B8G8R8A8_UNORM` with one mip\n * (`Tr2RenderContextStub.cpp:249-260`), and the create is checked: a mode\n * with no size produces no back buffer rather than a zero-sized one.\n *\n * @param {object} presentParameters `{ mode: { width, height } }`.\n * @returns {number} An `ALResult` value.\n */\n SetPresentParameters(presentParameters)\n {\n const { mode } = presentParameters;\n\n const result = this._defaultBackBuffer.Create(\n Tr2BitmapDimensions.Texture2D(mode.width, mode.height, 1, PixelFormat.PIXEL_FORMAT_B8G8R8A8_UNORM),\n { gpuUsage: Tr2GpuUsage.RENDER_TARGET },\n this\n );\n\n if (Failed(result)) return result;\n\n this.SetRenderTarget(0, this._defaultBackBuffer);\n\n return ALResult.S_OK;\n }\n\n /**\n * What this backend can do.\n *\n * Carbon's context owns its caps and hands out a reference\n * (`Tr2RenderContextStub.h:70`); a caller asks the context, never the caps\n * object directly, which is why this lives here rather than on a factory.\n *\n * @returns {Tr2CapsALStub} The capabilities.\n */\n GetCaps()\n {\n return this._caps;\n }\n\n /**\n * The default back buffer.\n *\n * Carbon's name, and the distinction is real: `GetBackBuffer` belongs to\n * `Tr2SwapChainAL`, a different class with a different back buffer. This one\n * is the render context's own (`Tr2RenderContextStub.h:245-248`), and was\n * called `GetBackBuffer` here until 2026-09-09.\n *\n * @returns {Tr2TextureALStub} The back buffer, created or not.\n */\n GetDefaultBackBuffer()\n {\n return this._defaultBackBuffer;\n }\n\n /**\n * The back buffer's pixel format.\n *\n * @returns {number} A `PixelFormat` value.\n */\n GetBackBufferFormat()\n {\n return this._defaultBackBuffer.GetFormat();\n }\n\n /**\n * The size of a bound render target.\n *\n * Carbon separates the two failures deliberately: a slot past the end of the\n * array is `E_FAIL`, while an empty slot is `E_INVALIDCALL` - the caller\n * asked a reasonable question about a target that is not there.\n *\n * @param {number} [slot] Target slot.\n * @returns {{result: number, width: number, height: number}} The size.\n */\n GetRenderTargetSize(slot = 0)\n {\n if (slot >= MAX_RENDER_TARGET) return { result: ALResult.E_FAIL, width: 0, height: 0 };\n\n const target = this._boundRenderTargets[slot];\n\n if (!target || !target.IsValid()) return { result: ALResult.E_INVALIDCALL, width: 0, height: 0 };\n\n return { result: ALResult.S_OK, width: target.GetWidth(), height: target.GetHeight() };\n }\n\n /**\n * Releases every bound target and the back buffer, as a device loss does.\n *\n * @returns {boolean} True.\n */\n ReleaseDeviceResources()\n {\n this._boundRenderTargets.fill(null);\n this._defaultBackBuffer.Destroy();\n this._defaultBackBuffer = new Tr2TextureALStub();\n\n return true;\n }\n\n /** Carbon's Destroy clears the bound targets and drops validity (cpp:62-69). */\n Destroy()\n {\n this._boundRenderTargets.fill(null);\n this._depthStencil = null;\n for (const stack of this._renderTargetStacks) stack.length = 0;\n this._depthStencilStack.length = 0;\n this._isValid = false;\n\n return true;\n }\n\n /** Whether a device was created. Resource creation depends on this. */\n IsValid()\n {\n return this._isValid;\n }\n\n /**\n * Binds a render target to a slot, keeping it so a caller can read it back.\n *\n * @param {number} slot Target slot.\n * @param {object|null} renderTarget The target.\n * @returns {boolean} True.\n */\n SetRenderTarget(slot, renderTarget)\n {\n if (!Number.isInteger(slot) || slot < 0 || slot >= MAX_RENDER_TARGET)\n {\n fail(`render target slot ${slot} is outside 0..${MAX_RENDER_TARGET - 1}`);\n }\n\n this._boundRenderTargets[slot] = renderTarget ?? null;\n\n return true;\n }\n\n /**\n * The target bound to a slot.\n *\n * @param {number} [slot] Target slot.\n * @returns {object|null} The bound target.\n */\n GetRenderTarget(slot = 0)\n {\n return this._boundRenderTargets[slot] ?? null;\n }\n\n /**\n * Saves the target bound to a slot.\n *\n * CARBON'S PUSH TAKES ONLY A SLOT (`Tr2RenderContextDx11.cpp:2178-2188`). It\n * binds nothing: the \"push this target\" convenience belongs to the effect\n * state manager, which pushes and then sets. Folding that into the backend\n * here would put a Trinity-level verb in the abstraction layer.\n *\n * @param {number} [slot] Target slot.\n * @returns {boolean} True.\n */\n PushRenderTarget(slot = 0)\n {\n if (!Number.isInteger(slot) || slot < 0 || slot >= MAX_RENDER_TARGET)\n {\n fail(`render target slot ${slot} is outside 0..${MAX_RENDER_TARGET - 1}`);\n }\n\n this._renderTargetStacks[slot].push(this._boundRenderTargets[slot] ?? null);\n\n return true;\n }\n\n /**\n * Restores the target saved for a slot, binding it again.\n *\n * @param {number} [slot] Target slot.\n * @returns {boolean} True.\n */\n PopRenderTarget(slot = 0)\n {\n if (!Number.isInteger(slot) || slot < 0 || slot >= MAX_RENDER_TARGET)\n {\n fail(`render target slot ${slot} is outside 0..${MAX_RENDER_TARGET - 1}`);\n }\n\n const stack = this._renderTargetStacks[slot];\n\n // CARBON GUARDS AND REPORTS, it does not crash: it asserts in debug and\n // returns E_FAIL in a shipping build (Tr2RenderContextStub.cpp:349-352).\n // Throwing here was invented, under a comment that claimed Carbon did not\n // guard at all - it does, on the very next line after the assert.\n if (!stack.length) return false;\n\n this._boundRenderTargets[slot] = stack.pop();\n\n return true;\n }\n\n /**\n * Carbon's GetStackSizeRT, which is per slot.\n *\n * @param {number} [slot] Target slot.\n * @returns {number} Saved targets for that slot.\n */\n GetStackSizeRT(slot = 0)\n {\n return this._renderTargetStacks[slot]?.length ?? 0;\n }\n\n /**\n * Binds the depth-stencil surface.\n *\n * @param {object|null} depthStencil The surface.\n * @returns {boolean} True.\n */\n SetDepthStencil(depthStencil)\n {\n this._depthStencil = depthStencil ?? null;\n\n return true;\n }\n\n /** The bound depth-stencil surface. */\n GetDepthStencil()\n {\n return this._depthStencil;\n }\n\n /**\n * Saves the bound depth-stencil. Binds nothing; see `PushRenderTarget`.\n *\n * @returns {boolean} True.\n */\n PushDepthStencil()\n {\n this._depthStencilStack.push(this._depthStencil);\n\n return true;\n }\n\n /**\n * Restores the depth-stencil beneath the top of the stack.\n *\n * Reports an empty stack rather than throwing, as Carbon does\n * (`Tr2RenderContextStub.cpp:365-374`).\n */\n PopDepthStencil()\n {\n if (!this._depthStencilStack.length) return false;\n\n this._depthStencil = this._depthStencilStack.pop();\n\n return true;\n }\n\n /** Carbon's GetStackSizeDS. */\n GetStackSizeDS()\n {\n return this._depthStencilStack.length;\n }\n\n /**\n * Sets the viewport.\n *\n * @param {object} viewport Viewport rectangle and depth range.\n * @returns {boolean} True.\n */\n SetViewport(viewport)\n {\n this._viewport = viewport ?? null;\n\n return true;\n }\n\n /** The current viewport. */\n GetViewport()\n {\n return this._viewport;\n }\n\n /**\n * Clears the bound targets. A clear needs no GPU to be recorded as done.\n *\n * @param {object} _options Clear colour, depth, stencil and flags.\n * @returns {boolean} True.\n */\n Clear(_options)\n {\n this._clearCount += 1;\n\n return true;\n }\n\n /** How many clears the context asked for. @returns {number} */\n GetClearCount()\n {\n return this._clearCount;\n }\n\n /**\n * REFUSED, as Carbon refuses it (`Tr2RenderContextStub.cpp:87-95`).\n *\n * @returns {boolean} False, always.\n */\n ClearUav()\n {\n return false;\n }\n\n /**\n * REFUSED, as Carbon refuses `CopySubBuffer` (`cpp:97-101`).\n *\n * @returns {boolean} False, always.\n */\n CopyRenderTarget()\n {\n return false;\n }\n\n /**\n * A render target is valid once a device exists and something is bound.\n *\n * @param {object} renderTarget The target to test.\n * @returns {boolean} Whether it can be drawn to.\n */\n IsRenderTargetValid(renderTarget)\n {\n return this._isValid && !!renderTarget;\n }\n\n /**\n * Resolving a multisampled target has no meaning without a GPU, and Carbon's\n * stub carries no multisample path, so this reports success and does nothing.\n *\n * @returns {boolean} True.\n */\n ResolveRenderTarget()\n {\n return true;\n }\n\n /** @see ResolveRenderTarget */\n GenerateMipMaps()\n {\n return true;\n }\n\n /**\n * Opens the device's scene. Carbon's stub accepts it and does nothing\n * (`cpp:267-270`).\n *\n * BeginScene/EndScene is where a deferred backend has its frame boundary:\n * DX11 uses the pair for nothing, and a command-encoder backend creates its\n * command buffer on the first and submits on the second.\n *\n * @returns {boolean} True.\n */\n BeginScene()\n {\n return true;\n }\n\n /** @see BeginScene */\n EndScene()\n {\n return true;\n }\n\n /**\n * Binds the vertex declaration a following draw reads its streams through.\n *\n * @param {object} _layout A `Tr2VertexLayoutAL`.\n * @returns {boolean} True.\n */\n SetVertexLayout(_layout)\n {\n return true;\n }\n\n /**\n * Binds one vertex stream.\n *\n * @param {number} _stream The stream index.\n * @param {object} _buffer A `Tr2BufferAL`.\n * @param {number} _offset Byte offset into the buffer.\n * @param {number} _stride Bytes per vertex.\n * @returns {boolean} True.\n */\n SetStreamSource(_stream, _buffer, _offset, _stride)\n {\n return true;\n }\n\n /**\n * Binds the index buffer.\n *\n * Carbon has a stride-less overload as well; the stride defaults here rather\n * than duplicating the method, because both bodies are the same.\n *\n * @param {object} _buffer A `Tr2BufferAL`.\n * @param {number} [_stride] Bytes per index.\n * @returns {boolean} True.\n */\n SetIndices(_buffer, _stride = 0)\n {\n return true;\n }\n\n /**\n * Sets the primitive topology for following draws.\n *\n * THE ONE ARGUMENT CARBON'S STUB ACTUALLY VALIDATES (`cpp:112-119`), and the\n * value is a `Topology`, not a D3D topology. `Tr2RenderBatch` carries this\n * vocabulary too as of 2026-09-05, so a caller reaching this from a batch\n * has nothing to translate - which is the point, since Carbon's\n * `SubmitGeometry` hands `m_topology` straight through\n * (`Tr2RenderContext.cpp:86`).\n *\n * @param {number} topology A `Topology` value.\n * @returns {boolean} Whether the topology is one the AL knows.\n */\n SetTopology(topology)\n {\n return topology < Topology.TOP_MAX_TOPOLOGY;\n }\n\n /**\n * Binds the vertex and pixel shader pair following draws run.\n *\n * @param {object} _shaderProgram A `Tr2ShaderProgramAL`.\n * @returns {boolean} True.\n */\n SetShaderProgram(_shaderProgram)\n {\n return true;\n }\n\n /**\n * Binds a prepared set of textures, samplers and buffers in one call.\n *\n * This is the verb the resource-set caching exists for: Carbon builds a\n * `Tr2ResourceSetAL` once and rebinds it per draw, rather than binding each\n * resource individually.\n *\n * @param {object} _resourceSet A `Tr2ResourceSetAL`.\n * @returns {boolean} True.\n */\n SetResourceSet(_resourceSet)\n {\n return true;\n }\n\n /**\n * Binds a constant buffer at one register for one shader stage.\n *\n * The register is the one `Tr2Renderer` names - b0 effect, b1/b2 per frame,\n * b3/b4 per object - so this is where that map meets the device.\n *\n * @param {object} _buffer A `Tr2ConstantBufferAL`.\n * @param {number} _constantType A `ShaderType`.\n * @param {number} _registerIndex The constant-buffer register.\n * @param {number} [_maxRegisterCount] Zero means the buffer's own size.\n * @returns {boolean} True.\n */\n SetConstants(_buffer, _constantType, _registerIndex, _maxRegisterCount = 0)\n {\n return true;\n }\n\n // A SECOND `SetRenderStates` STOOD HERE and was dead: JavaScript lets the\n // later declaration win silently, so this one - Carbon's packed id/value pair\n // signature - was shadowed by the interpreted-setup version further down and\n // could never be called. Removed 2026-09-09.\n //\n // The surviving one takes a `Tr2RenderStateSetup` and the manager's overrides\n // rather than Carbon's `(pairs, count)`, and that divergence is argued where\n // it is made, in `Tr2EffectStateManager.DoApplyRenderStates`: a registered\n // setup here is interpreted ONCE at registration, so there are no raw pairs\n // left to hand over.\n\n /**\n * REFUSED, as Carbon refuses it (`cpp:97-101`). A buffer-to-buffer copy needs\n * a real backend, and succeeding silently would hide that.\n *\n * @returns {boolean} False, always.\n */\n CopySubBuffer()\n {\n return false;\n }\n\n /**\n * Whether the bound depth buffer is readable while it is also bound.\n *\n * Carbon's stub keeps no state here and always answers false (`cpp:211-217`),\n * so a caller that needs read-only depth needs a real backend.\n *\n * @param {boolean} _enable Ignored.\n */\n SetReadOnlyDepth(_enable)\n {\n }\n\n /** @see SetReadOnlyDepth @returns {boolean} False, always. */\n GetReadOnlyDepth()\n {\n return false;\n }\n\n /**\n * DECLARES what the next pass does with its attachments at both edges.\n *\n * THIS IS THE VERB A COMMAND-ENCODER BACKEND IS BUILT AROUND, and it is\n * Carbon's, not an extension. DX11 and DX12 implement it as an empty function\n * (`Tr2RenderContextDx11.cpp:2414`); Metal folds it into the pass descriptor\n * it opens the next render encoder with. Trinity declares the actions from\n * `EveSpaceScene`, `Tr2PostProcessRenderer`, `Tr2Denoiser` and\n * `Tr2ReflectionProbe`, so the load and store actions are DECLARED by the\n * caller rather than inferred from what follows.\n *\n * Carbon's two overloads differ only in how many colour attachments they\n * carry, so they collapse into one variadic list here.\n *\n * @param {...object} _attachments `Tr2ColorAttachment`s then one\n * `Tr2DepthAttachment`.\n */\n RenderPassHint(..._attachments)\n {\n }\n\n /**\n * Ends the declared pass, so anything after it opens a new one.\n *\n * @see RenderPassHint\n */\n EndRenderPassHint()\n {\n }\n\n /**\n * Names a point in the command stream for a GPU debugger.\n *\n * All three marker verbs are empty in Carbon's stub (`cpp:399-410`), and they\n * are ported because a backend that drops them silently loses every capture\n * label - which is only ever noticed while debugging something else.\n *\n * @param {string} _marker The label.\n */\n AddGpuMarker(_marker)\n {\n }\n\n /** @see AddGpuMarker @param {string} _marker The label. */\n PushGpuMarker(_marker)\n {\n }\n\n /** @see AddGpuMarker */\n PopGpuMarker()\n {\n }\n\n /**\n * Whether the backend can address textures without binding them.\n *\n * @returns {boolean} False; the stub has no bindless path.\n */\n SupportsBindlessTextures()\n {\n return false;\n }\n\n /**\n * Accepts a render state. Carbon's stub validates the topology enum and\n * accepts the rest (`cpp:112-119`); state values are not interpreted.\n *\n * @returns {boolean} True.\n */\n SetRenderState()\n {\n return true;\n }\n\n /**\n * Accepts a render-state setup with the state manager's overrides.\n *\n * Carbon's backends set each resolved pair on the device; the stub has no\n * device, so it holds the last setup and reports it - the bookkeeping being\n * the feature, as everywhere else here.\n *\n * @param {object} setup A `Tr2RenderStateSetup`.\n * @param {object} [overrides] The render-state overrides applied to it.\n * @returns {boolean} Whether a setup was supplied.\n */\n SetRenderStates(setup, overrides = null)\n {\n if (!setup) return false;\n\n this._renderStateSetup = setup;\n this._renderStateOverrides = overrides;\n\n return true;\n }\n\n /** The setup last applied, with the overrides it carried. */\n GetRenderStates()\n {\n return { setup: this._renderStateSetup, overrides: this._renderStateOverrides };\n }\n\n\n /**\n * Counts a compute dispatch without running one.\n *\n * @returns {boolean} True.\n */\n RunComputeShader()\n {\n return true;\n }\n\n /** @see RunComputeShader */\n RunComputeShaderIndirect()\n {\n return true;\n }\n\n /**\n * Counts a draw. Carbon's draws return success and do nothing\n * (`cpp:126-186`); the count is ours, so a headless test can assert that the\n * frame reached the point of drawing.\n *\n * @returns {boolean} True.\n */\n DrawIndexedInstanced(_indexCountPerInstance, _instanceCount, _startIndexLocation, _baseVertexLocation, _startInstanceLocation)\n {\n this._drawCount += 1;\n\n return true;\n }\n\n /** @see DrawIndexedInstanced */\n DrawInstanced(_vertexCountPerInstance, _instanceCount, _startVertexLocation, _startInstanceLocation)\n {\n this._drawCount += 1;\n\n return true;\n }\n\n /**\n * Counts an indexed draw with no instancing.\n *\n * @param {number} _numVertices Vertices the index range spans.\n * @param {number} _startIndex First index to read.\n * @param {number} _primitiveCount Primitives to draw.\n * @param {number} [_minimumIndex] Lowest index value present.\n * @returns {boolean} True.\n */\n DrawIndexedPrimitive(_numVertices, _startIndex, _primitiveCount, _minimumIndex = 0)\n {\n this._drawCount += 1;\n\n return true;\n }\n\n /**\n * Counts a non-indexed draw with no instancing.\n *\n * @param {number} _startVertex First vertex to read.\n * @param {number} _primitiveCount Primitives to draw.\n * @returns {boolean} True.\n */\n DrawPrimitive(_startVertex, _primitiveCount)\n {\n this._drawCount += 1;\n\n return true;\n }\n\n /**\n * Counts an indexed draw from caller-supplied memory.\n *\n * VALIDATES ITS POINTERS, which Carbon's stub does and does nowhere else\n * (`cpp:172-199`): a user-pointer draw with nothing behind the pointer is a\n * caller error the backend can catch without a GPU.\n *\n * Carbon's two overloads differ only in 16- versus 32-bit index data, which\n * is carried by the array's own type here.\n *\n * @param {number} _numVertices Vertices the index data spans.\n * @param {number} _primitiveCount Primitives to draw.\n * @param {ArrayBufferView} indexData The indices.\n * @param {ArrayBufferView} vertexStreamZeroData The vertices.\n * @param {number} _vertexStreamZeroStride Bytes per vertex.\n * @returns {boolean} Whether both pointers were supplied.\n */\n DrawIndexedPrimitiveUP(_numVertices, _primitiveCount, indexData, vertexStreamZeroData, _vertexStreamZeroStride)\n {\n if (!indexData || !vertexStreamZeroData) return false;\n\n this._drawCount += 1;\n\n return true;\n }\n\n /**\n * Counts a non-indexed draw from caller-supplied memory.\n *\n * Carbon does NOT validate here, unlike its indexed counterpart\n * (`cpp:165-171`), and the asymmetry is transcribed rather than tidied.\n *\n * @param {number} _primitiveCount Primitives to draw.\n * @param {ArrayBufferView} _vertexStreamZeroData The vertices.\n * @param {number} _vertexStreamZeroStride Bytes per vertex.\n * @returns {boolean} True.\n */\n DrawPrimitiveUP(_primitiveCount, _vertexStreamZeroData, _vertexStreamZeroStride)\n {\n this._drawCount += 1;\n\n return true;\n }\n\n /**\n * REFUSED, as Carbon refuses both indirect draws (`Tr2RenderContextStub.h:161-169`).\n * Reading the draw arguments from a buffer needs a GPU.\n *\n * @returns {boolean} False, always.\n */\n DrawIndexedInstancedIndirect()\n {\n return false;\n }\n\n /** @see DrawIndexedInstancedIndirect @returns {boolean} False, always. */\n DrawInstancedIndirect()\n {\n return false;\n }\n\n /** How many draws this context was asked for. */\n GetDrawCount()\n {\n return this._drawCount;\n }\n\n /**\n * Presenting has nothing to show, but the frame still completed.\n *\n * Carbon's stub advances its frame number here and nowhere else\n * (`Tr2RenderContextStub.cpp:277-281`), which makes Present the frame\n * boundary a fence can be measured against.\n *\n * NOT `PresentSwapChain`, which it was called here until 2026-09-09. That\n * name belongs to the render STEP (`TriStepPresentSwapChain`); presenting a\n * particular swap chain is `Tr2SwapChainAL::Present(renderContext)`, a\n * different call on a different class. This one takes no argument.\n *\n * @returns {boolean} True.\n */\n Present()\n {\n this._frameNumber += 1;\n\n return true;\n }\n\n /**\n * The frame being recorded now.\n *\n * @returns {number} One past the finished frame.\n */\n GetRecordingFrameNumber()\n {\n return this._frameNumber + 1;\n }\n\n /**\n * The last frame the device has finished.\n *\n * @returns {number} The finished frame.\n */\n GetRenderedFrameNumber()\n {\n return this._frameNumber;\n }\n\n\n /**\n * Video memory the adapter reports.\n *\n * Carbon's stub returns 0 (`Tr2RenderContextStub.cpp:325-328`) - not\n * \"unknown\", but a device with no memory, which is what a stub has.\n *\n * @returns {number} Zero.\n */\n GetTotalVideoMemory()\n {\n return 0;\n }\n\n\n /**\n * Makes a resource list resident for a draw.\n *\n * @param {number} _destination Carbon's `Tr2UseResourceDestination`.\n * @param {number} _usage Carbon's `Tr2GpuUsage::Type`.\n * @param {Tr2BindlessResourcesAL} _resources The list to make resident.\n * @returns {boolean} True. Carbon accepts it (`cpp:438-441`) despite having\n * no bindless path here, because the declaration is a residency hint\n * rather than a bind.\n */\n UseResources(_destination, _usage, _resources)\n {\n return true;\n }\n\n\n /**\n * Binds a top-level acceleration structure for raytracing.\n *\n * @param {object} _tlas The acceleration structure.\n * @returns {boolean} True (`Tr2RenderContextStub.cpp:443-446`).\n */\n UseAccelerationStructure(_tlas)\n {\n return true;\n }\n\n\n /**\n * Dispatches a raytracing pipeline.\n *\n * @param {object} _pipeline The raytracing pipeline state.\n * @param {object} _shaderTable The shader table.\n * @param {string} _rayGenShader The ray generation shader name.\n * @param {number} _width Dispatch width.\n * @param {number} _height Dispatch height.\n * @param {number} _depth Dispatch depth.\n * @returns {boolean} False; the stub refuses (`Tr2RenderContextStub.h:180-183`).\n */\n DispatchRays(_pipeline, _shaderTable, _rayGenShader, _width, _height, _depth)\n {\n return false;\n }\n\n\n /**\n * The GPU's last known state, for a crash report.\n *\n * @returns {boolean} False; the stub has no state to report (`cpp:413-416`).\n */\n GetGpuStateMarker()\n {\n return false;\n }\n\n\n /**\n * The resource a GPU page fault touched, for a crash report.\n *\n * @returns {boolean} False; the stub cannot fault (`cpp:419-428`).\n */\n GetGpuPageFaultResource()\n {\n return false;\n }\n\n\n /**\n * Marks a point in the frame for a profiler.\n *\n * @param {number} _frameEvent Carbon's `Tr2RenderContextEnum::FrameEvent`.\n */\n MarkFrameEvent(_frameEvent)\n {\n }\n\n\n /**\n * Turns upscaling on.\n *\n * Carbon's stub answers `OK` (`Tr2RenderContextStub.cpp:459-462`) without\n * creating anything, so a caller that only enables upscaling sees success\n * and a caller that then asks for a context gets null. That pairing is\n * Carbon's, and both halves are ported as they are.\n *\n * @param {number} _technique A `Technique` value.\n * @param {number} _setting A `Setting` value.\n * @param {boolean} _frameGeneration Whether frame generation is wanted.\n * @param {number} _adapter The adapter index.\n * @returns {number} `Result.OK`.\n */\n EnableUpscaling(_technique, _setting, _frameGeneration, _adapter)\n {\n return UpscalingResult.OK;\n }\n\n\n /**\n * An existing upscaling context.\n *\n * @param {number} _contextId The context id.\n * @returns {null} Null; the stub keeps none (`cpp:464-467`).\n */\n GetUpscalingContext(_contextId)\n {\n return null;\n }\n\n\n /**\n * Creates an upscaling context, or reuses one.\n *\n * @param {object} _params Carbon's `UpscalingContextParams`.\n * @param {number} _existingContext A context id, or `INVALID_UPSCALING_CONTEXT_ID`.\n * @returns {null} Null; the stub creates none (`cpp:469-472`).\n */\n CreateUpscalingContext(_params, _existingContext = INVALID_UPSCALING_CONTEXT_ID)\n {\n return null;\n }\n\n\n /**\n * Destroys an upscaling context.\n *\n * @param {number} _contextId The context id.\n */\n DeleteUpscalingContext(_contextId)\n {\n }\n\n\n /**\n * What an upscaling context is doing.\n *\n * @param {number} _contextId The context id.\n * @returns {object} A default-constructed `UpscalingInfo` (`cpp:478-481`).\n */\n GetUpscalingInfo(_contextId)\n {\n // Every value is the one `UpscalingInfo::UpscalingInfo()` sets\n // (`src/upscaling/Tr2UpscalingAL.cpp:72-87`). Two are not zero.\n return {\n displayWidth: 0,\n displayHeight: 0,\n renderWidth: 0,\n renderHeight: 0,\n technique: UpscalingTechnique.NONE,\n setting: UpscalingSetting.NATIVE,\n frameGeneration: false,\n temporal: false,\n hasSharpening: false,\n upscalingAmount: 1,\n jitterX: 0,\n jitterY: 0,\n mipLevelBias: 0\n };\n }\n\n\n /**\n * The techniques an adapter supports.\n *\n * @param {number} _adapter The adapter index.\n * @returns {Array} Empty; the stub supports none (`cpp:491-494`).\n */\n GetSupportedUpscalingTechniques(_adapter)\n {\n return [];\n }\n\n\n /**\n * The upscaling currently set up.\n *\n * Carbon fills four out-parameters with \"no upscaling\": technique `NONE`,\n * setting `NATIVE`, neither frame generation nor temporal. JavaScript returns\n * the record instead of writing through references.\n *\n * A DONOR ANOMALY, REPRODUCED RATHER THAN TIDIED. The stub header declares\n * this on `Tr2RenderContextAL` (`Tr2RenderContextStub.h:277`) but the body is\n * defined on `Tr2PrimaryRenderContextAL` (`Tr2RenderContextStub.cpp:483-489`),\n * a class no non-DX backend declares - metal does the same thing with\n * `DeleteUpscalingContext` (`Tr2RenderContextMetal.mm:1464`). The upscaling\n * family appears to be live only in the DX backends. The values below are the\n * ones that body assigns; a port never silently fixes Carbon, so the quirk is\n * recorded here rather than resolved.\n *\n * @returns {object} The current upscaling setup.\n */\n GetUpscalingSetup()\n {\n return {\n technique: UpscalingTechnique.NONE,\n setting: UpscalingSetting.NATIVE,\n frameGeneration: false,\n temporal: false\n };\n }\n}\n"],"names":["fail","message","error","Error","code","MAX_RENDER_TARGET","primaryRenderContext","Tr2BindlessResourcesAL","Add","_resource","Clear","Tr2RenderContextALStub","_isValid","_boundRenderTargets","Array","fill","_depthStencil","_renderTargetStacks","from","length","_depthStencilStack","_viewport","_drawCount","_clearCount","_renderStateSetup","_renderStateOverrides","_frameNumber","_caps","Tr2CapsALStub","_defaultBackBuffer","Tr2TextureALStub","SHADER_TYPE_MASK","ShaderType","VERTEX_SHADER","PIXEL_SHADER","constructor","SetPrimaryRenderContext","renderContext","GetPrimaryRenderContext","GetPrimaryRenderContextPointer","CreateDevice","presentParameters","SetPresentParameters","CreateBuffer","description","initialData","buffer","Tr2BufferALStub","Failed","Create","CreateConstantBuffer","size","usage","Tr2ConstantUsageAL","REUSABLE","Tr2ConstantBufferALStub","CreateTexture","desc","options","texture","CreateResourceSet","program","resourceSet","Tr2ResourceSetALStub","_samplerStates","Map","CreateSamplerState","key","SamplerDescriptionKey","existing","get","state","Tr2SamplerStateALStub","set","CreateVertexLayout","definition","layout","Tr2VertexLayoutALStub","CreateShader","stageType","bytecode","signature","shaderPath","shader","Tr2ShaderALStub","CreateShaderProgram","shaders","Tr2ShaderProgramALStub","mode","result","Tr2BitmapDimensions","Texture2D","width","height","PixelFormat","PIXEL_FORMAT_B8G8R8A8_UNORM","gpuUsage","Tr2GpuUsage","RENDER_TARGET","SetRenderTarget","ALResult","S_OK","GetCaps","GetDefaultBackBuffer","GetBackBufferFormat","GetFormat","GetRenderTargetSize","slot","E_FAIL","target","IsValid","E_INVALIDCALL","GetWidth","GetHeight","ReleaseDeviceResources","Destroy","stack","renderTarget","Number","isInteger","GetRenderTarget","PushRenderTarget","push","PopRenderTarget","pop","GetStackSizeRT","SetDepthStencil","depthStencil","GetDepthStencil","PushDepthStencil","PopDepthStencil","GetStackSizeDS","SetViewport","viewport","GetViewport","_options","GetClearCount","ClearUav","CopyRenderTarget","IsRenderTargetValid","ResolveRenderTarget","GenerateMipMaps","BeginScene","EndScene","SetVertexLayout","_layout","SetStreamSource","_stream","_buffer","_offset","_stride","SetIndices","SetTopology","topology","Topology","TOP_MAX_TOPOLOGY","SetShaderProgram","_shaderProgram","SetResourceSet","_resourceSet","SetConstants","_constantType","_registerIndex","_maxRegisterCount","CopySubBuffer","SetReadOnlyDepth","_enable","GetReadOnlyDepth","RenderPassHint","_attachments","EndRenderPassHint","AddGpuMarker","_marker","PushGpuMarker","PopGpuMarker","SupportsBindlessTextures","SetRenderState","SetRenderStates","setup","overrides","GetRenderStates","RunComputeShader","RunComputeShaderIndirect","DrawIndexedInstanced","_indexCountPerInstance","_instanceCount","_startIndexLocation","_baseVertexLocation","_startInstanceLocation","DrawInstanced","_vertexCountPerInstance","_startVertexLocation","DrawIndexedPrimitive","_numVertices","_startIndex","_primitiveCount","_minimumIndex","DrawPrimitive","_startVertex","DrawIndexedPrimitiveUP","indexData","vertexStreamZeroData","_vertexStreamZeroStride","DrawPrimitiveUP","_vertexStreamZeroData","DrawIndexedInstancedIndirect","DrawInstancedIndirect","GetDrawCount","Present","GetRecordingFrameNumber","GetRenderedFrameNumber","GetTotalVideoMemory","UseResources","_destination","_usage","_resources","UseAccelerationStructure","_tlas","DispatchRays","_pipeline","_shaderTable","_rayGenShader","_width","_height","_depth","GetGpuStateMarker","GetGpuPageFaultResource","MarkFrameEvent","_frameEvent","EnableUpscaling","_technique","_setting","_frameGeneration","_adapter","UpscalingResult","OK","GetUpscalingContext","_contextId","CreateUpscalingContext","_params","_existingContext","INVALID_UPSCALING_CONTEXT_ID","DeleteUpscalingContext","GetUpscalingInfo","displayWidth","displayHeight","renderWidth","renderHeight","technique","UpscalingTechnique","NONE","setting","UpscalingSetting","NATIVE","frameGeneration","temporal","hasSharpening","upscalingAmount","jitterX","jitterY","mipLevelBias","GetSupportedUpscalingTechniques","GetUpscalingSetup"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;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;;AAQA,SAASA,IAAIA,CAACC,OAAO,EACrB;EACE,MAAMC,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAA,wBAAA,EAA2BF,OAAO,EAAE,CAAC;EAC7DC,KAAK,CAACE,IAAI,GAAG,qBAAqB;AAClC,EAAA,MAAMF,KAAK;AACb;;AAGA;AACA,MAAMG,iBAAiB,GAAG,CAAC;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,oBAAoB,GAAG,IAAI;;AAG/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,sBAAsB,CACnC;AACE;AACF;AACA;AACA;AACA;EACEC,GAAGA,CAACC,SAAS,EACb,CACA;;AAEA;EACAC,KAAKA,GACL,CACA;AACF;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,sBAAsB,CACnC;AACE;AACAC,EAAAA,QAAQ,GAAG,KAAK;;AAEhB;EACAC,mBAAmB,GAAG,IAAIC,KAAK,CAACT,iBAAiB,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC;AAE7DC,EAAAA,aAAa,GAAG,IAAI;;AAEpB;AACA;AACA;;AAEA;AACAC,EAAAA,mBAAmB,GAAGH,KAAK,CAACI,IAAI,CAAC;AAAEC,IAAAA,MAAM,EAAEd;GAAmB,EAAE,MAAM,EAAE,CAAC;AAEzEe,EAAAA,kBAAkB,GAAG,EAAE;AAEvBC,EAAAA,SAAS,GAAG,IAAI;;AAEhB;AACAC,EAAAA,UAAU,GAAG,CAAC;;AAGd;AACAC,EAAAA,WAAW,GAAG,CAAC;;AAEf;AACAC,EAAAA,iBAAiB,GAAG,IAAI;AAExBC,EAAAA,qBAAqB,GAAG,IAAI;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACAC,EAAAA,YAAY,GAAG,CAAC;;AAEhB;AACAC,EAAAA,KAAK,GAAG,IAAIC,aAAa,EAAE;;AAE3B;AACAC,EAAAA,kBAAkB,GAAG,IAAIC,gBAAgB,EAAE;;AAE3C;AACF;AACA;AACA;AACA;AACA;AACE,EAAA,OAAOC,gBAAgB,GAAI,CAAC,IAAIC,UAAU,CAACC,aAAa,GAAK,CAAC,IAAID,UAAU,CAACE,YAAa;;AAE1F;AACF;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,WAAWA,GACX;AACE7B,IAAAA,oBAAoB,GAAG,IAAI;AAC7B,EAAA;;AAGA;AACF;AACA;AACA;AACA;EACE,OAAO8B,uBAAuBA,CAACC,aAAa,EAC5C;AACE/B,IAAAA,oBAAoB,GAAG+B,aAAa;AACtC,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,uBAAuBA,GAC9B;AACE,IAAA,IAAIhC,oBAAoB,KAAK,IAAI,EAAEN,IAAI,CAAC,oCAAoC,CAAC;AAE7E,IAAA,OAAOM,oBAAoB;AAC7B,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOiC,8BAA8BA,GACrC;AACE,IAAA,OAAOjC,oBAAoB;AAC7B,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEkC,EAAAA,YAAYA,CAACC,iBAAiB,GAAG,IAAI,EACrC;IACE,IAAI,CAAC7B,QAAQ,GAAG,IAAI;AAEpB,IAAA,IAAI6B,iBAAiB,EAAE,IAAI,CAACC,oBAAoB,CAACD,iBAAiB,CAAC;AAEnE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEE,EAAAA,YAAYA,CAACC,WAAW,EAAEC,WAAW,GAAG,IAAI,EAC5C;AACE,IAAA,MAAMC,MAAM,GAAG,IAAIC,eAAe,EAAE;AAEpC,IAAA,IAAIC,MAAM,CAACF,MAAM,CAACG,MAAM,CAACL,WAAW,EAAEC,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,IAAI;AAEtE,IAAA,OAAOC,MAAM;AACf,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEI,EAAAA,oBAAoBA,CAACC,IAAI,GAAG,CAAC,EAAEC,KAAK,GAAGC,kBAAkB,CAACC,QAAQ,EAAET,WAAW,GAAG,IAAI,EACtF;AACE,IAAA,MAAMC,MAAM,GAAG,IAAIS,uBAAuB,EAAE;IAE5C,IAAIJ,IAAI,GAAG,CAAC,IAAIH,MAAM,CAACF,MAAM,CAACG,MAAM,CAACE,IAAI,EAAEC,KAAK,EAAEP,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,IAAI;AAElF,IAAA,OAAOC,MAAM;AACf,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACE;AACF;AACA;AACA;AACA;AACA;AACA;AACEU,EAAAA,aAAaA,CAACC,IAAI,EAAEC,OAAO,EAC3B;AACE,IAAA,MAAMC,OAAO,GAAG,IAAI7B,gBAAgB,EAAE;AAEtC,IAAA,IAAIkB,MAAM,CAACW,OAAO,CAACV,MAAM,CAACQ,IAAI,EAAEC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,IAAI;AAElE,IAAA,OAAOC,OAAO;AAChB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,iBAAiBA,CAAChB,WAAW,EAAEiB,OAAO,EACtC;AACE,IAAA,MAAMC,WAAW,GAAG,IAAIC,oBAAoB,EAAE;AAE9C,IAAA,IAAIf,MAAM,CAACc,WAAW,CAACb,MAAM,CAACL,WAAW,EAAEiB,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,IAAI;AAEvE,IAAA,OAAOC,WAAW;AACpB,EAAA;;AAEA;AACAE,EAAAA,cAAc,GAAG,IAAIC,GAAG,EAAE;;AAE1B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,kBAAkBA,CAACtB,WAAW,EAC9B;AACE,IAAA,MAAMuB,GAAG,GAAGC,qBAAqB,CAACxB,WAAW,CAAC;AAE9C,IAAA,IAAIuB,GAAG,KAAK,IAAI,EAAE,OAAO,IAAI;IAE7B,MAAME,QAAQ,GAAG,IAAI,CAACL,cAAc,CAACM,GAAG,CAACH,GAAG,CAAC;IAE7C,IAAIE,QAAQ,EAAE,OAAOA,QAAQ;AAE7B,IAAA,MAAME,KAAK,GAAG,IAAIC,qBAAqB,EAAE;AAEzC,IAAA,IAAIxB,MAAM,CAACuB,KAAK,CAACtB,MAAM,CAACL,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,IAAI;IAExD,IAAI,CAACoB,cAAc,CAACS,GAAG,CAACN,GAAG,EAAEI,KAAK,CAAC;AAEnC,IAAA,OAAOA,KAAK;AACd,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEG,kBAAkBA,CAACC,UAAU,EAC7B;AACE,IAAA,MAAMC,MAAM,GAAG,IAAIC,qBAAqB,EAAE;AAE1C,IAAA,IAAI7B,MAAM,CAAC4B,MAAM,CAAC3B,MAAM,CAAC0B,UAAU,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,IAAI;AAExD,IAAA,OAAOC,MAAM;AACf,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEE,YAAYA,CAACC,SAAS,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,UAAU,GAAG,EAAE,EAC5D;AACE,IAAA,MAAMC,MAAM,GAAG,IAAIC,eAAe,EAAE;AAEpC,IAAA,IAAIpC,MAAM,CAACmC,MAAM,CAAClC,MAAM,CAAC8B,SAAS,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,UAAU,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,IAAI;AAExF,IAAA,OAAOC,MAAM;AACf,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEE,mBAAmBA,CAACC,OAAO,EAC3B;AACE,IAAA,MAAMzB,OAAO,GAAG,IAAI0B,sBAAsB,EAAE;AAE5C,IAAA,IAAIvC,MAAM,CAACa,OAAO,CAACZ,MAAM,CAACqC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,IAAI;AAEtD,IAAA,OAAOzB,OAAO;AAChB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEnB,oBAAoBA,CAACD,iBAAiB,EACtC;IACE,MAAM;AAAE+C,MAAAA;AAAK,KAAC,GAAG/C,iBAAiB;IAElC,MAAMgD,MAAM,GAAG,IAAI,CAAC5D,kBAAkB,CAACoB,MAAM,CAC3CyC,mBAAmB,CAACC,SAAS,CAACH,IAAI,CAACI,KAAK,EAAEJ,IAAI,CAACK,MAAM,EAAE,CAAC,EAAEC,WAAW,CAACC,2BAA2B,CAAC,EAClG;MAAEC,QAAQ,EAAEC,WAAW,CAACC;KAAe,EACvC,IACF,CAAC;AAED,IAAA,IAAIlD,MAAM,CAACyC,MAAM,CAAC,EAAE,OAAOA,MAAM;IAEjC,IAAI,CAACU,eAAe,CAAC,CAAC,EAAE,IAAI,CAACtE,kBAAkB,CAAC;IAEhD,OAAOuE,QAAQ,CAACC,IAAI;AACtB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,OAAOA,GACP;IACE,OAAO,IAAI,CAAC3E,KAAK;AACnB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE4E,EAAAA,oBAAoBA,GACpB;IACE,OAAO,IAAI,CAAC1E,kBAAkB;AAChC,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACE2E,EAAAA,mBAAmBA,GACnB;AACE,IAAA,OAAO,IAAI,CAAC3E,kBAAkB,CAAC4E,SAAS,EAAE;AAC5C,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,mBAAmBA,CAACC,IAAI,GAAG,CAAC,EAC5B;AACE,IAAA,IAAIA,IAAI,IAAItG,iBAAiB,EAAE,OAAO;MAAEoF,MAAM,EAAEW,QAAQ,CAACQ,MAAM;AAAEhB,MAAAA,KAAK,EAAE,CAAC;AAAEC,MAAAA,MAAM,EAAE;KAAG;AAEtF,IAAA,MAAMgB,MAAM,GAAG,IAAI,CAAChG,mBAAmB,CAAC8F,IAAI,CAAC;IAE7C,IAAI,CAACE,MAAM,IAAI,CAACA,MAAM,CAACC,OAAO,EAAE,EAAE,OAAO;MAAErB,MAAM,EAAEW,QAAQ,CAACW,aAAa;AAAEnB,MAAAA,KAAK,EAAE,CAAC;AAAEC,MAAAA,MAAM,EAAE;KAAG;IAEhG,OAAO;MAAEJ,MAAM,EAAEW,QAAQ,CAACC,IAAI;AAAET,MAAAA,KAAK,EAAEiB,MAAM,CAACG,QAAQ,EAAE;AAAEnB,MAAAA,MAAM,EAAEgB,MAAM,CAACI,SAAS;KAAI;AACxF,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,sBAAsBA,GACtB;AACE,IAAA,IAAI,CAACrG,mBAAmB,CAACE,IAAI,CAAC,IAAI,CAAC;AACnC,IAAA,IAAI,CAACc,kBAAkB,CAACsF,OAAO,EAAE;AACjC,IAAA,IAAI,CAACtF,kBAAkB,GAAG,IAAIC,gBAAgB,EAAE;AAEhD,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACAqF,EAAAA,OAAOA,GACP;AACE,IAAA,IAAI,CAACtG,mBAAmB,CAACE,IAAI,CAAC,IAAI,CAAC;IACnC,IAAI,CAACC,aAAa,GAAG,IAAI;IACzB,KAAK,MAAMoG,KAAK,IAAI,IAAI,CAACnG,mBAAmB,EAAEmG,KAAK,CAACjG,MAAM,GAAG,CAAC;AAC9D,IAAA,IAAI,CAACC,kBAAkB,CAACD,MAAM,GAAG,CAAC;IAClC,IAAI,CAACP,QAAQ,GAAG,KAAK;AAErB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACAkG,EAAAA,OAAOA,GACP;IACE,OAAO,IAAI,CAAClG,QAAQ;AACtB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACEuF,EAAAA,eAAeA,CAACQ,IAAI,EAAEU,YAAY,EAClC;AACE,IAAA,IAAI,CAACC,MAAM,CAACC,SAAS,CAACZ,IAAI,CAAC,IAAIA,IAAI,GAAG,CAAC,IAAIA,IAAI,IAAItG,iBAAiB,EACpE;MACEL,IAAI,CAAC,sBAAsB2G,IAAI,CAAA,eAAA,EAAkBtG,iBAAiB,GAAG,CAAC,EAAE,CAAC;AAC3E,IAAA;IAEA,IAAI,CAACQ,mBAAmB,CAAC8F,IAAI,CAAC,GAAGU,YAAY,IAAI,IAAI;AAErD,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACEG,EAAAA,eAAeA,CAACb,IAAI,GAAG,CAAC,EACxB;AACE,IAAA,OAAO,IAAI,CAAC9F,mBAAmB,CAAC8F,IAAI,CAAC,IAAI,IAAI;AAC/C,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEc,EAAAA,gBAAgBA,CAACd,IAAI,GAAG,CAAC,EACzB;AACE,IAAA,IAAI,CAACW,MAAM,CAACC,SAAS,CAACZ,IAAI,CAAC,IAAIA,IAAI,GAAG,CAAC,IAAIA,IAAI,IAAItG,iBAAiB,EACpE;MACEL,IAAI,CAAC,sBAAsB2G,IAAI,CAAA,eAAA,EAAkBtG,iBAAiB,GAAG,CAAC,EAAE,CAAC;AAC3E,IAAA;AAEA,IAAA,IAAI,CAACY,mBAAmB,CAAC0F,IAAI,CAAC,CAACe,IAAI,CAAC,IAAI,CAAC7G,mBAAmB,CAAC8F,IAAI,CAAC,IAAI,IAAI,CAAC;AAE3E,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACEgB,EAAAA,eAAeA,CAAChB,IAAI,GAAG,CAAC,EACxB;AACE,IAAA,IAAI,CAACW,MAAM,CAACC,SAAS,CAACZ,IAAI,CAAC,IAAIA,IAAI,GAAG,CAAC,IAAIA,IAAI,IAAItG,iBAAiB,EACpE;MACEL,IAAI,CAAC,sBAAsB2G,IAAI,CAAA,eAAA,EAAkBtG,iBAAiB,GAAG,CAAC,EAAE,CAAC;AAC3E,IAAA;AAEA,IAAA,MAAM+G,KAAK,GAAG,IAAI,CAACnG,mBAAmB,CAAC0F,IAAI,CAAC;;AAE5C;AACA;AACA;AACA;AACA,IAAA,IAAI,CAACS,KAAK,CAACjG,MAAM,EAAE,OAAO,KAAK;IAE/B,IAAI,CAACN,mBAAmB,CAAC8F,IAAI,CAAC,GAAGS,KAAK,CAACQ,GAAG,EAAE;AAE5C,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACEC,EAAAA,cAAcA,CAAClB,IAAI,GAAG,CAAC,EACvB;IACE,OAAO,IAAI,CAAC1F,mBAAmB,CAAC0F,IAAI,CAAC,EAAExF,MAAM,IAAI,CAAC;AACpD,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE2G,eAAeA,CAACC,YAAY,EAC5B;AACE,IAAA,IAAI,CAAC/G,aAAa,GAAG+G,YAAY,IAAI,IAAI;AAEzC,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACAC,EAAAA,eAAeA,GACf;IACE,OAAO,IAAI,CAAChH,aAAa;AAC3B,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEiH,EAAAA,gBAAgBA,GAChB;IACE,IAAI,CAAC7G,kBAAkB,CAACsG,IAAI,CAAC,IAAI,CAAC1G,aAAa,CAAC;AAEhD,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACEkH,EAAAA,eAAeA,GACf;IACE,IAAI,CAAC,IAAI,CAAC9G,kBAAkB,CAACD,MAAM,EAAE,OAAO,KAAK;IAEjD,IAAI,CAACH,aAAa,GAAG,IAAI,CAACI,kBAAkB,CAACwG,GAAG,EAAE;AAElD,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACAO,EAAAA,cAAcA,GACd;AACE,IAAA,OAAO,IAAI,CAAC/G,kBAAkB,CAACD,MAAM;AACvC,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEiH,WAAWA,CAACC,QAAQ,EACpB;AACE,IAAA,IAAI,CAAChH,SAAS,GAAGgH,QAAQ,IAAI,IAAI;AAEjC,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACAC,EAAAA,WAAWA,GACX;IACE,OAAO,IAAI,CAACjH,SAAS;AACvB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEX,KAAKA,CAAC6H,QAAQ,EACd;IACE,IAAI,CAAChH,WAAW,IAAI,CAAC;AAErB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACAiH,EAAAA,aAAaA,GACb;IACE,OAAO,IAAI,CAACjH,WAAW;AACzB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEkH,EAAAA,QAAQA,GACR;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,gBAAgBA,GAChB;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEC,mBAAmBA,CAACtB,YAAY,EAChC;AACE,IAAA,OAAO,IAAI,CAACzG,QAAQ,IAAI,CAAC,CAACyG,YAAY;AACxC,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACEuB,EAAAA,mBAAmBA,GACnB;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACAC,EAAAA,eAAeA,GACf;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,UAAUA,GACV;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACAC,EAAAA,QAAQA,GACR;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEC,eAAeA,CAACC,OAAO,EACvB;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,eAAeA,CAACC,OAAO,EAAEC,OAAO,EAAEC,OAAO,EAAEC,OAAO,EAClD;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,UAAUA,CAACH,OAAO,EAAEE,OAAO,GAAG,CAAC,EAC/B;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEE,WAAWA,CAACC,QAAQ,EACpB;AACE,IAAA,OAAOA,QAAQ,GAAGC,QAAQ,CAACC,gBAAgB;AAC7C,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEC,gBAAgBA,CAACC,cAAc,EAC/B;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,cAAcA,CAACC,YAAY,EAC3B;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,YAAYA,CAACZ,OAAO,EAAEa,aAAa,EAAEC,cAAc,EAAEC,iBAAiB,GAAG,CAAC,EAC1E;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACEC,EAAAA,aAAaA,GACb;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,gBAAgBA,CAACC,OAAO,EACxB,CACA;;AAEA;AACAC,EAAAA,gBAAgBA,GAChB;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,cAAcA,CAAC,GAAGC,YAAY,EAC9B,CACA;;AAEA;AACF;AACA;AACA;AACA;EACEC,iBAAiBA,GACjB,CACA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,YAAYA,CAACC,OAAO,EACpB,CACA;;AAEA;EACAC,aAAaA,CAACD,OAAO,EACrB,CACA;;AAEA;EACAE,YAAYA,GACZ,CACA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,wBAAwBA,GACxB;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACEC,EAAAA,cAAcA,GACd;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,eAAeA,CAACC,KAAK,EAAEC,SAAS,GAAG,IAAI,EACvC;AACE,IAAA,IAAI,CAACD,KAAK,EAAE,OAAO,KAAK;IAExB,IAAI,CAAC1J,iBAAiB,GAAG0J,KAAK;IAC9B,IAAI,CAACzJ,qBAAqB,GAAG0J,SAAS;AAEtC,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACAC,EAAAA,eAAeA,GACf;IACE,OAAO;MAAEF,KAAK,EAAE,IAAI,CAAC1J,iBAAiB;MAAE2J,SAAS,EAAE,IAAI,CAAC1J;KAAuB;AACjF,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACE4J,EAAAA,gBAAgBA,GAChB;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACAC,EAAAA,wBAAwBA,GACxB;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEC,oBAAoBA,CAACC,sBAAsB,EAAEC,cAAc,EAAEC,mBAAmB,EAAEC,mBAAmB,EAAEC,sBAAsB,EAC7H;IACE,IAAI,CAACtK,UAAU,IAAI,CAAC;AAEpB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;EACAuK,aAAaA,CAACC,uBAAuB,EAAEL,cAAc,EAAEM,oBAAoB,EAAEH,sBAAsB,EACnG;IACE,IAAI,CAACtK,UAAU,IAAI,CAAC;AAEpB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE0K,oBAAoBA,CAACC,YAAY,EAAEC,WAAW,EAAEC,eAAe,EAAEC,aAAa,GAAG,CAAC,EAClF;IACE,IAAI,CAAC9K,UAAU,IAAI,CAAC;AAEpB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACE+K,EAAAA,aAAaA,CAACC,YAAY,EAAEH,eAAe,EAC3C;IACE,IAAI,CAAC7K,UAAU,IAAI,CAAC;AAEpB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEiL,sBAAsBA,CAACN,YAAY,EAAEE,eAAe,EAAEK,SAAS,EAAEC,oBAAoB,EAAEC,uBAAuB,EAC9G;AACE,IAAA,IAAI,CAACF,SAAS,IAAI,CAACC,oBAAoB,EAAE,OAAO,KAAK;IAErD,IAAI,CAACnL,UAAU,IAAI,CAAC;AAEpB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEqL,EAAAA,eAAeA,CAACR,eAAe,EAAES,qBAAqB,EAAEF,uBAAuB,EAC/E;IACE,IAAI,CAACpL,UAAU,IAAI,CAAC;AAEpB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACEuL,EAAAA,4BAA4BA,GAC5B;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAEA;AACAC,EAAAA,qBAAqBA,GACrB;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAEA;AACAC,EAAAA,YAAYA,GACZ;IACE,OAAO,IAAI,CAACzL,UAAU;AACxB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE0L,EAAAA,OAAOA,GACP;IACE,IAAI,CAACtL,YAAY,IAAI,CAAC;AAEtB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEuL,EAAAA,uBAAuBA,GACvB;AACE,IAAA,OAAO,IAAI,CAACvL,YAAY,GAAG,CAAC;AAC9B,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEwL,EAAAA,sBAAsBA,GACtB;IACE,OAAO,IAAI,CAACxL,YAAY;AAC1B,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEyL,EAAAA,mBAAmBA,GACnB;AACE,IAAA,OAAO,CAAC;AACV,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,YAAYA,CAACC,YAAY,EAAEC,MAAM,EAAEC,UAAU,EAC7C;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACA;EACEC,wBAAwBA,CAACC,KAAK,EAC9B;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,YAAYA,CAACC,SAAS,EAAEC,YAAY,EAAEC,aAAa,EAAEC,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAC5E;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACEC,EAAAA,iBAAiBA,GACjB;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACEC,EAAAA,uBAAuBA,GACvB;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAGA;AACF;AACA;AACA;AACA;EACEC,cAAcA,CAACC,WAAW,EAC1B,CACA;;AAGA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,eAAeA,CAACC,UAAU,EAAEC,QAAQ,EAAEC,gBAAgB,EAAEC,QAAQ,EAChE;IACE,OAAOC,eAAe,CAACC,EAAE;AAC3B,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACA;EACEC,mBAAmBA,CAACC,UAAU,EAC9B;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,sBAAsBA,CAACC,OAAO,EAAEC,gBAAgB,GAAGC,4BAA4B,EAC/E;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAGA;AACF;AACA;AACA;AACA;EACEC,sBAAsBA,CAACL,UAAU,EACjC,CACA;;AAGA;AACF;AACA;AACA;AACA;AACA;EACEM,gBAAgBA,CAACN,UAAU,EAC3B;AACE;AACA;IACA,OAAO;AACLO,MAAAA,YAAY,EAAE,CAAC;AACfC,MAAAA,aAAa,EAAE,CAAC;AAChBC,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,YAAY,EAAE,CAAC;MACfC,SAAS,EAAEC,kBAAkB,CAACC,IAAI;MAClCC,OAAO,EAAEC,gBAAgB,CAACC,MAAM;AAChCC,MAAAA,eAAe,EAAE,KAAK;AACtBC,MAAAA,QAAQ,EAAE,KAAK;AACfC,MAAAA,aAAa,EAAE,KAAK;AACpBC,MAAAA,eAAe,EAAE,CAAC;AAClBC,MAAAA,OAAO,EAAE,CAAC;AACVC,MAAAA,OAAO,EAAE,CAAC;AACVC,MAAAA,YAAY,EAAE;KACf;AACH,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACA;EACEC,+BAA+BA,CAAC5B,QAAQ,EACxC;AACE,IAAA,OAAO,EAAE;AACX,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE6B,EAAAA,iBAAiBA,GACjB;IACE,OAAO;MACLd,SAAS,EAAEC,kBAAkB,CAACC,IAAI;MAClCC,OAAO,EAAEC,gBAAgB,CAACC,MAAM;AAChCC,MAAAA,eAAe,EAAE,KAAK;AACtBC,MAAAA,QAAQ,EAAE;KACX;AACH,EAAA;AACF;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tr2VideoAdapterInfoALStub.js","sources":["../../../../src/trinityal/stub/Tr2VideoAdapterInfoALStub.js"],"sourcesContent":["// Source: trinity/trinityal/stub/Tr2VideoAdapterInfoALStub.cpp\n// Source: trinity/trinityal/stub/Tr2VideoAdapterInfoALStub.h\n//\n// What adapters exist, what they are called, and what display modes they offer.\n//\n// ALL STATIC, as Carbon has it: adapter enumeration happens before any device\n// exists, so there is nothing to be an instance of.\n//\n// CARBON'S STUB ANSWERS WITH A PLAUSIBLE FICTION rather than refusing, and the\n// values are transcribed rather than rounded off - one adapter called \"stub\",\n// a 800x600 current mode, one available mode of 1920x1200, a 16384 maximum\n// texture width, and every format supported. A caller that branches on adapter\n// capability therefore takes its normal path instead of an error path that real\n// hardware would never take.\n//\n// THE ODD CONSTANTS ARE CARBON'S AND ARE KEPT. The driver version\n// 2533352100662421 and revision 163 look like noise; they are what the stub\n// reports, and a port that tidied them would be inventing. The single available\n// mode is also deliberately NOT the current mode - 1920x1200 against 800x600 -\n// so a caller that confuses the two is caught.\n//\n// A BROWSER HAS NO ADAPTER ENUMERATION. WebGPU exposes one adapter through\n// `requestAdapter` with no list and no display modes, so a real backend here\n// answers a subset of this. That is a reason to keep the interface, not to skip\n// it: the shape of the question is what the consumer already asks.\n\nimport { PixelFormat } from \"../../global/consts/renderContext/index.js\";\nimport { ALResult } from \"../ALResult.js\";\n\n\n/** Carbon's `DEFAULT_ADAPTER`. */\nexport const DEFAULT_ADAPTER = 0;\n\n/** Carbon's display-mode scaling and scanline \"unspecified\". */\nconst UNSPECIFIED = 0;\n\n\n/**\n * Adapter and display-mode enumeration.\n */\nexport class Tr2VideoAdapterInfoStub\n{\n /**\n * How many adapters exist.\n *\n * @returns {object} `{ result, count }`.\n */\n static GetAdapterCount()\n {\n return { result: ALResult.S_OK, count: 1 };\n }\n\n /**\n * What one adapter is.\n *\n * @param {number} [_adapterIndex] Which adapter.\n * @returns {object} `{ result, info }`.\n */\n static GetAdapterInfo(_adapterIndex = DEFAULT_ADAPTER)\n {\n return {\n result: ALResult.S_OK,\n info: {\n driver: \"stub\",\n description: \"Not an actual adapter.\",\n deviceName: \"stub\",\n driverVersion: 2533352100662421,\n vendorID: 0,\n deviceID: 0,\n subSystemID: 0,\n revision: 163,\n deviceIdentifier: { data1: 0, data2: 0, data3: 0, data4: [ 0, 0, 0, 0, 0, 0, 0, 0 ] }\n }\n };\n }\n\n /**\n * The monitor an adapter drives.\n *\n * @param {number} [_adapterIndex] Which adapter.\n * @returns {object} `{ result, monitor }`; there is no monitor.\n */\n static GetAdapterMonitor(_adapterIndex = DEFAULT_ADAPTER)\n {\n return { result: ALResult.S_OK, monitor: null };\n }\n\n /**\n * The mode an adapter is currently in.\n *\n * @param {number} [_adapterIndex] Which adapter.\n * @returns {object} `{ result, mode }`.\n */\n static GetAdapterDisplayMode(_adapterIndex = DEFAULT_ADAPTER)\n {\n return {\n result: ALResult.S_OK,\n mode: {\n format: PixelFormat.PIXEL_FORMAT_B8G8R8A8_UNORM,\n width: 800,\n height: 600,\n refreshRateNumerator: 1,\n refreshRateDenominator: 1,\n scaling: UNSPECIFIED,\n scanlineOrdering: UNSPECIFIED\n }\n };\n }\n\n /**\n * How many modes an adapter offers for a back-buffer format.\n *\n * @param {number} [_adapterIndex] Which adapter.\n * @param {number} [_backBufferFormat] A `PixelFormat`.\n * @returns {object} `{ result, count }`.\n */\n static GetAdapterModeCount(_adapterIndex = DEFAULT_ADAPTER, _backBufferFormat = 0)\n {\n return { result: ALResult.S_OK, count: 1 };\n }\n\n /**\n * One available mode.\n *\n * DELIBERATELY NOT THE CURRENT MODE. Carbon's stub reports 1920x1200 here\n * against the 800x600 it reports as current, which catches a caller that\n * treats the two as interchangeable.\n *\n * @param {number} [_adapterIndex] Which adapter.\n * @param {number} [_backBufferFormat] A `PixelFormat`.\n * @param {number} [_modeIndex] Which mode.\n * @returns {object} `{ result, mode }`.\n */\n static GetAdapterMode(_adapterIndex = DEFAULT_ADAPTER, _backBufferFormat = 0, _modeIndex = 0)\n {\n return {\n result: ALResult.S_OK,\n mode: {\n format: PixelFormat.PIXEL_FORMAT_B8G8R8X8_UNORM,\n width: 1920,\n height: 1200,\n refreshRateNumerator: 1,\n refreshRateDenominator: 59,\n scaling: UNSPECIFIED,\n scanlineOrdering: UNSPECIFIED\n }\n };\n }\n\n /**\n * The widest texture an adapter can hold.\n *\n * @param {number} [_adapterIndex] Which adapter.\n * @returns {object} `{ result, maxWidth }`.\n */\n static GetAdapterMaxTextureWidth(_adapterIndex = DEFAULT_ADAPTER)\n {\n return { result: ALResult.S_OK, maxWidth: 16384 };\n }\n\n /**\n * Whether a format can be a back buffer.\n *\n * @param {number} [_adapterIndex] Which adapter.\n * @param {number} [_format] A `PixelFormat`.\n * @returns {boolean} True; the stub supports everything.\n */\n static SupportsBackBufferFormat(_adapterIndex = DEFAULT_ADAPTER, _format = 0)\n {\n return true;\n }\n\n /**\n * Whether a format can be a render target.\n *\n * @param {number} [_adapterIndex] Which adapter.\n * @param {number} [_format] A `PixelFormat`.\n * @returns {boolean} True; the stub supports everything.\n */\n static SupportsRenderTargetFormat(_adapterIndex = DEFAULT_ADAPTER, _format = 0)\n {\n return true;\n }\n\n /**\n * Whether two adapter indices name different adapters.\n *\n * @param {number} adapter1 One index.\n * @param {number} adapter2 The other.\n * @returns {boolean} Whether they differ.\n */\n static AreAdaptersDifferent(adapter1, adapter2)\n {\n return adapter1 !== adapter2;\n }\n\n /**\n * Re-reads adapter data after a device change.\n *\n * @returns {number} An `ALResult`.\n */\n static RefreshData()\n {\n return ALResult.S_OK;\n }\n}\n"],"names":["DEFAULT_ADAPTER","UNSPECIFIED","Tr2VideoAdapterInfoStub","GetAdapterCount","result","ALResult","S_OK","count","GetAdapterInfo","_adapterIndex","info","driver","description","deviceName","driverVersion","vendorID","deviceID","subSystemID","revision","deviceIdentifier","data1","data2","data3","data4","GetAdapterMonitor","monitor","GetAdapterDisplayMode","mode","format","PixelFormat","PIXEL_FORMAT_B8G8R8A8_UNORM","width","height","refreshRateNumerator","refreshRateDenominator","scaling","scanlineOrdering","GetAdapterModeCount","_backBufferFormat","GetAdapterMode","_modeIndex","PIXEL_FORMAT_B8G8R8X8_UNORM","GetAdapterMaxTextureWidth","maxWidth","SupportsBackBufferFormat","_format","SupportsRenderTargetFormat","AreAdaptersDifferent","adapter1","adapter2","RefreshData"],"mappings":"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"}