code-film 是做什么的?
一种运动影像,其每一帧都是时间戳的纯函数:页面暴露
window.__seek(t),ui:render --profile film将其逐帧定位、捕获、证明序列确定性、检查是否满足光敏底线和声明的格式,并使用 ffmpeg 编码。无需付费视频服务,无需实时播放。影像运动的值存储在references/film-motion.md中;页面契约在film-page中定义。
何时使用
- 用户要求基于自己的素材制作一段简短的动态影像——产品宣传片、展示卷轴、动态排版、动画图表、流程演示、循环品牌动画等。
- 影像需要每次渲染结果一致、节奏与声明的节拍或速度相符,或输出为指定大小的 MP4 文件。
何时不使用
- 针对生成式视频服务(Veo、Kling、Sora)的提示 → 使用
motion-choreographer。 - UI 内部的动画——悬停、滚动揭示、页面过渡 → 参考
fe-design§ 动态。 - 剪辑或添加字幕的现有视频素材 → 使用
/video集群。 - 单一静态或循环 SVG 素材 → 使用
svg-authoring。
操作流程
-
输入。 只询问配方中列为可变的项:用途、格式和像素尺寸、十六进制调色板、一种字体、音频(无、提供的文件或声明的节奏)、结束画面。如果用户说“直接做”,则说明你使用的默认值。
-
方向。 从语料库中选择一个配方,并说明每个镜头服务的一个概念:
node <skills-root>/corpus-grounding/scripts/ground.mjs search \ --manifest <skills-root>/code-film/data/manifest.json "<brief>" -
禁止项。 提取针对该 brief 的 tells(
--domain tell),并将每个禁止项及其替代方案写入计划。 -
网格。 节奏和节拍来自提供的音轨(如果安装了
allin1.sh;否则使用声明的节奏,并注明是声明的),然后是一个带时间的有序镜头列表。每个文本保留其阅读时间(每秒 3 个单词)。 -
仅限说明性视频——声明。 列出屏幕上出现的每个数字、名称和日期及其来源,或标记为用户自己的。不得编造。
-
构建。 编写符合 seek 契约的页面:
window.__seek(t)、window.__videoMeta,不使用墙钟时间,使用种子化随机数,使用本地字体。从--domain renderer中选择渲染器;普通 HTML 是默认选项,只有在其许可问题得到回答后才建议使用许可渲染器。 -
联系表。 渲染一次,读取
contact.png,修复杂乱、重叠和节奏不准的问题。最多三次通过。 -
渲染。
agent-config ui:render film/index.html --profile film --out film/out.mp4 [--audio track.wav]退出 0 表示干净,2 表示有发现(确定性、闪屏、死区时间、格式、网络),1 表示未评估,3 表示没有浏览器驱动程序。
-
报告。 引用清单文件:seek 形式、每个检查为
ran或skipped: <reason>、发现项和verification。只有在清单中声明并且其文件摘要与你交付的文件摘要一致时,才说verified。
状态——每个词的含义
- verified (已验证) — 每一个适用的检查都已在此机器上运行,且编码后的文件摘要与记录的摘要一致。这并不说明影片的质量好坏。
- static-only (仅静态) — 帧已被捕获并哈希,但需要 ffmpeg 的检查(闪屏底线、编码、格式)未运行。请指明缺失的工具。
- unassessed (未评估) — 未检查任何内容:没有浏览器驱动程序、没有 seek 形式,或没有声明的长度。请指明缺少的安装或声明。
输出格式
- 影片路径及其清单中的 SHA-256 摘要。
- 检查表(
ran/skipped: …)及每个发现项。 - 联系表路径。
- 对于说明性视频,带来源的声明列表。
注意事项
- 使用
Math.random或Date.now的页面在逆向传递中渲染结果不同;清单会指出第一个分叉的帧。通过t进行种子化。 - 闪屏底线是一条安全底线:频闪会导致失败,没有标志可以降低它。
- 影像配置文件的运行会关闭网络。从 CDN 加载的字体或图像不会加载——请将其与页面放在一起。
- 确定性是针对每台机器的;不同机器之间的字体和 GPU 存在差异。
- 基于时间轴框架构建的页面通过
window.__timelines(暂停、可 seek 条目)查看;内嵌素材保持在t - data-start。内嵌素材编码时使用全帧内(-g 1),否则 seek 会在关键帧之间着陆。
禁止事项
- 禁止将来自外部画廊的提示文本粘贴到计划或配方中——请从语料库中重新编写。
- 禁止在未经询问的情况下捆绑或安装渲染器;应检测并路由。
- 禁止仅凭代码就宣布影片完成——帧决定一切。
- 禁止声称影片质量好、符合品牌调性或“AI 味少”;报告测量结果。
参见
motion-choreographer— 生成式视频服务的运动提示。svg-authoring— 针对单个素材的相同见证词汇。corpus-grounding—data/背后的引擎。