I just wanted to share another package that I have been developing over the past few months, Graphical.
Graphical is just a kind of disaster-box package which I use to implement algorithms that I find interesting and challenging. It all started over a year ago when someone planted on me the idea of automating the computation of shortest distance from fire hose cabinets to doors in Revit.
Althought it worked, it seemed that there was plenty of room for improvement (I mean, 20 seconds was too much for a simple layout like that one). So after researching and learning about visibility graphs, that led to shortest paths, which led to Dijkstra, which led to priority queues, which… led to me ending up lots of nights awake in front of the screen
Graphical package is very WIP (and I think it will always be) as I keep piling ideas and algorithms worth implementing. For now it provides methods to compute the visibility graph from a given set of boundaries (polygons), shortest path from two points on the given visibility graph and computation of isovist, among other utilities that I’ve built along the way.
I have tried to be as thourough as possible by checking and testing hundreds of times, but if anyone finds any bug please let me know via the GitHub page.
Lastly, if someone has any ideas or comments I’ll be glad to know them!