ordering attribute only works if tail & head share common parent (Root / cluster)
Steps to reproduce
digraph {
////////////////////////////////////
// reference node outside of cluster, others in cluster ordering=out - fails
T0 [ordering=in] // defined outside cluster
subgraph cluster2 {
u0 v0 w0 x0 y0 z0
}
x0 -> T0
z0 -> T0
y0 -> T0
u0 -> T0
w0 -> T0
v0 -> T0
label= "should be:
x0 z0 y0 u0 w0 v0"
}
Expected Behaviour
Nodes in this order: x0 z0 y0 w0 v0 u0
Actual Behaviour
OS Version
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.6 LTS
Release: 20.04
Codename: focal
Graphviz Version
dot - graphviz version 10.0.0~dev.20231204.0707 (20231204.0707)
Additional info
(This Issue is based on results of simple debugging statements inserted into do_ordering_node in mincross.c)
If possible, ordering should be "fixed" to apply when edges span parents
Otherwise, if the bug is only in the documentation (e.g. ordering will never apply across parents)
- the documentation should make this clear
- (enhancement) the code shold be enhanced to flag attempts to apply ordering when edges span parents
The ordering attribute represents a powerful and complex concept, but it needs to be cleaned up.