Das Schiff in der Werft war unscharf — und zwar durch meine eigene Pipeline. Die Vorlage
liegt in 1024×1024 vor; import-ship.py hat daraus 224 px gemacht, und die Werft zeigt das
Schiff auf 438 CSS-Pixeln. Also 0,51-fach abgetastet: jedes zweite Pixel geraten.
Jetzt nehmen Werft und Schiffsübersicht raycion_big.png, und das steigt von 720 auf
960 px — in der Werft 2,19-fache Überabtastung, also auch auf einem Retina-Schirm scharf.
Es ist dieselbe Datei, die der Ausrüstungsschirm ohnehin lädt, kostet also keinen zweiten
Download.
pngkit schreibt jetzt gefilterte PNGs. Das Modul hat jede Zeile mit Filter 0 (None)
geschrieben — erlaubt, aber es verschenkt genau das, wofür PNG gebaut ist: benachbarte Pixel
sind sich ähnlich, und ein Filter speichert nur die Differenz. Mit der Heuristik aus der
PNG-Spezifikation (alle fünf Filter je Zeile durchrechnen, kleinste Betragssumme gewinnt):
| Datei | ohne Filter | mit Filter |
|---|---|---|
| raycion_big.png (960 px) | 979 KB | 789 KB |
| raycion_hud.png | 55 KB | 46 KB |
Gleiche Pixel, ein Fünftel weniger. Das gilt ab jetzt für jedes Bild, das die Skripte bauen.
scripts/set-version.py stempelt jetzt alle Schiffsbilder im HTML statt nur eines — welche
Datei auf welchem Schirm hängt, ändert sich sonst schneller als der Stempel.