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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (929) hide show
  1. package/README.md +58 -125
  2. package/dist/audio/index.js +8 -1
  3. package/dist/audio/index.js.map +1 -1
  4. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js +84 -0
  5. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js.map +1 -0
  6. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js +14 -0
  7. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js.map +1 -0
  8. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js +26 -0
  9. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js.map +1 -0
  10. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js +27 -0
  11. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js.map +1 -0
  12. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js +27 -0
  13. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js.map +1 -0
  14. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js +25 -0
  15. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js.map +1 -0
  16. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js +26 -0
  17. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js.map +1 -0
  18. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js +58 -0
  19. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js.map +1 -0
  20. package/dist/audio/trinity/audio/AudManager.js +1 -1
  21. package/dist/audio/trinity/audio/AudManager.js.map +1 -1
  22. package/dist/audio/trinity/audio/{AudObstructionOcclusion.js → AudObstructionOcclusion/AudObstructionOcclusion.js} +8 -52
  23. package/dist/audio/trinity/audio/AudObstructionOcclusion/AudObstructionOcclusion.js.map +1 -0
  24. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js +17 -0
  25. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js.map +1 -0
  26. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js +46 -0
  27. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js.map +1 -0
  28. package/dist/audio/trinity/index.js +8 -1
  29. package/dist/audio/trinity/index.js.map +1 -1
  30. package/dist/character/CjsCharacterAppearanceConstruction.js +5 -0
  31. package/dist/character/CjsCharacterAppearanceConstruction.js.map +1 -1
  32. package/dist/character/CjsCharacterAppearanceManager.js +14 -0
  33. package/dist/character/CjsCharacterAppearanceManager.js.map +1 -1
  34. package/dist/character/CjsCharacterFoundationConstruction.js +5 -0
  35. package/dist/character/CjsCharacterFoundationConstruction.js.map +1 -1
  36. package/dist/character/CjsCharacterTexturePolicy.js +5 -0
  37. package/dist/character/CjsCharacterTexturePolicy.js.map +1 -1
  38. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js +17 -0
  39. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js.map +1 -1
  40. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js +2 -0
  41. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js.map +1 -1
  42. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js +5 -0
  43. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js.map +1 -1
  44. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js +5 -0
  45. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js.map +1 -1
  46. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js +2 -0
  47. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js.map +1 -1
  48. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js +5 -0
  49. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js.map +1 -1
  50. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js +5 -0
  51. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js.map +1 -1
  52. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js +9 -0
  53. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js.map +1 -1
  54. package/dist/global/blue/CjsScriptCallback.js +142 -0
  55. package/dist/global/blue/CjsScriptCallback.js.map +1 -0
  56. package/dist/global/blue/index.js +2 -0
  57. package/dist/global/blue/index.js.map +1 -0
  58. package/dist/global/consts/renderContext/formats.js +51 -1
  59. package/dist/global/consts/renderContext/formats.js.map +1 -1
  60. package/dist/global/consts/renderContext/index.js +2 -2
  61. package/dist/global/consts/renderContext/renderStates.js +16 -1
  62. package/dist/global/consts/renderContext/renderStates.js.map +1 -1
  63. package/dist/global/contracts/index.js +0 -1
  64. package/dist/global/contracts/index.js.map +1 -1
  65. package/dist/global/index.js +4 -3
  66. package/dist/global/index.js.map +1 -1
  67. package/dist/global/math/index.js +2 -0
  68. package/dist/global/math/index.js.map +1 -1
  69. package/dist/global/math/mesh.js +70 -16
  70. package/dist/global/math/mesh.js.map +1 -1
  71. package/dist/global/math/noise.js +47 -68
  72. package/dist/global/math/noise.js.map +1 -1
  73. package/dist/global/math/pool.js +18 -3
  74. package/dist/global/math/pool.js.map +1 -1
  75. package/dist/global/math/random.js +52 -0
  76. package/dist/global/math/random.js.map +1 -0
  77. package/dist/global/math/tri3.js +18 -4
  78. package/dist/global/math/tri3.js.map +1 -1
  79. package/dist/global/utils/bytes.js +22 -4
  80. package/dist/global/utils/bytes.js.map +1 -1
  81. package/dist/global/utils/checksum.js +80 -0
  82. package/dist/global/utils/checksum.js.map +1 -0
  83. package/dist/global/utils/errors/CjsCancellationError.js +36 -0
  84. package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
  85. package/dist/global/utils/errors/CjsError.js +21 -52
  86. package/dist/global/utils/errors/CjsError.js.map +1 -1
  87. package/dist/global/utils/errors/abort.js +1 -1
  88. package/dist/global/utils/errors/abort.js.map +1 -1
  89. package/dist/global/utils/errors/index.js +2 -1
  90. package/dist/global/utils/errors/index.js.map +1 -1
  91. package/dist/global/utils/index.js +4 -2
  92. package/dist/global/utils/index.js.map +1 -1
  93. package/dist/index.js +95 -35
  94. package/dist/index.js.map +1 -1
  95. package/dist/input/Tr2MainWindow.js +7 -9
  96. package/dist/input/Tr2MainWindow.js.map +1 -1
  97. package/dist/resource/CjsResMan.js +33 -39
  98. package/dist/resource/CjsResMan.js.map +1 -1
  99. package/dist/resource/CjsResource.js +19 -5
  100. package/dist/resource/CjsResource.js.map +1 -1
  101. package/dist/resource/audio/AudioGeometryResData.js +22 -27
  102. package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
  103. package/dist/resource/audio/CjsAudioRes.js +4 -5
  104. package/dist/resource/audio/CjsAudioRes.js.map +1 -1
  105. package/dist/resource/format/CjsBitReader.js +263 -0
  106. package/dist/resource/format/CjsBitReader.js.map +1 -0
  107. package/dist/resource/format/CjsByteReader.js +130 -125
  108. package/dist/resource/format/CjsByteReader.js.map +1 -1
  109. package/dist/resource/format/CjsFormat.js +11 -4
  110. package/dist/resource/format/CjsFormat.js.map +1 -1
  111. package/dist/resource/format/CjsFormatError.js +37 -1
  112. package/dist/resource/format/CjsFormatError.js.map +1 -1
  113. package/dist/resource/format/CjsResourceProbe.js +41 -37
  114. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  115. package/dist/resource/format/carbonRecordGuard.js +33 -0
  116. package/dist/resource/format/carbonRecordGuard.js.map +1 -0
  117. package/dist/resource/format/imageSignatures.js +202 -0
  118. package/dist/resource/format/imageSignatures.js.map +1 -0
  119. package/dist/resource/format/index.js +2 -1
  120. package/dist/resource/format/index.js.map +1 -1
  121. package/dist/resource/format/jsonPolicies.js +180 -0
  122. package/dist/resource/format/jsonPolicies.js.map +1 -0
  123. package/dist/resource/formats/black/core/helpers.js +18 -29
  124. package/dist/resource/formats/black/core/helpers.js.map +1 -1
  125. package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
  126. package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
  127. package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
  128. package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
  129. package/dist/resource/formats/bnk/core/busNodes.js +2 -1
  130. package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
  131. package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
  132. package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
  133. package/dist/resource/formats/bnk/core/eventAction.js +15 -93
  134. package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
  135. package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
  136. package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
  137. package/dist/resource/formats/bnk/core/helpers.js +2 -48
  138. package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
  139. package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
  140. package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
  141. package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
  142. package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
  143. package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
  144. package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
  145. package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
  146. package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
  147. package/dist/resource/formats/cmf/core/binary.js +54 -60
  148. package/dist/resource/formats/cmf/core/binary.js.map +1 -1
  149. package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
  150. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  151. package/dist/resource/formats/dds/core/bc6h.js +16 -18
  152. package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
  153. package/dist/resource/formats/dds/core/bc7.js +28 -24
  154. package/dist/resource/formats/dds/core/bc7.js.map +1 -1
  155. package/dist/resource/formats/dds/core/helpers.js +7 -133
  156. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  157. package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
  158. package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
  159. package/dist/resource/formats/dxbc/core/helpers.js +4 -32
  160. package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
  161. package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
  162. package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
  163. package/dist/resource/formats/fbx/core/helpers.js +18 -12
  164. package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
  165. package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
  166. package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
  167. package/dist/resource/formats/flac/core/helpers.js +1 -62
  168. package/dist/resource/formats/flac/core/helpers.js.map +1 -1
  169. package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
  170. package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
  171. package/dist/resource/formats/gif/core/helpers.js +1 -63
  172. package/dist/resource/formats/gif/core/helpers.js.map +1 -1
  173. package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
  174. package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
  175. package/dist/resource/formats/gltf/core/helpers.js +3 -19
  176. package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
  177. package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
  178. package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
  179. package/dist/resource/formats/gr2/core/container.js +1 -10
  180. package/dist/resource/formats/gr2/core/container.js.map +1 -1
  181. package/dist/resource/formats/gr2/core/helpers.js +24 -35
  182. package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
  183. package/dist/resource/formats/gr2/core/shared.js +193 -189
  184. package/dist/resource/formats/gr2/core/shared.js.map +1 -1
  185. package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
  186. package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
  187. package/dist/resource/formats/hlsl/core/helpers.js +1 -30
  188. package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
  189. package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
  190. package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
  191. package/dist/resource/formats/jpeg/core/helpers.js +7 -134
  192. package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
  193. package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
  194. package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
  195. package/dist/resource/formats/mp3/core/helpers.js +1 -64
  196. package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
  197. package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
  198. package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
  199. package/dist/resource/formats/mp4/core/helpers.js +1 -73
  200. package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
  201. package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
  202. package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
  203. package/dist/resource/formats/obj/core/helpers.js +93 -115
  204. package/dist/resource/formats/obj/core/helpers.js.map +1 -1
  205. package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
  206. package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
  207. package/dist/resource/formats/ogg/core/helpers.js +1 -15
  208. package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
  209. package/dist/resource/formats/ogg/core/vorbis.js +138 -144
  210. package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
  211. package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
  212. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  213. package/dist/resource/formats/png/CjsPngFormat.js +5 -3
  214. package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
  215. package/dist/resource/formats/png/core/helpers.js +13 -152
  216. package/dist/resource/formats/png/core/helpers.js.map +1 -1
  217. package/dist/resource/formats/png/core/writer.js +3 -27
  218. package/dist/resource/formats/png/core/writer.js.map +1 -1
  219. package/dist/resource/formats/red/core/helpers.js +19 -29
  220. package/dist/resource/formats/red/core/helpers.js.map +1 -1
  221. package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
  222. package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
  223. package/dist/resource/formats/stl/core/helpers.js +44 -66
  224. package/dist/resource/formats/stl/core/helpers.js.map +1 -1
  225. package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
  226. package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
  227. package/dist/resource/formats/tga/core/helpers.js +7 -153
  228. package/dist/resource/formats/tga/core/helpers.js.map +1 -1
  229. package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
  230. package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
  231. package/dist/resource/formats/vta/core/helpers.js +1 -17
  232. package/dist/resource/formats/vta/core/helpers.js.map +1 -1
  233. package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
  234. package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
  235. package/dist/resource/formats/wav/core/helpers.js +1 -15
  236. package/dist/resource/formats/wav/core/helpers.js.map +1 -1
  237. package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
  238. package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
  239. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +52 -4
  240. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  241. package/dist/resource/formats/webgl/core/helpers.js +39 -68
  242. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  243. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
  244. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  245. package/dist/resource/formats/webgpu/core/helpers.js +4 -30
  246. package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
  247. package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
  248. package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
  249. package/dist/resource/formats/webm/core/helpers.js +1 -73
  250. package/dist/resource/formats/webm/core/helpers.js.map +1 -1
  251. package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
  252. package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
  253. package/dist/resource/formats/webp/core/helpers.js +1 -62
  254. package/dist/resource/formats/webp/core/helpers.js.map +1 -1
  255. package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
  256. package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
  257. package/dist/resource/formats/wem/core/bitStream.js +83 -106
  258. package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
  259. package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
  260. package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
  261. package/dist/resource/formats/wem/core/helpers.js +1 -15
  262. package/dist/resource/formats/wem/core/helpers.js.map +1 -1
  263. package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
  264. package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
  265. package/dist/resource/geometry/MeshDecalData.js +23 -25
  266. package/dist/resource/geometry/MeshDecalData.js.map +1 -1
  267. package/dist/resource/geometry/MeshDecalLodData.js +14 -23
  268. package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
  269. package/dist/resource/geometry/TriGeometryRes.js +299 -284
  270. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  271. package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
  272. package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
  273. package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
  274. package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
  275. package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
  276. package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
  277. package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
  278. package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
  279. package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
  280. package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
  281. package/dist/resource/geometry/TriJointBinding.js +16 -24
  282. package/dist/resource/geometry/TriJointBinding.js.map +1 -1
  283. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
  284. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
  285. package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
  286. package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
  287. package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
  288. package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
  289. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
  290. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  291. package/dist/resource/index.js +1 -1
  292. package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
  293. package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
  294. package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
  295. package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
  296. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
  297. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  298. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
  299. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
  300. package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
  301. package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
  302. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
  303. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  304. package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
  305. package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
  306. package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
  307. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  308. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
  309. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
  310. package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
  311. package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
  312. package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
  313. package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
  314. package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
  315. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  316. package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
  317. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  318. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
  319. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
  320. package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
  321. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  322. package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
  323. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  324. package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
  325. package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
  327. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
  329. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
  330. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
  331. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  332. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
  333. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  334. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
  335. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  336. package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
  337. package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
  338. package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
  339. package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
  340. package/dist/resource/worker/protocol.js +18 -1
  341. package/dist/resource/worker/protocol.js.map +1 -1
  342. package/dist/sof/EveSOF.js +2 -222
  343. package/dist/sof/EveSOF.js.map +1 -1
  344. package/dist/sof/SofDocumentBuilder.js +205 -0
  345. package/dist/sof/SofDocumentBuilder.js.map +1 -0
  346. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
  347. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
  348. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
  349. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
  350. package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
  351. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  352. package/dist/sof/faction/index.js +3 -1
  353. package/dist/sof/faction/index.js.map +1 -1
  354. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
  355. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
  356. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
  357. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
  358. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
  359. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
  360. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
  361. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
  362. package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
  363. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  364. package/dist/sof/generic/index.js +5 -1
  365. package/dist/sof/generic/index.js.map +1 -1
  366. package/dist/sof/index.js +23 -7
  367. package/dist/sof/index.js.map +1 -1
  368. package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
  369. package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
  370. package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
  371. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  372. package/dist/sof/pattern/index.js +2 -1
  373. package/dist/sof/pattern/index.js.map +1 -1
  374. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
  375. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
  376. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
  377. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
  378. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
  379. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
  380. package/dist/sof/shared/EveSOFDataArea.js +2 -13
  381. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  382. package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
  383. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  384. package/dist/sof/shared/EveSOFDataParameter.js +2 -146
  385. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  386. package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
  387. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
  388. package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
  389. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
  390. package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
  391. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
  392. package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
  393. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
  394. package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
  395. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
  396. package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
  397. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
  398. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
  399. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
  400. package/dist/sof/shared/index.js +13 -4
  401. package/dist/sof/shared/index.js.map +1 -1
  402. package/dist/sof/sofDocumentValues.js +33 -0
  403. package/dist/sof/sofDocumentValues.js.map +1 -0
  404. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
  405. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
  406. package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
  407. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
  408. package/dist/trinity/controllers/Tr2Controller.js +2 -1
  409. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  410. package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
  411. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  412. package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
  413. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  414. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
  415. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  416. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
  417. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
  418. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
  419. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
  420. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
  421. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
  422. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
  423. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
  424. package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
  425. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
  426. package/dist/trinity/controllers/index.js +5 -2
  427. package/dist/trinity/controllers/index.js.map +1 -1
  428. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
  429. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  430. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
  431. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  432. package/dist/trinity/core/ITr2Updateable.js +2 -1
  433. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  434. package/dist/trinity/core/Tr2Blitter.js +6 -3
  435. package/dist/trinity/core/Tr2Blitter.js.map +1 -1
  436. package/dist/trinity/core/Tr2Denoiser.js +256 -0
  437. package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
  438. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
  439. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
  440. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
  441. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
  442. package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
  443. package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
  444. package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
  445. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
  446. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
  447. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
  448. package/dist/trinity/core/Tr2RenderUtils.js +20 -3
  449. package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
  450. package/dist/trinity/core/Tr2Renderer.js +146 -1
  451. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  452. package/dist/trinity/core/Tr2ShadowMap.js +135 -14
  453. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  454. package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
  455. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
  456. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
  457. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
  458. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
  459. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
  460. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
  461. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
  462. package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
  463. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
  464. package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
  465. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
  466. package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
  467. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
  468. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
  469. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
  470. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
  471. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
  472. package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
  473. package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
  474. package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
  475. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  476. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
  477. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
  478. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
  479. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
  480. package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
  481. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  482. package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
  483. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
  484. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
  485. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
  486. package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
  487. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
  488. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
  489. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
  490. package/dist/trinity/core/index.js +42 -15
  491. package/dist/trinity/core/index.js.map +1 -1
  492. package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
  493. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  494. package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
  495. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
  496. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
  497. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
  498. package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
  499. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
  500. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
  501. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
  502. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
  503. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  504. package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
  505. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  506. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
  507. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  508. package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
  509. package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
  510. package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
  511. package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
  512. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
  513. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
  514. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
  515. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
  516. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
  517. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
  518. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
  519. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
  520. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
  521. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
  522. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
  523. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
  524. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
  525. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
  526. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
  527. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
  528. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
  529. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
  530. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
  531. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
  532. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
  533. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
  534. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
  535. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
  536. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
  537. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
  538. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
  539. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
  540. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
  541. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
  542. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
  543. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
  544. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
  545. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
  546. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
  547. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
  548. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
  549. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
  550. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
  551. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
  552. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
  553. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
  554. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
  555. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
  556. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
  557. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
  558. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
  559. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
  560. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
  561. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
  562. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
  563. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
  564. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
  565. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
  566. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
  567. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
  568. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
  569. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
  570. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
  571. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
  572. package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
  573. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
  574. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
  575. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
  576. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
  577. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
  578. package/dist/trinity/core/variable/TriVariable.js +83 -83
  579. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  580. package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
  581. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
  582. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
  583. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
  584. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
  585. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  586. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
  587. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  588. package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
  589. package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
  590. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
  591. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  592. package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
  593. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  594. package/dist/trinity/eve/IEveTransform.js +2 -1
  595. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  596. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
  597. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  598. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
  599. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  600. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
  601. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
  602. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
  603. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  604. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
  605. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  606. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
  607. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
  608. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
  609. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  610. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
  611. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  612. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
  613. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  614. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
  615. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  616. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
  617. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  618. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
  619. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  620. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
  621. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  622. package/dist/trinity/eve/camera/EveCamera.js +1 -1
  623. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  624. package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
  625. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  626. package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
  627. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  628. package/dist/trinity/eve/child/EveChildContainer.js +141 -141
  629. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  630. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
  631. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
  632. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
  633. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
  634. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
  635. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
  636. package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
  637. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
  638. package/dist/trinity/eve/child/EveChildMesh.js +218 -218
  639. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  640. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
  641. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
  642. package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
  643. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
  644. package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
  645. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  646. package/dist/trinity/eve/child/EveChildTransform.js +5 -0
  647. package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
  648. package/dist/trinity/eve/child/EveChildTurret.js +7 -0
  649. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  650. package/dist/trinity/eve/index.js +10 -4
  651. package/dist/trinity/eve/index.js.map +1 -1
  652. package/dist/trinity/eve/lights/Tr2Light.js +5 -0
  653. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  654. package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
  655. package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
  656. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
  657. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  658. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
  659. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  660. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
  661. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  662. package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
  663. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  664. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
  665. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  666. package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
  667. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  668. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
  669. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  670. package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
  671. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  672. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
  673. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  674. package/dist/trinity/generated/index.js +0 -1
  675. package/dist/trinity/generated/index.js.map +1 -1
  676. package/dist/trinity/generated/trinityCore/index.js +0 -1
  677. package/dist/trinity/generated/trinityCore/index.js.map +1 -1
  678. package/dist/trinity/index.js +59 -23
  679. package/dist/trinity/index.js.map +1 -1
  680. package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
  681. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
  682. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
  683. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
  684. package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
  685. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  686. package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
  687. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  688. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
  689. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  690. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
  691. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  692. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
  693. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  694. package/dist/trinity/particle/index.js +2 -1
  695. package/dist/trinity/particle/index.js.map +1 -1
  696. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
  697. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  698. package/dist/trinity/shader/Tr2Effect.js +131 -58
  699. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  700. package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
  701. package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
  702. package/dist/trinity/shader/Tr2Material.js +21 -4
  703. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  704. package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
  705. package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
  706. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
  707. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  708. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
  709. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
  710. package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
  711. package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
  712. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
  713. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
  714. package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
  715. package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
  716. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
  717. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
  718. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
  719. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
  720. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
  721. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
  722. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
  723. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
  724. package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
  725. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
  726. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
  727. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
  728. package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
  729. package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
  730. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
  731. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
  732. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
  733. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
  734. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
  735. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
  736. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
  737. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
  738. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
  739. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
  740. package/dist/trinityal/index.js +22 -9
  741. package/dist/trinityal/index.js.map +1 -1
  742. package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
  743. package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
  744. package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
  745. package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
  746. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
  747. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
  748. package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
  749. package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
  750. package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
  751. package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
  752. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
  753. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
  754. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
  755. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
  756. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
  757. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
  758. package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
  759. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
  760. package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
  761. package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
  762. package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
  763. package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
  764. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
  765. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
  766. package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
  767. package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
  768. package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
  769. package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
  770. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
  771. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
  772. package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
  773. package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
  774. package/dist/trinityal/stub/index.js +8 -4
  775. package/dist/trinityal/stub/index.js.map +1 -1
  776. package/dist/trinityal/vertexLayoutMatch.js +2 -2
  777. package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
  778. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
  779. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
  780. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
  781. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
  782. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
  783. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
  784. package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
  785. package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
  786. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
  787. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  788. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
  789. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  790. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
  791. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
  792. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
  793. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
  794. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
  795. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
  796. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
  797. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
  798. package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
  799. package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
  800. package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
  801. package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
  802. package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
  803. package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
  804. package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
  805. package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
  806. package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
  807. package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
  808. package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
  809. package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
  810. package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
  811. package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
  812. package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
  813. package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
  814. package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
  815. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
  816. package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
  817. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
  818. package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
  819. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
  820. package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
  821. package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
  822. package/dist/trinityal/webgpu/internal.js +12 -11
  823. package/dist/trinityal/webgpu/internal.js.map +1 -1
  824. package/docs/audio/reference/classes/trinity.md +44 -34
  825. package/docs/character/architecture.md +276 -0
  826. package/docs/character/reference/character-appearance-plans.md +30 -66
  827. package/docs/character/reference/prepared-libraries.md +14 -30
  828. package/docs/global/reference/api.md +2 -1
  829. package/docs/global/reference/classes/README.md +53 -71
  830. package/docs/global/reference/classes/dropped.md +16 -0
  831. package/docs/resource/README.md +19 -15
  832. package/docs/resource/architecture.md +9 -2
  833. package/docs/resource/concepts/format-capabilities.md +124 -80
  834. package/docs/resource/concepts/shared-format-helpers.md +94 -0
  835. package/docs/resource/formats/README.md +230 -224
  836. package/docs/resource/formats/bitknit2.md +221 -0
  837. package/docs/resource/formats/carbon-effect-container.md +184 -269
  838. package/docs/resource/formats/gr2.md +6 -1
  839. package/docs/resource/formats/schemabound.md +28 -48
  840. package/docs/resource/formats/static.md +70 -97
  841. package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
  842. package/docs/resource/formats/webgl/decl-io.md +165 -256
  843. package/docs/resource/formats/webgl/memory-structured.md +64 -142
  844. package/docs/resource/formats/webgl/texture-sample.md +109 -138
  845. package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
  846. package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
  847. package/docs/resource/formats/webgpu/reference/api.md +64 -67
  848. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +104 -260
  849. package/docs/resource/reference/classes/core.md +256 -236
  850. package/docs/resource/reference/classes/formats.md +1668 -1672
  851. package/docs/resource/reference/workers.md +4 -2
  852. package/docs/sof/reference/classes/core.md +1 -1
  853. package/docs/sof/reference/classes/faction.md +2 -2
  854. package/docs/sof/reference/classes/generic.md +4 -4
  855. package/docs/sof/reference/classes/pattern.md +1 -1
  856. package/docs/sof/reference/classes/shared.md +10 -10
  857. package/docs/trinity/architecture.md +55 -44
  858. package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
  859. package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
  860. package/docs/trinity/reference/classes/dropped.md +0 -189
  861. package/docs/trinity/reference/classes/eve-runtime.md +8 -8
  862. package/docs/trinity/reference/classes/generated.md +0 -10
  863. package/docs/trinity/reference/classes/particle.md +2 -2
  864. package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
  865. package/docs/trinity/reference/implementation-status.md +50 -75
  866. package/docs/trinity/reference/main-semantic-extraction.md +13 -17
  867. package/docs/trinityal/reference/classes/README.md +77 -27
  868. package/docs/trinityal/reference/classes/dropped.md +82 -0
  869. package/docs/trinityal/webgpu/README.md +3 -1
  870. package/docs/trinityal/webgpu/architecture.md +121 -228
  871. package/docs/trinityal/webgpu/reference/api.md +5 -5
  872. package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
  873. package/format-notices/gr2/NOTICE +18 -12
  874. package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
  875. package/package.json +4 -1
  876. package/dist/audio/trinity/audio/AudActionLog.js +0 -173
  877. package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
  878. package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
  879. package/dist/global/contracts/CjsScriptCallback.js +0 -94
  880. package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
  881. package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
  882. package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
  883. package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
  884. package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
  885. package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
  886. package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
  887. package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
  888. package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
  889. package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
  890. package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
  891. package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
  892. package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
  893. package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
  894. package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
  895. package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
  896. package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
  897. package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
  898. package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
  899. package/dist/trinity/core/rawData/constantLayout.js +0 -175
  900. package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
  901. package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
  902. package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
  903. package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
  904. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
  905. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
  906. package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
  907. package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
  908. package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
  909. package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
  910. package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
  911. package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
  912. package/dist/trinityal/Tr2SamplerDescription.js +0 -72
  913. package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
  914. package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
  915. package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
  916. package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
  917. package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
  918. package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
  919. package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
  920. package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
  921. package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
  922. package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
  923. package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
  924. package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
  925. package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
  926. package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
  927. package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
  928. package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
  929. package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
@@ -1,85 +1,67 @@
1
+ import { applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { impl, CjsSchema } from '#schema';
1
3
  import { ALResult, Tr2ALMemoryType } from '#trinityal';
2
4
  import { ShaderType } from '#consts/render-context';
3
5
 
4
- // Source: trinity/trinityal/include/Tr2ResourceSetAL.h
5
- // trinity/trinityal/metal/Tr2ResourceSetALMetal.mm
6
- // trinity/trinityal/dx12/Tr2ResourceSetALDx12.cpp
7
- //
8
- // A `Tr2ResourceSetAL` for WebGPU: the description's textures, samplers and
9
- // buffers resolved against the program's bindings, ready to become bind groups.
10
- //
11
- // WHAT IT HOLDS AND WHAT IT DOES NOT. Carbon's description carries SRVs, UAVs
12
- // and samplers; constant buffers are NOT in it (`Tr2ResourceSetAL.h:57-65` has
13
- // no `SetConstantBuffer`) - they travel `SetConstants` and are bound beside the
14
- // set at the draw (DX12 root CBVs via `m_cbRegisters`, Metal's const-buffer
15
- // offset region). So this resolves every non-uniform slot of the program's
16
- // layout at Create, as Metal's `Create` fills its per-stage native arrays
17
- // (`Tr2ResourceSetALMetal.mm:57-279`), and the render context assembles each
18
- // `GPUBindGroup` from these entries plus the bound constant buffers when it
19
- // draws - a bind group being immutable, it can only exist once both halves are
20
- // known.
21
- //
22
- // UNFILLED SLOTS GET DUMMIES, AS METAL'S DO. Metal seeds its masks from the
23
- // program's requirements and fills what the description left empty with
24
- // `GetDummyTexture` / `GetDummySampler` (`:240-265`); DX12 substitutes null
25
- // views (`Tr2ResourceSetALDx12.cpp:145-146`). A WebGPU bind group with a hole
26
- // is a validation error, so the same substitution happens here.
27
- //
28
- // A TEXTURE THAT IS NOT YET A DEVICE TEXTURE GETS THE DUMMY TOO. The
29
- // description's SRV is whatever `TriTextureParameter` bound - today a
30
- // `TriTextureRes`, not a `Tr2TextureAL` (Carbon's `TriTextureRes::GetTexture()`
31
- // returns one). Until that port lands, a texture without `GetDeviceTextureView`
32
- // is treated as Carbon treats a resource still loading: the fallback texture.
6
+ let _initProto;
33
7
 
34
8
  /** GPUShaderStage bits to the Carbon stage whose description slot answers. */
35
9
  const STAGE_OF_VISIBILITY = Object.freeze([[1, ShaderType.VERTEX_SHADER], [2, ShaderType.PIXEL_SHADER], [4, ShaderType.COMPUTE_SHADER]]);
36
10
  let nextResourceSetId = 1;
37
11
 
38
- /**
39
- * The description slot a binding reads, trying each stage it is visible to.
40
- *
41
- * A binding two stages share was merged by the container because both read
42
- * the same register; whichever stage the material filled answers.
12
+ /**
13
+ * The description slot a binding reads, trying each stage it is visible to.
14
+ *
15
+ * A binding two stages share was merged by the container because both read
16
+ * the same register; whichever stage the material filled answers.
43
17
  */
44
18
  function SlotFor(description, kind, binding) {
45
19
  for (const [bit, stage] of STAGE_OF_VISIBILITY) {
46
20
  if ((binding.visibility & bit) === 0) continue;
47
- const slot = description.Get(kind, stage, binding.registerIndex);
48
- if (slot) return slot;
21
+ const map = description.m_registerMap;
22
+ const slots = kind === "srv" ? map.srvs : kind === "uav" ? map.uavs : map.samplers;
23
+ const records = kind === "srv" ? description.m_srv : kind === "uav" ? description.m_uav : description.m_samplers;
24
+ const slot = records?.[slots[stage][binding.registerIndex]];
25
+ if (slot && slot.type !== 0) return slot;
49
26
  }
50
27
  return null;
51
28
  }
52
29
 
53
- /**
54
- * A `Tr2ResourceSetAL` holding the resolved bindings a draw's bind groups are
55
- * assembled from.
30
+ /**
31
+ * A `Tr2ResourceSetAL` holding the resolved bindings a draw's bind groups are
32
+ * assembled from.
56
33
  */
57
34
  class CjsWebgpuResourceSetAL {
35
+ static {
36
+ [_initProto] = _applyDecs2311(this, [], [[[impl, impl.adapted, void 0, impl.reason("WebGPU resolves native dense records into bind-group entries, validates the program map and fills missing resources with dummies. Descriptor heap views have no WebGPU representation and return E_FAIL.")], 18, "Create"], [[impl, impl.adapted, void 0, impl.reason("Resolves dense native records to WebGPU views and buffers; a pending resource or empty slot uses the context dummy, following Metal.")], 18, "_Resolve"]]).e;
37
+ }
58
38
  /** A process-unique identity, for the context's bind-group cache. Zero until Create. */
59
- m_id = 0;
39
+ m_id = (_initProto(this), 0);
60
40
  m_description = null;
61
41
  m_program = null;
62
42
 
63
43
  /** `"group:binding"` to the `GPUBindingResource` that fills it, non-uniform slots only. */
64
44
  m_entries = new Map();
65
45
 
66
- /**
67
- * Resolves the description against the program.
68
- *
69
- * @param {object} description A `Tr2ResourceSetDescriptionAL`.
70
- * @param {object} program The `CjsWebgpuShaderProgramAL` this set binds against.
71
- * @param {object} renderContext The WebGPU render context AL.
72
- * @returns {number} An `ALResult` value.
46
+ /**
47
+ * Resolves the description against the program.
48
+ *
49
+ * @param {object} description A `Tr2ResourceSetDescriptionAL`.
50
+ * @param {object} program The `CjsWebgpuShaderProgramAL` this set binds against.
51
+ * @param {object} renderContext The WebGPU render context AL.
52
+ * @returns {number} An `ALResult` value.
73
53
  */
74
54
  Create(description, program, renderContext) {
75
55
  this.Destroy();
76
56
  if (!renderContext || !renderContext.IsValid()) return ALResult.E_INVALIDARG;
77
- if (!description || typeof description.Get !== "function") return ALResult.E_INVALIDARG;
57
+ if (!description) return ALResult.E_INVALIDARG;
78
58
 
79
59
  // DX12 refuses a description whose register map is not the program's
80
60
  // (`Tr2ResourceSetALDx12.cpp:78-81`); a program this backend did not link
81
61
  // has no bindings to lay out against, which is the same refusal.
82
62
  if (!program || typeof program.GetBindings !== "function" || !program.IsValid()) return ALResult.E_INVALIDARG;
63
+ if (!description.m_registerMap.equals(program.GetRegisterMap())) return ALResult.E_INVALIDARG;
64
+ if (description.m_srv?.some(record => record.type === 3) || description.m_uav?.some(record => record.type === 3) || description.m_samplers?.some(record => record.type === 2)) return ALResult.E_FAIL;
83
65
  const entries = new Map();
84
66
  for (const binding of program.GetBindings()) {
85
67
  // Constant buffers are not the set's; see the head note.
@@ -98,13 +80,13 @@ class CjsWebgpuResourceSetAL {
98
80
  _Resolve(description, binding, renderContext) {
99
81
  if (binding.sampler) {
100
82
  const slot = SlotFor(description, "sampler", binding);
101
- const state = slot ? slot.sampler : null;
83
+ const state = slot?.type === 1 ? slot.sampler : null;
102
84
  const sampler = state && typeof state.GetSampler === "function" ? state.GetSampler() : null;
103
85
  return sampler ?? renderContext.GetDummySampler();
104
86
  }
105
87
  if (binding.texture) {
106
88
  const slot = SlotFor(description, "srv", binding);
107
- const texture = slot ? slot.resource : null;
89
+ const texture = slot?.type === 2 ? slot.texture : null;
108
90
  const dimension = binding.texture.viewDimension ?? "2d";
109
91
  const view = texture && typeof texture.GetDeviceTextureView === "function" ? texture.GetDeviceTextureView(dimension, slot.colorSpace) : null;
110
92
  return view ?? renderContext.GetDummyTexture(dimension);
@@ -113,7 +95,7 @@ class CjsWebgpuResourceSetAL {
113
95
  // A storage buffer: read-only ones are SRVs, writable ones UAVs.
114
96
  const kind = binding.buffer && binding.buffer.type === "storage" ? "uav" : "srv";
115
97
  const slot = SlotFor(description, kind, binding);
116
- const resource = slot ? slot.resource : null;
98
+ const resource = slot?.type === 1 ? slot.buffer : null;
117
99
  const buffer = resource && typeof resource.GetDeviceBuffer === "function" ? resource.GetDeviceBuffer() : null;
118
100
  return {
119
101
  buffer: buffer ?? renderContext.GetNullBuffer(binding.buffer?.minBindingSize ?? 16, "STORAGE")
@@ -153,11 +135,11 @@ class CjsWebgpuResourceSetAL {
153
135
  return Tr2ALMemoryType.AL_MEMORY_MANAGED;
154
136
  }
155
137
 
156
- /**
157
- * Fills in a device-resource description.
158
- *
159
- * @param {object} description The description to fill.
160
- * @returns {object} The description, filled.
138
+ /**
139
+ * Fills in a device-resource description.
140
+ *
141
+ * @param {object} description The description to fill.
142
+ * @returns {object} The description, filled.
161
143
  */
162
144
  Describe(description) {
163
145
  if (!description) return description;
@@ -165,15 +147,29 @@ class CjsWebgpuResourceSetAL {
165
147
  return description;
166
148
  }
167
149
 
168
- /**
169
- * Nothing here carries a label - the bind groups the context builds do.
170
- *
171
- * @returns {number} `S_OK`.
150
+ /**
151
+ * Nothing here carries a label - the bind groups the context builds do.
152
+ *
153
+ * @returns {number} `S_OK`.
172
154
  */
173
155
  SetName(_name) {
174
156
  return ALResult.S_OK;
175
157
  }
176
158
  }
177
159
 
160
+ // DECLARED AS A CALL, NOT A DECORATOR, for the reason recorded in
161
+ // Tr2BitmapDimensions.js: the layer is imported straight from source by its
162
+ // tests and raw Node cannot parse decorator syntax.
163
+ //
164
+ // The donor is NAMED rather than left to be derived from this class's name.
165
+ // Carbon calls every backend's class the same thing and carries the backend in
166
+ // the FILE name, because only one backend compiles at a time; we ship them
167
+ // together, so the backend moves onto the class name. That divergence is the
168
+ // author's to declare, never a checker's to guess.
169
+ CjsSchema.define(CjsWebgpuResourceSetAL, {
170
+ className: "CjsWebgpuResourceSetAL",
171
+ carbon: "Tr2ResourceSetAL"
172
+ });
173
+
178
174
  export { CjsWebgpuResourceSetAL };
179
175
  //# sourceMappingURL=CjsWebgpuResourceSetAL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CjsWebgpuResourceSetAL.js","sources":["../../../../src/trinityal/webgpu/CjsWebgpuResourceSetAL.js"],"sourcesContent":["// Source: trinity/trinityal/include/Tr2ResourceSetAL.h\n// trinity/trinityal/metal/Tr2ResourceSetALMetal.mm\n// trinity/trinityal/dx12/Tr2ResourceSetALDx12.cpp\n//\n// A `Tr2ResourceSetAL` for WebGPU: the description's textures, samplers and\n// buffers resolved against the program's bindings, ready to become bind groups.\n//\n// WHAT IT HOLDS AND WHAT IT DOES NOT. Carbon's description carries SRVs, UAVs\n// and samplers; constant buffers are NOT in it (`Tr2ResourceSetAL.h:57-65` has\n// no `SetConstantBuffer`) - they travel `SetConstants` and are bound beside the\n// set at the draw (DX12 root CBVs via `m_cbRegisters`, Metal's const-buffer\n// offset region). So this resolves every non-uniform slot of the program's\n// layout at Create, as Metal's `Create` fills its per-stage native arrays\n// (`Tr2ResourceSetALMetal.mm:57-279`), and the render context assembles each\n// `GPUBindGroup` from these entries plus the bound constant buffers when it\n// draws - a bind group being immutable, it can only exist once both halves are\n// known.\n//\n// UNFILLED SLOTS GET DUMMIES, AS METAL'S DO. Metal seeds its masks from the\n// program's requirements and fills what the description left empty with\n// `GetDummyTexture` / `GetDummySampler` (`:240-265`); DX12 substitutes null\n// views (`Tr2ResourceSetALDx12.cpp:145-146`). A WebGPU bind group with a hole\n// is a validation error, so the same substitution happens here.\n//\n// A TEXTURE THAT IS NOT YET A DEVICE TEXTURE GETS THE DUMMY TOO. The\n// description's SRV is whatever `TriTextureParameter` bound - today a\n// `TriTextureRes`, not a `Tr2TextureAL` (Carbon's `TriTextureRes::GetTexture()`\n// returns one). Until that port lands, a texture without `GetDeviceTextureView`\n// is treated as Carbon treats a resource still loading: the fallback texture.\nimport { ALResult, Tr2ALMemoryType } from \"#trinityal\";\nimport { ShaderType } from \"#consts/render-context\";\n\n/** GPUShaderStage bits to the Carbon stage whose description slot answers. */\nconst STAGE_OF_VISIBILITY = Object.freeze([\n [ 1, ShaderType.VERTEX_SHADER ],\n [ 2, ShaderType.PIXEL_SHADER ],\n [ 4, ShaderType.COMPUTE_SHADER ]\n]);\n\nlet nextResourceSetId = 1;\n\n\n/**\n * The description slot a binding reads, trying each stage it is visible to.\n *\n * A binding two stages share was merged by the container because both read\n * the same register; whichever stage the material filled answers.\n */\nfunction SlotFor(description, kind, binding)\n{\n for (const [ bit, stage ] of STAGE_OF_VISIBILITY)\n {\n if ((binding.visibility & bit) === 0) continue;\n\n const slot = description.Get(kind, stage, binding.registerIndex);\n\n if (slot) return slot;\n }\n\n return null;\n}\n\n\n/**\n * A `Tr2ResourceSetAL` holding the resolved bindings a draw's bind groups are\n * assembled from.\n */\nexport class CjsWebgpuResourceSetAL\n{\n /** A process-unique identity, for the context's bind-group cache. Zero until Create. */\n m_id = 0;\n\n m_description = null;\n\n m_program = null;\n\n /** `\"group:binding\"` to the `GPUBindingResource` that fills it, non-uniform slots only. */\n m_entries = new Map();\n\n /**\n * Resolves the description against the program.\n *\n * @param {object} description A `Tr2ResourceSetDescriptionAL`.\n * @param {object} program The `CjsWebgpuShaderProgramAL` this set binds against.\n * @param {object} renderContext The WebGPU render context AL.\n * @returns {number} An `ALResult` value.\n */\n Create(description, program, renderContext)\n {\n this.Destroy();\n\n if (!renderContext || !renderContext.IsValid()) return ALResult.E_INVALIDARG;\n if (!description || typeof description.Get !== \"function\") return ALResult.E_INVALIDARG;\n\n // DX12 refuses a description whose register map is not the program's\n // (`Tr2ResourceSetALDx12.cpp:78-81`); a program this backend did not link\n // has no bindings to lay out against, which is the same refusal.\n if (!program || typeof program.GetBindings !== \"function\" || !program.IsValid()) return ALResult.E_INVALIDARG;\n\n const entries = new Map();\n\n for (const binding of program.GetBindings())\n {\n // Constant buffers are not the set's; see the head note.\n if (binding.buffer && binding.buffer.type === \"uniform\") continue;\n\n entries.set(`${binding.group}:${binding.binding}`, this._Resolve(description, binding, renderContext));\n }\n\n this.m_entries = entries;\n this.m_description = description;\n this.m_program = program;\n this.m_id = nextResourceSetId;\n nextResourceSetId += 1;\n\n return ALResult.S_OK;\n }\n\n /** One slot's resource, or the dummy Metal would put there. */\n _Resolve(description, binding, renderContext)\n {\n if (binding.sampler)\n {\n const slot = SlotFor(description, \"sampler\", binding);\n const state = slot ? slot.sampler : null;\n const sampler = state && typeof state.GetSampler === \"function\" ? state.GetSampler() : null;\n\n return sampler ?? renderContext.GetDummySampler();\n }\n\n if (binding.texture)\n {\n const slot = SlotFor(description, \"srv\", binding);\n const texture = slot ? slot.resource : null;\n const dimension = binding.texture.viewDimension ?? \"2d\";\n const view = texture && typeof texture.GetDeviceTextureView === \"function\"\n ? texture.GetDeviceTextureView(dimension, slot.colorSpace)\n : null;\n\n return view ?? renderContext.GetDummyTexture(dimension);\n }\n\n // A storage buffer: read-only ones are SRVs, writable ones UAVs.\n const kind = binding.buffer && binding.buffer.type === \"storage\" ? \"uav\" : \"srv\";\n const slot = SlotFor(description, kind, binding);\n const resource = slot ? slot.resource : null;\n const buffer = resource && typeof resource.GetDeviceBuffer === \"function\" ? resource.GetDeviceBuffer() : null;\n\n return { buffer: buffer ?? renderContext.GetNullBuffer(binding.buffer?.minBindingSize ?? 16, \"STORAGE\") };\n }\n\n /** The resolved entries by `\"group:binding\"`. @returns {Map<string, object>} */\n GetEntries()\n {\n return this.m_entries;\n }\n\n /** The `Tr2ResourceSetDescriptionAL` it was created from, or null. */\n GetDescription()\n {\n return this.m_description;\n }\n\n /** The shader program whose bindings were resolved, or null. */\n GetProgram()\n {\n return this.m_program;\n }\n\n /** Whether the set has been created and carries an identity. */\n IsValid()\n {\n return this.m_id !== 0;\n }\n\n /** Drops the resolved entries, leaving the set invalid. */\n Destroy()\n {\n this.m_entries = new Map();\n this.m_description = null;\n this.m_program = null;\n this.m_id = 0;\n }\n\n /** Where the set lives, which is managed memory rather than the device. */\n GetMemoryClass()\n {\n return Tr2ALMemoryType.AL_MEMORY_MANAGED;\n }\n\n /**\n * Fills in a device-resource description.\n *\n * @param {object} description The description to fill.\n * @returns {object} The description, filled.\n */\n Describe(description)\n {\n if (!description) return description;\n\n description.memoryClass = this.GetMemoryClass();\n\n return description;\n }\n\n /**\n * Nothing here carries a label - the bind groups the context builds do.\n *\n * @returns {number} `S_OK`.\n */\n SetName(_name)\n {\n return ALResult.S_OK;\n }\n}\n"],"names":["STAGE_OF_VISIBILITY","Object","freeze","ShaderType","VERTEX_SHADER","PIXEL_SHADER","COMPUTE_SHADER","nextResourceSetId","SlotFor","description","kind","binding","bit","stage","visibility","slot","Get","registerIndex","CjsWebgpuResourceSetAL","m_id","m_description","m_program","m_entries","Map","Create","program","renderContext","Destroy","IsValid","ALResult","E_INVALIDARG","GetBindings","entries","buffer","type","set","group","_Resolve","S_OK","sampler","state","GetSampler","GetDummySampler","texture","resource","dimension","viewDimension","view","GetDeviceTextureView","colorSpace","GetDummyTexture","GetDeviceBuffer","GetNullBuffer","minBindingSize","GetEntries","GetDescription","GetProgram","GetMemoryClass","Tr2ALMemoryType","AL_MEMORY_MANAGED","Describe","memoryClass","SetName","_name"],"mappings":"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"}
1
+ {"version":3,"file":"CjsWebgpuResourceSetAL.js","sources":["../../../../src/trinityal/webgpu/CjsWebgpuResourceSetAL.js"],"sourcesContent":["// Source: trinity/trinityal/include/Tr2ResourceSetAL.h\r\n// trinity/trinityal/metal/Tr2ResourceSetALMetal.mm\r\n// trinity/trinityal/dx12/Tr2ResourceSetALDx12.cpp\r\n//\r\n// A `Tr2ResourceSetAL` for WebGPU: the description's textures, samplers and\r\n// buffers resolved against the program's bindings, ready to become bind groups.\r\n//\r\n// WHAT IT HOLDS AND WHAT IT DOES NOT. Carbon's description carries SRVs, UAVs\r\n// and samplers; constant buffers are NOT in it (`Tr2ResourceSetAL.h:57-65` has\r\n// no `SetConstantBuffer`) - they travel `SetConstants` and are bound beside the\r\n// set at the draw (DX12 root CBVs via `m_cbRegisters`, Metal's const-buffer\r\n// offset region). So this resolves every non-uniform slot of the program's\r\n// layout at Create, as Metal's `Create` fills its per-stage native arrays\r\n// (`Tr2ResourceSetALMetal.mm:57-279`), and the render context assembles each\r\n// `GPUBindGroup` from these entries plus the bound constant buffers when it\r\n// draws - a bind group being immutable, it can only exist once both halves are\r\n// known.\r\n//\r\n// UNFILLED SLOTS GET DUMMIES, AS METAL'S DO. Metal seeds its masks from the\r\n// program's requirements and fills what the description left empty with\r\n// `GetDummyTexture` / `GetDummySampler` (`:240-265`); DX12 substitutes null\r\n// views (`Tr2ResourceSetALDx12.cpp:145-146`). A WebGPU bind group with a hole\r\n// is a validation error, so the same substitution happens here.\r\n//\r\nimport { CjsSchema } from \"#schema\";\r\nimport { impl } from \"#schema\";\r\nimport { ALResult, Tr2ALMemoryType } from \"#trinityal\";\r\nimport { ShaderType } from \"#consts/render-context\";\r\n\r\n/** GPUShaderStage bits to the Carbon stage whose description slot answers. */\r\nconst STAGE_OF_VISIBILITY = Object.freeze([\r\n [ 1, ShaderType.VERTEX_SHADER ],\r\n [ 2, ShaderType.PIXEL_SHADER ],\r\n [ 4, ShaderType.COMPUTE_SHADER ]\r\n]);\r\n\r\nlet nextResourceSetId = 1;\r\n\r\n\r\n/**\r\n * The description slot a binding reads, trying each stage it is visible to.\r\n *\r\n * A binding two stages share was merged by the container because both read\r\n * the same register; whichever stage the material filled answers.\r\n */\r\nfunction SlotFor(description, kind, binding)\r\n{\r\n for (const [ bit, stage ] of STAGE_OF_VISIBILITY)\r\n {\r\n if ((binding.visibility & bit) === 0) continue;\r\n\r\n const map = description.m_registerMap;\r\n const slots = kind === \"srv\" ? map.srvs : kind === \"uav\" ? map.uavs : map.samplers;\r\n const records = kind === \"srv\" ? description.m_srv : kind === \"uav\" ? description.m_uav : description.m_samplers;\r\n const slot = records?.[slots[stage][binding.registerIndex]];\r\n if (slot && slot.type !== 0) return slot;\r\n }\r\n\r\n return null;\r\n}\r\n\r\n\r\n/**\r\n * A `Tr2ResourceSetAL` holding the resolved bindings a draw's bind groups are\r\n * assembled from.\r\n */\r\nexport class CjsWebgpuResourceSetAL\r\n{\r\n /** A process-unique identity, for the context's bind-group cache. Zero until Create. */\r\n m_id = 0;\r\n\r\n m_description = null;\r\n\r\n m_program = null;\r\n\r\n /** `\"group:binding\"` to the `GPUBindingResource` that fills it, non-uniform slots only. */\r\n m_entries = new Map();\r\n\r\n /**\r\n * Resolves the description against the program.\r\n *\r\n * @param {object} description A `Tr2ResourceSetDescriptionAL`.\r\n * @param {object} program The `CjsWebgpuShaderProgramAL` this set binds against.\r\n * @param {object} renderContext The WebGPU render context AL.\r\n * @returns {number} An `ALResult` value.\r\n */\r\n @impl.adapted\r\n @impl.reason(\"WebGPU resolves native dense records into bind-group entries, validates the program map and fills missing resources with dummies. Descriptor heap views have no WebGPU representation and return E_FAIL.\")\r\n Create(description, program, renderContext)\r\n {\r\n this.Destroy();\r\n\r\n if (!renderContext || !renderContext.IsValid()) return ALResult.E_INVALIDARG;\r\n if (!description) return ALResult.E_INVALIDARG;\r\n\r\n // DX12 refuses a description whose register map is not the program's\r\n // (`Tr2ResourceSetALDx12.cpp:78-81`); a program this backend did not link\r\n // has no bindings to lay out against, which is the same refusal.\r\n if (!program || typeof program.GetBindings !== \"function\" || !program.IsValid()) return ALResult.E_INVALIDARG;\r\n\r\n if (!description.m_registerMap.equals(program.GetRegisterMap())) return ALResult.E_INVALIDARG;\r\n\r\n if (description.m_srv?.some(record => record.type === 3)\r\n || description.m_uav?.some(record => record.type === 3)\r\n || description.m_samplers?.some(record => record.type === 2)) return ALResult.E_FAIL;\r\n\r\n const entries = new Map();\r\n\r\n for (const binding of program.GetBindings())\r\n {\r\n // Constant buffers are not the set's; see the head note.\r\n if (binding.buffer && binding.buffer.type === \"uniform\") continue;\r\n\r\n entries.set(`${binding.group}:${binding.binding}`, this._Resolve(description, binding, renderContext));\r\n }\r\n\r\n this.m_entries = entries;\r\n this.m_description = description;\r\n this.m_program = program;\r\n this.m_id = nextResourceSetId;\r\n nextResourceSetId += 1;\r\n\r\n return ALResult.S_OK;\r\n }\r\n\r\n /** One slot's resource, or the dummy Metal would put there. */\r\n @impl.adapted\r\n @impl.reason(\"Resolves dense native records to WebGPU views and buffers; a pending resource or empty slot uses the context dummy, following Metal.\")\r\n _Resolve(description, binding, renderContext)\r\n {\r\n if (binding.sampler)\r\n {\r\n const slot = SlotFor(description, \"sampler\", binding);\r\n const state = slot?.type === 1 ? slot.sampler : null;\r\n const sampler = state && typeof state.GetSampler === \"function\" ? state.GetSampler() : null;\r\n\r\n return sampler ?? renderContext.GetDummySampler();\r\n }\r\n\r\n if (binding.texture)\r\n {\r\n const slot = SlotFor(description, \"srv\", binding);\r\n const texture = slot?.type === 2 ? slot.texture : null;\r\n const dimension = binding.texture.viewDimension ?? \"2d\";\r\n const view = texture && typeof texture.GetDeviceTextureView === \"function\"\r\n ? texture.GetDeviceTextureView(dimension, slot.colorSpace)\r\n : null;\r\n\r\n return view ?? renderContext.GetDummyTexture(dimension);\r\n }\r\n\r\n // A storage buffer: read-only ones are SRVs, writable ones UAVs.\r\n const kind = binding.buffer && binding.buffer.type === \"storage\" ? \"uav\" : \"srv\";\r\n const slot = SlotFor(description, kind, binding);\r\n const resource = slot?.type === 1 ? slot.buffer : null;\r\n const buffer = resource && typeof resource.GetDeviceBuffer === \"function\" ? resource.GetDeviceBuffer() : null;\r\n\r\n return { buffer: buffer ?? renderContext.GetNullBuffer(binding.buffer?.minBindingSize ?? 16, \"STORAGE\") };\r\n }\r\n\r\n /** The resolved entries by `\"group:binding\"`. @returns {Map<string, object>} */\r\n GetEntries()\r\n {\r\n return this.m_entries;\r\n }\r\n\r\n /** The `Tr2ResourceSetDescriptionAL` it was created from, or null. */\r\n GetDescription()\r\n {\r\n return this.m_description;\r\n }\r\n\r\n /** The shader program whose bindings were resolved, or null. */\r\n GetProgram()\r\n {\r\n return this.m_program;\r\n }\r\n\r\n /** Whether the set has been created and carries an identity. */\r\n IsValid()\r\n {\r\n return this.m_id !== 0;\r\n }\r\n\r\n /** Drops the resolved entries, leaving the set invalid. */\r\n Destroy()\r\n {\r\n this.m_entries = new Map();\r\n this.m_description = null;\r\n this.m_program = null;\r\n this.m_id = 0;\r\n }\r\n\r\n /** Where the set lives, which is managed memory rather than the device. */\r\n GetMemoryClass()\r\n {\r\n return Tr2ALMemoryType.AL_MEMORY_MANAGED;\r\n }\r\n\r\n /**\r\n * Fills in a device-resource description.\r\n *\r\n * @param {object} description The description to fill.\r\n * @returns {object} The description, filled.\r\n */\r\n Describe(description)\r\n {\r\n if (!description) return description;\r\n\r\n description.memoryClass = this.GetMemoryClass();\r\n\r\n return description;\r\n }\r\n\r\n /**\r\n * Nothing here carries a label - the bind groups the context builds do.\r\n *\r\n * @returns {number} `S_OK`.\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(CjsWebgpuResourceSetAL, { className: \"CjsWebgpuResourceSetAL\", carbon: \"Tr2ResourceSetAL\" });\r\n"],"names":["STAGE_OF_VISIBILITY","Object","freeze","ShaderType","VERTEX_SHADER","PIXEL_SHADER","COMPUTE_SHADER","nextResourceSetId","SlotFor","description","kind","binding","bit","stage","visibility","map","m_registerMap","slots","srvs","uavs","samplers","records","m_srv","m_uav","m_samplers","slot","registerIndex","type","CjsWebgpuResourceSetAL","_initProto","_applyDecs","impl","adapted","reason","e","m_id","m_description","m_program","m_entries","Map","Create","program","renderContext","Destroy","IsValid","ALResult","E_INVALIDARG","GetBindings","equals","GetRegisterMap","some","record","E_FAIL","entries","buffer","set","group","_Resolve","S_OK","sampler","state","GetSampler","GetDummySampler","texture","dimension","viewDimension","view","GetDeviceTextureView","colorSpace","GetDummyTexture","resource","GetDeviceBuffer","GetNullBuffer","minBindingSize","GetEntries","GetDescription","GetProgram","GetMemoryClass","Tr2ALMemoryType","AL_MEMORY_MANAGED","Describe","memoryClass","SetName","_name","CjsSchema","define","className","carbon"],"mappings":";;;;;;;AA6BA;AACA,MAAMA,mBAAmB,GAAGC,MAAM,CAACC,MAAM,CAAC,CACxC,CAAE,CAAC,EAAEC,UAAU,CAACC,aAAa,CAAE,EAC/B,CAAE,CAAC,EAAED,UAAU,CAACE,YAAY,CAAE,EAC9B,CAAE,CAAC,EAAEF,UAAU,CAACG,cAAc,CAAE,CACjC,CAAC;AAEF,IAAIC,iBAAiB,GAAG,CAAC;;AAGzB;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,OAAOA,CAACC,WAAW,EAAEC,IAAI,EAAEC,OAAO,EAC3C;EACE,KAAK,MAAM,CAAEC,GAAG,EAAEC,KAAK,CAAE,IAAIb,mBAAmB,EAChD;IACE,IAAI,CAACW,OAAO,CAACG,UAAU,GAAGF,GAAG,MAAM,CAAC,EAAE;AAEtC,IAAA,MAAMG,GAAG,GAAGN,WAAW,CAACO,aAAa;IACrC,MAAMC,KAAK,GAAGP,IAAI,KAAK,KAAK,GAAGK,GAAG,CAACG,IAAI,GAAGR,IAAI,KAAK,KAAK,GAAGK,GAAG,CAACI,IAAI,GAAGJ,GAAG,CAACK,QAAQ;IAClF,MAAMC,OAAO,GAAGX,IAAI,KAAK,KAAK,GAAGD,WAAW,CAACa,KAAK,GAAGZ,IAAI,KAAK,KAAK,GAAGD,WAAW,CAACc,KAAK,GAAGd,WAAW,CAACe,UAAU;AAChH,IAAA,MAAMC,IAAI,GAAGJ,OAAO,GAAGJ,KAAK,CAACJ,KAAK,CAAC,CAACF,OAAO,CAACe,aAAa,CAAC,CAAC;IAC3D,IAAID,IAAI,IAAIA,IAAI,CAACE,IAAI,KAAK,CAAC,EAAE,OAAOF,IAAI;AAC1C,EAAA;AAEA,EAAA,OAAO,IAAI;AACb;;AAGA;AACA;AACA;AACA;AACO,MAAMG,sBAAsB,CACnC;AAAA,EAAA;AAAA,IAAA,CAAAC,UAAA,CAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAmBGC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,0MAA0M,CAAC,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAuCvNF,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,sIAAsI,CAAC,qBAAAC,CAAA;AAAA;AA3DpJ;EACAC,IAAI,IAAAN,UAAA,CAAA,IAAA,CAAA,EAAG,CAAC;AAERO,EAAAA,aAAa,GAAG,IAAI;AAEpBC,EAAAA,SAAS,GAAG,IAAI;;AAEhB;AACAC,EAAAA,SAAS,GAAG,IAAIC,GAAG,EAAE;;AAErB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AAGEC,EAAAA,MAAMA,CAAC/B,WAAW,EAAEgC,OAAO,EAAEC,aAAa,EAC1C;IACE,IAAI,CAACC,OAAO,EAAE;AAEd,IAAA,IAAI,CAACD,aAAa,IAAI,CAACA,aAAa,CAACE,OAAO,EAAE,EAAE,OAAOC,QAAQ,CAACC,YAAY;AAC5E,IAAA,IAAI,CAACrC,WAAW,EAAE,OAAOoC,QAAQ,CAACC,YAAY;;AAE9C;AACA;AACA;IACA,IAAI,CAACL,OAAO,IAAI,OAAOA,OAAO,CAACM,WAAW,KAAK,UAAU,IAAI,CAACN,OAAO,CAACG,OAAO,EAAE,EAAE,OAAOC,QAAQ,CAACC,YAAY;AAE7G,IAAA,IAAI,CAACrC,WAAW,CAACO,aAAa,CAACgC,MAAM,CAACP,OAAO,CAACQ,cAAc,EAAE,CAAC,EAAE,OAAOJ,QAAQ,CAACC,YAAY;IAE7F,IAAIrC,WAAW,CAACa,KAAK,EAAE4B,IAAI,CAACC,MAAM,IAAIA,MAAM,CAACxB,IAAI,KAAK,CAAC,CAAC,IACnDlB,WAAW,CAACc,KAAK,EAAE2B,IAAI,CAACC,MAAM,IAAIA,MAAM,CAACxB,IAAI,KAAK,CAAC,CAAC,IACpDlB,WAAW,CAACe,UAAU,EAAE0B,IAAI,CAACC,MAAM,IAAIA,MAAM,CAACxB,IAAI,KAAK,CAAC,CAAC,EAAE,OAAOkB,QAAQ,CAACO,MAAM;AAEtF,IAAA,MAAMC,OAAO,GAAG,IAAId,GAAG,EAAE;IAEzB,KAAK,MAAM5B,OAAO,IAAI8B,OAAO,CAACM,WAAW,EAAE,EAC3C;AACE;MACA,IAAIpC,OAAO,CAAC2C,MAAM,IAAI3C,OAAO,CAAC2C,MAAM,CAAC3B,IAAI,KAAK,SAAS,EAAE;MAEzD0B,OAAO,CAACE,GAAG,CAAC,CAAA,EAAG5C,OAAO,CAAC6C,KAAK,CAAA,CAAA,EAAI7C,OAAO,CAACA,OAAO,EAAE,EAAE,IAAI,CAAC8C,QAAQ,CAAChD,WAAW,EAAEE,OAAO,EAAE+B,aAAa,CAAC,CAAC;AACxG,IAAA;IAEA,IAAI,CAACJ,SAAS,GAAGe,OAAO;IACxB,IAAI,CAACjB,aAAa,GAAG3B,WAAW;IAChC,IAAI,CAAC4B,SAAS,GAAGI,OAAO;IACxB,IAAI,CAACN,IAAI,GAAG5B,iBAAiB;AAC7BA,IAAAA,iBAAiB,IAAI,CAAC;IAEtB,OAAOsC,QAAQ,CAACa,IAAI;AACtB,EAAA;;AAEA;AAGAD,EAAAA,QAAQA,CAAChD,WAAW,EAAEE,OAAO,EAAE+B,aAAa,EAC5C;IACE,IAAI/B,OAAO,CAACgD,OAAO,EACnB;MACE,MAAMlC,IAAI,GAAGjB,OAAO,CAACC,WAAW,EAAE,SAAS,EAAEE,OAAO,CAAC;AACrD,MAAA,MAAMiD,KAAK,GAAGnC,IAAI,EAAEE,IAAI,KAAK,CAAC,GAAGF,IAAI,CAACkC,OAAO,GAAG,IAAI;AACpD,MAAA,MAAMA,OAAO,GAAGC,KAAK,IAAI,OAAOA,KAAK,CAACC,UAAU,KAAK,UAAU,GAAGD,KAAK,CAACC,UAAU,EAAE,GAAG,IAAI;AAE3F,MAAA,OAAOF,OAAO,IAAIjB,aAAa,CAACoB,eAAe,EAAE;AACnD,IAAA;IAEA,IAAInD,OAAO,CAACoD,OAAO,EACnB;MACE,MAAMtC,IAAI,GAAGjB,OAAO,CAACC,WAAW,EAAE,KAAK,EAAEE,OAAO,CAAC;AACjD,MAAA,MAAMoD,OAAO,GAAGtC,IAAI,EAAEE,IAAI,KAAK,CAAC,GAAGF,IAAI,CAACsC,OAAO,GAAG,IAAI;MACtD,MAAMC,SAAS,GAAGrD,OAAO,CAACoD,OAAO,CAACE,aAAa,IAAI,IAAI;MACvD,MAAMC,IAAI,GAAGH,OAAO,IAAI,OAAOA,OAAO,CAACI,oBAAoB,KAAK,UAAU,GACtEJ,OAAO,CAACI,oBAAoB,CAACH,SAAS,EAAEvC,IAAI,CAAC2C,UAAU,CAAC,GACxD,IAAI;AAER,MAAA,OAAOF,IAAI,IAAIxB,aAAa,CAAC2B,eAAe,CAACL,SAAS,CAAC;AACzD,IAAA;;AAEA;AACA,IAAA,MAAMtD,IAAI,GAAGC,OAAO,CAAC2C,MAAM,IAAI3C,OAAO,CAAC2C,MAAM,CAAC3B,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK;IAChF,MAAMF,IAAI,GAAGjB,OAAO,CAACC,WAAW,EAAEC,IAAI,EAAEC,OAAO,CAAC;AAChD,IAAA,MAAM2D,QAAQ,GAAG7C,IAAI,EAAEE,IAAI,KAAK,CAAC,GAAGF,IAAI,CAAC6B,MAAM,GAAG,IAAI;AACtD,IAAA,MAAMA,MAAM,GAAGgB,QAAQ,IAAI,OAAOA,QAAQ,CAACC,eAAe,KAAK,UAAU,GAAGD,QAAQ,CAACC,eAAe,EAAE,GAAG,IAAI;IAE7G,OAAO;AAAEjB,MAAAA,MAAM,EAAEA,MAAM,IAAIZ,aAAa,CAAC8B,aAAa,CAAC7D,OAAO,CAAC2C,MAAM,EAAEmB,cAAc,IAAI,EAAE,EAAE,SAAS;KAAG;AAC3G,EAAA;;AAEA;AACAC,EAAAA,UAAUA,GACV;IACE,OAAO,IAAI,CAACpC,SAAS;AACvB,EAAA;;AAEA;AACAqC,EAAAA,cAAcA,GACd;IACE,OAAO,IAAI,CAACvC,aAAa;AAC3B,EAAA;;AAEA;AACAwC,EAAAA,UAAUA,GACV;IACE,OAAO,IAAI,CAACvC,SAAS;AACvB,EAAA;;AAEA;AACAO,EAAAA,OAAOA,GACP;AACE,IAAA,OAAO,IAAI,CAACT,IAAI,KAAK,CAAC;AACxB,EAAA;;AAEA;AACAQ,EAAAA,OAAOA,GACP;AACE,IAAA,IAAI,CAACL,SAAS,GAAG,IAAIC,GAAG,EAAE;IAC1B,IAAI,CAACH,aAAa,GAAG,IAAI;IACzB,IAAI,CAACC,SAAS,GAAG,IAAI;IACrB,IAAI,CAACF,IAAI,GAAG,CAAC;AACf,EAAA;;AAEA;AACA0C,EAAAA,cAAcA,GACd;IACE,OAAOC,eAAe,CAACC,iBAAiB;AAC1C,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEC,QAAQA,CAACvE,WAAW,EACpB;AACE,IAAA,IAAI,CAACA,WAAW,EAAE,OAAOA,WAAW;AAEpCA,IAAAA,WAAW,CAACwE,WAAW,GAAG,IAAI,CAACJ,cAAc,EAAE;AAE/C,IAAA,OAAOpE,WAAW;AACpB,EAAA;;AAEA;AACF;AACA;AACA;AACA;EACEyE,OAAOA,CAACC,KAAK,EACb;IACE,OAAOtC,QAAQ,CAACa,IAAI;AACtB,EAAA;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA0B,SAAS,CAACC,MAAM,CAACzD,sBAAsB,EAAE;AAAE0D,EAAAA,SAAS,EAAE,wBAAwB;AAAEC,EAAAA,MAAM,EAAE;AAAmB,CAAC,CAAC;;;;"}
@@ -1,5 +1,6 @@
1
+ import { CjsSchema } from '#schema';
1
2
  import { ALResult, Tr2ALMemoryType } from '#trinityal';
2
- import { NormalizeSamplerDescription } from '../Tr2SamplerDescription.js';
3
+ import { NormalizeSamplerDescription } from '../Tr2HalHelperStructures/Tr2SamplerDescription.js';
3
4
  import { CarbonSamplerDescriptor } from './core/samplerDescriptor.js';
4
5
 
5
6
  // Source: trinity/trinityal/include/Tr2SamplerStateAL.h
@@ -130,5 +131,19 @@ class CjsWebgpuSamplerStateAL {
130
131
  }
131
132
  }
132
133
 
134
+ // DECLARED AS A CALL, NOT A DECORATOR, for the reason recorded in
135
+ // Tr2BitmapDimensions.js: the layer is imported straight from source by its
136
+ // tests and raw Node cannot parse decorator syntax.
137
+ //
138
+ // The donor is NAMED rather than left to be derived from this class's name.
139
+ // Carbon calls every backend's class the same thing and carries the backend in
140
+ // the FILE name, because only one backend compiles at a time; we ship them
141
+ // together, so the backend moves onto the class name. That divergence is the
142
+ // author's to declare, never a checker's to guess.
143
+ CjsSchema.define(CjsWebgpuSamplerStateAL, {
144
+ className: "CjsWebgpuSamplerStateAL",
145
+ carbon: "Tr2SamplerStateAL"
146
+ });
147
+
133
148
  export { CjsWebgpuSamplerStateAL };
134
149
  //# sourceMappingURL=CjsWebgpuSamplerStateAL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CjsWebgpuSamplerStateAL.js","sources":["../../../../src/trinityal/webgpu/CjsWebgpuSamplerStateAL.js"],"sourcesContent":["// Source: trinity/trinityal/include/Tr2SamplerStateAL.h\n// trinity/trinityal/metal/Tr2SamplerStateALMetal.mm\n// trinity/trinityal/stub/Tr2SamplerStateALStub.cpp\n//\n// A `Tr2SamplerStateAL` holding a real `GPUSampler`.\n//\n// CREATED THROUGH THE CONTEXT'S FACTORY, NOT DIRECTLY. Carbon's\n// `Tr2SamplerStateAL::Create` is a cache lookup on the primary context\n// (`Tr2SamplerStateAL.cpp:25-28`), keyed on the description, so that two\n// samplers authored alike are one driver object and a resource set's\n// change-detect can compare states by identity. `CjsWebgpuRenderContextAL.CreateSamplerState`\n// is that factory; constructing this class directly bypasses the cache and is\n// what a test does, not a caller.\n//\n// BORDER AND MIRROR-ONCE ARE NOT HERE. `GPUSamplerDescriptor` has three address\n// modes and no border colour, so `CarbonSamplerDescriptor` folds modes 4 and 5\n// to clamp-to-edge and the shader emulates them from a modes buffer the\n// material fills (see the handover's emulation section). The description this\n// state keeps is the AUTHORED one, border included, so the material can read\n// the real modes back.\nimport { ALResult, Tr2ALMemoryType } from \"#trinityal\";\nimport { NormalizeSamplerDescription } from \"../Tr2SamplerDescription.js\";\nimport { CarbonSamplerDescriptor } from \"./core/samplerDescriptor.js\";\n\n/** Carbon's \"no descriptor heap index\", as the stub spells it. */\nconst NO_HEAP_INDEX = 0xffffffff;\n\n\n/**\n * A `Tr2SamplerStateAL` backed by a `GPUSampler` created from Carbon's\n * authored sampler description.\n */\nexport class CjsWebgpuSamplerStateAL\n{\n /** The `GPUSampler`, or null before Create. */\n m_sampler = null;\n\n /** The authored description, normalised; what `GetDescription` answers. */\n m_description = null;\n\n /** The `GPUSamplerDescriptor` the sampler was created from. */\n m_descriptor = null;\n\n /**\n * Creates the sampler.\n *\n * @param {object} description A `Tr2SamplerDescription`, either spelling.\n * @param {object} renderContext The WebGPU render context AL.\n * @returns {number} An `ALResult` value.\n */\n Create(description, renderContext)\n {\n this.Destroy();\n\n if (!renderContext || !renderContext.IsValid()) return ALResult.E_INVALIDARG;\n\n const normalized = NormalizeSamplerDescription(description);\n if (!normalized) return ALResult.E_INVALIDARG;\n\n const webgpu = renderContext.GetWebgpu();\n if (!webgpu) return ALResult.E_INVALIDCALL;\n\n let descriptor;\n\n try\n {\n descriptor = CarbonSamplerDescriptor(normalized, \"Tr2SamplerStateAL\");\n }\n catch\n {\n // A mode or filter Carbon's enum does not have; refused where the\n // cause is, as Metal refuses a signature it cannot honour.\n return ALResult.E_INVALIDARG;\n }\n\n this.m_sampler = webgpu.GetDevice().createSampler(descriptor);\n this.m_description = normalized;\n this.m_descriptor = descriptor;\n\n return ALResult.S_OK;\n }\n\n /**\n * The `GPUSampler`, for a bind group.\n *\n * Metal's `GetMetalSamplerState` under this backend's name for its native\n * object, as `GetDeviceBuffer` is for `GetMetalBuffer`.\n *\n * @returns {object|null} The sampler.\n */\n GetSampler()\n {\n return this.m_sampler;\n }\n\n /** The authored description, normalised. @returns {object|null} */\n GetDescription()\n {\n return this.m_description;\n }\n\n /** Whether the state holds a `GPUSampler`. */\n IsValid()\n {\n return this.m_sampler !== null;\n }\n\n /** No descriptor heap here, as the stub answers. */\n GetIndexInHeap()\n {\n return NO_HEAP_INDEX;\n }\n\n /** Drops the sampler, leaving the state invalid. */\n Destroy()\n {\n // A GPUSampler has no destroy(); dropping the reference releases it.\n this.m_sampler = null;\n this.m_description = null;\n this.m_descriptor = null;\n }\n\n /** Where the sampler lives, which is managed memory rather than the device. */\n GetMemoryClass()\n {\n return Tr2ALMemoryType.AL_MEMORY_MANAGED;\n }\n\n /**\n * Fills in a device-resource description.\n *\n * @param {object} description The description to fill.\n * @returns {object} The description, filled.\n */\n Describe(description)\n {\n if (!description) return description;\n\n description.memoryClass = this.GetMemoryClass();\n\n return description;\n }\n\n /**\n * @param {string} name The label.\n * @returns {number} `S_OK`.\n */\n SetName(name)\n {\n if (this.m_sampler) this.m_sampler.label = String(name);\n\n return ALResult.S_OK;\n }\n}\n"],"names":["NO_HEAP_INDEX","CjsWebgpuSamplerStateAL","m_sampler","m_description","m_descriptor","Create","description","renderContext","Destroy","IsValid","ALResult","E_INVALIDARG","normalized","NormalizeSamplerDescription","webgpu","GetWebgpu","E_INVALIDCALL","descriptor","CarbonSamplerDescriptor","GetDevice","createSampler","S_OK","GetSampler","GetDescription","GetIndexInHeap","GetMemoryClass","Tr2ALMemoryType","AL_MEMORY_MANAGED","Describe","memoryClass","SetName","name","label","String"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA,MAAMA,aAAa,GAAG,UAAU;;AAGhC;AACA;AACA;AACA;AACO,MAAMC,uBAAuB,CACpC;AACE;AACAC,EAAAA,SAAS,GAAG,IAAI;;AAEhB;AACAC,EAAAA,aAAa,GAAG,IAAI;;AAEpB;AACAC,EAAAA,YAAY,GAAG,IAAI;;AAEnB;AACF;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,MAAMA,CAACC,WAAW,EAAEC,aAAa,EACjC;IACE,IAAI,CAACC,OAAO,EAAE;AAEd,IAAA,IAAI,CAACD,aAAa,IAAI,CAACA,aAAa,CAACE,OAAO,EAAE,EAAE,OAAOC,QAAQ,CAACC,YAAY;AAE5E,IAAA,MAAMC,UAAU,GAAGC,2BAA2B,CAACP,WAAW,CAAC;AAC3D,IAAA,IAAI,CAACM,UAAU,EAAE,OAAOF,QAAQ,CAACC,YAAY;AAE7C,IAAA,MAAMG,MAAM,GAAGP,aAAa,CAACQ,SAAS,EAAE;AACxC,IAAA,IAAI,CAACD,MAAM,EAAE,OAAOJ,QAAQ,CAACM,aAAa;AAE1C,IAAA,IAAIC,UAAU;IAEd,IACA;AACEA,MAAAA,UAAU,GAAGC,uBAAuB,CAACN,UAAU,EAAE,mBAAmB,CAAC;AACvE,IAAA,CAAC,CACD,MACA;AACE;AACA;MACA,OAAOF,QAAQ,CAACC,YAAY;AAC9B,IAAA;AAEA,IAAA,IAAI,CAACT,SAAS,GAAGY,MAAM,CAACK,SAAS,EAAE,CAACC,aAAa,CAACH,UAAU,CAAC;IAC7D,IAAI,CAACd,aAAa,GAAGS,UAAU;IAC/B,IAAI,CAACR,YAAY,GAAGa,UAAU;IAE9B,OAAOP,QAAQ,CAACW,IAAI;AACtB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,UAAUA,GACV;IACE,OAAO,IAAI,CAACpB,SAAS;AACvB,EAAA;;AAEA;AACAqB,EAAAA,cAAcA,GACd;IACE,OAAO,IAAI,CAACpB,aAAa;AAC3B,EAAA;;AAEA;AACAM,EAAAA,OAAOA,GACP;AACE,IAAA,OAAO,IAAI,CAACP,SAAS,KAAK,IAAI;AAChC,EAAA;;AAEA;AACAsB,EAAAA,cAAcA,GACd;AACE,IAAA,OAAOxB,aAAa;AACtB,EAAA;;AAEA;AACAQ,EAAAA,OAAOA,GACP;AACE;IACA,IAAI,CAACN,SAAS,GAAG,IAAI;IACrB,IAAI,CAACC,aAAa,GAAG,IAAI;IACzB,IAAI,CAACC,YAAY,GAAG,IAAI;AAC1B,EAAA;;AAEA;AACAqB,EAAAA,cAAcA,GACd;IACE,OAAOC,eAAe,CAACC,iBAAiB;AAC1C,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEC,QAAQA,CAACtB,WAAW,EACpB;AACE,IAAA,IAAI,CAACA,WAAW,EAAE,OAAOA,WAAW;AAEpCA,IAAAA,WAAW,CAACuB,WAAW,GAAG,IAAI,CAACJ,cAAc,EAAE;AAE/C,IAAA,OAAOnB,WAAW;AACpB,EAAA;;AAEA;AACF;AACA;AACA;EACEwB,OAAOA,CAACC,IAAI,EACZ;AACE,IAAA,IAAI,IAAI,CAAC7B,SAAS,EAAE,IAAI,CAACA,SAAS,CAAC8B,KAAK,GAAGC,MAAM,CAACF,IAAI,CAAC;IAEvD,OAAOrB,QAAQ,CAACW,IAAI;AACtB,EAAA;AACF;;;;"}
1
+ {"version":3,"file":"CjsWebgpuSamplerStateAL.js","sources":["../../../../src/trinityal/webgpu/CjsWebgpuSamplerStateAL.js"],"sourcesContent":["// Source: trinity/trinityal/include/Tr2SamplerStateAL.h\n// trinity/trinityal/metal/Tr2SamplerStateALMetal.mm\n// trinity/trinityal/stub/Tr2SamplerStateALStub.cpp\n//\n// A `Tr2SamplerStateAL` holding a real `GPUSampler`.\n//\n// CREATED THROUGH THE CONTEXT'S FACTORY, NOT DIRECTLY. Carbon's\n// `Tr2SamplerStateAL::Create` is a cache lookup on the primary context\n// (`Tr2SamplerStateAL.cpp:25-28`), keyed on the description, so that two\n// samplers authored alike are one driver object and a resource set's\n// change-detect can compare states by identity. `CjsWebgpuRenderContextAL.CreateSamplerState`\n// is that factory; constructing this class directly bypasses the cache and is\n// what a test does, not a caller.\n//\n// BORDER AND MIRROR-ONCE ARE NOT HERE. `GPUSamplerDescriptor` has three address\n// modes and no border colour, so `CarbonSamplerDescriptor` folds modes 4 and 5\n// to clamp-to-edge and the shader emulates them from a modes buffer the\n// material fills (see the handover's emulation section). The description this\n// state keeps is the AUTHORED one, border included, so the material can read\n// the real modes back.\nimport { CjsSchema } from \"#schema\";\nimport { ALResult, Tr2ALMemoryType } from \"#trinityal\";\nimport { NormalizeSamplerDescription } from \"../Tr2HalHelperStructures/Tr2SamplerDescription.js\";\nimport { CarbonSamplerDescriptor } from \"./core/samplerDescriptor.js\";\n\n/** Carbon's \"no descriptor heap index\", as the stub spells it. */\nconst NO_HEAP_INDEX = 0xffffffff;\n\n\n/**\n * A `Tr2SamplerStateAL` backed by a `GPUSampler` created from Carbon's\n * authored sampler description.\n */\nexport class CjsWebgpuSamplerStateAL\n{\n /** The `GPUSampler`, or null before Create. */\n m_sampler = null;\n\n /** The authored description, normalised; what `GetDescription` answers. */\n m_description = null;\n\n /** The `GPUSamplerDescriptor` the sampler was created from. */\n m_descriptor = null;\n\n /**\n * Creates the sampler.\n *\n * @param {object} description A `Tr2SamplerDescription`, either spelling.\n * @param {object} renderContext The WebGPU render context AL.\n * @returns {number} An `ALResult` value.\n */\n Create(description, renderContext)\n {\n this.Destroy();\n\n if (!renderContext || !renderContext.IsValid()) return ALResult.E_INVALIDARG;\n\n const normalized = NormalizeSamplerDescription(description);\n if (!normalized) return ALResult.E_INVALIDARG;\n\n const webgpu = renderContext.GetWebgpu();\n if (!webgpu) return ALResult.E_INVALIDCALL;\n\n let descriptor;\n\n try\n {\n descriptor = CarbonSamplerDescriptor(normalized, \"Tr2SamplerStateAL\");\n }\n catch\n {\n // A mode or filter Carbon's enum does not have; refused where the\n // cause is, as Metal refuses a signature it cannot honour.\n return ALResult.E_INVALIDARG;\n }\n\n this.m_sampler = webgpu.GetDevice().createSampler(descriptor);\n this.m_description = normalized;\n this.m_descriptor = descriptor;\n\n return ALResult.S_OK;\n }\n\n /**\n * The `GPUSampler`, for a bind group.\n *\n * Metal's `GetMetalSamplerState` under this backend's name for its native\n * object, as `GetDeviceBuffer` is for `GetMetalBuffer`.\n *\n * @returns {object|null} The sampler.\n */\n GetSampler()\n {\n return this.m_sampler;\n }\n\n /** The authored description, normalised. @returns {object|null} */\n GetDescription()\n {\n return this.m_description;\n }\n\n /** Whether the state holds a `GPUSampler`. */\n IsValid()\n {\n return this.m_sampler !== null;\n }\n\n /** No descriptor heap here, as the stub answers. */\n GetIndexInHeap()\n {\n return NO_HEAP_INDEX;\n }\n\n /** Drops the sampler, leaving the state invalid. */\n Destroy()\n {\n // A GPUSampler has no destroy(); dropping the reference releases it.\n this.m_sampler = null;\n this.m_description = null;\n this.m_descriptor = null;\n }\n\n /** Where the sampler lives, which is managed memory rather than the device. */\n GetMemoryClass()\n {\n return Tr2ALMemoryType.AL_MEMORY_MANAGED;\n }\n\n /**\n * Fills in a device-resource description.\n *\n * @param {object} description The description to fill.\n * @returns {object} The description, filled.\n */\n Describe(description)\n {\n if (!description) return description;\n\n description.memoryClass = this.GetMemoryClass();\n\n return description;\n }\n\n /**\n * @param {string} name The label.\n * @returns {number} `S_OK`.\n */\n SetName(name)\n {\n if (this.m_sampler) this.m_sampler.label = String(name);\n\n return ALResult.S_OK;\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(CjsWebgpuSamplerStateAL, { className: \"CjsWebgpuSamplerStateAL\", carbon: \"Tr2SamplerStateAL\" });\n"],"names":["NO_HEAP_INDEX","CjsWebgpuSamplerStateAL","m_sampler","m_description","m_descriptor","Create","description","renderContext","Destroy","IsValid","ALResult","E_INVALIDARG","normalized","NormalizeSamplerDescription","webgpu","GetWebgpu","E_INVALIDCALL","descriptor","CarbonSamplerDescriptor","GetDevice","createSampler","S_OK","GetSampler","GetDescription","GetIndexInHeap","GetMemoryClass","Tr2ALMemoryType","AL_MEMORY_MANAGED","Describe","memoryClass","SetName","name","label","String","CjsSchema","define","className","carbon"],"mappings":"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"}