告别 Keynote:用 Heckel 算法实现代码动画
Magic Move for Code Snippets from first principles

从 macOS 转战 CachyOS 后,我失去了 Keynote 中 Magic Move 带来的流畅演示体验,尤其是代码片段的动画效果令人抓狂。Keynote 无法理解代码结构,导致字符像字母汤一样乱飞。受 Bento 项目启发,我决定从零构建解决方案。不同于追求数学最优解的 Myers 算法,我采用了 1978 年 Paul Heckel 提出的算法,结合 TextMate 语法将代码解析为 Token 流。通过寻找唯一锚点并进行前后向匹配,我们实现了代码片段的平滑过渡,让变量重命名和重构在视觉上连贯自然,最终在 Jetpack Compose 中重现了那种令人惊叹的魔法效果。
在动画中,人类的感知远比最小编辑距离重要。