跳到主要内容
AI News HubLIVE
站内改写1 分钟阅读

引用 Rick Brewster:Paint.NET 在 WINE 上使用 Claude 逆向工程重写 Direct2D

文章摘要

Paint.NET 作者 Rick Brewster 透露,为了让 Paint.NET 在 WINE 上运行,他们使用 AI 工具 Claude 从零开始逆向工程重写了 Direct2D。这个 18 万行的代码库被戏称为“vibe coding”产物,未经全面审查,但 Claude 的逆向工程能力令人印象深刻,同时也需要大量人工监督。

引用 Rick Brewster:Paint.NET 在 WINE 上使用 Claude 逆向工程重写 Direct2D
报告错误

纠错通道尚未开通,可先复制下方文章信息留存。

查看更正说明
直接读正文

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 博客中引用。

展开要点与分析

文章情报

工程师中级

要点

  • Paint.NET 包含一个内部、从零开始、干净室逆向工程重写的 Direct2D,用于在 WINE 上运行,可通过 /wine 标志触发。
  • 代码由 AI 工具 Claude 编写,共 18 万行,被作者称符合“vibe coding”风格,即未经彻底审查。
  • 作者对 Claude 的监督包括管理资源正确性和纠正设计决策,但其逆向工程效果库公式的能力让人印象深刻。

要点与分析由自动化流程生成,可能有误,请结合原始来源核实。

引用 Rick Brewster:Paint.NET 在 WINE 上使用 Claude 逆向工程重写 Direct2D | AI News Hub