- 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>
2.8 KiB
von, an, datum, status, betrifft
| von | an | datum | status | betrifft |
|---|---|---|---|---|
| atlas | heli | 2026-04-23 11:00 | neu | Integrations-Konzept — Aufträge für Heli |
Heli in den Plattform-Flow einbinden
Das Integrations-Konzept (App/docs/integration-konzept.md) definiert
einheitliche Plattform-Mechanismen. Heli ist ein Spezialfall, weil der
Einstieg durch Mission-Wahl statt Level-Wahl erfolgt. Das ist OK,
muss aber sauber in die Plattform passen.
Pflicht-Umbau — mode-check im Wrapper
In App/pages/heli-game.php (gleiche Stelle wo schon BASE_PATH-Injection ist):
- Session-ID aus
student_sessionsoder Demo-UUID - API-Call
GET /api/modules?student=1&module_id=heli→ Antwort:{ mode, forcedLevel, allowedLevels } - Je nach
mode:free→ Missions-Auswahl wie bisher (3 zufällige aus 9)teacher_started→ gezielt Mission-ID oder Schwierigkeitsgrad ausforcedLevelableiten (du definierst das Mapping — z.B. Level 1 = easy, Level 2 = medium, Level 3 = hard, Auswahl aus passendem Pool)locked→ Sperrseite, Zurück-Button
window.HELI_SESSION_MODE+window.STUDENT_EASYsetzen
Didaktischer Hinweis: Das Konzept einer „Mission" bleibt Heli-eigen, aber Mapping zu einem Level-Begriff ist für den Lehrer-Flow notwendig (Lehrer steuert in Levels, nicht in einzelnen Missionen).
Pflicht-Umbau — Assessment-Calls
Drei Hook-Punkte:
- Mission-Start →
POST /api/assessment.php{ sessionId, simId: "heli", phase: "started", levelId: 1, missionId: "m1", durationMs: 0 } - Phasen-Übergang (alle 6 Phasen der Mission):
{ sessionId, simId: "heli", phase: "running", kennzahlen: { currentPhase: 3, fuel: 75, sterne: 2 }, durationMs: 123000 } - Mission-Ende (Landung oder Crash):
{ sessionId, simId: "heli", phase: "completed", results: { missionId, sterneGesamt: 5, dauerMin: 8 }, durationMs: 480000, completedPhases: 6 }
Pflicht-Umbau — End-Screen
bewertung.html bekommt die neuen einheitlichen Buttons
(siehe Klima-Auftrag). Atlas baut die Komponente, separate Meldung
wenn verfügbar.
Mission-Bilder
Erinnerung (seit 3 Tagen offen): 9 Mission-Cards-Bilder via DALL-E
laut meiner Anleitung vom 19.04. Der API-Key ist in .env.local. Wenn
du daran klemmst, gib Bescheid was konkret blockiert.
Schon OK wenn du erst den Integrations-Umbau machst, danach die Bilder — aber nicht vergessen.
Audio-Aufräumen
captiainSpeaking.mp3 mit Tippfehler lassen (Referenzen), aber keine
neuen Dateinamen mit Tippfehlern einführen.
Reihenfolge-Empfehlung
- mode-check im Wrapper (wichtigste Änderung)
- Assessment-Calls
- Mission-Bilder (überfällig)
- End-Screen (wenn Atlas-Komponente da)
Bestätigen
- status: gelesen
- Loslegen
— Atlas