Ereignis-Timeline: Klick auf Heatmap-Balken filtert den Stream

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>
Dieser Commit ist enthalten in:
2026-05-01 15:59:32 +02:00
Ursprung b14fe31f42
Commit 34aeb04a88
3 geänderte Dateien mit 115 neuen und 52 gelöschten Zeilen

Datei anzeigen

@@ -2490,6 +2490,67 @@ a.dev-source-pill:hover {
.ht-strip-cell.has-snapshot {
box-shadow: inset 0 -3px 0 var(--accent);
}
.ht-strip-cell.active {
background: var(--accent);
transform: scaleY(1.6);
box-shadow: var(--glow-accent-strong), inset 0 -3px 0 var(--accent);
z-index: 2;
position: relative;
}
.ht-strip-cell.active::after {
content: '▼';
position: absolute;
bottom: -10px;
left: 50%;
transform: translateX(-50%);
font-size: 8px;
color: var(--accent);
pointer-events: none;
}
.ht-strip:has(.ht-strip-cell.active) .ht-strip-cell:not(.active):not(.empty) {
opacity: 0.4;
}
/* Banner: aktiver Strip-Filter */
.ht-strip-banner {
display: flex;
align-items: center;
gap: var(--sp-md);
padding: 6px 12px;
background: var(--tint-accent);
border: 1px solid var(--accent);
border-radius: var(--radius);
font-size: 12px;
color: var(--text-primary);
margin-top: 4px;
}
.ht-strip-banner-icon {
color: var(--accent);
font-size: 10px;
}
.ht-strip-banner-text {
flex: 1;
color: var(--text-secondary);
}
.ht-strip-banner-text strong {
color: var(--accent);
font-family: var(--font-mono);
}
.ht-strip-banner-close {
border: 1px solid var(--accent);
background: transparent;
color: var(--accent);
font-size: 11px;
font-weight: 600;
padding: 2px 10px;
border-radius: var(--radius);
cursor: pointer;
transition: background 0.15s ease;
}
.ht-strip-banner-close:hover {
background: var(--accent);
color: var(--bg-card);
}
.ht-strip-labels {
display: grid;
gap: 2px;