Hi everyone,
I’m Abdelhadi, a computer engineering student from Egypt, and I’m really excited to be working with the Synfig community this summer through Google Summer of Code 2025! under the mentorship of @mohamed.Adhamc
Many of you know that Synfig had a brush tool before, but it had problems—it was slow, the strokes didn’t look good, and undoing actions didn’t always work right. My project aims to build a brand new, reliable brush tool for smooth and powerful drawing.
Project Goals :
Smooth Drawing and Erasing:
The new overlay preview system shows strokes instantly as you draw or erase, using a fast offscreen buffer instead of updating the layer in real time. This avoids lag, improves stroke quality, and ensures smooth results. Final rendering happens only after the stroke ends.
Reliable & Flexible Undo/Redo:
Each stroke is a single undoable action. Users can choose between three undo modes—pixel buffer (faster, higher memory), re-render (lower memory, slower), or checkpointing (a mix of both)—depending on their performance and resource needs.
Customizable Brushes: A new Brush Profile Editor will allow you to create, tweak (size, opacity, hardness, spacing, etc.), and manage your brush presets.
Your feedback, ideas, and help are more than welcome as the project moves forward.
Lastly, I will use this thread to keep you all updated on my progress once I start working on this project full-time in July.
If you have any questions, feel free to also ask them in this thread
Personally, I would like there to be a brush tool, but vector. At least that, you could choose between Raster brush and vector brush. I consider that there are already very mature tools such as Krita and Gimp that do their work with bits map images very well. After more than a decade of using Synfig, I believe that what is needed more in this aspect of the brushes, is a vector tool that is light. I have proposed a request for a function for this issue for a long time FEATURE REQUEST: VECTOR BRUSHES · Issue #678 · synfig/synfig · GitHub.
Anyway, I appreciate your collaboration very much.
Thank you very much for helping to improve Synfig .
Hi @Archer
Wow, over a decade with Synfig—that’s impressive! Thanks for sharing your perspective.
I completely understand your preference for a vector brush tool, especially given Synfig’s strengths as a vector animation platform.
tools like Krita and GIMP are indeed excellent for raster workflows, this project addresses community need for integrated raster drawing capabilities. This will allow artists to seamlessly add hand-drawn details, texture overlays, or frame-by-frame corrections within Synfig, without needing to switch between applications (a common pain point for artists).
I agree your suggestion for a vector brush tool, I think it would be a powerful addition.
I suggest you consider proposing the idea next year for GSoC 2026—it’s a fantastic opportunity to bring this idea to life.
Hello. Thank you very much for answering Abdelhadi.
You’re right about fixing frame by frame, I’ve had to do it many times. But the problem that arises from doing it frame by frame with raster images is the following: Synfig Studio is a software that offers one of the easiest ways to export to any resolution, even if from the beginning we work with a very small canvas size, we can export to a larger resolution without any complications, This is thanks to vector graphics. Exporting at a higher resolution, vector graphics scale smoothly, but the thing about bitmaps is that you see more of their pixels and their decoupling in quality.
In a previous version of Synfig they added a formidable and very useful feature, which is that if you import an image into Synfig and it is being edited with an external tool such as Krita, saving to Krita will update the raster image in the Synfig workspace. This feature has been very useful for animations where I use raster image sequences in Synfig.
What I humbly propose is to orient this form of drawing and erasing, in addition to being able to easily draw on the same layer frame by frame, towards the creation of vector graphics. I think it would be the best thing for Synfig.
It is with all the good intentions. Please don’t take it the wrong way. I sincerely respect your talent and vocation as a software developer, and I know how difficult it is to bring the idea to reality.
As I said before, thank you so much for helping to improve Synfig Studio .
Congrats on being accepted for GSoC.
I am a little bit divided on the feature though, but it’s of course just my opinion. The thing I am afraid of is Synfig becoming an unmanageable feature creep instead of vector animation suite where on paper we have a ton of features and yet none of them work particularly well. Given the number of active members/developers it does bother me a bit.
Yeah, the basic raster support is a must but concentrating on it over vector functionality seems a bit wrong. I usually just use Pencil2D if I need to manually correct a bunch of frames. I definitely support @Archer here and would like to see more features oriented to ease creation of vector graphics, you know, something Synfig was originally designed for.
Thank you both for the feedback — it really helps me better understand the community’s perspective.
I see the importance of focusing on vector tools, and improving frame-by-frame with vectors definitely sounds great. But honestly, I’m not in a position to decide on something that could influence Synfig’s direction or the scope of this project.
My personal opinion here is that we need to tackle things step-by-step in an iterative approach.
Currently, the brush tool AFAIK doesn’t work. Having it be fixed could only be helpful since some users could/do use it.
After that is done -whether there would be time in this project or maybe as future work- a “vector mode” could be added to the brush tool and then users would be able to switch between the modes and use what they need. Or perhaps it could be made as a separate “vector brush tool” altogether.
I can see some of you want a vector brush, but the idea proposed by us (particularly me in GSoC idea list), the project proposed by Wael and the approved by us was a bitmap brush.
There is some initial but broken implementation in Synfig. You can even see stuff about it in the “default values” panel below the Tools panel: The brush size chooser (at right in picture below)
Yes, I have to agree. I would make an argument that it shouldn’t exist in the first place, but now that we have it, we basically have only 2 choices: either improve it or delete it. And deleting functionality rarely make users happy…
Thanks, for the link, I never thought about using Duplicate layer in this way. Certainly something for me to play with in the future, but I would guess it would work pretty slow to be actually useful as a brush substitute (not to mention the lack of pressure and other things you expect from a brush).
What I’d like for Synfig Studio, in my opinion, is a tool like grease pencil in Blender (You can draw and erase, like when we do it in Krita or Gimp, but it’s all made of vectors). For some reason, grease pencil is more optimized for frame-by-frame, it’s kind of tricky to do interpolation animation, at least as far as I’ve explored.
As for the trick described in the wiki, using mipmapping, it would not be a bad idea to make it more accessible to the artist, simply selecting a brush within the options of the spline and draw tools. In my opinion it would be a good and useful feature .