mirror of
https://github.com/storytold/photocraft.git
synced 2026-11-12 13:15:10 +00:00
One RAM detector: the cgroup v1/v2, macOS reclaimable and Windows commit providers move from photocraft-io into photocraft_raster::memory::system (L0), which the residency budget (#5330) and photocraft_io::memory both read. Unreadable container limits still fail closed, swap is never counted as RAM. sysinfo is unified on =0.40.1 (raster only). While the scratch disk is spilling (on, not paused), import admission credits the tile pixels of an estimate against spill::scratch_capacity() (free space above the reserve, within the Scratch Size Limit); decode buffers, conversion copies and merged planes stay RAM-only. Spilling off/paused and the web keep the RAM-only policy unchanged. PsdMemoryEstimate gains tile_bytes; the flat TIFF streaming check credits its tile surface the same way; engine approveMemory's fast pre-check uses the credited hard limit and the import re-checks exactly.