[GSoC 2025] Brush Tool Project

Definitely I also want vector brushes

1 Like

Will we be able to keyframe those drawings to do frame-by-frame animation? Also at some point in the future I’ll be switching to Linux or have a standalone PC dedicated to Linux, but for now I’m using Windows, so I also want to make sure that this will be ported to the Windows version of Linux ?

1 Like

yes

yes the project is still in progress but once it’s finished and hopefully merged, it will be available in both the Linux and Windows versions like other tools

1 Like

Weekly Progress Update: Week 5 (16 - 22 July)

Implemented Undo Mode 1 (Surface Saving):
This mode works by saving the entire image data before each stroke and restoring it during undo. This means image data is stored for every single stroke.

Advantages:

  • Very fast and reliable.

Disadvantages:

  • High memory usage:
    Memory Usage = Number of strokes × image size

4 Likes

Keep up the great work. I think with this in place we can also retire the Sketch Tool completely or… I just had a thought; we could just make this the actual Sketch Tool, instead of it being a completely new tool.

1 Like

Progress Update

Implemented Redraw Mode
This is the second undo mode. Instead of saving the entire image for each stroke, this mode works by saving only the stroke data itself (points, used brush settings). When you undo, it clears the layer and redraws all the previous strokes from the saved data.

Advantages:

  • Low memory usage: It only stores stroke data, not large bitmap data.

Disadvantages:

  • Slower performance: Can become slow with a large number of strokes, as it needs to re-render everything on each undo action.

Implemented Checkpointing Mode
This third mode is a hybrid approach that balances memory usage and performance. It works by automatically saving a full snapshot of the image (a “checkpoint”) every ‘N’ strokes. To undo, it reverts to the last checkpoint and then redraws only the few strokes made since then.

Advantages:

  • Balanced performance and memory: It’s faster than the Redraw mode and uses less memory than saving the surface after every single stroke.
2 Likes

I thought of the same thing.

Progress Update
implemented the Brush Profile Editor, which lets you view and control brush settings such as opacity, radius, hardness, and more. This was the third and final project goal — so we’ve now achieved all the project goals :tada: :smile:.

What remains now is mostly the code reviews. I’ll also be working on the documentation and doing more testing.

12 Likes

Fantastic :slight_smile: Is there any pressure sensitivity?

Artists, please test it and give us some opinions to let us check what is doable yet in this project scope and timespan :wink:

yes, pressure sensitivity is working

2 Likes

:smiling_face_with_tear: I’m so proud. They grow up so fast. Seems like it was just yesterday when the idea was presented, and now look how far it’s come. :sob: :partying_face:

8 Likes