From 2d3b957551d9145d32500e03c5ae8962365e062d Mon Sep 17 00:00:00 2001 From: MelekTaus Date: Tue, 13 Oct 2026 14:23:54 +0200 Subject: [PATCH] Add the Feuerwerk logo files and a favicon for the editor The project has a name and a logo now, but neither the editor tab nor the repo carried it. The logo existed only as a design mockup. - public/brand/ holds the logo in three layouts: the icon alone, the wordmark to the right and the wordmark below. Each comes in a light and a dark variant, with a transparent background. - The geometry is taken from the mockup. Strokes are rebuilt as filled shapes. The wordmark is Manrope Bold converted to paths, with the font's kerning and -0.03em tracking, so no installed font is needed. - The favicon is the dark icon on a rounded #15171B tile, as SVG plus favicon.ico (16, 32, 48 px) and a 180 px apple-touch-icon. Only the editor page links it. play.html shows the games and stays without. - nginx serves the folder as /feuerwerk/public/brand/. Vite has no publicDir, so the files are not copied into dist/. Findings: - At 16 px the strokes get thinner than one pixel and the icon blurs. From 32 px on it is clean. Tests: - Rendered in Chromium at 3x against the mockup: the icon matches to 7 of 255 per channel, wordmark edges sit within 1 device pixel. - Prettier on web/index.html clean. No full gate, the change has no code in it. Co-Authored-By: Claude Opus 5.5 --- public/brand/apple-touch-icon.png | Bin 0 -> 2326 bytes public/brand/favicon.ico | Bin 0 -> 2986 bytes public/brand/favicon.svg | 8 ++++++++ public/brand/feuerwerk-icon-dark.svg | 7 +++++++ public/brand/feuerwerk-icon-light.svg | 7 +++++++ public/brand/feuerwerk-logo-horizontal-dark.svg | 8 ++++++++ public/brand/feuerwerk-logo-horizontal-light.svg | 8 ++++++++ public/brand/feuerwerk-logo-stacked-dark.svg | 8 ++++++++ public/brand/feuerwerk-logo-stacked-light.svg | 8 ++++++++ web/index.html | 3 +++ 10 files changed, 57 insertions(+) create mode 100644 public/brand/apple-touch-icon.png create mode 100644 public/brand/favicon.ico create mode 100644 public/brand/favicon.svg create mode 100644 public/brand/feuerwerk-icon-dark.svg create mode 100644 public/brand/feuerwerk-icon-light.svg create mode 100644 public/brand/feuerwerk-logo-horizontal-dark.svg create mode 100644 public/brand/feuerwerk-logo-horizontal-light.svg create mode 100644 public/brand/feuerwerk-logo-stacked-dark.svg create mode 100644 public/brand/feuerwerk-logo-stacked-light.svg diff --git a/public/brand/apple-touch-icon.png b/public/brand/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a67c930fe745b1be4c6607b4f68825ade00a893f GIT binary patch literal 2326 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 +Feuerwerk + + + + + + diff --git a/public/brand/feuerwerk-icon-dark.svg b/public/brand/feuerwerk-icon-dark.svg new file mode 100644 index 00000000..d58c01d6 --- /dev/null +++ b/public/brand/feuerwerk-icon-dark.svg @@ -0,0 +1,7 @@ + +Feuerwerk + + + + + diff --git a/public/brand/feuerwerk-icon-light.svg b/public/brand/feuerwerk-icon-light.svg new file mode 100644 index 00000000..cf4c4c4a --- /dev/null +++ b/public/brand/feuerwerk-icon-light.svg @@ -0,0 +1,7 @@ + +Feuerwerk + + + + + diff --git a/public/brand/feuerwerk-logo-horizontal-dark.svg b/public/brand/feuerwerk-logo-horizontal-dark.svg new file mode 100644 index 00000000..21438620 --- /dev/null +++ b/public/brand/feuerwerk-logo-horizontal-dark.svg @@ -0,0 +1,8 @@ + +Feuerwerk + + + + + + diff --git a/public/brand/feuerwerk-logo-horizontal-light.svg b/public/brand/feuerwerk-logo-horizontal-light.svg new file mode 100644 index 00000000..78cf3cc5 --- /dev/null +++ b/public/brand/feuerwerk-logo-horizontal-light.svg @@ -0,0 +1,8 @@ + +Feuerwerk + + + + + + diff --git a/public/brand/feuerwerk-logo-stacked-dark.svg b/public/brand/feuerwerk-logo-stacked-dark.svg new file mode 100644 index 00000000..28da4659 --- /dev/null +++ b/public/brand/feuerwerk-logo-stacked-dark.svg @@ -0,0 +1,8 @@ + +Feuerwerk + + + + + + diff --git a/public/brand/feuerwerk-logo-stacked-light.svg b/public/brand/feuerwerk-logo-stacked-light.svg new file mode 100644 index 00000000..32139457 --- /dev/null +++ b/public/brand/feuerwerk-logo-stacked-light.svg @@ -0,0 +1,8 @@ + +Feuerwerk + + + + + + diff --git a/web/index.html b/web/index.html index 7b785f29..00aa46fa 100644 --- a/web/index.html +++ b/web/index.html @@ -4,6 +4,9 @@ Feuerwerk + + +