Sure, In order to make undo work for pixel operations, you need to capture the canvas, store it to a big list, then when the times comes paste it back. The naive implementation would be to literally store a stack of textures, but seeing as we're completely on gpu, that will eat up vram fast, especially since we are working…