用途:审查一个功能,并为其策略性地添加动画与微交互,以增强理解、提供反馈并创造愉悦感。适用于需要为界面补充反馈、过渡、引导或细节动效的场景。
使用方式:资料要求先调用 /impeccable(其中含设计原则、反模式与 Context Gathering Protocol);若尚无设计上下文,必须先运行 /impeccable teach。此外需收集性能约束。若代码库中上下文不清晰,应停止并用 AskUserQuestion 工具澄清。
主要能力与流程:
- 评估动效机会:识别缺少反馈、生硬过渡、关系不明确、缺少愉悦感与错失引导的静态区域;理解个性、性能预算、受众(含对动效敏感用户)与重点(单一主视觉动画或多处微交互)。
- 制定动画策略:划分主视觉时刻、反馈层、过渡层与愉悦层,强调一个编排良好的体验优于到处零散动画。
- 实现动效:涵盖入场动画(页面加载编排、主视觉、滚动触发内容揭示、模态/抽屉入场)、微交互(按钮悬停/点击/加载、表单聚焦与校验、开关、勾选框、点赞收藏)、状态过渡(显隐、展开折叠、加载骨架、成功错误、启用禁用)、导航与流程(页面过渡、标签切换、轮播、滚动效果)、反馈引导(悬停提示、拖放、复制粘贴、焦点流)与愉悦时刻(空状态、完成庆祝、彩蛋、情境动画)。
技术要点与限制:时长按用途区分(100-150ms 即时反馈、200-300ms 状态变化、300-500ms 布局变化、500-800ms 入场);推荐缓动包含 --ease-out-quart、--ease-out-quint、--ease-out-expo,明确避免 bounce 与 elastic 曲线;退场动画约为入场时长的 75%。优先使用 transform 与 opacity 等 GPU 加速属性,避免动画化布局属性(width、height、top、left),慎用 will-change,监控 60fps。必须尊重 prefers-reduced-motion 并提供非动画替代,资料给出对应媒体查询代码。禁止项包括:无目的动画、超过 500ms 的反馈、忽略减少动效偏好、动画一切、在动画期间阻塞交互(除非有意)。最后需验证 60fps 流畅度、自然度、时长、减少动效生效性与是否阻塞交互。
适用场景:为已有功能补充动效、提升界面反馈与引导、优化过渡与状态变化体验。限制:资料未提供具体平台、依赖、收费或安装步骤等信息。