I tried to make edge from out1 to out3 take route under the nodes to get more symetrical look but instead it makes a crazy detour.
I use graphviz in diagraph package in typst
I tried using ports to mage edges rearrange itself but when graph starts to be a little dense, edge cannot be forced to change route and instead always directs itself into the default edge crossing that it decided is right.
I observed this behavior a couple of times, here's the example
I looked through graphviz edge parameters and unfortunately nothing seems to help with that, also I can't find any help on the internet or mentions of a similar issue.
digraph {
subgraph{
e1 [label =\"\" , style = invis]
e2 [label =\"\" , style = invis]
e3 [label =\"\" , style = invis]
}
subgraph A {
rank = same
in1 -> in2 -> in3
in3:nw -> in1:ne
}
subgraph {
rank=same
out1 -> out2 -> out3 [dir=back];
out1:se -> out3:sw; //THIS EDGE <--------------------------
}
in1->out1
in2->out2
in3->out3
subgraph{
rank=same
r1 [label= \"\", shape=none,height=.0,width=.0]
r2 [label= \"\", shape=none,height=.0,width=.0]
r3 [label= \"\", shape=none,height=.0,width=.0]
}
e1->in1
e2->in2
e3->in3
out1->r1
out2->r2
out3->r3
}