Now you would create the views that go with the figures and put them on the canvas. If the views draw their figures with the color in the color slot, changing the color slot in the instance prototype will change the color of all figures at once. There are other ways to exploit instance inheritance. Therefore, children can be reparented at any time. The only real limitation is that a child frame can only have one parent.
Parents can have many children.
In addition to inheriting attributes like color, frames can be exploited to create constraints on them. Because slots are observable objects, it is easy to create classes that observe more than one slot and maintain relationships between them. For example, it is possible to create a constraint that keeps several figures aligned by their x value. Simply create a class that observes the slots of these figures and then if any slot changes, modifies the other slots to match. There is not a lot to say about a viewport, except that it scrolls and zooms.