@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,13 +1,14 @@
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
- import { PixelFormat, GetBytesPerPixel } from '../../global/consts/renderContext/formats.js';
5
+ import { Tr2BufferDescriptionAL } from '../Tr2BufferAL/Tr2BufferDescriptionAL.js';
6
+ import '../../global/consts/renderContext/formats.js';
4
7
  import '../../global/consts/renderContext/pipeline.js';
5
- import { Tr2GpuUsage, Tr2CpuUsage, HasFlag } from '../../global/consts/renderContext/resources.js';
8
+ import { HasFlag, Tr2CpuUsage } from '../../global/consts/renderContext/resources.js';
6
9
 
7
10
  // Source: trinity/trinityal/stub/Tr2BufferALStub.cpp
8
11
  // Source: trinity/trinityal/stub/Tr2BufferALStub.h
9
- // Source: trinity/trinityal/include/Tr2BufferAL.h
10
- // Source: trinity/trinityal/src/Tr2BufferAL.cpp (the description constructors)
11
12
  //
12
13
  // The GPU-free buffer: vertex, index, structured and indirect-argument data.
13
14
  //
@@ -31,93 +32,23 @@ import { Tr2GpuUsage, Tr2CpuUsage, HasFlag } from '../../global/consts/renderCon
31
32
  /** Carbon's "no descriptor heap index". */
32
33
  const NO_HEAP_INDEX = 0xffffffff;
33
34
 
34
- /**
35
- * How a buffer is laid out and what may touch it.
36
- *
37
- * Carbon's two non-default constructors differ only in where the stride comes
38
- * from: `FromFormat` derives it from the pixel format, `FromStride` is given
39
- * it outright for a structured buffer.
35
+ /**
36
+ * A buffer that holds its bytes on the CPU.
40
37
  */
41
- class Tr2BufferDescriptionAL {
42
- /** A `PixelFormat` value; unknown for a structured buffer. */
43
- format = PixelFormat.PIXEL_FORMAT_UNKNOWN;
44
-
45
- /** Bytes per element. */
46
- stride = 0;
47
-
48
- /** Elements. */
49
- count = 0;
50
-
51
- /** A `Tr2GpuUsage` bit set. */
52
- gpuUsage = Tr2GpuUsage.NONE;
53
-
54
- /** A `Tr2CpuUsage` bit set. */
55
- cpuUsage = Tr2CpuUsage.NONE;
56
-
57
- /**
58
- * A typed buffer, whose stride follows from its format.
59
- *
60
- * @param {number} format A `PixelFormat` value.
61
- * @param {number} count Elements.
62
- * @param {number} gpuUsage A `Tr2GpuUsage` bit set.
63
- * @param {number} cpuUsage A `Tr2CpuUsage` bit set.
64
- * @returns {Tr2BufferDescriptionAL} The description.
65
- */
66
- static FromFormat(format, count, gpuUsage, cpuUsage) {
67
- const description = new Tr2BufferDescriptionAL();
68
- description.format = format;
69
- description.stride = GetBytesPerPixel(format);
70
- description.count = count;
71
- description.gpuUsage = gpuUsage;
72
- description.cpuUsage = cpuUsage;
73
- return description;
74
- }
75
-
76
- /**
77
- * A structured buffer, whose stride is given.
78
- *
79
- * @param {number} stride Bytes per element.
80
- * @param {number} count Elements.
81
- * @param {number} gpuUsage A `Tr2GpuUsage` bit set.
82
- * @param {number} cpuUsage A `Tr2CpuUsage` bit set.
83
- * @returns {Tr2BufferDescriptionAL} The description.
84
- */
85
- static FromStride(stride, count, gpuUsage, cpuUsage) {
86
- const description = new Tr2BufferDescriptionAL();
87
- description.stride = stride;
88
- description.count = count;
89
- description.gpuUsage = gpuUsage;
90
- description.cpuUsage = cpuUsage;
91
- return description;
92
- }
93
-
94
- /**
95
- * The buffer's size in bytes.
96
- *
97
- * @returns {number} Stride times count.
98
- */
99
- GetSizeInBytes() {
100
- return this.stride * this.count;
101
- }
102
- }
103
-
104
- /**
105
- * A buffer that holds its bytes on the CPU.
106
- */
107
- class Tr2BufferALStub extends Tr2BaseDeviceResourceAL {
38
+ class Tr2BufferALStub extends Tr2DeviceResourceAL {
108
39
  /** m_desc */
109
40
  _desc = new Tr2BufferDescriptionAL();
110
41
 
111
42
  /** m_buffer */
112
43
  _buffer = new Uint8Array(0);
113
44
 
114
- /**
115
- * Creates the buffer.
116
- *
117
- * @param {Tr2BufferDescriptionAL} desc The buffer description.
118
- * @param {ArrayBufferView|null} initialData Initial contents, if any.
119
- * @param {object} renderContext The context to create against.
120
- * @returns {number} An `ALResult` value.
45
+ /**
46
+ * Creates the buffer.
47
+ *
48
+ * @param {Tr2BufferDescriptionAL} desc The buffer description.
49
+ * @param {ArrayBufferView|null} initialData Initial contents, if any.
50
+ * @param {object} renderContext The context to create against.
51
+ * @returns {number} An `ALResult` value.
121
52
  */
122
53
  Create(desc, initialData, renderContext) {
123
54
  this._Reset();
@@ -144,53 +75,53 @@ class Tr2BufferALStub extends Tr2BaseDeviceResourceAL {
144
75
  super.Destroy();
145
76
  }
146
77
 
147
- /**
148
- * Whether the buffer holds anything.
149
- *
150
- * @returns {boolean} True when it has a size.
78
+ /**
79
+ * Whether the buffer holds anything.
80
+ *
81
+ * @returns {boolean} True when it has a size.
151
82
  */
152
83
  IsValid() {
153
84
  return this._buffer.length > 0;
154
85
  }
155
86
 
156
- /**
157
- * Which memory class this buffer occupies.
158
- *
159
- * @returns {number} A `Tr2ALMemoryType` value.
87
+ /**
88
+ * Which memory class this buffer occupies.
89
+ *
90
+ * @returns {number} A `Tr2ALMemoryType` value.
160
91
  */
161
92
  GetMemoryClass() {
162
93
  return Tr2ALMemoryType.AL_MEMORY_MANAGED;
163
94
  }
164
95
 
165
- /**
166
- * The buffer description.
167
- *
168
- * @returns {Tr2BufferDescriptionAL} The description.
96
+ /**
97
+ * The buffer description.
98
+ *
99
+ * @returns {Tr2BufferDescriptionAL} The description.
169
100
  */
170
101
  GetDesc() {
171
102
  return this._desc;
172
103
  }
173
104
 
174
- /**
175
- * The buffer's size in bytes.
176
- *
177
- * Carbon derives it rather than storing it: `GetDesc().count *
178
- * GetDesc().stride` (`src/Tr2BufferAL.cpp:112-115`). Derived here too, so a
179
- * description change cannot leave a stale size behind.
180
- *
181
- * @returns {number} Bytes.
105
+ /**
106
+ * The buffer's size in bytes.
107
+ *
108
+ * Carbon derives it rather than storing it: `GetDesc().count *
109
+ * GetDesc().stride` (`src/Tr2BufferAL.cpp:112-115`). Derived here too, so a
110
+ * description change cannot leave a stale size behind.
111
+ *
112
+ * @returns {number} Bytes.
182
113
  */
183
114
  GetSize() {
184
115
  return this._desc.GetSizeInBytes();
185
116
  }
186
117
 
187
- /**
188
- * Maps the whole buffer, or a range of it, for reading.
189
- *
190
- * @param {object} renderContext The context to map against.
191
- * @param {number} [offset] Byte offset of the range.
192
- * @param {number} [size] Bytes in the range; the whole buffer when omitted.
193
- * @returns {{result: number, data: Uint8Array|null}} The mapping.
118
+ /**
119
+ * Maps the whole buffer, or a range of it, for reading.
120
+ *
121
+ * @param {object} renderContext The context to map against.
122
+ * @param {number} [offset] Byte offset of the range.
123
+ * @param {number} [size] Bytes in the range; the whole buffer when omitted.
124
+ * @returns {{result: number, data: Uint8Array|null}} The mapping.
194
125
  */
195
126
  MapForReading(renderContext, offset = 0, size = 0) {
196
127
  if (!renderContext.IsValid() || !this.IsValid()) return {
@@ -220,11 +151,11 @@ class Tr2BufferALStub extends Tr2BaseDeviceResourceAL {
220
151
  /** Carbon's stub releases nothing on unmap; the storage is the buffer. */
221
152
  UnmapForReading() {}
222
153
 
223
- /**
224
- * Maps the whole buffer for writing.
225
- *
226
- * @param {object} renderContext The context to map against.
227
- * @returns {{result: number, data: Uint8Array|null}} The mapping.
154
+ /**
155
+ * Maps the whole buffer for writing.
156
+ *
157
+ * @param {object} renderContext The context to map against.
158
+ * @returns {{result: number, data: Uint8Array|null}} The mapping.
228
159
  */
229
160
  MapForWriting(renderContext) {
230
161
  if (!renderContext.IsValid() || !this.IsValid()) return {
@@ -244,17 +175,17 @@ class Tr2BufferALStub extends Tr2BaseDeviceResourceAL {
244
175
  /** @see UnmapForReading */
245
176
  UnmapForWriting() {}
246
177
 
247
- /**
248
- * Validates a buffer update. IT MOVES NO BYTES - see the head comment.
249
- *
250
- * A buffer mapped often is written through a map, so Carbon refuses
251
- * `WRITE_OFTEN` here outright.
252
- *
253
- * @param {number} offset Byte offset of the range.
254
- * @param {number} size Bytes in the range.
255
- * @param {ArrayBufferView} data The bytes.
256
- * @param {object} renderContext The context to update against.
257
- * @returns {number} An `ALResult` value.
178
+ /**
179
+ * Validates a buffer update. IT MOVES NO BYTES - see the head comment.
180
+ *
181
+ * A buffer mapped often is written through a map, so Carbon refuses
182
+ * `WRITE_OFTEN` here outright.
183
+ *
184
+ * @param {number} offset Byte offset of the range.
185
+ * @param {number} size Bytes in the range.
186
+ * @param {ArrayBufferView} data The bytes.
187
+ * @param {object} renderContext The context to update against.
188
+ * @returns {number} An `ALResult` value.
258
189
  */
259
190
  UpdateBuffer(offset, size, data, renderContext) {
260
191
  if (!renderContext.IsValid() || !this.IsValid()) return ALResult.E_INVALIDCALL;
@@ -265,34 +196,48 @@ class Tr2BufferALStub extends Tr2BaseDeviceResourceAL {
265
196
  return ALResult.S_OK;
266
197
  }
267
198
 
268
- /**
269
- * Where the shader-resource view sits in the descriptor heap.
270
- *
271
- * @returns {number} Carbon's "no index".
199
+ /**
200
+ * Where the shader-resource view sits in the descriptor heap.
201
+ *
202
+ * @returns {number} Carbon's "no index".
272
203
  */
273
204
  GetSrvIndexInHeap() {
274
205
  return NO_HEAP_INDEX;
275
206
  }
276
207
 
277
- /**
278
- * Where the unordered-access view sits in the descriptor heap.
279
- *
280
- * @returns {number} Carbon's "no index".
208
+ /**
209
+ * Where the unordered-access view sits in the descriptor heap.
210
+ *
211
+ * @returns {number} Carbon's "no index".
281
212
  */
282
213
  GetUavIndexInHeap() {
283
214
  return NO_HEAP_INDEX;
284
215
  }
285
216
 
286
- /**
287
- * Names the buffer for a debugger.
288
- *
289
- * @param {string} _name The name Carbon would attach; the stub discards it.
290
- * @returns {number} An `ALResult` value; the stub keeps no name.
217
+ /**
218
+ * Names the buffer for a debugger.
219
+ *
220
+ * @param {string} _name The name Carbon would attach; the stub discards it.
221
+ * @returns {number} An `ALResult` value; the stub keeps no name.
291
222
  */
292
223
  SetName(_name) {
293
224
  return ALResult.S_OK;
294
225
  }
295
226
  }
296
227
 
228
+ // DECLARED AS A CALL, NOT A DECORATOR, for the reason recorded in
229
+ // Tr2BitmapDimensions.js: the layer is imported straight from source by its
230
+ // tests and raw Node cannot parse decorator syntax.
231
+ //
232
+ // The donor is NAMED rather than left to be derived from this class's name.
233
+ // Carbon calls every backend's class the same thing and carries the backend in
234
+ // the FILE name, because only one backend compiles at a time; we ship them
235
+ // together, so the backend moves onto the class name. That divergence is the
236
+ // author's to declare, never a checker's to guess.
237
+ CjsSchema.define(Tr2BufferALStub, {
238
+ className: "Tr2BufferALStub",
239
+ carbon: "Tr2BufferAL"
240
+ });
241
+
297
242
  export { Tr2BufferALStub, Tr2BufferDescriptionAL };
298
243
  //# sourceMappingURL=Tr2BufferALStub.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2BufferALStub.js","sources":["../../../../src/trinityal/stub/Tr2BufferALStub.js"],"sourcesContent":["// Source: trinity/trinityal/stub/Tr2BufferALStub.cpp\n// Source: trinity/trinityal/stub/Tr2BufferALStub.h\n// Source: trinity/trinityal/include/Tr2BufferAL.h\n// Source: trinity/trinityal/src/Tr2BufferAL.cpp (the description constructors)\n//\n// The GPU-free buffer: vertex, index, structured and indirect-argument data.\n//\n// Unlike the texture, the buffer's storage is the whole point of the type -\n// `IsValid` is literally \"the allocation has a size\". A caller maps it, writes\n// vertices into it, maps it again and reads them back, all without a device,\n// which is what lets a headless frame carry real geometry.\n//\n// TWO DECISIONS TO KNOW ABOUT.\n//\n// - A ranged read returns the bytes of THAT RANGE. Carbon's stub validates the\n// range and then hands back the start of the buffer regardless\n// (`Tr2BufferALStub.cpp:96-98`), which is harmless there because its storage\n// is never meaningfully filled. Ours is, so returning the base would hand a\n// caller the wrong bytes; every real backend offsets, and so does this.\n// - `UpdateBuffer` VALIDATES AND MOVES NOTHING, exactly as Carbon's stub does.\n// The stub is not a memory model: the map path is what carries data. A caller\n// that needs the write to land must map for writing.\n\nimport { Tr2ALMemoryType, Tr2BaseDeviceResourceAL } from \"../Tr2DeviceResourceAL.js\";\nimport { ALResult } from \"../ALResult.js\";\nimport {\n GetBytesPerPixel,\n HasFlag,\n PixelFormat,\n Tr2CpuUsage,\n Tr2GpuUsage\n} from \"../../global/consts/renderContext/index.js\";\n\n\n/** Carbon's \"no descriptor heap index\". */\nconst NO_HEAP_INDEX = 0xffffffff;\n\n\n/**\n * How a buffer is laid out and what may touch it.\n *\n * Carbon's two non-default constructors differ only in where the stride comes\n * from: `FromFormat` derives it from the pixel format, `FromStride` is given\n * it outright for a structured buffer.\n */\nexport class Tr2BufferDescriptionAL\n{\n /** A `PixelFormat` value; unknown for a structured buffer. */\n format = PixelFormat.PIXEL_FORMAT_UNKNOWN;\n\n /** Bytes per element. */\n stride = 0;\n\n /** Elements. */\n count = 0;\n\n /** A `Tr2GpuUsage` bit set. */\n gpuUsage = Tr2GpuUsage.NONE;\n\n /** A `Tr2CpuUsage` bit set. */\n cpuUsage = Tr2CpuUsage.NONE;\n\n /**\n * A typed buffer, whose stride follows from its format.\n *\n * @param {number} format A `PixelFormat` value.\n * @param {number} count Elements.\n * @param {number} gpuUsage A `Tr2GpuUsage` bit set.\n * @param {number} cpuUsage A `Tr2CpuUsage` bit set.\n * @returns {Tr2BufferDescriptionAL} The description.\n */\n static FromFormat(format, count, gpuUsage, cpuUsage)\n {\n const description = new Tr2BufferDescriptionAL();\n\n description.format = format;\n description.stride = GetBytesPerPixel(format);\n description.count = count;\n description.gpuUsage = gpuUsage;\n description.cpuUsage = cpuUsage;\n\n return description;\n }\n\n /**\n * A structured buffer, whose stride is given.\n *\n * @param {number} stride Bytes per element.\n * @param {number} count Elements.\n * @param {number} gpuUsage A `Tr2GpuUsage` bit set.\n * @param {number} cpuUsage A `Tr2CpuUsage` bit set.\n * @returns {Tr2BufferDescriptionAL} The description.\n */\n static FromStride(stride, count, gpuUsage, cpuUsage)\n {\n const description = new Tr2BufferDescriptionAL();\n\n description.stride = stride;\n description.count = count;\n description.gpuUsage = gpuUsage;\n description.cpuUsage = cpuUsage;\n\n return description;\n }\n\n /**\n * The buffer's size in bytes.\n *\n * @returns {number} Stride times count.\n */\n GetSizeInBytes()\n {\n return this.stride * this.count;\n }\n}\n\n\n/**\n * A buffer that holds its bytes on the CPU.\n */\nexport class Tr2BufferALStub extends Tr2BaseDeviceResourceAL\n{\n /** m_desc */\n _desc = new Tr2BufferDescriptionAL();\n\n /** m_buffer */\n _buffer = new Uint8Array(0);\n\n /**\n * Creates the buffer.\n *\n * @param {Tr2BufferDescriptionAL} desc The buffer description.\n * @param {ArrayBufferView|null} initialData Initial contents, if any.\n * @param {object} renderContext The context to create against.\n * @returns {number} An `ALResult` value.\n */\n Create(desc, initialData, renderContext)\n {\n this._Reset();\n\n if (desc.count === 0) return ALResult.E_INVALIDARG;\n\n // Nothing can ever put bytes in it: the same refusal the texture makes,\n // for the same reason.\n if (!HasFlag(desc.cpuUsage, Tr2CpuUsage.WRITE) && !initialData) return ALResult.E_INVALIDARG;\n\n if (!renderContext.IsValid()) return ALResult.E_INVALIDCALL;\n\n this._desc = desc;\n this._buffer = new Uint8Array(desc.GetSizeInBytes());\n\n return ALResult.S_OK;\n }\n\n /** Carbon's impl `Destroy`: empties without unregistering. */\n _Reset()\n {\n this._desc.count = 0;\n this._buffer = new Uint8Array(0);\n }\n\n /** Releases the buffer and leaves the device-resource registry. */\n Destroy()\n {\n this._Reset();\n super.Destroy();\n }\n\n /**\n * Whether the buffer holds anything.\n *\n * @returns {boolean} True when it has a size.\n */\n IsValid()\n {\n return this._buffer.length > 0;\n }\n\n /**\n * Which memory class this buffer occupies.\n *\n * @returns {number} A `Tr2ALMemoryType` value.\n */\n GetMemoryClass()\n {\n return Tr2ALMemoryType.AL_MEMORY_MANAGED;\n }\n\n /**\n * The buffer description.\n *\n * @returns {Tr2BufferDescriptionAL} The description.\n */\n GetDesc()\n {\n return this._desc;\n }\n\n\n /**\n * The buffer's size in bytes.\n *\n * Carbon derives it rather than storing it: `GetDesc().count *\n * GetDesc().stride` (`src/Tr2BufferAL.cpp:112-115`). Derived here too, so a\n * description change cannot leave a stale size behind.\n *\n * @returns {number} Bytes.\n */\n GetSize()\n {\n return this._desc.GetSizeInBytes();\n }\n\n /**\n * Maps the whole buffer, or a range of it, for reading.\n *\n * @param {object} renderContext The context to map against.\n * @param {number} [offset] Byte offset of the range.\n * @param {number} [size] Bytes in the range; the whole buffer when omitted.\n * @returns {{result: number, data: Uint8Array|null}} The mapping.\n */\n MapForReading(renderContext, offset = 0, size = 0)\n {\n if (!renderContext.IsValid() || !this.IsValid()) return { result: ALResult.E_INVALIDCALL, data: null };\n\n const ranged = size !== 0 || offset !== 0;\n\n if (ranged && (size === 0 || offset + size > this._desc.GetSizeInBytes()))\n {\n return { result: ALResult.E_INVALIDARG, data: null };\n }\n\n if (!HasFlag(this._desc.cpuUsage, Tr2CpuUsage.READ)) return { result: ALResult.E_INVALIDCALL, data: null };\n\n // See the head comment: a range returns its own bytes, not the base.\n const data = ranged ? this._buffer.subarray(offset, offset + size) : this._buffer;\n\n return { result: ALResult.S_OK, data };\n }\n\n /** Carbon's stub releases nothing on unmap; the storage is the buffer. */\n UnmapForReading()\n {\n }\n\n /**\n * Maps the whole buffer for writing.\n *\n * @param {object} renderContext The context to map against.\n * @returns {{result: number, data: Uint8Array|null}} The mapping.\n */\n MapForWriting(renderContext)\n {\n if (!renderContext.IsValid() || !this.IsValid()) return { result: ALResult.E_INVALIDCALL, data: null };\n\n if (!HasFlag(this._desc.cpuUsage, Tr2CpuUsage.WRITE)) return { result: ALResult.E_INVALIDCALL, data: null };\n\n return { result: ALResult.S_OK, data: this._buffer };\n }\n\n /** @see UnmapForReading */\n UnmapForWriting()\n {\n }\n\n /**\n * Validates a buffer update. IT MOVES NO BYTES - see the head comment.\n *\n * A buffer mapped often is written through a map, so Carbon refuses\n * `WRITE_OFTEN` here outright.\n *\n * @param {number} offset Byte offset of the range.\n * @param {number} size Bytes in the range.\n * @param {ArrayBufferView} data The bytes.\n * @param {object} renderContext The context to update against.\n * @returns {number} An `ALResult` value.\n */\n UpdateBuffer(offset, size, data, renderContext)\n {\n if (!renderContext.IsValid() || !this.IsValid()) return ALResult.E_INVALIDCALL;\n\n if (offset + size > this._desc.GetSizeInBytes()) return ALResult.E_INVALIDARG;\n\n if (!HasFlag(this._desc.cpuUsage, Tr2CpuUsage.WRITE) || HasFlag(this._desc.cpuUsage, Tr2CpuUsage.WRITE_OFTEN))\n {\n return ALResult.E_INVALIDCALL;\n }\n\n return ALResult.S_OK;\n }\n\n /**\n * Where the shader-resource view sits in the descriptor heap.\n *\n * @returns {number} Carbon's \"no index\".\n */\n GetSrvIndexInHeap()\n {\n return NO_HEAP_INDEX;\n }\n\n /**\n * Where the unordered-access view sits in the descriptor heap.\n *\n * @returns {number} Carbon's \"no index\".\n */\n GetUavIndexInHeap()\n {\n return NO_HEAP_INDEX;\n }\n\n /**\n * Names the buffer 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","Tr2BufferDescriptionAL","format","PixelFormat","PIXEL_FORMAT_UNKNOWN","stride","count","gpuUsage","Tr2GpuUsage","NONE","cpuUsage","Tr2CpuUsage","FromFormat","description","GetBytesPerPixel","FromStride","GetSizeInBytes","Tr2BufferALStub","Tr2BaseDeviceResourceAL","_desc","_buffer","Uint8Array","Create","desc","initialData","renderContext","_Reset","ALResult","E_INVALIDARG","HasFlag","WRITE","IsValid","E_INVALIDCALL","S_OK","Destroy","length","GetMemoryClass","Tr2ALMemoryType","AL_MEMORY_MANAGED","GetDesc","GetSize","MapForReading","offset","size","result","data","ranged","READ","subarray","UnmapForReading","MapForWriting","UnmapForWriting","UpdateBuffer","WRITE_OFTEN","GetSrvIndexInHeap","GetUavIndexInHeap","SetName","_name"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2BufferALStub.js","sources":["../../../../src/trinityal/stub/Tr2BufferALStub.js"],"sourcesContent":["// Source: trinity/trinityal/stub/Tr2BufferALStub.cpp\r\n// Source: trinity/trinityal/stub/Tr2BufferALStub.h\r\n//\r\n// The GPU-free buffer: vertex, index, structured and indirect-argument data.\r\n//\r\n// Unlike the texture, the buffer's storage is the whole point of the type -\r\n// `IsValid` is literally \"the allocation has a size\". A caller maps it, writes\r\n// vertices into it, maps it again and reads them back, all without a device,\r\n// which is what lets a headless frame carry real geometry.\r\n//\r\n// TWO DECISIONS TO KNOW ABOUT.\r\n//\r\n// - A ranged read returns the bytes of THAT RANGE. Carbon's stub validates the\r\n// range and then hands back the start of the buffer regardless\r\n// (`Tr2BufferALStub.cpp:96-98`), which is harmless there because its storage\r\n// is never meaningfully filled. Ours is, so returning the base would hand a\r\n// caller the wrong bytes; every real backend offsets, and so does this.\r\n// - `UpdateBuffer` VALIDATES AND MOVES NOTHING, exactly as Carbon's stub does.\r\n// The stub is not a memory model: the map path is what carries data. A caller\r\n// that needs the write to land must map for writing.\r\n\r\nimport { CjsSchema } from \"#schema\";\r\nimport { Tr2ALMemoryType, Tr2DeviceResourceAL } from \"../Tr2DeviceResourceAL/index.js\";\r\nimport { ALResult } from \"../ALResult.js\";\r\nimport { Tr2BufferDescriptionAL } from \"../Tr2BufferAL/Tr2BufferDescriptionAL.js\";\r\n\r\n// Preserve the existing import path while the declaration lives with its donor header.\r\nexport { Tr2BufferDescriptionAL } from \"../Tr2BufferAL/Tr2BufferDescriptionAL.js\";\r\nimport {\r\n HasFlag,\r\n PixelFormat,\r\n Tr2CpuUsage,\r\n Tr2GpuUsage\r\n} from \"../../global/consts/renderContext/index.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 buffer that holds its bytes on the CPU.\r\n */\r\nexport class Tr2BufferALStub extends Tr2DeviceResourceAL\r\n{\r\n /** m_desc */\r\n _desc = new Tr2BufferDescriptionAL();\r\n\r\n /** m_buffer */\r\n _buffer = new Uint8Array(0);\r\n\r\n /**\r\n * Creates the buffer.\r\n *\r\n * @param {Tr2BufferDescriptionAL} desc The buffer description.\r\n * @param {ArrayBufferView|null} initialData Initial contents, if any.\r\n * @param {object} renderContext The context to create against.\r\n * @returns {number} An `ALResult` value.\r\n */\r\n Create(desc, initialData, renderContext)\r\n {\r\n this._Reset();\r\n\r\n if (desc.count === 0) return ALResult.E_INVALIDARG;\r\n\r\n // Nothing can ever put bytes in it: the same refusal the texture makes,\r\n // for the same reason.\r\n if (!HasFlag(desc.cpuUsage, Tr2CpuUsage.WRITE) && !initialData) return ALResult.E_INVALIDARG;\r\n\r\n if (!renderContext.IsValid()) return ALResult.E_INVALIDCALL;\r\n\r\n this._desc = desc;\r\n this._buffer = new Uint8Array(desc.GetSizeInBytes());\r\n\r\n return ALResult.S_OK;\r\n }\r\n\r\n /** Carbon's impl `Destroy`: empties without unregistering. */\r\n _Reset()\r\n {\r\n this._desc.count = 0;\r\n this._buffer = new Uint8Array(0);\r\n }\r\n\r\n /** Releases the buffer and leaves the device-resource registry. */\r\n Destroy()\r\n {\r\n this._Reset();\r\n super.Destroy();\r\n }\r\n\r\n /**\r\n * Whether the buffer holds anything.\r\n *\r\n * @returns {boolean} True when it has a size.\r\n */\r\n IsValid()\r\n {\r\n return this._buffer.length > 0;\r\n }\r\n\r\n /**\r\n * Which memory class this buffer 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 * The buffer description.\r\n *\r\n * @returns {Tr2BufferDescriptionAL} The description.\r\n */\r\n GetDesc()\r\n {\r\n return this._desc;\r\n }\r\n\r\n\r\n /**\r\n * The buffer's size in bytes.\r\n *\r\n * Carbon derives it rather than storing it: `GetDesc().count *\r\n * GetDesc().stride` (`src/Tr2BufferAL.cpp:112-115`). Derived here too, so a\r\n * description change cannot leave a stale size behind.\r\n *\r\n * @returns {number} Bytes.\r\n */\r\n GetSize()\r\n {\r\n return this._desc.GetSizeInBytes();\r\n }\r\n\r\n /**\r\n * Maps the whole buffer, or a range of it, for reading.\r\n *\r\n * @param {object} renderContext The context to map against.\r\n * @param {number} [offset] Byte offset of the range.\r\n * @param {number} [size] Bytes in the range; the whole buffer when omitted.\r\n * @returns {{result: number, data: Uint8Array|null}} The mapping.\r\n */\r\n MapForReading(renderContext, offset = 0, size = 0)\r\n {\r\n if (!renderContext.IsValid() || !this.IsValid()) return { result: ALResult.E_INVALIDCALL, data: null };\r\n\r\n const ranged = size !== 0 || offset !== 0;\r\n\r\n if (ranged && (size === 0 || offset + size > this._desc.GetSizeInBytes()))\r\n {\r\n return { result: ALResult.E_INVALIDARG, data: null };\r\n }\r\n\r\n if (!HasFlag(this._desc.cpuUsage, Tr2CpuUsage.READ)) return { result: ALResult.E_INVALIDCALL, data: null };\r\n\r\n // See the head comment: a range returns its own bytes, not the base.\r\n const data = ranged ? this._buffer.subarray(offset, offset + size) : this._buffer;\r\n\r\n return { result: ALResult.S_OK, data };\r\n }\r\n\r\n /** Carbon's stub releases nothing on unmap; the storage is the buffer. */\r\n UnmapForReading()\r\n {\r\n }\r\n\r\n /**\r\n * Maps the whole buffer for writing.\r\n *\r\n * @param {object} renderContext The context to map against.\r\n * @returns {{result: number, data: Uint8Array|null}} The mapping.\r\n */\r\n MapForWriting(renderContext)\r\n {\r\n if (!renderContext.IsValid() || !this.IsValid()) return { result: ALResult.E_INVALIDCALL, data: null };\r\n\r\n if (!HasFlag(this._desc.cpuUsage, Tr2CpuUsage.WRITE)) return { result: ALResult.E_INVALIDCALL, data: null };\r\n\r\n return { result: ALResult.S_OK, data: this._buffer };\r\n }\r\n\r\n /** @see UnmapForReading */\r\n UnmapForWriting()\r\n {\r\n }\r\n\r\n /**\r\n * Validates a buffer update. IT MOVES NO BYTES - see the head comment.\r\n *\r\n * A buffer mapped often is written through a map, so Carbon refuses\r\n * `WRITE_OFTEN` here outright.\r\n *\r\n * @param {number} offset Byte offset of the range.\r\n * @param {number} size Bytes in the range.\r\n * @param {ArrayBufferView} data The bytes.\r\n * @param {object} renderContext The context to update against.\r\n * @returns {number} An `ALResult` value.\r\n */\r\n UpdateBuffer(offset, size, data, renderContext)\r\n {\r\n if (!renderContext.IsValid() || !this.IsValid()) return ALResult.E_INVALIDCALL;\r\n\r\n if (offset + size > this._desc.GetSizeInBytes()) return ALResult.E_INVALIDARG;\r\n\r\n if (!HasFlag(this._desc.cpuUsage, Tr2CpuUsage.WRITE) || HasFlag(this._desc.cpuUsage, Tr2CpuUsage.WRITE_OFTEN))\r\n {\r\n return ALResult.E_INVALIDCALL;\r\n }\r\n\r\n return ALResult.S_OK;\r\n }\r\n\r\n /**\r\n * Where the shader-resource view sits in the descriptor heap.\r\n *\r\n * @returns {number} Carbon's \"no index\".\r\n */\r\n GetSrvIndexInHeap()\r\n {\r\n return NO_HEAP_INDEX;\r\n }\r\n\r\n /**\r\n * Where the unordered-access view sits in the descriptor heap.\r\n *\r\n * @returns {number} Carbon's \"no index\".\r\n */\r\n GetUavIndexInHeap()\r\n {\r\n return NO_HEAP_INDEX;\r\n }\r\n\r\n /**\r\n * Names the buffer 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(Tr2BufferALStub, { className: \"Tr2BufferALStub\", carbon: \"Tr2BufferAL\" });\r\n"],"names":["NO_HEAP_INDEX","Tr2BufferALStub","Tr2DeviceResourceAL","_desc","Tr2BufferDescriptionAL","_buffer","Uint8Array","Create","desc","initialData","renderContext","_Reset","count","ALResult","E_INVALIDARG","HasFlag","cpuUsage","Tr2CpuUsage","WRITE","IsValid","E_INVALIDCALL","GetSizeInBytes","S_OK","Destroy","length","GetMemoryClass","Tr2ALMemoryType","AL_MEMORY_MANAGED","GetDesc","GetSize","MapForReading","offset","size","result","data","ranged","READ","subarray","UnmapForReading","MapForWriting","UnmapForWriting","UpdateBuffer","WRITE_OFTEN","GetSrvIndexInHeap","GetUavIndexInHeap","SetName","_name","CjsSchema","define","className","carbon"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { CjsSchema } from '#schema';
2
+
1
3
  // Source: trinity/trinityal/stub/Tr2CapsALStub.cpp
2
4
  // Source: trinity/trinityal/stub/Tr2CapsALStub.h
3
5
  //
@@ -13,6 +15,7 @@
13
15
  // to everything would drive Trinity down paths a real device never takes, which
14
16
  // is the opposite of what a headless engine carrying correct data is for.
15
17
 
18
+
16
19
  /**
17
20
  * The platform capability constants (`Tr2CapsALStub.h:10-19`).
18
21
  *
@@ -91,5 +94,19 @@ class Tr2CapsALStub {
91
94
  }
92
95
  }
93
96
 
97
+ // DECLARED AS A CALL, NOT A DECORATOR, for the reason recorded in
98
+ // Tr2BitmapDimensions.js: the layer is imported straight from source by its
99
+ // tests and raw Node cannot parse decorator syntax.
100
+ //
101
+ // The donor is NAMED rather than left to be derived from this class's name.
102
+ // Carbon calls every backend's class the same thing and carries the backend in
103
+ // the FILE name, because only one backend compiles at a time; we ship them
104
+ // together, so the backend moves onto the class name. That divergence is the
105
+ // author's to declare, never a checker's to guess.
106
+ CjsSchema.define(Tr2CapsALStub, {
107
+ className: "Tr2CapsALStub",
108
+ carbon: "Tr2CapsAL"
109
+ });
110
+
94
111
  export { Tr2CapsALStub, Tr2StubPlatformCaps };
95
112
  //# sourceMappingURL=Tr2CapsALStub.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2CapsALStub.js","sources":["../../../../src/trinityal/stub/Tr2CapsALStub.js"],"sourcesContent":["// Source: trinity/trinityal/stub/Tr2CapsALStub.cpp\n// Source: trinity/trinityal/stub/Tr2CapsALStub.h\n//\n// What the GPU-free backend says it can do.\n//\n// Every value here is Carbon's stub answer, and the interesting thing about\n// them is that they are NOT all \"no\". The stub claims float16, vertex-shader\n// textures, compute, texture arrays and a standalone swap chain, and denies\n// GPU buffers, unordered access, buffer shader resources, variable refresh rate\n// and ray tracing - and it declares itself a low-performance platform.\n//\n// That matters because a caller branches on these. A backend that answered \"no\"\n// to everything would drive Trinity down paths a real device never takes, which\n// is the opposite of what a headless engine carrying correct data is for.\n\n/**\n * The platform capability constants (`Tr2CapsALStub.h:10-19`).\n *\n * Carbon spells these as preprocessor defines the compiler folds away; here\n * they are values, because nothing folds them away at build time.\n */\nexport const Tr2StubPlatformCaps = Object.freeze({\n SUPPORTS_BUFFER_SHADER_RESOURCES: false,\n SUPPORTS_BUFFER_COUNTERS: false,\n SUPPORTS_UNORDERED_ACCESS: false,\n SUPPORTS_COMPUTE: true,\n SUPPORTS_TEXTURE_ARRAYS: true,\n SUPPORTS_MSAA_SAMPLE: true,\n SUPPORTS_RENDER_PASS_HINTS: false,\n IS_LOW_PERFORMANCE: true,\n MAX_CONSTANT_BUFFER_SIZE: 4 * 1024,\n SUPPORTS_RAY_TRACING: false\n});\n\n\n/**\n * The capabilities the stub backend reports.\n */\nexport class Tr2CapsALStub\n{\n /**\n * Whether half-precision floats are available.\n *\n * @returns {boolean} True.\n */\n SupportsFloat16()\n {\n return true;\n }\n\n /**\n * Whether a shader can read a buffer resource.\n *\n * @returns {boolean} False; the stub has no buffer views.\n */\n SupportsGpuBuffer()\n {\n return false;\n }\n\n /**\n * Whether a swap chain can exist apart from the device's own.\n *\n * @returns {boolean} True.\n */\n SupportsStandaloneSwapChain()\n {\n return true;\n }\n\n /**\n * Whether a vertex shader can sample a texture.\n *\n * @returns {boolean} True.\n */\n SupportsVertexShaderTextures()\n {\n return true;\n }\n\n /**\n * Whether the display can refresh at a variable rate.\n *\n * @returns {boolean} False.\n */\n SupportsVariableRefreshRate()\n {\n return false;\n }\n\n /**\n * Whether hardware ray tracing is available.\n *\n * @returns {boolean} False; Carbon's stub fails every ray-tracing path.\n */\n SupportsRaytracing()\n {\n return false;\n }\n}\n"],"names":["Tr2StubPlatformCaps","Object","freeze","SUPPORTS_BUFFER_SHADER_RESOURCES","SUPPORTS_BUFFER_COUNTERS","SUPPORTS_UNORDERED_ACCESS","SUPPORTS_COMPUTE","SUPPORTS_TEXTURE_ARRAYS","SUPPORTS_MSAA_SAMPLE","SUPPORTS_RENDER_PASS_HINTS","IS_LOW_PERFORMANCE","MAX_CONSTANT_BUFFER_SIZE","SUPPORTS_RAY_TRACING","Tr2CapsALStub","SupportsFloat16","SupportsGpuBuffer","SupportsStandaloneSwapChain","SupportsVertexShaderTextures","SupportsVariableRefreshRate","SupportsRaytracing"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;MACaA,mBAAmB,GAAGC,MAAM,CAACC,MAAM,CAAC;AAC/CC,EAAAA,gCAAgC,EAAE,KAAK;AACvCC,EAAAA,wBAAwB,EAAE,KAAK;AAC/BC,EAAAA,yBAAyB,EAAE,KAAK;AAChCC,EAAAA,gBAAgB,EAAE,IAAI;AACtBC,EAAAA,uBAAuB,EAAE,IAAI;AAC7BC,EAAAA,oBAAoB,EAAE,IAAI;AAC1BC,EAAAA,0BAA0B,EAAE,KAAK;AACjCC,EAAAA,kBAAkB,EAAE,IAAI;EACxBC,wBAAwB,EAAE,CAAC,GAAG,IAAI;AAClCC,EAAAA,oBAAoB,EAAE;AACxB,CAAC;;AAGD;AACA;AACA;AACO,MAAMC,aAAa,CAC1B;AACE;AACF;AACA;AACA;AACA;AACEC,EAAAA,eAAeA,GACf;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,iBAAiBA,GACjB;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,2BAA2BA,GAC3B;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,4BAA4BA,GAC5B;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,2BAA2BA,GAC3B;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,kBAAkBA,GAClB;AACE,IAAA,OAAO,KAAK;AACd,EAAA;AACF;;;;"}
1
+ {"version":3,"file":"Tr2CapsALStub.js","sources":["../../../../src/trinityal/stub/Tr2CapsALStub.js"],"sourcesContent":["// Source: trinity/trinityal/stub/Tr2CapsALStub.cpp\n// Source: trinity/trinityal/stub/Tr2CapsALStub.h\n//\n// What the GPU-free backend says it can do.\n//\n// Every value here is Carbon's stub answer, and the interesting thing about\n// them is that they are NOT all \"no\". The stub claims float16, vertex-shader\n// textures, compute, texture arrays and a standalone swap chain, and denies\n// GPU buffers, unordered access, buffer shader resources, variable refresh rate\n// and ray tracing - and it declares itself a low-performance platform.\n//\n// That matters because a caller branches on these. A backend that answered \"no\"\n// to everything would drive Trinity down paths a real device never takes, which\n// is the opposite of what a headless engine carrying correct data is for.\n\nimport { CjsSchema } from \"#schema\";\n\n/**\n * The platform capability constants (`Tr2CapsALStub.h:10-19`).\n *\n * Carbon spells these as preprocessor defines the compiler folds away; here\n * they are values, because nothing folds them away at build time.\n */\nexport const Tr2StubPlatformCaps = Object.freeze({\n SUPPORTS_BUFFER_SHADER_RESOURCES: false,\n SUPPORTS_BUFFER_COUNTERS: false,\n SUPPORTS_UNORDERED_ACCESS: false,\n SUPPORTS_COMPUTE: true,\n SUPPORTS_TEXTURE_ARRAYS: true,\n SUPPORTS_MSAA_SAMPLE: true,\n SUPPORTS_RENDER_PASS_HINTS: false,\n IS_LOW_PERFORMANCE: true,\n MAX_CONSTANT_BUFFER_SIZE: 4 * 1024,\n SUPPORTS_RAY_TRACING: false\n});\n\n\n/**\n * The capabilities the stub backend reports.\n */\nexport class Tr2CapsALStub\n{\n /**\n * Whether half-precision floats are available.\n *\n * @returns {boolean} True.\n */\n SupportsFloat16()\n {\n return true;\n }\n\n /**\n * Whether a shader can read a buffer resource.\n *\n * @returns {boolean} False; the stub has no buffer views.\n */\n SupportsGpuBuffer()\n {\n return false;\n }\n\n /**\n * Whether a swap chain can exist apart from the device's own.\n *\n * @returns {boolean} True.\n */\n SupportsStandaloneSwapChain()\n {\n return true;\n }\n\n /**\n * Whether a vertex shader can sample a texture.\n *\n * @returns {boolean} True.\n */\n SupportsVertexShaderTextures()\n {\n return true;\n }\n\n /**\n * Whether the display can refresh at a variable rate.\n *\n * @returns {boolean} False.\n */\n SupportsVariableRefreshRate()\n {\n return false;\n }\n\n /**\n * Whether hardware ray tracing is available.\n *\n * @returns {boolean} False; Carbon's stub fails every ray-tracing path.\n */\n SupportsRaytracing()\n {\n return false;\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(Tr2CapsALStub, { className: \"Tr2CapsALStub\", carbon: \"Tr2CapsAL\" });\n"],"names":["Tr2StubPlatformCaps","Object","freeze","SUPPORTS_BUFFER_SHADER_RESOURCES","SUPPORTS_BUFFER_COUNTERS","SUPPORTS_UNORDERED_ACCESS","SUPPORTS_COMPUTE","SUPPORTS_TEXTURE_ARRAYS","SUPPORTS_MSAA_SAMPLE","SUPPORTS_RENDER_PASS_HINTS","IS_LOW_PERFORMANCE","MAX_CONSTANT_BUFFER_SIZE","SUPPORTS_RAY_TRACING","Tr2CapsALStub","SupportsFloat16","SupportsGpuBuffer","SupportsStandaloneSwapChain","SupportsVertexShaderTextures","SupportsVariableRefreshRate","SupportsRaytracing","CjsSchema","define","className","carbon"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAIA;AACA;AACA;AACA;AACA;AACA;MACaA,mBAAmB,GAAGC,MAAM,CAACC,MAAM,CAAC;AAC/CC,EAAAA,gCAAgC,EAAE,KAAK;AACvCC,EAAAA,wBAAwB,EAAE,KAAK;AAC/BC,EAAAA,yBAAyB,EAAE,KAAK;AAChCC,EAAAA,gBAAgB,EAAE,IAAI;AACtBC,EAAAA,uBAAuB,EAAE,IAAI;AAC7BC,EAAAA,oBAAoB,EAAE,IAAI;AAC1BC,EAAAA,0BAA0B,EAAE,KAAK;AACjCC,EAAAA,kBAAkB,EAAE,IAAI;EACxBC,wBAAwB,EAAE,CAAC,GAAG,IAAI;AAClCC,EAAAA,oBAAoB,EAAE;AACxB,CAAC;;AAGD;AACA;AACA;AACO,MAAMC,aAAa,CAC1B;AACE;AACF;AACA;AACA;AACA;AACEC,EAAAA,eAAeA,GACf;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,iBAAiBA,GACjB;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,2BAA2BA,GAC3B;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,4BAA4BA,GAC5B;AACE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,2BAA2BA,GAC3B;AACE,IAAA,OAAO,KAAK;AACd,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,kBAAkBA,GAClB;AACE,IAAA,OAAO,KAAK;AACd,EAAA;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAC,SAAS,CAACC,MAAM,CAACR,aAAa,EAAE;AAAES,EAAAA,SAAS,EAAE,eAAe;AAAEC,EAAAA,MAAM,EAAE;AAAY,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/Tr2ConstantBufferALStub.cpp
@@ -26,25 +28,25 @@ const Tr2ConstantUsageAL = Object.freeze({
26
28
  REUSABLE: 2
27
29
  });
28
30
 
29
- /**
30
- * A constant buffer holding its shadow copy on the CPU.
31
+ /**
32
+ * A constant buffer holding its shadow copy on the CPU.
31
33
  */
32
- class Tr2ConstantBufferALStub extends Tr2BaseDeviceResourceAL {
34
+ class Tr2ConstantBufferALStub extends Tr2DeviceResourceAL {
33
35
  /** m_shadowCopy */
34
36
  _shadowCopy = new Uint8Array(0);
35
37
 
36
- /**
37
- * Creates the buffer.
38
- *
39
- * An immutable buffer is written once, at creation - so arriving without
40
- * data means it can never hold anything, and Carbon logs and refuses rather
41
- * than handing back a buffer of zeroes.
42
- *
43
- * @param {number} size Size in bytes.
44
- * @param {number} usage A `Tr2ConstantUsageAL` value.
45
- * @param {ArrayBufferView|null} initialData Initial contents, if any.
46
- * @param {object} renderContext The context to create against.
47
- * @returns {number} An `ALResult` value.
38
+ /**
39
+ * Creates the buffer.
40
+ *
41
+ * An immutable buffer is written once, at creation - so arriving without
42
+ * data means it can never hold anything, and Carbon logs and refuses rather
43
+ * than handing back a buffer of zeroes.
44
+ *
45
+ * @param {number} size Size in bytes.
46
+ * @param {number} usage A `Tr2ConstantUsageAL` value.
47
+ * @param {ArrayBufferView|null} initialData Initial contents, if any.
48
+ * @param {object} renderContext The context to create against.
49
+ * @returns {number} An `ALResult` value.
48
50
  */
49
51
  Create(size, usage, initialData, renderContext) {
50
52
  if (!renderContext.IsValid()) return ALResult.E_INVALIDARG;
@@ -65,10 +67,10 @@ class Tr2ConstantBufferALStub extends Tr2BaseDeviceResourceAL {
65
67
  return ALResult.S_OK;
66
68
  }
67
69
 
68
- /**
69
- * Hands back the shadow copy to write into.
70
- *
71
- * @returns {{result: number, data: Uint8Array|null}} The locked storage.
70
+ /**
71
+ * Hands back the shadow copy to write into.
72
+ *
73
+ * @returns {{result: number, data: Uint8Array|null}} The locked storage.
72
74
  */
73
75
  Lock() {
74
76
  if (this._shadowCopy.length === 0) return {
@@ -81,10 +83,10 @@ class Tr2ConstantBufferALStub extends Tr2BaseDeviceResourceAL {
81
83
  };
82
84
  }
83
85
 
84
- /**
85
- * Releases the lock. The storage stays; there is nothing to upload to.
86
- *
87
- * @returns {number} An `ALResult` value.
86
+ /**
87
+ * Releases the lock. The storage stays; there is nothing to upload to.
88
+ *
89
+ * @returns {number} An `ALResult` value.
88
90
  */
89
91
  Unlock() {
90
92
  return ALResult.S_OK;
@@ -96,43 +98,57 @@ class Tr2ConstantBufferALStub extends Tr2BaseDeviceResourceAL {
96
98
  super.Destroy();
97
99
  }
98
100
 
99
- /**
100
- * Whether the buffer holds anything.
101
- *
102
- * @returns {boolean} True when it has a size.
101
+ /**
102
+ * Whether the buffer holds anything.
103
+ *
104
+ * @returns {boolean} True when it has a size.
103
105
  */
104
106
  IsValid() {
105
107
  return this._shadowCopy.length !== 0;
106
108
  }
107
109
 
108
- /**
109
- * The buffer's size.
110
- *
111
- * @returns {number} Size in bytes.
110
+ /**
111
+ * The buffer's size.
112
+ *
113
+ * @returns {number} Size in bytes.
112
114
  */
113
115
  GetSize() {
114
116
  return this._shadowCopy.length;
115
117
  }
116
118
 
117
- /**
118
- * Which memory class this buffer occupies.
119
- *
120
- * @returns {number} A `Tr2ALMemoryType` value.
119
+ /**
120
+ * Which memory class this buffer occupies.
121
+ *
122
+ * @returns {number} A `Tr2ALMemoryType` value.
121
123
  */
122
124
  GetMemoryClass() {
123
125
  return Tr2ALMemoryType.AL_MEMORY_MANAGED;
124
126
  }
125
127
 
126
- /**
127
- * Names the buffer for a debugger.
128
- *
129
- * @param {string} _name The name Carbon would attach; the stub discards it.
130
- * @returns {number} An `ALResult` value; the stub keeps no name.
128
+ /**
129
+ * Names the buffer for a debugger.
130
+ *
131
+ * @param {string} _name The name Carbon would attach; the stub discards it.
132
+ * @returns {number} An `ALResult` value; the stub keeps no name.
131
133
  */
132
134
  SetName(_name) {
133
135
  return ALResult.S_OK;
134
136
  }
135
137
  }
136
138
 
139
+ // DECLARED AS A CALL, NOT A DECORATOR, for the reason recorded in
140
+ // Tr2BitmapDimensions.js: the layer is imported straight from source by its
141
+ // tests and raw Node cannot parse decorator syntax.
142
+ //
143
+ // The donor is NAMED rather than left to be derived from this class's name.
144
+ // Carbon calls every backend's class the same thing and carries the backend in
145
+ // the FILE name, because only one backend compiles at a time; we ship them
146
+ // together, so the backend moves onto the class name. That divergence is the
147
+ // author's to declare, never a checker's to guess.
148
+ CjsSchema.define(Tr2ConstantBufferALStub, {
149
+ className: "Tr2ConstantBufferALStub",
150
+ carbon: "Tr2ConstantBufferAL"
151
+ });
152
+
137
153
  export { Tr2ConstantBufferALStub, Tr2ConstantUsageAL };
138
154
  //# sourceMappingURL=Tr2ConstantBufferALStub.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2ConstantBufferALStub.js","sources":["../../../../src/trinityal/stub/Tr2ConstantBufferALStub.js"],"sourcesContent":["// Source: trinity/trinityal/stub/Tr2ConstantBufferALStub.cpp\n// Source: trinity/trinityal/stub/Tr2ConstantBufferALStub.h\n// Source: trinity/trinityal/include/Tr2ConstantBufferAL.h\n//\n// The GPU-free constant buffer - the shadow copy behind cb0..cb8.\n//\n// This is the type the per-frame and per-object data actually lands in, so its\n// storage being real is what makes a headless frame inspectable: lock it, write\n// the vec4 registers, unlock, and read the same bytes back.\n//\n// Carbon names the storage `m_shadowCopy` and that is exactly what it is even\n// on a real backend - the CPU-side mirror the driver uploads from. Here there\n// is nothing to upload to, so the mirror is the whole resource.\n\nimport { Tr2ALMemoryType, Tr2BaseDeviceResourceAL } from \"../Tr2DeviceResourceAL.js\";\nimport { ALResult } from \"../ALResult.js\";\n\n\n/** `Tr2ConstantUsageAL` (`Tr2ConstantBufferAL.h:16-24`). */\nexport const Tr2ConstantUsageAL = Object.freeze({\n /** Written once at creation and never again. */\n IMMUTABLE: 0,\n\n /** Written and consumed within one frame. */\n ONE_SHOT: 1,\n\n /** Written repeatedly across frames. */\n REUSABLE: 2\n});\n\n\n/**\n * A constant buffer holding its shadow copy on the CPU.\n */\nexport class Tr2ConstantBufferALStub extends Tr2BaseDeviceResourceAL\n{\n /** m_shadowCopy */\n _shadowCopy = new Uint8Array(0);\n\n /**\n * Creates the buffer.\n *\n * An immutable buffer is written once, at creation - so arriving without\n * data means it can never hold anything, and Carbon logs and refuses rather\n * than handing back a buffer of zeroes.\n *\n * @param {number} size Size in bytes.\n * @param {number} usage A `Tr2ConstantUsageAL` value.\n * @param {ArrayBufferView|null} initialData Initial contents, if any.\n * @param {object} renderContext The context to create against.\n * @returns {number} An `ALResult` value.\n */\n Create(size, usage, initialData, renderContext)\n {\n if (!renderContext.IsValid()) return ALResult.E_INVALIDARG;\n\n if (size === 0) return ALResult.E_INVALIDARG;\n\n if (usage === Tr2ConstantUsageAL.IMMUTABLE && !initialData) return ALResult.E_INVALIDARG;\n\n this._shadowCopy = new Uint8Array(size);\n\n // Carbon's allocation can fail; here only a zero size produces an empty\n // buffer, and that was already refused above.\n if (this._shadowCopy.length === 0) return ALResult.E_OUTOFMEMORY;\n\n // The initial contents land in the shadow, so a buffer created from a\n // static mirror reads back as that mirror without ever being locked.\n if (initialData)\n {\n const bytes = new Uint8Array(initialData.buffer, initialData.byteOffset, initialData.byteLength);\n\n this._shadowCopy.set(bytes.subarray(0, Math.min(bytes.length, size)));\n }\n\n return ALResult.S_OK;\n }\n\n /**\n * Hands back the shadow copy to write into.\n *\n * @returns {{result: number, data: Uint8Array|null}} The locked storage.\n */\n Lock()\n {\n if (this._shadowCopy.length === 0) return { result: ALResult.E_FAIL, data: null };\n\n return { result: ALResult.S_OK, data: this._shadowCopy };\n }\n\n /**\n * Releases the lock. The storage stays; there is nothing to upload to.\n *\n * @returns {number} An `ALResult` value.\n */\n Unlock()\n {\n return ALResult.S_OK;\n }\n\n /** Releases the shadow copy and leaves the device-resource registry. */\n Destroy()\n {\n this._shadowCopy = new Uint8Array(0);\n super.Destroy();\n }\n\n /**\n * Whether the buffer holds anything.\n *\n * @returns {boolean} True when it has a size.\n */\n IsValid()\n {\n return this._shadowCopy.length !== 0;\n }\n\n /**\n * The buffer's size.\n *\n * @returns {number} Size in bytes.\n */\n GetSize()\n {\n return this._shadowCopy.length;\n }\n\n /**\n * Which memory class this buffer occupies.\n *\n * @returns {number} A `Tr2ALMemoryType` value.\n */\n GetMemoryClass()\n {\n return Tr2ALMemoryType.AL_MEMORY_MANAGED;\n }\n\n /**\n * Names the buffer 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":["Tr2ConstantUsageAL","Object","freeze","IMMUTABLE","ONE_SHOT","REUSABLE","Tr2ConstantBufferALStub","Tr2BaseDeviceResourceAL","_shadowCopy","Uint8Array","Create","size","usage","initialData","renderContext","IsValid","ALResult","E_INVALIDARG","length","E_OUTOFMEMORY","bytes","buffer","byteOffset","byteLength","set","subarray","Math","min","S_OK","Lock","result","E_FAIL","data","Unlock","Destroy","GetSize","GetMemoryClass","Tr2ALMemoryType","AL_MEMORY_MANAGED","SetName","_name"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2ConstantBufferALStub.js","sources":["../../../../src/trinityal/stub/Tr2ConstantBufferALStub.js"],"sourcesContent":["// Source: trinity/trinityal/stub/Tr2ConstantBufferALStub.cpp\r\n// Source: trinity/trinityal/stub/Tr2ConstantBufferALStub.h\r\n// Source: trinity/trinityal/include/Tr2ConstantBufferAL.h\r\n//\r\n// The GPU-free constant buffer - the shadow copy behind cb0..cb8.\r\n//\r\n// This is the type the per-frame and per-object data actually lands in, so its\r\n// storage being real is what makes a headless frame inspectable: lock it, write\r\n// the vec4 registers, unlock, and read the same bytes back.\r\n//\r\n// Carbon names the storage `m_shadowCopy` and that is exactly what it is even\r\n// on a real backend - the CPU-side mirror the driver uploads from. Here there\r\n// is nothing to upload to, so the mirror is the whole resource.\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/** `Tr2ConstantUsageAL` (`Tr2ConstantBufferAL.h:16-24`). */\r\nexport const Tr2ConstantUsageAL = Object.freeze({\r\n /** Written once at creation and never again. */\r\n IMMUTABLE: 0,\r\n\r\n /** Written and consumed within one frame. */\r\n ONE_SHOT: 1,\r\n\r\n /** Written repeatedly across frames. */\r\n REUSABLE: 2\r\n});\r\n\r\n\r\n/**\r\n * A constant buffer holding its shadow copy on the CPU.\r\n */\r\nexport class Tr2ConstantBufferALStub extends Tr2DeviceResourceAL\r\n{\r\n /** m_shadowCopy */\r\n _shadowCopy = new Uint8Array(0);\r\n\r\n /**\r\n * Creates the buffer.\r\n *\r\n * An immutable buffer is written once, at creation - so arriving without\r\n * data means it can never hold anything, and Carbon logs and refuses rather\r\n * than handing back a buffer of zeroes.\r\n *\r\n * @param {number} size Size in bytes.\r\n * @param {number} usage A `Tr2ConstantUsageAL` value.\r\n * @param {ArrayBufferView|null} initialData Initial contents, if any.\r\n * @param {object} renderContext The context to create against.\r\n * @returns {number} An `ALResult` value.\r\n */\r\n Create(size, usage, initialData, renderContext)\r\n {\r\n if (!renderContext.IsValid()) return ALResult.E_INVALIDARG;\r\n\r\n if (size === 0) return ALResult.E_INVALIDARG;\r\n\r\n if (usage === Tr2ConstantUsageAL.IMMUTABLE && !initialData) return ALResult.E_INVALIDARG;\r\n\r\n this._shadowCopy = new Uint8Array(size);\r\n\r\n // Carbon's allocation can fail; here only a zero size produces an empty\r\n // buffer, and that was already refused above.\r\n if (this._shadowCopy.length === 0) return ALResult.E_OUTOFMEMORY;\r\n\r\n // The initial contents land in the shadow, so a buffer created from a\r\n // static mirror reads back as that mirror without ever being locked.\r\n if (initialData)\r\n {\r\n const bytes = new Uint8Array(initialData.buffer, initialData.byteOffset, initialData.byteLength);\r\n\r\n this._shadowCopy.set(bytes.subarray(0, Math.min(bytes.length, size)));\r\n }\r\n\r\n return ALResult.S_OK;\r\n }\r\n\r\n /**\r\n * Hands back the shadow copy to write into.\r\n *\r\n * @returns {{result: number, data: Uint8Array|null}} The locked storage.\r\n */\r\n Lock()\r\n {\r\n if (this._shadowCopy.length === 0) return { result: ALResult.E_FAIL, data: null };\r\n\r\n return { result: ALResult.S_OK, data: this._shadowCopy };\r\n }\r\n\r\n /**\r\n * Releases the lock. The storage stays; there is nothing to upload to.\r\n *\r\n * @returns {number} An `ALResult` value.\r\n */\r\n Unlock()\r\n {\r\n return ALResult.S_OK;\r\n }\r\n\r\n /** Releases the shadow copy and leaves the device-resource registry. */\r\n Destroy()\r\n {\r\n this._shadowCopy = new Uint8Array(0);\r\n super.Destroy();\r\n }\r\n\r\n /**\r\n * Whether the buffer holds anything.\r\n *\r\n * @returns {boolean} True when it has a size.\r\n */\r\n IsValid()\r\n {\r\n return this._shadowCopy.length !== 0;\r\n }\r\n\r\n /**\r\n * The buffer's size.\r\n *\r\n * @returns {number} Size in bytes.\r\n */\r\n GetSize()\r\n {\r\n return this._shadowCopy.length;\r\n }\r\n\r\n /**\r\n * Which memory class this buffer 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 buffer 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(Tr2ConstantBufferALStub, { className: \"Tr2ConstantBufferALStub\", carbon: \"Tr2ConstantBufferAL\" });\r\n"],"names":["Tr2ConstantUsageAL","Object","freeze","IMMUTABLE","ONE_SHOT","REUSABLE","Tr2ConstantBufferALStub","Tr2DeviceResourceAL","_shadowCopy","Uint8Array","Create","size","usage","initialData","renderContext","IsValid","ALResult","E_INVALIDARG","length","E_OUTOFMEMORY","bytes","buffer","byteOffset","byteLength","set","subarray","Math","min","S_OK","Lock","result","E_FAIL","data","Unlock","Destroy","GetSize","GetMemoryClass","Tr2ALMemoryType","AL_MEMORY_MANAGED","SetName","_name","CjsSchema","define","className","carbon"],"mappings":"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"}