https://news.ycombinator.com/user?id=simonsarris
which says:
I make GoJS, a powerful canvas-based diagramming library:
Which is not what I think of a graphing (time series, x-y points joined by lines), but otherwise seems relevant to their comment.
Most of us who make such libraries tend to distinguish charting (time series, lines, bars) from graphing (nodes and links). Charting is, in many aspects, a much smaller problem space. Graphing requires a lot more in terms of layouts and interaction tools, grid snapping, guides, undo/redo, copy/paste, grouping, subgraphs, managing user permissions for interactivity, expand/collapse (both subgraphs and tree sections), updating the backing data when the graph is edited, etc.
Then JGo (Java), GoDiagram (C#, WinForms and now Avalonia), GoXam (XAML/WPF C#), and GoJS.
I began GoJS as a greenfield project starting in 2010-2011 as a new grad by working with these guys who had been thinking about diagrams for years. So it had the advantage of being built from scratch (and using the brand new HTML Canvas surface) but with all the accumulated experience of their wisdom at hand any time there were design questions. In some sense I got really lucky to work on such a "brand new, but charted path" project. Not many new grads get that kind of experience...
When we released GoJS I was unsure if anyone would actually pay for JavaScript library. There weren't too many I could find in the space that weren't free (Sencha was one I found while doing research, and funny enough they tried to recruit me, flew me out to CA after I wrote a book about canvas circa 2013). But the problem space really truly is large, and you can save a year or more of development time by buying such a library, so the calculus is very worth it for many companies. Like so many people, what we sell is time, and having thought hard about these problems for so long, from layouts to really mundane undo/redo transactional stuff.
This is a key component for any good low/no code platform, process builders, workflow builders , process documentation and so on. And that is just one area.
It makes tons of sense to buy/use a library like this rather than build your own (unless that is your business). We use one from antd. Antiquated and hard to automate testing. We are looking for a more modern solution.
How compatible is GoJS with web testing tools? Most seem to have trouble with canvas.
But you have to inspect programmatically one way or another. What is easiest really depends on what, exactly, you want to test. Eg testing your permissions (can a user copy a node with these checkboxes in my app selected) can be done by trying to copy and seeing how many Parts exist before and after, etc.
Layered Digraph is by far the slowest layout. In general as you get past ~5k nodes you should consider all of https://gojs.net/latest/intro/performance.html
we have some niche performance examples like this (WARNING slightly epileptic) https://gojs.net/extras/10000parts.html, but most of those are for internal testing and not too useful for customers.