matthewmaier / platyvue

easily create and share open source hardware documentation
2 stars 1 forks source link

Dive and Rise Lines Overlap and Do Not Autohide #14

Closed jmwright closed 9 years ago

jmwright commented 9 years ago

The dive and rise indicator lines seem to overlap and obscure each other. They are also not autohiding in some situations. platyvue_feeback_08_05_15_1 What about using a solid line with an arrow on one end for dive and rise?

matthewmaier commented 9 years ago

Dive and rise shouldn't be thought of as individual links; they should be used in pairs. They form a cyclic in the graph. When the sort reaches a node that contains a sub-graph, dive and rise are how it knows where to go and how to get back.

At the moment there isn't any provision for more than one subgraph inside of one node. That might be something we can do later but I'm not sure how. Each individual node can have a sub-graph, though, so if you wanted to contain separate sub-graphs in one node you could give it multiple sub-nodes and each of those could contain one of the sub-graphs.

So in your picture there shouldn't be two rise links going into the Operation node. At least, none of the algorithms I've written would know what to do with that structure. If you keep it consistent we could work out an algorithm to interpret it.

It's based on the assumption that an algorithm will first need to know the scope of the information; where does it begin and end. Then which steps come before other steps. So the topological sort I've got is a breadth-first search nestled inside of a depth-first search. It looks for the highest level container node it can find, which it identifies by a pair of dive/rise links and no flow links, then it follows the dive links and initiates breadth first on the flow links. Every time it hits a new container node it dives in and follows the flow. When it hits the rise links it closes out that sub-graph and continues following flow.

On Wed, Aug 5, 2015 at 11:59 AM, Jeremy Wright notifications@github.com wrote:

The dive and rise indicator lines seem to overlap and obscure each other. They are also not autohiding in some situations. [image: platyvue_feeback_08_05_15_1] https://cloud.githubusercontent.com/assets/1015439/9094871/38b71902-3b82-11e5-804e-cd2a8ff7ef12.png What about using a solid line with an arrow on one end for dive and rise?

— Reply to this email directly or view it on GitHub https://github.com/matthewmaier/platyvue/issues/14.

jmwright commented 9 years ago

I thought I had done a dive-rise pair. I'll have to try it again.

jmwright commented 9 years ago

This isn't a problem when you click the nodes in the right order for the rise.