Skip to content

feat(ha): expand canonical badge-icon vocabulary (grill/smoker/landscape + 20 more) - #482

Merged
badbread merged 2 commits into
mainfrom
feat/ha-icon-vocabulary-expansion
Aug 7, 2026
Merged

feat(ha): expand canonical badge-icon vocabulary (grill/smoker/landscape + 20 more)#482
badbread merged 2 commits into
mainfrom
feat/ha-icon-vocabulary-expansion

Conversation

@badbread

@badbread badbread commented Aug 6, 2026

Copy link
Copy Markdown
Owner

What

Expands the closed Home Assistant on-video badge icon vocabulary by 23 slugs, headlined by the outdoor-cooking icons an operator asked for — grill and smoker — plus outdoor path/garden lighting (landscape_light), and a sensible batch of commonly-needed HA device icons:

  • weather: cloud, rain, wind, storm, moon
  • media & compute: media_player, remote, game, mic, music, printer, server, computer, storage, phone
  • appliances / outdoor: coffee, plant
  • home & scheduling: home, calendar, timer

Vocabulary grows 67 → 90 slugs.

Cross-surface sync (the #438 contract)

Every slug is added in lockstep across all five surfaces so it renders a real native glyph everywhere instead of degrading to the generic sensor dot:

Surface File
Server source of truth services/api/src/ha.rs (CANONICAL_ICON_SLUGS)
Admin picker mirror services/api/src/admin.html (HA_ICON_SLUGS)
Android (Material) apps/android/.../feature/live/HaVisual.kt (badgeIconSlugs)
Desktop (Flutter) apps/desktop-flutter/lib/ui/ha_overlay/ha_icons.dart (kHaBadgeIconChoices)
iOS (SF Symbols) apps/ios/Crumb/Features/HomeAssistant/HomeAssistant.swift (HA.iconSlugToSymbol)

All five sets verified identical at 90 slugs. Every glyph was checked to exist on its platform's icon set at that platform's floor (Flutter classic Material Icons, Compose material-icons-extended, SF Symbols on the iOS 16 / macOS 13 floor). Where the iOS 16 floor has no dedicated glyph (outdoor cooking, kitchen appliances) the mapping leans on flame/smoke, consistent with the existing window-covering fallback pattern.

Notes

Additive: new icons render only after clients are rebuilt/shipped — a natural fit for the next client release. No migration, no API shape change.

…ape + 20 more)

Adds 23 slugs to the closed HA on-video badge icon vocabulary, headlined
by outdoor cooking (grill, smoker) and outdoor path/garden lighting
(landscape_light) that operators asked for, plus a sensible batch of
commonly-needed HA device icons: weather (cloud, rain, wind, storm, moon),
media/compute (media_player, remote, game, mic, music, printer, server,
computer, storage, phone), appliances/outdoor (coffee, plant), and
home/scheduling (home, calendar, timer).

Every slug is added in lockstep across all five surfaces so it renders a
real native glyph everywhere instead of degrading to the generic sensor
dot: the server-side source of truth CANONICAL_ICON_SLUGS
(services/api/src/ha.rs), the admin picker mirror (admin.html
HA_ICON_SLUGS), and the three client maps — Android Material
(HaVisual.kt), desktop Flutter (ha_icons.dart), iOS SF Symbols
(HomeAssistant.swift). Glyphs were verified to exist on each platform's
icon set at its floor (Flutter classic Material Icons, Compose
material-icons-extended, SF Symbols on the iOS 16 floor); where iOS 16 has
no dedicated glyph, outdoor cooking leans on flame/smoke, consistent with
the existing window-covering fallback pattern.

Additive: new icons render only after clients are rebuilt/shipped, a
natural fit for the next client release.

Signed-off-by: badbread <badbread@users.noreply.github.com>
… runs

Signed-off-by: badbread <badbread@users.noreply.github.com>
@badbread
badbread merged commit f6ada3f into main Aug 7, 2026
7 checks passed
@badbread
badbread deleted the feat/ha-icon-vocabulary-expansion branch August 7, 2026 02:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant