Interface

Track

A horizontal timeline lane containing clips and editing state. Tracks are app-owned rows in the timeline model. The engine uses each track's stable id for editing operations, reads the ordered clip list for rendering and hit testing, and honors view/editing flags such as visible, collapsed, locked, and muted.

Signature

Type Definition
Interface Track

Type parameters

NameConstraintDefaultDescription
TrackKindNonestringThe app-defined track kind, commonly "visual", "audio", or "subtitle".

Properties

NameSignatureDescription
clipsclips: Clip[]Clips contained by this track in timeline order. Keep clips ordered by `timelineStart` for predictable rendering, hit testing, and snapping. Overlaps are allowed when your editor model supports them.
collapsed?collapsed?: booleanCollapses the track row into a compact layout when true. The default React track item renders collapsed rows at 24px high and expanded rows at `height` or its default.
groupId?groupId?: stringOptional group identifier for visually grouping tracks.
height?height?: numberDisplay height in pixels when expanded. Interaction components use this to size the row; when omitted, UI layers typically fall back to 48px.
idid: stringStable app-provided identifier used by engine operations. Track ids must be unique within a timeline state. Keep the value stable across renders, serialization, undo history, and drag operations.
kindkind: TrackKindApp-defined lane category for routing behavior or display treatment.
lockedlocked: booleanPrevents clip edits on this track when true. Locked tracks are read-only for editing controls, but still provide snap reference targets unless `track.snap` disables them.
mutedmuted: booleanMarks this track as muted. Muted tracks affect playback/routing semantics and can be rendered with dimmed treatment by UI layers; muting does not disable snap references.
name?name?: stringUser-friendly name of the track.
selectedselected: booleanWhether the track itself is selected in the UI.
snap?snap?: false | TrackSnapOptionsWhether this track's clips participate in snapping, or track-specific snap settings.
targeted?targeted?: booleanWhether the track is targeted for insert/overwrite/paste operations (e.g. V1, V2).
visiblevisible: booleanMarks this track as visible in output/active-layer lookup. Invisible tracks remain editable rows in timeline layouts, but their clips are excluded from playback, preview, and active media synchronization.