Skip to content

feat(branding): replace the Noodle Gallery logo set with the new five-petal mark - #983

Open
Deeds67 wants to merge 3 commits into
mainfrom
feat/new-logos
Open

feat(branding): replace the Noodle Gallery logo set with the new five-petal mark#983
Deeds67 wants to merge 3 commits into
mainfrom
feat/new-logos

Conversation

@Deeds67

@Deeds67 Deeds67 commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

Replaces the camera lockups with the new five-petal artwork across every surface.

Scope

173 files, assets only, no code changes.

Area Files
mobile/ios/Runner/ (AppIcon + LaunchImage) 37
branding/assets/mobile/ios/ 37
mobile/android/.../res/ (mipmap, adaptive, splash, notification) 27
web/static/ (logos, loaders, favicons, PWA) 19
branding/assets/ (6 source SVGs + rasters) 16
docs/static/img/ 14
mobile/assets/ 11
design/ 8

Both logo systems are updated: the branding/assets/ sources that apply-branding.sh fans out at build time, and the gallery-logo-* / gallery-loader-* files in web/static and docs/static/img that are the ones actually rendered (Logo.svelte, AuthPageLayout.svelte, docusaurus.config.js) and which apply-branding.sh does not write.

Padding is preserved exactly

Rasters were not regenerated from a fixed safe-area guess. Each target's existing canvas, content box, centring offset and opacity were measured and reproduced, so per-platform padding is unchanged:

  • Android adaptive foreground — 192x192 at (120,120) of 432 → 44.4%
  • Android legacy mipmap / app-icon.png → 46.9%
  • iOS AppIcon / app-icon-ios.png → 71.7%
  • PWA maskable → 71.9%

branding/scripts/verify-mobile-assets.sh passes (80 checks).

Notes for review

  • The new source SVGs are named by ink colour, the repo names by background, so the mapping is inverted: logo_dark.svg*-inline-light.svg, logo_white.svg*-inline-dark.svg.
  • One mark file serves logo-mark, logo-mark-dark, gallery-loader and gallery-loader-dark; the new artwork is colour-on-transparent and needs no theme variant (the previous pair was already effectively identical).
  • Loading spinners need no code change. The supplied dotLottie is a 300-frame flipbook of the mark rotating; web (animate-spin) and mobile (RotationTransition) already rotate a static image, so they pick up the new mark from the loader asset alone. No new dependency, and 1.8 KB instead of 7.2 MB.
  • Lockup PNGs changed height (984x328984x282, 934x612934x479): the new artwork is proportionally wider, so width was held constant. Logo.svelte sizes by height, so the stacked lockup renders wider than before — worth a look at the web header.
  • Left alone deliberately, as upstream Immich artwork rather than Gallery logos: mobile/android/metadata/.../icon.png (Play Store listing icon) and docs/static/img/logomark-*.svg.

Credits

The new logo set was designed by @LoPeraa — thank you! 🎨

Every commit in this PR carries a Co-authored-by trailer crediting them.

@Deeds67 Deeds67 added the changelog:feat Feature change for changelog label Aug 13, 2026
@github-actions github-actions Bot added documentation Improvements or additions to documentation 🖥️web 📱mobile labels Aug 13, 2026
Deeds67 and others added 3 commits August 13, 2026 21:31
…-petal mark

Covers every surface: the rendered gallery-logo-* / gallery-loader-* files in
web/static and docs/static/img, the branding/assets sources apply-branding.sh
fans out, and the committed iOS/Android launcher icons.

Every raster was regenerated at its target's existing canvas, content box and
opacity, so per-platform padding is unchanged (Android adaptive 44.4%, legacy
launcher 46.9%, iOS 71.7%, PWA maskable 71.9%).

The new source SVGs are named by ink colour rather than background, so
logo_dark.svg maps to *-inline-light.svg and logo_white.svg to *-inline-dark.svg.

The loading spinners need no code change: the supplied dotLottie is a 300-frame
flipbook of the mark rotating, and both web and mobile already rotate a static
image, so they pick up the new mark from the loader asset alone.

Co-authored-by: LoPera <116523906+LoPeraa@users.noreply.github.com>
immich-text-{light,dark}.png is the lockup rendered by app_bar_dialog.dart
(the sheet behind the account avatar) and still showed the old camera mark.

It was missed because the first sweep matched asset filenames against
logo|icon|favicon|splash|wordmark|launch, and "immich-text" matches none of
them. Re-swept by diffing every tracked image under the asset directories
against the commit instead of by name.

Co-authored-by: LoPera <116523906+LoPeraa@users.noreply.github.com>
The new lockup is airier than the camera glyph it replaces, so it read small
at the previous height of 16 next to the 20px close button. 24 balances it
against that button while staying well under the app bar's own 43.

Co-authored-by: LoPera <116523906+LoPeraa@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog:feat Feature change for changelog documentation Improvements or additions to documentation 📱mobile 🖥️web

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant