Skip to content

weather: add burn-in protection via pixel drift - #16

Open
dharmapoudel wants to merge 1 commit into
JoeyEamigh:devfrom
dharmapoudel:weather-burnin-drift
Open

dharmapoudel wants to merge 1 commit into
JoeyEamigh:devfrom
dharmapoudel:weather-burnin-drift

Conversation

@dharmapoudel

Copy link
Copy Markdown
Contributor

The weather screen is fully static -- the same glyphs and tiles sit in the same pixels for hours, which risks image persistence on long sessions (e.g. a wall-mounted dashboard).

What this does

Drifts the whole content wrapper a few pixels every 60 seconds, cycling through 5 small offsets (max 5px) with a 2.5s ease-in-out CSS transition. The background stays put; the existing 40/32px padding absorbs the shift without clipping. Same approach as the ambient dashboard in my Glassy Overlay system overlay.

Files

  • packages/webapps/catalog/weather/src/App.tsx -- BURNIN_STEPS/BURNIN_SHIFT_MS constants, shift state + interval in App, transform applied to an inner content wrapper.

Validation

  • tsc --noEmit clean, vite build clean.
  • Not tested on physical Car Thing hardware.

The weather screen is fully static -- same glyphs and tiles in the
same pixels for hours -- which risks image persistence on long
sessions (e.g. wall-mounted dashboards).

Drift the whole content wrapper a few pixels every 60 seconds,
cycling through 5 small offsets (max 5px) with a 2.5s ease-in-out
transition. The background stays put; the 40/32px padding absorbs
the shift without clipping. Same approach as the ambient dashboard
in my Glassy Overlay.
@JoeyEamigh

Copy link
Copy Markdown
Owner

the device doesn't have an OLED screen and i haven't heard of any reports of burn-in. the display itself has a bit of retention because it's not the nicest LCD, but it goes away with a power cycle. just trying to figure out if this is actually needed

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.

2 participants