IMO a simpler solution to this with much more interoperability would be hotkeys within canvas to create new main nodes, sibling nodes and child nodes.
Plus using ⇧ modifier as drag-to-connect.
That is the main advantage that something like Mindnode has over any whiteboarding/canvas tool - it’s so frictionless to build out a map, where you can both freeflow think and maintain a hierarchical structure.