Workbenches
The parts of this software that are drawn rather than written. A drawing is the one kind of output no test can check — code for an aeroplane whose wings rake the wrong way is exactly as correct as code for one whose wings do not — so each of these takes one piece out, holds it still, and says which file it came from.
Reporting something from a bench is most useful when it names the bench: “the travel scene looks wrong” is an afternoon of bisecting, and “the plane in Vehicle.tsx looks wrong” is ten minutes.
- IdentityThe mark and the palette, read off the files that define them: every lockup rendered from disk, every hex parsed from the stylesheet, every contrast ratio computed rather than claimed.lib/brand.ts · app/globals.css · docs/branding/
- Travel sceneThe leg between two days: vehicles, surfaces, skylines and the camera that pans between them. Hold any moment still on a slider.components/TravelScene.tsx
- TravellersEvery axis a person can be described along — skin, hair, build, age, outfit, accessories — and the twelve starting points, drawn.lib/travellers/render.ts
- Day cardA day in the states that are hard to reach on a real site: draft, half-published, marked as test, no photographs, several updates.components/StoryPager.tsx
- Print geometryWhere the guillotine falls. The postcard back and a photobook spread, in the same millimetres the renderer draws from.lib/postcard/spec.ts · lib/photobook/spec.ts
What is not benched, and why
A photobook and a postcard already have web previews built from the same millimetres the printer gets — they live inside a journal at /<user>/photobook and /<user>/postcards/<id>, because both need real photographs, a real trip and an owner. Only their geometry is here, which is the half that has no content in it. Locally, npm run photobook and npm run postcard drive the whole pipeline against the dry-run providers and write the files out.