跳转到内容
flamo
开始使用

智能动画

Flamo 的 Smart Animate 路径面向 Frame-to-Frame prototype navigation:Figma Adapter 抽取起始 Frame、trigger、目标 Frame、transition 与 matching layer,生成 artifact.prototype;Runtime 再把差异编译为 MotionSpec 并提交页面切换。

Figma Frame reactions
-> PrototypeRuntimeArtifact
-> name + hierarchy layer matching
-> MotionSpec / TweenSys
-> target Frame commit

图层按 name + hierarchy 匹配,同父级同名节点使用 sibling order 消歧;无法可靠匹配时回退到 dissolve。Figma 画布上多个 Frame 的绝对位置只是 authoring 排布,运行时比较会归一到同一个 prototype viewport,不能把画布间距算进动画。

当前路径覆盖位置、尺寸/scale、layer opacity、rotation,以及兼容的 fill/stroke paint opacity;solid fill 使用受限策略。Flamo 还对有可靠参数化重建源的部分 primitive 提供 stroke weight 增强。gradient/image fill、shadow、blur、自由 Vector 几何 morph 和不同 shape type 之间的 morph 不应被描述为完整兼容,不能可靠处理时使用 dissolve 或明确跳过。

Runtime 支持 page/frame prototype 的 click、hover/enter、leave、press/down、up 和 timeout/delay 等基础 trigger。起始 trigger 在场景达到 renderer-eligible frame 后激活;导航完成后重新绑定目标 Frame。dispose/remount 会取消 timer、listener 与未完成过渡,迟到回调不得改变新一代实例。

Frame prototype 的 target 是页面 Frame;Component Set Variant 切换涉及页面实例的动态 clone subtree、assignments、overrides 和 instance-local state,当前没有直接复用这一 planner。不要因此宣称 Component Set 内部 reaction 或 Smart Animate 已支持,详见组件集。