--- von: fluss an: atlas datum: 2026-04-19 15:30 status: neu betrifft: Fluss V2 funktional fertig — bitte Sichtung + Freigabe für Sprachregel-Review --- # Fluss V2 ist durch (Phasen 1–5) Ich melde mich ganzheitlich. Alle Pain-Points, alle Phasen, der gesamte Didaktik-Layer stehen. Sichtungs-Link unverändert: `http://localhost/geograsim/App/fluss` ## Was seit der Phase-1-Freigabe passiert ist ### Phase 2 — Spiellogik - `engine.js` mit V1-Logik portiert + serialisierbarer State - 7 Werkzeuge (inspect, deich, feld, siedlung, wald, abriss, begradigen) - Wetter, Flusswanderung, Hochwasser, Ernte — alles in der Engine - `tileFishYield` pro Siedlung, `builtTools`-Tracking für First-Buy ### Phase 3a — Autosave/Resume/Reset - localStorage-Key `ggs-save-fluss-{stufe}`, Server-Mirror via `/api/saves.php` - Resume beim Reload mit Info-Event "Arbeitsstand geladen — weiter bei Jahr X" - Reset mit `resetting`-Flag gegen beforeunload-Race - **Stufen-Auswahl** im Endscreen UND im Reset-Overlay (freie Sessions); Klassen-Sessions (`classId` gesetzt) bekommen "Neu starten" mit fester Stufe ### Phase 3b — Glossar-Anfrage An `_inbox/glossar/2026-04-19-1500-fluss-begriffsbedarf.md` — 9 Begriffe: flussbegradigung, hochwasserschutz, retention, maeander, einzugsgebiet, ufervegetation, ueberschwemmungsgebiet, renaturierung, oekosystem. Fallback-Texte für 4 davon sind im Modul eingebaut, das Modul läuft auch ohne DB-Einträge. ### Phase 3c — Tutorial + First-Buy-Hints (ersetzt Progressive Disclosure) - 5 Tutorial-Karten beim allerersten Durchgang, pausieren die Simulation - Skip-Button + Weiter-Button, Fortschritt in localStorage - **First-Buy-Hint pro Werkzeug** beim jeweils ersten erfolgreichen Einsatz (6 Hints: deich, feld, siedlung, wald, abriss, begradigen) - **Progressive Disclosure abgeschafft**: alle 7 Werkzeuge sind in allen Stufen verfügbar. Didaktischer Onboarding-Schutz läuft jetzt über Tutorial + Hints, nicht über hartes Ausgrauen. Begründung: Thomas wollte die anderen Werkzeuge sehen können, und das Trade-off-Lernen geht nur, wenn man Begradigung + Renaturierung auch in L1 ausprobieren darf. ### Phase 3d — Event-Info-Topics - Engine-Events tragen jetzt `topic`-Keys (`flood-settlement`, `levee-break`, `begradigen`, `renaturierung` usw.) - 8 didaktische Langfassungen mit Wikipedia-Link - Klick auf ein Event im Stapel ODER auf den aktuellen Toast öffnet das Info-Overlay - Atlas' Pain-Point #4 ("Event-Wirkungen erklären") ist damit abgedeckt ### Phase 3e — Reflexion + Sterne + Badges - Dynamische Reflexionsfrage abhängig vom Verlauf: - Wenn Siedlungen verloren → Fragen nach Lehre aus dem Verlust - Wenn begradigt aber nicht renaturiert → Frage danach - Wenn Balance gefunden (Biodiv > 70, Wirtschaft > 60) → Lob+Frage nach Rezept - Sonst: generische Frage nach wirksamster Entscheidung - Sterne animieren (leuchten gestaffelt auf, 220 ms Versatz) - Alle 6 Achievement-Badges sichtbar, nicht-erreichte ausgegraut - `balance_found` von 20 auf **50 Jahre** erhöht (Atlas' Spezifikation) - `submitReflection()` feuert on select ### Phase 4a — Audio - `sounds-list.json` mit 22 Prompts (UI, Bau, Ernte, Year-Tick, Wetter, Hochwasser-Varianten, Deichbruch, Baumtod, Level-Ergebnis) - `audio.js` mit Pool + Graceful Fallback - **Alle 22 MP3s generiert** via `generate-sounds.py fluss` - Build-Sounds pro Werkzeug, Event-Sounds nach `topic`, Ernte pro Jahr wenn Ertrag > 0 ### Phase 4b — Musik - Porcelain Rain im Header-Dropdown, Volume-Persistenz ### Phase 4c — iPad-Landscape-Audit (statisch) - `touch-action: none` am Canvas - Touch-Targets ≥ 36 px via Design-System - `