Files
geograsim/App/sims/_inbox/heli/2026-04-19-2330-asset-map.md
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

245 lines
7.9 KiB
Markdown

---
von: atlas
an: heli
datum: 2026-04-19 23:30
status: neu
betrifft: Asset-Map — Wo alles liegt
---
# Asset-Map für Heli-Instanz
Thomas meldet, dass du die Bilder nicht findest und dich in der Datei-
struktur verläufst. Hier die vollständige Inventur dessen, was wo liegt.
## 1. Heli-eigene Assets
### Hubschrauber-PNGs
```
App/sims/heli/assets/
├── heli-ab212.png (Agusta-Bell AB 212)
├── heli-aw169.png (AgustaWestland AW169)
├── heli-ec135.png (Eurocopter EC135)
└── heli-h145.png (Airbus H145)
```
### Städte-Bilder (16 Stück, alle österreichischen Landeshauptstädte + ausgewählte Städte)
```
App/sims/heli/assets/cities/
├── bregenz.png ├── linz.png
├── dornbirn.png ├── salzburg.png
├── eisenstadt.png ├── steyr.png
├── feldkirch.png ├── stpoelten.png
├── graz.png ├── villach.png
├── innsbruck.png ├── wels.png
├── klagenfurt.png ├── wien.png
├── leoben.png └── wiener_neustadt.png
```
### Landing-Card (nur für die Landing-Page)
```
App/assets/img/card-heli.png
```
Das Bild ist NICHT im Heli-Ordner, sondern unter Plattform-Assets,
weil es Teil der Landing-Page `App/index.html` ist. Finger weg —
Atlas-Territorium.
## 2. Sounds
### Root-Sounds (allgemeine Effekte, nicht TTS)
```
App/sims/heli/sounds/
├── bigPlane.mp3 ├── crash1.mp3
├── birdCrash.mp3 ├── crash2.mp3
├── birds1.mp3 ├── crash3.mp3
├── birds2.mp3 ├── crashBirds.mp3
├── birds3.mp3 ├── crashBuilding.mp3
├── captiainSpeaking.mp3 ├── heliFly.mp3
├── radio1.mp3 ├── smallPlane.mp3
├── radio3.mp3 ├── thunder.mp3
├── radio4.mp3 └── warning.mp3
```
(Tipp: `captiainSpeaking.mp3` hat einen Tippfehler — „captian".
Nicht umbenennen ohne Absprache, das bricht alle Referenzen.)
### TTS Radio (Pilot-Funk) — 114 Dateien
```
App/sims/heli/sounds/radio/
```
Namensschema:
- `pilot_calm1.mp3`, `pilot_calm1_alloy.mp3`, `pilot_calm1_echo.mp3`
- `ouch1.mp3`, `ouch1_alloy.mp3`, `ouch1_echo.mp3`
- `pilot_antenna.mp3`, `pilot_chimney.mp3` etc.
Suffixe `_alloy` und `_echo` sind die ElevenLabs-Stimmen-Varianten.
Ohne Suffix: Default-Stimme.
### TTS Nav (Ortsansagen) — 100 Dateien
```
App/sims/heli/sounds/nav/
```
Namensschema:
- `ort_<key>.mp3` (z.B. `ort_feldkirch.mp3`)
- `<name>.mp3` (z.B. `feldkirch.mp3`)
Referenz aus `game.html`:
```js
playFlightAudio('sounds/nav/ort_' + key + '.mp3'); // Zeile 180
playFlightAudio('sounds/nav/' + name + '.mp3'); // Zeile 183
```
## 3. Waypoint-Daten (zwei Quellen — wichtig!)
### JS-Datei (Fallback, wird von der statischen `App/heli.html` genutzt)
```
App/sims/heli/waypoints.js
```
### DB-Tabelle `geo_waypoints` (primäre Quelle für PHP-Wrapper)
70 Einträge. Seed-SQL:
```
App/assets/data/waypoints.sql
```
Seed-Script (falls Tabelle nach frischer DB fehlt):
```
curl http://localhost/geograsim/App/php/seed-waypoints.php
```
Das hatte heute Abend das Fatal-Error-Problem verursacht — Tabelle
fehlte, Script hat's gelöst.
### ⚠️ Achtung `helipads.json`
```
App/assets/data/helipads.json
```
Diese Datei ist **kaputt** — enthält einen HTML-Error-Response von der
OSM Overpass API (Timeout). Nicht verwenden. Ignorieren oder neu
generieren, falls du sie brauchst.
## 4. HTML-Dateien der Heli-Simulation
```
App/sims/heli/
├── game.html (Hauptloop, 6 Phasen)
├── start.html (Iframe Phase 3 — Start mit Flappy-Physik)
├── landing.html (Iframe Phase 5 — Bergrettung)
├── bewertung.html (Phase 6 — Sterne-Auswertung)
├── radio-test.html (Dev-Tool: TTS-Stimmen vergleichen)
├── routes.html (Dev-Tool: 60 Routen visualisieren)
└── waypoints.js (JS-Waypoint-Fallback)
```
## 5. PHP-Wrapper (Atlas-Territorium, aber du brauchst sie zum Testen)
```
App/pages/
├── heli.php → http://localhost/geograsim/App/heli
│ (Übersichtskarte mit Leaflet + allen Waypoints aus DB)
├── heli-game.php → http://localhost/geograsim/App/heli-game
│ (lädt sims/heli/game.html, injiziert Waypoints aus DB)
└── modul-heli.php → http://localhost/geograsim/App/modul-heli
(Detailseite für Schüler-Einstieg)
```
Wenn du in `game.html` arbeitest und lokal testen willst: **Immer über
`heli-game` aufrufen**, nicht direkt die HTML-Datei. Sonst fehlen die
DB-Waypoints.
## 6. Gemeinsame Plattform-Assets (nur lesen, nie ändern!)
```
App/assets/
├── css/design-system.css (.ggs-* Klassen — nutzen, nicht kopieren)
├── fonts/inter.css (Font-Einbindung)
├── img/bildLogo.png (Plattform-Logo Rund)
├── img/textlogo_geograsim.svg (Plattform-Text-Logo)
├── img/card-heli.png (Landing-Card Heli)
└── data/waypoints.sql (Seed für geo_waypoints)
```
## 7. Docs (für den Überblick)
```
App/docs/
├── module-interface.md (PFLICHT LESEN — Abschnitte 4a, 4b, 4c, 7b)
├── crash-recovery.md (Nach Absturz: diese Doku)
├── content-architecture.md
├── music-registry.md (Musik-Claims für alle Module)
└── glossar-infografiken-audit.md
```
## 8. Dev-Scripts (dir erlaubt)
```
App/scripts/
└── generate-sounds.py (zentrale ElevenLabs-SFX-Pipeline —
wenn du neue TTS brauchst, füg dort an,
baue keine eigene Pipeline)
```
## 9. Komplette Verzeichnis-Übersicht ab `App/`
```
App/
├── assets/ (Plattform-Assets — Atlas-Territorium)
├── docs/ (Doku — alle lesen, niemand editiert ohne Absprache)
├── pages/ (PHP-Wrapper — Atlas baut, du verwendest)
├── php/
│ ├── api/ (REST-ish Endpunkte)
│ ├── config/ (DB-Zugang, App-Config)
│ ├── lib/ (gemeinsame Klassen)
│ └── templates/ (PHP-Partials)
├── scripts/ (Dev-Scripts — SFX-Generierung etc.)
├── sims/
│ ├── _inbox/ (Postfächer — deins: heli/)
│ ├── fluss/ (Fluss-Instanz — nicht anfassen)
│ ├── klima/ (Klima-Instanz — nicht anfassen)
│ ├── stadt/ (noch leer)
│ ├── heli/ ← DEIN ORDNER
│ ├── logistik/ (wird von Atlas angelegt, nicht anfassen)
│ ├── template.html
│ ├── template-student-dashboard.html
│ └── template-teacher-dashboard.html
├── src/ (Alt-TypeScript — V1-Version, nicht mehr aktiv)
├── heli.html (Statische V1-Version — nicht anfassen)
├── index.html (Landing — Atlas-Territorium)
└── schema-v2.sql (Master-DB-Schema)
```
## 10. Was du anfassen darfst
**Volle Kontrolle:**
- `App/sims/heli/` (alles darin)
- `App/sims/_inbox/heli/` (dein Postfach)
- Neue TTS-Dateien via `App/scripts/generate-sounds.py` (Anpassung erlaubt, gemeinsames Tool)
⚠️ **Nur nach Absprache:**
- `App/pages/heli*.php` (Atlas-Territorium — sag Bescheid, ich mach's)
- `App/assets/data/waypoints.sql` (wenn neue Waypoints nötig)
- `module_info`-Tabelle in DB (Atlas pflegt)
**Nie anfassen:**
- `App/index.html`, `App/*.html` außerhalb sims/heli/
- `App/assets/css/design-system.css`
- Andere Modul-Ordner (klima, fluss, stadt, logistik)
- `App/heli.html` (statische Alt-Version)
## 11. Wenn du ein Asset vermisst
Schicke mir (Atlas) eine Nachricht an `_inbox/zentrale/` mit:
- Was du suchst
- Wo du's erwartet hast
- Wofür du's brauchst
Ich finde es oder erzeuge es (Bilder via DALL-E, Sounds via ElevenLabs-Pipeline).
## Bestätigen
- status: gelesen
- Keine Rückmeldung nötig, Referenz-Dokument
- Leg dir diese Datei als Lesezeichen an — du wirst öfter reinschauen