Skip to content

In-app demo mode that presses real buttons - #132

Draft
apps4av wants to merge 3 commits into
masterfrom
cursor/in-app-demo-mode-5125
Draft

In-app demo mode that presses real buttons#132
apps4av wants to merge 3 commits into
masterfrom
cursor/in-app-demo-mode-5125

Conversation

@apps4av

@apps4av apps4av commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Adds a replayable demo mode that drives the live UI so new users can see how MAP, PLAN, and FIND work.

How to use it

  • After first-run onboarding, a Watch a demo? popup appears (existing users who already finished onboarding do not see it).
  • Anytime: MAP → Menu → Watch Demo — play all topics or pick one.
  • Overlay controls: Pause, Skip, Exit.

How to add another topic

  1. Wrap the control: DemoTarget(id: DemoIds.foo, child: existingButton)
  2. Add the ID in lib/demo/demo_ids.dart
  3. Write a DemoTour in lib/demo/tours/
  4. Append it to DemoRegistry.tours

Safety

  • Does not file FAA plans, start chart downloads, or delete the user’s plan.
  • The plan tour snapshots the current route and restores it when the session ends.

Tours in this PR

  • Map controls (Menu, Download screen, Center, settings, chart, layers)
  • Build a plan (Create → type a sample route → Create As Entered)
  • Find a destination (Nearest, search, open destination popup)

User manual Section 1.3, 3.2, 9.7, 14, and UC-27 are updated; Help PDF regenerated.

flutter analyze lib/demo is clean and test/demo_registry_test.dart passes, including a regression test that the Pause/Skip/Exit tooltips build when DemoHost sits in MaterialApp.builder (they need their own Overlay).

Open in Web Open in Cursor 

cursoragent and others added 3 commits September 7, 2026 01:12
Introduce a registry of playable tours with a spotlight overlay.
Offer the demo once after onboarding and from Menu → Watch Demo.
Ship MAP, PLAN, and FIND tours; new topics are another list entry.

Co-authored-by: Zubair Khan <apps4av@gmail.com>
Wait.seconds cannot be const, and GoTab.map was parsed as a named constructor.

Co-authored-by: Zubair Khan <apps4av@gmail.com>
MaterialApp.builder places DemoHost beside the navigator, so Pause/Skip/Exit
tooltips had no Overlay ancestor. Wrap the host stack in Overlay.

Co-authored-by: Zubair Khan <apps4av@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants