clean up; improved test coverage (renderer, viewport)