Halloween fog-band layers keep willChange set even when motion is fully disabled #73

Closed
opened 2026-09-12 01:51:27 -04:00 by jared · 0 comments
Owner

Severity: low · Type: performance · Confidence: high

Location: src/app/components/seasonal/themes/Halloween.tsx:167 (compare the correctly-conditioned sibling two lines away at line 187: willChange: reduced ? undefined : 'transform, opacity')

Problem

The three drifting fog-band layers hard-code willChange: 'transform, opacity' unconditionally, even though their animation is set to 'none' under reduced. Every other animated layer in the same file (embers, moon glow) correctly clears willChange when reduced is true. This pins 3 extra layers to the compositor even when the overlay is fully static — which is always the case for the settings-page preview swatch, since SeasonalPreview always passes reduced=true.

How to trigger

View the Halloween settings-page preview swatch in Settings → Appearance → Seasonal Theme, or enable the overlay with prefers-reduced-motion: reduce set at the OS level.

Suggested fix

Change line 167 to willChange: reduced ? undefined : 'transform, opacity'.


Filed from the September 2026 client audit (branch lotus @ 4bea4895).

**Severity:** low · **Type:** performance · **Confidence:** high **Location:** `src/app/components/seasonal/themes/Halloween.tsx:167` (compare the correctly-conditioned sibling two lines away at line 187: `willChange: reduced ? undefined : 'transform, opacity'`) ### Problem The three drifting fog-band layers hard-code `willChange: 'transform, opacity'` unconditionally, even though their `animation` is set to `'none'` under `reduced`. Every other animated layer in the same file (embers, moon glow) correctly clears `willChange` when `reduced` is true. This pins 3 extra layers to the compositor even when the overlay is fully static — which is always the case for the settings-page preview swatch, since `SeasonalPreview` always passes `reduced=true`. ### How to trigger View the Halloween settings-page preview swatch in Settings → Appearance → Seasonal Theme, or enable the overlay with `prefers-reduced-motion: reduce` set at the OS level. ### Suggested fix Change line 167 to `willChange: reduced ? undefined : 'transform, opacity'`. --- _Filed from the September 2026 client audit (branch `lotus` @ 4bea4895)._
jared added this to the Audit 2026-09 · Medium & Low milestone 2026-09-12 01:51:27 -04:00
jared added the bugpriority: lowperformancearea: appearance labels 2026-09-12 01:51:27 -04:00
jared self-assigned this 2026-09-12 01:51:27 -04:00
jared closed this issue 2026-09-12 02:14:51 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/cinny#73