用途
changelog-video 面向需要把每周 changelog 转为成品视频的场景。输入是一份 changelog .md,包含主题(themes)与条目(items),例如每周 HyperFrames 摘要。输出是一个 lint 干净、seam-gate 通过的 HyperFrames 项目,位于 projects/active/weekly-changelog-<range>/。仅在被要求时才渲染。
适用时机:用户提供 changelog 或摘要 markdown 并想要每周视频,或直接说“changelog video”。
主要能力与设计原则
首要指令是“可视化,不要罗列”。每个主题都由实际 UI 的动画模拟或忠实近似来演绎变化,而非文字项目符号。每个主题或条目在写脚本之前都先经过 references/visualization-registry.md 路由,由注册表决定使用 ui-recreate、ui-analog、terminal 还是 checklist。文本清单是最后手段,仅保留给真正非视觉的条目(如可靠性修复列表)。
成片形式:方形 1080,总预算 45 至 60 秒;标题不超过 2 秒,结尾不超过 3.5 秒,4 个主题各约 9 至 12 秒。每个主题保留一个主视觉加最多 3 条口播条目,其余内容只作为结尾“完整摘要”的指引入口。一个含 30 条更改的 changelog 仍只产出不超过 14 个口播节拍。
使用方式
先决条件:首先加载 motion-doctrine(如有光标则加 cut-the-curve、oversized-cursor、seam-craft)与 captions-overlay。
第 0 步(不可跳过)从本技能资产引导项目:创建 project/assets/fonts 目录,复制技能内的字体 .woff2、bgm.mp3,用 ffmpeg 生成方形背景视频,并把 examples/master-skeleton.html 复制为 project/index.html。随后完整阅读 references/build-spec.md,它定义品牌令牌(TT Norms Pro + ABC Solar Display + TT Norms Mono、奶油色 #f5f6f4、克制的绿色 #5ef17c、绿色调边框的玻璃卡片、kicker/sec-chip 胶囊形状、位于 top: 990 的 32px 字幕轨)。只有完成这些后才进入第 1 至 6 步。若发现自己复用旧视频的 index.html、手写 @font-face 或自建 WebGL 背景,应停下并重新从 master-skeleton 骨架开始。
第 1 步解析与编辑取舍:提取周范围、标题级统计(发布数、提交数)、主题与条目,按故事顺序排列主题:主打功能 → 产品界面 → 性能 → 可靠性。
第 2 步可视化路由:为每个主题选择展示面,并写明该模拟执行的 2 至 4 个有序动作,每个动作对应一句脚本。找不到合适展示面且无忠实近似时,就用清单场景,不要为无法诚实呈现的东西编造假 UI。
第 3 步双层脚本(口播与显示):按 references/script-voice.md 写成令牌行,口语化语体,每个技术术语携带来自 references/lexicon.json 的 spoken 音形,而 display 保留标准拼写。字幕显示 display,配音读 spoken。词库中没有的术语应停下询问用户发音并加入词库。保存为 script-tokens.json。
第 4 步配音 Annie(HeyGen,固定):使用 skills/hyperframes-media/scripts/heygen-tts.mjs 生成 voiceover.mp3 与 vo-words.json,voice 参数为 330290724a1b470fb63153f34d4c0183(Annie — lifelike,不要替换)。需要 heygen CLI ≥0.3.0 且已认证(heygen auth login --oauth)。然后用 scripts/align-captions.mjs 把口播时间戳对齐到显示令牌,生成 captions.json。混淆警告必须全部解决。音频即时钟,所有节拍时间来自 vo-words.json。词时间戳是硬性门槛:若 vo-words.json 为空或缺少带 start/end 的 words 数组,可用本地 whisper 做强制对齐回退。
第 5 步构建:严格按 references/build-spec.md,使用品牌令牌与字体、动画背景编码、场景骨架、chrome、字幕轨,每个场景一个克制的绿色时刻。随后按规范顺序:ledger.json → seam-stamp → 在 VO 词上打内部节拍 → seam-gate 验证。字幕非可选,需把 captions.json 填入骨架中的 LINES 数组。
第 6 步校验门:运行 hyperframes CLI check(0 错误,暗文本 alpha ≥ .66,场景内容保持在字幕轨之上)、seam-gate.mjs verify(0 失败)、重启预览服务器并抽查 3 至 4 个节拍、除非用户要求不要渲染、渲染后抽取帧验证字幕存在与背景非黑、以及字幕存在性硬门(在口播窗口内采样 3 至 4 帧确认 top: 990 的字幕轨有可见文字,缺失即视为红色门)。
项目布局包含 index.html、ledger.json、script-tokens.json、vo-spoken.txt、voiceover.mp3、vo-words.json、captions.json、bgm.mp3 与 assets/fonts、assets/bg-pattern-<dur>s.mp4。
反模式
不要用项目符号幻灯片展示 UI 变化,不要为无法呈现的条目编造假 UI,不要在 TTS 文本中直接写平实的“JSON”“CLI”,不要在字幕中出现音形拼写,不要猜未知术语的发音,不要口播全部 changelog 条目,不要把绿色铺满各处,不要从旧视频的 index.html 起步,不要手工制作字体声明、背景或 BGM,不要在没有 CloudFront 失效刷新时交付。
限制
资料未提供价格、收费模式、明确许可条款、支持平台范围、渲染时长上限等信息,暂未提供。脚本术语发音若不在词库中需用户确认。