METRONOME · DESIGN LAB · 2026-08-19 → 09-20 · 1.1+ ARC · ROUND 4

Seven Labs,
One Engine

Laurence asked for four things on 2026-08-19: a brighter, genuinely professional colour scheme; a metronome that is glanceable in ordinary use; a better Song Map; and drum rudiments with custom entry. On 2026-08-22 he ruled on all four and added a fifth want and a new feature — non-amber accent families on the bright field he picked, and a metronome that plays the rudiments out loud to teach them. On 2026-08-30 he picked D1 and made the architecture law: the classic beat-dot face is the default forever, and everything else is an alternate face of one engine. On 2026-09-20 he adopted the corrected harmony brief — the Song Map plate learns the chord, surface name CHANGES. Each want has a lab: a live HTML page at 1 CSS px = 1 iOS pt, painted from Theme.swift literals, with every claim either a computed number or a file:line citation. Nothing here touches the frozen 1.0 scope. This week's submission ships as-is; this is what comes after it.

WANT A · RULED 08-22
"A different colour scheme — a little brighter and really professional looking." Ruled: the bright Studio field.
→ 01 PALETTE LAB  ·  → 05 ACCENT LAB
WANT B · RULED 08-22
"Easily glanceable to understand what's going on" in basic usage. Ruled: fuse BEACON with COCKPIT.
→ 02 GLANCE LAB
WANT C · RULED 08-22
A better Song Map display. Ruled: the evolved variant, fit-to-width.
→ 03 SONG MAP LAB
WANT D · GREW 08-22
Rudiment display + custom rudiments — and now rudiment PLAYBACK: the metronome teaches them by ear, WATCH → LISTEN → ECHO → ALONG.
→ 04 RUDIMENT LAB  ·  MAKES SOUND
WANT E · NEW 08-22
"Experiments with non-amber accent families — brighter, more premium, not AI-generated ember."
→ 05 ACCENT LAB
LAW · RATIFIED 08-30
D1 wins. And the principle above it: "the classic clean beat-dot metronome stays THE DEFAULT FACE forever; everything else is an alternate FACE of the same engine."
→ 06 FACE LAB
WANT F · ADOPTED 09-20
The ii–V–I "presented better": the plate shows the chord, the next chord, the key centre and the cycle — D1–D10 of the corrected brief, as written. No chord audio in v1.
→ 07 HARMONY LAB  ·  CHANGES

01

PALETTE LAB

WANT A · D1

"Brighter" is not a hue question. The real one is how bright a field can get before the ember system breaks — and the answer is a computed ceiling: #F0A040 hits 2.14:1 on white, so it can never be the armed colour above field L 0.1135. Above that line armed burns instead of glowing. Three palettes are drawn to that number, and the shipping light scheme turns out to be inverted today — its armed beat is 28% quieter than an idle one.

VERIFIED IN BROWSER 08-22 · FIELD = STUDIO BLOCKER FIXED · BAR READOUT FIXED · BRIGHT-FIELD BLOOM SHIPPING BUG FOUND · S = 0.72 ACCENT FAMILY → SEE 05
LIVE · 26%
OPEN LAB  → palette-lab.html
notes: D1-palette-notes.md
02

GLANCE LAB v2

WANT B · D2

The shipping screen is a tempo display that also makes noise. It reads BPM well at 1 m and tells you it is running — and it never tells you where you are. The beat dot is a fixed 100 ms flash, so at 120 BPM a glance lands on a row showing nothing 80% of the time. Make "played" an accumulated area instead of a transient and position reads at 100% duty. v2 leads with D1 and D2 — the RADIAL COCKPIT: Beacon's ring carrying Cockpit's readouts in one bezel, plus the thing neither parent had — which note is sounding. Panels 0/A/B/C stay as the comparison baseline, not as candidates.

VERIFIED IN BROWSER 08-22 · BEACON × COCKPIT → RADIAL COCKPIT A · BEACON SURVIVES AS STAGE MODE FIXED 08-26 · LIT DEMOTED FROM CHROME ×7 FIX IS NET −CODE 08-30 · D1 DIAL-LED WINS → SEE 06
LIVE · 26% · PRESS FOCUS → D1
OPEN LAB  → glance-lab.html
notes: D2-glance-audit.md
03

SONG MAP LAB v2

WANT C · D3

Today the pill track asks opacity to answer "where am I", with 1.33:1 of headroom to say it — while a spent verse can render 2.04× brighter than the bar you are playing. Split the question by viewing distance instead: a NOW plate that names the section and counts bars-of-section, an approach gutter that warns two bars out, and a form ribbon that fits the whole tune to width and never scrolls. The owner approved the evolved variant, so v2 leads with it and demotes the shipped pill track to a live reference strip — and it found a real bug doing so: the ASH spent-token measures 1.41:1 on Midnight, under the 1.53 visibility floor, so ASH became per-palette.

VERIFIED IN BROWSER 08-22 · EVOLVED VARIANT APPROVED RULED · FIT-TO-WIDTH, NOT A SCROLLER DEFERRED TO 1.2 · 23 SECTIONS → 5 ROLES FIXED 08-26 · DRIFT-FREE DEADLINE CLOCK ASH ON MIDNIGHT WAS 1.41:1 · NOW PER-PALETTE
LIVE · 26%
OPEN LAB  → songmap-lab.html
notes: D3-songmap-notes.md
04

RUDIMENT LAB v2 · TEACH MODE

WANT D · D4 + R5/R6

This one makes sound. Put headphones on. The metronome now plays the rudiment: distinct voices for accent / tap / ghost at a sourced 1 : 0.44 : 0.22, sticking as stereo pan (right hand → right ear) with pitch leading and pan following, and flams and drags scheduled genuinely early against a Web-Audio lookahead scheduler — the house pattern; the v1 chained setTimeout is deleted. Four rungs: WATCH → LISTEN → ECHO → ALONG, where ECHO plays you a bar and scores the bar you answer with. The v1 idea still carries the picture: the tick lane grows a rail, right hand above it, left below, colour-blind safe by construction.

VERIFIED IN BROWSER ♪ AUDIBLE · TAP TO ARM · USE HEADPHONES 08-22 · ACCENT = AMBER, LIT STAYS = NOW FIXED 08-26 · ECHO NOW SCORES ANTICIPATION PDF: TIER 3 OMR NOT ON ROADMAP GRACE: 20 / 24 / 28 / 32 / 36 ms — BY EAR
LIVE · 26% · ♪ TAP TO ARM
OPEN LAB  → rudiment-lab.html
notes: D4-rudiment-notes.md · R5 · R6
05

ACCENT LAB

WANT E · R4

Six non-amber families on the field he picked — seven identical PERFORMANCE screens generated from one template string, so the only difference between any two phones on the page is the accent triple. Two findings do most of the work. The bright field kills the glow: five of seven halos composite to 1.79–2.36:1, i.e. decoration by measurement — so Studio forces the exact discipline that separates designed from generated. And the matrix has holes: Oxblood, Indigo and Signal Red cannot legally glow on a dark field at all, so picking one is a decision about the theme menu, not about a hex.

VERIFIED IN BROWSER 08-22 · STUDIO FIELD + NON-AMBER ACCENT RECOMMENDS · INSTRUMENT CYAN or OXBLOOD 3 FAMILIES ARE STUDIO-ONLY PINE / SIGNAL RED COLLIDE WITH SUCCESS / DESTRUCTIVE OWNER PICKS THE FAMILY
LIVE · 26% · SEVEN FAMILIES
OPEN LAB  → accent-lab.html
notes: R4-accent-trends.md · D1
06

FACE LAB

RATIFIED 08-30 · D1

"The classic clean beat-dot metronome stays THE DEFAULT FACE forever; everything else is an alternate FACE of the same engine." The owner's principle, made law — the watch-face model. So this lab is not three mockups side by side; that would prove the opposite. It is one stage, one clock, one truth and a switcher: change the face mid-bar and the bar keeps going, with counters underneath so you can check that rather than take our word for it — including a BAD FACE control that deliberately breaks the clock, so you can see the needle move before you trust the zero. D1 arrives here as a complete, operable face: the same 318 pt ring and 240 pt pip ring, plus the three things a display is not — a transport, a Song Map that coexists, and the session pill. And the reason all of this exists is one measured number: CLASSIC's Bebas 72 numeral is 27.0′ at 1 m and 13.5′ at 2 m, under R1's 14′ floor. It is not wrong; it is a 1 m instrument. STAGE clears 24.7′ at 2 m — the same metronome answering a different room.

VERIFIED IN BROWSER 08-30 · RATIFIED · D1 DIAL-LED LAW · CLASSIC IS THE DEFAULT, FOREVER 5 BLOCKERS FIXED 08-30 · ALL RE-MEASURED SHIPPING GAP · PILL CANNOT SAY RECONNECTING DERIVED CYAN LOSES 36% OF THE AREA CODE ONE PILL OR TWO · WHERE THE SWITCHER LIVES
LIVE · 26% · SILENT · TAP A FACE CARD
OPEN LAB  → face-lab.html
notes: SYNTHESIS.md § V3 · R1 §7
07

HARMONY LAB CHANGES

ADOPTED 09-20 · D1–D10

Today the plate cannot say which chord: the ii–V–I preset reads BRIDGE 1/1 → PRE-CHORUS 1/1 → CHORUS 1/1 and the circle drill collapses to one VERSE block. This lab puts the chord in the name slot at Bebas 46, the coming chord in the approach gutter warming through the last bar, the key centre small and steady in the caption, and twelve key pills in the ribbon — same 106 pt, same three bands, different content. Every symbol is generated from a spelled key and a scale degree (G♭ by 4ths, F♯ by 5ths is a table row), all 12 keys both ways are printed as the proof, and a guest phone reads the same bar in a horn’s written key. No chord audio in v1. Two measured findings for the port: neither bundled face has ♭/♯, and Bebas has one glyph for i and I (and for m and M) — so numerals must be Overpass Mono, and minor prints as −7, not m7.

VERIFIED IN BROWSER 09-20 · D1–D10 ADOPTED AS WRITTEN D3 · 3-BAR CELL RETIRED · 4-BAR DEFAULT D9 · SURFACE SAYS CHANGES FOUND · BEBAS i = I, m = M → MONO NUMERALS, −7 NO CHORD AUDIO IN V1 · DRONE IS 1.2 D11 · CHART vs IN-KEY SPELLING
LIVE · 26% · PRESS PLAY · CLICK OPTIONAL
OPEN LAB  → harmony-lab.html
notes: harmony-2026-09-20/HARMONY-LAB-BRIEF.md · BRIEF-VERIFICATION.md
08

ROOM CODE LAB REMOTE

NEEDS A RULING · 09-22

Remote sessions ship in 1.0, and they need one thing this app has never drawn: the four-letter code that gets a bandmate in another city into your room. Every other surface in the arc already exists — this is the only new plate, so it is the only thing here asking for your taste. Three sizes (Bebas 96 / 120 / 144), SHARE beside the code or beneath it, and one variant in Overpass Mono, because a room code is arguably data rather than a title. The law it already obeys: the code is --amber, never LIT — #F0A040 is the once-per-bar downbeat colour and a code sits idle for a whole rehearsal. Also on the page, not for ruling: what Josh sees, including the RTT 84 · DRIFT 1.3 MS · 0 REALIGNS line that lets a session across the ocean be judged in numbers. And a letter audit — I/O/S are already cut so nobody types 1/0/5, but Bebas is condensed, so tell me if M/N or U/V read alike to you at a glance and I will cut them; even 19 letters leaves 130,321 codes.

RELAY IS LIVE · sync.lgrwebstudios.com ASK · SIZE · SHARE PLACEMENT · TYPEFACE ASK · CUT ANY CONFUSABLE LETTERS? LAW · CODE IS --amber, NEVER LIT HOST RESUME USES A TOKEN, NOT A NAME · §3.6
LIVE · 26% · CLICK TO OPEN
OPEN LAB  → room-code-lab.html
spec: 2026-09-21-remote-sessions-design.md §7.2
09

FOCUS LAB V2

V1 RULED · V2 ASKS · 09-23

Your idea from 09-23: one tap strips the Metronome screen down to just the beat dots, as big as the screen allows, evenly spaced, with the BPM as a shadow behind them — and it rotates. Open it on your phone and turn the phone sideways: the dots re-flow to fill whichever way it's held, and meters keep their groups (7/8 stays 2+2+3, 12/8 stays four threes). The page prints the measured dot size against today's largest dot (64 pt). Nothing here is new styling — the colours, the lit / played / idle states, the 7.5 % ghost BPM and the click itself are the app's own. The one law it keeps: #F0A040 lights once per bar, on the downbeat. Tap the dots for meter, tempo, subdivision ring, ghost strength, palette and SOUND.

RULED · THE ONE SCREEN THAT ROTATES RULED · GHOST 7.5 % · A SETTINGS SLIDER V2 ASK · BAR NUMBER · CORNER / TAPE / OFF V2 ASK · SUBDIVISIONS · RING / PIPS / RIPPLE V2 ASK · TAP → STOP + EXIT, FADE LAW · DOWNBEAT IS THE ONLY LIT
LIVE · 26% · CLICK TO OPEN
OPEN LAB  → focus-lab.html
idea: Laurence, 2026-09-23 · no spec yet

HOW TO SPEND TEN MINUTES HERE · ON YOUR PHONE

1. Headphones on. Open 04 RUDIMENT LAB and hit STRIKE TO ARM — iOS will not make a sound without that one deliberate tap. Then TEACH. Right hand goes to your right ear. Climb the ladder to ECHO and answer a bar. That is the new feature, and it is the only thing here you can judge by ear tonight.

2. Open 05 ACCENT LAB and scroll the seven phones. They are generated from one template, so the only difference between any two is the accent. Pick the one you would screen-print on a faceplate.

3. New, and it is the one to spend time on: 06 FACE LAB. It is silent — no headphones, no tap-to-arm. Tap the three face cards while the bar is running and watch the counters under the stage: the bar does not reset, because there is one clock and the faces are only ways of drawing it. Then set BAD FACE · RE-ARMS and tap again — the counter goes red and the bar snaps to 1, which is what a badly built face would do. Turn the Song Map on to see what the radial face costs to make room for it, and set the session pill to RECONNECT and switch to CLASSIC: today's pill cannot say it.

4. Still curious: 02 GLANCE LAB is now the comparison baseline behind 06 — press FOCUS → D1 to see the panel D1 came from. 03 SONG MAP runs itself — watch the plate and the gutter, not the ribbon. 01 PALETTE LAB → GREYSCALE TEST is the luminance check behind everything above.

THE ONE-GLOW LAW, RESTATED

LIT #F0A040 means NOW — not "important", not "selected", not "primary". Shipping practice is already this narrow: dotLitAcc appears only on lit beats (LEDBeatRow.swift:294,341) and the running transport (TransportControls.swift:88,115-132).

On a bright field the sacred hex physically cannot carry the armed state, so it inverts to a burn core and #F0A040 becomes the mandatory bloom — on every lit dot, accent and normal, never a halo derived from the core. One additive armedBloom token makes that rule true in code rather than in prose.

The law is audited, not assumed. On 2026-08-26 the glance lab was found using LIT in seven chrome roles its own header comment forbade — slider thumbs, warn flags, the verdict strip, the LEAD badge. All seven demoted. Where something must read as chosen rather than alive — the LEAD panels there, the AUDIBLE chip on card 04 here — it reads by luminance weight: cream #EAD8B0 at 13.91:1, brighter than the armed hex and not one pixel of it armed.

And on 2026-08-30 it caught the worst one yet — on the DEFAULT face. face-lab's CLASSIC fired the sacred hex on every sounding beat's numeral, four times a bar, while the dot beside it was correctly two-tier. It also disagreed with the shipping function it claimed to reproduce (LEDBeatRow.swift:338-347 is itself two-tier). Fixed, and the lab's census is now walked out of the live CSSOM — 13 declarations across 11 elements, with the console snippet to re-run it printed in the file, because a census that counts grep lines misses two elements that spend the token twice on one line.

WHAT THESE LABS CANNOT TELL YOU

Nothing here has been seen on glass. Every number converts a standard into a point size or computes a contrast ratio. None of it has met a real phone on a real stand under real practice-room light.

Two specific unknowns that need a device before anything locks: whether a burn-armed dot feels alive in peripheral vision the way a glowing one does, and whether Overpass Mono 600/700 can be used at all — the app bundles only Light and Regular (Info.plist:6-10), so every semibold in these mockups flattens to 400 on device.

One exception, and it is the important one. Card 04 now makes real sound on a real phone, so the voices — accent/tap/ghost separation, the pitch-plus-pan hand cue, the flam grace offset — are judgeable tonight. The sizes on that page still are not, and the ECHO millisecond figures are Safari's touch→audio path, not CoreAudio's. Judge the feel; do not bank the numbers.