viewport groups added with ui
merge in master
partial for viewport groups since that is now the top level object for any relevant viewport information and includes all child viewports -- merge from master as well