- src/lib/motion/tokens.ts und --motion-* in globals.css: Dauern,
Kurven und Feder an einer Stelle; Beute-Bühne liest dieselben Werte.
- AppMotion: LazyMotion strict, Bewegungs-Code (domAnimation) als ein
asynchroner Chunk, 28 kB gzip; check:motion-budget im Docker-Build
neben dem 3D-Budget (Spec 17.6).
- PresenceList: abgehakte Zeilen blenden aus, die übrigen rücken nur bei
„Voll“ nach; „Dezent“ blendet nur, „Aus“ sofort. Die Zeile geht nach
der festen Verzögerung, auch wenn der Server schweigt (Spec 17.5);
Fokus wandert zum nächsten Haken, auch ohne Bewegungs-Chunk.
- Overlays (Sheet, Dialog, Menü, Select) über Base-UI-Start/Ende-Stile
mit Token-Zeiten; Verschiebung und Skalierung nur bei motion-full.
- Kein transition-all, kein Hover-Heben, keine Breiten-Animation von
Daten; Skeleton erst nach 150 ms; Wächter-Regeln für alles davon.
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
- globals.css: eine Basisregel :where(:focus-visible) mit --focus-width
und --focus-offset (Sonne 3 px), Firefox-:-moz-focusring gleichgezogen;
--text-xs 0.8125rem.
- Fokus-Codemod (scripts/codemod-t5-focus.mjs): eigene Ringe und
outline-none raus, sm:h-/sm:size- zu pointer-fine:, Label-Zeilen mit
focus-ring-within; Skript-Fokus (Lücken-Liste, „Gespeichert“) bleibt.
- Button/Input 44 px, kompakt nur mit Maus; Icon-Knöpfe mit unsichtbarer
44-px-Trefferfläche bei Touch, Nachbarn mit genug Abstand.
- 16 px in Feldern, Labels, Auswahl, Leerzuständen, Listentiteln.
- .holo-stage auf allen Beute-Bühnen, .stage-card holt den Seitenring.
- Baukasten-Wächter (src/styles/baukasten-guard.spec.ts) mit den Regeln
aus A3–A5, Ausnahmen mit Grund; Kalender-Auswahl als Inset-Ring.
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
- Honigzelle auf Tinte als Master-SVG; scripts/generate-icons.mjs erzeugt
any/maskable 192/512, Monochrom 512, drei Shortcut-Icons, Apple-Icon und
favicon.ico (16/32/48, ICO-Container von Hand) byte-gleich bei jedem Lauf.
- manifest.ts exakt nach Spec 12.3, Farben gleich dem hellen --background.
- Service Worker: SHELL_CACHE apicore-shell-v5, Icons im Shell-Cache; ein
fehlendes Icon hält das Vorladen der Seiten nicht auf.
- Proxy-Matcher: nur echte Icon-Dateien (icons/*.png) ohne
Sicherheits-Header, Punkte maskiert.
- BrandMark-Deckel mittig (linke Kante 18.8).
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
- globals.css: Hell, Dunkel und Druck mit den Spec-Werten aus 4.2,
Fokusring = --primary-ink, Verlaufs-Token entfernt.
- Codemod scripts/codemod-t5-colors.mjs: text-primary/-warning auf -ink,
Vordergrund nur auf voller Fläche, Auswahlrahmen dunkel; --check-Modus
und Spec halten src sauber.
- Kontrast-Wächter misst die echte globals.css (VALUES_SWITCHED), alle 21
Zeilen aus 4.4 in allen vier Sätzen; keine dark:-Klassen mehr in src.
- Dunkel ist ohne Entwickler-Schalter wählbar, Standard bleibt Hell.
- Review-Nacharbeit: Auswahl-Umrisse und aktueller Schritt in Vordergrund,
deaktivierte Felder bg-muted, Avatar ohne Blend, Honig-Check-Rahmen
über --input.
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
scripts/check-3d-budget.mjs misst den three.js-Chunk (Marker
WebGLRenderer und __THREE__) mit gzip -9 und bricht den Image-Build ab,
wenn er 320 kB übersteigt oder nicht gefunden wird. Heute 299 kB.
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>