A rain-dappled pool: a damped wave equation lit by the slope of the surface, with sun-coloured glints on the steepest crests. Click anywhere to toss in a stone.
Both captures below are real iTerm2 sessions running the demo — the same binary renders at pixel resolution where the terminal speaks the kitty graphics protocol, and as ASCII cells everywhere else.
ripples-gfx
The wave field runs at framebuffer resolution and every pixel is shaded by its slope, as if lit from the upper left; steep crests spill over into a specular sun colour. The pool's alpha fades out under the status bar.
ripples
The same waves on a half-cell-resolution height field: each cell averages two sim rows and picks from a calm-to-sparkle glyph ramp (· ~ ≈ ✦), brightening with the lit side of each swell.
| Key | Action |
|---|---|
| space | drop a stone |
| mouse click | stone at the pointer |
| a | toggle the rain |
| c | cycle colour scheme |
| + / - | rain rate |
| q / Esc | quit |
Tuning env vars use the RIPPLES_* prefix — e.g. RIPPLES_MAXDIM=1024 for sharper frames, RIPPLES_CELLS=1 to force cell rendering even on kitty terminals. See the overview for the full tuning table.