Skip to content

Replace paw symbol with Cotabby cat logo across UI#237

Merged
FuJacob merged 7 commits into
mainfrom
rebrand-paw-to-cat-logo
May 25, 2026
Merged

Replace paw symbol with Cotabby cat logo across UI#237
FuJacob merged 7 commits into
mainfrom
rebrand-paw-to-cat-logo

Conversation

@FuJacob
Copy link
Copy Markdown
Owner

@FuJacob FuJacob commented May 25, 2026

Summary

Replaces the placeholder paw branding with the new Cotabby cat across the entire UI and the app icon:

  • AppIcon (16–1024) swapped to the new cat-and-cursor artwork — this is what the DMG, Finder, and dock show.
  • Menu bar label and field-edge activation indicator use a monochrome MenuBarCatIcon template so macOS recolors it for light/dark bars.
  • Settings header and Welcome screen use the full-color CotabbyLogo with rounded corners.
  • Removed the now-unused WelcomeAppIcon (old paw) asset.

Validation

xcodebuild -project Cotabby.xcodeproj -scheme Cotabby -destination 'platform=macOS' build
# ** BUILD SUCCEEDED **

swiftlint lint --quiet <changed files>
# exit 0

Verified the MenuBarCatIcon template renders cleanly (black on light bars, white on dark bars). The DMG background art (assets/release/dmg_background.png) is generic (no logo) and unchanged.

Linked issues

Risk / rollout notes

  • Cosmetic only; no behavior, settings, or schema changes.
  • New asset entries (MenuBarCatIcon, CotabbyLogo) and the AppIcon PNGs live inside the existing Assets.xcassets; AppIcon Contents.json is unchanged, so no project.pbxproj change was needed.
  • The README header logo is a remote GitHub-hosted URL, not a repo file — not changed here.
  • logo-white.png from the asset drop had no alpha channel (white-on-white), so the menu-bar silhouette was derived from the higher-fidelity appstore.png (same artwork).

Greptile Summary

This PR is a purely cosmetic rebrand that swaps the placeholder paw symbol for the new Cotabby cat artwork across every UI surface — app icon, menu bar, activation indicator, settings header, and welcome screen — with no behavioral or data-model changes.

  • AppIcon PNGs (16–1024 px) and the two new imagesets (MenuBarCatIcon, CotabbyLogo) replace all paw assets; MenuBarCatIcon is correctly declared as a template image so macOS applies system tinting in the menu bar.
  • Swift changes in MenuBarStatusLabelView, SettingsView, and WelcomeView are straightforward SF-Symbol-to-asset-image swaps with proper renderingMode, sizing, and clipping.
  • ActivationIndicatorController removes the @Environment(\\.colorScheme) adaptive background and hard-codes a dark slate color, which may look out of place in light mode — the only minor concern in an otherwise clean change.

Confidence Score: 5/5

Safe to merge — all changes are cosmetic asset replacements with no logic, schema, or behavioral impact.

Every Swift change is a direct symbol-to-asset swap with no altered control flow. The only nuance is the activation indicator's hardcoded dark background, which is a visual trade-off rather than a defect. No data, settings, or runtime paths are touched.

No files require special attention; ActivationIndicatorController.swift has a minor cosmetic trade-off worth a second glance in light mode.

Important Files Changed

Filename Overview
Cotabby/Services/UI/ActivationIndicatorController.swift Removed color-scheme-adaptive background; now always uses a hardcoded dark slate, which may look jarring next to light-mode UI.
Cotabby/UI/MenuBarStatusLabelView.swift Clean swap from Image(systemName:) to Image("MenuBarCatIcon") with .renderingMode(.template) and proper sizing.
Cotabby/UI/SettingsView.swift Simple replacement of the paw ZStack with Image("CotabbyLogo") clipped to rounded rect; no logic changes.
Cotabby/UI/WelcomeView.swift SF Symbol replaced with full-color CotabbyLogo image, clipped with rounded corners; straightforward and correct.
Cotabby/Assets.xcassets/MenuBarCatIcon.imageset/Contents.json New imageset correctly declares all three density scales and sets template-rendering-intent so macOS applies system tinting automatically.
Cotabby/Assets.xcassets/CotabbyLogo.imageset/Contents.json Renamed from WelcomeAppIcon; adds the missing 3x scale slot that was absent in the old definition.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Assets.xcassets] --> B[AppIcon.appiconset\n16–1024 px PNGs]
    A --> C[MenuBarCatIcon.imageset\ntemplate rendering]
    A --> D[CotabbyLogo.imageset\nfull-color · 1x/2x/3x]
    A --> E[WelcomeAppIcon.imageset\n removed]

    C --> F[MenuBarStatusLabelView\nmenu bar label icon]
    C --> G[ActivationIndicatorController\nfield-edge indicator]
    D --> H[SettingsView\nheader logo]
    D --> I[WelcomeView\nonboarding logo]
Loading

Fix All in Codex Fix All in Claude Code

Reviews (6): Last reviewed commit: "Use charcoal background for the activati..." | Re-trigger Greptile

Swap the SF Symbol pawprint for the new cat branding everywhere it shows:

- MenuBarCatIcon: black-on-transparent template silhouette (cat peeking past
  the cursor bar) for the menu-bar label and the field-edge activation
  indicator, so macOS recolors it for light/dark bars.
- CotabbyLogo: full-color app icon used in the Settings header and Welcome
  screen, clipped to rounded corners.
- Remove the now-unused WelcomeAppIcon (old paw) asset.
Comment on lines +15 to +19
Image("MenuBarCatIcon")
.renderingMode(.template)
.resizable()
.scaledToFit()
.frame(height: 16)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Accessibility regression from custom asset image. Image(systemName: "pawprint.fill") automatically exposed a VoiceOver label derived from the symbol name. A custom Image("MenuBarCatIcon") has no implicit accessibility description, so VoiceOver will announce it as a generic "image" (or skip it). Since the icon is decorative next to the text label, marking it hidden from accessibility is the cleaner fix.

Suggested change
Image("MenuBarCatIcon")
.renderingMode(.template)
.resizable()
.scaledToFit()
.frame(height: 16)
Image("MenuBarCatIcon")
.renderingMode(.template)
.resizable()
.scaledToFit()
.frame(height: 16)
.accessibilityHidden(true)

Fix in Codex Fix in Claude Code

Comment thread Cotabby/Services/UI/ActivationIndicatorController.swift Outdated
FuJacob added 6 commits May 25, 2026 01:48
The DMG and Finder/dock icon still showed the old paw AppIcon. Swap all
mac AppIcon sizes (16-1024) for the new cat-and-cursor artwork. Contents.json
is unchanged (same size/scale layout).
Regenerate all icon assets from the new dark-navy cat render:
AppIcon (16-1024), CotabbyLogo (Settings/Welcome), and the MenuBarCatIcon
silhouette (menu bar + activation indicator).
- AppIcon (16-1024) and CotabbyLogo (Settings/Welcome) use the new blue
  cat artwork.
- Menu-bar/indicator keep the existing clean MenuBarCatIcon silhouette; the
  new render is too furry to threshold into a crisp template glyph.
- Activation indicator now uses a fixed gray badge with a white logo,
  instead of the adaptive light/dark treatment.
- Remove unused README demo images (slack/notes/imessage are remote-hosted).
Swap the rounded color logo for the bare MenuBarCatIcon silhouette (white,
no container) so onboarding matches the menu-bar/indicator glyph.
Revert the bare silhouette back to the rounded CotabbyLogo app-icon mark.
@FuJacob FuJacob merged commit 25980a1 into main May 25, 2026
3 checks passed
@FuJacob FuJacob deleted the rebrand-paw-to-cat-logo branch May 25, 2026 10:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant