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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (935) hide show
  1. package/README.md +58 -125
  2. package/dist/audio/index.js +8 -1
  3. package/dist/audio/index.js.map +1 -1
  4. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js +84 -0
  5. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js.map +1 -0
  6. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js +14 -0
  7. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js.map +1 -0
  8. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js +26 -0
  9. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js.map +1 -0
  10. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js +27 -0
  11. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js.map +1 -0
  12. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js +27 -0
  13. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js.map +1 -0
  14. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js +25 -0
  15. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js.map +1 -0
  16. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js +26 -0
  17. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js.map +1 -0
  18. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js +58 -0
  19. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js.map +1 -0
  20. package/dist/audio/trinity/audio/AudManager.js +1 -1
  21. package/dist/audio/trinity/audio/AudManager.js.map +1 -1
  22. package/dist/audio/trinity/audio/{AudObstructionOcclusion.js → AudObstructionOcclusion/AudObstructionOcclusion.js} +8 -52
  23. package/dist/audio/trinity/audio/AudObstructionOcclusion/AudObstructionOcclusion.js.map +1 -0
  24. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js +17 -0
  25. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js.map +1 -0
  26. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js +46 -0
  27. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js.map +1 -0
  28. package/dist/audio/trinity/index.js +8 -1
  29. package/dist/audio/trinity/index.js.map +1 -1
  30. package/dist/character/CjsCharacterAppearanceConstruction.js +5 -0
  31. package/dist/character/CjsCharacterAppearanceConstruction.js.map +1 -1
  32. package/dist/character/CjsCharacterAppearanceManager.js +14 -0
  33. package/dist/character/CjsCharacterAppearanceManager.js.map +1 -1
  34. package/dist/character/CjsCharacterFoundationConstruction.js +5 -0
  35. package/dist/character/CjsCharacterFoundationConstruction.js.map +1 -1
  36. package/dist/character/CjsCharacterTexturePolicy.js +5 -0
  37. package/dist/character/CjsCharacterTexturePolicy.js.map +1 -1
  38. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js +17 -0
  39. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js.map +1 -1
  40. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js +2 -0
  41. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js.map +1 -1
  42. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js +5 -0
  43. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js.map +1 -1
  44. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js +5 -0
  45. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js.map +1 -1
  46. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js +2 -0
  47. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js.map +1 -1
  48. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js +5 -0
  49. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js.map +1 -1
  50. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js +5 -0
  51. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js.map +1 -1
  52. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js +9 -0
  53. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js.map +1 -1
  54. package/dist/global/blue/CjsScriptCallback.js +142 -0
  55. package/dist/global/blue/CjsScriptCallback.js.map +1 -0
  56. package/dist/global/blue/index.js +2 -0
  57. package/dist/global/blue/index.js.map +1 -0
  58. package/dist/global/consts/renderContext/formats.js +51 -1
  59. package/dist/global/consts/renderContext/formats.js.map +1 -1
  60. package/dist/global/consts/renderContext/index.js +2 -2
  61. package/dist/global/consts/renderContext/renderStates.js +16 -1
  62. package/dist/global/consts/renderContext/renderStates.js.map +1 -1
  63. package/dist/global/contracts/index.js +0 -1
  64. package/dist/global/contracts/index.js.map +1 -1
  65. package/dist/global/index.js +4 -3
  66. package/dist/global/index.js.map +1 -1
  67. package/dist/global/math/index.js +2 -0
  68. package/dist/global/math/index.js.map +1 -1
  69. package/dist/global/math/mesh.js +70 -16
  70. package/dist/global/math/mesh.js.map +1 -1
  71. package/dist/global/math/noise.js +47 -68
  72. package/dist/global/math/noise.js.map +1 -1
  73. package/dist/global/math/pool.js +18 -3
  74. package/dist/global/math/pool.js.map +1 -1
  75. package/dist/global/math/random.js +52 -0
  76. package/dist/global/math/random.js.map +1 -0
  77. package/dist/global/math/tri3.js +18 -4
  78. package/dist/global/math/tri3.js.map +1 -1
  79. package/dist/global/schema/CjsSchema.js +20 -2
  80. package/dist/global/schema/CjsSchema.js.map +1 -1
  81. package/dist/global/schema/hydration.js +14 -0
  82. package/dist/global/schema/hydration.js.map +1 -1
  83. package/dist/global/utils/bytes.js +22 -4
  84. package/dist/global/utils/bytes.js.map +1 -1
  85. package/dist/global/utils/checksum.js +80 -0
  86. package/dist/global/utils/checksum.js.map +1 -0
  87. package/dist/global/utils/errors/CjsCancellationError.js +36 -0
  88. package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
  89. package/dist/global/utils/errors/CjsError.js +21 -52
  90. package/dist/global/utils/errors/CjsError.js.map +1 -1
  91. package/dist/global/utils/errors/abort.js +1 -1
  92. package/dist/global/utils/errors/abort.js.map +1 -1
  93. package/dist/global/utils/errors/index.js +2 -1
  94. package/dist/global/utils/errors/index.js.map +1 -1
  95. package/dist/global/utils/index.js +4 -2
  96. package/dist/global/utils/index.js.map +1 -1
  97. package/dist/index.js +95 -35
  98. package/dist/index.js.map +1 -1
  99. package/dist/input/Tr2MainWindow.js +7 -9
  100. package/dist/input/Tr2MainWindow.js.map +1 -1
  101. package/dist/resource/CjsResMan.js +33 -39
  102. package/dist/resource/CjsResMan.js.map +1 -1
  103. package/dist/resource/CjsResource.js +19 -5
  104. package/dist/resource/CjsResource.js.map +1 -1
  105. package/dist/resource/audio/AudioGeometryResData.js +22 -27
  106. package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
  107. package/dist/resource/audio/CjsAudioRes.js +4 -5
  108. package/dist/resource/audio/CjsAudioRes.js.map +1 -1
  109. package/dist/resource/format/CjsBitReader.js +263 -0
  110. package/dist/resource/format/CjsBitReader.js.map +1 -0
  111. package/dist/resource/format/CjsByteReader.js +130 -125
  112. package/dist/resource/format/CjsByteReader.js.map +1 -1
  113. package/dist/resource/format/CjsFormat.js +11 -4
  114. package/dist/resource/format/CjsFormat.js.map +1 -1
  115. package/dist/resource/format/CjsFormatError.js +37 -1
  116. package/dist/resource/format/CjsFormatError.js.map +1 -1
  117. package/dist/resource/format/CjsResourceProbe.js +41 -37
  118. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  119. package/dist/resource/format/carbonRecordGuard.js +33 -0
  120. package/dist/resource/format/carbonRecordGuard.js.map +1 -0
  121. package/dist/resource/format/imageSignatures.js +202 -0
  122. package/dist/resource/format/imageSignatures.js.map +1 -0
  123. package/dist/resource/format/index.js +2 -1
  124. package/dist/resource/format/index.js.map +1 -1
  125. package/dist/resource/format/jsonPolicies.js +180 -0
  126. package/dist/resource/format/jsonPolicies.js.map +1 -0
  127. package/dist/resource/formats/black/core/helpers.js +18 -29
  128. package/dist/resource/formats/black/core/helpers.js.map +1 -1
  129. package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
  130. package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
  131. package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
  132. package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
  133. package/dist/resource/formats/bnk/core/busNodes.js +2 -1
  134. package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
  135. package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
  136. package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
  137. package/dist/resource/formats/bnk/core/eventAction.js +15 -93
  138. package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
  139. package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
  140. package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
  141. package/dist/resource/formats/bnk/core/helpers.js +2 -48
  142. package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
  143. package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
  144. package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
  145. package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
  146. package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
  147. package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
  148. package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
  149. package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
  150. package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
  151. package/dist/resource/formats/cmf/core/binary.js +54 -60
  152. package/dist/resource/formats/cmf/core/binary.js.map +1 -1
  153. package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
  154. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  155. package/dist/resource/formats/dds/core/bc6h.js +16 -18
  156. package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
  157. package/dist/resource/formats/dds/core/bc7.js +28 -24
  158. package/dist/resource/formats/dds/core/bc7.js.map +1 -1
  159. package/dist/resource/formats/dds/core/helpers.js +7 -133
  160. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  161. package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
  162. package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
  163. package/dist/resource/formats/dxbc/core/helpers.js +4 -32
  164. package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
  165. package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
  166. package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
  167. package/dist/resource/formats/fbx/core/helpers.js +18 -12
  168. package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
  169. package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
  170. package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
  171. package/dist/resource/formats/flac/core/helpers.js +1 -62
  172. package/dist/resource/formats/flac/core/helpers.js.map +1 -1
  173. package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
  174. package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
  175. package/dist/resource/formats/gif/core/helpers.js +1 -63
  176. package/dist/resource/formats/gif/core/helpers.js.map +1 -1
  177. package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
  178. package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
  179. package/dist/resource/formats/gltf/core/helpers.js +3 -19
  180. package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
  181. package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
  182. package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
  183. package/dist/resource/formats/gr2/core/container.js +1 -10
  184. package/dist/resource/formats/gr2/core/container.js.map +1 -1
  185. package/dist/resource/formats/gr2/core/helpers.js +24 -35
  186. package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
  187. package/dist/resource/formats/gr2/core/shared.js +193 -189
  188. package/dist/resource/formats/gr2/core/shared.js.map +1 -1
  189. package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
  190. package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
  191. package/dist/resource/formats/hlsl/core/helpers.js +1 -30
  192. package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
  193. package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
  194. package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
  195. package/dist/resource/formats/jpeg/core/helpers.js +7 -134
  196. package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
  197. package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
  198. package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
  199. package/dist/resource/formats/mp3/core/helpers.js +1 -64
  200. package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
  201. package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
  202. package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
  203. package/dist/resource/formats/mp4/core/helpers.js +1 -73
  204. package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
  205. package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
  206. package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
  207. package/dist/resource/formats/obj/core/helpers.js +93 -115
  208. package/dist/resource/formats/obj/core/helpers.js.map +1 -1
  209. package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
  210. package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
  211. package/dist/resource/formats/ogg/core/helpers.js +1 -15
  212. package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
  213. package/dist/resource/formats/ogg/core/vorbis.js +138 -144
  214. package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
  215. package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
  216. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  217. package/dist/resource/formats/png/CjsPngFormat.js +5 -3
  218. package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
  219. package/dist/resource/formats/png/core/helpers.js +13 -152
  220. package/dist/resource/formats/png/core/helpers.js.map +1 -1
  221. package/dist/resource/formats/png/core/writer.js +3 -27
  222. package/dist/resource/formats/png/core/writer.js.map +1 -1
  223. package/dist/resource/formats/red/core/helpers.js +19 -29
  224. package/dist/resource/formats/red/core/helpers.js.map +1 -1
  225. package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
  226. package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
  227. package/dist/resource/formats/stl/core/helpers.js +44 -66
  228. package/dist/resource/formats/stl/core/helpers.js.map +1 -1
  229. package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
  230. package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
  231. package/dist/resource/formats/tga/core/helpers.js +7 -153
  232. package/dist/resource/formats/tga/core/helpers.js.map +1 -1
  233. package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
  234. package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
  235. package/dist/resource/formats/vta/core/helpers.js +1 -17
  236. package/dist/resource/formats/vta/core/helpers.js.map +1 -1
  237. package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
  238. package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
  239. package/dist/resource/formats/wav/core/helpers.js +1 -15
  240. package/dist/resource/formats/wav/core/helpers.js.map +1 -1
  241. package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
  242. package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
  243. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +69 -9
  244. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  245. package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +12 -3
  246. package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
  247. package/dist/resource/formats/webgl/core/helpers.js +39 -68
  248. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  249. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
  250. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  251. package/dist/resource/formats/webgpu/core/helpers.js +4 -30
  252. package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
  253. package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
  254. package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
  255. package/dist/resource/formats/webm/core/helpers.js +1 -73
  256. package/dist/resource/formats/webm/core/helpers.js.map +1 -1
  257. package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
  258. package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
  259. package/dist/resource/formats/webp/core/helpers.js +1 -62
  260. package/dist/resource/formats/webp/core/helpers.js.map +1 -1
  261. package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
  262. package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
  263. package/dist/resource/formats/wem/core/bitStream.js +83 -106
  264. package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
  265. package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
  266. package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
  267. package/dist/resource/formats/wem/core/helpers.js +1 -15
  268. package/dist/resource/formats/wem/core/helpers.js.map +1 -1
  269. package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
  270. package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
  271. package/dist/resource/geometry/MeshDecalData.js +23 -25
  272. package/dist/resource/geometry/MeshDecalData.js.map +1 -1
  273. package/dist/resource/geometry/MeshDecalLodData.js +14 -23
  274. package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
  275. package/dist/resource/geometry/TriGeometryRes.js +299 -284
  276. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  277. package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
  278. package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
  279. package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
  280. package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
  281. package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
  282. package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
  283. package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
  284. package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
  285. package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
  286. package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
  287. package/dist/resource/geometry/TriJointBinding.js +16 -24
  288. package/dist/resource/geometry/TriJointBinding.js.map +1 -1
  289. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
  290. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
  291. package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
  292. package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
  293. package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
  294. package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
  295. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
  296. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  297. package/dist/resource/index.js +1 -1
  298. package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
  299. package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
  300. package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
  301. package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
  302. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
  303. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  304. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
  305. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
  306. package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
  307. package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
  308. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
  309. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  310. package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
  311. package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
  312. package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
  313. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  314. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
  315. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
  316. package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
  317. package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
  318. package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
  319. package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
  320. package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
  321. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  322. package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
  323. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  324. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
  325. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
  327. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
  329. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  330. package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
  331. package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
  332. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
  333. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  334. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
  335. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
  336. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
  337. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  338. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
  339. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  340. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
  341. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  342. package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
  343. package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
  344. package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
  345. package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
  346. package/dist/resource/worker/protocol.js +18 -1
  347. package/dist/resource/worker/protocol.js.map +1 -1
  348. package/dist/sof/EveSOF.js +2 -222
  349. package/dist/sof/EveSOF.js.map +1 -1
  350. package/dist/sof/SofDocumentBuilder.js +205 -0
  351. package/dist/sof/SofDocumentBuilder.js.map +1 -0
  352. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
  353. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
  354. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
  355. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
  356. package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
  357. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  358. package/dist/sof/faction/index.js +3 -1
  359. package/dist/sof/faction/index.js.map +1 -1
  360. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
  361. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
  362. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
  363. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
  364. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
  365. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
  366. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
  367. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
  368. package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
  369. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  370. package/dist/sof/generic/index.js +5 -1
  371. package/dist/sof/generic/index.js.map +1 -1
  372. package/dist/sof/index.js +23 -7
  373. package/dist/sof/index.js.map +1 -1
  374. package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
  375. package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
  376. package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
  377. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  378. package/dist/sof/pattern/index.js +2 -1
  379. package/dist/sof/pattern/index.js.map +1 -1
  380. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
  381. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
  382. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
  383. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
  384. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
  385. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
  386. package/dist/sof/shared/EveSOFDataArea.js +2 -13
  387. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  388. package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
  389. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  390. package/dist/sof/shared/EveSOFDataParameter.js +2 -146
  391. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  392. package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
  393. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
  394. package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
  395. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
  396. package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
  397. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
  398. package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
  399. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
  400. package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
  401. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
  402. package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
  403. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
  404. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
  405. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
  406. package/dist/sof/shared/index.js +13 -4
  407. package/dist/sof/shared/index.js.map +1 -1
  408. package/dist/sof/sofDocumentValues.js +33 -0
  409. package/dist/sof/sofDocumentValues.js.map +1 -0
  410. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
  411. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
  412. package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
  413. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
  414. package/dist/trinity/controllers/Tr2Controller.js +2 -1
  415. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  416. package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
  417. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  418. package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
  419. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  420. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
  421. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  422. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
  423. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
  424. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
  425. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
  426. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
  427. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
  428. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
  429. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
  430. package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
  431. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
  432. package/dist/trinity/controllers/index.js +5 -2
  433. package/dist/trinity/controllers/index.js.map +1 -1
  434. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
  435. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  436. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
  437. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  438. package/dist/trinity/core/ITr2Updateable.js +2 -1
  439. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  440. package/dist/trinity/core/Tr2Blitter.js +6 -3
  441. package/dist/trinity/core/Tr2Blitter.js.map +1 -1
  442. package/dist/trinity/core/Tr2Denoiser.js +256 -0
  443. package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
  444. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
  445. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
  446. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
  447. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
  448. package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
  449. package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
  450. package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
  451. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
  452. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
  453. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
  454. package/dist/trinity/core/Tr2RenderUtils.js +20 -3
  455. package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
  456. package/dist/trinity/core/Tr2Renderer.js +146 -1
  457. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  458. package/dist/trinity/core/Tr2ShadowMap.js +135 -14
  459. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  460. package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
  461. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
  462. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
  463. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
  464. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
  465. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
  466. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
  467. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
  468. package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
  469. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
  470. package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
  471. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
  472. package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
  473. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
  474. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
  475. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
  476. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
  477. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
  478. package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
  479. package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
  480. package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
  481. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  482. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
  483. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
  484. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
  485. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
  486. package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
  487. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  488. package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
  489. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
  490. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
  491. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
  492. package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
  493. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
  494. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
  495. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
  496. package/dist/trinity/core/index.js +42 -15
  497. package/dist/trinity/core/index.js.map +1 -1
  498. package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
  499. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  500. package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
  501. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
  502. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
  503. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
  504. package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
  505. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
  506. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
  507. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
  508. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
  509. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  510. package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
  511. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  512. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
  513. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  514. package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
  515. package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
  516. package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
  517. package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
  518. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
  519. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
  520. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
  521. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
  522. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
  523. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
  524. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
  525. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
  526. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
  527. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
  528. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
  529. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
  530. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
  531. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
  532. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
  533. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
  534. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
  535. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
  536. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
  537. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
  538. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
  539. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
  540. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
  541. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
  542. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
  543. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
  544. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
  545. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
  546. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
  547. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
  548. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
  549. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
  550. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
  551. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
  552. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
  553. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
  554. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
  555. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
  556. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
  557. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
  558. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
  559. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
  560. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
  561. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
  562. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
  563. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
  564. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
  565. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
  566. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
  567. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
  568. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
  569. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
  570. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
  571. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
  572. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
  573. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
  574. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
  575. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
  576. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
  577. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
  578. package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
  579. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
  580. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
  581. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
  582. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
  583. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
  584. package/dist/trinity/core/variable/TriVariable.js +83 -83
  585. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  586. package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
  587. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
  588. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
  589. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
  590. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
  591. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  592. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
  593. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  594. package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
  595. package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
  596. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
  597. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  598. package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
  599. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  600. package/dist/trinity/eve/IEveTransform.js +2 -1
  601. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  602. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
  603. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  604. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
  605. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  606. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
  607. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
  608. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
  609. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  610. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
  611. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  612. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
  613. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
  614. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
  615. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  616. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
  617. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  618. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
  619. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  620. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
  621. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  622. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
  623. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  624. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
  625. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  626. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
  627. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  628. package/dist/trinity/eve/camera/EveCamera.js +1 -1
  629. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  630. package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
  631. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  632. package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
  633. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  634. package/dist/trinity/eve/child/EveChildContainer.js +141 -141
  635. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  636. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
  637. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
  638. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
  639. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
  640. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
  641. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
  642. package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
  643. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
  644. package/dist/trinity/eve/child/EveChildMesh.js +218 -218
  645. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  646. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
  647. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
  648. package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
  649. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
  650. package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
  651. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  652. package/dist/trinity/eve/child/EveChildTransform.js +5 -0
  653. package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
  654. package/dist/trinity/eve/child/EveChildTurret.js +7 -0
  655. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  656. package/dist/trinity/eve/index.js +10 -4
  657. package/dist/trinity/eve/index.js.map +1 -1
  658. package/dist/trinity/eve/lights/Tr2Light.js +5 -0
  659. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  660. package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
  661. package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
  662. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
  663. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  664. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
  665. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  666. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
  667. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  668. package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
  669. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  670. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
  671. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  672. package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
  673. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  674. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
  675. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  676. package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
  677. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  678. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
  679. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  680. package/dist/trinity/generated/index.js +0 -1
  681. package/dist/trinity/generated/index.js.map +1 -1
  682. package/dist/trinity/generated/trinityCore/index.js +0 -1
  683. package/dist/trinity/generated/trinityCore/index.js.map +1 -1
  684. package/dist/trinity/index.js +59 -23
  685. package/dist/trinity/index.js.map +1 -1
  686. package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
  687. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
  688. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
  689. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
  690. package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
  691. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  692. package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
  693. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  694. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
  695. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  696. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
  697. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  698. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
  699. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  700. package/dist/trinity/particle/index.js +2 -1
  701. package/dist/trinity/particle/index.js.map +1 -1
  702. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
  703. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  704. package/dist/trinity/shader/Tr2Effect.js +131 -58
  705. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  706. package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
  707. package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
  708. package/dist/trinity/shader/Tr2Material.js +21 -4
  709. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  710. package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
  711. package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
  712. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
  713. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  714. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
  715. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
  716. package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
  717. package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
  718. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
  719. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
  720. package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
  721. package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
  722. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
  723. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
  724. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
  725. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
  726. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
  727. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
  728. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
  729. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
  730. package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
  731. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
  732. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
  733. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
  734. package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
  735. package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
  736. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
  737. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
  738. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
  739. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
  740. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
  741. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
  742. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
  743. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
  744. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
  745. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
  746. package/dist/trinityal/index.js +22 -9
  747. package/dist/trinityal/index.js.map +1 -1
  748. package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
  749. package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
  750. package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
  751. package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
  752. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
  753. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
  754. package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
  755. package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
  756. package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
  757. package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
  758. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
  759. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
  760. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
  761. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
  762. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
  763. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
  764. package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
  765. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
  766. package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
  767. package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
  768. package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
  769. package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
  770. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
  771. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
  772. package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
  773. package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
  774. package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
  775. package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
  776. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
  777. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
  778. package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
  779. package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
  780. package/dist/trinityal/stub/index.js +8 -4
  781. package/dist/trinityal/stub/index.js.map +1 -1
  782. package/dist/trinityal/vertexLayoutMatch.js +2 -2
  783. package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
  784. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
  785. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
  786. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
  787. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
  788. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
  789. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
  790. package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
  791. package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
  792. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
  793. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  794. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
  795. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  796. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
  797. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
  798. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
  799. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
  800. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
  801. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
  802. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
  803. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
  804. package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
  805. package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
  806. package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
  807. package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
  808. package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
  809. package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
  810. package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
  811. package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
  812. package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
  813. package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
  814. package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
  815. package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
  816. package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
  817. package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
  818. package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
  819. package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
  820. package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
  821. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
  822. package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
  823. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
  824. package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
  825. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
  826. package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
  827. package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
  828. package/dist/trinityal/webgpu/internal.js +12 -11
  829. package/dist/trinityal/webgpu/internal.js.map +1 -1
  830. package/docs/audio/reference/classes/trinity.md +44 -34
  831. package/docs/character/architecture.md +276 -0
  832. package/docs/character/reference/character-appearance-plans.md +30 -66
  833. package/docs/character/reference/prepared-libraries.md +14 -30
  834. package/docs/global/reference/api.md +2 -1
  835. package/docs/global/reference/classes/README.md +53 -71
  836. package/docs/global/reference/classes/dropped.md +16 -0
  837. package/docs/resource/README.md +19 -15
  838. package/docs/resource/architecture.md +9 -2
  839. package/docs/resource/concepts/format-capabilities.md +124 -80
  840. package/docs/resource/concepts/shared-format-helpers.md +94 -0
  841. package/docs/resource/formats/README.md +230 -224
  842. package/docs/resource/formats/bitknit2.md +221 -0
  843. package/docs/resource/formats/carbon-effect-container.md +184 -269
  844. package/docs/resource/formats/gr2.md +6 -1
  845. package/docs/resource/formats/schemabound.md +28 -48
  846. package/docs/resource/formats/static.md +70 -97
  847. package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
  848. package/docs/resource/formats/webgl/decl-io.md +165 -256
  849. package/docs/resource/formats/webgl/memory-structured.md +64 -142
  850. package/docs/resource/formats/webgl/texture-sample.md +109 -138
  851. package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
  852. package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
  853. package/docs/resource/formats/webgpu/reference/api.md +64 -67
  854. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +158 -345
  855. package/docs/resource/reference/classes/core.md +256 -236
  856. package/docs/resource/reference/classes/formats.md +1668 -1672
  857. package/docs/resource/reference/workers.md +4 -2
  858. package/docs/sof/reference/classes/core.md +1 -1
  859. package/docs/sof/reference/classes/faction.md +2 -2
  860. package/docs/sof/reference/classes/generic.md +4 -4
  861. package/docs/sof/reference/classes/pattern.md +1 -1
  862. package/docs/sof/reference/classes/shared.md +10 -10
  863. package/docs/trinity/architecture.md +55 -44
  864. package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
  865. package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
  866. package/docs/trinity/reference/classes/dropped.md +0 -189
  867. package/docs/trinity/reference/classes/eve-runtime.md +8 -8
  868. package/docs/trinity/reference/classes/generated.md +0 -10
  869. package/docs/trinity/reference/classes/particle.md +2 -2
  870. package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
  871. package/docs/trinity/reference/implementation-status.md +50 -75
  872. package/docs/trinity/reference/main-semantic-extraction.md +13 -17
  873. package/docs/trinityal/reference/classes/README.md +77 -27
  874. package/docs/trinityal/reference/classes/dropped.md +92 -0
  875. package/docs/trinityal/webgpu/README.md +3 -1
  876. package/docs/trinityal/webgpu/architecture.md +121 -228
  877. package/docs/trinityal/webgpu/reference/api.md +5 -5
  878. package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
  879. package/format-notices/gr2/NOTICE +18 -12
  880. package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
  881. package/package.json +4 -1
  882. package/dist/audio/trinity/audio/AudActionLog.js +0 -173
  883. package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
  884. package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
  885. package/dist/global/contracts/CjsScriptCallback.js +0 -94
  886. package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
  887. package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
  888. package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
  889. package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
  890. package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
  891. package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
  892. package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
  893. package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
  894. package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
  895. package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
  896. package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
  897. package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
  898. package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
  899. package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
  900. package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
  901. package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
  902. package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
  903. package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
  904. package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
  905. package/dist/trinity/core/rawData/constantLayout.js +0 -175
  906. package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
  907. package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
  908. package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
  909. package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
  910. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
  911. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
  912. package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
  913. package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
  914. package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
  915. package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
  916. package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
  917. package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
  918. package/dist/trinityal/Tr2SamplerDescription.js +0 -72
  919. package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
  920. package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
  921. package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
  922. package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
  923. package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
  924. package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
  925. package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
  926. package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
  927. package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
  928. package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
  929. package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
  930. package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
  931. package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
  932. package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
  933. package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
  934. package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
  935. package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
@@ -1,50 +1,34 @@
1
- import { Failed, ALResult } from '../ALResult.js';
2
- import { Tr2BitmapDimensions } from '../Tr2BitmapDimensions.js';
3
- import '../Tr2DrawUPHelper.js';
4
- import { PixelFormat } from '../../global/consts/renderContext/formats.js';
5
- import { ShaderType, Topology } from '../../global/consts/renderContext/pipeline.js';
6
- import { Tr2GpuUsage } from '../../global/consts/renderContext/resources.js';
7
- import { UpscalingResult, INVALID_UPSCALING_CONTEXT_ID, UpscalingSetting, UpscalingTechnique } from '../../global/consts/renderContext/upscaling.js';
8
- import { Tr2ResourceSetALStub } from '../Tr2ResourceSetAL.js';
9
- import { SamplerDescriptionKey } from '../Tr2SamplerDescription.js';
10
- import { Tr2BufferALStub } from './Tr2BufferALStub.js';
11
- import { Tr2CapsALStub } from './Tr2CapsALStub.js';
12
- import { Tr2ConstantUsageAL, Tr2ConstantBufferALStub } from './Tr2ConstantBufferALStub.js';
13
- import { Tr2SamplerStateALStub } from './Tr2SamplerStateALStub.js';
14
- import { Tr2ShaderALStub } from './Tr2ShaderALStub.js';
15
- import { Tr2ShaderProgramALStub } from './Tr2ShaderProgramALStub.js';
16
- import { Tr2TextureALStub } from './Tr2TextureALStub.js';
17
- import { Tr2VertexLayoutALStub } from './Tr2VertexLayoutALStub.js';
18
-
19
- // Source: trinity/trinityal/stub/Tr2RenderContextStub.cpp
20
- // Source: trinity/trinityal/stub/Tr2RenderContextStub.h
21
- //
22
- // The GPU-free backend, ported from the one Carbon already ships.
23
- //
24
- // WHAT THIS IS FOR. A headless Trinity that still carries CORRECT DATA. That is
25
- // the requirement, and it is not the same as "runs without a GPU": a backend
26
- // that did nothing at all would satisfy the second and fail the first, because
27
- // nothing downstream would hold real state to inspect.
28
- //
29
- // So this is NOT a no-op. Carbon's stub validates its arguments, keeps genuine
30
- // render-target and depth-stencil stacks, and reports real sizes back. Only the
31
- // draws are empty, because a draw is the one thing that needs a GPU. The
32
- // bookkeeping is the feature.
33
- //
34
- // Carbon builds this as a real target (`TrinityAL_stub`, `trinity_stub`) with a
35
- // real device behind it (`TriDeviceStub.cpp`), consumed by its VideoPlayer and
36
- // by the AL's own tests. It is a supported configuration there, not a
37
- // scaffold, which is why it is worth porting rather than inventing.
38
- //
39
- // TWO REFUSALS ARE CARBON'S, AND DELIBERATE. `ClearUav` and buffer-to-buffer
40
- // copies return failure rather than pretending to succeed
41
- // (`Tr2RenderContextStub.cpp:87-101`). A caller that needs them needs a real
42
- // backend, and silently succeeding would hide that.
43
- //
44
- // What this does NOT cover, matching Carbon: ray tracing (stubbed to fail
45
- // there too) and the five `Tr2Rt*AL` types, plus `Tr2RenderPassAL` and
46
- // `Tr2StreamlineAL`, none of which the stub implements.
47
-
1
+ import { applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { impl, CjsSchema } from '#schema';
3
+ import { Tr2ResourceSetAL } from '../../Tr2ResourceSetAL/Tr2ResourceSetAL.js';
4
+ import { Failed, ALResult } from '../../ALResult.js';
5
+ import { Tr2BitmapDimensions } from '../../Tr2BitmapDimensions.js';
6
+ import { PixelFormat } from '../../../global/consts/renderContext/formats.js';
7
+ import { ShaderType, Topology } from '../../../global/consts/renderContext/pipeline.js';
8
+ import { Tr2GpuUsage } from '../../../global/consts/renderContext/resources.js';
9
+ import { UpscalingResult, INVALID_UPSCALING_CONTEXT_ID, UpscalingSetting, UpscalingTechnique } from '../../../global/consts/renderContext/upscaling.js';
10
+ import '../../Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js';
11
+ import '../../Tr2DrawUPHelper.js';
12
+ import { SamplerDescriptionKey } from '../../Tr2HalHelperStructures/Tr2SamplerDescription.js';
13
+ import '../../Tr2ResourceSetAL/Tr2RegisterMapAL.js';
14
+ import '../../Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js';
15
+ import { Tr2ResourceSetALStub } from '../../Tr2ResourceSetAL/Tr2ResourceSetALStub.js';
16
+ import { Tr2BufferALStub } from '../Tr2BufferALStub.js';
17
+ import { Tr2CapsALStub } from '../Tr2CapsALStub.js';
18
+ import { Tr2ConstantUsageAL, Tr2ConstantBufferALStub } from '../Tr2ConstantBufferALStub.js';
19
+ import '../Tr2FenceALStub.js';
20
+ import '../Tr2OcclusionQueryALStub.js';
21
+ import '../Tr2GpuTimerALStub.js';
22
+ import '../Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js';
23
+ import { Tr2SamplerStateALStub } from '../Tr2SamplerStateALStub.js';
24
+ import { Tr2ShaderALStub } from '../Tr2ShaderALStub.js';
25
+ import { Tr2ShaderProgramALStub } from '../Tr2ShaderProgramALStub.js';
26
+ import '../Tr2SwapChainALStub.js';
27
+ import { Tr2TextureALStub } from '../Tr2TextureALStub.js';
28
+ import { Tr2VertexLayoutALStub } from '../Tr2VertexLayoutALStub.js';
29
+ import '../Tr2VideoAdapterInfoStub.js';
30
+
31
+ let _initProto;
48
32
  function fail(message) {
49
33
  const error = new Error(`Tr2RenderContextALStub: ${message}`);
50
34
  error.code = "CJS_AL_STUB_INVALID";
@@ -68,29 +52,6 @@ const MAX_RENDER_TARGET = 8;
68
52
  */
69
53
  let primaryRenderContext = null;
70
54
 
71
- /**
72
- * Carbon's `Tr2BindlessResourcesAL` (`Tr2RenderContextStub.h:32-47`).
73
- *
74
- * A list of resources handed to `UseResources` so a backend can make them
75
- * resident together. Every method is empty in the stub, exactly as in Carbon:
76
- * residency is a device concern and there is no device here.
77
- *
78
- * Carbon overloads `Add` for a texture, a buffer and another resource list;
79
- * JavaScript dispatches on one method, which is the ordinary shape of an
80
- * overload set here and not a divergence in behaviour.
81
- */
82
- class Tr2BindlessResourcesAL {
83
- /**
84
- * Adds a texture, a buffer, or the contents of another list.
85
- *
86
- * @param {object} _resource The resource to make resident.
87
- */
88
- Add(_resource) {}
89
-
90
- /** Empties the list. */
91
- Clear() {}
92
- }
93
-
94
55
  /**
95
56
  * A render context that keeps real state and draws nothing.
96
57
  *
@@ -101,11 +62,17 @@ class Tr2BindlessResourcesAL {
101
62
  * `TriStep*` types themselves.
102
63
  */
103
64
  class Tr2RenderContextALStub {
65
+ static {
66
+ [_initProto] = _applyDecs2311(this, [], [[[impl, impl.custom, void 0, impl.reason("JavaScript chooses the AL implementation through this context factory instead of a compile-time platform include. The private allocation branch preserves the native Create result.")], 18, "CreateResourceSet"]]).e;
67
+ }
104
68
  /** m_isValid - set by CreateDevice, and required by every resource create. */
105
- _isValid = false;
69
+ _isValid = (_initProto(this), false);
106
70
 
107
71
  /** m_boundRenderTarget[MAX_RENDER_TARGET] */
108
72
  _boundRenderTargets = new Array(MAX_RENDER_TARGET).fill(null);
73
+
74
+ /** The slice each bound target was last asked for; Carbon threads this as `slice`. */
75
+ _boundRenderTargetSlices = new Array(MAX_RENDER_TARGET).fill(0);
109
76
  _depthStencil = null;
110
77
 
111
78
  // ONE STACK PER SLOT, as Carbon has (`m_stackRT[MAX_RENDER_TARGET]`). A single
@@ -289,8 +256,19 @@ class Tr2RenderContextALStub {
289
256
  * @param {object} program The shader program the bindings belong to.
290
257
  * @returns {object|null} The set, or null when it could not be created.
291
258
  */
292
- CreateResourceSet(description, program) {
293
- const resourceSet = new Tr2ResourceSetALStub();
259
+ CreateResourceSet(description, program, implementationOnly = false) {
260
+ // JS platform selection for the public facade; the allocation branch
261
+ // returns the native status code without collapsing it to null.
262
+ if (implementationOnly) {
263
+ const implementation = new Tr2ResourceSetALStub();
264
+ const result = implementation.Create(description, program, this);
265
+ if (Failed(result)) implementation.Destroy();
266
+ return {
267
+ result,
268
+ implementation
269
+ };
270
+ }
271
+ const resourceSet = new Tr2ResourceSetAL();
294
272
  if (Failed(resourceSet.Create(description, program, this))) return null;
295
273
  return resourceSet;
296
274
  }
@@ -487,7 +465,10 @@ class Tr2RenderContextALStub {
487
465
  * @param {object|null} renderTarget The target.
488
466
  * @returns {boolean} True.
489
467
  */
490
- SetRenderTarget(slot, renderTarget) {
468
+ SetRenderTarget(slot, renderTarget, slice = 0) {
469
+ // Recorded rather than ignored: the stub draws nothing, but a test
470
+ // asserting which slice a pass asked for needs the answer to exist.
471
+ this._boundRenderTargetSlices[Number(slot) >>> 0] = Number(slice) >>> 0;
491
472
  if (!Number.isInteger(slot) || slot < 0 || slot >= MAX_RENDER_TARGET) {
492
473
  fail(`render target slot ${slot} is outside 0..${MAX_RENDER_TARGET - 1}`);
493
474
  }
@@ -1250,5 +1231,19 @@ class Tr2RenderContextALStub {
1250
1231
  }
1251
1232
  }
1252
1233
 
1253
- export { Tr2BindlessResourcesAL, Tr2RenderContextALStub };
1234
+ // DECLARED AS A CALL, NOT A DECORATOR, for the reason recorded in
1235
+ // Tr2BitmapDimensions.js: the layer is imported straight from source by its
1236
+ // tests and raw Node cannot parse decorator syntax.
1237
+ //
1238
+ // The donor is NAMED rather than left to be derived from this class's name.
1239
+ // Carbon calls every backend's class the same thing and carries the backend in
1240
+ // the FILE name, because only one backend compiles at a time; we ship them
1241
+ // together, so the backend moves onto the class name. That divergence is the
1242
+ // author's to declare, never a checker's to guess.
1243
+ CjsSchema.define(Tr2RenderContextALStub, {
1244
+ className: "Tr2RenderContextALStub",
1245
+ carbon: "Tr2RenderContextAL"
1246
+ });
1247
+
1248
+ export { Tr2RenderContextALStub };
1254
1249
  //# sourceMappingURL=Tr2RenderContextALStub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2RenderContextALStub.js","sources":["../../../../../src/trinityal/stub/Tr2RenderContextALStub/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 { CjsSchema } from \"#schema\";\nimport { Tr2ResourceSetAL } from \"../../Tr2ResourceSetAL/Tr2ResourceSetAL.js\";\nimport { impl } from \"#schema\";\nimport { ALResult, Failed, Tr2BitmapDimensions, Tr2BufferALStub, Tr2CapsALStub, Tr2ConstantBufferALStub, Tr2ConstantUsageAL, Tr2ResourceSetALStub, Tr2SamplerStateALStub, Tr2ShaderALStub, Tr2ShaderProgramALStub, Tr2TextureALStub, Tr2VertexLayoutALStub } from \"../../../trinityal/index.js\";\nimport { SamplerDescriptionKey } from \"../../Tr2HalHelperStructures/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 * 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 /** The slice each bound target was last asked for; Carbon threads this as `slice`. */\n _boundRenderTargetSlices = new Array(MAX_RENDER_TARGET).fill(0);\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 @impl.custom\n @impl.reason(\"JavaScript chooses the AL implementation through this context factory instead of a compile-time platform include. The private allocation branch preserves the native Create result.\")\n CreateResourceSet(description, program, implementationOnly = false)\n {\n // JS platform selection for the public facade; the allocation branch\n // returns the native status code without collapsing it to null.\n if (implementationOnly)\n {\n const implementation = new Tr2ResourceSetALStub();\n const result = implementation.Create(description, program, this);\n if (Failed(result)) implementation.Destroy();\n return { result, implementation };\n }\n const resourceSet = new Tr2ResourceSetAL();\n if (Failed(resourceSet.Create(description, program, this))) return null;\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, slice = 0)\n {\n // Recorded rather than ignored: the stub draws nothing, but a test\n // asserting which slice a pass asked for needs the answer to exist.\n this._boundRenderTargetSlices[Number(slot) >>> 0] = Number(slice) >>> 0;\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\n// DECLARED AS A CALL, NOT A DECORATOR, for the reason recorded in\n// Tr2BitmapDimensions.js: the layer is imported straight from source by its\n// tests and raw Node cannot parse decorator syntax.\n//\n// The donor is NAMED rather than left to be derived from this class's name.\n// Carbon calls every backend's class the same thing and carries the backend in\n// the FILE name, because only one backend compiles at a time; we ship them\n// together, so the backend moves onto the class name. That divergence is the\n// author's to declare, never a checker's to guess.\nCjsSchema.define(Tr2RenderContextALStub, { className: \"Tr2RenderContextALStub\", carbon: \"Tr2RenderContextAL\" });\n"],"names":["fail","message","error","Error","code","MAX_RENDER_TARGET","primaryRenderContext","Tr2RenderContextALStub","_initProto","_applyDecs","impl","custom","reason","e","_isValid","_boundRenderTargets","Array","fill","_boundRenderTargetSlices","_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","implementationOnly","implementation","Tr2ResourceSetALStub","result","Destroy","resourceSet","Tr2ResourceSetAL","_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","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","stack","renderTarget","slice","Number","isInteger","GetRenderTarget","PushRenderTarget","push","PopRenderTarget","pop","GetStackSizeRT","SetDepthStencil","depthStencil","GetDepthStencil","PushDepthStencil","PopDepthStencil","GetStackSizeDS","SetViewport","viewport","GetViewport","Clear","_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","CjsSchema","define","className","carbon"],"mappings":"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A;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,CAAC/J,iBAAiB,GAAG+J,KAAK;IAC9B,IAAI,CAAC9J,qBAAqB,GAAG+J,SAAS;AAEtC,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACAC,EAAAA,eAAeA,GACf;IACE,OAAO;MAAEF,KAAK,EAAE,IAAI,CAAC/J,iBAAiB;MAAEgK,SAAS,EAAE,IAAI,CAAC/J;KAAuB;AACjF,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACEiK,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,CAAC3K,UAAU,IAAI,CAAC;AAEpB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;EACA4K,aAAaA,CAACC,uBAAuB,EAAEL,cAAc,EAAEM,oBAAoB,EAAEH,sBAAsB,EACnG;IACE,IAAI,CAAC3K,UAAU,IAAI,CAAC;AAEpB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE+K,oBAAoBA,CAACC,YAAY,EAAEC,WAAW,EAAEC,eAAe,EAAEC,aAAa,GAAG,CAAC,EAClF;IACE,IAAI,CAACnL,UAAU,IAAI,CAAC;AAEpB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACEoL,EAAAA,aAAaA,CAACC,YAAY,EAAEH,eAAe,EAC3C;IACE,IAAI,CAAClL,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;EACEsL,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,CAACxL,UAAU,IAAI,CAAC;AAEpB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE0L,EAAAA,eAAeA,CAACR,eAAe,EAAES,qBAAqB,EAAEF,uBAAuB,EAC/E;IACE,IAAI,CAACzL,UAAU,IAAI,CAAC;AAEpB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACE4L,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,CAAC9L,UAAU;AACxB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE+L,EAAAA,OAAOA,GACP;IACE,IAAI,CAAC3L,YAAY,IAAI,CAAC;AAEtB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACE4L,EAAAA,uBAAuBA,GACvB;AACE,IAAA,OAAO,IAAI,CAAC5L,YAAY,GAAG,CAAC;AAC9B,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACE6L,EAAAA,sBAAsBA,GACtB;IACE,OAAO,IAAI,CAAC7L,YAAY;AAC1B,EAAA;;AAGA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACE8L,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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAQ,SAAS,CAACC,MAAM,CAACzQ,sBAAsB,EAAE;AAAE0Q,EAAAA,SAAS,EAAE,wBAAwB;AAAEC,EAAAA,MAAM,EAAE;AAAqB,CAAC,CAAC;;;;"}
@@ -1,4 +1,6 @@
1
- import { Tr2BaseDeviceResourceAL, Tr2ALMemoryType } from '../Tr2DeviceResourceAL.js';
1
+ import { CjsSchema } from '#schema';
2
+ import { Tr2ALMemoryType } from '../Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js';
3
+ import { Tr2DeviceResourceAL } from '../Tr2DeviceResourceAL/Tr2DeviceResourceAL.js';
2
4
  import { ALResult } from '../ALResult.js';
3
5
 
4
6
  // Source: trinity/trinityal/stub/Tr2SamplerStateALStub.cpp
@@ -26,22 +28,22 @@ import { ALResult } from '../ALResult.js';
26
28
  /** Carbon's "no descriptor heap index". */
27
29
  const NO_HEAP_INDEX = 0xffffffff;
28
30
 
29
- /**
30
- * A sampler state the backend has accepted.
31
+ /**
32
+ * A sampler state the backend has accepted.
31
33
  */
32
- class Tr2SamplerStateALStub extends Tr2BaseDeviceResourceAL {
34
+ class Tr2SamplerStateALStub extends Tr2DeviceResourceAL {
33
35
  /** m_isValid */
34
36
  _isValid = false;
35
37
 
36
38
  /** The description this state was created from. */
37
39
  _description = null;
38
40
 
39
- /**
40
- * Creates the sampler state.
41
- *
42
- * @param {object} description The sampler description.
43
- * @param {object} renderContext The context to create against.
44
- * @returns {number} An `ALResult` value.
41
+ /**
42
+ * Creates the sampler state.
43
+ *
44
+ * @param {object} description The sampler description.
45
+ * @param {object} renderContext The context to create against.
46
+ * @returns {number} An `ALResult` value.
45
47
  */
46
48
  Create(description, renderContext) {
47
49
  this._description = description;
@@ -56,52 +58,66 @@ class Tr2SamplerStateALStub extends Tr2BaseDeviceResourceAL {
56
58
  super.Destroy();
57
59
  }
58
60
 
59
- /**
60
- * Whether the state was created.
61
- *
62
- * @returns {boolean} True once created.
61
+ /**
62
+ * Whether the state was created.
63
+ *
64
+ * @returns {boolean} True once created.
63
65
  */
64
66
  IsValid() {
65
67
  return this._isValid;
66
68
  }
67
69
 
68
- /**
69
- * The description this state was created from.
70
- *
71
- * @returns {object|null} The description.
70
+ /**
71
+ * The description this state was created from.
72
+ *
73
+ * @returns {object|null} The description.
72
74
  */
73
75
  GetDescription() {
74
76
  return this._description;
75
77
  }
76
78
 
77
- /**
78
- * Where the sampler sits in the descriptor heap.
79
- *
80
- * @returns {number} Carbon's "no index".
79
+ /**
80
+ * Where the sampler sits in the descriptor heap.
81
+ *
82
+ * @returns {number} Carbon's "no index".
81
83
  */
82
84
  GetIndexInHeap() {
83
85
  return NO_HEAP_INDEX;
84
86
  }
85
87
 
86
- /**
87
- * Which memory class this state occupies.
88
- *
89
- * @returns {number} A `Tr2ALMemoryType` value.
88
+ /**
89
+ * Which memory class this state occupies.
90
+ *
91
+ * @returns {number} A `Tr2ALMemoryType` value.
90
92
  */
91
93
  GetMemoryClass() {
92
94
  return Tr2ALMemoryType.AL_MEMORY_MANAGED;
93
95
  }
94
96
 
95
- /**
96
- * Names the state for a debugger.
97
- *
98
- * @param {string} _name The name Carbon would attach; the stub discards it.
99
- * @returns {number} An `ALResult` value; the stub keeps no name.
97
+ /**
98
+ * Names the state for a debugger.
99
+ *
100
+ * @param {string} _name The name Carbon would attach; the stub discards it.
101
+ * @returns {number} An `ALResult` value; the stub keeps no name.
100
102
  */
101
103
  SetName(_name) {
102
104
  return ALResult.S_OK;
103
105
  }
104
106
  }
105
107
 
108
+ // DECLARED AS A CALL, NOT A DECORATOR, for the reason recorded in
109
+ // Tr2BitmapDimensions.js: the layer is imported straight from source by its
110
+ // tests and raw Node cannot parse decorator syntax.
111
+ //
112
+ // The donor is NAMED rather than left to be derived from this class's name.
113
+ // Carbon calls every backend's class the same thing and carries the backend in
114
+ // the FILE name, because only one backend compiles at a time; we ship them
115
+ // together, so the backend moves onto the class name. That divergence is the
116
+ // author's to declare, never a checker's to guess.
117
+ CjsSchema.define(Tr2SamplerStateALStub, {
118
+ className: "Tr2SamplerStateALStub",
119
+ carbon: "Tr2SamplerStateAL"
120
+ });
121
+
106
122
  export { Tr2SamplerStateALStub };
107
123
  //# sourceMappingURL=Tr2SamplerStateALStub.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2SamplerStateALStub.js","sources":["../../../../src/trinityal/stub/Tr2SamplerStateALStub.js"],"sourcesContent":["// Source: trinity/trinityal/stub/Tr2SamplerStateALStub.cpp\n// Source: trinity/trinityal/stub/Tr2SamplerStateALStub.h\n//\n// A created sampler state.\n//\n// Carbon's stub is the thinnest type in the family: `Create` sets a flag and\n// returns success, because the whole meaning of a sampler lives in a driver\n// object there is none of here. It is still a real resource - it registers,\n// it destroys, it reports a memory class - which is what a resource set will\n// bind.\n//\n// ONE DEPARTURE, the same one the buffer makes: the description IS STORED.\n// Carbon's stub ignores its argument entirely (`Tr2SamplerStateALStub.cpp:16`);\n// its real backends turn it into a driver object. Keeping it costs one field\n// and means a headless caller can read back the state it asked for.\n//\n// The description type itself is NOT redefined here. This runtime already\n// spells Carbon's sampler state in the places that own it - `Tr2SamplerOverride`\n// for authored overrides and `Tr2RenderContext.TextureAddressMode` for the\n// address vocabulary - so the AL takes the description as given.\n\nimport { Tr2ALMemoryType, Tr2BaseDeviceResourceAL } from \"../Tr2DeviceResourceAL.js\";\nimport { ALResult } from \"../ALResult.js\";\n\n\n/** Carbon's \"no descriptor heap index\". */\nconst NO_HEAP_INDEX = 0xffffffff;\n\n\n/**\n * A sampler state the backend has accepted.\n */\nexport class Tr2SamplerStateALStub extends Tr2BaseDeviceResourceAL\n{\n /** m_isValid */\n _isValid = false;\n\n /** The description this state was created from. */\n _description = null;\n\n /**\n * Creates the sampler state.\n *\n * @param {object} description The sampler description.\n * @param {object} renderContext The context to create against.\n * @returns {number} An `ALResult` value.\n */\n Create(description, renderContext)\n {\n this._description = description;\n this._isValid = true;\n\n return ALResult.S_OK;\n }\n\n /** Releases the state and leaves the device-resource registry. */\n Destroy()\n {\n this._isValid = false;\n this._description = null;\n super.Destroy();\n }\n\n /**\n * Whether the state was created.\n *\n * @returns {boolean} True once created.\n */\n IsValid()\n {\n return this._isValid;\n }\n\n /**\n * The description this state was created from.\n *\n * @returns {object|null} The description.\n */\n GetDescription()\n {\n return this._description;\n }\n\n /**\n * Where the sampler sits in the descriptor heap.\n *\n * @returns {number} Carbon's \"no index\".\n */\n GetIndexInHeap()\n {\n return NO_HEAP_INDEX;\n }\n\n /**\n * Which memory class this state occupies.\n *\n * @returns {number} A `Tr2ALMemoryType` value.\n */\n GetMemoryClass()\n {\n return Tr2ALMemoryType.AL_MEMORY_MANAGED;\n }\n\n /**\n * Names the state for a debugger.\n *\n * @param {string} _name The name Carbon would attach; the stub discards it.\n * @returns {number} An `ALResult` value; the stub keeps no name.\n */\n SetName(_name)\n {\n return ALResult.S_OK;\n }\n}\n"],"names":["NO_HEAP_INDEX","Tr2SamplerStateALStub","Tr2BaseDeviceResourceAL","_isValid","_description","Create","description","renderContext","ALResult","S_OK","Destroy","IsValid","GetDescription","GetIndexInHeap","GetMemoryClass","Tr2ALMemoryType","AL_MEMORY_MANAGED","SetName","_name"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA,MAAMA,aAAa,GAAG,UAAU;;AAGhC;AACA;AACA;AACO,MAAMC,qBAAqB,SAASC,uBAAuB,CAClE;AACE;AACAC,EAAAA,QAAQ,GAAG,KAAK;;AAEhB;AACAC,EAAAA,YAAY,GAAG,IAAI;;AAEnB;AACF;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,MAAMA,CAACC,WAAW,EAAEC,aAAa,EACjC;IACE,IAAI,CAACH,YAAY,GAAGE,WAAW;IAC/B,IAAI,CAACH,QAAQ,GAAG,IAAI;IAEpB,OAAOK,QAAQ,CAACC,IAAI;AACtB,EAAA;;AAEA;AACAC,EAAAA,OAAOA,GACP;IACE,IAAI,CAACP,QAAQ,GAAG,KAAK;IACrB,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB,KAAK,CAACM,OAAO,EAAE;AACjB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,OAAOA,GACP;IACE,OAAO,IAAI,CAACR,QAAQ;AACtB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACES,EAAAA,cAAcA,GACd;IACE,OAAO,IAAI,CAACR,YAAY;AAC1B,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACES,EAAAA,cAAcA,GACd;AACE,IAAA,OAAOb,aAAa;AACtB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEc,EAAAA,cAAcA,GACd;IACE,OAAOC,eAAe,CAACC,iBAAiB;AAC1C,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEC,OAAOA,CAACC,KAAK,EACb;IACE,OAAOV,QAAQ,CAACC,IAAI;AACtB,EAAA;AACF;;;;"}
1
+ {"version":3,"file":"Tr2SamplerStateALStub.js","sources":["../../../../src/trinityal/stub/Tr2SamplerStateALStub.js"],"sourcesContent":["// Source: trinity/trinityal/stub/Tr2SamplerStateALStub.cpp\r\n// Source: trinity/trinityal/stub/Tr2SamplerStateALStub.h\r\n//\r\n// A created sampler state.\r\n//\r\n// Carbon's stub is the thinnest type in the family: `Create` sets a flag and\r\n// returns success, because the whole meaning of a sampler lives in a driver\r\n// object there is none of here. It is still a real resource - it registers,\r\n// it destroys, it reports a memory class - which is what a resource set will\r\n// bind.\r\n//\r\n// ONE DEPARTURE, the same one the buffer makes: the description IS STORED.\r\n// Carbon's stub ignores its argument entirely (`Tr2SamplerStateALStub.cpp:16`);\r\n// its real backends turn it into a driver object. Keeping it costs one field\r\n// and means a headless caller can read back the state it asked for.\r\n//\r\n// The description type itself is NOT redefined here. This runtime already\r\n// spells Carbon's sampler state in the places that own it - `Tr2SamplerOverride`\r\n// for authored overrides and `Tr2RenderContext.TextureAddressMode` for the\r\n// address vocabulary - so the AL takes the description as given.\r\n\r\nimport { CjsSchema } from \"#schema\";\r\nimport { Tr2ALMemoryType, Tr2DeviceResourceAL } from \"../Tr2DeviceResourceAL/index.js\";\r\nimport { ALResult } from \"../ALResult.js\";\r\n\r\n\r\n/** Carbon's \"no descriptor heap index\". */\r\nconst NO_HEAP_INDEX = 0xffffffff;\r\n\r\n\r\n/**\r\n * A sampler state the backend has accepted.\r\n */\r\nexport class Tr2SamplerStateALStub extends Tr2DeviceResourceAL\r\n{\r\n /** m_isValid */\r\n _isValid = false;\r\n\r\n /** The description this state was created from. */\r\n _description = null;\r\n\r\n /**\r\n * Creates the sampler state.\r\n *\r\n * @param {object} description The sampler description.\r\n * @param {object} renderContext The context to create against.\r\n * @returns {number} An `ALResult` value.\r\n */\r\n Create(description, renderContext)\r\n {\r\n this._description = description;\r\n this._isValid = true;\r\n\r\n return ALResult.S_OK;\r\n }\r\n\r\n /** Releases the state and leaves the device-resource registry. */\r\n Destroy()\r\n {\r\n this._isValid = false;\r\n this._description = null;\r\n super.Destroy();\r\n }\r\n\r\n /**\r\n * Whether the state was created.\r\n *\r\n * @returns {boolean} True once created.\r\n */\r\n IsValid()\r\n {\r\n return this._isValid;\r\n }\r\n\r\n /**\r\n * The description this state was created from.\r\n *\r\n * @returns {object|null} The description.\r\n */\r\n GetDescription()\r\n {\r\n return this._description;\r\n }\r\n\r\n /**\r\n * Where the sampler sits in the descriptor heap.\r\n *\r\n * @returns {number} Carbon's \"no index\".\r\n */\r\n GetIndexInHeap()\r\n {\r\n return NO_HEAP_INDEX;\r\n }\r\n\r\n /**\r\n * Which memory class this state occupies.\r\n *\r\n * @returns {number} A `Tr2ALMemoryType` value.\r\n */\r\n GetMemoryClass()\r\n {\r\n return Tr2ALMemoryType.AL_MEMORY_MANAGED;\r\n }\r\n\r\n /**\r\n * Names the state 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 */\r\n SetName(_name)\r\n {\r\n return ALResult.S_OK;\r\n }\r\n}\r\n\r\n// DECLARED AS A CALL, NOT A DECORATOR, for the reason recorded in\r\n// Tr2BitmapDimensions.js: the layer is imported straight from source by its\r\n// tests and raw Node cannot parse decorator syntax.\r\n//\r\n// The donor is NAMED rather than left to be derived from this class's name.\r\n// Carbon calls every backend's class the same thing and carries the backend in\r\n// the FILE name, because only one backend compiles at a time; we ship them\r\n// together, so the backend moves onto the class name. That divergence is the\r\n// author's to declare, never a checker's to guess.\r\nCjsSchema.define(Tr2SamplerStateALStub, { className: \"Tr2SamplerStateALStub\", carbon: \"Tr2SamplerStateAL\" });\r\n"],"names":["NO_HEAP_INDEX","Tr2SamplerStateALStub","Tr2DeviceResourceAL","_isValid","_description","Create","description","renderContext","ALResult","S_OK","Destroy","IsValid","GetDescription","GetIndexInHeap","GetMemoryClass","Tr2ALMemoryType","AL_MEMORY_MANAGED","SetName","_name","CjsSchema","define","className","carbon"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAOA;AACA,MAAMA,aAAa,GAAG,UAAU;;AAGhC;AACA;AACA;AACO,MAAMC,qBAAqB,SAASC,mBAAmB,CAC9D;AACE;AACAC,EAAAA,QAAQ,GAAG,KAAK;;AAEhB;AACAC,EAAAA,YAAY,GAAG,IAAI;;AAEnB;AACF;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,MAAMA,CAACC,WAAW,EAAEC,aAAa,EACjC;IACE,IAAI,CAACH,YAAY,GAAGE,WAAW;IAC/B,IAAI,CAACH,QAAQ,GAAG,IAAI;IAEpB,OAAOK,QAAQ,CAACC,IAAI;AACtB,EAAA;;AAEA;AACAC,EAAAA,OAAOA,GACP;IACE,IAAI,CAACP,QAAQ,GAAG,KAAK;IACrB,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB,KAAK,CAACM,OAAO,EAAE;AACjB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,OAAOA,GACP;IACE,OAAO,IAAI,CAACR,QAAQ;AACtB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACES,EAAAA,cAAcA,GACd;IACE,OAAO,IAAI,CAACR,YAAY;AAC1B,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACES,EAAAA,cAAcA,GACd;AACE,IAAA,OAAOb,aAAa;AACtB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEc,EAAAA,cAAcA,GACd;IACE,OAAOC,eAAe,CAACC,iBAAiB;AAC1C,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEC,OAAOA,CAACC,KAAK,EACb;IACE,OAAOV,QAAQ,CAACC,IAAI;AACtB,EAAA;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAU,SAAS,CAACC,MAAM,CAACnB,qBAAqB,EAAE;AAAEoB,EAAAA,SAAS,EAAE,uBAAuB;AAAEC,EAAAA,MAAM,EAAE;AAAoB,CAAC,CAAC;;;;"}