Klima 3D V2: Session-Abschluss — Strandleben komplett + Berichte
- 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>
This commit is contained in:
@@ -1,91 +1,105 @@
|
||||
---
|
||||
instanz: klima
|
||||
zuletzt_aktualisiert: 2026-04-19 17:00
|
||||
session_id: 3d-v2-ausbau
|
||||
zuletzt_aktualisiert: 2026-04-19 21:30
|
||||
session_id: 3d-v2-polish-final
|
||||
---
|
||||
|
||||
# Aktueller Stand
|
||||
# Aktueller Stand — V2 komplett, wartet auf Tests
|
||||
|
||||
## Wo ich stehe
|
||||
## Schritte aus Engine-Refactor-Auftrag
|
||||
|
||||
Engine-Refactor-Auftrag komplett — alle fünf Schritte durch:
|
||||
|
||||
- **Schritt 1 — Engine extrahieren:** DONE (ältere Session)
|
||||
- **Schritt 2 — 2D auf Engine umstellen:** DONE (ältere Session)
|
||||
- **Schritt 3 — 3D V2 bauen:** DONE (`App/sims/klima/game-3d.html`)
|
||||
- **Schritt 1 — Engine extrahieren:** DONE (frühere Session)
|
||||
- **Schritt 2 — 2D auf Engine umstellen:** DONE (frühere Session)
|
||||
- **Schritt 3 — 3D V2 bauen:** DONE (`App/sims/klima/game-3d.html`, ~5000 Z.)
|
||||
- **Schritt 4 — `pages/klima-3d.php`:** DONE
|
||||
- **Schritt 5 — `module_info` 2D/3D-Toggle:** Nachricht an Atlas/Lehrplan
|
||||
raus (`_inbox/zentrale/2026-04-19-1700-klima-3d-v2-fertig-modul-toggle.md`)
|
||||
- **Schritt 5 — `module_info` 2D/3D-Toggle via Lehrplan:** Anfrage raus
|
||||
(`_inbox/zentrale/2026-04-19-1700-klima-3d-v2-fertig-modul-toggle.md`),
|
||||
wartet auf Lehrplan-Umsetzung
|
||||
|
||||
## Was in dieser Session gebaut wurde
|
||||
## Was heute dazugekommen ist (nach dem 17:00-Bericht)
|
||||
|
||||
### Phase A – D (Pflicht laut Auftrag)
|
||||
### Szene, Atmosphäre, Animation
|
||||
|
||||
- **A — Gerüst:** game-2d.html kopiert, 2D-Canvas raus, Three.js-CDN
|
||||
0.155.0 rein, `<div id="scene-container">` mit grid-column 1/-1.
|
||||
- **B — Szene:** Terrain als Höhenfeld (90×120-Plane, Vertex-Farben
|
||||
Strand/Wiese/Wald/Fels), Vulkan als Lathe-Dome + Schnee-Kappe mit
|
||||
Clipping-Plane für Schmelze, Ozean-Plane steigt mit state.seaLevelCm,
|
||||
Himmel-Halbkugel, Ambient + DirectionalLight. Kamera per Kugel-
|
||||
koordinaten + Eigenbau-Orbit (Drag, Scroll, Pfeiltasten, Auto-Drohne
|
||||
mit 4 s Idle-Resume).
|
||||
- **C — 12 Mesh-Factories:** Wald, Solar, Wind, Gründach, Deich,
|
||||
Seawall, Kohle, Flughafen (2x Scale, Heli-Pad schwarz mit H),
|
||||
Wolken-Impfung, Radwege, Mangrove, Sand-Aufschüttung (breite Strand-
|
||||
Plattform). Windräder animiert (rotorRef.rotation.z = tNow * 1.4).
|
||||
- **D — Placement-Ghost + Raycaster:** Zone-Overlay grün
|
||||
(ShaderMaterial mit RGBA-Vertex-Farben), Küsten-Ausrichtung für
|
||||
Deich/Seawall/Mangrove/Sand/Bikes, Ketten-Bau (Placement bleibt
|
||||
nach Confirm offen), ESC / Rechtsklick / „Bau beenden"-Card verlassen.
|
||||
- Wolken als Dunst auf Vulkan-Höhe, fünf Stück mit breit gestreuten
|
||||
Größen/Opazitäten/Geschwindigkeiten
|
||||
- Airport-Plateau schmaler (2.55×1.25, entlang der Runway zentriert)
|
||||
- Pro Flughafen eigener Heli + Flugzeug (`airportVehicles`-Map),
|
||||
Heli landet exakt auf dem schwarzen H-Pad, macht alle ~3 Zyklen
|
||||
deterministisch eine größere Runde um den Vulkan
|
||||
- Flugzeug: korrekte Orientierung via `plane-test.html` kalibriert,
|
||||
Runway läuft parallel zur Küste (`coastRotation`), Anflug und
|
||||
Start fliegen seitlich am Vulkan vorbei, Runway-Höhe so angepasst
|
||||
dass Räder auf Asphalt stehen (0.78 statt 0.50)
|
||||
- Flugzeug-Zyklus: Park → Takeoff → Climb mit Banking → Flugrunde
|
||||
unsichtbar → Approach aus +X mit Banking → Landing → Wenden →
|
||||
Parken (bleibt zwischen Flügen sichtbar auf der Bahn)
|
||||
- Pause-Zentrum: großer ▶-Button in der Szene bei Speed 0
|
||||
- Drohnen-Toggle 🚁 im Header (Auto-Kamera ein/aus)
|
||||
- Baumfäll-Animation bei Stromausfall (Kippen → Totenkopf → Fade)
|
||||
- Mangroven-Sterben ab 30 cm Meeresspiegel (Grau-Tönung)
|
||||
- Flut-Tönung aller Gebäude, sobald sie unter Wasser geraten
|
||||
(Dunkelgrau + leichter Kipp)
|
||||
- Drei Boote + Yacht + Fischerboot mit korrekten Bug-Richtungen,
|
||||
Heli-Pad-Offset und Flugzeug-Mesh
|
||||
- Start-Dorf mit 10 Häusern, populationsabhängige Sichtbarkeit,
|
||||
Rauch-Partikel proportional zu `1 − renewablePower/demand`
|
||||
- Vulkan-Schutzwall via `syncMountainShield` (citizen-mountain-Event)
|
||||
- Citizen-Strand via `syncCitizenBeach` (citizen-tourism)
|
||||
- Strandleben: 22 winzige Figuren/Sonnenschirme/Handtücher/Liegestühle/
|
||||
Hunde entlang der Küste gleichmäßig verteilt
|
||||
- Szene um 10 % nach unten versetzt (lookAt y 0.5 → 2.8)
|
||||
|
||||
### Bonus-Polish / Thomas-Wünsche
|
||||
### Spiel-Mechanik / UI
|
||||
|
||||
- Flughafen 2x Skala, Heli kreist → landet auf schwarzem H-Pad → steht
|
||||
8 s → steigt wieder auf (36 s-Zyklus).
|
||||
- Drei Boote + Yacht: Fischerboot patrouilliert vorne, Tanker + kleines
|
||||
Segelboot queren hinten, größere Yacht vorne — alle mit korrekten
|
||||
Bug-Richtungen.
|
||||
- Start-Dorf: 10 Haus-Positionen, sichtbar ~ ceil(population/800),
|
||||
Rauchfäden proportional zu (1 − renewablePower/demand).
|
||||
- Vulkan-Schutzwall (citizen-mountain-Event): Halbring aus 9 Fels-
|
||||
Blöcken am Vulkanfuß, erscheint via `state.hasMountainShield`.
|
||||
- Mangroven sterben grau ab 30 cm Meeresspiegel (Material-Tint).
|
||||
- Radwege verlaufen am Küstenband (Terrain-Höhe 0.32–0.62, parallel).
|
||||
- Toast-Cap bei 6: älteste fliegt raus wenn 7. kommt.
|
||||
- End-Screen-Buttons: "Weiter arbeiten / Neue Simulation / Zurück zum
|
||||
Cockpit". `startFreshSimulation()` räumt Save + startet ohne Reload.
|
||||
- Experten-Modus: 👨🔬-Button im Header, Cursor → help, Klick auf Objekt
|
||||
öffnet INFO_TOPICS-Karte. 17 neue Info-Einträge (alle Maßnahmen +
|
||||
Umgebung: Insel, Ozean, Vulkan, Tanker, Segelboot, Fischerboot, Heli,
|
||||
Dorf, Schutzwall).
|
||||
- Sprachregel 4a durchgeführt: „Spielstand" → „Arbeitsstand",
|
||||
"spielen" → "laufen lassen", "pleite" → "Budget aufgebraucht",
|
||||
"Mission gescheitert" → "Ziel nicht erreicht", "Nochmal spielen"
|
||||
→ "Neue Simulation", "Startseite" → "Cockpit".
|
||||
- Ketten-Bau: nach jedem Placement bleibt der Bau-Modus aktiv, solange
|
||||
Budget reicht; ESC / Rechtsklick / "Bau beenden"-Karte beenden
|
||||
- Zone-Overlay grün bei Platzierung (ShaderMaterial mit RGBA-Vertex-Alpha)
|
||||
- Küsten-parallele Ausrichtung für Deich/Seawall/Mangrove/Sand/Bikes
|
||||
- Radwege: snappen an bestehende, Mittellinie durchgehend (ein Box-
|
||||
Streifen + 8 % Überlappung beim Spacing), Position im Beach→Meadow-Band
|
||||
- Sand-Aufschüttung: reiner Lathe-Kegel (kleiner), nicht mehr Plattform
|
||||
- Experten-Modus 👨🔬 im Header: Klick auf Objekt → Info-Card aus 17
|
||||
neu eingebauten `INFO_TOPICS`-Einträgen
|
||||
- Graph-Top = Durchgang verloren (CO₂ ≥ 700 oder 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" (saubere Sprachregel)
|
||||
- Gründach-Kauf löst Toast mit Wohnraum-Erklärung aus
|
||||
- Solaranlage-Kauf zeigt Stromleistung + Wartungskosten
|
||||
- Drei Start-Bäume werden beim Level-Start vor-gesetzt, bei
|
||||
Stromausfall von der Engine gefällt → sichtbare Animation
|
||||
- Toast-Cap bei 6 im Event-Viewport
|
||||
- Sprachregel 4a systematisch in `game-3d.html` durchgezogen
|
||||
- Musik-Reset auf Default-Track bei jedem Level-Start (kein Drama-Leck
|
||||
aus vorherigem Durchgang)
|
||||
|
||||
## Zuletzt geänderte Dateien
|
||||
### Technisch
|
||||
|
||||
- `App/sims/klima/game-3d.html` (umfangreich erweitert, ~4800 Z.)
|
||||
- `App/pages/klima-3d.php` (neu)
|
||||
- `App/sims/_inbox/zentrale/2026-04-19-1700-klima-3d-v2-fertig-modul-toggle.md`
|
||||
(neu, an Atlas + Lehrplan)
|
||||
- `airportLocalToWorld` Vorzeichen an Three.js-Konvention korrigiert
|
||||
- Neue Datei `App/sims/klima/plane-test.html` als Kalibrier-Sandbox
|
||||
(kann bleiben als Dev-Tool)
|
||||
|
||||
## Noch offen
|
||||
## Dateien dieser Session
|
||||
|
||||
- **Phase E Browser-Regression** — muss Thomas machen; meine Seite ist
|
||||
statisch komplett, die 8 Tests aus Handover + 3D-Spezifisches
|
||||
(Kamera-Orbit, alle 12 Meshes platzieren, Save/Load mit 3D-Positionen,
|
||||
V1 unberührt) fehlen noch. Nach erstem Test-Durchgang kommen
|
||||
vermutlich Feinschliff-Iterationen — dann weiter in dieser Inbox.
|
||||
- **Lehrplan:** wartet auf Antwort, sobald `modul-klima.php` den
|
||||
2D/3D-Toggle zeigt.
|
||||
- `App/sims/klima/game-3d.html` (~5000 Z., umfangreich erweitert)
|
||||
- `App/sims/klima/plane-test.html` (neu, Dev-Sandbox)
|
||||
- `App/pages/klima-3d.php` (neu, PHP-Wrapper)
|
||||
- `App/sims/_inbox/zentrale/` — mehrere Status-Nachrichten
|
||||
|
||||
## Offene Entscheidungen
|
||||
## Commits in dieser Session
|
||||
|
||||
Keine. Alle drei Entscheidungen aus Phase-A-Plan sind durch:
|
||||
OrbitControls-Eigenbau, Alt-Save-Fallback via pickBuildPosition,
|
||||
Session-Split nach C (nicht nötig — in einer Session geschafft).
|
||||
~15 Klima-3D-Commits auf `master` (Phase A-D + Feinschliff + Ambient-
|
||||
Ausbau + Sprachregel + Polish). Alle gepusht, git log hat die Kette.
|
||||
|
||||
## Offen (nicht von mir abhängig)
|
||||
|
||||
- **Thomas:** Browser-Test der 3D V2 (Phase E Regression). Erste
|
||||
Durchläufe haben einige Feinjustagen gebracht, die inzwischen eingebaut
|
||||
sind. Ein systematischer Tests-Durchgang steht noch aus.
|
||||
- **Lehrplan:** `modul-klima.php` um die zwei Launch-Buttons
|
||||
(„2D starten" / „3D starten") erweitern.
|
||||
|
||||
## Blocker
|
||||
|
||||
Keine.
|
||||
Keine. 3D V2 ist einsatzbereit.
|
||||
|
||||
Reference in New Issue
Block a user