rn-motion-replica

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

RN Motion Replica

RN Motion Replica

Turn a reference clip into an original motion study that preserves the visual grammar and timing while replacing the source's copy, presenter, footage, and unique assets.
This Skill targets an editable original adaptation. Route any pixel-exact, render-frame-exact, or encoded-frame-aligned claim through
rn-replica-qc
and its asset, runtime, and delivery gates.
将参考片段转化为一项原创动效研究:在替换源片文案、主持人、素材画面和独特资产的同时,保留其视觉语法与时序。
本 Skill 面向可编辑的原创改编方案。任何逐像素一致、逐渲染帧一致或与编码帧对齐的精确度声明,都必须通过
rn-replica-qc
及其资产、运行时和交付门禁进行验证。

Source and rights boundary

来源与权利边界

  • Work only from a public link or local file the user is authorized to use.
  • Do not bypass private-account controls, DRM, paywalls, or deleted media.
  • Keep the source URL, title, downloaded media, transcript, and source screenshots in a private working directory.
  • Do not ship the source media inside the finished project or Skill package.
  • Recreate motion structure, layout logic, pacing, and interaction language. Write new copy and use original or generic assets.
  • 只能使用用户有权使用的公开链接或本地文件。
  • 不得绕过私人账户访问控制、DRM、付费墙或已删除的媒体。
  • 将源 URL、标题、下载的媒体、转录文本和源截图保存在私有工作目录中。
  • 不得在最终项目或 Skill 包中包含源媒体。
  • 重现动效结构、布局逻辑、节奏和交互语言。编写新文案,并使用原创或通用素材。

Workflow

工作流

1. Lock the study range

1. 锁定研究时段

Identify the exact time range, the requested effects, the delivery aspect ratio, and whether the user wants a study preview or a full production asset. When the request is already specific, proceed without another intake round.
Default the canvas and fps to the reference unless the user or destination requires another format.
确定准确的时间范围、所需效果、交付画幅比例,以及用户需要的是研究预览还是完整制作资产。当请求本身已经足够具体时,直接执行,无需再进行一轮需求收集。
默认沿用参考素材的画布和 fps,除非用户或目标平台要求其他格式。

2. Acquire and verify the reference

2. 获取并验证参考素材

Download the public reference with the workspace's trusted downloader or
yt-dlp
. Verify it with
ffprobe
; an HTTP success is not enough.
Require:
  • a playable video stream
  • non-zero duration
  • known dimensions and frame rate
  • an untouched source file in the private reference directory
使用工作区的可信下载工具或
yt-dlp
下载公开参考素材。使用
ffprobe
进行验证;仅 HTTP 请求成功并不足够。
必须满足:
  • 存在可播放的视频流
  • 时长不为零
  • 已知尺寸和帧率
  • 私有参考目录中存在未经修改的源文件

3. Generate visual evidence

3. 生成视觉证据

Run the bundled analyzer on the selected range:
bash
python3 scripts/analyze_reference.py <reference.mp4> \
  --start 0 --duration 35 --out <private-analysis-dir>
Inspect all generated contact sheets and scene frames. Do not infer choreography from one thumbnail.
Record five layers of evidence:
  1. visual tokens: background, border, palette, type, shadow, texture
  2. geometry: safe margins, anchors, card sizes, connector routing, z-order
  3. motion primitives: pop, slide, path draw, swap, push, blur, zoom
  4. sequence: what enters first, what waits, what replaces an earlier state
  5. timing: entrance duration, dwell, overlap, transition time, final hold
Write
frame.md
for the visual contract and
STORYBOARD.md
for the timestamped sequence before authoring animation.
For outlined cards and orthogonal connectors, read references/box-motion-pattern.md.
对选定的时间范围运行内置分析器:
bash
python3 scripts/analyze_reference.py <reference.mp4> \
  --start 0 --duration 35 --out <private-analysis-dir>
检查所有生成的接触表(contact sheet)和场景帧。不得仅凭一张缩略图推断动作编排。
记录五个层次的证据:
  1. 视觉要素:背景、边框、配色、字体、阴影、纹理
  2. 几何结构:安全边距、锚点、卡片尺寸、连接线路由、z-order
  3. 动效基元:弹出、滑入、路径绘制、交换、推移、模糊、缩放
  4. 顺序:最先进入的内容、等待的内容,以及替换先前状态的内容
  5. 时序:入场时长、停留、重叠、转场时间、最终定格
在开始制作动画前,为视觉契约编写
frame.md
,为带时间戳的序列编写
STORYBOARD.md
。
对于描边卡片和正交连接线,请阅读 references/box-motion-pattern.md。

4. Choose the production route

4. 选择制作路线

Use HyperFrames by default for an authored finished video:
  • short, unnarrated, motion-first shot around 10 seconds or less: route through the
    motion-graphics
    workflow
  • longer, multi-state, or multi-scene replica: route through
    general-video
  • existing talking-head footage that stays intact under new graphics: route through
    talking-head-recut
For the bundled box-motion starting point:
bash
python3 scripts/init_motion_project.py <new-project-dir>
The template is an editable example, not a content contract. Replace its labels, timings, colors, and layout with evidence from the current reference.
对于人工编排的成片,默认使用 HyperFrames:
  • 短、无旁白、以动效为主且时长约为 10 秒或更短:使用
    motion-graphics
    工作流
  • 较长、包含多个状态或多个场景:使用
    general-video
  • 在新增图形下仍需完整保留现有口播人像素材:使用
    talking-head-recut
对于内置的方框动效起始项目:
bash
python3 scripts/init_motion_project.py <new-project-dir>
该模板只是一个可编辑示例,并非内容契约。应使用当前参考素材中的证据替换其中的标签、时序、颜色和布局。

5. Build layout before motion

5. 先构建布局,再添加动效

Construct each scene at its most visible state first. Confirm that cards, labels, and connectors fit without animation.
Then animate in reading order:
  1. frame and section label
  2. first focus node
  3. next endpoint
  4. connector between visible endpoints
  5. supporting cards one at a time
  6. state swap or scene transition
  7. readable final hold
Keep connectors behind cards. Initialize every SVG connector and junction as hidden at time zero; reveal each only at its cue. A floating connector or junction before its nodes is a failed frame.
Use seek-safe deterministic timelines. Do not use render-time clocks, unseeded randomness, hover state, or infinite animation loops.
先将每个场景构建到元素最清晰可见的状态。确认卡片、标签和连接线在没有动画时也能正确排布。
然后按阅读顺序添加动画:
  1. 外框和分区标签
  2. 首个焦点节点
  3. 下一个端点
  4. 可见端点之间的连接线
  5. 逐一添加辅助卡片
  6. 状态交换或场景转场
  7. 可读性良好的最终定格
连接线必须置于卡片后方。每个 SVG 连接线和交汇节点都必须在时间零初始化为隐藏状态,并且只在各自的时间提示点显现。节点出现前若有悬浮的连接线或交汇节点,即属于错误帧。
使用支持安全 seek 的确定性时间线。不得使用渲染时时钟、未设种子的随机性、悬停状态或无限动画循环。

6. Validate the composition

6. 验证构图

Run the framework's full check, then capture explicit snapshots at:
  • the opening entrance
  • every graph or layout state change
  • immediately before, during, and after each scene transition
  • the final held frame
Inspect the rendered pixels. Fix premature elements, blank handoffs, connector crossings, clipped text, inconsistent borders, and off-brand easing before rendering a full MP4.
运行框架的完整检查,然后在以下位置捕获明确的快照:
  • 开场入场画面
  • 每个图表或布局状态变化
  • 每次场景转场之前、期间和之后
  • 最终定格帧
检查渲染后的像素。在渲染完整 MP4 前,修复提前出现的元素、空白衔接、连接线交叉、文字裁切、边框不一致以及偏离品牌风格的缓动。

7. Render and verify the final MP4

7. 渲染并验证最终 MP4

Render only when the user's request includes an output video or the user has approved the preview.
Run post-render QC against the MP4 itself, not only the HTML preview. Read references/qc-checklist.md and preserve:
  • media probe JSON
  • final-MP4 contact sheet
  • representative opening, state-change, transition, and final frames
  • black-frame scan result
只有在用户请求包含输出视频,或用户已批准预览时,才执行渲染。
针对最终 MP4 本身进行渲染后 QC,而不能只检查 HTML 预览。阅读 references/qc-checklist.md,并保留:
  • 媒体探测 JSON
  • 最终 MP4 的接触表(contact sheet)
  • 具有代表性的开场、状态变化、转场和最终帧
  • 黑帧扫描结果

8. Deliver the reusable package

8. 交付可复用项目包

Use this shape:
text
<project>/
├── frame.md
├── STORYBOARD.md
├── index.html
├── renders/
│   └── motion-replica.mp4
└── qc/
    ├── media-probe.json
    ├── contact-sheet.jpg
    └── representative-frames/
Keep the original reference and source-identifying analysis outside this deliverable.
使用以下结构:
text
<project>/
├── frame.md
├── STORYBOARD.md
├── index.html
├── renders/
│   └── motion-replica.mp4
└── qc/
    ├── media-probe.json
    ├── contact-sheet.jpg
    └── representative-frames/
将原始参考素材和可识别来源的分析材料保留在此交付物之外。

Completion gates

完成门禁

  • Do not claim a match without inspecting multiple timestamps from the requested range.
  • Do not claim pixel or frame exactness from this workflow alone; use
    rn-replica-qc
    for full-frame evidence.
  • Do not copy the source's presenter, subtitles, script, thumbnail, or unique branded assets unless the user owns them and explicitly requests reuse.
  • Do not allow a connector, junction, or card to appear before its timeline cue.
  • Do not treat preview-only correctness as delivery; recheck the final MP4.
  • Do not replace the requested video with contact sheets. Contact sheets are QC evidence, not the deliverable.
  • 如果未检查请求时段内的多个时间戳,不得声称效果匹配。
  • 仅凭此工作流不得声称达到像素级或帧级完全一致;全帧证据须使用
    rn-replica-qc
    。
  • 不得复制源片的主持人、字幕、脚本、缩略图或独特品牌资产,除非用户拥有这些内容并明确要求复用。
  • 不得让连接线、交汇节点或卡片早于其时间线提示点出现。
  • 不能将仅在预览中正确视为已经交付;必须重新检查最终 MP4。
  • 不得用接触表替代用户要求的视频。接触表是 QC 证据,而不是交付物。

Bundled resources

内置资源

  • scripts/analyze_reference.py
    : generate probe data, overview and dense contact sheets, and scene-change frames.
  • scripts/init_motion_project.py
    : copy the reusable HyperFrames box-motion project without overwriting an existing directory.
  • references/box-motion-pattern.md
    : card, connector, state-swap, and push-transition implementation guidance.
  • references/qc-checklist.md
    : pre-render and final-MP4 validation gates.
  • assets/templates/box-motion-hyperframes/
    : editable source project used by the initializer.
  • assets/showcases/box-motion-replica-35s.mp4
    : 35-second finished example.
  • scripts/analyze_reference.py
    :生成探测数据、概览图和密集接触表(contact sheet),以及场景变化帧。
  • scripts/init_motion_project.py
    :复制可复用的 HyperFrames 方框动效项目,且不会覆盖现有目录。
  • references/box-motion-pattern.md
    :卡片、连接线、状态交换和推移转场的实现指南。
  • references/qc-checklist.md
    :渲染前和最终 MP4 验证门禁。
  • assets/templates/box-motion-hyperframes/
    :初始化程序使用的可编辑源项目。
  • assets/showcases/box-motion-replica-35s.mp4
    :35 秒的成片示例。