demo 3 of 17

💧ripples

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.

Recordings

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.

kitty graphics — 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 in kitty graphics mode
ripples — kitty pixel mode
ASCII cells — 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.

ripples in ASCII cell mode
ripples — ASCII cell mode

Controls

KeyAction
spacedrop a stone
mouse clickstone at the pointer
atoggle the rain
ccycle colour scheme
+ / -rain rate
q / Escquit

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.