Top-down Canvas2D companion: each raindrop spawns a Gaussian-windowed ring wave, and up to 8 concurrent ripples are superposed per grid cell to build the height field — the same math as the 3D shader, read from directly above. Lily pads bob with the local water height they sit over.