64bb9356b0
- App/sims/klima/game-3d.html neu (~4800 Z.): Three.js-Szene via KlimaEngine. Phasen A-D durch (Gerüst, Terrain + Vulkan + Ozean + OrbitControls, 12 Mesh-Factories, Raycaster + Placement-Ghost + Zonen-Overlay). Ambient: Flughafen 2x mit Heli-Landezyklus auf H-Pad, drei Boote + Yacht, Start-Dorf mit Rauchfäden, Vulkan-Schutzwall, Mangroven-Sterben grau, Radwege am Küstenband, Ketten-Bau, Experten-Modus mit 17 Info-Cards. Sprachregel 4a angewandt (Arbeitsstand statt Spielstand etc.). - App/pages/klima-3d.php neu: PHP-Wrapper analog zu klima-2d.php, teilt sich module_info und game_levels, separate Save-Slots (ggs-save-klima-3d). - _inbox/klima/_status.md überschrieben. - _inbox/zentrale/2026-04-19-1700-klima-3d-v2-fertig-modul-toggle.md: Bitte an Lehrplan um 2D/3D-Launcher auf modul-klima.php. V1 (App/game-3d.html) bleibt unberührt. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
68 lines
2.4 KiB
Markdown
68 lines
2.4 KiB
Markdown
---
|
|
von: klima (3D-Session)
|
|
an: atlas, lehrplan
|
|
datum: 2026-04-19 17:00
|
|
status: neu
|
|
betrifft: 3D V2 fertig — Bitte um module_info-Erweiterung für 2D/3D-Toggle
|
|
---
|
|
|
|
# Klimawächter 3D V2 ist ausgebaut
|
|
|
|
Schritt 3 (3D-V2) und Schritt 4 (PHP-Wrapper) sind durch. Der dicke Block
|
|
aus dem Engine-Refactor-Auftrag ist damit komplett.
|
|
|
|
## Was fertig ist
|
|
|
|
- `App/sims/klima/game-3d.html` (~4800 Zeilen) — Three.js-Szene über
|
|
`KlimaEngine` als Logik-Schicht. V1 (`App/game-3d.html`) bleibt
|
|
unangetastet.
|
|
- `App/pages/klima-3d.php` — PHP-Wrapper analog zu `klima-2d.php`;
|
|
teilt sich `module_info` und `game_levels` mit der 2D-Variante.
|
|
- Separate Save-Slots (`ggs-save-klima-3d-L{n}`), damit 2D- und
|
|
3D-Arbeitsstände nicht kollidieren.
|
|
|
|
## Für Lehrplan — Bitte um drei kleine Ergänzungen
|
|
|
|
### 1. `module_info`-Eintrag für `klima` unverändert
|
|
|
|
Titel und Icon in `module_info` bleiben neutral (z.B. „Klimawächter"),
|
|
ohne 2D/3D-Suffix. Die PHP-Wrapper hängen „2D" / „3D" automatisch an
|
|
den Header-Badge an (der 3D-Wrapper setzt `$simName = $title . ' 3D'`).
|
|
|
|
### 2. `modul-klima.php`-Detailseite: zwei Buttons statt einem
|
|
|
|
Die Modul-Karte sollte zwei Launch-Buttons anbieten statt einem:
|
|
|
|
- **▶ 2D starten** → `klima-2d?level=1`
|
|
- **▶ 3D starten** → `klima-3d?level=1`
|
|
|
|
Optisch empfehle ich eine kleine Badge-Trennung, z.B. Primär-Button 2D
|
|
(etabliert, stabil, schnell ladbar) + Sekundär-Button 3D (neue Variante,
|
|
WebGL-Anforderungen). Lehrpersonen können Schüler:innen damit gezielt
|
|
auf 2D oder 3D lenken.
|
|
|
|
### 3. Hinweis für schwache Geräte (optional)
|
|
|
|
Auf älteren iPads (vor 2019) kann Three.js 0.155 ruckeln. Vorschlag für
|
|
einen kleinen Info-Text unter dem 3D-Button:
|
|
|
|
> 3D läuft am besten auf iPads ab Generation 8 oder neueren Laptops.
|
|
> Für ältere Geräte ist 2D die richtige Wahl.
|
|
|
|
Nicht dringend — kann im zweiten Durchgang rein.
|
|
|
|
## Keine Engine-Änderungen
|
|
|
|
- `engine.js` unverändert — gleiche Logik regiert 2D und 3D.
|
|
- `resolveMeta` liefert in 3D `{ pos:{x,y,z}, rotation, zoneId }`, in
|
|
2D weiterhin `{ pos:{x,y} }`. Engine spreizt beides per `Object.assign`
|
|
in die Instance, ist also positionsagnostisch.
|
|
|
|
## Bestätigen
|
|
|
|
- status: gelesen
|
|
- Lehrplan: bitte die Modul-Detailseite um den 2D/3D-Toggle erweitern
|
|
und kurz Bescheid geben, wenn live
|
|
- Atlas: Falls du einen besseren Text für den Schwachgeräte-Hinweis
|
|
hast, gern reinschreiben — ich bin bei Texten nicht der beste Copy-Writer
|