--- von: heli an: atlas datum: 2026-04-26 15:00 status: neu betrifft: Heli-Modul — Sammelbericht der letzten beiden Tage --- # Heli — Sammelbericht 2026-04-25 / 2026-04-26 Hier ein Sammelreport, was beim Heli-Modul in den letzten beiden Tagen gelaufen ist. Vieles war Feedback-getrieben durch Thomas-Durchspielrunden, einiges hat zu Konzept-Änderungen geführt. ## 1. Audio-Architektur — komplett neu Das alte „jeder ruft, wer zuerst kommt"-Audio-Chaos ist weg. Neue **Speech-Pipe** in allen drei HTMLs (start, landing, game) mit identischen Regeln: - Sprach-Audios laufen **seriell**, nie zwei gleichzeitig - 400 ms Pause zwischen Clips - TTL pro Clip 10 s — veraltete Items werden verworfen statt verspätet gespielt - Prioritäten: 1 (low: Lesson) · 2 (normal: Pilot/Tower) · 3 (crash: Strike/Takeover) - Crash-Audio bricht laufenden Clip ab und leert die Queue - Geräusche (Rotor, Vögel, Crash-Sound, Donner) laufen über separate Kanäle und sind unabhängig - Phase-Wechsel räumt auf (Flight-Pipe geleert beim Wechsel zur Landing, Landing-Pipe geleert in `silenceAll`) Plus zwei kritische Bugs gefixt: - **Audio-Preload-Bug**: alte Code-Pfad fetchte ohne `r_`-Präfix, neue Files liegen aber mit `r_`-Präfix. Fallback-Logik eingebaut (probiert beide). - **Phase-Übergang flight→landing**: Flight-Audios werden gestoppt, sonst quaken Richtungs-Audios in die Landung rein. ## 2. Faktentreue durchgesetzt — Heiligtums-Tabelle Thomas-Direktive: „Erstes didaktisches Gesetz: Nie etwas Falsches sagen. Vereinfachen ist erlaubt, nicht verfälschen." Daraufhin Audit aller Texte: **Korrigierte Falschaussagen:** - C7 Lienz: „Drau entwässert zur Adria" → korrigiert zu „mündet später in die Donau" - m19 Glockner: „Grenze Salzburg–Kärnten" → „Grenze Tirol–Kärnten" - m17 Tauerntunnel: „durchsticht die Hauptkette der Alpen" → „die Niederen Tauern" - m18 Wolfgangsee: „Sole über den See nach Ebensee" → „Name vom Salinen-Eigentum" - m25 Karawankentunnel: „achtkommacht km" → „knapp acht km" - m23 Wörthersee: „wärmster Badesee Österreichs" → „einer der wärmsten" - m8 Gaschurn: „höchstes ganzjährig besiedeltes Dorf" → Aussage entfernt (Partenen ist höher) - „Bregenz Tower" überall → ist erfunden, gibt es nicht. Korrigiert zu **„Innsbruck Tower"** (real zuständiger Sektor für Vorarlberg) - AFIS-Plätze (C2/C3/C14/C16) hatten erfundene Tower → jetzt **„Wien Information"** (reale FIS-Frequenz) **Stützpunkt-Tabelle als „Heiligtum"** etabliert: - 14 aktive Stützpunkte (alle ÖAMTC-Christophorus 1–16) - **ARA Hohenems aus dem Spielbetrieb raus** — ARA ist real in Reutte (Tirol), nicht Vorarlberg. War didaktisch falsch. - m2 (A14), m5 (Bregenz), m6 (Mellau) jetzt alle bei C8 Nenzing - **Hohenems bleibt als Polizei-POI** auf der Plan-Karte (👮-Marker, dunkelblau). Klick öffnet Popup mit EC135-Bild und Erklärung: Polizeihubschrauber Vorarlberg, kein Patiententransport — das ist Aufgabe des Christophorus 8 in Nenzing. ## 3. Audio neu organisiert Geo-Lehrinhalte gehören in die **Vorbereitung**, nicht in den akuten Einsatz. Daher umgebaut: - **Phase 2 (Routenplanung):** Beim Briefing-Screen mit den vollständigen Wegpunkten wird `r_tower_geo_` gespielt — der ausführliche Geografie-Lernstoff zum Ziel. - **Phase 5 (Einsatz):** Tower-Antwort beim Anflug ist jetzt **knapp und sachlich** — keine Lehr-Erklärung während Patientenrettung. Plus: Audios reduziert im Kartenflug (jedes 2. Segment, Heli-Intro nur einmal pro Flug). ## 4. Plan-Phase verbessert - Mission-Waypoints als kleine rote Kreispunkte auf der Karte sichtbar (Orientierungshilfe, keine Lösung) - 16-teilige Windrose mit fixer Kompassnadel + goldenem Live-Kurspfeil der Maus folgend - Max 3 Fehler-Hinweise sichtbar, durchnummeriert - Pilot-Takeover nach 15 Fehlversuchen **pro Wegpunkt** (Reset bei korrekt) → keine Sterne für die Zielsuche ## 5. Landing-Phase - Pad-Y-Toleranzfenster (vy>12, h.y in pad.y±18) verhindert das passive „Durchfliegen wird als Landung erkannt"-Bug - hover_pickup zweistufig: Phase A klinkt Haken ein, Phase B markiert Patient als gerettet erst wenn Winch oben - disembark-Duration 4 → 6 s - Autobahn: 6–8 Gaffer + fahrender Einsatzwagen (Polizei/Rettung mit Blaulicht), Pilot-Warnung bei Naähe, Strike bei Berührung - Proximity-Vögel mit 15 s Cooldown (statt Dauerkrähen) ## 6. UX - **iPad-Joystick** in start.html und landing.html: Kreis mit gefedertem grünem Stick, ersetzt die drei Pfeil-Buttons. Diagonal-Steuerung möglich. Aktiviert per `@media(pointer:coarse)`. - HUD vereinheitlicht (Speed, Verbrauch, G-Kraft) zwischen start und landing - Verbrauchsanzeige physikalisch korrekt: Flap + Steigflug = mehr Sprit, Sinkflug = weniger - **Inspect-Modus** `?inspect=1` in start.html und landing.html — zeigt Konturen aller Objekte, Drag scrollt, Klick öffnet Info-Panel rechts. Hilfsmittel zum Debuggen schwebender Objekte. ## 7. Mission-Routen Detour-Routen begradigt: m1, m11, m13, m15, m18, m20, m21. Beispielsweise m15 A1 Sattledt war vorher `linz_c10 → linz → wels → sattledt` — der Sprung nach Linz-Stadt war Detour. Jetzt direkt `linz_c10 → wels → sattledt`. ## 8. Integrations-Auftrag (alt) — komplett Der Auftrag vom 23.04. ist durchgelaufen: - mode-check im Wrapper (ggs_session → class_modules → forcedLevel) - Forced-Level-Start (Level 1=easy, 2=medium, 3=hard, Mission random aus Pool) - Assessment-Calls an drei Hooks (start, 30 s-Ping, completed) - End-Screen auf `.ggs-endscreen`-Komponente **Offen vom alten Auftrag:** Pre/Post-Quiz-Hook — wartet auf eine Quiz-UI- Komponente im Design-System. Kein Drama, kann später nachgezogen werden. ## 9. Briefing-Musik - Patagonia Stringmap v1 + v2 aus deinem Pool integriert. - v1 für Auftragswahl + End-Screen, v2 für Briefing-Overlays. - Audio-Tag mit MutationObserver auf `.overlay.show` — Musik startet/stoppt automatisch, fadet 300 ms ein/aus. - Audio-Gate für Funksprüche bei offenem Overlay → Musik und Funk laufen nie gleichzeitig. ## 10. Tools / Übersichten Drei interne Werkzeuge gebaut: - [audio-overview.html](App/sims/heli/audio-overview.html) — alle Audios pro Mission linear, mit Nummer (z.B. `M17-12`) zum Referenzieren - [audio-matrix.html](App/sims/heli/audio-matrix.html) — Bundesland → Stützpunkt → Heli → Audios → Missionen, hierarchisch - Inspect-Modus `?inspect=1` in beiden Touch-HTMLs ## 11. Audio-Stand Aktuell **ca. 360 MP3s** im sounds/radio-Ordner. Davon ca. 100 alte Pilot-/Strike-/Ouch-Witze von früher (nicht mehr referenziert, bleiben als Rollback-Option auf Platte). Aktiv genutzt: ca. 260 Clips — personalisiert pro Heli + missionsspezifische Geo-Audios + Lesson-Pool + neue Heli-Flug-Intros. OpenAI TTS gpt-4o-mini-tts mit Stimme `nova` und Speed 1.12, alle Pilot- und Tower-Audios laufen durch den Bandpass-Filter (Walkie-Talkie-Sound). ## Status Bereit für Durchspielrunden — das gröbste Audio-Chaos und die didaktischen Falschaussagen sind raus. Nichts blockiert. Wenn du die `.ggs-quiz`-Komponente fertig hast, baue ich Pre/Post-Quiz ein. — Heli