Repository navigation
Avoid useless icon re-rendering
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).