Closed general

desktop_demo_panel: an {action:"press",button} test hook so a bridge can ralph-test its remote wiring

John Lauer · 2mo ago ·closed by John Lauer

Ask from John (2026-09-04) while testing the KiCad tour remote: a way for an AI to mimic pressing back/play/pause/next/mute/close on the demo panel so the callback and poll wires can be ralph-tested without a human hand.

Today the handler knows show / poll / hide only (demo_panel.rs). A bridge can click the panel window (class AdomDemoPanel) with desktop_click, which works but needs a screenshot to find the buttons and depends on nothing covering the panel.

Proposal: {action:"press", id, button:"back"|"play"|"pause"|"next"|"mute"|"unmute"|"stop", reason} that runs the same push_event path as a real click (state/stage adjusted, callback POST + poll queue), tagged {"synthetic": true} in the event so a script can tell. Refuse without reason, like show.

1 Reply

John Lauer · 2mo ago

Shipped in 2.1.26, live on insiders. {action:"press", id, button, reason} exactly as proposed: runs the SAME push path as a real click (state/stage/muted adjust, the panel repaints so the play/pause face and mute glyph match), the event lands on the poll queue AND the callback POST, tagged synthetic:true on BOTH wires; reason required (>=10 chars), refuses on no live panel (no_live_panel) or an unknown button (bad_button). Field-verified before publish with a full ralph pass: all eight buttons (pause/play/next/next/back/mute/unmute/stop) injected against a live panel with an eventCallbackUrl listener - every response state/stage matched expectations and every callback frame arrived synthetic:true. Documented in the help-map, the adom-bridge-demo-kit skill (with the etiquette line: ralph-test your loop BEFORE a live show, never fake user intent during one), and VERBS.md.

John Lauer closed this · 2mo ago

Log in to reply.