0.88.0

taubyte/tau0.88.0Sep 25, 2026by takahirom

Upgrading?

AI Summary

Optimizes focus movement speed on TV devices by reducing redundant view hierarchy fetches and improving the decision logic for key presses.

Key Highlights

  • Focus moves are approximately twice as fast per key press on TV devices.
  • Reads the view hierarchy once per focus move iteration instead of multiple times.
  • Decides the next focus key based on the settled hierarchy instead of a fixed screenshot wait time.
  • Added detailed `[timing]` debug logs for focus move operations.

New Features

  • Significantly faster focus navigation on TV devices
  • Optimized hierarchy fetching logic for focus movement

Full Release Notes

Moving focus on a TV device is now about twice as fast per key press. On an Android TV emulator, each D-pad press in a focus move went from about 0.96s to about 0.48s, and from 1.1–1.4s to about 0.73s on a screen that is still loading content.

## Faster Focus Moves (#454, #455)

- Each focus move iteration reads the view hierarchy once, and uses that frame for both the current focus and the target. A selector target that is not in that frame is still polled on fresh hierarchies as before.
- The next key is decided on the hierarchy Maestro's settle already returned after the key press, instead of a fixed screenshot based wait and another fetch. The settle only returns once two consecutive fetches are equal, bounds included, so a scroll or focus change still in progress keeps it waiting.
- `[timing]` debug logs now cover each part of a focus move (`focus.viewHierarchy`, `focus.pressKey`, `focus.waitForAppToSettle`).

## What's Changed
* Read the focus and the target from one hierarchy fetch per focus move by @takahirom in https://github.com/takahirom/arbigent/pull/454
* Decide the next focus key on the settled hierarchy and drop the fixed wait by @takahirom in https://github.com/takahirom/arbigent/pull/455


**Full Changelog**: https://github.com/takahirom/arbigent/compare/0.87.0...0.88.0

Related Repositories