Home-Bildschirm + Burger-Menü, Android-only. Produktionsreifer Android-Build mit allem unten gelisteten Scope. iOS und Web folgen in späteren Iterationen — die Design-System-Spezifikation ist plattform-unabhängig formuliert und dient als kanonische Referenz für diese späteren Iterationen.
Dies ist exakt, was https://page-api.beta.bibeltv.de/v1/page/home heute zurückliefert. Daraus leitet sich der Iteration-1-Scope ab — was die Payload nicht anfordert, muss in Iteration 1 nicht ausgeliefert werden, auch wenn die Komponente im Design-System-Vertrag spezifiziert ist.
slider_hero mit 2 card_hero_media-Slidesgroup_button mit 1 Button "Die Bibel erkunden" (Single-Item-AI-CTA-Modus)slider mit 3 card_poster_small-Kartenslider mit 3 card_poster_medium-Kartenslider mit 3 card_poster_small-Karten● voller Vertrag (alles im Design-System bauen) ◐ Teilumfang (nur bestimmte Modi/Zustände) ○ deferred (Platzhalter oder leer)
card_hero_media)
Voller Vertrag. Mobile (3:4 Portrait) + Tablet (~2.54:1 Landscape, 3-Schichten-Komposition). Dynamische Title-Schriftgröße, Badge, CTA "Jetzt ansehen".
auto_awesome-Leading-Icon. Tap-Ziel: KI-Bibelaufschlag-Modal (existiert in Produktion, nicht neu bauen). Default-Modus + Overflow-Modus + gestyltes Dropdown sind im Design-System voll spezifiziert, werden in Iteration 1 aber nicht aktiviert.
semantic.effect.backdropBlur). Prototyp-Toggles NICHT bauen — out of scope.
Was Iteration 1 ausliefert (nicht nur Komponenten): die Token-Sync-Pipeline ist auf Android bereits voll implementiert und Teil des Iteration-1-Builds. Pattern siehe Design System → Token-Sync-Verhalten.
GET /api/v1/tokens einmal ab, erhält den vollständigen Layered-Payload (primitives + semantic + component + views).token_json gespeichert, ETag separat unter token_etag.TokenSyncWorker.kt) plus In-Foreground-Sync direkt nach Coldstart. ETag-basiert: 304 = nichts tun, 200 = persistieren + StateFlow update + Compose rekomponiert.iOS und Web in Folge-Iterationen müssen dieses Verhalten replizieren (ETag-Caching, Offline-First, Single-Bundle). Plattform-Idiome unterscheiden sich (UserDefaults / localStorage / Service Worker), aber der Vertrag ist identisch.
Komponenten, die im Code existieren oder im Design-System spezifiziert sind, aber in Iteration 1 NICHT angefordert werden:
card_hero_media)Punkte, die im Android-Quellcode noch nicht korrekt sind und vor Iteration-1-Launch geschlossen werden müssen. Diese sind keine Spezifikationslücken — der Vertrag im Design-System ist klar — sondern Implementierungs-Drift im Android-Code, die vor Produktion behoben werden muss. Späteren iOS/Web-Iterationen werden NICHT diesen Android-Code als Vorlage nehmen, sondern direkt das Design-System.
ButtonGroupSection.kt:77 ruft generisch onNavigate(item.destination) auf. Vertrag: er MUSS die KI-Bibelaufschlag-Modal öffnen (die Modal existiert bereits in der Produktions-App). Vor Iteration-1-Launch verdrahten.