mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-26 02:59:17 -06:00
The denoise worker saves the picture, then tears down its rayon pool and returns before it writes its outcome. A `denoise.pump` in that window saw the file on disk (`denoise_check_photo` for the selected photo, or a reindex), marked the photo Ready and still held the job as running: `PhotoState::Ready` and `denoise_busy()` at once, the activity row up for a photo that said it was done, and the flaky `a_photo_waits_for_its_turn…` assertion on a loaded machine. The disk checks now leave the running photo to its job: `denoise_poll` makes it Ready in the same pump that clears `running`. A test blocks the worker in the model loader, writes the picture in its place and shows the photo stays Running until the worker reports, then Ready and idle together.