All Projects → Nicolas-Constanty → Dnai.Editor

Nicolas-Constanty / Dnai.Editor

Licence: other
Dnai Editor - Visual Scripting (Node Editor)

Programming Languages

C++
36643 projects - #6 most used programming language
QML
638 projects
c
50402 projects - #5 most used programming language
shell
77523 projects
QMake
1090 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to Dnai.Editor

Rete
JavaScript framework for visual programming and creating node editor
Stars: ✭ 7,156 (+6016.24%)
Mutual labels:  graph-editor, dataflow-programming, node-editor
act
ACT hardware description language and core tools.
Stars: ✭ 53 (-54.7%)
Mutual labels:  dataflow, dataflow-programming
Drawflow
Simple flow library 🖥️🖱️
Stars: ✭ 730 (+523.93%)
Mutual labels:  dataflow, dataflow-programming
dspatch
The Refreshingly Simple Cross-Platform C++ Dataflow / Pipelining / Stream Processing / Reactive Programming Framework
Stars: ✭ 124 (+5.98%)
Mutual labels:  dataflow, dataflow-programming
DFiant
DFiant: A Dataflow Hardware Descripition Language
Stars: ✭ 21 (-82.05%)
Mutual labels:  dataflow, dataflow-programming
flowd
An inter-language runtime for flow-based programming (FBP)
Stars: ✭ 18 (-84.62%)
Mutual labels:  dataflow, dataflow-programming
Nipype
Workflows and interfaces for neuroimaging packages
Stars: ✭ 557 (+376.07%)
Mutual labels:  dataflow, dataflow-programming
Raftlib
The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators
Stars: ✭ 717 (+512.82%)
Mutual labels:  dataflow, dataflow-programming
Chigraph
A visual systems language for beginners compiled using LLVM
Stars: ✭ 247 (+111.11%)
Mutual labels:  dataflow, dataflow-programming
Event Gateway
React to any event with serverless functions across clouds
Stars: ✭ 1,604 (+1270.94%)
Mutual labels:  dataflow
Pyt
A Static Analysis Tool for Detecting Security Vulnerabilities in Python Web Applications
Stars: ✭ 2,061 (+1661.54%)
Mutual labels:  dataflow
Dampr
Python Data Processing library
Stars: ✭ 102 (-12.82%)
Mutual labels:  dataflow
Flowbase
A Flow-based Programming inspired micro-framework / un-framework for Go (Golang)
Stars: ✭ 129 (+10.26%)
Mutual labels:  dataflow
Scio
A Scala API for Apache Beam and Google Cloud Dataflow.
Stars: ✭ 2,247 (+1820.51%)
Mutual labels:  dataflow
Chamber
🔮 Simplifies sharing fields and communication between Android components with custom scopes that are lifecycle aware.
Stars: ✭ 106 (-9.4%)
Mutual labels:  dataflow
Pythonflow
🐍 Dataflow programming for python.
Stars: ✭ 215 (+83.76%)
Mutual labels:  dataflow
Derivatives
🌱 Your companion to create derived values from a single source (atom)
Stars: ✭ 101 (-13.68%)
Mutual labels:  dataflow
Gcp Variant Transforms
GCP Variant Transforms
Stars: ✭ 100 (-14.53%)
Mutual labels:  dataflow
Pothoscore
The Pothos data-flow framework
Stars: ✭ 232 (+98.29%)
Mutual labels:  dataflow
Microflo
Live dataflow programming for microcontrollers and embedded
Stars: ✭ 207 (+76.92%)
Mutual labels:  dataflow

Main view screenshot


Build status Build Status Build Circle Ci CodeFactor Codacy Badge

Dnai Editor is a visual scripting software that allow you to code with node editing. This editor allow to create ".dnai" files that you can share on our hub. Those ".dnai" are binary files, that can be read by our plugins.

For now we already have a Unity3D plugin, that you can find here. We are currently working on JavaScript library in order to read dnai in JS application.

The Concept

Our main goal is to provide a way to share "logics" over different solutions :

IMAGE ALT TEXT

IMAGE ALT TEXT

Main view screenshot

You can download it for Windows, and macOS on Dnai website.

Exemple of basic case

A self-driving car can be usefull in real life but such AI are also really nice for video games. In a very basic case, a car could use two distance sensors in order to avoid obstacle, one the left and one the right. The "logic" behind could be define as follow :

  • if leftSensorDistance < minDistance && rightSensorDistance < minDistance then stop the car.
  • if leftSensorDistance < minDistance then turn right.
  • if rightSensorDistance < minDistance then turn left.

If we extract the logic behind the avoidance, we can see that in video games we use a RayCast instead of distance sensor as input for leftSensorDistance and rightSensorDistance. As we can see the logic behind remain the same whether you are in real life or in a video game.

The idea here, is to bring an interface that can handle such case, for that we use our ".dnai" file created by our editor. Notice that for now we only have a Unity3D plugin so can test it only on Unity at this point. In the futur we want to bring JavaScript and Python capability in order to add more compatibity and interest for our solution.

Installation

If you want to test our editor you can get if from our website https://dnai.io/download.

You just need to follow the installation instructions, we maintain a Windows 10 and MacOs deploiement.

Compilation

You can compile the software using Qt >= 5.10.1, but you will need our "Core" library to run it properly.

Build the server

  • Get the repository content
git clone https://github.com/Nicolas-Constanty/Dnai.Editor.git
git submodule update --init --recursive
  • Open Dnai.Editor/Server/Server.pro with qt creator
  • Build->Run qmake
  • Build->Build All

Build the editor

  • Open Dnai.Editor/Gui/DNAI.pro with qt creator (Qt >= 5.10.1)
  • Build->Run qmake
  • Go to Projects->Build->Add Build step->Make
  • add "install" to the make argument

Main view screenshot

  • Build->Build All

Install dependencies

  • Our Core library sources remain private until it become more mature, so you can get it here.
  • Put binary files of the Server inside [YOUR BUILD DNAI FOLDER]/app you can find your build directory in the "Projects" tab on the left
  • Put binary files of the Core inside [YOUR BUILD DNAI FOLDER]/app/Core
  • Press Run on Qt

Documentation

We need to improve our actual documentation, but for now you can find a doxygen here.

Authors

Adrien Wery - Website API and Dnai.Editor (github)

Fernand Veyrier - Dnai.Core (virtual machine for compilation) and Unity3D Plugin (github)

Nicolas Constanty - Dnai.Editor and Website design (github)

Quentin Gasparoto - Dnai.Core (virtual machine for compilation) and Dnai.Editor (github)

Victor Gouet - Dnai.Server, Deploiement Windows/Mac and Dnai.Editor (github)

See also the list of contributors who participated in this project.

License

Licensed under the (L)GPL v2/3 License, with Qt Open source licence.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].