Actions
Feature #20
openHomescreen: Vorausschauendes Bild-Caching (Tinder-Ansicht)
Start date:
07/12/2026
Due date:
% Done:
0%
Estimated time:
Kategorie:
Fehlermeldung
Description
Kontext¶
Die Tinder-artige Entdecken-Ansicht (src/components/foto-jagd/hunt-dashboard.tsx, Datenquelle src/app/api/foto-jagd/spots/discover/route.ts) lädt Spot-Bilder aktuell reaktiv. Bei langsamer Verbindung entstehen Wartezeiten zwischen den Karten.
Ist-Zustand¶
- Bilder werden geladen, wenn die Karte erscheint.
- Kein Vorratspuffer, keine positionsabhängige Nachladung.
Soll / Anforderungen¶
- Vorpuffer: ~20 Bilder vorab in den Cache laden (Bild + Metadaten).
- Nachladen: Sinkt der Puffer auf 5 verbleibende Karten, im Hintergrund 15 weitere anhand der aktuellen Position nachladen.
- Positionswechsel: Bei größerer Abweichung der GPS-Position (Schwelle z. B. > 500 m) sofort ein frisches Bild für die aktuelle Karte laden und den Cache anhand der neuen Position neu befüllen (alte, weit entfernte Kandidaten verwerfen).
- Bereits gesehene/abgelehnte Spots respektieren (siehe
excludeSeenSpots,excludeRejectedSpotsin den Settings).
Akzeptanzkriterien¶
- Beim Durchswipen sind Bilder in >90% der Fälle sofort sichtbar (vorgeladen).
- Nachladen passiert unsichtbar im Hintergrund, kein UI-Ruckeln.
- Nach deutlichem Standortwechsel zeigt die App zeitnah lokale Spots.
Technische Hinweise¶
- Client-Puffer als Queue (State/Ref) in
hunt-dashboard.tsx. -
discoverSpots(lat, lon, limit, {radiusM, accuracyM})insrc/lib/foto-jagd/client-api.tsunterstützt bereits Limit/Radius. - Bild-Prefetch via
new Image()oder<link rel=prefetch>; Distanzberechnung Haversine. - Session-Puffer ggf. mit
hunt-sessionAPI abgleichen (fetchHuntSession/saveHuntSession).
No data to display
Actions