GoJS ports meet at specified angle

Hi, thank you for the library we are considering implementing it for this project. I have a diagram that looks like such:

I have implemented grouping as per this post:

I would like the lines to be more intelligible, for example, I would like the lines from the diagram on the right them to meet at the port horizontally rather than vertically. Also, it would be nice if they didn’t stack up the way they are.

I’m not sure if my code will be that helpful but will provide some for reference:

Link template

        goDiagram.linkTemplate =
            $(go.Link,
                new go.Binding("fromSpot", "fromSpot", go.Spot.parse),
                new go.Binding("toSpot", "toSpot", go.Spot.parse),
            { 
                routing: go.Link.Orthogonal, 
                layerName: "Background",
                corner: 3
             },
            $(go.Shape),
            $(go.Shape, { toArrow: "Standard" })
            );

The node itself:

private static defaultNode = subscription => $(go.Node, "Auto",
        {
            defaultStretch: go.GraphObject.Horizontal
        },
        $(go.Shape,
            {
                strokeWidth: 0,
                stretch: go.GraphObject.Horizontal,
                cursor: "pointer",
            },
            new go.Binding("fill", "color")
        ),
        $(go.Shape,  // the "Out" port
          { 
              alignment: go.Spot.Right, 
              width: 0, 
              height: 0, 
              portId: "A", 
              fromSpot: go.Spot.Right 
        }),
        $(go.Panel, "Horizontal",
            $(go.TextBlock,
                { 
                    margin: 6,
                    font: "normal 11px sans-serif",
                    stroke: "white",
                    cursor: "pointer"
                },
                new go.Binding("text", "title")
            ),
            $(go.TextBlock,
                { 
                    margin: 6,
                    font: "normal 11px sans-serif",
                    stroke: "white",
                    cursor: "pointer"
                },
                new go.Binding("text")
            )
        )
    )

Actually, the node and link templates don’t matter too much. What would be more useful for me to give you help would be the model that you are using and a sketch or screenshot of the results that you would imagine. What relationships do you really want between the nodes in the tree and those nodes that are now on the right side?