Skip to content

Conversation

@gavin-ts
Copy link
Contributor

@gavin-ts gavin-ts commented Nov 21, 2023

Summary

Allows plugins to route cross-graph edges.

Details

  • If a plugin has the ROUTES_EDGES plugin feature and implements the RoutingPlugin interface, then it will be used for edge routing across graphs
  • routing for grid edges TALA#63

@gavin-ts gavin-ts requested a review from alixander November 22, 2023 02:18
@gavin-ts gavin-ts marked this pull request as ready for review November 22, 2023 02:33
Copy link
Collaborator

@alixander alixander left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this?

If core layout runs before grid routing, then grid routing can just see that routes are already created and not make the straight connections.

If core layout runs after grid routing, it can just replace the straight connections.

@gavin-ts
Copy link
Contributor Author

Why do we need this?

If core layout runs before grid routing, then grid routing can just see that routes are already created and not make the straight connections.

So the issue is that core layout doesn't run with nested graphs otherwise it would misplace nested sequence diagrams or grid cells when running its own layout. After we run layout on the diagram without nested graphs, we then re-inject them and route the cross-graph edges including edges to descendants that do not exist while running core layout.

With this change, we can now pass the plugin the graph with descendants and have it only perform the edge routing for the specified edges. This way the plugin can implement its own edge routing with all the nested graphs present and not be affecting the positioning of any pre-existing shapes and edges.

@gavin-ts gavin-ts requested a review from alixander November 22, 2023 17:45
@gavin-ts gavin-ts merged commit 5faa0ad into terrastruct:master Nov 23, 2023
@alixander alixander mentioned this pull request Apr 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants