bugfix: cursor cannot be reset each frame since we need the selected hierarchy to persist
default fields
rearranged so that all data declarations are next to each other
handling mode switches right away
scope
default parameters for view
pulled out all gpu related state to its own structure
passing in whole gpu state to rendering function
put all data structures at the top