GIMPの次世代イメージング・コアのデモ

先週の金曜日、ノルウェーのベルゲンで開催されたPiksel 06フェスティバルで、GIMP開発者のØyvind KolåsはGeneric Graphical Library(GEGL)の公開デモを行った。GEGLは、ずっと前からGIMPのコアイメージ処理フレームワークに取って代わり、まったく新しいデータ・モデルと操作を提供することになっていた。しかし、開発は停滞し、このプロジェクトは完全に失敗だと見る批評家が多かった。

GEGLが提案されたのは1999年のことだが、それから数リビジョン・サイクルにわたってGIMPの既存のコード・ベースが生き残っていた。2005年の夏には、GEGLは事実上暗礁に乗り上げたかのように見えた。その後、Kolåsはプロジェクトを生き返らせようと一念発起し、次の数か月で彼とSven NeumannとMichael Nattererがコード・ベースを詳しく検討し、再び作業を軌道に乗せた。Kolåsは2006年3月のLibre Graphics Meetingで自分たちの成果を披露した。

その時点では、限定的な機能しかないコマンドライン・デモパッケージ以外、GEGLを直接に試すことのできる方法はなかった。先週の金曜日のデモでは、Kolåsが書いた新しいグラフィカル・インタフェースが披露されたが、これは現在のCVSスナップショットに含まれている。このGUIでは編集機能は実装されておらず、ユーザがGEGLのコア操作をすべてライブ・イメージで試せるようになっている。このバージョンのGUIツールで実装されている操作は全部で87個ある。

1
クリックで拡大

GUIの左側のウィンドウには、操作選択ボックスとアクティブな操作のツリー・ビューがある。ツリーに操作を追加するには、ツリー・ビューのどこかを右クリックし、新たな操作をツリーの現在のレベルに「兄弟」として、あるいは別の操作の「子」として追加する。

2
クリックで拡大

右側のウィンドウには、ツリー・ビューの結果としてイメージが表示される。この表示は、ツリー・ビューで操作を追加/削除/再配置するか、操作のパラメータを調整すると、ただちに更新される。

このライブ合成は、GEGLの普通でないデザイン・パターンの1つを示している。イメージ・データは単純なピクセル配列として表現されてはいない。GEGLでのイメージはすべて有向非循環グラフになっているのだ。つまり、順序付けられ接続されたノードの集まりであり、各ノードが入力と操作と出力とから成っている。

したがって、すべての操作はある意味で同等と言える。これらの操作は単一のノードから複雑なマルチレベルのツリーに至るまで、どんなグラフにも適用でき、GUIデモでも見られるとおり自由に再配置できる。イメージ・ファイルをロードし、画面上にイメージを表示するのは、グラフ内の多くの可能なノードの2つにすぎない。

Kolåsは、GEGLをビルドするユーザに彼自身のGEGL Webページにあるブートストラップ手順に従うように勧めている。GUIツールはまだ実験的なコードである。編集には適さないし、クラッシュしやすいし、ドキュメント化されていない。Kolåsは、これが他の開発者たちの興味を引くものと期待している。彼らはGEGLのアーキテクチャと機能を調べる手段を得たのだから。

こうした制限があるとしても、GIMPのファンにとって、GEGLの実際に使える実装がお目見えしたことは画期的な出来事である。ユーザたちはGEGLが出てくるという話を何年間も聞かされていたが、既存のGIMPコアがずっと生き残っていた。今や、この長いトンネルにようやく光明が見えてきたと言えるだろう。

NewsForge.com 原文