mirror of
https://github.com/storytold/photocraft.git
synced 2026-10-28 02:02:04 +01:00
Concurrent requests for the same cold combined mask each rasterized and feathered the whole image. A per-key OnceLock slot now lets one caller build while the others wait for the same tiles; different keys build independently outside the cache mutex, and the result is admitted through the byte-budgeted cache with the generation taken at lookup, so a purge mid-build still wins. The vector mask renders sequentially inside the slot so a Rayon worker can't wait on itself. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>