Skip to content

Exit Lane Rise Bundle Order

A section taller than the one it feeds, so its RIGHT exit port sits a lane above its own trunk and the two-line bundle climbs to reach it. One line arrives level from the same row and the other descends from the row above, which fixes the pair's lane order at the entry; the climb carries that order through to the exit rather than crossing the two lines on the rise (issue #1770).

Mermaid source
examples/topologies/exit_lane_rise_bundle_order.mmd
%% Regression fixture for issue #1770. The `mid` section is taller than the
%% `dest` section it feeds, and both are top-aligned in the row, so mid's trunk
%% sits below its own RIGHT exit port: the two-line bundle out of `m_merge`
%% climbs a lane to reach the port. `alpha` arrives level from `feed` while
%% `beta` descends from `upper`, so the entry-port phases re-slot the bundle
%% after the exit port has already taken its own order; the climb must carry
%% that re-slot through instead of crossing the pair on the rise.
%%metro title: Exit-lane rise bundle order
%%metro style: dark
%%metro diamond_style: symmetric
%%metro file: mid_report | HTML | Mid report
%%metro line: alpha | Alpha | #e6007e
%%metro line: beta | Beta | #2db572
%%metro grid: upper | 0,0
%%metro grid: feed | 0,1
%%metro grid: mid | 1,1
%%metro grid: dest | 2,1
graph LR
subgraph upper [Upper]
u1[U1]
end
subgraph feed [Feed]
f1[F1]
end
subgraph mid [Mid]
m_prep[Prep]
m_a[A]
m_b[B]
m_merge[Merge]
m_prep -->|alpha,beta| m_a
m_prep -->|alpha,beta| m_b
m_a -->|alpha,beta| m_merge
m_b -->|alpha,beta| m_merge
m_merge -->|alpha,beta| mid_report
end
subgraph dest [Dest]
d1[D1]
end
u1 -->|beta| m_prep
f1 -->|alpha| m_prep
m_merge -->|alpha,beta| d1
CLI command
Terminal window
nf-metro render examples/topologies/exit_lane_rise_bundle_order.mmd -o exit_lane_rise_bundle_order.svg
Rendered map
Exit-lane rise bundle order 1 2 3 4 HTML Mid report Prep U1 F1 D1 A B Merge Alpha Beta created with nf-metro v2.0.0+dev