feat: redesign app icon with sunset palette

This commit is contained in:
2026-10-26 14:37:18 +01:00
parent 491252e35f
commit a2c8cc8e4d
3 changed files with 41 additions and 5 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ The first build downloads dependencies. Quit Terebi before updating, then run `m
To run without installing, use `make run`. The built `.build/terebi.app` is self-contained; no separate FFmpeg, Python or yt-dlp installation is needed at runtime. Builds are ad-hoc signed, not notarized. Bundled licenses and source archives are in the app's Resources; public binary redistribution needs a separate license audit. To run without installing, use `make run`. The built `.build/terebi.app` is self-contained; no separate FFmpeg, Python or yt-dlp installation is needed at runtime. Builds are ad-hoc signed, not notarized. Bundled licenses and source archives are in the app's Resources; public binary redistribution needs a separate license audit.
The television app icon uses a large, high-contrast screen and play symbol for small Dock sizes. It is bundled from `Resources/AppIcon.icns`; its editable vector source is `Resources/AppIcon.svg`. The app icon uses layered glass screens and the amber, ember, cream and dark-brown colors from the application's `SunsetPalette`, with a large play symbol for small Dock sizes. It is bundled from `Resources/AppIcon.icns`; its editable vector source is `Resources/AppIcon.svg`. Rasterize the SVG with AppKit to preserve its gradients and transparency.
## Usage ## Usage
Binary file not shown.
+40 -4
View File
@@ -1,6 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 320" width="1024" height="1024"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 320" width="1024" height="1024">
<path d="M128 68L98 32M164 68L196 26" fill="none" stroke="#faf3e4" stroke-width="16" stroke-linecap="round"/> <defs>
<rect x="24" y="64" width="272" height="224" rx="48" fill="#faf3e4"/> <linearGradient id="shell" x1="0%" y1="0%" x2="100%" y2="100%">
<rect x="44" y="84" width="232" height="184" rx="30" fill="#304a94"/> <stop offset="0%" stop-color="#49352b"/>
<path d="M136 133Q136 127 142 131L204 172Q210 176 204 180L142 221Q136 225 136 219Z" fill="#faf3e4"/> <stop offset="48%" stop-color="#2c211c"/>
<stop offset="100%" stop-color="#1f1714"/>
</linearGradient>
<linearGradient id="ember" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#f2943b"/>
<stop offset="100%" stop-color="#c2452e"/>
</linearGradient>
<linearGradient id="rim" x1="0%" y1="0%" x2="75%" y2="100%">
<stop offset="0%" stop-color="#ffe3b5"/>
<stop offset="40%" stop-color="#f2943b"/>
<stop offset="100%" stop-color="#c2452e"/>
</linearGradient>
<linearGradient id="glass" x1="0%" y1="0%" x2="80%" y2="100%">
<stop offset="0%" stop-color="#68432e"/>
<stop offset="50%" stop-color="#38241b"/>
<stop offset="100%" stop-color="#1f1714"/>
</linearGradient>
<linearGradient id="play" x1="0%" y1="0%" x2="60%" y2="100%">
<stop offset="0%" stop-color="#ffe3b5"/>
<stop offset="100%" stop-color="#f2943b"/>
</linearGradient>
<linearGradient id="shine" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#ffe3b5" stop-opacity=".22"/>
<stop offset="100%" stop-color="#ffe3b5" stop-opacity="0"/>
</linearGradient>
</defs>
<rect x="24" y="29" width="272" height="272" rx="62" fill="#1f1714" fill-opacity=".22"/>
<rect x="24" y="24" width="272" height="272" rx="62" fill="url(#shell)"/>
<rect x="25" y="25" width="270" height="270" rx="61" fill="none" stroke="#d9c7a6" stroke-opacity=".25" stroke-width="2"/>
<rect x="63" y="77" width="194" height="160" rx="31" transform="rotate(-12 160 157)" fill="url(#ember)"/>
<rect x="64" y="78" width="192" height="158" rx="30" transform="rotate(-12 160 157)" fill="none" stroke="#ffe3b5" stroke-opacity=".35" stroke-width="2"/>
<rect x="46" y="98" width="228" height="170" rx="37" fill="#1f1714" fill-opacity=".5"/>
<rect x="46" y="90" width="228" height="170" rx="37" fill="url(#rim)"/>
<rect x="54" y="98" width="212" height="154" rx="29" fill="url(#glass)"/>
<path d="M83 101H237Q263 101 263 127V143Q165 125 57 173V127Q57 101 83 101Z" fill="url(#shine)"/>
<path d="M136 137Q136 129 144 134L207 175Q215 180 207 185L144 226Q136 231 136 223Z" fill="#1f1714" fill-opacity=".65"/>
<path d="M136 130Q136 122 144 127L207 168Q215 173 207 178L144 219Q136 224 136 216Z" fill="url(#play)"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 456 B

After

Width:  |  Height:  |  Size: 2.5 KiB