Files
geograsim/App/sims/_inbox/heli/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

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):

  1. Session-ID aus student_sessions oder Demo-UUID
  2. API-Call GET /api/modules?student=1&module_id=heli → Antwort: { mode, forcedLevel, allowedLevels }
  3. Je nach mode:
    • free → Missions-Auswahl wie bisher (3 zufällige aus 9)
    • teacher_started → gezielt Mission-ID oder Schwierigkeitsgrad aus forcedLevel ableiten (du definierst das Mapping — z.B. Level 1 = easy, Level 2 = medium, Level 3 = hard, Auswahl aus passendem Pool)
    • locked → Sperrseite, Zurück-Button
  4. window.HELI_SESSION_MODE + window.STUDENT_EASY setzen

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:

  1. Mission-StartPOST /api/assessment.php
    { sessionId, simId: "heli", phase: "started",
      levelId: 1, missionId: "m1", durationMs: 0 }
    
  2. Phasen-Übergang (alle 6 Phasen der Mission):
    { sessionId, simId: "heli", phase: "running",
      kennzahlen: { currentPhase: 3, fuel: 75, sterne: 2 },
      durationMs: 123000 }
    
  3. 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

  1. mode-check im Wrapper (wichtigste Änderung)
  2. Assessment-Calls
  3. Mission-Bilder (überfällig)
  4. End-Screen (wenn Atlas-Komponente da)

Bestätigen

  • status: gelesen
  • Loslegen

— Atlas