口播裝配流水線(v3 hub,源自 0715-01 裝配 + v3/v4 迭代)
本文件是裝配流程 hub:只留流程骨架與路由,板塊細則在
references/各文件(77 條對比差距的沉澱落點,2026-07-16 深度對比審查後定稿)。
§0 環境就緒檢查(每次被喚起先跑這一節,通過了再往下讀)
本 skill 的規則要落地,需要一個帶底座的 Remotion 工程。不要打印說明讓用戶自己弄——直接執行下面的檢查,缺什麼補什麼。
檢查順序(逐項跑,全綠才開工)
# 1) 基礎執行時
node -v && ffmpeg -version | head -1
# 2) 當前目錄是不是 Remotion 工程
[ -f package.json ] && grep -q '"remotion"' package.json && echo "OK: remotion 工程"
# 3) 底座是否齊全(缺任一即不完整)
ls src/design/tokens.ts src/design/motion.ts src/koubo/scenes/shared.tsx \
scripts/render-service.cjs scripts/qc-master.mjs 2>/dev/null
三種結果的處理
| 結果 | 動作 |
|---|---|
| 全綠 | 靜默通過,不要向用戶彙報環境情況,直接進入裝配流程 |
| 有工程、缺底座 | 自動補裝,不必問(setup 檢測到已是 Remotion 工程時只補 skill/腳本/底座,不覆蓋你的程式碼):macOS/Linux:bash <(curl -fsSL https://raw.githubusercontent.com/jincheng2026/jc-remotion-skills/master/setup.sh) .Windows(PowerShell):irm https://raw.githubusercontent.com/jincheng2026/jc-remotion-skills/master/setup.ps1 | iex(已 clone 倉庫時直接 node <倉庫>/setup.mjs .) |
| 沒有工程 | 問一句再裝(npm install 耗時 3-5 分鐘、體積可觀,屬有分量操作,須用戶確認目錄):「需要先建一個 Remotion 工程(裝依賴約 3-5 分鐘),建在哪?預設 ./remotion-koubo-studio」得到答覆後:macOS/Linux 用上行 setup.sh 加 <目錄> 參數;Windows 用 node <倉庫>/setup.mjs <目錄> |
| 缺 node / ffmpeg | 能自動裝就自動裝,不要把命令甩給用戶(多數環境用系統套件管理器裝這兩個不需要管理員權限):① macOS 有 brew(command -v brew)→ 告知一句「缺 X,我用 brew 裝一下,約幾分鐘」後直接 brew install <只裝缺的>,裝完重跑本節② Windows 有 winget → winget install OpenJS.NodeJS Gyan.FFmpeg③ Linux 先試 sudo -n true:免密則 sudo apt install -y nodejs ffmpeg;要密碼才把命令給用戶跑④ 都不行(如 Mac 沒有 Homebrew)→ 給一條官方安裝 Homebrew 的命令讓用戶貼到終端(需輸一次密碼),裝完讓用戶說一聲,重跑本節 |
紀律
- 只在第一次喚起時跑;同一會話內已通過就不再重複檢查。
- 全綠時保持沉默——用戶要的是剪片,不是環境報告。只有需要裝東西時才開口。
- 補裝/新建後必須重跑一遍檢查確認全綠,再進流程。
- 用戶明確說「跳過檢查」或「我知道環境沒問題」時,尊重用戶,直接開工。
§0.1 開工前必讀閘(出方案之前跑,與 §0 環境檢查同級:不過不許往下走)
本文件是路由 hub,不是內容。 下面這張表是真源清單——出裝配方案表之前必須逐個讀完,不是「需要時再查」。
| 必讀 | 管什麼 |
|---|---|
design-system references/motion.md | 動效詞彙(數字滾動 / 判詞砸落 / 條線生長 / 退場 / 淨屏)、絲滑五律 |
design-system references/typography.md | T 檔字階、空檔帶、主角字比值 |
design-system references/layout.md | 三區座標、接管機制、安全框 |
design-system references/specs.md | 組件規格表、動效數值表 |
assembly references/subtitle.md | 字幕斷句、雙語規範、校驗閘 |
assembly references/rhythm.md | 節拍密度、退場紀律、密度曲線 |
assembly references/narrative.md | 側標體系、五能量節點、判詞升格 |
assembly references/selection.md | 句型→段型→組件對號表 |
design-system references/infographic.md | 比喻圖形化、圖表選件(有數據/流程/對比段時必讀) |
為什麼立這道閘(2026-07-27,0727-01 翻車根因第 1 層):那一版只讀了本 hub + tokens.ts + 一個現成 Scene 檔案就開工,上面 9 份真源一份沒讀。後果是整套動效詞彙只剩「淡入」一種——數字不滾、判詞不砸落、多數段無退場、章間無淨屏,而這些全都白紙黑字寫在 motion.md 裡。
兩條附帶紀律:
- 禁止拿某個已有 Scene 檔案反推規範。一個場景只體現它用到的那部分規則,缺的恰恰是它沒用到的——0727-01 就是拿 0724-01 的 Scene02 當模板,那個場景恰好沒有數字滾動和 Stamp,於是整片都沒有。
- 方案表每段必須寫出規則條目號(見 §2 第 2 步)。寫不出「依據 motion §7 / narrative §3」這類條目號,就是沒讀,退回重讀。
§0.2 Studio 即時預覽預設開啟(「路 A」,2026-07-28 用戶裁定)
迭代確認的預設手段是 Remotion Studio 熱更新,不是渲靜幀回看——「改一處→渲幀→讀圖」的循環只留給閘門驗收。
- 開工即起預覽:環境檢查通過後預設啟動 Studio 並打開本片合成給用戶看(Claude Code:預覽面板起倉庫根
.claude/launch.json的remotion-studio;通用宿主:npm run dev後請用戶開http://localhost:3000/Koubo-<片名>)。主組件有鋪底粗剪(OffthreadVideo),Studio 裡即是完整合成(口播+MG+字幕+SFX 同屏),用戶隨時播放、拖時間軸。 - 迭代走熱更新:改程式碼後秒級自重新整理,字號/位置/顏色/文案類調整讓用戶在預覽裡直接看、直接裁定。渲幀(render-service stills/segment)只用於三道閘證據、mg-judge 輸入與交付驗收——閘門與送審規矩全部不變(送審仍帶音效段成片;動效規範自查仍須自己看連續畫面,§2.5 第 5 步)。
- 調參面板:新片主組件由
scaffold-koubo.mjs自動生成 zod schema(qc / subZhSize / subBottom / sfxGain;末尾列印的 Root 註冊片段已含 schema+defaultProps);掛 InfoScrim 時照src/koubo/Koubo072701.tsx把 scrimStrength 一併接進 schema,其餘參數按片增刪。鐵律:schema 預設值恆等 tokens/現行裁定值,出片走預設——面板是探索層不是真源,定稿值回寫對應真源(字號/底距→tokens.ts;音量檔→sfx §4.4 流程),禁把非預設值留在 defaultProps。Root 的 defaultProps 引 token 變數,Studio 報「Can't save default props」是刻意設計(堵住繞過 tokens 存值的路),勿修。zod 版本跟 Remotion 要求鎖定(4.0.489 ↔ zod 4.3.6,起 Studio 時的 version mismatch 警告即是校驗)。 - 即時播放掉幀屬瀏覽器即時合成的正常現象:判動畫手感降 0.5x 或段渲確認。開著 Studio 時起渲,序列紀律不變(#23 並行死鎖 + 預警雷區「Studio+still 並行崩」)。行程「0% CPU 靜默掛死」先查 iCloud 驅逐(錯題 #25 及其 node_modules 變體)。
體系迭代原則(用戶 2026-07-16 定調:skill 要不斷迭代、不斷提高標準和質感)
- 棘輪只進不退:用戶裁定過的標準(規格數值、否決項、配聲語法)是地板不是天花板——後續段落只能在其上加碼,禁止以「上次也這樣」為由維持現狀。
- 每段必沉澱:段落過審 = 至少一條可遷移 why 進板塊檔案;翻車 = 錯題立案(症狀→修法位置);用戶一句「不行/勉強」= 記下改進方向(如:音效「勉強還行」→ 待升商用包)。
- 每片必復盤:換新影片裝配前,先掃一遍錯題集與各板塊「反面案例」,確認新片起點 = 上一片的終點標準。
- 質感對標不封頂:當前基準片只是基線不是終點;發現更高水準的參考隨時按詞級對比法吸收進規格表。
規則衝突裁決序(兩條規則打架時按此自裁,記錄後等用戶追認)
用戶裁定 > 硬約束(三區/佔位表/門控/亮面禁裸字)> 語義對齊(說到哪出到哪)> 密度節奏基準 > 美學偏好。 已知裁決例項:對齊優先於淨屏(rhythm 1)、圖表講解錨豁免退場紀律(rhythm 4,待大考驗證)、快閃列舉不觸發 case 素材義務(broll 6)。新衝突按序自裁並在方案裡顯式記錄,禁止靜默擇一。
主會話紀律(0722-01 全流程復盤護欄,2026-07-24 立;詳見 my-video/docs/0722-01-全流程踩坑復盤-20260723.md)
一夜返工三次、機器兩次卡死,根問題不是執行,是判斷與對齊。四條鐵律:
- 採用現成方案 / 寫死數值前,先寫清「適用條件」。skill 的預設輸出(如 gbro 組裝動畫的慢揭示)只在它自己的語境成立,不會自動適配你的宿主內容——密集口播裡慢揭示=畫面永遠慢半拍(A1,8 條影片作廢)。一個數字管全批=預設所有條目同構,而它們通常不同構(A2「人物佔高 45-60%」一刀切致全身遠景失敗)。規格要寫「什麼情況用哪檔」(如物件驅動隱喻 45-60% / 人物驅動隱喻近景 65-80%),不是隻寫一個檔。
- 用戶的條件句不是祈使句。「只有 X 才 Y」是給約束不是要 X(A3:用戶說「只有全屏 B-roll 才讓人物消失」=人物預設不消失,我讀成「B-roll 做成全屏」,深夜返工 1.5h)。歧義術語(「讓畫面動起來」=鏡頭運動 vs 元素運動)先回一句對齊再實現,比猜便宜得多。
- 驗證必須能區分「測了沒問題」與「根本沒測」。QC「零違規」先核探針覆蓋率(錯題 #35);監控長任務盯任務專屬訊號(該任務自己的會話/產物/行程 PID),別盯全域性——0722-01 三次監控誤報都是盯錯訊號(盯到使用者自己並行跑的封面任務、拿「檔案多久沒變」判死活而 Codex 是攢夠批次才寫盤);硬紅線(無假字/logo/水印)主會話必須獨立放大復驗,不採信子代理自查口徑(C5:07 號自查「四邊無假字」實則頂邊有字母)。
- 改版 / 交付即 git 提交。專案是 git 倉庫但常年不提交 → v5 場景程式碼被整屏版覆蓋後只能照渲染畫面重建、還原度打折(D3)。每完成一版或交付前
git add -A && git commit,程式碼丟失是全流程唯一不可逆的損失。
底座缺陷補底座或立案,禁只在單段打補丁(錯題 #36 InfoScrim:0715-02 就地補丁、缺口一路留到 0722-01 才炸)。
板塊路由表(裝配各步驟讀哪個檔案)
| 板塊 | 檔案 | 管什麼 |
|---|---|---|
| 句型選型(第一查詢點) | references/selection.md | 口播句型→段型→語法指標→元件對號表;主拍三序判據;無匹配出口 |
| 無參考研發 | references/rd-noref.md | 語法缺口+無參考片時的新編排設計:多方案生成→judge panel→使用者定稿 |
| 參考片復刻(研發模式-A 方法層) | 獨立 skill remotion-reference-fidelity | 有參考片復刻時的保真方法論:scene grammar 六型、詞級 beat 表、保真閘;只管「怎麼忠實讀參考片」,數值一律以各板塊真源為準;alpha 透明交付線觸發條件也在它(見 §6) |
| 章節敘事 | references/narrative.md | 側標體系、紅綠陣營、重錘時機、hook/CTA、判詞升格 |
| 密度節奏 | references/rhythm.md | beat 表、每 3-5s 節拍、退場紀律、recap 加重、審計法 |
| 字幕 | references/subtitle.md | 語義斷句、英文短句、底襯箱、校驗腳本 |
| 素材工程 | references/broll.md(規則真源)+ 獨立執行 skill remotion-broll(判定→採集→驗真→選段→嵌入→調色→段渲一條龍,判出真素材段就調它幹活) | 四級素材優先級(自錄屏>官方影片>截圖>模擬卡)、影片自採與剪輯管線、punch-in、調色統一 |
| 聲音 | references/audio.md(規則真源)+ 獨立執行 skill remotion-sfx(選源→試聽板→加工入庫→cue 掛載→定量驗收,段落配聲就調它幹活) | SFX 管線、音量規範、母帶 loudnorm、定量驗收 |
| 版式/排印/質感/動效/圖表 | design-system 的 references/ | layout / typography / texture / motion / infographic |
| 錯題集(症狀→修法索引) | 獨立 skill remotion-gotchas-index | 全文「錯題 #NN」(#18/#19/#23/#24/#25 等)的修法位置查這裡 |
工程底座(substrate):本流程假定
src/design/(tokens/元件/motion/qc 探針/FontGuard)+src/koubo/scenes/shared.tsx(門控四件套 + Place + qcAllow)已在位——它們是全倉共享底座,新片複用不重建。冷啟動無 src/ 時,先按 design-system SKILL「工程底座清單」建底座再進本流程。
新片端到端流程(無參考片:從粗剪+SRT 到成片的通用 checklist)
定位澄清(2026-07-20):無參考片是常態,有參考片是特例。 常態 = 剪原創口播、無對應參考片,走 references/selection.md 句型語法路線,套已校準的風格規格出方案(本 checklist 即為此寫)。有參考片(如 1:1 復刻基準片某片做風格校準)只是特例,用途是校準、驗證風格是否學到位;別把「有參考片逐幀對齊」當預設流程。 現有各節多以 0715-01/基準片為例項(那是有參考片可逐幀對齊的校準場景)。沒有參考片的自制片走本 checklist——通用流程在此,本片例項細節各歸對應板塊。有參考片時只在第 4 步前插入「原片 contact sheet 詞級對齊」(見 §2 第 3 步 / §2.5 研發模式),其餘步驟相同。
- 輸入驗收與素材接入(§0 + §0.5):收粗剪成片 + SRT,按 §0.5 七步把「使用者丟進來的兩個檔案」變成可開工狀態(同片檢查/落位/字幕草稿/工程骨架/硬編碼適配)。
ffprobe定 fps/解析度,合成引數匹配素材、勿預設 60fps(design-system 錯題 #19);calculateMetadata 程式碼化。 - 構圖問使用者(§1 / layout.md §1):資訊區放左/右不自作主張,抽 3-4 幀看人物站位、使用者裁定為準;作者預設資訊 MG 放左側。
- 通讀 SRT 劃章節(§2 第 1 步):按語義轉折切 15-20 段,每段選一個主包裝點;同時在時間軸標出五能量節點(hook/重錘判詞/VS 決算/全片級判詞/CTA,見 narrative.md §1)。
- 按語法出方案(無參考片的核心差異):沒有原片可抄 beat,逐句先查 references/selection.md 句型對號表定段型與主語法(含主拍三序判據),再進指標指向的板塊真源取規格——narrative 定敘事骨架與五節點、rhythm 定換拍與峰值、infographic 定比喻圖形化、layout 定三區與接管。查表無匹配的句型走 references/rd-noref.md,禁裸設計。產出裝配方案表(
assembly/<片名>/裝配方案.md:時間段|口播要點|側標|主 MG|素材缺口),給使用者過目確認後才寫碼。 - 判研發/生產模式(§2.5):全段主編排都能在現有語法找到對應 = 全程生產模式(§2.5.1 五階段);含新編排模式的段升研發模式逐段迴圈。
- 實現 + 三道閘(§2.5):素材段走 remotion-broll,HUD 段按 layout 測量值寫碼,配聲走 remotion-sfx;每段過 QC 探針→mg-judge→使用者終審。
- 全片章法 pass(§2.6):色系預算/側標連續性/節奏密度曲線/SFX 分佈/重複元素五項跨段過一遍。
- 母帶鏈 + 交付(§5/§6):過母帶鏈(壓縮+定量增益+限幅,audio.md 規則 2)後 ffprobe 驗時長/音軌/碼率;交付帶證據(QC 報告+渲幀對比)。交付或返工收尾後更新專案根
STATUS.md的本片狀態行(無則建立;它是跨會話/跨 agent 的狀態檔,新對話接手全靠它)。
0. 輸入規範(使用者交付約定)
- 使用者給:粗剪成片(氣口已剪)+ 配套 SRT。不跑 whisper。
- 互動契約(2026-07-21 使用者裁定,鐵律級):使用者只供三樣——① 粗剪+SRT;② 被點名的素材(B-roll 錄屏/截圖——AI 先按 broll 規則 2 列清單點名要,或使用者主動供);③ 自然語言裁定與終審反饋(構圖方向、聽感/手感報時間點)。除此之外不許讓使用者丟任何檔案:裝配方案、工坊文件、返工單、cue 表等過程檔案全部是內部產物,AI 自建自讀自續——返工/續工按 §0.5 第 1 步「同片再入」自動裝載未清賬項,禁止要求使用者搬運、貼上或複述任何過程檔案。
- SRT 時間戳 = 裝配唯一基準:
enterAt 幀 = SRT 開始秒 × 合成 fps。 - 輸入缺 SRT(只有口播文字)時只能出方案級 beat 表:時間列標「估算」,落碼前必以真實 SRT 重校;無粗剪可抽幀時構圖裁定標「待裁定」。
- 合成 fps/解析度匹配素材(ffprobe 先查,勿預設 60fps)。若非 1080p@30:規格表/動效幀數/
qc-master.mjs元資料斷言須連帶改,完整連帶清單見 design-system references/motion.md §0(現有整套校準值鎖 30fps)。 - 字幕生成與斷句規範 → references/subtitle.md。
0.5 素材接入動作清單(新片開工第 0 步:從使用者給的 mp4+SRT 到可開工)
- 環境自檢(不過即停,禁繞路,宿主通用):Bash 寫一個測試檔案(如
echo ok > assembly/env-check.txt)→ 用讀檔案手段回讀驗證可見(Claude=Read 工具)→ 刪除。寫入不持久或回讀看不見 = 會話在沙箱模式執行、後續一切產物都會蒸發(錯題 #30:0719-01 測試因此全損)——立刻停下讓使用者放開寫許可權(Claude=授權 Bash/編輯;Codex=workspace-write 等),再開工。禁止三種自救繞路:/tmp 軟鏈繞中文路徑(路徑整體加雙引號即可)、自行解除沙箱(dangerouslyDisableSandbox等任何宿主旗標)、把專案複製到別處幹活。檔案產物一律用標準寫檔案手段落盤並回讀驗證(Claude=Write 工具優先)。 - 同片檢查:ffprobe 時長與
public/footage/現有各片比對,±1s 內視為同片 → 問使用者「複用舊實現還是當新片重剪」;選重剪則全程不讀舊片的 scenes 程式碼與 assembly/<舊片名>/ 工坊文件(防照抄舊答案、防誤覆蓋舊片),按新片名走全新流程。同片再入(續工/返工/換素材,2026-07-21 定):使用者說「繼續」或只丟來新素材時,自動掃assembly/<片名>/分段工坊/segments.md未盡項 +docs/<片名>-返工單*.md未清賬條目,直接列為本輪任務清單開工——禁止等使用者貼返工單、複述歷史或說明改哪裡(§0 互動契約)。 - 定片名:
MMDD-NN(拍攝日期-序號,如 0715-01);使用者指定名從之。 - 素材落位:粗剪複製進
public/footage/<片名>.mp4;源為 4K 時先轉 1080p H264 再入 footage(合成本就 1080p,4K 鋪底 OffthreadVideo 解碼卡頓會吐重複幀=成片人物凍幀,0721-01 實錘見錯題 #33——在接入步轉掉,別等渲出凍幀再返工);原始 SRT 存檔assembly/<片名>/input/(SRT 是裝配唯一基準,必須入庫——0715-01 教訓:原始 SRT 未入庫,只剩生成物無從複核)。使用者原檔案不動。 - 驗收:§0 的 ffprobe 項 + SRT 三項(UTF-8 可讀、時間戳單調、末條結束時間 ≈ 影片時長)+ 燒錄字幕檢查(ffprobe 之後必做):ffmpeg 抽任意 1-3 幀 Read 看底部,目視確認粗剪無燒錄字幕/水印(0715-02 教訓:原交付自帶全片燒錄字幕、燒進畫素無獨立字幕流,與精修新字幕重影,到渲染出幀才發現=白跑一輪 QC;發現即停,請使用者供無字幕版或裁定壓佔)。
- 字幕草稿:
node scripts/srt-to-cues.mjs <存檔.srt> <片名>機械轉換出src/koubo/subtitles-<片名>.ts草稿(zh=SRT 原文、en 空),再按 subtitle.md 規則 2/3 完成語義重排、錯字校對(以口播為準)、英譯,check-subs.mjs零報錯才裝配。三步是一體的,英譯不是可選項——check-subs現在會攔「en 全空 / 覆蓋率 <90%」(2026-07-27 立案:0727-01 只做了重排、77 條 en 全空,成片退化為單行中文,舊版 check-subs 只在 en 非空時校驗格式,全空反而靜默放行)。真要做單語片顯式傳--mono,把「這是決定」和「這是漏做」分開。 - 工程骨架:
node scripts/scaffold-koubo.mjs <片名> <時長秒>一鍵生成(字幕軌/音效軌+空 cue 表/主元件/scenes-<片名>/目錄+佔位/工坊段表,音量取現行基線;指令碼末尾列印 Root.tsx 註冊片段照貼即可)。段檔案目錄與舊片 scenes/ 隔離——檔案鎖按片獨立防撞名;共享底座仍從src/koubo/scenes/shared.tsx引。 - 換片硬編碼兩處:render-service 的 COMP_ID/ENTRY 與 qc-master 元資料斷言,細則見 §6「換片必改」。
1. 構圖與三區版式 → design-system references/layout.md
構圖先問使用者(0715-01 教訓:資訊區方向不能自作主張,使用者裁定放左)。三區座標、takeover 素材接管機制(A 級:人物整段退場、不帶 PiP;昇格時刻靠字號提級+清場+紅綠映象框,B 級壓暗已被使用者否決)、主角時刻、編組模板全在 layout.md——它是版式唯一真源。
2. 分段方法:先方案後程式碼(兩步走)
- 通讀 SRT 劃章節:按語義轉折切 15–20 段(開場 hook / 論點 / 案例 / 轉場比喻 / 分型遞進 / 總結 / 預測 / 片尾),每段選一個「主包裝點」。
- 產出裝配方案表(assembly/<片名>/裝配方案.md):
時間段 | 口播要點 | 側標 | 主 MG | **規則依據** | 素材缺口 | 承載模式,給使用者過目確認後才寫程式碼。 「規則依據」欄是 §0.1 必讀閘的驗收憑證(2026-07-27 增設):每段填出該段主編排所依據的條目號(如motion §7 數字滾動/narrative §5 判詞升格/selection 橫評句)。填不出條目號 = 那段是憑語感設計的,退回讀真源重排——這一欄不是文書工作,是「讀沒讀過」的唯一可查證據(0727-01 的方案表 27 段無一條規則引用,全片動效因此只剩一種淡入)。
B-roll 承載模式必須先問(2026-07-24 使用者定,橫屏片強制):劃段時標出需要 B-roll/畫中畫的段。對每個這樣的段,若使用者沒給素材,主動帶上我的理解建議問使用者:這段要「整屏 B-roll」(人物退場、素材鋪滿全屏)還是「畫中畫卡片」承載(人物在場、素材在右區小卡,如 0722-01)? 承載模式一次定三件事——① 版式:整屏切人物 vs 卡片+人物常駐(layout §2 鐵律);② 解析度/工具:畫中畫 720p 夠(可用 Grok/gbro 拼貼)、整屏要真 1080p——grok CLI 實測只有 480p/720p 兩檔做不到,須走 xAI API(grok-imagine-video-1.5 支援 1080p)、真素材或 Sora/Veo/Kling/Seedance(詳見 broll SKILL ④);③ 素材方向:我據此去 AI 生成或請使用者/剪輯師找。別自己預設承載模式——0722-01 就因預設做整屏、又比例一刀切,返工兩輪。
素材未到位段並行渲染(提速鐵律,2026-07-24 使用者定):承載模式與素材方向確認後不阻塞等素材——所有不依賴外部素材的純 MG 段先全部渲染完畢,只把等 B-roll/畫中畫的那幾個段留佔位;素材到位後只補渲那幾段、splice 拼回全片(段渲拼回 22s 級,見 §6)。即:素材依賴段與獨立段解耦,使用者找素材的時間裡主會話把能渲的都渲了,最大化並行。
3. 若口播稿源自某條參考影片(翻錄/改寫),必須先抽原片 contact sheet 逐段對齊(ffmpeg 每 10-15s 一幀拼網格),以原片實際處理為準,不要自由發揮——首次裝配 8 處偏差全部來自沒先看原片。
2.5 分段對齊工坊(2026-07-16 使用者裁定;2026-07-17 增補雙模式判據)
研發模式 vs 生產模式(使用者點名提速後定,第一性原理:語法已沉澱就不該再考古):
- 研發模式(本節全流程:密集讀幀→方案→多路驗證→逐段終審)只用於引入新編排模式的段——判據:該段的主編排在 narrative/rhythm/infographic/specs 現有規則裡找不到對應語法。研發模式分 A/B 兩條方法路線:有參考片可抽幀 = 研發-A(本節第 2 步讀參考幀);語法缺口且無參考片 = 研發-B,方法本體在 references/rd-noref.md(多方案生成→judge panel 擇優→使用者定稿→沉澱回寫),本節第 2 步對研發-B 不適用。
- 生產模式(模式複用段):不走逐段迴圈,走「全段扇出並行 + 集中整合」批次拓撲(五階段詳見 §2.5.1)——判據取反:全段主編排都能在現有規則找到對應語法。哪段 judge 打回率回升 = 該段其實含新模式,單獨升回研發模式,不拖累其餘段(升級門檻量化=同段掃批打回 ≥2 次或使用者終審返工,見 §2.5.1 階段 4)。
研發模式逐段迴圈:
- 拆段:按內容對齊參考片切幾十個片段(章級起步,問題段再細到 beat 級)。多會話並行紀律(2026-07-17 使用者指令):動工前先讀 assembly/<片名>/分段工坊/segments.md 段表(本片例項:assembly/0715-01/分段工坊/segments.md)——有佔位的段不碰;自己動工先寫佔位行(會話標識+作用域清單:改哪些檔案區塊);渲染/npm 全專案序列(錯題 #23/#24),起渲前 pgrep 查場。新片首次進工坊該檔案不存在:由主會話初始化——
mkdir -p assembly/<片名>/分段工坊/後新建 segments.md,套用 0715-01 段表格式(每段一行:段號 | 時間範圍 | 主公佈置 | 作用域檔案 | 佔位/認領狀態),派工前先建好,子代理只認領不新建。 - 看參考(詞級對齊,2026-07-16 使用者裁定):抽參考片該段密集幀(0.5s/幀)。逐字稿與參考片相同時,用參考片內嵌字幕當對齊軸——每幀自帶「他正在念什麼」,還原出「念到什麼字→出什麼 MG」的詞級 beat 表,再對我們的 SRT 找同句時間點;對比必須逐幀讀圖理解(元素規格/聯動關係/讓位動作),禁止只看檔名或縮圖。先判「真素材段還是手繪 HUD 段」(見 broll.md 總綱),再先測量後寫碼——從參考幀量出元素佔屏比例/字號/位置,禁止目測(seg01 教訓:目測=系統性縮水 0.4-0.7 倍)。產出該段《方案》(beat 表+差異診斷+改法+對比截圖),給使用者過目確認後才動程式碼。
- 做:素材段走採集管線,HUD 段按測量值寫碼。
- 渲該段:
--frames=a-b十幾秒出片;渲前刪舊產物防○快取。 - 驗收(三道閘,2026-07-16 起;2026-07-27 前置一道靜態閘):
⓪底座複用閘(
node scripts/check-scenes.mjs src/koubo/scenes-<片名>)——靜態掃場景目錄:design/motion零引用、零退場件(useExit/Exit/ClearOut,motion §1 sev5)各為 FAIL;元件類別低於段數檔位(短片 <10 段 3 類 / 長片 5 類)、退場覆蓋率 <50%、自建 kit >150 行卻零 motion 各報 WARN;末尾列印一張自查清單(數字滾動 / 判詞砸落 / 章間淨屏 / 動畫詞彙是否單一),這四項靜態掃描查不到,必須自己看連續畫面。 (閾值經 2026-07-27 對抗式審查修訂:初版的「Breathe 零引用報 WARN」已刪除——與 motion §9「新片一律不掛 Breathe」直接衝突;「元件類別 <4 一刀切」
…
[truncated for translation]