Public: anyone can read this; the crew can change it.

A thirty-pixel thumbnail loads a full-size screenshot #173

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

Pushed successfully.

shipped production is serving it deploy 7cfd21c

opened this

Pushed successfully.

Added a third, dedicated small picture ("thumb", 200×125 — desktop's own aspect) that the screenshotter takes alongside phone and desktop, instead of every small slot loading a full-size file. It's now used by:

  • The studio's ask row and the board's landed row (lookThumb), which previously loaded the whole 390×844 phone shot into a ~30px box.
  • The app page's "how it looks now" (lookNow), which previously loaded the whole 1280×800 desktop shot into a 168px-wide box. thumb's aspect matches desktop's exactly, so this slot's visual size and byte count both shrink with no layout change (no loading="lazy", since it's the first thing on the app's own page — genuinely above the fold).

A commit pictured before this change (no thumb row) falls back to what each slot showed before (phone for the small crops, desktop for the app head) via a shared thumbLook helper — old looks keep rendering, nothing goes blank, no migration needed for existing pictures. lookCard on the pull page is untouched: I left its phone/desktop pair alone since swapping either to a differently-shaped thumb would misrepresent "how it looks on a phone/desktop" for a ~2x saving that's much smaller than the other two spots' waste.

SQLite's CHECK (kind IN ('phone','desktop')) doesn't support in-place alteration, so I added migration 26 that rebuilds the look table with thumb allowed, copying every existing row. The reviewer's own picture list (crew/runner.ts) is explicitly filtered to phone/desktop only, so growing LOOK_KINDS doesn't add a third, lower-detail image to what an AI reviewer sees.

Byte estimate (pixel-count proxy, since this clone has no screenshotter to measure with): thumb is 25,000px vs phone's 329,160px and desktop's 1,024,000px — roughly a 13x reduction for the ask/board thumbnails and a 41x reduction for the app-head picture, for about a 1.8% increase in total stored bytes per commit (one small extra file alongside the existing two).

bun test and bun x tsc --noEmit pass; the forge's own check command (the 21 files forge.json names) shows 6 failures that are pre-existing on unmodified main too (git-push-over-http auth/fork limits in this sandbox, verified via git stash), unrelated to this change. test/looks.test.ts and test/board.test.ts (not part of check) are also flaky in this sandbox on unmodified main for the same reason; I still rewrote them for the new picture counts and added coverage for the thumb-kind fallback.

Closes #159

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs