# Notes

## Technologies

### Rust -> WASM

## Svelte


## Architecture

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.

## [[Projects/bachelor/NODE_INTERFACE]]
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`.

## [[Projects/bachelor/NODE_REGISTRY]]
The `NODE_REGISTRY` stores all the nodes. For each node it stores a definition and the wasm blob that executes that node.

## [[Projects/bachelor/RUNTIME_EXECUTOR]]
The runtime gets a node-graph and returns the result after executing the node-graph. It fetches the relevant nodes from the `NODE_REGISTRY`.


This is how these three components would communicate
![](OVERVIEW_SEQUENCE.png)