From b09493f8ab140f95b6caf8f24ff21604a13dab16 Mon Sep 17 00:00:00 2001 From: Samer Ayadi Date: Thu, 1 Oct 2026 14:33:58 +0200 Subject: [PATCH] TRO-Fluss --use-cords: ohne "gleiche Bahn"-Punktlinien und Legendenzeile Lagerichtig liegen TROs derselben Bahn/Strecke ohnehin sichtbar nebeneinander - die Punktlinien waren dort nur Unruhe. Gezeichnet werden nur noch echte Verbindungen (HundM05 27, Mubea 25). Die berechnete Anordnung ohne --use-cords behaelt Linien und Legendenzeile. Co-Authored-By: Claude Opus 5.5 --- lib/tro_flow.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/tro_flow.py b/lib/tro_flow.py index 3b8981d..73aca7d 100644 --- a/lib/tro_flow.py +++ b/lib/tro_flow.py @@ -1807,18 +1807,18 @@ def render_dot(analysis: Analysis, source: str, use_coords: bool = False) -> str for src, dst in analysis.edges: add(f' "{src}" -> "{dst}" [{_tro_edge_attrs(analysis.edge_kinds.get((src, dst)))}];') + # "gleiche Bahn"-Punktlinien nur in der berechneten Anordnung: lagerichtig + # liegen TROs derselben Bahn/Strecke ohnehin sichtbar nebeneinander, die + # Linien waren dort nur Unruhe (Review 2026-10-01). seen: set[frozenset] = set() - for tro in analysis.tros: + for tro in analysis.tros if not use_coords else []: for other in tro.colocated: key = frozenset((tro.tro_id, other)) if key in seen: continue seen.add(key) - # Lagerichtig liegen gleiche Bahn/Strecke ohnehin sichtbar - # nebeneinander - dort nur noch als blasser Hinweis. - farbe = '"#c8c8c8", penwidth=0.7' if use_coords else '"#7f7f7f"' add(f' "{tro.tro_id}" -> "{other}" [dir=none, style=dotted, ' - f'color={farbe}, constraint=false, tooltip="gleiche Bahn"];') + f'color="#7f7f7f", constraint=false, tooltip="gleiche Bahn"];') add("") # Legende: eine Zeile je TRO-Typ (Farbe der Gruppe + eigene Form, siehe @@ -1843,9 +1843,10 @@ def render_dot(analysis: Analysis, source: str, use_coords: bool = False) -> str 'Uebergabe / Ein-Ausschleusung' 'orange' 'Weiche (Kreisel-Uebergang)' - 'grau gepunktet' - 'gleiche Bahn / Strecke' - ">") + + ('' if use_coords else + 'grau gepunktet' + 'gleiche Bahn / Strecke') + + ">") if use_coords: lx, ly = _legend_pos_rechts(analysis) add(f' legende [shape=plaintext, style="", fillcolor="none", fontsize=11, '