Repository navigation
Rework the tutorial into route-aware guides with a guide picker - #369
Merged
Merged
Conversation
Pass the current streak into randomTaglishStreakGreeting so one of the six lines can interpolate the day count, and update the review doc to describe five fixed greetings plus the day-count line.
Register navigator observers for the root and nested navigators so the tutorial can follow route changes, and host the overlay above the app content via TutorialHost instead of a positioned layer. Skip the tutorial on back press while its overlay is visible, and suppress What's New prompts while the tutorial is active.
Replace the static spotlight tooltip with a tutorial host that follows real navigation and playback actions. The target registry now keeps multiple keys per target, prefers the most recently mounted visible owner, and ignores zero-size or off-route widgets, so overlapping layout handoffs no longer hide highlights. Add per-guide progress with completed/dismissed tracking that falls back to the legacy completion flag, and ensure dismissing an early replay does not clobber saved completion. Handle picker, keyboard insets, large text, and missing targets with a skip-friendly fallback.
Move the route observers and popup/visibility logic out of the tutorial host into a reusable TutorialNavigation service so guidance suspension can be queried elsewhere, and document the tutorial's interaction and verification contract. Native-device, TalkBack, and permission-picker checks remain unverified.
Document the tutorial's scoped Material tooltip styling in DESIGN.md, and refresh the l10n guidance tests to walk per-guide steps with a stubbed songs provider. Update the streak popup test for the new day-count greeting line.
Split the single spotlight tour into core, library, player, appearance, and audio guides, each with its own steps and progress. Steps now carry id-based persistence and action triggers so the tour advances on real user actions, and guides can deep-link into manual sections. Add a guide picker, pause support, and back-button handling that skips the active tutorial instead of closing the player.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
tutorial_v2_<guide>, migrating the legacytutorial_completedflag into a completed Core guide without rewinding a guide already started while preferences load..impeccable/surfaces/tutorial-guidance.mdas the interaction contract and updateDESIGN.md, plus provider, overlay, locale, and streak-popup test coverage.Related issue
none
Checklist
flutter analyzepassesflutter testpassescargo test --manifest-path rust/Cargo.tomlpassesflutter run --flavor full)CHANGELOG.mdupdated for user-facing changes