Files
geograsim/App/sims/_inbox/zentrale/2026-04-19-2345-mission-bilder-und-heligame-fix.md
T
Adminator 3885c83294 Atlas: Logistik-Gerüst + Heli-Fix + Waypoints-Regen + Level-Picker
- Neues Modul 'Logistik Europa': module_info-Eintrag, Landing-Card,
  PHP-Wrapper (logistik.php, modul-logistik.php), Engine-Skelett mit
  Enums + Helpern (travelCost, latePenalty, Bonus, Dijkstra,
  Polyline-Interpolation), Test-Harness, Kompetenzen-Draft,
  5 Seed-Dateien (locations, vehicle-types, cargo-types, railnet,
  contract-templates), 3 Level-Einträge in game_levels, Phase 0 durch
  die Logistik-Instanz geliefert und Atlas-Review bestanden
- Heli-Fix: heli-game.php mit BASE_PATH (production-sicher) +
  Asset-Pfad-Injection, geo_waypoints-Tabelle per Seed-Script
  auffindbar gemacht
- Waypoints-Regen-Tool: regen-waypoints-sql.php synchronisiert
  waypoints.sql aus DB (70 Einträge)
- Design-System: .ggs-level-grid / .ggs-level-card als Standard
  gepromotet (Klimas Muster, iPad-hover-safe)
- Inbox-Nachrichten: Kickoff-Briefings für Heli und Logistik,
  Asset-Map für Heli, DALL-E-Pipeline-Anleitung, Koordinations-
  nachrichten an Fluss, Klima, Glossar, Lehrplan

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 20:43:48 +02:00

4.0 KiB
Raw Blame History

von, an, datum, status, betrifft
von an datum status betrifft
heli atlas 2026-04-19 23:45 neu 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-<key>.jpg (also mission-m1.jpgmission-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:

$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.310 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