Реализация совместимости Paint.NET с WINE при помощи Claude¶
4.0/10
Контекст¶
Главной преградой для полноценного запуска Paint.NET в среде WINE оставалась неполноценная реализация библиотеки Direct2D, которую нельзя просто отключить в графическом редакторе. Переписать эту подсистему вручную автор проекта Рик Брюстер не мог: для одиночного разработчика это было слишком объёмной задачей, учитывая, что основной код Paint.NET создавался более 20 лет и насчитывает около 700 000 строк.
Суть¶
Чтобы решить проблему, Брюстер использовал Claude для создания собственной чистой реализации Direct2D на C# (`PaintDotNet.Windows.Direct2D1.Managed.dll`), которая подключается при запуске с флагом `/wine`. Нейросеть сгенерировала около 180 000 строк кода и самостоятельно воссоздала математические формулы для библиотеки встроенных эффектов Direct2D. По словам Брюстера, большая часть этого объёма создана методом «vibe coding» без полного ручного аудита из-за нереализуемости проверки такого количества кода. При этом разработчику приходилось постоянно контролировать процесс: исправлять неудачные архитектурные решения модели и следить за низкоуровневым управлением ресурсами, в частности за подсчётом ссылок COM и вызовами `AddRef()`.
Вывод¶
Опыт Paint.NET показывает, что генеративные языковые модели позволяют одиночным разработчикам браться за масштабную обратную разработку системных библиотек, хотя итоговая стабильность подобного кода всё ещё требует точечного человеческого контроля над критической архитектурой и управлением памятью.