Files
scrabble-game/assets/icons/brand
Ilia Denisov dbe2c4cb94
CI / changes (pull_request) Successful in 3s
CI / unit (pull_request) Successful in 11s
CI / integration (pull_request) Successful in 23s
CI / ui (pull_request) Successful in 1m13s
CI / conformance (pull_request) Successful in 9s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m54s
feat(icons): rebrand app icon; slice the full set from one master
The SVG tracer export failed, so the icon was designed collaboratively from
scratch: a wooden «Э» tile with a ✻ score-subscript in Spectral Bold, wood
grain and diagonal light/shadow. Construction is specified in fractions of the
side in docs/ICON_BRANDBOOK.md; the reference generator, pinned Spectral font
and committed masters live in assets/icons/brand/.

One master -> the whole set (assets/icons/brand/build-set.mjs + build-android-res.mjs):
- web (ui/public): favicon.svg (light+dark via prefers-color-scheme), favicon.ico,
  apple-touch, PWA any + maskable (+ dark variants), og-image reskinned to
  «Эрудит» / Игра в слова
- Capacitor layers: ui/assets/{icon,icon-foreground,icon-background}.png
- Android launcher res, all densities, NO inset, + monochrome themed layer
  (anydpi xml: background+foreground+monochrome)
- manual-upload art: assets/icons/brand/{vk,tg,store} (square, no rounding)

Primary variant light; dark where the platform can theme (favicon.svg). The old
LiberationSans generator (assets/icons/build) is removed; docs/ICONS.md retargeted
onto the single master. ANDROID_PLAN icon-rebrand item marked done.
2026-07-13 21:49:29 +02:00
..

Erudit icon — brand master

The reference construction of the Erudit app icon. The authoritative, human-readable spec lives in docs/ICON_BRANDBOOK.md; this folder holds the machine reproduction of exactly what that document describes.

File What
build-icon.mjs reference generator — every dimension is a fraction of the side, matching the brand book
render-png.mjs rasterises an icon SVG to PNG via the ui package's Playwright chromium
Spectral-Bold.ttf the «Э» typeface (SIL OFL, Spectral-OFL.txt) — pinned so the letter never drifts
icon-light.svg / .png the light master (1024)
icon-dark.svg / .png the dark master (1024)
icon-construction.svg / .png the percent-annotated construction scheme (figure in the brand book)

Regenerate

cd assets/icons/brand
npm i opentype.js                       # the only extra dep; render uses ui's chromium

node build-icon.mjs --variant light  > icon-light.svg
node build-icon.mjs --variant dark   > icon-dark.svg
node build-icon.mjs --variant light --scheme > icon-construction.svg

node render-png.mjs icon-light.svg  icon-light.png  1024
node render-png.mjs icon-dark.svg   icon-dark.png   1024
node render-png.mjs icon-construction.svg icon-construction.png 2048

The SVGs are resolution-free; render at any size. Downstream slicing (favicon / PWA / iOS / Android) is a separate step — see docs/ICONS.md.