I think there’s a misunderstanding here. If all you do when you update a snapshot via :invalidate() is draw into the area without clearing it first, then you’ll be painting on top which is what most people want from this feature.
In your last post you say:
but when you call invalidate(), you want the original texture to be restored, so subsequent accumulations are “forgotten”.
This is not what people want when thinking of a paint package though.
The way I see it there are only really 2 direct ways of using snapshots - it either clears the canvas and draws everything in its group, or it doesn’t clear the canvas and draws everything in its group on top of the previous snapshot state - hence why the append thing stumps me a little (although your technical points are of course entirely valid).
Since I’ve already got a means of making snapshots accumulate how I want (via the double buffering) I’m not unduly worried, but I *am* concerned that what you say in a few places means we will never get a way of saving a snapshot to a file (although I’m hoping I misunderstood and you were referring to saving / loading when the app context changes). I do accept that as it stands that I am not going to be able to handle a proper art program with an infinite number of lines easily (although I would in this case refer back to my idea of my code keeping the last X 100 elements live or whatever, and whenever you update the snapshot I could save it then, as some sort of draft format for example).
If a general save of a snapshot image takes a few seconds, I think most of us could live with it in that context as this wouldn’t be a real-time action - IE a function we can call to do that - I am not referring to saving and loading now when you swap apps or something
People are going to be screaming for this function, whether it is slow or not, as it lets you make all kinds of photo editing apps and what-not.
Also, I’d be very curious regarding your thoughts on what I said about making snapshots image factories as opposed to an actual image type thing themselves - look at the third post here: http://forums.coronalabs.com/topic/40590-snapshot-as-paint-input/
I mention it now because I think if it is something you’d consider doing, it needs to be planned out ASAP - it wouldn’t change much from our point of view but I imagine it might involve some serious changes under the hood. Which is never a strong selling point I admit, but I think awesome though snapshots are, they will ultimately fall well short of their potential if you can’t clone or re-use the image multiple times in real-time.