Skip to content

Timeline Controls

The timeline is the primary tool for navigating through frames, setting playback ranges, and managing markers. It appears at the bottom of the interface whenever media is loaded.

Timeline with markers and playback controls

Timeline Overview

The timeline is an 80-pixel-tall canvas-based component that displays:

  • A track showing the full frame range with thumbnail previews
  • A playhead (blue accent line with glow effect) indicating the current frame
  • In/out point brackets defining the playback range
  • User marks as colored vertical lines
  • Annotation markers as yellow triangles below the track
  • Audio waveform as a semi-transparent blue overlay (when audio is present)
  • Source information -- media type badge, filename, and resolution
  • Playback status -- playing/paused, current FPS, and loop mode

Seeking and Scrubbing

Click anywhere on the timeline track to jump directly to that frame. The playhead moves immediately and the viewer updates.

Click and drag on the timeline to scrub through frames continuously. The current frame updates in real time as the mouse moves, providing a quick way to scan through footage.

Double-click on the timeline to navigate to the nearest annotated frame.

Thumbnails

The timeline displays preview thumbnails distributed across the track. Thumbnails load progressively after media is loaded and are cached in an LRU cache (up to 150 entries) for fast access. When the window resizes or the source changes, thumbnails recalculate automatically.

Thumbnail generation runs with a concurrency limit of two to avoid blocking the main thread.

In/Out Points

In and out points define the playback range. When set, playback is constrained to this range -- the playhead loops, stops, or reverses (depending on loop mode) at the boundaries rather than at the start and end of the entire media.

ActionKeyboard Shortcut
Set in pointI or [
Set out pointO or ]
Reset in/out to full rangeR

In/out points are displayed as blue brackets on the timeline. They cannot cross each other -- the in point is always at or before the out point.

Mark-to-Mark Range Shifting

When multiple markers are placed on the timeline, consecutive marker pairs define range segments. Use the following shortcuts to snap the in/out range to the next or previous segment:

ActionShortcut
Shift to next mark pairShift+Down or Ctrl+Right
Shift to previous mark pairShift+Up or Ctrl+Left

In loop and ping-pong modes, shifting past the last or first segment wraps around. In once mode, shifting stops at the boundary.

VFX Use Case

Frame-accurate navigation is critical for animation review and lip sync evaluation. Use the arrow keys to step frame-by-frame and set in/out points (I/O) to loop a specific action or transition. Place markers (M) on frames where timing feels off or where fixes are needed, then use the marker notes to record feedback for the animator. This marker-based review workflow is faster than writing timecoded notes separately.

Pipeline Note

When reviewing editorial cuts loaded via OTIO, use the timeline editor's cut blocks to verify that each shot's frame range matches the editorial intent. The handles (frames before/after the cut point) should match what the compositor expects. Mismatched frame ranges between editorial and VFX are a common source of "the comp doesn't line up with the edit" issues.

Frame Counter

The timeline displays frame numbers at both ends of the track. During playback, the status area shows the current frame number, actual vs. target FPS (e.g., "24/24 fps"), and the active loop mode.

Markers

Markers are user-defined bookmarks at specific frames. They appear as colored vertical lines on the timeline.

ActionShortcut
Add/remove marker at current frameM
Open marker panelShift+Alt+M

Each marker supports:

  • Color -- choose from an 8-color palette; click the color circle to cycle
  • Note -- attach text notes to any marker; press Ctrl+Enter to save, Escape to cancel
  • Navigation -- click a marker entry in the panel to jump to that frame

The marker panel (Shift+Alt+M) lists all markers with their frame numbers, colors, and notes. It includes buttons to add markers, clear all markers, and delete individual markers.

Annotation Indicators

Frames with annotations (drawings, text, shapes) display yellow triangle indicators below the timeline track. Navigate between annotated frames with , (previous) and . (next).

Cache Indicator

A cache indicator shows the status of cached frames and memory usage, particularly useful during video playback with the mediabunny WebCodecs extractor. Cached frames load instantly; uncached frames may cause a brief buffer while decoding.

Prerender Buffer

The prerender buffer is a double-buffered cache that allows glitch-free updates when changing effect parameters during playback. While the current frame displays from one buffer, the next frame renders into the second buffer with the updated settings. The system uses SIMD-like TypedArray optimizations, half-resolution convolution for expensive filters, and async chunked processing to keep rendering fast. This ensures that adjusting color corrections, filters, or LUT settings mid-playback does not cause visible frame drops or stuttering.

Timeline Editor

For playlist and EDL workflows, the timeline editor provides an extended view with:

  • Cut blocks -- colored rectangles representing individual clips
  • Drag handles -- trim in/out points by dragging clip edges
  • Reordering -- drag clips to new positions
  • Zoom controls -- slider to adjust pixel density (0.5x to 10x pixels per frame)
  • Frame ruler -- numbered markers showing frame positions
  • Context menu -- right-click for delete operations

Keyboard Reference

KeyAction
SpacePlay / Pause
Left ArrowStep one frame backward
Right ArrowStep one frame forward
HomeGo to first frame (or in point)
EndGo to last frame (or out point)
I or [Set in point
O or ]Set out point
RReset in/out points
MToggle marker at current frame
,Previous annotated frame
.Next annotated frame

Released under the MIT License.