Exit Corner Offset Dogleg
A passing line runs through a section on a per-line bundle offset, then exits and bypasses a higher row to climb to a far target. The onward run keeps the line's offset over the row-level traverse so it leaves the exit port straight, with the single level change a clean riser at the far gap rather than a one-offset-step jog at the exit corner.
Mermaid source
%% Issue #939: a flow-aligned exit whose in-section run carries a per-line%% bundle offset must keep that offset on the onward run, not step back to the%% bare port-marker row right after the exit corner. `mid` receives two lines%% from `src`, so the passing line `l2` runs through `mid` on an offset track;%% it then exits and bypasses `blocker` (a higher row) to climb to `dst`. The%% onward run must leave the exit port straight (stay on l2's offset track over%% the row-level traverse), with the single level change a clean riser at the%% far gap -- no ~one-offset-step vertical jog at the exit corner.%%metro title: Exit-corner offset dogleg (#939)%%metro style: dark%%metro line: l1 | L1 | #f5c542%%metro line: l2 | L2 | #e63946%%metro grid: src | 0,0%%metro grid: mid | 1,1%%metro grid: blocker | 2,0%%metro grid: dst | 3,0
graph LR subgraph src [Src] a1[A1] end subgraph mid [Mid] m1[Mid] end subgraph blocker [Blocker] b1[Blk] end subgraph dst [Dst] d1[Dst] end
a1 -->|l1| m1 a1 -->|l2| m1 m1 -->|l2| d1 a1 -->|l1| b1 b1 -->|l1| d1CLI command
nf-metro render examples/topologies/exit_corner_offset_dogleg.mmd -o exit_corner_offset_dogleg.svg