diff --git a/README.md b/README.md index 0841651..27c5535 100644 --- a/README.md +++ b/README.md @@ -22,9 +22,9 @@ MCP endpoint so AI agents can operate the machine too. RustKVM web UI showing a Windows 11 target at 3840×2160, 60 fps -Pinning the sidebar, opening Settings and switching to the dark theme +Driving the target from the browser: moving its cursor, scrolling the GitHub page, clicking the search box and typing WebRTC -Live 4K60 target in the browser. More screenshots under Interface overview; full-resolution clip: WebM. +The target's own cursor and keyboard, driven from the browser over USB HID while its 4K60 screen streams back. More screenshots under Interface overview; full-resolution clip: WebM. @@ -127,6 +127,8 @@ First launch opens a **setup wizard** where you choose password or no-password m | **Focus mode** | Focus mode, light | Focus mode, dark | | **Connect** | Connect card | | +Pinning the sidebar, opening Settings and switching to the dark theme + Click any image for full size. How these were captured and their sources: [docs/assets/demo/README.md](docs/assets/demo/README.md). ## Architecture diff --git a/docs/assets/demo/README.md b/docs/assets/demo/README.md index 648c51a..40c96d5 100644 --- a/docs/assets/demo/README.md +++ b/docs/assets/demo/README.md @@ -1,7 +1,7 @@ # Demo media -Screenshots and a short clip of the RustKVM web UI (English, light and dark -themes), used by the top-level README. +Screenshots and two short clips of the RustKVM web UI (English, light and +dark themes), used by the top-level README. | File | What it shows | | --- | --- | @@ -10,8 +10,10 @@ themes), used by the top-level README. | `{light,dark}-03-sidebar-pinned.webp` | Sidebar pinned open (navigation and connection status) | | `{light,dark}-04-settings-general.webp` | Settings dialog, General page (appearance and language) | | `{light,dark}-09-focus-mode.webp` | Focus mode: sidebar and titlebar hidden | -| `rustkvm-demo.gif` | 11 s loop: pin sidebar, open Settings, switch to dark, close, unpin (1280 px wide) | +| `rustkvm-demo.gif` | 17 s control demo: the target's cursor glides over the page, the README scrolls down and back up, the cursor clicks GitHub's search box and types `WebRTC`, Esc closes it (1280 px wide, 12 fps) | | `rustkvm-demo.webm` | The same clip at 1920×1080 (VP9) | +| `rustkvm-ui-tour.gif` | 11 s loop: pin sidebar, open Settings, switch to dark, close, unpin (1280 px wide) | +| `rustkvm-ui-tour.webm` | The same clip at 1920×1080 (VP9) | ## How they were made @@ -19,11 +21,19 @@ themes), used by the top-level README. 3840×2160, 60 fps. - Browser: headless Chromium driven by Playwright at 1920×1080, device scale factor 1. Theme and language were set in the browser's localStorage only. -- The scripts clicked only UI elements (sidebar, titlebar, settings dialog) - and sent no keyboard or mouse input to the target. -- Stills were saved as WebP (quality 85). The clip was recorded with the - Chrome DevTools screencast and encoded with ffmpeg; the GIF drops frames - identical to the previous one, because the UI changes in single steps. +- Control demo: every action on the target is real USB HID input sent + through the web UI. Mouse moves over the video become absolute pointer + reports, wheel steps become wheel reports, and key presses become keyboard + reports. Nothing was typed into the target beyond the search query, no + link was followed, and the page was left as it started. The script paused + once after the click to check that the search box had opened; that pause + is cut from the clip. +- UI tour and stills: the scripts clicked only UI elements (sidebar, + titlebar, settings dialog) and sent no keyboard or mouse input to the + target. +- Stills were saved as WebP (quality 85). Clips were recorded with the + Chrome DevTools screencast and encoded with ffmpeg; the GIFs drop frames + identical to the previous one to stay small. ## Sources and licenses diff --git a/docs/assets/demo/rustkvm-demo.gif b/docs/assets/demo/rustkvm-demo.gif index 83e33e6..5da45bb 100644 Binary files a/docs/assets/demo/rustkvm-demo.gif and b/docs/assets/demo/rustkvm-demo.gif differ diff --git a/docs/assets/demo/rustkvm-demo.webm b/docs/assets/demo/rustkvm-demo.webm index bcbd88f..2c2a97e 100644 Binary files a/docs/assets/demo/rustkvm-demo.webm and b/docs/assets/demo/rustkvm-demo.webm differ diff --git a/docs/assets/demo/rustkvm-ui-tour.gif b/docs/assets/demo/rustkvm-ui-tour.gif new file mode 100644 index 0000000..83e33e6 Binary files /dev/null and b/docs/assets/demo/rustkvm-ui-tour.gif differ diff --git a/docs/assets/demo/rustkvm-ui-tour.webm b/docs/assets/demo/rustkvm-ui-tour.webm new file mode 100644 index 0000000..bcbd88f Binary files /dev/null and b/docs/assets/demo/rustkvm-ui-tour.webm differ