New "import as layer" schemes
Submitted by Jehan
I would like to propose 3 new use cases for the "import as layer" feature. First I'll remind the current feature: it imports a "copy" of the image as a new layer, and if this image is a XCF, it creates as many new layers as the original.
My proposition is to allow choices of how the import will work in the import window.
1/ When you import XCF files, allow the possibility to only import some layers (display a list of the layers).
Indeed some times you want to import only part of an image; a little like in Blender a .blend file can sometimes be used as a "library" that you can browse to only import some objects, or some patterns, material, scene, etc. Well here we could have library XCF which you could browse and partially import.
2/ Allow to optionally merge the imported layers in a single layer.
Well sometimes you want to have all the layers again as separate layer that you can modify again. But other times, you are only interested in copying the "finale" image that would be displayed by a XCF file. In this case, receiving sometimes several dozens of new layers can be a huge mess in your current image with already a lot of layers. Of course you can always merge these imported layers by hand yourself afterwards, but why waste your time if that was your goal from the start!
3/ Allow to "link" an image (whatever XCF or other) or layers from a XCF image instead of importing it. When you do this, you cannot modify the resulting layer(s). You can change the "locale" (not the linked one) offset, opacity or this kind of thing, but not draw in this "linked" layer. Of course, each time you open the file, the display would update to the current state of the linked XCF.
Once again, this is inspired by Blender where you have the possibility also to link some objects (again, whatever: scene, material, etc.). The advantage is obvious: sharing data from a central point.
For instance let's say I do an animation, and I draw some background in a XCF. This background would be used in several different cuts, each cut being a separate XCF file. Considering that, when I draw characters or objects for my cut, I will want to import my background XCF as a base in each and every of these many cuts. Now let's say that you update the background, like for instance change slightly the chosen color of the sky. You would have to go back in each cut file which imported this XCF, delete the previous imported layer(s) and import it again. If the background XCF was linked instead, you would not need to do this (next time you run your frame extracting script, the new background would be used, without even having touched the cuts again).
Also that allows several people to work on an image in the same time for instance (one person draws the background, another the character for instance, and there is no file resource conflict).
What do you think of my propositions? If you have comments, let's hear them. If you think that could nicely fit it, I'd like to work on implementing such a feature sometime. :-)
Version: git master