From b30d9e5f3f9258cb29bbca95361eaaa0cb3830f0 Mon Sep 17 00:00:00 2001 From: "Tommy D. Rossi" Date: Sat, 21 Feb 2026 17:06:56 +0100 Subject: [PATCH] website: increase placeholder resolution from 32px to 64px 4x the pixel count for sharper pixelated placeholders. All files still under 4KB so Vite inlines them as base64. --- website/scripts/generate-placeholders.ts | 4 ++-- .../placeholders/placeholder-favicon-16.png | Bin 1163 -> 3353 bytes .../placeholders/placeholder-favicon-32.png | Bin 636 -> 2311 bytes .../placeholders/placeholder-og-image.png | Bin 1158 -> 3428 bytes .../placeholder-screenshot@2x.png | Bin 1246 -> 3753 bytes 5 files changed, 2 insertions(+), 2 deletions(-) diff --git a/website/scripts/generate-placeholders.ts b/website/scripts/generate-placeholders.ts index 3c17893..c8792d4 100644 --- a/website/scripts/generate-placeholders.ts +++ b/website/scripts/generate-placeholders.ts @@ -2,7 +2,7 @@ * Generate pixelated placeholder images for the website. * * Scans website/public/ for all image files (png, jpg, jpeg, webp) and - * generates a tiny 32px-wide version into src/assets/placeholders/. + * generates a tiny 64px-wide version into src/assets/placeholders/. * When displayed at full size with CSS `image-rendering: pixelated` * (nearest-neighbor / point sampling), these produce a crisp mosaic effect. * @@ -24,7 +24,7 @@ import fs from "node:fs"; const PUBLIC_DIR = path.resolve(import.meta.dirname, "../public"); const OUTPUT_DIR = path.resolve(import.meta.dirname, "../src/assets/placeholders"); const PLACEHOLDER_PREFIX = "placeholder-"; -const PLACEHOLDER_WIDTH = 32; +const PLACEHOLDER_WIDTH = 64; const IMAGE_EXTENSIONS = new Set([".png", ".jpg", ".jpeg", ".webp"]); async function main() { diff --git a/website/src/assets/placeholders/placeholder-favicon-16.png b/website/src/assets/placeholders/placeholder-favicon-16.png index 0d386bd5b8f978b4aa5394d940aaae2193780458..7aa18d53809884d82a41efa56946f1fe3fe7f778 100644 GIT binary patch literal 3353 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 delta 1157 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 M07*qoM6N<$g1%rF_5c6? diff --git a/website/src/assets/placeholders/placeholder-og-image.png b/website/src/assets/placeholders/placeholder-og-image.png index 5cfdbeaf775978022155e471c4684c84f4995b6b..4def32b94d6fa4254a7c8ce76c59a9490aa269f6 100644 GIT binary patch literal 3428 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 Sg!icc0000sMU&)bN1fo*Z1H1Bt)Ro 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