Flaechen-Token: Regel festgehalten und beide Anwendungen durchgeprueft (2026.8.30.16)

--tile gehoert auf den Seitenhintergrund und sonst nirgends. Was auf einer
Kachel oder einem Blatt liegt, nimmt --tile-deckend (deckende Flaeche) oder
--ios-fill (Bedienelement). Grund: --tile ist nachts absichtlich
durchscheinend und tags deckend weiss - auf einer anderen Flaeche versagt es
deshalb in genau einem Theme, tags unsichtbar, nachts als doppelter Schleier.
Genau daran sind heute drei Fehler entstanden, jeder in nur einem Theme
sichtbar.

Geprueft zur Laufzeit statt per Textsuche, weil es auf die aufgeloeste Farbe
gegen die des naechsten gefuellten Vorfahren ankommt - beides steht nicht im
Quelltext. Panel 21 Routen, App 18 Seiten, beide Themes. Einziger
verbleibender Treffer ist die Listenzeile auf der Kachel im Tagmodus, wo
beide deckend weiss sind und die Zeile bewusst mit der Kachel verschmilzt.

Die Pruefung selbst ist gegengetestet: der heute behobene Schliessen-Knopf
wurde von Hand auf den alten Wert zurueckgesetzt und sofort erkannt. Eine
Pruefung, die man nie hat scheitern sehen, belegt nichts.

Dabei gefunden und angeglichen: die Kartenflaechen der Detailseiten trugen in
der App --tile-2, im Panel --tile-deckend - nachts ein zweiter Schleier auf
der ohnehin durchscheinenden Kachel.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-30 23:47:43 +02:00
parent 852a109c69
commit 5461382b8f
5 changed files with 47 additions and 5 deletions
+40 -1
View File
@@ -1,7 +1,7 @@
# AGENTS.md — Project state, review findings, open items, and working rules
**Last updated: 2026-08-30** (owner findings batch - vehicle pin, tile chevrons, select arrows,
SmartDeal dialog, address cache and pull-to-refresh; manifest `2026.8.30.12`, see section AO.
SmartDeal dialog, address cache and pull-to-refresh; manifest `2026.8.30.16`, see sections AO and AP.
Before that: design-audit follow-through - the five priority items applied to
both codebases, plus the location preview's wrong pin; manifest `2026.8.30.8`, see section AN.
Before that: third parity round — the panel had never actually rendered Audi
@@ -5968,6 +5968,45 @@ is raised.
---
## AP. Surface tokens: the rule, and the sweep that verified it (2026.8.30.16)
Three separate defects in one day traced to the same mistake, so it is written down as a rule with a
way to check it.
**The rule.** `--tile` belongs on the page background and nowhere else. Anything painted *on* a tile
or a sheet takes `--tile-deckend` (an opaque surface) or `--ios-fill` (a control). The reason is that
`--tile` is deliberately **translucent at night** (a white veil over the dark page) and **opaque white
by day**, so painting it onto another surface fails in exactly one theme at a time:
| | day (`--tile` = #FFFFFF) | night (`--tile` = rgba(255,255,255,.055)) |
|---|---|---|
| on a tile / sheet | invisible - same colour, the element disappears | two veils add up, the area is visibly lighter |
That is why each of the three slipped through: whoever built it looked at one theme.
- Swipe rows in Fahrten and Tanken: doubled veil, night only.
- The sheet's close button on Standort: white on white, day only.
- The map area on the detail pages carried `--tile-2`, a second veil at night, where the panel uses
`--tile-deckend`.
**The sweep.** Checked at runtime rather than by grep, because what matters is the *resolved* colour
of an element against the resolved colour of its nearest painted ancestor - neither is visible in the
source. For each element with a non-transparent background, walk up to the first ancestor that also
paints; flag it when the two colours are equal, or when the child carries `--tile` and the ancestor is
a tile or a sheet (a tile on the page background is the correct base case and must not be flagged).
Run it in **both** themes; one theme alone proves nothing.
Result: panel 21 routes, app 18 pages, both themes - the only remaining hit is `swipe-content` on
`tile` in day mode, where both are opaque white by design (rows are meant to blend into the tile;
hairlines separate them), and it disappears at night because the row is opaque and the tile is not.
**The sweep was itself verified**, which matters more than the clean result: setting the close button
back to `var(--tile)` by hand made the detector flag it immediately, and removing the override made
the flag disappear. A check that has never been seen to fail is not evidence of anything.
---
## Working conventions (observed — keep them)
- German is the project language: identifiers, comments, commits, UI texts. Exceptions:
+5 -2
View File
@@ -1232,13 +1232,16 @@ button.dm-listenzeile {
align-items: center;
}
/* Deckend wie .mapbox im Panel (audi-dashboard-ios.css). --tile-2 ist im
Nachtmodus ein zweiter Schleier auf der ohnehin durchscheinenden Kachel -
die Flaeche hinter den Kartenkacheln wurde dadurch heller als vorgesehen. */
.dm-karte {
height: 240px;
width: 100%;
border-radius: var(--r-func);
overflow: hidden;
margin-top: var(--sp-3);
background: var(--tile-2);
background: var(--tile-deckend, var(--tile-2));
}
/* ------------------------------------------------------------ Ladezustand */
@@ -1849,7 +1852,7 @@ button.dm-listenzeile {
Maße wie `.mapbox` im Panel. */
.dm-kartenplatz {
height: 210px;
background: var(--tile-2);
background: var(--tile-deckend, var(--tile-2));
}
/* Knopfzeile der SmartDeal-Abfrage - Abbrechen links, Bestaetigen rechts,
@@ -1 +1 @@
{"version":"2026.8.30.15","sha256":"411b13cca076656b76c8238bbf2eeefc6e71a7803506cde756f1fba8ff9e2f9c","bytes":256973,"gebaut":"2026-08-30T21:40:37Z"}
{"version":"2026.8.30.16","sha256":"5e9e11c03f77f42e7a55dc2f974e1a34700da3b2e50ddf6ec2a93d15a66d0c4d","bytes":256975,"gebaut":"2026-08-30T21:46:48Z"}
@@ -1,7 +1,7 @@
{
"domain": "audi_dashboard",
"name": "Audi Dashboard",
"version": "2026.8.30.15",
"version": "2026.8.30.16",
"documentation": "https://gitea.nothaft.cloud/paul/audi-app/src/branch/main/README.md",
"issue_tracker": "https://gitea.nothaft.cloud/paul/audi-app/issues",
"codeowners": ["@paul"],