1-byte character rendering engine for terminal animation. Minimal API. Flat buffer. High-speed output.
Continuous char* array of size width × height bytes. Cache-friendly and highly predictable. No structs, no metadata.
Set_Char() only pushes a cell to the dirty list when its value actually changes. Frame_Clean resets only those cells.
Buffer is converted into a newline-delimited string. Uses \033[H to jump cursor and a single write() syscall. Zero flicker.
Every character is a single byte from the 7-bit ASCII table (0–127). No UTF-8 multibyte sequences. No ANSI color styling.
#include "AnimByte.cpp" int main() { AnimByte ab; ab.Initialise(80, 24); while(true){ ab.Frame_Clean(); // Write your frame data ab.Set_Char(12, 40, '@'); ab.Render_Frame(); usleep(16000); // ~60 FPS } return 0; }