HyperFrames 入口點
HyperFrames 從 HTML 渲染影片——一個合成就是一個 HTML 檔案,其 DOM 透過 data-* 屬性宣告時間,動畫執行時期可搜尋,媒體播放由框架掌控。完整的創作合約位於 /hyperframes-core;在撰寫合成 HTML 前,請先閱讀該檔案。
1. 從專案狀態開始
套用第一個符合的列;不要評估較低的狀態列:
| 狀態 | 動作 |
|---|---|
| 明確將現有的 Remotion 原始碼移植到 HyperFrames | 閱讀 references/routes/remotion-to-hyperframes.md,然後直接路由至該工作流程。跳過意圖層。 |
| 對現有 HyperFrames 專案執行特定操作:檢查、診斷、驗證、預覽、渲染、發布或批次渲染 | 僅執行該操作。跳過意圖與工作流程路由;載入 /hyperframes-cli 及任何必需的領域技能。 |
| 對現有專案進行特定編輯 | 執行編輯。不要執行意圖層。 |
BRIEF.md 存在 | 閱讀 workflow 與 flow。執行該工作流程;flow: companion 總是在 /general-video 中執行。不要詢問任何簡報問題。 |
沒有 brief,但存在 hyperframes.json 或 STORYBOARD.md | 從專案檔案與記錄的偏好設定中恢復。從現有工件推斷所屬工作流程。如果無法唯一確定,問一個僅限路由的問題;不要執行意圖訪談。 |
| 全新創作 | 執行意圖層——references/intent-interview.md——然後使用 § 2 的表格路由一次。 |
如果全新請求未指明主題或輸入,在路由前詢問影片的主題。在詢問任何問題之前,先檢查偏好設定與配方(references/intent-interview.md,步驟 1)。figma.com 輸入或命名配方會改變接收方式,而不是路由——訪談的「適應正交輸入」部分會處理兩者。
保持專案的 CLI 最新
一個已 scaffold 的專案會在 package.json 腳本中鎖定 hyperframes@<version>,以便渲染保持可重現;鎖定版本不會自行推進,且舊版 CLI 的鎖定運行不會印出任何警告。當恢復一個腳本中帶有鎖定版本的專案時,在執行第一個影響渲染的命令前,請探測一次:
npx hyperframes@latest upgrade --project . --check
此探測是唯讀的,會報告鎖定版本與最新版本;請保留明確的 .——在較舊的 CLI 版本中,單獨的 --project 後跟另一個標誌會將該標誌作為目錄值消耗。當探測報告專案落後時——或任何 CLI 輸出已顯示該資訊(stderr 通知 This project pins hyperframes@… (latest …),或鎖定腳本的 --json 結果中出現 _meta.updateAvailable: true)——請使用 npx hyperframes@latest upgrade --project . 套用更新,然後使用 npx hyperframes check 驗證。通過的檢查僅確認專案的合成在新版本上仍然有效——而不是渲染輸出與舊鎖定版本逐幀相同——因此成功的更新絕不是無聲的:在運行摘要中命名舊版本與新版本。尚無合成的專案無需驗證。如果檢查失敗,請還原 package.json 的變更,繼續使用鎖定版本,並報告專案停留在哪個版本及原因。根據訊號採取行動,而不是將其轉達給使用者;絕不要留下未經驗證的更新鎖定。
2. 路由全新創作
使用第一個符合的列。比對要求的交付物,而不是順便提及的單字或檔案類型。
| 優先順序 | 要求 | 工作流程 |
|---|---|---|
| 1 | 明確移植現有的 Remotion 原始碼 | /remotion-to-hyperframes |
| 2 | 創作簡報、提案簡報或可導覽的互動式 deck | /slideshow |
| 3 | 在不變更既有說話者頭部鏡頭的情況下,添加純字幕或隱藏式字幕 | /embedded-captions |
| 4 | 在不變更既有說話者頭部、訪談或 podcast 鏡頭的情況下,添加設計好的圖形覆蓋層 | /talking-head-recut |
| 5 | 從音樂曲目建立節拍同步影片,無旁白或網站捕捉 | /music-to-video |
| 6 | 建立一個明確簡短、無旁白、以動作為主的單元,通常少於 10 秒 | /motion-graphics |
| 7 | 從 PR 參考解釋 GitHub Pull Request 或程式碼變更 | /pr-to-video |
| 8 | 從 URL 或特定網站簡報行銷或展示網站、產品頁面、應用程式或公司 | /product-launch-video |
| 9 | 使用發明的視覺效果解釋主題、文章或筆記,無產品或網站捕捉 | /faceless-explainer |
| 10 | 任何其他自訂影片或合成 | /general-video |
在最終確定路線前,閱讀 references/routes/<workflow>.md——每個路線一個小檔案:包含標準的輸入/輸出/觸發合約(在惰性安裝的工作流程技能可用前可用)以及該路線的訪談條目。如果候選路線不符合其合約,請繼續路由,而不是強制匹配。僅閱讀符合路線的檔案。
解決常見模糊情況
- 一個簡短的動畫標題、Logo 標誌、統計命中、圖表命中、地圖命中或獨立 lower-third,如果是無旁白且動作為主要訊息,則為
/motion-graphics。靜態標題卡、有旁白的序列、較長的 montage 或自訂循環則為/general-video。 - 一個明確簡短的動態圖形可能使用 URL、推文、文章或螢幕截圖作為來源素材。一般性的「從這個網站製作影片」請求為
/product-launch-video。 - 既有帶字幕的鏡頭路由至
/embedded-captions;帶有設計資訊卡的鏡頭路由至/talking-head-recut。重新調整時間、重新排序、重新著色、重新構圖或混搭鏡頭是自訂編輯,會落入/general-video。 - 音樂檔案僅在其節拍網格驅動作品時選擇
/music-to-video。用作背景音樂的音樂不會覆蓋主題匹配的路由。 - 「我想要一個故事板」會改變審查流程,而不是工作流程。如果沒有其他路由訊號,請使用
/general-video。已確認的草圖板本身可能就是要求的交付物;審查循環定義了該停止點。 - 專業敘事工作流程最多支援約 3 分鐘,且在 30-90 秒左右最為強大。明顯較長的作品請路由至
/general-video。持續時間永遠不會覆蓋明確的移植、deck、字幕、覆蓋層或音樂驅動的交付物。
3. 路由一次,然後離開
對於全新創作,意圖層(references/intent-interview.md)負責完整的對話——記憶、分流、提案回合、必備項目、運行形狀、交接——並以撰寫 BRIEF.md 結束。該 brief 是工作流程讀取的唯一路由工件;之後沒有任何東西會重新開啟此技能或訪談。所有後續「路由要求了什麼?」的問題都從 BRIEF.md 回答。
4. 安裝並進入工作流程
在閱讀選定的工作流程前,安裝或更新它以及核心領域技能:
npx hyperframes skills update <workflow-name>
使用裸名稱,不帶 /。如果命令失敗,顯示錯誤;不要從記憶中重建工作流程。關於安裝的所有其他事項——核心與惰性拆分、init 更新了什麼、診斷、CI 退出選項以及無 CLI 的備用方案——都位於 references/skill-lifecycle.md。
5. 按需載入領域技能
| 需求 | 技能 |
|---|---|
| 合成結構、時間屬性、軌道、變數、確定性 | /hyperframes-core |
| 動畫規則、場景藍圖、轉場、執行時期配接器 | /hyperframes-animation |
安全可搜尋的 GSAP、CSS、Anime.js、WAAPI、FLIP、路徑、遮罩、SVG、3D 關鍵幀或 hyperframes keyframes 診斷 | /hyperframes-keyframes |
| 設計規格、概念、調色盤、字型、旁白、節拍規劃 | /hyperframes-creative |
| 圖片、圖示、標誌、音訊、字幕、色調、LUT、可重複使用的媒體 | /media-use |
| 旁白剪輯、音效鏈、自動化包絡線,或跨多個軌道的一個鏈/衰減器(子混音匯流排) | /hyperframes-audio |
| 初始化、lint、檢查、快照、比較、批次渲染、Studio、渲染、發布或診斷 | /hyperframes-cli |
| Registry 區塊與元件 | /hyperframes-registry |
| Figma 資產、Token、元件或故事板框架(重建為動態效果) | /figma |
創作者編輯短語是跨領域請求。載入匹配行中命名的每個技能:
| 創作者要求 | 必需的領域 |
|---|---|
| 「剪下這段素材」、硬剪、修剪、拼接、重新排序或使用來源範圍 | /general-video + /hyperframes-core;core 擁有 data-start、data-duration、data-media-start 與軌道佈局。 |
| 放大此處、推近/推遠、平滑多狀態縮放或重新構圖、Ken Burns 或鏡頭移動 | /general-video + /hyperframes-core + /hyperframes-keyframes;動畫內部視覺/裁切包裝器,而不是計時剪輯。 |
| 匹配剪輯或甩鏡頭(whip pan)攝影機轉場 | /general-video + /hyperframes-animation + /hyperframes-keyframes + /hyperframes-registry;在手動創作前搜尋/安裝轉場原語。 |
| 淡入淡出、交叉淡入淡出、軌道增益/音量、自動化、閃避/雕琢、音效,或跨多個軌道的單一效果 | /general-video + /hyperframes-core + /hyperframes-audio;core 放置剪輯,音訊混合放置的軌道——包括覆蓋它們群組的子混音匯流排。 |
| 結合剪輯與攝影機動作或混音的圖片與聲音編輯 | /general-video + /hyperframes-core + /hyperframes-keyframes(有視覺動作時)+ /hyperframes-audio(聲音有淡入淡出、混音、閃避、自動化或處理時)。 |
| 來源或生成媒體,或預處理不支援的速度斜坡/片段中的凍結 | /media-use;僅限來源/生成/預處理,絕不做放置軌道的混音。 |
常數 data-playback-rate 對圖片與保留音高的聲音是渲染安全的。它不會使來源速度斜坡可關鍵幀化;請預處理斜坡。對於可複製的編輯合約,請載入 /hyperframes-core → references/creator-editing-recipes.md。
關於照片媒體的廣泛回饋...(原文已截斷)