Open tangkong opened 1 year ago
I think a manual layout will be not too difficult though and provide a better output in the end. It'll be extra work, of course.
(Though I do wonder, for the graphviz stuff, did you use dot
and specify L-to-R layouts (via rankdir)?)
I didn't try a L-to-R layout, but that image did use dot
(which worked the best of all the other options I tried).
I briefly looked at rolling my own layout, but after seeing things like spring constants for node spacing, I decided to do more impactful lightpath work
it might be possible to use a simple grid layout with precisely-placed widgets to draw a fully-functional branching lightpath
Grid layout could be quick and might look pretty good - I like the idea
Current Behavior
Currently the only view of the facility is through a singular BeamPath, which is workable if you're not considering other beamlines
Possible Solution
A button that displays an image of the facility, based off the
LightController.graph
. Could condense nodes between branching nodes, with an option to expand a branch by clicking on it. It would be a good place to also show the beam path through the facility from beginning to end.Context
Currently there is no way to see the facility layout within lightpath itself. We have been referring users to an facility map, which may be inconvenient. With different endstations possibly changing their respective happi databases and configurations, it would be good to give people the ability to check what their changes have done.
Throughout development / testing, I've used pygraphviz to create some facility graphs which were honestly... ugly.
pygraphviz tries to keep each depth at the same level, which does not at all work for the facility graph.
This was something that was spitballed early on during the lightpath rework, but tabled.
Your Environment
lightpath master