TimelineState
Where the timeline sits, and the geometry that follows from it.
scale and grid are derived from zoom and follow it wherever it moves, so a zoom change is enough to move the ruler, the strip and every overlay reading them without rebuilding this holder. listState is the strip's own scroll state, and scrollPx turns it into the content pixel offset the ruler and the overlays place themselves against.
Built by rememberTimelineState.
Properties
The strip's scroll state.
The time to pixel mapping at zoom.
How far in the timeline is drawn.
Functions
Moves one step in on the ladder, holding the timeline time under focusViewportPx still.
Moves one step out on the ladder, holding the timeline time under focusViewportPx still.
Moves to zoom, holding the timeline time under focusViewportPx still.