"Table" nodes are defined by separate templates, to permit maximum customization of the shapes and sizes and positions of the tables and chairs.
"Person" nodes in the
myGuests diagram can also represent a group of people,
for example a named person plus one whose name might not be known.
When such a person is dropped onto a table, additional nodes are created in
Those people are seated at the table if there is room.
Tables can be moved or rotated. Moving or rotating a table automatically repositions the people seated at that table.
The UndoManager is shared between the two Diagrams, so that one can undo/redo in either diagram and have it automatically handle drags between diagrams, as well as the usual changes within the diagram.