Agent API
window.trellis.step({type:'click',x,y}) · step({type:'type',text}) · step({type:'key',key:'Enter'|'Escape'}) · step({type:'scroll',dir:±1})
trellis.stepIndex(i) (0–55) · trellis.observe() · trellis.state() · trellis.reset()
postMessage: {type:'trellis.step', action} → {type:'trellis.result', info, state, status}.
Coordinates are in the 320×240 logical viewport (the stage is drawn at 2×).