review-loop

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Review loop

审核循环

You can't watch the video, but you can look at frames. Never report a video as done without looking at contact sheets of the current render.
你无法直接观看视频,但可以查看帧画面。在未查看当前渲染版本的联系表之前,绝对不要宣称视频已完成。

Loop

循环流程

  1. npm run draft
    — half-resolution render to
    out/draft.mp4
    (fast).
  2. npm run sheet
    — one frame per timeline beat, 0.3 s after it so motion has settled, tiled 4×2 into
    out/sheets/beats-N.png
    . Each tile is labelled with its timestamp.
  3. Open every sheet image and go through the checklist below.
  4. Zoom in on anything suspicious:
    • npm run sheet -- --from 3 --to 5 --every 0.2
      to scrub a transition,
    • npm run sheet -- 3.7 3.75 3.8
      for exact moments,
    • npm run still -- out/still.png --frame=222
      for one full-resolution frame.
  5. Fix, then go back to step 1. Stop when a full pass finds nothing.
  6. Final:
    npm run build
    , then
    npm run sheet -- --video out/effort.mp4
    and
    npm run wave
    .
  1. npm run draft
    — 以半分辨率渲染到
    out/draft.mp4
    (渲染速度快)。
  2. npm run sheet
    — 在每个时间线节拍点取一帧,取帧时间为节拍点后0.3秒(确保运动已稳定),以4×2的布局拼接为联系表,保存至
    out/sheets/beats-N.png
    。每个帧块都标注了对应的时间戳。
  3. 打开所有联系表图片,对照下方的检查清单逐一审核。
  4. 对任何可疑之处放大查看:
    • 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
      用于导出单张全分辨率帧。
  5. 修复问题后回到步骤1。当完整走一遍流程未发现任何问题时即可停止。
  6. 最终步骤:执行
    npm run build
    ,然后运行
    npm run sheet -- --video out/effort.mp4
    和
    npm run wave
    。

Checklist

检查清单

Composition
  • One focal point per frame. If two things compete, one of them waits.
  • Nothing collides or overlaps unintentionally, especially during transitions where an exiting and an entering element share space.
  • Safe area: nothing important within ~60 px of an edge.
  • Frame 0 is a real image, not black (it's the X thumbnail).
Type
  • Nothing clipped by a mask, container or the frame when it shouldn't be.
  • Key message readable when the sheet tile is shrunk to phone width.
  • Text isn't moving while it's meant to be read.
Timing
  • Each readable state holds long enough (see
    motion-design
    §4). If a tile mid-hold shows text still animating, the hold is too short.
  • Scenes overlap instead of cutting to empty frames.
  • Exits are faster than entrances.
Consistency
  • Only palette colors from
    C
    ; the accent marks the point of the frame.
  • Same element looks the same in every scene it appears in.
Sound (after
npm run wave
)
  • Transients sit on beat lines in
    out/wave.png
    .
  • −14 LUFS ±1, true peak ≤ −1 dBFS.
构图
  • 每帧只有一个视觉焦点。如果有两个元素产生视觉竞争,其中一个需要延后出现。
  • 没有意外的碰撞或重叠,尤其是在转场过程中,退出和进入的元素共享空间时更要注意。
  • 安全区域:重要内容不得位于距离边缘约60像素的范围内。
  • 第0帧应为真实画面,不能是全黑(该帧会作为X平台的视频缩略图)。
文字排版
  • 文字不会被蒙版、容器或画面边缘意外裁切。
  • 当联系表帧块缩小到手机屏幕宽度时,核心信息仍清晰可读。
  • 需要阅读的文字不应处于移动状态。
时间节奏
  • 每个可读状态的停留时间足够长(参见
    motion-design
    第4节)。如果处于停留阶段的帧块中文字仍在动画状态,说明停留时间过短。
  • 场景之间采用重叠过渡,而非切到空帧。
  • 元素退出的速度快于进入的速度。
一致性
  • 仅使用
    C
    中定义的调色板颜色;强调色用于突出帧的核心重点。
  • 同一元素在所有出现的场景中外观保持一致。
声音(执行
npm run wave
后检查)
  • 声音瞬态信号对齐
    out/wave.png
    中的节拍线。
  • 响度为 −14 LUFS ±1,真实峰值 ≤ −1 dBFS。

Report

报告要求

When you finish, say what you checked, what you fixed, and which sheet shows it. Don't claim a fix you haven't re-rendered and looked at.
完成后,请说明你检查了哪些内容、修复了哪些问题,以及哪张联系表可以佐证修复效果。不要宣称你尚未重新渲染并查看过的修复内容。