b356c79134
- 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>
96 lines
3.1 KiB
Markdown
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
|