Retro Plasma
retro-plasma is a full-screen animation demo that renders a classic retro plasma effect directly in the terminal.
The application continuously updates the screen using an animated buffer and allows you to switch between multiple
color palettes while it is running.
Besides being visually fun, the demo also illustrates how to build responsive terminal applications that react to keyboard input and terminal resize events.
Run the Demo
Start the demo from the build directory:
$ ./cmake-build-debug/demo-apps/retro-plasma
The animation runs continuously and can be controlled using the keyboard.
Features Shown
This demo demonstrates several aspects of animated terminal rendering:
Full-screen rendering using
Buffertogether withTerminal::updateScreen().A timed animation loop combined with keyboard input using
Input::Mode::Key.Palette-based color animation implemented with
ColorSequence.Resize-aware rendering using custom
UpdateSettingswith minimum size handling.Dynamic footer prompts composed from colored
Stringelements.
Relevant Source Files
If you want to explore how the effect is implemented, start with:
demo/retro-plasma/src/RetroPlasmaApp.cppdemo/retro-plasma/src/PlasmaRenderer.cpp
The application file contains the main event loop and terminal interaction logic, while the renderer implements the plasma effect itself.