Skip to content

docs(website): re-shoot the stale stills on the 0.67+ UI - #829

Open
edspencer wants to merge 5 commits into
mainfrom
docs/media-captures
Open

docs(website): re-shoot the stale stills on the 0.67+ UI#829
edspencer wants to merge 5 commits into
mainfrom
docs/media-captures

Conversation

@edspencer

@edspencer edspencer commented Aug 10, 2026

Copy link
Copy Markdown
Owner

Every UI-bearing image on the site was pre-redesign — including the seven committed by the previous pass, which merged 41 minutes before the first design commit. Age was never the criterion; what landed after them was.

What changed

12 stills, all shot against a rig rebuilt at main:

  • Re-shoots (current-behaviour pages): root-home, project-settings, adopt-row, adopt-modal, adopted-badge, promote-to-project, trigger-tool-picker-bash.
  • Net-new for the 0.67 entry: appearance-panel plus the four-theme quartet. These are not re-shoots — 0.67 has no What's New entry at all, so there is no historical record to protect.

Theme: Foundation dark at the out-of-box default (DEFAULT_APPEARANCE = { foundation, hue: null, tint: 0 }; paddock:theme defaults to dark), because that is what a reader sees on first boot. The quartet is the deliberate exception — there the choice itself is the subject.

Archive stills under whats-new/ are untouched on purpose: a What's New entry records what shipped on a date, so replacing its frame would falsify it.

How I know these are not the old UI again

The single biggest risk here was re-shooting against a stale build — it fails silently, because the rig comes up, the seed passes, the leak scan passes and every shot succeeds. Guarded three ways:

  1. The rig serves a checkout rebuilt at b2503ec, not the one that predated the redesign.
  2. Verified from inside the browser: /config renders the Appearance section with four theme cards, which cannot exist before 75c3935.
  3. Every frame carries provenance (theme, solved --accent, app version) in tools/docs-media/shots.manifest.json. The quartet records four distinct accent triples, which is what proves the themes really applied rather than four labels being written over one appearance.

Verification

  • cd website && npm install && npm run build → exit 0, 52 pages.
  • md5sum | uniq -D -w32 across every committed still → no duplicates. (Two unframed shots of one URL at one viewport land byte-identical; that has produced a phantom capture before.)
  • Leak check: DOM scan per shot (assertClean throws rather than writing), and I looked at the frames. 127.0.0.1 count is 46, matching the baseline exactly — and the pattern was positive-controlled, so the clean result is real rather than a broken regex.
  • Content is wholly synthetic: invented projects, invented chat titles, /home/demo paths, stock branding.

Findings, not fixed here

  • getting-started.md shows the wrong screen. The prose is about Discover ("Each row is one directory… press Import") but the image is Home. The image needs to become a Discover shot; that is a prose decision, so I only corrected the alt text, which claimed four unread against a frame showing nine.
  • Discover is not illustrated anywhere — the rig has no discoverable Claude Code history, so the route renders its empty state. Needs seeding.
  • The UI says both "Import" and "Adopt" for adjacent operations. Not staged around; the frames show what the UI says.

Docs-only: no changeset, no version bump.


Interaction with #835 (fix/prose-code-quote-tokens) — checked, no re-shoot needed

#835 changes how inline code and blockquotes paint in chat prose, across index.css and all four theme files. I checked whether that would re-stale anything here.

No frame in this PR renders inline code or a blockquote as a subject. Verified per frame, using the route recorded in each sidecar to find the candidates rather than guessing:

Frame Route Shows message bodies?
adopt-row, adopted-badge /projects/tidepool/chat No — chat pane is the empty state ("Start the conversation…"); list shows truncated titles only
adopt-modal /projects/tidepool/chat No — dialog of chat titles
promote-to-project /chat Only as a dimmed, illegible backdrop behind the modal scrim; not a subject
root-home / No — unread list is titles only
project-settings, trigger-tool-picker-bash settings / triggers No — forms

So #835 can land before or after this PR without invalidating a frame.

Where the real exposure is, for whoever merges #835: the frames that do show rendered transcript prose are using/sent-attachments.png and using/chat-streaming-queued.png, plus several under whats-new/. None of those are in this PR — they were not re-shot in this pass. That is where to look if #835 lands.

Three of the rig's fixture replies do contain the affected constructs (two with inline code, one with a blockquote), so a future transcript shot against this rig will exercise #835's change — which is why the check above is per-frame rather than per-fixture.

HomeLab Agent added 3 commits August 10, 2026 14:09
Every UI-bearing image on the site predated the redesign, including the seven
committed by the previous pass — those were merged 41 minutes before the first
design commit, so age was never the criterion; what landed 41 minutes after them
was.

Foundation dark at the out-of-box default (DEFAULT_APPEARANCE = foundation, hue
null, tint 0, and paddock:theme defaults to dark) — what a reader sees on first
boot. The theme quartet is the deliberate exception: there the choice itself is
the subject, so all four appear.

Shot against a rig rebuilt at main and verified post-redesign from inside the
browser: the Appearance section with four theme cards cannot exist on any build
before 75c3935. Per-frame provenance (theme, accent, app version) is recorded in
tools/docs-media/shots.manifest.json.
An asset and the reference to it belong in the same PR. These five illustrate
the 0.67 entry, which lives in whats-new.mdx on docs/whats-new-v069 (#815) —
merged from here they would be assets referenced by nothing, and referenced from
there they would be a 404 the Astro build does not reliably catch.

Files stay on disk for #815 to pull across.
The alt text said four chats are unread; the frame shows nine. Alt text is the
only description a screen-reader user gets, so a stale one is not cosmetic.
edspencer pushed a commit that referenced this pull request Aug 10, 2026
The stills were pushed onto this branch by a concurrent worker. This PR is the
rig and the tooling, which is code-shaped and independently reviewable; the
frames it produces are a separate review with separate criteria.
An asset and the reference to it belong in one PR. These five illustrate the
0.67 entry in whats-new.mdx, which lives on #815 — merged from here they are
assets referenced by nothing; referenced from there without being there they are
a 404 the Astro build does not reliably catch.

They remain committed on docs/media-v069 for #815 to take across. NB an earlier
attempt used `git rm --cached`, which left them in the working tree where the
next blanket `git add -A` silently re-staged them.
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 10, 2026

Copy link
Copy Markdown

Deploying paddock with  Cloudflare Pages  Cloudflare Pages

Latest commit: 399d7ac
Status: ✅  Deploy successful!
Preview URL: https://37d9fbb6.paddock-7u2.pages.dev
Branch Preview URL: https://docs-media-captures.paddock-7u2.pages.dev

View logs

…ated row

Two unread rows both read "Compare the two survey methods" — genuinely two
chats in two workspaces, but in a published frame it reads as the list
rendering a duplicate, in the one image that introduces Home to a new reader.
The root chat is now "Pick a survey method for the tide pools".

The unread arithmetic is unchanged and still reconciles: UNREAD 9 = 9 rows =
badges (Home 2 + Lanternfish 2 + Tidepool 4 + Harbour Notes 1), with root
CHATS 2 matching the two untagged rows.
edspencer pushed a commit that referenced this pull request Aug 10, 2026
docs-discover.png was captured and deliberately not committed: the rig has no
discoverable Claude Code history, so the route renders its empty state. A
manifest entry for a frame that exists in no PR invites someone to go looking
for it.

The twelve remaining entries all ship — seven in #829 and five in #815. Those
five are NOT pruned despite having moved out of #829: they still ship, and the
manifest is the only record of which theme and solved accent each was shot at,
which is exactly what a reviewer of #815 needs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant