feat(logo): add square Android app icon from the shard-J - #22
Merged
Conversation
Add generate_app_icon.py, which reuses the shard-J geometry from generate_java_llama_logo.py (icon_shards / _rounded_path / _icon_local_bbox), drops the wordmark, and centres the J on a square canvas. No font is embedded; output is pure <path>. The J is orange (#F65E00) on #111111. --android-set writes a complete drop-in res/ tree: - ic_launcher.svg / _foreground.svg / _background.svg masters - ic_launcher-512.png (Play Store) - res/mipmap-*/ic_launcher.png legacy 48..192 - res/mipmap-*/ic_launcher_foreground.png adaptive 108..432 - res/mipmap-anydpi-v26/ic_launcher.xml adaptive descriptor - res/values/ic_launcher_background.xml background colour #111111 The adaptive foreground is scaled so the J's farthest ink stays inside the 66dp-of-108dp safe-zone circle (verified 129px <= 132px at xxxhdpi), so it is never clipped by circular / squircle / rounded-square launcher masks. Also: extend REUSE.toml to cover the nested app-icon/ SVG/PNG/XML tree and .gitignore; add a .gitignore for Python bytecode caches; document the set in app-icon/README.md and link it from the logo README. reuse lint passes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PevG84XGs6qyD1U35LUmpg
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
generate_app_icon.py— a square Android app icon generator built from the java-llama.cpp shard-J. It reuses the icon geometry (icon_shards/_rounded_path/_icon_local_bbox) fromgenerate_java_llama_logo.py, drops the wordmark, and centres the J on a square canvas. No font embedded — pure<path>. Orange#F65E00on#111111.--android-set DIRwrites a complete, drop-inres/tree: masters (ic_launcher.svg/_foreground.svg/_background.svg), Play-Store 512 PNG, legacy mipmap PNGs (48–192), adaptive foreground PNGs (108–432), themipmap-anydpi-v26/ic_launcher.xmladaptive descriptor, and thevalues/ic_launcher_background.xmlcolour resource.REUSE.tomlto cover the nestedapp-icon/SVG/PNG/XML tree and.gitignore; add.gitignorefor Python bytecode caches; document the set inapp-icon/README.mdand link it from the logo README.Why
The owner needs a square J icon usable as an Android launcher icon. Generating it from the existing logo geometry keeps the icon in sync with the mark and avoids hand-editing SVGs.
Test plan
--android-setproduces the full tree; all PNGs are square RGBA at the expected densities (48–192 legacy, 108–432 foreground, 512 store)reuse lintpasses (53/53, MIT OR Apache-2.0)res/into an Android module and checks the launcher render🤖 Generated with Claude Code
https://claude.ai/code/session_01PevG84XGs6qyD1U35LUmpg