部分実装

型形式と型定義#

Boolean/Integerの正確な転送と一部GPU演算の範囲はGrid、 EXRレイヤーの選択はFile、検証範囲は対応状況を参照してください。 論理型の定義と、特定backendの実行可能範囲を混同しないでください。

型形式は型表現の構成規則#

型形式(Type Format)は、型をどの構成要素で表し、その表現にどの意味・制約を与えるかを定めます。既存の型へ後から貼るカテゴリでも、FieldのAttributeでもありません。

型形式 表現するもの 型表現の構成要素
Value Type Format 一つの値の意味と構造 基本型名。VectorとColorは成分型と成分数も持つ
Field Type Format Valueを複数のサンプル位置へ配置するデータの型 意味型名、Value型、次元数

型定義は、名称、型表現、意味、構造、演算、互換性、制約を説明する仕様です。これらの説明項目が、すべて実行時のAttributeとして保存されるわけではありません。

Value型形式#

公開する Value 型は次の七つです。文字列と選択肢の接続・変換規則は StringとEnumに記載しています。

型 意味 構造 詳細
Boolean 真偽 false / true Boolean
Integer 整数 符号付き整数 Integer
Float 実数の近似 浮動小数点数一つ Float
Vector<Float,3> 位置・方向・空間量 X,Y,Zの三成分 Vector
Color<Float,4> RGBAの色 R,G,B,Aの四成分 Color
String UTF-8文字列 空文字列を含むUnicodeスカラー列 String
Enum 定義された有限候補の一つ ドメインID・候補ID・明示コード Enum

Vectorの成分数はFieldの次元数ではありません。Vector一つには三つの数値が入りますが、画像の幅・高さも、三つの座標軸上の配列も持ちません。

Field型形式#

型表現 値の型 次元数 意味
Grid<ValueType,n> Value型 正の整数n 一般の任意次元Field。ストレージ・実行対応範囲は別途判定
Image<Color,2> Color 2固定 画像として解釈されるField
Video<Color,3> Color 3固定 映像として解釈されるField

Gridを一般形とし、ImageとVideoは構造と意味を専用化した独立の意味型です。単なる別名でも、見た目だけのタグでもありません。詳しくはGrid、Image、Videoを参照してください。

型表現が決めるのはValue型と次元数などです。Grid<Float,3>だけでは、Shapeが256×256×128か、DimensionがX,Y,ZかX,Y,Timeかは分かりません。Fieldの構造が、そのデータごとの情報を保持します。

型ではないもの#

名前 正式な所属 Socket Typeにしない理由
Connection Rules 接続規則 データではなく接続の可否を定める
Precision 評価設定 論理Floatとは独立した計算精度
Visualization 観測・表示設定 値をどのように見せるかを定める
Unresolved / 入力待ち 編集状態 必要な入力がまだ揃っていない状態
Invalid / 型の不一致 診断状態 満たされなかった制約を示す
Evaluation Domain 評価の範囲・座標規約 Fieldの意味型ではなく計算の実行条件
Field Attributes Fieldの構造の一部 Field全体に付属する情報の集合

内部実装にあるSampler、Lattice、Buffer、Complex、遅延Field、2成分ベクトルなどを、公開型の別名として偽って表示しません。移行中のCNL署名がそれらを使用する場合は内部表現として明示します。実装との差を参照してください。

未確定と不正の違い#

入力待ちは正常な編集途中です。候補となる型制約を満たす接続は、ほかの入力が空でも受け付けます。型が確定していないことを理由に、すべての接続を拒否してはいけません。

一方、既知の入力と制約が矛盾する接続は拒否します。計算可能な型が確定しても、未対応のGPU処理なら「実行未対応」であり「型が不正」ではありません。状態・型・実行能力は別々に示します。

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

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

ドキュメントを検索

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

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