flowchart LR
subgraph Mechanoid
Application<-->Engine
Engine<-->Modules
Engine<-->Devices
end
The host application that the developer who uses Mechanoid is creating.
The WASM modules that developers who are creating code for this Application are writing.
Specific hardware devices such as displays or sensors that can be used by the Application and/or Modules. This can also include connections to networking devices such as WiFi or Bluetooth, and low-level hardware interfaces such as GPIO or I2C.
flowchart LR
subgraph Application
App
end
subgraph Engine
Interpreter<-->Modules
FileStore<-->Modules
end
subgraph Modules
program1.wasm
program2.wasm
end
subgraph Devices
Display
Network
Sensors
end
Application<-->Engine
Modules<-->Devices
The Interpreter is an interface to whichever WebAssembly interpreter is to be used for this application. The default interpreter for Mechanoid is Wazero.
The FileStore is an interface to where the modules for this application can be stored, so that they can be dynamically loaded. Currently supports flash memory using the LittleFS file system.