The site wears the product's mark #140

Merged
paulhitt merged 1 commits from feat/new-brand-assets into main 2026-09-07 18:11:40 +00:00
paulhitt commented 2026-09-07 13:29:11 +00:00 (Migrated from gitlab.com)

The mark, everywhere

One artwork, one generator: Scripts/make-brand-assets.py writes the site favicons and og image, the iPhone AppIcon.png, and five Android density buckets. The outputs are generated — an icon edited in place is an icon that silently stops matching the next time the script runs, which is the same shape as the generated doc-page mistake this repo already made once.

Two things about the source

A leftover matte. The export carried RGB (33,33,33) at alpha 38 across the background — invisible on a dark page, a grey haze on a light one. The script strips anything below alpha 48.

The wordmark is interlocked with the emblem. "FlameNet" is drawn on the globe, and the speech bubbles hang down into the letter tops, so no rectangular crop takes the whole mark without catching text. The crop used, (280,0,1040,548), is the one that gets both bubbles and the flame arc and leaves the wordmark behind. Four candidate crops were rendered at 180/96/48px before this one was picked — the wordmark is unreadable at icon sizes, so the emblem is the half worth keeping.

Platform rules that cost a rejected build

  • iOS: no alpha channel. App Store Connect rejects an icon that has one, and the rejection arrives after the upload. The generator flattens onto the panel navy #121A2E.
  • Android: the safe zone. Content sits at 72% of the 108dp canvas, checked against both a circular and a squircle mask before landing rather than assumed.

assetVersion now hashes the brand images

Without it, a logo change alone leaves the hash where it was, so every browser that has ever loaded the site keeps serving the old mark out of cache — which looks exactly like the deploy not having happened.

Also here

The site had no favicon and no og:image at all, so a shared link rendered as a bare URL with a blank tab icon. Both now exist, plus apple-touch-icon and a 1200x630 social card. The nav and footer carried a purple gradient square — a placeholder that outlived its excuse.

Companion MRs

  • iPhone: feat/new-brand-icon on flamenet-messenger-ios
  • Android: feat/new-brand-icon on flamenet-messenger-android

Not changed, worth a separate decision

The site accent is purple; the logo is blue with an orange flame. They do not clash badly at 30px, but they are not one palette either.

## The mark, everywhere One artwork, one generator: `Scripts/make-brand-assets.py` writes the site favicons and og image, the iPhone `AppIcon.png`, and five Android density buckets. **The outputs are generated** — an icon edited in place is an icon that silently stops matching the next time the script runs, which is the same shape as the generated doc-page mistake this repo already made once. ## Two things about the source **A leftover matte.** The export carried RGB `(33,33,33)` at alpha 38 across the background — invisible on a dark page, a grey haze on a light one. The script strips anything below alpha 48. **The wordmark is interlocked with the emblem.** "FlameNet" is drawn *on* the globe, and the speech bubbles hang down into the letter tops, so no rectangular crop takes the whole mark without catching text. The crop used, `(280,0,1040,548)`, is the one that gets both bubbles and the flame arc and leaves the wordmark behind. Four candidate crops were rendered at 180/96/48px before this one was picked — the wordmark is unreadable at icon sizes, so the emblem is the half worth keeping. ## Platform rules that cost a rejected build - **iOS: no alpha channel.** App Store Connect rejects an icon that has one, and the rejection arrives *after* the upload. The generator flattens onto the panel navy `#121A2E`. - **Android: the safe zone.** Content sits at 72% of the 108dp canvas, checked against both a circular and a squircle mask before landing rather than assumed. ## `assetVersion` now hashes the brand images Without it, a logo change alone leaves the hash where it was, so every browser that has ever loaded the site keeps serving the old mark out of cache — which looks exactly like the deploy not having happened. ## Also here The site had **no favicon and no `og:image` at all**, so a shared link rendered as a bare URL with a blank tab icon. Both now exist, plus `apple-touch-icon` and a 1200x630 social card. The nav and footer carried a purple gradient square — a placeholder that outlived its excuse. ## Companion MRs - iPhone: `feat/new-brand-icon` on flamenet-messenger-ios - Android: `feat/new-brand-icon` on flamenet-messenger-android ## Not changed, worth a separate decision The site accent is purple; the logo is blue with an orange flame. They do not clash badly at 30px, but they are not one palette either.
paulhitt commented 2026-09-07 18:11:40 +00:00 (Migrated from gitlab.com)

mentioned in commit 7a9cbd1f32

mentioned in commit 7a9cbd1f3208440f1654ad9653ab6accbdd4dbf7
paulhitt (Migrated from gitlab.com) merged commit 7a9cbd1f32 into main 2026-09-07 18:11:40 +00:00
paulhitt commented 2026-09-09 18:58:47 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
Sign in to join this conversation.