Finally found the solution by copying from goat-exercise.
This is the gegl code I needed:
gegl:unsharp-mask
std-dev=3
scale=0.5
threshold=0
Now at the place in my code where the old unsharp-mask plugin was removed I put this:
intersect, x, y, width, height = easteregg_lay.mask_intersect()
if intersect:
Gegl.init(None)
buffer = easteregg_lay.get_buffer()
shadow_buffer = easteregg_lay.get_shadow_buffer()
graph = Gegl.Node()
in_put = graph.create_child("gegl:buffer-source")
in_put.set_property("buffer", buffer)
unsharp = graph.create_child("gegl:unsharp-mask")
unsharp.set_property("std-dev", 3)
unsharp.set_property("scale", 0.5)
unsharp.set_property("threshold", 0)
output = graph.create_child("gegl:write-buffer")
output.set_property("buffer", shadow_buffer)
in_put.link(unsharp)
unsharp.link(output)
output.process()
# This is extremely important in bindings, since we don't
# unref buffers. If we don't explicitly flush a buffer, we
# may left hanging forever. This step is usually done
# during an unref().
shadow_buffer.flush()
easteregg_lay.merge_shadow(True)
easteregg_lay.update(x, y, width, height)
easteregg_lay is my layer in question.
Maybe this helps others struggling with similar problems.
PS.: “input” was replaced by “in_put” because
PyCharm said "shadows built-in name ‘input’ ".
So I thought it’s better to use something else.