С помощью чего реализовать "дерево технологий"(направленный граф), как в стратегической игре?
Если бы вам нужно было реализовать "дерево технологий", как в стратегической игре типа Цивилизации, то какую библиотеку/пакет Вы бы использовали?
Требования:
- Узел(прямоугольник) должен хранить и визуально менять состояние "достигнуто/не достигнуто",
- При нажатии на узел подсвечиваются(или скрываются лишние) ветви которые требуется пройти, чтобы достигнуть данный узел,
Желательно:
- Автоматическое построение дерева на основе информации о связях (в файле, json)
- Различные типы связей, скрытие ветвей по типам связей.
Может быть уже есть что-то готовое в open source?
Если нет, то м.б. есть библиотека для построения красивых визуализаций, которую можно применить для этих целей? Было бы неплохо если бы это было на Python, но можно и JS.
xmoonlight, почему же это разумеется?
Я видел реализации которое лагают с таким количеством объектов в графе даже на не слабых машинах.
А было время даже SVG такого размера тормозило.
vaut, Вот! А чтобы не "попадать" так, надо изучать исходник и оценивать сложность алгоритма в исходнике (оценивая итеративные/рекурсивные циклы и т.д.)
vaut, Если мне нужно оценить либу для довольно большого количества элементов - я буду сам изучать и проводить стресс-тесты перед тем, как встроить её в проект.
xmoonlight, я рад за вас. Именно это я и делаю. Для начала спрашиваю мнение человека который уже работал с ней, а именно Вас.
И внезапно получаю ответ что проблем в принципе не может быть.
vaut, Чтобы Вы были более уверенными, что всё так, как я говорю, сделайте рекурсивную генерацию "веток" "дерева" и проверьте сами. Там всего-то рекурсивную функцию написать в 3-4 строки на js.