Files
nodarium/docs/ARCHITECTURE.md
Max Richter 9484b3599e
Some checks failed
🏗️ Build and Deploy / setup (push) Successful in 1m10s
🏗️ Build and Deploy / lint (push) Successful in 34s
🏗️ Build and Deploy / format (push) Successful in 38s
🏗️ Build and Deploy / typecheck (push) Successful in 33s
🏗️ Build and Deploy / build_and_deploy (push) Failing after 1m53s
chore: run formatting on all files
2026-02-02 17:33:01 +01:00

47 lines
1.1 KiB
Markdown

# Nodarium Architecture
The basic idea of nodarium is to use the advantages of WebAssembly to create a performant, secure and extandable visual programming language.
The visual programming language consists of so called `Nodes` which are stored and distributed as single `.wasm` files. Each `node` receives some arguments and generates some output.
## What is a node?
```typescript
type Node = {
id: string;
outputs: string[];
inputs: {
[key: string]: NodeInput;
};
};
```
## How are the arguments defined?
To define which arguments a nodes accepts we use JSON. This json is embeded into the `.wasm` file of our node. An example `definition.json` file could look like this:
```json
{
"id": "my-name/my-namespace/zylinder-node",
"outputs": [
"geometry"
],
"inputs": {
"height": {
"type": "float",
"value": 2
},
"radius": {
"type": "float",
"value": 0.5
}
}
}
```
For a more in-depth explanation have a look at [./NODE_DEFINITION.md](NODE_DEFINITION.md).
## How are the nodes executed?
## How are the nodes stored?