Build on C1 (#29, read-only SSE live view). Let a human act in the live view, not just watch.
Scope
- Add a bidirectional channel (POST endpoint or
ws) from the viewer back to the server.
- Relay clicks/keys via CDP
Input.dispatchMouseEvent / Input.dispatchKeyEvent.
- Viewer-side coordinate transform:
<img>/canvas bounding rect → page CSS coords (account for devicePixelRatio, screencast scaling, scroll offset).
- Opt-in flag
interactive:true on browser_live_view (default stays read-only).
Acceptance
- A click in the viewer lands on the correct element in the live page.
- Read-only remains the default; interactive is explicit.
- No new heavy dep (prefer a small POST-back over full
ws if feasible).
Notes — coordinate transform is the hard part; reference: matyascimbulka/browser-live-view-example.
Build on C1 (#29, read-only SSE live view). Let a human act in the live view, not just watch.
Scope
ws) from the viewer back to the server.Input.dispatchMouseEvent/Input.dispatchKeyEvent.<img>/canvas bounding rect → page CSS coords (account for devicePixelRatio, screencast scaling, scroll offset).interactive:trueonbrowser_live_view(default stays read-only).Acceptance
wsif feasible).Notes — coordinate transform is the hard part; reference: matyascimbulka/browser-live-view-example.