製品の概念体系と仕様の正本#
CompNodeAEはAfter Effectsにホストされたプログラミング・計算環境です。CNLが計算の意味を定め、NodeとCodeは同じプログラムを編集する二つの形式です。ノードの見た目や配置は計算の正本ではありません。
用語の境界#
| 用語 | 指す対象 | 含まないもの |
|---|---|---|
| Type Format | 型表現の構成要素、意味、制約を定める形式 | 型に後付けする分類、Field Attribute |
| Type Definition | 一つの型の意味、構造、演算、互換性の正式な定義 | 定義の説明項目すべてを保存する構造 |
| Value | 一つの値 | 解像度・時間配列 |
| Field | サンプル位置に配置されたValueの集合 | 座標やShapeを持たない単なるVector |
| Field Structure | Type、Shape、Dimension、Coordinate、Value Name、Attribute | 型表現だけでは決まらない情報の省略 |
| Field Attribute | Field全体に付属する名前付き情報 | Value本体、軸ごと・セルごとの自由な属性 |
| Access Model | 保存された各構成要素の参照・編集規則 | 保存上の分類をAttributeへ統合すること |
| Node Type | ユーザーが追加する目的単位のノード定義 | 内部処理ごとの別ノードの水増し |
| Node instance | グラフに置いた一つの出現 | 共有の型定義そのもの |
| Parameter | 値や構成を編集する項目 | ソケット型そのもの |
| Socket | 型制約を持つ接続端点 | Attribute、Precision、診断状態 |
| Wire | 二つの端点の接続 | 描画された曲線を計算情報として保存すること |
| Function / Group | 引数・本体・戻り値を持つ再利用可能な計算 | 中を調べられない専用効果 |
| Observation | 結果の表示、測定、比較 | 元の値の意味を変更する処理 |
「CNL関数のParameter」は呼出し引数です。「ノードプロパティのParameter」は引数の編集欄またはノード構成です。後者のすべてが実行時に動かせる前者になるわけではありません。Operationは構成変更、数値Gainは値、表示名は表示情報です。
状態は型ではない#
入力待ち、型不一致、実行未対応、評価中、評価失敗、最後の成功結果は別の状態です。入力待ちは正常な下書きです。型不一致は既知の制約が矛盾しています。実行未対応は型の意味が正しくても選択したGPU等で実行できない状態です。
ロックは編集保護、選択は操作対象、Focusは入力先です。これらも計算の型ではありません。無効な下書きを、前の成功結果へ黙って置き換えて現在の結果として表示しません。
仕様の状態と実装の状態#
仕様は「確定済み」「検討中」「追加案」のいずれかです。確定した仕様にも実装済み・部分実装・未実装があります。実装できたかどうかによって、確定済みの意味を後から変えません。
Value五型、Field三型、Type FormatとField Structureの分離、Grid/Image/Videoの意味型、第三軸Time、全体Attributeは確定済みです。任意の属性をセルへ追加する仕組みや、型に関係なく全入力を自動接続する仕組みは採用しません。新しいInteractionや汎用Wranglerの言語構文は、目的・規則・取消し・保存・試験を定義してから採用します。
共通の正本#
型・接続・Field構造の規則はこのReference群とCNL言語仕様で管理します。ノードの入出力、初期値、ウィジェット、選択肢は実装と共通の構造化定義から資料へ生成し、別の手書き一覧を正本にしません。用途・数式・例・制約は文章で説明し、生成表だけで仕様の説明を済ませません。
資料の生成は、未知の公開型、用途説明のないノード、Booleanの不正な範囲、壊れた選択肢、古い説明、リンク切れを検出したら失敗します。実装の値を写しただけで「仕様適合」とはせず、独立した意味の試験も必要です。現在の対応状況は契約と実装の差を隠さず記録します。
型形式 · Field構造 · Data Wrangler · ノード · ワークスペース