3a5f160453
- extract reset() to ensure clean state in all exit paths - add 5s timeout guard so UI never stays stuck on 'Saving' - improve error messages for empty frames and save failures