jtube-tv/app
Jeena 0ab19b835c ui: cap the eased scroll and drop the snapshot focus map
A system trace on the TV showed the eased focus scroll re-ticking for
hundreds of milliseconds per move — animateScrollToItem's default spec
scales with distance, and every tick redraws the whole window on a TV
GPU, with 145 ms spikes when new cards composed mid-animation. That is
what drags row scrolling back down to a few fps, again (same symptom
51077b8 and 5ea1ca5 each fixed a facet of). easedScrollToItem keeps the
eased feel but caps the tween at ~140 ms, so a move costs a handful of
cheap ticks instead of hundreds.

The per-card focus requesters in the video grid were back in a snapshot
state map written during composition — the exact recompose loop
5ea1ca5 fixed in the rows, still alive in the grid screens. Plain
HashMap again, keyed on epoch only: keyed on items.size the map was
dropped wholesale on every page load, and already-composed cards didn't
re-populate it until their next recompose.
2026-10-19 13:08:18 +00:00
..
src ui: cap the eased scroll and drop the snapshot focus map 2026-10-19 13:08:18 +00:00
build.gradle.kts build: sign the release variant with the debug key 2026-10-14 00:53:05 +00:00
proguard-rules.pro app: Scaffold Android TV PeerTube client (MVP) 2026-10-10 10:20:02 +00:00