The mind mapping system now works via a set of minibuffer commands. You can put an indented list into a node and display it as a mind map. Or you can display an entire subtree as a mind map.
I have worked out a set of three scripts that together make this mind mapping system work. One script, the one that does all the calculations and layout, generates the svg for the mind map diagram. If it has not been run already in the current Leo session, it monkey patches the map building function to the outline commander when run so the other two scripts can call it. This script also saves the svg output to a node and opens a rendering pane to display it. It's about 1000 LOC long. It's the longest script I have written that can be run with a simple CTRL-B (though that is not how it would normally be run).
The user does not have to actually run this script because the two other commands run it when needed. One of these scripts takes an indented list in the selected node and feeds it to the monkey-patched script. The other one converts a tree starting at the selected node to an indented list and then feeds it to the monkey-patched script.
The scripts copy the svg output into a node in the outline. This node can have a name you specify in a setting, or a default. If the node does not exist, it is created first. The focus and selection are changed to this node.
The script then opens the svg diagram in a "rendering device". This can be one of Viewrendered3, Freewin, or the system browser. By default it is VR3. The rendering device is specified by a setting. I like to use Freewin because it can be made larger than the VR3 pane usually is, and you can have several different mind maps open at once if you like. The mind map also stays open when you switch away from the svg output node, unlike the case for VR3. The latest version of Freewin renders the svg as a diagram.
The layout is a little simple minded in this version. The branches get placed around the central image clockwise starting at 1:00, which is how I usually like to do it. If there are only a few small branches, though, this produces a somewhat lopsided diagram. I might work on improving this in the future. The label locations could use a little tweaking, and if the label of the central image is very long, it might obscure part of some nearby branch labels. But then it's best not to use very long headlines for your nodes anyway ...
As I wrote earlier, these mind maps include up to two branching levels. I think that the diagrams become too cluttered, with labels too tiny to read, if there are more than two levels. Now a hand-drawn map, maybe drawn on larger paper, is a different story. And a map rendered on a separate large monitor might work well enough with three levels. But for ordinary single monitor use, with a window that does not take up the entire screen, more than two levels doesn't work well IMHO.
I will issue a pull request to put these scripts into scripts.leo, and will post here when the PR has been accepted.