Глава I
Жил-был один упрямый инструмент по имени davit. Не богатырь, не драконоборец, а тихий монах в мире графов. Прятался в терминале, в тени гигантов, которые рисуют схемы, будто на них завязано светлое будущее DevOps. Его не цитируют на конференциях, не вставляют в слайды с эффектом появления. Зато в три часа ночи, когда сервис хрипит, а интернет - хуже, чем в подвале, davit уже здесь. Как старая отвёртка в бардачке: не блестит, но крутит.
Он не умеет танцевать. Не подсвечивает узлы, не зумит, не выдаёт всплывашки с описанием нод. Просто рисует Directed Acyclic Graphs - DAG - будто это 1987, а экран всё ещё монохромный и знает только, как выводить символы. ASCII-арт, но не ради стиля - ради сути: стрелки, отступы, вложенность. Вместо GUI - табуляция. Вместо мыши - глаз и чутьё. Вместо красоты - ясность.

Автор, скорее всего, был такой же бессонный инженер, который однажды устал ждать, пока загрузится Graphviz, поднимется Docker и перестанет тормозить браузер. Тогда он сказал: «Хватит. Хочу видеть граф - и чтобы не вспотеть». И написал davit на Rust. Потому что Rust - это когда паника останавливается на этапе компиляции, а не в продакшене.
679 звёзд на GitHub - не толпа, но и не пустота. Ровно столько, сколько нужно, чтобы понять: кто-то это использует. Кто-то в tmux, в CI, в пятнадцатом логе - и вдруг видит: «О, можно просто davit - и сразу ясно, где цикл, где висячий узел, где магия превратилась в баг».

Глава II
На его пути, как водится, стоят драконы. Не один - целая армия. Graphviz - медленный, древний, но повсеместный. Gephi - с плагинами, фильтрами, анимацией частиц. Web-интерфейсы Airflow, Prefect, Dagster - клик, разворот, лог в попапе. А davit - мальчик с блокнотом на фоне дисплеев с AR.
Нет DOT-парсера, но есть поддержка DOT - кривоватая, будто кто-то диктовал по телефону. Нет цвета. Нет интерактивности. Нет истории. Есть только сейчас: ввёл - получил. И если граф похож на провода в разобранной стиралке - davit не виноват. Он не обещал порядок. Он показывает, какой он есть.
Ещё странность: в описании - Swift. А код - на Rust. Опечатка? Сбой метрик? Или кто-то перепутал репозитории в пылу борьбы с циклами? Не важно. Но царапает. Как если бы в паспорте стояло «Москва», а в билете - «Токио». Мелочь, но нервирует.
И всё же davit жив. Не потому что он лучше. А потому что он *свой*. Для тех, кто в SSH, в tmux, в tmux внутри SSH. Кто не хочет «удобства», которое тащит за собой десять зависимостей. Кто знает: GUI может упасть. А терминал - почти никогда.
Мораль
У davit не 95 баллов. Не 100. У него - 78. Достойно, но без оваций. Новизны - почти нет, дифференциация - тонкая, как лезвие, тяга - умеренная. Это не прорыв. Это напоминание. Что не всё должно светиться. Что можно решить проблему - не добавляя слоёв, а снимая их.
Он не заменит ваш визуализатор. Но может спасти вечер. Когда всё сломано, а запускать хочется только терминал. Это не инструмент для всех. Это - для своих. Как армейский нож. Как старый свитер. Как тихий голос в шуме: «Смотри. Просто смотри. Всё уже там».