Welcome hero: subtle Fluent hover, fix parallax top gap, soften intro streaks #51367

Open
niels9001 opened 5:09pm on October 16, 2026 wants to merge 187 Ξ” into microsoft/powertoys main from
niels9001/welcome-hero-tweaks
Diff Delta:
187
About 93 Diff Delta/hour
Classified as:  Bug Fix

niels9001's Description of Work

Summary of the Pull Request

Polish for the new OOBE "Welcome to PowerToys" hero animation (#50873):



  1. Hover highlight: replaces the rainbow/brand-gradient stroke on tool tiles with a subtle Fluent-style hover: a faint fill plus a 1px neutral stroke on the tile edge. In high contrast it uses SystemColorHighlight with a 2px stroke.


  2. Parallax top gap: the aurora dome could slide down during pointer parallax and impact shake, leaving a gap between the blue background and the top edge of the hero. The dome now extends 24px above the hero (DomeBleed), so that gap no longer appears.


  3. Intro streaks: the light trails that shoot out during the intro had hard, rectangular edges. They now use a CompositionMaskBrush with a radial falloff mask, so they have soft edges and a tapered tail.

PR Checklist


  • [ ] Closes: #xxx
    <!-- - [ ] Closes: #yyy (add separate lines for additional resolved issues) -->

  • [ ] Communication: I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected

  • [ ] Tests: Added/updated and all pass

  • [x] Localization: All end-user-facing strings can be localized

  • [ ] Dev docs: Added/updated

  • [ ] New binaries: Added on the required places



  • [ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Changes are limited to src/settings-ui/Settings.UI/SettingsXAML/Controls/WelcomeHero/:



  • WelcomeHeroPalette.cs: Color[] Highlight is replaced by HighlightFill, HighlightStroke and HighlightStrokeThickness for Dark, Light and HighContrast.


  • WelcomeHeroScene.cs:


    • The highlight shape reuses the tile's glass geometry and sits beneath the icon. Ghost tiles have no highlight, and SetHighlightedTile is null-safe.

    • Theme changes animate the highlight fill and stroke colors.


    • DomeBleed offsets the dome and its center, and the intro dawn center accounts for it.

    • A new shared radial _trailMask masks the trail gradients. CreateTrailBrush still returns the stops so theme updates keep working.



No new strings, binaries or settings.

Validation Steps Performed



  • tools\build\build.ps1 -Platform x64 -Configuration Debug in src\settings-ui\Settings.UI: passed (exit code 0, empty errors log).

  • Manual: ran the Debug Settings build, opened Welcome to PowerToys, watched the intro streaks, hovered over the tiles, and moved the pointer to trigger the parallax. No automated tests cover this animation.

2 total changed files
Loading changes...
Loading changes...
You've reached the end of this PR review
LGTM-land is officially in view