one more try for viewport
refactor globals in node