1仕組みと動作原理
前提条件が明記されています。レンダリングエンジンはHyperFrames、シーンソースはHTML/CSS/JSです。そのため、すべてのルールは一般的なフロントエンド開発ではなく、「コンポジションルート + 一時停止タイムライン + アドレス指定可能性 + 決定性」を中心に展開されます。
Use this skill when implementing or revising a HyperFrames scene. This skill assumes HyperFrames is the render engine and the scene source is HTML/CSS/JS.
フレームレンダリングで決定論的なシークを行う必要があるため、タイムラインは必ず一時停止(paused)でなければなりません。これは「同一のソースから同一のフレーム群をレンダリングする」ための前提条件です。
- Use paused timelines for deterministic seekable animation.
コンポジションルートとスコープの規律:data-composition-id / data-width / data-heightを明示的に宣言し、セレクタはコンポジションルート内に厳格に限定しなければなりません。他のサブコンポジションを汚染するグローバルセレクタは禁止されます。
- Avoid global selectors that can mutate other sub-compositions.
レンダリングサイクルは「低品質ドラフトでの反復 → 最終確定時のみ品質/フレームレート向上」です。ドラフト品質 + --workers 2で迅速に結果を確認し、シーンが承認された場合やフレームレート依存の挙動を検証する場合にのみ品質を引き上げます。
Use higher FPS or quality only when the scene is approved or when testing frame-rate-specific motion.
プルーフフレームはブラウザのスクリーンショットではなく、レンダリングされたMP4から取得する必要があります。スクリーンショットはエンコード/合成パイプラインを経由しないため、実際の差異が隠蔽されてしまいます。
- Generate proof frames from the rendered MP4, not only browser screenshots.
HyperFrames特有のリスクチェックリストを内蔵:タイムラインIDの不一致、ネストされたコンポジション内のスコープ外セレクタ、GSAPによる既存CSS transformの上書き、プレビューとレンダリング間のCDN/フォント読み込み差異、レンダリングワーカー内でのメディアアセット解決失敗、単一ファイル肥大化によるエージェントの検証不能。
- CDN or font loading differences between preview and render.
キャリーオーバー(継続性)の規律:トランジションで新しいラベルやグラフィックが欠落していた場合、次シーンで複製されている同一フレームも同時に修正しなければなりません。
- If a scene transition forgets a new label or visual, patch the next scene's carryover frame too.
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| cli | HyperFrames CLI(npx hyperframes preview / lint / render),Node/npm 生态工具;首次 npx 会从 npm registry 解析该包 |
| package | HyperFrames 渲染器(本地合成与编码,含无头 Chrome/worker 渲染环境) |
| package | GSAP(时间线动画库;由组合页面引入,规则围绕暂停时间线与 set/fromTo 语义) |
| network | 产物期引用面:组合页面若引用 CDN 脚本或网络字体,preview 与 render worker 会各自拉取,行为可能不一致(按范式属产物期引用,不判级,仅记录) |
| cli | ffmpeg(间接:抽帧与证明帧由同族 render-qa skill 的 scripts/extract_proof_frames.py 承担) |
4推奨統制措置と判定根拠
- scripts/: ローカルスクリプトまたはコマンドの実行: (ホストエージェントにより実行)npx hyperframes preview / lint / render —— SKILL.md内のRender項目
- 网络端点: 外部ネットワークアクセスの宣言: registry.npmjs.org(推論):ローカルにhyperframesがインストールされていない場合、npxがnpmレジストリからパッケージを解決・ダウンロードするため(標準的なツール挙動)
- 本地工作目录: ファイル読み書きおよび成果物出力: compositions/*.html(シーンソース、1シーン1ファイル)および共有トークン/コンポーネント
5二重目の独立検証
- [ok] 「无端点无凭证」是否成立 — 目录内正则扫描只命中 npx hyperframes 三条命令;无 http(s):// URL、无 token/env/cookie。父仓库 .gitignore 也把 .env 排除,属仓库层卫生,非本 skill 声明。
- [unlocatable] 渲染命令是否与 HyperFrames CLI 的真实用法相符 — 本仓未 vendored HyperFrames(README 明写 This repo does not vendor HyperFrames),pin 内无法核验 --composition/--output/--quality draft/--workers 这些参数是否与上游 CLI 一致;本次侦查为只读且不得运行渲染,故不验证,登记为待补。
- [ok] 「证明帧从渲染 MP4 抽取」在仓库层是否有落地工具 — scripts/extract_proof_frames.py 用 ffmpeg -ss <time> -i <video> -frames:v 1 -q:v 2 抽单帧,并可用 xstack 拼接触表;与本 skill 的要求(从渲染产物而非浏览器截图抽帧)一致。
- [discrepancy] 是否声明了 HyperFrames 的安装前提 — SKILL.md 直接给 npx hyperframes 命令,但未写 HyperFrames 的版本、安装方式或项目初始化要求(同族 end-to-end-video-playbook 也只把它当引擎名字)。用户需自行确保 CLI 可用,否则三条命令全部失败。
- [ok] 「预览与渲染的 CDN/字体差异」是否属可判级的外发 — 该条描述的是产物页在浏览器端拉取 CDN/字体(产物期引用),按风险范式不判级;本 skill 也把它写成需要注意的渲染风险而非流程中的联网步骤,故只记入 reason 与 risks,不升档。
- [ok] 组件清单是否真是约定而非强制的类 — SKILL.md 原文 These do not need to be formal JS classes. They can be CSS classes, HTML snippets, or helper functions as long as future agents can find and reuse them.——属约定而非 API,不存在「清单里的类未实现」这种缺口。
6結論
b8691be00b4eea0e…