From c0cc32f3f3424079d817358663534093585d16ac Mon Sep 17 00:00:00 2001 From: Kenso Grimm Date: Thu, 17 Sep 2026 08:00:57 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20Kommentar=20zur=20doppelten=20gelben=20?= =?UTF-8?q?Mitte=20und=20R=C3=BCckgabetyp=20berichtigen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der Kommentar nannte 10 cm Abstand der Mitten. Tatsächlich liegen die Achsen 20 cm auseinander, und erst die Pufferung lässt zwischen den gemalten Linien die 10 cm entstehen, die der Entwurf verlangt. Dazu der zugesagte Rückgabetyp statt object. Co-Authored-By: Claude Opus 5 --- docs/superpowers/plans/2026-09-16-strassen.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/superpowers/plans/2026-09-16-strassen.md b/docs/superpowers/plans/2026-09-16-strassen.md index 83c1d1e..0cf4975 100644 --- a/docs/superpowers/plans/2026-09-16-strassen.md +++ b/docs/superpowers/plans/2026-09-16-strassen.md @@ -1405,7 +1405,7 @@ unterbringen, und aus der Nähe bleibt Geometrie scharf, wo eine Textur verwisch """ from __future__ import annotations -from shapely.geometry import LineString +from shapely.geometry import LineString, Polygon from shapely.ops import substring from .roads import Graph @@ -1418,7 +1418,7 @@ KINDS = ("gelb_gestrichelt", "gelb_doppelt", "weiss_gestrichelt", "weiss_rand", "haltelinie", "zebra") -def longitudinal(graph: Graph) -> list[tuple[object, str]]: +def longitudinal(graph: Graph) -> list[tuple[Polygon, str]]: """Mittellinie, Spurtrenner und Randlinien je Kante, zwischen den Kreuzungsrändern.""" out = [] for k, edge in enumerate(graph.edges): @@ -1430,7 +1430,9 @@ def longitudinal(graph: Graph) -> list[tuple[object, str]]: # Wohnstraße: eine gestrichelte gelbe Mitte, Überholen erlaubt. out += [(p, "gelb_gestrichelt") for p in _dashed(line, 0.0)] else: - # Doppelt durchgezogen: zwei Linien mit 10 cm Abstand der Mitten. + # Doppelt durchgezogen: die beiden Achsen liegen 2 * WIDTH auseinander, damit + # zwischen den gemalten Linien die 10 cm des Entwurfs bleiben — jede Linie ist + # selbst WIDTH breit und frisst je die Hälfte des Achsabstands auf. out += [(_solid(line, off), "gelb_doppelt") for off in (-WIDTH, WIDTH)] rand = section.carriageway / 2 - section.parking out += [(_solid(line, off), "weiss_rand") for off in (-rand, rand)]