fix: Erledigte Knoten treten nie zurück (D46-Nachtrag)

Gemeldet: manche Knoten in Produktion werden grau dargestellt, etwa
`#ed.fresh`. Ursache war nicht der Status, sondern die Pfad-Inversion:
Der Knoten ist eine Zugabe (`+`) und liegt damit per D29 nie auf dem
günstigsten Pfad — `.cheap-on .node:not(.cheap)` blasste ihn aus
(Deckkraft 0,32, Sättigung 0,4; Pastellblau liest sich so als Grau).

D46 hatte „erledigt tritt nicht zurück" bereits entschieden, die Regel
hing aber an `cheapCls()` und griff nur für Knoten AUF dem Pfad. Durch
das Raster fielen die fertige Zugabe und die fertige, nicht gewählte
Alternative. Jetzt gilt sie unabhängig vom Pfad; Blässe heißt damit
einheitlich „hier ist nichts getan und wird auch nichts getan".

Umgesetzt als eigene Klasse `done` per `isDone(n)` in render.js, nicht
über `st-fertig`/`st-prod`: Die Statusklasse trägt den EFFEKTIVEN Status
(D39), die Ausnahme muss dem intrinsischen folgen — dieselbe Linie wie
bei D35, D28 und der Kostenrechnung aus D46. Gefärbt wird unverändert
nach dem effektiven Status.

Nachgemessen (Werkbaum-Plan, 149 sichtbare Knoten, Pfad an): vorher
blass und fertig waren genau drei Knoten (#ed.fresh, #ed.export.print,
#ed.closure.greedy) — jetzt alle drei opacity 1, filter none, Füllung
rgb(219,234,248) wie die fertigen Knoten auf dem Pfad. Weiterhin blass:
31 Knoten, darunter kein einziger fertiger. Der Grafikexport hatte den
Fehler nie (er liest backgroundColor, nicht opacity).

240 Tests grün (4 neue in tests/frontier.test.js).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mhoennig
2026-08-24 06:15:22 +02:00
co-authored by Claude Opus 5
parent 4619ce7a0b
commit b6e83b4f2a
8 changed files with 147 additions and 10 deletions
+10 -4
View File
@@ -507,10 +507,16 @@ Darstellung per **Inversion**: nicht benötigte Knoten (nicht-gewählte
any-of-Alternativen und optionale Knoten, je samt Teilbaum) treten zurück
(blass, entsättigt); der
günstige Pfad hebt sich dadurch von selbst ab — kein zusätzlicher Rahmen an den
ohnehin dichten Knoten-Ecken. **Erledigte Knoten treten nicht zurück**: Sie
gehören zum Pfad und behalten ihre volle Statusfarbe (§4) — grün bzw. blau sagt
bereits „hier ist nichts mehr zu tun"; sie auszublassen hieße, sie sähen aus wie
eine verworfene Alternative. Wo die Größe **implizit** als `M` angenommen wird,
ohnehin dichten Knoten-Ecken. **Erledigte Knoten treten nie zurück**: Ein Knoten
mit `[x]` oder `[^]` behält seine volle Statusfarbe (§4) — grün bzw. blau sagt
bereits „hier ist nichts mehr zu tun"; ihn auszublassen hieße, er sähe aus wie
eine verworfene Alternative. Das gilt **unabhängig davon, ob er auf dem Pfad
liegt**: auch die fertige Zugabe (`+`, §3) und die fertige, nicht gewählte
Alternative behalten ihre Farbe. Blass heißt damit einheitlich „hier ist nichts
getan und wird auch nichts getan". Maßgeblich ist der **intrinsische** Status
(die eigene Box), gefärbt wird weiterhin nach dem effektiven (oben) — ein von
Abhängigkeiten zurückgehaltenes `[x]` steht also in voller Stärke in seiner
effektiven Farbe. Wo die Größe **implizit** als `M` angenommen wird,
zeigt der Knoten ein **invertiertes** Größen-Badge (weiß mit petrolfarbenem
Rand/Text statt gefüllt) mit erläuterndem Tooltip — an einem **erledigten**
Knoten entfällt es, dort wird keine Kostenannahme mehr getroffen.