Nodable is node-able arrw up

The goal of Nodable is to provide an original source code editor using both textual and nodal paradigms. Via this hybrid prototype, technical and less-technical people can discuss and collaborate on the same source code.

Unlike other nodal softwares, the goal of Nodable is to make possible the edition of the source code and its graph representation at the same time. Users are not stuck into one of the two paradigms, they can go back and forth whenever they want.

Code and graph illustration

⚠️ Disclaimer: This software is a prototype, do not expect too much from it.

How it works? arrow up

Nodable is able to generate a graph from a source code and a code from a graph.

Code and Graph

💡 Any changes to the code will update the graph.

If we substitute +10 by -7 from the code above, Nodable will update the graph accordingly.

Modifying the Code

💡 Any changes to the graph will update the code.

If we change the node 7 by 2.5, connect it to a divide (/) operator with the node 5 and remove the multiply (*) operator from the graph above, Nodable will update the code accordingly.

Modifying the graph

Of course there is only one source of truth at a time, this depends on the side of the editor you are working on: text or graph.

When it comes to save your work, the graph is lost and the source code is saved.

Downloads arrow up

Click on the link and follow the instructions (pick the first if you are hesitating).

Screenshots arrow up

Roadmap arrow up

The development of this prototype has no clear roadmap.

I do not plan to:

  • Handle more than one language,
  • Make a performant VM
  • Make it a production tool

That being said, I might do the following (unordered list):

  • Handle more structures: while, do while,
  • Handle more keywords: return, break, continue, etc.,
  • Improve user experience from a graph perspective,
  • Handle function definitions,
  • Find a deterministic way to unfold the graph (to use less CPU),
  • Optimize the Graph (memory allocation),
  • Reduce unnecessary complexity (getter/setters, inheritance),
  • Continue to run benchmarks to speed-up the software,
  • Add a WASM build target to run Nodable in a browser.

Story arrow up

3D Artist for almost 10 years, I was used to work using Maya (a 3D software built with the nodal paradigm in mind) and I knew the potential of such programs for artists.

Later, when I finished my reconversion from 3D Art to Development, I had the chance to meet talented people working in the video game industry (at WildSheepStudio, Montpellier, FR), one of them was producing VFX using a nodal GUI. I heard comments from programmers about it, something like: "working with nodes takes too much time and produces an incomprehensible graph, it is way more efficient to write a program".

Programmers point of view makes sense, but if graphs are the only way for certain to create a program, that makes sense too.

From all that poped an idea: why nodes and code cannot work together? What if programmers and technical artists could see the same program from two different angle?

I started to work on the first version of Nodable in 2017.

BTW, I had tons of conversation with a colleague about it. He was telling me: "ça va faire un joli sapin de noël lumineux!" (this will be a pretty bright Christmas tree!)

More arrow up

If you are interested to know more about this project (how it's been made, what's the history) I suggest you to read the few blog articles I wrote about it, or watch my video presentations.

Thanks for your interest,