@flighthq/render-wgpu 0.5.1-next.920.da8f530 → 0.6.0

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 (407) hide show
  1. package/README.md +2 -2
  2. package/dist/.tsbuildinfo.compressed-texture-decoder-contract +1 -0
  3. package/dist/.tsbuildinfo.contract +1 -0
  4. package/dist/.tsbuildinfo.runtime +1 -0
  5. package/dist/compressed-texture-decoder-contract/WgpuCompressedTextureDecoder.d.ts +3 -0
  6. package/dist/compressed-texture-decoder-contract/WgpuCompressedTextureDecoder.d.ts.map +1 -0
  7. package/dist/compressed-texture-decoder-contract/WgpuCompressedTextureDecoder.js +2 -0
  8. package/dist/compressed-texture-decoder-contract/WgpuCompressedTextureDecoder.js.map +1 -0
  9. package/dist/compressed-texture-decoder-contract/compressedTextureDecoderContract.d.ts +2 -0
  10. package/dist/compressed-texture-decoder-contract/compressedTextureDecoderContract.d.ts.map +1 -0
  11. package/dist/compressed-texture-decoder-contract/compressedTextureDecoderContract.js +2 -0
  12. package/dist/compressed-texture-decoder-contract/compressedTextureDecoderContract.js.map +1 -0
  13. package/dist/contract.d.ts +32 -34
  14. package/dist/contract.d.ts.map +1 -1
  15. package/dist/contract.js +32 -34
  16. package/dist/contract.js.map +1 -1
  17. package/dist/contract.render-wgpu-types.d.ts +55 -0
  18. package/dist/contract.render-wgpu-types.d.ts.map +1 -0
  19. package/dist/contract.render-wgpu-types.js +5 -0
  20. package/dist/contract.render-wgpu-types.js.map +1 -0
  21. package/dist/enableWgpuTextureResolverGuards.d.ts +3 -2
  22. package/dist/enableWgpuTextureResolverGuards.d.ts.map +1 -1
  23. package/dist/enableWgpuTextureResolverGuards.js +12 -9
  24. package/dist/enableWgpuTextureResolverGuards.js.map +1 -1
  25. package/dist/explainWgpuTextureResolution.d.ts +2 -1
  26. package/dist/explainWgpuTextureResolution.d.ts.map +1 -1
  27. package/dist/explainWgpuTextureResolution.js +2 -5
  28. package/dist/explainWgpuTextureResolution.js.map +1 -1
  29. package/dist/explainWgpuUniformEndianness.d.ts +3 -0
  30. package/dist/explainWgpuUniformEndianness.d.ts.map +1 -0
  31. package/dist/explainWgpuUniformEndianness.js +25 -0
  32. package/dist/explainWgpuUniformEndianness.js.map +1 -0
  33. package/dist/index.d.ts +20 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +20 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/types/Host.d.ts +5 -0
  38. package/dist/types/Host.d.ts.map +1 -0
  39. package/dist/types/Host.js +2 -0
  40. package/dist/types/Host.js.map +1 -0
  41. package/dist/types/WgpuAdapter.d.ts +14 -0
  42. package/dist/types/WgpuAdapter.d.ts.map +1 -0
  43. package/dist/types/WgpuAdapter.js +2 -0
  44. package/dist/types/WgpuAdapter.js.map +1 -0
  45. package/dist/types/WgpuAdapterCapabilities.d.ts +7 -0
  46. package/dist/types/WgpuAdapterCapabilities.d.ts.map +1 -0
  47. package/dist/types/WgpuAdapterCapabilities.js +2 -0
  48. package/dist/types/WgpuAdapterCapabilities.js.map +1 -0
  49. package/dist/types/WgpuBindGroup.d.ts +23 -0
  50. package/dist/types/WgpuBindGroup.d.ts.map +1 -0
  51. package/dist/types/WgpuBindGroup.js +2 -0
  52. package/dist/types/WgpuBindGroup.js.map +1 -0
  53. package/dist/types/WgpuBindGroupLayout.d.ts +45 -0
  54. package/dist/types/WgpuBindGroupLayout.d.ts.map +1 -0
  55. package/dist/types/WgpuBindGroupLayout.js +7 -0
  56. package/dist/types/WgpuBindGroupLayout.js.map +1 -0
  57. package/dist/types/WgpuBuffer.d.ts +34 -0
  58. package/dist/types/WgpuBuffer.d.ts.map +1 -0
  59. package/dist/types/WgpuBuffer.js +19 -0
  60. package/dist/types/WgpuBuffer.js.map +1 -0
  61. package/dist/types/WgpuCanvasContext.d.ts +17 -0
  62. package/dist/types/WgpuCanvasContext.d.ts.map +1 -0
  63. package/dist/types/WgpuCanvasContext.js +2 -0
  64. package/dist/types/WgpuCanvasContext.js.map +1 -0
  65. package/dist/types/WgpuColorAdjustmentMaterialFeature.d.ts +14 -0
  66. package/dist/types/WgpuColorAdjustmentMaterialFeature.d.ts.map +1 -0
  67. package/dist/types/WgpuColorAdjustmentMaterialFeature.js +2 -0
  68. package/dist/types/WgpuColorAdjustmentMaterialFeature.js.map +1 -0
  69. package/dist/types/WgpuCommandBuffer.d.ts +5 -0
  70. package/dist/types/WgpuCommandBuffer.d.ts.map +1 -0
  71. package/dist/types/WgpuCommandBuffer.js +2 -0
  72. package/dist/types/WgpuCommandBuffer.js.map +1 -0
  73. package/dist/types/WgpuCommandEncoder.d.ts +12 -0
  74. package/dist/types/WgpuCommandEncoder.d.ts.map +1 -0
  75. package/dist/types/WgpuCommandEncoder.js +2 -0
  76. package/dist/types/WgpuCommandEncoder.js.map +1 -0
  77. package/dist/types/WgpuCompressedTextureSupport.d.ts +6 -0
  78. package/dist/types/WgpuCompressedTextureSupport.d.ts.map +1 -0
  79. package/dist/types/WgpuCompressedTextureSupport.js +2 -0
  80. package/dist/types/WgpuCompressedTextureSupport.js.map +1 -0
  81. package/dist/types/WgpuCompressedTextureUploader.d.ts +6 -0
  82. package/dist/types/WgpuCompressedTextureUploader.d.ts.map +1 -0
  83. package/dist/types/WgpuCompressedTextureUploader.js +2 -0
  84. package/dist/types/WgpuCompressedTextureUploader.js.map +1 -0
  85. package/dist/types/WgpuCustomMaterialShaderSource.d.ts +2 -0
  86. package/dist/types/WgpuCustomMaterialShaderSource.d.ts.map +1 -0
  87. package/dist/types/WgpuCustomMaterialShaderSource.js +2 -0
  88. package/dist/types/WgpuCustomMaterialShaderSource.js.map +1 -0
  89. package/dist/types/WgpuDevice.d.ts +76 -0
  90. package/dist/types/WgpuDevice.d.ts.map +1 -0
  91. package/dist/types/WgpuDevice.js +2 -0
  92. package/dist/types/WgpuDevice.js.map +1 -0
  93. package/dist/types/WgpuDeviceRuntime.d.ts +53 -0
  94. package/dist/types/WgpuDeviceRuntime.d.ts.map +1 -0
  95. package/dist/types/WgpuDeviceRuntime.js +2 -0
  96. package/dist/types/WgpuDeviceRuntime.js.map +1 -0
  97. package/dist/types/WgpuDeviceSignals.d.ts +6 -0
  98. package/dist/types/WgpuDeviceSignals.d.ts.map +1 -0
  99. package/dist/types/WgpuDeviceSignals.js +2 -0
  100. package/dist/types/WgpuDeviceSignals.js.map +1 -0
  101. package/dist/types/WgpuDeviceState.d.ts +7 -0
  102. package/dist/types/WgpuDeviceState.d.ts.map +1 -0
  103. package/dist/types/WgpuDeviceState.js +2 -0
  104. package/dist/types/WgpuDeviceState.js.map +1 -0
  105. package/dist/types/WgpuEffectState.d.ts +19 -0
  106. package/dist/types/WgpuEffectState.d.ts.map +1 -0
  107. package/dist/types/WgpuEffectState.js +2 -0
  108. package/dist/types/WgpuEffectState.js.map +1 -0
  109. package/dist/types/WgpuExternalImageSource.d.ts +18 -0
  110. package/dist/types/WgpuExternalImageSource.d.ts.map +1 -0
  111. package/dist/types/WgpuExternalImageSource.js +2 -0
  112. package/dist/types/WgpuExternalImageSource.js.map +1 -0
  113. package/dist/types/WgpuFullscreenPipeline.d.ts +14 -0
  114. package/dist/types/WgpuFullscreenPipeline.d.ts.map +1 -0
  115. package/dist/types/WgpuFullscreenPipeline.js +2 -0
  116. package/dist/types/WgpuFullscreenPipeline.js.map +1 -0
  117. package/dist/types/WgpuGpu.d.ts +7 -0
  118. package/dist/types/WgpuGpu.d.ts.map +1 -0
  119. package/dist/types/WgpuGpu.js +2 -0
  120. package/dist/types/WgpuGpu.js.map +1 -0
  121. package/dist/types/WgpuHost.d.ts +44 -0
  122. package/dist/types/WgpuHost.d.ts.map +1 -0
  123. package/dist/types/WgpuHost.js +2 -0
  124. package/dist/types/WgpuHost.js.map +1 -0
  125. package/dist/types/WgpuMeshMaterialRenderer.d.ts +11 -0
  126. package/dist/types/WgpuMeshMaterialRenderer.d.ts.map +1 -0
  127. package/dist/types/WgpuMeshMaterialRenderer.js +2 -0
  128. package/dist/types/WgpuMeshMaterialRenderer.js.map +1 -0
  129. package/dist/types/WgpuModifierSnippet.d.ts +16 -0
  130. package/dist/types/WgpuModifierSnippet.d.ts.map +1 -0
  131. package/dist/types/WgpuModifierSnippet.js +2 -0
  132. package/dist/types/WgpuModifierSnippet.js.map +1 -0
  133. package/dist/types/WgpuParticleResources.d.ts +12 -0
  134. package/dist/types/WgpuParticleResources.d.ts.map +1 -0
  135. package/dist/types/WgpuParticleResources.js +2 -0
  136. package/dist/types/WgpuParticleResources.js.map +1 -0
  137. package/dist/types/WgpuPipelineLayout.d.ts +8 -0
  138. package/dist/types/WgpuPipelineLayout.d.ts.map +1 -0
  139. package/dist/types/WgpuPipelineLayout.js +2 -0
  140. package/dist/types/WgpuPipelineLayout.js.map +1 -0
  141. package/dist/types/WgpuQuadBatchResources.d.ts +12 -0
  142. package/dist/types/WgpuQuadBatchResources.d.ts.map +1 -0
  143. package/dist/types/WgpuQuadBatchResources.js +2 -0
  144. package/dist/types/WgpuQuadBatchResources.js.map +1 -0
  145. package/dist/types/WgpuQuadMaterialRenderer.d.ts +9 -0
  146. package/dist/types/WgpuQuadMaterialRenderer.d.ts.map +1 -0
  147. package/dist/types/WgpuQuadMaterialRenderer.js +2 -0
  148. package/dist/types/WgpuQuadMaterialRenderer.js.map +1 -0
  149. package/dist/types/WgpuQueue.d.ts +12 -0
  150. package/dist/types/WgpuQueue.d.ts.map +1 -0
  151. package/dist/types/WgpuQueue.js +2 -0
  152. package/dist/types/WgpuQueue.js.map +1 -0
  153. package/dist/types/WgpuRenderOptions.d.ts +14 -0
  154. package/dist/types/WgpuRenderOptions.d.ts.map +1 -0
  155. package/dist/types/WgpuRenderOptions.js +2 -0
  156. package/dist/types/WgpuRenderOptions.js.map +1 -0
  157. package/dist/types/WgpuRenderPass.d.ts +31 -0
  158. package/dist/types/WgpuRenderPass.d.ts.map +1 -0
  159. package/dist/types/WgpuRenderPass.js +2 -0
  160. package/dist/types/WgpuRenderPass.js.map +1 -0
  161. package/dist/types/WgpuRenderPassEncoder.d.ts +52 -0
  162. package/dist/types/WgpuRenderPassEncoder.d.ts.map +1 -0
  163. package/dist/types/WgpuRenderPassEncoder.js +2 -0
  164. package/dist/types/WgpuRenderPassEncoder.js.map +1 -0
  165. package/dist/types/WgpuRenderPipeline.d.ts +96 -0
  166. package/dist/types/WgpuRenderPipeline.d.ts.map +1 -0
  167. package/dist/types/WgpuRenderPipeline.js +9 -0
  168. package/dist/types/WgpuRenderPipeline.js.map +1 -0
  169. package/dist/types/WgpuRenderState.d.ts +249 -0
  170. package/dist/types/WgpuRenderState.d.ts.map +1 -0
  171. package/dist/types/WgpuRenderState.js +2 -0
  172. package/dist/types/WgpuRenderState.js.map +1 -0
  173. package/dist/types/WgpuRenderStateOptions.d.ts +31 -0
  174. package/dist/types/WgpuRenderStateOptions.d.ts.map +1 -0
  175. package/dist/types/WgpuRenderStateOptions.js +2 -0
  176. package/dist/types/WgpuRenderStateOptions.js.map +1 -0
  177. package/dist/types/WgpuRenderTarget.d.ts +62 -0
  178. package/dist/types/WgpuRenderTarget.d.ts.map +1 -0
  179. package/dist/types/WgpuRenderTarget.js +2 -0
  180. package/dist/types/WgpuRenderTarget.js.map +1 -0
  181. package/dist/types/WgpuRenderTexture.d.ts +25 -0
  182. package/dist/types/WgpuRenderTexture.d.ts.map +1 -0
  183. package/dist/types/WgpuRenderTexture.js +2 -0
  184. package/dist/types/WgpuRenderTexture.js.map +1 -0
  185. package/dist/types/WgpuSampler.d.ts +19 -0
  186. package/dist/types/WgpuSampler.d.ts.map +1 -0
  187. package/dist/types/WgpuSampler.js +2 -0
  188. package/dist/types/WgpuSampler.js.map +1 -0
  189. package/dist/types/WgpuScene3DRuntime.d.ts +6 -0
  190. package/dist/types/WgpuScene3DRuntime.d.ts.map +1 -0
  191. package/dist/types/WgpuScene3DRuntime.js +2 -0
  192. package/dist/types/WgpuScene3DRuntime.js.map +1 -0
  193. package/dist/types/WgpuShaderModule.d.ts +6 -0
  194. package/dist/types/WgpuShaderModule.d.ts.map +1 -0
  195. package/dist/types/WgpuShaderModule.js +2 -0
  196. package/dist/types/WgpuShaderModule.js.map +1 -0
  197. package/dist/types/WgpuShapeMesh.d.ts +7 -0
  198. package/dist/types/WgpuShapeMesh.d.ts.map +1 -0
  199. package/dist/types/WgpuShapeMesh.js +2 -0
  200. package/dist/types/WgpuShapeMesh.js.map +1 -0
  201. package/dist/types/WgpuSkinningAdapter.d.ts +18 -0
  202. package/dist/types/WgpuSkinningAdapter.d.ts.map +1 -0
  203. package/dist/types/WgpuSkinningAdapter.js +2 -0
  204. package/dist/types/WgpuSkinningAdapter.js.map +1 -0
  205. package/dist/types/WgpuSurface.d.ts +5 -0
  206. package/dist/types/WgpuSurface.d.ts.map +1 -0
  207. package/dist/types/WgpuSurface.js +2 -0
  208. package/dist/types/WgpuSurface.js.map +1 -0
  209. package/dist/types/WgpuTexture.d.ts +58 -0
  210. package/dist/types/WgpuTexture.d.ts.map +1 -0
  211. package/dist/types/WgpuTexture.js +9 -0
  212. package/dist/types/WgpuTexture.js.map +1 -0
  213. package/dist/types/WgpuTextureFormat.d.ts +2 -0
  214. package/dist/types/WgpuTextureFormat.d.ts.map +1 -0
  215. package/dist/types/WgpuTextureFormat.js +2 -0
  216. package/dist/types/WgpuTextureFormat.js.map +1 -0
  217. package/dist/types/WgpuTextureResolver.d.ts +4 -0
  218. package/dist/types/WgpuTextureResolver.d.ts.map +1 -0
  219. package/dist/types/WgpuTextureResolver.js +2 -0
  220. package/dist/types/WgpuTextureResolver.js.map +1 -0
  221. package/dist/types/WgpuTextureView.d.ts +16 -0
  222. package/dist/types/WgpuTextureView.d.ts.map +1 -0
  223. package/dist/types/WgpuTextureView.js +2 -0
  224. package/dist/types/WgpuTextureView.js.map +1 -0
  225. package/dist/types/WgpuUniformEndianness.d.ts +7 -0
  226. package/dist/types/WgpuUniformEndianness.d.ts.map +1 -0
  227. package/dist/types/WgpuUniformEndianness.js +2 -0
  228. package/dist/types/WgpuUniformEndianness.js.map +1 -0
  229. package/dist/types/WgpuVelocityWriter.d.ts +11 -0
  230. package/dist/types/WgpuVelocityWriter.d.ts.map +1 -0
  231. package/dist/types/WgpuVelocityWriter.js +2 -0
  232. package/dist/types/WgpuVelocityWriter.js.map +1 -0
  233. package/dist/wgpuAdapterCapabilities.d.ts +2 -2
  234. package/dist/wgpuAdapterCapabilities.d.ts.map +1 -1
  235. package/dist/wgpuAdapterCapabilities.js.map +1 -1
  236. package/dist/wgpuCompressedTexture.d.ts +7 -5
  237. package/dist/wgpuCompressedTexture.d.ts.map +1 -1
  238. package/dist/wgpuCompressedTexture.js +10 -18
  239. package/dist/wgpuCompressedTexture.js.map +1 -1
  240. package/dist/wgpuDeviceLoss.d.ts +2 -2
  241. package/dist/wgpuDeviceLoss.d.ts.map +1 -1
  242. package/dist/wgpuDeviceLoss.js +1 -1
  243. package/dist/wgpuDeviceLoss.js.map +1 -1
  244. package/dist/wgpuDraw.d.ts +11 -5
  245. package/dist/wgpuDraw.d.ts.map +1 -1
  246. package/dist/wgpuDraw.js +21 -20
  247. package/dist/wgpuDraw.js.map +1 -1
  248. package/dist/wgpuExternalImageSource.d.ts +3 -2
  249. package/dist/wgpuExternalImageSource.d.ts.map +1 -1
  250. package/dist/wgpuExternalImageSource.js.map +1 -1
  251. package/dist/wgpuExternalTexture.d.ts +7 -3
  252. package/dist/wgpuExternalTexture.d.ts.map +1 -1
  253. package/dist/wgpuExternalTexture.js +5 -5
  254. package/dist/wgpuExternalTexture.js.map +1 -1
  255. package/dist/wgpuFrame.d.ts +23 -0
  256. package/dist/wgpuFrame.d.ts.map +1 -0
  257. package/dist/{wgpuBackground.js → wgpuFrame.js} +67 -122
  258. package/dist/wgpuFrame.js.map +1 -0
  259. package/dist/wgpuFullscreenPass.d.ts +5 -4
  260. package/dist/wgpuFullscreenPass.d.ts.map +1 -1
  261. package/dist/wgpuFullscreenPass.js +29 -16
  262. package/dist/wgpuFullscreenPass.js.map +1 -1
  263. package/dist/wgpuHost.d.ts +4 -7
  264. package/dist/wgpuHost.d.ts.map +1 -1
  265. package/dist/wgpuHost.js +81 -70
  266. package/dist/wgpuHost.js.map +1 -1
  267. package/dist/wgpuMipmap.d.ts +2 -2
  268. package/dist/wgpuMipmap.d.ts.map +1 -1
  269. package/dist/wgpuMipmap.js +4 -3
  270. package/dist/wgpuMipmap.js.map +1 -1
  271. package/dist/wgpuQuadMaterialRegistry.d.ts +7 -0
  272. package/dist/wgpuQuadMaterialRegistry.d.ts.map +1 -0
  273. package/dist/wgpuQuadMaterialRegistry.js +33 -0
  274. package/dist/wgpuQuadMaterialRegistry.js.map +1 -0
  275. package/dist/wgpuRenderPass.d.ts +9 -0
  276. package/dist/wgpuRenderPass.d.ts.map +1 -0
  277. package/dist/wgpuRenderPass.js +210 -0
  278. package/dist/wgpuRenderPass.js.map +1 -0
  279. package/dist/wgpuRenderState.d.ts +16 -12
  280. package/dist/wgpuRenderState.d.ts.map +1 -1
  281. package/dist/wgpuRenderState.js +104 -149
  282. package/dist/wgpuRenderState.js.map +1 -1
  283. package/dist/wgpuRenderTarget.d.ts +13 -29
  284. package/dist/wgpuRenderTarget.d.ts.map +1 -1
  285. package/dist/wgpuRenderTarget.js +20 -253
  286. package/dist/wgpuRenderTarget.js.map +1 -1
  287. package/dist/wgpuRenderTargetPool.d.ts +8 -6
  288. package/dist/wgpuRenderTargetPool.d.ts.map +1 -1
  289. package/dist/wgpuRenderTargetPool.js +9 -9
  290. package/dist/wgpuRenderTargetPool.js.map +1 -1
  291. package/dist/wgpuRenderTexture.d.ts +7 -4
  292. package/dist/wgpuRenderTexture.d.ts.map +1 -1
  293. package/dist/wgpuRenderTexture.js +15 -17
  294. package/dist/wgpuRenderTexture.js.map +1 -1
  295. package/dist/wgpuRenderTexturePool.d.ts +3 -1
  296. package/dist/wgpuRenderTexturePool.d.ts.map +1 -1
  297. package/dist/wgpuRenderTexturePool.js +5 -7
  298. package/dist/wgpuRenderTexturePool.js.map +1 -1
  299. package/dist/wgpuScissor.d.ts +3 -3
  300. package/dist/wgpuScissor.d.ts.map +1 -1
  301. package/dist/wgpuScissor.js +8 -5
  302. package/dist/wgpuScissor.js.map +1 -1
  303. package/dist/wgpuScreenAntialias.d.ts +3 -0
  304. package/dist/wgpuScreenAntialias.d.ts.map +1 -0
  305. package/dist/wgpuScreenAntialias.js +120 -0
  306. package/dist/wgpuScreenAntialias.js.map +1 -0
  307. package/dist/wgpuScreenCapture.d.ts +6 -0
  308. package/dist/wgpuScreenCapture.d.ts.map +1 -0
  309. package/dist/wgpuScreenCapture.js +138 -0
  310. package/dist/wgpuScreenCapture.js.map +1 -0
  311. package/dist/wgpuScreenRenderTarget.d.ts +11 -0
  312. package/dist/wgpuScreenRenderTarget.d.ts.map +1 -0
  313. package/dist/wgpuScreenRenderTarget.js +121 -0
  314. package/dist/wgpuScreenRenderTarget.js.map +1 -0
  315. package/dist/wgpuShader.d.ts +11 -8
  316. package/dist/wgpuShader.d.ts.map +1 -1
  317. package/dist/wgpuShader.js +11 -10
  318. package/dist/wgpuShader.js.map +1 -1
  319. package/dist/wgpuShaderBinding.d.ts +3 -1
  320. package/dist/wgpuShaderBinding.d.ts.map +1 -1
  321. package/dist/wgpuShaderBinding.js +1 -1
  322. package/dist/wgpuShaderBinding.js.map +1 -1
  323. package/dist/wgpuShaderRegistry.d.ts +1 -1
  324. package/dist/wgpuShaderRegistry.d.ts.map +1 -1
  325. package/dist/wgpuShaderRegistry.js +1 -1
  326. package/dist/wgpuShaderRegistry.js.map +1 -1
  327. package/dist/wgpuTestHelper.d.ts +11 -2
  328. package/dist/wgpuTestHelper.d.ts.map +1 -1
  329. package/dist/wgpuTestHelper.js +50 -38
  330. package/dist/wgpuTestHelper.js.map +1 -1
  331. package/dist/wgpuTextureRenderTarget.d.ts +22 -0
  332. package/dist/wgpuTextureRenderTarget.d.ts.map +1 -0
  333. package/dist/wgpuTextureRenderTarget.js +123 -0
  334. package/dist/wgpuTextureRenderTarget.js.map +1 -0
  335. package/dist/wgpuTextureResolver.d.ts +5 -1
  336. package/dist/wgpuTextureResolver.d.ts.map +1 -1
  337. package/dist/wgpuTextureResolver.js +13 -12
  338. package/dist/wgpuTextureResolver.js.map +1 -1
  339. package/dist/wgpuTextureUpload.d.ts +5 -4
  340. package/dist/wgpuTextureUpload.d.ts.map +1 -1
  341. package/dist/wgpuTextureUpload.js +1 -1
  342. package/dist/wgpuTextureUpload.js.map +1 -1
  343. package/package.json +33 -13
  344. package/src/enableWgpuTextureResolverGuards.test.ts +40 -19
  345. package/src/explainWgpuTextureResolution.test.ts +6 -6
  346. package/src/explainWgpuUniformEndianness.test.ts +11 -0
  347. package/src/types/WgpuBindGroupLayout.test.ts +9 -0
  348. package/src/types/WgpuBuffer.test.ts +26 -0
  349. package/src/types/WgpuGpu.test.ts +56 -0
  350. package/src/types/WgpuRenderPipeline.test.ts +12 -0
  351. package/src/types/WgpuTexture.test.ts +15 -0
  352. package/src/wgpuAdapterCapabilities.test.ts +5 -4
  353. package/src/wgpuCompressedTexture.test.ts +31 -37
  354. package/src/wgpuDeviceLoss.test.ts +31 -24
  355. package/src/wgpuDraw.test.ts +21 -24
  356. package/src/wgpuExternalImageSource.test.ts +12 -11
  357. package/src/wgpuExternalTexture.test.ts +7 -6
  358. package/src/{wgpuBackground.test.ts → wgpuFrame.test.ts} +47 -29
  359. package/src/wgpuFullscreenPass.test.ts +10 -10
  360. package/src/wgpuHost.test.ts +57 -186
  361. package/src/wgpuMipmap.test.ts +15 -9
  362. package/src/wgpuQuadMaterialRegistry.test.ts +132 -0
  363. package/src/wgpuRenderPass.test.ts +239 -0
  364. package/src/wgpuRenderState.test.ts +215 -550
  365. package/src/wgpuRenderTarget.test.ts +44 -220
  366. package/src/wgpuRenderTargetPool.test.ts +23 -23
  367. package/src/wgpuRenderTexture.test.ts +21 -18
  368. package/src/wgpuRenderTexturePool.test.ts +3 -3
  369. package/src/wgpuScissor.test.ts +50 -19
  370. package/src/wgpuScreenAntialias.test.ts +65 -0
  371. package/src/wgpuScreenCapture.test.ts +165 -0
  372. package/src/wgpuScreenRenderTarget.test.ts +172 -0
  373. package/src/wgpuShader.test.ts +12 -11
  374. package/src/wgpuShaderBinding.test.ts +4 -4
  375. package/src/wgpuShaderRegistry.test.ts +4 -5
  376. package/src/wgpuTestHelper.test.ts +8 -7
  377. package/src/wgpuTextureRenderTarget.test.ts +129 -0
  378. package/src/wgpuTextureResolver.test.ts +25 -14
  379. package/src/wgpuTextureUpload.test.ts +15 -10
  380. package/dist/wgpuAntialias.d.ts +0 -14
  381. package/dist/wgpuAntialias.d.ts.map +0 -1
  382. package/dist/wgpuAntialias.js +0 -155
  383. package/dist/wgpuAntialias.js.map +0 -1
  384. package/dist/wgpuBackground.d.ts +0 -20
  385. package/dist/wgpuBackground.d.ts.map +0 -1
  386. package/dist/wgpuBackground.js.map +0 -1
  387. package/dist/wgpuElement.d.ts +0 -7
  388. package/dist/wgpuElement.d.ts.map +0 -1
  389. package/dist/wgpuElement.js +0 -20
  390. package/dist/wgpuElement.js.map +0 -1
  391. package/dist/wgpuMaterialRegistry.d.ts +0 -5
  392. package/dist/wgpuMaterialRegistry.d.ts.map +0 -1
  393. package/dist/wgpuMaterialRegistry.js +0 -32
  394. package/dist/wgpuMaterialRegistry.js.map +0 -1
  395. package/dist/wgpuPipeline.d.ts +0 -6
  396. package/dist/wgpuPipeline.d.ts.map +0 -1
  397. package/dist/wgpuPipeline.js +0 -33
  398. package/dist/wgpuPipeline.js.map +0 -1
  399. package/dist/wgpuSurface.d.ts +0 -6
  400. package/dist/wgpuSurface.d.ts.map +0 -1
  401. package/dist/wgpuSurface.js +0 -155
  402. package/dist/wgpuSurface.js.map +0 -1
  403. package/src/wgpuAntialias.test.ts +0 -239
  404. package/src/wgpuElement.test.ts +0 -145
  405. package/src/wgpuMaterialRegistry.test.ts +0 -100
  406. package/src/wgpuPipeline.test.ts +0 -62
  407. package/src/wgpuSurface.test.ts +0 -141
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuHost.js","sourceRoot":"","sources":["../src/wgpuHost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuHost.js","sourceRoot":"","sources":["../src/wgpuHost.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { WgpuRenderState } from '@flighthq/types/contract';
2
- export declare function generateWgpuMipmaps(state: WgpuRenderState, texture: GPUTexture, width: number, height: number, format: GPUTextureFormat): void;
1
+ import type { WgpuRenderState, WgpuTexture, WgpuTextureFormat } from './contract.render-wgpu-types.ts';
2
+ export declare function generateWgpuMipmaps(state: WgpuRenderState, texture: WgpuTexture, width: number, height: number, format: WgpuTextureFormat): void;
3
3
  export declare function getWgpuMipLevelCount(width: number, height: number): number;
4
4
  export declare function registerWgpuMipmapGeneration(state: WgpuRenderState): void;
5
5
  //# sourceMappingURL=wgpuMipmap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuMipmap.d.ts","sourceRoot":"","sources":["../src/wgpuMipmap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAShE,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,GACvB,IAAI,CA4BN;AAID,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAEzE"}
1
+ {"version":3,"file":"wgpuMipmap.d.ts","sourceRoot":"","sources":["../src/wgpuMipmap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,eAAe,EACf,WAAW,EACX,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AASzC,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,iBAAiB,GACxB,IAAI,CA4BN;AAID,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAEzE"}
@@ -1,4 +1,5 @@
1
- import { getWgpuRenderStateDeviceResources, getWgpuRenderStateRuntime } from './wgpuRenderState';
1
+ import { WgpuShaderStage } from './contract.render-wgpu-types.js';
2
+ import { getWgpuRenderStateDeviceResources, getWgpuRenderStateRuntime } from './wgpuRenderState.js';
2
3
  // Generates the mip chain for an already-uploaded texture by downsampling each level into the next
3
4
  // through a cached fullscreen pipeline. WebGPU has no generateMipmap, so lower levels are rendered:
4
5
  // level i samples level i-1 (a single-level view) with a linear clamp sampler and draws a fullscreen
@@ -54,8 +55,8 @@ function ensureWgpuMipmapPipeline(state, format) {
54
55
  const { device } = state;
55
56
  const bindGroupLayout = device.createBindGroupLayout({
56
57
  entries: [
57
- { binding: 0, visibility: GPUShaderStage.FRAGMENT, texture: { sampleType: 'float' } },
58
- { binding: 1, visibility: GPUShaderStage.FRAGMENT, sampler: { type: 'filtering' } },
58
+ { binding: 0, visibility: WgpuShaderStage.FRAGMENT, texture: { sampleType: 'float' } },
59
+ { binding: 1, visibility: WgpuShaderStage.FRAGMENT, sampler: { type: 'filtering' } },
59
60
  ],
60
61
  });
61
62
  const module = device.createShaderModule({ code: MIPMAP_WGSL });
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuMipmap.js","sourceRoot":"","sources":["../src/wgpuMipmap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuMipmap.js","sourceRoot":"","sources":["../src/wgpuMipmap.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEpG,mGAAmG;AACnG,oGAAoG;AACpG,qGAAqG;AACrG,iGAAiG;AACjG,8FAA8F;AAC9F,MAAM,UAAU,mBAAmB,CACjC,KAAsB,EACtB,OAAoB,EACpB,KAAa,EACb,MAAc,EACd,MAAyB;IAEzB,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,UAAU,IAAI,CAAC;QAAE,OAAO;IAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,SAAS,GAAG,iCAAiC,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAC9C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,KAAK,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9E,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC;YACvC,MAAM;YACN,OAAO,EAAE;gBACP,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACjC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,aAAa,EAAE;aAClD;SACF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC;YACnC,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;SACjH,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,gGAAgG;AAChG,kFAAkF;AAClF,MAAM,UAAU,oBAAoB,CAAC,KAAa,EAAE,MAAc;IAChE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAsB;IACjE,yBAAyB,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,mBAAmB,CAAC;AACzE,CAAC;AAED,oGAAoG;AACpG,uGAAuG;AACvG,mGAAmG;AACnG,8DAA8D;AAC9D,SAAS,wBAAwB,CAC/B,KAAsB,EACtB,MAAyB;IAEzB,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,eAAe,GAAG,MAAM,CAAC,qBAAqB,CAAC;QACnD,OAAO,EAAE;YACP,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;YACtF,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;SACrF;KACF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC;QAC3C,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAAC,EAAE,gBAAgB,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5E,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE;QACzC,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QAClE,SAAS,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE;KACzC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;IAC7C,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,WAAW,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;CAwB9B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Kind } from '@flighthq/entity/contract';
2
+ import type { Material } from '@flighthq/materials/contract';
3
+ import type { WgpuQuadMaterialRenderer, WgpuRenderState } from './contract.render-wgpu-types.ts';
4
+ export declare function getWgpuQuadMaterialRenderer(state: WgpuRenderState, kind: Kind): WgpuQuadMaterialRenderer | null;
5
+ export declare function registerWgpuQuadMaterialRenderer(state: WgpuRenderState, kind: Kind, renderer: WgpuQuadMaterialRenderer): void;
6
+ export declare function resolveWgpuQuadMaterialRenderer(state: WgpuRenderState, material: Material | null): WgpuQuadMaterialRenderer | null;
7
+ //# sourceMappingURL=wgpuQuadMaterialRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wgpuQuadMaterialRegistry.d.ts","sourceRoot":"","sources":["../src/wgpuQuadMaterialRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAK7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGjG,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,GAAG,wBAAwB,GAAG,IAAI,CAG/G;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,wBAAwB,GACjC,IAAI,CAGN;AAMD,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,GAAG,IAAI,GACxB,wBAAwB,GAAG,IAAI,CAcjC"}
@@ -0,0 +1,33 @@
1
+ import { StandardMaterialKind } from '@flighthq/materials/contract';
2
+ import { withKindMapEntry } from '@flighthq/registry/contract';
3
+ import { RenderRegistryTable } from '@flighthq/render/contract';
4
+ import { getWgpuRenderStateRuntime } from './wgpuRenderState.js';
5
+ export function getWgpuQuadMaterialRenderer(state, kind) {
6
+ const entry = getWgpuRenderStateRuntime(state).registries.materialRenderers.get(kind);
7
+ return entry ?? null;
8
+ }
9
+ export function registerWgpuQuadMaterialRenderer(state, kind, renderer) {
10
+ const runtime = getWgpuRenderStateRuntime(state);
11
+ runtime.registries.materialRenderers = withKindMapEntry(runtime.registries.materialRenderers, kind, renderer);
12
+ }
13
+ // Resolves a node's material to its registered renderer: by the material's kind, else the renderer
14
+ // registered for StandardMaterialKind, else null. The render path knows nothing about which materials
15
+ // exist — every material (including the default) enters only through user registration, and an
16
+ // unresolved material is a no-op (the node does not render), never a built-in fallback.
17
+ export function resolveWgpuQuadMaterialRenderer(state, material) {
18
+ const runtime = getWgpuRenderStateRuntime(state);
19
+ const table = runtime.registries.materialRenderers;
20
+ const kind = material?.kind ?? StandardMaterialKind;
21
+ const entry = table.get(kind);
22
+ if (entry != null)
23
+ return entry;
24
+ // The requested kind is absent. StandardMaterialKind still stands in where it is registered, but the
25
+ // miss is reported either way — substituting a different shading family is as much worth knowing as
26
+ // drawing nothing, and the seam records one miss per kind, so neither case repeats.
27
+ runtime.registryMiss?.(RenderRegistryTable.MaterialRenderer, kind);
28
+ if (kind === StandardMaterialKind)
29
+ return null;
30
+ const fallback = table.get(StandardMaterialKind);
31
+ return fallback ?? null;
32
+ }
33
+ //# sourceMappingURL=wgpuQuadMaterialRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wgpuQuadMaterialRegistry.js","sourceRoot":"","sources":["../src/wgpuQuadMaterialRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,UAAU,2BAA2B,CAAC,KAAsB,EAAE,IAAU;IAC5E,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtF,OAAQ,KAA8C,IAAI,IAAI,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,KAAsB,EACtB,IAAU,EACV,QAAkC;IAElC,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,CAAC,UAAU,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAChH,CAAC;AAED,mGAAmG;AACnG,sGAAsG;AACtG,+FAA+F;AAC/F,wFAAwF;AACxF,MAAM,UAAU,+BAA+B,CAC7C,KAAsB,EACtB,QAAyB;IAEzB,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC;IACnD,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,oBAAoB,CAAC;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,KAAiC,CAAC;IAE5D,qGAAqG;IACrG,oGAAoG;IACpG,oFAAoF;IACpF,OAAO,CAAC,YAAY,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACnE,IAAI,IAAI,KAAK,oBAAoB;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACjD,OAAQ,QAAiD,IAAI,IAAI,CAAC;AACpE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { RenderTargetClear } from '@flighthq/render/contract';
2
+ import type { WgpuRenderPass, WgpuRenderPassViewport, WgpuRenderState, WgpuRenderTarget } from './contract.render-wgpu-types.ts';
3
+ export declare function beginWgpuRenderPass(state: WgpuRenderState, target: WgpuRenderTarget, clear?: Readonly<RenderTargetClear>): WgpuRenderPass;
4
+ export declare function endWgpuRenderPass(pass: WgpuRenderPass): void;
5
+ export declare function getWgpuActiveRenderPass(state: WgpuRenderState): WgpuRenderPass | null;
6
+ export declare function getWgpuRenderPassViewport(state: WgpuRenderState): Readonly<WgpuRenderPassViewport>;
7
+ export declare function resumeWgpuRenderPass(pass: WgpuRenderPass): void;
8
+ export declare function suspendWgpuRenderPass(pass: WgpuRenderPass): void;
9
+ //# sourceMappingURL=wgpuRenderPass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wgpuRenderPass.d.ts","sourceRoot":"","sources":["../src/wgpuRenderPass.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,KAAK,EAEV,cAAc,EAEd,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAKjB,MAAM,iCAAiC,CAAC;AAuBzC,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,EACxB,KAAK,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAClC,cAAc,CA+ChB;AAOD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CA8B5D;AAKD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,cAAc,GAAG,IAAI,CAErF;AAMD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,eAAe,GAAG,QAAQ,CAAC,sBAAsB,CAAC,CAIlG;AAID,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAK/D;AAID,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAKhE"}
@@ -0,0 +1,210 @@
1
+ import { allocateEntity } from '@flighthq/entity/contract';
2
+ import { beginWgpuFrame, submitWgpuFrame } from './wgpuFrame.js';
3
+ import { getWgpuRenderStateRuntime } from './wgpuRenderState.js';
4
+ import { getWgpuRenderTargetSupersampleScale } from './wgpuRenderTarget.js';
5
+ import { bindWgpuScreenRenderTarget, isWgpuScreenRenderTarget } from './wgpuScreenRenderTarget.js';
6
+ // Opens a render pass into `target` and returns the handle to draw through. Aspects named in `clear` are
7
+ // overwritten with the given values; omitted aspects are preserved (loadOp 'load'). Color values are
8
+ // linear float RGBA, in the space the target holds.
9
+ //
10
+ // The pass — not the state — is what a draw entry point takes, because "which target is being drawn
11
+ // into" is a property of the pass and of nothing else:
12
+ //
13
+ // const pass = beginWgpuRenderPass(state, screen, { color: [0.1, 0.1, 0.18, 1.0], depth: 1.0 });
14
+ // renderWgpuScene2D(pass, root);
15
+ // endWgpuRenderPass(pass);
16
+ //
17
+ // Passes nest across targets: an offscreen pass opened inside a screen pass suspends it, and ending the
18
+ // inner one resumes the outer with loadOp 'load'. A pass carries no 2D transform — a 2D pass that needs a
19
+ // root device transform passes it to renderWgpuScene2D as an explicit parameter.
20
+ //
21
+ // The handle is pooled: begin claims one, end returns it. Using a handle after its end is a bug, the same
22
+ // contract as every other acquire/release bracket.
23
+ export function beginWgpuRenderPass(state, target, clear) {
24
+ const runtime = getWgpuRenderStateRuntime(state);
25
+ // A WebGPU pass encoder cannot be suspended, only ended; the enclosing pass is re-recorded from its
26
+ // saved attachments when this one ends. The live encoder is read from the runtime rather than from the
27
+ // enclosing handle, because a frame borrower shares the owner's encoder before it shares its stack.
28
+ if (runtime.renderPass !== null) {
29
+ runtime.renderPass.end();
30
+ runtime.renderPass = null;
31
+ }
32
+ const enclosing = runtime.passStack.at(-1);
33
+ if (enclosing !== undefined)
34
+ enclosing.encoder = null;
35
+ const ownsFrame = runtime.commandEncoder === null;
36
+ beginWgpuFrame(state);
37
+ const saved = {
38
+ clipForms: runtime.clipForms,
39
+ colorFormat: runtime.currentColorFormat,
40
+ currentMaskDepth: runtime.currentMaskDepth,
41
+ currentScissorRect: runtime.currentScissorRect,
42
+ maskWriteMode: runtime.maskWriteMode,
43
+ renderTarget: runtime.currentRenderTarget,
44
+ renderTargetViewport: runtime.renderTargetViewport,
45
+ scissorStack: runtime.scissorStack,
46
+ };
47
+ const colorView = bindWgpuRenderPassTarget(state, target);
48
+ const pass = acquireWgpuRenderPassHandle(state, target, colorView, saved, ownsFrame);
49
+ const scale = getWgpuRenderTargetSupersampleScale(target);
50
+ pass.viewport = { height: target.height / scale, width: target.width / scale };
51
+ runtime.passStack.push(pass);
52
+ runtime.currentRenderTarget = target;
53
+ runtime.currentColorFormat = target.format;
54
+ runtime.renderTargetViewport = pass.viewport;
55
+ // A pass owns its logical clip unwind state. Inheriting the enclosing entries would let a nested pass
56
+ // pop clips it never pushed, desynchronizing the logical and hardware stacks once the outer resumes.
57
+ runtime.clipForms = [];
58
+ runtime.currentMaskDepth = 0;
59
+ runtime.maskWriteMode = false;
60
+ runtime.currentScissorRect = null;
61
+ runtime.scissorStack = [];
62
+ pass.encoder = recordWgpuRenderPassEncoder(state, target, colorView, clear);
63
+ runtime.renderPass = pass.encoder;
64
+ return pass;
65
+ }
66
+ // Ends the pass: closes its encoder, restores the enclosing pass state, and resumes the enclosing pass
67
+ // (re-recorded with loadOp 'load') if there is one. When this pass opened the frame, its end also submits
68
+ // it — a caller that opened the frame itself with beginWgpuFrame submits it itself, which is how a
69
+ // multi-pass recipe still costs one submit. Ending a pass twice, or out of order, throws: an unbalanced
70
+ // bracket is a programmer error, and accepting it silently hides a leaked pass.
71
+ export function endWgpuRenderPass(pass) {
72
+ const state = pass.state;
73
+ const runtime = getWgpuRenderStateRuntime(state);
74
+ if (runtime.passStack.at(-1) !== pass) {
75
+ throw new Error('endWgpuRenderPass: this pass is not the innermost open pass');
76
+ }
77
+ runtime.passStack.pop();
78
+ if (pass.encoder !== null) {
79
+ pass.encoder.end();
80
+ pass.encoder = null;
81
+ }
82
+ runtime.renderPass = null;
83
+ const saved = pass.saved;
84
+ runtime.currentRenderTarget = saved.renderTarget;
85
+ runtime.currentColorFormat = saved.colorFormat;
86
+ runtime.renderTargetViewport = saved.renderTargetViewport;
87
+ runtime.clipForms = saved.clipForms;
88
+ runtime.currentMaskDepth = saved.currentMaskDepth;
89
+ runtime.maskWriteMode = saved.maskWriteMode;
90
+ runtime.currentScissorRect = saved.currentScissorRect;
91
+ runtime.scissorStack = saved.scissorStack;
92
+ const enclosing = runtime.passStack.at(-1);
93
+ if (enclosing !== undefined)
94
+ resumeWgpuRenderPass(enclosing);
95
+ const ownsFrame = pass.ownsFrame;
96
+ releaseWgpuRenderPassHandle(pass);
97
+ if (ownsFrame)
98
+ submitWgpuFrame(state);
99
+ }
100
+ // The pass a draw entered through, when a caller holds the state rather than the handle: a registered
101
+ // renderer is dispatched with the state, and the active pass is what tells it where its draw lands.
102
+ // Null outside any pass.
103
+ export function getWgpuActiveRenderPass(state) {
104
+ return getWgpuRenderStateRuntime(state).passStack.at(-1) ?? null;
105
+ }
106
+ // The logical extent of the innermost open pass — the space 2D transforms, projections, and scissor
107
+ // rectangles are expressed in, whether the pass is supersampled or not. Throws outside a pass: a draw
108
+ // with no target bound is API misuse, and inventing a canvas-sized default hides it until the picture
109
+ // comes out the wrong size.
110
+ export function getWgpuRenderPassViewport(state) {
111
+ const viewport = getWgpuRenderStateRuntime(state).renderTargetViewport;
112
+ if (viewport === null)
113
+ throw new Error('No Wgpu render pass is open — call beginWgpuRenderPass first');
114
+ return viewport;
115
+ }
116
+ // Re-records the pass's GPU encoder over the same attachments with loadOp 'load', after a suspend or an
117
+ // inner pass. Pixels already drawn are preserved; a suspended pass is resumed exactly once.
118
+ export function resumeWgpuRenderPass(pass) {
119
+ const runtime = getWgpuRenderStateRuntime(pass.state);
120
+ pass.colorView = bindWgpuRenderPassTarget(pass.state, pass.target);
121
+ pass.encoder = recordWgpuRenderPassEncoder(pass.state, pass.target, pass.colorView, undefined);
122
+ runtime.renderPass = pass.encoder;
123
+ }
124
+ // Ends the pass's GPU encoder while leaving the pass open, so a caller can record its own render passes
125
+ // into the same frame (the effect pipeline's fullscreen passes). Pair with resumeWgpuRenderPass.
126
+ export function suspendWgpuRenderPass(pass) {
127
+ if (pass.encoder === null)
128
+ return;
129
+ pass.encoder.end();
130
+ pass.encoder = null;
131
+ getWgpuRenderStateRuntime(pass.state).renderPass = null;
132
+ }
133
+ function acquireWgpuRenderPassHandle(state, target, colorView, saved, ownsFrame) {
134
+ const pooled = _passPool.pop();
135
+ if (pooled !== undefined) {
136
+ pooled.colorView = colorView;
137
+ pooled.encoder = null;
138
+ pooled.ownsFrame = ownsFrame;
139
+ pooled.saved = saved;
140
+ pooled.state = state;
141
+ pooled.target = target;
142
+ return pooled;
143
+ }
144
+ const out = allocateEntity();
145
+ out.colorView = colorView;
146
+ out.encoder = null;
147
+ out.ownsFrame = ownsFrame;
148
+ out.saved = saved;
149
+ out.state = state;
150
+ out.target = target;
151
+ out.viewport = { height: 0, width: 0 };
152
+ return out;
153
+ }
154
+ // Resolves the color view to attach: the swap-chain (or supersample) view for a screen target, the
155
+ // target's own view for a texture target. Screen storage is sized to its surface here, which is why a
156
+ // caller never announces a canvas resize.
157
+ function bindWgpuRenderPassTarget(state, target) {
158
+ if (isWgpuScreenRenderTarget(target)) {
159
+ const view = bindWgpuScreenRenderTarget(state, target);
160
+ getWgpuRenderStateRuntime(state).frameScreenTarget = target;
161
+ return view;
162
+ }
163
+ return target.view;
164
+ }
165
+ function recordWgpuRenderPassEncoder(state, target, colorView, clear) {
166
+ const runtime = getWgpuRenderStateRuntime(state);
167
+ const hasColor = clear !== undefined && (clear.color !== undefined || clear.colors !== undefined);
168
+ const encoder = runtime.commandEncoder.beginRenderPass({
169
+ colorAttachments: [
170
+ {
171
+ view: colorView,
172
+ clearValue: resolveWgpuClearColor(clear),
173
+ loadOp: hasColor ? 'clear' : 'load',
174
+ storeOp: 'store',
175
+ },
176
+ ],
177
+ depthStencilAttachment: {
178
+ view: target.depthStencilView,
179
+ depthClearValue: clear?.depth ?? 1.0,
180
+ depthLoadOp: clear?.depth !== undefined ? 'clear' : 'load',
181
+ depthStoreOp: 'discard',
182
+ stencilClearValue: clear?.stencil ?? 0,
183
+ stencilLoadOp: 'clear',
184
+ stencilStoreOp: 'discard',
185
+ },
186
+ });
187
+ encoder.setViewport(0, 0, target.width, target.height, 0, 1);
188
+ return encoder;
189
+ }
190
+ // A released handle keeps its state/target references until the next acquire overwrites them: they are
191
+ // plain references to objects the caller still owns, and nulling them would cost the non-null field types
192
+ // that make a live handle safe to read.
193
+ function releaseWgpuRenderPassHandle(pass) {
194
+ pass.encoder = null;
195
+ _passPool.push(pass);
196
+ }
197
+ // One color value broadcasts to every attachment; `colors` selects per attachment. WebGPU takes the
198
+ // clear through the attachment's load operation, so only attachment 0 is expressible today — the
199
+ // broadcast and the first per-attachment entry resolve to the same thing here.
200
+ function resolveWgpuClearColor(clear) {
201
+ const rgba = clear?.colors?.[0] ?? clear?.color;
202
+ if (rgba === undefined)
203
+ return { r: 0, g: 0, b: 0, a: 0 };
204
+ return { r: rgba[0], g: rgba[1], b: rgba[2], a: rgba[3] };
205
+ }
206
+ // Pass handles are per-frame scaffolding, so a render loop must not allocate one per frame. The pool is
207
+ // module-scoped rather than per-state: a handle carries no device resource, only references cleared on
208
+ // release, so two states on one thread can share the free list.
209
+ const _passPool = [];
210
+ //# sourceMappingURL=wgpuRenderPass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wgpuRenderPass.js","sourceRoot":"","sources":["../src/wgpuRenderPass.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
- import type { EntityConstruction, TextureWrap, WgpuColorAdjustmentMaterialFeature, WgpuColorAdjustmentMaterialFeatureGuard, WgpuDeviceRuntime, WgpuDeviceRuntimeResources, WgpuDeviceState, WgpuHostAcquisition, WgpuHostAcquisitionOptions, WgpuOffscreenRenderStateResult, WgpuPipeline, WgpuPresentationRenderState, WgpuRenderOptions, WgpuRenderState, WgpuRenderStateRuntime } from '@flighthq/types/contract';
2
- export declare function createWgpuAcquisitionFromCanvasElement(canvas: HTMLCanvasElement, options?: Readonly<WgpuHostAcquisitionOptions>): Promise<WgpuHostAcquisition | null>;
3
- export declare function createWgpuDeviceState(device: GPUDevice): WgpuDeviceState;
1
+ import type { EntityConstruction } from '@flighthq/entity/contract';
2
+ import type { Surface } from '@flighthq/surface/contract';
3
+ import type { TextureWrap } from '@flighthq/texture/contract';
4
+ import type { WgpuColorAdjustmentMaterialFeature, WgpuColorAdjustmentMaterialFeatureGuard, WgpuDevice, WgpuDeviceLostInfo, WgpuFilterMode, WgpuMipmapFilterMode, WgpuSampler } from './contract.render-wgpu-types.ts';
5
+ import type { HostWgpuCapability, WgpuDeviceRuntime, WgpuDeviceRuntimeResources, WgpuDeviceState, WgpuHostAcquisition, WgpuHostAcquisitionOptions, WgpuOffscreenRenderStateResult, WgpuRenderRegistries, WgpuRenderState, WgpuRenderStateOptions, WgpuRenderStateRuntime } from './contract.render-wgpu-types.ts';
6
+ export declare function buildWgpuRenderRegistries(options: Readonly<WgpuRenderStateOptions>): WgpuRenderRegistries;
7
+ export declare function createWgpuAcquisition(hostWgpu: Readonly<HostWgpuCapability>, surface: Surface, options?: Readonly<WgpuHostAcquisitionOptions>): Promise<WgpuHostAcquisition | null>;
8
+ export declare function createWgpuDeviceState(device: WgpuDevice): WgpuDeviceState;
4
9
  /**
5
10
  * Creates a device-only render state with its own frame-local resources.
6
11
  *
@@ -9,28 +14,27 @@ export declare function createWgpuDeviceState(device: GPUDevice): WgpuDeviceStat
9
14
  * texture realizations share a device tier. Registrations are a creation-time snapshot.
10
15
  */
11
16
  export declare function createWgpuOffscreenRenderState(source: WgpuRenderState): WgpuOffscreenRenderStateResult;
12
- export declare function createWgpuOffscreenRenderState(deviceState: Readonly<WgpuDeviceState>, pipeline: Readonly<WgpuPipeline>, options?: Readonly<WgpuRenderOptions>): WgpuRenderState;
13
- export declare function createWgpuRenderState(acquisition: Readonly<WgpuHostAcquisition>, pipeline: Readonly<WgpuPipeline>, options?: Readonly<WgpuRenderOptions>): WgpuPresentationRenderState;
14
- export declare function createWgpuRenderStateFromCanvasElement(canvas: HTMLCanvasElement, pipeline: Readonly<WgpuPipeline>, options?: Readonly<WgpuRenderOptions & WgpuHostAcquisitionOptions>): Promise<WgpuPresentationRenderState>;
15
- export declare function createWgpuRenderStateRuntime(deviceStateOrRuntime: Readonly<WgpuDeviceState> | WgpuRenderStateRuntime, pipeline?: Readonly<WgpuPipeline>): WgpuRenderStateRuntime;
17
+ export declare function createWgpuOffscreenRenderState(deviceState: Readonly<WgpuDeviceState>, options?: Readonly<WgpuRenderStateOptions>): WgpuRenderState;
18
+ export declare function createWgpuRenderState(device: WgpuDevice, options?: Readonly<WgpuRenderStateOptions>): WgpuRenderState;
19
+ export declare function createWgpuRenderStateRuntime(deviceStateOrRuntime: Readonly<WgpuDeviceState> | WgpuRenderStateRuntime, options?: Readonly<WgpuRenderStateOptions>): WgpuRenderStateRuntime;
16
20
  export declare function destroyWgpuRenderState(state: WgpuRenderState): void;
17
21
  export declare function getWgpuColorAdjustmentMaterialFeature(state: WgpuRenderState): Readonly<WgpuColorAdjustmentMaterialFeature> | null;
18
22
  export declare function getWgpuColorAdjustmentMaterialFeatureGuard(state: WgpuRenderState): WgpuColorAdjustmentMaterialFeatureGuard | null;
19
23
  export declare function getWgpuDeviceRuntime(deviceState: Readonly<WgpuDeviceState>): WgpuDeviceRuntime;
20
24
  export declare function getWgpuRenderStateDeviceResources(state: WgpuRenderState): WgpuDeviceRuntimeResources;
21
25
  export declare function getWgpuRenderStateRuntime(state: WgpuRenderState): WgpuRenderStateRuntime;
22
- export declare function getWgpuSampler(state: WgpuRenderState, minFilter: GPUFilterMode, magFilter: GPUFilterMode, wrapU: TextureWrap, wrapV: TextureWrap, mipmapFilter?: GPUMipmapFilterMode, maxAnisotropy?: number): GPUSampler;
26
+ export declare function getWgpuSampler(state: WgpuRenderState, minFilter: WgpuFilterMode, magFilter: WgpuFilterMode, wrapU: TextureWrap, wrapV: TextureWrap, mipmapFilter?: WgpuMipmapFilterMode, maxAnisotropy?: number): WgpuSampler;
23
27
  export declare function initializeWgpuDeviceState(out: EntityConstruction<WgpuDeviceState>, device: WgpuDeviceState['device']): void;
24
28
  export declare function initializeWgpuHostAcquisition(out: EntityConstruction<WgpuHostAcquisition>, acquired: Partial<WgpuHostAcquisition>, ownership: WgpuHostAcquisition['ownership']): void;
25
29
  export declare function initializeWgpuOffscreenRenderStateDeviceLostResult(out: EntityConstruction<Extract<WgpuOffscreenRenderStateResult, {
26
30
  reason: 'device-lost';
27
- }>>, info: GPUDeviceLostInfo): void;
31
+ }>>, info: WgpuDeviceLostInfo): void;
28
32
  export declare function initializeWgpuOffscreenRenderStateOkResult(out: EntityConstruction<Extract<WgpuOffscreenRenderStateResult, {
29
33
  reason: 'ok';
30
34
  }>>, state: WgpuRenderState): void;
31
- export declare function isWgpuSupported(): boolean;
32
- export declare function registerWgpuDeviceTeardown(state: WgpuRenderState, teardown: (device: GPUDevice) => void): void;
35
+ export declare function isWgpuSupported(hostWgpu: Readonly<HostWgpuCapability>): boolean;
36
+ export declare function registerWgpuDeviceTeardown(state: WgpuRenderState, teardown: (device: WgpuDevice) => void): void;
33
37
  export declare function registerWgpuRenderStateTeardown(state: WgpuRenderState, teardown: (state: WgpuRenderState) => void): void;
34
- export declare function releaseWgpuAcquisition(acquisition: Readonly<WgpuHostAcquisition>): void;
38
+ export declare function releaseWgpuAcquisition(hostWgpu: Readonly<HostWgpuCapability>, acquisition: Readonly<WgpuHostAcquisition>): void;
35
39
  export declare function resolveWgpuApplyBlendMode(state: WgpuRenderState): WgpuRenderState['applyBlendMode'];
36
40
  //# sourceMappingURL=wgpuRenderState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuRenderState.d.ts","sourceRoot":"","sources":["../src/wgpuRenderState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuRenderState.d.ts","sourceRoot":"","sources":["../src/wgpuRenderState.ts"],"names":[],"mappings":"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"}