Android Git overview evidence Environment for all recordings: T3 Code development client, Pixel 9 emulator, Android 16 / API 36, portrait 1080x2424 pixels, light theme, default font scale. The native client fingerprint is identical on both commits; each JavaScript app and backend ran from its own worktree with separate Metro and server processes. Fresh isolated backend databases were created with T3CODE_DEV_SEED=0. No production database was copied. All repository/thread/PR data is synthetic. Base: 871b00907d0bcf2705224de6c6e90de925c7cbb9 Head: ad92ce4860a0021e61ab207fae776effcc850d90 seed.mjs runs from apps/server and takes backend origin, token file, and a new scratch repository directory. It creates a repository-backed project and thread, then links and snapshots 12 synthetic PRs through the server API and RPC. The descending insertion order makes the visible list run from 1 through 12. Authentication is supplied privately; no credential is included here. Open the thread, select Git controls, then More for the inline inspector sheet. For the routed presentation, open the thread first, then its /git deep link. Run scroll.ad for inline or scroll-routed.ad for routed using agent-device replay. The only presentation-specific coordinate is the initial header's vertical position. Each script is identical between base and head. The gesture sequence expands the sheet by its header, slowly drags up over action rows, slowly drags up over PR rows, flings up, drags down within content, and flings up again. Durations and coordinates are fixed. Remote automation introduced different idle gaps between commands; gestures themselves match. Before: content stays at the start after expansion; later PRs cannot be reached. The downward content drag collapses the sheet. After: content scrolls through all 12 rows and back while the sheet stays expanded. The separate final-row video taps PR 12 and reaches its detail route. Because these are synthetic PRs, that route reports the expected missing-resource error; loading real hosted PR details was not part of the fixture. Videos retain the original viewport. A black rectangle redacts the private connection label in the underlying thread header. No affected control is masked. Android encodes frames only when the screen changes. Some videos end at the last changed frame; idle gaps and end duration should not be treated as timings. AI-assisted; verified with the tests and tools listed above.