Skip to content

[Feature Request] Timeline zoom & precise window controls in the enlarged time filter #3231

@jmalmo

Description

@jmalmo

Is your feature request related to a problem? Please describe.

Selecting very small time windows in the enlarged timeline is fiddly with only the range handles.
When datasets have second-level events or dense activity bursts, it’s hard to focus precisely on a sub-segment for playback or inspection.
This is a long-standing UX pain on the time filter.


Describe the solution you'd like

Add cursor-centric zoom and precise window controls to the enlarged timeline:

  • 🖱️ Mouse wheel → zoom the active window around the cursor.
  • 🤏 Pinch / hold Ctrl ( on Mac) + wheel → zoom the entire timeline domain (shows a “Showing … Reset” banner when zoomed).
  • ⌨️ Keyboard pan → hold Ctrl ( on Mac) and press / to pan the window; hold Shift for larger steps.
  • Keep the window and animation in sync, clamped to the full data domain.

Describe alternatives you've considered

  • 🧮 Numeric inputs for start/end or window width — useful, but the interaction above solves the common “just zoom a bit more” case with less UI chrome.
  • 🗺️ Mini-map overview track — heavier UI; could be a later follow-up.
  • 🎚️ Only slider-handle resizing — already available but imprecise for narrow windows.

Additional context

  • Addresses previous community requests for finer time control and smaller windows on the timeline.
  • Implementation is ready: includes wheel/pinch zoom, keyboard panning, reset banner, and clamping/throttling.
  • Opening this issue to document the problem/solution and link the upcoming PR.

Add any other context or screenshots about the feature request here.

GIFs of my current solution:

1️⃣ Wheel zoom on active window

Show how scrolling directly over the timeline zooms in/out on the visible playback window around the cursor position.
kepler-scroll-gif

2️⃣ Pinch or Ctrl(⌘)+wheel zoom of full timeline + Reset banner

Demonstrate pinch zoom or Ctrl(⌘)+scroll zooming the entire domain, and how the “Showing … Reset” banner appears.
Show the banner’s visibility state and how clicking Reset restores the full timeline domain.
kepler-gif-zoom

3️⃣ Keyboard panning

Demonstrate holding Ctrl(⌘) and pressing ← / → to pan, and adding Shift for larger steps.
kepler-gif-arrow-panning

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions