Jump to content

History erased when saving to PDN ?


Recommended Posts

Layers aren't really worth it...

:shock:

Layers are most definitely worth it! If I have an image with 20+ layers (I've done it before, quite often) with effects and gradients all over the place, Layers are an invaluable tool if I ever want to change anything. That way, I don't have to replicate everything just to change my background, et cetera.

Please understand I do not in any way mean to devalue your suggestion by this, I've just worked with layers so much that I don't understand how one could see layers as a pointless thing to save. :wink:

I am not a mechanism, I am part of the resistance;

I am an organism, an animal, a creature, I am a beast.

~ Becoming the Archetype

Link to comment
Share on other sites

I think he means that he could simulate saving the history by making a whole new set of layers for every version of his image. Or, if his image is only one layer, he could make invisible duplicate layers as a way to keep the older versions available. It is not worth it to do this every time you make a little change.

I agree that the history should be saveable. I will look into the code if no one else does.

Link to comment
Share on other sites

If you were able to save the history along with the layers in a .pdn, the .pdn file would be huge. Each step in the history is just like an image on its own. So, if your history window had 100+ steps in it... it would be just like saving a 100+ images, plus all the layeres you have. This seems like it would create a very large file size but I may be wrong.

BK_BloodSaw_sig.png

- DO NOT contact me asking for the .pdn of my avatar or the PDN logo. Thank you. Have a nice day.

Link to comment
Share on other sites

The history was never designed to be persistable. Plus, if we were to save the history with the PDN file, we wouldn't be able to change how things work in the future. This would prevent us from adding, removing, or changing things (or fixing things!). For example, if we wanted to rewrite the line drawing tool, it would probably need to store different data in its history action. But our hands would be tied, because the format was already set in stone. We could write code to migrate the history data between different schema versions, but that just doesn't scale with 2 developers and tens of history action types. We'd spend all of our time figuring out data migration issues instead of adding, changing, or fixing things.

Which leads to the next problem. Maybe we'd just discard the history when we did change things, but that would also be obnoxious (I can imagine the e-mails now ... "I upgraded PDN and my history disappeared!!! BUG!").

Of course you may point out that we do persist history data to a temp directory while Paint.NET is running. It looks like every history action results in 1 file in that directory. This is partially true, but also misleading: not all history actions save their data to disk. And those that do only save the "big" portions of their data (e.g., large bitmap regions). And even then, they are still coupled to the rest of the history action that resides in memory. We do this to relieve memory pressure, as otherwise you could run out very quickly. Just try using Paint.NET v2.0 for awhile and you'll see the memory usage keeps going up and up and up.

And yeah, it would result in huge files. Or we'd save two files, a .pdn and a .pdn_hist or something, and there'd be the possibility of mismatches between the two. It would just be a huge nightmare.

So, in summary, not saving the history is the lesser of all evils or nightmares. Sorry guys. I of course agree that it would be Very Cool.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

No, i meant you can't save the work and continue it next day or so. But now you simply have to finish it or risk losing all the work in case of power failure or something third. You can alwas clear actions history or flatten the layers but you can't save the work as it is and continue in conditions mentioned above.

And when you do something and save it's permamanent. Saving in several different files isn't really the most obvious choice...

rejzor.png
Link to comment
Share on other sites

I'm not really sure what you're getting at here. .PDN isn't mean to be an interoperability standard, like for display on web pages or anything, just like .PSD [for Photoshop] isn't.

PDN isn't worth it if you're just saving a 1 layer image, that's true. Because of this, we default to suggesting .PNG in the Save dialog when saving a 1 layer image. We only suggest .PDN when there are 2 or more layers.

Not saving the history data is just the currently feasible level of functionality we have. Maybe someday it will make sense to do this, but right now it is not.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

Exactly, and thats why it should be more flexible than just saving layers. I mean i can save 4 PNG files as separate layers and load them up next time. Harsh example but not really much different than just PDN file... Saved histroy would change that completely (so you can load up the file anytime you want, press Ctrl+Z to undo few actions and try something different).

This would make PDN files extra useful.

rejzor.png
Link to comment
Share on other sites

Except that those 4 PNG's would not retain blending modes, opacity, metadata, or anything else we choose to add in the future. Layer masks, text layers, layers-as-adjustments, adjustments-attached-to-layers, composite layers, annotations, who knows.

PDN is a pretty general purpose file format. Going by the numbers, right now it only adds blending modes and opacities to the mix (oh and a "Visible" checkbox), but those are pretty important benefits.

It would also be annoying to have to re-import those 4 PNG's every time you wanted to edit them as a group. Computers are very good at remembering and automating things, so it makes sense to take advantage of that, even if only "a little."

(Regarding the metadata: Yes, other file formats provide metadata. However, PDN has metadata for the image as a whole that is not restricted to EXIF, as well as per-layer metadata. The latter is neither used nor exposed in the UI yet, and the former is not editable yet. But the capability is there, and is just one example.)

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

Saved histroy would change that completely (so you can load up the file anytime you want, press Ctrl+Z to undo few actions and try something different).

I'd suggest, if you want to try something several different ways, save iterations of your file. That or create a duplicate layer your source image before you edit it. Then you could try your first idea in the duplicated layer and still have the original source image you can duplicate again if you want to try something differently in the future.

I am not a mechanism, I am part of the resistance;

I am an organism, an animal, a creature, I am a beast.

~ Becoming the Archetype

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...