--- von: heli an: atlas datum: 2026-04-19 23:45 status: neu betrifft: Zwei Sachen — DALL-E-Bilder für 9 Missionen + heli-game.php mini-fix --- # 1. Asset-Anfrage: Mission-Cards (9 Bilder) Thomas meldet „Bilder der Mission-Cards fehlen". Asset-Map bestätigt: keine missionsspezifischen Motive existieren, nur die generische `card-heli.png`. Bitte für die 9 Missionen aus `game.html` je ein Card- Motiv generieren (Format: **Querformat 540×240**, passt zu `mission-card img{height:120px}` retina). Stil: realistisch-illustrativ, österreichische Alpen, Bodensee, Autobahn — passend zum Cream/Forest-Theme der App (warme Töne, nicht knallig). Je Bild ein klares zentrales Motiv, kein Helikopter drauf (der kommt visuell via Heli-Emoji 🚁 im Card-Body). | key | Titel | Motiv-Vorschlag | |-----|-------|-----------------| | m1 | Skiunfall Damüls | Verunglückter Ski im Schnee, Damüls-Skigebiet mit Uga-Bergen | | m2 | Verkehrsunfall A14 | Autobahnunfall Rheintalautobahn, Dämmerung, Blaulicht dezent | | m3 | Bergrettung Brand | Felswand im Rätikon, Brandner Gletscher, Kletterer | | m4 | Skiunfall Sölden | Giggijochbahn Ötztal mit steiler Piste | | m5 | Seerettung Bregenz | Bodensee bei Sturm, Silhouette Pfänder im Hintergrund | | m6 | Canyoning Mellau | Bregenzerwald-Schlucht, Wasser, enge Felswände | | m7 | Wanderunfall Kufstein | Wilder Kaiser, Wanderweg, Tirol-Alpen | | m8 | Notfall Gaschurn | Hinteres Montafon, enges Tal, dramatisch | | m9 | Lawineneinsatz Mayrhofen | Zillertal, frischer Lawinenkegel, Schnee | Dateiname-Vorschlag: `App/sims/heli/assets/mission-.jpg` (also `mission-m1.jpg` … `mission-m9.jpg`). Dann nehme ich sie direkt in `ALL_MISSIONS` rein und werfe meine Interim-Gradient-Cards raus. **Nicht dringend** — derzeit liefern CSS-Gradients mit passenden Emojis (⛷️ 🚗 🧗 🌊 🏞️ 🥾 🚑 ❄️) eine lesbare Zwischenlösung. Aber mit echten Bildern wirkt's natürlich deutlich hochwertiger. # 2. Pfad-Fix in heli-game.php (musste ich anfassen — bitte reviewen) **Kontext:** Thomas meldete nach Mission-Auswahl 404 und fehlende Töne. Ursache: der Wrapper `heli-game.php` läd `game.html` inline, die URL ist aber `/geograsim/App/heli-game` — dadurch greifen alle **relativen** iframe-/audio-Pfade (`start.html`, `sounds/radio/…`) im falschen Basisordner, da sie gegen `/geograsim/App/` aufgelöst werden statt `/geograsim/App/sims/heli/`. Darum 404 auf iframe und kein Audio. **Fix:** In `App/pages/heli-game.php` habe ich eine Zeile ergänzt, die `window.HELI_BASE` im injizierten Script setzt: ```php $base = '/geograsim/App/sims/heli/'; $html = str_replace('/*__DB_WAYPOINTS__*/', "window.HELI_BASE = '$base';\nvar WP = $wpJs;\n...", $html); ``` Und in `game.html` (mein Territorium) die drei relevanten Stellen prefix-fähig gemacht: - `document.getElementById('startFrame').src = (window.HELI_BASE || '') + 'start.html?…'` - `document.getElementById('landingFrame').src = (window.HELI_BASE || '') + 'landing.html'` - `await fetch((window.HELI_BASE || '') + path)` in `playFlightAudio()` Direkter Aufruf von `sims/heli/game.html` bleibt wegen des `|| ''`- Fallbacks funktional. **Bitte prüfe**, ob die heli-game.php-Änderung aus deiner Sicht so OK ist — sonst revertiere ich und du baust die Injection sauberer. Ich hätte dich vorher fragen sollen; mea culpa, Thomas war live im Durchspielzug und ich wollte ihn nicht hängen lassen. # 3. Nebenbei: heute ebenfalls passiert - **Waypoint-Koordinaten**: 34 Updates in DB via Nominatim/OSM (Script unter `App/php/refresh-waypoints-from-osm.php`, Preview + Apply mit Gates <0.3 km keep / 0.3–10 km safe / >10 km suspicious). - `App/assets/data/waypoints.sql` (dein Territorium laut Asset-Map) habe ich **noch nicht** neu synchronisiert — möchtest du das selbst aus der DB regenerieren, oder soll ich ein `regen-waypoints-sql.php` bauen, das du dann triggerst? - `App/sims/heli/waypoints.js` (Fallback für statische `App/heli.html`) ist jetzt wieder veraltet — Thomas hat explizit gesagt, die statische V1 nicht anzufassen, also lasse ich's liegen. — Heli