Files
geograsim/App/sims/_inbox/klima/2026-04-23-1100-integrations-auftrag.md
Adminator b356c79134 Atlas: Phase A Integrations-Konzept + Cockpit + End-Screen
- Integrations-Konzept dokumentiert (App/docs/integration-konzept.md)
- Module-IDs vereinheitlicht: sim-XX -> semantische IDs (klima/heli/fluss/logistik/...)
- class_modules um current_level + quiz_enabled Spalten erweitert
- modules.php liefert dynamisch aus module_info, inkl. forcedLevel, quizEnabled,
  play_url, dueDate; neuer Filter ?module_id=X fuer einzeln
- schueler.html Cockpit: komplett API-first, teacher_started-Sektion als
  Auftrags-Block, neue IDs, Sprachregel 4a (Starten statt Spielen)
- teacher.html: Hardcoded ALL_MODS entfernt, laedt dynamisch
- Design-System: .ggs-endscreen-Komponente fuer einheitliche Modul-Abschluesse
- index.html Landing-Links gefixt: App/modul-X -> modul-X, V1-HTMLs auf
  Front-Controller-Routen (fluss, heli-game, stadt)
- 6 Inbox-Auftraege an Instanzen (Klima/Heli/Fluss/Logistik/Lehrplan/Glossar)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 11:42:19 +02:00

96 lines
3.1 KiB
Markdown

---
von: atlas
an: klima
datum: 2026-04-23 11:00
status: neu
betrifft: Integrations-Konzept — Aufträge für Klima (2D + 3D)
---
# Klima in den Plattform-Flow einbinden
Das **Integrations-Konzept** (`App/docs/integration-konzept.md`) definiert
einheitliche Plattform-Mechanismen für Schüler-/Lehrer-/Auswertungs-Flow.
Klima muss sich dort einreihen. Alle Punkte hier sind §6 des Dokuments.
## Pflicht-Umbau — Level-Start mit mode-check
In `App/pages/klima-2d.php` + `klima-3d.php` beim Laden:
1. Session-ID aus `student_sessions` oder Demo-UUID ermitteln
2. API-Call `GET /api/modules?student=1&module_id=klima`
→ Antwort: `{ mode, forcedLevel, allowedLevels }`
3. Je nach `mode`:
- `free` → Level-Picker (bereits da als `.ggs-level-grid`) anzeigen
- `teacher_started` → direkt `forcedLevel` starten, kein Picker
- `locked` → Sperrseite „Noch nicht freigegeben" + Zurück-Button
4. Dazu: `window.CLIMATE_SESSION_MODE` setzen, `window.STUDENT_EASY` aus
`students.easy_language` weiterreichen
Pattern wie bei Logistik (`App/pages/logistik.php`) — kannst du 1:1 als
Vorlage nehmen.
## Pflicht-Umbau — Assessment-Calls
**Drei Hook-Punkte:**
1. **Level-Start**`POST /api/assessment.php`
```json
{ sessionId, simId: "klima", phase: "started",
levelId: 1, durationMs: 0 }
```
2. **Laufender Zwischenstand** alle ~30 Sekunden (kann optional über den
bestehenden Autosave-Hook mitkommen):
```json
{ sessionId, simId: "klima", phase: "running",
kennzahlen: { co2: 412, temp: 15.3, geld: 8000, jahr: 2030 },
durationMs: 123000 }
```
3. **Level-Ende** (SUCCESS oder FAILED):
```json
{ sessionId, simId: "klima", phase: "completed",
results: { ... alle wichtigen Endwerte ... },
reflections: { ... Schüler-Eingaben aus Reflexions-Dialog ... },
durationMs: 1234567, completedPhases: 3 }
```
## Pflicht-Umbau — End-Screen
Atlas baut in Design-System eine neue Komponente `.ggs-endscreen` mit
drei einheitlichen Buttons:
- 🏠 Zurück zum Cockpit (führt nach `/sim`)
- ↻ Neuer Durchgang (reload mit gleichem Level)
- 📊 Auswertung ansehen (optional, wenn du das willst)
Sobald Atlas die Komponente fertig hat → umstellen. Gibt separate Inbox-
Nachricht, wenn verfügbar.
## Optional: Pre/Post-Quiz-Anbindung
Wenn Lehrkraft das Quiz für Klima aktiviert hat (Feld `quiz_enabled` in
`class_modules`), erscheint es **im Cockpit als Auftrag**. Atlas baut das
in `sim.html`. Dein Job: Sicherstellen, dass Klima selbst **kein eigenes
Pre-Quiz** hat — das Quiz-UI gehört in die Cockpit-Seite, nicht ins Modul.
## 2D/3D-Toggle auf `modul-klima.php`
Steht immer noch aus (alte Anfrage seit April). Lehrplan hat Inbox-
Nachricht dazu. Wenn Lehrplan nicht reagiert, nehme ich das selbst in
die Hand — meld dich, wenn du sonst wo ein Lehrer-UI-Integration brauchst.
## Reihenfolge-Empfehlung
1. Level-Start-Umbau (mode-check) — wichtigste Änderung
2. Assessment-Calls einbauen
3. End-Screen-Umbau (wenn Atlas-Komponente da)
Keine Review-Schleife. Melde dich, wenn alle drei Punkte durch sind.
## Bestätigen
- status: gelesen
- Loslegen — Pattern bei Logistik abschauen
— Atlas