Skip to content

Move visualisation functionality to mermaid #34

@b-rodrigues

Description

@b-rodrigues

Visualization
DAG visualizations greatly improve the user experience, but they are also a Pandora's Box of scope creep. rixpress already supports 3 backends for graphs: visNetwork, ggdag, and GraphViz (DOT; for CI). And each one is a magnet for feature requests.

To simplify the visualization feature set, what about using mermaid.js instead of ggdag or GraphViz? Mermaid graphs are just text, and they are very easy to generate without any additional R packages. For CI, you could use https://github.com/AlexanderGrooff/mermaid-ascii, which I think would produce graphs that are more readable and visually appealing than GraphViz can render (e.g. https://github.com/b-rodrigues/rixpress_demos/actions/runs/16252270236/job/45883546684#step:9:11).

visNetwork might only be necessary if you expect enormous pipelines whose graphs can only be explored interactively. If you do decide to keep rixpress::rxp_visnetwork(), I suggest keeping the feature set simple and tightly scoped. (Maybe it would also be a good idea to disable physics to improve rendering performance for large graphs.) visNetwork is great at zooming in and out of graphs of pretty much any size, but from experience developing targets::tar_visnetwork(), I have found it does not excel at creating nice-looking polished graphs. I think mermaid.js is much better at feature-rich pretty graphs.

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