Я работаю над приложением HTML и Javascript, которое будет использовать дерево git и отображать коммиты и слияния в виде направленного графа (например, git log --graph). Я немного читал об аккуратном алгоритме Рейнгольда-Тилфорда, но, похоже, он не применим к графам с узлами, которые имеют как родителей, так и детей. Пример желаемого вывода (в виде текста, но я смотрю на графические библиотеки, такие как d3js и Raphael):
* - 1 day ago
|
* - 2 days ago
|\
| * - 3 days ago
|/
* - 4 days ago
|
* - 5 days ago
Есть ли какие-нибудь библиотеки, которые уже справляются с этим? Существуют ли примеры (на любом языке) рендеринга подобных графиков? В крайнем случае, я думаю, я попытаюсь воспроизвести график из самого git (https://github.com/git/git/blob/master/graph.c), хотя он немного плотный.
Спасибо за помощь.