Took a while to locate the source of this problem, but it appears to be using a GoLayoutLayeredDigraph that changes the options. Really simply put I programmatically insert two rectangular GoBasicNodes and one connecting link into the GoView, with the link set to orthogonal. If I drag one node around the other the link will attach to all four sides dynamically as I move it. This is the same behavior as the pairs of nodes in the SwimLane example in your samples.
After I call the layout the links get all hinkey and only attach to certain sides. I just ran another test and if the layout is set to Down, then the links will only attach to top/bottom afterwards. When I change the direction to Right they will only attach to the sides.
Why does the layout affect the attachment point, and is there a way to stop it?
That’s intentional, because when one uses layered-digraph layout, one expects the nodes to all flow in the specified direction.
To avoid this, just set GoLayeredDigraphLayout.SetsPortSpots to false.