diff --git a/HANDOFF.md b/HANDOFF.md index 149932e..1db4401 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -1,5 +1,23 @@ # Gallery — development hand-off +> **CURRENT (2026-11-02): the active app is the Tauri/WebView port in +> `harnesses/gtauri/`** (package `wow.gmp.gallery`). Slint was concluded +> janky at its base level; egui and Tauri were A/B/C tested — Tauri won +> (0.00% dropped frames scripted on the 120 Hz phone). The Slint +> material below is historical. Current watch architecture: MediaStore +> ContentObserver in `MainActivity.kt` receives the changed URI, queries +> that one row, drops a one-line payload (`.ms_recent.N`: `A|id|path|size` +> or `D|id`), wakes Rust via zero-arg JNI; Rust applies it directly. +> FS walk = startup baseline + 5-min reconciliation + mtime-diff +> incremental; a walk that ERRORS is never applied (see scan.rs docs). +> +> **Emulator `pad_aosp` gotcha:** the image ships with +> `debug.hwui.drawing_enabled=0` — every window renders BLACK (HWUI +> drawing disabled system-wide). After each cold boot run: +> `adb shell setprop debug.hwui.drawing_enabled 1` (runtime prop, not +> persistent). Boot with `emulator -avd pad_aosp -no-window -no-audio` +> (AVD has hw.gpu.enabled=no; do NOT pass -gpu flags). + A high-performance image gallery for Android (primary), Linux and macOS, written in Rust with the **Slint** UI toolkit. This document is the starting point for development: it captures every decision, gotcha, and measurement