frontend: Günstigster-Pfad-Hervorhebung per Inversion + implizites M
- Umschalter im Diagramm-Kopf (Default an, Zustand in werkbaum-ui persistiert) - nötige Knoten: all-of ⇒ alle Kinder, any-of ⇒ günstigste Alternative (kleinste rekursive Kosten; Gleichstand ⇒ erste); verworfene zählen nie mit - Darstellung per Inversion: nicht benötigte Knoten treten blass/entsättigt zurück (kein Zusatzrahmen an den ohnehin dichten Knoten-Ecken) - fehlende T-Shirt-Größe wird für die Kostenschätzung als M gewertet; invertiertes M-Badge (weiß mit Petrol-Rand) macht die Annahme sichtbar - neue Tooltips i18n (DE-Quelle + 8 Übersetzungen, 50 Keys × 9) - SPEC §9 (Günstigster Pfad) und DECISIONS D18 mitgeführt Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
9438935c41
commit
c8f8160eca
@@ -150,3 +150,26 @@ Sprachleiste zeigt nur Englisch + aktive Sprache + „…“. Voreinstellung ist
|
||||
`matchMedia`), damit CSS und JS denselben Schwellwert teilen; die Vollbild-
|
||||
Voreinstellung greift nur, wenn noch **keine** gespeicherte Nutzerwahl vorliegt
|
||||
(eine bewusste Abschaltung bleibt so erhalten, siehe localStorage-Persistenz).
|
||||
|
||||
## D18 — Günstigsten Pfad per Inversion zeigen, fehlende Größe = M
|
||||
Der kostengünstigste Weg durch den Baum wird hervorgehoben (Umschalter im
|
||||
Diagramm-Kopf, Default an, Zustand persistiert). Nötig sind bei **all of** alle
|
||||
Kinder, bei **any of** nur die günstigste Alternative (kleinste rekursive
|
||||
Kosten; Gleichstand ⇒ erste).
|
||||
|
||||
**Darstellung per Inversion, nicht per Betonung:** Getestet wurde zuerst ein
|
||||
doppelt dicker Rand an den nötigen Knoten. Da der Baum aber fast überall all-of
|
||||
ist, war damit *fast alles* dick umrandet — das Signal lag ohnehin nur in der
|
||||
*Abwesenheit* des Rands bei den ausgeschlossenen Alternativen. Deshalb wird
|
||||
invertiert: die **nicht benötigten** Knoten (nicht-gewählte any-of-Alternativen
|
||||
samt Teilbaum) treten zurück (blass, entsättigt), der Pfad hebt sich von selbst
|
||||
ab. Kein Zusatzrahmen, weil die Knoten-Ecken (Größe, Tags, ↗) schon dicht sind.
|
||||
|
||||
**Fehlende T-Shirt-Größe wird für die Kostenschätzung als `M` gewertet** — die
|
||||
kleinste Größe mit Untergliederungspflicht (§5/D8), also die konservative
|
||||
Annahme „mindestens M". Damit sind auch ungrößte Alternativen vergleichbar.
|
||||
Wo `M` nur implizit angenommen ist, zeigt der Knoten ein **invertiertes**
|
||||
Größen-Badge (weiß mit Petrol-Rand statt gefüllt) samt Tooltip, damit die
|
||||
Annahme sichtbar und von einer echten `(M)`-Angabe unterscheidbar bleibt. Die
|
||||
Größen-Semantik in SPEC §5 bleibt unberührt (die Wertung gilt nur der
|
||||
Pfad-Kostenrechnung).
|
||||
|
||||
@@ -155,6 +155,27 @@ und die aktive Sprache plus „…“ (das alle Sprachen aufklappt). Der **Unter
|
||||
wird auf eine garantiert einzeilige Kurzfassung reduziert. Voreinstellung auf
|
||||
kleinem Bildschirm ist **Vollbild** (siehe D17).
|
||||
|
||||
### Günstigster Pfad (Kosten-Hervorhebung)
|
||||
Ein Umschalter (Icon-Button im Diagramm-Kopf, Voreinstellung **an**, Zustand
|
||||
persistiert) hebt den kostengünstigsten Weg durch den Baum hervor. Ermittelt
|
||||
werden die für die günstigste Realisierung **nötigen** Knoten:
|
||||
|
||||
- **all of:** alle Kinder sind nötig.
|
||||
- **any of:** nur die **günstigste** Alternative ist nötig. „Günstig" =
|
||||
kleinste rekursive Kosten (eigene T-Shirt-Größe plus — je Gate — Summe bzw.
|
||||
Minimum der Kinder). Bei Gleichstand gewinnt die **erste** Alternative.
|
||||
- Verworfene Knoten zählen nie mit (unabhängig vom „verworfene einblenden"-
|
||||
Filter).
|
||||
- **Fehlende Größe wird als `M` gewertet** (nur für diese Kostenschätzung; die
|
||||
SPEC-Semantik der Größen in §5 bleibt unberührt).
|
||||
|
||||
Darstellung per **Inversion**: nicht benötigte Knoten (nicht-gewählte
|
||||
any-of-Alternativen 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. 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. Siehe D18.
|
||||
|
||||
### 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:
|
||||
|
||||
Reference in New Issue
Block a user