Klima: iPad-Polish übernommen + Status-Update

Externer Plattform-Sweep hat in allen Klima-HTML-Files iPad-spezifische
Polish-Änderungen ergänzt:
- viewport-fit=cover in 2D / 3D / preview-sounds (Notch-Handling)
- 100dvh statt 100vh in plane-test + preview-sounds (dynamic viewport)
- Cockpit-Link in 3D-Endscreen auf '../../schueler' präzisiert

Inhaltlich keine Modul-Änderung von mir, nur Sicherung der externen
Edits, damit nichts verloren geht.

_status.md auf bereit-warte-auf-go gesetzt — Atlas-Antwort vom 23.04.
liegt vor (alle 6 Fragen beantwortet, End-Screen-Komponente verfügbar,
2D+3D parallel umbauen, Sammel-Commit-Subject vorgegeben). Klima-
Instanz ist arbeitsbereit, wartet auf Thomas-Go fürs Loslegen.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-27 07:23:11 +02:00
parent 45d810bc08
commit fb8877cdf3
5 changed files with 59 additions and 28 deletions
+52 -21
View File
@@ -1,43 +1,74 @@
---
instanz: klima
zuletzt_aktualisiert: 2026-04-23
session_id: integrations-auftrag-koordination
status: re-aktiviert-warte-auf-atlas
zuletzt_aktualisiert: 2026-04-27
session_id: integrations-auftrag-bereit
status: bereit-warte-auf-go
---
# Aktueller Stand — reaktiviert, warte auf Atlas-Rückmeldung
# Aktueller Stand — Atlas-Antworten da, warte auf Thomas-Go
Thomas hat die Instanz wieder aufgerufen. Postfach gelesen:
## Atlas-Antwort (2026-04-23 18:00)
- **Neu (2026-04-23):** Atlas-Integrations-Auftrag — drei Pflicht-
Umbauten (mode-check, Assessment-Calls, End-Screen)
- **Übersehen (2026-04-19):** Level-Class-Rename (kw-level-* → ggs-level-*),
mache ich im selben Durchgang mit
- **Alt (2026-04-19):** Drama-Track + Status-Konvention, erledigt
`_inbox/klima/2026-04-23-1800-antwort-6-fragen.md`. Alle sechs Fragen
beantwortet:
Atlas-Rückfrage liegt in:
`_inbox/zentrale/2026-04-23-klima-reaktivierung-integrations-frage.md`
1. Reihenfolge OK: mode-check → Assessment → End-Screen
2. End-Screen-Komponente VERFÜGBAR (`.ggs-endscreen` ab design-system.css
Abschnitt 22, ~Zeile 990) — sofort mit umbauen
3. Demo-UUID: kein Cookie → `mode=free`, kein Persistenz. Pattern bei
`App/pages/logistik.php` ab Z. 18
4. Variable: `KLIMA_SESSION_MODE`, `KLIMA_FORCED_LEVEL`,
`KLIMA_SESSION_ID` + plattform-`STUDENT_EASY`
5. Rename als Sammel-Commit:
`Klima: Integration (mode/assessment/endscreen) + ggs-level-classes`
6. 2D + 3D parallel umbauen
Warte auf Prio-/Details-Rückmeldung, dann starte ich den Umbau
(Pattern bei `App/pages/logistik.php` abschauen).
## Was inzwischen passiert ist (von außen)
Externer iPad-Polish hat Klima-Files leicht touched (vermutlich Atlas
oder Helfer-Sweep über alle Module):
- `viewport-fit=cover` in 2D-/3D-/preview-sounds-Meta
- `100dvh` statt `100vh` in plane-test + preview-sounds
- Cockpit-Link in 3D-Endscreen `'../../'``'../../schueler'`
Diese Änderungen jetzt committet — sind konsistent mit Plattform-Polish.
## Aktuelle Modul-Komponenten
- `App/sims/klima/engine.js` (Engine, SSoT)
- `App/sims/klima/game-2d.html` (~4100 Z.)
- `App/sims/klima/game-3d.html` (~5100 Z.)
- `App/sims/klima/plane-test.html` (Dev-Sandbox)
- `App/pages/klima-2d.php` + `klima-3d.php`
- Save-Slots `ggs-save-klima-{2d|3d}-L{n}`
- Drama-Track `rising-pressure.mp3` integriert
## Als nächstes
Sobald Thomas Go gibt:
1. `App/pages/logistik.php` als Vorlage anschauen (Z. 18+)
2. `klima-2d.php` + `klima-3d.php` parallel umbauen:
- mode-check via `GET /api/modules?student=1&module_id=klima`
- `KLIMA_SESSION_MODE`, `KLIMA_FORCED_LEVEL`, `KLIMA_SESSION_ID`
setzen, plus `STUDENT_EASY`
- Demo-Modus (kein Cookie) → `mode=free`
- `teacher_started` → Level-Picker überspringen, direkt Level laden
- `locked` → Sperrseite mit Zurück-Button
3. Assessment-Calls in `simulateTick`/Kauf-/Lebenslauf-Hooks:
- Level-Start: `phase=started`
- Alle ~30 s (oder im Autosave): `phase=running` mit Kennzahlen
- Level-Ende: `phase=completed` mit Results + Reflections
4. End-Screen auf `.ggs-endscreen`-Komponente umstellen (HTML-Schnipsel
in Atlas-Antwort)
5. `.kw-level-*``.ggs-level-*` Rename als Side-Quest mitziehen
6. Sammel-Commit mit Subject:
`Klima: Integration (mode/assessment/endscreen) + ggs-level-classes`
Geschätzter Aufwand: 23 h.
## Blocker
Warte auf Atlas-Antworten zu:
1. End-Screen-Komponente verfügbar?
2. Demo-Session-Pattern bei Logistik
3. Globaler Name für `*_SESSION_MODE`
4. Rename-Sammel-Commit ok?
5. 2D/3D parallel oder nacheinander?
Keine. Warte auf Thomas „Los".
---
+1 -1
View File
@@ -2,7 +2,7 @@
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>GeoGraSim — Klimawächter 2D</title>
<link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="stylesheet" href="../../assets/fonts/inter.css">
+3 -3
View File
@@ -2,7 +2,7 @@
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>GeoGraSim — Klimawächter 3D</title>
<link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="stylesheet" href="../../assets/fonts/inter.css">
@@ -909,7 +909,7 @@
</div>
<div style="display:flex;gap:8px;justify-content:center;margin-top:12px">
<button class="ggs-btn ggs-btn-secondary" onclick="location.href='../../'">Zurück zum Cockpit</button>
<button class="ggs-btn ggs-btn-secondary" onclick="location.href='../../schueler'">Zurück zum Cockpit</button>
<button class="ggs-btn ggs-btn-primary" id="level-next-btn" onclick="goNextLevel()">Nächstes Level →</button>
</div>
</div>
@@ -934,7 +934,7 @@
<div style="display:flex;gap:12px;justify-content:center;flex-wrap:wrap">
<button class="ggs-btn ggs-btn-secondary" onclick="hideOverlay('end-overlay')">Weiter arbeiten</button>
<button class="ggs-btn ggs-btn-primary" onclick="startFreshSimulation()">Neue Simulation</button>
<button class="ggs-btn ggs-btn-secondary" onclick="location.href='../../'">Zurück zum Cockpit</button>
<button class="ggs-btn ggs-btn-secondary" onclick="location.href='../../schueler'">Zurück zum Cockpit</button>
</div>
</div>
</div>
+1 -1
View File
@@ -5,7 +5,7 @@
<title>Flugzeug-Orientierungs-Test</title>
<style>
body { margin: 0; font-family: sans-serif; background: #e4ecf0; }
#scene { width: 100vw; height: calc(100vh - 200px); }
#scene { width: 100vw; height: calc(100dvh - 200px); }
#controls {
position: fixed; bottom: 0; left: 0; right: 0; height: 200px;
background: #1a2a32; color: #fff; padding: 14px 22px;
+2 -2
View File
@@ -2,12 +2,12 @@
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>Klimawächter · Sound-Preview</title>
<link rel="stylesheet" href="../../../assets/fonts/inter.css">
<link rel="stylesheet" href="../../../assets/css/design-system.css">
<style>
body { overflow: auto; height: auto; min-height: 100vh; background: var(--ggs-bg); padding: 32px; }
body { overflow: auto; height: auto; min-height: 100dvh; background: var(--ggs-bg); padding: 32px; }
h1 { color: var(--ggs-fjord-dark); font-size: 28px; margin-bottom: 8px; }
.lead { color: var(--ggs-text-muted); margin-bottom: 24px; max-width: 700px; line-height: 1.5; }
.group { margin-bottom: 28px; }