用途:该技能面向 Makepad(makepad-widgets,dev 分支)的动画开发,帮助编写与调试动画、过渡、悬停状态以及 animator 时间线,涉及 animator、状态切换、缓动、关键帧与交互反馈时适用。
主要能力:覆盖 animator 结构(animator、{state}、default、{value}、from、apply)、常见状态(hover、pressed/down、focus、disabled、selected)、时间线类型(Forward、Snap、Reverse、Loop、BounceLoop)、缓动函数(Linear、Quad/Cubic/Quart/Quint、Sine、Exp、Circ、Elastic、Back、Bounce,以及 ExpDecay、Bezier、Pow 自定义),并可动画化多数 draw_* 着色器 uniform,如颜色、边框、尺寸、变换与不透明度。Rust 侧提供 AnimatorImpl 的 animator_play、animator_cut、animator_in_state,配合 id!(state.value) 宏使用。
使用方式:按资料给出的 DSL 模式定义状态与 from/apply;编码建议为默认值设 default、平滑切换用 Forward、瞬时切换(如 disabled)用 Snap、时长保持 0.1–0.3s,并在 draw_bg、draw_text 中动画 uniform。
限制与缺失:资料提及外部参考文件 ./references/animation-system.md 及 _base/ 下 06-animator-basics、07-easing-functions、08-keyframe-animation 等目录,但目录中未包含这些文件,也未给出来源;使用依赖步骤前需先确认其存在。若本地文档读取失败,可运行 /sync-crate-skills makepad --force 更新,再结合 SKILL.md 模式回答。输出不能替代特定环境的验证、测试或专家审查。