I tried out the
D2 diagramming tool because it looks like a more convenient GraphViz, but it's not actually much more convenient for me, as far as I can tell. So, I'm bailing early.
What killed it for me:
1. You can customize boxes and edge styles, but the docs really make it look like you have to specify the class every time you make an edge instead of being able to say "this is the default style for edges inside this box". So, you get:
throng_root_node -> dungeon_tilemap { class: edge }
throng_root_node -> sprite_presenter { class: edge }
throng_root_node -> turn_distributor { class: edge }
I'm really not into that.
2. There's classes, and no inheritance, which is fine. But they say an object can have multiple classes, but classes that come later in the class list don't override ones in the previous list. Instead, this is for nesting instances within each other. If you have class A, which has bold text and a blue fill, and class B, which says nothing about text and has a red fill, an object with
{ class: a; b }
is not rendered as a box with bold text and a red fill. Instead, you get a blue box that has a red box inside of it with non-bolded text.
It's possible that if I spent more time I could find that there's a way to get what I want, but spending more time then finding out my guess that it just works this way would be horrible. I think it's unlikely to work better for me than GraphViz or paper.