@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,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { WgpuBufferUsage, WgpuTextureUsage } from './contract.render-wgpu-types.ts';
|
|
2
|
+
import { createWgpuRenderStateForTest, installWgpuMock } from './wgpuTestHelper.ts';
|
|
2
3
|
|
|
3
4
|
beforeAll(() => {
|
|
4
5
|
installWgpuMock();
|
|
@@ -7,14 +8,14 @@ beforeAll(() => {
|
|
|
7
8
|
describe('installWgpuMock', () => {
|
|
8
9
|
it('accepts aligned writeBuffer data using typed-array element units', async () => {
|
|
9
10
|
const state = await createWgpuRenderStateForTest();
|
|
10
|
-
const buffer = state.device.createBuffer({ size: 8, usage:
|
|
11
|
+
const buffer = state.device.createBuffer({ size: 8, usage: WgpuBufferUsage.COPY_DST });
|
|
11
12
|
|
|
12
13
|
expect(() => state.device.queue.writeBuffer(buffer, 0, new Uint16Array([0, 1, 2]), 0, 2)).not.toThrow();
|
|
13
14
|
});
|
|
14
15
|
|
|
15
16
|
it('rejects writeBuffer content whose byte length is not a multiple of four', async () => {
|
|
16
17
|
const state = await createWgpuRenderStateForTest();
|
|
17
|
-
const buffer = state.device.createBuffer({ size: 8, usage:
|
|
18
|
+
const buffer = state.device.createBuffer({ size: 8, usage: WgpuBufferUsage.COPY_DST });
|
|
18
19
|
|
|
19
20
|
expect(() => state.device.queue.writeBuffer(buffer, 0, new Uint16Array([0, 1, 2]))).toThrow(
|
|
20
21
|
expect.objectContaining({ name: 'OperationError' }),
|
|
@@ -23,7 +24,7 @@ describe('installWgpuMock', () => {
|
|
|
23
24
|
|
|
24
25
|
it('rejects writeBuffer source ranges and destination offsets outside the API contract', async () => {
|
|
25
26
|
const state = await createWgpuRenderStateForTest();
|
|
26
|
-
const buffer = state.device.createBuffer({ size: 8, usage:
|
|
27
|
+
const buffer = state.device.createBuffer({ size: 8, usage: WgpuBufferUsage.COPY_DST });
|
|
27
28
|
|
|
28
29
|
expect(() => state.device.queue.writeBuffer(buffer, 0, new Uint32Array([0]), 2)).toThrow(
|
|
29
30
|
/data range is out of bounds/,
|
|
@@ -35,8 +36,8 @@ describe('installWgpuMock', () => {
|
|
|
35
36
|
|
|
36
37
|
it('rejects writeBuffer destinations without enough COPY_DST storage', async () => {
|
|
37
38
|
const state = await createWgpuRenderStateForTest();
|
|
38
|
-
const tooSmall = state.device.createBuffer({ size: 4, usage:
|
|
39
|
-
const wrongUsage = state.device.createBuffer({ size: 8, usage:
|
|
39
|
+
const tooSmall = state.device.createBuffer({ size: 4, usage: WgpuBufferUsage.COPY_DST });
|
|
40
|
+
const wrongUsage = state.device.createBuffer({ size: 8, usage: WgpuBufferUsage.VERTEX });
|
|
40
41
|
|
|
41
42
|
expect(() => state.device.queue.writeBuffer(tooSmall, 0, new Uint32Array([0, 1]))).toThrow(
|
|
42
43
|
/destination range exceeds the buffer size/,
|
|
@@ -51,7 +52,7 @@ describe('installWgpuMock', () => {
|
|
|
51
52
|
const texture = state.device.createTexture({
|
|
52
53
|
size: [2, 2, 1],
|
|
53
54
|
format: 'rgba8unorm',
|
|
54
|
-
usage:
|
|
55
|
+
usage: WgpuTextureUsage.COPY_DST,
|
|
55
56
|
});
|
|
56
57
|
|
|
57
58
|
expect(() =>
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { createMatrix } from '@flighthq/geometry/contract';
|
|
2
|
+
|
|
3
|
+
import { resolveWgpuSmoothingBindGroup } from './wgpuDraw.ts';
|
|
4
|
+
import { submitWgpuFrame } from './wgpuFrame.ts';
|
|
5
|
+
import { getWgpuRenderStateDeviceResources } from './wgpuRenderState.ts';
|
|
6
|
+
import { beginWgpuScreenRenderPassForTest, createWgpuRenderStateForTest, installWgpuMock } from './wgpuTestHelper.ts';
|
|
7
|
+
import {
|
|
8
|
+
createWgpuTextureRenderTarget,
|
|
9
|
+
destroyWgpuTextureRenderTarget,
|
|
10
|
+
drawWgpuTextureRenderTargetResult,
|
|
11
|
+
initializeWgpuTextureRenderTarget,
|
|
12
|
+
resizeWgpuTextureRenderTarget,
|
|
13
|
+
} from './wgpuTextureRenderTarget.ts';
|
|
14
|
+
|
|
15
|
+
beforeAll(() => {
|
|
16
|
+
installWgpuMock();
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
describe('createWgpuTextureRenderTarget', () => {
|
|
20
|
+
it('returns a target with texture, view, binding cache, and depth-stencil', async () => {
|
|
21
|
+
const state = await createWgpuRenderStateForTest();
|
|
22
|
+
const target = createWgpuTextureRenderTarget(state, 256, 256);
|
|
23
|
+
expect(target.texture).toBeDefined();
|
|
24
|
+
expect(target.view).toBeDefined();
|
|
25
|
+
expect(target.bindings).toBeDefined();
|
|
26
|
+
expect(target.depthStencilTexture).toBeDefined();
|
|
27
|
+
expect(target.width).toBe(256);
|
|
28
|
+
expect(target.height).toBe(256);
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it('clamps to minimum 1×1', async () => {
|
|
32
|
+
const state = await createWgpuRenderStateForTest();
|
|
33
|
+
const target = createWgpuTextureRenderTarget(state, 0, 0);
|
|
34
|
+
expect(target.width).toBe(1);
|
|
35
|
+
expect(target.height).toBe(1);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it('defaults to sRGB and accepts a linear content declaration', async () => {
|
|
39
|
+
const state = await createWgpuRenderStateForTest();
|
|
40
|
+
expect(createWgpuTextureRenderTarget(state, 16, 16).colorSpace).toBe('srgb');
|
|
41
|
+
expect(createWgpuTextureRenderTarget(state, 16, 16, state.format, 'linear').colorSpace).toBe('linear');
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it('realizes four coverage samples as a 2x extent in each axis', async () => {
|
|
45
|
+
const state = await createWgpuRenderStateForTest();
|
|
46
|
+
const target = createWgpuTextureRenderTarget(state, 64, 48, state.format, 'srgb', 4);
|
|
47
|
+
expect(target.width).toBe(128);
|
|
48
|
+
expect(target.height).toBe(96);
|
|
49
|
+
expect(target.sampleCount).toBe(4);
|
|
50
|
+
expect(target.texture.width).toBe(128);
|
|
51
|
+
expect(target.texture.height).toBe(96);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
describe('destroyWgpuTextureRenderTarget', () => {
|
|
56
|
+
it('calls destroy on texture and depth-stencil', async () => {
|
|
57
|
+
const state = await createWgpuRenderStateForTest();
|
|
58
|
+
const target = createWgpuTextureRenderTarget(state, 64, 64);
|
|
59
|
+
const destroyTexture = vi.spyOn(target.texture, 'destroy');
|
|
60
|
+
const destroyDepth = vi.spyOn(target.depthStencilTexture, 'destroy');
|
|
61
|
+
destroyWgpuTextureRenderTarget(target);
|
|
62
|
+
expect(destroyTexture).toHaveBeenCalled();
|
|
63
|
+
expect(destroyDepth).toHaveBeenCalled();
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
describe('drawWgpuTextureRenderTargetResult', () => {
|
|
68
|
+
it('does not throw with an open render pass', async () => {
|
|
69
|
+
const state = await createWgpuRenderStateForTest();
|
|
70
|
+
beginWgpuScreenRenderPassForTest(state);
|
|
71
|
+
const target = createWgpuTextureRenderTarget(state, 64, 64);
|
|
72
|
+
const fakeNode = {
|
|
73
|
+
alpha: 1,
|
|
74
|
+
material: null,
|
|
75
|
+
transform2D: { a: 1, b: 0, c: 0, d: 1, tx: 0, ty: 0 },
|
|
76
|
+
};
|
|
77
|
+
expect(() => drawWgpuTextureRenderTargetResult(state, fakeNode, target, createMatrix())).not.toThrow();
|
|
78
|
+
submitWgpuFrame(state);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
describe('initializeWgpuTextureRenderTarget', () => {
|
|
83
|
+
it('is the construction initializer of createWgpuTextureRenderTarget', () => {
|
|
84
|
+
expect(typeof initializeWgpuTextureRenderTarget).toBe('function');
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
describe('resizeWgpuTextureRenderTarget', () => {
|
|
89
|
+
it('preserves the allocation when dimensions are unchanged', async () => {
|
|
90
|
+
const state = await createWgpuRenderStateForTest();
|
|
91
|
+
const target = createWgpuTextureRenderTarget(state, 64, 64);
|
|
92
|
+
const texture = target.texture;
|
|
93
|
+
const depthStencilTexture = target.depthStencilTexture;
|
|
94
|
+
const sampler = getWgpuRenderStateDeviceResources(state).linearSampler;
|
|
95
|
+
const bindGroup = resolveWgpuSmoothingBindGroup(state, target, true);
|
|
96
|
+
|
|
97
|
+
resizeWgpuTextureRenderTarget(state, target, 64, 64);
|
|
98
|
+
|
|
99
|
+
expect(target.texture).toBe(texture);
|
|
100
|
+
expect(target.depthStencilTexture).toBe(depthStencilTexture);
|
|
101
|
+
// The view survived, so its cached bindings must survive with it.
|
|
102
|
+
expect(target.bindings.get(sampler)).toBe(bindGroup);
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
it('updates width, height, and drops bindings that referenced the old view', async () => {
|
|
106
|
+
const state = await createWgpuRenderStateForTest();
|
|
107
|
+
const target = createWgpuTextureRenderTarget(state, 64, 64);
|
|
108
|
+
const previousBindGroup = resolveWgpuSmoothingBindGroup(state, target, true);
|
|
109
|
+
resizeWgpuTextureRenderTarget(state, target, 200, 150);
|
|
110
|
+
expect(target.width).toBe(200);
|
|
111
|
+
expect(target.height).toBe(150);
|
|
112
|
+
// Reallocation replaces the view, so every binding over the old one is dropped and rebuilt.
|
|
113
|
+
expect(target.bindings.size).toBe(0);
|
|
114
|
+
expect(resolveWgpuSmoothingBindGroup(state, target, true)).not.toBe(previousBindGroup);
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
it('reallocates when the effective sample count changes', async () => {
|
|
118
|
+
const state = await createWgpuRenderStateForTest();
|
|
119
|
+
const target = createWgpuTextureRenderTarget(state, 64, 48);
|
|
120
|
+
const previousTexture = target.texture;
|
|
121
|
+
|
|
122
|
+
resizeWgpuTextureRenderTarget(state, target, 64, 48, 4);
|
|
123
|
+
|
|
124
|
+
expect(target.width).toBe(128);
|
|
125
|
+
expect(target.height).toBe(96);
|
|
126
|
+
expect(target.sampleCount).toBe(4);
|
|
127
|
+
expect(target.texture).not.toBe(previousTexture);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import { allocateEntity
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { allocateEntity } from '@flighthq/entity/contract';
|
|
2
|
+
import type { ImageResource } from '@flighthq/image/contract';
|
|
3
|
+
import { getKindMapKeys } from '@flighthq/registry/contract';
|
|
4
|
+
import type { RenderTarget, RenderTexture } from '@flighthq/render/contract';
|
|
5
|
+
import type { Texture, TextureSource } from '@flighthq/texture/contract';
|
|
4
6
|
import {
|
|
5
7
|
BitmapTextureSourceKind,
|
|
6
8
|
CompressedImageTextureSourceKind,
|
|
7
9
|
ImageTextureSourceKind,
|
|
8
10
|
RenderTargetTextureSourceKind,
|
|
9
|
-
} from '@flighthq/
|
|
11
|
+
} from '@flighthq/texture/contract';
|
|
10
12
|
|
|
11
|
-
import {
|
|
12
|
-
import { getWgpuRenderStateRuntime } from './wgpuRenderState';
|
|
13
|
-
import { renderIntoWgpuRenderTexture } from './wgpuRenderTexture';
|
|
14
|
-
import { createWgpuRenderStateForTest, installWgpuMock } from './wgpuTestHelper';
|
|
13
|
+
import { submitWgpuFrame } from './wgpuFrame.ts';
|
|
14
|
+
import { getWgpuRenderStateRuntime } from './wgpuRenderState.ts';
|
|
15
|
+
import { renderIntoWgpuRenderTexture } from './wgpuRenderTexture.ts';
|
|
16
|
+
import { beginWgpuScreenRenderPassForTest, createWgpuRenderStateForTest, installWgpuMock } from './wgpuTestHelper.ts';
|
|
15
17
|
import {
|
|
16
18
|
registerWgpuImageTextureResolver,
|
|
17
19
|
registerWgpuBitmapTextureResolver,
|
|
@@ -20,7 +22,8 @@ import {
|
|
|
20
22
|
registerStandardWgpuTextureResolvers,
|
|
21
23
|
registerWgpuTextureResolver,
|
|
22
24
|
resolveWgpuTexture,
|
|
23
|
-
|
|
25
|
+
standardWgpuTextureResolvers,
|
|
26
|
+
} from './wgpuTextureResolver.ts';
|
|
24
27
|
|
|
25
28
|
beforeAll(() => {
|
|
26
29
|
installWgpuMock();
|
|
@@ -80,13 +83,13 @@ function renderTexture(): RenderTexture {
|
|
|
80
83
|
_entity.kind = RenderTargetTextureSourceKind;
|
|
81
84
|
_entity.version = 0;
|
|
82
85
|
_entity.width = 8;
|
|
83
|
-
texture.source =
|
|
86
|
+
texture.source = _entity;
|
|
84
87
|
return texture as RenderTexture;
|
|
85
88
|
}
|
|
86
89
|
|
|
87
90
|
function registeredTextureSourceKinds(state: Parameters<typeof getWgpuRenderStateRuntime>[0]): string[] {
|
|
88
91
|
const kinds: string[] = [];
|
|
89
|
-
|
|
92
|
+
getKindMapKeys(kinds, getWgpuRenderStateRuntime(state).registries.textureResolvers);
|
|
90
93
|
return kinds;
|
|
91
94
|
}
|
|
92
95
|
|
|
@@ -176,10 +179,10 @@ describe('registerWgpuRenderTextureResolver', () => {
|
|
|
176
179
|
registerWgpuRenderTextureResolver(state);
|
|
177
180
|
expect(resolveWgpuTexture(state, texture)).toBeNull();
|
|
178
181
|
|
|
179
|
-
|
|
180
|
-
renderIntoWgpuRenderTexture(state, texture, () => {});
|
|
182
|
+
beginWgpuScreenRenderPassForTest(state);
|
|
183
|
+
renderIntoWgpuRenderTexture(state, texture, () => {}, { color: [0, 0, 0, 0], depth: 1.0, stencil: 0 });
|
|
181
184
|
expect(resolveWgpuTexture(state, texture)).not.toBeNull();
|
|
182
|
-
|
|
185
|
+
submitWgpuFrame(state);
|
|
183
186
|
});
|
|
184
187
|
});
|
|
185
188
|
|
|
@@ -210,3 +213,11 @@ describe('resolveWgpuTexture', () => {
|
|
|
210
213
|
expect(resolveWgpuTexture(state, textureWithImage(null))).toBeNull();
|
|
211
214
|
});
|
|
212
215
|
});
|
|
216
|
+
|
|
217
|
+
describe('standardWgpuTextureResolvers', () => {
|
|
218
|
+
it('carries exactly the three standard source kinds', () => {
|
|
219
|
+
const kinds: string[] = [];
|
|
220
|
+
getKindMapKeys(kinds, standardWgpuTextureResolvers);
|
|
221
|
+
expect(kinds).toEqual([BitmapTextureSourceKind, ImageTextureSourceKind, RenderTargetTextureSourceKind]);
|
|
222
|
+
});
|
|
223
|
+
});
|
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
import type { ImageResource } from '@flighthq/
|
|
1
|
+
import type { ImageResource } from '@flighthq/image/contract';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import type { WgpuDevice, WgpuTexture } from './contract.render-wgpu-types.ts';
|
|
4
|
+
import {
|
|
5
|
+
uploadWgpuTextureData,
|
|
6
|
+
uploadWgpuTextureElement,
|
|
7
|
+
uploadWgpuTextureImageResource,
|
|
8
|
+
} from './wgpuTextureUpload.ts';
|
|
4
9
|
|
|
5
10
|
// A device whose queue records the two upload calls so a test can assert which path ran and with what.
|
|
6
|
-
function makeDevice():
|
|
11
|
+
function makeDevice(): WgpuDevice {
|
|
7
12
|
return {
|
|
8
13
|
queue: { writeTexture: vi.fn(), copyExternalImageToTexture: vi.fn() },
|
|
9
|
-
} as unknown as
|
|
14
|
+
} as unknown as WgpuDevice;
|
|
10
15
|
}
|
|
11
16
|
|
|
12
17
|
describe('uploadWgpuTextureData', () => {
|
|
13
18
|
it('drives writeTexture with a tightly-packed rgba8 layout (bytesPerRow = width*4)', () => {
|
|
14
19
|
const device = makeDevice();
|
|
15
|
-
const texture = {} as
|
|
16
|
-
const data = new
|
|
20
|
+
const texture = {} as WgpuTexture;
|
|
21
|
+
const data = new Uint8Array(2 * 2 * 4);
|
|
17
22
|
uploadWgpuTextureData(device, texture, [0, 0, 3], 2, 2, data);
|
|
18
23
|
expect(device.queue.writeTexture).toHaveBeenCalledWith(
|
|
19
24
|
{ texture, origin: [0, 0, 3] },
|
|
@@ -27,7 +32,7 @@ describe('uploadWgpuTextureData', () => {
|
|
|
27
32
|
describe('uploadWgpuTextureElement', () => {
|
|
28
33
|
it('drives copyExternalImageToTexture with the external source', () => {
|
|
29
34
|
const device = makeDevice();
|
|
30
|
-
const texture = {} as
|
|
35
|
+
const texture = {} as WgpuTexture;
|
|
31
36
|
const source = document.createElement('canvas');
|
|
32
37
|
source.width = 4;
|
|
33
38
|
source.height = 4;
|
|
@@ -44,7 +49,7 @@ describe('uploadWgpuTextureElement', () => {
|
|
|
44
49
|
const source = document.createElement('canvas');
|
|
45
50
|
source.width = 4;
|
|
46
51
|
source.height = 4;
|
|
47
|
-
uploadWgpuTextureElement(device, {} as
|
|
52
|
+
uploadWgpuTextureElement(device, {} as WgpuTexture, [0, 0, 0], 0, 4, source);
|
|
48
53
|
expect(device.queue.copyExternalImageToTexture).not.toHaveBeenCalled();
|
|
49
54
|
});
|
|
50
55
|
|
|
@@ -56,14 +61,14 @@ describe('uploadWgpuTextureElement', () => {
|
|
|
56
61
|
vi.mocked(device.queue.copyExternalImageToTexture).mockImplementation(() => {
|
|
57
62
|
throw new TypeError('Failed to copy content from external image.');
|
|
58
63
|
});
|
|
59
|
-
expect(() => uploadWgpuTextureElement(device, {} as
|
|
64
|
+
expect(() => uploadWgpuTextureElement(device, {} as WgpuTexture, [0, 0, 0], 4, 4, canvas)).not.toThrow();
|
|
60
65
|
});
|
|
61
66
|
});
|
|
62
67
|
|
|
63
68
|
describe('uploadWgpuTextureImageResource', () => {
|
|
64
69
|
it('takes the element path when the resource carries a source', () => {
|
|
65
70
|
const device = makeDevice();
|
|
66
|
-
const texture = {} as
|
|
71
|
+
const texture = {} as WgpuTexture;
|
|
67
72
|
const source = document.createElement('canvas');
|
|
68
73
|
source.width = 4;
|
|
69
74
|
source.height = 4;
|
package/dist/wgpuAntialias.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { WgpuPresentationRenderState, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
|
-
export declare function acquireWgpuSurfaceAntialiasView(state: Readonly<WgpuPresentationRenderState>, presentationView: GPUTextureView): GPUTextureView | null;
|
|
3
|
-
export declare function clearWgpuSurfacePresentation(state: Readonly<WgpuPresentationRenderState>): void;
|
|
4
|
-
export declare function encodeWgpuSurfaceAntialiasResolve(state: Readonly<WgpuPresentationRenderState>, encoder: GPUCommandEncoder): void;
|
|
5
|
-
export declare function getWgpuSurfaceLogicalExtent(state: Readonly<WgpuRenderState>): {
|
|
6
|
-
width: number;
|
|
7
|
-
height: number;
|
|
8
|
-
};
|
|
9
|
-
export declare function getWgpuSurfaceRenderExtent(state: Readonly<WgpuRenderState>): {
|
|
10
|
-
width: number;
|
|
11
|
-
height: number;
|
|
12
|
-
};
|
|
13
|
-
export declare function getWgpuSurfaceRenderScale(state: Readonly<WgpuRenderState>): number;
|
|
14
|
-
//# sourceMappingURL=wgpuAntialias.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuAntialias.d.ts","sourceRoot":"","sources":["../src/wgpuAntialias.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAS7F,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,QAAQ,CAAC,2BAA2B,CAAC,EAC5C,gBAAgB,EAAE,cAAc,GAC/B,cAAc,GAAG,IAAI,CA8CvB;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAE/F;AAKD,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,QAAQ,CAAC,2BAA2B,CAAC,EAC5C,OAAO,EAAE,iBAAiB,GACzB,IAAI,CAqBN;AAKD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQ/G;AAID,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAW9G;AAID,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,MAAM,CAGlF"}
|
package/dist/wgpuAntialias.js
DELETED
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { getWgpuRenderStateDeviceResources, getWgpuRenderStateRuntime } from './wgpuRenderState';
|
|
2
|
-
const SUPERSAMPLE_SCALE = 2;
|
|
3
|
-
// Redirects the main frame into a 2× texture view when surface antialiasing is enabled. The caller retains
|
|
4
|
-
// the presentation view so encodeWgpuSurfaceAntialiasResolve can downsample into it on the same encoder.
|
|
5
|
-
// Null means the normal direct-to-presentation path remains active.
|
|
6
|
-
export function acquireWgpuSurfaceAntialiasView(state, presentationView) {
|
|
7
|
-
const runtime = getWgpuRenderStateRuntime(state);
|
|
8
|
-
if (!runtime.surfaceAntialiasEnabled) {
|
|
9
|
-
runtime.surfacePresentationView = null;
|
|
10
|
-
return null;
|
|
11
|
-
}
|
|
12
|
-
const width = Math.max(1, state.surface.width) * SUPERSAMPLE_SCALE;
|
|
13
|
-
const height = Math.max(1, state.surface.height) * SUPERSAMPLE_SCALE;
|
|
14
|
-
const maxDimension = state.device.limits.maxTextureDimension2D;
|
|
15
|
-
if (width > maxDimension || height > maxDimension) {
|
|
16
|
-
throw new Error(`WgpuRenderOptions.antialias requires a ${width}x${height} supersample surface, exceeding maxTextureDimension2D ${maxDimension}.`);
|
|
17
|
-
}
|
|
18
|
-
runtime.surfacePresentationView = presentationView;
|
|
19
|
-
if (runtime.surfaceAntialiasTexture !== null &&
|
|
20
|
-
runtime.surfaceAntialiasWidth === width &&
|
|
21
|
-
runtime.surfaceAntialiasHeight === height) {
|
|
22
|
-
return runtime.surfaceAntialiasView;
|
|
23
|
-
}
|
|
24
|
-
runtime.surfaceAntialiasTexture?.destroy();
|
|
25
|
-
const texture = state.device.createTexture({
|
|
26
|
-
size: [width, height, 1],
|
|
27
|
-
format: state.format,
|
|
28
|
-
usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING,
|
|
29
|
-
});
|
|
30
|
-
const view = texture.createView();
|
|
31
|
-
runtime.surfaceAntialiasTexture = texture;
|
|
32
|
-
runtime.surfaceAntialiasView = view;
|
|
33
|
-
runtime.surfaceAntialiasWidth = width;
|
|
34
|
-
runtime.surfaceAntialiasHeight = height;
|
|
35
|
-
ensureWgpuSurfaceAntialiasPipeline(state);
|
|
36
|
-
runtime.surfaceAntialiasResolveBindGroup = state.device.createBindGroup({
|
|
37
|
-
layout: runtime.surfaceAntialiasResolveBindGroupLayout,
|
|
38
|
-
entries: [
|
|
39
|
-
{ binding: 0, resource: view },
|
|
40
|
-
{ binding: 1, resource: getWgpuRenderStateDeviceResources(state).linearSampler },
|
|
41
|
-
],
|
|
42
|
-
});
|
|
43
|
-
return view;
|
|
44
|
-
}
|
|
45
|
-
export function clearWgpuSurfacePresentation(state) {
|
|
46
|
-
getWgpuRenderStateRuntime(state).surfacePresentationView = null;
|
|
47
|
-
}
|
|
48
|
-
// Encodes the single surface resolve after every scene/effect/3D draw has completed and before capture
|
|
49
|
-
// readback. Linear sampling at each destination pixel center averages the corresponding 2×2 source
|
|
50
|
-
// texels, so this is a real supersample resolve rather than a post-capture image filter.
|
|
51
|
-
export function encodeWgpuSurfaceAntialiasResolve(state, encoder) {
|
|
52
|
-
const runtime = getWgpuRenderStateRuntime(state);
|
|
53
|
-
const presentationView = runtime.surfacePresentationView;
|
|
54
|
-
const pipeline = runtime.surfaceAntialiasResolvePipeline;
|
|
55
|
-
const bindGroup = runtime.surfaceAntialiasResolveBindGroup;
|
|
56
|
-
if (!runtime.surfaceAntialiasEnabled || presentationView === null || pipeline === null || bindGroup === null)
|
|
57
|
-
return;
|
|
58
|
-
const pass = encoder.beginRenderPass({
|
|
59
|
-
colorAttachments: [
|
|
60
|
-
{
|
|
61
|
-
view: presentationView,
|
|
62
|
-
loadOp: 'clear',
|
|
63
|
-
storeOp: 'store',
|
|
64
|
-
clearValue: { r: 0, g: 0, b: 0, a: 0 },
|
|
65
|
-
},
|
|
66
|
-
],
|
|
67
|
-
});
|
|
68
|
-
pass.setPipeline(pipeline);
|
|
69
|
-
pass.setBindGroup(0, bindGroup);
|
|
70
|
-
pass.draw(3);
|
|
71
|
-
pass.end();
|
|
72
|
-
}
|
|
73
|
-
// Logical surface dimensions for descriptor/effect distances. Unlike getWgpuSurfaceRenderExtent this
|
|
74
|
-
// deliberately ignores the optional 2× presentation target; an explicit frame borrower receives the
|
|
75
|
-
// logical owner extent for the bounded session.
|
|
76
|
-
export function getWgpuSurfaceLogicalExtent(state) {
|
|
77
|
-
if ('surface' in state) {
|
|
78
|
-
const presentationState = state;
|
|
79
|
-
return { width: presentationState.surface.width, height: presentationState.surface.height };
|
|
80
|
-
}
|
|
81
|
-
const borrowed = getWgpuRenderStateRuntime(state).borrowedSurfaceExtent;
|
|
82
|
-
if (borrowed !== null)
|
|
83
|
-
return borrowed;
|
|
84
|
-
throw new Error('A device-only WgpuRenderState has no logical surface extent outside an explicit frame borrow');
|
|
85
|
-
}
|
|
86
|
-
// The logical canvas dimensions remain the coordinate space used by 2D transforms. This helper is
|
|
87
|
-
// only for hardware viewport restoration after an offscreen target returns to the supersampled surface.
|
|
88
|
-
export function getWgpuSurfaceRenderExtent(state) {
|
|
89
|
-
const runtime = getWgpuRenderStateRuntime(state);
|
|
90
|
-
if (runtime.surfacePresentationView !== null) {
|
|
91
|
-
return { width: runtime.surfaceAntialiasWidth, height: runtime.surfaceAntialiasHeight };
|
|
92
|
-
}
|
|
93
|
-
if ('surface' in state) {
|
|
94
|
-
const presentationState = state;
|
|
95
|
-
return { width: presentationState.surface.width, height: presentationState.surface.height };
|
|
96
|
-
}
|
|
97
|
-
if (runtime.borrowedSurfaceExtent !== null)
|
|
98
|
-
return runtime.borrowedSurfaceExtent;
|
|
99
|
-
throw new Error('A device-only WgpuRenderState has no presentation extent outside an explicit frame borrow');
|
|
100
|
-
}
|
|
101
|
-
// Scissor rectangles are expressed in the logical main-surface coordinate space. Scale only while the
|
|
102
|
-
// active pass is the supersampled main surface; offscreen render targets retain their native extent.
|
|
103
|
-
export function getWgpuSurfaceRenderScale(state) {
|
|
104
|
-
const runtime = getWgpuRenderStateRuntime(state);
|
|
105
|
-
return runtime.currentRenderTarget === null && runtime.surfacePresentationView !== null ? SUPERSAMPLE_SCALE : 1;
|
|
106
|
-
}
|
|
107
|
-
function ensureWgpuSurfaceAntialiasPipeline(state) {
|
|
108
|
-
const runtime = getWgpuRenderStateRuntime(state);
|
|
109
|
-
if (runtime.surfaceAntialiasResolvePipeline !== null)
|
|
110
|
-
return;
|
|
111
|
-
const bindGroupLayout = state.device.createBindGroupLayout({
|
|
112
|
-
entries: [
|
|
113
|
-
{ binding: 0, visibility: GPUShaderStage.FRAGMENT, texture: { sampleType: 'float' } },
|
|
114
|
-
{ binding: 1, visibility: GPUShaderStage.FRAGMENT, sampler: { type: 'filtering' } },
|
|
115
|
-
],
|
|
116
|
-
});
|
|
117
|
-
const layout = state.device.createPipelineLayout({ bindGroupLayouts: [bindGroupLayout] });
|
|
118
|
-
const module = state.device.createShaderModule({ code: SURFACE_ANTIALIAS_WGSL });
|
|
119
|
-
runtime.surfaceAntialiasResolveBindGroupLayout = bindGroupLayout;
|
|
120
|
-
runtime.surfaceAntialiasResolvePipeline = state.device.createRenderPipeline({
|
|
121
|
-
layout,
|
|
122
|
-
vertex: { module, entryPoint: 'vs_main' },
|
|
123
|
-
fragment: { module, entryPoint: 'fs_main', targets: [{ format: state.format }] },
|
|
124
|
-
primitive: { topology: 'triangle-list' },
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
const SURFACE_ANTIALIAS_WGSL = /* wgsl */ `
|
|
128
|
-
struct VertexOutput {
|
|
129
|
-
@builtin(position) position: vec4f,
|
|
130
|
-
@location(0) uv: vec2f,
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
@vertex
|
|
134
|
-
fn vs_main(@builtin(vertex_index) index: u32) -> VertexOutput {
|
|
135
|
-
let positions = array<vec2f, 3>(
|
|
136
|
-
vec2f(-1.0, -1.0),
|
|
137
|
-
vec2f(3.0, -1.0),
|
|
138
|
-
vec2f(-1.0, 3.0),
|
|
139
|
-
);
|
|
140
|
-
let position = positions[index];
|
|
141
|
-
var output: VertexOutput;
|
|
142
|
-
output.position = vec4f(position, 0.0, 1.0);
|
|
143
|
-
output.uv = position * vec2f(0.5, -0.5) + vec2f(0.5);
|
|
144
|
-
return output;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
@group(0) @binding(0) var source_texture: texture_2d<f32>;
|
|
148
|
-
@group(0) @binding(1) var source_sampler: sampler;
|
|
149
|
-
|
|
150
|
-
@fragment
|
|
151
|
-
fn fs_main(input: VertexOutput) -> @location(0) vec4f {
|
|
152
|
-
return textureSample(source_texture, source_sampler, input.uv);
|
|
153
|
-
}
|
|
154
|
-
`;
|
|
155
|
-
//# sourceMappingURL=wgpuAntialias.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuAntialias.js","sourceRoot":"","sources":["../src/wgpuAntialias.ts"],"names":[],"mappings":"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"}
|
package/dist/wgpuBackground.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { WgpuPresentationRenderState, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
|
-
/**
|
|
3
|
-
* Opens the command encoder for a WebGPU frame without opening the canvas render pass.
|
|
4
|
-
*
|
|
5
|
-
* Recipes with prerequisite GPU work (for example a directional-shadow depth pass) call this first,
|
|
6
|
-
* record that work, then call renderWgpuBackground to open the forward canvas pass on the same encoder.
|
|
7
|
-
* Ordinary render loops can keep calling renderWgpuBackground directly; it begins a frame lazily.
|
|
8
|
-
*/
|
|
9
|
-
export declare function beginWgpuFrame(state: WgpuPresentationRenderState): void;
|
|
10
|
-
export declare function renderWgpuBackground(state: WgpuPresentationRenderState): void;
|
|
11
|
-
export declare function retireWgpuBuffer(state: WgpuRenderState, buffer: GPUBuffer): void;
|
|
12
|
-
export declare function retireWgpuTexture(state: WgpuRenderState, texture: GPUTexture): void;
|
|
13
|
-
export declare function submitWgpuRenderPass(state: WgpuPresentationRenderState): void;
|
|
14
|
-
/**
|
|
15
|
-
* Temporarily records an offscreen state's work into a presentation state's live command encoder.
|
|
16
|
-
* The borrower keeps its own uniform ring, batch buffers, traversal counters, and GPU resources; only
|
|
17
|
-
* the frame encoder/pass boundary is borrowed, and this callback bracket always returns it.
|
|
18
|
-
*/
|
|
19
|
-
export declare function withWgpuFrameBorrow<T>(ownerState: WgpuPresentationRenderState, borrowerState: WgpuRenderState, callback: () => T): T;
|
|
20
|
-
//# sourceMappingURL=wgpuBackground.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuBackground.d.ts","sourceRoot":"","sources":["../src/wgpuBackground.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,eAAe,EAA0B,MAAM,0BAA0B,CAAC;AAkCrH;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI,CAgBvE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI,CA8D7E;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAGhF;AAYD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAGnF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI,CA2C7E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,UAAU,EAAE,2BAA2B,EACvC,aAAa,EAAE,eAAe,EAC9B,QAAQ,EAAE,MAAM,CAAC,GAChB,CAAC,CAsDH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuBackground.js","sourceRoot":"","sources":["../src/wgpuBackground.ts"],"names":[],"mappings":"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"}
|
package/dist/wgpuElement.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { WgpuRenderSurfaceProvider } from '@flighthq/types/contract';
|
|
2
|
-
export declare function createWgpuCanvasElement(width: number, height: number, pixelRatio?: number): HTMLCanvasElement;
|
|
3
|
-
export declare function createWgpuRenderSurface(width: number, height: number, pixelRatio?: number): HTMLCanvasElement | null;
|
|
4
|
-
export declare function getWgpuRenderSurfaceProvider(): Readonly<WgpuRenderSurfaceProvider> | null;
|
|
5
|
-
export declare function resetWgpuRenderSurfaceProviderForTest(): void;
|
|
6
|
-
export declare function setWgpuRenderSurfaceProvider(provider: Readonly<WgpuRenderSurfaceProvider> | null): void;
|
|
7
|
-
//# sourceMappingURL=wgpuElement.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuElement.d.ts","sourceRoot":"","sources":["../src/wgpuElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAI1E,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAU,GAAG,iBAAiB,CAMhH;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,MAAU,GACrB,iBAAiB,GAAG,IAAI,CAE1B;AAED,wBAAgB,4BAA4B,IAAI,QAAQ,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAEzF;AAED,wBAAgB,qCAAqC,IAAI,IAAI,CAE5D;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC,GAAG,IAAI,GAAG,IAAI,CAEvG"}
|
package/dist/wgpuElement.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
let _provider = null;
|
|
2
|
-
export function createWgpuCanvasElement(width, height, pixelRatio = 1) {
|
|
3
|
-
const surface = createWgpuRenderSurface(width, height, pixelRatio);
|
|
4
|
-
if (surface !== null)
|
|
5
|
-
return surface;
|
|
6
|
-
throw new Error('No WGPU render surface is available. Web callers must run enableHostWebWgpuRenderSurface() before creating WGPU state; native callers must inject a WgpuRenderSurfaceProvider.');
|
|
7
|
-
}
|
|
8
|
-
export function createWgpuRenderSurface(width, height, pixelRatio = 1) {
|
|
9
|
-
return _provider?.createRenderSurface(width, height, pixelRatio) ?? null;
|
|
10
|
-
}
|
|
11
|
-
export function getWgpuRenderSurfaceProvider() {
|
|
12
|
-
return _provider;
|
|
13
|
-
}
|
|
14
|
-
export function resetWgpuRenderSurfaceProviderForTest() {
|
|
15
|
-
_provider = null;
|
|
16
|
-
}
|
|
17
|
-
export function setWgpuRenderSurfaceProvider(provider) {
|
|
18
|
-
_provider = provider;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=wgpuElement.js.map
|
package/dist/wgpuElement.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuElement.js","sourceRoot":"","sources":["../src/wgpuElement.ts"],"names":[],"mappings":"AAEA,IAAI,SAAS,GAA+C,IAAI,CAAC;AAEjE,MAAM,UAAU,uBAAuB,CAAC,KAAa,EAAE,MAAc,EAAE,aAAqB,CAAC;IAC3F,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACnE,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IACrC,MAAM,IAAI,KAAK,CACb,gLAAgL,CACjL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAa,EACb,MAAc,EACd,aAAqB,CAAC;IAEtB,OAAO,SAAS,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,qCAAqC;IACnD,SAAS,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,QAAoD;IAC/F,SAAS,GAAG,QAAQ,CAAC;AACvB,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Kind, Material, WgpuMaterialRenderer, WgpuRenderState } from '@flighthq/types/contract';
|
|
2
|
-
export declare function getWgpuMaterialRenderer(state: WgpuRenderState, kind: Kind): WgpuMaterialRenderer | null;
|
|
3
|
-
export declare function registerWgpuMaterialRenderer(state: WgpuRenderState, kind: Kind, renderer: WgpuMaterialRenderer): void;
|
|
4
|
-
export declare function resolveWgpuMaterialRenderer(state: WgpuRenderState, material: Material | null): WgpuMaterialRenderer | null;
|
|
5
|
-
//# sourceMappingURL=wgpuMaterialRegistry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuMaterialRegistry.d.ts","sourceRoot":"","sources":["../src/wgpuMaterialRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAKtG,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,GAAG,oBAAoB,GAAG,IAAI,CAGvG;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAGrH;AAMD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,GAAG,IAAI,GACxB,oBAAoB,GAAG,IAAI,CAc7B"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { withRegistryTableEntry } from '@flighthq/registry/contract';
|
|
2
|
-
import { RegistryEntryState, RenderRegistry, StandardMaterialKind } from '@flighthq/types/contract';
|
|
3
|
-
import { getWgpuRenderStateRuntime } from './wgpuRenderState';
|
|
4
|
-
export function getWgpuMaterialRenderer(state, kind) {
|
|
5
|
-
const entry = getWgpuRenderStateRuntime(state).registries.materialRenderers.entries.get(kind);
|
|
6
|
-
return entry?.state === RegistryEntryState.Bound ? entry.value : null;
|
|
7
|
-
}
|
|
8
|
-
export function registerWgpuMaterialRenderer(state, kind, renderer) {
|
|
9
|
-
const runtime = getWgpuRenderStateRuntime(state);
|
|
10
|
-
runtime.registries.materialRenderers = withRegistryTableEntry(runtime.registries.materialRenderers, kind, renderer);
|
|
11
|
-
}
|
|
12
|
-
// Resolves a node's material to its registered renderer: by the material's kind, else the renderer
|
|
13
|
-
// registered for StandardMaterialKind, else null. The render path knows nothing about which materials
|
|
14
|
-
// exist — every material (including the default) enters only through user registration, and an
|
|
15
|
-
// unresolved material is a no-op (the node does not render), never a built-in fallback.
|
|
16
|
-
export function resolveWgpuMaterialRenderer(state, material) {
|
|
17
|
-
const runtime = getWgpuRenderStateRuntime(state);
|
|
18
|
-
const entries = runtime.registries.materialRenderers.entries;
|
|
19
|
-
const kind = material?.kind ?? StandardMaterialKind;
|
|
20
|
-
const entry = entries.get(kind);
|
|
21
|
-
if (entry?.state === RegistryEntryState.Bound)
|
|
22
|
-
return entry.value;
|
|
23
|
-
// The requested kind is absent. StandardMaterialKind still stands in where it is registered, but the
|
|
24
|
-
// miss is reported either way — substituting a different shading family is as much worth knowing as
|
|
25
|
-
// drawing nothing, and the seam records one miss per kind, so neither case repeats.
|
|
26
|
-
runtime.registryMiss?.(RenderRegistry.MaterialRenderer, kind);
|
|
27
|
-
if (kind === StandardMaterialKind)
|
|
28
|
-
return null;
|
|
29
|
-
const fallback = entries.get(StandardMaterialKind);
|
|
30
|
-
return fallback?.state === RegistryEntryState.Bound ? fallback.value : null;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=wgpuMaterialRegistry.js.map
|