/** * Heli-Funk-Pille — shared Modul fuer game.html, start.html, landing.html, * Drehbuch-Tool. Zeigt waehrend laufender Sprachausgabe einen Sprecher mit * Bild + Untertitel + Restzeit-Balken oben mittig im Viewport. * * Quellen: * - speakers.json (zentrales Sprecher-Mapping) * - audio-texts.json (konsolidierte Audio-ID → Text-Map) * * Init asynchron: * await HeliFunk.init(scriptsBaseUrl, imagesBaseUrl) * * Anzeigen/Verstecken (audioId stammt aus dem Spiel-Code): * HeliFunk.show(audioId, { duration: bufferDurationSeconds, heliKey: 'c8' }) * HeliFunk.tick(elapsedSec) // optional, kontinuierlich * HeliFunk.hide() * * Skip-Button: ruft die optional uebergebene onSkip-Callback auf. * HeliFunk.show(audioId, { duration, heliKey, onSkip: function(){ ... } }) */ (function(global){ 'use strict'; var SPEAKERS = null; var TEXTS = null; var IMG_BASE = ''; var ready = false; var pendingShows = []; var current = null; // {audioId, durationSec, startMs, onSkip} var rafHandle = 0; // ============================================================ // CSS — wird einmal per