Hi Alex!

That is a cool idea.
 
Views get activated under certain condition of the camera of another view.

This is what semantic zooming really is about! If I have a figure for a software package and I only have a 5 by 5 pixel area to draw on, I will render it empty. If I have 50 by 50 I can draw classes. If I have 500 by 500 I can draw methods and classes. So I am not sure I understand how your camera altitude will implement this, but having a "condition" for selecting one rendering or the other of a given GUI element seems the right way to go. In fact the easiest way of letting the client of the framework implement his own semantic zooming is by letting him register a callback for when the available area for a figure changes. Then he could choose one or the other of his available renderings. A variant in which the framework would know a little more would have the client pass pairs of surface thresholds and renderers to the framework.

Cheers,
M.