# Skyfeed Visual Style Guide **Leak Technologies β€” Terminal Weather Aesthetic** This document defines the Unicode-based icon system used throughout Skyfeed. It ensures full coverage for Environment Canada’s weather, hazard, and advisory conditions. All symbols are **terminal-safe**, **monospace-friendly**, and intentionally minimalist β€” reflecting Skyfeed’s philosophy of *pure data without visual clutter*. --- ## 🌀️ Weather & Sky Conditions | Code | Symbol | Meaning | |------|:------:|---------| | clear / sunny | β˜€ | Clear sky / sunshine | | mostly_clear / mainly_clear | 🌀 | Few clouds | | partly_cloudy | β›… | Partial cloud cover | | mostly_cloudy | πŸŒ₯ | Cloudy with breaks | | cloudy / overcast | ☁ | Fully overcast | | night_clear | πŸŒ™ | Clear night sky | | night_partly_cloudy | πŸŒƒ | Partial clouds at night | | night_cloudy | ☁ | Cloudy night | --- ## 🌧️ Rain & Precipitation | Code | Symbol | Meaning | |------|:------:|---------| | rain / showers | 🌧 | Steady or intermittent rain | | light_rain | 🌦 | Light rainfall / isolated showers | | heavy_rain / rain_heavy | 🌧 | Heavy or prolonged rain | | drizzle | πŸ’§ | Light drizzle | | freezing_rain / freezing_drizzle | 🧊 | Freezing precipitation | | freezing_spray | 🧊 | Sea spray or freezing rain near coasts | | mixed_rain_snow / mixed_precipitation | πŸŒ§β„ | Mixed or changing precipitation | | rainfall_warning | 🌧 | Heavy rainfall advisory | --- ## ❄️ Snow / Ice / Winter Weather | Code | Symbol | Meaning | |------|:------:|---------| | snow | ❄ | General snowfall | | flurries / snow_grains | ❆ | Light flurries or grains | | heavy_snow | ❅ | Intense snowfall | | blowing_snow / drifting_snow | 🌬 | Snow driven by wind | | ice_pellets / sleet / graupel | 🧊 | Ice pellets / sleet / graupel | | hail | 🧊 | Hailstones | | frost | ❄ | Frost or frost advisories | | black_ice | ⚫ | Black ice conditions | | snow_pellets | ❄ | Fine ice particles | --- ## β›ˆοΈ Thunderstorms & Severe Weather | Code | Symbol | Meaning | |------|:------:|---------| | thunderstorm / thundershowers | β›ˆ | Thunderstorms or heavy showers | | lightning | ⚑ | Lightning observed | | tstorm / storm | β›ˆ | Electrical storms | | funnel_cloud / waterspout / tornado | πŸŒͺ | Tornadic activity or funnel clouds | --- ## 🌬️ Wind / Gale / Tropical Systems | Code | Symbol | Meaning | |------|:------:|---------| | wind / strong_wind | πŸ’¨ | Strong or gusty wind | | gusty | πŸ’¨ | Occasional gusts | | gale / gale_warning | πŸ’¨ | Gale-force winds | | wind_chill | πŸ₯Ά | Wind chill warning | | hurricane / cyclone / typhoon / tropical_storm | πŸŒ€ | Tropical or post-tropical storm | --- ## 🌫️ Visibility & Air Quality | Code | Symbol | Meaning | |------|:------:|---------| | fog / dense_fog | 🌫 | Fog or dense fog | | freezing_fog | 🌫 | Freezing fog | | mist / haze | γ€° | Reduced visibility | | smoke / ash / dust / blowing_dust | πŸ’¨ | Airborne particulates (smoke, ash, dust) | | smog | 🌫 | Air pollution / smog | | low_visibility / poor_visibility | πŸ‘β€πŸ—¨ | Travel visibility reduced | | air_quality / air_pollution / air_quality_alert | 🚭 | Air quality advisory | --- ## 🌑️ Temperature Extremes | Code | Symbol | Meaning | |------|:------:|---------| | cold / extreme_cold | πŸ₯Ά | Cold or extreme cold warning | | hot / heat / heat_wave | 🌑 | Hot temperatures | | heat_warning / extreme_heat | πŸ”₯ | Heat alert or extreme heat | --- ## 🌊 Hydrological / Flood / Marine | Code | Symbol | Meaning | |------|:------:|---------| | flood / flash_flood | 🌊 | Flooding / flash flood | | flood_warning | 🌊 | Official flood warning | | storm_surge / tsunami / rip_current | 🌊 | Coastal or tidal hazard | | marine_warning / wave | βš“ | Marine advisory | --- ## πŸš— Travel / Road / Ice Hazards | Code | Symbol | Meaning | |------|:------:|---------| | travel_advisory | πŸš— | Hazardous travel conditions | | black_ice_warning / slippery_roads | ⚫ | Black ice / slippery roads | | road_closure | β›” | Road closed due to conditions | | freezing_rain_warning | 🧊 | Freezing rain warning | --- ## πŸ”₯ Fire / Environmental Hazards | Code | Symbol | Meaning | |------|:------:|---------| | wildfire / forest_fire | πŸ”₯ | Wildfire or forest fire | | fire_weather | πŸ”₯ | Elevated fire risk | --- ## ⚠️ Alerts / Advisories / Statements | Code | Symbol | Meaning | |------|:------:|---------| | alert | ⚠ | General alert | | advisory | ⚑ | Advisory (lower severity) | | watch | πŸ‘ | Watch (monitor closely) | | warning | ⚠ | Warning (take action) | | statement / special_weather_statement | β„Ή | General information statement | | hazardous_weather | ☣ | Dangerous atmospheric conditions | | danger | ☠ | Extreme hazard | | ok | βœ“ | Normal / no hazard | | unknown | β—Œ | Unknown or unclassified | --- ## 🧱 Design Intent - **No branding inside the display.** Skyfeed’s presentation is pure data β€” branding belongs on the backend. - **Colour palette:** - Foreground accent: `#00BFFF` (sky blue) - Secondary highlight: `#FFD300` (sunny yellow) - Warnings: `#FF4040` (alert red) - Background: `#000000` (pure black) These colours correspond to the *skyfeed_default* theme in `src/ui/theme.py`. - **Typeface:** `assets/fonts/Modeseven.ttf` β€” a Teletext-era monospaced bitmap font. - **Visual tone:** β€œModern retro” β€” inspired by Ceefax and MS-DOS, emphasizing clarity and precision. --- ## 🧩 Developer Reference Each `condition_code` from `src/core/weather_client.py β†’ _normalize_condition()` maps one-to-one with the `WEATHER_ICONS` dictionary. If a new weather phrase appears in the Environment Canada feeds: 1. Add the normalized `condition_code` in `weather_client.py`. 2. Add its Unicode equivalent in `weather_symbols.py`. 3. Update this document. --- **Maintainer:** Leak Technologies **Revision:** v1.0.0 (November 2025)