Paint.NET 的开发者 Rick Brewster 宣布了一项突破性的进展:该图像编辑软件现在能够在 WINE(Windows 兼容层)上运行,这得益于对微软 Direct2D 图形 API 的内部重写。Direct2D 一直是 Paint.NET 在 WINE 上运行的主要障碍,因为 WINE 对该 API 的实现从未足够完善以支持 Paint.NET。Brewster 无法简单地禁用 Direct2D,因此他选择了一条不同的路径:在 AI 助手 Claude 的帮助下,从零开始对 Direct2D 进行清洁室逆向工程重写。
这段代码位于 PaintDotNet.Windows.Direct2D1.Managed.dll 中,只要在启动 Paint.NET 时使用 /wine 标志,就会在 WINE 上加载。Brewster 强调,如果没有 Claude,这个项目不可能实现,也永远不会发生。
这个 18 万行的代码库被 Brewster 描述为“vibe coded”的典型例子,这意味着它没有经过彻底的人工审查,而是基于“信任兄弟”的方式。他坦言自己无法审查如此庞大的代码量,尤其是考虑到他花了 20 多年时间才开发出 Paint.NET 其余约 70 万行的代码。
Brewster 对 Claude 的工作质量评价不一。在某些时候,Claude 像是“十个刚解放的、天才级别的十倍速程序员”,展现了惊人的生产力。但在其他时候,它也需要大量监督。特别是,Brewster 不得不持续监控资源管理,因为 Claude 最初未能正确实现 COM 对象的引用计数(类似于 AddRef)。他还必须纠正一些糟糕的设计或架构选择。尽管如此,他对 Claude 在逆向工程中展现的聪明才智和坚持不懈表示赞赏,尤其是在推导 Direct2D 内置效果库所需公式的过程中。
这项进展是 Paint.NET 支持 Linux 和 WINE 社区的一个重要里程碑,此前 Direct2D 的兼容性一直是主要瓶颈。Brewster 的帖子最初发布在 Paint.NET 论坛上,并被他人在 2026 年 9 月 2 日的 Simon Willison 博客中引用。