ui_snapshot
Capture every visible UI control as structured data with semantic state (disabled, focused, value, tooltip) to simplify functional UI checks in a running game.
Instructions
One-call UI snapshot of the RUNNING game: every visible Control as structured data — path, class, text, rect, and the semantic state pixels cannot tell you (disabled, focused, checked, value, selected, editable, tooltip) plus per-control honesty flags. For FUNCTIONAL UI checks this replaces screenshot + find_ui_elements + get_control_rect + runtime_get_property; keep screenshot for visual/render bugs. Every field, and the free since_hash re-read: help(tool="ui_snapshot").
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | subtree root to scope the walk (name, relative, or /root/...) | |
| max_nodes | No | cap on emitted controls (default 150) | |
| occlusion | No | compute occluded_by for interactive controls (default true; one hit-test walk per interactive control) | |
| since_hash | No | hash from a previous call — unchanged UI returns {unchanged:true} instead of the payload | |
| interactive_only | No | only buttons/sliders/fields/lists/tabs + focusables (default false = all visible controls) |