developmentseed / developmentseed/cng-sandbox

feat: add time series animation for temporal Zarr connections

Open
#97 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
3
Forks
0
Avg merge
2h 21m
Merged PRs (30d)
3

Description

## Summary

For Zarr stores with a time dimension, enable play/pause animation through time steps using the existing temporal animation UI.

## Background

The app already has temporal animation infrastructure (play/pause, timeline slider) for multi-timestep raster datasets. This issue wires Zarr connections with a time dimension into that same system. The key difference from STAC temporal datasets is that instead of `&datetime=`, the tile URL uses `&sel=time=`.

## Acceptance Criteria

- [ ] When a Zarr connection has a `time` dimension, `isTemporal` is set to `true` on the MapItem
- [ ] Time coordinate values are mapped to the existing `Timestep[]` format
- [ ] The existing temporal animation controls (play/pause, timeline) appear for Zarr connections
- [ ] Advancing the time step updates the tile URL's `sel=time=` parameter
- [ ] Animation is smooth with reasonable pre-fetching of adjacent time steps

## Files to Modify

- `frontend/src/hooks/useMapData.ts`
- `frontend/src/hooks/useLayerBuilder.ts`
- `frontend/src/hooks/useTemporalAnimation.ts` (may work as-is)

## Dependencies

- Depends on: `feat: add dimension selection for multidimensional Zarr connections`

Contributor guide

Open the contributing guide

Research direction

Start with frontend/src/hooks/useMapData.ts and frontend/src/hooks/useLayerBuilder.ts, then compare their Zarr connection flow with the existing temporal path. Read frontend/src/hooks/useTemporalAnimation.ts to determine whether it can be reused, and trace how time coordinates become Timestep[] values and tile URL parameters. Done means the acceptance criteria pass, including visible controls, sel=time updates, and adjacent-step pre-fetching.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
data, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.