The ship in the Hangar was blurry — and it was my own pipeline’s fault. The source image is 1024×1024; it got scaled down to 224 px, and the Hangar shows the ship at 438 CSS pixels. So it was upsampled 0.51×: every other pixel guessed.
Hangar and ship overview now use the larger image, which grows from 720 to 960 px — 2.19× oversampled in the Hangar, so it stays sharp even on a retina screen. It’s the same file the loadout screen already loads, so it costs no extra download.
PNG images are now written with proper filtering. Every row used to be written unfiltered, which is allowed but throws away exactly what PNG is built for: neighboring pixels tend to be similar, and a filter stores only the difference. With the heuristic from the PNG spec (try all five filters per row, keep whichever compresses smallest):
| File | unfiltered | filtered |
|---|---|---|
| ship image (960 px) | 979 KB | 789 KB |
| HUD image | 55 KB | 46 KB |
Same pixels, a fifth smaller. That now applies to every image the build produces.
Every ship image in the page is now stamped with the current version, not just one — otherwise which file sits on which screen drifts out of sync with the stamp.