---
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
