フローファイル(.flow)は、以下のプロパティを持つ JSON になっています。
ファイルはトップレベルに "version", "nodes", "trays" の 3 つのキーを持ちます。
json
{
"version": "0.2.x",
"nodes": [
{
"index": 0, // ファイル内での一意な識別ID
"type": "raw_reader", // ノードの種類
"x": 140.0, // キャンバス上のX座標
"y": 80.0, // キャンバス上のY座標
"zOrder": 10, // 描画の重なり順
"connections": [1], // このノードから出力される接続先ノードの index リスト
"...": "各ノード固有のパラメーターがここに並ぶ"
}
],
"trays": [
{
"x": 40.0, // トレイのX座標
"y": 40.0, // トレイのY座標
"width": 300.0, // トレイの幅
"height": 200.0, // トレイの高さ
"title": "File Input", // 表示名
"zOrder": 1 // 描画の重なり順
}
]
}
nodes 配列内の各オブジェクトは、種類に関わらず以下のフィールドを必ず保持します。
プロパティ名
・型
・説明
index
・int
・ノード間の接続を定義するためのシリアル番号。通常 0 から始まります
type
・string
・ノード識別名("raw_reader", "offset", "sum" など)
x, y
・float
・キャンバス上での絶対座標。
zOrder
・int
・重なり順。数値が大きいほど手前になります
connections
・array[int]
・出力先ノードの index を格納した配列
ノードを視覚的にグループ化する枠(トレイ)の定義です。
trays 配列内の各オブジェクトは以下のフィールドを必ず保持します。
プロパティ名
・型
・説明
x, y
・float
・キャンバス上での絶対座標
width, height
・float
・トレイのサイズ
title
・string
・トレイ上部に表示される見出しテキスト
zOrder
・int
・重なり順。数値が大きいほど手前になります