Wideshot · Khoa-directed redesign · 31 Jul 2026

Your fourth unit, and the shell it works in

Two surfaces first, because they are the fastest route to a viewable direction: the crew room — the unit as a room you walk into — and Create with the unit drawer, which is the Desk anatomy wearing the Instrument skin. Everything else follows from these two.

What is clickable in this drop

Ten surfaces in the coverage plan. This board is generated from the same file the pages themselves read, so it cannot claim something is live while the link says otherwise — a status board that can disagree with its own links is worse than no board. Anything not yet drawn routes to a page that says what it is and what it is waiting on, rather than nowhere.

Why this board exists. Khoa clicked /create and reported he could not click through to anything. The mock was fine — href="#" was the defect. An unfinished thing that says nothing about itself is indistinguishable from a broken thing, which is the same argument as the honest empty state on a member with no attributed directors, applied to navigation instead of data. Every stub now routes somewhere that explains itself.
Three product rules are enforced in the markup, not just followed. No film title and no director name appears on any user-facing surface. The typeahead key is private — and, see below, that turned out to be an architecture requirement rather than a copy decision. Provenance is a named data-slot with the descriptor variant filled in, so the Bindi gate stays a content choice made last.
Amendment 9 — this pack is now a signed design contract gating Phases 2–5. The route map, responsive states, clearance boundary and stable persona IDs are captured explicitly on the contract page, so a build honours them rather than inferring them from a mock.
Naming: THE FOURTH UNIT — locked for design (Khoa, 31 Jul). First unit shoots it, second unit picks up what first cannot — Wideshot gives you a fourth. Members carry human first names with the grammar as a specialty tag (Jimmy · handheld verité); the crew room is the unit's room; the Producer is its 1st AD. Internal ids are untouched, because display was always a skin.
Scope: a design lock, not a brand one — trademark and persona wording still clear at the Bindi gate, and the ids stay name-agnostic so that ruling costs a config change rather than a rework.
Route ruling: the crew room lives at /create/unit — a route is an identifier, so it takes the load-bearing locked word rather than the display flavour that can still move at the Bindi gate. URL says unit, the heading says crew room. Renamed once. Recorded in the route map →
Scale ruling — the five-card room was a first cohort, not the layout (Khoa, 31 Jul). The crew room is rebuilt for 100+ members: search is now the primary interface, the roster is virtualized and filters on five axes, and the five cards become an editable front row. The member lifecycle — in measurement, measured, bio published, verified — becomes a designed system rather than an empty state, and the stage is computed from the fingerprint so a chip cannot disagree with the numbers beside it. Portraits stop being artworks and become a generation recipe driven by each grammar’s own measured grain, palette, light, framing and frame shape.

Two findings from building it. The no-likeness guarantee had to change kind: at five members it was a promise kept by looking at every output, and at a hundred nobody looks — so the generator now takes numbers only and has no field that could carry a director or a title. And writing the recipe’s coverage floor down reclassified one of my own five: Vera is measured from 97 shots, under the floor, so the hand-directed set quietly contained a member the pipeline would refuse. She now wears in measurement, which is true.

What is on the two surfaces

The crew room

Search-primary, built for 100+. The typeahead is the room’s main interface; below it a virtualized roster of 112 members filters on school, era, temperament, pace and lifecycle stage. The five dossier cards survive as an editable front row — curation, not architecture: you can empty it and the room still works.

Create + drawer

246px funnel · fluid stage · 400px collapsible drawer. Roster on top with pilot and guests, then the selected fan’s what I am bringing card, then proposals as accept / edit / ignore. Composer at the bottom. Collapses to zero and says how to get it back.

The readout was not replaced — it was personified

The most important thing in the shell change is the thing that looks like a deletion. The 300px telemetry panel does not disappear into a chat window: its numbers move onto the selected fan’s card as what I am bringing — cuts per minute, median shot, dialogue rate, coverage, and the fingerprint wave, all still there, now attached to someone who can be argued with. Select a guest and the same panel re-reads in their grammar. Nothing measured was thrown away; it gained an owner.

One finding worth acting on before build

The private search key has to resolve server-side, or it is not private. I built the typeahead with the director-and-film map in the page, and then could read the entire corpus mapping out of the bundle — which is exactly the disclosure the library tuck-away exists to prevent. A user with devtools would have the whole index. The resolver is now behind a stated server boundary (GET /crew/resolve?q=… → {fanId}), the client sends a query and receives a persona, and the key is never persisted against the user or the run. Worth catching now: it is a two-line change in design and a much larger one after the map ships.
Deviation accepted — the checklist is amended. I flagged that system states is not a surface: empty, loading and error are properties of the nine other surfaces, and a separate page of them would pass a checklist while leaving every real screen without them. Tom ruled the states page a category error and amended the checklist — states are designed into each surface and recorded per-surface in the parity ledger. The sequencing call (patterns before surfaces) was accepted on the same reasoning. Recorded here so the artifact and the checklist do not disagree.

A note on the order

An earlier draft of this pack proposed a different sequence — cuts shelf third, the film page fourth. It was superseded once Khoa named Analyze and the re-cut editor as what he most needs to see, and the board above is the only current order. The previous list is deliberately not reproduced here: two orderings on one page is exactly the confusion this round set out to remove.

Questions for Tom

Scope and standing

Design only. No build, no framework decision, nothing committed to the Wideshot repo. The nested-route URLs shown in the funnel are a design position — each stage owns a route, never a tab in component state — not a claim that routing has been chosen. QA risk tier: T3 — non-executable mocks.

Avatars are original characters rendered in each grammar’s visual world — its grain, palette, framing. No real person is depicted and no likeness is referenced. Figures are deliberately lit masses rather than detailed faces, which is both truer to a frame from a film and the furthest possible distance from a likeness. Measurements shown are illustrative.