fix: Querverbindungen gepunktet — zurückhaltender (D41-Nachtrag)
Nutzer-Feedback: Die durchgezogene Kurve konkurrierte trotz Blässe noch mit dem Baum. Basis-Kanten jetzt gepunktet (runde Punkte, .1/5) — damit dreifach von den Baumlinien unterschieden (Krümmung, Blässe, Punktierung). Der D29-Einwand gegen einen dritten Linienstil galt den Baum-Abzweigen im kompakten Modus, nicht der eigenen gekrümmten Ebene. Die Fokus-Hervorhebung bleibt durchgezogen in Tinte; Export identisch. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
d2ab30b63d
commit
1cd1d30d1b
+2
-2
@@ -295,8 +295,8 @@ verworfene Elemente. Quelle sind ES-Module unter `src/`; `index.html` ist der
|
||||
- Querverbindungen (SPEC §9, D41): `drawDepLinks()` zeichnet die
|
||||
Abhängigkeits-Kanten als Overlay-SVGs (wie `drawCheapPath`, `/zoom`
|
||||
umrechnen) aus den Renderer-Attributen `data-id`/`data-deps` — gekrümmt
|
||||
(Merkmal gegenüber den orthogonalen Baumlinien), blassgrau hinter den
|
||||
Knoten, Pfeil aufs Gebrauchte; Hervorhebung (Fokus bzw. Cursor-Zeile,
|
||||
und GEPUNKTET (doppelt unterschieden von den orthogonalen Baumlinien,
|
||||
D41-Nachtrag), blassgrau hinter den Knoten, Pfeil aufs Gebrauchte; Hervorhebung (Fokus bzw. Cursor-Zeile,
|
||||
`activeDepNode()`) in Tinte auf der vorderen Ebene. Aufgerufen aus
|
||||
`highlightCurrentNode()` (läuft in jedem `render()`), `applyLayout()` und
|
||||
den focusin/focusout-Handlern — NICHT doppelt in `render()` einhängen.
|
||||
|
||||
+2
-2
@@ -486,8 +486,8 @@ function diagramToSvg(){
|
||||
Knoten; die Fokus-Hervorhebung ist Interaktion und wird nicht exportiert. */
|
||||
depEdges().forEach(([from, to]) => {
|
||||
const c = depCurve(R(from), R(to));
|
||||
parts.push(`<path d="${c.d}" fill="none" stroke="#6B7A8C" stroke-width="1.5" opacity="0.35" stroke-linecap="round"/>`);
|
||||
parts.push(`<path d="${depArrow(c.end, c.ctrl)}" fill="#6B7A8C" opacity="0.35"/>`);
|
||||
parts.push(`<path d="${c.d}" fill="none" stroke="#6B7A8C" stroke-width="1.5" opacity="0.4" stroke-linecap="round" stroke-dasharray="0.1 5"/>`);
|
||||
parts.push(`<path d="${depArrow(c.end, c.ctrl)}" fill="#6B7A8C" opacity="0.4"/>`);
|
||||
});
|
||||
|
||||
/* 1b) Günstigster-Pfad: kräftige Linie hinter den Knoten */
|
||||
|
||||
@@ -702,13 +702,16 @@
|
||||
Blättern zeigen, welche Knoten wirklich auf dem Pfad enden — durchquerte
|
||||
Fremdknoten tragen keinen Punkt. Reihenfolge im DOM steuert vorn/hinten. */
|
||||
.cheap-overlay{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}
|
||||
/* Querverbindungen der Abhängigkeiten (SPEC §9, D41): dünn, blassgrau,
|
||||
gekrümmt — die Krümmung unterscheidet sie von den orthogonalen Baumlinien.
|
||||
Hervorgehobene Kanten (fokussierter Knoten/Cursor-Zeile) in Tinte. */
|
||||
/* Querverbindungen der Abhängigkeiten (SPEC §9, D41): blassgrau GEPUNKTET
|
||||
und gekrümmt — Punktierung und Krümmung unterscheiden sie doppelt von den
|
||||
Baumlinien (durchgezogen/gestrichelt, orthogonal) und halten sie leise
|
||||
(D41-Nachtrag). Hervorgehobene Kanten (fokussierter Knoten/Cursor-Zeile)
|
||||
durchgezogen in Tinte. */
|
||||
.dep-overlay{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}
|
||||
.dep-edge{fill:none;stroke:var(--muted);stroke-width:1.5;opacity:.35;stroke-linecap:round}
|
||||
.dep-arrow{fill:var(--muted);opacity:.35}
|
||||
.dep-edge.hl{stroke:var(--line);stroke-width:2;opacity:.9}
|
||||
.dep-edge{fill:none;stroke:var(--muted);stroke-width:1.5;opacity:.4;
|
||||
stroke-linecap:round;stroke-dasharray:.1 5}
|
||||
.dep-arrow{fill:var(--muted);opacity:.4}
|
||||
.dep-edge.hl{stroke:var(--line);stroke-width:2;opacity:.9;stroke-dasharray:none}
|
||||
.dep-arrow.hl{fill:var(--line);opacity:.9}
|
||||
.cheap-path{fill:none;stroke:var(--or);stroke-width:2.5;stroke-linecap:round;
|
||||
stroke-dasharray:8 6;opacity:.9}
|
||||
|
||||
Reference in New Issue
Block a user