[object Object]

← back to CelebritySignatures

signatures: serve the full-resolution original (vector SVG / native raster), not a downsampled thumb

7489d971cd7a761139705cb3bacf082348c60d41 · 2026-09-09 16:21:00 -0700 · Steve

Steve: 'high res'. resolveSource returned Wikimedia's 1200px PNG thumbnail — which
also rasterizes SVGs, throwing away vector sharpness. Now prefer info.url (the
original file): SVGs render as VECTOR (crisp at any size), rasters at full native
resolution. Signature files are small so full-res is cheap; thumb stays a fallback.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit 7489d971cd7a761139705cb3bacf082348c60d41
Author: Steve <steve@designerwallcoverings.com>
Date:   Wed Sep 9 16:21:00 2026 -0700

    signatures: serve the full-resolution original (vector SVG / native raster), not a downsampled thumb
    
    Steve: 'high res'. resolveSource returned Wikimedia's 1200px PNG thumbnail — which
    also rasterizes SVGs, throwing away vector sharpness. Now prefer info.url (the
    original file): SVGs render as VECTOR (crisp at any size), rasters at full native
    resolution. Signature files are small so full-res is cheap; thumb stays a fallback.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
 public/assets/signature-preview.js | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/public/assets/signature-preview.js b/public/assets/signature-preview.js
index 217bd62..338c744 100644
--- a/public/assets/signature-preview.js
+++ b/public/assets/signature-preview.js
@@ -28,11 +28,14 @@ async function resolveSource(url) {
   const title='File:'+decodeURIComponent(match[1]);
   if(!resolvedSources.has(title)){
     const request=(async()=>{
-      const params=new URLSearchParams({action:'query',format:'json',origin:'*',prop:'imageinfo',iiprop:'url',iiurlwidth:'1200',titles:title});
+      const params=new URLSearchParams({action:'query',format:'json',origin:'*',prop:'imageinfo',iiprop:'url',iiurlwidth:'2000',titles:title});
       const response=await fetch('https://commons.wikimedia.org/w/api.php?'+params,{signal:AbortSignal.timeout(10000)});
       if(!response.ok)throw new Error('Source lookup unavailable');
       const data=await response.json(),info=Object.values(data.query?.pages||{})[0]?.imageinfo?.[0];
-      const direct=imageSource(info?.thumburl||info?.url);
+      // High-res: serve the ORIGINAL file — an SVG renders as VECTOR (crisp at any
+      // size), a raster at its full native resolution — not a downsampled thumb.
+      // Signature files are small, so full-res is cheap; the thumb is a fallback.
+      const direct=imageSource(info?.url||info?.thumburl);
       if(!direct||!['upload.wikimedia.org','thumb.wikimedia.org'].includes(new URL(direct).hostname))throw new Error('No source image');
       return direct;
     })();

← 6adf104 wear: raise crew-socks price $22 → $28 to clear cost/markup  ·  back to CelebritySignatures  ·  printify-cost-check: support bucket-hat + crew-socks + --yes ba96456 →