GitXplorerGitXplorer
c

React-NodeGraphEditor

public
11 stars
1 forks
0 issues

Commits

List of commits on branch master.
Unverified
f71c7b6bef8a3f7aacf7c7c1a8512ccb283be4ac

cchasse20 committed 5 years ago
Unverified
8315a1404156ccef412d2e4b3aa96155cd8a81bb

cchasse20 committed 5 years ago
Unverified
e48fd0151aa7c2aa038c31ba729faedb72894177

cchasse20 committed 5 years ago
Unverified
bcf29c77d897de3332672f34997e401ee4e4a346

cchasse20 committed 5 years ago
Unverified
5482bd758138bc58e6c80ead75df2831075cda3e

cchasse20 committed 6 years ago
Unverified
54944c6d26caec88596576c136ffd284167e1eb4

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"