Review loop(自检循环)
本技能面向动态图形工作流,提供一套视觉自检循环方法。核心前提:你无法直接观看视频,但可以查看帧画面。在未查看当前渲染的接触印样(contact sheet)之前,绝不应当把视频报告为已完成。
一、用途 用于在渲染动态图形视频时进行视觉化自检,通过查看逐帧画面来替代直接观看视频,从而发现构图、文字、时机、一致性和声音方面的问题。
二、循环流程
- npm run draft — 半分辨率渲染到 out/draft.mp4(速度快)。
- npm run sheet — 按时间轴每个节拍取一帧,在其后 0.3 秒取帧(让运动已经稳定),以 4×2 拼贴到 out/sheets/beats-N.png。每个拼贴块标注其时间戳。
- 打开每一张印样图片,并对照下方检查清单逐项检查。
- 对任何可疑之处进行放大查看:
- npm run sheet -- --from 3 --to 5 --every 0.2 用于精查某个转场,
- npm run sheet -- 3.7 3.75 3.8 用于查看精确时刻,
- npm run still -- out/still.png --frame=222 用于导出单张全分辨率帧。
- 修正,然后回到第 1 步。当一整轮检查未发现任何问题时停止。
- 最终步骤:npm run build,然后执行 npm run sheet -- --video out/effort.mp4 以及 npm run wave。
三、检查清单 构图(Composition)
- 每帧只有一个视觉焦点。如果有两个元素互相竞争,其中一个需要等待。
- 任何元素不应发生意外碰撞或重叠,尤其是在转场时,退出元素和进入元素共享空间的情况下。
- 安全区域:边缘约 60 px 内不应放置重要内容。
- 第 0 帧是真实图像,不是黑屏(它是 X 缩略图)。
文字(Type)
- 在不该被裁剪时,文字不应被遮罩、容器或画面边框裁剪。
- 当拼贴块缩小到手机宽度时,关键信息仍可阅读。
- 文字在被阅读期间不应移动。
时机(Timing)
- 每个可读状态保持足够长的时间(参见 motion-design §4)。如果保持期间的某个拼贴块显示文字仍在动画中,则保持时间过短。
- 场景之间应相互重叠,而不是切换到空帧。
- 出场比入场更快。
一致性(Consistency)
- 只使用调色板中的颜色;强调色用于标记该帧的重点。
- 同一元素在其出现的每个场景中外观一致。
声音(Sound,在 npm run wave 之后)
- 瞬态(transients)位于 out/wave.png 中的节拍线上。
- −14 LUFS ±1,真峰值 ≤ −1 dBFS。
四、汇报 完成后,说明你检查了什么、修正了什么,以及哪张印样显示了这些改动。不要声称完成了某项你尚未重新渲染并查看过的修正。
五、适用场景与限制 适用于使用该 motion 工作流(claude-motion)进行动态图形渲染时的自检环节。文中引用的 motion-design §4 具体内容、调色板 C 的具体取值、以及相关脚本的实现细节暂未提供。