apps/jumphp-screen
/ BRIEF.md · commit 77d57c5
# JumPHP ScreenThe viewer of the JumPHP IDE's "Screen on a phone" mode (a VNC-like remote screen, but WebRTC). The IDE shows a QR code / link (pairing in the URL fragment: room + key, end-to-end encrypted signaling through wss://jumphp.net/ide-relay/ws with the IDE Remote channel.js). The page joins, the IDE's user allows the device, then the IDE's WebRTC sidecar (jumphp/webrtc, GStreamer, H.264) sends the screen as a video track and an 'input' data channel takes the mouse / keys / text. Minimum latency (no jitter buffer), works in a phone browser. Controls: touchpad mode (relative mouse, tap = click, two-finger tap = right click, two-finger drag = scroll, long press = drag) and direct touch mode, pinch zoom + pan, virtual keyboard + special keys bar (Esc Tab Ctrl Alt Shift Super arrows F1-F12 Ctrl+C/V...), quality, fullscreen, stats (fps, bitrate, RTT).## A desktop application (Tauri: HTML pages, PHP behind them)This project is an **application**, not a game: native windows whose content is HTML / CSS / JS, whose logic isPHP (files, native dialogs, menus, tray, notifications). Follow `AGENTS.md` section 16 and `docs/tauri.md`;example: `games/hello-desktop`. `bin/jumphp app:test jumphp-screen`, `bin/jumphp app:shot jumphp-screen` (open the screenshot),`bin/jumphp app:export jumphp-screen --windows --macos` for the executables; `bin/jumphp build jumphp-screen` is the same app in a webpage (what the playground shows).---## The JumPHP playgroundThis project was made on the JumPHP playground: the application's page is https://jumphp.net/jumphp-screen (in its "Applications").- The application is `apps/jumphp-screen/`. Read `AGENTS.md` (the JumPHP contract) first; replace the skeleton with the application described above; tests for each feature, as you write them; screenshots you look at.- **Publishing**: every push to `main` is online within a minute (Git webhook). The MCP tool `sync_project` (server `jumphp`) publishes at once and returns the errors.- **Its home page**: `apps/jumphp-screen/site/` (AGENTS.md section 13, with the application's real screenshots) and `apps/jumphp-screen/assets/thumbnail.png`.- When it is done: MCP `update_project` with `listed: true` shows it in the playground's applications.