From 9aca27c717b713ff6e8ec8a2eeded1dff92c4735 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 22 Oct 2026 10:09:34 -0700 Subject: vmedia: pic.webp?s=row, a picture 360px tall in its own shape for the grid's justified rows Co-Authored-By: Claude Opus 5.5 --- vmedia/server.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'vmedia/server.js') diff --git a/vmedia/server.js b/vmedia/server.js index 6b6b69a..19e170c 100644 --- a/vmedia/server.js +++ b/vmedia/server.js @@ -12,9 +12,10 @@ // for Linux plays its sound over black). The first ask streams the // transcode as it's made (fragmented MP4); once done it's a plain // faststart file served in ranges and cached for everyone. -// /vmedia/pic.webp?s=col|tile&u= the picture at the size the -// feed paints it: 1100px wide for the column, or a 360px square of its -// middle for the grid. The app makes these copies itself from a host that +// /vmedia/pic.webp?s=col|tile|row&u= the picture at the size the +// feed paints it: 1100px wide for the column, a 360px square of its +// middle for a square tile, or 360px tall in its own shape for the grid's +// justified rows. The app makes these copies itself from a host that // allows CORS; one that doesn't (primal's blossom, nostrcheck, most // personal sites) left the painting the original, and a 9528×6328 // camera file froze a wheel scroll for 400 ms on its texture upload. @@ -446,6 +447,7 @@ async function clipResponse(req, src, ip) { const SHAPES = { col: ['--size', '1100x>'], // the 560px column at 2x; never enlarged tile: ['--size', '360x360>', '--smartcrop', 'centre'], // a 120–180px grid tile at 2–3x + row: ['--size', '720x360>'], // a tile in justified rows: the picture's own shape, 360px tall }; const PIC_V = 1; // what the bytes say the file is (the header is often octet-stream, sometimes a lie) -- cgit v1.2.3