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

Port d3-graphviz to hpcc-js-wasm #111

Closed
magjac opened this issue Jun 15, 2019 · 8 comments
Closed

Port d3-graphviz to hpcc-js-wasm #111

magjac opened this issue Jun 15, 2019 · 8 comments
Assignees

Comments

@magjac
Copy link
Owner

magjac commented Jun 15, 2019

Since viz.js has been archived, https://github.com/hpcc-systems/hpcc-js-wasm might be alternative. See also https://observablehq.com/@gordonsmith/graphviz-wasm-example.

@GordonSmith
Copy link
Contributor

GordonSmith commented Jan 7, 2020

@magjac FYI, I just bumped hpcc-js-wasm versions to:

  • Graphviz: v2.42.2
  • Emscripten: v1.5

@magjac
Copy link
Owner Author

magjac commented Jan 7, 2020

Thanks @GordonSmith 🙂, that encourages me to get going with this issue 😅 💪.

@innerop
Copy link

innerop commented Feb 21, 2020

Hey @magjac

I love that you did this. It's awesome.

I'm working on this Graph Player concept (see v0.1 demo here: https://www.youtube.com/watch?v=kEUxpj2tIC8)

I found a glitch that I managed to work around and some asm.js warning that I can't work around. The glitch was that removing the graph from the dom and initializing another instance/new dom node, I was somehow getting a scaled down version of the graph without the edges in the upper left corner then it scales to fit viewbox and gets the edges (fit() is set to true in my case as I like the effect) So I set display to none on the Graphviz generated svg for 300ms to hide that on "renderEnd" then I set it display to block, and it works fine.

My point is that I don't think I can keep on working around bugs as I run into them and it would be nice to work with an actively maintained project, I can see that the roadblock is this issue: we have to move to an actively maintained version of Graphviz (or compile Graphviz to WASM on our own) in order to have the latest Graphviz which would then justify adding new features and these minor fixes.

I'm not sure a bug with a workaround is worth fixing for now. If and when this project can move forward with a non-archived version of Graphviz WASM then it'll certainly make sense to keep on polishing it and adding new features.

My long winded question is: how can I help? I know very little about Graphviz but I know enough about D3, and of course I'm comfortable in JS land.

Let me know. Thanks!

@magjac
Copy link
Owner Author

magjac commented Feb 21, 2020

Hey @innerop

Thanks you so much for the kind words 😊.

I'm planning to take a first stab on this issue this weekend (I have to code for money during office hours 😩). I have no experience with WASM so thank you for volunteering to help. I might utilize it.

I'm very interested to know more about your application and the problems you've found, but let's not pollute this issue with such discussions. Lets connect on the d3-graphviz Slack.

@GordonSmith
Copy link
Contributor

I made a quick first attempt (it builds) here: #122 but ran out of time before I could get the test environment up and running...

@magjac
Copy link
Owner Author

magjac commented Feb 21, 2020

I've created a d3-graphviz Gitter room if you prefer that.

@innerop
Copy link

innerop commented Feb 22, 2020

I will join the Gitter room Monday or before then if I can sneak in some time on the weekend @magjac

Thank you so much! Sorry for the delay in responding.

@magjac
Copy link
Owner Author

magjac commented Mar 3, 2020

The port has been completed with 5d5942e

@magjac magjac closed this as completed Mar 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants