CesiumGS / CesiumGS/cesium

Time-dynamic imagery providers should have better support for manual timeline scrubbing

Open
#7,294 3 comments 0 reactions 0 assignees View on GitHub
category - terrain and imagery type - enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.