frontend: Strahlenkranz robust machen (Stapelordnung + Pfad-Inversion)
Gemeldet von der deployten Seite: „nur die linke Hälfte gelb, kein Rahmen drum herum". Zwei Ursachen gefunden — beide betreffen den Kranz, weil er AUSSERHALB der Knotenbox liegt und damit fremden Malvorgängen ausgeliefert ist: - Fehlende Stapelordnung: Jedes später kommende Geschwister malt seinen undurchsichtigen Hintergrund über den Schein und schneidet ihn einseitig ab — übrig bleibt eine gelbe Kante, die wie ein halber Hintergrund aussieht statt wie ein Rahmen. Die Geschwister-Abstände (gemessen 24–25 px) liegen nur knapp über der Reichweite des Scheins (Blur 16 + Spread 5 = 21 px); bei Zoom, längeren Labels oder engeren Layouts reicht das nicht. Jetzt `z-index:2`. - Pfad-Inversion dimmte die Meldung weg: `.cheap-on .node:not(.cheap)` setzt `opacity:.32; filter:saturate(.4)` und traf damit auch den gelben Kranz (nachgemessen: Deckkraft 0,32 ⇒ praktisch unsichtbar). Gerade bei einer nicht gewählten Alternative ist „das ist jetzt live" aber die interessantere Nachricht. Neue Regel hebt beides für `.fresh` auf. Verifiziert gegen das gebaute dist-Artefakt (dasselbe, das deployt wird): z-index 2 gesetzt; ein nicht-günstiger Knoten mit .fresh hat wieder opacity 1 / filter none bei unverändertem Kranz; im kompakten Modus liegt kein Geschwister mehr über dem Schein. Vitest 46/46. Nicht reproduziert: die exakte Beschreibung (gelb nur hinter der linken Texthälfte) trat bei mir weder im Dev-Server noch im dist-Artefakt auf, in keinem der drei Modi. Die beiden behobenen Defekte erklären sie plausibel, bewiesen ist das nicht. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
7a52277b84
commit
744bb0bcf3
@@ -710,6 +710,23 @@ soll verschwinden, wenn sie ihren Zweck erfüllt hat.
|
||||
Dokument geändert, wird es nicht mehr nachgezogen (D27) — dann gibt es keine
|
||||
saubere Vergleichsbasis, und es wird nichts hervorgehoben.
|
||||
|
||||
**Zwei Nachbesserungen nach dem ersten Blick auf die deployte Seite.** Gemeldet
|
||||
war „nur die linke Hälfte gelb, kein Rahmen drum herum":
|
||||
|
||||
- **`z-index:2` am neuen Knoten.** Der Schein liegt *außerhalb* der Knotenbox.
|
||||
Ohne eigene Stapelordnung malt jedes **später kommende Geschwister** seinen
|
||||
undurchsichtigen Hintergrund darüber und schneidet den Kranz einseitig ab —
|
||||
übrig bleibt eine gelbe Kante, die wie ein halber Hintergrund aussieht statt
|
||||
wie ein Rahmen. Die Abstände (24–25 px) liegen nur knapp über der Reichweite
|
||||
des Scheins (Blur 16 + Spread 5 = 21 px); in engeren Layouts, bei Zoom oder
|
||||
längeren Labels reicht das nicht.
|
||||
- **Die Pfad-Inversion darf „neu" nicht wegdimmen.**
|
||||
`.cheap-on .node:not(.cheap)` setzt `opacity:.32; filter:saturate(.4)` — das
|
||||
trifft auch den gelben Kranz und macht ihn praktisch unsichtbar. Gerade bei
|
||||
einer *nicht gewählten* Alternative ist „das ist jetzt live" aber die
|
||||
interessantere Nachricht. Deshalb `.cheap-on .node:not(.cheap).fresh
|
||||
{opacity:1;filter:none}`.
|
||||
|
||||
**Stolperfalle (beim Bauen hineingelaufen):** Die Menge der neuen Knoten muss aus
|
||||
**denselben Knotenobjekten** gebildet werden, die gerade gerendert werden. Zuerst
|
||||
wurde sie beim Laden aus einem eigenen Parse-Durchlauf berechnet — der Zähler
|
||||
|
||||
Reference in New Issue
Block a user