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:
Binary file not shown.
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
@@ -39,8 +39,8 @@ git history clean.
|
|||||||
|
|
||||||
| Brand source | Drives |
|
| Brand source | Drives |
|
||||||
|---------------------------------|-----------------------------------------------|
|
|---------------------------------|-----------------------------------------------|
|
||||||
| `assets/brand/app-icon.svg` | Every full app icon, all favicons, PWA |
|
| `assets/brand/app-icon.svg` | Every full app icon, all favicons, PWA, in-app `logo.png` |
|
||||||
| `assets/brand/mark.svg` | Win/Linux tray, in-app logo, PWA maskable |
|
| `assets/brand/mark.svg` | Win/Linux tray, PWA maskable inner mark |
|
||||||
| `assets/brand/mark-mono-dark.svg` | macOS menu-bar template (alpha + black) |
|
| `assets/brand/mark-mono-dark.svg` | macOS menu-bar template (alpha + black) |
|
||||||
|
|
||||||
`Artworks-Backspace/` is the design archive — never read by this script.
|
`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})`);
|
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);
|
// SpaceSidebar's 40×40 rounded-[20px] tile uses object-cover. The full
|
||||||
trace('in-app-logo', join(WEB_ICONS, 'logo.png'), '256 (transparent)');
|
// 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 ---
|
// --- Summary ---
|
||||||
const fmtBytes = (n) => {
|
const fmtBytes = (n) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user