polish(engine): Phase H part 1 — unified toast stack, onboarding fixes #178

Merged
funman300 merged 2 commits from feat/feedback-polish into master 2026-07-14 00:14:04 +00:00
Owner

First bundle of Phase H feedback polish (docs/ui-redesign-2026-07.md), plus the two findings from the v0.44.0 emulator smoke.

Changes

  • One toast anchor for everything. Queued and immediate toasts used two subtly different geometries with staggered bottom anchors so simultaneous toasts wouldn't overlap. Both paths now spawn geometry-free ToastNodes that adopt_toasts_into_stack slots into a single persistent ToastStackRoot flex column — one style, one anchor, simultaneous toasts stack upward. The root rides SafeAreaAnchoredBottom and clears the Phase F touch action bar (112px touch / 72px desktop base offset).
  • Onboarding copy speaks the platform's language. The how-to-play slide told touch players to left/right-click; Android now gets tap / double-tap copy pointing at the bottom-bar Hint button.
  • Home waits for first-run onboarding. On a fresh profile the Home auto-show spawned underneath the onboarding modal (two stacked scrims). spawn_home_on_launch now gates on first_run_complete + no open OnboardingScreen, so the launch beat is onboarding → Home → table.

Deferred to Phase H part 2

  • Theme-store preview PNGs in the store modal (client preview_url plumbing exists, needs async fetch → Image asset).
  • Hint ghost-motion preview (optional per the doc; auto-disabled under reduce-motion).
  • 5-item toast history on the stats screen (doc marks it "consider").

Tests

2 new animation_plugin tests (both paths adopt into the shared root + reveal; regression guard that toast nodes carry no absolute positioning). Full workspace suite + clippy green.

🤖 Generated with Claude Code

First bundle of Phase H feedback polish (docs/ui-redesign-2026-07.md), plus the two findings from the v0.44.0 emulator smoke. ## Changes - **One toast anchor for everything.** Queued and immediate toasts used two subtly different geometries with staggered bottom anchors so simultaneous toasts wouldn't overlap. Both paths now spawn geometry-free `ToastNode`s that `adopt_toasts_into_stack` slots into a single persistent `ToastStackRoot` flex column — one style, one anchor, simultaneous toasts stack upward. The root rides `SafeAreaAnchoredBottom` and clears the Phase F touch action bar (112px touch / 72px desktop base offset). - **Onboarding copy speaks the platform's language.** The how-to-play slide told touch players to left/right-click; Android now gets tap / double-tap copy pointing at the bottom-bar Hint button. - **Home waits for first-run onboarding.** On a fresh profile the Home auto-show spawned underneath the onboarding modal (two stacked scrims). `spawn_home_on_launch` now gates on `first_run_complete` + no open `OnboardingScreen`, so the launch beat is onboarding → Home → table. ## Deferred to Phase H part 2 - Theme-store preview PNGs in the store modal (client `preview_url` plumbing exists, needs async fetch → `Image` asset). - Hint ghost-motion preview (optional per the doc; auto-disabled under reduce-motion). - 5-item toast history on the stats screen (doc marks it "consider"). ## Tests 2 new animation_plugin tests (both paths adopt into the shared root + reveal; regression guard that toast nodes carry no absolute positioning). Full workspace suite + clippy green. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
funman300 added 2 commits 2026-07-13 23:56:22 +00:00
Queued and immediate toasts used two subtly different geometries and
staggered anchors purely to dodge each other when simultaneous. Both
paths now spawn geometry-free ToastNodes that adopt_toasts_into_stack
slots into a single persistent ToastStackRoot flex column — one anchor,
one style, simultaneous toasts stack upward. The root rides
SafeAreaAnchoredBottom and clears the Phase F touch action bar.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
fix(engine): platform-correct onboarding copy; Home waits for first-run onboarding (Phase H)
Test / fmt (pull_request) Successful in 4s
Test / test (pull_request) Successful in 4m29s
3388169329
- The how-to-play slide told touch players to left/right-click; Android
  now gets tap/double-tap copy pointing at the bottom-bar Hint button.
- On a fresh profile the Home auto-show spawned underneath the
  onboarding modal, stacking two scrims (v0.44.0 emulator smoke
  finding). spawn_home_on_launch now waits until first_run_complete
  and the onboarding modal is gone, so the launch beat is onboarding,
  then Home, then the table.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
funman300 merged commit 739c94d3bb into master 2026-07-14 00:14:04 +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#178