netlistsvg
netlistsvg copied to clipboard
Port swapping
There are some pins whose position are arbitrary. The layout engine should be able to move them around to reduce wire crossings.
Right now all nodes have fixed port positions. Instead, you can set the node to have port constraints of fixed sides, and then adjust the port margin and spacing so that they line up with the original port positions. I think this would slightly change the positioning of the generic ports.
Not sure why @dvc94ch declared this unnecessary with merging of #38. I think this would still be really useful to optimize port locations based on the edges and to do auto orientation of analog components.
You say the "layout engine" should do this I haven't found anything in ELK/ELKjs to help. Is this something we would have to do completely in netlistsvg?
I don't think there is enough information in the input netlistsvg to find the signal path (probably requires a simulator to figure it out) The orientation of components is not something arbitrary that can be rotated at will.
This seems different from what this issue is about port swapping, which I think is useful. But what I think nturley is talking about is using a side constraint which would work very nicely for binary operators.