Interaction between Smart Object, Smart Filter(s), Layers and Content-Aware Fill
I recently encountered a problem in Photoshop using a combination of smart object, layers and content-aware fill.
Currently, there’s a lot of push for non-destructive editing using Smart Objects and Layers. And a lot of push for the smarter tools like Content-Aware fill and similar. Unfortunately, they don’t appear to play together very well or consistently in Photoshop.
I opened an image and created a smart object.
I then made a selection on a blank layer and used Content-Aware Fill to remove some distracting elements. Repeat as many times as necessary to clean up the image.
I then realized I needed to make an adjustment to the image so I added a Camera Raw Filter to the Smart Object, went into ACR and changed settings.
When I returned to Photoshop, the layer from the Content-Aware fill no longer matched the rest of the image in the Smart Object.
The brute-force option would be to trash all the Content-aware fill layers created by doing the image cleanup, which could force redoing a lot of time-consuming work.
Creating the Smart filter FIRST, THEN doing the Content Aware work isn’t useful because as the image evolves I MAY want to go BACK into the smart filter to make additional adjustments. OR I may want to add something like a Shadows/Highlights Smart Filter later. Or use ANY smart filter that would cause a mismatch with any pixel-bearing layer derived from the Smart Object.
The option of creating multiple layers of nested Smart Objects is not remotely appealing and I suspect would be rejected by most users as too convoluted and opaque.
I would LIKE the ability to have Photoshop update layers derived from a Smart Object with updated pixels resulting from the Smart filter.
Something like “Layer ‘X’, your pixels are based on smart object in layer ‘x-4’, and a smart filter changed how that smart object is perceived, so I’ll update your pixels with new ones from the current perception of the Smart Object.”
Or even better, a Preference that could be set to tell Photoshop to “Keep any layer with pixels derived from a Smart Object updated with the current view of the Smart Object.”