クロスプラットフォームのデスクトップアプリケーションにとって重要な進展として、Paint.NETの開発者であるRick Brewster氏は、画像エディタがWINE上で動作するようになったことを発表した。これは、マイクロソフトのDirect2DグラフィックスAPIを内部で書き換えたことによるものだ。Direct2Dは常にPaint.NETをWINE上で動作させる上での最大の障壁であり、WINEプロジェクトの実装はPaint.NETの用途には決して十分ではなかった。Brewster氏はDirect2Dを「無効化」する方法を選ばず、その代わりに、Claude(AnthropicのAIツール)の支援を受けて、Direct2Dをゼロからクリーンルームリバースエンジニアリングした書き換えを行うことにした。
新しいコードはPaintDotNet.Windows.Direct2D1.Managed.dllに格納され、WINE上で/ wineフラグを使用してPaint.NETを起動することで有効になる。Brewster氏は「彼がいなければ、これは不可能であり、決して実現しなかっただろう」と強調し、この取り組みにおけるClaudeの不可欠なパートナーシップを称賛している。
コードベースは約18万行で構成されており、Brewster氏はこれを「バイブコーディング」の典型例と表現している。この用語はAI支援開発コミュニティで最近注目を集めている。つまり、コードは徹底的にレビューされておらず、「信頼してくれ」的なスタイルだという。氏は「18万行のコードをレビューすることは不可能だ。あまりにも多すぎる」と認めている。参考までに、Paint.NETの他の部分は約70万行であり、20年以上かけて開発されてきた。
Brewster氏のClaudeとの経験は賛否両論だった。時には、Claudeは「解き放たれたばかりのアインシュタイン級の10倍速コーダー10人の怒り」を持って働いたが、他の時にはかなりの監督が必要だった。氏はリソース管理を確実にするために頻繁に介入する必要があり、具体的には、Claudeが当初、参照カウントオブジェクトのCOM相当のAddRef()を実行していなかったことを指摘した。また、深刻な設計やアーキテクチャ上の決定を見つけたときには、数回「叩く」必要があった。しかし、氏はまた、Claudeの巧妙でたゆまないリバースエンジニアリング、特にDirect2Dの組み込みエフェクトライブラリを実装するために必要な数式を解明したことに感銘を受けた。
この成果は、LinuxおよびWINEコミュニティにとってのマイルストーンである。Direct2Dの互換性は、多くのWindowsアプリケーションにとって長年の大きな障壁となってきたからだ。Brewster氏の元のフォーラム投稿は、2026年9月2日にSimon Willison氏のブログで共有され、複雑なリバースエンジニアリングタスクにおけるAIの可能性についての議論を巻き起こした。このニュースは、特に人間による監視が不可欠なシナリオにおいて、AI生成コードの可能性と落とし穴の両方を浮き彫りにしている。