Replace the placeholder logo with the final artwork by @clem_dreaw - #30
Merged
Conversation
Closes the long-blocked "commission a real artist logo" item (todo point 62 / revue technique point 62): a character wearing the cyan tracking mesh over half their face, i.e. literally what the app does, replacing a husky that had nothing to do with it. Unlike both previous placeholders, this artwork is full-bleed (its own painted background, opaque to the edges bar a 1-2% feather) rather than a cut-out subject on transparency, which drives two changes: - Icon: dropped drawable/ic_launcher_foreground.xml and its 12% inset. That inset existed so the husky's ears wouldn't be clipped; on full-bleed art it would instead float a rectangle of artwork inside a dark border. The bitmap is now referenced straight from ic_launcher.xml and the launcher's own mask does the cropping. - Loading screen: clipped to a 20dp rounded square, since a raw hard-edged square read as unfinished against the dark background. Framing was picked by compositing both supplied files and applying a real adaptive-icon mask before deciding: despite their names they are different crops, not two sizes, and Logo_Large loses the top of the head and the chin once masked. Logo.png, square-cropped, keeps the whole head. Known tradeoff: the mask only ever shows the central 72dp of 108, so the artwork's pink background (confined to the extreme corners) cannot survive on the icon at any framing; it stays visible on the loading screen, which applies no mask. First .webp asset in the repo: 112 KB versus 544 KB as PNG at the same 768px, keeping this in line with the 103 KB husky it replaces instead of 5x-ing it. Checked rather than assumed -- mean error 2.7/255 over opaque pixels, zero alpha error, and indistinguishable at 2x zoom on the thin cyan mesh lines (the detail most exposed to lossy ringing). Resource references are extension-agnostic, so no caller changed. Credit string is now "Logo by @clem_dreaw", deliberately identical in values-fr (an artist handle, not a sentence to localize), and the "(Placeholder)" wording is gone. Also corrected a comment whose rationale this change invalidated: the loading screen's background color no longer provides "visual continuity with the icon background", since that layer is now fully covered by the artwork. Build, unit tests and lint all pass, no new warning attributable to this change. Installed on device (ASUS_I001DC) and confirmed correct by the user, both the launcher icon and the loading screen.
3 tasks
guyiome
added a commit
that referenced
this pull request
Sep 2, 2026
Patch release over v0.3.0: the new artist logo (#30), the camera preview/overlay freeze fix on in-app language change (#26), the security policy and issue templates (#24), and two dependency batches (#25, #31). Bumping versionName is not cosmetic here, it's required before tagging: the in-app update checker compares BuildConfig.VERSION_NAME against the latest GitHub release tag, so tagging v0.3.1 while the build still reported 0.3.0 would show a permanent, unclearable "update available" badge to users already running the newest build. No README sync this time, unlike the v0.3.0 preparation: that one tracked newly added features, whereas everything since is fixes plus the logo. Checked that no tracked doc still credits the previous placeholder logo. Verified the built APK actually reports the new version (aapt2 dump badging: versionCode='4' versionName='0.3.1') rather than assuming the edit took effect. Unit tests, debug build and lint all pass.
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
First real artist logo, by @clem_dreaw: a character wearing the cyan tracking mesh over half their face, i.e. literally what the app does. Closes the long-blocked "commission a real artist logo" item (todo point 62), so the placeholder era ends here.
Unlike both previous placeholders, this artwork is full-bleed (its own painted background, opaque to the edges bar a 1-2% feather) rather than a cut-out subject on transparency, which drives two changes:
drawable/ic_launcher_foreground.xmland its 12% inset. That inset existed so the husky's ears wouldn't be clipped; on full-bleed art it would instead float a rectangle of artwork inside a dark border. The bitmap is now referenced straight fromic_launcher.xmland the launcher's own mask does the cropping.Framing was chosen by compositing both supplied files and applying a real adaptive-icon mask before deciding: despite their names they are different crops, not two sizes, and
Logo_Largeloses the top of the head and the chin once masked.Known tradeoff: the mask only ever shows the central 72dp of 108, so the artwork's pink background (confined to the extreme corners) cannot survive on the icon at any framing. It stays visible on the loading screen, which applies no mask.
First
.webpasset in the repo: 112 KB versus 544 KB as PNG at the same 768px, keeping this in line with the 103 KB husky it replaces instead of 5x-ing it. Verified rather than assumed: mean error 2.7/255 over opaque pixels, zero alpha error, indistinguishable at 2x zoom on the thin cyan mesh lines. Resource references are extension-agnostic, so no caller changed.Credit string is now "Logo by @clem_dreaw", deliberately identical in
values-fr(an artist handle, not a sentence to localize).No
<monochrome>layer, deliberately — lint'sMonochromeLauncherIconwarning stays open by explicit decision. Monochrome source files exist but are opaque grayscale renditions, which Android would flat-tint into a solid disc; every mechanical derivation was tried and rejected, since a frame-filling portrait leaves no negative space for a silhouette.Test plan
./gradlew testDebugUnitTest assembleDebug lintDebuggreen, no new warning attributable to this change.