Zune 4.8's FirstConnect flow: welcome → device name → media-type sync
toggles → privacy → done. Triggered once per physical device serial
the first time it connects, mirroring the existing first-launch /
what's-new overlay pattern.
Persistence: FirstConnectCompletedSerials list in AppSettings tracks
which serials have completed setup. The chosen sync-rule defaults are
pushed into the existing SettingsVM sync-rule fields, and the device
name into a new FirstConnectDeviceName field, all saved via the
existing JSON settings pipeline.
File types page (FILETYPES.UIX parity): ingest-extensions editor with
Zune's default preset set; real OS file associations deferred.
Privacy page: usage-data opt-in (no telemetry subsystem ships with this
flag — stored for parity) + auto-check-for-updates toggle.
Photos page: photo folder picker + slideshow shuffle/repeat defaults
+ delete-after-reverse-sync toggle.
General page: startup view (Quickplay/Collection), sound effects,
compact-mode-always-on-top, show-ratings toggles.
FirstConnect completed-serials list also persisted here so the upcoming
FirstConnect wizard can run once per physical device.
- SystemDecorations=None for authentic Zune 4.8 chromeless window, with
invisible 8-zone edge/corner resize hits + resize cursors and
double-click-to-maximize on the title bar
- Widen default window (1360x780) and compact-exit floor (1100x560)
- pivot-header 32 -> 28; new mini-pivot style for SETTINGS/mode toggles;
CD + settings mode/sub-pivot rows moved to subpivot + Classes.active
- settings sub-pivot flags composed with top-level pivot to stop two
content panels rendering at once
- header search hidden on quickplay/now playing/settings (ShowSearch parity)
- background art, sync toast, first-launch/whats-new overlays span the full shell grid
- Create ViewLocator implementing IDataTemplate for ViewModel-to-View resolution
- Register ViewLocator in App.axaml and add explicit DataTemplates to MainShellView
- Expose PlayPauseIcon (▶ / ⏸) on MainShellViewModel and NowPlayingViewModel to replace raw boolean display
- Add SelectAccentCommand to SettingsViewModel and bind accent palette tiles
- Add NavigationAndPlaybackUiTests suite covering ViewLocator, glyph toggles, and pivot navigation (12/12 tests passing)
- Implement borderless custom window chrome with client area decorations and minimal controls
- Add two-column integrated artist discography view with inline album cards and tracklists
- Add interactive album cover grid and dense song data table with contextual queue management
- Implement Quickplay Hub with 3-deck panorama (Pins, History, New) and Smart DJ presets
- Implement cinematic Now Playing experience with dynamic Ken-Burns canvas, mosaic wall, and auto-hiding HUD
- Seed 6 complete iconic albums (Rush, Daft Punk, Pink Floyd, Fleetwood Mac, Miles Davis, New Order)
- Verify zero design invariant violations across all AXAML views