Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request - DAG: Add "bird's-eye view" mode or dynamic rendering. #40

Open
nathan-at-least opened this issue Oct 25, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@nathan-at-least
Copy link
Contributor

The Feasible Approach

This approach modifies the python to generate new svg/html outputs.

When rendering graphviz outputs, for each current output also render a "Bird's Eye View" DAG. The latter collapses all milestones/epics into single nodes. This means for any issue A in milestone X which depends on issue B in milestone Y, the Bird's Eye node X will depend on the Bird's Eye node Y.

Note: This Bird's Eye view can have cycles, eg: issue A in X depends on issue B in Y, and B depends on C in X. I think this is fine (although it's not a DAG) if the Bird's Eye view shows these cycles. That simply indicates those milestones must be concurrent or interleaved. (But it may also suggest we may want to refactor milestones?)

The Super Fancy Approach

This approach modifies the html/svg rendering to allow a user to dynamically switch between the two views.

This could be somewhat generic (if posisble) to work with any graphviz SVG output. It could identify the subgraph containers and calculate the Bird's Eye view then either swap out all of the SVG widgets or perhaps an HTML renderer could have two view containers that it toggles the visibility of.

@nathan-at-least nathan-at-least added the enhancement New feature or request label Oct 25, 2023
@str4d
Copy link
Collaborator

str4d commented Feb 6, 2024

#47 (now implemented) does a similar thing for "target issues" with the label C-target. If the milestone bird's-eye view is still desired, it could likely be implemented with similar rendering logic (except that unlike the issue graph which is only not a DAG due to mistakes when adding edges, the milestone relational graph can inherently include cycles).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants