feat(web): add Bunyip favicon derived from hero art #335

Merged
vas2000-work merged 2 commits from feat/BUNYIP-339-favicon into main 2026-07-04 06:07:40 +02:00
Owner

What

Adds a favicon for bunyip-web. Previously no favicon was wired into the SSR document head, so browsers rendered a blank tab icon.

The icon is a face crop of the existing hero art (bunyip-web/assets/bunyip-hero.png) with rounded corners and a fully transparent corner background. The full pond scene is illegible at 16-32px, so cropping to the creature's face keeps it recognizable at tab size.

Assets

High-res set under bunyip-web/assets/, served via the existing /assets ServeDir:

  • favicon.ico (multi-size: 16 / 32 / 48)
  • favicon-16x16.png, favicon-32x32.png, favicon-48x48.png, favicon-192x192.png, favicon-512x512.png
  • apple-touch-icon.png (180x180)

Corners are rounded per-size (round after downscale, then a black-thresholded alpha mask) so the small sizes have crisply transparent corners rather than an anti-aliased green seam. Verified corner pixels are alpha 0 at every size.

Head wiring

bunyip-web/src/views/layout.rs gains the link rel="icon" set plus the apple-touch-icon link, right after <title>.

Verification

Local pre-commit hook (fmt + clippy -D warnings + workspace tests) passed green.

Notes

Framing (face crop vs full scene) and the rounded-corner radius can be refined later if desired.

#BUNYIP-339

## What Adds a favicon for bunyip-web. Previously no favicon was wired into the SSR document head, so browsers rendered a blank tab icon. The icon is a face crop of the existing hero art (`bunyip-web/assets/bunyip-hero.png`) with rounded corners and a fully transparent corner background. The full pond scene is illegible at 16-32px, so cropping to the creature's face keeps it recognizable at tab size. ## Assets High-res set under `bunyip-web/assets/`, served via the existing `/assets` ServeDir: - `favicon.ico` (multi-size: 16 / 32 / 48) - `favicon-16x16.png`, `favicon-32x32.png`, `favicon-48x48.png`, `favicon-192x192.png`, `favicon-512x512.png` - `apple-touch-icon.png` (180x180) Corners are rounded per-size (round after downscale, then a black-thresholded alpha mask) so the small sizes have crisply transparent corners rather than an anti-aliased green seam. Verified corner pixels are alpha 0 at every size. ## Head wiring `bunyip-web/src/views/layout.rs` gains the `link rel="icon"` set plus the apple-touch-icon link, right after `<title>`. ## Verification Local pre-commit hook (fmt + clippy -D warnings + workspace tests) passed green. ## Notes Framing (face crop vs full scene) and the rounded-corner radius can be refined later if desired. #BUNYIP-339
feat(web): add Bunyip favicon derived from hero art
All checks were successful
E2E / Playwright against deployment (pull_request) Successful in 35s
Check / fmt + clippy + build + tests (pull_request) Successful in 15m53s
9239431082
No favicon was wired up, so browsers showed a blank tab icon. Add a favicon set cropped to the bunyip creature's face from the existing hero art (bunyip-hero.png), with rounded corners and fully transparent corner background. Ship a high-res set (16/32/48/192/512 PNG, a multi-size favicon.ico, and a 180px apple-touch-icon) and wire the link tags into the SSR document head, served via the existing /assets ServeDir. Corners are rounded per-size (round after downscale) so the small sizes stay crisply transparent rather than leaving an anti-aliased seam.

#BUNYIP-339

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fix(web): serve favicon.ico at the web root
All checks were successful
E2E / Playwright against deployment (pull_request) Successful in 28s
Check / fmt + clippy + build + tests (pull_request) Successful in 9m40s
Create release / Create release from merged PR (pull_request) Has been skipped
b5452822f4
Browsers fire a legacy GET /favicon.ico at the site root on every page load, independent of the <link rel="icon"> tags in <head>. bunyip-web only serves static files under /assets (ServeDir), so the apex a8n.systems returned 404 for /favicon.ico. Add a route_service that serves assets/favicon.ico at the root path so the probe resolves.

#BUNYIP-339

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
vas2000-work scheduled this pull request to auto merge when all checks succeed 2026-07-04 05:58:10 +02:00
vas2000-work deleted branch feat/BUNYIP-339-favicon 2026-07-04 06:07:40 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/bunyip!335
No description provided.