Vincent @vincentproject.bsky.social · 03/09/2026but! i've recently had some ideas on how to approach a few problems i was facing the last time i was working here, and i'm hoping i can return soon :) i'll explain more on that later cus it's like 1 AM here and im posting this from my phone in bed lmao 000
Vincent @vincentproject.bsky.social · 03/09/2026hey folks :) sorry for the total radio silence for the past month, i had to take a lil mental break. there's a LOT of moving parts in this project and it gets pretty overwhelming for me as a solo dev. 111
Vincent @vincentproject.bsky.social · 01/08/2026just realized the video doesn't actually show off the new chunk creation thing lol here's a quick demonstration that just fills the entire chunk with a white bg when drawn in 000
Vincent @vincentproject.bsky.social · 01/08/2026there's a *lot* of moving parts that determine how well this app runs now and it's getting a little scary LOL 000
Vincent @vincentproject.bsky.social · 01/08/2026increasing the chunk size can help with this, but that itself comes at the cost of longer delays when baking a brush stroke, depending on how many chunks were affected. 100
Vincent @vincentproject.bsky.social · 01/08/2026there are some significant performance implications with this, however. assuming you're drawing on a blank canvas, huge brush sizes (1000px or more) will inevitably require more chunks to be generated all at once, which can lead to massive lag spikes. 100
Vincent @vincentproject.bsky.social · 01/08/2026the main goal here was preliminary work towards layer support, as creating tons of empty chunk textures for every single layer would be *incredibly* wasteful for VRAM. 100
Vincent @vincentproject.bsky.social · 01/08/2026been quietly doing a bit of technical work the past few days Vincent will no longer create and render canvas chunks that are already known to be completely invisible. instead, they're created on the fly as needed. 121
Vincent @vincentproject.bsky.social · 28/07/2026here's the full list of named colors if anyone's curious: docs.godotengine.org/en/stable/cl...docs.godotengine.orgColorA color represented in RGBA format. Description: A color represented in RGBA format by a red ( r), green ( g), blue ( b), and alpha ( a) component. Each component is a 32-bit floating-point value, ... 020
Vincent @vincentproject.bsky.social · 28/07/2026this was *not* intentional, but honestly that's a pretty damn cool feature to have. and hell, it's not breaking anything, so why not keep it ✨ 120
Vincent @vincentproject.bsky.social · 28/07/2026funny thing i just realized to use hex color codes, i just take the current text and pipe it directly into Godot's Color.from_string() method. while this does accept hex codes, i didn't realize it also accepts *named* colors. so doing something like this is considered completely valid input LOL 272
Vincent @vincentproject.bsky.social · 28/07/2026i decided to rearrange a bunch of things in this panel. kinda realized it felt really cramped, especially if you were using the minimum sidebar width. also dont need to switch modes to tweak the alpha channel anymore 🙌 032
Vincent @vincentproject.bsky.social · 27/07/2026unfortunately, i probably wont have anything more interesting for today cus i got a lot of IRL responsibilities to take care of. sorry :( 010
Vincent @vincentproject.bsky.social · 27/07/2026the actual update here is that the paintbrush and pencil tools now use the global primary color as defined by the new colors panel. that's basically it, though. 110
Vincent @vincentproject.bsky.social · 27/07/2026man. as unfinished as this is, it's so satisfying seeing just how far Vincent has come. there's still a lot to do, but i'm incredibly proud of what i have already. :) 132
Vincent @vincentproject.bsky.social · 26/07/2026jackie's slow descent into misery perfectly documented by screen recordings 011
Vincent @vincentproject.bsky.social · 26/07/2026i don't know if Vincent will ever really be able to compete with something like SAI or Krita, but i do hope someone finds it useful anyway. and at the end of the day, that's really my main goal. as long as Vincent is able to help at least one person out there, i'll consider it a success. :) 020
Vincent @vincentproject.bsky.social · 26/07/2026as much as i appreciate the enthusiasm, i think it would be wise to temper expectations at least a bit for this particular project 😅 i have a lot of things i wanna do here, but this is still a solo project after all, and i'm still learning a lot as i go. 110
Vincent @vincentproject.bsky.social · 26/07/2026this was absolute hell to set up btw LOL, especially the HSL sliders. god i'm glad that's done with 020
Vincent @vincentproject.bsky.social · 26/07/2026color sliders are working!! #dev #godot #godotengine 283
Vincent @vincentproject.bsky.social · 25/07/2026despite being like 2+ years old, i'm still largely following this blueprint to this day :) many of these ideas have already been implemented too! 010
Vincent @vincentproject.bsky.social · 25/07/2026ohhh here's a fun thing i don't think i've shown off publicly yet this is some "concept art" of Vincent i made years ago when i was first dreaming up this project! 131
Vincent @vincentproject.bsky.social · 25/07/2026*very* work-in-progress sneak peek at the colors panel :) 020
Vincent @vincentproject.bsky.social · 25/07/2026sooo today i learned a few things: 1. SplitContainers finally have support for more than 2 child nodes 2. this was added in #Godot 4.6 3. there were *ZERO* mentions of this in the release notes. i'm suddenly incredibly glad that i put off the work for tool panels for as long as i did. 050
Vincent @vincentproject.bsky.social · 23/07/2026the only really noticeable lag spikes atm is during the initial canvas creation and after finishing a brush stroke (especially if the stroke has modified thousands of chunks in the canvas) 010
Vincent @vincentproject.bsky.social · 23/07/2026according to at least one person i've been in touch with, yes :) at a canvas size of 12000x12000, and a brush size of 2000px, they get tons of stuttering in CSP. meanwhile, Vincent barely breaks a sweat in the same scenario. 210
Vincent @vincentproject.bsky.social · 23/07/2026alright last update for tonight i threw together some really basic pencil and eraser tools :) #dev #godot #godotengine 042
Vincent @vincentproject.bsky.social · 23/07/2026i've just been informed that Vincent actually handles massive canvases and brush sizes better than clip studio paint LMAO??? HOW DID I PULL THAT OFF 251
Vincent @vincentproject.bsky.social · 23/07/2026worth noting the paintbrush tool does lag pretty severely with huge brush sizes (2000px or more), but that's such an extreme edge case that i don't think it's worth pursuing at this point. 040
Vincent @vincentproject.bsky.social · 23/07/2026splitting the canvas into chunks might just be the best thing i've done for this project by far. the performance difference is absolutely *staggering* #dev #godot #godotengine 283
Vincent @vincentproject.bsky.social · 18/07/2026there's still a slight delay when ending a brushstroke... but now, instead of it being caused by GPU data transfers, it's actually caused by chunk compilation for the project thumbnail. i think i might be able to do something with create_local_rendering_device(), but we'll see 020
Vincent @vincentproject.bsky.social · 18/07/2026*almost* got paintbrush back to working order again. main issue remaining is that it only works in one chunk per movement update, which results in these visible gaps. 121
Vincent @vincentproject.bsky.social · 18/07/2026both of these tests were done while i was weighing the idea of moving to CPU-only drawing to improve compatibility. i eventually decided it would've required too many compromises. 010
Vincent @vincentproject.bsky.social · 18/07/2026this is another stress test i set up, assigning random colors to every individual pixel while actively drawing within a given chunk. (minor flashing colors warning) 110
Vincent @vincentproject.bsky.social · 18/07/2026here's a screenshot from a stress test i set up the other day, with each chunk given it's own random color. with a chunk size of 256 at the max canvas size of 16384x16384, that gives us 4096 chunks. 110
Vincent @vincentproject.bsky.social · 18/07/2026some extra technical tidbits on canvas chunks for those interested: i'm currently using a chunk size of 256x256, which can be adjusted with relative ease :) i figured the optimal chunk size may vary between different hardware configurations, so i'll be adding it as an advanced option later. 110
Vincent @vincentproject.bsky.social · 17/07/2026oh and btw believe me, having an outside perspective on what im working on here is so incredibly invaluable you have no idea. ESPECIALLY when it comes to performance. i really really really appreciate it!!!! 030
Vincent @vincentproject.bsky.social · 17/07/2026i'm not *that* worried about selections tbh. i feel like my major problems after this are mainly gonna be with edit history and layers. but we'll see! 010
Vincent @vincentproject.bsky.social · 17/07/2026now it's easily hitting 8k and barely breaking a sweat :) which means i've finally reached my internal goal!!! all i really gotta do is fix up the paintbrush tool to work with chunks, and then i can finally, FINALLY move on to something else. 130
Vincent @vincentproject.bsky.social · 17/07/2026hell, simply being able to create a new image at 16k size was literally impossible, even on my beefy hardware. making a single texture that large would make the whole app segfault pretty much instantly. 120
Vincent @vincentproject.bsky.social · 17/07/2026on a more serious note, if you can look past the glitchy paintbrush, you can probably see how much of an improvement this change already makes. being able to draw with virtually zero hangups at any canvas size over 3000x3000 was pretty much entirely unheard of until now. 120
Vincent @vincentproject.bsky.social · 17/07/2026the amount of glitch art i get out of working on this project is crazy, man 120
Vincent @vincentproject.bsky.social · 17/07/2026currently working on a canvas chunks system to provide significantly better drawing performance. i'm like 90% of the way there, i just need to get the paintbrush tool to correctly interpolate mouse inputs *between* chunks. otherwise you get these wild lines going absolutely everywhere lmao 121
Vincent @vincentproject.bsky.social · 12/07/2026I'm hoping to use plug-ins as much as possible, since it really helps to organize the project's internal structure. This also provides a nice reference for those in the future looking to develop their own plug-ins for Vincent! 010
Vincent @vincentproject.bsky.social · 12/07/2026Also fun fact, panels are utilizing the plug-in system internally, just like tools :) 110
Vincent @vincentproject.bsky.social · 12/07/2026Eventually, I'll also have it so each sidebar can be completely collapsed. This is technically already possible, there's just no UI for it yet. 110
Vincent @vincentproject.bsky.social · 12/07/2026I have the exact goals laid out in one of the GitHub issues, but to summarize: - Vertically resizeable (can be made wider by resizing the sidebar itself) - Can be moved freely much like project tabs - Individual panels can be toggled via the "View" menu 110
Vincent @vincentproject.bsky.social · 12/07/2026Spent most of today grinding away at more core systems. Vincent now has (partially) working modular sidebar panels :] Not really much I can show off since it's largely underlying code stuff, but since it's not quite finished, that does mean the UI is *slightly* messed up atm. 110