static interface Renderable extends MakesBufferedImage { void renderOn(Graphics2D g, int w, int h); default Pt preferredSize() { ret pt(640, 480); } default int getWidth() { ret preferredSize().x; } default int getHeight() { ret preferredSize().y; } public default getBufferedImage() { ret renderableToImage(this); } }