i will probably handle animation with an Animation struct
containing an array of frames, with options to set intervals
and whether it loops or reverts to another state after
the animation is done
much of this is based on cross-referencing from
the sdl3 snake demo:
https://examples.libsdl.org/SDL3/demo/01-snake/
i need to work out an elegant system for logging.
probably involving macro wonk.