gallery/harnesses/gtauri
Greg Pomerantz 9e52dc0355 gtauri: MediaStore fast path + js-ready handshake + virtualized grid
- MediaStore fast path: Kotlin's ContentObserver queries MediaStore
  for images added in the last 120s and writes path|added|size lines
  to .ms_recent, then wakes Rust via the proven zero-arg
  nativeFsChange() JNI. Rust upserts those rows and emits
  immediately — a camera photo appears in ~1s without waiting for
  the ~10s FUSE re-read of a 10,000-file directory. (Direct
  Kotlin->Rust JNI string passing and Rust->Java calls crash under
  the emulator's x86_64->arm64 native bridge; file handoff plus
  zero-arg JNI is the only reliable channel.)
- js-ready handshake: the first gallery-files emit fires ~30 ms
  after process start, before the WebView's JS exists (Tauri events
  are fire-and-forget, so it was lost). JS now signals
  'gtauri-js-ready'; Rust re-emits the current state.
- Virtualized grid: the document is ONE spacer (full scroll height)
  plus ONE band of recycled cells pinned by transform — ~80 DOM
  nodes total for a 10,000-photo library. Launch cost no longer
  scales with library size; the first screen renders as soon as
  the WebView boots and the first thumbs arrive.
- 'Missing photos' report resolved: the full walk of the 9,961-file
  Camera dir enumerates exactly 8,438 images with no guard firing;
  the difference is videos, which a photo gallery correctly
  excludes.
2026-11-02 00:02:48 -05:00
..
capabilities gtauri: Tauri v2 gallery harness WORKING on emulator 2026-10-31 18:59:51 -04:00
frontend/dist gtauri: MediaStore fast path + js-ready handshake + virtualized grid 2026-11-02 00:02:48 -05:00
gen gtauri: MediaStore fast path + js-ready handshake + virtualized grid 2026-11-02 00:02:48 -05:00
icons gtauri: Tauri v2 gallery harness WORKING on emulator 2026-10-31 18:59:51 -04:00
scripts gtauri: Tauri v2 gallery harness WORKING on emulator 2026-10-31 18:59:51 -04:00
src gtauri: MediaStore fast path + js-ready handshake + virtualized grid 2026-11-02 00:02:48 -05:00
.tauriignore gtauri: Tauri v2 gallery harness WORKING on emulator 2026-10-31 18:59:51 -04:00
app-icon.png gtauri: Tauri v2 gallery harness WORKING on emulator 2026-10-31 18:59:51 -04:00
build.rs gtauri: Tauri v2 gallery harness WORKING on emulator 2026-10-31 18:59:51 -04:00
Cargo.lock gtauri: event-driven watching + defense against stale VFS dir listings 2026-11-01 20:24:01 -05:00
Cargo.toml gtauri: event-driven watching + defense against stale VFS dir listings 2026-11-01 20:24:01 -05:00
tauri.conf.json gtauri: event-driven watching + defense against stale VFS dir listings 2026-11-01 20:24:01 -05:00