On Sun, 11 Jul 2004 13:46:09 -0400, Fredrik Alstromer <roe@xxxxxxxxxxxxxxx> wrote: > Hi all! > > The idea has been inspired by photoshop's effect layers, and the basic > concept would be plugins that registers a new layer type. When sampled, > the plugin is more or less simply executed, and the results are cached > until any layer below the "programmable layer" has been modified. Layer > modes and opacity are applied as if it was a normal layer, along with > any layer mask. You actually want even more,. you want to be able to group layers and apply an effect to the group, instead of all layers below. An extensive example with an upside down layer list (should actually be flippable by just using a proxying GtkTreeModel), where the entire image contents is generated using procedural plugins and effects is at: http://freedesktop.org/~pippin/aluminium/screenshots/bauxite/2004-06-20b.png At the moment the application where this happens is a testbed, but it seems like design decisions done there about how to apply GEGL to an advanced layer stack seem sane. In it's current incarnation that implementation is disassembling the current layers into it's more atomic parts,. making the opacity of a layer an effect layer in itself, creating layers consisting of multiple atomic effects, is not a problem in this model and would allow creating a ui that in basic usage is equvialent, (or preferabbly more equvialent) to the current layers and channels dialog.