A few days ago, we finally merged an early implementation of link layers (layers linking to external files) into @GIMP.

This has various usages, e.g. the ability to work at several people on a same image by linking a separate document (e.g. someone working on backgrounds and another on characters). Or again when working with different software.

For instance, in this example, the layer links a #SVG file. As soon as it is saved in #Inkscape, #GIMP picks up the updated version automatically:

@GIMP Another nice ability of link layers is that all consecutive transformations are squashed into a single transformation, which will lead to much smaller quality loss.
For instance, the first image is a standard import then rotated 8 times at 10°. It shows more blurry than the same 8 times 10° rotation on a link layer (which will be as sharp as a single 80° rotation).

@GIMP Note that I am planning to port part of this work to all types of layers eventually though as a last-second merge concept, because destructive layers are still meant to be edited through direct pixel edits.

Yet it should be possible to lessen quality loss even on destructive layers, for the cases when several transformations are done consecutively.

This is work-in-progress.

@zemarmot @GIMP
For me, the biggest missing piece for an NDE workflow is that the transform tools are still destructive in GIMP 3.0. That's why I use the "Recursive Transform" instead of the standard transform tools at the moment.

https://www.youtube.com/watch?v=z4qRADyXh_w

For me, it sounds like you are now summing all transformations into one, but it will continue to be destructive, right?

Transform Non-Destructively in GIMP 3.0 Using This Trick

YouTube
@supertobi @zemarmot @GIMP Recursive transform is a new knowledge to me. It's really good. Thanks for sharing. Atleast when scaling down and up, if the image stayed at initital quality I will be happy. Becuase sometimes finding that perfect size needs some extra scaling back n forth. The link feature is very promising.
@zemarmot @GIMP A useful feature for scripts would be the option to open an image from the command line as a new image with the original image as a linked layer, rather than as an image.
Linux Command Line

Overview of Krita's command line options.

@zemarmot @GIMP So … does that mean that scaling and rotating those layers is non-destructive? I mean, they’re links, and the original image does not get changed, right?

@dirk @zemarmot @GIMP Yes, that's the idea!

There's also plans to incorporate these "lazy transforms" for raster layers - basically, you could chain multiple transforms (like repeatedly rotating a layer) and they won't be fully applied until you do something else (like paint on the layer). https://fosstodon.org/@zemarmot/115111966854766687

ZeMarmot :gimp: (@[email protected])

@[email protected] Note that I am planning to port part of this work to all types of layers eventually though as a last-second merge concept, because destructive layers are still meant to be edited through direct pixel edits. Yet it should be possible to lessen quality loss even on destructive layers, for the cases when several transformations are done consecutively. This is work-in-progress.

Fosstodon
@zemarmot @GIMP it is a very good functionality, thanks
@zemarmot @GIMP this is fantastic!