mcpField
H
hyperframes-studio

hyperframes-studio

github.com/ryu1845创意与媒体016 次安装1 周前更新
代码仓库

关于 hyperframes-studio

hyperframes-studio 是面向 HyperFrames Studio 项目的制作规范,帮助创作者组织场景与轨道,使时间线清晰可编辑,并规定如何处理修改请求、计划和项目检查。

主要功能

  1. 01场景子合成规范
  2. 02字幕集中在单一轨道
  3. 03按元素类型分组轨道
  4. 04预览安全区指引
  5. 05计划、故事板与制作流程
  6. 06Lint 和 Studio 时间线检查

适用场景

  1. 01为时间线编辑组织项目结构
  2. 02将字幕和媒体整理到轨道
  3. 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 秒则能留出空间演示”)。
  • 有想法需要完善时:新影片的方向请遵循 /hyperframes references/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-rollvideo(来自标签)
场景、叠加层、图形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 中打开项目,检查时间线是否显示一条基础轨道、每个场景宿主各一条轨道、一条字幕轨道和音频轨道。

评论

支持 Markdown