Skip to content

[Feat] timeline zoom & precision controls in enlarged time filter#3460

Merged
igorDykhta merged 3 commits into
masterfrom
igr/timeline-improvements-input
May 26, 2026
Merged

[Feat] timeline zoom & precision controls in enlarged time filter#3460
igorDykhta merged 3 commits into
masterfrom
igr/timeline-improvements-input

Conversation

@igorDykhta
Copy link
Copy Markdown
Collaborator

@igorDykhta igorDykhta commented May 25, 2026

Signed-off-by: Ihor Dykhta <ihordykhta@Ihors-MacBook-Pro.local>
Copilot AI review requested due to automatic review settings May 25, 2026 10:32
@igorDykhta igorDykhta self-assigned this May 25, 2026
@igorDykhta igorDykhta added the 3.3 Kepler.gl 3.3 release label May 25, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds cursor-centric zoom and precision navigation to the enlarged bottom time filter timeline, including wheel/pinch zoom behaviors, keyboard panning, and UI feedback when the visible timeline domain is narrowed.

Changes:

  • Implement local timelineDomain state in TimeWidget with wheel/pinch zoom, keyboard panning, clamping, and a “Showing … Reset” status bar.
  • Improve slider/throttle cleanup and histogram rendering behavior to better support zoomed/highlighted ranges.
  • Add/extend tape/enzyme tests and update playback docs to describe the new interactions.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/components/src/filters/time-widget.tsx Adds zoom/pan interactions, timeline-domain state, and reset status UI for enlarged timeline.
src/components/src/common/time-range-slider.tsx Cancels throttled onChange on unmount to prevent lingering timers.
src/components/src/common/range-brush.tsx Adjusts brush selection opacity.
src/components/src/common/histogram-plot.tsx Simplifies bar-in-range logic and adds clipping to prevent bar overflow during zoomed views.
test/node/utils/timeline-zoom-test.js New unit tests for timeline zoom/clamp helper logic.
test/node/utils/index.js Registers the new node utility test.
test/browser/components/filters/time-widget-test.js Adds browser/component tests for reset visibility, container render, and keyboard panning.
docs/user-guides/h-playback.md Documents the new zoom & precision controls for the enlarged timeline.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/components/src/filters/time-widget.tsx
Comment thread src/components/src/filters/time-widget.tsx Outdated
Comment thread src/components/src/common/histogram-plot.tsx
Comment thread test/browser/components/filters/time-widget-test.js
Comment thread test/node/utils/timeline-zoom-test.js Outdated
@igorDykhta igorDykhta requested review from ilyabo and lixun910 May 25, 2026 10:37
@jmalmo
Copy link
Copy Markdown
Contributor

jmalmo commented May 25, 2026

Thanks for picking this up and the credit, @igorDykhta! Would you mind adding a

Co-authored-by: Jakob Malmo
112383651+jmalmo@users.noreply.github.com

trailer to the merge/squash commit so the contribution is tracked on the commit itself? Happy to help if anything in the original parts needs follow-up.

Signed-off-by: Ihor Dykhta <ihordykhta@Ihors-MacBook-Pro.local>
Co-authored-by: Jakob Malmo <112383651+jmalmo@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@igorDykhta igorDykhta force-pushed the igr/timeline-improvements-input branch from 5c8faf5 to c2fdeb6 Compare May 25, 2026 11:51
Signed-off-by: Ihor Dykhta <ihordykhta@Ihors-MacBook-Pro.local>
@igorDykhta igorDykhta merged commit 5880a25 into master May 26, 2026
8 checks passed
@igorDykhta igorDykhta deleted the igr/timeline-improvements-input branch May 26, 2026 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3.3 Kepler.gl 3.3 release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants