This repository was archived by the owner on Apr 10, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
1. Home
sander boer edited this page Dec 13, 2024
·
5 revisions
Microflow studio consists of 4 main processes:
- Your microcontroller -- running a version of
Firmata - Main process -- for handling all node processes
- Render process -- for displaying the UI (running React)
- Temporary node process -- spun up by the main process to either validate the connected board or running the flow logic
C4Context
Boundary(Microcontroller, "Microcontroller", "microcontroller") {
System(Hardware, "Hardware", "sensors and actuators")
System(Firmata, "Firmata", "software")
BiRel(Hardware, Firmata, "Updates", "firmata-protocol")
}
Boundary(MicroflowStudio, "Microflow studio", "electron") {
System(Temp, "Temp.js", "running your flow")
BiRel(Temp, Firmata, "Updates", "johnny-five")
System(Main, "main", "electron main process")
BiRel(Temp, Main, "Informs", "STDOUT")
Rel(Temp, Firmata, "Informs", "johnny-five")
System(Renderer, "renderer", "electron renderer process")
BiRel(Main, Renderer, "Informs", "IPC")
}
Microflow hardware bridge consists 3 main processes:
- The Figma API itself -- functionality exposed by Figma
- UI -- allowing you to interact with the plugin within Figma
- Plugin -- running all logic and connection for
microflow
C4Context
Boundary(Figma, "Figma", "microcontroller") {
System(API, "API", "interacts with Figma")
BiRel(API, Plugin, "Updates", "figma.ui.onmessage/figma.ui.postMessage")
}
Boundary(MicroflowHardwareBridge, "Microflow hardware bridge", "node") {
System(Plugin, "plugin.ts", "Logic of the plugin")
System(UI, "main.tsx", "UI of the plugin")
BiRel(UI, Plugin, "Updates", "postMessage/addEventListener")
}