mirror of
https://github.com/jcreek/LivingDexTracker.git
synced 2026-09-18 19:42:04 +00:00
perf(sprites): ship 192px sprites and a manifest of every sprite
Sprites were shipped at 512x512 but render at 44-64px in the box grid. Resizing to 192px halves each file (median 15.5KB -> 7.6KB); a full dex of artwork drops from 16.6MB to 7.6MB. The sprite build now also writes static/sprites-small/manifest.json, listing every sprite (all forms, shiny and female variants) with its size, so the offline worker can save the complete set and report what is missing. A unit test keeps it in step with the files on disk.
This commit is contained in:
@@ -1,3 +1,10 @@
|
||||
/** Folder holding every sprite; paths in static/sprites-small/manifest.json are relative to it. */
|
||||
export function spriteRoot(useLocalSprites: boolean): string {
|
||||
return useLocalSprites
|
||||
? '/sprites-small/home'
|
||||
: 'https://raw.githubusercontent.com/jcreek/LivingDexTracker/master/static/sprites-small/home';
|
||||
}
|
||||
|
||||
export function resolveSpriteUrl(
|
||||
entry: { pokedexNumber: number; form?: string; spriteKey?: string },
|
||||
shiny: boolean,
|
||||
@@ -34,9 +41,7 @@ export function resolveSpriteUrl(
|
||||
}
|
||||
}
|
||||
|
||||
let root = useLocalSprites
|
||||
? '/sprites-small/home'
|
||||
: 'https://raw.githubusercontent.com/jcreek/LivingDexTracker/master/static/sprites-small/home';
|
||||
let root = spriteRoot(useLocalSprites);
|
||||
if (shiny) root += '/shiny';
|
||||
if (/^female\b/i.test(form)) root += '/female';
|
||||
return `${root}/${key}.webp`;
|
||||
|
||||
Reference in New Issue
Block a user