Kanten zwischen einer Aufgabe und einem Gateway setzen jetzt auch an der Aufgabe rechtwinklig an. Bisher liefen sie
dort parallel zur Aufgabenkante, wenn die Anschlusspunkte auf verschiedenen Achsen lagen. Die Aufgabe bekommt dafür
ein kurzes gerades Stück senkrecht zu ihrer Seite. Closes#23
Abnahmekriterien (vor der Umsetzung abgestimmt, das Issue hatte keine):
An jedem Rechteck-Element setzt jede Kante rechtwinklig zur Seite ihres Anschlusspunkts an (Strukturtest über
alle Beispiele, vorher in 17 Fällen rot)
Keine neue Kante durch ein Element in den Beispielen, alle bisherigen Strukturtests grün
PICTURE-Import des Referenzmodells
Wie geprüft
python -m pytest -q: 124 passed, 1 skipped. Das „skipped“ ist weiterhin die leere Parameterliste der
bekannten Kreuzungen
python scripts/pruefe_umlaute.py: GRÜN: 0 Fund/e in 12 Datei(en).
python scripts/pruefe_prozesse.py --erzeugen: alle drei Beispiele neu erzeugt, 17 Kantenenden geändert
(beispiel_lanes 2, beispiel_prozess 2, Referenzmodell 13). Prozessbibliothek: noch keine Modelle
Belastungstest aus #12 (126 Fälle mit zusätzlicher Rückwärtsverbindung), main gegen neu:
schräge Anschlüsse an Aufgaben: 378 → 0
Kanten durch Elemente: 22 → 24. Alle Veränderungen liegen in Fällen mit Querverbindung zwischen
Geschwisterzweigen, also der Art von #22: in 4 Fällen eine Kreuzung mehr, in 2 Fällen eine weniger.
Ursache und Fälle stehen im Kommentar-Entwurf zu #22. In den echten Beispielen gibt es keine Kreuzung
Vorschau (geänderte Beispiele nach AGENTS.md): Die Kanten gehen an der Aufgabe zuerst 20 gerade hinaus bzw.
kommen 20 gerade herein und biegen erst dann ab. Beispiel beispiel_lanes, Flow_2: aus S2 erst nach rechts,
dann hinunter zum Gateway S3
PICTURE-Import: PICTURE 2026.4.1, referenz_gewannenfestlegung.bpmn: Import ohne Fehler, die Kanten setzen an
den Aufgaben rechtwinklig an
Änderungen an Syntax und Ablageformat
keine. Die Ausgabe ändert sich bei Kanten zwischen Aufgabe und Gateway mit Anschlüssen auf verschiedenen Achsen.
Modelle der Prozessbibliothek: keine vorhanden.
Übergabenotiz
Aufgabe:#23: Kanten setzen an Arbeitsschritten rechtwinklig zur Kante an, auf der der Anschlusspunkt liegt. Stand: fertig Geändert:
.agents/skills/sn-bpmn/md_to_bpmn.py:
orthogonal_points(): gemischter Fall (nur ein Ende ist Raute) mit Stub auch an der Aufgabe, dann Führung wie
zwischen zwei Rauten. Die Sonderzweige entfallen
neue Konstante RECHTECK_STUB = 20
tests/test_referenzmodelle.py: schraege_anschluesse() und Strukturtest test_kanten_setzen_an_aufgaben_rechtwinklig_an
.agents/skills/sn-bpmn/test_md_to_bpmn.py: Einzeltest für vier Achsen-Kombinationen
Ereignisse (Kreise) sind im neuen Strukturtest nicht enthalten. Bei mehreren Kanten an derselben Seite liegen ihre
Anschlüsse schräg auf dem Kreis, dort ist „rechtwinklig zur Seite“ nicht eindeutig
Die vier zusätzlichen Kreuzungen im Belastungstest sind bewusst nicht in #23 behoben, sondern #22 zugeordnet.
Beide Reihenfolgen, erst senkrecht oder erst waagrecht, sind ohne Hinderniskenntnis gleich gut, und genau diese
Kenntnis ist das Thema von #22
Offen / nächste Schritte:
Kommentar zu #22 abschicken: entwuerfe/20260925-183922-kommentar-Projektwissen-22.md
Wissensbasis:fallstricke.md: neuer Eintrag „Auch das Aufgaben-Ende einer Gateway-Kante braucht ein gerades
Stück“. STATUS.md: Erledigt Kontext für die nächste Sitzung:md_to_bpmn.pyorthogonal_points(), Kommentar in #22, tests/test_referenzmodelle.py (kreuzungen())
Checkliste
Nur Änderungen zum Issue
Keine Debug-print, kein auskommentierter Code
Keine personenbezogenen Daten, keine internen Originalunterlagen
Doku des Skills nachgezogen: nicht betroffen (Syntax unverändert)
## Was
Kanten zwischen einer Aufgabe und einem Gateway setzen jetzt auch an der Aufgabe rechtwinklig an. Bisher liefen sie
dort parallel zur Aufgabenkante, wenn die Anschlusspunkte auf verschiedenen Achsen lagen. Die Aufgabe bekommt dafür
ein kurzes gerades Stück senkrecht zu ihrer Seite.
Closes #23
Abnahmekriterien (vor der Umsetzung abgestimmt, das Issue hatte keine):
- [x] An jedem Rechteck-Element setzt jede Kante rechtwinklig zur Seite ihres Anschlusspunkts an (Strukturtest über
alle Beispiele, vorher in 17 Fällen rot)
- [x] Keine neue Kante durch ein Element in den Beispielen, alle bisherigen Strukturtests grün
- [x] PICTURE-Import des Referenzmodells
## Wie geprüft
- `python -m pytest -q`: `124 passed, 1 skipped`. Das „skipped“ ist weiterhin die leere Parameterliste der
bekannten Kreuzungen
- `python scripts/pruefe_umlaute.py`: `GRÜN: 0 Fund/e in 12 Datei(en).`
- `python scripts/pruefe_prozesse.py --erzeugen`: alle drei Beispiele neu erzeugt, 17 Kantenenden geändert
(`beispiel_lanes` 2, `beispiel_prozess` 2, Referenzmodell 13). Prozessbibliothek: noch keine Modelle
- Belastungstest aus #12 (126 Fälle mit zusätzlicher Rückwärtsverbindung), `main` gegen neu:
- schräge Anschlüsse an Aufgaben: 378 → 0
- Kanten durch Elemente: 22 → 24. Alle Veränderungen liegen in Fällen mit Querverbindung zwischen
Geschwisterzweigen, also der Art von #22: in 4 Fällen eine Kreuzung mehr, in 2 Fällen eine weniger.
Ursache und Fälle stehen im Kommentar-Entwurf zu #22. In den echten Beispielen gibt es keine Kreuzung
- Vorschau (geänderte Beispiele nach `AGENTS.md`): Die Kanten gehen an der Aufgabe zuerst 20 gerade hinaus bzw.
kommen 20 gerade herein und biegen erst dann ab. Beispiel `beispiel_lanes`, `Flow_2`: aus S2 erst nach rechts,
dann hinunter zum Gateway S3
- PICTURE-Import: PICTURE 2026.4.1, `referenz_gewannenfestlegung.bpmn`: Import ohne Fehler, die Kanten setzen an
den Aufgaben rechtwinklig an
## Änderungen an Syntax und Ablageformat
keine. Die Ausgabe ändert sich bei Kanten zwischen Aufgabe und Gateway mit Anschlüssen auf verschiedenen Achsen.
Modelle der Prozessbibliothek: keine vorhanden.
## Übergabenotiz
**Aufgabe:** #23: Kanten setzen an Arbeitsschritten rechtwinklig zur Kante an, auf der der Anschlusspunkt liegt.
**Stand:** fertig
**Geändert:**
- `.agents/skills/sn-bpmn/md_to_bpmn.py`:
- `orthogonal_points()`: gemischter Fall (nur ein Ende ist Raute) mit Stub auch an der Aufgabe, dann Führung wie
zwischen zwei Rauten. Die Sonderzweige entfallen
- neue Konstante `RECHTECK_STUB = 20`
- `tests/test_referenzmodelle.py`: `schraege_anschluesse()` und Strukturtest
`test_kanten_setzen_an_aufgaben_rechtwinklig_an`
- `.agents/skills/sn-bpmn/test_md_to_bpmn.py`: Einzeltest für vier Achsen-Kombinationen
- `beispiele/*.bpmn`: neu erzeugt
- `docs/wissen/fallstricke.md`, `docs/status/STATUS.md`
**Nachweis:** `pytest`: `124 passed, 1 skipped`. PICTURE-Import: PICTURE 2026.4.1, Referenzmodell, in Ordnung
**Entscheidungen/Annahmen:**
- Ereignisse (Kreise) sind im neuen Strukturtest nicht enthalten. Bei mehreren Kanten an derselben Seite liegen ihre
Anschlüsse schräg auf dem Kreis, dort ist „rechtwinklig zur Seite“ nicht eindeutig
- Die vier zusätzlichen Kreuzungen im Belastungstest sind bewusst nicht in #23 behoben, sondern #22 zugeordnet.
Beide Reihenfolgen, erst senkrecht oder erst waagrecht, sind ohne Hinderniskenntnis gleich gut, und genau diese
Kenntnis ist das Thema von #22
**Offen / nächste Schritte:**
1. Kommentar zu #22 abschicken: `entwuerfe/20260925-183922-kommentar-Projektwissen-22.md`
2. Weiter mit #22
**Wissensbasis:** `fallstricke.md`: neuer Eintrag „Auch das Aufgaben-Ende einer Gateway-Kante braucht ein gerades
Stück“. `STATUS.md`: Erledigt
**Kontext für die nächste Sitzung:** `md_to_bpmn.py` `orthogonal_points()`, Kommentar in #22,
`tests/test_referenzmodelle.py` (`kreuzungen()`)
## Checkliste
- [x] Nur Änderungen zum Issue
- [x] Keine Debug-`print`, kein auskommentierter Code
- [x] Keine personenbezogenen Daten, keine internen Originalunterlagen
- [x] Doku des Skills nachgezogen: nicht betroffen (Syntax unverändert)
- [x] Wissensbasis nachgezogen (`fallstricke.md`, `STATUS.md`)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
- orthogonal_points(): Ist nur ein Ende eine Raute, bekommt auch das
Aufgaben-Ende einen geraden Stub senkrecht zu seiner Seite
(RECHTECK_STUB = 20); danach wie zwischen zwei Rauten von Stub zu
Stub. Die beiden Sonderzweige für "nur Quelle/nur Ziel ist Gateway"
entfallen.
- Beispiele neu erzeugt: 17 Kantenenden (2 + 2 + 13), die parallel zur
Aufgabenkante ansetzten, sind korrigiert.
- Strukturtest test_kanten_setzen_an_aufgaben_rechtwinklig_an über alle
Beispiele und Einzeltest für vier Achsen-Kombinationen.
- Belastungstest (126 Fälle): schräge Anschlüsse 378 -> 0; Kreuzungen
22 -> 24, alle in Fällen mit Querverbindung zwischen Zweigen (#22).
- Tests: python -m pytest -q -> 124 bestanden, 1 übersprungen.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Daniel
merged commit 12152eb3b0 into main2026-09-25 16:42:53 +00:00
Daniel
deleted branch bugfix/23-rechtwinklige-anschluesse2026-09-25 16:42:54 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Was
Kanten zwischen einer Aufgabe und einem Gateway setzen jetzt auch an der Aufgabe rechtwinklig an. Bisher liefen sie
dort parallel zur Aufgabenkante, wenn die Anschlusspunkte auf verschiedenen Achsen lagen. Die Aufgabe bekommt dafür
ein kurzes gerades Stück senkrecht zu ihrer Seite.
Closes #23
Abnahmekriterien (vor der Umsetzung abgestimmt, das Issue hatte keine):
alle Beispiele, vorher in 17 Fällen rot)
Wie geprüft
python -m pytest -q:124 passed, 1 skipped. Das „skipped“ ist weiterhin die leere Parameterliste derbekannten Kreuzungen
python scripts/pruefe_umlaute.py:GRÜN: 0 Fund/e in 12 Datei(en).python scripts/pruefe_prozesse.py --erzeugen: alle drei Beispiele neu erzeugt, 17 Kantenenden geändert(
beispiel_lanes2,beispiel_prozess2, Referenzmodell 13). Prozessbibliothek: noch keine Modellemaingegen neu:Geschwisterzweigen, also der Art von #22: in 4 Fällen eine Kreuzung mehr, in 2 Fällen eine weniger.
Ursache und Fälle stehen im Kommentar-Entwurf zu #22. In den echten Beispielen gibt es keine Kreuzung
AGENTS.md): Die Kanten gehen an der Aufgabe zuerst 20 gerade hinaus bzw.kommen 20 gerade herein und biegen erst dann ab. Beispiel
beispiel_lanes,Flow_2: aus S2 erst nach rechts,dann hinunter zum Gateway S3
referenz_gewannenfestlegung.bpmn: Import ohne Fehler, die Kanten setzen anden Aufgaben rechtwinklig an
Änderungen an Syntax und Ablageformat
keine. Die Ausgabe ändert sich bei Kanten zwischen Aufgabe und Gateway mit Anschlüssen auf verschiedenen Achsen.
Modelle der Prozessbibliothek: keine vorhanden.
Übergabenotiz
Aufgabe: #23: Kanten setzen an Arbeitsschritten rechtwinklig zur Kante an, auf der der Anschlusspunkt liegt.
Stand: fertig
Geändert:
.agents/skills/sn-bpmn/md_to_bpmn.py:orthogonal_points(): gemischter Fall (nur ein Ende ist Raute) mit Stub auch an der Aufgabe, dann Führung wiezwischen zwei Rauten. Die Sonderzweige entfallen
RECHTECK_STUB = 20tests/test_referenzmodelle.py:schraege_anschluesse()und Strukturtesttest_kanten_setzen_an_aufgaben_rechtwinklig_an.agents/skills/sn-bpmn/test_md_to_bpmn.py: Einzeltest für vier Achsen-Kombinationenbeispiele/*.bpmn: neu erzeugtdocs/wissen/fallstricke.md,docs/status/STATUS.mdNachweis:
pytest:124 passed, 1 skipped. PICTURE-Import: PICTURE 2026.4.1, Referenzmodell, in OrdnungEntscheidungen/Annahmen:
Anschlüsse schräg auf dem Kreis, dort ist „rechtwinklig zur Seite“ nicht eindeutig
Beide Reihenfolgen, erst senkrecht oder erst waagrecht, sind ohne Hinderniskenntnis gleich gut, und genau diese
Kenntnis ist das Thema von #22
Offen / nächste Schritte:
entwuerfe/20260925-183922-kommentar-Projektwissen-22.mdWissensbasis:
fallstricke.md: neuer Eintrag „Auch das Aufgaben-Ende einer Gateway-Kante braucht ein geradesStück“.
STATUS.md: ErledigtKontext für die nächste Sitzung:
md_to_bpmn.pyorthogonal_points(), Kommentar in #22,tests/test_referenzmodelle.py(kreuzungen())Checkliste
print, kein auskommentierter Codefallstricke.md,STATUS.md)🤖 Generated with Claude Code