egraphs-good / egglog

egraphs + datalog!
https://egraphs-good.github.io/egglog/
MIT License
458 stars 54 forks source link

Egglog viz cut off without indication #460

Open oflatt opened 2 weeks ago

oflatt commented 2 weeks ago

The egglog visualization in the demo fails to show the whole egraph, and doesn't give you any indication that it dropped some nodes. Child nodes that were dropped are shown as ellipsis which is good but it still doesn't let you know that it's not the entire egraph.

As a side-node, I would love an input that lets you configure the node cutoff

saulshanabrook commented 2 weeks ago

What if we just removed the node cutoff for the egglog visualizer on the website? i.e. show all nodes.

Hopefully the new visualizer can work with some of the larger graphs, and if it stumbles, I would be down to try to add the functionality there to make it manageable instead of at serialization time.

Do you have an example you encountered this on so we could try what it looks like unfiltered?

oflatt commented 1 week ago

I think d3 falls over easily after a few thousand nodes, so we should still have a cutoff. Eggcc runs produce enormous egraphs, here's the ackerman.egg benchmark file test.txt

saulshanabrook commented 1 week ago

Thanks for the example... I might have a go at at least exploring how feasible it would be to load all of this at once in the new visualizer, even if not all of it rendered at once.... Like some way to allow iterative exploration that starts with it in some collapsed form and lets you click around to expand things?

oflatt commented 1 week ago

I'd love that, it's exactly what I had in mind for your visualizer!