Epic: #170
Depends on: #173, #171 (UI-A1, UI-A2)
Source: docs/motion-and-high-refresh.md §4.4
Goal
Upgrade interaction choreography beyond token swap: enter/exit transitions, expand/collapse height, and content cross-fades.
Scope
| Area |
Change |
Dialogs (app_dialog.dart) |
Retune blur+scale to standard/enter; backdrop and card share one curve |
Dropdowns (querya_dropdown.dart) |
Add menu enter scale+fade (currently hover-only) |
Connection tree (connections_panel_pg_tree.dart + siblings) |
AnimatedSize for expand/collapse; keep chevron rotation |
Workspace tabs (workspace_panel.dart) |
AnimatedSwitcher cross-fade on content switch |
| Hover rows |
Already tokenized in A2; verify feel at 120 Hz |
Optional if time: subtle first-paint fade on result grid rows (no per-scroll cost).
Acceptance Criteria
Tests
- Widget tests for
AnimatedSize tree node (expanded/collapsed state).
- Existing layout tests unchanged in final geometry.
Epic: #170
Depends on: #173, #171 (UI-A1, UI-A2)
Source:
docs/motion-and-high-refresh.md§4.4Goal
Upgrade interaction choreography beyond token swap: enter/exit transitions, expand/collapse height, and content cross-fades.
Scope
app_dialog.dart)standard/enter; backdrop and card share one curvequerya_dropdown.dart)connections_panel_pg_tree.dart+ siblings)AnimatedSizefor expand/collapse; keep chevron rotationworkspace_panel.dart)AnimatedSwitchercross-fade on content switchOptional if time: subtle first-paint fade on result grid rows (no per-scroll cost).
Acceptance Criteria
Tests
AnimatedSizetree node (expanded/collapsed state).