Skip to content

Add Überturbine 20" wheel for Model 3 and fix widget image parity#185

Merged
vide merged 1 commit intomainfrom
feat/uberturbine-20-wheel-and-widget-image-fix
Feb 25, 2026
Merged

Add Überturbine 20" wheel for Model 3 and fix widget image parity#185
vide merged 1 commit intomainfrom
feat/uberturbine-20-wheel-and-widget-image-fix

Conversation

@vide
Copy link
Owner

@vide vide commented Feb 25, 2026

Summary

  • Add missing W32D (Überturbine 20" Gunpowder) wheel assets for Legacy Model 3, covering all 7 exterior colors
  • Map UberTurbine20Gunpowder wheel type from TeslamateAPI to the correct compositor code W32D in CarImageResolver
  • Fix the home screen widget showing different wheels than the dashboard by reading the user's image override from SettingsDataStore

Details

Wheel issue: A user with a Model 3 Legacy reported wheel_type: "UberTurbine20Gunpowder" from the API. This pattern was not mapped in WHEEL_PATTERNS_M3, causing a silent fallback to the default 18" Aero wheels (W38B). The correct compositor code is W32D — verified by downloading from Tesla's compositor and comparing with known W32P (Performance 20") images.

Widget parity: The widget's loadCarBitmap() only called CarImageResolver.getAssetPath() with raw API data, completely ignoring the user's manual image override set via the car image picker dialog. The dashboard checked for overrides first. Now the widget reads the same SettingsDataStore.carImageOverrides and uses getAssetPathForOverride() when an override is present, ensuring both views always show the same car picture.

Files changed

  • CarImageResolver.kt — added uberturbine20 → W32D pattern, display name, variant wheel list
  • fetch_tesla_assets.py — added W32D to Legacy M3 wheel list
  • CarWidgetDisplayData.kt — added imageOverride field
  • CarWidgetUpdateWorker.kt — inject SettingsDataStore, read + pass image overrides
  • CarWidget.kt — persist override in Glance prefs, use it in loadCarBitmap()
  • 7 new PNG assets: m3_{color}_W32D.png

Test plan

  • Verify a Model 3 with UberTurbine20Gunpowder wheels now auto-detects correctly (dark 20" Überturbine)
  • Verify the car image picker shows 4 wheel options for Legacy Model 3 (18" Aero, 19" Sport, 20" Performance, 20" Überturbine)
  • Set an image override in the picker and verify the home screen widget updates to show the same image
  • Reset the override and verify both dashboard and widget revert to API-detected wheels

🤖 Generated with Claude Code

Add missing W32D (Überturbine 20" Gunpowder) wheel assets for Legacy
Model 3 in all 7 colors. The API reports "UberTurbine20Gunpowder" which
was not mapped, causing a fallback to the default 18" Aero wheels.

Also fix the widget showing different wheels than the main app: the
widget now reads the user's image override from SettingsDataStore (same
source as the dashboard) so both always display the same car picture.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vide vide merged commit e06167f into main Feb 25, 2026
1 check passed
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