# Erudit icon — brand master The reference construction of the Erudit app icon. The authoritative, human-readable spec lives in [`docs/ICON_BRANDBOOK.md`](../../../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 ```sh 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`](../../../docs/ICONS.md).