New PWA icons: slate/blue weather icon, distinct dashboard icon, safe-zone maskable
Publish Container / publish (push) Successful in 1m59s

- Redrawn sun-and-cloud icon in the current palette; artwork sits inside the maskable safe zone
  (the old one was clipped by round/squircle masks and used the old warm colours)
- Separate 'any' and 'maskable' manifest entries; opaque iOS touch icons
- Station Dashboard gets its own chart icon so both installed apps are distinguishable
- Vector favicon + PNG fallback; icons verified served by both manifests

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Nate EmmertandClaude Sonnet 5.5 committed 2026-10-15 14:13:01 -04:00
1 parent 72a4a3fe38
commit 023e6cb03c
16 files changed
+97 -25

No files matched your search

+21 -11
View File
@@ -1,12 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<!-- Solid background (fills corners for maskable safe zone) -->
<rect width="512" height="512" fill="#1a1a1a"/>
<!-- Sun -->
<circle cx="205" cy="205" r="70" fill="#e07848"/>
<!-- Cloud bumps (front, overlapping sun) -->
<circle cx="215" cy="325" r="72" fill="#ece7dc"/>
<circle cx="305" cy="297" r="88" fill="#ece7dc"/>
<circle cx="390" cy="328" r="62" fill="#ece7dc"/>
<!-- Cloud base (flat bottom) -->
<rect x="147" y="335" width="305" height="68" fill="#ece7dc"/>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024">
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#3b82f6"/><stop offset="1" stop-color="#0a1a40"/></linearGradient>
<radialGradient id="glow" cx="0.18" cy="0.1" r="0.7"><stop offset="0" stop-color="#fff" stop-opacity="0.28"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></radialGradient>
<radialGradient id="sun" cx="0.4" cy="0.4" r="0.7"><stop offset="0" stop-color="#ffe9a8"/><stop offset="1" stop-color="#f97316"/></radialGradient>
<radialGradient id="sunglow"><stop offset="0" stop-color="#fbbf24" stop-opacity="0.5"/><stop offset="1" stop-color="#fbbf24" stop-opacity="0"/></radialGradient>
<linearGradient id="cloud" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#c9dcf5"/></linearGradient>
<filter id="soft" x="-20%" y="-20%" width="140%" height="160%"><feGaussianBlur stdDeviation="22"/></filter>
</defs>
<rect width="1024" height="1024" fill="url(#bg)"/>
<rect width="1024" height="1024" fill="url(#glow)"/>
<circle cx="400" cy="430" r="230" fill="url(#sunglow)"/>
<circle cx="400" cy="430" r="132" fill="url(#sun)"/>
<g filter="url(#soft)" opacity="0.35" transform="translate(0 26)" fill="#06122e">
<circle cx="392" cy="572" r="96"/><circle cx="522" cy="522" r="126"/><circle cx="648" cy="582" r="86"/>
<rect x="300" y="560" width="432" height="132" rx="66"/>
</g>
<g fill="url(#cloud)">
<circle cx="392" cy="572" r="96"/><circle cx="522" cy="522" r="126"/><circle cx="648" cy="582" r="86"/>
<rect x="300" y="560" width="432" height="132" rx="66"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 559 B

After

Width:  |  Height:  |  Size: 1.7 KiB