用途:审查动画代码中时间函数(timing function)的选择是否正确,适用于检查动效实现、排查“感觉不对”的动画,或在选择缓动/弹簧时做决策参考。
主要能力:先读取指定文件(或向用户询问文件与匹配模式),再按规则检查并输出 file:line 格式的发现。规则分四类并带优先级:弹簧选择(spring-)、缓动选择(easing-)、时长(duration-)、不加动画(none-)。
决策框架:判断该动效是回应用户还是系统在“说话”。用户驱动(拖拽、滑动、手势)用弹簧,可承受打断并保留速度;系统驱动(状态变化、反馈)用缓动,起止清晰、时间可预期;时间表示(进度、加载)用线性;高频交互(打字、快速切换)不加动画。
规则要点:手势与可打断动效必须用弹簧,速度重要时用弹簧保留输入能量,弹簧参数需平衡避免过度振荡;系统状态变化用缓动,入场用 ease-out、退场用 ease-in、视图/模式切换用 ease-in-out,线性仅用于进度条与时间表示;按压与悬停 120-180ms,小状态变化 180-260ms,用户触发动画不超过 300ms,感觉慢时先缩短时长再调曲线;高频交互、键盘导航不加动画,上下文菜单仅退场动画。
输出格式:file:line - [rule-id] 问题描述,随后给出含规则、数量、严重程度的汇总表。
限制:资料未提供安装方式、运行命令、支持的框架版本或收费信息;示例基于 Motion 库与 CSS,实际适用性需自行确认。