---
von: klima (3D-Session, Session-Ende)
an: atlas
datum: 2026-04-19 22:00
status: neu
betrifft: Abschlussprotokoll — Klima 3D V2, Session geschlossen
---

# Abschlussprotokoll Klima 3D V2

Thomas hat den Abschluss für heute freigegeben. Die Session ist damit
offiziell zu Ende. Dieses Protokoll fasst den finalen Stand zusammen,
die nächste Weiterentwicklung kommt später — wahrscheinlich nach dem
Browser-Regression-Test und eventuellen Lehrer-Rückmeldungen.

## Ergebnis

Klima-Modul läuft in zwei Varianten auf identischer Engine:

- **2D** (`App/sims/klima/game-2d.html`): früher refactored, von Thomas
  im Browser durchgetestet
- **3D V2** (`App/sims/klima/game-3d.html`, ~5100 Z.): heute komplett
  ausgebaut und poliert, wartet auf strukturierten Regression-Test

Beide teilen sich:
- `App/sims/klima/engine.js` als Single Source of Truth
- `module_info` und `game_levels` in der Datenbank
- Audio-Stack (`audio.js`, `kwAudio`), Musik-Widget, Design-System,
  Glossar-API, Autosave-Schema

Separate Save-Slots pro Variante (`ggs-save-klima-{2d|3d}-L{n}`), damit
2D- und 3D-Arbeitsstände nicht kollidieren.

## Vollständige Feature-Liste 3D V2

### Szenen-Grundlage

- Terrain als Höhenfeld mit Vertex-Farben (Strand → Wiese → Wald → Fels)
- Vulkan mit Lathe-Glockenkuppel + Gletscher-Kappe mit Clipping-Plane
  für Schmelz-Sichtbarkeit ab +1 °C
- Ozean als 400×400-Plane, steigt live mit `state.seaLevelCm`
- Himmel-Halbkugel, dekorative Sonnen-Sphere
- Kamera per Kugelkoordinaten, Eigenbau-OrbitControls (Drag, Scroll,
  Pfeiltasten, Auto-Drohne mit 4 s Idle-Resume)
- Fünf Dunst-Wolken auf Vulkan-Höhe (5–9 Welt-Einheiten), breit
  gestreute Parameter
- Start-Dorf (10 Haus-Positionen, populationsabhängige Sichtbarkeit,
  Rauchfäden proportional zu `1 − renewablePower/demand`)
- Strandleben: **tourismus-reaktiv**, 8–40 Elemente je nach
  `state.tourismMode` + Airport-Anzahl. Fünf Typen: Figur, Sonnen-
  schirm, Handtuch, Liegestuhl, Hund

### Maßnahmen

- 12 Mesh-Factories (1:1 aus V1-3D portiert, Vanilla JS statt TypeScript)
- Klick-Platzierung mit grünem Zone-Overlay (ShaderMaterial mit
  RGBA-Vertex-Alpha)
- Küsten-parallele Ausrichtung für Deich, Seawall, Mangrove, Sand, Bikes
- Radwege: snappen an bestehende, **gestrichelte Mittellinie** läuft
  nahtlos über Segment-Grenzen (Spacing = Bike-Länge, 5 Dashes pro
  Segment)
- Sand-Aufschüttung: reiner Lathe-Kegel
- Ketten-Bau: nach jedem Placement bleibt der Modus aktiv, solange
  Budget reicht; ESC / Rechtsklick / „Bau beenden"-Karte beenden

### Dynamische Ambient-Elemente

- Pro Flughafen eigener Heli + Flugzeug (`airportVehicles`-Map)
- Heli landet exakt auf dem schwarzen H-Pad, alle ~3 Zyklen
  deterministisch größere Runde um den Vulkan
- Flugzeug: Runway parallel zur Küste (`coastRotation`), Flug seitlich
  am Vulkan vorbei. Zyklus: Park → Takeoff → Climb mit Banking →
  50 s Flugrunde unsichtbar → Approach mit Banking → Landing → Wenden
  → wieder parken (bleibt sichtbar auf der Bahn)
- Drei Boote (Fischerboot, Tanker, Segelboot) + Yacht, alle mit
  korrekter Bug-Richtung
- Baumfäll-Animation bei Stromausfall: Kippen → Totenkopf-Billboard →
  Fade
- Mangroven-Sterben ab 30 cm Meeresspiegel (Material-Lerp nach Grau)
- Flut-Tönung aller Gebäude unter Wasser (dunkelgrau + leichter Kipp)
- Vulkan-Schutzwall (Citizen-Mountain) und Citizen-Strand-Wall
  (Citizen-Tourism) via Sync-Funktionen

### UI / Spielfluss

- Bau-Modus-Header mit „Bau beenden"-Karte in Maßnahmen-Spalte
- Experten-Modus (👨‍🔬): Klick auf Objekt öffnet `INFO_TOPICS`-Karte
  (17 neu eingebaute Einträge für Maßnahmen + Umgebung)
- Graph-Top = Durchgang verloren (CO₂ ≥ 700 ppm oder Temp ≥ 19 °C)
  mit eigenen Icons und Titeln
- Drei Krisen-Toasts mit Edge-Detection (Budget < 0, Temp > 17,
  Flood > 30 %)
- End-Screen-Buttons: „Weiter arbeiten / Neue Simulation / Zurück zum
  Cockpit"
- Gründach-Kauf erklärt Wohnraum-Effekt
- Solar-Kauf nennt Leistung + Wartung
- Drei Start-Bäume im Anfangsbestand
- Pause-Zentrum mit großem ▶-Button in der Szene
- Drohnen-Toggle 🚁 im Header
- Toast-Cap 6 im Event-Viewport
- Musik-Reset auf Default bei Level-Start

### Sprache und Technik

- Sprachregel 4a systematisch durchgezogen
- `airportLocalToWorld` an Three.js-Konvention angeglichen
- `plane-test.html` als Kalibrier-Sandbox (Dev-Tool, kann bleiben)
- PHP-Wrapper `App/pages/klima-3d.php` (analog zu klima-2d.php)

## Commits dieser Session

Auf `master`, ca. 17 Klima-3D-Commits ab `64bb935` (Schritt 3+4-Paket)
bis `af9ecf6` (Strandleben tourismus-reaktiv + Dashes durchgehend).
Alles lokal, wartet auf Deploy-Kommando von Thomas.

## Offen — nicht von mir

1. **Thomas**: strukturierter Browser-Regression-Test (Phase E).
   Die 8 Tests aus der ursprünglichen Handover-Notiz + 3D-spezifische
   (alle 12 Maßnahmen platzieren, Kamera-Orbit, Save/Load mit 3D-Pos,
   V1 unberührt).
2. **Lehrplan**: `modul-klima.php`-Erweiterung um 2D/3D-Launcher.
   Anfrage liegt seit 17:00 in deiner Inbox, Nachtrag um 21:35 mit
   aktualisiertem Stand.
3. **Atlas**: wenn Lehrplan eigene Inbox will, bitte anlegen. Aktuell
   leg ich Nachrichten an Lehrplan bei dir ab.

## Zukünftige Weiterentwicklung

Thomas sagt: „Es wird später wieder eine Weiterentwicklung geben."
Mögliche nächste Blöcke, falls in Zukunft relevant:

- **Wetter-System**: Sturmflut-Ereignisse mit visuellem Effekt, Regen-
  Partikel bei bestimmten Bürger-Events, Dürre-Färbung des Terrains
  bei hoher Temperatur
- **Lehrer-Dashboard-Hooks**: mehr granulare Metriken für den
  Klassenüberblick (welche Maßnahmen wurden wann gebaut, wie oft
  Reset, durchschnittliche Reichweite der Runden)
- **Barrierefreiheit-Variante**: größere Mesh-Skalierung,
  höherer Kontrast, Reduzierte Animations-Option
- **Mobile/Portrait-Layout**: Touch-First mit überarbeiteter
  Action-Card-Anordnung
- **Lern-Szenarien**: vordefinierte Ausgangslagen als Unterrichts-
  Einstieg (z.B. „Du kommst ins Jahr 2100, die Insel ist halb
  überflutet — rette was zu retten ist")

Das sind nur Ideen — Priorität kommt aus dem Unterrichts-Feedback,
sobald das Modul live getestet wird.

## Abschluss

Klima-Session heute offiziell zu. Instanz wartet auf Re-Aktivierung
bei Bedarf.

### Dank

Atlas, Thomas und alle Team-Instanzen: saubere Zusammenarbeit. Die
Handover-Notiz-Konvention, die Sprachregel-Koordination, die Musik-
Registry, die Abstimmung mit dem Glossar-Instanz über INFO_TOPICS —
alles hat funktioniert wie vorgesehen.

## Bestätigen

- status: gelesen
- Keine aktive Rückmeldung erforderlich — die Session ist ruhig bis
  zum nächsten Aktivierungs-Impuls (Testergebnis, Lehrer-Feedback,
  neuer Arbeitsblock).
