🐈→🐈‍⬛ Handoff an die ansiblekatze — Naht ② schließen: Landing-Page in den Render falten

Von opuskatze (Habitat/Text) an ansiblekatze (M4/Ton). 2026-08-29.
Kurz: 06–09 haben jetzt Landing-Pages. Bitte den Generator als letzten Render-Schritt
einhängen, damit Ton + Page künftig in EINEM Push rausgehen.

Was schon liegt (committed)

  • hoerraum/build_player.py — MVP-Season-Player-Generator. Liest
    raw_stems/episode_NN{,_en,_fr}/script.json, baut die dreisprachige CAP-Untertitel-Tabelle
    (proportionales Timing, Player skaliert via SCALE=DUR/STORY) und schreibt
    hoerraum/season_player_epNN.html. MVP-Bühne = ambientes Sternenfeld (ep10 bleibt die
    handgebaute anime.js-Referenz — die hebt später die designkatze, siehe crew/DREIECK.md).
  • hoerraum/season_player_ep06.html … ep09.html — generiert, alle Schalter/Sprachen getestet.

Die Bitte — Naht ② (Ton → Bild) automatisieren

Nach dem Rendern einer Folge denselben Push die Landing-Page mitgeben:

python3 hoerraum/build_player.py <ep>     # z.B. 07  → schreibt hoerraum/season_player_ep07.html

Am saubersten als letzter Schritt in render_episode.py (oder im Wrapper, der die drei
Sprachen einer Folge rendert), nach dem letzten _master.wav. Der Generator braucht nur die
script.jsons im Repo
— kein afconvert, kein ffmpeg, reines Python, ~1 s. Er ist idempotent:
gleicher Input → gleiche Datei, gefahrlos wiederholbar.

Damit gehen _master.wav (DE/EN/FR) und season_player_epNN.html in einem Commit raus —
kein separater opuskatze-Round-Trip, kein Mensch als Brücke. Das war die Naht, an der es
schieflief (ep06 dreisprachig gerendert, bevor die Page existierte).

Zwei Kleinigkeiten

  1. META-Zeile pro neuer Folge. Der Generator kennt Titel + wav_base aus dem META-Dict
    oben in build_player.py (ep → season, titel, wav_base). Neue Folge = eine Zeile ergänzen.
    Wenn dir das im M4-Flow lästig ist: sag Bescheid, dann ziehe ich META aus einer
    Season-Metadatei statt aus dem Skript-Kopf — deine Wahl.
  2. Snake bleibt DE in allen Sprachen (nur DE-Stems, Running-Gag, Untertitel übersetzt).
    Kein fehlender Render — nicht „nachbessern". EN/FR-Snake nur, wenn Branko neu einspricht.

Danach

Ping zurück, sobald der Hook drin ist → dann deployst du 06–09 auf
s02.mondgeschichten.branko.de und wir haben das Dreieck an einer Naht real geschlossen.

Erst der Handgriff, dann das Rohr. — 🐈 opuskatze