部分実装

ワークスペース・保存・AE連携#

ワークスペースはCNLプログラムと編集表示を扱う単位です。共有プログラム、エフェクトの選択と入力、Windowの配置、未適用の下書きを分けます。

何をどこへ保存するか#

情報 所属 更新の意味
CNLプログラム、共有定義 AEPの共有ワークスペース 同じAEPで参照できる編集内容
エフェクトが使うワークスペースの選択、入力、描画用コピー 個別エフェクト そのエフェクトの計算を更新
ノード配置、パン、ズーム、Window配置 編集表示 計算結果を変えず保存
未適用Code、Edit Parameterの候補 パネルの下書き Apply前に別パネルへ強制公開しない

共有保存だけを理由にAEP内の全エフェクトを書き換えません。各エフェクトを選んで個別に更新します。他のエフェクトの選択や入力接続は維持します。表示だけの変更では描画用コピーを更新しませんが、ECPで必要な名前・範囲・形の変更は選択中エフェクトのUIへ同期します。

NodeとCode#

NodeはCNLのVisual syntax、CodeはText syntaxです。ソース変更は同じ意味検証へ進みます。ノード名やOperation表示名でバックエンドを選びません。Source Layerという表示名と、引数の内部識別子は別で、改名によって接続先を失いません。

Codeの未適用・不正な下書きは保持します。Nodeへの切替、Windowの閉じ直し、別パネルの操作は、それを自動Applyする理由にはなりません。編集可能なVisualへ投影できない場合は理由とCodeの修復先を示します。

Window配置は、標準Dock treeと浮動コンテナのDock treeを一つのforestとして保存します。コンテナの位置・サイズ、タブ、分割方向・比率、前後順を復元します。同じタブを二つのコンテナへ保存できず、Code Subwindowを外部スコープへ混入させる保存も拒否します。旧Preview単独の浮動配置は、共通コンテナへ移行します。これはソースやエフェクトの入力接続を移行する操作ではありません。

同時編集と競合#

保存は編集を開始した版と現在の保存版を照合します。別パネルやAE Undoが先に更新していれば、相手の保存内容へ古い下書きを無条件に書き戻しません。自分の下書きは保護し、再読込または明示的な適用が必要な状態として扱います。

バックグラウンド検証へ渡す編集では、ソースの版とワークスペース全体の版を保存直前に照合します。ソースが同じでも別パネルが配置や入力先を先に変えた場合、古いコピーでその変更を上書きしません。検証の完了は現在の配置・入力先・値へ必要な既定bindingだけを整合させ、workerが受け取った古いワークスペースへ戻しません。この整合処理は新しいUndo項目を増やしません。

保存の応答が成功でも読戻しが異なる場合は成功と表示しません。復元は自分が書いた値だと確認できる場合だけ行い、途中で現れた他の更新を上書きしません。失敗時は候補データと診断を保持します。

Undoと寿命#

計算編集と配置編集は区別します。配置Undoで意味のあるソースが同じなら、既存の検証済みプログラムと評価の識別を再利用できます。不正なソースを、内容が違う過去の成功として再利用しません。

AEP切替・エフェクト削除・パネル再作成は別の寿命です。同じ名前、同じソース文字列、同じメモリアドレスになったことだけで、元の画像・計測・編集先を使い回しません。AEの一時画像を保持せず、必要な画像は所有するスナップショットとして扱います。

Source LayerとFrame Offset#

AEの実際の時刻・対象レイヤー・領域を入力として取得します。Frame Offsetは前回の描画結果を記憶する機能ではなく、対象時刻の依存をAEへ正式に要求する操作です。UIの描画・マウス処理から直接AEのレンダー用操作を実行しません。

エラーになった下書きでもSmart PreRenderの出力領域を不正に返してはいけません。入力の取得・解放、Undo、MFR、キャッシュ、AEGPの呼出し文脈は独立して検査します。実機確認が済んでいない範囲は対応状況で示します。

評価と時間 · ファイルとレイヤー · パラメータ公開 · Window操作

このページを編集GitHubへのアクセス権が必要です。

CompNode Guide · 日本語製品ドキュメント仕様と実装範囲は各項目で区別しています。

ドキュメントを検索

検索語を入力してください。

    ↑ ↓ で結果を移動、Enter で開く · 検索はこの端末内だけで実行されます。