Skip to content
AI News HubLIVE
Original source2 min read

Quoting Rick Brewster: Paint.NET's AI-Driven Direct2D Rewrite for WINE

Summary

Paint.NET's author, Rick Brewster, reveals that to run on WINE, they used Claude, an AI tool, to create a clean-room reverse-engineered rewrite of Direct2D. This 180,000-line codebase is described as a product of 'vibe coding,' lacking thorough review, yet Claude's reverse-engineering prowess was impressive, albeit requiring substantial babysitting.

Quoting Rick Brewster: Paint.NET's AI-Driven Direct2D Rewrite for WINE
Report an error

The correction channel is not available yet. You can copy the article reference below for later.

Correction instructions
Read article

A quote from Rick Brewster

Simon Willison’s Weblog

Subscribe

2nd September 2026

Direct2D has always been the biggest hurdle for Paint.NET on WINE, and it's clear that it will never be completed enough for Paint.NET's use. And I can't just "disable" the use of Direct2D. So, instead, Paint.NET now has an internal, from-scratch, clean-room reverse-engineered rewrite of Direct2D that it uses on WINE (triggered by using /wine). It lives in PaintDotNet.Windows.Direct2D1.Managed.dll. This was written by our good friend Claude, without whom this would NOT have been possible and would NEVER have happened. [...]

Most of this code is, as they say, "vibe coded." By that I mean that it has not been thoroughly reviewed, it's more "trust me bro" style. I cannot possibly review 180,000 lines of code, it's just way way way too much. For reference, the rest of Paint.NET is about 700,000 lines of code and I've been working on it for over 20 years. [...]

At times, Claude was working with the fury of 10 freshly unshackled Einstein genius-level 10x coders. And other times ... well, not so much. I had to babysit Claude quite a bit to make sure it did resource management correctly (for awhile it just wasn't doing the COM equivalent of AddRef() for reference counted objects, oops). I had to slap it a few times when I found some really bad design or architecture decisions. And I was also impressed at some rather clever and tireless reverse engineering work it did to figure out all the formulas needed for implementing Direct2D's built-in effects library.

— Rick Brewster, author of Paint.NET

Recent articles

Claude Fable 5.1 made me a really nice animated pelican - 1st September 2026

Understanding ChatGPT Work - 30th August 2026

Conceptual integrity and counting lines of code - 19th August 2026

This is a quotation collected by Simon Willison, posted on 2nd September 2026.

dotnet 5

linux 52

reverse-engineering 12

ai 2,211

generative-ai 1,959

llms 1,926

claude 306

vibe-coding 95

coding-agents 243

Disclosures

Colophon

©

2002

2003

2004

2005

2006

2007

2008

2009

2010

2011

2012

2013

2014

2015

2016

2017

2018

2019

2020

2021

2022

2023

2024

2025

2026

Key points and analysis

Article intelligence

EngineersIntermediate

Key points

  • Paint.NET now includes an internal, from-scratch, clean-room reverse-engineered rewrite of Direct2D for use on WINE, triggered by the /wine flag.
  • The 180,000 lines of code were written by AI tool Claude, exemplifying 'vibe coding' as it was not thoroughly reviewed.
  • Brewster had to babysit Claude for resource management and design corrections, but was impressed by its clever reverse engineering of Direct2D's effects formulas.

Highlights and analysis are generated automatically and may contain errors. Check the original source.