Pad/internal/editor
Greg Pomerantz dcb96d04d8 Fix Android window geometry, selection menu tracking
- SurfaceView windows are always translucent, so adjustResize cannot
  resize them: the keyboard overlapped the bottom of the window and the
  top bar sat under the status bar. Consume the insets in app instead:
  a smali-injected PadInsetsListener (identical block in build_emu.sh
  and build_phone.sh) shrinks the GioView to statusBarBottom..keyboardTop
  (or ..navBarTop) on every API 30+ insets dispatch, with
  setDecorFitsSystemWindows(false) so IME insets are delivered at
  targetSdk 34.
- Fix a change-detection bug in the listener: the height write skipped
  the topMargin/bottomMargin checks on every IME state transition, so
  the margins were never applied while the keyboard animated. All three
  params are now checked with a single requestLayout on any change.
- Selection menu now re-anchors to the selected word every frame while
  it is visible and hides when the word scrolls out of the viewport
  (positionSelectionMenu + regression test).
- Doc: development_plan.md section 14 (invariants, geometry contract,
  build-script identity invariant).

Verified on device: top bar below status bar and clickable, bottom bar
flush with keyboard top (view 128..1517 at 1080x2400), BACK dismiss +
re-tap re-raise without a show loop, typing saves, menu tracks scrolls.
2026-08-17 23:58:19 -04:00
..
auto_save_test.go Fix test build after NewLogic signature change; add development plan draft 2026-08-15 22:18:04 -04:00
buffer_test.go fix(editor): wire key events to cursor movement 2026-06-03 07:41:18 -04:00
chunked_buffer_fuzz_test.go Data-corruption test suite: differential fuzz + atomicity contract 2026-08-17 12:43:17 -04:00
chunked_buffer_test.go Add text selection, real-file e2e tests, and Android arrow-key support 2026-08-17 00:32:53 -04:00
chunked_buffer.go Fix word-wrap scroll jump: visual-line mapping via WrapIndex 2026-08-17 19:46:47 -04:00
cursor_test.go Fix word-wrap scroll jump: visual-line mapping via WrapIndex 2026-08-17 19:46:47 -04:00
deterministic_file.go feat: virtual scrolling with chunked buffer for large files 2026-06-05 09:11:32 -04:00
e2e_test.go editor: fix viewport-on-open, chunked-buffer drift, add size guard (Phase 3 code) 2026-08-16 10:35:10 -04:00
filename_test.go feat: implement atomic writes for filesystem backend 2026-06-04 18:01:51 -04:00
font_scale_test.go Track Android user font scale in all line-height geometry (Phase 11) 2026-08-17 10:59:34 -04:00
frame.go Fix word-wrap scroll jump: visual-line mapping via WrapIndex 2026-08-17 19:46:47 -04:00
ime_range_test.go editor: fix viewport-on-open, chunked-buffer drift, add size guard (Phase 3 code) 2026-08-16 10:35:10 -04:00
integration_test.go editor+ui: complete Android IME wiring (SelectionCmd, SnippetCmd, InputHintOp) 2026-08-16 02:43:58 -04:00
line_index_fuzz_test.go Data-corruption test suite: differential fuzz + atomicity contract 2026-08-17 12:43:17 -04:00
logic.go Fix word-wrap scroll jump: visual-line mapping via WrapIndex 2026-08-17 19:46:47 -04:00
mock_setup.go Integrate real filesystem with interface abstraction 2026-06-04 16:19:38 -04:00
perf_probe.go perf: default-off in-app profiler + debug scroll jumps; verify scroll perf & clamping 2026-08-16 16:53:28 -04:00
scroll_fix_test.go WIP baseline: Termux open-file bridge + word-wrap-aware viewport/scroll 2026-08-16 00:31:26 -04:00
selection_menu_track_test.go Fix Android window geometry, selection menu tracking 2026-08-17 23:58:19 -04:00
selection_test.go Add text selection, real-file e2e tests, and Android arrow-key support 2026-08-17 00:32:53 -04:00
state_api_fuzz_test.go Data-corruption test suite: differential fuzz + atomicity contract 2026-08-17 12:43:17 -04:00
state.go Fix Android window geometry, selection menu tracking 2026-08-17 23:58:19 -04:00
tap_scroll_property_test.go Prove tap-to-position is scroll-offset independent; fix float32 decomposition bug 2026-08-17 09:57:21 -04:00
touch_selection_test.go Touch selection (v1): long-press/double-tap word selection, drag handles, floating copy/cut/paste menu 2026-08-17 08:57:55 -04:00
wrap_apply_test.go Fix word-wrap scroll jump: visual-line mapping via WrapIndex 2026-08-17 19:46:47 -04:00
wrap_bookkeeping_test.go Fix word-wrap scroll jump: visual-line mapping via WrapIndex 2026-08-17 19:46:47 -04:00
wrap_index_test.go Fix word-wrap scroll jump: visual-line mapping via WrapIndex 2026-08-17 19:46:47 -04:00
wrap_index.go Fix word-wrap scroll jump: visual-line mapping via WrapIndex 2026-08-17 19:46:47 -04:00
wrap_mapping_test.go Fix word-wrap scroll jump: visual-line mapping via WrapIndex 2026-08-17 19:46:47 -04:00