GitXplorerGitXplorer
c

React-NodeGraphEditor

public
11 stars
1 forks
0 issues

Commits

List of commits on branch master.
Unverified
22348029a4edef81a99a523c04c63bc64aa7ad19

cchasse20 committed 6 years ago
Unverified
7da1185c43002c3f3f61ac2b06a8f0e6d635b991

cchasse20 committed 6 years ago
Unverified
f86b35c0b1ab9c8be756b2cecb48a3c8d0b42cbc

cchasse20 committed 6 years ago
Verified
e8769e35fc1ef277410eaaa0fabf78d1a8cf1ce1

Update README.md

cchasse20 committed 6 years ago
Verified
b371ebb9c9a6560a9fe3eaca17a723bfc86a21bc

Update README.md

cchasse20 committed 6 years ago
Verified
0e34d391d46c9458a18397ecbca937ea5900c7a7

Update README.md

cchasse20 committed 6 years ago

README

The README file for this repository.

React-NodeGraphEditor

Basic node graph editor created in React. Uses CSS Modules, MobX, JSDoc, and d3-force.

Live Demo

DESCRIPTION

With this tool you can import, edit and export a simple node graph.

This was originally designed to act as a foundation for a visual scripting tool similar to Twine. Underneath, its architecture is largely inspired by Unreal Engine's blueprint editor with the Node->Pin->Edge command pattern. This project has since been redirected and repurposed to visualize big data for the United States Army Operational Environment (specific source not included).

SCREENSHOTS

1 2 3

CORE FEATURES

  • Fully-functional editor that allows for complete node graph editing inspired by game visual scripting tools such as Twine and Unreal Engine's Blueprint
  • Import/Export in both custom GraphViz format and GraphJSON
  • Integration with D3 force layout for auto-placement and physics
  • Several graph options such as pan, zoom, grid toggle, grid snap, physics toggling
  • Creating, removing, dragging, individual and marquee selection of nodes
  • Node popup menu for deleting and linking of other nodes
  • Basic customization and toggling of node and edge types
  • All models are documented in JSDOC format. Use npm run doc to generate.
  • Setup to be exported by external packages using npm run build:node which allows for imports with import X from "graphviz/lib/Y"