Route and Traffic Separation
Routes describe the structural path. Traffic lines can then use the same endpoints and render on nearby lanes with independent colors and arrow styles.
<frame width="1120" height="640" class="pa-4">
<generic-group id="route-traffic-separation" title="Route / Traffic Separation" icon-id="104635">
<row gap="32">
<col span="4" class="pa-2">
<generic-group id="client-segment" title="Client Segment" icon-id="101804" align="middle-center">
<item id="200005" name="client" /> <!-- desktop_pc -->
</generic-group>
</col>
<col span="4" class="pa-2">
<container gap="24">
<generic-group id="network-core" title="Network Core" icon-id="104032" align="middle-spread">
<item id="200036" name="router" /> <!-- router_general -->
<item id="200013" name="switch" /> <!-- l2_switch_general -->
</generic-group>
<generic-group id="security-hop" title="Security Hop" icon-id="104151" align="middle-center">
<item id="104151" name="firewall" /> <!-- Tabler: shield -->
</generic-group>
</container>
</col>
<col span="4" class="pa-2">
<container gap="24">
<generic-group id="application-segment" title="Application Segment" icon-id="104109" align="middle-center">
<item id="200041" name="app" /> <!-- server -->
</generic-group>
<generic-group id="data-segment" title="Data Segment" icon-id="101767" align="middle-center">
<item id="101767" name="db" /> <!-- Tabler: database -->
</generic-group>
</container>
</col>
</row>
</generic-group>
<!-- Routes are structural paths. They have no arrowheads. -->
<connection src="client" dst="router" kind="route" />
<connection src="router" dst="switch" kind="route" />
<connection src="switch" dst="firewall" kind="route" />
<connection src="firewall" dst="app" kind="route" />
<connection src="app" dst="db" kind="route" />
<!-- Traffic uses matching endpoints and is rendered beside the route lane. -->
<connection src="client" dst="router" kind="traffic" color="#2563eb" />
<connection src="router" dst="switch" kind="traffic" color="#2563eb" />
<connection src="switch" dst="firewall" kind="traffic" color="#7c3aed" />
<connection src="firewall" dst="app" kind="traffic" color="#16a34a" />
<connection src="app" dst="db" kind="traffic" color="#dc2626" stroke-style="dotted" />
<!-- Reverse traffic can be drawn separately from the same route definition. -->
<connection src="db" dst="app" kind="traffic" color="#ea580c" stroke-style="dashed" />
</frame>