Rework Present mode so every screen change is preceded by a visible cursor
landing and tap on the real widget, and follow the guided narrative
(home → card → concepts → catalog → nav bar → graph/chat → add).
- PresenterController: point→tap→act gesture choreography; navigation routed
through a visible tap on the nav control; rewritten kTour script; speech
watchdog so a missing web 'end' event can no longer hang the tour.
- PresenterSpotlight: hold the target through the 150ms geometry-poll jitter
(fixes the snapping glide); always render the cursor; add a tap ripple.
- AgentBus: onLibraryTab / onOpenCatalogItem hooks.
- Screens register real tap targets (nav tabs, top icons, plus, first card,
reader blocks/insight/references/action-bar); Concepts & Catalog now flip
the real library tab instead of a full-screen swap.
- .gitignore: scope the bare 'presenter' rule to /presenter/ so the Flutter
feature dir is tracked (it never was) while the root prototype stays ignored.