Generally it's easier to rebuild the graph rather than taking it apart
to make changes. If you have layers made of several nodes you can use
proxy pads to keep track of those subgraphs and still be able to
discard the main graph.

Gimp generally operates by building and retaining a graph for each
layer with a proxy output node, then reassembling the layer stack only
if you move things around. Adjusting the opacity or changing the layer
mode will modify properties of the existing nodes and not rebuild the
graph.

My GEGL app, all the graph related things happen in
drawcanvas.py:_build_output_graph() and layers.py:
https://bitbucket.org/DanielSabo/thedraw

The layers code in this jumps though a lot of hoops to avoid using
no-ops for reasons that were fixed in GEGL 0.3, if I was to write it
now I would use no-ops like gimp does instead of all the weak refs.
_______________________________________________
gegl-developer-list mailing list
gegl-developer-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gegl-developer-list

Reply via email to