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

Overview

Nodable is node-able !

Introduction:

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

In Nodable, textual and nodal point of views 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.

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
    • Linux: install sdl2 and mesa (sudo apt-get install libsdl2 libegl1-mesa)
    • MacOS: install sdl2 (brew install sdl2)

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

Download:

Download binaries from Releases section.

How to compile Nodable from sources ?

Requirements:

  • Build system:
    • CMake 3.14+
    • A C++11 compatible build system
  • Libraries
    • Linux: install sdl2 and mesa (sudo apt-get install libsdl2 libegl1-mesa)
    • MacOS: install sdl2 (brew install sdl2)

Clone the Nodable repository (with submodules):

git clone --branch v0.8.2 https://github.com/berdal84/Nodable.git --recurse-submodules

Configure and run the build:

From nodable base directory type the following command to configure a new ./build directory from sources in current current directory:

cmake . -B build

Then cmake must have created the ./build folder. We can now build the program from this configured folder.

Enter the following command to ask cmake to build from ./build directory using a Release configuration.

cmake --build build --config Release --target install

Note: --target install is to create a clean ./bin/Release directory with only necessary files to run the software.

Once build succeed, move to install folder and run ./nodable:

cd bin && ./nodable

Licence:

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

Each submodule are licensed, browse /extern folder.

Credits :

Nodable is developped by @berdal84

Comments
  • Icon Font should be monospace to get a better text alignment in menus

    Icon Font should be monospace to get a better text alignment in menus

    The red line should be straight:

    image

    Omar tip: “Dans ImFontConfig tu peux utiliser MinAdvanceX pour rendre ta fonte d’icone monospace pour aligner les elements facilement dans le menu”.

    feature 
    opened by berdal84 1
  • Handle when user connect different types (forbid, ask to cast, ask to change type)

    Handle when user connect different types (forbid, ask to cast, ask to change type)

    • Forbid to connect an input already connected.
    • Forbid to link different types except if target exists with this type.
    • right click on a connector open a contextmenu (delete wire, delete wire and connected nodes)
    opened by berdal84 0
  • new

    new "Result" manually

    Adding a new "Result" manually when cursor is not selecting (just blinking on a single line) cause serialization in loop, adding the same serialized text forever...

    opened by berdal84 0
  • Parser: parse two or more instructions

    Parser: parse two or more instructions

    Parse the as simple as possible two instructions code. For example:

    a = 10;
    b = 2 * a;
    // optional:
    c = 1 / b;
    

    works for single line multi instructions:

    image

    feature done (in next release) 
    opened by berdal84 0
  • Isolate mode

    Isolate mode

    • Is it possible to isolate the selected text while keeping the graph and locking/transparentize unwanted nodes?

    ex: int two = 2; int twenty = two * 10;

    I select: int two = 2; int twenty = tw[o * 1]0;

    o * 1

    The issue is variable name changes ("two" => "o") and cannot be connected to the existing graph. "1" could replace the value of "10" in a literal node, but again it makes no sense to connect it to the existing graph.

    opened by berdal84 0
Releases(v0.9.6)
Open-source graph editor, with built-it step-by-step Dijkstra's Algorithm.

Visual Dijkstra - Simple visual graph editor, with built-in step-by-step Dijkstra's algorithm Visual Dijkstra is a free and open-source tool, designed

Samuele Girgenti 31 Oct 10, 2022
Graphs the progress of block height in your Chia Full Node.

Chia Height Graph Monitor for Chia Block Height Introduction The chiaheightgraph tool will graph Chia Block Height changes in a linux terminal. Use a

Bram Stolk 9 Sep 14, 2021
📝 Performant plain text editor for iOS with syntax highlighting, line numbers, invisible characters and much more.

?? Welcome to Runestone - a performant plain text editor for iOS with code editing features Runestone uses GitHub's Tree-sitter to parse code to a syn

Simon Støvring 2.1k Dec 31, 2022
Flexible level editor

Tiled Map Editor - https://www.mapeditor.org/ About Tiled Tiled is a general purpose tile map editor for all tile-based games, such as RPGs, platforme

mapeditor.org 9.3k Dec 31, 2022
Redacted source code for exercises proposed in the Data Structures and Algorithms laboratory.

fsega_ie2_dsa Redacted source code for exercises proposed in the Data Structures and Algorithms laboratory. Usage The src/ directory contains a direct

Cezar Mathe 1 Dec 5, 2021
Source code of the paper "Lord of the Ring(s): Side Channel Attacks on the CPU On-Chip Ring Interconnect Are Practical"

Overview This repository contains the source code to reproduce the experiments of the paper: Lord of the Ring(s): Side Channel Attacks on the CPU On-C

null 129 Oct 16, 2022
Algo-Tree is a collection of Algorithms and data structures which are fundamentals to efficient code and good software design

Algo-Tree is a collection of Algorithms and data structures which are fundamentals to efficient code and good software design. Creating and designing excellent algorithms is required for being an exemplary programmer. It contains solutions in various languages such as C++, Python and Java.

DSC-Banasthali 53 Oct 4, 2022
Rajesh Kumar Sah 1 Nov 20, 2021
An open source initiative for implementing and testing algorithms in various programming languages.

Algorithms An open source initiative for implementing and testing algorithms in various programming languages. Contributing The idea here is to learn

Manipal's open source academic portal. 1 Nov 28, 2021
This repository contains the Assignment code of Data Structures and Algorithms Assignments of SPPU, Second Year IT Syllabus (2019 pattern)

DSAL This repository contains the Assignment code of Data Structures and Algorithms Assignments of SPPU, Second Year IT Syllabus (2019 pattern) Assign

Mujeeb Khan 2 Dec 11, 2022
libsrt is a C library for writing fast and safe C code, faster.

libsrt is a C library for writing fast and safe C code, faster. It provides string, vector, bit set, set, map, hash set, and hash map handling. Suitable for soft and hard real-time. Allows both heap and stack allocation. *BETA* (API still can change: suggestions are welcome)

null 517 Dec 24, 2022
C++ DataFrame for statistical, Financial, and ML analysis -- in modern C++ using native types, continuous memory storage, and no pointers are involved

C++ DataFrame for statistical, Financial, and ML analysis -- in modern C++ using native types, continuous memory storage, and no pointers are involved

Hossein Moein 1.7k Jan 9, 2023
A simple single header 64 and 32 bit hash function using only add, sub, ror, and xor.

K-HASH A simple single header 64 bit hash function using only add, sub, ror, and xor. This a just general-purpose hash function for like making hash m

null 70 Dec 27, 2022
A 3GPP R16 compliant open source 5G core UPF (User Plane Function).

OpenUPF A 3GPP R16 compliant open source UPF. The OpenUPF is an open source project for 5th generation (5G) mobile core networks User Plane Function.

openupf 74 Dec 16, 2022
An open source library for C

Eric O Meehan C Library Introduction Eric O Meehan's C Library is an open source collection of tools for the C programming language. The project is in

Eric O Meehan 115 Dec 11, 2022
FleakOS Kernel Source Tree

FleakOS FleakOS Kernel Source Tree Dependencies sudo apt-get install -y xorriso sudo apt-get install -y gcc-multilib sudo apt-get install -y nasm sudo

FleakOS 30 Dec 21, 2022
This project Orchid-Fst implements a fast text string dictionary search data structure: Finite state transducer (short for FST) in c++ language.This FST C++ open source project has much significant advantages.

Orchid-Fst 1. Project Overview This project Orchid-Fst implements a fast text string dictionary search data structure: Finite state transducer , which

Bin Ding 10 Oct 18, 2022
The open source edition of Raising the Bar: Redux's Division 1.2 release.

//===================================================================================================================================================

null 23 Jul 18, 2022