Fork of D3 Tree with Multiple Parents
A tree diagram diverges from typical hierarchies by allowing shared child nodes to have multiple parents. The code uses `d3.tree` and `d3.hierarchy` to layout the graph, then deduplicates nodes by ID with underscore.js, and recalculates positions based on depth. Links are drawn with `d3.linkHorizontal`, while labels render as SVG text. The visualization also includes zooming via `d3.zoom` and smooth animated transitions for node updates, with data loaded from a JSON file containing two top-level topics that reference overlapping concepts.