GEGL analysed
For interaction architects, the integration of the GEGL is on a conceptional level a big step forward, by enabling a much more natural and direct interaction, that is closer to the way that our envisioned GIMP users are able to think about manipulating images.
Also during the expert evaluation, it happened dozens of times that an interaction problem was found, and a simple ‘ah, GEGL will solve that’ was enough to deal with it.
But all this goodness and greatness mentioned above is delivered through the secondary effects of introducing GEGL, not from just shoehorning GEGL under the bonnet. Central to all this is the display and manipulation of the GEGL operations list for the current layer.
The guiding principle for the operations list is that it must be very straightforward to review, readjust, delete, reorder, and drag + drop operations, and even merge operations of identical type. And this according to a handful of very simple rules one has to learn. This will unlock the potential of GEGL on a user level.
Another guiding principle is that the user representation of GEGL operations is a linear one (a list) although the internal GEGL representation is a tree. The most important reason for doing this is simplicity, keepin the game rules simple. Also it matches the user experience of building up the operations list as a linear process in time, where all the list oprations mentioned above are then ‘cheating history’ or ‘history repeated’, for duplicating operations.
The operations list will be as elematary to using GIMP as the layer stack. By default, both will have to be displayed, as the current layer(s) form the context for the shown operations.