Skip to content

style(banner): match reference artwork with layered additive gold caption - #21

Merged
leochiu-a merged 1 commit into
mainfrom
style/banner-caption-additive-sheen
Jul 17, 2026
Merged

style(banner): match reference artwork with layered additive gold caption#21
leochiu-a merged 1 commit into
mainfrom
style/banner-caption-additive-sheen

Conversation

@leochiu-a

@leochiu-a leochiu-a commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Summary

Rework the canvas-rendered approved/victory banner caption so it reproduces the image-creator's Elden "Victory" look on GitHub's dark theme, matching the reference banner artwork in src/assets/*.png.

The caption is two layers:

  • Face — the image-creator's deep matte gold 220,175,45, a single clean opaque pass.
  • Sheen — the warm ghost 255,208,66 @ 0.18, stacked on top of the face and blended additively via mix-blend-mode: plus-lighter (falling back to screen).

Where the sheen aligns over the face it adds to it — the bright overlap tone (~255,213,57); where it spreads past the letters it becomes the dim offset echo. So overlapping text shows a real blended colour (the layered-gold look) instead of flat gold. The sheen stays a separate layer (stacking order band → caption → sheen) so its outward spread (scaleX → 1.11) can animate after the fade-in.

Why

The old caption read wrong on GitHub's dark theme (variously too dark, too bright, or flat). Root causes found along the way:

  • The reference PNGs have transparent backgrounds, so viewing the file over white looks like "grey band + matte gold," but overlaid on the dark page the true target is a deep matte gold — verified by compositing the reference PNG and the canvas render on the same dark background.
  • The signature look comes from the additive ghost: overlap → brighter, offset → dim echo. screen can't reproduce that additive brightening; plus-lighter (true additive) can, and renders correctly in Chrome.

Changes

  • eldenBanner.ts — face = single opaque deep gold; sheen = additive ghost 255,208,66 @ 0.18.
  • banner.ts — layer order band → caption → sheen (sheen on top).
  • styles.css.banner-sheen uses mix-blend-mode: plus-lighter (fallback screen); animated spread widened to scaleX(1.11).
  • *.test.ts — updated the caption pass-count and the layer-order assertion (sheen now follows caption).

Test plan

  • vitest run src/content/eldenBanner.test.ts — pass
  • npm run build — succeeds
  • Side-by-side browser verification: reference PNG vs canvas render composited on the same dark background — overlap tone, dim echo, and brightness match
  • CI green (Lint & Type Check, Build, Changeset)
  • Load dist/ as an unpacked extension and confirm on a real GitHub PR

Known limitation

The reference art uses Agmena Pro (Adobe Typekit), which the extension doesn't bundle, so it falls back to Georgia — slightly different letterforms. Bundling a close free serif could narrow this in a separate change.

🤖 Generated with Claude Code

@leochiu-a
leochiu-a force-pushed the style/banner-caption-additive-sheen branch from d035320 to 18298d9 Compare July 17, 2026 13:51
…tion

Rework the canvas caption to reproduce the image-creator's Elden "Victory" look
on GitHub's dark theme: a deep matte gold face (220,175,45) with the warm ghost
(255,208,66 @ 0.18) stacked on top and blended additively via
mix-blend-mode:plus-lighter (fallback screen). Where the ghost aligns over the
face it adds to it — the bright overlap tone (~255,213,57); where it spreads it
becomes the dim offset echo, so overlapping text shows a real blended colour
instead of flat gold. The ghost stays a separate layer (band -> caption ->
sheen) so its outward spread (scaleX -> 1.11) animates after the fade-in.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@leochiu-a
leochiu-a force-pushed the style/banner-caption-additive-sheen branch from 18298d9 to 3f555cd Compare July 17, 2026 13:54
@leochiu-a leochiu-a changed the title style(banner): brighten caption with additive gold sheen style(banner): match reference artwork with layered additive gold caption Jul 17, 2026
@leochiu-a
leochiu-a merged commit 748a6fe into main Jul 17, 2026
3 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