Skip to content

feat(brand): recolor the icon from purple to the site's pink - #858

Merged
cameri merged 5 commits into
mainfrom
feat/icon-pink
Oct 17, 2026
Merged

cameri merged 5 commits into
mainfrom
feat/icon-pink

Conversation

@chappie-daemon

@chappie-daemon chappie-daemon commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #853 and covers the README-logo part of the follow-up: the mark moves from purple to the site's pink accent, and the README logo stops depending on a user-images.githubusercontent.com upload.

What changed

image
  • website/site/src/assets/logo.png — hue-mapped the three purple bands to the pink ramp (preserving per-pixel saturation/value so anti-aliasing survives); zero visibly-purple pixels remain
  • website/site/public/favicon.webp (32px) and apple-touch-icon.webp (180px) — regenerated from the recolored source
  • resources/favicon.ico — all three BMP entries (16/20/30) recolored in place
  • Hero film re-rendered at 1080p (video + low) and media re-encoded (pnpm run media); the brand mark on the film is now pink; poster regenerated
  • README.md — logo src now points at a repo-hosted .github/assets/logo.jpg (recolored 1280px); .github/assets/logo.png added as the transparent master

Verification

  • Perceptual check on the recolored logo: 0 pixels where blue dominates red by >10 (the previous check caught near-white anti-aliasing pixels with 1–2 unit channel noise — not visible)
  • New poster: headline pink, magenta planet with its teal rim intact (by design), zero purple
  • Render pipeline: framefield renders in the GPU container (1020 frames × 2 quality passes), ffmpeg encode via pnpm run media

Issue #853. The mark (the TS-card graphic used as the site logo,
favicon, apple-touch-icon, relay favicon.ico, hero film brand mark
and README logo) was purple; the site accent is --pink #ff2e88.

- src/assets/logo.png: hue-mapped the three purple bands to the pink
  ramp, preserving per-pixel saturation and value so anti-aliasing
  survives; zero visibly-purple pixels remain
- favicon.webp (32px) + apple-touch-icon.webp (180px) regenerated
- resources/favicon.ico: recolored all three BMP entries in place
- hero film re-rendered at 1080p (video + low) and media re-encoded;
  poster regenerated - the brand mark on the film is now pink
- README logo moved off a user-images.githubusercontent.com upload to
  a repo-hosted .github/assets/logo.jpg (recolored), plus a master
  .github/assets/logo.png

Verified: no visible purple in the recolored logo, the poster, or the
ICO; the film renders and the poster keeps the magenta planet with
its teal rim (by design).
@changeset-bot

changeset-bot Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 4a48013

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
nostream-website Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

github-actions Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

🧹 Site preview for this PR was deleted (PR closed).

@cameri
cameri temporarily deployed to website-preview October 17, 2026 00:22 — with GitHub Actions Inactive
@greptile-apps

greptile-apps Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Low impact] The PR appears safe to merge; no actionable defects were found.

Summary

Changes the logo and icons to pink, refreshes the hero videos and poster, and moves the README logo into the repository.

  • Nostream’s site and hero media now use the site’s pink accent for the mark.
  • The README logo now comes from an image stored in the repository.

Reviews (1) · Last reviewed commit: "feat(brand): recolor the icon from purpl..." · Reviewed by Greptile

@cameri
cameri temporarily deployed to website-preview October 17, 2026 04:11 — with GitHub Actions Inactive
@cameri
cameri temporarily deployed to website-preview October 17, 2026 14:14 — with GitHub Actions Inactive
@cameri
cameri merged commit a0915b8 into main Oct 17, 2026
13 checks passed
@cameri
cameri deleted the feat/icon-pink branch October 17, 2026 22:14
@cameri
cameri temporarily deployed to website-preview October 17, 2026 22:14 — with GitHub Actions Inactive
cameri added a commit that referenced this pull request Nov 5, 2026
Closes #876

### What changed

`website/site/public/media/hero-poster.webp` is encoded at **1440×810**
instead of 1920×1080, and `scripts/build-media.mjs` resizes to 1440 so
the next `pnpm run media` keeps the size instead of restoring 1920.

1440 covers the box the film actually paints in: `Hero.astro` caps it at
`min(1180px, 80vw, film-h * 16/9)`, so at most 1180×664 CSS px — 1440 is
**1.22×** that, enough for a 1.25× display, and no `devicePixelRatio`
branch is needed. The 1359×764 in #876 was the layout before that cap
landed in #899, two days after the audit; the issue's numbers describe a
box the site no longer has.

### Before / after

| | bytes | dimensions |
|---|---|---|
| before | 42,926 | 1920 × 1080 |
| after | **30,878** | 1440 × 810 |

**−12,048 B, −28.1%.** Both below the issue's ≤ 45 KB bound.

Note the source file was already smaller than the 73,916 B the
2026-10-17 audit measured — it was re-encoded during the #858 rebrand —
so the absolute saving is smaller than the audit's 36.9 KiB estimate,
while the resolution waste it reported is removed.

### Visual check

SSIM of the new file against the old one, both scaled with lanczos to
the comparison size:

| comparison size | SSIM |
|---|---|
| 1180 × 664 (the film's CSS cap today) | 0.9968 |
| 1359 × 764 (the layout #876 measured) | 0.9964 |
| 2718 × 1528 (2× device pixels) | 0.9932 |

### `og:image` was never this file

The issue's second consumer no longer exists: `Base.astro` defaults
`ogImage` to `/media/social-card.png`, generated at 1200×630 by
`build-social-card.mjs` (#884). Nothing overrides it — `grep -rn
"ogImage=" website/site/src` returns only the default and the prop
declaration. So the "must stay 1920×1080" constraint does not apply, and
no second 1920 file is kept.

Built output confirms both:

```
dist/media/hero-poster.webp   30,878 B   1440,810
poster="/media/hero-poster.webp"
property="og:image" content="https://nostream.dev/media/social-card.png"
```

### Verification

- `pnpm build` in `website/site` succeeds (prebuild's brand + hero-NIP
checks included); the asset in `dist/media/` is the new one at 30,878 B.
- CLS: the film keeps `aspect-ratio: 16/9` on the `<video>`, unchanged
by this PR, so the poster's intrinsic size does not enter layout.

### Out of scope

`admin-poster.webp` and `peering-poster.webp` are encoded by the same
script at 1920 and have the same geometry mismatch. They are not
measured by this issue's audit and are left alone; the fix is one
`resize()` call each when someone measures them.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

<!-- coderabbit-ai-generated:v1 -->

## Summary by CodeRabbit

* **Performance**
* Reduced the landing page hero image width from 1920 to 1440 pixels,
lowering the image’s download size while preserving visual quality.
  * Social preview imagery remains unchanged.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

This branch was previously deployed

1 inactive deployment
website-preview — 4a480135 Deployed Oct 17, 2026 by cameri via preview #42
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.

Recolor the nostream icon from purple to the site's pink/magenta accent

3 participants