motion-doctrine

motion-doctrine

熱門

GATEWAY — 在編排任何 HyperFrames 動畫或影片之前,請先載入此技能。這是一套高階運動法則,讓多場景影片感覺像是一次連續的鏡頭移動,而非一堆獨立動畫幻燈片的堆疊。涵蓋向量法則(如何退出決定如何進入,包含 Z 軸縮放符號規則)、影片流向、載體元素、因果運動、接縫閘門(建構閘門強制執行)、禁止空轉晃動(運動必須「表演」,而非「呼吸」)、高潮前的靜止,以及持續運動路線。並導向低階技術技能(cut-the-curve — 完整目錄包含瀑布式進入與微調曲線、oversized-cursor、seam-craft)。這些規則優先於通用/上游運動指導。[連續性、方向、向量、動量、接縫、轉場、緩動、表演、空轉運動、敘事運動、影片語法]

3.6萬星標
3412分支
更新於 2026/7/19
SKILL.md
readonlyread-only
name
motion-doctrine
description

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-economicsbrand-faithfulcaptions-overlay

編排順序:向量帳本(ledger.json)→ 從中標記主要接縫(scripts/seam-stamp.mjs --ledger ledger.json --write index.html)→ 每個階段的持續運動路線 → 載體與原因 → 建構合成 → 驗證(scripts/seam-gate.mjs)。 僅手動編寫 Tier-A 變形/匹配剪輯;標記的接縫在建構時即通過閘門。


第一部分 — 接縫法則

向量法則

場景 A 如何退出,決定場景 B 如何進入:相同軸線、相同方向、匹配速度、兩側皆在運動中剪輯。

  1. 軸線 — x 保持 x,y 保持 y,Z 保持 Z。絕不在剪輯點交換軸線。
  2. 方向 — 絕不鏡像。在 Z 軸上,方向 = 縮放變化的符號:放大 = 推進(鏡頭向前),縮小 = 拉遠(鏡頭向後)。一個後退的退出由一個從小變大的進入回應,這是最常見的違規,因為從小變大是元素的預設進入方式。
  3. 速度 — 進入的初始速度 ≈ 退出的最終速度,透過鏡像緩動(退出 power4.in + 進入 power4.out,相同距離與持續時間;進入方在概念路徑中完成 ≥50%)。機制詳見 cut-the-curve
  4. 相位 — 剪輯點落在兩側的運動中。在剪輯前靜止,或剪輯後從靜止開始,都是死拍。

流向

每部影片選擇一個主導方向(預設:向左)。每個一般接縫都使用它。其他向量是「保留」的——使用它們代表某種意義:

向量 意義
流向(向左) 「下一個節拍」——中性的前進進度
向上 提升——結論或揭示高於先前內容
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. 編輯會重新打開接縫。 對場景前/後約 1 秒的任何更改(包括重新調整時間以配合新旁白)都會使該邊界的審核失效——重新執行驗證器。
  2. 音訊是時鐘。 根據旁白的實際時間戳重新調整場景時間;絕不為了配合時間槽而加快朗讀速度。旁白重新生成會重新打開其接縫。
  3. 剪輯閘門陷阱(零重疊失敗的常見原因):data-start 早於其進入補間的剪輯,在初始透明度下未被隱藏——設定初始 autoAlpha: 0data-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 秒)