Skip to content

Commit f1faeab

Browse files
authored
Merge pull request #32 from srl-labs/link_placement
Distribute links vertically for nodes at the same level in diagram bu…
2 parents fa25277 + 117c890 commit f1faeab

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

core/diagram/diagram_builder.py

+16
Original file line numberDiff line numberDiff line change
@@ -724,6 +724,22 @@ def format_interface_name(intf_name):
724724
entryY, entryX = 1, 0.5
725725
else: # left
726726
entryY, entryX = 0.5, 0
727+
if (
728+
abs(link.source.pos_y - link.target.pos_y) < 10
729+
and len(group) > 1
730+
):
731+
# Distribute links vertically for nodes at same level
732+
spread = 0.4 / len(
733+
group
734+
) # Use 40% of the node height for distribution
735+
offset = (i - (len(group) - 1) / 2) * spread
736+
737+
# Adjust entry/exit Y positions
738+
if source_edge in ["left", "right"]:
739+
exitY = 0.5 + offset
740+
741+
if target_edge in ["left", "right"]:
742+
entryY = 0.5 + offset
727743
else:
728744
# Fallback if no port_pos
729745
entryX, entryY, exitX, exitY = (

0 commit comments

Comments
 (0)