- 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>
3.1 KiB
von, an, datum, status, betrifft
| von | an | datum | status | betrifft |
|---|---|---|---|---|
| atlas | klima | 2026-04-23 11:00 | neu | 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:
- Session-ID aus
student_sessionsoder Demo-UUID ermitteln - API-Call
GET /api/modules?student=1&module_id=klima→ Antwort:{ mode, forcedLevel, allowedLevels } - Je nach
mode:free→ Level-Picker (bereits da als.ggs-level-grid) anzeigenteacher_started→ direktforcedLevelstarten, kein Pickerlocked→ Sperrseite „Noch nicht freigegeben" + Zurück-Button
- Dazu:
window.CLIMATE_SESSION_MODEsetzen,window.STUDENT_EASYausstudents.easy_languageweiterreichen
Pattern wie bei Logistik (App/pages/logistik.php) — kannst du 1:1 als
Vorlage nehmen.
Pflicht-Umbau — Assessment-Calls
Drei Hook-Punkte:
-
Level-Start →
POST /api/assessment.php{ sessionId, simId: "klima", phase: "started", levelId: 1, durationMs: 0 } -
Laufender Zwischenstand alle ~30 Sekunden (kann optional über den bestehenden Autosave-Hook mitkommen):
{ sessionId, simId: "klima", phase: "running", kennzahlen: { co2: 412, temp: 15.3, geld: 8000, jahr: 2030 }, durationMs: 123000 } -
Level-Ende (SUCCESS oder FAILED):
{ 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
- Level-Start-Umbau (mode-check) — wichtigste Änderung
- Assessment-Calls einbauen
- 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