WebGPU icon shader

Pick a paletteWGSL

row = floor(uv.y × 17) gradX = fract(uv.x + row·sin(t·0.001) + ease(pingPong(t·0.05 + row·0.025)))