Well, this feature development started when testing UWord with R PI4. When I has loaded some .jpg images into document, resizing these took ages, because jpg decompression is quite slow. So the idea was that decompressed image should be cached before resized, but the old caching mechanism favored reduced memory consumption. Which was sad given there was about 3GB RAM free during testing...
So it got me thinking that we maybe should react to the amount of free memory (however you define it) in the system while caching. First I started to develop a protocol that would communicate the information about available memory to all registered caches but then got better idea: Image is Value, so why not create single global cache of Values, adjusted to available system memory...
Image cache ("MakeImage") is now just client to this global value cache and its size is periodically adjusted (when running GUI) to the system current status...