An open API service indexing awesome lists of open source software.

https://github.com/selenite-geos/graph-editor

A graph editor for visual programming.
https://github.com/selenite-geos/graph-editor

node-editor selenite svelte svelte5 visual-programming

Last synced: 5 months ago
JSON representation

A graph editor for visual programming.

Awesome Lists containing this project

README

          

# Graph editor

A graph editor for visual programming, based on rete and svelte.

## Developing

Once you've installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:

```bash
pnpm run dev

# or start the server and open the app in a new browser tab
pnpm run dev -- --open
```

Everything inside `src/lib` is part of your library, everything inside `src/routes` can be used as a showcase or preview app.

## Building

To build your library:

```bash
pnpm run package
```

To create a production version of your showcase app:

```bash
pnpm run build
```

You can preview the production build with `pnpm preview`.

## Publishing

Go into the `package.json` and give your package the desired name through the `"name"` option. Also consider adding a `"license"` field and point it to a `LICENSE` file which you can create from a template (one popular option is the [MIT license](https://opensource.org/license/mit/)).

To publish your library to [npm](https://www.npmjs.com):

```bash
pnpm publish
```

## TODO
- FIX ARRAY EDIT
- Add input values to history
- Add array description on hover
- Support scientific writing of numbers (e.g. 1e-3)
- Code integration : To code : Update existing named XML elements instead of duplicating ? Maybe
- Make history undo / redo use factory.bulkOperation
- Add index to Context Menu items
- Add auto connection
- Add magnetic connection
- Add panning viewport
- Add progress to big clears
- Maybe, not sure it's better : Give better z index to node labels and nodes on the left / top
- Investigate using okclh for socket colors so it adapts better to different themes
- Implement Javascript node where user can write javascript code to do the processing
- Implement connection breaking when changing array type
- Make UseMass and isThermal from CompositionalMultiphaseFVM be interpreted as a boolean
- Ensure names of XML nodes are valid GEOS group names (no special characters, maybe no spaces)
- Make format node format just an input control
- Example: XML Generation : Remove download node
- Example: Get Array Element : Add display node for every array
- Example: Basic Datatypes: Remove bonjour je suis un ....
- Dropping node on socket automatically connects it
### Not important
- make node selection framework agnostic