feat(engine): tabbed Settings panel — Phase A of the menu redesign #160

Merged
funman300 merged 1 commits from feat/settings-tabs into master 2026-07-09 04:59:12 +00:00
Owner

Phase A of docs/ui-redesign-2026-07.md (included in this PR, phases A–M).

Replaces the 37-row single-scroll Settings modal with five tabs — Audio · Gameplay · Appearance · Access · Account — spawning only the active tab's rows, so every tab fits the Fold's cover screen with no scroll-hunting.

  • Tab chips under the modal header; switch rebuilds the panel (leaderboard-style despawn/respawn) via a shared build_panel helper used by both the open path and the tab path
  • New Accessibility tab gathers color-blind, high-contrast, reduce-motion, touch-input mode, and tooltip delay; Account merges Sync + Privacy
  • Zero behavioral surface change: SettingsButton, all input handlers, and persistence untouched
  • Tests: per-tab Focusable/Tooltip sweeps (floor ≥20 buttons across tabs), a tab-switch rebuild test (rows swap, exactly one panel), picker/thumbnail tests pinned to Appearance — 26 settings tests green, workspace green, clippy -D warnings, fmt

Needs a Fold 7 look in both postures before the next release (chip wrap on the cover screen).

🤖 Generated with Claude Code

Phase A of `docs/ui-redesign-2026-07.md` (included in this PR, phases A–M). Replaces the 37-row single-scroll Settings modal with five tabs — **Audio · Gameplay · Appearance · Access · Account** — spawning only the active tab's rows, so every tab fits the Fold's cover screen with no scroll-hunting. - Tab chips under the modal header; switch rebuilds the panel (leaderboard-style despawn/respawn) via a shared `build_panel` helper used by both the open path and the tab path - New **Accessibility** tab gathers color-blind, high-contrast, reduce-motion, touch-input mode, and tooltip delay; **Account** merges Sync + Privacy - Zero behavioral surface change: `SettingsButton`, all input handlers, and persistence untouched - Tests: per-tab Focusable/Tooltip sweeps (floor ≥20 buttons across tabs), a tab-switch rebuild test (rows swap, exactly one panel), picker/thumbnail tests pinned to Appearance — 26 settings tests green, workspace green, clippy `-D warnings`, fmt Needs a Fold 7 look in both postures before the next release (chip wrap on the cover screen). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
funman300 added 1 commit 2026-07-07 23:47:19 +00:00
Replaces the 37-row single-scroll settings modal with five tabs
(Audio, Gameplay, Appearance, Accessibility, Account); only the active
tab's rows spawn, so every tab fits without scroll-hunting.

- SettingsTab + ActiveSettingsTab (session-only) + SettingsTabButton
  chips under the modal header; rebuild-on-switch mirrors the
  leaderboard despawn/respawn pattern via a shared build_panel helper
- Accessibility tab gathers color-blind, high-contrast, reduce-motion,
  touch-input, and tooltip-delay from the old Gameplay/Cosmetic mix;
  Account = Sync + Privacy
- SettingsButton enum, input handlers, and persistence untouched
- Tests: per-tab Focusable/Tooltip sweeps, tab-switch rebuild test,
  picker/thumbnail tests pinned to the Appearance tab

Plan: docs/ui-redesign-2026-07.md (also added, phases A–M)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
funman300 merged commit 374858ab6d into master 2026-07-09 04:59:12 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: funman300/Ferrous-Solitaire#160