diff --git a/README.md b/README.md index b17d254..e70dc8a 100644 --- a/README.md +++ b/README.md @@ -17,3 +17,60 @@ A visual tool to create task automation workflows. pnpm changeset version pnpm changeset tag ``` + +# Architecture +```mermaid +graph TD + classDef pipelab fill:#0096FF,stroke:#333,stroke-width:4px; + classDef todo stroke:#333,stroke-width:4px, stroke-dasharray: 4px; + + DesktopApp[Desktop App - Pipelab] + GameBundle[Game Editor output] + + subgraph GameEditors + Construct3[Construct 3] + Godot[Godot] + GDevelop[GDevelop] + end + + PipelabPlugin[Pipelab Plugin] + SteamPlugin[Steam Plugin] + CoreMessaging[Core Messaging Library] + Renderers[Renderers] + + subgraph Runtime + Electron + Tauri + Webview + end + + subgraph Platforms + Steam + Itch + Poki + end + + Steamworks[steamworks.js Library] + + GameEditors -->|Bundles to| GameBundle + GameBundle -->|Is imported into| DesktopApp + GameEditors -->|Includes| PipelabPlugin + + PipelabPlugin -->|Is included in| GameBundle + PipelabPlugin -->|Implements| CoreMessaging + + SteamPlugin -->|Is included in| GameBundle + SteamPlugin -->|Implements| CoreMessaging + SteamPlugin -->|Uses| Steamworks + + CoreMessaging -->|Passes messages to| Renderers + Runtime -->|Is embedded in| Renderers + DesktopApp -->|Packages to| Runtime + Runtime -->|Handles events from| CoreMessaging + + DesktopApp -->|Deploys to| Platforms + Platforms -->|Uses| Runtime + + class DesktopApp,PipelabPlugin,SteamPlugin,CoreMessaging pipelab; + class SteamPlugin,Godot,GDevelop,Tauri,Webview,Itch,Poki todo; +```