ce0164264f
- Strandleben: 22 Stellen (vorher 12), fünf Typen statt drei: Figur, Sonnenschirm, Handtuch, Liegestuhl (neu), Hund (neu). Positionen über gleichmäßiges Winkel-Raster mit Jitter, damit die Elemente rundum verteilt sitzen statt zufällig zusammen zu klumpen. - makeBeachChair: angeschrägte Rückenlehne + Sitz + vier Beine in wechselnder Stoff-Farbe. - makeBeachDog: Körper + Kopf + Schnauze + Schwanz + vier Beinchen + Ohren in zufälliger Fell-Farbe. - _status.md: auf finalen V2-Stand überschrieben - _inbox/zentrale/2026-04-19-2130-klima-3d-v2-abschluss.md: Bericht an Atlas mit vollständiger Feature-Liste - _inbox/zentrale/2026-04-19-2135-klima-3d-v2-lehrplan-nachtrag.md: Nachtrag an Lehrplan (Modul-Detailseite um 2D/3D-Launcher erweitern) - _inbox/glossar/2026-04-19-2130-klima-3d-v2-info-topics.md: Info an Glossar (17 view-lokale INFO_TOPICS, keine DB-Änderung nötig) 3D V2 ist einsatzbereit — Thomas schließt heute ab, strukturierter Browser-Regression-Test folgt in späterer Session. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
129 lines
5.0 KiB
Markdown
129 lines
5.0 KiB
Markdown
---
|
|
von: klima (3D-Session, abschließend)
|
|
an: atlas
|
|
datum: 2026-04-19 21:30
|
|
status: neu
|
|
betrifft: Klima 3D V2 — Abschluss-Bericht, wartet auf Browser-Test
|
|
---
|
|
|
|
# Klima 3D V2 ist komplett
|
|
|
|
Der Engine-Refactor-Auftrag ist durch. Alle fünf Schritte abgearbeitet,
|
|
plus eine Runde intensives Polish mit Thomas live im Browser.
|
|
|
|
## Was steht
|
|
|
|
- **Engine** (`engine.js`, früher) — Single Source of Truth für 2D und 3D
|
|
- **2D V2** (`game-2d.html`, früher) — auf Engine umgestellt, Thomas
|
|
getestet und abgesegnet
|
|
- **3D V2** (`game-3d.html`, jetzt) — ~5000 Zeilen, vollständige
|
|
Three.js-Szene über derselben Engine, separate Save-Slots
|
|
- **PHP-Wrapper** (`pages/klima-3d.php`) — analog zu `klima-2d.php`,
|
|
teilt sich `module_info` und `game_levels` mit der 2D-Variante
|
|
- **Lehrplan-Anfrage** zur `modul-klima.php`-Erweiterung um
|
|
2D/3D-Launcher liegt in deiner Inbox
|
|
(`2026-04-19-1700-klima-3d-v2-fertig-modul-toggle.md`)
|
|
|
|
## Was 3D V2 kann
|
|
|
|
### Szenen-Grundlage
|
|
|
|
- Terrain als Höhenfeld mit Vertex-Farben (Strand/Wiese/Wald/Fels)
|
|
- Vulkan mit Lathe-Glockenkuppel + Gletscherkappe, Clipping-Plane für
|
|
die Schmelze bei steigender Temperatur
|
|
- Ozean als Plane, steigt sichtbar mit `state.seaLevelCm`
|
|
- Himmel-Halbkugel + dekorative Sonnen-Sphere
|
|
- Kamera per Kugelkoordinaten mit Eigenbau-OrbitControls (Drag-Rotate,
|
|
Scroll-Zoom, Pfeiltasten, Auto-Drohne mit Idle-Resume)
|
|
- Fünf Dunst-Wolken auf Vulkan-Höhe mit breit gestreuten Parametern
|
|
- Start-Dorf mit 10 Haus-Positionen, populationsabhängig sichtbar,
|
|
Rauchfäden proportional zum fossilen Strom-Anteil
|
|
- 22 winzige Strandleben-Elemente (Figuren, Schirme, Handtücher,
|
|
Liegestühle, Hunde) gleichmäßig am Küstenband verteilt
|
|
|
|
### Maßnahmen
|
|
|
|
- Alle 12 Maßnahmen-Modelle als Mesh-Factories (1:1 aus V1-3D portiert,
|
|
Vanilla JS statt TypeScript)
|
|
- Klick-Platzierung: `resolveMeta` liefert `{pos:{x,y,z}, rotation,
|
|
zoneId}` an die Engine
|
|
- Placement-Ghost mit grün/rot-Tönung und Zone-Overlay (Shader mit
|
|
RGBA-Vertex-Alpha)
|
|
- Küsten-parallele Ausrichtung für Deich/Seawall/Mangrove/Sand/Bikes
|
|
- Radwege snappen an bestehende, Mittellinie durchlaufend
|
|
- Ketten-Bau: nach jedem Kauf bleibt der Modus aktiv bis Budget alle
|
|
oder ESC/Rechtsklick/„Bau beenden"-Karte
|
|
|
|
### Dynamik
|
|
|
|
- Pro Flughafen ein eigener Heli + Flugzeug. Heli landet exakt auf
|
|
dem schwarzen H-Pad, macht alle ~3 Zyklen eine Runde um den Vulkan.
|
|
Flugzeug parkt sichtbar auf der Runway zwischen den Flügen, fliegt
|
|
parallel zur Küste (nicht durch den Vulkan).
|
|
- Drei Boote + Yacht + Fischerboot, alle mit korrekter Bug-Richtung
|
|
entlang ihrer jeweiligen Kurse
|
|
- Baumfäll-Animation bei Stromausfall: Kippen, Totenkopf erscheint,
|
|
Fade. Engine fällt weiterhin die Instanzen, die Animation läuft
|
|
view-seitig über `fallenTrees`.
|
|
- Mangroven werden ab 30 cm Meeresspiegel grau (Versalzung/Überflutung
|
|
sichtbar)
|
|
- Flut-Tönung: jedes Gebäude unter Wasser wird dunkel + kippt leicht
|
|
- Vulkan-Schutzwall + Citizen-Strand sichtbar bei passenden Bürger-
|
|
Event-Entscheidungen (`state.hasMountainShield`, `state.hasSandBeach`)
|
|
|
|
### Spiel-Fluss
|
|
|
|
- Graph-Top = Durchgang verloren (CO₂ ≥ 700 ppm, Temp ≥ 19 °C) mit
|
|
eigenen End-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"
|
|
- Experten-Modus (👨🔬-Button): Klick auf beliebiges Objekt öffnet
|
|
die passende `INFO_TOPICS`-Karte (17 neue Einträge für alle
|
|
Maßnahmen + Umgebung)
|
|
- Drei Start-Bäume als Anfangsbestand
|
|
- Gründach-Kauf erklärt Wohnraum-Effekt, Solar-Kauf nennt Leistung +
|
|
Wartung
|
|
- Drohnen-Toggle 🚁, Pause-Zentrum mit ▶-Klick-Resume
|
|
- Toast-Cap 6 im Event-Viewport
|
|
- Musik-Reset auf Default bei Level-Start (kein Drama-Leck)
|
|
|
|
### Sprachregel 4a
|
|
|
|
Systematisch durchgezogen — „Arbeitsstand" statt „Spielstand",
|
|
„Durchgang beendet" statt „Game Over", „Ziel erreicht" statt
|
|
„Mission erfüllt", „Cockpit" statt „Startseite" usw.
|
|
|
|
## Nicht von mir
|
|
|
|
- Atlas: Lehrplan-Koordination für den 2D/3D-Toggle auf
|
|
`modul-klima.php` (siehe 17:00-Nachricht)
|
|
- Thomas: systematischer Browser-Test (Phase E Regression).
|
|
Einige Test-Iterationen liefen bereits live in meinen letzten
|
|
Stunden — Feinschliff-Änderungen sind eingebaut. Der strukturierte
|
|
Durchgang (alle 3 Level, Save/Load, Reset, End-Screens, alle
|
|
Maßnahmen platzieren, Bürger-Events, Experten-Modus) steht noch aus.
|
|
|
|
## Testen
|
|
|
|
- URL: `http://localhost/geograsim/App/klima-3d?level=1` (PHP-Wrapper)
|
|
oder `http://localhost/geograsim/App/sims/klima/game-3d.html` direkt
|
|
- Kalibrier-Sandbox: `/App/sims/klima/plane-test.html` (Dev-Tool für
|
|
Mesh-Orientierung, kann bleiben)
|
|
|
|
## Commits
|
|
|
|
Im Git-Log auf `master`: ~15 Klima-Commits der Form
|
|
`Klima 3D: …`. Alle bleiben lokal bis zum Deploy-Kommando von Thomas.
|
|
|
|
## Abschluss
|
|
|
|
Von meiner Seite fertig. Thomas schließt für heute ab, der strukturierte
|
|
Test kommt noch.
|
|
|
|
## Bestätigen
|
|
|
|
- status: gelesen
|
|
- Rückmeldung nicht nötig — wenn der Test ansteht oder du Abhängig-
|
|
keiten siehst, meld dich bitte.
|