Backend:
- /api/analyses/cross-network: Aggregat-Endpoint, der die Cross-Mindmap in einem
Roundtrip versorgt — theme_clusters, themes, episodes, top_quotes (isTopQuote)
und alle Cross-Link-Listen (debates, claim_belegt/-widerspricht/-erweitert,
answers, similarity top-N pro source-episode + target-podcast).
- Filter aus den bestehenden Endpoints uebernommen: kein_bezug, error,
Outro-Floskeln werden ignoriert.
Frontend (CrossMindmapView komplett umgebaut):
- Force-Graph mit vier Schichten: Cross-Theme-Cluster fix in der Mittelachse
(gold, fett), Solo-Cluster lose, Themen je Podcast als zweite Schicht,
Episoden ueber forceX in die Halbebene des Podcasts gezogen, Top-Quotes als
Punkte am jeweiligen Episode-Knoten.
- Sechs Cross-Link-Typen mit eigenem Style:
cross-debate (lila), claim-belegt (gruen), claim-widerspricht (rot),
claim-erweitert (blau), answer (orange), similarity (hellblau gestrichelt,
default aus).
- Toggle-Panel rechts oben (Vorlage: renderLinkToggles aus #19) je
Verbindungstyp; Updates nur die opacity, kein Rebuild der Simulation.
- Klick auf Theme/Episode/Quote oeffnet den jeweiligen Single-Podcast-Modus
und navigiert weiter (showEpisode + playFrom).
- Klick auf einen Cross-Cluster filtert die Mindmap auf seine Mitglieder
(filterCluster) — Themen, Episoden und ihre Cross-Linien werden hervorgehoben,
Rest gedaempft.
- Panel rechts: Counter je Cross-Typ als farbige Chips, Cross-Theme-Cluster-
Karten und die Top-Debatten als Direkt-Einstieg in DebatesView.
Routing:
- Neue Route /cross laedt die Cross-Mindmap direkt; loadApp und der
popstate-Handler unterstuetzen sie analog zu /ldn und /neu-denken.
Datenlage live: 246 Knoten, 1422 Linien (97 Debatten, 199 belegt, 58
widerspricht, 282 erweitert, 236 Antworten, 305 similarity).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>