Conway's Game of Life

One kernel, one cell per thread. The grid stays in GPU memory between generations via kernel.pipe() — it only comes back to JavaScript when there is a frame to draw.

generation 0 alive 0 — generations/s — ms/generation

Click or drag on the grid to draw cells.

the kernel, and the WGSL it compiles to