nodable icon indicating copy to clipboard operation
nodable copied to clipboard

Nodable is node-able. The goal of Nodable is to provide an original hybrid source code editor, using both textual and nodal paradigms.

Nodable is node-able !

Introduction:

The goal of Nodable is to provide an original hybrid source code editor, using both textual and nodal paradigms.

In Nodable, the textual and nodal points of view are strongly linked, in both ways:

  • A change to the source code will update the graph.
  • A change to the graph will update the source code.

nodable-01

nodable-02

More information about this project on my website.

How to try ?:

Prerequisites:

Hardware:

  • a 64 bits architecture

Software:

  • Operating Systems:
    • Windows (tested under Windows 10)
    • Linux (tested under Ubuntu 20.04)
    • MacOS 10.9+ (tested under Ubuntu 10.13)
  • Libraries
    • Require OpenGL which is usually preinstalled under macOS and Windows, under Linux install mesa (ex. for Ubuntu: sudo apt-get install libegl1-mesa)

Disclaimer: Nodable is a prototype, do not expect too much from it.

Download:

Download binaries from Releases section.

How to compile?

Requirements:

  • Build system:
    • CMake 3.14+
    • A C++11 compatible build system
  • Libraries
    • Require OpenGL which is usually preinstalled under macOS and Windows, under Linux install mesa (ex. for Ubuntu: sudo apt-get install libegl1-mesa)

Below, are all the commands to clone, configure, and build nodable from sources.

git clone --branch v0.9 https://github.com/berdal84/Nodable.git --recurse-submodules
cd Nodable
cmake . -B cmake-build-there
cmake --build cmake-build-there --config Release --target install

Once all commands are succeeded you must see a new folder out containing a folder app, inside there is all you need to run Nodable. On Windows execute: nodable.exe, on Linux and macOS run ./nodable. (On Linux you might have to add an execution flag to the file: chmod +x ./nodable

Few details about the commands above:

  • --recurse-submodules is important when cloning since nodable needs other git repositories to be built.
  • --branch v<major>.<minor>.<patch> is to target a specific tag, it is recommended to get a stable version. You can try a more recent if you wish.
  • --target install is to create a clean out/app directory with only the necessary files to run the software.

Licence:

Nodable is licensed under the GPL License, see LICENSE.txt for more information.

Each submodule is licensed, browse libs/ folder.

Credits :

Nodable is developped by @berdal84

Libraries

Library Author(s)
Dear ImGui Omar Cornut
IconFontCppHeaders Juliette Foucaut and Doug Binks
ImGuiColorTextEdit BalazsJako
LodePNG Lode Vandevenne
Native file dialog extended Bernard Teo, Michael Labbe and other
Observe Lars Melchior
RTTR* Axel Menzel
SDL2 cf. website
Where am I? Gregory Pakosz
gl3w cf. website
googletest Google
gulrak/filesystem Steffen Schümann

*: Even if I do not depend on it yet, I must cite RTTR since I am taking a lot of ideas from it to use in the future without requiring too many changes.

Resources

Name Author(s)
JetBrains Mono Jetbrains