1.0.0 • Published 5 years ago

dynamic-graph v1.0.0

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

dynamic-graph

This will become a dynamic multilevel graph visualization for the browser.

A graph is a set of vertices and edges.

A graph visualization is a picture of a graph, as opposed to a mathematical or computer science representation.

A dynamic graph visualization adjusts the picture as vertices and edges are added and removed in real time.

dynamic-graph aims to be a web component encapsulating a dynamic multilevel force directed graph visualization, as described in this paper, but aimed at the browser, for easier dissemination.

This project is under active development (once again) as of November 2019. There's nothing to look at yet, but at least the tests are running.

Development

This project is under active development. See the wiki for details, if you're interested in playing with this. A good place to start is reading the paper, and spending a quick minute looking at the class diagram. You can also run the tests using npm run-script build-test to get an idea of what's supposed to work and what's not. But a way nicer way of doing it in Visual Studio Code is to install the Mocha Sidebar.

Change Log

2019-11-11

  • toJSON works now. No more extra or missing commas.
  • Will have to revisit the layout. It doesn't change after being run once...

2019-11-10

  • added and exposed .toJSON(bool recursive) to LayoutGraph

2019-11-09

  • Builds and passes 21 tests.
  • Working on a web component
    • On an installed dev environment:
      • requires sudo because port 443, be sure to run ./scripts/server/ssl/gen-key to generate a key pair for ssl, which might require an additional installation of openssl, not sure right now.
      • npm run-script web
      • npm run-script serve

2019-11-03

  • Ha! An actual test runner... the Mocha Sidebar!
  • I installed a new version of webpack, the error messages were helpful in getting the project to build again, but I haven't tested them yet, as I don't have the frontend code ready yet.
  • I now have 13 unit tests. The layout engine works if you use pass 0 for the level. The recursive multilevel implementation isn't there yet, but this is enough to focus on getting something into the UI again.
  • Most of the tests pass (but that's probably because I keep writing them one bug fix at a time...)
  • Made a class diagram. The C++ access modifiers are kinda sloppy still, but the whole C++ is just for the calculation. I'll clean that up once I get it working.

2019-11-02

  • added a single passing test.
  • added a saner build script: it is now possible to build this project using the commands
    • npm install
    • npm run-script build I decided against using a post hook install script after reading this.
  • Added a small development server, tested on CentOS 8. This requires sudo privileges, because https is required for web asembly.
    • npm run-script serve, or
    • sudo ./scripts/server/serve
  • Hunted for a script to generate a self signed certificate that Firefox will accept.

2019-11-01

  • Removed libraries marked via npm audit
  • Touched up this readme