clear-for-frame feels like it belongs in the main/anim-frame function to keep the render function single responsibility