Hey, I thought I'd share a "little" update on my Blender addon. If anyone is interested at all, have fun reading!
So let me begin by saying I'm really happy that I got the addon to work at all, even without any proper Python knowlege. Currently I am exploring the capabilities of greasepencil v3, which was added in Blender 4.3. I believe the upgrades 4.3 makes to greasepencil are awesome and are hugely important to turning my addon into what I originally had in mind!
Blender 4.3 completely changed how greasepencil works under the hood. That also means it changed the way it works with the Python API, meaning I need to go through my old script and update it so it also works in the newest Blender version. I also used a visual scripting addon, which made a lot of things easier for me but the addon hasn't been updated yet so I kinda need to learn how to do everything manually, which I think is better longterm. It just takes a while to learn all these things. I am using AI to help me develop the addon but there are still many things I need to figure out myself and I'd also like to learn something along the way so I generally try to figure out things myself before resorting to AI
Anyways here is a small prospect of what I'm working on:
Brush Presets
As you can see in my old showcase Video, with the current version of my addon you are limited to choosing one brush preset for the whole simulation. There is no way to switch brushes between strokes which kinda sucks. My new Version will allow you to choose a new brush after each stroke. I'm creating a grease pencil brush pack which you will be able to import and use to your liking. I'm also working on making them somewhat represent their characteristics in the viewport, so you have a better idea of what you are actually creating. This will take some time though and I don't know how accurate it will actually be. One problem I encountered with this setup is that Blender does not actually store the metadata of the name of the brush you were using when creating a stroke, which is not ideal, considering that is exacly what I need for this whole thing to work. Luckily after a while, I figured out how to store my own metadata and now changing brushes between strokes is possible. So after this achievement I thought, why don't I store other brush settings aswell? Well Greasepencil actually saves opacity, brush size, pressure, brush angle and even the drawing speed, so that was taken care of (thank god). But there are some parameters native to Rebelle. Specifically the brush water (currently just concentrating on watercolor brushes). So taking into account what I learned with the brush name metadata, I implemented a slider that lets you choose the amount of water for your brush before every stroke. Here's a little screenshot of the extracted metadata I made when I first got the whole setup to work
I was probably way happier than I should have been about this, considering that this might have been very easy for someone who actually knows python, but this really felt like a major breakthrough for what I want to create with this tool!
Brush Stroke Animation
Another big issue I have with the current version of my addon is the lack of animation capabilities. Sure you have an animated result in the end but I'd like to decide how many frames it takes to create a single stroke or let it move across the screen etc. Once again, Blender 4.3 came in clutch by adding Geometry Node support for Greasepencil providing me with virtually infinite ways to create cool animations. At the moment I created 2 different Geonode Groups which you will be able to add to your graph. The first one draws the strokes at the same speed you originally did when actually drawing them. You can offset the starting frame or speed multiplier to make it faster. The other group gives you total control, allowing you to keyframe the progress of each stroke which then allows you to art direct your animation however you like. While this is really great and one of the features I wanted to implement the most, using this feature to its fullest extent actually takes a lot of time. You need to manually create nodes, find your stroke id and manually put the value into the parameter and then you can edit the corresponding stroke. While not ideal, that is the best solution I came up with as of now and I think some things just take time, especially when it comes to animation

I'm thinking about maybe creating a button which automatically retreives the stroke id for a selected stroke but I don't know yet. Generally I think having the setup with the node groups is actually a good idea since it allows for a very modular workflow with endless possibilities and scalability. For the lazy people there is actually an option to just let the strokes animate themselves sequentially, even with the actual draw speed, using the build modifier but you loose a lot of control over your animation that way so I prefer the painful but modular workflow.
I hope you enjoyed my "little" update. I thought about just listing what I did but I really like sharing my thought process and struggles. Let me know if it's too much or if you like it that way (if someone even reads through this whole thing

). Anyways, there are some other features I'm working on or at least thinking of, like masking or custom paper presets but I've got nothing concrete to show yet. I appreciate any input and ideas you might have. Have a good day/night or whatever!
Jere