After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 355021 - "Open As Layer" function that references an external file rather than copying it
"Open As Layer" function that references an external file rather than copying it
Status: RESOLVED DUPLICATE of bug 143138
Product: GIMP
Classification: Other
Component: General
2.2.x
Other All
: Normal enhancement
: ---
Assigned To: GIMP Bugs
GIMP Bugs
Depends on:
Blocks:
 
 
Reported: 2006-09-08 21:42 UTC by pnico
Modified: 2008-01-15 13:11 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description pnico 2006-09-08 21:42:46 UTC
This would be similar to Illustrator's "Place" or the new "Smart Object" feature in Photoshop CS2, except that Smart Object layers cannot actually reference external files (the document they represent is a copy that is stored inside the PSD file containing them).

Basically, you would be able to open an external file (XCF, PNG, PSD, anything GIMP can read) as a layer, specifying to link to that document, and the parent document would from then on reflect whatever changes were made to the linked file. Maybe double-clicking the layer's icon could open the linked document for editing, using GIMP if it's in a format that GIMP can save, or possibly using a user-configured external application if not.  Also, maybe externally-linked layers would have settings for horizontal and vertical alignment (centered, topleft etc), to determine what happens if the external document changes size. If the file goes missing, you see a red X or something.  Probably the link would be stored as a path relative to the parent document.  Plugins and filters that access the image data of an externally-linked layer would see a read-only, flattened bitmap representation of the external document.  

Example:  I want to make a grid of 100 identical hamsters.  I make a GIMP document, draw the hamster using however many layers I want, and save it.  Then I create a larger GIMP document, and open the hamster document as a layer that references the external document.  (The layer can be transformed and have modifiers applied to it like a normal layer, but its internal image data cannot be modified.)  I make 99 copies of that layer and arrange them all in a grid, put some text on top for a title, etc. and save the larger document.  Later, I decide that hamsters should have glasses or green eyes instead of blue, so I just edit the hamster and it's automatically updated in the larger document. Or maybe I want to make another document that will always have the same exact hamsters as the first one even if I change the original hamster - I just link layers in both documents to the same hamster file.

This feature would save all kinds of time and frustration and allow much smoother collaboration between multiple artists, designers and coders.  It could potentially cut down significantly on total file size as well.  Although I'd love to see #86337 implemented and I really hope it gets in, this feature could provide a different way of accomplishing many of the same things.  Together, they could make GIMP suddenly way more usable for things like website and game development.
Comment 1 Sven Neumann 2006-09-09 00:11:31 UTC
gegl already has this functionality. Not sure if it makes sense to have a bug-report for this particular aspect of the plans we have with gegl.

For the moment, your usage scenario is pretty much the same as bug #143138, resolving as a duplicate.

*** This bug has been marked as a duplicate of 143138 ***
Comment 2 pnico 2006-09-09 00:35:20 UTC
OK - this feature is more about using completely external files that are stored separately on disk and can be shared between multiple GIMP documents, that can also themselves be multi-layered GIMP files, PSDs or really any other file format GIMP can read well enough to generate a flattened bitmap from.  But if GEGL already does this, that's even better, or at least it will be when it's finally integrated into GIMP.

Ghost layers would be great too, but I'm more into the shared files thing, for project management reasons.