Allow Simultaneous User Interaction View State Transitions
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 14.6k
- Forks
- 2.3k
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 42
Description
Target Use case
Simultaneously being able to pan and zoom (for example) would result in a smoother and improved UX for navigating views.
Proposed feature
Currently, TRANSITION_EVENTS are BREAK, SNAP_TO_END, and IGNORE, which only allow for sequential view state transitions, i.e. panning will cancel/ignore zoom transitions, and zooming will cancel/ignore panning transitions.
Possibly, an implementation could be keeping sequential view state transitions, but to allow for a single view state transition to simultaneously represent the combined effects of user inputs (?). This way the user could simultaneously pan and zoom, but if a new view state was set with a FlyToInterpolator for example, then the previous user input transitions would be cancelled.
With this feature, (enabled) inertia from panning would not be interrupted by a zoom event, and (enabled) smooth-zooming from a zoom would not be interrupted by panning.
To Do List
- Add label and assign to milestone
- Coding
- Doc update
- What’s new update
- Test
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files or tests; start with the view-state transitions documentation and the TRANSITION_EVENTS and FlyToInterpolator entry points mentioned here. Define how simultaneous pan and zoom should combine while preserving cancellation when a FlyToInterpolator transition starts. Done should include coding, tests, documentation, and a What's New update.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- data-visualization, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100