Add viewport

Signed-off-by: Jonathan Ginn <jon@jonginn.com>