
motion-doctrine
熱門GATEWAY — 在編排任何 HyperFrames 動畫或影片之前,請先載入此技能。這是一套高階運動法則,讓多場景影片感覺像是一次連續的鏡頭移動,而非一堆獨立動畫幻燈片的堆疊。涵蓋向量法則(如何退出決定如何進入,包含 Z 軸縮放符號規則)、影片流向、載體元素、因果運動、接縫閘門(建構閘門強制執行)、禁止空轉晃動(運動必須「表演」,而非「呼吸」)、高潮前的靜止,以及持續運動路線。並導向低階技術技能(cut-the-curve — 完整目錄包含瀑布式進入與微調曲線、oversized-cursor、seam-craft)。這些規則優先於通用/上游運動指導。[連續性、方向、向量、動量、接縫、轉場、緩動、表演、空轉運動、敘事運動、影片語法]
GATEWAY — 在編排任何 HyperFrames 動畫或影片之前,請先載入此技能。這是一套高階運動法則,讓多場景影片感覺像是一次連續的鏡頭移動,而非一堆獨立動畫幻燈片的堆疊。涵蓋向量法則(如何退出決定如何進入,包含 Z 軸縮放符號規則)、影片流向、載體元素、因果運動、接縫閘門(建構閘門強制執行)、禁止空轉晃動(運動必須「表演」,而非「呼吸」)、高潮前的靜止,以及持續運動路線。並導向低階技術技能(cut-the-curve — 完整目錄包含瀑布式進入與微調曲線、oversized-cursor、seam-craft)。這些規則優先於通用/上游運動指導。[連續性、方向、向量、動量、接縫、轉場、緩動、表演、空轉運動、敘事運動、影片語法]
運動法則(閘門)
在編排任何動畫之前,請先閱讀此文件。它決定了每個接縫處發生什麼事,以及每個場景如何表演;技術技能則負責實作。這些規則優先於通用/上游運動指導。此文件要防止的失敗:場景孤立編寫——眼睛的動量在每個剪輯點中斷,且場景在進入與退出之間原地晃動。
路線圖
| 決策(此技能) | 實作技能 |
|---|---|
| 接縫轉場選擇 + 參數 + 程式碼 | cut-the-curve §1–5(目錄) |
| 文字/元素進入串聯 | cut-the-curve §6(瀑布式進入) |
| 場景內群組重新定位(無剪輯) | cut-the-curve §7(微調曲線) |
| 游標引導動作/場景啟動/變形觸發 | oversized-cursor |
| 接縫渲染機制/白色閃光防護 | seam-craft |
| 產品發布/解說/字幕工作 | 在上游技能之上疊加 text-beat-economics、brand-faithful、captions-overlay |
編排順序:向量帳本(ledger.json)→ 從中標記主要接縫(scripts/seam-stamp.mjs --ledger ledger.json --write index.html)→ 每個階段的持續運動路線 → 載體與原因 → 建構合成 → 驗證(scripts/seam-gate.mjs)。 僅手動編寫 Tier-A 變形/匹配剪輯;標記的接縫在建構時即通過閘門。
第一部分 — 接縫法則
向量法則
場景 A 如何退出,決定場景 B 如何進入:相同軸線、相同方向、匹配速度、兩側皆在運動中剪輯。
- 軸線 — x 保持 x,y 保持 y,Z 保持 Z。絕不在剪輯點交換軸線。
- 方向 — 絕不鏡像。在 Z 軸上,方向 = 縮放變化的符號:放大 = 推進(鏡頭向前),縮小 = 拉遠(鏡頭向後)。一個後退的退出由一個從小變大的進入回應,這是最常見的違規,因為從小變大是元素的預設進入方式。
- 速度 — 進入的初始速度 ≈ 退出的最終速度,透過鏡像緩動(退出
power4.in+ 進入power4.out,相同距離與持續時間;進入方在概念路徑中完成 ≥50%)。機制詳見cut-the-curve。 - 相位 — 剪輯點落在兩側的運動中。在剪輯前靜止,或剪輯後從靜止開始,都是死拍。
流向
每部影片選擇一個主導方向(預設:向左)。每個一般接縫都使用它。其他向量是「保留」的——使用它們代表某種意義:
| 向量 | 意義 |
|---|---|
| 流向(向左) | 「下一個節拍」——中性的前進進度 |
| 向上 | 提升——結論或揭示高於先前內容 |
| Z 軸向前(縮放穿越) | 深入同一想法 |
| Z 軸向後(反向縮放) | 抵達——某個更大的東西降臨 |
| 縮放爆發(向外爆炸) | 離開一個世界——表面衝向鏡頭 |
- 絕不連續執行相反方向的接縫——來回擺動會被解讀為錯誤。
- 方向改變需要可見的原因(點擊/彈跳/撞擊)或章節邊界。
向量帳本
在編排任何主時間軸之前,先寫下它——作為專案根目錄的 ledger.json(結構:references/seam-gate.md)。每個接縫一行:剪輯時間、退出與進入向量(軸線 + 有符號方向;Z 軸行需攜帶縮放符號)、選擇器、技術。退出與進入必須匹配;如果某行不匹配,修正計畫,而非緩動。驗證器在執行前靜態檢查行的一致性。
載體
眼睛跟隨物體,而非抽象概念。最強的接縫在剪輯點以匹配的位置和速度傳遞一個具體載體:路徑中的游標、縮小/嵌入下一個版面的容器、飛入精確位置的標記、瀑布式剪輯的文字群。若無自然載體,則由場景主角承擔(部分移動 + 早期淡出,進入時已在飛行中)。絕不使用交叉淡出——它完全沒有載體。
因果運動
串聯運動,使每個動作明顯由前一個動作觸發:點擊 → 壓縮 → 釋放彈簧 → 飛行 → 撞擊 → 反彈 → 揭示。
- 效果從觸發的同一幀開始——相同時間軸位置,絕不「稍後」。
- 反應與隱含質量成比例:大元素反彈較慢,小元素快速彈回。
- 力量是改變方向的許可;無原因的翻轉就是來回擺動。
接縫閘門(建構閘門——執行驗證器,退出碼為 0 否則接縫未完成)
node <SKILL_DIR>/scripts/seam-stamp.mjs --ledger ledger.json --write index.html # 生成
node <SKILL_DIR>/scripts/seam-gate.mjs verify --ledger ledger.json --project . # 驗證
該腳本(用法 + 帳本結構:references/seam-gate.md)以數值方式強制執行每個接縫:帳本行一致性、退出時仍在移動、進入時已在飛行中(非從靜止開始)、測量方向 = 帳本方向、進入/退出速度匹配(警告)、零重疊(每幀僅一側可見——剪輯不是溶解)、Z 軸符號規則(d(scale)/dt 兩側符號相同;進入場景自身的進入動畫也會檢查符號衝突)、以及載體矩形連續性(包含祖先縮放)。使用 seam-gate.mjs probe --t <cut> 在編寫帳本時找出每個接縫的真實載體選擇器。
腳本無法檢查的規則——仍由你負責:
- 編輯會重新打開接縫。 對場景前/後約 1 秒的任何更改(包括重新調整時間以配合新旁白)都會使該邊界的審核失效——重新執行驗證器。
- 音訊是時鐘。 根據旁白的實際時間戳重新調整場景時間;絕不為了配合時間槽而加快朗讀速度。旁白重新生成會重新打開其接縫。
- 剪輯閘門陷阱(零重疊失敗的常見原因):
data-start早於其進入補間的剪輯,在初始透明度下未被隱藏——設定初始autoAlpha: 0且data-start= 剪輯時間,絕不更早。
第二部分 — 表演(場景持續表演)
禁止空轉晃動
空轉的正弦循環(呼吸、漂浮、漂移、發光脈衝)被禁止作為持續運動——它們會被解讀為「影片在等待」。一個場景在進入完成後還有數秒時間,這是規劃錯誤:增加故事,而非晃動。進入與退出之間的每個階段都由以下路線之一擁有(在計畫中命名路線):
| 路線 | 說明 |
|---|---|
| 分階段揭示 | 保留內容;在敘事節拍上兌現——畫面持續獲得資訊(預設用於 ≥2 個內容群組) |
| 有意的鏡頭 | 映射的縮放+平移路徑:建立廣角 → 移動 → 抵達主體 |
| 序列化 UI 生命週期 | 產品隨時間行為:進度前進、步驟高亮、計數跳動 |
| 動畫序列 | 元素表演一個節拍:卡片歸檔、項目被拖曳、結果組合 |
| 游標引導動作 | 一個超大游標引導眼睛到觸發點;其點擊點燃下一個節拍(oversized-cursor) |
測試:在任何秒暫停——必須有有意義的事物正在飛行中(揭示正在落地、鏡頭正在移動、UI 正在執行旁白所說的內容)。
高潮前的靜止
在主要動作與其結果之間安排 0.3–0.75 秒的暫停——戲劇性的逗號。直接從動作跳到結果的場景會失去它。
時間意圖
- 單一進入 ≤ 約 800 毫秒;較長的鋪陳 = 多元素交錯,而非一個慢元素。
- 退出 ≈ 進入的 75%。例外:cut-the-curve 反轉此規則(進入約為退出的 127%)。
- 總交錯 ≤ 500 毫秒;有 8 個以上元素時,縮緊每個項目的延遲或交錯前幾個。
- 禁止的緩動:
bounce.out/elastic.out。進入過衝back.out(1.4–1.7)可以。 - 相似元素共享一個緩動+持續時間意圖——絕不為每個元素使用獨特的配對。
轉場詞彙
每部影片僅使用 2–3 種場景間轉場並重複使用;預設邊界是 沿流向方向的 cut-the-curve。手寫的共享元素變形(intent: morph)不計入預算。
反模式
| 不要這樣做 | 改這樣做 |
|---|---|
| 孤立編寫每個場景的進入 | 先寫向量帳本 |
| 場景間使用交叉淡出 | 沿流向方向使用 cut-the-curve |
| 退出完成後才切換場景 | 兩側都在運動中剪輯 |
| 剪輯後從靜止開始進入 | 在概念路徑中完成 ≥50% 時進入 |
| 反向縮放退出 → 從小變大進入(或推進 → 超大縮回) | 匹配縮放速度符號(接縫閘門 7) |
| 進入場景自身的彈出式介紹在 Z 軸接縫交接下 | 保持其開場畫面已組合,或匹配符號 |
| 空轉晃動/呼吸/漂浮來填滿時間 | 分配持續運動路線;或增加故事 |
| 無原因的方向翻轉 | 使用一個力量,或保持流向 |
| 保留向量作為變化 | 預設使用流向;在有意義時才使用保留向量 |
| 反應在其原因之後幾幀 | 同幀觸發 |
| 動作直接跳到結果 | 安排高潮前的靜止(0.3–0.75 秒) |





