feat: Knotenbeschreibungen — "-Zeilen und ----Beschreibungsteil (SPEC §1/§9, D40)

Parser: `"`-Zeilen (Leerraum-Regel, nur ohne Zerlegungszeichen) hängen am
vorangehenden Knoten; hinter einem `---`-Trenner eröffnen #id-Zeilen
Blöcke, deren eingerückte Zeilen der Text sind (Leerzeilen = Absätze,
weitere Trenner bedeutungslos). Freitext ohne §1-Extraktion, nur %% fällt
weiter weg. Warnungen: unknownDesc (ID ohne Knoten, Blocktext wird still
geschluckt) und descStray je verwaister Zeile — ein versehentlicher
Trenner meldet die verschluckten Knotenzeilen zeilengenau. Anzeige im
Tooltip (Text zuerst, mehrzeilig) + aria-label, ”-Marke am Knoten
(nicht im Export — eine Marke ohne Ziel wäre Rauschen). i18n in allen
9 Sprachen; SPEC-§11-Abschnitt in §1/§9 überführt; 16 neue Tests
(tests/desc.test.js).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
mhoennig
2026-08-22 19:01:02 +02:00
co-authored by Claude Fable 5
parent c4abd24ce8
commit a42710b38f
10 changed files with 320 additions and 67 deletions
+4 -2
View File
@@ -111,8 +111,10 @@ entscheiden, **bevor** Code entsteht.
realisierter Alternative; Darstellung als any-of plus „1“-Plakette an der
Sammelleiste (auch im Grafikexport); Legende + i18n in 9 Sprachen;
`tests/xor.test.js`.
- [ ] Knotenbeschreibungen: Schreibweise für kurze und lange Form festlegen
- [x] Knotenbeschreibungen: Schreibweise für kurze und lange Form festlegen
(Einrückung ist bereits Hierarchie), dann Tooltip/Pop-up.
→ Schreibweise entschieden (D34-Nachtrag): Kurzform als `"`-Zeile unter
dem Knoten (Leerraum-Regel), Langform als eingerückte ID-Blöcke hinter
einem `---`-Trenner (SPEC §11). Zu bauen: Parser + Anzeige.
einem `---`-Trenner (SPEC §11). Umgesetzt (D40): Parser (`desc` am
Knoten, Warnungen `unknownDesc`/`descStray`), Anzeige im Tooltip +
`aria-label` mit ”-Marke am Knoten; `tests/desc.test.js`.