Custom logic for positioning link labels

My suggestion is to try modifying the LinkLabelDraggingTool to change the link route in the same manner that the CurvedLinkReshapingTool does, rather than modifying the label’s GraphObject.segmentOffset.

Basically, it’s a matter of adapting the reshape method of the CurvedLinkReshapingTool to replace the updateSegmentOffset of the LinkLabelDraggingTool.