While I don’t have the time to try this at the moment, it would be interesting to see a Cytoscape.js example done using SWI-Prolog WASM.
Think of Cytoscape.js as interactive GraphViz where you can move the nodes around in the browser.
The last Cytoscape.js example created using SWI-Prolog I posted is here.