feat(iconen): iOS en Android bijgesneden, en één script voor alle zes de sets #769
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!769
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/mobiele-iconen-huisstijl"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
De iOS- en Android-iconen droegen nog de fotokat. Die zijn nu bijgesneden — en het handwerk eronder is vervangen door een script, want zes sets met de hand bijhouden is de fout die daarna nog een keer gemaakt wordt.
Wat er verandert
Contents.json.Twee dingen die boven water kwamen
De master was niet wat de documentatie zei. Gisteren schreef ik op dat alles uit
assets/images/ocideck-logo.pngkomt. Dat klopte niet: de échte master ismacos/…/app_icon_1024.png. Het in-app-logo is 512 pixels; de master is 1024 en draagt ruim drie keer zoveel randdetail (randafwijking 0,22 tegen 0,08 na opschalen). Voor het 1024-icoon dat Apple in de App Store toont is dat het verschil tussen scherp en zacht. Elk formaat is nu een verkleining, nooit een vergroting — en daarom heb ik Linux en Windows van gisteren meteen opnieuw gesneden; die waren meetbaar zachter (randscherpte 0,29 tegen 0,39).Het script reproduceert de gecommitte macOS-set bit voor bit. Dat is het bewijs dat dit hetzelfde recept is als waarmee die set ooit gesneden is, en niet een nieuw recept dat er toevallig op lijkt. Zonder die uitkomst zou ik de master niet hebben durven verplaatsen.
De uitzondering die blijft
De webiconen komen wél uit het in-app-logo, met zijn ruimere marge. Ik heb dat eerst als vergissing behandeld en willen rechttrekken; nameten liet zien dat het een eigen, consistente regel is — de gecommitte set komt op 0,3 tot 1,9% na uit "logo, recht verkleind", en maskable is datzelfde op 80% in een wit vlak. Een favicon staat in een tabblad naast andere favicons, niet in een dock. Dus vastgelegd in het script in plaats van gelijkgetrokken, en de webbestanden zijn teruggezet: 1% herbemonsteringsruis in vijf binaire bestanden is geen winst.
Bewaking
test/platform_icon_branding_test.dartliep over vier doelen en loopt nu over zes. Het argument dat iOS/Android geen bouwdoel zijn valt weg zodra ze in de generator meelopen — een set die niemand bewaakt is precies hoe Linux en Windows een maand achterliepen.Twee toetsen erbij die alleen voor iOS gelden:
@3xvan 20 punt is 60 pixels. Wie dat verwart levert een set in die Xcode zwijgend accepteert.Tegen de oude mobiele iconen wordt de tekeningtoets rood (0,68 tegen drempel 0,20) en de kleurtoets ook (9,8% tegen 1%). Eerst zo gedraaid, daarna pas groen.
Een correctie op mezelf: ik dacht onderweg dat ImageMagick bij 20 en 29 pixels een alfakanaal terugzette, en had daar een commentaarregel over geschreven. Nagemeten klopte dat niet —
magick identifymeldt "srgb 4.0" ook voor een PNG zónder alfa; het onderscheid zit in de letter, niet in het getal. De toets blijft (het is een echte Apple-eis), de onjuiste verklaring is eruit.Wat ik níet heb gedaan
Bij 20 pixels blijft de lijntekening flets. Dat is de prijs van een fijn merk en het geldt op elk platform gelijk — de macOS-16 ziet er al maanden zo uit, en de nieuwe is er niet van te onderscheiden. Een apart, vetter tekentje voor de kleinste maten is een ontwerpkeuze, geen icoonregeneratie; die heb ik niet in deze PR genomen.
Poorten
make check— exit 0. Opnieuw gedraaid ná de rebase opc6adf9f0.make check-secrets— exit 0, gitleaks en trufflehog schoon over werkboom én historie.make sast— 0 bevindingen over 688 bestanden.bash -nover het script; shellcheck staat niet op deze machine, dat is dus níet gedraaid.Bewakerstap overgeslagen: geen bestandsformaat, opslag, afhankelijkheid, uitgaand verkeer of publieke belofte geraakt.
🤖 Generated with Claude Code