// the find
pissang/oidn-web
Open Image Denoise on the Web
A port of Intel's Open Image Denoise to the browser via TensorFlow.js with a WebGPU backend. It reconstructs a clean image from a path-traced render with very few samples — useful for anyone building a WebGPU ray tracer or renderer who wants denoising without shipping to a server. Already in production in a Figma plugin.
GPU buffer I/O path avoids the CPU roundtrip entirely, which is the right call for anyone running a WebGPU pipeline end-to-end. The tiled execution model handles large resolutions without blowing GPU memory — it processes one tile per frame and gives you a progress callback so the UI stays responsive. Weight files are kept out of the npm package, so you only ship what you need (LDR, HDR, with or without aux inputs). Supporting all three model sizes (small/base/large) with no API change is clean design.
WebGPU-only is a hard dependency — no fallback to WebGL or CPU, so it silently fails on any browser that hasn't shipped WebGPU, which is still most of the installed base outside Chrome. The weights files are bundled in the repo itself via Git LFS rather than a CDN or separate registry, which makes the repo heavy and awkward to consume in CI. No TypeScript types for the progress callback's tile coordinates or the GPUBuffer variants, so you're reading source to figure out the exact shape. Ten forks at 274 stars suggests this is mostly used by the one Figma plugin — not much community surface area if something breaks.