2024-03-01 13:37:14 +01:00
# Notes
2024-04-04 12:05:00 +02:00
## Technologies
### Rust -> WASM
## Svelte
2024-04-04 12:00:00 +02:00
## Architecture
2024-03-01 13:37:14 +01:00
We need three major components to work together. I would love it if the node-store and the runtime are super loosely coupled so that they could be replaced by at will. So for example i could use the “server-runtime” that executes the node-graph on the server, or the “local” runtime that executes the node-graph locally.
2024-03-20 17:22:37 +01:00
## [[Projects/bachelor/NODE_INTERFACE]]
2024-03-21 01:25:00 +01:00
This is where the user interacts with the node graph. The frontend loads a node-system. Then fetches all the relevant nodes from the `NODE_REGISTRY` .
2024-03-01 13:37:14 +01:00
2024-03-20 17:22:37 +01:00
## [[Projects/bachelor/NODE_REGISTRY]]
2024-03-21 01:25:00 +01:00
The `NODE_REGISTRY` stores all the nodes. For each node it stores a definition and the wasm blob that executes that node.
2024-03-01 13:37:14 +01:00
2024-03-20 17:22:37 +01:00
## [[Projects/bachelor/RUNTIME_EXECUTOR]]
2024-03-21 01:25:00 +01:00
The runtime gets a node-graph and returns the result after executing the node-graph. It fetches the relevant nodes from the `NODE_REGISTRY` .
2024-03-01 13:37:14 +01:00
2024-03-20 17:22:37 +01:00
This is how these three components would communicate
![](OVERVIEW_SEQUENCE.png)
2024-03-01 13:37:14 +01:00