Skip to content

[SF-29] Add Leopard brand assets and icon export pipeline - #27

Merged
alexanderbrunker-star merged 3 commits into
mainfrom
feature/SF-29-brand-assets
Apr 19, 2026
Merged

[SF-29] Add Leopard brand assets and icon export pipeline#27
alexanderbrunker-star merged 3 commits into
mainfrom
feature/SF-29-brand-assets

Conversation

@alexanderbrunker-star

Copy link
Copy Markdown
Member

https://linear.app/captain-leopard-ai-engineering/issue/SF-29/brand-asset-pipeline-logo-leopard-background-icon-set

Verification:

  • node scripts/brand/export-icons.mjs (byte-identical on re-run)

- brand/assets/leopard-pattern.svg: 400x400 tileable pattern, 36 deterministic spots
- brand/assets/logomark.svg: 256x256 gold glyph (concentric arcs + crown dot),
  16px safe padding resolves SF-22 icon cropping issue
- brand/assets/wordmark.svg: 512x128 'Leopard AI' wordmark
- brand/assets/README.md: asset tree, regen command, SF-30 migration notes
- scripts/brand/export-icons.mjs: zero-dep Node generator;
  emits chrome-16/48/128, ios-1024, android-512, favicon-16/32 sized icons
- brand/assets/icons/: generated output (verified byte-identical on re-run)
@linear

linear Bot commented Apr 19, 2026

Copy link
Copy Markdown
SF-29 Brand asset pipeline — logo, leopard background, icon set

Scope

Replace placeholder SVG icons and procedural leopard pattern with the real Leopard AI brand assets referenced in SF-22 (Gemini leopard background + app icon from the Linear attachments).

Deliverables

  • brand/assets/source/ — source PNG/SVG masters (leopard background, app icon, logomark, wordmark).
  • brand/assets/generated/ — exported sizes per platform:
    • Chrome: icons/icon-{16,32,48,128}.png + leopard-bg.svg
    • iOS/macOS: AppIcon.appiconset/* regenerated.
    • Android: mipmap-*/ic_launcher.* + adaptive icons.
  • brand/assets/README.md — export conventions + command used (rsvg-convert / sips / ImageMagick).
  • Replace platform icon folders via a scripts/brand/sync-assets.sh that copies from brand/assets/generated/.

Acceptance

  • All platform icons reflect the Leopard AI logo.
  • Leopard pattern renders on Chrome + iOS + Android with proper opacity (token-driven).
  • Asset regeneration is one command.

Branch

feature/SF-29-brand-assets.

Depends on

SF-23 (tokens consumed by assets).

Notes

The icon image in SF-22 has an edge-crop issue ("aber da gibt es einen rand der immer abgeschnitten werden muss, check selber") — the icon source must be re-exported with added padding before slicing to platform sizes.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9c532f4b0b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

lines.push(` public static let ${camel(key)} = Color(hex: "${v.hex}")`);
}
}
lines.push(" public static let panel = Color.black.opacity(0.78)");

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Generate panel color from tokens instead of hardcoded black

palette.neutral.panel in brand/tokens.json is rgba(18, 18, 22, 0.78), but the generator hardcodes Color.black.opacity(0.78) here (and similarly hardcodes black for Kotlin). That makes native outputs diverge from the declared source-of-truth token and means future token edits to neutral.panel will not propagate to generated Swift/Kotlin files, causing cross-platform visual drift once these tokens are consumed.

Useful? React with 👍 / 👎.

@alexanderbrunker-star
alexanderbrunker-star merged commit b5f37c7 into main Apr 19, 2026
5 checks passed
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