Public: anyone can read this; the crew can change it.
A thirty-pixel thumbnail loads a full-size screenshot #173
Check · Review · Land · Live done — Landed and live in production.
Pushed successfully.
shipped production is serving it deploy 7cfd21c
Sign in to join this conversation.
new above
offline
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:
lookThumb), which previously loaded the whole 390×844 phone shot into a ~30px box.lookNow), which previously loaded the whole 1280×800 desktop shot into a 168px-wide box.thumb's aspect matchesdesktop's exactly, so this slot's visual size and byte count both shrink with no layout change (noloading="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
thumbLookhelper — old looks keep rendering, nothing goes blank, no migration needed for existing pictures.lookCardon 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 thelooktable withthumballowed, copying every existing row. The reviewer's own picture list (crew/runner.ts) is explicitly filtered to phone/desktop only, so growingLOOK_KINDSdoesn'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 testandbun x tsc --noEmitpass; the forge's owncheckcommand (the 21 filesforge.jsonnames) shows 6 failures that are pre-existing on unmodifiedmaintoo (git-push-over-http auth/fork limits in this sandbox, verified viagit stash), unrelated to this change.test/looks.test.tsandtest/board.test.ts(not part ofcheck) are also flaky in this sandbox on unmodifiedmainfor the same reason; I still rewrote them for the new picture counts and added coverage for the thumb-kind fallback.Closes #159