Skip to content

Avoid useless icon re-rendering

Choose a tag to compare

@DanielCech DanielCech released this 09 Jun 12:20
· 20 commits to master since this release
d09bb4e

Problem

VersionIcon regenerated the app icon on every build, even when nothing changed. Because the rendering pipeline (Core Image compositing, text drawing) is not byte-deterministic, the output PNG differed slightly on each run — so git constantly showed the icons as modified, which was annoying and polluted diffs.

Solution

Each generated icon now carries a small, human-readable JSON record embedded as a standard PNG tEXt chunk. It describes all inputs that produced the icon: version text, font, colors, position ratios, pixel size, and SHA-256 hashes of the binary inputs (original icon, ribbon, title overlay).