@flighthq/render-wgpu 0.5.1-next.973.788d3d7 → 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.
- package/README.md +2 -2
- package/dist/.tsbuildinfo.compressed-texture-decoder-contract +1 -0
- package/dist/.tsbuildinfo.contract +1 -0
- package/dist/.tsbuildinfo.runtime +1 -0
- package/dist/compressed-texture-decoder-contract/WgpuCompressedTextureDecoder.d.ts +3 -0
- package/dist/compressed-texture-decoder-contract/WgpuCompressedTextureDecoder.d.ts.map +1 -0
- package/dist/compressed-texture-decoder-contract/WgpuCompressedTextureDecoder.js +2 -0
- package/dist/compressed-texture-decoder-contract/WgpuCompressedTextureDecoder.js.map +1 -0
- package/dist/compressed-texture-decoder-contract/compressedTextureDecoderContract.d.ts +2 -0
- package/dist/compressed-texture-decoder-contract/compressedTextureDecoderContract.d.ts.map +1 -0
- package/dist/compressed-texture-decoder-contract/compressedTextureDecoderContract.js +2 -0
- package/dist/compressed-texture-decoder-contract/compressedTextureDecoderContract.js.map +1 -0
- package/dist/contract.d.ts +32 -34
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +32 -34
- package/dist/contract.js.map +1 -1
- package/dist/contract.render-wgpu-types.d.ts +55 -0
- package/dist/contract.render-wgpu-types.d.ts.map +1 -0
- package/dist/contract.render-wgpu-types.js +5 -0
- package/dist/contract.render-wgpu-types.js.map +1 -0
- package/dist/enableWgpuTextureResolverGuards.d.ts +3 -2
- package/dist/enableWgpuTextureResolverGuards.d.ts.map +1 -1
- package/dist/enableWgpuTextureResolverGuards.js +12 -9
- package/dist/enableWgpuTextureResolverGuards.js.map +1 -1
- package/dist/explainWgpuTextureResolution.d.ts +2 -1
- package/dist/explainWgpuTextureResolution.d.ts.map +1 -1
- package/dist/explainWgpuTextureResolution.js +2 -5
- package/dist/explainWgpuTextureResolution.js.map +1 -1
- package/dist/explainWgpuUniformEndianness.d.ts +3 -0
- package/dist/explainWgpuUniformEndianness.d.ts.map +1 -0
- package/dist/explainWgpuUniformEndianness.js +25 -0
- package/dist/explainWgpuUniformEndianness.js.map +1 -0
- package/dist/index.d.ts +20 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -1
- package/dist/index.js.map +1 -1
- package/dist/types/Host.d.ts +5 -0
- package/dist/types/Host.d.ts.map +1 -0
- package/dist/types/Host.js +2 -0
- package/dist/types/Host.js.map +1 -0
- package/dist/types/WgpuAdapter.d.ts +14 -0
- package/dist/types/WgpuAdapter.d.ts.map +1 -0
- package/dist/types/WgpuAdapter.js +2 -0
- package/dist/types/WgpuAdapter.js.map +1 -0
- package/dist/types/WgpuAdapterCapabilities.d.ts +7 -0
- package/dist/types/WgpuAdapterCapabilities.d.ts.map +1 -0
- package/dist/types/WgpuAdapterCapabilities.js +2 -0
- package/dist/types/WgpuAdapterCapabilities.js.map +1 -0
- package/dist/types/WgpuBindGroup.d.ts +23 -0
- package/dist/types/WgpuBindGroup.d.ts.map +1 -0
- package/dist/types/WgpuBindGroup.js +2 -0
- package/dist/types/WgpuBindGroup.js.map +1 -0
- package/dist/types/WgpuBindGroupLayout.d.ts +45 -0
- package/dist/types/WgpuBindGroupLayout.d.ts.map +1 -0
- package/dist/types/WgpuBindGroupLayout.js +7 -0
- package/dist/types/WgpuBindGroupLayout.js.map +1 -0
- package/dist/types/WgpuBuffer.d.ts +34 -0
- package/dist/types/WgpuBuffer.d.ts.map +1 -0
- package/dist/types/WgpuBuffer.js +19 -0
- package/dist/types/WgpuBuffer.js.map +1 -0
- package/dist/types/WgpuCanvasContext.d.ts +17 -0
- package/dist/types/WgpuCanvasContext.d.ts.map +1 -0
- package/dist/types/WgpuCanvasContext.js +2 -0
- package/dist/types/WgpuCanvasContext.js.map +1 -0
- package/dist/types/WgpuColorAdjustmentMaterialFeature.d.ts +14 -0
- package/dist/types/WgpuColorAdjustmentMaterialFeature.d.ts.map +1 -0
- package/dist/types/WgpuColorAdjustmentMaterialFeature.js +2 -0
- package/dist/types/WgpuColorAdjustmentMaterialFeature.js.map +1 -0
- package/dist/types/WgpuCommandBuffer.d.ts +5 -0
- package/dist/types/WgpuCommandBuffer.d.ts.map +1 -0
- package/dist/types/WgpuCommandBuffer.js +2 -0
- package/dist/types/WgpuCommandBuffer.js.map +1 -0
- package/dist/types/WgpuCommandEncoder.d.ts +12 -0
- package/dist/types/WgpuCommandEncoder.d.ts.map +1 -0
- package/dist/types/WgpuCommandEncoder.js +2 -0
- package/dist/types/WgpuCommandEncoder.js.map +1 -0
- package/dist/types/WgpuCompressedTextureSupport.d.ts +6 -0
- package/dist/types/WgpuCompressedTextureSupport.d.ts.map +1 -0
- package/dist/types/WgpuCompressedTextureSupport.js +2 -0
- package/dist/types/WgpuCompressedTextureSupport.js.map +1 -0
- package/dist/types/WgpuCompressedTextureUploader.d.ts +6 -0
- package/dist/types/WgpuCompressedTextureUploader.d.ts.map +1 -0
- package/dist/types/WgpuCompressedTextureUploader.js +2 -0
- package/dist/types/WgpuCompressedTextureUploader.js.map +1 -0
- package/dist/types/WgpuCustomMaterialShaderSource.d.ts +2 -0
- package/dist/types/WgpuCustomMaterialShaderSource.d.ts.map +1 -0
- package/dist/types/WgpuCustomMaterialShaderSource.js +2 -0
- package/dist/types/WgpuCustomMaterialShaderSource.js.map +1 -0
- package/dist/types/WgpuDevice.d.ts +76 -0
- package/dist/types/WgpuDevice.d.ts.map +1 -0
- package/dist/types/WgpuDevice.js +2 -0
- package/dist/types/WgpuDevice.js.map +1 -0
- package/dist/types/WgpuDeviceRuntime.d.ts +53 -0
- package/dist/types/WgpuDeviceRuntime.d.ts.map +1 -0
- package/dist/types/WgpuDeviceRuntime.js +2 -0
- package/dist/types/WgpuDeviceRuntime.js.map +1 -0
- package/dist/types/WgpuDeviceSignals.d.ts +6 -0
- package/dist/types/WgpuDeviceSignals.d.ts.map +1 -0
- package/dist/types/WgpuDeviceSignals.js +2 -0
- package/dist/types/WgpuDeviceSignals.js.map +1 -0
- package/dist/types/WgpuDeviceState.d.ts +7 -0
- package/dist/types/WgpuDeviceState.d.ts.map +1 -0
- package/dist/types/WgpuDeviceState.js +2 -0
- package/dist/types/WgpuDeviceState.js.map +1 -0
- package/dist/types/WgpuEffectState.d.ts +19 -0
- package/dist/types/WgpuEffectState.d.ts.map +1 -0
- package/dist/types/WgpuEffectState.js +2 -0
- package/dist/types/WgpuEffectState.js.map +1 -0
- package/dist/types/WgpuExternalImageSource.d.ts +18 -0
- package/dist/types/WgpuExternalImageSource.d.ts.map +1 -0
- package/dist/types/WgpuExternalImageSource.js +2 -0
- package/dist/types/WgpuExternalImageSource.js.map +1 -0
- package/dist/types/WgpuFullscreenPipeline.d.ts +14 -0
- package/dist/types/WgpuFullscreenPipeline.d.ts.map +1 -0
- package/dist/types/WgpuFullscreenPipeline.js +2 -0
- package/dist/types/WgpuFullscreenPipeline.js.map +1 -0
- package/dist/types/WgpuGpu.d.ts +7 -0
- package/dist/types/WgpuGpu.d.ts.map +1 -0
- package/dist/types/WgpuGpu.js +2 -0
- package/dist/types/WgpuGpu.js.map +1 -0
- package/dist/types/WgpuHost.d.ts +44 -0
- package/dist/types/WgpuHost.d.ts.map +1 -0
- package/dist/types/WgpuHost.js +2 -0
- package/dist/types/WgpuHost.js.map +1 -0
- package/dist/types/WgpuMeshMaterialRenderer.d.ts +11 -0
- package/dist/types/WgpuMeshMaterialRenderer.d.ts.map +1 -0
- package/dist/types/WgpuMeshMaterialRenderer.js +2 -0
- package/dist/types/WgpuMeshMaterialRenderer.js.map +1 -0
- package/dist/types/WgpuModifierSnippet.d.ts +16 -0
- package/dist/types/WgpuModifierSnippet.d.ts.map +1 -0
- package/dist/types/WgpuModifierSnippet.js +2 -0
- package/dist/types/WgpuModifierSnippet.js.map +1 -0
- package/dist/types/WgpuParticleResources.d.ts +12 -0
- package/dist/types/WgpuParticleResources.d.ts.map +1 -0
- package/dist/types/WgpuParticleResources.js +2 -0
- package/dist/types/WgpuParticleResources.js.map +1 -0
- package/dist/types/WgpuPipelineLayout.d.ts +8 -0
- package/dist/types/WgpuPipelineLayout.d.ts.map +1 -0
- package/dist/types/WgpuPipelineLayout.js +2 -0
- package/dist/types/WgpuPipelineLayout.js.map +1 -0
- package/dist/types/WgpuQuadBatchResources.d.ts +12 -0
- package/dist/types/WgpuQuadBatchResources.d.ts.map +1 -0
- package/dist/types/WgpuQuadBatchResources.js +2 -0
- package/dist/types/WgpuQuadBatchResources.js.map +1 -0
- package/dist/types/WgpuQuadMaterialRenderer.d.ts +9 -0
- package/dist/types/WgpuQuadMaterialRenderer.d.ts.map +1 -0
- package/dist/types/WgpuQuadMaterialRenderer.js +2 -0
- package/dist/types/WgpuQuadMaterialRenderer.js.map +1 -0
- package/dist/types/WgpuQueue.d.ts +12 -0
- package/dist/types/WgpuQueue.d.ts.map +1 -0
- package/dist/types/WgpuQueue.js +2 -0
- package/dist/types/WgpuQueue.js.map +1 -0
- package/dist/types/WgpuRenderOptions.d.ts +14 -0
- package/dist/types/WgpuRenderOptions.d.ts.map +1 -0
- package/dist/types/WgpuRenderOptions.js +2 -0
- package/dist/types/WgpuRenderOptions.js.map +1 -0
- package/dist/types/WgpuRenderPass.d.ts +31 -0
- package/dist/types/WgpuRenderPass.d.ts.map +1 -0
- package/dist/types/WgpuRenderPass.js +2 -0
- package/dist/types/WgpuRenderPass.js.map +1 -0
- package/dist/types/WgpuRenderPassEncoder.d.ts +52 -0
- package/dist/types/WgpuRenderPassEncoder.d.ts.map +1 -0
- package/dist/types/WgpuRenderPassEncoder.js +2 -0
- package/dist/types/WgpuRenderPassEncoder.js.map +1 -0
- package/dist/types/WgpuRenderPipeline.d.ts +96 -0
- package/dist/types/WgpuRenderPipeline.d.ts.map +1 -0
- package/dist/types/WgpuRenderPipeline.js +9 -0
- package/dist/types/WgpuRenderPipeline.js.map +1 -0
- package/dist/types/WgpuRenderState.d.ts +249 -0
- package/dist/types/WgpuRenderState.d.ts.map +1 -0
- package/dist/types/WgpuRenderState.js +2 -0
- package/dist/types/WgpuRenderState.js.map +1 -0
- package/dist/types/WgpuRenderStateOptions.d.ts +31 -0
- package/dist/types/WgpuRenderStateOptions.d.ts.map +1 -0
- package/dist/types/WgpuRenderStateOptions.js +2 -0
- package/dist/types/WgpuRenderStateOptions.js.map +1 -0
- package/dist/types/WgpuRenderTarget.d.ts +62 -0
- package/dist/types/WgpuRenderTarget.d.ts.map +1 -0
- package/dist/types/WgpuRenderTarget.js +2 -0
- package/dist/types/WgpuRenderTarget.js.map +1 -0
- package/dist/types/WgpuRenderTexture.d.ts +25 -0
- package/dist/types/WgpuRenderTexture.d.ts.map +1 -0
- package/dist/types/WgpuRenderTexture.js +2 -0
- package/dist/types/WgpuRenderTexture.js.map +1 -0
- package/dist/types/WgpuSampler.d.ts +19 -0
- package/dist/types/WgpuSampler.d.ts.map +1 -0
- package/dist/types/WgpuSampler.js +2 -0
- package/dist/types/WgpuSampler.js.map +1 -0
- package/dist/types/WgpuScene3DRuntime.d.ts +6 -0
- package/dist/types/WgpuScene3DRuntime.d.ts.map +1 -0
- package/dist/types/WgpuScene3DRuntime.js +2 -0
- package/dist/types/WgpuScene3DRuntime.js.map +1 -0
- package/dist/types/WgpuShaderModule.d.ts +6 -0
- package/dist/types/WgpuShaderModule.d.ts.map +1 -0
- package/dist/types/WgpuShaderModule.js +2 -0
- package/dist/types/WgpuShaderModule.js.map +1 -0
- package/dist/types/WgpuShapeMesh.d.ts +7 -0
- package/dist/types/WgpuShapeMesh.d.ts.map +1 -0
- package/dist/types/WgpuShapeMesh.js +2 -0
- package/dist/types/WgpuShapeMesh.js.map +1 -0
- package/dist/types/WgpuSkinningAdapter.d.ts +18 -0
- package/dist/types/WgpuSkinningAdapter.d.ts.map +1 -0
- package/dist/types/WgpuSkinningAdapter.js +2 -0
- package/dist/types/WgpuSkinningAdapter.js.map +1 -0
- package/dist/types/WgpuSurface.d.ts +5 -0
- package/dist/types/WgpuSurface.d.ts.map +1 -0
- package/dist/types/WgpuSurface.js +2 -0
- package/dist/types/WgpuSurface.js.map +1 -0
- package/dist/types/WgpuTexture.d.ts +58 -0
- package/dist/types/WgpuTexture.d.ts.map +1 -0
- package/dist/types/WgpuTexture.js +9 -0
- package/dist/types/WgpuTexture.js.map +1 -0
- package/dist/types/WgpuTextureFormat.d.ts +2 -0
- package/dist/types/WgpuTextureFormat.d.ts.map +1 -0
- package/dist/types/WgpuTextureFormat.js +2 -0
- package/dist/types/WgpuTextureFormat.js.map +1 -0
- package/dist/types/WgpuTextureResolver.d.ts +4 -0
- package/dist/types/WgpuTextureResolver.d.ts.map +1 -0
- package/dist/types/WgpuTextureResolver.js +2 -0
- package/dist/types/WgpuTextureResolver.js.map +1 -0
- package/dist/types/WgpuTextureView.d.ts +16 -0
- package/dist/types/WgpuTextureView.d.ts.map +1 -0
- package/dist/types/WgpuTextureView.js +2 -0
- package/dist/types/WgpuTextureView.js.map +1 -0
- package/dist/types/WgpuUniformEndianness.d.ts +7 -0
- package/dist/types/WgpuUniformEndianness.d.ts.map +1 -0
- package/dist/types/WgpuUniformEndianness.js +2 -0
- package/dist/types/WgpuUniformEndianness.js.map +1 -0
- package/dist/types/WgpuVelocityWriter.d.ts +11 -0
- package/dist/types/WgpuVelocityWriter.d.ts.map +1 -0
- package/dist/types/WgpuVelocityWriter.js +2 -0
- package/dist/types/WgpuVelocityWriter.js.map +1 -0
- package/dist/wgpuAdapterCapabilities.d.ts +2 -2
- package/dist/wgpuAdapterCapabilities.d.ts.map +1 -1
- package/dist/wgpuAdapterCapabilities.js.map +1 -1
- package/dist/wgpuCompressedTexture.d.ts +7 -5
- package/dist/wgpuCompressedTexture.d.ts.map +1 -1
- package/dist/wgpuCompressedTexture.js +10 -18
- package/dist/wgpuCompressedTexture.js.map +1 -1
- package/dist/wgpuDeviceLoss.d.ts +2 -2
- package/dist/wgpuDeviceLoss.d.ts.map +1 -1
- package/dist/wgpuDeviceLoss.js +1 -1
- package/dist/wgpuDeviceLoss.js.map +1 -1
- package/dist/wgpuDraw.d.ts +11 -5
- package/dist/wgpuDraw.d.ts.map +1 -1
- package/dist/wgpuDraw.js +21 -20
- package/dist/wgpuDraw.js.map +1 -1
- package/dist/wgpuExternalImageSource.d.ts +3 -2
- package/dist/wgpuExternalImageSource.d.ts.map +1 -1
- package/dist/wgpuExternalImageSource.js.map +1 -1
- package/dist/wgpuExternalTexture.d.ts +7 -3
- package/dist/wgpuExternalTexture.d.ts.map +1 -1
- package/dist/wgpuExternalTexture.js +5 -5
- package/dist/wgpuExternalTexture.js.map +1 -1
- package/dist/wgpuFrame.d.ts +23 -0
- package/dist/wgpuFrame.d.ts.map +1 -0
- package/dist/{wgpuBackground.js → wgpuFrame.js} +67 -122
- package/dist/wgpuFrame.js.map +1 -0
- package/dist/wgpuFullscreenPass.d.ts +5 -4
- package/dist/wgpuFullscreenPass.d.ts.map +1 -1
- package/dist/wgpuFullscreenPass.js +22 -8
- package/dist/wgpuFullscreenPass.js.map +1 -1
- package/dist/wgpuHost.d.ts +4 -7
- package/dist/wgpuHost.d.ts.map +1 -1
- package/dist/wgpuHost.js +81 -70
- package/dist/wgpuHost.js.map +1 -1
- package/dist/wgpuMipmap.d.ts +2 -2
- package/dist/wgpuMipmap.d.ts.map +1 -1
- package/dist/wgpuMipmap.js +4 -3
- package/dist/wgpuMipmap.js.map +1 -1
- package/dist/wgpuQuadMaterialRegistry.d.ts +7 -0
- package/dist/wgpuQuadMaterialRegistry.d.ts.map +1 -0
- package/dist/wgpuQuadMaterialRegistry.js +33 -0
- package/dist/wgpuQuadMaterialRegistry.js.map +1 -0
- package/dist/wgpuRenderPass.d.ts +9 -0
- package/dist/wgpuRenderPass.d.ts.map +1 -0
- package/dist/wgpuRenderPass.js +210 -0
- package/dist/wgpuRenderPass.js.map +1 -0
- package/dist/wgpuRenderState.d.ts +16 -12
- package/dist/wgpuRenderState.d.ts.map +1 -1
- package/dist/wgpuRenderState.js +104 -149
- package/dist/wgpuRenderState.js.map +1 -1
- package/dist/wgpuRenderTarget.d.ts +13 -29
- package/dist/wgpuRenderTarget.d.ts.map +1 -1
- package/dist/wgpuRenderTarget.js +20 -253
- package/dist/wgpuRenderTarget.js.map +1 -1
- package/dist/wgpuRenderTargetPool.d.ts +8 -6
- package/dist/wgpuRenderTargetPool.d.ts.map +1 -1
- package/dist/wgpuRenderTargetPool.js +9 -9
- package/dist/wgpuRenderTargetPool.js.map +1 -1
- package/dist/wgpuRenderTexture.d.ts +7 -4
- package/dist/wgpuRenderTexture.d.ts.map +1 -1
- package/dist/wgpuRenderTexture.js +15 -17
- package/dist/wgpuRenderTexture.js.map +1 -1
- package/dist/wgpuRenderTexturePool.d.ts +3 -1
- package/dist/wgpuRenderTexturePool.d.ts.map +1 -1
- package/dist/wgpuRenderTexturePool.js +5 -7
- package/dist/wgpuRenderTexturePool.js.map +1 -1
- package/dist/wgpuScissor.d.ts +3 -3
- package/dist/wgpuScissor.d.ts.map +1 -1
- package/dist/wgpuScissor.js +8 -5
- package/dist/wgpuScissor.js.map +1 -1
- package/dist/wgpuScreenAntialias.d.ts +3 -0
- package/dist/wgpuScreenAntialias.d.ts.map +1 -0
- package/dist/wgpuScreenAntialias.js +120 -0
- package/dist/wgpuScreenAntialias.js.map +1 -0
- package/dist/wgpuScreenCapture.d.ts +6 -0
- package/dist/wgpuScreenCapture.d.ts.map +1 -0
- package/dist/wgpuScreenCapture.js +138 -0
- package/dist/wgpuScreenCapture.js.map +1 -0
- package/dist/wgpuScreenRenderTarget.d.ts +11 -0
- package/dist/wgpuScreenRenderTarget.d.ts.map +1 -0
- package/dist/wgpuScreenRenderTarget.js +121 -0
- package/dist/wgpuScreenRenderTarget.js.map +1 -0
- package/dist/wgpuShader.d.ts +11 -8
- package/dist/wgpuShader.d.ts.map +1 -1
- package/dist/wgpuShader.js +11 -10
- package/dist/wgpuShader.js.map +1 -1
- package/dist/wgpuShaderBinding.d.ts +3 -1
- package/dist/wgpuShaderBinding.d.ts.map +1 -1
- package/dist/wgpuShaderBinding.js +1 -1
- package/dist/wgpuShaderBinding.js.map +1 -1
- package/dist/wgpuShaderRegistry.d.ts +1 -1
- package/dist/wgpuShaderRegistry.d.ts.map +1 -1
- package/dist/wgpuShaderRegistry.js +1 -1
- package/dist/wgpuShaderRegistry.js.map +1 -1
- package/dist/wgpuTestHelper.d.ts +11 -2
- package/dist/wgpuTestHelper.d.ts.map +1 -1
- package/dist/wgpuTestHelper.js +50 -38
- package/dist/wgpuTestHelper.js.map +1 -1
- package/dist/wgpuTextureRenderTarget.d.ts +22 -0
- package/dist/wgpuTextureRenderTarget.d.ts.map +1 -0
- package/dist/wgpuTextureRenderTarget.js +123 -0
- package/dist/wgpuTextureRenderTarget.js.map +1 -0
- package/dist/wgpuTextureResolver.d.ts +5 -1
- package/dist/wgpuTextureResolver.d.ts.map +1 -1
- package/dist/wgpuTextureResolver.js +13 -12
- package/dist/wgpuTextureResolver.js.map +1 -1
- package/dist/wgpuTextureUpload.d.ts +5 -4
- package/dist/wgpuTextureUpload.d.ts.map +1 -1
- package/dist/wgpuTextureUpload.js +1 -1
- package/dist/wgpuTextureUpload.js.map +1 -1
- package/package.json +33 -13
- package/src/enableWgpuTextureResolverGuards.test.ts +40 -19
- package/src/explainWgpuTextureResolution.test.ts +6 -6
- package/src/explainWgpuUniformEndianness.test.ts +11 -0
- package/src/types/WgpuBindGroupLayout.test.ts +9 -0
- package/src/types/WgpuBuffer.test.ts +26 -0
- package/src/types/WgpuGpu.test.ts +56 -0
- package/src/types/WgpuRenderPipeline.test.ts +12 -0
- package/src/types/WgpuTexture.test.ts +15 -0
- package/src/wgpuAdapterCapabilities.test.ts +5 -4
- package/src/wgpuCompressedTexture.test.ts +31 -37
- package/src/wgpuDeviceLoss.test.ts +31 -24
- package/src/wgpuDraw.test.ts +21 -24
- package/src/wgpuExternalImageSource.test.ts +12 -11
- package/src/wgpuExternalTexture.test.ts +7 -6
- package/src/{wgpuBackground.test.ts → wgpuFrame.test.ts} +47 -29
- package/src/wgpuFullscreenPass.test.ts +8 -8
- package/src/wgpuHost.test.ts +57 -186
- package/src/wgpuMipmap.test.ts +15 -9
- package/src/wgpuQuadMaterialRegistry.test.ts +132 -0
- package/src/wgpuRenderPass.test.ts +239 -0
- package/src/wgpuRenderState.test.ts +215 -550
- package/src/wgpuRenderTarget.test.ts +44 -220
- package/src/wgpuRenderTargetPool.test.ts +23 -23
- package/src/wgpuRenderTexture.test.ts +21 -18
- package/src/wgpuRenderTexturePool.test.ts +3 -3
- package/src/wgpuScissor.test.ts +50 -19
- package/src/wgpuScreenAntialias.test.ts +65 -0
- package/src/wgpuScreenCapture.test.ts +165 -0
- package/src/wgpuScreenRenderTarget.test.ts +172 -0
- package/src/wgpuShader.test.ts +12 -11
- package/src/wgpuShaderBinding.test.ts +4 -4
- package/src/wgpuShaderRegistry.test.ts +4 -5
- package/src/wgpuTestHelper.test.ts +8 -7
- package/src/wgpuTextureRenderTarget.test.ts +129 -0
- package/src/wgpuTextureResolver.test.ts +25 -14
- package/src/wgpuTextureUpload.test.ts +15 -10
- package/dist/wgpuAntialias.d.ts +0 -14
- package/dist/wgpuAntialias.d.ts.map +0 -1
- package/dist/wgpuAntialias.js +0 -155
- package/dist/wgpuAntialias.js.map +0 -1
- package/dist/wgpuBackground.d.ts +0 -20
- package/dist/wgpuBackground.d.ts.map +0 -1
- package/dist/wgpuBackground.js.map +0 -1
- package/dist/wgpuElement.d.ts +0 -7
- package/dist/wgpuElement.d.ts.map +0 -1
- package/dist/wgpuElement.js +0 -20
- package/dist/wgpuElement.js.map +0 -1
- package/dist/wgpuMaterialRegistry.d.ts +0 -5
- package/dist/wgpuMaterialRegistry.d.ts.map +0 -1
- package/dist/wgpuMaterialRegistry.js +0 -32
- package/dist/wgpuMaterialRegistry.js.map +0 -1
- package/dist/wgpuPipeline.d.ts +0 -6
- package/dist/wgpuPipeline.d.ts.map +0 -1
- package/dist/wgpuPipeline.js +0 -33
- package/dist/wgpuPipeline.js.map +0 -1
- package/dist/wgpuSurface.d.ts +0 -6
- package/dist/wgpuSurface.d.ts.map +0 -1
- package/dist/wgpuSurface.js +0 -155
- package/dist/wgpuSurface.js.map +0 -1
- package/src/wgpuAntialias.test.ts +0 -239
- package/src/wgpuElement.test.ts +0 -145
- package/src/wgpuMaterialRegistry.test.ts +0 -100
- package/src/wgpuPipeline.test.ts +0 -62
- package/src/wgpuSurface.test.ts +0 -141
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { addLogSink, createMemoryLogSink, getMemoryLogSinkEntries, removeLogSink } from '@flighthq/log/contract';
|
|
2
|
-
import { enableRenderRegistryGuards, explainRenderRegistryMisses } from '@flighthq/render/contract';
|
|
3
|
-
import type { Material, WgpuMaterialRenderer, WgpuRenderState } from '@flighthq/types/contract';
|
|
4
|
-
import { StandardMaterialKind, EntityRuntimeKey, RenderRegistry } from '@flighthq/types/contract';
|
|
5
|
-
|
|
6
|
-
import {
|
|
7
|
-
getWgpuMaterialRenderer,
|
|
8
|
-
registerWgpuMaterialRenderer,
|
|
9
|
-
resolveWgpuMaterialRenderer,
|
|
10
|
-
} from './wgpuMaterialRegistry';
|
|
11
|
-
import { createEmptyWgpuRegistries, createWgpuPipeline } from './wgpuPipeline';
|
|
12
|
-
import { createWgpuDeviceState, createWgpuRenderStateRuntime, getWgpuRenderStateRuntime } from './wgpuRenderState';
|
|
13
|
-
|
|
14
|
-
const TestKind = 'TestMaterial';
|
|
15
|
-
const testRenderer: WgpuMaterialRenderer = { instanceFloatCount: 0, getShaderModule: () => ({}) as GPUShaderModule };
|
|
16
|
-
const _pipeline = createWgpuPipeline(createEmptyWgpuRegistries());
|
|
17
|
-
|
|
18
|
-
function makeState(): WgpuRenderState {
|
|
19
|
-
// `device` is what the guard's message table dispatches on to name the wgpu registrar.
|
|
20
|
-
const device = {} as GPUDevice;
|
|
21
|
-
const state = { device } as WgpuRenderState;
|
|
22
|
-
state[EntityRuntimeKey] = createWgpuRenderStateRuntime(createWgpuDeviceState(device), _pipeline);
|
|
23
|
-
return state;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function makeMaterial(kind: string): Material {
|
|
27
|
-
return { kind } as Material;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
describe('getWgpuMaterialRenderer', () => {
|
|
31
|
-
it('returns null when nothing is registered for the kind', () => {
|
|
32
|
-
expect(getWgpuMaterialRenderer(makeState(), TestKind)).toBeNull();
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
describe('registerWgpuMaterialRenderer', () => {
|
|
37
|
-
it('registers a renderer retrievable by kind', () => {
|
|
38
|
-
const state = makeState();
|
|
39
|
-
const before = getWgpuRenderStateRuntime(state).registries.materialRenderers;
|
|
40
|
-
registerWgpuMaterialRenderer(state, TestKind, testRenderer);
|
|
41
|
-
expect(getWgpuMaterialRenderer(state, TestKind)).toBe(testRenderer);
|
|
42
|
-
expect(getWgpuRenderStateRuntime(state).registries.materialRenderers).not.toBe(before);
|
|
43
|
-
expect(before.entries.size).toBe(0);
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
it('is last-write-wins without mutating the earlier snapshot', () => {
|
|
47
|
-
const state = makeState();
|
|
48
|
-
const replacement: WgpuMaterialRenderer = { instanceFloatCount: 0, getShaderModule: () => ({}) as GPUShaderModule };
|
|
49
|
-
registerWgpuMaterialRenderer(state, TestKind, testRenderer);
|
|
50
|
-
const before = getWgpuRenderStateRuntime(state).registries.materialRenderers;
|
|
51
|
-
|
|
52
|
-
registerWgpuMaterialRenderer(state, TestKind, replacement);
|
|
53
|
-
|
|
54
|
-
expect(getWgpuMaterialRenderer(state, TestKind)).toBe(replacement);
|
|
55
|
-
expect(before.entries.get(TestKind)).toEqual({ state: 'bound', value: testRenderer });
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
describe('resolveWgpuMaterialRenderer', () => {
|
|
60
|
-
it('returns null when nothing is registered — no built-in fallback', () => {
|
|
61
|
-
expect(resolveWgpuMaterialRenderer(makeState(), null)).toBeNull();
|
|
62
|
-
expect(resolveWgpuMaterialRenderer(makeState(), makeMaterial(TestKind))).toBeNull();
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
it('returns the registered renderer for a material kind', () => {
|
|
66
|
-
const state = makeState();
|
|
67
|
-
registerWgpuMaterialRenderer(state, TestKind, testRenderer);
|
|
68
|
-
expect(resolveWgpuMaterialRenderer(state, makeMaterial(TestKind))).toBe(testRenderer);
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
it('falls back to the renderer registered for StandardMaterialKind', () => {
|
|
72
|
-
const state = makeState();
|
|
73
|
-
registerWgpuMaterialRenderer(state, StandardMaterialKind, testRenderer);
|
|
74
|
-
expect(resolveWgpuMaterialRenderer(state, makeMaterial('Other'))).toBe(testRenderer);
|
|
75
|
-
expect(resolveWgpuMaterialRenderer(state, null)).toBe(testRenderer);
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
it('reports the missing kind against the wgpu registrar, not the gl one', () => {
|
|
79
|
-
const state = makeState();
|
|
80
|
-
enableRenderRegistryGuards(state);
|
|
81
|
-
const sink = createMemoryLogSink(4);
|
|
82
|
-
addLogSink(sink.sink);
|
|
83
|
-
|
|
84
|
-
try {
|
|
85
|
-
resolveWgpuMaterialRenderer(state, makeMaterial(TestKind));
|
|
86
|
-
|
|
87
|
-
expect(explainRenderRegistryMisses(state).misses).toEqual([
|
|
88
|
-
{ kind: TestKind, registry: RenderRegistry.MaterialRenderer },
|
|
89
|
-
]);
|
|
90
|
-
expect(getMemoryLogSinkEntries(sink)[0]?.data).toMatchObject({
|
|
91
|
-
kind: TestKind,
|
|
92
|
-
message:
|
|
93
|
-
'resolveWgpuMaterialRenderer: material kind has no registered renderer, so nodes using it do not draw — call registerWgpuMaterialRenderer(state, kind, renderer)',
|
|
94
|
-
registry: RenderRegistry.MaterialRenderer,
|
|
95
|
-
});
|
|
96
|
-
} finally {
|
|
97
|
-
removeLogSink(sink.sink);
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
});
|
package/src/wgpuPipeline.test.ts
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import type { WgpuPipeline } from '@flighthq/types/contract';
|
|
2
|
-
import { EntityRuntimeKey } from '@flighthq/types/contract';
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
createEmptyWgpuRegistries,
|
|
6
|
-
createWgpuPipeline,
|
|
7
|
-
getWgpuPipelineRegistries,
|
|
8
|
-
initializeEmptyWgpuRegistries,
|
|
9
|
-
} from './wgpuPipeline';
|
|
10
|
-
|
|
11
|
-
describe('createEmptyWgpuRegistries', () => {
|
|
12
|
-
it('creates empty tables for every required WGPU policy seam', () => {
|
|
13
|
-
const registries = createEmptyWgpuRegistries();
|
|
14
|
-
expect(registries.renderers.shape).toBe('keyed');
|
|
15
|
-
expect(registries.compressedTextureDecoder.shape).toBe('slot');
|
|
16
|
-
expect(registries.compressedTextureUpload.shape).toBe('slot');
|
|
17
|
-
expect(registries.customMaterialShaders.shape).toBe('keyed');
|
|
18
|
-
expect(registries.materialRenderers.shape).toBe('keyed');
|
|
19
|
-
expect(registries.meshMaterialRenderers.shape).toBe('keyed');
|
|
20
|
-
expect(registries.modifierSnippets.shape).toBe('keyed');
|
|
21
|
-
expect(registries.renderEffects.shape).toBe('keyed');
|
|
22
|
-
expect(registries.shapeRasterizer.shape).toBe('slot');
|
|
23
|
-
expect(registries.strokeTessellator.shape).toBe('slot');
|
|
24
|
-
expect(registries.textureResolvers.shape).toBe('keyed');
|
|
25
|
-
expect(registries.velocityWriters.shape).toBe('keyed');
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
describe('createWgpuPipeline', () => {
|
|
30
|
-
it('returns an Entity-backed pipeline with its own runtime identity', () => {
|
|
31
|
-
const registries = createEmptyWgpuRegistries();
|
|
32
|
-
const first = createWgpuPipeline(registries);
|
|
33
|
-
const second = createWgpuPipeline(registries);
|
|
34
|
-
|
|
35
|
-
expect(EntityRuntimeKey in first).toBe(true);
|
|
36
|
-
expect(first).not.toBe(second);
|
|
37
|
-
expect(first[EntityRuntimeKey]).not.toBe(second[EntityRuntimeKey]);
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
it('rejects a plain literal at the Entity boundary', () => {
|
|
41
|
-
const literal = { registries: createEmptyWgpuRegistries() } as unknown as WgpuPipeline;
|
|
42
|
-
expect(EntityRuntimeKey in literal).toBe(false);
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
it('carries the supplied immutable registration snapshot', () => {
|
|
46
|
-
const registries = createEmptyWgpuRegistries();
|
|
47
|
-
const pipeline = createWgpuPipeline(registries);
|
|
48
|
-
expect(getWgpuPipelineRegistries(pipeline)).toBe(registries);
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
describe('getWgpuPipelineRegistries', () => {
|
|
53
|
-
it('returns the registries captured by the explicit pipeline', () => {
|
|
54
|
-
const registries = createEmptyWgpuRegistries();
|
|
55
|
-
expect(getWgpuPipelineRegistries(createWgpuPipeline(registries))).toBe(registries);
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
describe('initializeEmptyWgpuRegistries', () => {
|
|
59
|
-
it('is the construction initializer of createEmptyWgpuRegistries', () => {
|
|
60
|
-
expect(typeof initializeEmptyWgpuRegistries).toBe('function');
|
|
61
|
-
});
|
|
62
|
-
});
|
package/src/wgpuSurface.test.ts
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import type { WgpuRenderState } from '@flighthq/types/contract';
|
|
2
|
-
import { beforeAll, describe, expect, it } from 'vitest';
|
|
3
|
-
|
|
4
|
-
import { getWgpuRenderStateRuntime } from './wgpuRenderState';
|
|
5
|
-
import {
|
|
6
|
-
acquireWgpuFrameCaptureTexture,
|
|
7
|
-
createBitmapFromWgpuRenderState,
|
|
8
|
-
enableWgpuFrameCapture,
|
|
9
|
-
encodeWgpuFrameCapture,
|
|
10
|
-
} from './wgpuSurface';
|
|
11
|
-
import { createWgpuRenderStateForTest, installWgpuMock } from './wgpuTestHelper';
|
|
12
|
-
|
|
13
|
-
beforeAll(() => {
|
|
14
|
-
installWgpuMock();
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
describe('acquireWgpuFrameCaptureTexture', () => {
|
|
18
|
-
it('returns null until capture is enabled, then an offscreen texture', async () => {
|
|
19
|
-
const state = await createWgpuRenderStateForTest();
|
|
20
|
-
expect(acquireWgpuFrameCaptureTexture(state)).toBeNull();
|
|
21
|
-
enableWgpuFrameCapture(state);
|
|
22
|
-
expect(acquireWgpuFrameCaptureTexture(state)).not.toBeNull();
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
describe('createBitmapFromWgpuRenderState', () => {
|
|
27
|
-
it('throws when frame capture was never enabled (no buffer to read)', async () => {
|
|
28
|
-
const state = await createWgpuRenderStateForTest();
|
|
29
|
-
await expect(createBitmapFromWgpuRenderState(state)).rejects.toThrow(/enableWgpuFrameCapture/);
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
it('reads the mapped buffer within the bound', async () => {
|
|
33
|
-
const state = await createWgpuRenderStateForTest();
|
|
34
|
-
installCaptureBuffer(state, () => Promise.resolve());
|
|
35
|
-
|
|
36
|
-
const bitmap = await createBitmapFromWgpuRenderState(state, 1_000);
|
|
37
|
-
|
|
38
|
-
expect(bitmap.width).toBe(1);
|
|
39
|
-
expect(bitmap.height).toBe(1);
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
it('fails by name when the buffer never maps, instead of awaiting forever', async () => {
|
|
43
|
-
// The driver failure this bounds: mapAsync neither resolves nor rejects. Before the bound, the
|
|
44
|
-
// caller sat here until something outside it gave up and reported a stall with no location.
|
|
45
|
-
const state = await createWgpuRenderStateForTest();
|
|
46
|
-
installCaptureBuffer(state, () => new Promise<void>(() => {}));
|
|
47
|
-
|
|
48
|
-
await expect(createBitmapFromWgpuRenderState(state, 25)).rejects.toThrow(/did not map within 25ms/);
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
it('leaves the wait unbounded when the caller passes 0', async () => {
|
|
52
|
-
const state = await createWgpuRenderStateForTest();
|
|
53
|
-
let settle = (): void => {};
|
|
54
|
-
installCaptureBuffer(state, () => new Promise<void>((resolve) => (settle = resolve)));
|
|
55
|
-
|
|
56
|
-
let done = false;
|
|
57
|
-
const pending = createBitmapFromWgpuRenderState(state, 0).then(() => (done = true));
|
|
58
|
-
await new Promise((resolve) => setTimeout(resolve, 40));
|
|
59
|
-
expect(done).toBe(false);
|
|
60
|
-
|
|
61
|
-
settle();
|
|
62
|
-
await pending;
|
|
63
|
-
expect(done).toBe(true);
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
// Installs a 1×1 retained capture buffer whose map step the caller controls, so the map bound can be
|
|
68
|
-
// exercised without a GPU. The mock device's buffers carry no map surface of their own.
|
|
69
|
-
function installCaptureBuffer(state: WgpuRenderState, mapAsync: () => Promise<void>): void {
|
|
70
|
-
const runtime = getWgpuRenderStateRuntime(state);
|
|
71
|
-
runtime.frameCaptureBuffer = {
|
|
72
|
-
mapAsync,
|
|
73
|
-
getMappedRange: () => new ArrayBuffer(256),
|
|
74
|
-
unmap: () => {},
|
|
75
|
-
destroy: () => {},
|
|
76
|
-
} as unknown as GPUBuffer;
|
|
77
|
-
runtime.frameCaptureWidth = 1;
|
|
78
|
-
runtime.frameCaptureHeight = 1;
|
|
79
|
-
runtime.frameCaptureBytesPerRow = 256;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
describe('enableWgpuFrameCapture', () => {
|
|
83
|
-
it('sets the capture flag on the render state runtime', async () => {
|
|
84
|
-
const state = await createWgpuRenderStateForTest();
|
|
85
|
-
expect(getWgpuRenderStateRuntime(state).frameCaptureEnabled).toBeFalsy();
|
|
86
|
-
enableWgpuFrameCapture(state);
|
|
87
|
-
expect(getWgpuRenderStateRuntime(state).frameCaptureEnabled).toBe(true);
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
describe('encodeWgpuFrameCapture', () => {
|
|
92
|
-
it('is a no-op when capture is disabled', async () => {
|
|
93
|
-
const state = await createWgpuRenderStateForTest();
|
|
94
|
-
let copied = false;
|
|
95
|
-
const encoder = { copyTextureToBuffer: () => (copied = true) } as unknown as GPUCommandEncoder;
|
|
96
|
-
encodeWgpuFrameCapture(state, encoder);
|
|
97
|
-
expect(copied).toBe(false);
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
it('skips the copy while a readback holds the buffer, and resumes once it lets go', async () => {
|
|
101
|
-
// The writer/reader handshake over the single retained buffer: an animating scene must not keep
|
|
102
|
-
// enqueueing copies into a buffer a readback has mapped or is waiting to map.
|
|
103
|
-
const state = await createWgpuRenderStateForTest();
|
|
104
|
-
enableWgpuFrameCapture(state);
|
|
105
|
-
acquireWgpuFrameCaptureTexture(state);
|
|
106
|
-
const runtime = getWgpuRenderStateRuntime(state);
|
|
107
|
-
let mapState: GPUBufferMapState = 'unmapped';
|
|
108
|
-
installCaptureBuffer(state, () => Promise.resolve());
|
|
109
|
-
Object.defineProperty(runtime.frameCaptureBuffer, 'mapState', { get: () => mapState });
|
|
110
|
-
|
|
111
|
-
let copies = 0;
|
|
112
|
-
const encoder = { copyTextureToBuffer: () => copies++ } as unknown as GPUCommandEncoder;
|
|
113
|
-
|
|
114
|
-
mapState = 'pending';
|
|
115
|
-
encodeWgpuFrameCapture(state, encoder);
|
|
116
|
-
mapState = 'mapped';
|
|
117
|
-
encodeWgpuFrameCapture(state, encoder);
|
|
118
|
-
expect(copies).toBe(0);
|
|
119
|
-
|
|
120
|
-
mapState = 'unmapped';
|
|
121
|
-
encodeWgpuFrameCapture(state, encoder);
|
|
122
|
-
expect(copies).toBe(1);
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
it('still copies when the implementation reports no map state at all', async () => {
|
|
126
|
-
// Fails safe in the direction that keeps capturing: an undefined mapState must not read as "busy"
|
|
127
|
-
// and silence every copy for the rest of the run.
|
|
128
|
-
const state = await createWgpuRenderStateForTest();
|
|
129
|
-
enableWgpuFrameCapture(state);
|
|
130
|
-
acquireWgpuFrameCaptureTexture(state);
|
|
131
|
-
installCaptureBuffer(state, () => Promise.resolve());
|
|
132
|
-
Object.defineProperty(getWgpuRenderStateRuntime(state).frameCaptureBuffer, 'mapState', {
|
|
133
|
-
get: () => undefined,
|
|
134
|
-
});
|
|
135
|
-
|
|
136
|
-
let copies = 0;
|
|
137
|
-
encodeWgpuFrameCapture(state, { copyTextureToBuffer: () => copies++ } as unknown as GPUCommandEncoder);
|
|
138
|
-
|
|
139
|
-
expect(copies).toBe(1);
|
|
140
|
-
});
|
|
141
|
-
});
|