mirror of
https://github.com/hanzo-apps/gallery.git
synced 2026-10-30 14:48:38 +00:00
Several cards were not pictures of a template at all. quantum was a Next "Failed to compile" panel. prism was the demo link index. jobfinder and deploy were shot with the Background layer off, so a lit scene photographed as tiles on flat grey, and jobfinder was not even the right template. canvas caught a full-screen intro counter mid-count. The 56 remaining cards are now shot from the running template through one recipe: 1920x1080, plus the 834x1112 and 390x844 portraits the detail page switches between. Every card has all three; none had them before. Six rows are gone because none could show a picture of its own. folio-html, folio-full and folio-main share a single path with no page left between them, folio-main's page being the link index itself, and each was displaying a neighbour's photograph. folio-portfolio-details-3 is identical to its neighbour, and betacrm-duplicate is what its name says. The captures are webp, not png. next.config sets images.unoptimized, so what is committed is exactly what a visitor downloads, and a grid of 56 png cards is 54MB of page. At q82 the same pictures are 14MB for the whole set — RMSE 0.66/255 against the png, max 1.27, which is below what an eye resolves at card size. It is also what the repo can carry: 162MB of png would not transfer in one pack. public/screenshots/full and /og go with them. Nothing in the app, the scripts or the export has referenced either; they were 50MB of pictures nobody could reach. The seven root *.md progress reports go too — LLM.md is the one place this repo keeps what it knows.
19 lines
766 B
TypeScript
19 lines
766 B
TypeScript
// One way to address a screenshot. The bare name is the desktop capture;
|
|
// tablet and phone captures sit beside it under the same name.
|
|
export const sizes = ['desktop', 'tablet', 'mobile'] as const;
|
|
|
|
export type Size = (typeof sizes)[number];
|
|
|
|
export function shot(name: string, size: Size = 'desktop'): string {
|
|
return `/screenshots/${name}${size === 'desktop' ? '' : `-${size}`}.webp`;
|
|
}
|
|
|
|
// Frames at the real capture geometry: 16:9, 834x1112, 390x844. The widths
|
|
// give all three the same height, so switching reads as a change of device
|
|
// rather than a change of scale.
|
|
export const frame: Record<Size, string> = {
|
|
desktop: 'aspect-video w-full',
|
|
tablet: 'aspect-[834/1112] w-full max-w-[480px]',
|
|
mobile: 'aspect-[390/844] w-full max-w-[296px]',
|
|
};
|