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.
- Host: GitHub
- URL: https://github.com/selenite-geos/graph-editor
- Owner: Selenite-GEOS
- Created: 2024-07-31T19:36:22.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-19T17:45:15.000Z (over 1 year ago)
- Last Synced: 2024-10-10T12:05:49.846Z (over 1 year ago)
- Topics: node-editor, selenite, svelte, svelte5, visual-programming
- Language: TypeScript
- Homepage: https://selenite-geos.github.io/graph-editor/
- Size: 1.97 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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