Beschriftungen und Anmerkungen ohne Überlappung setzen (#14) #24

Merged
Daniel merged 1 commits from bugfix/14-beschriftungen into main 2026-09-25 14:22:14 +00:00
Owner

Was

Gateway-Beschriftungen bekommen eine feste Position (45°, bei belegtem Platz die nächste freie Stelle), weil PICTURE
sie aus der Datei übernimmt. Anmerkungen stehen rechts neben dem Pool in einer Größe passend zum Text. Den Umfang
hat der Abgleich mit PICTURE festgelegt, siehe Kommentar im Issue.
Closes #14

Wie geprüft

  • python -m pytest -q: 117 passed, 1 skipped. Das „skipped“ ist wie seit #13 die leere Parameterliste von
    test_bekannte_kreuzung_ist_behoben
  • 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. Prozessbibliothek: noch keine
    Modelle
  • Neue Strukturtests über alle Beispiele. Sie waren vor der Umsetzung rot (keine Position, Anmerkungen im Pool bzw.
    zu klein):
    • Gateway-Beschriftung ungeschnitten und in der eigenen Lane
    • Anmerkungen ohne Überlappung, neben dem Pool und groß genug für ihren Text
  • Gewählte Positionen: 12 × 45°, 5 × 45° rechts vom Ost-Stub. Die Rückfallposition (alle Stellen belegt) kommt
    nicht vor
  • Vorschau (geänderte Beispiele nach AGENTS.md):
    • Gateway-Beschriftungen stehen oben rechts statt unter der Raute
    • Kantenbeschriftungen („Ja“/„Nein“) an waagrecht ausgehenden Gateway-Kanten stehen unter der Linie
    • Die vier Hinweise des Referenzmodells stehen rechts neben dem Pool untereinander. Der Pool ist dadurch
      schmaler, weil er die Hinweise nicht mehr enthält
  • PICTURE-Import: PICTURE 2026.4.1, referenz_gewannenfestlegung.bpmn: erfolgreich, Gateway-Beschriftungen und
    Hinweise wie gewünscht

Änderungen an Syntax und Ablageformat

keine. Die Ausgabe ändert sich bei Gateways mit Beschriftung und bei Hinweisen. Modelle der Prozessbibliothek:
keine vorhanden.

Übergabenotiz

Aufgabe: #14: Beschriftungen sind lesbar und überdecken sich nicht, in PICTURE wie in der Vorschau.
Stand: fertig
Geändert:

  • .agents/skills/sn-bpmn/md_to_bpmn.py:
    • Gateway-Beschriftungen (BPMNLabel) werden nach allen Kanten gewählt, aus fünf Kandidaten. Hilfen
      _strecke_schneidet(), _rechtecke_ueberlappen()
    • Kantenbeschriftung waagrecht aus Gateways unter der Linie
    • Anmerkungen neben dem Pool, text_zeilen(), anmerkung_groesse(), Pool ohne Anmerkungen bemessen
    • Konstanten ZEICHENBREITE, ZEILENHOEHE, ANMERKUNG_BREITE, ANMERKUNG_ABSTAND, GATEWAY_LABEL_BREITE,
      GATEWAY_LABEL_ZEILE
  • tests/test_referenzmodelle.py: fünf neue Strukturtests
  • .agents/skills/sn-bpmn/test_md_to_bpmn.py: drei Einzeltests (Textschätzung, 45° ohne Hindernis, Anmerkung wächst
    mit dem Text)
  • beispiele/*.bpmn: neu erzeugt
  • Anleitung.md, docs/wissen/fallstricke.md, docs/status/STATUS.md

Nachweis: pytest: 117 passed, 1 skipped. PICTURE-Import: PICTURE 2026.4.1, Referenzmodell, erfolgreich
Entscheidungen/Annahmen:

  • Anmerkungen rechts neben dem Pool, so abgestimmt. Sie liegen damit außerhalb des Pools, was BPMN erlaubt
  • Die Textgröße wird grob geschätzt (7 Einheiten je Zeichen, eher großzügig). Ist die Schrift in PICTURE deutlich
    größer, müsste ZEICHENBREITE steigen
  • GATEWAY_LABEL_BREITE = 90 statt 100: Bei 100 ragte die Beschriftung von S27 über die Ausweichachse aus #8
  • Datenobjekte, Datenspeicher und Gruppen bleiben, wo sie waren. Sie kommen in keinem Beispiel vor und gehörten
    nicht zum Issue

Offen / nächste Schritte:

  1. Kommentar zu #14 abschicken (Mensch)
  2. Issue-Entwurf zu den Vorwärtskanten aus #12 anlegen: entwuerfe/20260925-131338-issue-Projektwissen.md

Wissensbasis: fallstricke.md: neuer Eintrag „PICTURE übernimmt Beschriftungspositionen und Kästchengrößen aus
der Datei“. Anleitung.md: Absatz zu Hinweisen und Gateway-Beschriftungen. STATUS.md: Erledigt
Kontext für die nächste Sitzung: md_to_bpmn.py Ende von build_bpmn() (Wahl der Gateway-Beschriftung),
tests/test_referenzmodelle.py

Checkliste

  • Nur Änderungen zum Issue (Umfang laut Kommentar im Issue)
  • Keine Debug-print, kein auskommentierter Code
  • Keine personenbezogenen Daten, keine internen Originalunterlagen
  • Doku des Skills nachgezogen (Anleitung.md)
  • Wissensbasis nachgezogen (fallstricke.md, STATUS.md)

🤖 Generated with Claude Code

## Was Gateway-Beschriftungen bekommen eine feste Position (45°, bei belegtem Platz die nächste freie Stelle), weil PICTURE sie aus der Datei übernimmt. Anmerkungen stehen rechts neben dem Pool in einer Größe passend zum Text. Den Umfang hat der Abgleich mit PICTURE festgelegt, siehe Kommentar im Issue. Closes #14 ## Wie geprüft - `python -m pytest -q`: `117 passed, 1 skipped`. Das „skipped“ ist wie seit #13 die leere Parameterliste von `test_bekannte_kreuzung_ist_behoben` - `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. Prozessbibliothek: noch keine Modelle - Neue Strukturtests über alle Beispiele. Sie waren vor der Umsetzung rot (keine Position, Anmerkungen im Pool bzw. zu klein): - Gateway-Beschriftung ungeschnitten und in der eigenen Lane - Anmerkungen ohne Überlappung, neben dem Pool und groß genug für ihren Text - Gewählte Positionen: 12 × 45°, 5 × 45° rechts vom Ost-Stub. Die Rückfallposition (alle Stellen belegt) kommt nicht vor - Vorschau (geänderte Beispiele nach `AGENTS.md`): - Gateway-Beschriftungen stehen oben rechts statt unter der Raute - Kantenbeschriftungen („Ja“/„Nein“) an waagrecht ausgehenden Gateway-Kanten stehen unter der Linie - Die vier Hinweise des Referenzmodells stehen rechts neben dem Pool untereinander. Der Pool ist dadurch schmaler, weil er die Hinweise nicht mehr enthält - PICTURE-Import: PICTURE 2026.4.1, `referenz_gewannenfestlegung.bpmn`: erfolgreich, Gateway-Beschriftungen und Hinweise wie gewünscht ## Änderungen an Syntax und Ablageformat keine. Die Ausgabe ändert sich bei Gateways mit Beschriftung und bei Hinweisen. Modelle der Prozessbibliothek: keine vorhanden. ## Übergabenotiz **Aufgabe:** #14: Beschriftungen sind lesbar und überdecken sich nicht, in PICTURE wie in der Vorschau. **Stand:** fertig **Geändert:** - `.agents/skills/sn-bpmn/md_to_bpmn.py`: - Gateway-Beschriftungen (`BPMNLabel`) werden nach allen Kanten gewählt, aus fünf Kandidaten. Hilfen `_strecke_schneidet()`, `_rechtecke_ueberlappen()` - Kantenbeschriftung waagrecht aus Gateways unter der Linie - Anmerkungen neben dem Pool, `text_zeilen()`, `anmerkung_groesse()`, Pool ohne Anmerkungen bemessen - Konstanten `ZEICHENBREITE`, `ZEILENHOEHE`, `ANMERKUNG_BREITE`, `ANMERKUNG_ABSTAND`, `GATEWAY_LABEL_BREITE`, `GATEWAY_LABEL_ZEILE` - `tests/test_referenzmodelle.py`: fünf neue Strukturtests - `.agents/skills/sn-bpmn/test_md_to_bpmn.py`: drei Einzeltests (Textschätzung, 45° ohne Hindernis, Anmerkung wächst mit dem Text) - `beispiele/*.bpmn`: neu erzeugt - `Anleitung.md`, `docs/wissen/fallstricke.md`, `docs/status/STATUS.md` **Nachweis:** `pytest`: `117 passed, 1 skipped`. PICTURE-Import: PICTURE 2026.4.1, Referenzmodell, erfolgreich **Entscheidungen/Annahmen:** - Anmerkungen rechts neben dem Pool, so abgestimmt. Sie liegen damit außerhalb des Pools, was BPMN erlaubt - Die Textgröße wird grob geschätzt (7 Einheiten je Zeichen, eher großzügig). Ist die Schrift in PICTURE deutlich größer, müsste `ZEICHENBREITE` steigen - `GATEWAY_LABEL_BREITE = 90` statt 100: Bei 100 ragte die Beschriftung von S27 über die Ausweichachse aus #8 - Datenobjekte, Datenspeicher und Gruppen bleiben, wo sie waren. Sie kommen in keinem Beispiel vor und gehörten nicht zum Issue **Offen / nächste Schritte:** 1. Kommentar zu #14 abschicken (Mensch) 2. Issue-Entwurf zu den Vorwärtskanten aus #12 anlegen: `entwuerfe/20260925-131338-issue-Projektwissen.md` **Wissensbasis:** `fallstricke.md`: neuer Eintrag „PICTURE übernimmt Beschriftungspositionen und Kästchengrößen aus der Datei“. `Anleitung.md`: Absatz zu Hinweisen und Gateway-Beschriftungen. `STATUS.md`: Erledigt **Kontext für die nächste Sitzung:** `md_to_bpmn.py` Ende von `build_bpmn()` (Wahl der Gateway-Beschriftung), `tests/test_referenzmodelle.py` ## Checkliste - [x] Nur Änderungen zum Issue (Umfang laut Kommentar im Issue) - [x] Keine Debug-`print`, kein auskommentierter Code - [x] Keine personenbezogenen Daten, keine internen Originalunterlagen - [x] Doku des Skills nachgezogen (`Anleitung.md`) - [x] Wissensbasis nachgezogen (`fallstricke.md`, `STATUS.md`) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Daniel added 1 commit 2026-09-25 14:22:07 +00:00
- Gateway-Beschriftungen bekommen eine feste Position (BPMNLabel), weil
  PICTURE sie aus der Datei übernimmt: 45° wie im PICTURE-Editor, sonst
  45° rechts vom Ost-Stub, 315°, 135°, 225° – die erste Stelle ohne
  Kante, Kantenbeschriftung oder Element. Gesetzt nach allen Kanten.
- Kantenbeschriftungen waagrecht aus einem Gateway stehen unter der Linie
  (darüber steht die Gateway-Beschriftung).
- Anmerkungen rechts neben dem Pool untereinander, Höhe passend zum Text
  (text_zeilen(), anmerkung_groesse()); Pool ohne Anmerkungen bemessen.
- Beispiele neu erzeugt. Alle 17 Gateway-Beschriftungen auf 45° bzw. 45°
  rechts vom Stub, keine im Lane-Kopf oder in einer Nachbar-Lane.
- Strukturtests für alle Beispiele (Beschriftung ungeschnitten, in der
  eigenen Lane; Anmerkungen ohne Überlappung, neben dem Pool, groß genug)
  und drei Einzeltests.
- Tests: python -m pytest -q -> 117 bestanden, 1 übersprungen (leere
  Parameterliste der bekannten Kreuzungen).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Daniel merged commit c9b794a123 into main 2026-09-25 14:22:14 +00:00
Daniel deleted branch bugfix/14-beschriftungen 2026-09-25 14:22:14 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: AG_Prozesse/Projektwissen#24