slate.tracker / docs

Customising Your Folder Structure

Slate Tracker files every processed reference image into a folder and filename pattern that you control. The defaults work well for episodic TV, but feature film, theatre, and tour productions all need different layouts.

Where the patterns live

Open config.yaml in the agent data directory:

  • Windows: %APPDATA%\SlateTracker\config.yaml
  • macOS: ~/Library/Application Support/SlateTracker/config.yaml

The two fields you want are output.folder_pattern and output.filename_pattern.

output:
  root: "D:/References/Episode 04"
  folder_pattern: "{scene}/{lens}"
  filename_pattern: "{scene}_{take}_{timestamp}.jpg"

The agent treats output.root as the base. Every other pattern is relative to it.

Available placeholders

You can use these placeholders in either pattern:

PlaceholderSourceExample
{scene}Slate card012
{take}Slate card4
{lens}Slate card35mm
{notes}Slate cardkitchen
{date}File mtime2026-05-28
{date_compact}File mtime20260528
{timestamp}File mtime1716879600
{time}File mtime14-30-22
{original}Source fileIMG_0021
{ext}Source filejpg
{confidence}Vision read94

A missing field is replaced with unknown in the file path, which makes incomplete entries easy to find on disk.

Pattern examples

Episodic TV

output:
  folder_pattern: "Episode {ep}/Scene {scene}"
  filename_pattern: "scene_{scene}_take_{take}.jpg"

You can set ep as a static value in output.constants.ep:

output:
  constants:
    ep: "04"

Feature film

output:
  folder_pattern: "{date}/Scene_{scene}"
  filename_pattern: "{scene}_{take}_{lens}.jpg"

Tour / live event

output:
  folder_pattern: "{date}/{notes}"
  filename_pattern: "{time}_{original}.{ext}"

Theatre / corporate

output:
  folder_pattern: "Act_{scene}"
  filename_pattern: "{scene}_q{take}.{ext}"

Collisions

If two images resolve to the same path, the agent appends a numeric suffix:

scene_012_take_4.jpg
scene_012_take_4_2.jpg
scene_012_take_4_3.jpg

If you want a different collision policy, set output.on_collision:

  • suffix: append a number (default).
  • overwrite: replace the existing file (with a backup in .trash/).
  • skip: leave the existing file alone, flag the new one for review.

Reloading the config

The agent watches config.yaml and reloads patterns within a second. You do not need to restart for pattern changes. If a pattern is invalid, the agent keeps the previous one and surfaces an error on the local dashboard.

Where to go next