diff --git a/brand/README.md b/brand/README.md index 2c1cd6935..07178157b 100644 --- a/brand/README.md +++ b/brand/README.md @@ -41,13 +41,15 @@ polygons). The Windows `.ico` and the favicons render each size from the vector, | `brand/profile/github-org-512.png` | organisation avatar | github.com/igneum-network (uploaded by hand from the Igneum Chrome profile) | | `brand/profile/x-banner-1500x500.png` | X header | the mark centred on obsidian | | `brand/igneum-icon-512.png`, `igneum-icon-1024.png` | the square at 512 and 1024 | the same as the profile files; kept for links that already point here | +| `site/og-small.png` (256 square), `og-square.png` (1024), `og-coin.png` and `og.png` (1200 x 630 card: mark left, IGNEUM wordmark, tagline) | share images, `?v=2` in every `og:image` and `twitter:image` | index, live, litepaper (`og-small`); bench, evidence, `build.mjs` (`og`) | +| `brand/profile/github-social-1280x640.png` | repository social preview | github.com/igneum-network/igneum settings (by hand) | +| `brand/profile/vercel-avatar-512.png` | Vercel team or project avatar | by hand | Inline SVG favicons (the `data:` link in every page head) carry the same square and mark, so a page shows the right icon before the `.ico` loads. ## Not regenerated -- `site/og-small.png`, `og-square.png`, `og-coin.png`: the social card design, left as it was by instruction (4 October 2026). - `brand/igneum-coin-1024.png`: the old ringed coin. Retired as a source; nothing reads it now. - `brand/igneum-mark-transparent-1024.png`, the wordmark PNGs and `Unbounded.ttf`: unchanged. diff --git a/brand/icons/make-icons.py b/brand/icons/make-icons.py index cf6474514..9c21ea5c6 100644 --- a/brand/icons/make-icons.py +++ b/brand/icons/make-icons.py @@ -22,6 +22,8 @@ Outputs: brand/profile/ profile-400.png, profile-512.png, profile-1024.png (X, Discord, Telegram, LinkedIn), github-org-512.png, x-banner-1500x500.png (the mark centred on obsidian) brand/igneum-icon-512.png and igneum-icon-1024.png are refreshed from the master as well. + site/og-small.png (256), og-square.png (1024), og-coin.png and og.png (1200x630 card), brand/profile/github-social-1280x640.png, + vercel-avatar-512.png: the share images (make_social), the mark on obsidian, never the old ringed coin. Rendering: rsvg-convert when it is installed (brew install librsvg), else Pillow draws the master's rect and polygons itself at 4x to 16x supersampling (the mark is two polygons, so this is exact). cairosvg is not used: the conda build on @@ -270,6 +272,32 @@ def make_profile(): out.append(save_png(render(1024).convert('RGB'), os.path.join(BRAND, 'igneum-icon-1024.png'))) return out +def card(w, h, tile, cx, cy, title_x): + """The share-card layout: the mark on obsidian at (cx, cy), the IGNEUM wordmark, tagline and subline to the right. + Same layout as the old og-coin.png; the ringed coin and its glow are replaced by the master mark (the square merges + with the ground, so nothing but the mark shows: no ring, no edge).""" + im = Image.new('RGBA', (w, h), OBSIDIAN + (255,)) + paste_centre(im, render(tile), cx, cy) + k = h / 630 + im.alpha_composite(wordmark('IGNEUM', int(84 * k), BONE, 'Bold'), (title_x, int(cy - 92 * k))) + im.alpha_composite(wordmark('Mined by GPUs. Proven by fire.', int(31 * k), MOLTEN, 'SemiBold'), (title_x, int(cy + 20 * k))) + im.alpha_composite(wordmark('The GPU-mined layer 1 \u00b7 igneum.network', int(19 * k), (150, 148, 145), 'Regular'), (title_x, int(cy + 72 * k))) + return im.convert('RGB') + +def make_social(): + """Share images. og-small.png stays a 256 square (the compact card chat apps show; its pages declare 256x256 and + twitter:card summary), og-square.png 1024 square, og-coin.png and og.png the 1200x630 card (og.png is what bench.html, + evidence.html and build.mjs reference), github-social-1280x640.png the repository social preview.""" + out = [] + out.append(save_png(render(256).convert('RGB'), os.path.join(SITE, 'og-small.png'))) + out.append(save_png(render(1024).convert('RGB'), os.path.join(SITE, 'og-square.png'))) + c = card(1200, 630, 300, 276, 315, 532) + out.append(save_png(c, os.path.join(SITE, 'og-coin.png'))) + out.append(save_png(c, os.path.join(SITE, 'og.png'))) + out.append(save_png(card(1280, 640, 306, 300, 320, 560), os.path.join(PROFILE, 'github-social-1280x640.png'))) + out.append(save_png(render(512).convert('RGB'), os.path.join(PROFILE, 'vercel-avatar-512.png'))) + return out + def main(): made = [] made.append(save_png(render(256), os.path.join(HERE, 'igneum-256.png'))) @@ -284,6 +312,7 @@ def main(): made += make_site(SITE) made += make_site(RELAY, full=False) made += make_profile() + made += make_social() for f in sorted(os.listdir(HERE)): p = os.path.join(HERE, f) if os.path.isfile(p) and not f.endswith('.py'): diff --git a/brand/profile/github-social-1280x640.png b/brand/profile/github-social-1280x640.png new file mode 100644 index 000000000..226a2679f Binary files /dev/null and b/brand/profile/github-social-1280x640.png differ diff --git a/brand/profile/vercel-avatar-512.png b/brand/profile/vercel-avatar-512.png new file mode 100644 index 000000000..d6cd427e2 Binary files /dev/null and b/brand/profile/vercel-avatar-512.png differ diff --git a/site/bench.html b/site/bench.html index 489a83fda..ad0e323d3 100644 --- a/site/bench.html +++ b/site/bench.html @@ -12,14 +12,14 @@ - - - + + + - + - + diff --git a/site/build.mjs b/site/build.mjs index 6069634ae..18b21a518 100644 --- a/site/build.mjs +++ b/site/build.mjs @@ -58,14 +58,14 @@ function meta(title, desc, path) { - - - + + + - + - + diff --git a/site/evidence.html b/site/evidence.html index 504cd1ec2..b32ba8755 100644 --- a/site/evidence.html +++ b/site/evidence.html @@ -12,14 +12,14 @@ - - - + + + - + - + diff --git a/site/index.html b/site/index.html index 224bb7ce5..edb6a1bf8 100644 --- a/site/index.html +++ b/site/index.html @@ -12,14 +12,14 @@ - + - + diff --git a/site/litepaper.html b/site/litepaper.html index c2802ef5d..f92145b58 100644 --- a/site/litepaper.html +++ b/site/litepaper.html @@ -12,14 +12,14 @@ - + - + diff --git a/site/live.html b/site/live.html index 584029433..1cbb86be4 100644 --- a/site/live.html +++ b/site/live.html @@ -12,14 +12,14 @@ - + - + diff --git a/site/og-coin.png b/site/og-coin.png index 2e4e0dbaf..f38ddc727 100644 Binary files a/site/og-coin.png and b/site/og-coin.png differ diff --git a/site/og-small.png b/site/og-small.png index 2eea54acf..3694c6936 100644 Binary files a/site/og-small.png and b/site/og-small.png differ diff --git a/site/og-square.png b/site/og-square.png index 900b01f23..5123c561c 100644 Binary files a/site/og-square.png and b/site/og-square.png differ diff --git a/site/og.png b/site/og.png new file mode 100644 index 000000000..f38ddc727 Binary files /dev/null and b/site/og.png differ