| name | overlay-authoring |
| description | AKARI Video のオーバーレイ HTML、字幕、表・グラフ、Three.js 3D、モーショングラフィックス、サムネイル、人物の後ろに文字を置く表現を設計・生成・レビューするときに発動する authoring ルーター。 |
FORBIDDEN 級ハードルール
Language: Respond in the user's language — 対話・質問・承認確認・レポートはユーザーの使用言語に合わせる(例: 英語で話しかけられたら英語で応答する)。
次のいずれかに違反する動画オーバーレイを作成・採用しない。詳細リーフより常に優先する。
- 調整値を直書きしない。 位置、拡縮、文字サイズ、色、余白、内容など、人が調整しうる値を CSS 変数として公開する。
--x、--y、--scale、--font-size、--color などを使い、edit.json.overlays[].vars から継承できるよう var(--name, fallback) で参照する。断片ルートで同名変数を再定義して上書きを遮らない。
- 時刻を別の仕組みに持たせない。 タイミングは
data-start / data-duration とする。AKARI Video v0 では edit.json.overlays[].start/duration が SSOT で、ランタイムが外側コンテナの data 属性へ反映する。断片内の独立した時刻源を作らない。
- layout を毎フレーム動かさない。 アニメーションは
transform / opacity 中心にする。4K 映像上の filter: blur() と backdrop-filter は禁止する。
- wall-clock で絵を決めない。
Date.now()、performance.now() の経過差、setTimeout、setInterval、rAF の delta 積算、未 seed の乱数に表示状態を依存させない。シーク時に WAAPI の currentTime を設定すれば同じ時刻の絵が再現される決定的設計にする。
- 3D の別方式を持ち込まない。 3D は Three.js + glTF とし、動画テクスチャは
VideoTexture に編集用プロキシを与える。原本をプレビュー用テクスチャへ直結しない。
- トップレベルを複数にしない。 HTML 断片のルート要素は必ず 1 つにする。AKARI の外側コンテナによる translate / scale / rotate が常に効く構造を保つ。
リーフ目次
必要な判断領域だけを読む。
静止サムネイル用 HTML シートは動画オーバーレイではないため timing data 属性を不要とする。ただし、CSS 変数化、単一ルート、ローカル資産、決定的なスクリーンショットという考え方は維持する。