Operate the Android menus by touch
Conflicts resolved: the pointer's window-to-menu mapping takes main's centering (the scoreboard's) and the PR's missing-back-buffer check, and is shared; the scoreboard's pointer stays the desktop's (an Android stub); FOCUS_LOST drops both the scoreboard's pointer and the touch; main's Steam on-screen keyboard and the PR's Android pointer each keep their side of the #ifndef; CI runs test_touch_menu.py with the harness.
main_menu.xml is generated from CE's tags; with the keyboard's typing mode ended as it closes, Enter is A again and CE's own Start handler can stay. Its test is dropped with it.
Import only independently reviewed production changes. Preserve canonical physics and virtual-keyboard repairs; keep B3 and all unresolved holds out.
Record exactly four approved canary debits (6987 meaningful bytes), six Halo admissions and two revocations. Keep vendor ioinit/storage work separate. Full build, 8252-row sweep, 1318 tests, park/admission/fake audits and 621-object binding pass within approved debit bounds.
Do not publish donor research dumps or private assets. README and unrelated user research remain untouched. See frontier_publication_reconciliation_20260927.md for complete evidence limits and accounting.
Integrate verified source and data progress; exclude unproven COMMON ownership, held UB/asm forms, and address-named data credit. Stable sweep: 23 exact functions gained, zero lost.
Zero exact credit. The previously unwritten private renderer lands as a
complete January-bytes reconstruction at 1584/95 against 1616/95, with the
44-entry keyboard_rect data owner now matching January's .data bytes.
Residual: January pins edi=-1 across the draw calls and keeps three
separate sticky-bitmap switch arms; its loop bound is a csplit relocation
alias (_item_update_section == _keyboard_rect+352), so strict exactness is
not reachable from C. font_character is TU-local with disclosure, matching
the identical copies in draw_string.c and rasterizer_text.c. The parked
_virtual_keyboard_select is unchanged. virtual_keyboard: 18 exact / 2 residual.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>