feat: Querverbindungen der Abhängigkeiten — gekrümmt, blassgrau, Pfeil aufs Gebrauchte (SPEC §9, D41)
Eigene Zeichenebene wie der Pfad-Spline (Overlay-SVGs, /zoom): Kanten aus den neuen data-id/data-deps-Attributen des Renderers, dünn und blassgrau HINTER den Knoten — das Unterscheidungsmerkmal zu den orthogonalen Baumlinien ist die Krümmung, keine neue Farbe (die Palette ist vergeben, Rot bewusst nicht). Pfeilspitze zeigt auf das Gebrauchte, Endpunkte auf den Knotenkanten. Die Kanten des ausgewählten Knotens (Tastaturfokus, sonst Cursor-Zeile) liegen hervorgehoben in Tinte auf einer vorderen Ebene. Kanten zu verborgenen Zielen entfallen; erste ID-Vergabe gewinnt; Selbst-Abhängigkeiten zeichnen nichts. Basis-Kanten auch im SVG-Export (Schritt 1a) und im Druck, die Hervorhebung nicht. Browser-geprüft in allen drei Modi; Renderer-Attribute testgedeckt. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
a42710b38f
commit
afe536e33c
@@ -1947,3 +1947,41 @@ zusätzlich einzeln anzuprangern wäre nur Lärm (SKIP-Ziel im Parser).
|
||||
Einzige Ausnahme ist `%%`: Der Kommentar fällt im ganzen Dokument als
|
||||
Erstes weg (einheitliche Regel, §1) — so lassen sich auch Beschreibungen
|
||||
kommentieren.
|
||||
|
||||
## D41 — Querverbindungen: Krümmung statt Farbe, Pfeil auf das Gebrauchte
|
||||
Die Abhängigkeits-Kanten (SPEC §9) sind die erste Linienart, die nicht der
|
||||
Zerlegung folgt — §11 verlangte dafür eine eigene Zeichenebene. Gebaut wie der
|
||||
Pfad-Spline (D18): Overlay-SVGs in `#out`, die den CSS-`zoom` erben, neu
|
||||
gezeichnet nach Render und Moduswechsel. Die Bau-Entscheidungen:
|
||||
|
||||
**Das Unterscheidungsmerkmal ist die Krümmung, nicht eine neue Farbe.** Die
|
||||
Palette ist vergeben: Tinte und Grau gehören den Baumlinien, Petrol der
|
||||
Interaktion und dem günstigsten Pfad, `--warn` dem Geister-Knoten — und Rot
|
||||
ist bewusst nicht vergeben (D34 zu LEAN-PATHFINDING). Also tragen die Kanten
|
||||
dasselbe Blassgrau wie die any-of-Führung, aber **geschwungen** (quadratische
|
||||
Kurve mit seitlichem Bauch): Alle Zerlegungslinien sind achsenparallel, jede
|
||||
gekrümmte Linie ist damit auf einen Blick „keine Zerlegung“ — dasselbe Mittel,
|
||||
mit dem sich der Pfad-Spline absetzt. Dünn (1,5 px) und blass (0,35), denn der
|
||||
Baum trägt die Hauptaussage; die **Pfeilspitze zeigt auf das Gebrauchte**
|
||||
(„braucht“-Richtung), Endpunkte auf den Knotenkanten statt -mitten, damit die
|
||||
Spitze sichtbar bleibt.
|
||||
|
||||
**„Ausgewählt“ hat zwei Lesarten, beide gelten:** der Knoten mit
|
||||
Tastaturfokus im Diagramm, sonst der Knoten der Cursor-Zeile (D25). Dessen
|
||||
ein- und ausgehende Kanten wandern auf eine vordere Ebene in Tinte (2 px,
|
||||
0,9) — vorn dürfen sie den Baum überlagern, denn die Hervorhebung ist
|
||||
flüchtig und gerade angefragt. Kein Klick-Auswahlzustand: Der einfache Klick
|
||||
ist der Link (§6), und Knoten fokussieren sich beim Klicken ohnehin.
|
||||
|
||||
**Kanten enden an sichtbaren Knoten oder gar nicht.** Ziel eingeklappt (D38)
|
||||
oder als verworfen ausgeblendet → keine Kante; eine Kante zum eingeklappten
|
||||
Vorfahren wäre eine falsche Aussage über das Ziel. Bei doppelter ID zielt die
|
||||
Kante auf die erste Vergabe — dieselbe Auflösung wie beim effektiven Status
|
||||
(D39). Die Basis-Kanten gehören in Export und Druck (Aussage über den Plan);
|
||||
die Hervorhebung nicht (Interaktion). Selbst-Abhängigkeiten zeichnen keine
|
||||
Kante — ein Kreis von einem Knoten zu sich selbst sagte nichts.
|
||||
|
||||
**Nicht durch Tests gedeckt:** `drawDepLinks()` arbeitet wie `alignStems()`
|
||||
auf dem DOM; headless getestet sind die `data-id`/`data-deps`-Attribute des
|
||||
Renderers, geprüft wurde im Browser (alle drei Modi, Fokus- und
|
||||
Cursor-Hervorhebung, Export).
|
||||
|
||||
+20
-6
@@ -620,6 +620,23 @@ fokussierten Knoten (WAI-ARIA-Baum-Idiom).
|
||||
|
||||
Siehe D38.
|
||||
|
||||
### Querverbindungen der Abhängigkeiten (`:#…`, §1)
|
||||
Abhängigkeiten werden als **optisch sekundäre** Kanten gezeichnet: dünn,
|
||||
blassgrau (`#6B7A8C`), **geschwungen** — die Krümmung unterscheidet sie von
|
||||
den orthogonalen Baumlinien (dasselbe Mittel wie beim Pfad-Spline) — auf einer
|
||||
eigenen Zeichenebene **hinter** den Knoten, mit einer kleinen **Pfeilspitze
|
||||
auf das Gebrauchte** („braucht“-Richtung). Der Baum trägt weiterhin die
|
||||
Hauptaussage.
|
||||
|
||||
- Die Kanten des **ausgewählten** Knotens — Tastaturfokus im Diagramm, sonst
|
||||
der Knoten der Cursor-Zeile — liegen hervorgehoben in Tinte auf einer
|
||||
vorderen Ebene, ein- wie ausgehende.
|
||||
- Kanten zu gerade nicht sichtbaren Knoten (eingeklappt §9, verworfen
|
||||
ausgeblendet §4) entfallen; bei doppelter ID zielt die Kante auf die erste
|
||||
Vergabe (D36/D39).
|
||||
- Die Basis-Kanten erscheinen auch im **Grafikexport** und im **Druck**; die
|
||||
Hervorhebung ist Interaktion und erscheint nicht. Siehe D41.
|
||||
|
||||
### Grafikexport des Diagramms
|
||||
Das Diagramm wird aus der Live-Geometrie in ein eigenständiges SVG (nur Formen
|
||||
+ Text, keine externen Ressourcen) nachgezeichnet. Zwei Icon-Schaltflächen:
|
||||
@@ -735,12 +752,9 @@ Diskrepanz-Marke unten links). Siehe D39.
|
||||
|
||||
### Querverbindungen im Diagramm
|
||||
|
||||
Abhängigkeiten werden als **optisch sekundäre** Querverbindungen gezeichnet
|
||||
(dünn oder gestrichelt) — sie dürfen den Baum nicht überlagern, der die
|
||||
Hauptaussage trägt. Bei ausgewähltem Knoten werden dessen ein- und ausgehende
|
||||
Abhängigkeiten hervorgehoben. Das ist die erste Linienart, die **nicht** der
|
||||
Zerlegung folgt; sie braucht deshalb eine eigene Zeichenebene (SVG, wie der
|
||||
Pfad-Spline in §9), nicht die Rahmenkanten der Knoten.
|
||||
**Umgesetzt** — siehe §9 (Querverbindungen der Abhängigkeiten): eigene
|
||||
SVG-Zeichenebene, gekrümmte blassgraue Kanten mit Pfeilspitze hinter den
|
||||
Knoten, Hervorhebung am ausgewählten Knoten. Begründung: D41.
|
||||
|
||||
### Günstigster Pfad mit Abhängigkeiten
|
||||
|
||||
|
||||
+4
-1
@@ -94,8 +94,11 @@ entscheiden, **bevor** Code entsteht.
|
||||
Abhängigkeiten nur einmal zählen). Erweitert D18; die gierige Wahl je
|
||||
Alternativgruppe ist damit nicht mehr optimal — Verfahren wählen und
|
||||
**benennen**.
|
||||
- [ ] Querverbindungen zeichnen (eigene SVG-Ebene, optisch sekundär);
|
||||
- [x] Querverbindungen zeichnen (eigene SVG-Ebene, optisch sekundär);
|
||||
bei ausgewähltem Knoten ein-/ausgehende hervorheben.
|
||||
→ Umgesetzt (D41): gekrümmte blassgraue Kanten mit Pfeilspitze auf das
|
||||
Gebrauchte, hinter den Knoten (`drawDepLinks`); Hervorhebung in Tinte
|
||||
für Fokus-Knoten bzw. Cursor-Zeile; Basis-Kanten auch im Export/Druck.
|
||||
- [x] Faltmarken `>` / `<` parsen; interaktives Auf-/Zuklappen im Diagramm.
|
||||
→ Schreibweise und Export-Verhalten entschieden (D34-Nachtrag): Marke
|
||||
hinter dem Zerlegungszeichen (`- > [x] …`), Export/Druck folgen der
|
||||
|
||||
Reference in New Issue
Block a user