I'd like to be able to use an older revision of the image being edited as the "paint" for the brush tool. For a longer explanation, I'm going to talk about Photoshop and Gimp, purely as a means for reference. In both applications, there is a "History" dockable dialog that lists past revisions of the image being edited, complete with a thumbnail preview of each revision. Clicking one such list entry reverts the image to that revision. Both applications also have brush tools that can make use of a number of different "paints". For example, a solid color or a gradient, or an image tile. Unlike Gimp, however, Photoshop offers an interesting combination of these two as a further "paint": There is a "History Brush" tool that allows one to paint an older document revision, selected in the "History" dockable dialog, over the current revision, using a particular brush shape and settings. It's essentially similar to painting with an image tile, just that the tile has the same size as the image and happens to be a past revision of the image. As a practical example, imagine having a colorful image open, and then applying a desaturation operation to it. Now you can select the history brush tool, chose a revision of the image prior to it being desaturated as the source, and selectively paint back the color, to accentuate things, etc. This is indispensable to my workflow; it's somewhat of my pet feature. It's a way of working I enjoy tremendously. Being able to paint back an old revisision in places just frees you up a lot in how you work on a piece. It's a bit of a safety net. You have to think less about what you're doing beforehand, since you can always easily paint back older revisions in the areas where you need them, without doing a wholesale undo. I started talking about this with Bart Coppens and others as far as two years back, however Krita's Undo/Redo system apparently wasn't yet mature enough at that point to be able to reconstruct arbitrary past revisions of the image quickly and simply enough to feed into the brush engine. Since Krita has made tremendous progress since then, I'm hoping implenting this might be a lot more feasible today. Lukas encouraged me to file it, anyhow ;-).
WISHGROUP: Stretchgoal
Wow, seven years ago already. We learned a couple of weeks ago what makes the photoshop history brush possible: they don't have undo/redo commands, but store a shallow copy of the image for every step.
Did you talk to them or what was the source of that info? (Sounds like a story ...)
Yes, Dmitry met one of the adobe chief c++ hackers and had a nice, long discussion. There's also a video: https://www.youtube.com/watch?v=QGcVXgEVMJg
Thank you!
I believe that, unfortunately, it's still not that easy to implement even with the last year's Tusooa work on snapshots docker. (Check out the snapshots docker; it might help you, too). My workflow is that I just paint on usually one layer, maybe two, sometimes I add more and then group them; and when I want to move to another stage, I just duplicate the layer or the group. Then I can easily compare two versions and I can refix things I broke in the new revision by merging down the good results but erasing the bad ones, etc. It's not as easy as you describe it in PS but it works for me, at least.