Its a work in progress, it has lots of debug output and I'm still not very happy with it... but it could be more useful than version 0.02.
I need to return to basic principles of geometry and trig in order to rewrite some of the core logic. I am happy with most of the drawing logic, but the layout is in two parts, each of which requires reworking 1) plotting a naive tree of the nodes and their relationships, 2) working through all the nodes and 'spring'ing them to/from each other to distribute them 'better'. I also plan to improve where the edges between the nodes meet/leave each node, and eventually provide some way to reduce the ammount of edge colisions (where edges cross).
Of course now, I need to produce a load of test cases to see how it works for varying numbers and distributions of nodes and relationships.