8aa8d8805b
load_for_file no longer runs three DB queries on the UI thread during file load. A _ScanLoadWorker reads the bundle (hard negatives, scan-export times, latest scan results) via its own short-lived connection — safe alongside the main connection now that WAL is on. The table rebuild stays on the UI thread in _on_scan_bundle_loaded; the timeline scan regions are synced from the new loaded(filename) signal. Stale results from rapid file switches are ignored, and the worker is drained on shutdown. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>