📋 What was this drill?

Drill: Empty states: 5 different empty states, each with what/why/next. No 'No data.' Target: each empty state teaches the user something.

Interpretation: Built as a film/TV dailies-review console (dark flat #08090b canvas, Inter + JetBrains Mono, single blue accent) — a media-grid surface, distinct from v2's light LIMS table. Constraints added: the three '0 clips' causes (first-run vs filtered vs cleared) carry an explicit never-collapse contract, partial state is an in-situ amber banner above real clip cards, and the in-progress state is a 3-stage camera-card pipeline whose arithmetic reconciles (61+85=146 of 214). Colorblind redundancy via divergent glyph shapes.

F23
Frame 23
dailies review
/ Shows / Vesper — S01 / Dailies
Camera A/B cards mounted

Dailies — Ep 107 “Nightshift”

shoot day 14 · unit call 15:30 · A-cam Odyssey HK · B-cam Sony 9iii
5 states · seeded demo
1 · First run trigger: clip_count == 0 · no ingest ever

No dailies yet — this episode hasn't been ingested

It's shoot day 14 and episode 107 has no clips because camera cards haven't been pulled into Frame 23. Dailies for “Nightshift” appear here after the first ingest; nothing is missing and nothing is lost.

I ingest · ? shortcuts
2 · Filtered empty trigger: clips > 0 · match_count == 0 · filters active

Nothing matches “Flagged” — because nothing's been flagged yet

You're filtering 214 clips by Flagged. Zero match, but the bin is healthy: 61 unreviewed, 37 circled, 24 approved. Drop the filter, or flag a clip from review to populate this view.

Esc clear filters
3 · Cleared / archive transition: 214 → 0 · retained 90 days

Reviewed and cleared — 214 clips archived

This episode's dailies were marked reviewed on Sep 12 by M. Okafor and moved to the 90-day archive. Nothing is gone: restore any clip or the whole reel, or pull the approved EDL that came out of this review.

A archive
4 · Partial ingest trigger: sync error 03:47 · 61 of 214 saved
Ingest stopped mid-run — 61 of 214 clips saved
The uploader lost the B-cam card at 03:47 (EC-4402 · checksum mismatch on BPAV_0418). The 61 saved clips are reviewable below; the remaining 153 wait on a card remount. The 61 are safe — they play, circle, and flag like any clip.
Scene 14A take 3 frame A CAM 04:12
sc14A_tk03 — night ext alley
023_YD18 · synced · 04:12
Scene 14A take 4 frame B CAM 03:58
sc14A_tk04 — night ext alley
024_YD18 · synced · 03:58
Scene 14B take 1 frame A CAM 05:47
sc14B_tk01 — int. corridor
025_YD18 · synced · 05:47
5 · Ingest in progress state: running · started 05:12 · eta 6 min
A-cam card 161 clips
offloaded 05:12 · verified
B-cam card 285 of 96
023_YD18.MP4 · 84 ok
B-cam card 357 queued
waits on card 2

146 of 214 clips are in — 61 from A-cam card 1, reviewable now, and 85 of 96 so far from B-cam card 2. New clips drop in at the top of the grid without a refresh.

What this drill is
  • Five empty causes, five different teaches. Same media-grid surface, five causes: never-ingested (first run), over-filtered (healthy bin), archived (cleared), partial (sync failed 61/214), mid-ingest (live progress). Each states WHAT / WHY / NEXT with cause-matched verbs — ingest, clear, restore, retry, continue.
  • Three-cause distinction contract. First-run vs filtered vs cleared are all “0 clips,” but the zero means something different each time: nothing yet (action: start), nothing matches (action: widen), nothing left (action: recover). The copy must never collapse these into “No clips.”
  • Colorblind-redundant signaling. Glyph shape diverges per state (film-strip / funnel / archive-box / warning-triangle / spinner) so state is never carried by color alone; the amber partial is the only warm element on the canvas and still pairs shape + mono eyebrow + copy.
  • In-situ banner discipline (carried from v2). Partial is not an empty panel — a slim banner sits above REAL saved rows; the data present is the proof, the banner explains the rest.