# Explain a Screen

The **Playback** card explains which content Tilecast Server expects for a
Screen. **Expected now** names the selected presentation and its source:
**Takeover**, **Show Now**, **Schedule**, or **Default**. This is expected
selection; it does not prove what appeared on the physical display.

## Read the Playback card

1. Open **Screens** and select the Screen.
2. Open **Overview** and find **Playback**. **Expected now** shows the
   selected presentation, why it won, and the latest reported Player state.
3. Read **Default content** below it. That presentation plays when no
   takeover, Show Now presentation, or content schedule is active.

A **Group-managed** badge means the default belongs to a Display Group.
Changing it updates every screen in that group, and Studio asks you to
confirm that scope before it saves.

## Read the Schedule card

The **Schedule** card lists the content schedules that affect the Screen.
**Active now** names the schedule behind the current selection. **Other
schedules** lists the rest with their presentations and enabled state.
**Add schedule** opens the schedule editor with the Screen preselected.

**Next** is truthful. Studio asks the server what it selects at the next
evaluation boundary and only claims a change when the answer differs.
Otherwise it tells you the current selection is still expected, or shows the
boundary alone when the prediction cannot load. A boundary alone never
promises that the content changes. For example, a schedule can end while
another schedule selects the same Playlist.

## Explain why this content won

1. Select **Why this?** on the Playback card.
2. Read **Selection precedence**. Takeover, Show Now, schedule, and default
   candidates appear in stable priority order with status badges, server
   reasons, and schedule intervals.
3. Read **Content path** to trace the selected playlist or layout through
   its widgets and data sources.

Synchronization, downloads, renderer state, and Widget support live in
**Diagnostics** on the **Playback** tab, not in the explanation panel. An
unreported Player profile is **Unknown**. It is not a report that the Player
lacks support. A component-only Widget can remain blocked until a profile is
reported. These reports do not establish media readiness, decoder behavior,
network access, or actual rendering.

## Inspect another instant

1. Select **Why this?**, then expand **Inspect another time**.
2. Choose a date and time under **Inspect an instant**. The panel states the
   browser time zone used by the picker and displayed dates.
3. Select **Inspect**. A future request uses current configuration and the
   latest reported Player state. A past request reads recorded expectations.
4. Select **Use server time** to return to the automatically refreshed view.

The current view refreshes every ten seconds. The calendar offers dates
through the next ten years. A historical gap remains visible; today's
assignment cannot fill missing historical evidence.
Historical expectations preserve recorded IDs and revisions even when the
content no longer exists. They do not borrow current content names or Player
capability profiles.

To check observed playback, select **View Player-confirmed Activity**. Recorded
expectation, observed playback, and a snapshot of the display answer different
questions. An open recorded expectation is not proof of actual playback.

See the [Playback Plan engineering contract](https://github.com/gbyo/tilecast/blob/main/docs/playback-plan.md)
for the exact evidence rules and API error codes.
