Nachrichtenflüsse senkrecht und an Elementen vorbei führen (#13)

- Nachrichtenflüsse enden senkrecht unter ihrem Startpunkt an der
  Oberkante des externen Pools statt an einem verteilten Punkt (keine
  schrägen Linien mehr); die Anschlussverteilung am externen Pool entfällt.
- Steht unter dem Schritt ein Element: kurz nach unten (NACHRICHT_STUB),
  dann in einen freien Gang – mit Lanes neben der Spalte, versetzt zu den
  Rücksprungkanten (NACHRICHT_VERSATZ); ohne Lanes rechts neben allen
  Elementen, der Pool wird dafür breiter.
- beispiel_lanes und Referenzmodell neu erzeugt: die beiden bekannten
  Kreuzungen (S5, S24) sind behoben, BEKANNTE_KREUZUNGEN ist leer.
- Vier neue Tests (rechtwinklig, keine Kreuzung; je mit und ohne Lanes).
- Belastungstest (342 Varianten): Kreuzungen durch Nachrichtenflüsse
  vorher 182, jetzt 0; schräge Nachrichtenflüsse vorher 600, jetzt 0.
- Tests: python -m pytest -q -> 106 bestanden, 1 übersprungen (leere
  Parameterliste von test_bekannte_kreuzung_ist_behoben).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-25 15:29:53 +02:00
co-authored by Claude Opus 5.5
parent d42c4fb06e
commit 558099771b
8 changed files with 114 additions and 12 deletions
+6
View File
@@ -5,6 +5,12 @@ Kurz, konkret, mit Datum und Quelle. Neue Einträge oben in der passenden Rubrik
## BPMN und PICTURE (Skill sn-bpmn, md_to_bpmn.py)
- **Nachrichtenflüsse enden senkrecht unter ihrem Start, nicht an einem verteilten Punkt.** Der externe Pool ist
ein breites Rechteck, jeder Punkt an seiner Oberkante ist ein gültiger Anschluss. Die frühere Verteilung der
Anschlusspunkte über die Pool-Oberkante erzeugte schräge Linien quer durch das Diagramm. Steht unter dem Schritt
ein Element, geht der Fluss über einen Gang: mit Lanes 20 neben dem Gang der Rücksprungkanten und mit längerem
Stub (30 statt 20), damit sich beide nicht überdecken; ohne Lanes rechts neben allen Elementen, dafür wird der
Pool breiter. Belastungstest mit 342 Varianten: vorher 182 Fälle mit Kreuzung, jetzt keiner. (#13, 25.09.2026)
- **Rücksprungkanten brauchen je Layout eine eigene Führung.** Mit Lanes stehen die Elemente in festen Spalten
(linksbündig, 190 auseinander). Der Rückweg läuft senkrecht nur in den Gängen zwischen den Spalten und waagrecht
in einem Kanalband, das am Boden der letzten Lane **nach** der Platzierung angehängt wird. So bleiben die