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@xxxxxxxxx https://mail.gnome.org/mailman/listinfo/gegl-developer-list