feat: Cursor in einer Beschreibung wählt ihren Knoten aus
Bisher fiel die Hervorhebung weg, sobald der Cursor von der Knotenzeile auf die `"`-Zeile darunter rückte: Die trägt keinen Knoten, also fand die Zeilensuche nichts. Falsche Auskunft — sie trägt keinen EIGENEN Knoten, gehört aber zu einem, und wer in ihr schreibt, arbeitet an genau diesem. Gilt für beide Formen, nicht nur die Kurzform: Die Zuordnung entsteht an derselben Stelle im Parser, an der auch die `---`-Blöcke landen, und dort trägt die Begründung sogar weiter — der Langtext steht am Dateiende, weit weg von seinem Knoten. Zugeordnet werden Textzeilen, Block-Kopfzeile (sie nennt den Knoten) und Leerzeilen innerhalb eines Blocks; nicht der `---`-Trenner und nichts unter unbekannter ID. `node.descLines` entsteht im Parser, der Renderer gibt sie als `data-desc-lines="3 4 5"` aus, app.js trifft sie per `[data-desc-lines~="N"]`. Bewusst getrennt von `descLines` (dem Text): Dort fallen Leerzeilen zu einem Absatztrenner zusammen und Blocktext unter unbekannter ID kommt gar nicht an. Beide Richtungen gehen jetzt über eine Auflösung (`nodeOfLine()`) — sonst wäre der ausdrückliche Alt+Klick aus einer Beschreibung heraus stumm geblieben, und das ist gerade der Ort, an dem man ihn braucht. 5 neue Tests (204 gesamt). SPEC §9 und D40 (Nachtrag 2) nachgezogen. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
e223734d58
commit
24a70ca49e
+9
-2
@@ -577,8 +577,15 @@ verknüpft (siehe D25):
|
||||
„hinschauen": Er holt **keine Bildschirmtastatur** herauf — die erscheint erst,
|
||||
wenn das Textfeld selbst angetippt wird.
|
||||
- **Text → Diagramm:** Der Knoten der **Cursor-Zeile** wird im Diagramm
|
||||
hervorgehoben und beim Zeilenwechsel ins Bild gescrollt. Zeilen ohne Knoten
|
||||
(Kommentar, Leerzeile, ausgeblendetes verworfenes Element) heben nichts
|
||||
hervorgehoben und beim Zeilenwechsel ins Bild gescrollt. **Beschreibungszeilen
|
||||
zählen zu ihrem Knoten**: Steht der Cursor in einer `"`-Zeile (§1) oder in
|
||||
einem ID-Block des `---`-Beschreibungsteils (Kopfzeile eingeschlossen), gilt
|
||||
der beschriebene Knoten als ausgewählt — solche Zeilen tragen keinen eigenen
|
||||
Knoten, gehören aber zu einem, und wer darin schreibt, arbeitet an genau
|
||||
diesem Knoten. Das gilt für beide Richtungen der Geste (also auch für den
|
||||
ausdrücklichen Alt+Klick unten) und für die Hervorhebung der
|
||||
Abhängigkeits-Kanten (§9). Zeilen ohne Knoten (Kommentar, Leerzeile, der
|
||||
`---`-Trenner selbst, ausgeblendetes verworfenes Element) heben nichts
|
||||
hervor. Die Hervorhebung arbeitet auf einer **eigenen Achse — Tiefe**: weißer
|
||||
Halo + Ring in Tinte, dazu ein Schlagschatten und eine leichte Vergrößerung,
|
||||
sodass der Knoten sich aus der Ebene hebt. Das ist der einzige Kanal, den
|
||||
|
||||
Reference in New Issue
Block a user