docs: document overlay and bundled plugins

This commit is contained in:
2026-05-11 21:38:07 +02:00
parent b8a6fdfcc2
commit 43242fd913

View File

@@ -12,6 +12,7 @@ This repository is organized more like an application than a hardware experiment
- Executes built-in actions such as key presses, action chains, app launch, and folder navigation - Executes built-in actions such as key presses, action chains, app launch, and folder navigation
- Loads backend plugins for feature-specific actions such as HTTP requests, media control, and clipboard tools - Loads backend plugins for feature-specific actions such as HTTP requests, media control, and clipboard tools
- Broadcasts live state updates over WebSocket so the UI stays in sync with the device - Broadcasts live state updates over WebSocket so the UI stays in sync with the device
- Optionally runs a transparent desktop overlay that announces the active profile and folder
## Production View ## Production View
@@ -78,6 +79,10 @@ The frontend is a React + Vite application that:
Primary frontend source lives in `frontend/src/`. Primary frontend source lives in `frontend/src/`.
### Overlay Layer
The optional overlay in `overlay/` is an Electron app that connects to the backend WebSocket and displays the current deck profile and folder in a transparent, click-through window. It is designed for production desktop use: frameless, always on top, hidden from the taskbar, and controlled from the Windows tray.
## Current Action Model ## Current Action Model
Built-in actions currently include: Built-in actions currently include:
@@ -90,11 +95,13 @@ Built-in actions currently include:
- Folder rotation - Folder rotation
- Plugin-backed actions - Plugin-backed actions
Plugin actions currently include examples such as: Pre-shipped plugin actions include:
- HTTP requests - HTTP Requests: call webhooks, local services, and automation endpoints with templated request data
- Media controls - Media Controls: send media keys and repeated volume adjustments
- Clipboard tools - Clipboard Tools: copy preset text, paste snippets, and transform clipboard text
- OBS Integration: sample OBS-style scene and stream actions for plugin development
- WLED: control WLED device power, brightness, colors, effects, pixel ranges, and combined updates
## Plugin System ## Plugin System
@@ -133,6 +140,7 @@ PLUGIN = MyPlugin()
- `backend/`: FastAPI app, database, action engine, serial service, plugin runtime - `backend/`: FastAPI app, database, action engine, serial service, plugin runtime
- `frontend/`: React configuration UI - `frontend/`: React configuration UI
- `overlay/`: Electron transparent desktop overlay
- `plugins/`: backend plugin modules - `plugins/`: backend plugin modules
- `pico/`: MicroPython firmware for the device - `pico/`: MicroPython firmware for the device
- `pc/`: utility scripts used during hardware bring-up and diagnostics - `pc/`: utility scripts used during hardware bring-up and diagnostics