Я работаю над хобби-проектом, связанным здесь: https://conjectory.org/
Сайт по сути представляет собой коллекцию SVG-графиков, которые отображаются на экране.
С точки зрения UX это как-то расстраивает, насколько «широк» сайт, и я хотел бы более эффективно упаковать графики.
Теперь протокол SVG делает некоторые приятные вещи, такие как минимизация количества пересечений ребер, и Я хотел бы сохранить это, но вместо того, чтобы ВСЕ мои root узлы были на одной высоте, я бы их упаковал в область, которая минимизирует общую площадь.
Мои идеи:
Один из подходов состоит в том, чтобы превратить каждое независимое дерево в этом лесу в свой собственный объект SVG и упаковать его в элемент div, тогда проблема заключается в том, как максимально эффективно упаковать прямоугольные элементы angular на экране.
Но это требует очень больших усилий ((поиск алгоритма упаковки + разбиение SVG на отдельные блоки), мне интересно, есть ли более элегантное решение для этого.