A woman in cream separates balanced on one leg in warm daylight

Haute Lumière · Édition Nº 11 · The Interface Specification

The Reel

Every surface, every state, every measurement. The document a person builds from, and the one they are held to afterwards.

PartsVI
Specimens24
Components31
States11
RegistersII
DateMMXXVI
A woman in cream standing in profile in strong side light Édition Nº 11 · the companion to Nº 10

What this document is for

Édition Nº 10 argued why The Reel should exist and sketched what it would feel like. This is the other half: the interface, specified to the pixel — every surface, every component, every state, every number, and the refusals that matter more than the features.

A brief describes an intention. A specification removes the need to guess. The difference shows up on the fourth day of a build, when the person writing the code hits a case the brief did not name and has to invent something. Whatever they invent will be reasonable and will not match the rest of the program, and by the time anyone notices there will be nine of them. This document exists so that nobody has to invent.

So it is written in numbers wherever numbers are possible. Not generous padding but 19px. Not a slow fade but 700ms, cubic-bezier(.165,.84,.44,1). Where a value is a judgement rather than a constant, the judgement is stated and the reason given, because a rule without a reason is the first thing a tired engineer overrides.

Every specimen below is live. It is not a picture of the interface; it is the interface, rendered from the same tokens the program will use, in the register the program ships in. If a specimen looks wrong on this page it will look wrong in the product, which is the point of building it this way.

Governs
The Reel · all surfaces
Companion to
Édition Nº 10 · The Build Brief
Design system
Haute Lumière · Midnight & Nocturne
Type
Cormorant Garamond · Manrope · SF Mono
Target
Apple silicon · 13″ to 32″
Status
Fixed at this date. Not amendable.
A woman with one arm curved overhead in a warm minimal room

Part I

Foundations

Before a single screen

Nothing in this program names a colour. Every value in every rule resolves through a token, and the tokens are set once by the register. This is not tidiness for its own sake — it is the mechanism by which one interface becomes a night interface and a late-night interface without a second stylesheet, and the reason a person can work at eleven and at three without their eyes being asked to renegotiate.

Haute Lumière carries seven registers. The Reel ships two. The other five are correct for reading and wrong for looking at moving picture, because a bright ground beside a video frame biases every judgement you make about that frame's exposure. Editors work on grey for the same reason painters do not hang work on a white wall.

A bright interface beside a dark frame is not a preference. It is a measurement error.

The two registers it ships in

Midnight is the default and the one to design in — a blue-black that sits neutral against most footage. Nocturne is the green-black alternate, for people who find blue-black cold after four hours. They are the same interface. Only the tokens move.

Specimen 01 · Midnight, the shipping tokens

--register: midnight

Desk#0A0E15
Surface#111620
Raised#171E2A
Rule#232B39
Muted#8E97A6
Text#DCD4BF
Ink#EFE8D8
Signal#D9B472
Eight tokens carry the whole program. Desk is behind the window, Surface is the window, Raised is anything sitting on it. Signal gold is the only accent and it means one thing: this is where you are, or this is what wants you. Nocturne substitutes #070B08 · #0E1712 · #131F18 · #1D2A22 · #7E8C80 · #D8D0BA · #EDE6D2 · #C7A468 in the same eight slots.

Three colours exist outside the token set, used only in the Seam Inspector where a judgement must be legible at a glance: #9FD3A8 for a clean joint, signal gold for a marginal one, #E2926E for a bad one. That last is clay, not red. There is no red anywhere in this program, for the reason the design system gives and one more: a red interface teaches your body that a slow render is an emergency, and you will be doing slow renders every night for years.

The type scale

Two families, two jobs, never crossed. Cormorant Garamond is everything a person reads and everything they write — prompts, sentences, captions, the Ledger's one honest line. Manrope, all-caps, tracked, is the trellis: labels, figures, section marks, anything structural. A third appears only where characters must be counted: SF Mono for seeds, hashes, timecodes and parameter values.

Specimen 02 · The scale, as shipped

Give it a picture
A woman turning, the fabric catching the light
Two minutes forty, at this geometry
The particulars
seed 8842119 · 480×832 · 81f · cfg 3.5
Five sizes and nothing between them. Display 31px/300 for a door or a title. Sentence 19px/400 — the prompt field, and the largest thing a person types into. Aside 15px italic for anything the program says about itself. Label 9px/600 at .24em for the trellis. Mono 11px for values. The display-to-label ratio is 3.4×; the brief's magazine pages run 8× and this is a working surface, so the contrast is deliberately quieter.

Space, and the one number

One number generates the whole layout: 19px. It is the sentence's font size, and every measure in the program is a multiple or a clean fraction of it. This is not numerology; it means that when the sentence changes size — and it will, because a 32-inch display should not use a 13-inch measure — the entire interface rescales in proportion without a single breakpoint being written.

Hair1pxEvery rule in the program. There is no second border weight.
Tight.25× · 5pxGap inside a chip, between a dot and its label
Close.5× · 10pxLabel to value, dot to text, icon to word
Step.75× · 14pxBetween related controls in a row
Pad1× · 19pxInside every panel, cell and card. The default.
Between1.5× · 29pxBetween two unrelated blocks on one surface
Room2.5× · 48pxAround anything being judged. The Hush uses this.

Seven values. A layout that needs an eighth has a structural problem, not a spacing problem, and the correct response is to look at the structure.

Elevation and the living surface

Three elevations, and they are semantic rather than decorative. Flat is the window itself. Raised — one hairline plus 0 2px 5px rgba(0,0,0,.24), 0 12px 26px -12px rgba(0,0,0,.4) — is anything that could be dragged: a Spool entry, a Strip shard. Lifted0 30px 70px -26px rgba(0,0,0,.8) — is reserved for exactly one thing at a time, whatever the Hush has brought forward. If two things are lifted, the Hush is broken.

Behind the window sits the living surface, inherited unchanged from the design system: one sunburst in the upper right, breathing on a 12-second cycle between 12% and 20% opacity, and paper grain at 3.5%, multiplied. Both are behind the window and never on top of a frame — a grain overlay on footage you are judging is a lie about the footage. The sunburst exists for one reason, and it is a physiological one: a slow, silent, non-demanding movement in the periphery gives a person something to breathe with while they wait, and they will be waiting a great deal.

Motion

One curve — cubic-bezier(.165,.84,.44,1) — and four durations. Nothing in this program bounces, springs, snaps or pops, and nothing signals urgency through speed.

Answer140msA press, a hover, a chip lighting — anything acknowledging a finger
Reader's pace400msThe system default. Panels, hairlines, the particulars opening.
Change of place700msDoor to door, the Hush arriving or leaving. Fade only, never slide.
Breath12sThe sunburst. The Ledger's working pip, at 3.2s.

prefers-reduced-motion removes the sunburst's animation and the Ledger's pip entirely, and collapses all four durations to 0ms except the 700ms fade, which becomes 120ms. It never removes the fade outright: an instant cut between two dark surfaces reads as a flicker, which is worse than the motion it replaced.

A woman standing in cream separates beside bright planting

Part II

The Window

One surface, four zones

The Reel is one window. Not a workspace with dockable panels, not a document model with several open at once, not a browser with tabs. One window, and everything in the program happens inside it. This is a constraint accepted deliberately, because the alternative — a layout the user arranges — means the program has no opinion about where anything belongs, and a program with no opinion cannot make the next action obvious.

Anatomy — four zones

Top to bottom, always in this order, and no zone ever moves.

Zone one

The head

44px. The door you are in, named once in Manrope. Nothing else — no toolbar, no menu bar of its own, no search. Draggable.

Zone two

The surface

Everything that flexes. The doors, the sentence, the particulars, the Spool, whatever the current door needs.

Zone three

The Strip

Collapsible. 96px open, 12px closed as a hairline you can grab. The clip being built.

Zone four

The Ledger

44px. Always visible. What the machine is doing, in one line, plus four figures. Never collapses.

Specimen 03 · The window, whole

1280 × 800 · midnight

Give it a pictureThe Reel
Door oneGive it a picture
Door twoGive it a voice
Door threeGive it the shards
Door fourOpen the Spool
01
02
03
04
Rendering shard four of nine, at native geometry. Queued5 Done tonight23 Elapsed1:42:08 Disc412 GB
The four zones in one frame. Note what is absent: no sidebar, no toolbar, no tab bar, no inspector, no timeline ruler, no menu of tools. Every capability in the program is reachable from this window in at most two gestures, and the window is showing you four of them at rest.

The Ledger

The Ledger is the program's honesty. It is a 44px band on Raised, always present, and it carries exactly two things: one sentence of serif saying what is happening in plain English, and four figures in Manrope. It is never louder than the work.

Specimen 04 · The Ledger, four states

Rendering shard four of nine, at native geometry.Queued5Done tonight23Elapsed1:42:08Disc412 GB
Nothing running. Five in the queue, waiting for you to say go.Queued5Done tonight23ElapsedDisc412 GB
All nine arrived. The seam pass found one joint worth a look.Queued0Done tonight32Elapsed2:18:44Disc408 GB
Shard six ran out of memory. It is back in the queue at lower geometry.Queued4Done tonight28Elapsed1:58:02Disc402 GB
Working · idle · finished · failed. The failure line is the important one: it states what happened, states what the program already did about it, and does not use red — clay #E2926E at 7px, which registers without alarming. It also does not ask permission to retry. It retried.

Three rules govern the Ledger absolutely, restated from the brief because they are the kind of rule that gets quietly broken in month four:

i
It never uses red. A slow render is not an emergency.
ii
It never shows a progress bar that is lying. If the remaining time is not known, it says so in words rather than drawing a bar that moves at an invented rate.
iii
It never blocks. Anything the Ledger reports can be ignored indefinitely without the program stopping.

Three widths

No breakpoints in the CSS sense. The sentence size is set from the viewport once, and everything follows from it. But three widths are worth naming because the arrangement genuinely changes at two of them.

WidthSentenceDoorsWhat changes
Narrow
1024–1279
17px2 × 2Strip starts collapsed. Ledger figures drop to two — queued and elapsed.
Working
1280–1919
19px4 × 1The reference layout. Everything specified above.
Wide
1920 +
22px4 × 1Doors cap at 420px each and centre; the Spool gains a fifth column. Nothing stretches to fill.

Below 1024 the program says so and declines, in one line of serif on the desk: The Reel wants a wider window than this. It will wait. It does not attempt a phone layout. A continuity instrument on a phone would be a lie about what the work requires.

A woman with both arms raised overhead in golden daylight

Part III

The Four Doors

Give it something · say what you want · watch it arrive

The rhythm never varies, and that invariance is the single most important design decision in the program. Four doors, four different pieces of machinery underneath, one shape of gesture on top. A person who learns door one has learned door three, and they learn it without being taught, which is the only kind of learning that survives a six-week gap between sessions.

The home surface

Four full-bleed plates, each with one line of serif over it and a Manrope kicker above that. No icons. No grid of tools, no dashboard, no recent-files list, no tips, no what's-new. The doors fill the surface zone entirely and the plate behind each is a still from your own Spool — the most recent output of that door, dimmed to brightness .62 so the type stays legible over it. A door you have never used shows a neutral plate.

Specimen 05 · Home, and the same surface hovered

Door oneGive it a picture
Door twoGive it a voiceLast · 4 shots to a breath
Door threeGive it the shards
Door fourOpen the Spool
Hover lifts the plate from .62 to .78 brightness over 400ms, draws a 1px gold inset, and reveals one line of Manrope naming what that door last produced. That line is the entire hover payload — no preview, no play-on-hover, no expanding card. The door is not selling itself to you.

The sentence

Behind every door, the second step. A serif field at 19px, on Surface, with no visible box — just the caret and, once typed, the words. The cursor falls into a serif in this system and always has; a sans input here would make the prompt feel like a form field, and a prompt is not data entry. It is the only place in the program where a person is writing rather than choosing.

Specimen 06 · The sentence, empty and answered

Say how it should move

RenderThe particularsWaiting for a picture

She turns toward the light, slowly, and the linen lifts once behind her. The room stays still.

RenderThe particularsTwo minutes forty, at this geometry
The placeholder is an instruction in the imperative, in muted, and it disappears on the first keystroke. Words the program recognises as motion verbs take a dashed gold underline as you type — not autocomplete, not correction; an acknowledgement that the thing you asked for is a thing it knows how to do. The estimate at the right is wall-clock, measured from your own last nine renders at this geometry, never a vendor figure.

Three rules for the field. It never validates — every string is a legal prompt and the program has no opinion about your English. It never clears — after a render the sentence stays, because the second attempt is a small edit of the first and retyping it is an insult. And Return renders; Shift-Return makes a line, because the reverse trains a person to fear the Return key.

The particulars

One hairline under the sentence, labelled the particulars. Closed it is a line of text. Opened — 400ms, height only, no slide — it is every parameter in the graph, each with its current value, its native default, and one plain-English sentence about what moving it does.

Specimen 07 · The particulars, opened

door one · wan 2.2 t2v-a14b

She turns toward the light, slowly, and the linen lifts once behind her.

RenderThe particularsTwo minutes forty
Resolution · native480 × 832
Frames · native81
Sampleruni_pc
Steps30
Cfg3.5
Shift5.0
Precisionbf16
Seed · family8842119 + n

Frames · native

How many frames the model makes in one pass. Eighty-one is what this model was trained on, and moving off it is the single most common cause of soft or smeared output. Longer clips come from more shards, not from more frames.

Every parameter in the graph, none hidden. Two are marked native in gold — the geometry the model was trained at — and those two carry the warning above rather than a tooltip: a sentence, in the body serif, at reading size. The expert loses nothing. The beginner is not assaulted. Editing a native value is allowed; it simply tells you what it will cost first.

Door one · a picture

The door that works first, and the one to build in phase one. Drop a still anywhere on the surface — the whole window is the target, with a 1px gold inset and nothing else as the drop affordance. No dashed rectangle, no cloud icon, no drag files here.

The image lands and the surface splits: the still on the left at its own aspect ratio, the sentence on the right. Under the still, four motion presets as words rather than a dropdown — a breath · a drift · a turn · a wind — each of which writes a starting sentence you then edit. This is the beginner's ramp and the expert's shortcut simultaneously, and it costs one row.

Door two · a voice

The door nobody else builds properly. Drop audio and the program listens before it renders. What comes back is not a waveform — a waveform is decoration here — but a schedule: a row of proposed shots with durations that land on real musical or breath boundaries.

Specimen 08 · The schedule, after listening

4:12 · 112 bpm · 8 shots

Four minutes twelve. A hundred and twelve to the minute, steady. Eight phrases, and the long one sits at two twenty.

Shot 1 · 0:0011.2s · still
Shot 2 · 0:1111.2s · slow
Shot 3 · 0:228.0s · rise
Shot 4 · 0:3017.6s · slow
Shot 5 · 0:4811.2s · turn
Shot 6 · 0:598.0s · rise
Shot 7 · 1:0714.4s · drift
Shot 8 · 1:229.6s · settle
The bars are phrase energy, not amplitude — eight phrases, the two gold ones being the boundaries the program is most confident about. Each shot carries a duration that lands on a real boundary and a motion-intensity target as a word. Every row is editable; the durations resnap to the nearest detected boundary rather than to a grid, and that distinction is the whole value of the door.

Door three · the shards

Point at a folder. The program reads every fragment in it — duration, dominant motion, colour signature, whether a face is present and whose — and proposes an order. It does not ask you to sort them. It sorts them, shows its reasoning in one line, and lets you disagree by dragging.

The proposal appears directly in the Strip, already assembled, with the seam scores already computed. This is the joinery door, and its whole argument is that you arrive at a first assembly without having done any assembly. What you then do is judge seams, which is the only part a person is better at than the machine.

A woman balanced on one leg with palms joined overhead

Part IV

The Instruments

Four things that make it worth using twice

A generator is worth using once. What makes a program worth returning to is whether it remembered what you did, and whether it lets you judge the result properly. These four instruments are the difference, and they are where most of the engineering attention should go once the first frame is correct.

The Spool

The program's memory. Every render is an entry, and an entry is not a file — it is the output, the input that produced it, the full parameter set, the seed, the model hash, the wall-clock duration, and a lineage pointer to whatever it was derived from. It presents as a film of stills rather than a table, because a table of renders is unreadable by the fortieth row and a film is scannable at four hundred.

Specimen 09 · The Spool

411 entries · 3 shown

3.4s
411 · door one
seed 8842119
480×832 · 81f
wan2.2 a9f4c1
took 2:38
from
3.4s
410 · door one
seed 8842118
480×832 · 81f
wan2.2 a9f4c1
took 2:41
from 404
11.2s
409 · door two
seed 8842117
480×832 · 81f
wan2.2 a9f4c1
took 7:52
from 398
Four hundred and eleven entries. Nothing running.Queued0Disc412 GB
Hover plays the entry in place, muted, looping, at whatever framerate it was made at. Beside it, in mono, the facts that would let you make it again — including the model hash, without which reproducibility is a claim rather than a property, and the lineage pointer, which is how you find the ancestor of a result you liked six weeks ago.

Two gestures matter and no others. Again re-runs the entry exactly — same seed, same everything — which is how you verify the machine is still the machine after a system update. Again, but opens the sentence and the particulars pre-filled from that entry, which is how ninety per cent of real work actually starts.

The Spool is never a file browser. It does not show you the filesystem, it does not have folders, and it does not let you rename anything. It is a record, and a record you can edit was never a record.

The Strip

The clip being built, at the bottom of the window. 96px open. This is the entire editing model and it is deliberately thin: order, trim, and the seam between two shards. Nothing else. No tracks, no layers, no keyframes, no transitions, no titles, no effects, no audio mixing beyond the one track the schedule came from.

Specimen 10 · The Strip, with seams scored

9 shards · 8 joints · 1 flagged

01
02
03
04
05
06
07
Seven shards, forty-one seconds. One joint at 03 wants a look.Joints6Clean5Length0:41
The joints between shards are 1px vertical rules, coloured by score — sage clean, gold marginal, clay bad. That is the whole indicator. No numbers on the Strip itself, no badges, no counts: the Strip is for looking at the clip, and a Strip covered in metrics is a spreadsheet with pictures in it. The numbers live one gesture away, in the Inspector.

The Seam Inspector

The instrument that separates a tool from a craft instrument. Click any joint and the Inspector opens inside the Hush — because judging a seam is exactly the task that requires the rest of the screen to stop existing.

Specimen 11 · The Inspector

composite score · 4 terms

01 → 020.14Clean. Nothing to do.
02 → 030.19Clean.
03 → 040.74The arm teleports. Flow disagrees across the joint.
04 → 050.41Slightly warmer after the cut. Colour transform will hold it.
05 → 060.11Clean.
Photometric0.08
Flow disagreement0.81
Identity distance0.12
Structural · bridge0.22
Regenerate shard 04 Lengthen the bridge Accept it Nothing is done until you say so
The composite score decomposes into four named terms, and the offending one is marked. This matters: a single number tells you a seam is bad, four numbers tell you why, and only the why suggests a fix. The three actions are the three things that actually help, and Accept it is a first-class option — some bad seams are correct, and a program that cannot be told so is nagging.

The Hush

The signature state, inherited from the design system and non-negotiable. When something wants full attention, the rest of the surface takes blur(4–12px) and an ink veil at 15–25% — never pure black, never fully occluded, and tap-outside always returns.

Specimen 12 · The Hush

Door oneGive it a picture
Door twoGive it a voice
Door threeGive it the shards
Door fourOpen the Spool
Rendering shard four of nine.Queued5
The joint at 03 Does the arm carry through, or does it teleport? It carriesIt teleports
Everything else goes quiet. Not dark, not gone — quiet, and one gesture away. The Hush is where you evaluate, and it exists because judging your own work requires a state of attention the rest of the interface actively prevents. Escape returns. Clicking the veil returns. Nothing in the Hush is modal in the blocking sense: the render behind it continues.

Queue and hold

Long renders are the normal case, so the program is built around absence rather than attendance. You queue as much as you like, in any mix of doors, and close the laptop.

The engine runs under a persistent agent and survives the window being shut, the app being quit, and — with the power adapter attached — the lid being closed. When you come back, the Ledger tells you what happened while you were gone in one sentence, and the Spool has the entries. There is no notification, no badge, no sound, and no welcome back.

And one deliberate omission that took discipline: there is no percentage on the render itself. A percentage invites you to watch, watching is worthless, and worthless watching is how an evening disappears. The Ledger says which shard of how many, and that is the correct granularity — it tells you whether to make tea or go to bed.

A woman walking in profile through warm side light

Part V

States, Keys, Sound

The parts nobody specifies, and everybody then invents badly

A program is mostly its edge states. The happy path gets designed carefully because it is the one in the mockup; the eleven other conditions get invented at two in the morning by whoever hits them first, and that is why most software feels coherent for ten seconds and improvised thereafter. So the states are enumerated here, all of them, with their exact copy.

The eleven states

Every surface in the program is in exactly one of these. The copy is literal — write it as printed, because the tone is the product as much as the layout is.

StateWhat the Ledger saysPip
First runNothing here yet. Drop a picture on the window and see what happens.Dim
Idle, emptyNothing running, nothing queued.Dim
Idle, queuedNothing running. Five in the queue, waiting for you to say go.Dim
ListeningListening to four minutes twelve. About twenty seconds.Gold, breathing
RenderingRendering shard four of nine, at native geometry.Gold, breathing
AssemblingBridging the joints. Nine shards, eight seams.Gold, breathing
ScoringReading the seams.Gold, breathing
Arrived, cleanAll nine arrived. Every joint clean.Sage
Arrived, flaggedAll nine arrived. The seam pass found one joint worth a look.Sage
RecoveredShard six ran out of memory. It is back in the queue at lower geometry.Clay
StoppedThe engine is not answering. Nothing has been lost; the queue is intact.Clay

Four properties hold across all eleven. Every line is one sentence. Every line is in the past or present tense, never the future — the program does not promise. No line contains a number the program is guessing at. And no line asks a question, because the Ledger is a report, not a dialogue; questions live in the Hush where they can be answered properly.

The keyboard map

Complete, and deliberately short. A person who never touches the trackpad can do everything except drag a shard.

KeyDoesNote
1 2 3 4The four doorsFrom anywhere, including mid-sentence if the field is empty
ReturnRenderOnly when the sentence has focus and an input exists
⇧ ReturnNew line in the sentenceNever renders
SpacePlay or pause whatever is liftedNever renders. Never scrolls.
EscLeave the HushNever cancels a render
⌘ ReturnQueue it and stayThe one for a long night
⌘ ⇧ AAgain — re-run the selected entry exactlySame seed, same everything
⌘ ⇧ BAgain, but — pre-fill from the entryHow most work starts
⌥ ↑ ↓Move the selected shard in the StripRe-scores the two affected joints
⌘ .Stop the current renderAsks once, in the Hush. The queue survives.

Nothing is bound to a bare letter except the four door numbers, because a bare letter fires while you are typing and the sentence field is the most important field in the program.

What it sounds like

Almost nothing, and the almost is load-bearing. The program makes two sounds in total, both off by default, both settable to silent permanently in one place.

Sound one

Arrival

A single soft tone when a queue empties. Not per render — per queue. 220 Hz, 400ms, −24 dB, no attack transient.

Sound two

Stopped

The same tone, a fifth below, when the engine stops answering. The only sound that plays when off-by-default is honoured, because losing an evening silently is worse.

No click on press. No whoosh on transition. No sound when a render starts, when a shard finishes, when a seam scores badly, or when a file drops. The reason is specific: this program runs for hours beside a person who is often listening to the audio they are cutting to, and any interface sound is a contamination of that.

Reach and legibility

The dark register makes contrast a real risk rather than a checkbox, so the numbers are fixed here. Ink on Surface is 13.9:1. Text on Surface is 11.2:1. Muted on Surface is 4.8:1, which clears AA for its size and is the floor — nothing in the program is dimmer than Muted, including placeholder text, which is Muted rather than something fainter.

Signal gold on Surface is 8.1:1, and gold is never used for body text regardless — it marks and it labels. The one place gold carries a lot of characters is the native-geometry values in the particulars, at 11px mono, which measures 8.1:1 and is a deliberate exception because those two numbers need to be the most findable text on that panel.

Every hit target is 32px minimum on the pointer, which is the desktop figure rather than the 44px touch figure, since the program declines below 1024px and there is no touch surface. The seam joints in the Strip are the exception and get special handling: they are 1px rules with a 12px invisible hit column, because a 1px click target would be a cruelty and widening the rule to 12px would make the Strip look like a fence.

Focus is a 1px gold ring at 2px offset, on everything, always visible, never removed for aesthetics. Tab order follows the four zones top to bottom, and within the surface follows reading order. The Hush traps focus while open — the one place in the program where focus is trapped, and it is correct there because the Hush exists precisely to exclude everything else.

A woman balanced with palms joined overhead in a warm interior

Part VI

The Inventory

Thirty-one components, and the things that will never be built

A component inventory is a promise about scope. Thirty-one is the whole program — if a thirty-second is needed, something in the design was wrong rather than incomplete, and the correct response is to find which of the thirty-one should have covered it. Every measurement below is in the token scale from Part I, so a change to the sentence size moves all of them together.

Every component, measured

ComponentSizeWhere
Head band44px · RaisedZone one, always
Door plate4:5, cap 420pxHome, four across
Door kicker5.6pt Manrope · .26emOn the plate
Door line11pt serifOn the plate
Drop targetWhole window · 1px gold insetDoors one and two
The sentence19px serif · no boxBehind every door
Motion verb mark1px dashed gold underlineIn the sentence
Render buttonPill · .75em 1.5em · goldUnder the sentence
Particulars hairline7pt Manrope + 5px chevronUnder the sentence
Particulars panelAuto-fit 8.2em cells · RaisedOpens to 400ms
Parameter cell6.2pt label / 9pt mono valueIn the panel
Native badgeValue in goldGeometry parameters only
Parameter sentence14px serif · max 44emBelow the panel, on select
Motion presetFour words in a rowDoor one, under the still
Phrase bars34px tall · 2px gapDoor two, after listening
Schedule rowAuto-fit 6.4em cellsDoor two
Spool entry16:9 frame + 6.4pt mono factsDoor four; 4 or 5 columns
Entry duration6pt mono on 72% inkFrame, bottom right
Again / Again butTwo pillsOn a selected entry
Strip band96px open · 12px closedZone three
Shard cell16:9 · 1px gap · RaisedIn the Strip
Shard number6pt mono, top leftOn the shard
Seam rule1px · 12px hit columnBetween shards
Inspector row.72em pad · 2px score barInside the Hush
Score bar2px · sage / gold / clayInspector
Term cellFour, auto-fit 7.6emInspector
Action pill rowThree · one filledInspector foot
The Hush veilblur 4–12px · ink 15–25%Over everything
The Hush panelInset 12% 14% · Lifted · 1px goldOne at a time only
Ledger band44px · Raised · never collapsesZone four
Ledger pip7px · gold / sage / clayLedger, leftmost

The refusals

The design is defined as much by these as by anything above, so they are enumerated rather than left to taste. Each is a decision that will be argued against during the build, and each argument has the same correct answer, which is no.

No node graphNot hidden behind a tab, not in an advanced mode. The graph is a compiler target, not a user surface. If a capability can only be reached by wiring nodes, the capability is not shipped.
No dashboardNo home screen of metrics, charts, usage, or streaks. The home surface is four doors. A person opening this program wants to make something, not to be told about themselves.
No progress percentageOn the render itself. Shard n of m is the correct granularity; a percentage invites watching, and watching is worthless.
No redAnywhere, for any reason, including errors. Clay #E2926E is the failure colour and it is warm.
No badges or countsNo unread dots, no queue badge on a door, no notification centre. The Ledger carries every figure the program has.
No modal blockingThe Hush is the only overlay and it never stops a render. Nothing in this program prevents you from leaving it.
No onboardingNo tour, no tooltips-on-first-run, no coach marks, no sample project. The first run is a real run with one line of copy on the desk.
No what's newEver. A changelog lives on a page you can go and read.
No accountThe program is local. There is nothing to log into, nothing to sync, and no telemetry — not opt-out telemetry, none.
No timeline rulerThe Strip is shards and seams. A frame-accurate timeline is a different program and pretending otherwise produces a bad version of both.
No effects or transitionsThe seam bridge is the only thing between two shards. A cross-dissolve here is a way of hiding a continuity failure rather than fixing one.
No file browserThe Spool is a record. It does not show folders, it does not rename, and it does not delete without the Hush asking once.

The eighteen-point test

Run against any build before the interface is called finished. Any single failure is a blocker — not a note, not a follow-up.

  1. Does the whole program resolve through the eight tokens, with no literal colour anywhere in the stylesheet?
  2. Do both registers render every surface correctly, including the three Inspector judgement colours?
  3. Is there any red, at any opacity, in any state?
  4. Does the cursor fall into a serif when a person types a prompt?
  5. Does the sentence survive a render — same text, still there, cursor where it was?
  6. Does Return render and ⇧ Return make a line, never the reverse?
  7. Are all four zones present, in order, at every width above 1024px?
  8. Below 1024px, does the program decline in one line rather than attempting a layout?
  9. Does the Ledger state every one of the eleven conditions in one sentence, in the specified tense?
  10. Is there a percentage on any render anywhere?
  11. Does the Hush blur rather than black, and does tap-outside always return?
  12. Is exactly one thing Lifted at a time?
  13. Does a Spool entry carry seed, model hash, duration and lineage — all four?
  14. Does Again reproduce a six-week-old render byte-for-byte after a system update?
  15. Does every seam score decompose into its four named terms?
  16. Is Accept it available on every flagged seam?
  17. Does the queue survive quitting the app and closing the lid?
  18. With prefers-reduced-motion, is the sunburst still and the 700ms fade reduced to 120ms rather than removed?

Eighteen questions, all answerable in an afternoon, and a program that answers yes to all of them is the program this document describes. A program that answers yes to fifteen is a different program that resembles it, and the three it failed will be the three a person notices on the second night.

A woman with one arm curved overhead in a warm minimal room
The Reel · The Interface Specification · Haute Lumière Édition Nº 11 · set from one system

Haute Lumière · Édition Nº 11 · MMXXVI
Set in Cormorant Garamond & Manrope · Midnight
Companion to Édition Nº 10 · The Build Brief
Luminous Prosperity Inc.

Continue