Re: enable a GEGL graph evolution log

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hey,

On Sat, Sep 24, 2016 at 07:23:30PM +0200, Jon Nordby wrote:
> On 10 September 2016 at 23:12, Philip R. Dutton
> <fooledbyprimes@xxxxxxxxx> wrote:
> > I ran across much talk and some implementation of GEGL.  I can see how the
> > Undo /History features would make great use of the DAG graph data structure
> > used by GEGL.
> >
> > Q: How hard will it be to log the GEGL graph evolution to disk in real-time
> > using perhaps a rolling log?   What is the best approach for an idea like
> > this?
> 
> For the approach, pippin and I sketched together a basic spec a couple
> of years back.
> https://mail.gnome.org/archives/gegl-developer-list/2012-June/msg00004.html
> https://git.gnome.org/browse/gegl/tree/docs/journal.txt
> 
> [...]
> 
> *However*, I believe the GEGL graphs used in GIMP are still "short
> lived" - used for the duration of one operation and then applied
> destructively. Meaning that there is no one graph which represents the
> entire document and thus the evolution of your artwork.
> It may be possible to try to stich together a sort of journal from all
> these , but probably there would be need for a significant amount of
> GIMP specific logic in addition... Not sure of the feasibility here.

Other than what Jon already said, I wanted to point out that if you
ran gnome-photos [*] with G_MESSAGES_DEBUG=all and
GNOME_PHOTOS_DEBUG=gegl, then it logs an XML representation of the
graph whenever something causes it to change. The final graph is
stored persistently (as XML) in ~/.local/share/gnome-photos.

Since the editing UI is relatively simple compared to GIMP, we use
snapshots to undo a whole series of operations, instead of undoing
every single change in the properties. I think this is similar to
transactions in Jon's references. The snapshots are again just XML
in memory.

All this is pretty straightforward in gnome-photos, because, unlike
current GIMP versions, it is structured for non-destructive editing.

Cheers,
Rishi

[*] You'd need at least version 3.20.x.

Attachment: pgp3AbwYVv0c3.pgp
Description: PGP signature

_______________________________________________
gegl-developer-list mailing list
List address:    gegl-developer-list@xxxxxxxxx
List membership: https://mail.gnome.org/mailman/listinfo/gegl-developer-list


[Index of Archives]     [Yosemite News]     [Yosemite Photos]     [gtk]     [GIMP Users]     [KDE]     [Gimp's Home]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux