Strange behaviour with adjusting set to go.Link.End

We have started to set adjusting to go.Link.End on our links to help eliminate unnecessary rerouting. With this one line change, our diagram now looks like this

The links have no segments specified, just the ports. Compare to what it looked before setting the adjusting property

Any ideas why this is happening?

The whole point of Link.adjusting is to keep the middle points of a route after either or both of the connected nodes move. So, depending on where the nodes were when the route was first computed, that is what the route will try to maintain.

I suppose you could clear the points of each Link to force a recomputation of the route.

I’m not sure I follow. All we are doing is creating a diagram, then setting up the node and link arrays. Are link routes being calculated before everything is in its final position?

That might be the case. Are all nodes explicitly positioned in your model data? And you do not have link routes saved in the model data?

The nodes are positioned in the model. Some links have the routes in the model, some don’t. I’ve actually got something almost to my liking by binding the adjusting property and setting it to None if there are no segments in the model and End otherwise. But I think I prefer the behaviour of adjusting=None in some cases. We only started using adjusting=End because it fixed this issue we were having

I’ll probably have to go back to that and try and produce a test case