feat: Labels brechen balanciert um, ID-Zeile über dem Titel, Falt-Chip — D64
Lange Knotentitel brechen bei ~40 Zeichen um, gleichmäßig auf die Zeilen verteilt — vom Renderer (wrapLabel, headless getestet) statt text-wrap:balance, damit der Kasten auf die längste balancierte Zeile schrumpft. Der 23-px-Abzweig ankert an der ersten Zeile; der Optional-Kreis sitzt fest auf der Abzweighöhe. Der Grafikexport misst die gerenderten Zeilen (labelLines) und gibt je Zeile ein <text> aus. Dazu: die eingeblendete ID (D56) steht in einer eigenen Zeile über dem Titel, und das Falt-Zeichen ist ein gerahmter 19×16-px-Chip mit gedeckelter Höhe. Plan: #ed.render.wrap, #ed.render M→L (D62-Prüfung schlug korrekt an). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
1debb7d9da
commit
52232f2c20
@@ -41,6 +41,15 @@ verworfene Elemente. Quelle sind ES-Module unter `src/`; `index.html` ist der
|
||||
- Abzweig-Linien zielen auf die **Knotenmitte** (fester 23-px-Offset,
|
||||
`line-height: 1.3`), nicht auf die Mitte des Teilbaums — bei Layout-
|
||||
Änderungen alle drei Modi (horizontal/vertikal/kompakt) prüfen.
|
||||
**Seit D64 brechen lange Labels um** (`wrapLabel()` in render.js setzt `\n`,
|
||||
`white-space:pre-line` macht sie sichtbar): Bei mehrzeiligen Knoten trifft
|
||||
der 23-px-Abzweig die Mitte der **ersten Zeile**; der Optional-Kreis sitzt
|
||||
deshalb fest bei `top:18px` (= Abzweighöhe), nicht bei 50 % (Ausnahme:
|
||||
vertikal zentrierte all-of-Zwischenknoten). Nichts in den Knoten darf die
|
||||
Zeilenbox über die festen ~18,3 px heben — der Falt-Chip hat darum
|
||||
`line-height:14px` ohne vertikales Padding (mit 15 px wuchs der Knoten
|
||||
gemessen um 0,7 px). Der Export zeichnet je gerenderter Zeile ein `<text>`
|
||||
(`labelLines()`, misst zeichenweise per Range am Live-Knoten).
|
||||
Vertikal + kompakt teilen die transponierte Basis-CSS; nur vertikal
|
||||
bekommt den Rechts-Ausgang für „all of“, kompakt führt auch „all of“
|
||||
nach unten. Any-of ist in allen Modi grau: Linien gestrichelt grau und
|
||||
|
||||
Reference in New Issue
Block a user