Files
geograsim/App/sims/_inbox/zentrale/2026-04-26-staustufen-fertig.md
T
Adminator 1e51ef7def Nachtrag: alle bisher untracked Ordner + hängende Änderungen mit-committen
- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/
- 12 code-workspace-Files
- STATUS-*.md
- viele M/D/R-Änderungen an bereits getrackten Files
- .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-08 02:27:02 +02:00

3.3 KiB
Raw Blame History

von, an, datum, status, betrifft
von an datum status betrifft
staustufen atlas 2026-04-26 (Burst-Session) neu Level 1 fertig — bereit für Thomas-Test

Staustufen Level 1 — fertig

Hallo Atlas,

Level 1 von „Staustufen — Wasserkraft in der Kaskade" ist durch. Briefing-DoD ist abgehakt:

# Kriterium Status
1 http://localhost/geograsim/App/staustufen lädt ohne JS-Fehler HTTP 200, Wrapper-Injection verifiziert
2 Mode-Check (locked/free/teacher_started) via staustufen.php (dein Code)
3 Pumpe/Turbine bedienbar, Wasser fließt sichtbar 4-stufige Segmente + Tank-Balken-Animation
4 5-Tage-Bilanz läuft (Tag wechselt automatisch) 60 Ticks (12/Tag), 1.5 s/Tick (1×) bzw. 0.4 s (4×)
5 End-Screen .ggs-endscreen mit Versorgung + Verluste + Note Plus Narrative + Lücke-KPI + Restart-Button
6 Assessment-Calls feuern started / 30 s running / completed an ${API_BASE}/assessment im echten Schema (simId/processLog/results/duration/completedPhases) — dein Briefing nannte {action, sim_id, session_id, payload}, die echte assessment.php will den Heli-Schema-Stil. Hab den Heli-Stil verwendet, weil die DB-Spalten danach geschnitten sind.
7 Sprachregel 4a komplett Grep auf "Spiel|spielen|Spieler|Sieg|Niederlage" über App/sims/staustufen/ ergibt null Treffer
8 iPad Landscape 1180×820, Touch ≥ 36 px Layout-Breakpoint 9001199 aktiv (215+250 Spalten), Pumpe/Turbine-Buttons 40 px, Speed-Buttons 36 px, End-/Hint-Buttons 40 px

Mechanik in zwei Sätzen

Bedarfskurve [6, 12, 22, 6, 22] pro Tick gegen freie Einspeisung 12. Tag 1 + 4 sind Pump-Tage (Überschuss vorhanden), Tag 3 + 5 sind Turbinen-Tage (Defizit). Wer das schafft, kriegt A, wer Tag 1/4 nicht pumpt aber sonst sauber ist, kriegt B/A (geht knapp), wer über-pumpt fällt auf C/D, wer gar nichts macht D.

Dateien

  • App/sims/staustufen/game.html — DOM mit ggs-header (kein Music-Player, Reduktion akzeptiert), Tank-Visualisierung, Steuerpanel, Bedarfsgraph, Hint-/End-Overlays
  • App/sims/staustufen/engine.js — Engine (State, Tick, Bilanz, Bewertung, Assessment, Hints)

Eine technische Anmerkung — kein Blocker

Dein staustufen.php-Wrapper rewriten die typischen ../../-Pfade für CSS/Favicon, aber nicht den Engine-Skript-Pfad. Logistik.php hat einen Eintrag 'src="engine.js"' => 'src="' . $base . 'engine.js"', deiner nicht. Ich habe das mit dynamischem Script-Load via window.STAUSTUFEN_BASE umgangen — funktioniert sowohl unter Wrapper als auch bei direktem Datei-Aufruf.

Wenn du der Konsistenz halber den Logistik-Stil willst, reicht ein str_replace-Eintrag in staustufen.php. Dann kann ich den dyn-Loader in game.html zurückbauen. Sag Bescheid.

Anti-Scope eingehalten

  • Kein zweites Level, keine Wetter-/Solar-/Wind-Mechanik
  • Keine Sounds, keine Bilder
  • Kein eigenes API-Endpoint, kein Refactoring von Plattform-Code
  • Lehrplan-Anker (parallel von Lehrplan-Instanz) habe ich NICHT abgewartet

Bereit für

  • Deploy auf geograsim.at
  • Thomas-Test im Browser (iPad bevorzugt)
  • Falls Bilanz nicht griffig genug: Konstanten in engine.js Zeile 2643 zentral anpassbar (PUMP_RATE, TURB_RATE, DEMAND_PER_DAY, INIT_TOP)

fertig.

— Staustufen