jagenjo / litegraph.js

A graph node engine and editor written in Javascript similar to PD or UDK Blueprints, comes with its own editor in HTML5 Canvas2D. The engine can run client side or server side using Node. It allows to export graphs as JSONs to be included in applications independently.
MIT License
6.85k stars 719 forks source link

Move litegraph editor into separate repo #8

Closed kriffe closed 6 years ago

kriffe commented 6 years ago

Would it be possible to move the litegraph editor example into a separate repo? Feels like it could be separated for better modularisation

kriffe commented 6 years ago

Is the litegraph editor used in the webglstudio (or other apps) or is a new editor always created ontop of the original litegraph.js?

jagenjo commented 6 years ago

you are right, the editor was never finished (the one in webglstudio is done on top of GraphCanvas, so I would consider moving it to another repo.

The only problem is that is the one used in the demo of litegraph

kriffe commented 6 years ago

Perhaps it should be the entire demo app that should be moved into another repo?

kriffe commented 6 years ago

Another thought: Could the Webglstudio editor be moved into its own repo and used inside the demo? Or is it depending on backend functionality (GraphCanvas looks like phyton?)?

jagenjo commented 6 years ago

The problem is that the webglstudio graph editor uses other libraries too, but maybe it could be possible to make its own repo with all the libraries so people can embed easily the full editor.

GraphCanvas is the class inside litegraph in charge of rendering the graph inside a canvas

kriffe commented 6 years ago

Ah I understand. I think i would be really powerful to use that editor functionallity externally.

It looks like it has a own folder in the webglstudio project. Or is it the entire studio that is denoted as Editor?

Perhaps a first step could be to move everything into a single folder in the webglstudio project? Is it perhaps the graphWidget that is the entry point for the graph editor (editor/js/widgets/ui/graphWidget.js) ?

Direct Imports in html files in editor (graphWidget missing?)

editor/js/extra/litegl.js
editor/js/extra/litegraph.js
editor/js/extra/litescene.js
editor/js/extra/litefileserver.js
editor/js/extra/gl-matrix-min.js
editor/js/extra/Canvas2DtoWebGL.js
editor/js/extra/jscolor/jscolor.js
editor/js/extra/jquery-2.1.1.min.js
editor/js/extra/jquery-ui-1.10.4.min.js
editor/js/extra/canvas-to-blob.js
editor/js/extra/litegui.js
editor/js/utils/utils.js
editor/js/core.js

Imports from import.json

"js/extra/gl-matrix-min.js",
"js/extra/litegl.js",
"js/extra/litegraph.js",
"js/extra/litescene.js",
"js/extra/litefileserver.js",
"js/extra/Canvas2DtoWebGL.js",
"js/modules/interface.js",
"js/widgets/layoutViewport.js",
"js/modules/render.js",
"js/modules/editor.js",
"js/modules/actions.js",
"js/modules/editorView.js",
"js/modules/sceneStorage.js",
"js/modules/selection.js",
"js/modules/tools.js",
"js/widgets/canvas/canvasManager.js",
"js/widgets/canvas/canvasElement.js",
"js/widgets/canvas/texturePreview.js",
"js/widgets/canvas/cameraPreview.js",
"js/tools/camera.js",
"js/tools/move.js",
"js/tools/rotate.js",
"js/tools/scale.js",
"js/tools/select.js",
"js/tools/manipulate.js",
"js/tools/parenting.js",
"js/tools/addPoints.js",
"js/tools/testCollisions.js",
"js/tools/colorPicker.js",
"js/tools/generic.js",
"js/widgets/ui/sceneTree.js",
"js/widgets/ui/timeline.js",
"js/widgets/ui/resourcesPanel.js",
"js/widgets/ui/inspectorWidget.js",
"js/widgets/ui/graphWidget.js",
"js/widgets/ui/codingPad.js",
"js/widgets/ui/codingTabsWidget.js",
"js/widgets/ui/profilingWidget.js",
"js/widgets/ui/textureAreasWidget.js",
"js/widgets/ui/genericTabs.js",
"js/widgets/ui/collaborateWidget.js",
"js/widgets/ui/consoleWidget.js",
"js/modules/intro.js",
"js/modules/cameraTools.js",
"js/modules/notify.js",
"js/modules/preferences.js",
"js/modules/drive.js",
"js/modules/play.js",
"js/modules/login.js",
"js/modules/componentEditors.js",
"js/modules/materialEditors.js",
"js/modules/cubemapTools.js",
"js/modules/lfsbridge.js",
"js/modules/localFilesBridge.js",
"js/modules/importer.js",
"js/modules/projectImporter.js",
"js/modules/plugins.js",
"js/modules/fpsCounter.js",
"js/widgets/canvas/cameraGizmo.js",
"js/modules/coding.js",
"js/modules/collaborate.js",
"js/modules/graph.js",
"js/modules/quickbar.js",
"js/modules/packTools.js",
"js/modules/generic.js",
"js/modules/lab.js",
"js/modules/profiling.js",
"js/modules/meshPainter.js",
"js/modules/meshTools.js",
"js/modules/textureTools.js",
"js/modules/export.js",
"js/modules/lightmaps.js",
"js/modules/animation.js",
"js/modules/undo.js",
"js/modules/actors.js",
"js/modules/annotation.js",
"js/modules/about.js"
kriffe commented 6 years ago

Realised that most editor functionalities already is bundled inside the Litegraph project (even without the Editor demo).