new-viewport loading on the public side