 1:  0d153ebcf8 =  1:  0d153ebcf8 fix(desktop): preserve browser snapshot scroll context
 2:  81a15460ad =  2:  81a15460ad fix(desktop): keep snapshot collector private
 3:  dc6b8e6757 =  3:  dc6b8e6757 test(preview): fix Windows snapshot path assertion
 4:  c5c5b4872f =  4:  c5c5b4872f fix(desktop): include image-only snapshot scroll areas
 5:  2ef814fb79 =  5:  2ef814fb79 fix(desktop): respect snapshot paint clipping
 6:  a5e9eb1499 =  6:  a5e9eb1499 feat(preview): export all loaded snapshot text
 7:  1963e68d23 =  7:  1963e68d23 fix(preview): clean up undelivered text exports
 8:  b0abd4b9df =  8:  b0abd4b9df fix(preview): omit fully clipped scroll containers
 9:  03dfef243c =  9:  03dfef243c refactor(preview): let snapshot service own saved artifacts
10:  4c6cfc1a3f = 10:  4c6cfc1a3f fix(preview): preserve text export recovery guidance
11:  a4edfe0809 = 11:  a4edfe0809 fix(preview): report uncertain transformed clipping
12:  8bf11c4d6d = 12:  8bf11c4d6d fix(preview): keep text exports tied to their page
13:  af4cb6394d = 13:  af4cb6394d fix(desktop): make snapshot scroll targets unique
 -:  ---------- > 14:  3651b05833 fix(preview): read loaded page text from memory
 -:  ---------- > 15:  c2eaa2ce30 fix(preview): register captured text tool presentation
