Skip to content

Improve hierarchical layout for graphs with mixed-directional flow #62

@mitchmindtree

Description

@mitchmindtree

In the case that some nodes flow top-down, and some nodes flow left-to-right, the existing layout approach will give undesirable results as it assumes the whole graph is laid out in a particular direction.

We should probably do something like the following:

  1. Remove edges that connect nodes with different flow directions.
  2. Collect the SCCs on the remaining graph.
  3. Layout each SCC independently.
  4. Determine the bounding boxes for the resulting SCC layouts.
  5. Connect the SCCs that were previously connected before edge removal.
  6. Layout the outer graph of SCCs using their bounding boxes.
    • Not sure how to pick a direction preference here? Make it optional I guess?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions