change: Textfeld bricht Zeilen nicht mehr um, waagerechter Balken (D49)
Gewünscht — und damit die ausdrückliche Umkehrung der D33-Abwägung („Verworfen: wrap=off … der Umbruch ist die wichtigere Eigenschaft"). Der dort notierte Preis bleibt richtig; nicht bedacht war die andere Seite: Ein weicher Umbruch zerstört die Einrückung, und die trägt in dieser Notation die Hierarchie. Die Fortsetzung einer umbrochenen Zeile beginnt am linken Rand und sieht aus wie ein Wurzelknoten — betroffen sind genau die langen Zeilen, also die mit ID, Größe und Kommentar, seit D48 praktisch jede Zeile des Plans. Umgesetzt als `wrap="off"` am Element (Eigenschaft des Feldes, nicht seiner Gestaltung), `overflow:auto` daneben im Stylesheet. Der Spiegel musste mit: `syncMirror()` maß mit `white-space:pre-wrap` und fester Breite — genau die Kombination, die im Spiegel Zeilen umbräche, die im Textfeld ungebrochen stehen; alles darunter läge zu tief und die Zeilennummern wanderten weg. Jetzt `pre` und ohne Breitenvorgabe. Gemessen wird trotzdem weiter statt `Zeilenhöhe × n` zu rechnen: Die Schriftgröße unterscheidet sich zwischen Telefon und Schreibtisch, die Messung stimmt in beiden Fällen von selbst. Der Sprung setzt `scrollLeft` zurück. `jumpToLine()` markiert die ganze Zeile, woraufhin der Browser von sich aus an deren Ende scrollt — man landete am rechten Rand, ohne Einrückung, Zeichen und Statusbox zu sehen. Der Sprung zeigt auf eine Zeile, nicht auf ihr Ende. Nachgemessen am Plan (903 Zeilen, längste 122 Zeichen): 903 Bildzeilen zu 903 logischen Zeilen in beiden Ansichten; Schiebeweg 211 px am Schreibtisch, 432 px auf 375 px Breite; der Zeilennummern-Streifen bleibt beim waagerechten Verschieben stehen (linke Kante unverändert bei 180 px Versatz); Abweichung der Zahlen am Dateiende 2 px auf 903 Zeilen (Rundung von `offsetTop`, sammelt sich nicht auf). 236 Tests grün. SPEC §9 (Zeilennummern) und D49 halten es fest; die D33-Stelle bekommt einen Verweis, dass die Abwägung umgekehrt wurde — gelöscht wird dort nichts. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
623b68799f
commit
1b8bf06973
+9
-3
@@ -677,14 +677,20 @@ Links neben dem Textfeld steht ein schmaler Streifen mit den **Zeilennummern**
|
||||
dieselben, die die Warnungen nennen („Zeile 12: …", §4). Ohne ihn muss man sie
|
||||
im Text abzählen.
|
||||
|
||||
- Gezählt werden **logische** Zeilen des Notationstexts. Eine weich umbrochene
|
||||
Zeile behält **eine** Nummer; die Nummer steht an ihrer ersten Bildzeile.
|
||||
- **Das Textfeld bricht Zeilen nicht um** (D49). Die Einrückung trägt die
|
||||
Hierarchie (§2), und ein weicher Umbruch setzt die Fortsetzung an den linken
|
||||
Rand — die Ebene wäre damit gerade dort nicht mehr abzulesen, wo eine Zeile
|
||||
lang ist. Zu lange Zeilen bekommen einen **waagerechten Balken**; eine
|
||||
logische Zeile ist damit immer genau eine Bildzeile.
|
||||
- Der Streifen scrollt **nur senkrecht** mit: Die Zahlen bleiben stehen, wenn
|
||||
der Text waagerecht verschoben wird. Ein Sprung auf eine Zeile (§9) setzt die
|
||||
waagerechte Verschiebung zurück — er zeigt auf eine Zeile, nicht auf ihr Ende.
|
||||
- Die **Cursor-Zeile** und Zeilen mit einer **Warnung** heben sich ab (Warnung in
|
||||
`--warn`, `#B45309`) — genau die beiden Fälle, für die man hinsieht.
|
||||
- Reine Lesehilfe: kein Bestandteil des Notationstexts, nicht im Grafikexport
|
||||
und nicht im Druck (dort ist ohnehin nur das Diagramm zu sehen).
|
||||
|
||||
Siehe D33.
|
||||
Siehe D33, D49.
|
||||
|
||||
### Fokusmarke im Diagramm (`!!!`, §1)
|
||||
Ein mit `!!!` markierter Knoten trägt einen **Strahlenkranz in Petrol** —
|
||||
|
||||
Reference in New Issue
Block a user