2016年最初のKrita開発スプリント
今週、Kritaの開発者が再び集まりました。CalligraのText Layout開発スプリントもKritaの2016キックオフ開発スプリントと同時に開催されました。水曜から開始したスプリントにはKDE関連の開発スプリントに初参加の二人を迎え、週末にはフリーソフトウェアでも珍しい状況が起こりました。男女同数の参加者です。
Calligraの方の参加者に開発スプリントが成功だったかたずねたところ、Camillaが「Ja!」と答えてくれました。こちらのメイントピックはセクションとコラムでした。知識の共有と、Calligraの一部のokularプラグインの修正も行われました。Josは、Krita開発者の騒音も気にせず、Fosdemでのプレゼンテーションのスニークプレビューを行いました。
Kritaの方は、水曜に開始して、まずソースツリーのクリンナップについて議論しました。最近パッチを作成した新しい貢献者は、開発をした他のプロジェクトに比べてKritaのコードベースは明解さのお手本だとコメントしてくれました…とはいえ、コードの整理はするべきです。まだcalligraからの遺産を多く残している状態で、構造をより論理的にするために整理をはじめています。
次はOpenGLでした。 Qt4ではQPainterはOpenGLサーフェス上で機能するということになっていました。Krita1.xのころ、Qt3の時代に、我々は既にQPainterキャンバスとOpenGLキャンバスの2つを持っていました。それぞれ、ブラシアウトライン、ツールヘルプラインといった独立したコードを必要としていました。Qt4への移植の時に、コードを統一しました。キャンバスへのペイントはOpenGLキャンバスとQPainterキャンバスで異なっていましたが、ツールとキャンバスデコレーションについては、すべてを統一しました。
しかしながら、OpenGL QPainterエンジンはよくメンテナンスされておらず、OpenGL version2で止まっています。モバイルアプリケーションにとっては十分なのかもしれませんが、Kritaのようなデスクトップアプリケーションでは正しく機能するためにOpenGL 3.2の機能もいくつか必要としています。これはKritaをOSXに真剣に移植しようとするまでは問題として出てきませんでした。OpenGL QPainterエンジンは、OpenGL version2なので、OpenGL3.2コンテキストを使う時には互換性プロファイルを設定しないと動きません。廃止予定のそうしたものを必要としているのです。
Appleは、そうしたプロファイルを誰も必要しないと考えて、コアプロファイルのみを提供しています。これが残念なことです。 つまり、OpenGL3.2のコアプロファイルを必要とするOSXアプリケーションでは、OpenGL QPainterエンジンが使えないということになるからです。さらに事態を悪くしているのは、IntelのWindowsドライバで、3.2互換プロファイルを使うと黒画面になるような更新がしばしば起こっていることです。
こういうわけで…QtのOpenGL QPainterエンジンから徐々に離れてOpenGL 3.2への移植を開始しようとしています。技術的には可能のはずですが、とても厄介であると想定しています。うまく機能させることができれば、それをQtの一部にできればと思っています。ただ、それもそもそもコードを書くことと同じくらい困難を伴うのでは、と考えています。
翌日、Qt5においてのOpenGLと、Fiedrichが作業をしているKrita SketchのQtQuick2への移植について議論をはじめました。議論はこのような様子でした:
(Woltheraによるイラスト)
それから、土曜日に、次のKickstarterに向けたプランニングを開始しました。メイントピックはテキストとベクターになります。 そして2017年の見通しについても話しました。コミック製作にかかわる問題を中核にしようと考えているところです。議事録(英語)はこちらです!
そして、私たちはお気に入りのギリシャ料理のレストランKreta(クリータ)で夕食を食べました。静かな夕べの後、日曜日には…
日曜日にはbugzillaに登録されている全ての要望について目を通しました。316個登録されていました。クローズしたケースもあります。素晴らしいアイデアでもこの2年間で実現できないものや、既に実装されているものです。残りについては以下のようにカテゴリー分けしました。:
- 要望グループ: Pie-in-the-sky(絵に描いた餅): おそらく実現しない、素晴らしい機能
- 要望グループ: Big Projects(大プロジェクト): より細かい要求定義が必要、開発に数か月はかかる見込み
- 要望グループ: Stretchgoal (ストレッチゴール): 数週間から1か月程度の見込み
- 要望グループ: Larger Usability Fixes(大き目のユーザビリティ修正): おそらく1週間から2週間程度
- 要望グループ: Small Usability Fixes(小さいのユーザビリティ修正): 半日から1日程度
- 要望グループ: Out of scope(範囲外): 現在のコアゴールから離れすぎているもの
- 要望グループ: Needs proposal and design(提案、デザインが必要): 要求仕様を定義するためにアーティストによる議論が必要
また、現在ライブラリの整理が進行中です。多くのバグ修正も行ったので、今週中に新しいWindows、OSX、Linux向けのKrita 3.0開発ビルドを出そうと思っています!そして、今月末には、Krita2.9の最後のバグ修正リリースを予定しています!