关于 hyperframes-studio
hyperframes-studio 是面向 HyperFrames Studio 项目的制作规范,帮助创作者组织场景与轨道,使时间线清晰可编辑,并规定如何处理修改请求、计划和项目检查。
主要功能
- 01场景子合成规范
- 02字幕集中在单一轨道
- 03按元素类型分组轨道
- 04预览安全区指引
- 05计划、故事板与制作流程
- 06Lint 和 Studio 时间线检查
适用场景
- 01为时间线编辑组织项目结构
- 02将字幕和媒体整理到轨道
- 03根据影片反馈处理修改而不擅自改动
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ryu1845/ hyperframes --skill hyperframes-studio安装后在 Claude Code 中输入/hyperframes-studio确认已加载。
详细介绍
插件安装: 在设置或检查更新命令之前,如果此技能位于 HyperFrames 插件中,请遵循插件执行规则。独立安装请继续遵循下方的更新说明。
HyperFrames Studio 规范
Studio 为每个顶层元素绘制一条时间线行。遵循以下规则的项目打开后会呈现简洁、易读的时间线;不遵循规则的项目则会显示一整面没有标签、用户无法编辑的行。这些规范说明了要构建什么。
关于如何更改片段,请遵循 /hyperframes-core references/creator-editing-recipes.md,切勿为同一种编辑方式另行编造形式。
0. 先沟通,再开始构建
打开文件前先阅读消息。判断对方提出了什么要求:
| 对方 | 你 |
|---|---|
| 提出一项更改,无论措辞多么委婉(“把标题放大些”“能剪掉第三个场景吗?”) | 执行。 |
| 对成片提出主观感受(“开场感觉不顺”“时长不够”) | 找出原因,调整可衡量的内容,说明这条意见的含义和做了哪些调整,并记录在 STORYBOARD.md 中。 |
| 只提问题,没有提出更改(“标题为什么会跳动?”) | 回答。不做任何更改。 |
| 表示不要更改任何内容、先暂停、“只是想想”或“我们聊聊” | 不更改任何文件,连你发现的问题也不修复。用文字提出建议。 |
| 为这部影片提出想法,但没有说明具体更改(“我想让结尾更有冲击力”) | 提出更改方案,并将其加入计划(见下文)。不更改任何构图文件。 |
| 要求制作一部新影片 | 制定计划(§ 5)。 |
| 批准计划(“开始制作”“好”) | 按获批方案制作。 |
如果一条消息既提出问题又要求更改,就既要回答,也要执行更改。只有在无法判断对方是否提出了任何要求时,才进入讨论:答错一次只会多一条消息;做错一次则会耗费漫长的制作时间,还要再来一轮修改意见。
讨论时的回复:
- 先用简洁明白的话回答,控制在几句话内。
- 只问答案会影响影片的问题,并为每个问题给出建议答案及其取舍(“30 秒适合信息流;60 秒则能留出空间演示”)。
- 有想法需要完善时:新影片的方向请遵循
/hyperframesreferences/pitch-round.md;关于当前影片的想法,则针对所提部分给出两三个选项。推荐其中一个。 - 结尾说明下一步,并写上启动下一步的词语(“说‘开始制作’,我就开始”)。
计划要保存在项目中,而不只是聊天记录里:下一条消息可能会开启一个无法看到本次对话的新会话。按照 /hyperframes-creative references/storyboard-recipe.md § 1 记录画面备注的方式,将计划加入 STORYBOARD.md;切勿覆盖已锁定的画面。如果对方要求完全不做任何更改,就不要写入任何内容:在回复中写出计划,并询问是否要保存。
1. 每个场景都是一个子合成
根合成仅包含定时宿主、媒体和音频。任何具有嵌套结构的场景(包含子元素的 div、带副标题的标题、图表)都应单独存为文件,并通过 data-composition-src 加载,接入 /hyperframes-core
references/sub-compositions.md。
留在根合成中的嵌套标记不会单独成为一行,而是隐藏在一个无法分部分裁剪或移动的不透明行中。
编写时应假设结构检查会拒绝任何违规内容。
2. 一条字幕轨道
- 所有字幕都放在一条轨道上:使用单个子合成宿主(一个
data-track-index),标记为data-track-kind="captions",并按顺序承载所有字幕组。 - 绝不能为每个字幕组单独创建一行,也不能将字幕混入其他类型的轨道。
- 字词计时规则不变:参见
/embedded-captions和caption_*lint 规则。
3. 每条轨道只包含一种元素类型
按类型分组,让用户可以将每一行作为一个整体进行选择、静音或拖动。
| 类型 | data-track-kind |
|---|---|
| 基础视频 / A-roll | video(来自标签) |
| 场景、叠加层、图形 | graphics |
| 字幕 | captions |
| 音频(旁白、音乐、音效) | audio(来自标签) |
将 data-track-kind 放在子合成宿主上。视频和音频类型来自标签,因此
<video> 和 <audio> 无需添加属性。每种类型都应有自己的 data-track-index;数字仅用于显示,不会改变渲染层级。使用 CSS 控制
层级。
4. 安全区域
任何标尺或安全框叠加层都应位于预览窗格中,绝不能放进合成中,因此
不要向 HTML 添加辅助元素。
宽屏和竖屏两种构图使用相同的两个安全框,即 Premiere 的默认值。预览
开关会绘制这两个安全框,并在每条边的中点标记刻度。来源:
packages/studio/src/utils/previewSafeMargins.ts 中的 ACTION_SAFE_PERCENT 和 TITLE_SAFE_PERCENT。
| 框 | 占画面的比例 | 每边内缩距离 |
|---|---|---|
| 动作安全框 | 90% | 5% |
| 标题安全框 | 80% | 10% |
- 安全边距:所有可见内容都应位于动作安全框(90%)内,字幕和关键内容都应位于标题安全框(80%)内。
- 双画面和 50/50 布局中的每一半内容都应位于标题安全框内。
5. 拍摄新影片:规划、分镜、制作
hyperframes-launches 影片按以下顺序制作。每一步都有负责人;请遵循该流程,此处不再重述。
| 步骤 | 负责人 |
|---|---|
| 1. 简介 | /hyperframes references/intent-interview.md。在现有项目中,只保留同一部影片的后续版本:新版或精简版,工作流和画幅相同。提出其必答问题,跳过 hyperframes init,绝不覆盖 BRIEF.md 或 STORYBOARD.md,而是在两者中各新增一个带日期的章节,并在回复中说明。如果影片的工作流或画幅不同,则开始一个新项目,并在回复中说明。 |
| 2. 方向 | /hyperframes references/pitch-round.md |
| 3. 故事板 | /hyperframes-creative references/storyboard-recipe.md |
| 4. 构建 | 简介所指向的工作流(/hyperframes § 2)及其自身的参考资料 |
| 5. 备注 | /hyperframes references/review-loop.md |
产品发布影片所添加的内容。若工作流所选的故事弧线另有要求,则以该弧线为准。
- 已上线产品的真实画面。 除非工作流本身会采集画面(例如通过网址获取网站),否则应在需求说明中要求提供屏幕录制,并在录制到达前用带标签的占位内容保留位置。切勿仿造已上线产品的 UI。作为背景展示的第三方工具(聊天应用、编辑器)必须根据录屏忠实重建。
- 同一个世界。 同一个窗口或画布贯穿各个节拍。逐一检查每个剪切:所有持续存在的内容都不得跳动。
- 光标和滚动内容。 光标或随窗口滚出的内容,应从窗口或画面边缘离开,而不是在画面中途淡出。元素和文本的替换应遵循工作流中的
cut-catalog.md(如果有)。 - 以命令或地址收尾, 并让徽标落在仍在运动的画面中。
- 每个版本都注明运行时长。 是否超过目标时长,由当事人决定,而不是由你决定。
检查你的工作
运行 hyperframes check(该命令会运行 lint)并修复所有问题。然后在 Studio 中打开项目,检查时间线是否显示一条基础轨道、每个场景宿主各一条轨道、一条字幕轨道和音频轨道。