There’s a tool that I’d really like to have, and AFAIK it does not exist at all. When drawing textures freehand one typically wants them to be seamless. How I’d go about that is having larger image than the texture being drawn. Let the texture be a square in the middle of it. If any pixels change before the left edge of the texture, mirror that change to the before the right side inside the texture. Same from the other overlaps. That way, you can draw something at the edge and the opposing edge will be affected.
Is it possible to intercept the drawing with python and do these changes? I think hooking up to the event where GIMP creates a undo step would be best place. But it is important I know the boundiung rect that has changed - if the user draws a line accross the entire image, the result is undefined.