Time-dynamic imagery providers should have better support for manual timeline scrubbing
- Dominant language
- JavaScript
- Stars
- 15.7k
- Forks
- 3.9k
- Avg merge
- 4d 6h
- Merged PRs (30d)
- 34
Description
The current implementation of time-dynamic imagery is heavily biased towards the use case of animating the clock. It includes code to look ahead to "approaching" time intervals and preload imagery before it arrives. This is a good idea, but falls short when the user is manually scrubbing the timeline. Because imagery isn't retained beyond its initial display, a new server round-trip is required for all manual seek actions.
I'd like to see three things added for a smoother experience when manually seeking around a time-dynamic layer:
* An option (`seekable`?) to retain loaded tiles in a cache that persists when changing intervals. If this is set, it probably also makes sense to *not* cancel requests when changing intervals. Maybe instead this should just be a cap on the total number/size of tiles to cache across all intervals?
* Options to preload a number of intervals before or after the current one (when idle)
* An option to clear the displayed imagery immediately when manually changing the clock, rather than replacing the previous tiles piecemeal, to prevent a patchwork effect. (Might be a good idea to turn this on by default, when not animating at least.) Maybe instead of an option, just retain the existing imagery when changing between adjacent intervals and clear it if the intervals aren't adjacent?
Contributor guide
Research direction
No files or tests are named. Start by locating the current time-dynamic imagery implementation and its clock-seeking path, then compare animation with manual scrubbing. Done requires an agreed design for cross-interval caching, idle preloading, and imagery-clearing behavior, followed by implementation and validation of the selected semantics.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- computer-graphics, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100