Service-Kennzahl auf der Uebersicht 40px -> 32px; Farbe belegt statt erinnert

GROESSE: vom Eigentuemer als "sehr gross" gemeldet, im Browser bei 375x812
nachgemessen (Kachel 307px): "8.600 km" war bei 40px 133px breit (43% der
Kachel) und damit BREITER als die Reichweite darueber (60px, 107px, 35%) - der
zweitrangige Wert schlug den Hauptwert in der Flaeche. Mit einem Datum stand es
deutlicher: "01.03.2028" misst bei 40px 231px, 75% der Kachel. Auf 32px sind es
108px bzw. 185px, damit liegt der Servicewert auf der Reichweite gleichauf statt
darueber. Schrift und Gewicht waren nie das Problem und bleiben Audi Type Wide
300. Nimmt die Entscheidung vom 18.08.2026 (40 statt 30) zurueck.

FARBE: auf die Frage "HIG oder Audi CI" nachgeschlagen. Die Werte stehen auf
developer.apple.com nur im Alternativtext der Farbfelder, nicht im Text. Meine
Erinnerung war falsch - Apples Yellow "Increased contrast (light)" ist #A16A00,
nicht #A05A00. Uebernommen wird er trotzdem nicht: auf unserem 12% hinterlegten
Grund liefert er 4.19:1, Apples Orange #C55300 4.16:1, beide unter 4.5:1. Apples
Schwelle gilt fuer Schrift auf einfarbigem Grund. Der gemessene Wert #A15800
(4.90:1) bleibt, jetzt mit belegter Begruendung statt ohne. Nebenbefund: die
Seite zeigt inzwischen die neue "unified"-Palette (systemRed dunkel #FF4245),
dieses Projekt fuehrt die aeltere (#FF453A) - ein einzelner Wert aus der neuen
waere ohnehin inkonsistent.

LIVE GEPRUEFT: der Eigentuemer hat auf einen offenen Browser hingewiesen, damit
liess sich der offene Punkt aus DJ schliessen. Mit voruebergehend
zurueckdatierter Erstzulassung (Profil gesichert, hinterher zurueckgestellt und
geprueft) zeigen alle drei Stellen die Markierung, und nur die ueberschrittene
Gruppe ist hinterlegt - Oelwechsel 2028 und Inspektion 2027 blieben unmarkiert.
Das Panel ist weiterhin nur ueber den Paritaetstest belegt, nicht am Bild.

327/327, tsc sauber, Panel als Modul geparst, Manifest und Buendel auf
2026.9.6.7, Container sauber gestartet.
This commit is contained in:
2026-09-07 14:08:07 +02:00
parent 27196f9e78
commit 08d8de60db
9 changed files with 123 additions and 27 deletions
+70 -7
View File
@@ -12774,6 +12774,31 @@ Nachts trägt `--warn` selbst genug Kontrast, tagsüber nicht. `#B36200` wäre
näher am reinen Orange, fällt auf dem hinterlegten Grund aber auf 4,11:1 und
damit unter die Grenze - deshalb `#A15800`.
**Nachgeschlagen am 07.09.2026, auf Nachfrage des Eigentümers, ob die Farbe HIG
oder Audi CI entspricht** (developer.apple.com/design/human-interface-guidelines/color;
die Hexwerte stehen dort **nur im Alternativtext der Farbfelder**, nicht im Text -
über `innerText` sind sie unsichtbar):
| | default light | default dark | increased contrast light |
|---|---|---|---|
| Orange | `#FF8D28` | `#FF9230` | `#C55300` |
| Yellow | `#FFCC00` | `#FFD600` | `#A16A00` |
Zwei Befunde daraus:
1. **Apples eigener Kontrastwert taugt hier nicht.** `#A16A00` liefert auf
unserem hinterlegten Grund nur **4,19:1**, `#C55300` nur 4,16:1 - beide unter
der Grenze. Apples Schwelle gilt für Schrift auf einfarbigem Grund; die
12 %-Hinterlegung senkt sie darunter. Der gemessene Wert bleibt.
2. **Die Seite zeigt inzwischen die neue („unified") Palette.** Dort steht
systemRed dunkel auf `#FF4245`, dieses Projekt führt `#FF453A` aus der
älteren Generation. Einen einzelnen Wert aus der neuen Palette
hereinzunehmen wäre ohnehin inkonsistent gewesen.
Und die Ausgangsfrage: die **Fläche** ist Apple (die 2026-08-13 übernommene
iOS-Palette), das Audi-CI-Gelb `#ffaa00` wurde damals abgelöst und liefert als
Schrift nur 1,91:1. Die **Schrift** ist gemessen, nicht übernommen.
### Geprüft
* **15 Fälle** gegen die echten Panel-Funktionen (aus der Panel-Quelle
@@ -12795,11 +12820,49 @@ damit unter die Grenze - deshalb `#A15800`.
* 327/327 App-Tests, `tsc` sauber, beide Panel-Dateien als **Modul** geparst,
Manifest und Bündel gleichauf auf `2026.9.6.6`, Testcontainer sauber gestartet.
### Was offen bleibt
### Größe der Kennzahl auf der Übersicht: 40px -> 32px
**Optisch nicht gesehen.** Die Markierung ist über Rendertests und gemessene
Kontraste belegt, nicht über ein Bild - der Testbestand enthält keinen
überschrittenen Termin (Ölwechsel 2028, Inspektion 2027, HU 2028), und für einen
Blick ins laufende Panel fehlte die angemeldete Sitzung. Nach der Regel dieses
Projekts (Abschnitt S: ein sauberer Testlauf beweist kein Layout) steht das
ausdrücklich als offen, nicht als erledigt.
Vom Eigentümer als „sehr groß" gemeldet, im Browser bei 375×812 nachgemessen
(Kachel 307px):
| | Größe | Gewicht | Breite | Anteil der Kachel |
|---|---|---|---|---|
| Reichweite „37 km" | 60px | 700 | 107px | 35 % |
| **Nächster Service „8.600 km"** | **40px** | 300 | **133px** | **43 %** |
| Kilometerstand „21.355 km" | 20px | 300 | 87px | 28 % |
Der **zweitrangige** Wert war breiter als die Kennzahl darüber - die Reichweite
hat zwei Ziffern, der Servicewert fünf. Mit einem Datum stand es noch
deutlicher: „01.03.2028" misst bei 40px **231px**, also 75 % der Kachel. Auf
32px sind es 108px bzw. 185px; nachgemessen liegt der Servicewert damit auf
107px der Reichweite gleichauf statt darüber, die Staffelung liest sich als
60/32/20.
Schrift und Gewicht waren nie das Problem und bleiben: Audi Type Wide 300, in
beiden Codebasen gleich.
**Das nimmt eine frühere Entscheidung zurück** - am 18.08.2026 hatte der
Eigentümer 40px ausdrücklich gegenüber 30px gewählt (damals ging es darum, dass
das Datum dieselbe Größe wie die km-Zahl bekommt). Die Größenordnung selbst
stand damals nicht zur Debatte.
### Live gesehen (07.09.2026)
Der Eigentümer hat auf einen offenen Browser hingewiesen - damit ließ sich der
zuerst offen gebliebene Punkt schließen. Am laufenden Entwicklungsserver bei
375×812, mit **vorübergehend** auf 01.03.2020 zurückdatierter Erstzulassung
(Hauptuntersuchung damit 03/2023); Profil vorher gesichert, hinterher
zurückgestellt und geprüft:
* **Übersicht** - „01.03.2023" in `rgb(161, 88, 0)` = `#A15800`, Marke daneben,
`.dm-serviceblock--ueberschritten` gesetzt.
* **Mein Audi** - Zeile „Hauptuntersuchung | 01.03.2023 überschritten", Marke
10,5px in derselben Farbe, Rahmen ebenso.
* **Service** - nur die Hauptuntersuchung hinterlegt
(`color(srgb 1 0.623529 0.0392157 / 0.12)`, also `#FF9F0A` bei 12 %);
Ölwechsel (2028) und Inspektion (2027) blieben unmarkiert. Die Unterscheidung
greift also, nicht nur die Darstellung.
**Nicht gesehen: das Panel.** Dafür fehlt weiterhin eine angemeldete
HA-Sitzung; es ist über den Paritätstest und den Modul-Parse belegt, nicht über
ein Bild.
+7 -7
View File
@@ -100,14 +100,14 @@ Beispielzahlen in der Statistik und ein überholter TODO-Kommentar.
## 3b. Optisch noch nicht gesehen
**Die Markierung überschrittener Servicetermine** (`2026.9.6.6`, Abschnitt DJ)
ist über Rendertests und gemessene Kontraste belegt, aber nie am Bild geprüft -
der Testbestand hat keinen überschrittenen Termin, und für einen Blick ins
laufende Panel fehlte die angemeldete Sitzung.
**Das Panel.** Die Markierung überschrittener Servicetermine (Abschnitt DJ) ist
in der **App** live geprüft, im **Panel** nicht - dafür fehlt eine angemeldete
Home-Assistant-Sitzung. Belegt ist es dort über den Paritätstest gegen die
echten Panel-Funktionen und den Modul-Parse.
*Was zu tun ist:* einmal ansehen, sobald ein Termin wirklich fällig ist - oder
mit einer angemeldeten Sitzung und einem vorübergehend zurückdatierten
Wartungsplan-Eintrag (hinterher zurücksetzen).
*Was zu tun ist:* bei nächster Gelegenheit mit angemeldeter Sitzung einmal
ansehen; ein vorübergehend zurückdatiertes Erstzulassungsdatum erzeugt den Fall
(hinterher zurückstellen).
## 4. Gemeldet, aber nicht reproduzierbar
+5 -1
View File
@@ -256,11 +256,15 @@ export function Uebersicht({ geheZu }: { geheZu: (name: SeitenName, id?: string)
</svg>
{(() => {
const Symbol = SERVICE_SYMBOL[service.art]
/* 40 -> 32 am 07.09.2026: bei 40px war "8.600 km" 133px breit und
damit breiter als die Reichweite darueber (60px, 107px) - der
zweitrangige Wert schlug den Hauptwert in der Flaeche.
Wortgleich mit zahlGroesse im Panel. */
const fig = (
<Fig
value={service.restKm !== null ? de(service.restKm) : datum(service.datum)}
{...(service.restKm !== null ? { unit: "km" } : {})}
size={40}
size={32}
/>
)
return Symbol ? (
+11 -3
View File
@@ -2421,9 +2421,17 @@ input[type="range"] {
Zeile lesbar bleibt und der Hinweis trotzdem auffällt (Ansage des
Eigentümers 07.09.2026). --warn ist die Fläche, --warn-text die Schrift -
dieselbe Rollenteilung wie bei --bad/--bad-flaeche im Panel, und aus
demselben Grund: #FF9F0A als Text auf Weiß sind 2.06:1. Auf dem hier
hinterlegten Grund (#FFF3E2 tags, #33311E nachts) misst --warn-text 4.90:1
bzw. 9.30:1 - beides über der 4.5:1-Grenze für kleine Schrift. */
demselben Grund: #FF9F0A als Text auf Weiß sind 2.06:1.
Warum nicht Apples eigener Kontrastwert? Am 07.09.2026 auf
developer.apple.com/design/human-interface-guidelines/color nachgeschlagen:
Yellow "Increased contrast (light)" ist #A16A00, Orange #C55300 - auf UNSEREM
Grund nur 4.19 bzw. 4.16:1. Apples Schwelle gilt für Schrift auf einfarbigem
Grund; die 12%-Hinterlegung hier senkt sie darunter. Deshalb der gemessene
Wert #A15800 (4.90:1) statt eines übernommenen.
Auf dem hinterlegten Grund (#FFF3E2 tags, #33311E nachts) misst --warn-text
4.90:1 bzw. 9.30:1 - beides über der 4.5:1-Grenze für kleine Schrift. */
.dm-termingruppe--ueberschritten {
background: color-mix(in srgb, var(--warn) 12%, transparent);
border-radius: var(--r-tile);
@@ -1 +1 @@
{"version":"2026.9.6.6","sha256":"c9e3d8f25998f38b70e38441a8c0e09d76bbe340845575e9ae769fe12c2fc45e","bytes":379100,"gebaut":"2026-09-07T11:37:53Z"}
{"version":"2026.9.6.7","sha256":"1c9c672a258f7540a0186ebc12d32965d472478923ff3c44a013d46f58a3805d","bytes":379101,"gebaut":"2026-09-07T12:06:15Z"}
@@ -2465,11 +2465,17 @@ function vHome() {
const hauptwert = restKm !== null
? `${de(restKm)}<span class="unit">km</span>`
: (datum === t.datum ? datumText(t.datum, t.genau) : (datum ? dedat(datum) : ""));
// Ohne Restkilometer steht das Datum selbst im Zahlenfeld - auf Nutzerwunsch
// jetzt in derselben Groesse wie die km-Zahl (vorher 30px, damit "15.04.2027"
// auf 375px nicht umbricht - am laufenden Panel geprueft, dass es bei 40px
// weiterhin einzeilig bleibt).
const zahlGroesse = 40;
// Ohne Restkilometer steht das Datum selbst im Zahlenfeld - in derselben
// Groesse wie die km-Zahl (Nutzerwunsch 18.08.2026, davor 30px).
//
// 40 -> 32 am 07.09.2026, nachdem der Eigentuemer die Zahl als "sehr gross"
// gemeldet hat. Im Browser bei 375px nachgemessen, Kachel 307px breit:
// "8.600 km" war bei 40px 133px breit (43% der Kachel) und damit BREITER
// als die Reichweite darueber (60px, 107px, 35%) - der zweitrangige Wert
// schlug den Hauptwert in der Flaeche. Mit einem Datum stand es noch
// deutlicher: "01.03.2028" misst bei 40px 231px, also 75% der Kachel. Bei
// 32px sind es 116px bzw. 185px, die Staffelung liest sich als 60/32/20.
const zahlGroesse = 32;
// Icon statt "bis zum Ölwechsel"/"bis zur Inspektion" (nur fuer die beiden
// Arten, die eines haben). Die Hauptuntersuchung hat kein Restkilometer-Ziel
// und zeigt stattdessen den Art-Namen selbst unter dem Datum.
@@ -659,8 +659,23 @@ button.leaf:active { background: var(--tile-2); }
Zeile lesbar bleibt und der Hinweis trotzdem auffaellt (Ansage des
Eigentuemers 07.09.2026). --warn ist die Flaeche, --warn-text die Schrift -
dieselbe Rollenteilung wie bei --bad/--bad-flaeche, und aus demselben Grund:
#FF9F0A als Text auf Weiss sind 2.06:1. Auf dem hier hinterlegten Grund
(#FFF3E2 tags, #33311E nachts) misst --warn-text 4.90:1 bzw. 9.30:1. */
#FF9F0A als Text auf Weiss sind 2.06:1.
Warum nicht Apples eigener Kontrastwert? Am 07.09.2026 auf
developer.apple.com/design/human-interface-guidelines/color nachgeschlagen
(die Werte stehen dort nur im Alternativtext der Farbfelder, nicht im Text):
Yellow "Increased contrast (light)" ist #A16A00, Orange #C55300. Beide
liefern auf UNSEREM Grund nur 4.19 bzw. 4.16:1 - Apples Schwelle gilt fuer
Schrift auf einfarbigem Grund, die 12%-Hinterlegung hier senkt sie darunter.
Deshalb der gemessene Wert #A15800 (4.90:1) statt eines uebernommenen.
Nebenbefund derselben Recherche: die Seite zeigt inzwischen die neue
("unified") Palette - systemRed dunkel steht dort auf #FF4245, dieses Projekt
fuehrt #FF453A aus der aelteren. Einen einzelnen Wert aus der neuen Generation
hereinzunehmen waere ohnehin inkonsistent gewesen.
Auf dem hier hinterlegten Grund (#FFF3E2 tags, #33311E nachts) misst
--warn-text 4.90:1 bzw. 9.30:1. */
.termingruppe.ueberschritten {
background: color-mix(in srgb, var(--warn) 12%, transparent);
border-radius: var(--r-tile); padding-left: 12px; padding-right: 12px;
@@ -1,7 +1,7 @@
{
"domain": "audi_dashboard",
"name": "Audi Dashboard",
"version": "2026.9.6.6",
"version": "2026.9.6.7",
"documentation": "https://gitea.nothaft.cloud/paul/audi-app/src/branch/main/README.md",
"issue_tracker": "https://gitea.nothaft.cloud/paul/audi-app/issues",
"codeowners": [