PL
apps/jumphp-screen / AGENTS.md · commit 77d57c5
# JumPHP Screen — notes for agents- A desktop app (`ui: webview`) used in the browser: the work is in `ui/js/app.js` (pairing, WebRTC, gestures, keyboard), `ui/js/texts.js`  (14 languages, checked by tests/MainTest.php), `ui/js/channel.js` (a COPY of JumPHP's `ide/ui/js/remote/channel.js`: keep it identical).- Protocol (JumPHP `docs/ide-screen.md`): page -> IDE `{t:'hello', v:1, app:'screen', name}`, `{t:'answer', sdp}`, `{t:'ice', candidate, mline}`,  `{t:'restart'}`, `{t:'bye'}`, `{t:'ping'}`; IDE -> page `welcome`, `info` {encoder,width,height}, `offer` {sdp}, `ice`, `denied` {reason}, `error`.  Input data channel `input` (JSON): `m` {x,y 0..1}, `b` {b 1|2|3, d}, `w` {dy, dx}, `k` {key: X keysym name or one character, d}, `txt` {s},  `kbps`, `key` (ask an IDR), `ping` {at} -> `pong`; from the PC `size` {w,h,encoder}.- Cache: play.jumphp.net keeps js / css 1 h at the CDN: bump `?v=` in ui/index.html (and project.yaml version) at each change.- Latency: `receiver.jitterBufferTarget = 0` / `playoutDelayHint = 0`, moves coalesced to one per frame. Never add buffering.- Check: `bin/jumphp test jumphp-screen`; end to end needs the IDE (or JumPHP `extensions/webrtc` sidecar) on a Linux X11 computer.