Skip to content

Vision-model fallback for canvas-only apps #5

Description

@8crsk

Apps that render to a canvas (games, Flutter apps with no semantics, some webviews) expose an empty accessibility tree — the agent is blind there. The fix: detect the empty-tree case and fall back to sending an annotated screenshot to a vision-capable model, letting it answer with tap coordinates.

Where to look

  • accessibility/UiTreeBuilder.kt — where an empty/thin tree is detectable
  • accessibility/UiObserveRenderer.kt + screenshot pipeline (already exists for the legend overlay)
  • ChatSession.phoneCapabilitySuffix — the act grammar the model is taught

Open design questions

  • Coordinate-grid overlay on the screenshot vs raw pixels + normalized coords?
  • When to trigger fallback automatically vs a new act look --vision verb?

This is the hardest and highest-impact open problem in the repo. Fame awaits. 🐉

Metadata

Metadata

Assignees

No one assigned

    Labels

    🐉 bossHard architectural challenge for the brave

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions