ART の CTL プログラミングでは UI 要素として、 // @ART-param: [... コントロール文で、モジュールのコントロール要素を配置することができます。このコントロール要素を配置する順番ですが、プログラム上の // @ART-param: [... コントロール文 の順番では決まりません。
どこで決まるかというと、// @ART-param: [... コントロール文 で取得する変数の ART_main 関数で引数として引用する順番で決まります。
例えば、以下の UI ですが...
以下のコードで順番が決まります。
上の引数で、varying float r, varying float g, varying float b はイメージから入力される変数ですので、UI 要素と関係ありません。その次に
int param_choice
bool bl_AreaPrView,
float Pivot, float Skew,
float R, float G, float B, float L,
float Gamma, float Strength,
output varying float rout,
output varying float gout,
output varying float bout,
bool bl_AplUniValue
の順番で引数が参照されますが、そのうち、output で始まる変数は、出力変数なのでやはり UI と関係ありません。
そして、 int param_choice が UI の Taeget Color を指定する変数、bool bl_AreaPrView が、ターゲットエリアのプレビューを指定する変数、 float Pivot は、Pivot of color threshold で指定した値を受ける変数、float Skew が、Skew of target color で指定した値を受ける変数、 float R, float G, float B, float L は、Red, Green, Blue, Lightness の補正値を受ける変数... という順番になっています。
ちょっとわかりにくいので、ご注意ください。
------------
[追記]
Ver. 1.21.1 で仕様変更がありました。// @ART-param: [... コントロール文の順番通りに UI 上に要素が並ぶように変更されました。ただし、旧バージョンとの互換性を考えると極力、このコントロール文の順番と引数を並べる順番を一致させておいた方が無難です。ご注意ください。