用途:审查动效代码中时间函数选择是否正确,依据交互类型给出判断。适用于评审动效实现、调试感觉不对的动画,或为交互动画选择时序函数。
主要能力:按优先级检查四类规则。一、弹簧选择(spring-):手势驱动动画(拖拽、甩动、滑动)须用弹簧;可被打断的动画须用弹簧;重视速度时用弹簧保留输入能量;弹簧参数需平衡,避免过度振荡。二、缓动选择(easing-):系统发起的状变使用缓动曲线;入场用 ease-out;退场用 ease-in;视图/模式切换用 ease-in-out;linear 仅用于进度条与时间表示。三、时长(duration-):按压与悬停 120–180ms;小状态变化 180–260ms;用户发起的动画不超过 300ms;若感觉慢,先缩短时长再调曲线。四、无动画(none-):高频交互不加动画;键盘导航即时、无动画;上下文菜单入场不动画(仅退场)。
判断框架:区分动效是响应用户,还是系统在表达。用户驱动(拖拽、甩动、手势)选弹簧,可承受打断并保留速度;系统驱动(状态变化、反馈)选缓动,有清晰起止、时间可预测;时间表示(进度、加载)用 linear,时间与进度呈 1:1;高频(打字、快速切换)不加动画,动画会带来噪声、显得更慢。
使用方式:读取指定文件或向用户询问文件/匹配模式,对照全部规则检查,按 file:line 格式输出发现,随后给出汇总表(规则、数量、严重程度)。
限制:资料未提供安装命令、平台支持、收费或价格信息;具体实现示例仅涉及 Motion 库与 CSS,其他库情况暂未提供。参考资料包括 Apple WWDC23: Animate with Springs、The Beauty of Bézier Curves - Freya Holmér、Motion library。