Photoshop: Record actions along with history states to allow later replay to reconstruct from a changed history

  • 3
  • Idea
  • Updated 4 years ago
  • (Edited)
Had an idea in trying to fix a problem that came up -- in that it would be nice if one could record the 'action' or 'transformation' that it took to go between history states along with the history states themselves.

That way, if one realized that some set of steps, now 100 steps back, resulted in some separate layer looking bad, they could go back and remove the history states those specific changes. Then from there, they could reconstruct their current state by replaying the recorded actions that were recorded to get to each history state, that could allow reconstruction the file as though those changes weren't done.

There could be places where it wouldn't work -- like if you created a layer and did a bunch of stuff on it -- you would need to deleted all the stuff that worked with that layer or any that depend on it, but if you are working on separate layers as I was, I just needed to delete the actions of the wrong layer and go back in history on that 1 layer -- not everything else.

Neither did I really want to start from scratch on that 1 layer as I'd already done some work to create a custom gradient in a special container. But the ability to record and replay actions (in addition to current state recording functionality, which would remain default), would add alot of flexibility in going back and changing something with out having to repeat all subsequent steps....

Obviously, if what I do, is go back and delete some layer, then if I forgot to delete all of the action I applied to that layer, then any action applied to that layer would have to be ignored.

But in my case, I had created a custom shape with a custom gradient on its own layer (having neither saved the custom shape nor gradient, because I'm making so many parts that way, I don't think of them as 're-usable'). Then I did a warp and crop on that layer, that after putting in place with other layers, arranging them, adding some addition shade layers, I realized that the shape of the warp was wrong and wanted to go back and redo the warp and crop, but leave the subsequent changes in place.

But undoing the warp (or deleting the state -- even in 'multi-history mode), doesn't undo that 'action' in future recorded history 'states' (because history is recording 'states', not actions).

However, if actions (transformations) were recorded along with each state then in multi-history mode, after deleting unwanted steps, instead of trying to go forward in my list of history states (unproductive as subsequent states still were stored with that warp applied). I could instead apply all the actions recorded along with the states.

Even changes like 'painting'/brushing' -- between states, there would be a 'transformation' action that could be applied to go from one state to the next -- certain bits were changed between the states by some 'delta RGBA'.

At the most primitive level, it would be the diffs between the two binary layers (RGBA, or HSBA..etc). How those diffs were applied, would, of course, also be recorded, -- was eraser used to lower alpha? Was close used to copy (then the clone path with current source would be recorded),..etc.

If someone was mixing layers and a clone source had been based on 'all layers and below', (one of which you deleted), at worse, the script application could fail because a source dependency is missing -- OR the actions could be replayed knowing that one of the original source layers was missing, and reproduce the new result (which may be what was wanted!).... The decision to go forward in the case of a broken dependency would be a user choice, but by default, I'd tend to go forward unless it was an action that actually would have CHANGED the content of that layer (for then there's no place to put the new change). I suppose even there, a new layer could be auto-created to make the change on, but I think that type of action would be more unpredictable than failing.

Anything that would have used that layer as a source (because clone or dropper is measuring all layers below), would continue without that layer, BUT anything that changed the content of that layer would not. (order changes applied to that layer would be ignored).

This type of flexibility could allow huge amounts of time savings -- since all the subsequent steps could be redone/recreated manually -- but that's the whole reason why we have computers -- so we don't have to redo the work we've already done. If the actions/transformations were replay-able, *as an option*, rather than the current jumps forward in history states, it would greatly increase the flexibility, usability and power of the history & actions tools!

Hope you'll consider this...
Photo of L A Walsh

L A Walsh

  • 1 Post
  • 0 Reply Likes
  • hopeful

Posted 7 years ago

  • 3
Photo of PECourtejoie

PECourtejoie, Champion

  • 764 Posts
  • 276 Reply Likes
It sounds like a nice idea, but basically, Actions records tools ans settings used, while history records the states of the image as you have stated.
Actions can't record brush strokes...

Using non-destructive behaviour brings you closer to your goal, by using smart objects, adjustment layers, etc. than a total rewrite (I.E. no compatibility with older actions) of the actions/history.

Also, did you explore non-linear history?
Photo of Jeffrey Tranberry

Jeffrey Tranberry, Sr. Product Manager, Digital Imaging

  • 13637 Posts
  • 1548 Reply Likes
In Photoshop CS6, you record brush strokes in actions with "Allow Tool Recording" option in the Actions panel menu.
Photo of Nat Brown

Nat Brown

  • 1 Post
  • 1 Reply Like
It would be nice if, from a selection of steps from the history panel, an action could be made/'recorded'. I presume the relevant data is there, so it's just a matter of, maybe, reformatting it or something similar. I understand the application of adjustment layers from an existing file, which is useful and a similar concept, but this seems like it has additional utility.

This reply was created from a merged topic originally titled
Photoshop: Turning history into action..
Photo of Jerry Tirado

Jerry Tirado

  • 2 Posts
  • 0 Reply Likes
This reply was created from a merged topic originally titled
Use History Panel to Create Actions from History Steps.

Many times I'm creating backgrounds/illustrations/effects while designing for a project, I realizing I could've recorded those Actions and used them on another project or simply shared the Action online. In some cases I go back and run through the Actions creation process but mostly I just leave it until next time I need to do again.

I think it would be great if there was an option in the History Panel to save history into an Action. Maybe under the History Options add a function which users can turn on or off that allows them to select multiple history steps and create an Action.