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

Create a seed graph visualizer #19

Open
16 of 20 tasks
jkomoros opened this issue Jul 1, 2023 · 0 comments
Open
16 of 20 tasks

Create a seed graph visualizer #19

jkomoros opened this issue Jul 1, 2023 · 0 comments

Comments

@jkomoros
Copy link
Owner

jkomoros commented Jul 1, 2023

Will help with debugging control flows

  • Seed.references() should return the direct nodes it references
  • A Packet() which has a diagram property that outputs a mermaid diagram defintiion
  • A tool to actually generate an SVG of the mermaid diagram and open a preview (https://www.npmjs.com/package/@mermaid-js/mermaid-cli)
  • Figure out why some references aren't showing up in the links
  • Add a diagram output in README
  • if includePrivate is false, the output is incorrect -- private sub-seeds of public seeds are rendered (but with an ugly name), and links from a public one to a private one then back out to a public one, instead of showing a link from the public one to the public one, shows no link between them
  • If includePrivate is false, and a public seed links to private ones, which then link out to a private one, show a link from the public to public one.
  • Include tooltips with more information on each one, including the values they have set
  • Links that contain numbers aren't handled correctly, they don't match (if it ends with a number, add an underscore)
  • Elide text that is a prefix of their parent (for private ones) for shorter graph names
  • Private seeds should be rendered a bit darker
  • Render remote subgraph in a different color
  • Allow specifyign to diagram() a location or list of locations to filter to. (If not provided, then use Object.keys(this._seeds)). Then any external ref whose absolute location isn't in the set of locations we're using will get the remote treatment that we currently do for https seeds.
    • Allow specifying this subset via CLI argument (same argument we use to say list a packet, --packet)
  • A mode to pretend like all private seeds are a part of their parent and just squash them in
  • Use sub-graphs for different packets (https://mermaid.js.org/syntax/flowchart.html?id=flowcharts-basic-syntax#subgraphs)
  • Add a simple CLI to print the diagram of the packet to stdout and exit
  • Allow includePrivate
  • fully remote references should show up
  • Ensure references between seed packets show up correctly
jkomoros added a commit that referenced this issue Jul 8, 2023
jkomoros added a commit that referenced this issue Jul 8, 2023
Not yet sanity checked or anything, and no lines between seeds yet.

Part of #19.
jkomoros added a commit that referenced this issue Jul 8, 2023
When provided, it prints garden.diagram() to stdout and quits.

Part of #19.
jkomoros added a commit that referenced this issue Jul 8, 2023
jkomoros added a commit that referenced this issue Jul 8, 2023
… to have arbitrary characters and otherwise it's confusing why it looks weird.

Part of #19.
jkomoros added a commit that referenced this issue Jul 8, 2023
This fixes the diagram issue where many links between seeds were missing.

Part of #19.
jkomoros added a commit that referenced this issue Jul 8, 2023
They don't show links between them yet.

Part of #19.
jkomoros added a commit that referenced this issue Jul 8, 2023
jkomoros added a commit that referenced this issue Jul 8, 2023
items ending with a number still don't work correctly.

Part of #19.
jkomoros added a commit that referenced this issue Jul 8, 2023
jkomoros added a commit that referenced this issue Jul 9, 2023
Previously this is why a number of edges in the diagram were missing, because the values were nested inside of array or object values.

Part of #19.
jkomoros added a commit that referenced this issue Jul 9, 2023
Seeds not in that packet will all be rendered as remote seeds.

Part of #19.
jkomoros added a commit that referenced this issue Jul 9, 2023
…m to a single packet.

Everything not in that packet will be treated like a remote seed in the diagram.

Part of #1. Part of #19.
jkomoros added a commit that referenced this issue Jul 9, 2023
jkomoros added a commit that referenced this issue Jul 9, 2023
jkomoros added a commit that referenced this issue Jul 9, 2023
jkomoros added a commit that referenced this issue Jul 9, 2023
jkomoros added a commit that referenced this issue Jul 10, 2023
jkomoros added a commit that referenced this issue Jul 10, 2023
If passed, and a packet is not loaded yet, will throw an error.

Part of #19.
jkomoros added a commit that referenced this issue Jul 10, 2023
jkomoros added a commit that referenced this issue Jul 10, 2023
…false, will not be rendered.

This fixes a weird diagram output where if private seeds are skipped, the direct children of public
seeds, even if they were private, would be rendered (but with a weird name) because their link is
included.

Part of #19.
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

No branches or pull requests

1 participant