- Mit Lanes: ruecksprung_points() fährt senkrecht nur in den Gängen
zwischen den Spalten (rechts der Quelle, links des Ziels) und waagrecht
knapp unter Quelle bzw. Ziel und in einem Kanal am Poolboden. Das
Kanalband wird nach der Platzierung an die letzte Lane angehängt: Die
Elemente bleiben, wo sie sind, die Kante bleibt im eigenen Pool, jede
Rücksprungkante hat eine eigene Kanalhöhe.
- Ohne Lanes: Kanal seitlich an allen Elementen zwischen Quelle und Ziel
vorbei (parallele Zweige stehen versetzt). Steht ein Nachbar in der
Zeile im Weg, unten hinaus bzw. oben hinein über die Lücke zwischen den
Zeilen (zeile(), zeile_frei()).
- beispiel_lanes: Kante S4->S2 läuft nicht mehr durch S5, Pool um das
Kanalband höher, externer Pool entsprechend tiefer. beispiel_prozess:
Kanal bei x 50 statt 20. Referenzmodell unverändert.
- xfail für #12 entfernt; fünf neue Tests in test_md_to_bpmn.py.
- Belastungstest (126 Rücksprung-Varianten, mit/ohne Lanes): Kreuzungen
durch Rücksprungkanten vorher in 31 Fällen, jetzt in keinem.
- Tests: python -m pytest -q -> 102 bestanden, 2 xfail (#13).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>