> For the complete documentation index, see [llms.txt](https://help.craftsmanplus.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.craftsmanplus.com/play/timeline/tracks.md).

# Tracks

***

Tracks are the heart of the Timeline: one colored bar per layer showing exactly when it exists during the current scene. Dragging bars around is the fastest way to choreograph your playable, from when layers appear to how long they stay and how their animations overlap. For where the panel sits and how to open it, see [Timeline Panel](/play/general/panels/timeline-panel.md).

***

#### The Layer List

The left column lists the active scene's layers in the same list and stacking order as the [Layers Panel](/play/general/panels/layers-panel.md), with an icon per layer type. Click a row to select the layer, or `Shift + click` to select a range. Small badges flag behavior at a glance: **Loop** and **Rewind** playback, **Animation**, **Gesture** interactions, and **Event** when a layer has an On Finish action. The scene's own header row shows an Event badge when the scene has one too.

Drag a row up or down to reorder layers, exactly as in the Layers Panel: a line previews the drop position, and dragging toward the left or right moves the layer out of or into a **Group** or **Frame**. The order commits when you release, and it applies everywhere at once — the Layers Panel, the tracks, and the stacking order in the scene. Each layer keeps its start time, end time, and duration, and its track stays on its row. Dragging a bar on the right never reorders layers; it only changes timing.

**Frames** and **Groups** expand and collapse with their chevron, revealing indented child rows and child bars. Their expanded state stays in sync with the Layers Panel in both directions, so opening a group in one place opens it in the other. A child bar that extends past its parent's time range renders dimmed beyond the boundary, a reminder that the parent's range clips when children can appear.

***

#### Layer Bars

Each bar spans the layer's **Start Time** to its **End Time**:

* Drag the **middle** of a bar to move it, keeping its duration.
* Drag the **left or right edge** to change the start or end independently.

Drags move in steps of **0.05 seconds**, roughly one frame at 30fps, and while you drag, the bar's start time, end time, and total duration display live so you always know exactly where you will land.

Layers must last at least **0.1 seconds**. Bars are locked for synced [global layers](/play/layers/global-layers.md), which take their timing from their global parent. The same values can be typed precisely in the layer's **Timeline** properties, covered below.

***

#### Snapping

While dragging a bar or one of its edges, it snaps to the edges of other layer bars and to the **end of the scene**, with a vertical guideline marking each snap. Hold `CMD` (Mac) or `CTRL` (Windows) to temporarily turn snapping off, the same modifier used when moving layers in the viewport.

***

#### Beyond the Scene End

A bar can be moved or stretched past the end of the scene, either by dragging the whole bar or just its right edge. The overhanging portion renders darkened to show it sits out of bounds: that part of the layer never plays, and playback still stops at the scene's duration.

***

#### Parents and Children

Adjusting a parent's timing also adjusts any child that shares it. When you change the start or end time of a Scene, **Frame**, or **Group**, every child whose matching time equals the parent's updates with it, and the change cascades down through matching grandchildren the same way. Children whose times differ from the parent's are left alone.

This applies whether you drag on the timeline or type new times in the properties panel, and child bars follow live while you drag rather than jumping into place on release.

***

#### Reading Animations on a Bar

A bar carries markings for anything on the layer that has its own playback timing:

* **Video and Sequence layers** show playback notches marking each loop of the media.
* A layer with an **idle** [animation](/play/properties/animations.md) shows the same style of notches, one per loop of the idle.
* **Enter** and **exit** animations render as darkened regions at the start and end of the bar, each covering that animation's duration.

A layer with all of these shows them together, and a layer with none shows a plain bar.

***

#### The Scene Track

The top row of the tracks area is the scene's own track. It is styled like a layer track, with the timeline's notch marks and timestamps overlaid on it, and timestamps always display as whole seconds.

Drag the handle at the **end** of the scene track to change the scene's duration; the start of the scene is fixed and cannot be dragged. Dragging the handle never changes the zoom level, so your view stays put while you work.

Scene duration can also be typed in the scene's Properties Panel (Timeline > **Duration**), from **0.1** to **600** seconds. Values outside the limits show a warning and are ignored.

{% hint style="info" %} *If the scene contains a single video, its duration stays synced to the video's length automatically (see* [*Videos*](/play/layers/videos.md)*).* {% endhint %}

***

#### Playhead and Playback

The playhead starts at the scene track and runs the full height of the tracks. Drag its round handle to preview any moment; playback pauses while you scrub and resumes if it was playing.

The toolbar has jump-to-start, replay-animations, play/pause, and mute buttons, plus a current/total time readout. Every button shows a tooltip on hover, and mute can also be toggled with `M`.

***

#### Timeline Zoom

The zoom slider in the toolbar stretches the time axis from a close-up of a few seconds out to the full scene, and its value displays as whole seconds. You can also zoom by holding `CMD` (Mac) or `CTRL` (Windows) and scrolling, or by pinching on a trackpad, while your cursor is over the timeline. Zoom anchors to the front of the timeline, and the slider stays in sync however you zoom.

The timeline re-zooms automatically to fit when the scene's duration is changed from the Properties Panel.

***

#### Timing from the Properties Panel

Every layer's **Timeline** properties mirror its bar with three linked fields: **Layer Duration** above a **start** and **end** time separated by **to**. Edit whichever value is easiest and the others stay in sync:

* Changing **Layer Duration** moves the end time to the start time plus the new duration.
* Changing the **start** or **end** time recalculates the duration to end minus start.

{% hint style="info" %} *A layer starting at 0s and ending at 5s shows a duration of 5s. Change the duration to 8s and the end becomes 8s; change the end to 10s and the duration becomes 10s.* {% endhint %}

The section also holds the layer's **On Finish** module, which is off by default. Turn it on to open the **On Finish Properties** popup and choose an [Action](/play/general/actions.md) from the dropdown. The module then displays the chosen action, which fires when the layer reaches the end of its time.

***

#### Event Markers

Pins above the tracks mark each [Scene Event](/play/layers/scenes/scene-events.md), a moment that fires an [Action](/play/general/actions.md) at a set time. Hover a marker to see its action and time, and drag it to reschedule the event. Events are added and configured from the scene's Properties Panel.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.craftsmanplus.com/play/timeline/tracks.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
