If each rendered pixel could store the colour contribution of each contributing object, each contributing material, and each contributing light. This way, when using cryptomatte to change the appearance of an object or a material, all of the other pixels which were infulenced by that material or object could update accordingly.
Handy if you want the reflections to update correctly, of if you want to change the colour of an object which is behind glass for example.
Additionally, because light information is being stored, we could change the colour and strength of lights in the compositor without having to re-render. We’d just need a list of scene lights down the side of the compositor with strength/colour parameters to tweak. We could even replace which Hdri was used to light the scene by as well as storing the colour contribution of the hdri per pixel, we could also store the pixel location of the hdri which was sampled. This would mean we could find the relationship between the initial pixel value on the hdri and the end contribution to the rendered pixel, and then use that relationship to calculate the new hdri’s colour contribution. It would even mean we could rotate the hdri in comp and have all of the pixels update appropriately. Sort of like real time re-rendering of rendered images without the ability to move objects or lights.
The ability to change the strength and colour of lights in comp is already available in Corona and Vray, possibly arnold and renderman too. As far as I’m aware, Blender could be the first to do object/material. Seems to be setting the trend in a lot of other areas at the moment such as sculpt mode and some of the new edit mode tools.