This week I replaced the old code that arranged the links, and set their angles. It served well for a time, but it wasn’t able to deal very well with links being removed, or new links being added later. The new code arranges links randomly at first, and then has nearby nodes repel each other so that they make space where needed.
After some amusing/wild bugs, I got this code working nicely. When I went to test it I was surprised how hard it was to focus on the nodes adjusting their positions. It’s so good that fades into the foreground. I feel like I hit that weird rule of design, that goes something like “When it’s designed really well, you don’t think about the design”.