基準片 MG Style
建立可移植的動態系統,而非一次性繪圖。在打磨視覺細節之前,保留參考片的資訊邏輯、證據層級、時序及編輯角色。
在當前系統中的定位
此技能是參考片保真方法論層,而非平行生產線。口播管線及其真相來源擁有具體數值;此檔案僅負責「如何忠實讀取參考片並重現其論證邏輯」。請遵循它們,且切勿在此重申其數值:
- fps / 解析度 / 幀數 →
remotion-assemblySKILL §0(合成 fps/解析度匹配素材,ffprobe 先查,勿預設 60fps)+remotion-design-systemreferences/motion.md §0(先秒後幀,合成實際 30fps)+ specs.md(實測規格真源)。請勿在此寫死 60 fps 或 4K。 - 設計 Token(顏色 / 字體 / 網格 / 圓角 / 安全區域)→
remotion-design-systemSKILL §1 + typography.md / texture.md。 - 接管模型 → layout.md(A 級素材接管;B 級壓暗升格與 PiP 已被使用者否決,接管一律人物整段退場)。
- 持續微動態 → motion.md §8/§9(主角必包 Breathe;每章 ≥1 個肉眼可辨運動)。
生產線:目前口播交付為 baked — OffthreadVideo 鋪底 + MG 烤入單合成(Koubo071501.tsx / scenes/SceneNN.tsx),以 baked 段渲 mp4 審查,並透過母帶鏈完成(assembly §4/§6)。下方描述的「透明 Alpha 疊層 / 棋盤格預覽 / Alpha 母帶」語言僅為可選的 Alpha 交付模式;當交付至口播管線時,請將「棋盤格預覽」視為「baked 段渲預覽」,將「Alpha 母帶」視為「baked 母帶 + 母帶鏈」。
非妥協原則
將 MG 視為依附於語音的論證層:
- 識別句子的主張。
- 選擇能證明或釐清該主張的最小視覺結構。
- 除非編輯刻意成為媒體接管,否則保持講者視覺主導。
- 僅在口語意義改變時才改變狀態。
切勿發明更漂亮但語義不同的場景。若視覺上精美的重新設計其證據、狀態序列或編輯功能與來源不同,則為失敗的復刻。
選擇場景語法
使用以下經驗證的語法之一,然後調整內容和時序:
- 持續診斷 + 短暫證據:保持風險/檢查表卡片穩定,同時一個真實截圖短暫出現並消失。
- 穩定流程 + 接續句子:將完整管線顯示為已確定的狀態,然後在短語邊界處將其替換為一個簡短的結論。
- 證據 + 延遲判決:讓真實證據卡片先離開;僅在觀眾讀完數字後才引入判決印章。
- 多鏡頭解說:使用
composition -> chapter only -> identity -> media takeover;請勿將不同的鏡頭壓平到一個儀表板中。 - 引用證明 + 量化重擊:真實引用截圖、註解、計量數量、強調關鍵字,然後是講者/來源晶片。
- 系統狀態 + 漸進憑證:保持核心矩陣,僅揭露口語中提到的憑證。
這六種是參考片復刻語法。口播合成自身原生的節奏系統(側標體系 / 紅綠陣營 / 重錘時機 / hook·CTA / 判詞升格)位於 remotion-assembly references/narrative.md — 在創作新的口播影片時使用它,請勿在此重複。
編碼前先分析
針對每個參考片段:
- 驗證正確的來源檔案和確切的時間範圍。當檔名不明確時,交叉比對候選檔案。
- 在開始、每個語義邊界、每個轉場中點和結束處提取幀。
- 撰寫運動映射圖,包含絕對來源時間、本地幀、可見圖層、進入/離開圖層,以及引起變化的口語短語。
- 將實際的 MG 與字幕、主持人鏡頭、B-roll 及下一個編輯鏡頭分開。
- 從來源幀測量錨點、邊界、不透明度和持續時間。明確標記估計值。
- 當參考片依賴證據時,使用真實截圖、人物、標誌、文章和新聞片段。請勿手繪偽造的證據 UI。
若運動映射圖不確定,請在實作前停止並收集更多幀。
建立疊層
- 匹配專案的 fps 和解析度 — 口播基準 1080p,合成 30fps;ffprobe 先查,勿預設 60fps/4K(定位說明;錯題 #19)。4K 輸出是 1080p 基準的 ×2(根據 design-system §1)。
- 交付模式決定背景:baked(預設口播)將 MG 合成到 OffthreadVideo 鋪底上成為一個合成;alpha 模式保持渲染背景透明,並提供一個單獨的棋盤格預覽合成。
- 保護字幕區域和講者的臉部與手部(SAFE Token:常駐卡不越 x55%,字幕禁區 y>82%,左區元素底邊 ≤y840 更嚴格 — design-system §1;人物禁入區/右區座標見 layout.md)。
- 從
src/design/tokens.ts重複使用專案的字體、顏色、網格、圓角和安全區域 Token(design-system SKILL §1);請勿引入平行設計系統或在此重申 Token 值。 - 當模式將被重複使用時,將場景內容和時序儲存在資料物件中。
- 要求真實素材具有可追溯的
evidenceRef元資料。當靜默替換會使保真度失效時,使用 SHA-256 對重要的來源素材進行閘控。 - 偏好與意義相關的簡短不透明度、位置或縮放變化(motion.md §6 三檔動效詞彙)。拒絕純裝飾性循環、無端的飛入和彈簧過衝(motion.md §11)。這並非禁止持續微動態 — 參考片確實有呼吸:主角元素必包
<Breathe>,相位錯開,小件不包(motion.md §9),且每個章節包含 ≥1 個可辨識的持續運動(motion.md §8)。(先前的「避免環境呼吸」解讀與來源不符,已被 motion.md §9 取代。) - 保留編輯不透明度層級:章節 HUD 清晰;配角姓名、肖像、時間線和背景證據可較暗;當前的證明或判決獲得最高對比度。
- 全螢幕來源片段是明確的編輯接管(A 級素材接管,layout.md),而非半透明疊層。將其建模為自己的鏡頭/場景,講者在整個持續時間內退場(人物整段退場、不帶 PiP — layout.md;PiP 已被否決)。
時序語言
- 從來源的當前狀態開始。當參考片開始時已組裝完畢,請勿重播建構動畫。
- 資訊停留時間要足夠閱讀;風格是狀態驅動的,而非持續移動。
- 小的進入/退出約 0.1-0.3 秒;以合成的實際 fps 轉換為幀(先秒後幀,motion.md §0 — 口播 30fps → ~3-9 幀)。盡可能從來源測量(specs.md 規格真源)。切勿將 60 fps 的幀數帶入 30 fps 的合成(錯題 #19)。
- 僅在對應口語列舉時才允許錯開。
- 當參考片如此做時,讓舊證據在判決或接續句子之前離開。
- 保留重疊和延遲揭示。切勿為了方便而用硬切替換淡入/重疊序列。
- 在真正的 MG 邊界結束。請勿將 1.2 秒的圖形拉伸到不相關的 B-roll 上。
強制保真度關卡
必須依序通過每個關卡:
- 運動映射圖:來源驗證的狀態序列和邊界。
- 靜態關卡:在匹配的時間點比較 3-6 個來源與復刻幀。
- 動態關卡:一個小型的 H.264 並排比較 — 來源在左,我們的渲染在右(口播使用 baked 段渲;alpha 模式使用棋盤格預覽)。
- 獨立稽核:另一位審查者檢查時序、幾何、不透明度層級、真實素材以及額外/缺失的狀態。任一維度 <7 或存在 FAIL 級違規 = 打回(mg-judge + rubric.md,assembly §2.5)。
- 母帶發布:僅在動態比較 和使用者動態終審 通過後才渲染最終母帶(動效手感是 AI 靜幀盲區,master release 前置含使用者終審 — assembly §2.5 閘③;口播使用 baked mp4 → 母帶鏈,assembly §6;alpha 模式使用透明母帶)。
實作執行緒不得自我認證。靜態圖像比對無法核准運動時序。
渲染紀律
- 在程式碼編輯後使用
--bundle-cache=false,以避免過時的 Remotion 套件隱藏更改(錯題 #02:○= 複用舊圖)。 - 為審查渲染小預覽 — 1080p
--scale=0.5,或使用段渲服務node scripts/render-service.cjs segment|stills|qc(assembly §6);僅在 alpha 模式下使用棋盤格合成。 - 對於狹窄的時序修復,僅渲染受影響的幀範圍(
--frames=a-b),而非整個合成。 - 保持審查預覽較小;切勿投機性地渲染大型母帶(雷區「自動跑 4K render」;渲染只按使用者/方案確認的範圍起)。
- 僅為已核准的合成和請求的交付編解碼器渲染最終母帶;長時間渲染使用
nohup … & disown,並確認日誌+行(錯題 #09)。
需拒絕的失敗模式
- 以複製為名進行的語義重新設計。
- 以抽象卡片取代真實截圖或新聞證據。
- 第一幀看起來正確,但後續狀態錯誤。
- 身份、判決或結論在其口語提示之前出現。
- 當參考片保持錨點圖層持續存在時,整個群組退出。
- 參考片中不存在的新標籤、分類法、印章或結論。(持續的主角 Breathe 由 motion.md §9 授權,不視為發明元素 — 請勿為了匹配看似靜止的靜態幀而將其移除。)
- 證據放大到與講者競爭。
- 字幕或主持人鏡頭意外地烘烤到打算重複使用的素材中。
- 未經來源與輸出比較就宣布通過。
針對新談話性頭影片進行泛化
範圍守衛:本節泛化六種經驗證的參考片復刻語法 — 它僅在存在參考片可供選擇語法時適用。無參考片的節奏設計是另一條路徑:remotion-assembly 端到端流程第 4 步(selection.md 句型對號表)+ references/rd-noref.md(語法缺口時的多方案生成→judge panel→使用者定稿)。請勿將六種語法之一強加於不合適的內容上。
將逐字稿轉換為語義節奏。針對每個節奏,填入:
type MgBeat = {
claim: string;
grammar:
| "diagnosis-evidence"
| "pipeline-successor"
| "evidence-verdict"
| "multi-shot"
| "quote-punch"
| "system-credentials";
startFrame: number; // 所有 *Frame 欄位以合成 fps 為單位(先秒後幀,motion.md §0);絕非 60fps 計數
endFrame: number;
cueFrame: number;
persistentLayers: string[];
transientLayers: string[];
evidenceRef?: string;
};
根據主張而非表面關鍵字選擇語法。在保留語法狀態邏輯的同時,替換文案、素材和提示幀。若沒有經驗證的語法合適,分析新的參考片並僅在其通過相同關卡後新增語法。
完成合約
交付:
- 完成的合成 — 預設情況下,將 baked Scene 烘烤到口播合成中;僅在 alpha 模式下提供透明疊層 + 棋盤格預覽對。
- 適用的證據元資料和素材閘。
- 匹配時間的靜態比較。
- 動態並排比較。
- 獨立 PASS(任一維度 ≥7 且無 FAIL 級違規 — mg-judge + rubric.md,assembly §2.5)加上使用者動態終審通過。
- 一個簡潔的說明,解釋使用了哪種語法及其原因。