本文へスキップ

Editor Suite

アプリが持つデータとresourceに、編集用のCanvas、Timeline、Video、CG部品を加えるときに使います。

ImKitのTimeline編集画面。

Editor Suite — Timelineと編集画面 · Galleryの操作映像を開く

#include <imkit/video.h>
#include <imkit/editor_core.h>
void DrawTimeline(const imkit::video::TimelineProvider& provider,
imkit::video::TimelineState& state,
imkit::editor::Selection& selection,
imkit::editor::EventBuffer& events,
const imkit::Theme& theme) {
imkit::video::Timeline("timeline", provider, state, selection, events, theme);
}

例の種別: アプリの状態を引数に取る関数例です。provider、選択、event buffer、Themeはアプリ側で用意し、eventは検証してから適用します。

imkit::editor_suiteまたはimkit::video targetをlinkし、providerの参照先は呼び出し中に有効に保ちます。

編集画面はmediaのdecode・再生、任意の3D描画、Undo、project file読み込みを担当しません。


ImKit のエディタスイートは、固定リビジョンの Dear ImGui 1.93.0 WIP docking 上で動作する、プロフェッショナルな制作ツール(DCCツール、動画編集ソフト、シーケンサ等)向けの高機能UIコンポーネント群です。

クリップのフェードやトランジション等の個別操作仕様は タイムライン編集 を参照してください。


CMake ターゲット 公開ヘッダー 主な役割とコンポーネント
imkit::imkit <imkit/imkit.h> 基本ウィジェット、Precision Layers テーマ、アイコン
imkit::editor_core <imkit/editor_core.h> 無限キャンバス、タイムルーラー、カーブエディタ、プロパティインスペクタ
imkit::video <imkit/video.h> マルチトラックタイムライン、モニタオーバーレイ、オーディオミキサー、カラーカーブ
imkit::cg <imkit/cg.h>
<imkit/preview.h>
3Dビューポートギズモ、シーングラフ階層、アニメーションドープシート、UVエディタ
imkit::editor_suite 上記すべて Core + Video + CG の全機能を包括(OpenGL は任意)
imkit::preview_opengl3 <imkit/preview.h> ホスト側の OpenGL 3.3 コンテキストを借用した GPU オフスクリーンプレビュー

所有モデルとイベント処理 (Ownership and events)

Section titled “所有モデルとイベント処理 (Ownership and events)”
  • ホストがすべてを所有: Dear ImGui コンテキスト、バックエンド、フォント、テクスチャ、プロジェクト生データ、Provider、UI状態、選択セット、Undo履歴、ワーカースレッドはすべてホストアプリケーションが所有します。
  • 時間の単位(Tick): 時間は 1秒あたり 705,600,000 Tick(int64_t)の有理数 FrameRate で高精度に管理され、29.97 / 59.94 fps のドロップフレームタイムコードや負のプリロールに対応します。
  • プレビューコンポーネントの責務: レイアウト計算、オーバーレイ描画、入力検出、操作リクエストの返却のみを担当します。動画のデコード・再生、3Dメッシュの評価、ファイル保存などは行いません。

詳細な型定義やイベント署名は エディタAPI を参照してください。


  • 無限キャンバス(パン、ズーム、矩形/投げなわ選択)。
  • タイムルーラー、マーカー編集、トランスポートバー。
  • ベジェハンドル付きマルチキーフレームカーブエディタ。
  • アセットブラウザ(グリッド/リスト表示、インラインリネーム、検索)。
  • マルチトラックタイムライン(可変高トラック、リップル削除、スリップ/スライド編集)。
  • ビデオモニタ(ホスト提供のテクスチャ表示、アスペクト比固定、グリッドオーバーレイ)。
  • カラーコレクション(3-wayカラーホイール、RGBカーブエディタ、スコープ表示)。

Native Video

  • 3Dビューポートナビゲーション(Orbit、Pan、Zoom、Frustumカリング)。
  • マルチオブジェクト変形トランスフォームギズモ(移動、回転、非均等スケール、シアー)。
  • シーングラフ階層(ドラッグ&ドロップによる親子付け替え・並べ替え)。
  • UVエディタ(頂点/エッジ/面/アイランド選択、UDIMタイリング対応)。

Native CG


プレビューのライフサイクル (Preview lifecycle)

Section titled “プレビューのライフサイクル (Preview lifecycle)”
  • preview_opengl3 などのオフスクリーンレンダラーを使用する場合、ホスト側で有効なOpenGLコンテキストを確立した上で初期化および破棄を行います。
  • コンテキスト破棄前には必ず Shutdown() を呼び出し、GPUテクスチャリソースを安全に解放してください。

Section titled “Native Gallery での検証 (Native Gallery)”

Gallery アプリケーションの Editor Core、Video Editor、CG Editor の各画面で、これらのエディタスイートの総合的な動作を検証できます:

ターミナルウィンドウ
cmake --build --preset windows-debug --target imkit_gallery --parallel
./build/windows-debug/catalog/Debug/imkit_gallery.exe

エディタスイートは汎用UIフレームワークであり、特定のメディアフォーマット(MP4/H.264/ProRes等)のコーデックや3Dシーングラフの評価エンジンは含まれません。これらはすべてホスト側のビジネスロジックとして統合してください。 過去の内部検証データや操作設計は 検証記録 および Editor 2.0 リフレッシュ に保管されています。