Problem
Follow-up to closed F9 #365 (stagger / badge pulse documented or tokenized). New leftover UI animation sites still use bare Duration / Curves instead of context.motionDuration / QueryaMotion:
| Site |
Duration |
Notes |
| lib/features/onboarding/welcome_tour_dialog.dart |
240 / 200 / 180 ms |
AnimatedSize + step chrome |
| lib/features/main_screen/workspace_empty_hero.dart |
150 ms |
hover AnimatedContainer |
| lib/features/main_screen/main_screen.dart |
160 ms cubic |
QueryaSpringController.cubicDuration fallback when springs off |
.cursor/rules/querya-motion.mdc: do not add bare UI Duration(milliseconds:) without tokens. Motion Off / Reduced must snap or shorten these too.
Proposal
- Welcome tour: QueryaMotion.standard / treeExpand (or QueryaAnimatedExpand) + context.motionCurve.
- Empty hero hover: QueryaMotion.fast (same dialect as QueryaHoverSurface).
- Sidebar cubic fallback: named motion token (or document as intentional spring-off cubic if it must stay 160 ms).
Debounce / poll / highlight timers are out of scope.
Acceptance
- Listed call sites go through QueryaMotion (or a documented exception next to F9)
- Motion Off: welcome + hero hover are instant
- Widget test: welcome tour or empty hero uses zero duration under QueryaMotionLevel.off
Related
Reactions are currently unavailable
Problem
Follow-up to closed F9 #365 (stagger / badge pulse documented or tokenized). New leftover UI animation sites still use bare Duration / Curves instead of context.motionDuration / QueryaMotion:
.cursor/rules/querya-motion.mdc: do not add bare UI Duration(milliseconds:) without tokens. Motion Off / Reduced must snap or shorten these too.
Proposal
Debounce / poll / highlight timers are out of scope.
Acceptance
Related