2.4 KiB
2.4 KiB
| name | description |
|---|---|
| app-icons | Generate every icon a mobile app or game needs from one artwork - App Store 1024 (no alpha), Play 512, Android adaptive foreground/background, legacy round and square launcher icons, iOS sizes via @capacitor/assets, web favicons, apple-touch and maskable icons. Use when the user wants app icons, launcher icons, adaptive icons, favicons, or an icon looks cropped/cut off on Android or is rejected for alpha on iOS. |
App icons from one artwork
CLI: storebound icons (or bunx storebound icons). Needs ffmpeg (cwebp optional).
Inputs (icons in storebound.config.ts)
composite: 1024 x 1024 opaque full icon (stores, iOS, web)foreground: 1024 RGBA, the subject on transparency (adaptive + maskable)background: 1024 opaque background layer- outputs:
out(store icons),web,capacitorAssets+capacitorCommand,androidRes
Steps
- Put the three PNGs in the project, set the paths,
storebound check. storebound icons --drylists every file it will write; thenstorebound icons.- With Capacitor: set
capacitorAssets(e.g.assets) andcapacitorCommand: 'bunx @capacitor/assets generate --assetPath assets'; storebound writes the three sources, runs it, and then redraws the Android legacy icons (step order matters). - Verify:
sips -g hasAlpha store/icons/app-store-1024.pngsays no; install on an Android device with a circle launcher mask and an old launcher (legacy icons); check the web favicon and the PWA maskable preview.
Gotchas
- Adaptive foreground scale ~0.7: the anydpi-v26 xml insets both layers 16.7 %, and launchers mask the visible
part (often a circle). At 0.7 the subject's corners sit just inside the circle. Tune with
adaptiveScale. - Legacy icons: @capacitor/assets crops the full square artwork into
ic_launcher/ic_launcher_round, cutting off anything near the corners. storebound redraws them from the adaptive composite with a circle and a 22 % rounded square mask (4x supersampled). - App Store 1024 must have no alpha channel (upload or review fails); storebound writes rgb24.
- Stores and launchers round the corners themselves: deliver full squares, never pre-rounded icons.
- Web icons as 256-colour PNGs (about a third of the size); maskable icon keeps the subject in the 80 % safe zone.
- Play listing icon is 512 x 512, separate from the launcher icons in the AAB.