Affordances
Affordances list everything a workflow can do on the current screen - pre-computed from the ui_tree. No grounding step needed.
affordances: - click: "Save Changes" at (400, 300) enabled: true - click: "Cancel" at (500, 300) enabled: true - type: input "Max Value" at (200, 120) current: "1500" - click: "Delete Account" at (450, 400) enabled: falseAffordance types
| Action | Description | Example |
|---|---|---|
click | Clickable element (button, link, checkbox, radio) | click: "Save Changes" |
type | Typeable input field | type: input "Email" |
select | Dropdown or select element | click: select "Period" options: [Monthly, Annual] |
Full affordance schema
affordances: - action: click label: "Save Changes" position: { x: 400, y: 300 } enabled: true
- action: click label: "Cancel" position: { x: 500, y: 300 } enabled: true
- action: type label: "Max Value" element_type: input position: { x: 200, y: 120 } current_value: "1500" enabled: true
- action: click label: "Delete Account" position: { x: 450, y: 400 } enabled: falseRequesting affordances
# Include affordances in full VASP outputfarscry extract screenshot.png --affordances
# One-line agent summary only (no affordances or ui_tree)farscry extract screenshot.png --contextIn automation workflows
Form filling
farscry extract screen.png --affordancesworkflow reads: type: input "Email" at (200, 180) current: ""workflow types email, submitsfarscry extract screen2.png --affordancesworkflow reads: appeared: badge "Saved" - action confirmedAction verification
farscry extract before.png --affordancesclick: "Delete" at (300, 400) enabled: true
workflow clicks delete
farscry extract after.png --affordancesclick: "Confirm Delete" at (300, 200) enabled: trueworkflow sees confirmation dialog appeared - proceedsDetecting disabled states
farscry extract form.png --affordancesclick: "Submit" at (400, 350) enabled: falseworkflow sees Submit is disabled - checks required fields firstBatch output with affordances
---file: screen1.pngaffordances: - click: "Save" at (400, 300) enabled: true - type: "Email" at (200, 180) current: ""---file: screen2.pngaffordances: - click: "Retry" at (300, 420) enabled: true---