Чистый Rust вместо Electron
PhotoCraft — это не просто форк, а «чистая реимплементация» (clean-room reimplementation) Adobe Photoshop, созданная с нуля на языке Rust. Ключевое отличие от многих современных аналогов — отсутствие Electron, WebView или браузерных движков. Приложение работает как нативный бинарный файл, используя GPU-композицию через wgpu (поддержка Metal, Vulkan, DX12, WebGPU). Это обеспечивает мгновенный отклик интерфейса и отсутствие задержек, характерных для веб-приложений.
Совместимость с PSD и метрики рендеринга
Проект делает упор на полную совместимость с форматом Adobe Photoshop. Разработчики заявляют, что приложение может открывать, редактировать и сохранять многослойные PSD-файлы. При повторном сохранении рендеринг совпадает с оригиналом в 307 из 309 тестовых файлов из набора psd-tools. Это критически важно для профессионалов, которым необходимо передавать файлы между редакторами без потери данных.
Технические характеристики и инструменты
PhotoCraft включает 68 инструментов, движок кистей с поддержкой давления пера и наклона, а также 16 слоев коррекции (Curves, Levels, Vibrance и др.). Особое внимание уделено векторной графике: 116 из 116 тестовых слоев форм совпадают с пиксельным представлением в Photoshop. Производительность оптимизирована: например, размытие Гаусса радиусом 180 на изображении 3.6 Мп выполняется менее чем за секунду благодаря многопоточным фильтрам и алгоритму running-sum.
| Категория | Характеристики PhotoCraft |
|---|---|
| Язык программирования | Rust (чистый, без внешних зависимостей типа Electron) |
| Графический бэкенд | wgpu (Metal, Vulkan, DX12, WebGPU) |
| Поддержка форматов | PSD, PSB, многослойный TIFF (чтение/запись) |
| Глубина цвета | 8, 16, 32 бита на канал (RGB, Grayscale, CMYK, Lab) |
| Слои коррекции | 16 видов (Curves, Levels, Vibrance, Hue/Saturation и др.) |
| Тесты совместимости PSD | 307/309 файлов рендерятся идентично оригиналу |
| Векторные формы | 116/116 тестовых слоев совпадают с пиксельным рендером |
AI и автоматизация
Архитектура PhotoCraft спроектирована с учетом будущего внедрения AI. Каждое действие в приложении является командой, что позволяет управлять редактором не только через UI, но и через CLI, JSON-канал управления или MCP-сервер. Это открывает возможности для интеграции с AI-агентами, которые могут выполнять сложные сценарии редактирования изображений автономно. Также реализованы функции «Select Subject» и «Object Selection», работающие локально на машине пользователя без отправки данных в облако.
Источник: Github ↗
