Topology

This is the GUI2 version of the combined Topo and Topo2 views of the older version.

It uses Angular 6 components extensively.

This should all be moved to its own separate library once all debugging is done (it is slightly more difficult to debug the code when in a separate library)