Der Pfeil überschattete das darunter liegende Stunden-Label. Goldener
Balken mit Glow + scaleY reicht als visuelles Aktiv-Signal.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Inline-onclick mit JSON.stringify(label) + UI.escape erzeugte bei
Bucket-Labels mit Anführungszeichen oder Sonderzeichen einen kaputten
HTML-Attribut-String. Klicks lösten daher gar keinen Handler aus.
Statt JS-String im onclick werden Bucket-Daten jetzt als
data-start/data-end/data-label-Attribute am Cell-Element gehalten.
Onclick ruft App.handleStripClick(this), das die Werte sauber aus
dataset liest und an openTimelineWindow weiterreicht.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Vorher scrollte ein Klick auf einen Balken nur zur passenden Zeit-
Gruppe — bei langem Stream kaum erkennbar. Jetzt filtert der Klick
den Stream auf das Zeitfenster des Balkens und zeigt nur diese
Einträge.
- Aktiver Balken: vergrößert (scaleY 1.6) + goldener Hintergrund +
starker Glow + kleiner ▼-Pfeil darunter; alle anderen Balken auf
40% Opacity gedimmt.
- Banner zwischen Strip und Stream zeigt "Gefiltert auf [Label] ·
X Einträge" mit "Filter aufheben"-Button.
- Zweiter Klick auf denselben Balken oder Banner-Button hebt den
Filter auf.
- Filter/Range-Buttons setzen den Strip-Window-Filter zurück (sonst
inkonsistente Doppel-Filterung).
- Lagen-Wechsel räumt _activeStripWindow.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Komplett neu gedacht: nicht mehr horizontale Karten-Kette, sondern
vertikaler Newsfeed mit den vorhandenen vt-Klassen, plus dezenter
Heatmap-Strip oben für die Quantitäts-Übersicht.
- Heatmap-Strip oben (14 px hoch): ein Quadrat pro Tag/Stunde/Woche/
Monat je nach Spannweite, Farbintensität = Aktivität, goldener
Boden-Strich bei Lagebericht.
- Klick auf Heatmap-Quadrat: Stream scrollt zur passenden Zeit-Gruppe,
diese flasht kurz auf.
- Newsfeed darunter: vt-time-group mit Datums-Trennzeilen
(Heute/Gestern/...), Lagebericht-Einträge sind durch ihre vt-snapshot
Klasse prominent gegenüber Meldungs-Einträgen.
- Klick auf Lagebericht: Volltext klappt inline auf (vorhandener
lazyLoadSnapshotDetail-Mechanismus, kein separates Detail-Panel mehr).
- Klick auf Meldung: Detail klappt inline auf.
Karten-Kette, Verbindungs-Stränge, "Aktuell"-Marker, Snapshot-Detail-
Panel, Window-Detail-Panel und alle zugehörigen CSS-Klassen
(ht-card/ht-link/ht-now/ht-chain/ht-detail) komplett entfernt.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Komplette Neufassung der horizontalen Timeline. Lageberichte sind die
natürlichen Anker einer OSINT-Lage; Artikel werden um sie herum
gruppiert.
Aufbau:
- Quanti-Strip oben: schmale Heatmap-Reihe (ein Quadrat pro Stunde/Tag/
Woche/Monat je nach Spannweite), Farbintensität = Aktivität. Quadrate
mit Lagebericht haben goldene Unterkante. Klick auf Quadrat öffnet
Detail-Panel mit allen Meldungen des Zeitfensters.
- Lagebericht-Kette darunter: jede Karte zeigt Datum, Vorschau-Text aus
dem Snapshot, Anzahl Meldungen + Fakten. Karten sind durch Stränge
verbunden, die "X Meldungen"-Pille tragen — Klick auf Strang öffnet
Liste der Meldungen zwischen den beiden Lageberichten.
- "Aktuell"-Marker am rechten Ende mit pulsierendem Pin.
Filter:
- Alle: Strip + Kette
- Meldungen: Strip + vertikaler Stream
- Lageberichte: nur Karten ohne Strip/Stränge
Edge-Case: Lagen ohne Lagebericht zeigen Strip + Stream als Fallback.
Mobile (<900px): Kette stapelt vertikal, Strip bleibt horizontal.
Alte Bar-Achse, Punkte, Bucket-Merge, Day-Markers etc. komplett
entfernt — die alte Achse war für sporadische OSINT-Aktivität das
falsche Pattern.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Browser hatten die alten Timeline-Stile gecached und Änderungen waren
nicht sichtbar. Versions-Suffixe auf 20260501a aktualisiert, damit der
Cache zwingend invalidiert wird.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Mehrere Snapshots in derselben Achsen-Position erzeugten verschmierte,
übereinanderliegende Pin-Symbole. Zusätzlich war der goldene Streifen
auf der Bar (Bar-Cap) redundant zur vertikalen Snapshot-Linie.
- Snapshots werden pro Achsen-Position (auf 0,5%-Genauigkeit) gruppiert.
Eine einzige Linie + ein einziger Pin pro Gruppe; bei mehreren
Lageberichten zeigt der Pin die Anzahl als Zahl statt das Stempel-
Symbol.
- Bar-Cap (separates Element über der Bar) entfernt. Stattdessen
bekommt die Bar-Füllung bei has-snapshot eine dezente goldene
Top-Linie via ::before — keine Doppel-Markierung mehr.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Im Top-Bereich der Achse kollidierten Tagesmarker, Themen-Labels und
Lagebericht-Stempel auf der gleichen Höhe. Jetzt klare Schichten:
- Tagesmarker (Heute/Gestern/Datum): top 0
- Themen-Labels: eigene Schiene direkt darunter (top 22 / 42 hourly),
nicht mehr Kind der Bar — verhindert Wandern bei verschieden hohen
Bars
- Bars: nach unten verschoben (top 44 / 64 hourly)
- Lagebericht-Linien: gehen jetzt nur durch den Bar-Bereich,
Pin-Symbol (Cap) hängt UNTEN an der Achsenlinie statt oben in den
Tagesmarkern
- Heute-Linie: bei stündlicher Granularität ausgeblendet (Tagesmarker
zeigt eh "Heute, ..."), bei Tag/Woche/Monat weiterhin aktiv
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Punkte ersetzt durch schmale Säulen (Bar-Chart), Höhe = Anzahl Artikel
im Bucket relativ zum Maximum. Aktivität ist sofort als Verlauf lesbar.
- Granularität: hour < 48h, day < 30T, week < 180T, sonst month.
Bucket-Merge (verfälscht das Datum) entfernt, stattdessen sauberer
Granularitätswechsel.
- Lagebericht-Linien quer durch die Achse als dezente goldene Vertikalen
mit kleinem Stempel-Symbol oben. Klick öffnet das Bucket-Detail mit
dem zugehörigen Snapshot.
- Heute-Linie mit Label, wenn der heutige Zeitpunkt im sichtbaren
Bereich liegt.
- Themen-Label über den Top-3 aktivsten Buckets: clientseitig per
Wort-Häufigkeit aus Headlines, mit deutscher Stopwortliste. Zeigt
nur, wenn ein Wort mindestens zweimal vorkommt.
- Hover über eine Säule: Mini-Karte mit den 3 relevantesten Headlines
des Buckets (sortiert nach relevance_score), plus "+N weitere" und
Lagebericht-Hinweis bei gemischten Buckets.
- Snapshot-Bars bekommen oben einen goldenen Cap als Marker.
- Reduced-motion respektiert.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>