demo 6 of 17

🌈plasma

The classic demoscene plasma: interfering sine fields that breathe and shift colour. Press c to cycle palettes, click to move the wave centre.

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 — plasma-gfx

Every pixel sums four sine waves — one of them radial, around a centre you can drag with the mouse — and looks the result up in an Inigo Quilez cosine palette that drifts over time, so smooth colour bands roll across the frame.

plasma in kitty graphics mode
plasma — kitty pixel mode
ASCII cells — plasma

The same field sampled per cell, each character chosen from a brightness ramp (·:+*x#%@) and tinted with the palette colour.

plasma in ASCII cell mode
plasma — ASCII cell mode

Controls

KeyAction
spacereseed the wave centre
mouse clickset centre at the pointer
afreeze the animation
ccycle palette
+ / -speed
q / Escquit

Tuning env vars use the PLASMA_* prefix — e.g. PLASMA_MAXDIM=1024 for sharper frames, PLASMA_CELLS=1 to force cell rendering even on kitty terminals. See the overview for the full tuning table.