Thank you mateusz.b for the response. I'm confident my data/nodes are correct (more on this later), this appears to be a layout/collision issue with the nodes. I went down the path yesterday of trying to use offset (offsetHorizontal) to handle this as shown in
https://jsfiddle.net/BlackLabel/yq8w9tgj/ but it was apparent that this would only be an option for static/known structures. I was (manually) able to update my fiddle to display properly by just using offset, which gave me some confidence my data was structured correctly, and this was layout related.
I finally came up with what could be a viable solution, but it too is not perfect and is/could be susceptible to overlapping nodes and/or just less than ideal node placement. Using the same data/config (with the exception of layout), I am alternating between hanging and normal layouts based on level (>2). This appears to help break up the lineage rather than having multiple hanging nodes painted in the same space. Again this seems to show my data structure is correct.
https://jsfiddle.net/pvsjfw5y/3/
I am still hopeful I am overlooking some config that would help eliminate these remaining issues. Again thank you for your help.
- AlternateLayout.png (193.03 KiB) Viewed 345 times