hey just wondering if there was any reason you went with a setTimeout in the renderer here? just out of simplicity?
I'm thinking requestAnimationFrame might be a bit better (to render on the paints) but i'm not sure if setTimeout was a deliberate decision or not.