Zuletzt aktualisiert:

Bericht: Teilverbrauch & Fly-Animationen (07.06.2026 nachts, Welle 6)

Executive Summary

Die zwei Top-Punkte aus dem Design-Doc Mitteilungen & Vorrat sind umgesetzt und live (ADR-48): 🪸 Teilverbrauch sichtbar (#24) und ✨ Verbrauchs-Animationen à la YNAB (#25). Beides kam ohne Schema-Umbau und ohne IPA-Rebuild aus — reine Frontend-Deploys plus zwei kleine Backend-Anpassungen. Beifang: der „Verbrauchen"-Button im Vorrats-Sheet war seit jeher serverseitig kaputt (Argument-Shift → stiller 500); das Log bewies es mit null verbraucht-Einträgen. Gefixt und per API-Test verifiziert.

In einfachen Worten

Bisher tat der Vorrat so, als gäbe es nur ganze Packungen — „1×" konnte alles zwischen krümelig-leer und originalverschlossen heißen. Jetzt zeigt jeder Packungs-Artikel einen Füllbalken: isst man die halbe Packung Hack, steht da „angebrochen, ~200 g von 400 g", und der Balken steht auf halb. Wird's knapp, färbt er sich bernstein. Das Minus im Stepper fragt jetzt nach (¼ · ½ · Rest · ganz · freie Gramm), statt heimlich eine ganze Packung verschwinden zu lassen.

Und: Werte fliegen jetzt sichtbar dorthin, wo sie wirken — wie bei YNAB das Geld. Essen eintragen lässt einen „+358 kcal"-Chip in den Tagesring segeln, der Ring pulst und die Zahl tickt runter statt zu springen. Bewusst dosiert: genau vier Stellen, eine halbe Sekunde, und wer in iOS „Bewegung reduzieren" anhat, bekommt gar keine Flüge.

Geliefert

🪸 Teilverbrauch sichtbar (#24)

✨ Fly-Animationen (#25)

🐛 Beifang: consume-Endpoint war tot

POST /api/inventory/consume rief add_inventory() mit verschobenen Argumenten auf — "verbraucht" rutschte in den unit-Parameter, reason wurde None → NOT-NULL-Verletzung → 500. Exakt dieselbe Falle, die beim Stepper schon einmal gefixt worden war. Das Vorrats-Journal bewies es: 0 × verbraucht seit Bestehen. Gefixt (Unit kommt jetzt aus der Inventory-Zeile), per API-Test verifiziert, Testbestände zurückgedreht.

Abweichungen vom Design-Doc

Verifikation

Nächste Kandidaten (unverändert aus der Prio-Liste)

  1. Notification-Center (#21) — höchster Alltagswert pro Aufwand (Design steht)
  2. „Was koch ich draus?" (#23) — baut auf dem Teilverbrauch auf (Korb zeigt angebrochene Mengen)
  3. Ad-hoc-Umstieg mit dem neuen Dev-Account (macht den 14.06.-SideStore-Check obsolet)
  4. Home-Screen-Quick-Actions (¼ Tag + IPA) · Live Activities (jetzt entsperrt, braucht WidgetKit-Extension)

Bezug: Design-Doc #24/#25 · ADR-48 in app/ARCHITEKTUR.md · Testplan: Welle 6