Split graph into preview and explorer modes

This commit is contained in:
Rijad Zuzo
2026-02-23 15:04:36 +01:00
parent 69f91ce2b9
commit e3151e71d0
3 changed files with 399 additions and 117 deletions
+38
View File
@@ -7,6 +7,44 @@ Updated: 2026-02-22
- After every sensible code/documentation change set, create a git commit as
the last step so the next agent session can pick up from clean checkpoints.
## Latest Milestone (2026-02-23): Relationship Graph Preview + Full-Screen Explorer
Reworked the graph interaction model to be mobile-friendly on the dashboard and
still support smooth pan/zoom exploration.
- `lib/features/dashboard/dashboard_view.dart`
- refactored graph rendering into a shared canvas widget with two modes:
- `preview` (dashboard, scroll-first)
- `explorer` (full-screen, pan/zoom-first)
- dashboard graph card is now a scroll-safe preview:
- keeps node long-press for `Person Insights`
- disables pan/zoom interaction on the dashboard canvas
- adds explicit `Explore` / `Open Explorer` CTA button
- updated helper copy to clarify dashboard preview vs explorer behavior
- added full-screen `Relationship Graph` explorer page:
- pan enabled
- pinch-to-zoom enabled
- `Reset view` control
- same long-press-to-open-person-insights behavior
- shared legend display
- extracted shared graph helpers (legend + navigation helpers) to keep the
preview and explorer behavior consistent
- `test/features/dashboard/dashboard_graph_interactions_test.dart`
- extended coverage to verify:
- dashboard preview renders `Explore` CTA
- explorer page opens from dashboard
- `Reset view` action is available and works
- returning to dashboard still works
- UX decision captured in implementation
- dashboard remains scroll-first on mobile (no hidden pan-mode toggle)
- graph exploration happens in a dedicated full-screen context
- Validation
- `flutter analyze` -> pass
- `flutter test` -> pass
## Latest Milestone (2026-02-22): Quick-Capture Dialog Regression Test (People)
Added explicit widget-test coverage so controller lifecycle issues in quick