feat(viewport): add scale settings