Don't have very much capacity to contribute here, but this is really important stuff @christianbundy so thanks for bringing this up.
My only 2 cents to add for now is that it might be useful to specify if a view is "pure" or if it has state. With this information it should be possible to not have to rebuild every view from scratch depending on the changes coming in.