fix(brand): logo.png uses full badge, not bare mark
The SpaceSidebar's home tile is a 40×40 rounded-[20px] squircle with object-cover. The original spec assumed the sidebar provides "the colour-circle frame," so logo.png shipped as the bare gradient B on transparent. In practice the tile is a transparent slot — the bare mark touched the squircle edges (no internal padding), conflicted with the active-state ring, and read as poorly-integrated. Switching to the full badge (Element 1 / app-icon.svg): the badge's own dark squircle bg fills the tile, its internal padding around the mark keeps the gradient off the edges, and the result reads as a clean Discord-style "home space" tile alongside the user's other spaces. Only logo.png regenerated; remaining 21 outputs byte-identical (determinism gate verified). Spec output matrix and generator README updated to reflect the corrected source mapping.
This commit is contained in:
@@ -39,8 +39,8 @@ git history clean.
|
||||
|
||||
| Brand source | Drives |
|
||||
|---------------------------------|-----------------------------------------------|
|
||||
| `assets/brand/app-icon.svg` | Every full app icon, all favicons, PWA |
|
||||
| `assets/brand/mark.svg` | Win/Linux tray, in-app logo, PWA maskable |
|
||||
| `assets/brand/app-icon.svg` | Every full app icon, all favicons, PWA, in-app `logo.png` |
|
||||
| `assets/brand/mark.svg` | Win/Linux tray, PWA maskable inner mark |
|
||||
| `assets/brand/mark-mono-dark.svg` | macOS menu-bar template (alpha + black) |
|
||||
|
||||
`Artworks-Backspace/` is the design archive — never read by this script.
|
||||
|
||||
@@ -200,8 +200,12 @@ async function main() {
|
||||
);
|
||||
trace('pwa-maskable', join(WEB_ICONS, 'icon-maskable-512.png'), `512 (60% mark on ${MASKABLE_BG})`);
|
||||
|
||||
await writePng(join(WEB_ICONS, 'logo.png'), mark, 256);
|
||||
trace('in-app-logo', join(WEB_ICONS, 'logo.png'), '256 (transparent)');
|
||||
// SpaceSidebar's 40×40 rounded-[20px] tile uses object-cover. The full
|
||||
// badge (Element 1) integrates cleanly because its dark bg fills the tile
|
||||
// and its internal padding keeps the mark off the tile edges. Bare mark
|
||||
// on transparent touched the tile edges and conflicted with active rings.
|
||||
await writePng(join(WEB_ICONS, 'logo.png'), appIcon, 256);
|
||||
trace('in-app-logo', join(WEB_ICONS, 'logo.png'), '256 (full badge)');
|
||||
|
||||
// --- Summary ---
|
||||
const fmtBytes = (n) => {
|
||||
|
||||
Reference in New Issue
Block a user