---
von: atlas
an: heli
datum: 2026-04-19 22:15
status: neu
betrifft: Willkommen, Heli — Kickoff-Briefing für die eigene Instanz
---

# Heli bekommt eine eigene Instanz

Thomas will die Heli-Rettung aufräumen. Das Modul ist zu groß für die
Zentrale, also bekommst du deine eigene Session nach Vorbild von Klima
und Fluss. Diese Nachricht ist dein Einstieg.

## Deine Rolle

Du bist die **Heli-Instanz**. Du besitzt:
- `App/sims/heli/` (game.html, start.html, landing.html, bewertung.html,
  radio-test.html, routes.html, waypoints.js, sounds/, assets/)
- `App/pages/heli.php`, `App/pages/heli-game.php`, `App/pages/modul-heli.php`
- `App/heli.html` (alte statische Version — NICHT ANFASSEN, bleibt für
  Nicht-XAMPP-Abruf; Refactor-Ziel ist die PHP-Variante)

Atlas bleibt Plattform-Zentrale (Design-System, APIs, Admin, Templates,
Dashboards, Music-Registry, Crash-Recovery). Anfragen dafür schickst du
an `_inbox/zentrale/`.

## Stand (Kurzfassung, bitte verifizieren)

### Spielfluss (6 Phasen)
1. Auftragswahl (`game.html`) — 3 zufällige aus 9 Missionen
2. Routenplanung (`game.html`) — Pilot gibt Richtung+Distanz, Klick auf
   Karte (4 km Toleranz)
3. Start (`start.html` via iframe) — Flappy-Physik, Autostart über URL
4. Kartenflug (`game.html`) — Heli fliegt animiert, Pilot-Kommentare,
   1×/2×/4× Speed
5. Landung (`landing.html` via iframe) — Bergrettung
6. Auswertung (`game.html`) — Sterne aus allen Phasen

### Audio
- 100+ TTS-Dateien in `sounds/radio/` + `sounds/nav/`
- 6 Stimmen getestet, Pilot wechselt echo/alloy
- Walkie-Talkie-Effekt (Bandpass 1800 Hz Q=3 + Distortion)
- Touch-Controls für Tablet

### Routen & Karte
- 60 Routen (30 Vorarlberg + 30 Tirol), Basen: Nenzing, Hohenems,
  Innsbruck, Zams, Kitzbühel, Lienz
- `routes.html` als Demo-Ansicht
- Karte: Leaflet + OSM, alle Heli-Basen AT, Städte mit KI-Bildern, Berge
- Quartett-Cards bei Klick auf Hubschrauber

### Bekannte offene Punkte (aus Memory, 4 Tage alt)
- Kartenflug: Pilot muss alle Stationen ansagen (TTS teils da)
- Wirkungsklammer (Pre/Post-Fragen) fehlt im Flow
- Level-System UI fehlt (Backend-API existiert)
- Lehrkräfte-Dashboard für Heli-Auswertungen erweitern

## Heute frisch gefixt (Atlas)

Die Tabelle `geo_waypoints` war auf dieser DB nicht angelegt —
`heli-game.php` warf Fatal Error. Seed-Script liegt jetzt unter
`App/php/seed-waypoints.php`; Tabelle hat 70 Waypoints. Falls du
nochmal eine frische DB hast: `curl http://localhost/geograsim/App/php/seed-waypoints.php`.

Schema: `App/assets/data/waypoints.sql` (einfache INSERT-Liste).

## Was Thomas heute Abend will

Er spielt gerade durch und notiert:
- **„Sprachausgabe etwas chaotisch"** — Reihenfolge, Timing, Dopplungen,
  Lücken in TTS-Ansagen
- **„Da und dort eine Kleinigkeit"** — sammelt er beim Durchspielen

Er wird dir eine Bug-Liste geben. Priorisiere daraus.

## Konventionen (PFLICHT)

### Sprachregel 4a — Keine Spielsprache
**Nie** „spielen", „Spiel", „Spieler:in", „Game Over", „Mission erfüllt".
**Stattdessen** „arbeiten mit", „Simulation", „Bearbeiter:in",
„Durchgang beendet", „Ziel erreicht". Bildungstheoretische Grundlage:
Wygotski, Lernarbeit statt Spiel.

Siehe `App/docs/module-interface.md`, Abschnitt 4a. Bei Heli besonders
wichtig in Pilot-Ansagen und Endscreens. TTS-Dateinamen kannst du
lassen, **gesprochener Text** aber anpassen — das bedeutet ggf. neue
TTS-Generierung.

### iPad als Referenzgerät
1180×820 (Landscape). Touch-Ziele min 36 px, `touch-action: manipulation`,
kein Hover-Kleber. Media Query `@media (hover: hover)` für Desktop-only.

### Inbox-Check vor „Fertig"
Bevor du Thomas „fertig" meldest, schaue in `_inbox/heli/` — sonst
gehen Antworten verloren.

### Commit-Format
`Heli: <Kurzbeschreibung>` — z.B. `Heli: TTS-Reihenfolge Phase 2 fixiert`.

### `_status.md`
Lege dir eines an unter `App/sims/_inbox/heli/_status.md` mit:
Rolle, aktueller Stand, offene Aufgaben, Blocker. Aktualisiere es
nach jeder Phase.

## Zentrale Dateien

| Datei | Zweck |
|-------|-------|
| `App/sims/heli/game.html` | Haupt-Spielloop (6 Phasen) |
| `App/sims/heli/start.html` | Iframe Phase 3 (Start) |
| `App/sims/heli/landing.html` | Iframe Phase 5 (Landung) |
| `App/sims/heli/waypoints.js` | Routen + Waypoint-Daten (JS-Fallback) |
| `App/sims/heli/sounds/radio/` | TTS Pilot-Funk |
| `App/sims/heli/sounds/nav/` | TTS Navigations-Ansagen |
| `App/pages/heli-game.php` | PHP-Wrapper, lädt WP aus DB |
| `App/pages/modul-heli.php` | Detailseite mit Launcher |
| `App/pages/heli.php` | Übersichtskarte (Leaflet) |
| `App/assets/data/waypoints.sql` | DB-Seed für `geo_waypoints` |

## Test-Links (absolute URLs)

- Spiel: `http://localhost/geograsim/App/heli-game`
- Detailseite: `http://localhost/geograsim/App/modul-heli`
- Übersichtskarte: `http://localhost/geograsim/App/heli`

## Audio-Pipeline

Zentrale SFX-Generierung läuft über `App/scripts/generate-sounds.py`
(ElevenLabs SFX-API). Für neue TTS-Ansagen bitte dort anhängen, nicht
eigene Pipeline aufbauen. Musik-Claims in `App/docs/music-registry.md`
eintragen, wenn du einen Track belegst.

## Crash-Recovery

`App/docs/crash-recovery.md` lesen. Nach Absturz: `_status.md` +
Inbox + Memory prüfen, dann weiter.

## Deine ersten Schritte

1. Bestätige den Empfang dieser Nachricht in `_inbox/zentrale/`
2. Lies `App/docs/module-interface.md` Abschnitte 4a, 4b, 4c, 7b
3. Lege `_inbox/heli/_status.md` an
4. Aktualisiere dein Memory `project_heli_state.md`
5. Spiele einmal selbst durch
   (`http://localhost/geograsim/App/heli-game`), um den Ist-Zustand zu
   verstehen, und gleiche mit Thomas' Bug-Liste ab
6. Priorisiere mit Thomas: welche Baustelle zuerst

## Bestätigen

- status: gelesen
- Empfangsbestätigung + erste Einschätzung in `_inbox/zentrale/`
- Bei Unklarheiten zur Plattform-Architektur, Design-System, APIs:
  frag Atlas (mich) über `_inbox/zentrale/`
