* Daniel Rogers <daniel@xxxxxxxxxxxxxxxxx> [040320 14:10]: > Michael Natterer wrote: > >Dave Neary <dneary@xxxxxxx> writes: > > > > > >>We could even consider having a quickish stable release after 2.2 with > >>just GeglImage replacing GimpLayer, which would give us a chance to > >>work out any wrinkles in that milestone before we start really relying > >>on it... > > > > > >GeglImage can't replace GimpLayer, it can only replace TileManager. > >GEGL's scope is not to provide a replacement for GIMP's highlevel > >object system (GimpImage, GimpDrawable etc) but only for the lowlevel > >pixel storage buffers and the operations on/between them. > > What I mean is that everywhere it makes sense to _delegate_ to gegl > structures things should be made to do so. I did misspeak about > GimpImage, I know it is not similar to a GeglImage (more like a graph or > somesuch). GimpImage and GimpLayer just need to be modified to do their > image processing work with GeglNodes. ---- start of mind dump ---- I don't know if I'm starting to hate XML, but I am at the moment editing a music video in vim, doing compositing in xml, and it is no fun. So I'll be lax on the syntax of xml transformation of my mind. What would be exported is a model api,. the GimpImage model,. which is constructed using gegl. The data stored in the GimpImage models data store is as follows: make a mental %s/GimpGroup/GimpLayer/g or gimplist or whatever is pleasing,. this is a mental draft trying to translate some other internal datastructues. _(GimpImage file='test.xcf.tar.bz' | |___(GimpGroup | |___ GimplGroup label 'background' | | | |___ GeglProvider type 'drawable', | | width '320', | | height '240' | | _gegl_node='0x??' | | _gegl_node is private | | and serialized to a | | png, tif, .geglswap or what | | ever file format, that | | we have a loder for | | | |___ GeglFilter type 'colorcorrect', | | brightness '0.0', | | contrast '1.2', | | white_cb '0.0', | | white_cr '1.2', | | black_cb '0.1', | | black_cr '0.0' | | | |___ GeglFilter type 'blur', | | radius '5px' | | | |___ GeglFilter type 'stroke', | svgpath '? movto ?? ? lineto ??', | color 'rgb(0,0,0)', | opacity '(could be stored according to | parametric cruve', | brush '' | |___ GimpGroup label 'svg layer', | | x '0.5', (which is also th | | y '0.5' e default values) | | | |___ GeglProvider type 'svg', | resource 'svg_layer_0.svg' | |___ GimpGroup label 'text layer'. | x '0.5'. (default) | y '1', | local_x '0.5', | local_y '1' (non default origin) | |___ GimpGroup label 'noise group' | |___ GeglProvider type 'blank', | color 'rgb(0,0,0,0)' | width '320' | height '240' | |___ GeglFilter type 'noise' | scale '2.0' | xoff '0.0' | yoff '0.0' | |___ GeglFilter type 'apply mask' | |___ GimpGroup label 'layer mask' | | |___ GeglProvider type 'pango' | content 'pangomarkup' | font 'sans' | size '10.2' | |___ GeglFilter type 'blur' radius '0.3' At least I have some of my thoughts shared now,. hopefully in an attackable manner. /Øyvind K. -- .^. /V\ Øyvind Kolås, Gjøvik University College, Norway /(_)\ <oeyvindk@xxxxxx>,<pippin@xxxxxxxxxxxxxxxxxxxxx> ^ ^