GUI
Вьюпорт на Tauri 2 + React. Пан и зум — на GPU; ползунок превьюится во фрагментном шейдере, так что мост простаивает — замерено 165 fps, в 21× быстрее наивного round-trip.
● pre-alpha — движок, CLI и MCP-сервер уже работают
claws + draws · чудовищно быстрый редактор изображений для разработчиков, написан на Rust
Craws — это редактор пайплайнов: упорядоченная цепочка параметризованных операций поверх тайлового движка с content-hash кэшем и линейным светом. Управляй им из этого GUI, из headless-CLI, из CI или AI-агентом по MCP.

propertiesopen_image
histogram
luminance · RGB
02◢ доказательства, а не вайб
Каждый столбик — это criterion-бенч на фото в 24 мегапикселя, release-сборка. Когда craws обзавёлся собственным ресемплером и SIMD-энкодером — сдвинулись именно эти числа.
замерено · 6000×4000 · одна машина — контракт BLAZING
03◢ инструментарий
Каждая операция — одна строка в пайплайне: собираемо, версионируемо, воспроизводимо. Один и тот же пайплайн на одном входе даёт побитово одинаковые пиксели.
resize
{ "op": "resize", "width": 1600, "filter": "lanczos3" }Собственный сепарабельный ресемплер — в 6× быстрее крейта, который он заменил, без гамма-протечек и тёмной каймы. Одну сторону можно оставить пропорциональной.
04◢ content-hash кэш
Каждый шаг — узел, ключуемый blake3-хэшем своих входов и параметров. Поменяй значение — и кэш сам вычисляет, какие именно тайлы каких узлов надо прогнать заново, а всё выше по цепочке отдаётся прямо из памяти.
#d18a6
recompute
#d1fd0
recompute
#c1052
recompute
#e20fa
recompute
#384ed
recompute
#e217d
recompute
#d1929
recompute
[COLD RUN]
холодный прогон — каждый узел считает каждый тайл с нуля
05◢ один движок, четыре порта
domain ← engine; кодеки, GPU и AI — адаптеры за трейтами; CLI, MCP-сервер и GUI — равноправные порты и ничего не знают друг о друге.
craws-engine
tiled · content-hash cache · linear f32 · rayon
Вьюпорт на Tauri 2 + React. Пан и зум — на GPU; ползунок превьюится во фрагментном шейдере, так что мост простаивает — замерено 165 fps, в 21× быстрее наивного round-trip.
craws run pipeline.json — headless, скриптуемо, детерминированно. Формат следует за расширением файла; отчёт по таймингам — за каждым прогоном.
CPU-путь есть всегда. Ставь craws в пайплайн и обрабатывай пачками на раннере — побитово одинаковый вывод безопасно диффать.
13 инструментов по stdio. Агент открывает изображение, аннотирует, экспортирует — автоматические фигуры для документации, киллер-фича.