PROJECT OVERVIEW — 2026.07.09

SuperMovie Editor開発進捗 × アーキテクチャ地図(内部共有用)

目次

これは何か

OVERVIEW

SuperMovie Editor は、SuperMovie(蓮さん作・Claude Code 用の動画編集プラグイン)で作った動画プロジェクトを、ブラウザ上で「見たまま微修正」するための仕上げエディタです。中核原則はクレジットゼロ編集——手作業の微修正に AI や API を一切使わない、純ローカル操作。

AI(Claude Code)が9.5割の編集を終わらせ、残り0.5割の「テロップの位置をちょっと直す」「カットの端を数フレーム詰める」をこのエディタで仕上げる、という役割分担です。

技術: Vite + React + TypeScript / プレビューは Remotion Player / テスト = unit 2,117 本 + ブラウザ自動テスト(E2E)107 本。MIT ライセンスの独立 OSS として公開予定。

進捗アップデート(2026-07-09)

NEW — プロジェクトステータスビュー(push 済み)
直近の主な実装(新しい順)

機能の全体像

編集

非破壊カット(範囲選択・分割)/テロップ(30スタイルパック・分割結合・直接ドラッグ)/タイトル/挿入画像/サブ動画(マルチカメラ)/BGM・効果音(波形表示・フェード)/速度変更(全体・区間ごと)/トランジション/図形注釈

仕上げ・出力

書き出しボタン(進捗%・キャンセル)/SNS別プリセット/ノイズ除去・音量適正化/大容量動画は軽量プロキシで軽快プレビュー

AI 連携

Claude Code 編集ブリッジ(画面から指示→Claude が編集→自動反映)/学習ループ(手修正を蓄積して次回のAI出力を改善)/ステータスビュー(AI作業中の工程をライブ表示)

アーキテクチャ全体像(4層)

コードは役割の違う4つの層に分かれています。下の層ほど「純粋な計算」で、上の層ほど「画面と配線」です。

1

src/core/ — 純粋エンジン

データの読み書き・カット計算・フレーム変換。画面もサーバも知らない「計算だけ」の層。テストが最も厚い

2

src/server/ — ローカルサーバ

プロジェクト一覧・保存・動画配信・機能の導入(install)・書き出し・ステータス監視。/api/* を提供

3

src/app/ — React アプリ(画面)

ホーム・タイムライン・インスペクタ・プレビュー操作。編集は「純関数の reducer」で行い、履歴(undo/redo)も一元管理

4

src/preview/ — Remotion 合成

プレビュー映像の合成。最終書き出しはエディタではなく各プロジェクト本体の MainVideo.tsx が行う(画質・互換性のため)

フォルダ構造

supermovie-editor/
├─ src/
│  ├─ core/      ← 純粋エンジン(カット計算・データ読み書き・フレーム変換)
│  ├─ server/    ← ローカルサーバ(API・保存・書き出し・機能install・監視)
│  │  ├─ telopPack/ ほか *Payload/  ← プロジェクトへ同梱配布する部品のソース
│  │  └─ mcp/    ← Claude Code 編集ブリッジ(指示の受け箱)
│  ├─ app/       ← 画面(React)
│  │  ├─ edit/     ← 編集ロジック(純関数 reducer・undo/redo)
│  │  ├─ panels/   ← ホーム・左カラム・インスペクタ・プレビュー等の部品
│  │  └─ timeline/ ← タイムラインの各トラック(カット/テロップ/SE/BGM…)
│  ├─ preview/   ← Remotion プレビュー合成
│  ├─ learning/  ← 学習ループ(独立サブシステム)
│  └─ shared/    ← クライアント⇔サーバ共有の型・整形
├─ tests/        ← ブラウザ自動テスト(E2E・Playwright)
└─ docs/         ← 設計書・仕様書(status-file-spec.md など)

OSS 公開ブランチ(release/oss-clean)の構成

MAIN との関係

開発本線 main から 7/7 に分岐した公開準備ブランチ。ソースコード(src/)は main と同一構成で、「内部資料を除き、初見の人が使い始められるものを足す」加工をしたものです。差分は255ファイル(内部文書の削除が大半・約8.9万行減)。

除外(公開しない)
  • 設計書・実装プラン一式(docs/superpowers/docs/specs/
  • 他OSS調査・競合ワード棚卸しメモ(docs/research/ ほか)
  • キーフレーム等の引き継ぎ資料・内部デザインブリーフ
追加(OSS だけにある)
  • skills/ — Claude Code スキル置き場。video-transcribe(文字起こし+SRT書き出し。他エディタでも使える撒き餌)+ simple-telop(スキル自作の最小見本)+導入手順README
  • setup.command — Whisper の選択インストール付きセットアップ
  • start.command — 既定プロジェクト置き場を汎用パス(~/Movies/SuperMovie)へ
  • README 全面刷新(非エンジニア向けクイックスタート/できること/ライセンス)
supermovie-editor(release/oss-clean)
├─ src/            ← main と同一(core / server / app / preview / learning / shared)
├─ skills/         ← ★OSS独自: Claude Code スキル置き場(自作スキルの入口)
│  ├─ video-transcribe/   文字起こし+SRT(単体でどの動画にも使える)
│  └─ simple-telop/       スキルの書き方の最小見本
├─ scripts/        ← transcript→SRT 変換 等
├─ setup.command / start.command  ← ★ダブルクリックで導入・起動(非エンジニア向け)
├─ docs/           ← 公開可能な文書のみ(内部設計資料は除外済み)
└─ README.md       ← OSS向けに全面刷新済み

思想: 「動く道具」(エディタ・雛形・文字起こし)は OSS で公開し、「判断のノウハウ」(カット基準・SE配置哲学・スキル自作講座)は Brain に収録する切り分け。skills/ と見本スキルは、ユーザーが自作スキルを足していく世界観(随時更新型 Brain)への入口。

7/9 反映済み — main からの選択的取り込み

分岐後に main へ入った26コミットのうち、表示バグ修正・UI改修の11コミットを取り込み済み(テロップチラつき根治/波形ズレ修正/選択連動スクロール/波形高さ設定/レイアウトプリセット/改行分割修正/ドラッグ境界修正)。検証 = 型チェック0エラー・unit 1,958 全緑・E2E 102 全緑。

7/19 公開前の残作業(蓮さんと相談)

データの流れ

「1本の動画を仕上げる」ときのデータの旅です。

プロジェクトを開く

サーバが telopData.tscutData.ts 等のデータファイルを読み、編集用データ(EditorProject)に変換して画面へ渡す

画面で編集する

全操作が「純関数」で状態を更新(だから undo/redo が確実)。プレビューは Remotion がその場で合成

保存する

編集結果を元の *.ts ファイルへ「配列部分だけ外科的に」書き戻す。外部(Claude Code)が同時に触っていたら衝突を検知して警告

書き出す

プロジェクト本体の Remotion が元動画(高画質)から最終 mp4 を生成。完了で out/video.mp4 → ホームのバッジが「書き出し済」に

中核のメンタルモデル(設計の心臓部)

非破壊カット

動画ファイルは一切切らない。「残す区間のリスト」(cutData.ts)だけを持ち、再生・書き出し時に適用する。だから何度でもやり直せる

原本フレームアンカー

テロップ・SE・画像の位置は「カット前の元動画のフレーム番号」で記録。カットを増減しても位置計算が自動で正しくなる(ズレバグの構造的封じ込め)

導入(install)方式

サブ動画・BGM・速度などの書き出し部品は、使うプロジェクトにだけワンクリックで同梱コピーする。エディタ非依存で最終書き出しが完結し、部品の版ズレは自動検知

どこを触ればいいか(改修の入口マップ)

やりたいこと見る場所
カットやテロップの計算ルールを変えたいsrc/core/cutEngine.ts / telopEngine.ts
編集操作(ボタンを押したら何が起きるか)を変えたいsrc/app/edit/ の各 Ops ファイル
タイムラインの見た目・ドラッグ挙動src/app/timeline/
右側の設定パネル(インスペクタ)src/app/panels/Inspector.tsx
ホーム画面・ステータスバッジsrc/app/panels/HomeDashboard.tsx / projectStatusView.ts
API を足したい・保存の仕組みsrc/server/plugin.ts(ルーティング)+ 専用モジュール追加
ステータス連携(.sme/status.json)src/server/projectStatus.ts・仕様書 docs/status-file-spec.md
書き出し(render)まわりsrc/server/renderApi.ts
全体の地図(開発再開時の最初の1枚)リポジトリ直下 ARCHITECTURE.md

開発の約束事・注意点

CAUTION — 並列開発で特に注意

関連リンク